專利名稱:文件碎片的存儲器存儲的制作方法
技術領域:
本發明大體上涉及文件碎片(file fragment)的存儲器存儲。
背景技術:
存儲在硬盤驅動器上的物理文件不一定在磁盤驅動器上是連續的(即使用戶典 型地不知道它)。實際上,物理文件常常在磁盤驅動器上分成文件碎片。這樣的文件碎片增 加從磁盤訪問的不確定性,并且可引起錯過等時期限(isochronous deadline)。這可以導 致例如屏幕閃爍或砰的聲音等不期望的結果。操作系統(OS)的文件系統負責文件到硬盤 驅動器上的具體扇區的分配。文件系統的改變可以引起出現多個文件碎片。樣本文件和它 的存儲碎片(fragmentation)在下文示出File 2303\Windows\System32\LogFiles\Scm\SCM. EVM$STANDARD_INF0RMATION(resident)$FILE_NAME(resident)$DATA(nonresident)logical sectors 11004712-11004775(0xa7eb28-0xa7eb67)logical sectors 11045440-11045567 (0xa88a40-0xa88abf)logical sectors 27538272-27538527(0xla43360_0xla4345f)logical scctors 26954584-26955095(0xl9b4b58_0xl9b4d57)如果訪問這樣的碎片化的文件,文件中的每個碎片意味著必須執行磁盤尋道 (disk seek)。一旦尋道完成,數據可從磁盤傳送。嚴重碎片化的系統影響用戶的響應時間。 因此,在許多使用Windows操作系統的系統中,例如存在需要時不時手動調用“DEFRAG”應 用程序(utility)以便清理該碎片化的文件。文件碎片可以導致額外的尋道事件并且還導 致磁盤驅動器的額外旋轉。因此,出現減少與在磁盤驅動器上的文件碎片關聯的負延遲的 需要。
本發明將通過下文給出的詳細說明和本發明的一些實施例的附圖更完全地理解, 然而該實施例不應該用以限制本發明到描述的具體實施例,而僅用于說明和理解。圖1圖示根據本發明的一些實施例的磁盤驅動器。圖2圖示根據本發明的一些實施例的系統。
具體實施例方式本發明的一些實施例涉及文件碎片的存儲器存儲。在一些實施例中磁盤驅動器文件碎片的開始部分存儲在存儲器中,并且磁盤驅動 器文件碎片的開始部分從存儲器訪問(例如,響應于從磁盤驅動器訪問文件碎片的磁盤訪問請求)。在一些實施例中,物品包括在其上具有指令的計算機可讀介質,該指令當執行時 使計算機存儲磁盤驅動器文件碎片的開始部分在存儲器中,以及從該存儲器訪問磁盤驅動 器文件碎片的開始部分。在一些實施例中,存儲器將存儲磁盤驅動器文件碎片的開始部分,并且處理器將 從該存儲器訪問磁盤驅動器文件碎片的開始部分。圖1示出根據一些實施例的磁盤驅動器100。在一些實施例中,磁盤驅動器100具 有采用三個文件碎片102、104和106存儲在其上的文件。圖1圖示碎片102、104和106,如 碎片102、104和106布局在磁盤100上。箭頭108圖示磁盤在磁盤訪問活動期間旋轉的方 向。碎片102、104和106中的每個代表構成一部分文件的一部分磁盤軌道。該文件將按照 從碎片102,然后碎片104和然后碎片106的順序訪問。在碎片102的開始,磁盤尋道是必 須的以尋找碎片。然后當訪問碎片102完成時,因為與移動磁盤磁頭關聯的時延,磁盤100 不能開始訪問和傳送碎片104。這要求磁盤100旋轉直到碎片104的開始在磁盤磁頭下面。 相似地,從碎片104移動訪問到碎片106要求磁盤100的全程旋轉。在文件碎片102、104和 106必須訪問的碎片化的文件情況下,由于要求磁頭移動,需要三個尋道和三個全程旋轉以 完成訪問整個碎片化文件的任務。圖2圖示根據一些實施例的系統200。在一些實施例中,系統200包括磁盤驅動器 202、控制器204和存儲器206。在一些實施例中,存儲器206是非易失性存儲器,例如閃存。 在一些實施例中,存儲器206是在包括控制器204的平臺上提供的非易失性存儲器。在一 些實施例中控制器204存儲磁盤驅動器202上出現的一些或所有碎片的開始部分。當控制 器204等待磁盤驅動器202開始訪問文件碎片時,控制器204可以訪問存儲器206以獲得 對該文件碎片的開始部分的訪問。在一些實施例中存儲在存儲器206中的文件碎片的開始 部分足夠大使得一旦該開始部分由控制器204從存儲器206訪問則然后磁盤驅動器202準 備好向控制器204提供文件碎片的剩余部分(如果有的話)。在一些實施例中,存儲器206可以伴隨對文件存儲碎片的了解而被使用以獲得順 利的磁盤訪問并且滿足所有等時要求。如果每個碎片的開始部分存儲(或高速緩存)在存 儲器206中并且該開始部分是足夠大的部分,等待額外旋轉的需要可以減小和/或排除并 且用戶的需要被更好地滿足。在一些實施例中,對于碎片(和/或對于在磁盤驅動器上的每個碎片)應用下列 方程
nxS >h 在上文的方程中,η是存儲在存儲器(或高速緩存)中的扇區數,S是每個扇區 的字節數(該數量通常是512),、-是對于該磁盤估計的尋道時間(這應該包括包含時 延所需要的任何磁盤旋轉時間),bdisk是磁盤的數據帶寬,并且bis。。h是期望的等時速率 (isochronous rate)。對該方程解n,得到下列
例如,對于當前磁盤驅動器的典型參數,解該方程,其中S = 512,tseek = 0. 015+0. 01 秒(尋道時間加一個旋轉),bdisk = 50MB/sec, bisoch = 2. 5MB/sec (20Mbit/sec 等同于高清晰度電視),獲得η的大約大于或等于133. 6個扇區的值。因此,在一些實施例 中,包含所有磁盤存儲碎片的數據速率要求可通過存儲(或高速緩存)每個文件碎片的開 始的134個扇區來滿足。在一些實施例中,注意到對于短于η(或在該情況下短于134)的 文件碎片,應該存儲(或高速緩存)整個文件碎片。在一些實施例中,這樣的整個存儲(或 高速緩存)的文件碎片可從下一個文件碎片的存儲(或高速緩存)要求中扣除。在一些實 施例中,如果文件的第一碎片采用該方式存儲(或高速緩存),益處包括例如更快的應用程 序啟動。在一些實施例中,可獲得更好的等時體驗。在音頻和視頻中的假信號(glitch)可 最小化或消除,并且使用典型的個人計算機(PC)部件可以實現相似于消費電子(CE)裝置 的用戶體驗。本文已經描述一些實施例,如使用控制器實現的。注意到在一些實施例中控制器 可以是處理器(例如,計算機的中央處理單元或CPU或一些其他處理器)。例如,在一些實 施例中,實現可包括在芯片組內的控制器(和/或處理器)。在一些實施例中,控制器的實 現可包括驅動器軟件。一些實施例可包括采用硬件、軟件和/或固件實現的控制器。盡管一些實施例已經關于特定實現來描述,根據一些實施例,其他實現是可能的。 另外,在附圖中圖示的和/或本文描述的電路元件或其他特征的設置和/或順序不必采用 圖示和描述的特定方式設置。根據一些實施例,許多其他的設置是可能的。在圖中示出的每個系統中,在一些情況下的元件可各自具有相同的標號或不同的 標號以表明代表的元件可以是不同的和/或相似的。然而,元件可足夠靈活以具有不同的 實現并且與本文示出或描述的系統中的一些或所有一起工作。圖中示出的各種元件可以是 相同或不同的。哪一個稱為第一元件并且哪個叫做第二元件是隨意的。在該說明和權利要求中,可使用術語“耦合”和“連接”連同它們的派生詞。應該 理解這些術語不意指彼此的同義詞。相反,在特定實施例中,“連接”可用于指示兩個或多個 元件彼此直接物理或電接觸。“耦合”可意味著兩個或多個元件直接物理或電接觸。然而, “耦合”還可意味著兩個或多個元件不彼此直接接觸,但仍然彼此合作或相互作用。算法在這里并且一般認為是通向期望結果的動作或運算的自洽順序。這些包括物 理量的物理操作。通常,盡管不是必須的,這些量采用能夠存儲、傳送、組合、比較和另外操 作的電或磁信號的形式。已經證明將這些信號當作比特、值、要素、符號、字符、項目、數字或 其類似的有時(主要因為常用)是方便的。然而,應該理解所有這些和相似的術語將與適 當的物理量關聯并且僅是應用于這些量的方便的標記。一些實施例可采用硬件、固件和軟件中的一個或組合來實現。一些實施例還可實 現為存儲在機器可讀介質上的指令,其可由計算平臺讀取和執行以進行本文描述的運算。 機器可讀介質可包括用于存儲或發送采用可由機器(例如,計算機)讀取的形式的信息的 任何機構。例如,機器可讀介質可包括只讀存儲器(ROM);隨機存取存儲器(RAM);磁盤存儲介質;光存儲介質;閃存裝置;傳播的信號(例如,載波、紅外線信號、數字信號、發送和/或 接收信號的接口,等等)的電、光、聲或其他形式,以及其他的。實施例是本發明的實現或示例。在說明書中對“實施例”、“一個實施例”、“一些實 施例”或“其他實施例”的引用意味著關于這些實施例描述的特定特征、結構或特性包括在 本發明至少一些實施例中,但不是必須包括在本發明的所有實施例。各種出現“實施例”、 “一個實施例”或“一些實施例”不是必須所有都指相同的實施例。本文描述和圖示的并非所有部件、特征、結構、特性等必須包括在特定實施例或多 個實施例中。如果說明書記載部件、特征、結構或特性“可”、“可以”、“可能”或“能夠”被包 括,例如特定部件、特征、結構或特性不要求被包括。如果說明書或權利要求書引用“一”或 “一個”元件,其不意味著僅有一個該元件。如果說明書或權利要求書引用“另外的”元件, 其不排除有超過一個該另外的元件。盡管在本文中流程圖和/或狀態圖可已經用于描述實施例,本發明不限于本文中 的那些圖或對應的說明。例如,流程不須要移動通過每個圖示的框或狀態或按如本文圖示 和描述的完全相同的順序。本發明不限于本文列出的特定細節。實際上,得益于本公開的本領域內那些技術 人員將意識到來自前面的說明和圖的許多其他變化形式可在本發明的范圍內做出。因此, 下列權利要求包括任何對其的修改,其限定本發明的范圍。
權利要求
一種方法,包括在存儲器中存儲磁盤驅動器文件碎片的開始部分;以及從所述存儲器訪問所述磁盤驅動器文件碎片的所述開始部分。
2.如權利要求1所述的方法,還包括在從所述存儲器訪問所述磁盤驅動器文件碎片 的所述開始部分后,然后從磁盤驅動器訪問所述磁盤驅動器文件碎片的剩余部分。
3.如權利要求1所述的方法,還包括根據磁盤特性和要求的等時數據速率計算所述 開始部分的尺寸以避免所述數據的等時問題。
4.如權利要求1所述的方法,還包括對磁盤驅動器上的多個文件碎片中的每個,在所 述存儲器中存儲該磁盤驅動器文件碎片的開始部分。
5.如權利要求1所述的方法,其中進行所述訪問且同時等待從磁盤驅動器訪問所述磁 盤驅動器文件碎片的剩余部分。
6.如權利要求1所述的方法,其中如果整個磁盤驅動器文件碎片的尺寸小于一定尺 寸,所述開始部分是整個磁盤驅動器文件碎片。
7.如權利要求1所述的方法,其中如果整個磁盤驅動器文件碎片的尺寸小于維持等時 性能的計算的扇區數,所述開始部分是整個磁盤驅動器文件碎片。
8.如權利要求3所述的方法,其中如果整個磁盤驅動器文件碎片的尺寸小于所述計算 的尺寸,所述開始部分是整個磁盤驅動器文件碎片。
9.一種物品,包括在其上具有指令的計算機可讀介質,所述指令當執行時使計算機在存儲器中存儲磁盤驅動器文件碎片的開始部分;以及從所述存儲器訪問所述磁盤驅動器文件碎片的所述開始部分。
10.如權利要求9所述的物品,所述計算機可讀介質在其上還具有指令,其當執行時使 計算機在從所述存儲器訪問所述磁盤驅動器文件碎片的所述開始部分后,然后從磁盤驅動器 訪問所述磁盤驅動器文件碎片的剩余部分。
11.如權利要求9所述的物品,所述計算機可讀介質在其上還具有指令,其當執行時使 計算機根據磁盤特性和要求的等時數據速率計算所述開始部分的尺寸以避免所述數據的 等時問題。
12.如權利要求9所述的物品,所述計算機可讀介質在其上還具有指令,其當執行時使 計算機對磁盤驅動器上的多個文件碎片中的每個在所述存儲器中存儲該磁盤驅動器文件 碎片的開始部分。
13.如權利要求9所述的物品,其中進行所述訪問且同時等待從磁盤驅動器訪問所述 磁盤驅動器文件碎片的剩余部分。
14.如權利要求9所述的物品,其中如果整個磁盤驅動器文件碎片的尺寸小于一定尺 寸,所述開始部分是整個磁盤驅動器文件碎片。
15.如權利要求9所述的物品,其中如果整個磁盤驅動器文件碎片的尺寸小于維持等 時性能的計算的扇區數,所述開始部分是整個磁盤驅動器文件碎片。
16.如權利要求11所述的物品,其中如果整個磁盤驅動器文件碎片的尺寸小于所述計 算的尺寸,所述開始部分是整個磁盤驅動器文件碎片。
17.一種設備,包括存儲器,用于存儲磁盤驅動器文件碎片的開始部分;以及控制器,用于從所述存儲器訪問所述磁盤驅動器文件碎片的所述開始部分。
18.如權利要求17所述的設備,所述控制器還在從所述存儲器訪問所述磁盤驅動器文 件碎片的所述開始部分后從磁盤驅動器訪問所述磁盤驅動器文件碎片的剩余部分。
19.如權利要求17所述的設備,所述控制器還根據磁盤特性和要求的等時數據速率計 算所述開始部分的尺寸以避免所述數據的等時問題。
20.如權利要求17所述的設備,所述存儲器還對磁盤驅動器上的多個文件碎片中的每 個存儲該磁盤驅動器文件碎片的開始部分。
21.如權利要求17所述的設備,所述控制器從所述存儲器訪問所述開始部分且同時等 待從磁盤驅動器訪問所述磁盤驅動器文件碎片的剩余部分。
22.如權利要求17所述的設備,其中如果整個磁盤驅動器文件碎片的尺寸小于一定尺 寸,所述開始部分是整個磁盤驅動器文件碎片。
23.如權利要求17所述的設備,其中如果整個磁盤驅動器文件碎片的尺寸小于維持等 時性能的計算的扇區數,所述開始部分是整個磁盤驅動器文件碎片。
24.如權利要求19所述的設備,其中如果整個磁盤驅動器文件碎片的尺寸小于所述計 算的尺寸,所述開始部分是整個磁盤驅動器文件碎片。
全文摘要
在一些實施例中,磁盤驅動器文件碎片的開始部分存儲在存儲器中,并且磁盤驅動器文件碎片的開始部分從存儲器訪問。描述了并且要求保護其他實施例。
文檔編號G11B21/02GK101911195SQ200880123997
公開日2010年12月8日 申請日期2008年12月1日 優先權日2007年12月31日
發明者D·居內曼, G·欣頓, R·S·特特里克 申請人:英特爾公司