專利名稱:帶有用于存儲數(shù)據(jù)的非易失性存儲器的存儲系統(tǒng)的制作方法
技術領域:
一般說來,本發(fā)明涉及數(shù)據(jù)存儲,確切地說,涉及可拆卸介質(zhì)的數(shù)據(jù)存儲單元中的數(shù)據(jù)存儲。
背景技術:
數(shù)據(jù)存儲介質(zhì)用于數(shù)據(jù)的存儲。數(shù)據(jù)存儲介質(zhì)的實例包括基于集成電路的存儲介質(zhì),比如磁阻隨機存取存儲器(MRAM)、動態(tài)隨機存取存儲器(DRAM)、靜態(tài)隨機存取存儲器(SRAM)、閃存、電擦除可編程只讀存儲器(EEPROM)、可擦除可編程只讀存儲器(EPROM)、只讀存儲器(ROM)、隨機存取存儲器(RAM)和可編程只讀存儲器(PROM)?;诜羌呻娐分橘|(zhì)的實例包括基于磁性的存儲介質(zhì),比如硬盤、磁帶和軟盤;基于光學的系統(tǒng),比如光盤(CD)和數(shù)字視頻盤(DVD);以及磁光介質(zhì)。以上闡述的基于非IC的存儲器類型本質(zhì)上是機械的,檢索所述數(shù)據(jù)時它們需要機械操作(如轉(zhuǎn)動磁盤、移動磁帶)。
典型情況下,基于IC的介質(zhì)的數(shù)據(jù)存取時間顯著快于基于非IC之介質(zhì)的數(shù)據(jù)存取時間。不過典型情況下,非IC介質(zhì)數(shù)據(jù)存儲的每位成本顯著低于基于IC之介質(zhì)的成本。所以典型情況下,基于非IC的介質(zhì)用作數(shù)據(jù)的“海量存儲”。
使用基于非IC之介質(zhì)的所述存取時間限制會降低使用所述介質(zhì)的系統(tǒng)的運行效率。對于使用基于非IC之介質(zhì)的系統(tǒng),有必要改進其運行效率。
不僅如此,對于可拆卸介質(zhì)的存儲單元,一旦可拆卸介質(zhì)被拆卸,典型情況下從所述可拆卸介質(zhì)存取數(shù)據(jù)所用的數(shù)據(jù)就不再永久地存儲在所述可拆卸介質(zhì)的數(shù)據(jù)存儲系統(tǒng)中。結果,再次插入所述可拆卸介質(zhì)時,就必須再次訪問這種信息。
附圖簡要說明參考附圖,本領域的技術人員可以更好地了解本發(fā)明,并使其眾多的目的、特征和優(yōu)點顯而易見。
圖1是一幅框圖,展示了根據(jù)本發(fā)明的數(shù)據(jù)存儲系統(tǒng)的一個實施例;圖2是一幅符號表達圖,顯示了現(xiàn)有技術中主列表的實施方案;圖3是一幅流程圖,顯示了根據(jù)本發(fā)明進行數(shù)據(jù)存取的數(shù)據(jù)存儲系統(tǒng)的一個實施例;圖4是一幅流程圖,顯示了數(shù)據(jù)存儲系統(tǒng)的一個實施例,它使用高速緩存來存儲信息設備發(fā)出的用戶數(shù)據(jù);圖5是一幅符號圖,顯示了根據(jù)本發(fā)明的一個實施例,對介質(zhì)進行優(yōu)化扇區(qū)檢索的方式;圖6是一幅流程圖,顯示了根據(jù)本發(fā)明的一個實施例,對介質(zhì)進行優(yōu)化扇區(qū)檢索;圖7是一幅符號表達圖,顯示了根據(jù)本發(fā)明的數(shù)據(jù)存儲系統(tǒng)的一個實施例,它使用基于非易失性IC的介質(zhì)來存儲用戶數(shù)據(jù);圖8是一幅符號表達圖,顯示了根據(jù)本發(fā)明的數(shù)據(jù)存儲系統(tǒng),它連同冗余磁盤陣列(RAID)系統(tǒng),使用基于非易失性IC的介質(zhì)來存儲用戶數(shù)據(jù);圖9是一幅符號表達圖,顯示了實施RAID的數(shù)據(jù)存儲系統(tǒng);圖10是一幅俯視圖,顯示了根據(jù)本發(fā)明的一個實施例中硬盤表面的扇區(qū)布局;圖11是一個實施例的示意圖,顯示了根據(jù)本發(fā)明的數(shù)據(jù)存儲系統(tǒng)中,基于非易失性IC的介質(zhì)中存儲的用戶數(shù)據(jù)塊的一部分;圖12是一幅流程圖,顯示了根據(jù)本發(fā)明的數(shù)據(jù)寫入訪問的一個圖13是一幅流程圖,顯示了根據(jù)本發(fā)明的數(shù)據(jù)寫入訪問的另一個實施例;圖14是一幅流程圖,顯示了根據(jù)本發(fā)明的數(shù)據(jù)讀取訪問的一個
具體實施例方式
下面闡述實施本發(fā)明之模式的詳細說明。本說明意在展示本發(fā)明,而不應當作為限制。
圖1是一幅框圖,展示了根據(jù)本發(fā)明的數(shù)據(jù)存儲系統(tǒng)。在所示實施例中,數(shù)據(jù)存儲系統(tǒng)110包括基于非IC的介質(zhì)112以及對介質(zhì)112進行數(shù)據(jù)存取所用的電路。數(shù)據(jù)存儲系統(tǒng)110通過I/O總線128,可操作地連接到信息設備141,以便從它那里接收要存儲在介質(zhì)112上的用戶數(shù)據(jù),以及向它提供從介質(zhì)112檢索到的用戶數(shù)據(jù)。用戶數(shù)據(jù)就是信息設備141所用的數(shù)據(jù)。用戶數(shù)據(jù)的實例可以包括可執(zhí)行的程序文件、數(shù)據(jù)塊文件、多媒體文件(比如音樂、視頻和圖片)、信息文件(比如字處理文檔或電子數(shù)據(jù)表)以及信息設備141的計算機操作員記錄。在一個實例中,信息設備141是個人計算機系統(tǒng),數(shù)據(jù)存儲系統(tǒng)110是所述計算機系統(tǒng)的計算機機箱(未顯示)中安裝的硬盤系統(tǒng)(往往被稱為硬盤驅(qū)動器)。在這樣一個實例中,總線128是遵從計算機總線標準的總線,比如IDE標準、增強IDE(E-IDE)標準或小型計算機系統(tǒng)接口(SCSI)標準。在其他實施例中,信息設備141可以是例如家庭媒體服務器、個人錄像機、有線或衛(wèi)星機頂盒、游戲機、投幣式自動電唱機、家庭保安系統(tǒng)、車載電子設備、個人數(shù)字助理(PDA)、尋呼機、手機、音頻播放機、家庭通信中心集線器以及數(shù)碼攝像機。在其他實施例中,信息設備可以是揚聲器、顯示器、耳機、話筒或者使用或提供數(shù)據(jù)存儲系統(tǒng)110中存儲之用戶數(shù)據(jù)的其他設備。
在所示實施例中,介質(zhì)112包括存儲用戶數(shù)據(jù)所用的硬盤。在其他實施例中,介質(zhì)112可以包括多臺硬盤或其他類型的存儲器,比如光盤、磁帶、磁光存儲設備或存儲數(shù)據(jù)所用的任何其他介質(zhì),或者以上列出之介質(zhì)類型的組合。
數(shù)據(jù)存儲系統(tǒng)110包括控制系統(tǒng)111??刂葡到y(tǒng)111包括處理器116,用于控制數(shù)據(jù)存儲系統(tǒng)110的運行。處理器116可操作地連接到總線128,以便向信息設備141提供用戶數(shù)據(jù)以及從其接收用戶數(shù)據(jù)。處理器116通過HEAD CONTROL信號線和放大器119,向磁頭傳動機構131提供磁頭控制信號,以便把讀/寫頭113移動到介質(zhì)112的恰當磁軌上進行數(shù)據(jù)存取。處理器116也通過MOTOR CONTROL線和放大器122,向主軸電機114提供電機控制信號,以便使電機114保持在恒定的速度。處理器116通過WRITE信號線和放大器120,向所述讀/寫頭113提供數(shù)據(jù),以便把所述數(shù)據(jù)寫入特定的扇區(qū)。處理器116通過READ線和放大器118,從所述讀/寫頭113接收數(shù)據(jù)??刂葡到y(tǒng)111包括程序存儲器124,用于存儲處理器116為了進行其操作而執(zhí)行的程序代碼。本領域的技術人員將會理解,數(shù)據(jù)存儲系統(tǒng)可以包括圖1中未顯示的其他常規(guī)電路和設備。同樣,其他類型的數(shù)據(jù)存儲系統(tǒng)也可以被配置為實施本文的內(nèi)容。
控制系統(tǒng)111包括非易失性存儲器126,它可操作地連接到處理器116。在一個實施例中,存儲器126實施在基于IC的存儲器中,比如MRAM。MRAM是非易失性存儲器,它以磁方式存儲數(shù)據(jù)。利用MRAM存儲器,所述MRAM中存儲的數(shù)據(jù)就可以在運行期間改變。利用某些MRAM,所述存儲器中的數(shù)據(jù)可以由不高于5.5伏的電壓來編程。大多數(shù)MRAM由低于2伏的電壓編程。所以,為控制系統(tǒng)111的電子組件提供電源所需的電壓可以用于對存儲器126編程。在一個實施例中,存儲器124和126實施在同一集成電路中。在其他實施例中,存儲器124和126實施在同一存儲器陣列中。在某些實施例中,在所述存儲系統(tǒng)的運行期間,可分配給所述程序存儲器124和存儲器126的部分可以改變。在另一個實施例中,所述主列表可以存儲在存儲器126中可變的位置。在一個實施例中,處理器116、程序存儲器124和存儲器126與控制系統(tǒng)111的其他電子器件(未顯示)一起實施在電路板(未顯示)上。
硬盤112所用的主列表127“非易失性地”存儲在存儲器126中。典型情況下,主列表包括存儲介質(zhì)112中存儲的每個文件的項。每個項都包括為該文件存儲第一塊的扇區(qū)在介質(zhì)112上的物理位置。
圖2是主列表和硬盤表面的上表面的一幅符號表達圖,展示了常規(guī)方式下數(shù)據(jù)如何存儲在硬盤上的實例。在圖2的實施例中,存儲在硬盤表面212上的文件分為三個用戶數(shù)據(jù)塊,標記為DATA A、DATAB和DATA C,分別存儲在硬盤表面212的扇區(qū)215、扇區(qū)216和扇區(qū)217。扇區(qū)塊206顯示了存儲在扇區(qū)215的數(shù)據(jù),扇區(qū)塊208顯示了存儲在扇區(qū)216的數(shù)據(jù),扇區(qū)塊210顯示了存儲在扇區(qū)217的數(shù)據(jù)。每個扇區(qū)塊(206、207和208)都包括一個頭部、存儲在該扇區(qū)的一個用戶數(shù)據(jù)塊(如扇區(qū)塊206包括塊DATA A)以及一個尾部,它包括存儲著所述文件用戶數(shù)據(jù)下一塊的扇區(qū)的物理位置。例如,扇區(qū)塊206的所述尾部包括存儲著塊DATA B的扇區(qū)216的物理位置。
為了檢索磁盤表面212上存儲的文件,數(shù)據(jù)存儲處理器(如116)首先訪問主列表205,以便獲得存儲著用戶數(shù)據(jù)的第一塊(DATA A)的扇區(qū)215的物理位置。然后,所述處理器訪問在扇區(qū)215的數(shù)據(jù),以便獲得在該位置的所述用戶數(shù)據(jù)以及扇區(qū)216(在那里存儲著用戶數(shù)據(jù)的下一塊(DATA B))的物理位置。扇區(qū)217的物理位置位于扇區(qū)塊208(它存儲在扇區(qū)216)的尾部區(qū)段中。文件尾(EOF)標記位于扇區(qū)塊210(它存儲在扇區(qū)217)的尾部區(qū)段中。所述EOF標記表面扇區(qū)塊210包括了所述文件中數(shù)據(jù)的最后部分。
在常規(guī)的硬盤系統(tǒng)中,所述主列表存儲在所述硬盤的一個扇區(qū)(或多個扇區(qū))中。為了存取一個文件,硬盤系統(tǒng)的所述處理器訪問所述硬盤上的所述主列表,以便獲得文件數(shù)據(jù)的第一個扇區(qū)塊的位置。把一個新文件寫入所述硬盤時,在所述主列表中創(chuàng)建一個新的項。所述新項包括存儲著所述文件中數(shù)據(jù)的第一塊的扇區(qū)的物理位置。
回頭參考圖1,因為數(shù)據(jù)存儲系統(tǒng)110的主列表127存儲在基于IC的非易失性存儲器中,所以訪問主列表127時不必訪問硬盤112,從而顯著地縮短了所述主列表的訪問時間。所以,由于對硬盤112的訪問至少減少了一次,就能夠縮短文件的訪問時間。另外,因為主列表127非易失性地存儲在存儲器126中,所以即使在緊急斷電的情況下,所述主列表也自動地是當前值。不僅如此,把新文件寫入磁盤所用的時間也縮短了,因為不必從硬盤112檢索所述主列表,然后再把帶有新文件所述項的主列表寫回硬盤112。
此外,典型情況下在硬盤系統(tǒng)中,所述主列表存儲在所述硬盤表面的一個扇區(qū)上。如果所述硬盤的所述扇區(qū)被破壞,那么整個數(shù)據(jù)存儲系統(tǒng)就不能使用了。對于某些基于非IC的存儲器(如硬盤系統(tǒng)或磁帶驅(qū)動器系統(tǒng)),基于非IC的存儲器中存儲的數(shù)據(jù)被破壞的可能性大于基于IC的存儲器(如MRAM存儲器)中存儲的數(shù)據(jù)被破壞的可能性。因此,使用這些更加可靠的存儲器可以使所述數(shù)據(jù)存儲系統(tǒng)更加可靠。另外,在某些實施例中,所述主列表的備份同樣可以存儲在硬盤上。對于這些實施例中的一部分,所述主列表的所述備份可以存儲在硬盤112的任何位置。同時,對于這些實施例,處理器116可以把所述備份主列表與原始列表進行對比以發(fā)現(xiàn)差錯。
圖3是一幅流程圖,顯示了根據(jù)本發(fā)明進行數(shù)據(jù)存取的一個實施例。處理器116通過執(zhí)行程序存儲器124中存儲的代碼,執(zhí)行圖3中的所述流程圖。在302中,處理器116從信息設備141接收訪問請求。在304中,處理器116判斷所述訪問是讀取訪問還是寫入訪問。如果所述訪問是讀取訪問,處理器116就在307中訪問存儲器126中的主列表127,以便發(fā)現(xiàn)存儲所請求的文件中數(shù)據(jù)的第一個扇區(qū)的位置。在310中,處理器116從硬盤112的所述扇區(qū)檢索所述文件。如果在304中判定了所述訪問是寫入訪問,處理器116就在306中進行所述寫入訪問并在308中更新主列表127。
在圖2的實例中,主列表205的每個項都包括在硬盤表面212上存儲著與該項相關聯(lián)的文件數(shù)據(jù)塊的第一個扇區(qū)在硬盤表面212上的物理位置。不過,在本發(fā)明的某些實施例中,所述主列表還可以為每個文件項包括其他的數(shù)據(jù)和/或附加數(shù)據(jù)。例如,參考圖5,在所述主列表中每個文件的項520都包括存儲著該文件數(shù)據(jù)塊的每個扇區(qū)的位置。參見下面對圖5的討論。
在其他實施例中,處理器116可以被配置為在存儲器126中存儲其他類型的系統(tǒng)數(shù)據(jù)。例如,存儲器126可以存儲指明介質(zhì)112上缺陷扇區(qū)的列表、介質(zhì)112上可用扇區(qū)的列表、指明缺陷扇區(qū)及所述缺陷扇區(qū)之替代扇區(qū)的列表(缺陷扇區(qū)替代列表)以及介質(zhì)112上受到復制保護的扇區(qū)和/或數(shù)據(jù)的列表。存儲器126也可以被配置為存儲著讀/寫通道參數(shù)比如磁頭增益,以及伺服參數(shù)比如轉(zhuǎn)矩常數(shù)。存儲器126還可以存儲其他類型的系統(tǒng)數(shù)據(jù),這取決于介質(zhì)112的介質(zhì)類型以及在介質(zhì)112中數(shù)據(jù)如何存儲。在基于IC的非易失性存儲器中存儲系統(tǒng)數(shù)據(jù),使得數(shù)據(jù)存儲系統(tǒng)的處理器能夠更快地訪問所述系統(tǒng)數(shù)據(jù),從而縮短了所述數(shù)據(jù)存儲系統(tǒng)對用戶數(shù)據(jù)的整體訪問時間。
非易失性存儲器126也可以用于存儲從信息設備141收到的用戶數(shù)據(jù)。采用存儲器126來存儲用戶數(shù)據(jù)可以改進所述數(shù)據(jù)存儲系統(tǒng)的性能、速度和/或效率。
圖4是處理數(shù)據(jù)存取所用的方法的流程圖,其中使用了存儲器126的一部分作為用戶數(shù)據(jù)的高速緩存。在圖4的實施例中,從信息設備141收到的用戶數(shù)據(jù)的文件存儲在存儲器126中。因此,如果后來有對所述文件的請求,就能夠向信息設備141提供在存儲器126中存儲的所述文件,其時間少于訪問介質(zhì)112來獲得所述時間的時間。
參考圖4,處理器116從信息設備141接收訪問請求。如果在414中所述訪問請求被判定為寫入請求,處理器116就在430中檢驗存儲器126是否已滿。如果存儲器126未滿,那么處理器116就在434中把收到的時間寫入存儲器126。如果在430中判定存儲器126已滿,那么處理器116就在432中執(zhí)行高速緩存清除算法,把當前存儲在存儲器126中的文件寫入介質(zhì)112,以便在存儲器126中為所述收到的數(shù)據(jù)產(chǎn)生空間。在434中,從信息設備141收到的所述數(shù)據(jù)被寫入存儲器126。在一個實例中,所述高速緩存清除算法包括把存儲器126中最早寫入的數(shù)據(jù)移到所述介質(zhì)112。在另一個實施例中,所述高速緩存清除算法包括去除最近最少使用的數(shù)據(jù)。另一個高速緩存清除算法可能是去除一個或若干文件,它(們)與要進行高速緩存的數(shù)據(jù)大小相同。本領域的技術人員將會理解,根據(jù)本文的內(nèi)容,其他的高速緩存清除算法也可以實施。
如果在414中,所述訪問被判定為讀取訪問,處理器116就在416中檢驗所請求的數(shù)據(jù)是否高速緩存在存儲器126中。如果發(fā)現(xiàn)所請求的數(shù)據(jù)在存儲器126中,那么就在422中從存儲器126檢索所請求的數(shù)據(jù),并提供給信息設備141。如果在416中判定沒有發(fā)現(xiàn)所請求的數(shù)據(jù)在存儲器126中,所述處理器就從介質(zhì)112檢索所請求的數(shù)據(jù)。
在另一個實施例中,處理器116會判定介質(zhì)112中存儲的文件在預定的時間內(nèi)已經(jīng)頻繁地被訪問,并會把該文件寫入存儲器126。因此,將會大幅度縮短把該文件提供給信息設備141所需的時間。
通過把用戶數(shù)據(jù)高速緩存在所述數(shù)據(jù)存儲系統(tǒng)的基于IC的存儲器中,就大幅度縮短了把該數(shù)據(jù)提供給信息設備的訪問時間。不僅如此,通過采用非易失性存儲器對所述數(shù)據(jù)進行高速緩存,即使在斷電的情況下存儲器126中存儲的所述數(shù)據(jù)也不會丟失。因此,如果有文件的副本存儲在介質(zhì)112中和存儲器126中,所述文件在存儲器126中的所述副本將是更新近的副本,從而不必判斷哪個副本是更近的副本。
不僅如此,采用存儲器126作為數(shù)據(jù)寫入的高速緩存使得數(shù)據(jù)存儲系統(tǒng)110在數(shù)據(jù)寫入后能夠更快地執(zhí)行后續(xù)的數(shù)據(jù)存取。對于某些常規(guī)的數(shù)據(jù)存儲系統(tǒng),在數(shù)據(jù)寫入后,在該數(shù)據(jù)寫入的所述數(shù)據(jù)寫入所述基于非IC的介質(zhì)(如硬盤)之后,數(shù)據(jù)存儲系統(tǒng)才能進行數(shù)據(jù)存取。不過,如果存儲器126的一部分用作所述數(shù)據(jù)寫入的緩沖區(qū),所述數(shù)據(jù)存儲系統(tǒng)110就能夠在所述數(shù)據(jù)寫入后立即執(zhí)行第二次數(shù)據(jù)存取,因為第一次數(shù)據(jù)寫入的所述數(shù)據(jù)立即寫入了所述基于IC的存儲器126。因為存儲器126是非易失性存儲器,即使對數(shù)據(jù)存儲系統(tǒng)110關斷了電源,所述用戶數(shù)據(jù)也將保持在存儲器126中。所以,在某些實施例中,不必倉促地把存儲器126中存儲的數(shù)據(jù)寫入存儲系統(tǒng)110,因此所述數(shù)據(jù)可以在信息設備141沒有訪問的期間寫入介質(zhì)112。
在其他實施例中,所述數(shù)據(jù)存儲系統(tǒng)會在存儲器126中對從信息設備141收到的許多數(shù)據(jù)文件進行高速緩存,處理器116會進行寫入猝發(fā),把所述文件一次寫入硬盤112。所以,所述硬盤系統(tǒng)110消耗的電力可以降低,因為多個文件的猝發(fā)寫入所需的電力可能小于對每個文件進行的多次單獨寫入所需的電力。
在一個實施例中,為了在圖4的流程圖中實施上述寫入緩沖區(qū)系統(tǒng),432中所用的高速緩存清除算法將被配置為確保在存儲器126中總是有數(shù)據(jù)寫入所用的足夠的可用緩沖區(qū)空間。因此,如果在414中判定了訪問是數(shù)據(jù)寫入,處理器116會立即把所述數(shù)據(jù)寫入存儲器126。
如果在包括可拆卸介質(zhì)(參見圖15的1512)的數(shù)據(jù)存儲系統(tǒng)中實施圖4的方法,響應拆卸所述介質(zhì)的請求,存儲器1526(參見圖15)中存儲的所述數(shù)據(jù)會寫入介質(zhì)1512。
參考圖5和圖6,響應信息設備141發(fā)出的讀取訪問請求而從介質(zhì)112檢索到的數(shù)據(jù)也可以在存儲器126中進行緩沖存儲,以便縮短所述讀取訪問所需的時間。參考圖5,用戶數(shù)據(jù)的文件519可以存儲在硬盤表面501的多個扇區(qū)(如531)中。在圖5的實例中,文件519包括6塊數(shù)據(jù)(521、522、523、524、525和526),每一塊都存儲在磁盤表面501的不同扇區(qū)中。例如,塊521存儲在磁盤表面501的扇區(qū)531中。
對于某些數(shù)據(jù)存儲系統(tǒng),所述數(shù)據(jù)塊可以存儲在磁盤表面的非連續(xù)扇區(qū)中,需要數(shù)據(jù)存儲系統(tǒng)的讀/寫頭(如113)在多個磁軌之間往返移動才能檢索所述數(shù)據(jù)。例如,扇區(qū)531(它存儲著文件519的第一個數(shù)據(jù)塊521)位于磁盤表面501的磁軌552中。扇區(qū)532(它存儲著第二個數(shù)據(jù)塊522)位于磁軌551中。扇區(qū)533(它存儲著第三個數(shù)據(jù)塊523)位于磁軌551中。常規(guī)情況下,為了檢索這個文件的所述數(shù)據(jù),將需要讀磁頭(如113)移動到磁軌552以檢索扇區(qū)531中存儲的第一個數(shù)據(jù)塊521,然后移動到磁軌551以檢索扇區(qū)532中存儲的第二個數(shù)據(jù)塊522,然后移動回到磁軌552以檢索扇區(qū)533中存儲的第三個數(shù)據(jù)塊523。結果,由于讀取訪問期間讀磁頭(如113)在磁軌之間的所述移動,在常規(guī)方式下所述檢索時間很長。
本發(fā)明的若干實施例施行不按次序的數(shù)據(jù)讀取,以便優(yōu)化數(shù)據(jù)檢索時間。在這些實施例中,數(shù)據(jù)可以按非順序的次序檢索并在存儲器126中進行緩沖存儲,然后在提供給信息設備141。參考圖5,在這些實施例中,主列表127的每個文件項(如520)都包括磁盤表面501上每個扇區(qū)(如531,它存儲著與所述文件項相關聯(lián)所述文件的數(shù)據(jù)塊)的位置。例如,主列表項520包括扇區(qū)531、532、533、534、535和536的各個位置L1、L2、L3、L4、L5和L6。在主列表的文件項中包括存儲著文件數(shù)據(jù)的每個扇區(qū)的位置在優(yōu)選情況下可以使系統(tǒng)能夠以非順序的次序檢索數(shù)據(jù)。因此縮短了檢索數(shù)據(jù)文件所需的時間。
圖6是一幅流程圖,顯示了實施不按次序數(shù)據(jù)檢索的數(shù)據(jù)存儲系統(tǒng)處理數(shù)據(jù)存取的方法的一個實施例。如果處理器116在603中從信息設備141收到一個文件的數(shù)據(jù)存取請求,并在605中判定所請求的訪問是讀取,處理器116就在607中訪問主列表127中與所請求的文件相關聯(lián)的所述項,以便檢索存儲著該文件中數(shù)據(jù)的扇區(qū)的位置。在這個實施例中,主列表127中的每個項都類似于圖5的項520,它們包含著存儲著與所述項相關聯(lián)的文件數(shù)據(jù)的每個扇區(qū)的位置。
在609中,處理器1 16對扇區(qū)(如531、532)的所述位置(如L1、L2)進行排序,以便確定在這些扇區(qū)中檢索所述數(shù)據(jù)的最優(yōu)路徑。確定最優(yōu)路徑所用的規(guī)則取決于數(shù)據(jù)存儲系統(tǒng)在檢索數(shù)據(jù)中的操作。例如,對于某些常規(guī)的硬盤系統(tǒng),從磁軌到磁軌移動所用的時間比在一條磁軌中移動到不同的扇區(qū)所用的時間長。所以,一種方案可能是檢索文件存儲在一條磁軌的若干扇區(qū)中的所有塊,再進至下一條磁軌。對于其他的常規(guī)硬盤系統(tǒng),在一條磁軌的扇區(qū)之間旋轉(zhuǎn)所需的時間超過從前一條磁軌移動至所需磁軌的時間。最優(yōu)路徑將據(jù)此確定。
確定最優(yōu)路徑中的另一個因素可能包括在收到所述讀取請求時,所述讀/寫頭(如113)在硬盤上的位置。確定最優(yōu)路徑中的另一個因素是數(shù)據(jù)存儲系統(tǒng)把所請求的數(shù)據(jù)傳遞給信息設備(如141)中的操作。在一個實施例中,優(yōu)化方案的一個目標是使從信息設備請求數(shù)據(jù)開始到向所述信息設備提供所請求的數(shù)據(jù)的總時間最短。
在圖5的實施例中,如果讀/寫頭113位于外部磁軌上,所述數(shù)據(jù)存儲系統(tǒng)會首先檢索磁軌551上的所述數(shù)據(jù)(如扇區(qū)532、534和535上的所述數(shù)據(jù)),然后檢索磁軌552上的所述數(shù)據(jù)(扇區(qū)531、536和533上的所述數(shù)據(jù))。在磁軌內(nèi)檢索數(shù)據(jù)的具體次序?qū)⑷Q于所述讀/寫頭進入所述磁軌時的位置。在一個實例中,最優(yōu)扇區(qū)檢索路徑可能是扇區(qū)532、534、535、531、536和533的次序。
回頭參考圖6,在609中確定了最優(yōu)檢索路徑之后,處理器116就在611中檢索所述路徑的第一個扇區(qū)中的所述數(shù)據(jù),并在613中把所述數(shù)據(jù)緩沖存儲在存儲器126中。對于上述檢索路徑,處理器116首先檢索扇區(qū)532中的數(shù)據(jù)塊522,并把數(shù)據(jù)塊522寫入存儲器126(參見圖5)。在615中,處理器116判斷存儲器126中的所述數(shù)據(jù)是否包括下一步要傳遞到信息設備141的數(shù)據(jù)塊。因為這時存儲器126僅僅包括第二個數(shù)據(jù)塊522而且因為第一個數(shù)據(jù)塊521尚未傳遞到信息設備141,處理器116就回到611以便從所述路徑的下一個扇區(qū)(扇區(qū)534)檢索所述數(shù)據(jù)(數(shù)據(jù)塊524),然后進至613以便把數(shù)據(jù)塊524寫入存儲器126。因為第一個數(shù)據(jù)塊521尚未檢索,處理器116就返回611,直至它從扇區(qū)531檢索到數(shù)據(jù)塊521。這時,數(shù)據(jù)塊521、522、524和525存儲在存儲器126中。所以在615中,處理器116判定要傳遞到信息設備141的下一個數(shù)據(jù)塊(521)位于存儲器126中。在627中,把數(shù)據(jù)塊521傳遞到信息設備141。然后,處理器116回到615,并判定要傳遞的下一個數(shù)據(jù)塊(數(shù)據(jù)塊522)緩沖存儲在存儲器126中,所以在627中傳遞數(shù)據(jù)塊522。因為這時要傳遞的下一個數(shù)據(jù)塊不在存儲器126中,處理器116就回到611以便從扇區(qū)536檢索下一個數(shù)據(jù)塊526并在613中把數(shù)據(jù)塊526寫入存儲器126。因為在615中數(shù)據(jù)塊523(要傳遞的下一個數(shù)據(jù)塊)不在存儲器126中,那么處理器116就回到611以便從扇區(qū)533檢索數(shù)據(jù)塊523。因為數(shù)據(jù)塊523現(xiàn)在在存儲器126中,那么處理器116就把數(shù)據(jù)塊523傳遞到信息設備141。因為其余的數(shù)據(jù)塊524、525和526也在存儲器126中,處理器116就繼續(xù)通過615和627進行循環(huán),依次把其余的數(shù)據(jù)塊傳遞到信息設備141。在615中,沒有更多的數(shù)據(jù)要傳遞時,處理器116就去往619,因為所述文件的所有數(shù)據(jù)塊都已經(jīng)檢索,所述操作就在623中結束。
在其他實施例中,數(shù)據(jù)存儲系統(tǒng)可以采用其他類型的不按次序的優(yōu)化檢索方法。例如,處理器116可以編程為檢索文件的第一個數(shù)據(jù)塊如521,然后對于存儲著第一個數(shù)據(jù)塊的扇區(qū),對位于同一磁軌上扇區(qū)中的所有數(shù)據(jù)塊進行緩沖存儲。然后所述處理器會去往存儲著要傳遞之下一個數(shù)據(jù)塊的扇區(qū)所在的磁軌(只要該數(shù)據(jù)塊不位于存儲著第一個數(shù)據(jù)塊的扇區(qū)所在的磁軌中),并且檢索和緩沖該磁軌的扇區(qū)中存儲的、該文件的所有數(shù)據(jù)塊。所以,按照這樣一種方案,讀/寫頭113會每次檢索一次地從磁軌檢索數(shù)據(jù)。同樣在其他實施例中,所述數(shù)據(jù)也可以緩沖存儲在另一種類型的存儲器中,比如DRAM或SRAM。
提供包括包含文件數(shù)據(jù)的所有扇區(qū)的位置的主列表,使得圖6的實施例中的數(shù)據(jù)存儲系統(tǒng)能夠?qū)嵤┎话创涡虻臋z索。因為所述處理器知曉所有文件的位置,所述處理器就不必依次檢索所述數(shù)據(jù)。在其他實施例中,所述主列表也可以存儲其他信息,以便指明存儲著文件數(shù)據(jù)的扇區(qū)的位置。例如,在某些實施例中,主列表中文件項的每個扇區(qū)位置字段可以包括連續(xù)數(shù)目字段,指明磁軌中從與所述扇區(qū)位置項相關聯(lián)的扇區(qū)開始連續(xù)扇區(qū)(它們包含著文件的連續(xù)數(shù)據(jù)塊)的數(shù)目。因此,數(shù)據(jù)存儲系統(tǒng)的處理器(如116)就能夠從所述主列表確定一組連續(xù)扇區(qū),它們包括了文件的數(shù)據(jù)塊。所以,對于磁軌上位于連續(xù)扇區(qū)中的一組連續(xù)次序的數(shù)據(jù)塊,這樣一個主列表對每條磁軌僅僅包含一個扇區(qū)位置字段。
在某些實施例中,從信息設備141收到的用戶數(shù)據(jù)能夠非易失性地存儲在存儲器126中,以便縮短數(shù)據(jù)檢索的時間以及/或者“有效地”增加所述基于非IC之存儲介質(zhì)的容量。
圖7是一幅符號表達圖,顯示的實施例采用存儲器126非易失性地存儲用戶數(shù)據(jù),以便縮短硬盤表面712上存儲的文件的檢索時間。在這個實施例中,存儲器126用于非易失性地存儲用戶數(shù)據(jù)的文件,要是所述文件完全存儲在硬盤表面712上,就會有相對長的檢索時間。例如,一個用戶數(shù)據(jù)的文件最初包括存儲在硬盤表面712上扇區(qū)A中的第一個數(shù)據(jù)塊DATA A,存儲在磁盤表面712上扇區(qū)B中的第二個數(shù)據(jù)塊DATA B以及存儲在磁盤表面712上扇區(qū)C中的第三個數(shù)據(jù)塊DATA C。包括所述三個數(shù)據(jù)塊DATA A、DATA B和DATA C的文件的檢索時間相對較短,因為所述數(shù)據(jù)塊存儲在三個連續(xù)次序的扇區(qū)A、B和C中。扇區(qū)塊706、708和710分別表示在扇區(qū)A、B和C中存儲的數(shù)據(jù)。
在包括DATA A、DATA B和DATA C的所述文件最初存儲在磁盤表面712上之后,信息設備141就向數(shù)據(jù)存儲系統(tǒng)110提供所述文件的修訂版。所述修訂版包括附加的數(shù)據(jù)塊DATA D(如扇區(qū)塊714所示)。因為沒有其他可用的扇區(qū)位于在磁盤表面712上與扇區(qū)A、B和C相同的磁軌上,所以在磁盤表面712上存儲DATA D會大幅度增加檢索所述文件的時間,因為檢索所述文件將包括所述讀磁頭在兩條不同的磁軌之間移動至少兩次。不過,在圖7的實施例中,扇區(qū)塊714存儲在存儲器126中,而扇區(qū)塊708的尾部表明存儲器126中存儲著數(shù)據(jù)塊DATA D的位置(LOC D)。扇區(qū)塊714的尾部表明扇區(qū)C在磁盤表面712上的位置(LOC C),其中存儲著數(shù)據(jù)塊DATA C。因為DATA D存儲在所述基于IC的存儲器126中,檢索所述修訂后文件(包括數(shù)據(jù)塊A、B、C和D)所需的時間與檢索所述原始文件(包括數(shù)據(jù)塊A、B和C)所需的時間大致相同。
為了提高數(shù)據(jù)檢索的速度或者提高介質(zhì)112的有效容量,可以以其他方式使用存儲器126來非易失性地存儲用戶數(shù)據(jù)。例如,假若用戶數(shù)據(jù)的文件長度為文件的最后一個數(shù)據(jù)塊只有幾個字節(jié),這幾個字節(jié)就可以存儲在存儲器126中,不再占用介質(zhì)112的一個整扇區(qū)。在一個實施例中,處理器116將編程為考慮介質(zhì)112的每個扇區(qū)價格和介質(zhì)126的每個字節(jié)價格。如果所述文件最后一個數(shù)據(jù)塊的字節(jié)數(shù)目足夠小,使得把所述數(shù)據(jù)存儲在存儲器126中的成本小于采用介質(zhì)112的一個整扇區(qū)的成本,那么處理器116就把最后一個數(shù)據(jù)塊存儲在存儲器126中。在另一個實施例中,如果僅有文件的一個中間數(shù)據(jù)塊被修訂使得它超過了存儲在扇區(qū)中的尺寸,所述修訂后數(shù)據(jù)塊超過所述扇區(qū)尺寸的部分就可以存儲在存儲器126中。
在其他實施例中,可以采用存儲器126來存儲否則要存儲在已經(jīng)確定為有缺陷的扇區(qū)中的數(shù)據(jù)。一個這樣的實例是對于實施冗余磁盤陣列(RAID)系統(tǒng)的數(shù)據(jù)存儲系統(tǒng)。圖9表示了實施RAID系統(tǒng)的硬盤系統(tǒng)的一部分。硬盤系統(tǒng)901包括904和905兩臺硬盤,硬盤904和905的兩側都存儲著信息。圖8顯示了硬盤904和905的每一側,其中硬盤表面807位于硬盤905的下側,硬盤表面808位于磁盤905的上側,硬盤表面809位于磁盤904的下側,硬盤表面810位于硬盤904的上側。
常規(guī)情況下對于RAID系統(tǒng),用戶數(shù)據(jù)存儲在位于多個硬盤表面的數(shù)據(jù)塊中。實施所述RAID系統(tǒng)的存儲系統(tǒng)的驅(qū)動電路并發(fā)地一起驅(qū)動所述表面中的每一個,使得與每個表面相關聯(lián)的所述讀/寫頭定位在所述表面中每一個上具有相同扇區(qū)位置的扇區(qū)上。對每個表面上具有相同扇區(qū)位置的每個扇區(qū)上的數(shù)據(jù)塊進行并行讀取以便獲得所述文件的數(shù)據(jù)。在多個磁盤表面上存儲數(shù)據(jù)的這種技術往往被稱為數(shù)據(jù)分段。
參考圖8和圖9,因為磁盤904和905同時移動到每個磁盤表面的相同扇區(qū)(如807),如果所述扇區(qū)之一有缺陷(如扇區(qū)822有缺陷,正如表面808上的“X”所指明),那么所有磁盤表面上該扇區(qū)位置的扇區(qū)(如821、822、823和824)都被視為不可用。結果,扇區(qū)位置上一個扇區(qū)中的缺陷就被放大了并行操作中磁盤表面的數(shù)目這么多倍。
在多個硬盤表面實施數(shù)據(jù)分段的系統(tǒng)(比如對于RAID系統(tǒng))的一個實施例中,如果磁盤表面的一個扇區(qū)被確定為有缺陷,原來要寫入該缺陷扇區(qū)的所述數(shù)據(jù)塊就轉(zhuǎn)而存儲在存儲器126中。其他的數(shù)據(jù)塊存儲在其他磁盤表面上具有系統(tǒng)扇區(qū)位置的其他扇區(qū)中,好像在該扇區(qū)位置沒有缺陷扇區(qū)。例如在圖8中,因為扇區(qū)822有缺陷,要寫入所述扇區(qū)的數(shù)據(jù)就轉(zhuǎn)而寫入存儲器126中,而所述數(shù)據(jù)分段的其他數(shù)據(jù)塊寫入扇區(qū)821、823和824(硬盤表面807、809和810上與扇區(qū)822具有相同扇區(qū)位置的扇區(qū))。通過采用存儲器126來存儲原來要寫入有缺陷扇區(qū)的數(shù)據(jù),所述有缺陷的扇區(qū)就不會使其他磁盤表面上具有該扇區(qū)位置的其他扇區(qū)變?yōu)椴豢捎谩?br>
在其他實施例中,在數(shù)據(jù)存儲系統(tǒng)中可以采用非易失性的基于IC的存儲器來增加數(shù)據(jù)存儲系統(tǒng)中基于非IC的介質(zhì)中存儲的數(shù)據(jù)量。參考圖10,對于常規(guī)的硬盤表面(如1010),數(shù)據(jù)存儲在位于磁軌(如磁軌18,它環(huán)繞著所述硬盤的盤心1020)上扇區(qū)分區(qū)(如扇區(qū)分區(qū)4)中的扇區(qū)(如1029)上。典型情況下,所述扇區(qū)位于扇區(qū)線(如1031和1032)之間,它們定義了所述扇區(qū)分區(qū)。在某些實施例中,伺服數(shù)據(jù)可以存儲在所述扇區(qū)線(如1031和1032)上。伺服數(shù)據(jù)的實例包括磁軌號、扇區(qū)號以及使讀/寫頭113在磁軌內(nèi)定位所用的模擬數(shù)據(jù)。常規(guī)情況下,每個扇區(qū)的尺寸都是為了保存標準尺寸的數(shù)據(jù)塊(如在一個實例中是512字節(jié))。對于某些實例,多個扇區(qū)可以位于扇區(qū)分區(qū)的磁軌中。
因為常規(guī)硬盤的所述扇區(qū)所在的磁軌對于所述盤心(如1020)每條都具有不同的半徑,所述磁軌的若干部分也許不可使用,因為磁軌在扇區(qū)分區(qū)中的磁盤表面空間小于存儲標準尺寸的數(shù)據(jù)塊所需的空間。例如,在磁軌23和22中扇區(qū)分區(qū)4(位于扇區(qū)線1031和1032之間)中的磁盤空間量就小于存儲標準尺寸的數(shù)據(jù)塊所需的空間量(如512字節(jié))。相對于圖10所示的情況,扇區(qū)分區(qū)4在磁軌23上的空間1012少了位于磁軌23中緊靠著扇區(qū)線1032右側的虛線所示的空間量1016。緊靠著扇區(qū)線1032右側的虛線所示的部分表示位于緊靠著扇區(qū)線1032左側的磁盤表面空間在存儲標準尺寸的數(shù)據(jù)塊時所不足的空間量。例如,部分1023表示磁軌20的空間1024在存儲標準尺寸的數(shù)據(jù)塊時所不足的磁盤空間量。所以,對于常規(guī)的系統(tǒng),這些空間將不會使用,造成了磁盤表面上存儲空間的浪費。
圖11表示根據(jù)本發(fā)明的某些實施例,存儲器126中存儲的數(shù)據(jù)的一部分。在本發(fā)明的某些實施例中,硬盤表面上可用存儲空間少于存儲標準尺寸的數(shù)據(jù)塊所需空間的部分可以用于存儲標準尺寸數(shù)據(jù)塊的一部分,標準尺寸數(shù)據(jù)塊的另一部分存儲在存儲器126中。例如,一個標準尺寸數(shù)據(jù)塊的一部分存儲在磁軌23的空間1012中(參見圖10)。所述標準尺寸數(shù)據(jù)塊的其余部分(其尺寸為圖10中的空間1016)存儲在存儲器126中位置1116處。對于其他部分存儲在硬盤表面1010的標準尺寸的數(shù)據(jù)塊,存儲器126也存儲著其余部分。例如,對于其他部分存儲在位置1011(參見圖10)的標準尺寸的數(shù)據(jù)塊,存儲器126的存儲器位置1115存儲著其余部分(其尺寸由部分1015表明)。
在某些實施例中,存儲器126中與表面1010上每個不足的空間相關聯(lián)的所述位置都為該空間所保留。例如,存儲器126的數(shù)據(jù)塊1130保留為存儲磁軌23上所有劃分的扇區(qū)的所有磁盤空間的所述不足部分。對于某些實施例,數(shù)據(jù)塊的第一部分將存儲在存儲器126中,其余部分將存儲在磁盤表面1010上。在一個實施例中,判斷是否使用存儲器126來存儲標準尺寸數(shù)據(jù)塊的一部分將取決于在存儲器126中存儲該部分的成本與使用所述硬盤上空間存儲其他部分的收益之比。
在圖10和圖11的實施例中為了檢索數(shù)據(jù)塊,處理器116將從所述磁盤空間(如1012)檢索所述數(shù)據(jù)的一部分,并且檢索存儲器126(如位置1116)中存儲的所述數(shù)據(jù)的另一部分。參見關于圖14的討論。處理器116會把所述部分合并,再把它們提供給信息設備141。因為所述數(shù)據(jù)的其余部分存儲在基于IC的存儲器(如126)中,對于包括所述其余部分的數(shù)據(jù)塊的檢索時間實質(zhì)上與整個存儲在硬盤扇區(qū)中的數(shù)據(jù)塊的檢索時間相同。所以,在基于IC的非易失性存儲器中存儲標準尺寸數(shù)據(jù)塊的一部分,優(yōu)選情況下可以更好地利用硬盤表面。
某些常規(guī)的硬盤系統(tǒng)被配置為扇區(qū)可以位于扇區(qū)線(如1031)的兩側。對于這些系統(tǒng),所述硬盤系統(tǒng)包括從跨越扇區(qū)線的扇區(qū)提取數(shù)據(jù)所用的程序代碼(如所述系統(tǒng)包括從所述扇區(qū)的所述用戶數(shù)據(jù)中去除所述扇區(qū)線中存儲的所述伺服數(shù)據(jù)所用的代碼)。采用存儲器126來存儲用戶數(shù)據(jù)的若干部分(正如圖10和圖11所示),可以使系統(tǒng)能夠被配置為沒有扇區(qū)跨越扇區(qū)線,因為扇區(qū)的其余部分存儲在存儲器126中。所以,對于這些實施例將不需要上述的程序代碼。
在某些實施例中,為了加速數(shù)據(jù)存儲系統(tǒng)110中存儲的用戶數(shù)據(jù)的文件的檢索時間,所述文件的一部分可以寫入所述基于IC的存儲器126進行非易失性的存儲,所述數(shù)據(jù)的其余部分存儲在基于非IC的介質(zhì)112中。對于這些實施例中的一部分,決定哪些數(shù)據(jù)寫入所述基于IC的存儲器(如126),哪些數(shù)據(jù)寫入所述基于非IC的介質(zhì)(如112)是取決于所述基于非IC的介質(zhì)中存儲的所述數(shù)據(jù)的所述檢索時間。對于這些實施例中的一部分,從所述數(shù)據(jù)存儲系統(tǒng)(如110)檢索所述文件時,需要縮短由所述信息設備(如141)所見的整體檢索時間。
圖12表明寫操作的一個實施例,用于根據(jù)本發(fā)明實施一個系統(tǒng),在基于IC的非易失性存儲器中非易失性地存儲用戶數(shù)據(jù)的文件的若干部分,以便加速所述文件的檢索時間。在圖12的實施例中,要寫入所述基于非IC的介質(zhì)112的下一個數(shù)據(jù)的前導部分寫入所述基于IC的存儲器126,以便縮短該數(shù)據(jù)的所述檢索時間。由所述數(shù)據(jù)存儲系統(tǒng)110的所述處理器116實施圖12的流程圖。
在1201中,從信息設備141收到寫入訪問請求之后,處理器116的響應是開始執(zhí)行圖12所述的方法。數(shù)據(jù)存儲系統(tǒng)110按數(shù)據(jù)塊存儲用戶數(shù)據(jù)的文件,在一個實施例中,每個數(shù)據(jù)塊都存儲在位于介質(zhì)112的磁盤表面上的扇區(qū)中。在一個實施例中,從存儲器126中存儲的未使用扇區(qū)列表(未顯示)獲得存儲文件所用的所述扇區(qū)。在其他實施例中,如果要寫入的所述文件是修訂版,第一個扇區(qū)就是存儲著前一個版本數(shù)據(jù)的第一個扇區(qū),正如主列表127所指明的。在1203中,扇區(qū)號(N)被設定為1,在1205中,第一個數(shù)據(jù)塊被寫入介質(zhì)112上的扇區(qū)1(從所述未使用扇區(qū)列表獲得的第一個扇區(qū))。
在1207中,處理器116確定從第一個扇區(qū)(N)到下一個扇區(qū)(N+1)的搜索時間。下一個扇區(qū)就是從所述未使用扇區(qū)列表獲得的下一個扇區(qū)(對于新文件)或者存儲著前一個版本的下一個數(shù)據(jù)塊的下一個扇區(qū)。所述搜索時間就是讀/寫頭113從第一個扇區(qū)(N)的末端行進到下一個扇區(qū)(N+1)所需的時間。在下一個扇區(qū)就是前一個扇區(qū)同一磁軌中下一個連續(xù)扇區(qū)的情況下(參見圖7的實例磁盤表面712,扇區(qū)A、B和C以連續(xù)次序在同一磁軌上),所述搜索時間相對較短。不過,如果下一個扇區(qū)(N+1)位于與前一個扇區(qū)(N)不同的磁軌上,那么所述搜索時間就會相對較長。
在1210中,處理器116確定要存儲在存儲器126中的數(shù)據(jù)的尺寸。要存儲在存儲器126中的數(shù)據(jù)的尺寸是根據(jù)所述數(shù)據(jù)過去寫入的扇區(qū)(N)與下一個扇區(qū)(N+1)之間的所述搜索時間。如果下一個扇區(qū)是前一個扇區(qū)磁軌中的下一個連續(xù)扇區(qū),處理器116就可以在1210中確定無須在存儲器126中存儲數(shù)據(jù),因為搜索時間相對較短。不過,如果所述搜索時間相對較長,處理器116就會在1210中確定要存儲在存儲器126中的數(shù)據(jù)量。
存儲器126中存儲的所述數(shù)據(jù)是要存儲在下一個扇區(qū)中的數(shù)據(jù)的前導部分。這種數(shù)據(jù)將包括下一個扇區(qū)的扇區(qū)塊的頭部,以及下一個扇區(qū)的用戶數(shù)據(jù)的前導部分。在1211中,把所述前導部分寫入存儲器126。在1213中,處理器116把一個標志寫入主列表127(或存儲器126的其他部分),指明下一個數(shù)據(jù)塊的前導部分位于存儲器126中。
在1215中,把數(shù)據(jù)寫入下一個扇區(qū)(N+1)。在一個實施例中,僅僅把用戶數(shù)據(jù)的下一個數(shù)據(jù)塊(寫入前一個扇區(qū)(N)的數(shù)據(jù)塊之后的數(shù)據(jù))的其余部分(未寫入存儲器126的部分)寫入下一個扇區(qū)(N+1)。因此,對于具有512字節(jié)的標準扇區(qū)塊尺寸的系統(tǒng),如果前62字節(jié)寫入了存儲器126,那么512字節(jié)數(shù)據(jù)塊的其余450字節(jié)將寫入下一個扇區(qū)(N+1)。在其他實施例中,文件的下一個標準扇區(qū)數(shù)據(jù)塊尺寸的數(shù)據(jù)將寫入下一個扇區(qū)(N+1)。例如,假若文件的62字節(jié)寫入了存儲器126,那么所述文件的下一個512字節(jié)將寫入下一個扇區(qū)(N+1)。在其他實施例中,下一個數(shù)據(jù)塊整個尺寸的、包括寫入存儲器126的數(shù)據(jù)前導部分的數(shù)據(jù)寫入下一個扇區(qū)(N+1)(如包括寫入存儲器126所述62字節(jié)數(shù)據(jù)的下一個512字節(jié)的數(shù)據(jù))。對于這個實施例,所述文件的整個副本存儲在介質(zhì)112中。在某些實施例中,寫入存儲器126的所述部分可以大于所述標準尺寸的數(shù)據(jù)塊(如512字節(jié))。在另外的實施例中,如果搜索時間大于預定的閾值,那么下一個標準尺寸數(shù)據(jù)塊(如50字節(jié)、100字節(jié)、512字節(jié)或1024字節(jié))就存儲在存儲器126中。在存儲在下一個扇區(qū)塊(N+1)的所述數(shù)據(jù)也存儲在存儲器126中的實施例中,在讀取訪問期間處理器116可以跳過扇區(qū)N+1的讀取,進至扇區(qū)N+2。
在1219中,對所述文件的所有數(shù)據(jù)是否已存儲在數(shù)據(jù)存儲系統(tǒng)110中進行判斷。如果是,那么就結束所述過程。如果不是,就在1221中使N增加到N+1,處理器116回到1207重復所述方法,直至存儲了文件的所有數(shù)據(jù)。對于圖12的實施例,在所述文件的數(shù)據(jù)存取期間,在所述讀/寫頭113移動到下一個扇區(qū)的同時,處理器116能夠把存儲器126中存儲的所述前導部分數(shù)據(jù)提供給信息設備141。
圖13表明寫操作的另一個實施例,用于根據(jù)本發(fā)明實施一個系統(tǒng),在數(shù)據(jù)存儲系統(tǒng)中基于IC的非易失性存儲器中存儲用戶數(shù)據(jù)的文件的若干部分,以便加速所述文件的檢索時間。圖13的實施例類似于圖12的實施例,只不過在圖13的實施例中,寫入所述基于非IC的介質(zhì)112上扇區(qū)的數(shù)據(jù)的尾隨部分寫入所述基于IC的存儲器126。在這個方法中,兩個扇區(qū)之間的搜索時間長時,在讀取第一個扇區(qū)中存儲的數(shù)據(jù)完成之前,所述讀/寫頭(如113)能夠從第一個扇區(qū)移動到下一個扇區(qū)。
在1301中,從信息設備141收到寫入請求以存儲用戶數(shù)據(jù)的文件之后,處理器116的響應是開始執(zhí)行圖13中所述的方法。在1303中,扇區(qū)號(N)被設定為1,在1304中,所述文件的第一個數(shù)據(jù)塊被寫入介質(zhì)112上的扇區(qū)N(介質(zhì)112上指定為存儲所述文件的第一個扇區(qū))。如果在1305中判定沒有到達文件結束標志(EOF),那么處理器116就在1307中確定介質(zhì)112上指定為存儲文件的下一個扇區(qū)(N+1)的位置。在1309中,處理器116計算從當前扇區(qū)(N)(在所述方法的這個循環(huán)期間是扇區(qū)1)到下一個扇區(qū)(N+1)的搜索時間。
在1310中,處理器116確定在1304中寫入當前扇區(qū)(N)的數(shù)據(jù)的尾隨部分(它要存儲在存儲器126中)的尺寸。所述尾隨部分就是要寫入扇區(qū)的數(shù)據(jù)的最后部分。在某些實施例中,所述尾隨部分包括下一個扇區(qū)的位置。要存儲在存儲器126中的所述尾隨部分的尺寸是根據(jù)所述當前扇區(qū)(N)與下一個扇區(qū)(N+1)之間的所述搜索時間。如果下一個扇區(qū)(N+1)是所述當前扇區(qū)(N)磁軌中的下一個連續(xù)扇區(qū),處理器116就可以在1310中確定無須在存儲器126中存儲數(shù)據(jù),因為搜索時間相對較短。不過,如果所述搜索時間相對較長,處理器116就會在1310中確定要存儲在存儲器126中的數(shù)據(jù)量。在某些實施例中,如果所述搜索時間達到特定的閾值,就在存儲器126中存儲標準尺寸的尾隨部分。在某些實施例中,如果對扇區(qū)N+1的所述搜索時間足夠長,寫入扇區(qū)N的整塊數(shù)據(jù)都將寫入存儲器126。在所述整個扇區(qū)塊都存儲在存儲器126中的實施例中,處理器116可以控制讀/寫頭113從扇區(qū)N-1跳到扇區(qū)N+1。
在1311中,具有1310中確定的尺寸的所述尾隨部分存儲在存儲器126中。在1314中,在主列表127中寫入對該扇區(qū)尾隨部分的標志。不過在某些實施例中,所述數(shù)據(jù)尾隨部分與所述特定尾隨部分屬于哪個扇區(qū)塊的標志一起順序地存儲在存儲器126中。因此,處理器116通過讀取存儲器126中存儲著所述尾隨部分的位置,就能夠確定存儲在存儲器126中的尾隨部分是哪些扇區(qū)塊的。在1315中,N增加1,處理器116回到1304重復所述過程。
在圖13的實施例中,文件的所有數(shù)據(jù)都寫入介質(zhì)112的扇區(qū),包括寫入了存儲器126的數(shù)據(jù)。不過,在其他實施例中,僅有文件中未寫入存儲器126的數(shù)據(jù)才寫入介質(zhì)112。
為了檢索由圖13的所述方法存儲的文件,如果處理器116判定扇區(qū)塊的尾隨部分存儲在存儲器126中,在未存儲在存儲器126中的扇區(qū)塊的所有數(shù)據(jù)都讀取之后,處理器116將在讀取存儲著所述扇區(qū)塊的所述扇區(qū)期間,使讀/寫頭113移動。然后處理器116把存儲器126中的所述尾隨部分與從介質(zhì)112的所述扇區(qū)讀取的所述數(shù)據(jù)合并,并把所述數(shù)據(jù)提供給信息設備141。因為扇區(qū)數(shù)據(jù)塊的所述尾隨部分存儲在存儲器126中,就能夠在存儲著所述扇區(qū)塊所述扇區(qū)的數(shù)據(jù)讀取完成之前,移動讀/寫頭113。從而縮短了在存儲系統(tǒng)110中檢索文件所需的時間。
對于其他實施例,文件的起始部分可以存儲在存儲器126中,所述文件的其余部分將存儲在介質(zhì)112中。所以,產(chǎn)生了對文件的請求時,處理器116就能夠向信息設備141通過所述文件的所述起始部分,同時移動讀/寫頭113以便檢索所述時間的其余部分。在一個實例中,文件的預定尺寸的所述起始部分(如100字節(jié)、100字節(jié)或20個數(shù)據(jù)塊)將存儲在存儲器126中。所述起始部分的所述尺寸將取決于數(shù)據(jù)存儲系統(tǒng)響應讀取請求時,要用多長時間從介質(zhì)112檢索數(shù)據(jù)。
圖14顯示了數(shù)據(jù)存儲系統(tǒng)110中存儲的數(shù)據(jù)的讀取訪問操作實施例。經(jīng)過若干修改之后,圖14中所述的方法能夠用于檢索介質(zhì)112和存儲器126二者中存儲的用戶數(shù)據(jù),例如本文中關于圖4、圖7、圖8、圖9、圖10、圖11、圖12和圖13所顯示和介紹的,以及與這些圖件相關聯(lián)的文字所介紹的,同樣也可以用于未在本文中明顯介紹的其他實施例。
在1400中,從信息設備141收到文件讀取請求之后,處理器116的響應是開始執(zhí)行圖14中所述的方法。在1403中,處理器116判斷是否有所述文件的任何數(shù)據(jù)存儲在存儲器126中。在某些實施例中,在主列表127中所述文件的項中會發(fā)現(xiàn)指明文件的數(shù)據(jù)是否存儲在存儲器126中的標志。在其他實施例中,存儲器126包括高速緩存在存儲器126中的文件的高速緩存列表,處理器116響應對文件的請求時會訪問它。如果在1403中確定沒有數(shù)據(jù)存儲在126中,那么就會從介質(zhì)1 12檢索所述文件。對于某些實施例,沒有指明文件的任何數(shù)據(jù)存儲在存儲器126中的一般標志。對于這些實施例,指明文件的數(shù)據(jù)是否存儲在存儲器126中的標志將一個扇區(qū)一個扇區(qū)地確定。參見例如圖7的實施例。
如果在1403中結果為是,處理器116就判斷是否文件的所有數(shù)據(jù)都存儲在存儲器126中。如果整個文件都存儲在存儲器126中,那么處理器116就在1406中從存儲器126檢索所述文件。參見例如圖4的實施例,其中文件的所有數(shù)據(jù)都可以高速緩存在存儲器126中。不過,對于不把整個文件存儲在存儲器126中的這些實施例,可以省略框1404和1406。
如果在1404中結果為否,處理器116就在1407中判斷是否用戶數(shù)據(jù)的第一塊中的任何數(shù)據(jù)存儲在存儲器126中。如果是,存儲器116就在1411中從存儲器126檢索所述數(shù)據(jù)塊的該部分,然后在1412中從介質(zhì)112的扇區(qū)檢索所述數(shù)據(jù)塊的另一部分(如果有的話)。在1413中,處理器116合并從存儲器126檢索的部分和從介質(zhì)112檢索的部分。如果所述合并后的數(shù)據(jù)塊不包含文件結束標志(EOF),那么處理器116就回到1407,直至獲得了所述數(shù)據(jù)的全部。如果在1407中的結果為否,處理器116就從介質(zhì)112中的扇區(qū)獲得所述數(shù)據(jù)。
本領域的技術人員將理解,根據(jù)本文的內(nèi)容,圖14中所述的數(shù)據(jù)檢索方法可以根據(jù)用戶數(shù)據(jù)如何存儲在介質(zhì)112和存儲器126二者中而進行修改。例如,參考圖7的實施例,根據(jù)扇區(qū)塊所述尾隨部分中的所述位置信息(如706),對為數(shù)據(jù)塊訪問存儲器126還是存儲器112作出判斷。在圖10和圖11的實施例中,同時在圖8和圖9的實施例中,根據(jù)介質(zhì)112中磁盤表面上的實際扇區(qū)位置,判斷是否訪問存儲器126。對于圖10和圖11的實施例,從介質(zhì)112檢索數(shù)據(jù)塊之程序的一部分會包括把所述扇區(qū)位置與扇區(qū)位置表(未顯示,它包括具有不足空間的所述扇區(qū)位置(如1012)以及存儲器126中存儲著這些扇區(qū)塊所述數(shù)據(jù)的所述其余部分的所述地址(如位置1116))進行對比。對于圖8和圖9的實施例,處理器116會訪問有缺陷扇區(qū)表,它包括存儲器126中存儲著每個有缺陷扇區(qū)所述數(shù)據(jù)塊的所述地址。這些表格可以存儲在存儲器126、程序存儲器124或者處理器116可訪問的其他存儲器(未顯示)中。
圖15是一幅框圖,顯示了根據(jù)本發(fā)明的可拆卸介質(zhì)數(shù)據(jù)存儲系統(tǒng)的實施例??刹鹦督橘|(zhì)數(shù)據(jù)存儲系統(tǒng)1515從可拆卸介質(zhì)1512(它插入所述數(shù)據(jù)存儲系統(tǒng))檢索(并且在某些實施例中寫入)用戶數(shù)據(jù),并且把所述用戶數(shù)據(jù)提供給信息設備1541(并且在某些實施例中從信息設備1541接收用戶數(shù)據(jù)以便存儲)。在一個實施例中,數(shù)據(jù)存儲系統(tǒng)1510是光盤(CD)驅(qū)動器,它或者僅僅能夠讀取,或者能夠讀/寫。在其他實施例中,數(shù)據(jù)存儲系統(tǒng)1510可以是如DVD播放機、便攜式CD播放機、CD ROM驅(qū)動器、磁帶驅(qū)動器、可拆卸軟盤驅(qū)動器、帶有可拆卸硬盤的系統(tǒng)或者能夠接收可拆卸介質(zhì)的任何其他存儲系統(tǒng)中的任何一種。一般說來可拆卸介質(zhì)是設計為能夠從所述可拆卸介質(zhì)數(shù)據(jù)存儲系統(tǒng)拆卸的任何介質(zhì)。在所示的實施例中,可拆卸介質(zhì)設計為從包括讀/寫頭1513和主軸電機1514的數(shù)據(jù)存儲系統(tǒng)1510拆卸,而另一件可拆卸介質(zhì)可以插入其位置。不過,在某些實施例中,所述可拆卸介質(zhì)可以包括圖15所示的其他電路(并且可與其拆卸),比如讀/寫頭或驅(qū)動電路(如主軸電機)。
在圖15所示的實施例中,數(shù)據(jù)存儲系統(tǒng)1510包括控制電路1511,用于控制存儲系統(tǒng)1510的操作??刂齐娐?511包括處理器1516和程序存儲器1524,它存儲著由處理器1516執(zhí)行的代碼??刂齐娐?511也包括基于IC的非易失性存儲器1526,以便存儲關于所示可拆卸介質(zhì)(如1512)的操作數(shù)據(jù)。在某些實施例中,存儲器1526實施為MRAM存儲器。在一個實施例中,控制電路1511實施為位于數(shù)據(jù)存儲系統(tǒng)1510的機箱(未顯示)中的電路板(未顯示)。在某些實施例中,存儲器1524和存儲器1526在同一存儲器陣列中實施。
在圖15的實施例中,存儲器1526包括表格1527,它對于每個可拆卸介質(zhì)都存儲著兩種類型的操作數(shù)據(jù),系統(tǒng)數(shù)據(jù)(存儲在系統(tǒng)數(shù)據(jù)字段1532中)和使用數(shù)據(jù)(存儲在使用數(shù)據(jù)字段1533中)。系統(tǒng)數(shù)據(jù)1532的實例包括主列表、有缺陷扇區(qū)列表、未使用扇區(qū)列表、有缺陷扇區(qū)替代列表、復制保護特性或者所述可拆卸介質(zhì)如1512的類型特定的其他類似類型的系統(tǒng)數(shù)據(jù)。在其他實施例中,存儲器1526可以被配置為對于可拆卸介質(zhì)僅僅存儲系統(tǒng)數(shù)據(jù)或使用數(shù)據(jù)之一。
使用數(shù)據(jù)是關于在所述數(shù)據(jù)存儲中介質(zhì)使用的信息。使用數(shù)據(jù)的實例包括如介質(zhì)已經(jīng)被訪問的次數(shù)、介質(zhì)上存儲的每個文件已經(jīng)被訪問的次數(shù)、介質(zhì)上的特定文件已經(jīng)被訪問的次數(shù)、所述介質(zhì)中被訪問的最后位置、任何介質(zhì)已經(jīng)被系統(tǒng)1510訪問的次數(shù)、請求所述文件的用戶、關于文件的錯誤檢驗和糾正數(shù)據(jù)以及安全數(shù)據(jù)。例如,對于DVD播放機,使用數(shù)據(jù)的一種類型會是在用戶關閉所述系統(tǒng)的前正在播放的、盤片上的最后位置。
在圖15的實施例中,表格1527被配置為存儲過去已經(jīng)插入數(shù)據(jù)存儲系統(tǒng)1510中的許多可拆卸介質(zhì)的、(字段1532中的)系統(tǒng)數(shù)據(jù)和(字段1533中的)使用數(shù)據(jù)。因此,如果特定的可拆卸介質(zhì)再次插入數(shù)據(jù)存儲系統(tǒng)1510中,處理器1516就能夠從表格1527訪問關于該介質(zhì)的操作數(shù)據(jù)。例如,假若數(shù)據(jù)存儲系統(tǒng)1510是DVD播放機,表格1527就可以用于存儲所述播放機播放的最后20片DVD的最后播放的位置。對于這樣的系統(tǒng),用戶可以在電影的特定點上停止播放并取出所述介質(zhì)。幾天之后,用戶可以再次插入所述介質(zhì),而處理器1516可以訪問字段1533的所述使用數(shù)據(jù),以便確定停止所述電影的最后位置。對于這樣的系統(tǒng),所述DVD播放機可以向所述用戶提供從最后停止的所述位置恢復播放的選項。
表格1527的每個項(如5142)都包括ID字段1531,它存儲著與所述項中所述數(shù)據(jù)相關聯(lián)之可拆卸介質(zhì)的標識標志。每個項也包括系統(tǒng)數(shù)據(jù)字段1532(如項1542的“A”所表示的)和使用數(shù)據(jù)字段(如項1542的“M”所表示的),前者存儲著與所述可拆卸介質(zhì)相關聯(lián)的系統(tǒng)數(shù)據(jù),后者存儲著與所述可拆卸介質(zhì)相關聯(lián)的使用數(shù)據(jù)。處理器1516使用所述ID字段1531來判斷介質(zhì)在過去是否已經(jīng)插入過系統(tǒng)1510。如果所述介質(zhì)已經(jīng)插入過,處理器1516就從與其ID相關聯(lián)的所述項為該可拆卸介質(zhì)檢索其操作數(shù)據(jù)。
數(shù)據(jù)存儲系統(tǒng)1510包括存取電路,用于對可拆卸介質(zhì)1512進行數(shù)據(jù)存取。在圖15的實施例中,所述存取電路包括讀/寫頭1513,用于從可拆卸介質(zhì)1512讀取數(shù)據(jù)以及向可拆卸介質(zhì)1512寫入數(shù)據(jù)(對于能夠?qū)懭胨隹刹鹦督橘|(zhì)的系統(tǒng))。讀/寫頭1513可操作地進行連接,以便把從介質(zhì)1512檢索到的數(shù)據(jù)通過READ信號線和放大器1518提供給處理器1516,以及通過WRITE信號線和放大器1520接收要寫入介質(zhì)1512的數(shù)據(jù)。處理器1516通過到傳動機構1530的HEADCONTROL信號線,控制著讀/寫頭1513的移動。處理器1516也利用通過MOTOR CONTROL線和放大器1522發(fā)送的信號,控制著所述主軸電機1514的旋轉(zhuǎn)。
圖16是一幅流程圖,顯示了與數(shù)據(jù)存儲系統(tǒng)1510使用可拆卸介質(zhì)所用的方法的一個實施例。處理器1516響應1603中指明可拆卸介質(zhì)(如1512)已經(jīng)插入的標志,在1605中從所述可拆卸介質(zhì)檢索標識標志(ID)。在一個實施例中,所述ID對所述具體的可拆卸介質(zhì)是全局唯一的。例如,假若系統(tǒng)1510為硬盤驅(qū)動器,每個可拆卸的硬盤都將包括唯一的序列號或所述介質(zhì)組的唯一號碼,比如批號。在其他實施例中,所述標識信息對于所述磁盤上存儲的所述用戶數(shù)據(jù)會是唯一的。例如在一個實施例中,所述ID可以是電影標題或音樂CD標題或音樂CD的UPC號碼。在其他實施例中,所述ID可以是用戶增加的號碼。
在1607中,處理器1516對比從所述插入的可拆卸介質(zhì)獲得的所述ID和字段1531中存儲的所述ID,以便確定表格1527是否包括與所述插入的可拆卸介質(zhì)相關聯(lián)的操作數(shù)據(jù)。如果在表格1527中找到了所述插入的可拆卸介質(zhì)的所述ID,處理器1516就在1609中檢索該項中存儲的所述操作數(shù)據(jù)。如果在表格1527中沒有找到所述ID,那么處理器1516就從所述插入的可拆卸介質(zhì)1512檢索任何操作數(shù)據(jù),比如主列表、有缺陷扇區(qū)以及未使用的文件。在一個實施例中,可以在可拆卸介質(zhì)的引導扇區(qū)上找到這種信息。
在1612中,處理器1516訪問表格1527以便確定在表格1527中是否有足夠的空間來存儲所述插入可拆卸介質(zhì)的所述操作數(shù)據(jù)。在一個實施例中,把表格1527的尺寸定為保持著已經(jīng)插入數(shù)據(jù)存儲系統(tǒng)1510的、預定數(shù)目之可拆卸介質(zhì)(如100)的所述操作數(shù)據(jù)。如果所述預定數(shù)目之可拆卸介質(zhì)的操作數(shù)據(jù)已經(jīng)存儲在存儲器1526的表格1527中,那么處理器1516就在1613中選擇表格1527中的表格項,以便蓋寫為所述插入的可拆卸介質(zhì)的所述ID和操作數(shù)據(jù)。在一個實施例中,處理器1516選擇已經(jīng)使用得最少之可拆卸介質(zhì)的所述表格項。在另一個實施例中,處理器1516蓋寫最近已經(jīng)使用得最少所述可拆卸介質(zhì)的所述表格項。在更多的其他實施例中,指定為蓋寫的所述表格項會根據(jù)多種準則而選擇,既包括可拆卸介質(zhì)的插入頻度,也包括其插入次序。在1613之后或者1612中的結果為是,處理器1516就在1614中把所述插入的介質(zhì)的所述ID和操作數(shù)據(jù)存儲在存儲器1526的表格1527中。
在1615中,數(shù)據(jù)存儲系統(tǒng)1510使用存儲在表格1527中的操作數(shù)據(jù)進行操作。在一個實施例中,所述操作數(shù)據(jù)包括主列表,處理器1516訪問它以便對所述插入的可拆卸介質(zhì)中存儲的文件進行數(shù)據(jù)存取。參見過去這種應用中關于圖1中數(shù)據(jù)存儲系統(tǒng)110實施例之主列表的討論。同樣,如同關于數(shù)據(jù)存儲系統(tǒng)110的所述討論,系統(tǒng)數(shù)據(jù)可以包括有缺陷扇區(qū)列表、未使用扇區(qū)列表、有缺陷扇區(qū)替代列表、復制保護特性或者所述處理器1516用于訪問所述插入的可拆卸介質(zhì)上用戶數(shù)據(jù)的任何其他數(shù)據(jù)。本領域的技術人員將會理解,根據(jù)本文的內(nèi)容,表格1527中存儲的系統(tǒng)數(shù)據(jù)的類型可以取決于用戶數(shù)據(jù)如何存儲在所述可拆卸介質(zhì)中。例如,對于存儲著歌曲的CD,所述主列表可以包括特定的歌曲存儲在哪條軌跡上。
在可拆卸介質(zhì)數(shù)據(jù)存儲系統(tǒng)的基于IC的非易失性存儲器中存儲系統(tǒng)數(shù)據(jù)的優(yōu)點在于,它可以使得所述數(shù)據(jù)存儲系統(tǒng)能夠更加快捷地從所述可拆卸介質(zhì)檢索數(shù)據(jù)。不僅如此,因為所述存儲器是非易失性的,多件可拆卸介質(zhì)所用的操作數(shù)據(jù)可以存儲在表格1527中,并且在關電之后的操作中仍然可用。因此,這樣一種系統(tǒng)可以具有的一種優(yōu)點在于,可以縮短訪問所述數(shù)據(jù)所需的時間,因為一旦處理器1516了解了所述可拆卸介質(zhì)的所述ID,處理器1516就可以從所述可拆卸介質(zhì)訪問用戶數(shù)據(jù),而不必加載所述可拆卸介質(zhì)的系統(tǒng)數(shù)據(jù)。
在存儲器1526中包括主列表可以具有的另一個優(yōu)點在于,它可以減少數(shù)據(jù)寫入時對所述可拆卸介質(zhì)的訪問次數(shù)。典型情況下,對于某些可寫的可拆卸介質(zhì),對所述可拆卸介質(zhì)的每一次寫入訪問都需要更新所述可拆卸介質(zhì)上的所述主列表。然而對于數(shù)據(jù)存儲系統(tǒng)1510的某些實施例,因為所述主列表可以存儲在存儲器1526中,介質(zhì)1512上存儲的所述主列表就不必在每次寫入時都更新。在一個實施例中,只有在可拆卸介質(zhì)1512從系統(tǒng)1510中拆卸時,才更新介質(zhì)1512上的所述主列表。
在1616中,處理器1516在數(shù)據(jù)存儲系統(tǒng)1510的所述操作期間產(chǎn)生操作數(shù)據(jù),并且把該數(shù)據(jù)存儲在存儲器1526的表格1527中。例如,處理器1516可以在所述可拆卸介質(zhì)的所述表格項(如1524)的所述使用字段1533中,存儲關于介質(zhì)1512上存儲的文件(如歌曲、電影、可執(zhí)行文件)的訪問次數(shù)。在一個實施例中,可以應信息設備1541的請求而提供這種信息。在另一個實施例中,所述操作數(shù)據(jù)可以用于把訪問最多的文件從介質(zhì)1512高速緩存進存儲器1526中,以便縮短向信息設備1541提供該文件的訪問時間。在1616中產(chǎn)生的其他類型的使用數(shù)據(jù)包括所述文件已經(jīng)使用的次數(shù)。
當在1617中確定把介質(zhì)1512從數(shù)據(jù)存儲系統(tǒng)1510拆卸時,處理器1516就在表格1527中存儲關于可拆卸介質(zhì)1512的使用結束的操作數(shù)據(jù)。在一個實施例中,數(shù)據(jù)存儲系統(tǒng)1510包括傳感器(未顯示),用于探測插入的可拆卸介質(zhì)(如1512)何時從數(shù)據(jù)存儲系統(tǒng)1510拆卸。這種使用結束操作數(shù)據(jù)的實例包括所訪問的最后文件、所訪問的最后時間、所述文件被訪問的事實以及所述可拆卸介質(zhì)被插入、所述系統(tǒng)的使用時間、訪問所述數(shù)據(jù)的用戶等事實。
本領域的技術人員將會理解,根據(jù)本文的內(nèi)容,使用存儲器1526的方法可以類似于本文中介紹的關于存儲器126的使用方法。例如參考圖4,存儲器1526可以用于高速緩存可拆卸介質(zhì)1512中存儲的最近訪問的或最經(jīng)常訪問的文件。因此,就可以大大縮短該文件所用的所述訪問時間,因為不必訪問介質(zhì)1512來檢索常用的文件。此外,如果對介質(zhì)1512寫入,那么對介質(zhì)1512的所述寫入也可以高速緩存在存儲器1526中,從而允許緊隨其后的數(shù)據(jù)存取。在這些實施例中,如果有拆卸所述介質(zhì)的請求,那么在拆卸之前,在存儲器1526中尚未寫入介質(zhì)1512中的所有數(shù)據(jù)都可以寫入介質(zhì)1512中。
不僅如此,關于可拆卸介質(zhì)數(shù)據(jù)存儲系統(tǒng)1510的所述實施例所介紹的特征也可以由數(shù)據(jù)存儲系統(tǒng)110的實施例實施。例如數(shù)據(jù)存儲系統(tǒng)110可以被配置為在存儲器126中存儲使用數(shù)據(jù)。例如,數(shù)據(jù)存儲系統(tǒng)110可以被配置為存儲介質(zhì)112中存儲的文件被訪問和/或被修改的次數(shù)。
雖然已經(jīng)顯示和介紹了本發(fā)明的若干具體實施例,但是本領域的技術人員將會理解,根據(jù)本文的內(nèi)容,可以作出進一步的改變和修改而不脫離本發(fā)明及其更廣泛的方面,因此所附帶的權利要求書將把本發(fā)明真正的實質(zhì)和范圍內(nèi)所有這些改變和修改納入其范圍內(nèi)。
權利要求
1.一種硬盤系統(tǒng),包括硬盤,被配置為存儲用戶數(shù)據(jù),其中主列表被配置為標識與所述用戶數(shù)據(jù)的文件相關聯(lián)的至少一個數(shù)據(jù)塊的物理位置;以及基于集成電路的非易失性存儲器,所述基于集成電路的非易失性存儲器被配置為存儲與所述硬盤相關聯(lián)的所述主列表。
2.根據(jù)權利要求1的硬盤系統(tǒng),其中所述基于集成電路的非易失性存儲器進一步包括磁阻隨機存取存儲器(MRAM)。
3.根據(jù)權利要求1的硬盤系統(tǒng),其中所述主列表包括扇區(qū)的物理位置,所述扇區(qū)存儲用戶數(shù)據(jù)的文件的第一個排序的數(shù)據(jù)塊。
4.一種實施硬盤系統(tǒng)的方法,包括把硬盤配置為存儲用戶數(shù)據(jù),至少一個用戶數(shù)據(jù)塊存儲在所述硬盤內(nèi)由主列表所標識的物理位置;以及把與所述硬盤相關聯(lián)的所述主列表存儲在所述硬盤系統(tǒng)的基于集成電路的非易失性存儲器中。
5.根據(jù)權利要求4的方法,進一步包括非易失性存儲器(NVM)需要具有不高于5.5伏特的幅度的編程電壓。
6.一種存儲系統(tǒng),包括基于非集成電路的介質(zhì),被配置為為所述存儲系統(tǒng)存儲用戶數(shù)據(jù),其中系統(tǒng)數(shù)據(jù)可配置為標識與所存儲的用戶數(shù)據(jù)的文件相關聯(lián)的至少一個數(shù)據(jù)塊的物理位置;以及基于集成電路的非易失性存儲器,所述基于集成電路的非易失性存儲器可配置為存儲與所述基于非集成電路的介質(zhì)相關聯(lián)的所述系統(tǒng)數(shù)據(jù)。
7.根據(jù)權利要求6的存儲系統(tǒng),其中所述系統(tǒng)數(shù)據(jù)包括包含所述位置的標識的主列表。
8.根據(jù)權利要求6的存儲系統(tǒng),其中基于非集成電路的介質(zhì)進一步包括硬盤、基于光學的介質(zhì)、磁帶或磁光存儲設備中的至少一種。
9.一種系統(tǒng),包括處理器;以及存儲器陣列,可操作地連接到所述處理器,用于非易失性地存儲程序數(shù)據(jù)和用戶數(shù)據(jù),其中所述程序數(shù)據(jù)和用戶數(shù)據(jù)可以利用具有不高于5.5伏特的幅度的編程電壓進行編程。
10.根據(jù)權利要求9的系統(tǒng),其中所述存儲器陣列進一步包括磁阻隨機存取存儲器(MRAM)。
11.一種數(shù)據(jù)存儲系統(tǒng),包括輸入端,被配置為從信息源接收用戶數(shù)據(jù);基于非集成電路的存儲介質(zhì),被配置為存儲用戶數(shù)據(jù);以及基于集成電路的非易失性存儲器(NVM),所述非易失性存儲器被配置為也存儲用戶數(shù)據(jù)。
12.根據(jù)權利要求11的數(shù)據(jù)存儲系統(tǒng),其中至少一些由所述基于非集成電路的存儲介質(zhì)存儲的所述用戶數(shù)據(jù)以由所述基于集成電路的非易失性存儲器(NVM)存儲的所述用戶數(shù)據(jù)為冗余。
13.根據(jù)權利要求11的數(shù)據(jù)存儲系統(tǒng),其中對所述基于集成電路的非易失性存儲器(NVM)進行編程需要具有不高于5.5伏特的幅度的編程電壓。
14.根據(jù)權利要求11的數(shù)據(jù)存儲系統(tǒng),其中所述基于集成電路的介質(zhì)包括磁阻隨機存取存儲器(MRAM)。
15.一種數(shù)據(jù)存儲系統(tǒng),包括基于非集成電路的存儲介質(zhì),被配置為存儲用戶數(shù)據(jù);處理器,可操作地連接到所述基于非集成電路的存儲介質(zhì);以及基于集成電路的非易失性存儲器(NVM),可操作地連接到所述處理器,所述非易失性存儲器被配置為也存儲用戶數(shù)據(jù)。
16.一種數(shù)據(jù)存儲方法,包括從信息源接收用戶數(shù)據(jù);在基于非集成電路的存儲介質(zhì)中存儲所述用戶數(shù)據(jù)的一部分;以及在基于集成電路的非易失性存儲器(NVM)中存儲所述用戶數(shù)據(jù)的其他部分。
17.根據(jù)權利要求16的方法,其中所述其他部分的至少一部分存儲在所述基于非集成電路的存儲介質(zhì)中。
18.根據(jù)權利要求16的方法,其中所述用戶數(shù)據(jù)的起始部分存儲在所述基于集成電路的非易失性存儲器中,所述用戶數(shù)據(jù)的其余部分存儲在所述基于非集成電路的存儲介質(zhì)中。
19.一種可拆卸介質(zhì)存儲系統(tǒng),包括存取電路,用于在可拆卸介質(zhì)連接到所述可拆卸介質(zhì)存儲系統(tǒng)時,從所述可拆卸介質(zhì)讀取用戶數(shù)據(jù);以及基于集成電路的非易失性存儲器,所述基于集成電路的非易失性存儲器被配置為存儲操作數(shù)據(jù),所述操作數(shù)據(jù)與已經(jīng)連接到所述可拆卸介質(zhì)存儲系統(tǒng)的所述可拆卸介質(zhì)相關聯(lián)。
20.根據(jù)權利要求19的可拆卸介質(zhì)存儲系統(tǒng),其中所述基于集成電路的非易失性存儲器包括磁阻隨機存取存儲器(MRAM)。
21.根據(jù)權利要求19的可拆卸介質(zhì)存儲系統(tǒng),其中所述基于集成電路的非易失性存儲器包括具有不高于5.5伏特的幅度的編程電壓的半導體存儲器。
22.根據(jù)權利要求19的可拆卸介質(zhì)存儲系統(tǒng),其中所述操作數(shù)據(jù)進一步包括使用數(shù)據(jù)。
23.根據(jù)權利要求22的可拆卸介質(zhì)存儲系統(tǒng),其中所述使用數(shù)據(jù)進一步包括描述所述可拆卸介質(zhì)存儲系統(tǒng)訪問所述可拆卸介質(zhì)的次數(shù)的信息。
24.根據(jù)權利要求22的可拆卸介質(zhì)存儲系統(tǒng),其中所述使用數(shù)據(jù)進一步包括所述可拆卸介質(zhì)上最后訪問的位置。
25.根據(jù)權利要求22的可拆卸介質(zhì)存儲系統(tǒng),其中所述基于集成電路的非易失性存儲器被配置為存儲操作數(shù)據(jù),它們與多個可拆卸介質(zhì)相關聯(lián);以及所述基于集成電路的非易失性存儲器被配置為存儲唯一標識符,用于標識所述多個可拆卸介質(zhì)中的每一個。
26.一種在可拆卸介質(zhì)存儲系統(tǒng)中存儲信息的方法,包括在可拆卸介質(zhì)連接到所述可拆卸介質(zhì)存儲系統(tǒng)時從所述可拆卸介質(zhì)讀取用戶數(shù)據(jù);以及在所述可拆卸介質(zhì)存儲系統(tǒng)的基于集成電路的非易失性存儲器中存儲與所述可拆卸介質(zhì)相關聯(lián)的操作數(shù)據(jù)。
27.根據(jù)權利要求26的方法,進一步包括在所述基于集成電路的非易失性存儲器中保持所述操作數(shù)據(jù),用于所述可拆卸介質(zhì)存儲系統(tǒng)的電源關斷之后的后續(xù)使用。
28.根據(jù)權利要求26的方法,進一步包括在所述基于集成電路的非易失性存儲器中保持所述操作數(shù)據(jù),用于所述可拆卸介質(zhì)從所述可拆卸介質(zhì)存儲系統(tǒng)拆卸之后的后續(xù)使用。
29.根據(jù)權利要求26的方法,其中所述基于集成電路的非易失性存儲器進一步包括磁阻隨機存取存儲器(MRAM)。
30.一種可拆卸介質(zhì)存儲系統(tǒng),包括可拆卸介質(zhì)存取電路,所述可拆卸介質(zhì)存取電路被配置為在可拆卸介質(zhì)連接到所述可拆卸介質(zhì)存儲系統(tǒng)時從所述可拆卸介質(zhì)讀取用戶信息,以便存取所述可拆卸介質(zhì)上的用戶數(shù)據(jù);以及基于集成電路的非易失性存儲器,所述基于集成電路的非易失性存儲器存儲與已經(jīng)連接到所述系統(tǒng)的可拆卸介質(zhì)相關聯(lián)的操作數(shù)據(jù)。
31.根據(jù)權利要求30的可拆卸介質(zhì)存儲系統(tǒng),其中所述基于集成電路的非易失性存儲器是磁阻隨機存取存儲器(MRAM),其中存儲著介質(zhì)標識號,用于與和所述可拆卸介質(zhì)相關聯(lián)的標識符進行可能的匹配。
全文摘要
公開了帶有用于存儲數(shù)據(jù)的非易失性存儲器的存儲系統(tǒng)。數(shù)據(jù)存儲系統(tǒng)(110)使用基于集成電路的非易失性存儲器(126)存儲數(shù)據(jù)。在某些實例中,所述基于集成電路的非易失性存儲器是磁阻隨機存取存儲器(MRAM)(126)。在所述數(shù)據(jù)存儲系統(tǒng)(110)包括硬盤的某些實例中,所述基于集成電路的非易失性存儲器能夠用于存儲系統(tǒng)數(shù)據(jù),比如所述硬盤的主列表(127)。在其他實例中,所述基于集成電路的非易失性存儲器可以實施在可拆卸介質(zhì)存儲系統(tǒng)(1510)中,以便存儲與可拆卸介質(zhì)相關聯(lián)的操作數(shù)據(jù)。在其他實例中,所述基于集成電路的非易失性存儲器可以用于存儲用戶數(shù)據(jù)。
文檔編號G11B20/12GK1679107SQ03820613
公開日2005年10月5日 申請日期2003年8月1日 優(yōu)先權日2002年8月29日
發(fā)明者羅納德·W.·施藤斯, 約翰·P.·漢森, 戴維·A.·海納 申請人:飛思卡爾半導體公司