專(zhuān)利名稱(chēng):盤(pán)式存儲(chǔ)裝置、數(shù)據(jù)預(yù)讀方法以及記錄媒體的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及讀出記錄在磁盤(pán)或光盤(pán)等盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)的盤(pán)式存儲(chǔ)裝置,特別是涉及盤(pán)式存儲(chǔ)裝置的數(shù)據(jù)的預(yù)讀方式。
背景技術(shù):
在盤(pán)式存儲(chǔ)裝置中,為了提高對(duì)連續(xù)配置的數(shù)據(jù)的讀出速度,使用著這樣的預(yù)讀方式,即在收到下一個(gè)讀出要求之前,開(kāi)始讀出接在有讀出要求的數(shù)據(jù)塊后面的數(shù)據(jù)塊并儲(chǔ)存在高速緩沖存儲(chǔ)器中,在收到對(duì)連續(xù)的數(shù)據(jù)塊的讀出要求的場(chǎng)合,傳輸預(yù)先讀出并儲(chǔ)存在高速緩沖存儲(chǔ)器中的預(yù)讀數(shù)據(jù),由此不受盤(pán)的旋轉(zhuǎn)等待時(shí)間或讀出頭的查找時(shí)間的影響地進(jìn)行數(shù)據(jù)傳輸。
作為這種預(yù)讀方式的一例,有日本專(zhuān)利特開(kāi)平9-120617號(hào)公報(bào)所述的“減少計(jì)算機(jī)中的盤(pán)驅(qū)動(dòng)器的電力消耗、使數(shù)據(jù)傳輸高速化的方法,以及連接于計(jì)算機(jī)的盤(pán)驅(qū)動(dòng)器”。
可是,在用上述現(xiàn)有方式的預(yù)讀方式中,把數(shù)據(jù)塊的連續(xù)方向假定成一個(gè)方向(邏輯塊地址增大的方向),對(duì)于沿負(fù)方向(邏輯塊地址減小的方向)讀出連續(xù)數(shù)據(jù)的訪問(wèn),不能預(yù)讀數(shù)據(jù)。
如今,對(duì)于盤(pán)式存儲(chǔ)裝置,記錄·重放動(dòng)畫(huà)或聲音等數(shù)據(jù)的用途多起來(lái),在該現(xiàn)有方法中,雖然對(duì)正常重放來(lái)說(shuō)可以提供有效的預(yù)讀方式,但是在進(jìn)行特殊重放的場(chǎng)合,例如在反向重放時(shí),雖然對(duì)于既是以前讀出的數(shù)據(jù)又保存在高速緩沖存儲(chǔ)器中的數(shù)據(jù)來(lái)說(shuō)能夠反向重放,但是未保存在高速緩沖存儲(chǔ)器中的數(shù)據(jù)不得不逐次讀出。此外,在反向重放時(shí),產(chǎn)生預(yù)讀本來(lái)不需要的沿正向連續(xù)的數(shù)據(jù)的矛盾,存在著不能謀求預(yù)讀帶來(lái)的數(shù)據(jù)傳輸?shù)奶岣哌@樣的問(wèn)題。
此外,在高速重放或高速反向重放等特殊重放時(shí),根據(jù)重放速度而跳過(guò)間隔的數(shù)據(jù)被讀出。在這種場(chǎng)合,在現(xiàn)有方法中,所要求的數(shù)據(jù)以外的不需要的數(shù)據(jù)也保存在高速緩沖存儲(chǔ)器中,不能有效地利用高速緩沖存儲(chǔ)器。而且,如果重放速度加快則所要求的數(shù)據(jù)區(qū)的間隔也加寬,在同一信道、同一柱面內(nèi),下一所要求的數(shù)據(jù)區(qū)變得不存在。在這種場(chǎng)合,如果進(jìn)行不需要的數(shù)據(jù)的讀出,則需要的數(shù)據(jù)的預(yù)讀就來(lái)不及了,存在著動(dòng)畫(huà)或聲音的重放中斷這樣的問(wèn)題。
此外,在上述現(xiàn)有的方式中,在把預(yù)讀的數(shù)據(jù)放在高速緩沖存儲(chǔ)器中的場(chǎng)合,因?yàn)槭前搭A(yù)讀的順序沿高速緩沖存儲(chǔ)器地址增大的方向儲(chǔ)存的,故在反向重放時(shí),儲(chǔ)存在高速緩沖存儲(chǔ)器中的預(yù)讀數(shù)據(jù)塊的連續(xù)性中斷。因此,為了確保預(yù)讀數(shù)據(jù)塊的連續(xù)性,有必要對(duì)每個(gè)預(yù)讀數(shù)據(jù)塊作成作為向高速緩沖存儲(chǔ)器的登記信息的高速緩存入口,登記在高速緩存表中,存在著成為高速緩存表的高效使用的障礙這樣的問(wèn)題。
此外,在象以符合近年的磁帶錄像機(jī)的遙控器中所裝備的那種旋轉(zhuǎn)撥盤(pán)的停止角度的重放速度進(jìn)行正向或反向的重放那樣的基于變速撥盤(pán)操作的重放中,能夠分級(jí)地切換重放速度,從當(dāng)前的重放速度返回到以前的重放速度的情況也經(jīng)常發(fā)生。在這種場(chǎng)合,在僅預(yù)讀在當(dāng)前的重放速度下需要的數(shù)據(jù)的預(yù)讀方法中,存在著不能預(yù)讀以以前的重放速度的重放中需要的數(shù)據(jù)這樣的問(wèn)題。
此外,該問(wèn)題不僅在上述的基于變速撥盤(pán)操作的重放中,在一邊以使旋轉(zhuǎn)撥盤(pán)旋轉(zhuǎn)的速度和方向變更從跳幀重放到高速重放變更速度一邊進(jìn)行正向或反向的重放的基于變速撥盤(pán)操作的重放中也同樣發(fā)生。
此外,在一邊指定重放開(kāi)始位置一邊進(jìn)行重放影像的期待的位置的靜止畫(huà)面輸出的場(chǎng)合,考慮用上述變速撥盤(pán)操作或微動(dòng)撥盤(pán)操作,頻繁切換正向重放、反向重放的情況。在這種場(chǎng)合,在上述現(xiàn)有技術(shù)方式中,因?yàn)閺母咚倬彌_存儲(chǔ)器送出的數(shù)據(jù)不再保存在高速緩沖存儲(chǔ)器中,故在重放方向剛變換后,不得不再次從盤(pán)式存儲(chǔ)媒體讀出數(shù)據(jù),存在著不能謀求預(yù)讀帶來(lái)的數(shù)據(jù)傳輸?shù)奶岣哌@樣的問(wèn)題。
本發(fā)明正是鑒于上述問(wèn)題而提出的,其目的在于提供一種即使是在進(jìn)行反向重放、高速重放等特殊重放的場(chǎng)合,也可以謀求數(shù)據(jù)的預(yù)讀帶來(lái)的數(shù)據(jù)傳輸?shù)奶岣叩谋P(pán)式存儲(chǔ)裝置。
發(fā)明概述如果像以上這樣用本發(fā)明,則包括儲(chǔ)存讀命令的歷史信息的命令歷史信息存儲(chǔ)機(jī)構(gòu),這些命令是從上位裝置收到的,讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息;基于與記錄在上述命令歷史信息存儲(chǔ)機(jī)構(gòu)的命令有關(guān)的歷史信息來(lái)檢測(cè)預(yù)讀方向的連續(xù)性檢測(cè)機(jī)構(gòu);基于上述讀命令、和由上述連續(xù)性檢測(cè)機(jī)構(gòu)所檢測(cè)的檢測(cè)結(jié)果,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定機(jī)構(gòu);儲(chǔ)存所預(yù)讀的數(shù)據(jù)的高速緩沖存儲(chǔ)器;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀區(qū)確定機(jī)構(gòu)所確定的進(jìn)行預(yù)讀的數(shù)據(jù)區(qū)的數(shù)據(jù)并儲(chǔ)存在上述高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)機(jī)構(gòu),由此即使是對(duì)于負(fù)方向,也就是地址減小的方向連續(xù)地讀出數(shù)據(jù)的場(chǎng)合,進(jìn)行這些數(shù)據(jù)的預(yù)讀也成為可能,可以高速地進(jìn)行負(fù)方向數(shù)據(jù)的連續(xù)讀出。
此外,如果用本發(fā)明,則包括儲(chǔ)存讀命令的歷史信息的命令歷史信息存儲(chǔ)機(jī)構(gòu),這些命令是從上位裝置收到的,讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息;基于與記錄在上述命令歷史信息存儲(chǔ)機(jī)構(gòu)的命令有關(guān)的歷史信息來(lái)檢測(cè)作為進(jìn)行預(yù)讀的數(shù)據(jù)的間隔的區(qū)間隔距離的連續(xù)性檢測(cè)機(jī)構(gòu);保存作為用來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀的規(guī)則的預(yù)讀規(guī)則的預(yù)讀規(guī)則保存機(jī)構(gòu);基于上述讀命令、和由上述連續(xù)性檢測(cè)機(jī)構(gòu)所檢測(cè)的檢測(cè)結(jié)果、上述預(yù)讀規(guī)則保存機(jī)構(gòu)保存的預(yù)讀規(guī)則,來(lái)確定用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則的預(yù)讀規(guī)則確定機(jī)構(gòu);基于由上述預(yù)讀規(guī)則確定機(jī)構(gòu)所確定的預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定機(jī)構(gòu);儲(chǔ)存所預(yù)讀的數(shù)據(jù)的高速緩沖存儲(chǔ)器;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀區(qū)確定機(jī)構(gòu)所確定的進(jìn)行預(yù)讀的數(shù)據(jù)區(qū)的數(shù)據(jù)并儲(chǔ)存在上述高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)機(jī)構(gòu),由此針對(duì)向以一定間隔離散分布的數(shù)據(jù)區(qū)的連續(xù)的讀要求進(jìn)行需要的數(shù)據(jù)的預(yù)讀成為可能,即使是高速重放保存在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)時(shí)的那種,連續(xù)地讀出以一定間隔離散分布的數(shù)據(jù)的場(chǎng)合,也不預(yù)讀不需要的數(shù)據(jù),可以有效地利用高速緩沖存儲(chǔ)器。
此外,如果用本發(fā)明,則包括儲(chǔ)存讀命令的歷史信息的命令歷史信息存儲(chǔ)機(jī)構(gòu),這些命令是從上位裝置收到的,讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息;基于與記錄在上述命令歷史信息存儲(chǔ)機(jī)構(gòu)的命令有關(guān)的歷史信息來(lái)檢測(cè)預(yù)讀方向,和作為進(jìn)行預(yù)讀的數(shù)據(jù)的間隔的區(qū)間隔距離的連續(xù)性檢測(cè)機(jī)構(gòu);保存作為用來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀的規(guī)則的預(yù)讀規(guī)則的預(yù)讀規(guī)則保存機(jī)構(gòu);基于上述讀命令、和由上述連續(xù)性檢測(cè)機(jī)構(gòu)所檢測(cè)的檢測(cè)結(jié)果、上述預(yù)讀規(guī)則保存機(jī)構(gòu)保存的預(yù)讀規(guī)則,來(lái)確定用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則的預(yù)讀規(guī)則確定機(jī)構(gòu);基于由上述預(yù)讀規(guī)則確定機(jī)構(gòu)所確定的預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定機(jī)構(gòu);儲(chǔ)存所預(yù)讀的數(shù)據(jù)的高速緩沖存儲(chǔ)器;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀區(qū)確定機(jī)構(gòu)所確定的進(jìn)行預(yù)讀的數(shù)據(jù)區(qū)的數(shù)據(jù)并儲(chǔ)存在上述高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)機(jī)構(gòu),由此針對(duì)向沿負(fù)方向,也就是地址減小的方向以一定間隔離散分布的數(shù)據(jù)區(qū)的連續(xù)的讀要求,進(jìn)行需要的數(shù)據(jù)的預(yù)讀成為可能,即使是高速反向重放保存在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)時(shí)的那種,連續(xù)地讀出沿負(fù)方向以一定間隔離散分布的數(shù)據(jù)的場(chǎng)合,也不預(yù)讀不需要的數(shù)據(jù),可以有效地利用高速緩沖存儲(chǔ)器。
此外,如果用本發(fā)明,則上述預(yù)讀規(guī)則保存機(jī)構(gòu)保存多個(gè)預(yù)讀規(guī)則,上述預(yù)讀區(qū)確定機(jī)構(gòu)在既是由上述預(yù)讀規(guī)則確定機(jī)構(gòu)所確定的預(yù)讀規(guī)則及其一個(gè)之前所運(yùn)用的預(yù)讀規(guī)則存在的場(chǎng)合,而且兩個(gè)預(yù)讀規(guī)則的預(yù)讀方向又一致的場(chǎng)合,并用兩個(gè)預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸,由此即使在把數(shù)據(jù)的重放速度從當(dāng)前的重放速度切換到剛才的重放速度的場(chǎng)合,在所切換的重放速度下需要的數(shù)據(jù)也被預(yù)讀,在切換到剛才的重放速度后,不用再次從盤(pán)式存儲(chǔ)媒體讀出需要的數(shù)據(jù),就向上位裝置送出成為可能。
此外,如果用本發(fā)明,則進(jìn)一步具備保存表示當(dāng)前正在向上位裝置發(fā)送的數(shù)據(jù)的上述高速緩沖存儲(chǔ)器上的位置的發(fā)送中地址,和表示將要儲(chǔ)存下次預(yù)讀的數(shù)據(jù)的上述高速緩沖存儲(chǔ)器上的位置的下次預(yù)讀數(shù)據(jù)儲(chǔ)存開(kāi)始地址的高速緩沖存儲(chǔ)器指針保存機(jī)構(gòu),以及用保存在上述高速緩沖存儲(chǔ)器指針保存機(jī)構(gòu)中的上述發(fā)送中地址和上述下次預(yù)讀數(shù)據(jù)儲(chǔ)存開(kāi)始地址,判斷為了使已經(jīng)向上位裝置送出的至少數(shù)塊數(shù)據(jù)殘留在高速緩沖存儲(chǔ)器上,是否進(jìn)行數(shù)據(jù)的預(yù)讀的預(yù)讀起動(dòng)判斷機(jī)構(gòu),由此即使是一邊頻繁切換正向重放、反向重放一邊進(jìn)行數(shù)據(jù)的重放的場(chǎng)合,也在切換重放方向的時(shí)刻,把剛才重放方向切換前的已經(jīng)向上位裝置送出的數(shù)據(jù)保存在高速緩沖存儲(chǔ)器內(nèi)成為可能,不用再次從盤(pán)式存儲(chǔ)媒體讀出在剛重放方向切換后的重放中需要的該剛才重放方向切換前已經(jīng)送出的數(shù)據(jù),就可以向上位裝置送出。
此外,如果用本發(fā)明,則把沿負(fù)方向依次讀出的多個(gè)預(yù)讀區(qū)的數(shù)據(jù)儲(chǔ)存在高速緩沖存儲(chǔ)器上的地址空間的負(fù)方向區(qū),以便連續(xù)性不中斷,由此沿負(fù)方向依次讀出的多個(gè)預(yù)讀區(qū)的數(shù)據(jù)按連續(xù)的編址配置在高速緩沖存儲(chǔ)器中,簡(jiǎn)易地管理儲(chǔ)存在高速緩沖存儲(chǔ)器中的數(shù)據(jù)成為可能。此外,在把高速緩沖存儲(chǔ)器上存在的預(yù)讀區(qū)的數(shù)據(jù)向上位裝置送回的場(chǎng)合,與正方向沒(méi)有區(qū)別地取出高速緩沖存儲(chǔ)器上存在的預(yù)讀區(qū)的數(shù)據(jù)成為可能。
附圖的簡(jiǎn)要說(shuō)明
圖1是表示根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置的構(gòu)成之一例的方框圖。
圖2是表示根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置的基本處理之一例的程序框圖。
圖3是表示根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀處理之一例的程序框圖。
圖4是表示根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置的連續(xù)性檢測(cè)處理之一例的程序框圖。
圖5是表示讀命令歷史表內(nèi)的數(shù)據(jù)結(jié)構(gòu)之一例的圖。
圖6是表示根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀區(qū)確定處理之一例的程序框圖。
圖7是表示儲(chǔ)存在訪問(wèn)區(qū)信息保存部?jī)?nèi)的訪問(wèn)區(qū)信息之一例的圖。
圖8是表示高速緩沖存儲(chǔ)器內(nèi)的數(shù)據(jù)結(jié)構(gòu)之一例的圖。
圖9是表示高速緩存表和高速緩存入口之一例的圖。
圖10是高速緩存入口的狀態(tài)遷移圖。
圖11是表示根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的構(gòu)成之一例的方框圖。
圖12是表示根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀處理之一例的程序框圖。
圖13是表示根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的連續(xù)性檢測(cè)處理之一例的程序框圖。
圖14是讀命令歷史表內(nèi)的數(shù)據(jù)結(jié)構(gòu)之一例的圖。
圖15是表示根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀規(guī)則確定處理之一例的程序框圖。
圖16是表示預(yù)讀規(guī)則表內(nèi)的數(shù)據(jù)結(jié)構(gòu)之一例的圖。
圖17是表示根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀規(guī)則指針更新處理之一例的程序框圖。
圖18是表示根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的舊規(guī)則運(yùn)用判定處理之一例的程序框圖。
圖19是表示根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀區(qū)確定處理之一例的程序框圖。
圖20是表示根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置的構(gòu)成之一例的方框圖。
圖21是表示根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀處理之一例的程序框圖。
圖22是表示根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀起動(dòng)判斷處理之一例的程序框圖。
圖23是表示高速緩沖存儲(chǔ)器指針保存部的數(shù)據(jù)結(jié)構(gòu)之一例的圖。
圖24是表示高速緩沖存儲(chǔ)器內(nèi)的數(shù)據(jù)結(jié)構(gòu)之一例的圖。
實(shí)施發(fā)明的最佳形態(tài)(第1實(shí)施例)下面用圖1至圖10說(shuō)明根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置。
圖1是表示根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置的構(gòu)成的方框圖之一例。圖中,上位裝置1對(duì)盤(pán)式存儲(chǔ)裝置輸出旨在讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)的讀命令。
此外,根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置,由主機(jī)I/F部2、高速緩存位判定部3、連續(xù)性檢測(cè)部4、作為命令歷史信息存儲(chǔ)機(jī)構(gòu)的讀命令歷史表5、預(yù)讀區(qū)確定部6、預(yù)讀起動(dòng)部7、盤(pán)傳輸部8、頭結(jié)構(gòu)物9、高速緩沖存儲(chǔ)器10、主機(jī)傳輸部11、高速緩存表12和訪問(wèn)區(qū)信息保存部13組成。
高速緩存位判定部3進(jìn)行與經(jīng)由主機(jī)I/F部2收到的來(lái)自上位裝置1的讀命令相對(duì)應(yīng)的數(shù)據(jù)在高速緩沖存儲(chǔ)器10上是否存在的調(diào)查。
連續(xù)性檢測(cè)部4用儲(chǔ)存在作為命令歷史信息存儲(chǔ)機(jī)構(gòu)的讀命令歷史表5中的讀命令的歷史,計(jì)算進(jìn)行數(shù)據(jù)的預(yù)讀的訪問(wèn)方向。
作為命令歷史信息存儲(chǔ)機(jī)構(gòu)的讀命令歷史表5保存從上位裝置1發(fā)送的讀命令的歷史信息。
預(yù)讀區(qū)確定部6基于讀命令、由上述連續(xù)性檢測(cè)部4所檢測(cè)的檢測(cè)結(jié)果、以及儲(chǔ)存在訪問(wèn)區(qū)信息保存部13內(nèi)的訪問(wèn)區(qū)信息,確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸。
預(yù)讀起動(dòng)部7對(duì)盤(pán)傳輸部8發(fā)出旨在從盤(pán)式存儲(chǔ)媒體讀出由預(yù)讀區(qū)確定部6所確定的進(jìn)行預(yù)讀的數(shù)據(jù)區(qū)的數(shù)據(jù)并儲(chǔ)存在高速緩沖存儲(chǔ)器10內(nèi)的指示。
盤(pán)傳輸部8把經(jīng)由頭結(jié)構(gòu)物9從盤(pán)式存儲(chǔ)媒體讀出的數(shù)據(jù)輸出到高速緩沖存儲(chǔ)器10。
高速緩沖存儲(chǔ)器10保存預(yù)讀數(shù)據(jù)。
主機(jī)傳輸部11把從盤(pán)式存儲(chǔ)媒體11讀出的數(shù)據(jù)經(jīng)由主機(jī)I/F向上位裝置1發(fā)送。
高速緩存表12保存儲(chǔ)存在高速緩沖存儲(chǔ)器10內(nèi)的數(shù)據(jù)的表。
訪問(wèn)區(qū)信息保存部13保存關(guān)于由上一次預(yù)讀訪問(wèn)過(guò)的盤(pán)式存儲(chǔ)媒體的訪問(wèn)區(qū)的信息。
接下來(lái),用圖2中所示的程序框圖說(shuō)明根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置的基本處理。
如果高速緩存位判定部3通過(guò)主機(jī)I/F部2從上位裝置1收到讀命令,則首先作為讀處理的基本處理,檢索高速緩存表12而調(diào)查所要求的數(shù)據(jù)在高速緩沖存儲(chǔ)器10上是否存在(步驟S1)。
在所要求的數(shù)據(jù)存在于高速緩沖存儲(chǔ)器10上的場(chǎng)合,由主機(jī)傳輸部11把高速緩沖存儲(chǔ)器10上的數(shù)據(jù)經(jīng)由主機(jī)I/F部2向上位裝置1傳輸(步驟S3)。
在所要求的數(shù)據(jù)未存在于高速緩沖存儲(chǔ)器10上的場(chǎng)合,一邊對(duì)盤(pán)傳輸部8指示把所要求的數(shù)據(jù)從盤(pán)11中經(jīng)由頭結(jié)構(gòu)物9讀出到高速緩沖存儲(chǔ)器10上(步驟S2)一邊由主機(jī)傳輸部11把數(shù)據(jù)經(jīng)由主機(jī)I/F部2向上位裝置1傳輸所要求的數(shù)據(jù)(步驟S3)。
接下來(lái),用圖3說(shuō)明由盤(pán)式存儲(chǔ)裝置與上述基本處理同時(shí)進(jìn)行的數(shù)據(jù)預(yù)讀處理。
一邊實(shí)行用上述圖2中所示的程序框圖說(shuō)明的基本處理,一邊經(jīng)由主機(jī)I/F部2、高速緩存位判定部3收到來(lái)自上位裝置1的讀命令的連續(xù)性檢測(cè)部4,進(jìn)行根據(jù)記錄在作為命令歷史信息存儲(chǔ)機(jī)構(gòu)的讀命令歷史表5中的上一次的讀命令中所要求的數(shù)據(jù)區(qū)的位置和本次的讀命令中所要求的數(shù)據(jù)區(qū)的位置計(jì)算表示訪問(wèn)方向的訪問(wèn)方向值的連續(xù)性檢測(cè)處理(步驟S4)。
接著,預(yù)讀區(qū)確定部6進(jìn)行基于本次讀命令中所要求的數(shù)據(jù)區(qū)的位置和尺寸、由上述連續(xù)性檢測(cè)部4所檢測(cè)的訪問(wèn)方向值,確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定處理(步驟S5)。
接著,預(yù)讀起動(dòng)部7檢索高速緩存表12調(diào)查由預(yù)讀區(qū)確定部6所確定的預(yù)讀區(qū)的數(shù)據(jù)是否存在于高速緩沖存儲(chǔ)器10上(步驟S6)。
在由預(yù)讀區(qū)確定部6所確定的預(yù)讀區(qū)的數(shù)據(jù)未存在于高速緩沖存儲(chǔ)器10上的場(chǎng)合,預(yù)讀起動(dòng)部7對(duì)盤(pán)傳輸部8指示由預(yù)讀區(qū)確定部6所確定的預(yù)讀區(qū)的數(shù)據(jù)的讀出,進(jìn)行數(shù)據(jù)的預(yù)讀(步驟S7)。此外,預(yù)讀起動(dòng)部7在數(shù)據(jù)的預(yù)讀后,進(jìn)行表示存在于高速緩沖存儲(chǔ)器10上的數(shù)據(jù)的細(xì)目的高速緩存表2的更新處理(步驟S8)。
另一方面,在由預(yù)讀區(qū)確定部6所確定的預(yù)讀區(qū)的數(shù)據(jù)存在于高速緩沖存儲(chǔ)器10上的場(chǎng)合,結(jié)束該數(shù)據(jù)的預(yù)讀處理。
再者,上述數(shù)據(jù)的預(yù)讀處理進(jìn)行的步驟5中所示的確定預(yù)讀區(qū)的處理以下的處理(步驟S5至步驟S8)反復(fù)進(jìn)行直到收到來(lái)自上位裝置1的新的命令,進(jìn)行數(shù)據(jù)的預(yù)讀(步驟S9)。
接下來(lái),用圖4、圖5就上述圖3中所示的步驟4的由連續(xù)性檢測(cè)部4進(jìn)行的連續(xù)性檢測(cè)處理進(jìn)行說(shuō)明。
圖4是用來(lái)說(shuō)明根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置的連續(xù)性檢測(cè)部4的動(dòng)作的程序框圖,圖5示出儲(chǔ)存在讀命令歷史表5內(nèi)的讀命令之一例。
連續(xù)性檢測(cè)部4首先進(jìn)行讀命令歷史表5的更新處理。該更新處理,在圖5中,把上一次讀取區(qū)開(kāi)頭扇區(qū)號(hào)A置為上二次讀取區(qū)開(kāi)頭扇區(qū)號(hào)C,把上一次讀取區(qū)尺寸B置為上二次讀取區(qū)尺寸D,把本次讀取區(qū)開(kāi)頭扇區(qū)號(hào)G置為上一次讀取區(qū)開(kāi)頭扇區(qū)號(hào)A,把本次讀取區(qū)尺寸H置為上一次讀取區(qū)尺寸B,把從上位裝置1收到的讀命令的讀取區(qū)開(kāi)頭扇區(qū)號(hào)置為本次讀取區(qū)開(kāi)頭扇區(qū)號(hào)G,把從上位裝置1收到的讀命令的讀取區(qū)尺寸置為本次讀取區(qū)尺寸H,并把本次訪問(wèn)方向值I置為上一次訪問(wèn)方向值E,結(jié)束讀歷史表5的更新處理(步驟S11)。
接著,連續(xù)性檢測(cè)部4通過(guò)把從上位裝置1收到的本次讀取區(qū)開(kāi)頭扇區(qū)號(hào)G與由上述步驟S46更新的上一次讀取區(qū)開(kāi)頭扇區(qū)號(hào)A進(jìn)行比較(步驟S12),計(jì)算訪問(wèn)方向。此時(shí),訪問(wèn)方向作為二進(jìn)制的值把正方向1、負(fù)方向0取為表示訪問(wèn)方向的值,置為圖5中所示的本次訪問(wèn)方向值I(步驟S13或步驟S14),結(jié)束連續(xù)性檢測(cè)處理。
接著,預(yù)讀區(qū)確定部5基于本次讀命令中所要求的本次讀取區(qū)開(kāi)頭扇區(qū)號(hào)與本次的讀取區(qū)尺寸,以及由上述連續(xù)性檢測(cè)部4所檢測(cè)的訪問(wèn)方向值,確定作為盤(pán)式存儲(chǔ)媒體上的開(kāi)始預(yù)讀的位置的預(yù)讀區(qū)扇區(qū)號(hào)和作為進(jìn)行預(yù)讀的數(shù)據(jù)的尺寸的預(yù)讀區(qū)尺寸。
下面用圖6、圖7就上述圖3中所示的步驟S5的由預(yù)讀區(qū)確定部6進(jìn)行的預(yù)讀區(qū)確定處理進(jìn)行說(shuō)明。
圖6是用來(lái)說(shuō)明根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀區(qū)確定部6的動(dòng)作的程序框圖,圖7示出儲(chǔ)存在訪問(wèn)區(qū)信息保存部13內(nèi)的訪問(wèn)區(qū)信息之一例。再者,在圖7中,訪問(wèn)區(qū)信息由作為進(jìn)行上一次預(yù)讀的盤(pán)式存儲(chǔ)媒體的數(shù)據(jù)區(qū)的開(kāi)頭扇區(qū)號(hào)的訪問(wèn)區(qū)開(kāi)頭扇區(qū)號(hào)Q,和作為由上一次預(yù)讀所讀出的數(shù)據(jù)的尺寸的訪問(wèn)區(qū)尺寸R組成。
在圖6中,預(yù)讀區(qū)確定部6首先判斷由連續(xù)性檢測(cè)部4所檢測(cè)的預(yù)讀方向值是不是表示正方向的訪問(wèn)的“1”(步驟S21)。在預(yù)讀方向值為“1”的場(chǎng)合,把訪問(wèn)區(qū)尺寸R加到訪問(wèn)區(qū)開(kāi)頭扇區(qū)號(hào)Q上,計(jì)算預(yù)讀區(qū)扇區(qū)號(hào)(步驟S22)。
在預(yù)讀方向值為表示負(fù)方向訪問(wèn)的“0”的場(chǎng)合,從訪問(wèn)區(qū)開(kāi)頭扇區(qū)號(hào)Q中減去預(yù)讀區(qū)尺寸Z,計(jì)算預(yù)讀區(qū)扇區(qū)號(hào)(步驟S23)。
如果計(jì)算了預(yù)讀區(qū)扇區(qū)號(hào)(步驟S22、步驟S23),則預(yù)讀區(qū)確定部6把儲(chǔ)存在訪問(wèn)信息保存部13內(nèi)的訪問(wèn)區(qū)開(kāi)頭扇區(qū)號(hào)Q更新為本次計(jì)算的預(yù)讀區(qū)扇區(qū)號(hào),并且把訪問(wèn)區(qū)尺寸R更新為本次的讀取區(qū)尺寸(S24)。
預(yù)讀區(qū)確定部6把所計(jì)算的預(yù)讀區(qū)扇區(qū)號(hào)和作為預(yù)讀區(qū)尺寸的本次的讀取區(qū)尺寸輸出到預(yù)讀起動(dòng)部7,結(jié)束預(yù)讀區(qū)確定處理。
預(yù)讀起動(dòng)部7檢索高速化12調(diào)查從預(yù)讀區(qū)確定部6所輸出的預(yù)讀區(qū)扇區(qū)號(hào)和預(yù)讀區(qū)尺寸所示的數(shù)據(jù)是否存在于高速緩沖存儲(chǔ)器10上,在不存在該數(shù)據(jù)的場(chǎng)合,對(duì)盤(pán)傳輸部8指示從預(yù)讀區(qū)確定部6所輸出的預(yù)讀區(qū)扇區(qū)號(hào)和預(yù)讀區(qū)尺寸所示的記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)的讀出,進(jìn)行數(shù)據(jù)的預(yù)讀。此外,預(yù)讀起動(dòng)部7在上述數(shù)據(jù)的預(yù)讀后,進(jìn)行高速緩存表12的更新并結(jié)束預(yù)讀處理。
另一方面,在存在該數(shù)據(jù)的場(chǎng)合,進(jìn)行下一個(gè)數(shù)據(jù)的預(yù)讀處理。
這樣一來(lái),把儲(chǔ)存在作為命令歷史信息存儲(chǔ)機(jī)構(gòu)的讀命令歷史表5內(nèi)的剛才的讀取中訪問(wèn)的區(qū)與當(dāng)前讀命令中所要求的區(qū)進(jìn)行比較,確定進(jìn)行數(shù)據(jù)的預(yù)讀的方向,由此即使對(duì)負(fù)方向,也就是地址減小的方向連續(xù)地讀出數(shù)據(jù)的場(chǎng)合,進(jìn)行這些數(shù)據(jù)的預(yù)讀也成為可能,可以高速地進(jìn)行負(fù)方向數(shù)據(jù)的連續(xù)讀出。
接下來(lái),用圖8至圖10就根據(jù)本發(fā)明的第1實(shí)施例的盤(pán)式存儲(chǔ)裝置把從盤(pán)式存儲(chǔ)媒體讀出的數(shù)據(jù)儲(chǔ)存在高速緩沖存儲(chǔ)器10中的方法進(jìn)行說(shuō)明。
圖8是表示用現(xiàn)有技術(shù)的儲(chǔ)存方式和本發(fā)明的儲(chǔ)存方式儲(chǔ)存數(shù)據(jù)的場(chǎng)合的高速緩沖存儲(chǔ)器10的儲(chǔ)存狀態(tài)的圖。如圖8中所示,在把盤(pán)式存儲(chǔ)裝置中的預(yù)讀區(qū)的數(shù)據(jù)從盤(pán)式存儲(chǔ)媒體中讀出并儲(chǔ)存在高速緩沖存儲(chǔ)器10中的儲(chǔ)存方法中,在用現(xiàn)有技術(shù)的數(shù)據(jù)儲(chǔ)存方式把負(fù)方向預(yù)讀數(shù)據(jù)儲(chǔ)存在高速緩沖存儲(chǔ)器中的場(chǎng)合,分別把負(fù)方向預(yù)讀數(shù)據(jù)D1、D2、D3、D4依次儲(chǔ)存在正方向高速緩存數(shù)據(jù)的后方(存儲(chǔ)器地址加大的方向)。
在該場(chǎng)合,負(fù)方向預(yù)讀數(shù)據(jù)D1(LBA 4700~LBA 4799)與負(fù)方向預(yù)讀數(shù)據(jù)D2(LBA 4600~LBA 4699)的邊界為L(zhǎng)BA 4600和LBA 4799而產(chǎn)生數(shù)據(jù)的不連續(xù)。這在所有區(qū)之間都發(fā)生,為了解決該問(wèn)題,在現(xiàn)有技術(shù)的數(shù)據(jù)儲(chǔ)存方式中,有必要針對(duì)每個(gè)區(qū)作成并登記作為向高速緩沖存儲(chǔ)器的登記信息的圖9中所示的高速緩存入口。另一方面,在根據(jù)本發(fā)明的數(shù)據(jù)儲(chǔ)存方式中,把沿負(fù)方向依次讀出的多個(gè)預(yù)讀區(qū)的數(shù)據(jù)依次儲(chǔ)存在高速緩沖存儲(chǔ)器的地址空間的負(fù)方向區(qū)中。也就是說(shuō),把負(fù)方向預(yù)讀數(shù)據(jù)D1、D2、D3、D4依次儲(chǔ)存在預(yù)讀數(shù)據(jù)正方向高速緩存數(shù)據(jù)的前方(存儲(chǔ)器地址減小的方向)。
在該場(chǎng)合,負(fù)方向預(yù)讀數(shù)據(jù)D1(LBA 4700~LBA 4799)與負(fù)方向預(yù)讀數(shù)據(jù)D2(LBA 4600~LBA 4699)的邊界成為L(zhǎng)BA 4700和LBA 4699地被儲(chǔ)存,保持各區(qū)之間的數(shù)據(jù)的連續(xù)性成為可能。因此,如圖10中所示,通過(guò)僅變更作為高速緩沖存儲(chǔ)器內(nèi)的信息的開(kāi)頭LBA和高速緩沖存儲(chǔ)器內(nèi)開(kāi)頭地址就可以管理儲(chǔ)存在高速緩沖存儲(chǔ)器10內(nèi)的數(shù)據(jù),沒(méi)有必要像現(xiàn)有技術(shù)的數(shù)據(jù)儲(chǔ)存方式那樣,針對(duì)每個(gè)區(qū)作成新的高速緩存入口。
這樣一來(lái),把沿負(fù)方向依次讀出的多個(gè)預(yù)讀區(qū)的數(shù)據(jù)儲(chǔ)存在高速緩沖存儲(chǔ)器上的地址空間的負(fù)方向區(qū)中以便連續(xù)性不中斷,由此沿負(fù)方向依次讀出的多個(gè)預(yù)讀區(qū)的數(shù)據(jù)以連續(xù)的編址配置在高速緩沖存儲(chǔ)器內(nèi),簡(jiǎn)易地管理儲(chǔ)存在高速緩沖存儲(chǔ)器內(nèi)的數(shù)據(jù)成為可能。此外,在把存在于高速緩沖存儲(chǔ)器上的預(yù)讀區(qū)的數(shù)據(jù)送回上位裝置1的場(chǎng)合,與正方向數(shù)據(jù)無(wú)區(qū)別地取出存在于高速緩沖存儲(chǔ)器上的預(yù)讀區(qū)的數(shù)據(jù)成為可能。
再者,如圖1中所示,高速緩存位判定部3和連續(xù)性檢測(cè)部4、預(yù)讀區(qū)確定部6、預(yù)讀起動(dòng)部7的各處理由CPU 101來(lái)進(jìn)行,讀命令歷史表5、高速緩存表12、訪問(wèn)區(qū)信息保存部13配置在從CPU 101能夠讀寫(xiě)的RAM100上。(第2實(shí)施例)下面用圖11至圖20就根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置進(jìn)行說(shuō)明。
圖11是表示根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的構(gòu)成的方框圖。圖中,上位裝置1對(duì)盤(pán)式存儲(chǔ)裝置輸出旨在讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)的讀命令。
此外,根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置,由主機(jī)F/I部2、高速緩存位判定部3、連續(xù)性檢測(cè)部16、作為命令歷史信息存儲(chǔ)機(jī)構(gòu)的讀命令歷史表5、預(yù)讀規(guī)則確定部14、作為預(yù)讀規(guī)則保存機(jī)構(gòu)的預(yù)讀規(guī)則表15、預(yù)讀區(qū)確定部17、預(yù)讀起動(dòng)部7、盤(pán)傳輸部8、高速緩沖存儲(chǔ)器10、主機(jī)傳輸部11、高速緩存表12和訪問(wèn)區(qū)信息保存部13組成。
再者,根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置即使在收到要求以一定間隔離散地分布的數(shù)據(jù)的連續(xù)的讀命令的場(chǎng)合,也可以有效地進(jìn)行數(shù)據(jù)的預(yù)讀,在這一點(diǎn)與使要求沿負(fù)方向,也就是地址減小的方向分布的數(shù)據(jù)的讀命令的預(yù)讀成為可能的上述實(shí)施例不同。因此,對(duì)進(jìn)行與上述第1實(shí)施例相同的動(dòng)作的構(gòu)成要素賦予相同的標(biāo)號(hào),并省略其說(shuō)明。
連續(xù)性檢測(cè)部16用儲(chǔ)存在作為命令歷史信息存儲(chǔ)機(jī)構(gòu)的讀命令歷史表5中的讀命令的歷史,計(jì)算進(jìn)行數(shù)據(jù)的預(yù)讀的訪問(wèn)方向,和讀出數(shù)據(jù)的區(qū)之間的區(qū)間隔距離。
預(yù)讀規(guī)則確定部14基于讀命令,和由上述連續(xù)性檢測(cè)部16所檢測(cè)的數(shù)據(jù)的預(yù)讀方向、區(qū)間隔距離,作為預(yù)讀規(guī)則保存機(jī)構(gòu)的預(yù)讀規(guī)則表15保存的預(yù)讀規(guī)則,確定用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則。
作為預(yù)讀規(guī)則保存機(jī)構(gòu)的預(yù)讀規(guī)則表15,保存由預(yù)讀規(guī)則確定部14所確定的預(yù)讀規(guī)則。
預(yù)讀區(qū)確定部17基于在預(yù)讀規(guī)則確定部14中所確定的預(yù)讀規(guī)則,以及儲(chǔ)存在訪問(wèn)區(qū)信息保存部13內(nèi)的訪問(wèn)區(qū)信息,確定開(kāi)始預(yù)讀的盤(pán)式存儲(chǔ)媒體的區(qū)的位置和預(yù)讀區(qū)的尺寸。
接下來(lái),雖然是根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的基本處理,但是因?yàn)榕c用圖2說(shuō)明的根據(jù)第1實(shí)施例的盤(pán)式存儲(chǔ)裝置的基本處理相同,故省略其說(shuō)明。
根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置一邊實(shí)施上述基本處理,一邊進(jìn)行以下說(shuō)明的數(shù)據(jù)預(yù)讀處理。
下面用圖12就根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的數(shù)據(jù)預(yù)讀處理進(jìn)行說(shuō)明。
一邊實(shí)施上述用圖2說(shuō)明的基本處理,一邊進(jìn)行通過(guò)主機(jī)I/F部2從上位裝置1收到讀命令的連續(xù)性檢測(cè)部16根據(jù)記錄在作為命令歷史信息存儲(chǔ)機(jī)構(gòu)的讀命令歷史表5中的上一次讀命令中所要求的數(shù)據(jù)區(qū)的位置和本次讀命令中所要求的數(shù)據(jù)區(qū)的位置來(lái)計(jì)算訪問(wèn)方向和各個(gè)區(qū)之間的區(qū)間隔距離的連續(xù)性檢測(cè)處理(步驟31)。
接著,預(yù)讀規(guī)則確定部14進(jìn)行用由上述連續(xù)性檢測(cè)部16所計(jì)算的訪問(wèn)方向和區(qū)之間的區(qū)間隔距離以及本次所要求的數(shù)據(jù)區(qū)尺寸,確定用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則的預(yù)讀規(guī)則確定處理(步驟S32)。再者,所確定的預(yù)讀規(guī)則保存在作為預(yù)讀規(guī)則保存機(jī)構(gòu)的預(yù)讀規(guī)則表15中。
預(yù)讀區(qū)確定部17進(jìn)行是否并用作為在本次讀命令中所運(yùn)用的預(yù)讀規(guī)則之前所運(yùn)用的預(yù)讀規(guī)則的舊規(guī)則來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀的舊規(guī)則運(yùn)用判定處理,確定運(yùn)用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則,進(jìn)行基于所確定的預(yù)讀規(guī)則,確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定處理(步驟S33)。
接著,預(yù)讀起動(dòng)部7檢索高速緩存表12調(diào)查由預(yù)讀區(qū)確定部17所確定的預(yù)讀區(qū)的數(shù)據(jù)是否存在于高速緩沖存儲(chǔ)器10上(步驟S34)。
在由預(yù)讀區(qū)確定部17所確定的預(yù)讀區(qū)的數(shù)據(jù)未存在于高速緩沖存儲(chǔ)器10上的場(chǎng)合,預(yù)讀起動(dòng)部7對(duì)盤(pán)傳輸部8指示由預(yù)讀區(qū)確定部17所確定的預(yù)讀區(qū)的數(shù)據(jù)的讀出,進(jìn)行數(shù)據(jù)的預(yù)讀(步驟S35)。此外,預(yù)讀起動(dòng)部7在數(shù)據(jù)的預(yù)讀后,進(jìn)行表示存在于高速緩沖存儲(chǔ)器10的數(shù)據(jù)的細(xì)目的高速緩存表12的更新處理(步驟S36)。
另一方面,在由預(yù)讀區(qū)確定部17所確定的預(yù)讀區(qū)的數(shù)據(jù)存在于高速緩沖存儲(chǔ)器10上的場(chǎng)合,結(jié)束該數(shù)據(jù)的預(yù)讀處理。
再者,步驟33的預(yù)讀區(qū)確定處理以后的處理反復(fù)進(jìn)行直到收到來(lái)自上位裝置1的新的命令,進(jìn)行數(shù)據(jù)的預(yù)讀(步驟S37)。
接下來(lái),用圖13、圖14就上述圖12中所示的步驟31的由連續(xù)性檢測(cè)部16進(jìn)行的連續(xù)性檢測(cè)處理進(jìn)行說(shuō)明。
圖13是用來(lái)說(shuō)明根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的連續(xù)性檢測(cè)部16的動(dòng)作的程序框圖,圖14示出儲(chǔ)存在讀命令歷史表5內(nèi)的讀命令之一例。
連續(xù)性檢測(cè)部16首先進(jìn)行讀命令歷史表5的更新處理。該更新處理,在圖14中,把上一次讀取區(qū)開(kāi)頭扇區(qū)號(hào)A置為上二次讀取區(qū)開(kāi)頭扇區(qū)號(hào)C,把上一次讀取區(qū)尺寸B置為上二次讀取區(qū)尺寸D,把本次讀取區(qū)開(kāi)頭扇區(qū)號(hào)G置為上一次讀取區(qū)開(kāi)頭扇區(qū)號(hào)A,把本次讀取區(qū)尺寸H置為上一次讀取區(qū)尺寸B,把從上位裝置1收到的讀命令的讀取區(qū)開(kāi)頭扇區(qū)號(hào)置為本次讀取區(qū)開(kāi)頭扇區(qū)號(hào)G,把從上位裝置1收到的讀命令的讀取區(qū)尺寸置為本次讀取區(qū)尺寸H,把本次訪問(wèn)方向值I置為上一次訪問(wèn)方向值E,以及把本次區(qū)間隔距離J置為上一次區(qū)間隔距離F,結(jié)束讀歷史表5的更新處理(步驟S46)。
接著,連續(xù)性檢測(cè)部15通過(guò)把從上位裝置1收到的本次讀取區(qū)開(kāi)頭扇區(qū)號(hào)G與由上述步驟S46更新的上一次讀取區(qū)開(kāi)頭扇區(qū)號(hào)A進(jìn)行比較(步驟S42),計(jì)算訪問(wèn)方向。此時(shí),訪問(wèn)方向作為二進(jìn)制的值把正方向1、負(fù)方向0取為表示訪問(wèn)方向的值,置為圖14中所示的本次訪問(wèn)方向值I(步驟S43或步驟S44)。
然后,連續(xù)性檢測(cè)部16計(jì)算本次讀取區(qū)開(kāi)頭扇區(qū)號(hào)G與上一次讀取區(qū)開(kāi)頭扇區(qū)號(hào)A的差分的絕對(duì)值,作為區(qū)間隔距離置為本次區(qū)間隔距離J(步驟S45),結(jié)束連續(xù)性檢測(cè)處理。
接下來(lái),用圖15、16就上述圖12中所示的步驟S32的由預(yù)讀規(guī)則確定部14進(jìn)行的預(yù)讀規(guī)則確定處理進(jìn)行說(shuō)明。
圖15是用來(lái)說(shuō)明根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀規(guī)則確定部14的動(dòng)作的程序框圖,圖16示出儲(chǔ)存在預(yù)讀規(guī)則表內(nèi)的預(yù)讀規(guī)則之一例。
再者,預(yù)讀規(guī)則入口W0至W5是儲(chǔ)存在預(yù)讀規(guī)則表內(nèi)的預(yù)讀規(guī)則入口群,各預(yù)讀規(guī)則入口分別由預(yù)讀方向值X、預(yù)讀區(qū)間隔距離Y和預(yù)讀區(qū)尺寸Z組成。此外,預(yù)讀規(guī)則更新標(biāo)志T是表示預(yù)讀規(guī)則被更新了的標(biāo)志,同時(shí)表示舊規(guī)則的存在。再者,作為二進(jìn)制的值,取成在預(yù)讀規(guī)則被更新了的場(chǎng)合置為“1”,在預(yù)讀規(guī)則未被更新的場(chǎng)合置為“0”。預(yù)讀規(guī)則指針U表示當(dāng)前運(yùn)用的預(yù)讀規(guī)則。
圖15的程序框圖中,預(yù)讀規(guī)則確定部14首先判定是否從上位裝置1收到對(duì)當(dāng)前的預(yù)讀規(guī)則有整合性的讀命令。具體地說(shuō),分別判定上述連續(xù)性檢測(cè)處理中計(jì)算的本次訪問(wèn)方向值(參照?qǐng)D13的步驟S43、44)與記錄在預(yù)讀規(guī)則表15中的預(yù)讀規(guī)則指針U指示的當(dāng)前預(yù)讀規(guī)則的預(yù)讀方向(參照?qǐng)D16)的一致性(步驟S51),上述連續(xù)性檢測(cè)處理中計(jì)算的本次區(qū)間隔距離(參照?qǐng)D13的步驟S45)與記錄在預(yù)讀規(guī)則表15中的預(yù)讀區(qū)間隔距離Y(參照?qǐng)D16)的一致性(步驟S52),以及從上位裝置1收到的本次讀取區(qū)尺寸與記錄在預(yù)讀規(guī)則表15中的預(yù)讀規(guī)則指針U(參照?qǐng)D16)指示的當(dāng)前預(yù)讀規(guī)則的預(yù)讀區(qū)尺寸Z的一致性(步驟S53)。
在這些判定(步驟S51至步驟S53)的結(jié)果全都一致的場(chǎng)合,因?yàn)楫?dāng)前的預(yù)讀規(guī)則可以運(yùn)用,故不進(jìn)行變更,照原樣運(yùn)用當(dāng)前的預(yù)讀規(guī)則。
另一方面,在這些判定(步驟S51至步驟S53)的結(jié)果,判定成當(dāng)前運(yùn)用的規(guī)則不能運(yùn)用于本次讀命令的場(chǎng)合,把上一次讀命令與本次讀命令進(jìn)行比較,進(jìn)行是否可以確定新的預(yù)讀規(guī)則的判斷。
也就是說(shuō),分別判定上述連續(xù)性檢測(cè)處理中計(jì)算的本次訪問(wèn)方向值(參照?qǐng)D13的步驟S43、44)與記錄在讀命令歷史表5中的上一次訪問(wèn)方向值E(參照?qǐng)D14)的一致性(步驟S54),上述連續(xù)性檢測(cè)處理中計(jì)算的本次區(qū)間隔距離(參照?qǐng)D13的步驟S45)與記錄在讀命令歷史表5中的上一次區(qū)間隔距離F(參照?qǐng)D14)的一致性(步驟S55),以及從上位裝置1收到的本次讀取區(qū)尺寸與記錄在讀命令歷史表5中的上一次讀取區(qū)尺寸B(參照?qǐng)D14)的一致性(步驟S56)。
在這些判定(步驟S54至步驟S56)的結(jié)果全都一致的場(chǎng)合,作為新的預(yù)讀規(guī)則更新預(yù)讀規(guī)則表15的預(yù)讀規(guī)則指針U(步驟S57),分別把本次訪問(wèn)方向值置為預(yù)讀規(guī)則表15的更新了的預(yù)讀規(guī)則指針U指示的預(yù)讀規(guī)則入口的預(yù)讀方向值X(步驟S58),把本次區(qū)間隔距離置為預(yù)讀區(qū)間隔距離Y(步驟S59),把本次讀取區(qū)尺寸置為預(yù)讀區(qū)尺寸Z(步驟S60),更新預(yù)讀規(guī)則。
如果預(yù)讀規(guī)則的更新結(jié)束,則把預(yù)讀規(guī)則表15的預(yù)讀更新標(biāo)志T置為“1”,結(jié)束預(yù)讀規(guī)則確定處理(步驟S65)。
另一方面,在這些判定(步驟S54至步驟S56)的結(jié)果有任何一個(gè)不一致的場(chǎng)合,因?yàn)椴荒苓\(yùn)用新的預(yù)讀規(guī)則,故進(jìn)行旨在預(yù)讀對(duì)本次的讀取區(qū)連續(xù)的數(shù)據(jù)的設(shè)定。也就是說(shuō),更新預(yù)讀規(guī)則表15的預(yù)讀規(guī)則指針U(步驟S61),對(duì)預(yù)讀規(guī)則表15的該更新了的預(yù)讀規(guī)則指針U指示的預(yù)讀規(guī)則入口,進(jìn)行預(yù)讀對(duì)本次的讀取區(qū)連續(xù)的數(shù)據(jù)的設(shè)定。也就是說(shuō),分別把本次訪問(wèn)方向值(圖13的步驟S43、44)置為預(yù)讀規(guī)則表15的預(yù)讀方向值X(步驟S62),作為區(qū)間隔距離把0置為預(yù)讀區(qū)間隔距離Y(步驟S63),把本次讀取區(qū)尺寸置為預(yù)讀區(qū)尺寸Z,更新預(yù)讀規(guī)則,結(jié)束預(yù)讀規(guī)則確定處理(步驟S64)。再者,在該場(chǎng)合,不進(jìn)行預(yù)讀規(guī)則表15的預(yù)讀規(guī)則更新標(biāo)志T的更新。
此外,根據(jù)本發(fā)明的第2實(shí)施例中的盤(pán)式存儲(chǔ)裝置的預(yù)讀規(guī)則保存部15,雖然就有5個(gè)預(yù)讀入口者進(jìn)行了說(shuō)明,但是不限于此,只要是有至少一個(gè)預(yù)讀入口者就可以了。
接下來(lái)用圖17就上述圖15中所示的步驟S57和步驟S61的由預(yù)讀規(guī)則確定部15進(jìn)行的預(yù)讀規(guī)則指針更新處理進(jìn)行說(shuō)明。
圖17是用來(lái)說(shuō)明根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的由預(yù)讀規(guī)則確定部14進(jìn)行的規(guī)則指針更新處理的程序框圖。
再者,步驟S57和步驟S61的預(yù)讀規(guī)則指針更新處理是使構(gòu)成環(huán)式緩沖區(qū)的預(yù)讀規(guī)則入口群的指示當(dāng)前的預(yù)讀規(guī)則入口的預(yù)讀規(guī)則指針前進(jìn)一個(gè)入口的處理,每個(gè)都是相同的處理。
首先,由預(yù)讀規(guī)則確定部14進(jìn)行的預(yù)讀規(guī)則指針更新處理對(duì)預(yù)讀規(guī)則表15的預(yù)讀規(guī)則指針U進(jìn)行加1計(jì)算(步驟S571)。
接著,把預(yù)讀規(guī)則指針U與最大預(yù)讀規(guī)則入口編號(hào)(圖16的場(chǎng)合是5)進(jìn)行比較(步驟S572),在預(yù)讀規(guī)則指針U大于最大預(yù)讀規(guī)則入口編號(hào)的場(chǎng)合,在預(yù)讀規(guī)則指針U中置0(步驟S573)。
接下來(lái),用圖16、圖18就上述圖12中所示的步驟S33由預(yù)讀區(qū)確定部17進(jìn)行的預(yù)讀區(qū)確定處理的舊規(guī)則運(yùn)用判定處理進(jìn)行說(shuō)明。
再者,該舊規(guī)則運(yùn)用判定處理的目的在于,在把數(shù)據(jù)的重放速度從當(dāng)前的重放速度切換到剛才的重放速度的場(chǎng)合,也以切換了的重放速度預(yù)讀必要的數(shù)據(jù),在切換成剛才的重放速度后,不用再次從盤(pán)式存儲(chǔ)媒體讀出必要的數(shù)據(jù)就可以向上位裝置送出。
圖18是用來(lái)說(shuō)明根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀區(qū)確定部17的舊規(guī)則運(yùn)用判定處理的程序框圖。
預(yù)讀區(qū)確定部17首先指定預(yù)讀規(guī)則表15的預(yù)讀規(guī)則入口W0~W5內(nèi),由預(yù)讀規(guī)則指針U所指示的預(yù)讀規(guī)則入口(步驟S71)。再者,由預(yù)讀規(guī)則指針U所指示的預(yù)讀規(guī)則入口設(shè)為W1進(jìn)行以下的說(shuō)明。
接著,預(yù)讀區(qū)確定部17進(jìn)行基于作為步驟S71中所指定的預(yù)讀規(guī)則的預(yù)讀方向值X1、預(yù)讀區(qū)間隔距離Y1、預(yù)讀區(qū)尺寸Z1來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定處理(步驟S72)。
接著,預(yù)讀區(qū)確定部17把圖16中所示的預(yù)讀規(guī)則表15的預(yù)讀更新標(biāo)志置為“1”,而且根據(jù)預(yù)讀規(guī)則指針U所指示的預(yù)讀規(guī)則入口的預(yù)讀方向值X1與其上一個(gè)登記的預(yù)讀規(guī)則入口的預(yù)讀方向值X0是否一致,判斷作為當(dāng)前運(yùn)用的預(yù)讀規(guī)則之前所運(yùn)用的預(yù)讀規(guī)則的舊規(guī)則的存在,和預(yù)讀方向是否一致(步驟S73)。
在舊規(guī)則存在,而且預(yù)讀方向一致的場(chǎng)合,因?yàn)檫M(jìn)行用舊規(guī)則的預(yù)讀,故根據(jù)由圖16中所示的預(yù)讀規(guī)則表15的預(yù)讀規(guī)則指針U所指示的預(yù)讀規(guī)則入口,指定一個(gè)老的預(yù)讀規(guī)則入口(步驟S74)。
接著,預(yù)讀區(qū)確定部17進(jìn)行基于作為步驟S74中所指定的預(yù)讀規(guī)則的預(yù)讀方向值X0、預(yù)讀區(qū)間隔距離Y0、預(yù)讀區(qū)尺寸Z0來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定處理(步驟S75)。
下面用圖7、圖16、圖19就上述圖18中所示的步驟S72、和步驟S75的由預(yù)讀區(qū)確定部17進(jìn)行的預(yù)讀區(qū)確定處理進(jìn)行說(shuō)明。
圖19是用來(lái)說(shuō)明根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀區(qū)確定部17的預(yù)讀區(qū)確定處理的程序框圖,圖7示出儲(chǔ)存在訪問(wèn)信息保存部13內(nèi)的訪問(wèn)區(qū)信息之一例。再者,在圖7中,訪問(wèn)區(qū)信息由作為進(jìn)行上一次預(yù)讀的盤(pán)式存儲(chǔ)媒體的數(shù)據(jù)區(qū)的開(kāi)頭扇區(qū)號(hào)的預(yù)讀區(qū)開(kāi)頭扇區(qū)號(hào)Q,和作為由上一次預(yù)讀所讀出的數(shù)據(jù)的尺寸的訪問(wèn)區(qū)尺寸R組成。
在圖19中,預(yù)讀區(qū)確定部17基于由上述舊規(guī)則運(yùn)用判定處理所指定的圖16中所示的預(yù)讀方向值X、預(yù)讀區(qū)間隔距離Y、預(yù)讀區(qū)尺寸Z,以及圖7中所示的儲(chǔ)存在訪問(wèn)信息保存部13內(nèi)的訪問(wèn)區(qū)開(kāi)頭扇區(qū)號(hào)Q和訪問(wèn)區(qū)尺寸R,來(lái)確定進(jìn)行本次預(yù)讀的預(yù)讀區(qū)扇區(qū)號(hào)和預(yù)讀區(qū)尺寸。
首先,預(yù)讀區(qū)確定部17判斷預(yù)讀方向值X是不是表示正方向訪問(wèn)的“1”(步驟S81)。
在預(yù)讀方向值為“1”的場(chǎng)合,把預(yù)讀區(qū)間隔Y加到訪問(wèn)區(qū)開(kāi)頭扇區(qū)號(hào)Q上,計(jì)算預(yù)讀區(qū)扇區(qū)號(hào)(步驟S82)。
在預(yù)讀方向值為表示負(fù)方向訪問(wèn)的“0”的場(chǎng)合,從訪問(wèn)區(qū)開(kāi)頭扇區(qū)號(hào)Q中減去預(yù)讀區(qū)尺寸Z,計(jì)算預(yù)讀區(qū)扇區(qū)號(hào)(步驟S83)。
如果計(jì)算了預(yù)讀區(qū)扇區(qū)號(hào)(步驟S82、步驟S83),則預(yù)讀區(qū)確定部17把儲(chǔ)存在訪問(wèn)信息保存部13內(nèi)的訪問(wèn)區(qū)開(kāi)頭扇區(qū)號(hào)Q更新為本次計(jì)算的預(yù)讀區(qū)扇區(qū)號(hào),并且把預(yù)讀區(qū)尺寸Z登記為訪問(wèn)區(qū)尺寸R(S84)。
預(yù)讀區(qū)確定部17向預(yù)讀起動(dòng)部7輸出所計(jì)算的預(yù)讀區(qū)扇區(qū)號(hào)和預(yù)讀區(qū)尺寸Z,結(jié)束預(yù)讀區(qū)確定處理(S85)。
預(yù)讀起動(dòng)部7檢索高速緩存表12調(diào)查由從預(yù)讀區(qū)確定部17所輸出的預(yù)讀區(qū)扇區(qū)號(hào)和預(yù)讀區(qū)尺寸所表示的數(shù)據(jù)是否存在于高速緩沖存儲(chǔ)器10上,在該數(shù)據(jù)不存在的場(chǎng)合,向盤(pán)傳輸部8指示由從預(yù)讀區(qū)確定部17所輸出的預(yù)讀區(qū)扇區(qū)號(hào)和預(yù)讀區(qū)尺寸所表示的數(shù)據(jù)的讀出,進(jìn)行數(shù)據(jù)的預(yù)讀。此外,預(yù)讀起動(dòng)部7在上述數(shù)據(jù)的預(yù)讀后進(jìn)行高速緩存表12的更新而結(jié)束數(shù)據(jù)預(yù)讀處理。
另一方面,在該數(shù)據(jù)存在的場(chǎng)合,進(jìn)行下一個(gè)數(shù)據(jù)預(yù)讀處理。
再者,雖然是根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的把從盤(pán)式存儲(chǔ)媒體讀出的數(shù)據(jù)儲(chǔ)存在高速緩沖存儲(chǔ)器10中的儲(chǔ)存方式,但是因?yàn)榕c上述第1實(shí)施例中用圖8至圖10說(shuō)明的數(shù)據(jù)儲(chǔ)存方式相同故省略其說(shuō)明。
這樣一來(lái),把儲(chǔ)存在作為命令歷史信息存儲(chǔ)機(jī)構(gòu)的讀命令歷史表5內(nèi)的剛才的讀取中所訪問(wèn)的區(qū)與當(dāng)前讀命令中所要求的區(qū)進(jìn)行比較,來(lái)確定進(jìn)行數(shù)據(jù)預(yù)讀的方向,由此即使在對(duì)負(fù)方向,也就是地址減小的方向連續(xù)地讀出數(shù)據(jù)的場(chǎng)合,進(jìn)行這些數(shù)據(jù)的預(yù)讀也成為可能,可以高速地進(jìn)行負(fù)方向數(shù)據(jù)的連續(xù)讀出。
此外,檢測(cè)讀命令的連續(xù)性而確定預(yù)讀規(guī)則,用該預(yù)讀規(guī)則確定進(jìn)行數(shù)據(jù)的預(yù)讀的預(yù)讀區(qū)的位置和尺寸,由此針對(duì)向以一定間隔分布的數(shù)據(jù)區(qū)的連續(xù)的讀取要求進(jìn)行數(shù)據(jù)的預(yù)讀成為可能。由此,即使是高速重放保存在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)時(shí)這種連續(xù)讀出以一定間隔分布的數(shù)據(jù)的場(chǎng)合,也可以不預(yù)讀不必要的數(shù)據(jù),有效地利用高速緩沖存儲(chǔ)器10。
此外,在當(dāng)前將要運(yùn)用的預(yù)讀規(guī)則和在其一個(gè)前所運(yùn)用的預(yù)讀規(guī)則存在,且兩個(gè)預(yù)讀規(guī)則的預(yù)讀方向一致的場(chǎng)合,并用兩個(gè)預(yù)讀規(guī)則,確定進(jìn)行數(shù)據(jù)的預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸,由此即使在把數(shù)據(jù)的重放速度從當(dāng)前的重放速度切換到剛才的重放速度的場(chǎng)合,在所切換的重放速度下需要的數(shù)據(jù)也被預(yù)讀,在切換到剛才的重放速度后,不用再次從盤(pán)式存儲(chǔ)媒體讀出需要的數(shù)據(jù),就向上位裝置送出成為可能。
再者,雖然就根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀區(qū)確定部17判斷是否并用舊規(guī)則進(jìn)行預(yù)讀,在并用舊規(guī)則進(jìn)行預(yù)讀的場(chǎng)合,共用與本次的讀命令相對(duì)應(yīng)的本次的預(yù)讀規(guī)則和在本次預(yù)讀規(guī)則之前所運(yùn)用的舊規(guī)則來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀者進(jìn)行了說(shuō)明,但是不限于此,也可以預(yù)讀區(qū)確定部17不進(jìn)行舊規(guī)則運(yùn)用判定處理,只是僅用與本次的讀命令相對(duì)應(yīng)的本次的預(yù)讀規(guī)則來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀。
此外,雖然就根據(jù)本發(fā)明的第2實(shí)施例的盤(pán)式存儲(chǔ)裝置的連續(xù)性檢測(cè)部16檢測(cè)數(shù)據(jù)的預(yù)讀方向和作為進(jìn)行預(yù)讀的數(shù)據(jù)的間隔的區(qū)間隔距離,根據(jù)預(yù)讀規(guī)則確定部14用該檢測(cè)結(jié)果來(lái)確定的預(yù)讀規(guī)則來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀者進(jìn)行了說(shuō)明,但是不限于此,即使是連續(xù)性檢測(cè)部16檢測(cè)作為進(jìn)行預(yù)讀的數(shù)據(jù)的間隔的區(qū)間隔距離,根據(jù)預(yù)讀規(guī)則確定部14用該檢測(cè)結(jié)果來(lái)確定的預(yù)讀規(guī)則來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀者,也可以對(duì)要求以一定間隔離散分布的數(shù)據(jù)的連續(xù)的讀命令高效地進(jìn)行數(shù)據(jù)的預(yù)讀。
此外,如圖11中所示,高速緩存位判定部3和連續(xù)性檢測(cè)部16、預(yù)讀規(guī)則確定部14、預(yù)讀區(qū)確定部17、預(yù)讀起動(dòng)部7的各處理由CPU 103來(lái)進(jìn)行,讀命令歷史表5、高速緩存表12、訪問(wèn)區(qū)信息保存部13、預(yù)讀規(guī)則表15配置在從CPU 103能夠讀寫(xiě)的RAM 102上。(第3實(shí)施例)下面用圖20至圖23說(shuō)明根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置。
圖20是表示根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置的構(gòu)成的方框圖之一例。圖中,上位裝置1對(duì)盤(pán)式存儲(chǔ)裝置輸出旨在讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)的讀命令。
此外,根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置,由主機(jī)I/F部2、高速緩存位判定部3、連續(xù)性檢測(cè)部16、作為命令歷史信息存儲(chǔ)機(jī)構(gòu)的讀命令歷史表5、預(yù)讀規(guī)則確定部14、預(yù)讀規(guī)則確定部14、作為預(yù)讀規(guī)則保存機(jī)構(gòu)的預(yù)讀規(guī)則表15、預(yù)讀區(qū)確定部17、預(yù)讀起動(dòng)部7、盤(pán)傳輸部8、高速緩沖存儲(chǔ)器10、主機(jī)傳輸部11、高速緩存表12、訪問(wèn)區(qū)信息保存部13、高速緩沖存儲(chǔ)器指針保存部18和預(yù)讀起動(dòng)判斷部19組成。
再者,根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置設(shè)置保護(hù)區(qū),以便把已經(jīng)向上位裝置送出的至少數(shù)塊的數(shù)據(jù)保留在高速緩沖存儲(chǔ)器上,在這一點(diǎn)上與上述第2實(shí)施例不同。因此,對(duì)進(jìn)行與上述第2實(shí)施例相同的動(dòng)作的構(gòu)成要素賦予相同的標(biāo)號(hào),并省略其說(shuō)明。
高速緩沖存儲(chǔ)器指針保存部18保存表示當(dāng)前正在向上位裝置發(fā)送的數(shù)據(jù)位于的高速緩沖存儲(chǔ)器上的位置的發(fā)送中地址和表示將要儲(chǔ)存下次預(yù)讀的數(shù)據(jù)的高速緩沖存儲(chǔ)器上的位置的下次預(yù)讀數(shù)據(jù)儲(chǔ)存開(kāi)始地址。
預(yù)讀起動(dòng)判斷部19為了把已經(jīng)向上位裝置送出的至少數(shù)塊的數(shù)據(jù)保留在高速緩沖存儲(chǔ)器上,進(jìn)行用保存在上述高速緩沖存儲(chǔ)器指針保存部中的發(fā)送中地址和下次預(yù)讀數(shù)據(jù)儲(chǔ)存開(kāi)始地址來(lái)判斷是否進(jìn)行數(shù)據(jù)的預(yù)讀的預(yù)讀起動(dòng)判斷處理。
接下來(lái),雖然是根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置的基本處理,但是因?yàn)榕c用圖2說(shuō)明的根據(jù)第1實(shí)施例的盤(pán)式存儲(chǔ)裝置的基本處理相同,故省略其說(shuō)明。
下面用圖21就根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置的數(shù)據(jù)預(yù)讀處理進(jìn)行說(shuō)明。
一邊實(shí)施上述用圖2說(shuō)明的基本處理,一邊進(jìn)行通過(guò)主機(jī)I/F部2從上位裝置1收到讀命令的連續(xù)性檢測(cè)部16根據(jù)記錄在作為命令歷史信息存儲(chǔ)機(jī)構(gòu)的讀命令歷史表5中的上一次讀命令中所要求的數(shù)據(jù)區(qū)的位置和本次讀命令中所要求的數(shù)據(jù)區(qū)的位置來(lái)計(jì)算訪問(wèn)方向和各個(gè)區(qū)之間的區(qū)間隔距離的連續(xù)性檢測(cè)處理(步驟31)。
接著,預(yù)讀規(guī)則確定部14進(jìn)行用由上述連續(xù)性檢測(cè)部16所計(jì)算的訪問(wèn)方向和區(qū)之間的區(qū)間隔距離以及本次所要求的數(shù)據(jù)區(qū)尺寸,確定用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則的預(yù)讀規(guī)則確定處理(步驟S32)。再者,所確定的預(yù)讀規(guī)則保存在作為預(yù)讀規(guī)則保存機(jī)構(gòu)的預(yù)讀規(guī)則表15中。
預(yù)讀區(qū)確定部17進(jìn)行是否并用作為在本次讀命令中所運(yùn)用的預(yù)讀規(guī)則之前所運(yùn)用的預(yù)讀規(guī)則的舊規(guī)則來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀的舊規(guī)則運(yùn)用判定處理,確定運(yùn)用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則,進(jìn)行基于所確定的預(yù)讀規(guī)則,確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定處理(步驟S33)。
接著,預(yù)讀起動(dòng)判斷部進(jìn)行用儲(chǔ)存在高速緩沖存儲(chǔ)器指針保存部18內(nèi)的發(fā)送中地址和下次預(yù)讀數(shù)據(jù)儲(chǔ)存開(kāi)始地址來(lái)判斷是否進(jìn)行預(yù)讀的預(yù)讀起動(dòng)判斷(步驟S91)。
在判斷成不進(jìn)行預(yù)讀的場(chǎng)合繼續(xù)進(jìn)行預(yù)讀起動(dòng)判斷處理直到收到來(lái)自上位裝置1的新的命令(步驟S92)。
在判斷成進(jìn)行預(yù)讀的場(chǎng)合,預(yù)讀起動(dòng)部7檢索高速緩存表12調(diào)查由預(yù)讀區(qū)確定部17所確定的預(yù)讀區(qū)的數(shù)據(jù)是否存在于高速緩沖存儲(chǔ)器10上(步驟S34)。
在由預(yù)讀區(qū)確定部17所確定的預(yù)讀區(qū)的數(shù)據(jù)未存在于高速緩沖存儲(chǔ)器10上的場(chǎng)合,預(yù)讀起動(dòng)部7對(duì)盤(pán)傳輸部8指示由預(yù)讀區(qū)確定部17所確定的預(yù)讀區(qū)的數(shù)據(jù)的讀出,進(jìn)行數(shù)據(jù)的預(yù)讀(步驟S35)。此外,預(yù)讀起動(dòng)部7在數(shù)據(jù)的預(yù)讀后,進(jìn)行表示存在于高速緩沖存儲(chǔ)器10的數(shù)據(jù)的細(xì)目的高速緩存表12的更新處理(步驟S36)。
另一方面,在由預(yù)讀區(qū)確定部17所確定的預(yù)讀區(qū)的數(shù)據(jù)存在于高速緩沖存儲(chǔ)器10上的場(chǎng)合,結(jié)束該數(shù)據(jù)的預(yù)讀處理。
再者,步驟33的預(yù)讀區(qū)確定處理以后的處理反復(fù)進(jìn)行直到收到來(lái)自上位裝置1的新的命令,進(jìn)行數(shù)據(jù)的預(yù)讀(步驟S37)。
接下來(lái),上述圖21中所示的步驟S31的連續(xù)性檢測(cè)部16進(jìn)行的連續(xù)性檢測(cè)處理,步驟S32的預(yù)讀規(guī)則確定部14進(jìn)行的預(yù)讀規(guī)則確定處理,以及步驟S33的預(yù)讀區(qū)確定部17進(jìn)行的預(yù)讀區(qū)確定處理〖原文26頁(yè)12行誤為‘預(yù)讀規(guī)則確定處理’——譯者注〗,因?yàn)榕c上述第2實(shí)施例進(jìn)行的相同故省略其說(shuō)明。
接下來(lái),用圖22至圖24就上述圖21中所示的步驟S91的預(yù)讀起動(dòng)判斷部19進(jìn)行的預(yù)讀起動(dòng)判斷處理進(jìn)行說(shuō)明。
圖22是用來(lái)說(shuō)明根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置的預(yù)讀起動(dòng)判斷部19進(jìn)行的預(yù)讀起動(dòng)判斷處理的程序框圖,圖23是表示保存在高速緩沖存儲(chǔ)器指針保存部18中的高速緩存表之一例的圖,圖24是用來(lái)說(shuō)明作為儲(chǔ)存在高速緩沖存儲(chǔ)器10內(nèi)的數(shù)據(jù)受保護(hù)的數(shù)據(jù)區(qū)的保護(hù)區(qū)的說(shuō)明圖。
再者,在圖23中,高速緩沖存儲(chǔ)器指針保存部18保存表示作為當(dāng)前正在向上位裝置1發(fā)送的高速緩沖存儲(chǔ)器10上的數(shù)據(jù)塊的開(kāi)始地址的高速緩沖存儲(chǔ)器地址的發(fā)送中地址O,和作為將要儲(chǔ)存下次預(yù)讀的數(shù)據(jù)的高速緩沖存儲(chǔ)器上的高速緩沖存儲(chǔ)器地址的預(yù)讀數(shù)據(jù)儲(chǔ)存地址。
預(yù)讀起動(dòng)判斷部19首先進(jìn)行在上述預(yù)讀區(qū)確定處理(步驟S33)的過(guò)程中所指定的預(yù)讀規(guī)則表14內(nèi)的預(yù)讀規(guī)則入口的預(yù)讀方向值是不是“1”,也就是否沿正方向進(jìn)行預(yù)讀的判斷(步驟S101)。
在預(yù)讀方向值X為“1”的場(chǎng)合,從保存在高速緩沖存儲(chǔ)器指針保存部18中的,作為正在向上位裝置1發(fā)送的數(shù)據(jù)塊的開(kāi)始地址的發(fā)送中地址O減去預(yù)定的保護(hù)區(qū)尺寸來(lái)計(jì)算作為對(duì)正在送出的數(shù)據(jù)按規(guī)定量保護(hù)負(fù)方向的數(shù)據(jù)用的邊界地址的保護(hù)區(qū)地址(步驟S102)。
另一方面,在預(yù)讀方向值X不是“1”而是“0”的場(chǎng)合,也就是沿負(fù)方向進(jìn)行預(yù)讀的場(chǎng)合,把圖16中所示的預(yù)讀區(qū)尺寸Z和預(yù)定的保護(hù)區(qū)尺寸加到發(fā)送中地址O上來(lái)計(jì)算作為對(duì)正在送出的數(shù)據(jù)按規(guī)定量保護(hù)正方向的數(shù)據(jù)用的邊界地址的保護(hù)區(qū)地址(步驟S103)。
接著,預(yù)讀起動(dòng)判斷部19判斷保護(hù)區(qū)地址是否重合于保存在高速緩沖存儲(chǔ)器指針保存部18中的下次預(yù)讀數(shù)據(jù)儲(chǔ)存開(kāi)始地址P和圖16中所示的預(yù)讀區(qū)尺寸Z中所確定的下次預(yù)讀數(shù)據(jù)的儲(chǔ)存區(qū)(步驟S104)。
在保護(hù)區(qū)地址重合于下次預(yù)讀數(shù)據(jù)的儲(chǔ)存區(qū)的場(chǎng)合,禁止數(shù)據(jù)的預(yù)讀,結(jié)束預(yù)讀起動(dòng)判斷處理(步驟S105)。
另一方面,在保護(hù)區(qū)地址不重合于下次預(yù)讀數(shù)據(jù)的儲(chǔ)存區(qū)的場(chǎng)合,允許數(shù)據(jù)的預(yù)讀,結(jié)束預(yù)讀起動(dòng)判斷處理(步驟S106)。
上述,如果根據(jù)預(yù)讀起動(dòng)判斷處理允許數(shù)據(jù)的預(yù)讀則預(yù)讀起動(dòng)部7檢索高速緩存表12調(diào)查由從預(yù)讀區(qū)確定部17所輸出的預(yù)讀區(qū)扇區(qū)號(hào)和預(yù)讀區(qū)尺寸所表示的數(shù)據(jù)是否存在于高速緩沖存儲(chǔ)器10上,在該數(shù)據(jù)不存在的場(chǎng)合,向盤(pán)傳輸部8指示由從預(yù)讀區(qū)確定部17所輸出的預(yù)讀區(qū)扇區(qū)號(hào)和預(yù)讀區(qū)尺寸所表示的數(shù)據(jù)的讀出,進(jìn)行數(shù)據(jù)的預(yù)讀。此外,預(yù)讀起動(dòng)部7在上述數(shù)據(jù)的預(yù)讀后進(jìn)行高速緩存表12的更新而結(jié)束數(shù)據(jù)預(yù)讀處理。
另一方面,在該數(shù)據(jù)存在的場(chǎng)合,進(jìn)行下一個(gè)數(shù)據(jù)預(yù)讀處理。
再者,雖然是根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置的把從盤(pán)式存儲(chǔ)媒體讀出的數(shù)據(jù)儲(chǔ)存在高速緩沖存儲(chǔ)器10中的儲(chǔ)存方式,但是因?yàn)榕c上述第1實(shí)施例中用圖8至圖10說(shuō)明的數(shù)據(jù)儲(chǔ)存方式相同故省略其說(shuō)明。
這樣一來(lái),用表示當(dāng)前正在向上位裝置1發(fā)送的數(shù)據(jù)處于的高速緩沖存儲(chǔ)器上的位置的發(fā)送中地址,和表示將要儲(chǔ)存下次預(yù)讀的數(shù)據(jù)的高速緩沖存儲(chǔ)器上的位置的下次預(yù)讀數(shù)據(jù)儲(chǔ)存開(kāi)始地址,為了使已經(jīng)向上位裝置送出的至少數(shù)塊數(shù)據(jù)殘留在高速緩沖存儲(chǔ)器上而設(shè)置保護(hù)區(qū),進(jìn)行數(shù)據(jù)的預(yù)讀,由此即使是一邊頻繁切換正向重放、反向重放一邊進(jìn)行數(shù)據(jù)的重放的場(chǎng)合,也在切換重放方向的時(shí)刻,把剛才重放方向切換前的已經(jīng)向上位裝置送出的數(shù)據(jù)保存在高速緩沖存儲(chǔ)器內(nèi)成為可能,不用再次從盤(pán)式存儲(chǔ)媒體讀出在剛重放方向切換后的重放中需要的該剛才重放方向切換前已經(jīng)送出的數(shù)據(jù),就可以向上位裝置1送出。
再者,雖然根據(jù)本發(fā)明的第3實(shí)施例的盤(pán)式存儲(chǔ)裝置就在根據(jù)上述第2實(shí)施例的盤(pán)式存儲(chǔ)裝置上設(shè)置高速緩沖存儲(chǔ)器指針保存部18和預(yù)讀起動(dòng)判斷部19者進(jìn)行了說(shuō)明,但是不限于此,例如,即使是在根據(jù)上述第1實(shí)施例的盤(pán)式存儲(chǔ)裝置上設(shè)置高速緩沖存儲(chǔ)器指針保存部18和預(yù)讀起動(dòng)判斷部19者也可以得到同樣的效果。
此外,如圖20中所示,高速緩存位判定部3和連續(xù)性檢測(cè)部16、預(yù)讀規(guī)則確定部14、預(yù)讀區(qū)確定部17、預(yù)讀起動(dòng)判斷部19、預(yù)讀起動(dòng)部7的各處理由CPU 105來(lái)進(jìn)行,讀命令歷史表5、高速緩存表12、訪問(wèn)區(qū)信息保存部13、預(yù)讀規(guī)則表15、高速緩沖存儲(chǔ)器指針保存部18配置在從CPU 105能夠讀寫(xiě)的RAM 104上。(第4實(shí)施例)在第1至第3實(shí)施例中說(shuō)明的盤(pán)式存儲(chǔ)裝置,圖1、圖11、圖20中所示的CPU 101、103、105用內(nèi)部持有的ROM內(nèi)的控制程序來(lái)控制。不僅在各種媒體中收納提供該控制程序,而且經(jīng)由因特網(wǎng)、其他網(wǎng)絡(luò)等通信手段提供程序,也可以得到與在本第1至第3實(shí)施例中說(shuō)明的效果同樣的效果。
再者,作為記錄程序的記錄媒體,可以用例如軟盤(pán)、硬盤(pán)、光盤(pán)、磁盤(pán)、光磁盤(pán)、CD-ROM、磁帶、穿孔卡片、非易失存儲(chǔ)卡等。
產(chǎn)業(yè)上的實(shí)用性根據(jù)本發(fā)明的盤(pán)式存儲(chǔ)裝置可以對(duì)儲(chǔ)存在磁盤(pán)或光盤(pán)等盤(pán)式存儲(chǔ)媒體中的數(shù)據(jù)的負(fù)方向的預(yù)讀,或以一定間隔離散分布的數(shù)據(jù)的高效的預(yù)讀,可以謀求盤(pán)式存儲(chǔ)裝置的由數(shù)據(jù)預(yù)讀實(shí)現(xiàn)的數(shù)據(jù)傳輸?shù)奶岣摺?br>
權(quán)利要求
1一種盤(pán)式存儲(chǔ)裝置,其特征在于包括儲(chǔ)存讀命令的歷史信息的命令歷史信息存儲(chǔ)機(jī)構(gòu),這些命令是從上位裝置收到的、讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息;基于與記錄在上述命令歷史信息存儲(chǔ)機(jī)構(gòu)的命令有關(guān)的歷史信息來(lái)檢測(cè)預(yù)讀方向的連續(xù)性檢測(cè)機(jī)構(gòu);基于上述讀命令、和由上述連續(xù)性檢測(cè)機(jī)構(gòu)所檢測(cè)的檢測(cè)結(jié)果,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定機(jī)構(gòu);儲(chǔ)存所預(yù)讀的數(shù)據(jù)的高速緩沖存儲(chǔ)器;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀區(qū)確定機(jī)構(gòu)所確定的進(jìn)行預(yù)讀的數(shù)據(jù)并儲(chǔ)存在上述高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)機(jī)構(gòu)。
2一種盤(pán)式存儲(chǔ)裝置,其特征在于,包括儲(chǔ)存讀命令的歷史信息的命令歷史信息存儲(chǔ)機(jī)構(gòu),這些命令是從上位裝置收到的讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息;基于與記錄在上述命令歷史信息存儲(chǔ)機(jī)構(gòu)的命令有關(guān)的歷史信息來(lái)檢測(cè)作為進(jìn)行預(yù)讀的數(shù)據(jù)的間隔的區(qū)間隔距離的連續(xù)性檢測(cè)機(jī)構(gòu);保存作為用來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀的規(guī)則的預(yù)讀規(guī)則的預(yù)讀規(guī)則保存機(jī)構(gòu);基于上述讀命令、和由上述連續(xù)性檢測(cè)機(jī)構(gòu)所檢測(cè)的檢測(cè)結(jié)果、上述預(yù)讀規(guī)則保存機(jī)構(gòu)保存的預(yù)讀規(guī)則,來(lái)確定用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則的預(yù)讀規(guī)則確定機(jī)構(gòu);基于由上述預(yù)讀規(guī)則確定機(jī)構(gòu)所確定的預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定機(jī)構(gòu);儲(chǔ)存所預(yù)讀的數(shù)據(jù)的高速緩沖存儲(chǔ)器;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀起動(dòng)機(jī)構(gòu)所確定的進(jìn)行預(yù)讀的數(shù)據(jù)區(qū)的數(shù)據(jù)并儲(chǔ)存在上述高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)機(jī)構(gòu)。
3一種盤(pán)式存儲(chǔ)裝置,其特征在于,包括儲(chǔ)存讀命令的歷史信息的命令歷史信息存儲(chǔ)機(jī)構(gòu),這些命令是從上位裝置收到的、讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息;基于與記錄在上述命令歷史信息存儲(chǔ)機(jī)構(gòu)的命令有關(guān)的歷史信息來(lái)檢測(cè)預(yù)讀方向,和作為進(jìn)行預(yù)讀的數(shù)據(jù)的間隔的區(qū)間隔距離的連續(xù)性檢測(cè)機(jī)構(gòu);保存作為用來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀的規(guī)則的預(yù)讀規(guī)則的預(yù)讀規(guī)則保存機(jī)構(gòu);基于上述讀命令、和由上述連續(xù)性檢測(cè)機(jī)構(gòu)所檢測(cè)的檢測(cè)結(jié)果、上述預(yù)讀規(guī)則保存機(jī)構(gòu)保存的預(yù)讀規(guī)則,來(lái)確定用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則的預(yù)讀規(guī)則確定機(jī)構(gòu);基于由上述預(yù)讀規(guī)則確定機(jī)構(gòu)所確定的預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定機(jī)構(gòu);儲(chǔ)存所預(yù)讀的數(shù)據(jù)的高速緩沖存儲(chǔ)器;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀起動(dòng)機(jī)構(gòu)所確定的進(jìn)行預(yù)讀的數(shù)據(jù)區(qū)的數(shù)據(jù)并儲(chǔ)存在上述高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)機(jī)構(gòu)。
4根據(jù)權(quán)利要求2或3所述的盤(pán)式存儲(chǔ)裝置,其特征在于,上述預(yù)讀規(guī)則保存機(jī)構(gòu)保存多個(gè)預(yù)讀規(guī)則;上述預(yù)讀區(qū)確定機(jī)構(gòu)在既是由上述預(yù)讀規(guī)則確定機(jī)構(gòu)所確定的預(yù)讀規(guī)則及其一個(gè)之前所運(yùn)用的預(yù)讀規(guī)則存在的場(chǎng)合,而且兩個(gè)預(yù)讀規(guī)則的預(yù)讀方向又一致的場(chǎng)合,并用兩個(gè)預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸。
5根據(jù)權(quán)利要求1至4中的任一項(xiàng)所述的盤(pán)式存儲(chǔ)裝置,其特征在于還具備保存表示當(dāng)前正在向上位裝置發(fā)送的數(shù)據(jù)的上述高速緩沖存儲(chǔ)器上的位置的發(fā)送中地址,和表示將要儲(chǔ)存下次預(yù)讀的數(shù)據(jù)的上述高速緩沖存儲(chǔ)器上的位置的下次預(yù)讀數(shù)據(jù)儲(chǔ)存開(kāi)始地址的高速緩沖存儲(chǔ)器指針保存機(jī)構(gòu),以及用保存在上述高速緩沖存儲(chǔ)器指針保存機(jī)構(gòu)中的上述發(fā)送中地址和上述下次預(yù)讀數(shù)據(jù)儲(chǔ)存開(kāi)始地址,判斷為了使已經(jīng)向上位裝置送出的至少數(shù)塊數(shù)據(jù)殘留在高速緩沖存儲(chǔ)器上,是否進(jìn)行數(shù)據(jù)的預(yù)讀的預(yù)讀起動(dòng)判斷機(jī)構(gòu)。
6根據(jù)權(quán)利要求1、權(quán)利要求3至5中的任一項(xiàng)所述的盤(pán)式存儲(chǔ)裝置,其特征在于,上述預(yù)讀起動(dòng)部把沿負(fù)方向依次讀出的多個(gè)預(yù)讀數(shù)據(jù)依次儲(chǔ)存在上述高速緩沖存儲(chǔ)器上的地址空間的負(fù)方向區(qū)。
7一種數(shù)據(jù)預(yù)讀方法,其特征在于包括基于作為從上位裝置收到的、讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息的讀命令,來(lái)檢測(cè)數(shù)據(jù)的預(yù)讀方向的連續(xù)性檢測(cè)步驟;基于上述讀命令、和由上述連續(xù)性檢測(cè)步驟所檢測(cè)的數(shù)據(jù)的預(yù)讀方向,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定步驟;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀區(qū)確定機(jī)構(gòu)所確定的進(jìn)行預(yù)讀的數(shù)據(jù),儲(chǔ)存在作為所預(yù)讀的數(shù)據(jù)的儲(chǔ)存區(qū)的高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)步驟。
8一種數(shù)據(jù)預(yù)讀方法,其特征在于包括基于作為從上位裝置收到的、讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息的讀命令,來(lái)檢測(cè)作為進(jìn)行預(yù)讀的數(shù)據(jù)的間隔的區(qū)間隔距離的連續(xù)性檢測(cè)步驟;基于上述讀命令、和由上述連續(xù)性檢測(cè)步驟所檢測(cè)的區(qū)間隔距離、以及由保存作為用來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀的規(guī)則的預(yù)讀規(guī)則保存機(jī)構(gòu)所保存的預(yù)讀規(guī)則,來(lái)確定用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則的預(yù)讀規(guī)則確定步驟;基于由上述預(yù)讀規(guī)則確定步驟所確定的用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定步驟;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀區(qū)確定步驟所確定的進(jìn)行預(yù)讀的上述盤(pán)式存儲(chǔ)媒體上的位置和尺寸的數(shù)據(jù),儲(chǔ)存在儲(chǔ)存所預(yù)讀的數(shù)據(jù)的高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)步驟。
9一種盤(pán)式存儲(chǔ)裝置,其特征在于包括基于作為從上位裝置收到的、讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息的讀命令,來(lái)檢測(cè)數(shù)據(jù)的預(yù)讀方向,和作為進(jìn)行預(yù)讀的數(shù)據(jù)的間隔的區(qū)間隔距離的連續(xù)性檢測(cè)步驟;基于上述讀命令,和由上述連續(xù)性檢測(cè)步驟所檢測(cè)的數(shù)據(jù)的預(yù)讀方向、區(qū)間隔距離,以及由保存作為用來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀的規(guī)則的預(yù)讀規(guī)則保存機(jī)構(gòu)所保存的預(yù)讀規(guī)則,來(lái)確定用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則的預(yù)讀規(guī)則確定步驟;基于由上述預(yù)讀規(guī)則確定步驟所確定的用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定步驟;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀區(qū)確定步驟所確定的進(jìn)行預(yù)讀的上述盤(pán)式存儲(chǔ)媒體上的位置和尺寸的數(shù)據(jù),儲(chǔ)存在作為所預(yù)讀的數(shù)據(jù)的儲(chǔ)存區(qū)的高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)步驟。
10根據(jù)權(quán)利要求8或9所述的數(shù)據(jù)預(yù)讀方法,其特征在于,上述預(yù)讀區(qū)確定步驟,在既是由上述預(yù)讀規(guī)則確定步驟所確定的預(yù)讀規(guī)則及其一個(gè)之前所運(yùn)用的預(yù)讀規(guī)則存在的場(chǎng)合,而且兩個(gè)預(yù)讀規(guī)則的預(yù)讀方向又一致的場(chǎng)合,并用兩個(gè)預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸。
11根據(jù)權(quán)利要求7至10中的任一項(xiàng)所述的數(shù)據(jù)預(yù)讀方法,其特征在于還包括用表示當(dāng)前正在向上位裝置發(fā)送的數(shù)據(jù)的上述高速緩沖存儲(chǔ)器上的位置的發(fā)送中地址,和表示將要儲(chǔ)存下次預(yù)讀的數(shù)據(jù)的上述高速緩沖存儲(chǔ)器上的位置的下次預(yù)讀數(shù)據(jù)儲(chǔ)存開(kāi)始地址,判斷為了使已經(jīng)向上位裝置送出的至少數(shù)塊數(shù)據(jù)殘留在高速緩沖存儲(chǔ)器上,是否進(jìn)行數(shù)據(jù)的預(yù)讀的預(yù)讀起動(dòng)判斷步驟。
12根據(jù)權(quán)利要求7、權(quán)利要求9至11中的任一項(xiàng)所述的數(shù)據(jù)預(yù)讀方法,其特征在于,上述預(yù)讀起動(dòng)步驟把沿負(fù)方向依次讀出的多個(gè)預(yù)讀數(shù)據(jù)依次儲(chǔ)存在上述高速緩沖存儲(chǔ)器上的地址空間的負(fù)方向區(qū)。
13一種記錄媒體,是計(jì)算機(jī)能夠讀取的記錄媒體,其特征在于,記錄用來(lái)在計(jì)算機(jī)上執(zhí)行以下數(shù)據(jù)預(yù)讀方法的程序,該數(shù)據(jù)預(yù)讀方法包括基于作為從上位裝置收到的、讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息的讀命令,來(lái)檢測(cè)數(shù)據(jù)的預(yù)讀方向的連續(xù)性檢測(cè)步驟;基于上述讀命令、和由上述連續(xù)性檢測(cè)步驟所檢測(cè)的數(shù)據(jù)的預(yù)讀方向,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定步驟;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀區(qū)確定機(jī)構(gòu)所確定的進(jìn)行預(yù)讀的數(shù)據(jù),儲(chǔ)存在作為所預(yù)讀的數(shù)據(jù)的儲(chǔ)存區(qū)的高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)步驟。
14一種記錄媒體,是計(jì)算機(jī)能夠讀取的記錄媒體,其特征在于,記錄用來(lái)在計(jì)算機(jī)上執(zhí)行以下數(shù)據(jù)預(yù)讀方法的程序,該數(shù)據(jù)預(yù)讀方法包括基于作為從上位裝置收到的、讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息的讀命令,來(lái)檢測(cè)作為進(jìn)行預(yù)讀的數(shù)據(jù)的間隔的區(qū)間隔距離的連續(xù)性檢測(cè)步驟;基于上述讀命令、和由上述連續(xù)性檢測(cè)步驟所檢測(cè)的區(qū)間隔距離、以及由保存作為用來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀的規(guī)則的預(yù)讀規(guī)則保存機(jī)構(gòu)所保存的預(yù)讀規(guī)則,來(lái)確定用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則的預(yù)讀規(guī)則確定步驟;基于由上述預(yù)讀規(guī)則確定步驟所確定的用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定步驟;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀區(qū)確定步驟所確定的進(jìn)行預(yù)讀的上述盤(pán)式存儲(chǔ)媒體上的位置和尺寸的數(shù)據(jù),儲(chǔ)存在儲(chǔ)存所預(yù)讀的數(shù)據(jù)的高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)步驟。
15一種記錄媒體,是計(jì)算機(jī)能夠讀取的記錄媒體,其特征在于,記錄用來(lái)在計(jì)算機(jī)上執(zhí)行以下數(shù)據(jù)預(yù)讀方法的程序,該數(shù)據(jù)預(yù)讀方法包括基于作為從上位裝置收到的、讀出記錄在盤(pán)式存儲(chǔ)媒體上的數(shù)據(jù)用的信息的讀命令,來(lái)檢測(cè)數(shù)據(jù)的預(yù)讀方向,和作為進(jìn)行預(yù)讀的數(shù)據(jù)的間隔的區(qū)間隔距離的連續(xù)性檢測(cè)步驟;基于上述讀命令,和由上述連續(xù)性檢測(cè)步驟所檢測(cè)的數(shù)據(jù)的預(yù)讀方向、區(qū)間隔距離,以及由保存作為用來(lái)進(jìn)行數(shù)據(jù)的預(yù)讀的規(guī)則的預(yù)讀規(guī)則保存機(jī)構(gòu)所保存的預(yù)讀規(guī)則,來(lái)確定用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則的預(yù)讀規(guī)則確定步驟;基于由上述預(yù)讀規(guī)則確定步驟所確定的用于數(shù)據(jù)的預(yù)讀的預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸的預(yù)讀區(qū)確定步驟;以及從盤(pán)式存儲(chǔ)媒體讀出由上述預(yù)讀區(qū)確定步驟所確定的進(jìn)行預(yù)讀的上述盤(pán)式存儲(chǔ)媒體上的位置和尺寸的數(shù)據(jù),儲(chǔ)存在作為所預(yù)讀的數(shù)據(jù)的儲(chǔ)存區(qū)的高速緩沖存儲(chǔ)器中的預(yù)讀起動(dòng)步驟。
16根據(jù)權(quán)利要求14或15所述的記錄媒體,其特征在于,記錄用來(lái)在計(jì)算機(jī)上執(zhí)行以下數(shù)據(jù)預(yù)讀方法的程序,在該方法中,上述預(yù)讀區(qū)確定步驟,在既是由上述預(yù)讀規(guī)則確定步驟所確定的預(yù)讀規(guī)則及其一個(gè)之前所運(yùn)用的預(yù)讀規(guī)則存在的場(chǎng)合,而且兩個(gè)預(yù)讀規(guī)則的預(yù)讀方向又一致的場(chǎng)合,并用兩個(gè)預(yù)讀規(guī)則,來(lái)確定進(jìn)行預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸。
17根據(jù)權(quán)利要求13至16中的任一項(xiàng)所述的記錄媒體,其特征在于,記錄用來(lái)在計(jì)算機(jī)上執(zhí)行以下數(shù)據(jù)預(yù)讀方法的程序,該數(shù)據(jù)預(yù)讀方法還包括用表示當(dāng)前正在向上位裝置發(fā)送的數(shù)據(jù)的上述高速緩沖存儲(chǔ)器上的位置的發(fā)送中地址,和表示將要儲(chǔ)存下次預(yù)讀的數(shù)據(jù)的上述高速緩沖存儲(chǔ)器上的位置的下次預(yù)讀數(shù)據(jù)儲(chǔ)存開(kāi)始地址,判斷為了使已經(jīng)向上位裝置送出的至少數(shù)塊數(shù)據(jù)殘留在高速緩沖存儲(chǔ)器上,是否進(jìn)行數(shù)據(jù)的預(yù)讀的預(yù)讀起動(dòng)判斷步驟。
18根據(jù)權(quán)利要求13、權(quán)利要求15至17中的任一項(xiàng)所述的記錄媒體,其特征在于,記錄用來(lái)在計(jì)算機(jī)上執(zhí)行以下數(shù)據(jù)預(yù)讀方法的程序,在該方法中,上述預(yù)讀起動(dòng)步驟把沿負(fù)方向依次讀出的多個(gè)預(yù)讀數(shù)據(jù)依次儲(chǔ)存在上述高速緩沖存儲(chǔ)器上的地址空間的負(fù)方向區(qū)。
全文摘要
基于剛才的讀命令中所訪問(wèn)的區(qū)和當(dāng)前的讀命令中所要求的區(qū),檢測(cè)訪問(wèn)的方向性和區(qū)之間的區(qū)間隔距離、區(qū)尺寸,用這些值來(lái)確定進(jìn)行數(shù)據(jù)的預(yù)讀的盤(pán)式存儲(chǔ)媒體上的位置和尺寸,由此可以對(duì)要求負(fù)方向,也就是地址減小的方向,或以一定間隔離散分布的數(shù)據(jù)的連續(xù)的讀命令高效地進(jìn)行數(shù)據(jù)的預(yù)讀。
文檔編號(hào)H04N5/907GK1366633SQ01800779
公開(kāi)日2002年8月28日 申請(qǐng)日期2001年3月30日 優(yōu)先權(quán)日2000年3月31日
發(fā)明者高市典昭 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社