專利名稱:具有內(nèi)嵌地址間接性元數(shù)據(jù)存儲的存儲設備的制作方法
技術領域:
本發(fā)明涉及使用用于將物理存儲位置映射到邏輯地址的間接性的數(shù)據(jù)存儲設備架構的領域,并且更具體地涉及在迭瓦寫入式磁記錄(SMR)設備中使用的這樣的間接性。
背景技術:
具有磁介質(zhì)的傳統(tǒng)的磁盤驅(qū)動將數(shù)據(jù)組織在空間上分離的同心軌道中。迭瓦寫入(shingled write)的概念是垂直磁記錄的形式并且已經(jīng)作為提高磁記錄的面密度的方法提出。在迭瓦寫入式磁記錄(SMR)介質(zhì)中相鄰軌道的區(qū)域(帶)被寫入使得覆蓋一個或多個先前寫入的軌道。不同于傳統(tǒng)的分離的軌道,迭瓦式軌道必須順序?qū)懭耄鴤鹘y(tǒng)的分離的軌道可以按照任何順序?qū)懭?。磁盤表面上的軌道組織為多個迭瓦式區(qū)域(也稱為I區(qū)域),其可以從內(nèi)徑(ID)到外徑(OD)或從OD到ID順序?qū)懭?。在一區(qū)域中迭瓦在一起的軌道的數(shù)量是迭瓦寫入的關鍵的性能參數(shù)。一旦按照迭瓦結構寫入,單獨的軌道不能夠適當?shù)馗?,因為那將重寫并毀壞重疊軌道。因此,迭瓦寫入式數(shù)據(jù)軌道從用戶的角度來看,有時認為是類似僅附加的日志。為了提高SMR驅(qū)動的性能,將一部分介質(zhì)分配給所謂的“排除區(qū)域”(E區(qū)域),該區(qū)域用作用于最終將寫入到I區(qū)域的數(shù)據(jù)的分段區(qū)域(staging area)。E區(qū)域有時也稱為E緩沖。在迭瓦寫入式存儲設備的內(nèi)部架構中的地址間接性對于至少在某種程度上模擬現(xiàn)有的主機接口并且將主機從與SMR關聯(lián)的復雜性屏蔽是有用的?,F(xiàn)有的主機文件系統(tǒng)在讀和寫數(shù)據(jù)塊的命令中使用邏輯塊地址(LBA),而不考慮由存儲設備內(nèi)部使用的實際的位置(物理塊地址(PBA))。其中,硬盤驅(qū)動對于數(shù)十年具有一些等級的LBA-PBA間接性,允許盤上壞的扇區(qū)重新映射到為此目的已經(jīng)保留的好的扇區(qū)。地址間接性典型地在驅(qū)動器的架構的控制器部分中實現(xiàn)??刂破鲗⒅鳈C命令中的LBA翻譯到內(nèi)部的物理地址,或者與物理地址類似的東西。用于缺陷的現(xiàn)有的LBA-PBA映射不需要經(jīng)常改變。相反,在SMA設備中邏輯塊地址(LBA)的物理塊地址(PBA)可以取決于寫入歷史而改變。例如,后臺處理(諸如垃圾收集)將數(shù)據(jù)扇區(qū)從一個PBA移動到另一個但是LBA保持相同。SMR的間接性系統(tǒng)本來是動態(tài)系統(tǒng),其中控制器將主機地址請求翻譯到物理位置。在SMR系統(tǒng)中,LBA-PBA映射隨著每個寫入操作而改變,因為系統(tǒng)動態(tài)地確定在介質(zhì)上的物理位置,在該位置將寫入用于LBA的主機數(shù)據(jù)。在下次主機LBA更新時相同的LBA將寫入到不同的位置。間接性系統(tǒng)提供在主機LBA和介質(zhì)上的當前物理位置之間的動態(tài)翻譯層。存儲設備的設計必須提供對于在緊急斷電之后可恢復的間接性地址映射方案,因此邏輯塊地址(LBA)到物理位置的映射必須記錄在永久介質(zhì)中。現(xiàn)有技術中的文件系統(tǒng)在盤上為元數(shù)據(jù)存儲維持一個單獨區(qū)域用于跟蹤LBA位置。然而,這樣的解決方案展示了對于盤驅(qū)動的差的性能,由于其要求對元數(shù)據(jù)區(qū)域和來自元數(shù)據(jù)區(qū)域的附加的尋找。處理盤驅(qū)動RAM緩沖的現(xiàn)有技術的方法必須提供對功率損耗(斷電)問題的解決方案。在對Hall (2002年4月23日)的US專利6378037中,故障安全的寫入緩沖使用盤表面的特別安排的部分以在驅(qū)動空閑時間期間存儲寫緩沖數(shù)據(jù)。在系統(tǒng)或電源故障的情況下在數(shù)據(jù)寫入其最終盤目的地之前,數(shù)據(jù)可以從特別安排的部分讀出以生效沒有數(shù)據(jù)損失的恢復。
發(fā)明內(nèi)容
本發(fā)明的實施例允許盤驅(qū)動(諸如迭瓦寫入式磁記錄(SMR)驅(qū)動)在緊急斷電(EPO)之后在無需在盤上的保留位置頻繁備份全部間接性地址表的情況下恢復LBA到PBA的間接性地址表映射。本發(fā)明的實施例周期性地存儲間接性地址表(IAT)快照并且然后沿著具有寫入了用戶數(shù)據(jù)的實際扇區(qū)的相同軌道(或附近軌道)存儲在快照之間的增量地址·元數(shù)據(jù)更新信息,其可以稱為累加變量增量列表(Cumulative Delta List)。這消除了需要對盤上的保留的元數(shù)據(jù)區(qū)域和來自盤上的保留的元數(shù)據(jù)區(qū)域的附加尋找來保存IAT的問題??梢岳脤υ贓區(qū)域中的用戶數(shù)據(jù)的臨時存儲或分段而使用的環(huán)形緩沖技術來使用本發(fā)明。IAT快照和累加變量增量列表基于I/O操作(例如,在預定數(shù)量的寫入之后)周期性地寫入到介質(zhì)。累加變量增量列表(⑶L)可以在IAT快照之間寫入多次并且每個⑶L通過唯一標識符鏈接到最后的快照。每個⑶L僅包括自最后一次保存⑶L以來的地址變量增量(Delta)。在本發(fā)明的實施例中,當探測到即將來臨的斷電時,覆蓋了 IAT更新但是還沒有寫入到盤的當前的累加變量增量列表被保存到預定的非易失性存儲器(諸如閃存)。與一組累加變量增量列表組合的IAT快照提供當緊急的斷電之后恢復電源時重新創(chuàng)建當前的間接性地址表所需的信息。在緊急的斷電之后驅(qū)動器的上電例程通過找到寫入到介質(zhì)的最后的IAT快照并且然后使用寫入在盤上的相應組的累加變量增量列表和寫入到閃存的最后一個來更新最后的IAT快照,從而更新間接性地址表。在一個實施例中,累加變量增量列表寫入到使用整個數(shù)據(jù)塊的標準用戶數(shù)據(jù)塊(例如扇區(qū))區(qū)域。包含了累加變量增量列表的扇區(qū)散布在用戶數(shù)據(jù)扇區(qū)中。注意到由設備對于其元數(shù)據(jù)使用的扇區(qū)不具有在IAT中分配的LBA,并且因此在正常操作中對于主機是不可見的。在替換的實施例中,累加變量增量列表通過在編碼地址間接性映射和最后的快照ID的設備的扇區(qū)中包括元數(shù)據(jù)而被排除。
圖I示出了按照本發(fā)明實施例的具有間接性系統(tǒng)的數(shù)據(jù)存儲設備。圖2示出了如按照本發(fā)明實施例所使用的介質(zhì)上的環(huán)形緩沖。圖3示出了按照本發(fā)明實施例的累加變量增量列表的內(nèi)容。圖4示出了按照本發(fā)明的替換實施例的包括了時間戳的累加變量增量列表的內(nèi)容。
圖5A示出了按照本發(fā)明的替換實施例的扇區(qū)元數(shù)據(jù)結構的內(nèi)容。圖5B示出了按照本發(fā)明的替換實施例的包括了時間戳的扇區(qū)元數(shù)據(jù)結構的內(nèi)容。圖6示出了按照本發(fā)明的實施例的寫入IAT快照和⑶L的方法。圖7示出了按照本發(fā)明的實施例的使用IAT快照和⑶L在緊急斷電之后來重建IAT的方法。
具體實施例方式圖I示出了按照本發(fā)明實施例的使用具有包括單一間接性地址表(ΙΑ 17的間接性系統(tǒng)16的SMR的數(shù)據(jù)存儲設備(DSD) 10。主機發(fā)送讀寫命令,所述命令參考標準邏輯塊 地址(LBA)。在典型的SMR驅(qū)動架構中,LBA可以分配給E區(qū)域或I區(qū)域,其使得任務間接性映射復雜化。在實際應用中期望對于維持間接性表的問題的不同方法。例如,一種方法是保持兩個間接性表將LBA映射到E區(qū)域或映射到I區(qū)域的一個表和將LBA映射到在I區(qū)域內(nèi)部的I軌道的第二個表。在此描述的本發(fā)明的實施例允許在包括了使用多個表的間接性表管理的各種方法之中寫入內(nèi)嵌(inline)用戶數(shù)據(jù)的間接性表信息。然而,在所述的實施例中,僅參考一個間接性表。附加的表可以按照類似的方式來處理或者可以使用完全不同的方法來存儲。例如,如果表之一由于其覆蓋E區(qū)域而更頻繁地更新,其可以按照本發(fā)明來處理,而不那么頻繁地更新的第二個表可以使用需要更多開銷的方法來處理。間接性系統(tǒng)16將LBA翻譯到用于設備內(nèi)部使用的物理塊地址(PBA)中。間接性系統(tǒng)16例如可以作為功能組件在DSD 10的控制器部分中實現(xiàn)。間接性系統(tǒng)16除了在此描述的之外按照現(xiàn)有技術工作,并且間接性系統(tǒng)執(zhí)行現(xiàn)有技術功能的方面沒有示出。在設備正常操作期間,對應于LBA的當前的PBA在RAM中的間接性地址表(IAT) 17中找到。如上面所述,IAT隨著在SMR驅(qū)動器中的每個寫入操作而改變。因為在RAM中的IAT當斷電時遭受損失。然而,間接性地址表(IAT)的內(nèi)容必須在緊急的斷電之后從永久的介質(zhì)恢復,否則的話數(shù)據(jù)永久丟失。在盤上的保留位置處全部間接性地址表的頻繁備份不是現(xiàn)實的解決方案,因為附加的I/O會導致差的性能。在SMR寫入中包括元數(shù)據(jù)寫入,其應當對于最佳性能順序化。本發(fā)明允許IAT元數(shù)據(jù)在軌道上與用戶數(shù)據(jù)一起寫入E區(qū)域中,用戶數(shù)據(jù)在寫入到I區(qū)域之前臨時存儲在E區(qū)域中。在SMR中每個盤表面典型地具有專門用作E區(qū)域的至少一個軌道帶。這批軌道將組織到I區(qū)域中。本發(fā)明的實施例沿著與寫入了用戶數(shù)據(jù)的實際扇區(qū)相同軌道(或附近的軌道)將間接性地址表(IAT)快照17A、17B存儲在E區(qū)域中,并且因此允許與一般E區(qū)域使用的有效集成。盤12A、12B上的多個同心軌道沒有示出并且除了此處描述的之外按照現(xiàn)有技術。間接性地址表(IAT)快照是此時的當前IAT的副本。唯一 IAT快照ID (未示出)包括在每個快照中從而在恢復處理期間可以識別最后一個快照。IAT快照ID可以是計數(shù)器,該計數(shù)器具有足夠大的范圍以避免在舊的和新的快照之間的混淆。范圍應當覆蓋在寫入盤上的全部迭瓦式I區(qū)域的時間中執(zhí)行的快照的數(shù)量。盡管僅要求IAT的單個快照復制,如示出的在不同盤12A、12B上做出兩個或多個副本具有當副本之一由于包括磁頭或整個盤表面的損失的任何原因而不可恢復時提供冗余的優(yōu)點。存儲間接性結構的多個副本可以允許設備利用剩余的未損壞數(shù)據(jù)合適地操作。通過即使在不具有允許同時寫入到兩個盤的多個通道的設備的典型情況下切換磁頭,額外的副本可以有效地寫入到附加的盤上的E區(qū)域中。如上所述,由設備執(zhí)行的下一個寫入操作將不反應在最后的快照中。因此,當執(zhí)行每個附加寫入操作時介質(zhì)上的快照落在當前IAT后面。不是對于每個寫入操作重新寫入整個IAT (其可能是相當大的),本發(fā)明創(chuàng)建并周期性地寫入在快照之間的增量元數(shù)據(jù)更新信息。增量更新信息被稱為累加變量增量列表(CDL)18,其保存在RAM中。在那里多個CDL可以在IAT快照之間寫入到介質(zhì)。⑶L的最大尺寸確定了寫入的頻度。每個⑶L寫入通過包括IAT快照ID而鏈接到最后的IAT快照。每個⑶L寫入如果其是快照之后的第一⑶L則由于最后的⑶L寫入或由于IAT快照而包括地址變量增量。IAT快照寫入到介質(zhì)的頻率是實現(xiàn)本發(fā)明時的設計選擇??煺疹l率隱含了在散布的實施例中在EPO恢復時間和分配給CDL存儲的存儲量之間的折衷。在一個實施例中,快照寫入在寫入操作的選擇的數(shù)量之后觸發(fā)。類似地,在CDL中變量增量的數(shù)量是具有折衷的設計選擇。寫入直到CDL變量增量寫入為止才進行,從而更大的CDL隱含能夠存在的未 執(zhí)行的寫入的更高的最大數(shù)量。盡管本發(fā)明與E區(qū)域架構的環(huán)形緩沖實施例兼容,但是本發(fā)明不要求使用環(huán)形緩沖。因為本發(fā)明允許IAT快照和CDL與用戶數(shù)據(jù)內(nèi)嵌地寫入,所以可以利用其他E區(qū)域結構來使用本發(fā)明。圖2示出如按照本發(fā)明的實施例所使用的在E區(qū)域中在介質(zhì)上的環(huán)形緩沖21。環(huán)形緩沖的頭和尾指針的管理根據(jù)現(xiàn)有技術。“安全寫入”25是寫入到介質(zhì)軌道的一系列用戶數(shù)據(jù)扇區(qū)。在安全寫入之后,寫入IAT快照17A。正是快照的寫入使得通過記錄包括了用于這些寫入的PBA-LBA映射的IAT快照而使得之前的寫入“安全”?!拔磮?zhí)行的寫入” 26是在IAT快照之后做出的用戶數(shù)據(jù)寫入。保存在RAM中的⑶L 18當每個寫入發(fā)生時更新。環(huán)形緩沖中的⑶L 18A在一系列“未執(zhí)行的寫入” 26之后寫入并且包含用于每個未執(zhí)行的寫入的變量增量ID項。在該實施例中,CDL當變量增量ID的數(shù)量達到預定的數(shù)量時寫入,該數(shù)量例如填充分配的RAM空間(緩沖)。如果IAT快照如上所述寫入到多個盤上,則⑶L 18A、18B也應當寫入到多個盤上。圖3示出了按照本發(fā)明的實施例當寫入到介質(zhì)時累加變量增量列表(CDL) 18A的內(nèi)容。當IAT快照保存在介質(zhì)上時,⑶L的變量增量ID部分33、34復位為空并且記錄用于保存的快照的IAT快照ID 32。⑶L通過ID固有地綁定到最后的IAT快照。環(huán)形緩沖可以足夠大以使得多個快照和CDL可以在介質(zhì)上存在,因為之前的快照沒有自動擦除。因此,后面的EPO恢復處理必須具有一種方式來告訴最后的快照和來自較早的快照的關聯(lián)的CDL。記錄在IAT快照和⑶L服務器兩者中的IAT快照ID用于該目的。IAT快照ID順序必須是清楚的從而在EPO之后的恢復例程可以告訴哪個ID是最近的。實現(xiàn)ID的一種方式是使得其成為單調(diào)遞增的計數(shù)器,然后在上電恢復例程期間,無論何時ID下降時固件可以停止讀取快照和⑶L數(shù)據(jù),這是已經(jīng)達到在環(huán)形緩沖中最近的數(shù)據(jù)的信號。在列表33、34中的每個變量增量ID包括對于正在記錄的具體的寫入命令更新IAT需要的三條信息,它們是開始LBA、開始PBA和扇區(qū)數(shù)量。每個變量增量ID例如可以是6字節(jié)。具有多個變量增量ID的CDL的最大尺寸可以限制為其可以包含在一個扇區(qū)內(nèi)。開始LBA/PBA字段可以不必是全部LBA/PBA地址,由于間接性可以限制(例如,驅(qū)動分區(qū)為獨立部分并且僅需要在部分內(nèi)的偏移)。在間接性映射的一些實施例中,需要時間戳來確定哪個變量增量ID是最近的。因此,在圖4中示出的CDL的實施例中包括了附加的字段,時間戳計數(shù)器35。在本發(fā)明的一些實施例中,給定LBA的變量增量ID限制為僅存在于當前迭瓦式區(qū)域中從而LBA的有效位置出現(xiàn)在快照點之后的最后的變量增量ID中。然而,在一些實施例中不施加該限制,并且需要時間戳來確定哪個變量增量ID是最近的。例如當存在兩個間接性表時可能需要該時間戳,所述兩個間接性表包括了將LBA映射到E區(qū)域或到I軌道的一個表;和將I軌道映射到在I區(qū)域內(nèi)的位置的一個表。對于第一個表,變量增量可以存儲在任何位置,而用于第二個表的變量增量可以潛在地存儲在I軌道區(qū)域中。以下參考圖6描述按照本發(fā)明的實施例用于通過設備從主機接收的寫入命令的典型寫入操作的示例序列,所述圖6示出了按照本發(fā)明的實施例寫入IAT快照和CDL的方法。LBA由主機定義并且包括在被發(fā)送到設備的命令中。PBA由設備確定。在RAM中的IAT對于與寫入操作61關聯(lián)的LBA和PBA被更新。變量增量ID項對于該寫入操作62添加到 RAM中的累加變量增量列表中。對于寫入命令由主機提供的數(shù)據(jù)寫入到介質(zhì)上的PBA,但是“未執(zhí)行”。變量增量和快照計數(shù)器是遞增的63。如果已經(jīng)達到IAT快照計數(shù)器觸發(fā)點64,則IAT快照(其將包括變量增量)與快照ID —起寫入并且快照計數(shù)器復位66。RAM中的累加變量增量列表現(xiàn)在是過時的,因此其復位以剛好包含快照ID并且不包含變量增量67。如果沒有觸發(fā)IAT快照,則對于選擇的最大值68檢查變量增量計數(shù)器,并且如果達到了,則累加變量增量列表(CDL)寫入到介質(zhì),變量增量ID復位為空并且變量增量計數(shù)器設置為零。注意到,用于⑶L的IAT快照ID當⑶L寫入到介質(zhì)時不改變。在IAT快照之間可以有多個⑶L寫入并且這些⑶L中的每個包含相同的IAT快照ID。在本發(fā)明的實施例中,當設備檢測到即將來臨的功率損失(斷電)時,RAM中的CDL(其覆蓋了自從最后元數(shù)據(jù)(所述元數(shù)據(jù)可以是IAT快照或最后CDL寫入)寫入以來的任何更新)保存到預定的非易失性存儲器(諸如圖I中的閃存19)。每個CDL固有地小于IAT并且可以通過更頻繁地寫入到盤而保持尺寸下降。用于EPO存儲所需的閃存的尺寸相對小,由于其僅需要保持最后的⑶L。由此,在即將來臨的EPO條件下為寫入⑶L所需的時間也少。相對地,IAT的尺寸是I軌道的整個數(shù)目和E區(qū)域的尺寸的函數(shù),而不是例如簡單的每扇區(qū)的字節(jié)數(shù)??梢云谕麑嶋H的SMR設備具有至少幾十兆字節(jié)的量級的IAT。圖7示出了按照本發(fā)明的實施例在緊急斷電之后使用IAT快照和⑶L來重建IAT的方法。與可能的多個累加變量增量列表的組結合的最后的IAT快照提供當在緊急斷電之后電源恢復時重建當前的間接性地址表所需的信息。上電例程可以在需要時讀取整個環(huán)形緩沖以找到最后的IAT快照71和后來的CDL 72,如果存在的話。IAT快照ID用來從可能仍然存在與環(huán)形緩沖中的舊的快照中識別最后的快照。如果上電例程讀取具有比從緩沖讀取的之前一個更舊的ID的IAT快照,則例程知道已經(jīng)找到了最后的IAT快照。⑶L的相應的組將包含IAT快照ID并且將跟隨在環(huán)形緩沖中的最后的IAT快照。此外,上電例程必須讀取如上所述寫入到閃存的最終EPO⑶L 73。一旦上電例程具有最后的IAT快照,則IAT通過使用在每個CDL中的變量增量ID而更新以獲得當前的IAT 74。當然,可以在快照或CDL寫入之后在已經(jīng)做出任何新的變量增量ID項之前立即發(fā)生ΕΡ0。在這種情況下EPO⑶L將不包含任何變量增量ID。還可以,在任何⑶L已經(jīng)寫入到盤之前發(fā)生EPO。如果在盤上或在閃存中都沒有CDL,則IAT快照表示沒有所需的任何更新的當前IAT。在本發(fā)明的一個替換實施例中,包括映射LBA和PBA的元數(shù)據(jù)作為扇區(qū)格式的部分,并且這不必保存和寫入⑶L。IAT快照仍然如上所述創(chuàng)建。該實施例的一個優(yōu)點是,不需要具有CDL的寫入扇區(qū),因為扇區(qū)元數(shù)據(jù)用作變量增量ID的角色。跟隨快照寫入的每個扇區(qū)固有地包含在前面的快照中更新IAT所需的元數(shù)據(jù)以包括順序?qū)懭氲纳葏^(qū)。對于該實施例,在EPO之后的上電例程如上所述找到最后的IAT快照,但是沒有找到⑶L。代替⑶L,例程讀取在包含用于在環(huán)形緩沖中的最后的快照的快照ID的每個PBA (扇區(qū))。元數(shù)據(jù)中的對應于PBA的LBA然后用來在最后的快照中更新IAT到當前狀態(tài)。用于本發(fā)明的實施例的扇區(qū)元數(shù)據(jù)41A在圖5A中示出。額外的元數(shù)據(jù)延長扇區(qū)的物理尺寸一些字節(jié),例如4字節(jié)。明確地存儲的元數(shù)據(jù)41A在該實施例中包括最后的IAT快照ID 42和LBA 44。需要IAT快照ID來區(qū)分執(zhí)行的和未執(zhí)行的寫入。用于本發(fā)明的實施例的扇區(qū)元數(shù)據(jù)41B的替換實施例在圖5B中示出。扇區(qū)元數(shù)據(jù)41B包括了時間戳計數(shù)器43,其用作與上面討論的替換CDL中的時間戳計數(shù)器相同的功能。如果在相同的LBA上·的IAT更新可以在另一迭瓦式區(qū)域,例如如上所述的I軌道區(qū)域中出現(xiàn),則需要時間戳計數(shù)器43。對于在介質(zhì)上每個扇區(qū)隱含地通過設備知道PBA,由于PBA是實際的物理地址。無需定義扇區(qū)的數(shù)量,該數(shù)量固有地是一個。除了包括在扇區(qū)架構中的任何其他元數(shù)據(jù)之外,可以明確地存儲LBA元數(shù)據(jù)?,F(xiàn)有技術的扇區(qū)格式包括以ECC字節(jié)的形式的元數(shù)據(jù),其典型地跟隨在介質(zhì)上的物理扇區(qū)中的用戶數(shù)據(jù)。LBA元數(shù)據(jù)例如還可以通過用作ECC編碼的種子而編碼為ECC字節(jié)。折衷是存儲明確存儲的LBA元數(shù)據(jù)在格式效率上花費一些額外字節(jié),而使用其作為ECC種子通過縮小ECC容量而犧牲可靠性。
權利要求
1.一種操作具有將LBA映射到PBA的間接性地址表的數(shù)據(jù)存儲設備的方法,該方法包括 周期性地寫入與盤上的緩沖中寫入的用戶數(shù)據(jù)內(nèi)嵌的盤上的間接性地址表的快照,每個快照包括快照ID,所述快照ID從較早快照中標識了最后快照;并且 在寫入每個快照之后,做出包含了對間接性地址表的后續(xù)改變的變量增量列表,并且將變量增量列表周期性地寫入到盤上的緩沖,每個變量增量列表包括標識最后快照的快照ID0
2.根據(jù)權利要求I所述的方法,進一步包括在緊急斷電之后電源恢復后采取的動作 讀取緩沖以找到間接性地址表的最后快照和最后快照ID ; 讀取在緩沖中包括最后快照ID的每個變量增量列表;以及 使用對記錄在變量增量列表中的間接性地址表的改變,來更新在最后快照中的間接性地址表。
3.根據(jù)權利要求I所述的方法,進一步包括當檢測到緊急的斷電時將變量增量列表保存到預定的非易失性存儲器。
4.根據(jù)權利要求3所述的方法,進一步包括在緊急斷電之后電源恢復后采取的動作 讀取緩沖以找到間接性地址表的最后快照和最后快照ID ; 讀取緩沖中包括了最后快照ID的每個變量增量列表; 讀取在預定的非易失性存儲器中的變量增量列表;并且 使用對記錄在變量增量列表中的間接性地址表的改變,更新在最后快照中的間接性地址表。
5.根據(jù)權利要求I所述的方法,其中,將變量增量列表周期性地寫入到盤上的緩沖進一步包括使用所有的數(shù)據(jù)塊將變量增量列表寫入用戶數(shù)據(jù)塊區(qū)域中。
6.根據(jù)權利要求I所述的方法,其中,周期性地寫入間接性地址表的快照進一步包括使用寫入操作的計數(shù)作為用于寫入快照的觸發(fā)。
7.根據(jù)權利要求I所述的方法,其中,所述數(shù)據(jù)存儲設備是迭瓦式磁記錄(SMR)設備并且所述緩沖是盤上的E區(qū)域中的環(huán)形緩沖。
8.根據(jù)權利要求I所述的方法,其中,所述變量增量列表中的每個項包括時間戳。
9.一種操作具有將LBA映射到PBA的間接性地址表的數(shù)據(jù)存儲設備的方法,該方法包括 周期性地寫入與在盤上的緩沖中寫入的用戶數(shù)據(jù)內(nèi)嵌的盤上的間接性地址表的快照,每個快照包括快照ID,所述快照ID從較早快照中標識了最后快照;并且 將每個PBA中的元數(shù)據(jù)順序?qū)懭刖彌_中,其識別與PBA對應的LBA并且包含用于最后快照的快照ID。
10.根據(jù)權利要求9所述的方法,進一步包括在緊急斷電之后電源恢復后采取的動作 讀取緩沖以找到間接性地址表的最后快照和最后快照ID ; 讀取在緩沖中包括了最后快照ID的具有相應的LBA的PBA的組;以及 更新在最后快照中的間接性地址表以將相應的LBA映射到PBA的組中的PBA。
11.根據(jù)權利要求9所述的方法,其中,周期性地寫入間接性地址表的快照進一步包括使用寫入操作的計數(shù)作為用于寫入快照的觸發(fā)。
12.根據(jù)權利要求9所述的方法,其中,所述數(shù)據(jù)存儲設備是迭瓦式磁記錄(SMR)設備并且所述緩沖是盤上的E區(qū)域中的環(huán)形緩沖。
13.一種使用迭瓦式磁記錄的數(shù)據(jù)存儲設備,包括 將LBA映射到PBA的間接性地址表; 在盤表面上在磁介質(zhì)中的緩沖,包含用戶數(shù)據(jù)和與用戶數(shù)據(jù)內(nèi)嵌的間接性地址表的至少一個快照,所述快照包括快照ID ;和 間接性系統(tǒng),其將具有快照ID的間接性地址表的快照周期性地寫入到緩沖,所述快照ID從較早快照中標識了最后快照。
14.根據(jù)權利要求13所述的數(shù)據(jù)存儲設備,其中,所述間接性系統(tǒng)做出包含了在每個快照寫入之后對間接性地址表的后續(xù)改變的變量增量列表,并且將變量增量列表周期性地寫入到盤上的緩沖,每個變量增量列表包括標識了最后快照的快照ID。
15.根據(jù)權利要求14所述的數(shù)據(jù)存儲設備,進一步包括當檢測到即將來臨的緊急斷電時用于存儲變量增量列表的閃存。
16.根據(jù)權利要求15所述的數(shù)據(jù)存儲設備,其中,所述間接性系統(tǒng)通過讀取緩沖以找到間接性地址表的最后快照和最后的快照ID ;讀取在緩沖中包含了最后快照ID的每個變量增量列表;讀取閃存中的變量增量列表并使用對記錄在變量增量列表中的間接性地址表的改變來更新最后快照中的間接性地址表,而在緊急斷電之后重建間接性地址表。
17.根據(jù)權利要求14所述的數(shù)據(jù)存儲設備,其中,所述變量增量列表中的每項包括時間戳。
18.根據(jù)權利要求14所述的數(shù)據(jù)存儲設備,其中,所述變量增量列表寫入使用所有的數(shù)據(jù)塊的用戶數(shù)據(jù)塊區(qū)域中。
19.根據(jù)權利要求13所述的數(shù)據(jù)存儲設備,其中,緩沖中的每個PBA包括標識與PBA相應的LBA并包含用于最后快照的快照ID的元數(shù)據(jù)。
20.根據(jù)權利要求13所述的數(shù)據(jù)存儲設備,其中,所述緩沖是在盤上E區(qū)域中的環(huán)形緩沖。
全文摘要
描述了一種方法,該方法允許磁盤驅(qū)動器,諸如迭瓦寫入式記錄(SMR)驅(qū)動器在緊急斷電(EPO)之后恢復將LBA映射到PBA的間接性地址表。間接性地址表(IAT)快照與用戶數(shù)據(jù)存儲內(nèi)嵌地周期性地寫入,并且在一個實施例中具有增量地址更新信息的累加變量增量列表(CDL)存儲在快照之間。在本發(fā)明的實施例中,當檢測到即將來臨的斷電時,覆蓋了IAT更新但還沒有寫入到盤的當前CDL保存到非易失性存儲器。與CDL的組結合的IAT快照提供在緊急斷電之后恢復電源時重建當前的間接性地址表所需的信息。在一個替換的實施例中CDL通過包括在編碼地址間接性映射和最后快照ID的扇區(qū)中的元數(shù)據(jù)而被排除。
文檔編號G06F12/08GK102841855SQ20121016283
公開日2012年12月26日 申請日期2012年5月23日 優(yōu)先權日2011年5月23日
發(fā)明者Z.Z.班迪克, Y.卡蘇托, J.D.科克, C.古約特, M.桑維多 申請人:日立環(huán)球儲存科技荷蘭有限公司