專利名稱:磁盤裝置以及控制該裝置的方法
技術領域:
本發(fā)明的一個實施例涉及具有用于高速緩存寫入命令的高速緩沖存 儲器的磁盤裝置,以及控制這種磁盤裝置的方法。
背景技術:
近年來已經研發(fā)了各種磁盤裝置,每種裝置包括高速緩沖存儲器以提高存取速JL(參見例如日本專利申請公開說明書No6-309234第0002 - 0005 段)。高速緩沖存儲器是一種高速緩沖存儲設備,其臨時存儲在主計算機 與磁盤裝置之間交換的數(shù)據(jù)。其存儲記錄在磁盤上的數(shù)據(jù)的復本。經常使 用的高速緩沖存儲器是諸如SRAM或者DRAM之類的高速半導體存儲 器。在具有高速緩沖存儲器的磁盤裝置中,當主計算機向磁盤裝置發(fā)出寫 入訪問請求時,將寫入命令和數(shù)據(jù)臨時存儲在該高速緩沖存儲器(寫入高 速緩沖存儲器)中。該高速緩沖存儲器能夠寄存(排隊)許多命令。但是 高速緩沖存儲器能夠寄存的命令數(shù)量是有限的。因此,必須將存儲在該高 速緩沖存儲器中的寫入命令寫入磁盤上(寫入刷新(write flush ))。在大 多數(shù)情況下,當主計算機發(fā)出寫AJP'J新請求時將該數(shù)據(jù)寫入該盤上??蛇x 的是,即使主計算機還沒有發(fā)出寫入刷新請求,該磁盤裝置也可以確定數(shù) 據(jù)處理多么繁忙,以及在該數(shù)據(jù)處理不繁忙時可以在盤上寫入的高速緩沖 存儲器的內容。如果在磁盤裝置中這樣使用高速緩沖存儲器,則為了訪問該磁盤裝置 所實施的機械驅動的次數(shù)就將降低。這實際上能夠大大提高訪問該磁盤裝 置的表觀速率。然而,必須實施機械驅動以完成寫入刷新。因此,不能像 希望的那樣縮短訪問該磁盤裝置所需的時間。寫入刷新一個寫入命令大約需要幾十毫秒。 發(fā)明內容本發(fā)明的目的是提供一種能夠在短時間內實施寫入刷新的磁盤裝置 以及控制這種磁盤裝置的方法。根據(jù)本發(fā)明的一個實施例, 一種磁盤裝置包括磁盤;非易失性存儲 器;易失性存儲器,其配置為存儲主系統(tǒng)提供的寫入命令以及伴隨改命令 的數(shù)據(jù);以及第一刷新控制單元,其配置為根據(jù)在磁盤上寫入伴隨寫命令 的數(shù)據(jù)所需的時間將寫入命令分成第一命令組和第二命令組,將伴隨笫一 命令組的數(shù)據(jù)寫入磁盤,以及將第二命令組和伴隨第二命令組的數(shù)據(jù)寫入 非易失性存儲器。根據(jù)本發(fā)明的另一個實施例, 一種用于磁盤裝置的控制方法,該磁盤 裝置包括磁盤、非易失性存儲器和易失性存儲器,該易失性存儲器配置為 存儲主系統(tǒng)提供的寫入命令以及伴隨該命令的數(shù)據(jù),該方法包括根據(jù)在 磁盤上寫入伴隨所述命令的數(shù)據(jù)所需的時間,將所述寫入命令分成第一命 令組和笫二命令組;以及將伴隨第一命令組的數(shù)據(jù)寫入磁盤,以及將第二 命令組和伴隨第二命令組的數(shù)據(jù)寫入非易失性存儲器。
引入說明書并且構成說明書的一部分的附圖示出了本發(fā)明的實施例, 并且連同以上給出的 一般性說明和以下給出的對實施例的具體說明用于 闡述本發(fā)明的原理。圖1是表示根據(jù)本發(fā)明實施例的磁盤裝置的配置的示例性方框圖; 圖2A、 2B、 2C和2D是解釋制定命令隊列表格的順序的圖表; 圖3是解釋制定命令隊列表格的步驟的順序的示例性流程圖; 圖4是解釋選擇要利用命令隊列表格寫A^,J新數(shù)據(jù)的介質的順序的示 例性流程圖;以及圖5是概括寫入刷新的示例性圖表。
具體實施方式
下文中參照附圖描述根據(jù)本發(fā)明的各個實施例。
一般而言,根據(jù)本發(fā)明的一個實施例,磁盤裝置包括磁盤;非易失性存儲器;易失性存儲器, 配置為存儲主系統(tǒng)提供的寫入命令和伴隨該命令的數(shù)據(jù);以及第一刷新控 制單元,配置為根據(jù)在磁盤上寫入伴隨所述命令的數(shù)據(jù)所需的時間將所述 寫入命令分成第一命令組和第二命令組,將伴隨第一命令組的數(shù)據(jù)寫入磁 盤,以及將第二命令組和伴隨第二命令組的數(shù)據(jù)寫入非易失性存儲器。圖1示出了才艮據(jù)本發(fā)明第一實施例的^l盤驅動器的配置的示例性方框 圖。如圖1所示,該硬盤驅動器(虛線圍成的框)通過例如ATA (IDE) 總線18與主系統(tǒng)17相連。該硬盤驅動器可以為包含在主系統(tǒng)(即個人計 算機)的殼體中的類型,或者可以為設置在該主系統(tǒng)17的殼體外的類型。在該硬盤驅動器中,CPU 1按照分時(time-division)方式控制電動 機驅動器6以及該硬盤驅動器的一些其它部件。該硬盤驅動器具有磁盤9。 例如,該盤9的上側為記錄表面,其上能夠磁性地記錄數(shù)據(jù)。設置磁頭13, 使其面對磁盤9的記錄表面。該磁頭13用于在磁盤9上寫入(記錄)數(shù)據(jù) 以及從磁盤9讀取(再現(xiàn))數(shù)據(jù)。該磁盤13的下側(未示出)為另一記錄 表面。設置與磁頭13類似的磁頭(未示出),使其面對另一記錄表面。假 設如圖1所示,該盤驅動器僅具有一個盤9。然而,其可以具有相互疊放 的多個盤。電動機驅動器6向主軸電動機(SPM) 8和音圈電動機(VCM) 7提 供電流,以驅動這些電動機7和8。該主軸電動機8以恒定速度旋轉該磁 盤9。該音圏電動機7用于將磁頭13移動到磁盤9的目標磁道上的位置。CPU 1包括快閃存儲器(未示出)和RAM (也未示出)。該快閃存儲 器是一種可編程非易失性存儲器,其存儲了 CPU1可能執(zhí)行的控制程序。 RAM的一部分存儲區(qū)域用作工作區(qū)域。CPU總線12與CPU1相連。ROM 11、 RAM 10、盤控制器(HDC) 3、門陣列2和快閃存儲器30連接到該CPU總線12。 ROM 11存儲CPU 1 應當執(zhí)行的程序。RAM10可以存儲變量等。該門陣列2生成CPU1為了完成控制而使用的各種信號。該快閃存儲器30例如為NAND類型的電可擦除可編程只讀存儲器 (EEPROM )。該快閃存儲器30即使在未向其提供電能的情況下也能夠保 持所存儲數(shù)據(jù)。因此,該快閃存儲器30適于長時間存儲數(shù)據(jù),這不同于 RAM 10和CPU 1中包含的RAM 。在這個實施例中,該快閃存儲器30 用于存儲不同于記錄在盤9上的數(shù)據(jù)的數(shù)據(jù)。然而,與RAM10—樣,該 快閃存儲器30也用于存儲記錄在盤9上的數(shù)據(jù)的一部分,以便提高訪問速 度。將CPU 1的一部分存儲空間分配給控制硬盤控制器(HDC ) 3和門陣 列2的控制寄存器。CPU 1從該部分存儲空間讀取數(shù)據(jù)并且將數(shù)據(jù)寫入該 部分存儲空間中,并控制硬盤控制器3和門陣列2。該硬盤驅動器具有讀取/寫入IC 5,其包括兩個主要部件,即伺服塊 21和讀取/寫入塊22。該祠力艮塊21處理信號以定位磁頭13。該讀取/寫入 塊22處理信號以將數(shù)據(jù)寫入磁盤9上以及從該磁盤9讀取數(shù)據(jù)。磁盤9具有以規(guī)則間隔交替排列的區(qū)域(伺服區(qū)域)和區(qū)域(數(shù)據(jù)區(qū) 域)。在伺服區(qū)域中記錄用于定位磁頭13的伺服數(shù)據(jù)信號。在數(shù)據(jù)區(qū)域中 記錄從主機系統(tǒng)傳送的數(shù)據(jù)。為了定位磁頭13,磁頭IC 16放大磁頭13 讀取的模擬信號,并且將該放大的模擬信號提供給讀取/寫入IC5。在讀取 /寫入IC5中,該伺服塊21從模擬信號中提取伺服數(shù)據(jù)。將該伺服數(shù)據(jù)提 供給門陣列2,并且在該門陣列2中進行處理。根據(jù)處理伺服數(shù)據(jù)的結果, CPU1控制電動機驅動器6,其向音圈電動機7提供電流以定位磁頭13。硬盤控制器3不僅與CPU總線12相連,也與門陣列2、緩沖RAM 4 和讀取/寫入IC 5相連。硬盤控制器3包括主控制塊23、讀取/寫入塊24 和緩沖塊25。主控制塊23起到與主系統(tǒng)17接口的作用。緩沖塊25控制 緩沖RAM 4。讀取/寫入塊24與讀取/寫入IC 5和門陣列2相連,并且讀 取并寫入數(shù)據(jù)。下面說明硬盤驅動器的工作。為了讀取數(shù)據(jù),磁頭13從磁盤9讀取沖莫擬倌號。磁頭IC 16放大該模7擬信號。讀取/寫入IC 5解碼經放大的該模擬信號。硬盤控制器3根據(jù)從 門陣列2提供的控制信號處理該解碼信號,從而生成應當傳送到主系統(tǒng)17 的數(shù)據(jù)。將該數(shù)據(jù)臨時存儲在緩沖RAM 4中,然后從緩沖RAM 4傳送到 主系統(tǒng)17。為了由磁頭13寫入數(shù)據(jù),將從主系統(tǒng)17傳送到硬盤控制器3的數(shù)據(jù) 臨時存儲在緩沖RAM 4中。然后,根據(jù)從門陣列2提供的控制信號,將 數(shù)據(jù)從硬盤控制器3發(fā)送到讀~寫入IC 5。該讀取/寫入IC 5編碼該數(shù)據(jù)。 將該編碼數(shù)據(jù)經由磁頭IC 16提供給磁頭13。磁頭13將該編碼數(shù)據(jù)寫入 磁盤9上。該主系統(tǒng)17能夠發(fā)送設定特征(SetFeature)命令等,從而使得寫入 高速緩沖存儲器接通(有效)或者斷開(無效)。如果該寫入高速緩沖存 儲器是有效的,則將主系統(tǒng)17已經發(fā)出的寫入命令寄存(register)在緩 沖RAM 4中存儲的命令隊列表格中。該寫入命令由地址、傳送塊號、緩 沖指針、物理地址等構成。將伴隨該命令的數(shù)據(jù)寄存在同樣存儲在緩沖 RAM4中的數(shù)據(jù)表中。當斷開硬盤驅動器的電源開關時,緩沖RAM 4中的數(shù)據(jù)被擦除。因 此,應當實施一種處理(稱作寫入刷新),從而根據(jù)命令隊列表中寄存的 寫入命令,將數(shù)據(jù)表中寄存的數(shù)據(jù)可靠地寫入磁盤9上。為了可靠完成寫 入刷新,在主系統(tǒng)17中準備了等待(Standby)命令、刷新高速緩存(Flush Cache)命令等。如果主系統(tǒng)17發(fā)出了這些命令,則將如下所述實施寫入 刷新。為了高效執(zhí)行隊列表中寄存的寫入命令,檢索(選擇)可訪問命令, 同時按順序重新排列這些命令。然后,在磁盤9上記錄數(shù)據(jù)表中寄存的目 前處于最佳順序的數(shù)據(jù)(由此完成寫入刷新)。在本發(fā)明中,不僅能夠將 磁盤9用于實施寫入刷新,而且還能夠將快閃存儲器30用于實施寫入刷新。 因此,必須確定哪種命令應當在哪種介質(磁盤9或者快閃存儲器30)中 被寫入刷新。這種確定的過程稱作命令分布處理。最終必須將寫回到快閃 存儲器30中的有關寫入命令的數(shù)據(jù)寫回到磁盤9上。因此,不僅將命令隊列表中寄存的寫入命令寫入快閃存儲器30中,而且將數(shù)據(jù)表中存儲的數(shù)據(jù) 也寫入快閃存儲器30中。圖2A、 2B、 2C和2D表示了命令隊列表的轉換。根據(jù)圖2A可以理 解,該命令隊列表能夠寄存許多命令。假設目前在該命令隊列表中寄存了 IO個命令,即命令A、命令B、命令C、......和命令J?;谑紫葍H在磁盤9上寫回數(shù)據(jù)的假設,在盡可能最短的時間內使該 命令隊列表中寄存的IO個命令重新排列。重新排列IO個命令的方法的例 子是檢索在磁頭相對于其當前位置具有最小移動的情況下"能夠快速處理 的命令"。根據(jù)各種^檢索這種命令。在本實施例中,"能夠快速處理的 命令"是根據(jù)查找時間、旋轉延遲時間和介質訪問之間之和來確定的,從 當前位置移動磁頭比任何其它命令處理更快的命令。因此,如圖2B所示,按照所述順序排列命令E、命令I.......命令C和命令D。該新的順序是能夠以可能的最短時間將10個寫入命令寫回到磁 盤9上的順序。分別由分配給這10個命令的盤處理序號M—索引定義該新 的順序。更精確地講,將盤處理序號1\1_索引0分配給將要首先處理的命 令E,將盤處理序號M一索引1分配給接著將要處理的命令I,依此類推。 因此,分配給每個命令的盤處理命令M一索引比分配給前一命令的大1。注 意,圖2B所示的每個命令前的數(shù)字是當該命令寄存在圖2A所示的命令隊 列表中時設定的初始順序。根據(jù)傳送塊(transfer block)并考慮到查找時 間、旋轉延遲時間等計算每個命令的處理時間,并且將其寄存在命令隊列 表中。而且,將從處理第一個命令(即在本例中的命令E)開始經過的時 間也寄存在該表中。在本發(fā)明中,不僅利用磁盤9實施寫入刷新,如果需要還利用快閃存 儲器30進行寫入刷新。然而,在查找時間和旋轉延遲時間過去之前,不能 夠將數(shù)據(jù)寫入磁盤9上。不可避免的是,以低于寫入快閃存儲器30的速度 寫入該數(shù)據(jù)??紤]到這個問題,分配了小的盤處理序號1VL索引的命令和 分配了大的盤處理序號1VL索引的命令應當分別寫A^新在磁盤9上和快 閃存儲器30中。因此能夠縮短處理時間??扉W存儲器30存儲每個命令所需的時間也被寄存,以便確定在磁盤9 上應當寫入刷新哪些命令(或者確定分配給將要寫入刷新的最后命令的盤 處理序號M—索引)。根據(jù)傳送塊的數(shù)量計算將10個命令中的每一個存儲 到快閃存儲器30中所需的時間,并且將該時間寄存在命令隊列表中。任何 希望的數(shù)據(jù)以該將數(shù)據(jù)記錄到快閃存儲器30中恰好所需的時間被寫入該 快閃存儲器30中,這是因為在將數(shù)據(jù)寫入快閃存儲器30的過程中不包括 查找時間和旋轉延遲時間。此外,如圖2C所示,將從分配了最大的盤處 理序號^1_索引(即9)的命令(即本情況中的命令D)的處理向后測得的 存儲器寫入時間也寄存在命令隊列表中。為了說明,假設存儲器處理序號 F一索引與盤處理序號M—索引相同。接著,將在磁盤9上寫入的累積時間與在快閃存儲器30中寫入的累積 時間進行比較(參見圖2D)。首先對分配了最小的盤處理序號M—索引的 命令來檢索在磁盤9上寫入的累積時間,而首先對分配了最大的存儲器處 理序號F—索引的命令檢索在快閃存儲器30中寫入的累積時間。分配了大 的盤處理序號M一索引的命令是在磁盤9上不能以高速寫入刷新的命令。 因此,最好將它們寫入刷新到快閃存儲器30中,以便縮短處理時間,這是 因為將數(shù)據(jù)寫入快閃存儲器30中不涉及查找時間和旋轉延遲時間。因此, 按照這種順序檢索這些命令。利用一種介質實施寫入刷新,對于該介質而言在執(zhí)行每個命令之前累 積的時間短。在圖2D所示的情況下,在磁盤9上寫入刷新分別分配了盤 處理序號M—索引0到2的命令E、 I和H,并且在快閃存儲器30中寫入 刷新分別分配了盤處理序號M—索引9到3的命令D、 C、 F、 G、 J、 A和 B。為了使處理時間最小化,必須按照它們被提時的順序寫入刷新命令E、 I和H。無論按照何種順序寫入刷新命令D、 C、 F、 G、 J、 A和B,處理 時間根本不會改變。可以同時實施磁盤9上的寫入刷新和快閃存儲器30中的寫入刷新。在 這種情況下,僅需要ll亳秒來完成寫入刷新。如果僅在磁盤9上實施寫入 刷新,則需要43亳秒。如果同時在兩個介質上實施寫入刷新,則整體寫入刷新時間可以為一半。因此,在短時間內完成了寫入刷新。這防止了在寫 入刷新過程中由于碰撞或者電源斷路而造成的數(shù)據(jù)損壞。圖3是說明制定圖2A所示的命令隊列表格的步驟順序的流程圖。在塊#12中,將盤處理序號M—索引的初始值"i殳為0。在塊#14中,考慮到磁頭13目前所在位置,從當前寄存在命令隊列表中的命令(即10個命令)中選擇一個命令,該命令能夠比任何其它的命令更快地處理。在塊#16中,在該隊列表(更精確地講,初始表的副本)中的第(M一 索引)個CMD[1V^索引處寄存塊井14中選出的命令。在塊#18中,將塊#14中選出的命令的處理時間M一時間[M一索引] 作為第(M—索引)項寄存在隊列表中。在塊#20中,通過增加塊#14中選出的命令的處理時間來更新累積時 間M—總時間[IVL索引。在塊#22中,確定是否已經檢索了該隊列表中寄存的全部命令。如果 為否,則在塊#24中遞增該盤處理序號M—索引。繼而該流程返回到塊# 14。在塊#14中,選擇能夠比任何其余的命令更快訪問的命令。在塊#22中,如果確定已經檢索了所有命令(是),則該進程進行到 塊#26。在塊#26中,將存儲器處理序號F—索引的初始值設為9。因此, 將按照與在磁盤9上寫入各命令時相反的順序將各命令寫入快閃存儲器30 中。在塊#28中,計算并寄存處理該隊列表中寄存的第(F一索引)命令所 需的時間F—時間F—索引]。在塊#30中,通過增加塊#28中算得的前一命令的處理時間來更新累 積時間F—總時間^_索引1 。在塊#32中,確定是否已經檢索了該隊列表中寄存的所有命令。如果 為否,則在塊#34中遞減該盤處理序號F—索引。繼而該流程返回到塊# 28,其中寄存下一命令的處理時間。在塊#32中,如果確定已經檢索了所有命令(是),則終止該進程。圖4是示例性流程圖,說明了對要進行寫入刷新數(shù)據(jù)的介質的選擇順 序,其中該寫入刷新是利用參照圖3的描述所制定的命令隊列表格進行的。 假設在該隊列表中寄存了 10個命令。在塊#42中,將盤處理序號Mjt引的初始值設為0,并且將存儲器 處理序號F—索引的初始值設為9。在塊#44中,將作為第(M一索引)項寄存的累積時間M」悉時間M— 索引與作為第(F—索引)項寄存在隊列表中的累積時間F一總時間[F一索引1 進行比較。如果該累積時間M—總時間[M一索引1等于或大于累積時間F—總 時間[F一索引,則該流程進行到塊#52,其中將第(F—索引)寫入命令的 寫M"新分配給快閃存儲器30。然后,在塊#54中,確定F—索引是否變 為0。如果F—索引已經變?yōu)镺,則已經將所有命令的寫入刷新分配給該介 質。在這種情況下,終止該進程。如果F一索引未變?yōu)?,則該進程進行到 塊#56,其中遞減F—索引。繼而該進程進行到塊#50。在塊#44中,如果累積時間M—總時間[M一索引]短于累積時間F一總時 間[F—索引,如果是這種情況,則該該進程進行到塊#46。在塊#46中, 將笫(M—索引)寫入命令的寫入刷新分配給磁盤9。在塊#48中,M—索 引遞增。繼而該進程進行到塊#50。在塊并50中,確定IV^索引是否大于F一索引。如果M—索引不大于F一 索引,則該進程返回到塊#44。在塊#44中,將用于盤處理的累積時間 M」悉時間1VL索引與用于存儲器處理的累積時間F一總時間[L索引進行 比較。因此,將寫入命令的寫入刷新分配給如圖2D所示的介質。 圖5是示意地說明上述的命令分布處理的圖表。圖2D表示了命令隊 列表,其中設置各個命令,使得在可能的最短時間內可以僅在磁盤9上寫 回這些命令。在該表中所示的命令中,在磁盤9上能夠以高速處理寄存在 較高位置的命令。不能夠在磁盤9上以高速處理寄存在該表中較低位置處 的其它命令,但是如果返回該快閃存儲器30進行寫入刷新,則能夠在短時 間內寫入這些命令。如圖5所示,在該命令隊列表中還寄存了邏輯地址LBA和傳送塊BLK的數(shù)量。為了將寫入命令從快閃存儲器30寫回到磁盤9上,將它們寄存在緩沖 RAM 4 (當硬盤驅動器從主系統(tǒng)1接收到刷新高速緩存命令或者等待 (standby)命令時通常使用該緩沖RAM)中存儲的隊列表中。然后,將 存儲在快閃存儲器30中并且屬于寄存在該隊列表中的命令的數(shù)據(jù)寫回到 磁盤9上。無需按照能夠在可能的最短時間內對它們進行處理的順序將各 數(shù)據(jù)項寫回到磁盤9上。相反,能夠按照隨機的順序將它們寫回到磁盤9 上。在這一點上,將高速緩存命令(cache command)存儲到快閃存儲器 (非易失性存儲器)30中。因此,即使發(fā)生電源斷路,也不會擦除高速緩 存命令。因此,如相關控制程序中所述的,如果需要,能夠將高速緩存命 令寫回到磁盤9上。如上所述,在第一實施例中,將主系統(tǒng)l發(fā)出的寫入命令寄存在緩沖 RAM4中存儲的命令隊列表中,并且將與這些命令相關的數(shù)據(jù)寄存在同樣 存儲在緩沖RAM4中的數(shù)據(jù)表中。根據(jù)該命令隊列表中寄存的寫入命令, 實施寫入刷新,從而將數(shù)據(jù)表中寄存的數(shù)據(jù)寫回到磁盤9上或者寫入快閃 存儲器30中。在磁盤9上寫入刷新通過磁頭13相對于當前位置的最小移 動"能夠以高速處理的命令"。在快閃存儲器30中寫入刷新所有其它命令。 因此,能夠并行地或者同時實施磁盤9上的寫入刷新和快閃存儲器30中的 寫入刷新。相比其它情況,能夠在更短時間內完成寫入刷新。如果同時在 兩個介質上實施寫入刷新,則整體寫入刷新時間可以減半。能夠在磁盤上以及非易失性存儲器中寫入刷新易失性存儲器中高速 緩存的命令。因此,能夠在短時間內完成寫入刷新。而且,寫入刷新過程 中由于盤驅動器受到的碰撞造成的數(shù)據(jù)損壞的可能性小。本發(fā)明不限于上述實施例。能夠對其4故各種形式的修改以付諸實施。 例如,無需如實施例中那樣,根據(jù)在磁盤上的寫入刷新所需的累積時間或 者在快閃存儲器中寫入刷新所需的累積時間哪個更長來確定應當將磁盤 或者快閃存儲器中的哪種介質用于寫入刷新。而且,可以利用任何其它算 法確定能夠以高速處理的命令以及其它命令。在上述實施例中,將高速緩存寫入命令分成兩組,并且分別選擇磁盤 和快閃存儲器作為用于這兩組的寫入刷新介質。此外,可以改變控制程序(固件)以支持兩種模式, 一種模式(1)是僅在磁盤9上實現(xiàn)寫入刷新, 另一種模式(2)是僅在快閃存儲器30中實現(xiàn)寫入刷新。然后,用戶能夠 根據(jù)他或她使用該硬盤驅動器的目的來選擇第一模式(1)或者第二模式(2)。更具體的是,如果用戶希望以低寫入速度為代價,探測快閃存儲器 30中的故障(如果存在的話)或者僅在磁盤9上可靠地保存數(shù)據(jù),則他或 她選擇第一模式(1 )。如果因為電源可能會斷路而用戶希望快速保存數(shù)據(jù), 或者如果因為磁盤9中的可訪問區(qū)域是有限的而必須以高速實施數(shù)據(jù)處 理,則他或她選擇第二模式(2)。對于本領域技術人員而言,其它的優(yōu)點和修改都是顯而易見的。因此,施例。因此,可以在不背離所附權利要求書及其等價描述限定的本發(fā)明的 一般性概念的精神和范圍的情況下,進行各種修改。
權利要求
1.一種磁盤裝置,其特征在于包括磁盤(9);非易失性存儲器(30);易失性存儲器(4),其配置為存儲主系統(tǒng)提供的各寫入命令以及伴隨該命令的數(shù)據(jù);以及第一刷新控制單元(1),其配置為根據(jù)在所述磁盤上寫入伴隨所述寫入命令的所述數(shù)據(jù)所需的時間將所述寫入命令分成第一命令組和第二命令組,將伴隨第一命令組的數(shù)據(jù)寫入所述磁盤,以及將第二命令組和伴隨第二命令組的數(shù)據(jù)寫入所述非易失性存儲器。
2. 根據(jù)權利要求1所述的磁盤裝置,其特征在于第一刷新控制單元(1) 按照能夠以可能的最高效率寫入該寫入命令的順序排列所述易失性存儲 器中存儲的各所述寫入命令,并且將前面的若干個命令分成第一命令組以 及將其它命令分成第二命令組。
3. 根據(jù)權利要求2所述的磁盤裝置,其特征在于第一刷新控制單元(1) 在所述非易失性存儲器中存儲在所i^盤上寫入所述易失性存儲器中存 儲的每個所述寫入命令所需的時間、在所述磁盤上按照從第一命令開始的 正序寫入各所述寫入命令所需的累積時間、將易失性存儲器中存儲的每個所述寫入命令寫入到非易失性存儲器所需的時間,以及按照從最后的命令 開始的逆序將所述寫入命令寫入所述非易失性存儲器所需的累積時間,并 且將在所述磁盤上的累積時間長于在所述非易失性存儲器中的累積時間 的命令分到第二命令組中。
4. 根據(jù)權利要求l所述的磁盤裝置,其特征在于進一步包括第二刷新 控制單元(1),其配置為讀取第一刷新控制單元存儲在所述非易失性存儲 器中的第二命令組,并且將伴隨第二命令組的數(shù)據(jù)寫入所述磁盤上。
5. —種用于磁盤裝置的控制方法,該磁盤裝置的特征在于包括磁盤、 非易失性存儲器和易失性存儲器,該易失性存儲器配置為存儲主系統(tǒng)提供的各寫入命令以及伴隨所述命令的數(shù)據(jù),該方法包括根據(jù)在所M盤上寫入伴隨所述寫入命令的所述數(shù)據(jù)所需的時間,將 所述寫入命令分成第一命令組和第二命令組;以及將伴隨第一命令組的數(shù)據(jù)寫入所i^盤,以及將第二命令組和伴隨第 二命令組的數(shù)據(jù)寫入所述非易失性存儲器。
6. 根據(jù)權利要求5所述的控制方法,其特征在于該分組包括 按照能夠以可能的最高效率寫入該寫入命令的順序排列所述易失性存儲器中存儲的該寫入命令,并且將前面的若干個命令分成第一命令組以 及將其它命令分成第二命令組。
7. 根據(jù)權利要求6所述的控制方法,其特征在于該分組包括 將在所述磁盤上寫入所述易失性存儲器中存儲的每個寫入命令所需的時間、在所it/^盤上按照從第一命令開始的正序寫入各所述寫入命令所 需的累積時間、將所述易失性存儲器中存儲的每個寫入命令寫入到所述非 易失性存儲器所需的時間,以及按照從最后的命令開始的逆序將所述寫入 命令寫入所述非易失性存儲器所需的累積時間存儲到所述非易失性存儲 器中,并且將在所述磁盤上的累積時間長于在所述非易失性存儲器中的累 積時間的命令分到第二命令組中。
8. 根據(jù)權利要求5所述的控制方法,其特征在于進一步包括從所述非 易失性存儲器讀取所存儲的第二命令組;以及將伴隨第二命令組的數(shù)據(jù)寫入所述磁盤上。
全文摘要
本發(fā)明涉及磁盤裝置以及控制該裝置的方法。根據(jù)一個實施例,一種磁盤裝置包括用于存儲主系統(tǒng)(18)提供的寫入命令和伴隨該命令的數(shù)據(jù)的易失性存儲器(4),以及刷新控制單元(1),其用于根據(jù)在磁盤上寫入伴隨命令的數(shù)據(jù)所需的時間,將寫入命令分成第一命令組和第二命令組,將伴隨第一命令組的數(shù)據(jù)寫入磁盤以及將第二命令組和伴隨第二命令組的數(shù)據(jù)寫入非易失性存儲器。
文檔編號G06F12/08GK101226505SQ20071030011
公開日2008年7月23日 申請日期2007年12月17日 優(yōu)先權日2006年12月27日
發(fā)明者增尾智則 申請人:株式會社東芝