分段式讀取-修改-寫入操作的制作方法
【專利摘要】本申請公開了分段式讀取-修改-寫入操作。公開用于分段式讀取-修改-寫入操作的系統(tǒng)、設備、裝置和方法。提供的實施例可以允許系統(tǒng)對于在主存儲器中存儲的數(shù)據(jù)執(zhí)行讀取-修改-寫入(RMW)操作,該數(shù)據(jù)具有能在可用緩沖區(qū)中存儲的較大數(shù)據(jù)尺寸。該系統(tǒng)的示例包括具有搭迭軌道帶的磁盤。在該示例中,每個條帶可以被分成含有一個或多個軌道的分段,并且可以為每個分段執(zhí)行讀取-修改-寫入-寫入(RMWW)操作。進一步,邏輯保護條帶可以被實現(xiàn)為避免分段重寫搭迭帶中的下個軌道。同樣,可實現(xiàn)多個暫存區(qū)。
【專利說明】分段式讀取-修改-寫入操作
【背景技術】
[0001 ] 本公開涉及一種數(shù)據(jù)存儲設備,并且更具體地涉及使用讀取-修改-寫入(RMW)操作的數(shù)據(jù)存儲存儲器,諸如搭迭磁記錄(SMR)。
[0002]發(fā)明概述
[0003]在一個實施例中,一種裝置可包括數(shù)據(jù)存儲介質和控制器,所述數(shù)據(jù)存儲介質包括具有以搭迭方式配置的多個數(shù)據(jù)軌道的軌道條帶,其中至少一個軌道部分重疊相鄰軌道。該控制器可經(jīng)配置以虛擬劃分軌道條帶成至少第一分段和第二分段,每個分段包含至少一個軌道,對所述第一分段執(zhí)行第一讀取-修改-寫入操作,并對所述第二分段執(zhí)行第二讀取-修改-寫入操作。
[0004]在另一實施例中,一種方法可包括:將數(shù)據(jù)存儲介質的軌道的搭迭條帶劃分成至少第一分段和第二分段,每個分段包含至少一個軌道,對所述第一分段執(zhí)行第一讀取-修改-寫入操作,并對所述第二分段執(zhí)行第二讀取-修改-寫入操作。
[0005]在另一個實施例中,一種設備可以包括存儲指令的計算機可讀數(shù)據(jù)存儲介質,當由處理器執(zhí)行時,使所述處理器執(zhí)行一種方法。該方法可包括:將數(shù)據(jù)存儲介質的軌道的搭迭條帶劃分成至少第一分段和第二分段,每個分段包含至少一個軌道,對所述第一分段執(zhí)行第一讀取-修改-寫入操作,并對所述第二分段執(zhí)行第二讀取-修改-寫入操作。
[0006]附圖簡述
[0007]圖1是為分段式讀取-修改-寫入操作設計的系統(tǒng)的示例性實施例的示意圖;
[0008]圖2是用于分段式讀取-修改-寫入操作的搭迭記錄的示例性實施例的示意圖;
[0009]圖3是用于分段式讀取-修改-寫入操作的搭迭記錄的另一示例性實施例的示意圖;
[0010]圖4是用于分段式讀取-修改-寫入操作的搭迭記錄的系統(tǒng)的另一示例性實施例的不意圖;
[0011]圖5是分段式讀取-修改-寫入操作的方法的示例性實施例的流程圖;
[0012]圖6是分段式讀取-修改-寫入操作的方法的示例性實施例的另一流程圖;
[0013]圖7是用于分段式讀取-修改-寫入操作的搭迭記錄的另一示例性實施例的示意圖;
[0014]圖8是用于分段式讀取-修改-寫入操作的搭迭記錄的另一示例性實施例的示意圖。
[0015]發(fā)明詳述
[0016]在本實施例的以下詳細描述中,參考了形成本文一部分并且其中通過具體實施例的圖示進行說明的附圖。但是應當理解的是:在不脫離本發(fā)明的精神和范圍的情況下,可以利用和改變其它實施例。
[0017]圖1描述分段式讀取-修改-寫入操作設計的系統(tǒng)的實施例,一般指定為100。系統(tǒng)100可以包括主機102和數(shù)據(jù)存儲設備(DSD) 104。主機102也可以被稱為主機系統(tǒng)或主機計算機。主機102可以是臺式計算機、膝上型計算機、服務器、平板計算機、電話、音樂播放器、另一電子設備或它們的任意組合。同樣,DSD104可以是任何上面列出的設備,或可是用來存儲或檢索數(shù)據(jù)的任何其它設備,如硬盤驅動器(HDD)或混合型盤驅動器的。主機102和DSD104可以通過接口的方式(諸如有線或無線連接)或者通過局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)進行連接。在一些實施例中,DSD104可以是沒有直接連接到主機102的獨立設備或主機102和DSD104都可以是單一單元的一部分。
[0018]該DSD104可以包括一個或多個非易失性存儲器。在所述實施例中,DSD104可以包括可轉動的磁盤存儲器106中。在其它實施例中,DSD104可以包含其他存儲器或存儲器類型,包括易失性和非易失性固態(tài)存儲器。例如,DSD104可以是具有磁盤存儲器106和非易失性固態(tài)存儲器108的混合HDD。
[0019]在系統(tǒng)100的實施例中,磁盤存儲器106可具有一個或多個區(qū)域,經(jīng)配置以使用搭迭磁記錄(SMR)在搭迭數(shù)據(jù)磁道上存儲數(shù)據(jù)。SMR是記錄系統(tǒng)以提高磁盤上的數(shù)據(jù)記錄密度,從而至少一個數(shù)據(jù)軌道部分重疊相鄰數(shù)據(jù)軌道。參見圖2-4詳細討論SMR。
[0020]SMR是在磁盤上沿徑向方向執(zhí)行寫入操作的方案,其中軌道類似于屋頂板彼此部分重疊。參照圖2,如果假定在在屋頂板寫入方案中按箭頭指示方向執(zhí)行寫入,當在軌道N執(zhí)行寫入時,相鄰軌道N-1是部分重疊的。此外,當對軌道N+1執(zhí)行寫入時,相鄰軌道N被部分重疊。相比于使每個磁跡被寫入沒有任何有意重疊的記錄方法,SMR可以導致增加軌道的每英寸(TPI)特性為存儲介質的徑向方向上的記錄密度。
[0021]此外,SMR可在一個方向產生磁通。因此,如下約束得到滿足:在寫入N軌道之后,N-1軌道不能被寫入。如圖3所示,寫在軌道N之后,如果軌道N-1以搭迭記錄方向的相反方向寫入,由于重疊或相鄰軌道干擾(ATI),軌道N可變得不可讀。因此,在記錄軌道N之后改變記錄到軌道N-1的數(shù)據(jù)或在記錄軌道N+1之后改變記錄到軌道N的數(shù)據(jù)需要不同于非搭迭軌道的寫入策略,其可以簡單地在任何時間覆蓋。
[0022]現(xiàn)在轉到圖4,示出用于分段式讀取-修改-寫入操作的搭迭記錄的系統(tǒng)的另一示例性實施例。旋轉盤介質402可以被劃分成多個區(qū)域(例如區(qū)域1,區(qū)域2,等等),并且每個區(qū)域可以包含多個數(shù)據(jù)軌道。
[0023]由于SMR的單寫入方向,在已寫入軌道N之后寫入給定軌道N-1可需要重寫軌道N -1之后的所有搭迭軌道(即,軌道N,軌道N+1,軌道N2,等等)。為了真實地做到這一點,軌道集可以被分組為“條帶”,條帶結束在保護軌道。在一些實施例中,保護軌道可以是非搭迭軌道,或不用來記錄數(shù)據(jù)的搭迭軌道。當軌道N-1需要被寫入時,通過保護軌道的軌道N-1可以被重寫,而不影響其它條帶的軌道。因此,每個區(qū)域中的軌道可以被劃分成多個條帶。如圖4的示例實施例所描繪,區(qū)域I可以包含條帶條帶O (B_0)至條帶k (B_k),而區(qū)域2可以包含條帶k+1 (B_k+1),條帶k2 (B_k+2)等。在示例實施例中,每個區(qū)域可以包含100個數(shù)據(jù)軌道,以及100個數(shù)據(jù)軌道可以分成每個含有10個軌道的10個條帶。每個軌道可以被進一步劃分成和多個邏輯塊地址(LBA)相關聯(lián)的數(shù)據(jù)扇區(qū),數(shù)據(jù)能夠被存儲到每個LBA。
[0024]在一個實施例中,采用SMR的DSD可接收寫入命令,以覆蓋對應于條帶中搭迭軌道的數(shù)據(jù)扇區(qū)的一個或多個LBA。將要寫入的數(shù)據(jù)可來自主機設備、DSD的介質緩存或其他位置。為了執(zhí)行寫入命令,有必要讀取條帶的多個軌道,根據(jù)寫入命令修改讀取數(shù)據(jù),并然后寫入修改后的數(shù)據(jù)返回條帶。這可以稱為讀取-修改-寫入操作(RMW),或者對于SMR設備更具體地說,條帶讀取寫入操作(BRO)。從軌道讀出的數(shù)據(jù)可以被臨時存儲在易失性存儲器(諸如,緩沖或寄存器)中,在寫回條帶之前它被修改。
[0025]如果寫入命令包括與條帶I中軌道的數(shù)據(jù)扇區(qū)相關聯(lián)的LBA,例如,數(shù)據(jù)可以從條帶I讀出到易失性存儲器,并根據(jù)寫入命令進行修改。如果DSD開始寫入修改后的數(shù)據(jù)傳回條帶1,以及發(fā)生意外停電,某些數(shù)據(jù)可能會永久丟失。例如,如果軌道N已被部分寫入時發(fā)生電源故障,由于相鄰軌道干擾,軌道N+1可能不可讀。由于易失性存儲器中軌道N+1的內容也可能丟失,可能沒有辦法恢復軌道N+1的數(shù)據(jù)。
[0026]避免該問題的一種解決方案可以執(zhí)行讀取-修改-寫入(RMWff ),而非RMW操作。參照圖5,示出讀取-修改-寫入操作的示例性實施例的流程圖,并將其概括指定為500。該方法可涉及:在502,從位于主存儲設備上的條帶I讀取數(shù)據(jù),并將其存儲到緩沖區(qū)。主存儲設備可以是搭迭盤式存儲器,需要RMW操作的非易失性固態(tài)存儲器,或可使用RMW操作的任何其它類型的存儲器。緩沖區(qū)可以是易失性固態(tài)存儲器(諸如,DRAM)或非易失性固態(tài)存儲器(諸如,閃存)。在504,一旦數(shù)據(jù)在緩沖區(qū)中,它可被修改或并入新的或其他數(shù)據(jù)??蓤?zhí)行包括(但不限于)寫入新數(shù)據(jù)、修改現(xiàn)有數(shù)據(jù)、條帶清洗或它們的任何組合的數(shù)據(jù)操作。
[0027]在506,一旦任何修改完成,修改后的數(shù)據(jù)可從緩沖區(qū)寫入到可用的非易失性存儲區(qū)域。在實施例中,這可是磁盤上的暫存區(qū)、不同的非易失性存儲器(諸如,閃存),或者它們的任意組合。進一步,如下所述,多個暫存區(qū)可以被使用、可以具有不同尺寸,并且可或不可在相同的存儲介質上。
[0028]在508,修改后的數(shù)據(jù)也可以被寫回到主存儲設備,到讀取原始數(shù)據(jù)的同一條帶或可寫入到不同的條帶。執(zhí)行RMWff操作增加了一層冗余,以幫助防止數(shù)據(jù)丟失。例如,如果在寫到暫存區(qū)期間發(fā)生斷電,原始數(shù)據(jù)在條帶I中仍然是安全的。如果寫入條帶I期間發(fā)生斷電,則修改后的數(shù)據(jù)在暫存區(qū)中應該是安全的。
[0029]當數(shù)據(jù)從主存儲介質轉移到暫存區(qū)時,本RMWff方法依賴于緩沖區(qū)存儲數(shù)據(jù)。問題可能出現(xiàn)在緩沖區(qū)不夠大,無法容納條帶中將轉移的所有數(shù)據(jù)。這些問題可發(fā)生,因為條帶上任何數(shù)據(jù)片的改變可需要讀或寫整個條帶。例如,當改變100兆字節(jié)條帶上的2千字節(jié)數(shù)據(jù)片時,整個100兆字節(jié)可能需要被讀入或從緩沖區(qū)寫入。條帶尺寸可必須被減少或緩沖區(qū)大小增加以避免緩沖區(qū)容量問題。
[0030]緩沖區(qū)大小問題的解決方案可以是將條帶劃分為所選軌道的讀取分段,用于執(zhí)行_操作。每個分段可以包含多個軌道、軌道部分,其可以是大小固定或動態(tài)的,并且在整個條帶中以升序LBA順序進行指定。當需要執(zhí)行數(shù)據(jù)業(yè)務時,僅分段(而不是整個條帶)可必須進行修改,從而節(jié)省時間和減少緩沖區(qū)大小。
[0031]將條帶分割成分段的缺點在于:條帶內沒有物理保護軌道。沒有保護軌道,當修改軌道N-1時,軌道N的破壞可發(fā)生。為了克服這個問題,邏輯保護軌道可以在分段的結束代替物理保護軌道,允許當寫入多層搭迭數(shù)據(jù)時的控制和靈活性。邏輯保護軌道可以是寬度中的至少一個軌道并可在條帶的用戶可訪問區(qū)內移動。邏輯保護軌道可以浮動的,即當分段進展時它可以移動,進一步,可以在條帶中使用多個邏輯保護軌道。
[0032]當分段(分段I)內的數(shù)據(jù)(包含N個軌道并在軌道A開始)從主存儲器讀取到緩沖區(qū)時,讀取-修改-寫入操作的分段方法可以工作。在各種實施例中,軌道A可以是條帶中第一物理位于的軌道,或者可以是條帶中的另一軌道,因為可以需要重寫的條帶末端的該部分可執(zhí)行RMW操作。例如,如果所有的合并是在條帶的最后3個軌道內,只有這三個磁道可需要被重寫,因為寫入這些不干擾先前產生的軌道(即,如果重疊方向發(fā)生,其中最后一個軌道重疊倒數(shù)第二個軌道)。然而,如果條帶的第一軌道中的數(shù)據(jù)將被改變,該條帶的所有軌道應需要在RMW操作期間被重寫。
[0033]在所選數(shù)據(jù)在緩沖區(qū)之后,可以執(zhí)行數(shù)據(jù)操作來修改數(shù)據(jù),諸如合并任何新數(shù)據(jù)和現(xiàn)有數(shù)據(jù)。一旦數(shù)據(jù)操作完成,修改后的數(shù)據(jù)(包括軌道A到N)可被寫入到第一暫存區(qū)(SpA)0然后,修改軌道A至N-1 (現(xiàn)在在spA中)可被寫入到主存儲器的各個條帶。由于寫入軌道N-1可破壞軌道N,軌道N可考慮主存儲中的邏輯保護軌道,因為軌道N的數(shù)據(jù)在緩沖區(qū)中并也可以當前存儲在spA中。在某些情況下,當在此過程期間執(zhí)行讀操作時,該讀取可指向各個暫存區(qū),因為諸如當在邏輯保護軌道上、軌道N上、主存儲介質上的數(shù)據(jù)可被損壞時,暫存區(qū)中的數(shù)據(jù)可是最近修改或唯一有效的副本。
[0034]此外,第二分段可被選擇用于尚未被修改為當前RMWff操作的下個發(fā)生的軌道,在給定實例中可包含軌道N+1至M。第二分段的數(shù)據(jù)可從主存儲器讀取到緩沖區(qū)并修改,該緩沖區(qū)可以包含軌道N。第二分段可以被寫入到spB,并可產生包含軌道N至M的spB,因為軌道N也可用于緩沖區(qū)。在第二分段被存儲到spB之后,修改的軌道N至M-1可以被寫入到主存儲器。此時,主存儲器上的軌道A至M-1可包含有效數(shù)據(jù),以及M可以是邏輯保護軌道。該過程可以重復多次,直到條帶中的所有分段都進行了 _操作,從而提供整個條帶的完整RMWff操作,當條帶的數(shù)據(jù)容量大于用于執(zhí)行RMWff操作的相關緩沖區(qū)的大小時,這可是有用的。
[0035]參照圖6,示出讀取-修改-寫入操作的分段方法的示例性實施例的流程圖,并將其概括指定為600。在一些實施例中,該方法600可以允許系統(tǒng)對主存儲器中存儲的數(shù)據(jù)執(zhí)行RMW操作,該數(shù)據(jù)和能在相關緩沖區(qū)中存儲的相比具有較大的數(shù)據(jù)大小。參照具有搭迭軌道的條帶的磁道,在以上附圖中示出該系統(tǒng)的示例。該方法600允許每個條帶分割成包含一個或多個軌道,其中每個條帶可以包含比在相關聯(lián)緩沖空間中存儲的更多數(shù)據(jù),并且該方法600對每個分段執(zhí)行讀取-修改-寫入(RMWW)操作并實施邏輯保護條帶。
[0036]在一些實施例中,條帶可被分割為多個虛擬分段,用于對整個條帶執(zhí)行RMWff操作。在方法600中,在602,第一分段可以被讀取并可包括初始軌道,軌道X至軌道Y,其可包含N個軌道。在軌道X至Y (包括X和Y)中分配的數(shù)據(jù)量不應該超過相關聯(lián)的緩沖區(qū)的大小。另外,在軌道X至Y (包括X和Y)不應超過第一暫存區(qū)(spA)的大小。在604,可對緩沖區(qū)中的數(shù)據(jù)執(zhí)行數(shù)據(jù)操作,諸如使用從主機接收的任何新數(shù)據(jù)修改所選軌道的數(shù)據(jù)。
[0037]在606,可執(zhí)行檢查,以確定軌道Y是否是物理保護軌道,這也可以被認為是條帶中的最后軌道,在這種情況下,可不需要邏輯保護軌道。在一些本文所述的示例中,條帶的最后軌道可以被假定為物理保護軌道,但我們可以定義條帶的最后軌道為非保護軌道,并不包括物理保護軌道為定義條帶的一部分,在這種情況下,可以作出對本文給出示例的微小變化來實現(xiàn)相同目的。
[0038]繼續(xù),在608,當Y不是物理保護軌道時,軌道X至Y中的數(shù)據(jù)能被存儲到緩沖區(qū)的spA.在610,當Y是物理保護軌道時,軌道X至Y-1的數(shù)據(jù)可以存儲到spA。這是因為物理保護軌道上的數(shù)據(jù)(如果有的話)可不可讀或不可用,因此物理保護軌道可不包含映射地址的存儲位置。在該過程的將來迭代中,所選數(shù)據(jù)可以被存儲在spB中。
[0039]在612,一旦所選數(shù)據(jù)已經(jīng)被存儲到spA或spB,軌道X至Y_1可被存儲到主存儲設備。在搭迭存儲系統(tǒng)中,寫入Y-1可破壞軌道Y中的數(shù)據(jù),從而導致軌道?破壞,從而將軌道Y的數(shù)據(jù)副本保持在spA或SpB (或需要時,兩者中)可以創(chuàng)建邏輯保護軌道并分段條帶。在將數(shù)據(jù)寫入相應條帶中的軌道Y-1之前,故障寫入磁道Y的數(shù)據(jù)到spA或spB(或其他位置)可導致軌道Y上的數(shù)據(jù)丟失。
[0040]一旦當前分段已被寫入到主數(shù)據(jù)存儲設備,該方法600可確定是否存在還沒有經(jīng)過分段RMWff操作的所選條帶的多個分段。如果對應于所選條段的所有分段已被寫入,以及沒有所選條段的更多分段需要寫入,即,整個條帶或條帶的適用分段進行_操作,在616,該過程可結束。當需要軌道的另一分段時,在618,以Zx遞增X,并以Zy遞增Y。在實施例中,Zx可以等于Y-X+1,以及和Zy可以大于或等于Zx。當Zx等于Y-X+1時,下個分段的新的起點軌道應是高于邏輯保護軌道的一個軌道,先前邏輯保護軌道Y-1的數(shù)據(jù)可以在緩沖區(qū)中或可之前存儲到spA或spB。
[0041]例如,含有6個軌道的分段可已開始在軌道100并結束在軌道105,在軌道105具有邏輯保護軌道。這可導致Zx=6,從而移動第一分段的第一軌道,軌道X,從軌道100到軌道106。當Zy=Zx時,分段中的最后軌道(軌道Y)也移位了六個軌道,從軌道105移動到軌道111。設定Zx=Zy可是可取的,因為分段尺寸在該過程的每個迭代中保持不變。但是,在一些實施例中,在過程的一些或全部迭代期間,使得分段增加軌道大小是有利的,在這種情況下,有必要設置Zy到的值大于或小于Zx。例如,考慮其中包含六個軌道的分段可已開始在軌道100并結束于軌道105的情況,如下遞增:X=X+Zx和Y=Y+Zy,其中,Zx=Y-X+1,Zy=Y-X+2。在該遞增方案中,分段中的第一軌道可以從軌道100移動到軌道106,以及分段中的最后軌道可以由軌道105移動到軌道112,產生的分段包含7個軌道,而不是6個。因此,Zx和Zy可根據(jù)系統(tǒng)選擇改變每次迭代的值,其可對應于最大化在緩沖區(qū)或暫存區(qū)中的效率。
[0042]在X和Y已分別被遞增Zx和Zy之后,可需要確定軌道Y是邏輯保護軌道,在這種情況下,可不需要物理保護軌道。該過程可以被重復,直到到達物理保護軌道或系統(tǒng)已經(jīng)為所有選擇條帶完成了 _操作。因此,暫存區(qū)spA和spB可以在整個過程中交替,無論有多少分段。然而,不存在暫存區(qū)數(shù)目被限制為2的規(guī)則,如果需要可使用更多的暫存區(qū)。
[0043]圖7是讀取-修改-寫入操作的分段方法的示例性實施例。示例性過程開始于軌
并結束在t_last。在此示例中,t_last是所選條帶的最后軌道或物理保護軌道。當條帶經(jīng)過RMW操作時,在702,數(shù)據(jù)可以從軌道t_begin至t_N讀取到執(zhí)行數(shù)據(jù)操作的緩沖區(qū)。也在702,對應于軌道t_begin至t_N的修改數(shù)據(jù)可被存儲到第一暫存區(qū)(spA)。在706,這可確保當軌道t_N-l被重寫時,即使它在主存儲器上已損壞,軌道N的數(shù)據(jù)副本存儲在暫存區(qū);軌道N的數(shù)據(jù)現(xiàn)在被認為是邏輯保護軌道。接著,在708,軌道t_N+l至T_R可以從主存儲讀入緩沖區(qū),修改,并存儲到SPB。然后,數(shù)據(jù)可以被寫入到主存儲器,這可導致在主數(shù)據(jù)存儲介質中存儲的軌道t_begin至T_R-1作為當前RMW操作的一部分,從而軌道T_R成為邏輯保護軌道。
[0044] 該方法可以很容易地擴展以容納不同大小的條帶。在本實施例中,該過程繼續(xù)到條帶的結束。在714,軌道t_last - x+1至t_last-l的數(shù)據(jù)被讀入緩沖區(qū)并修改。由于t_last-x也應該在緩沖區(qū),軌道t_last - x至t_last_l可以被存儲到暫存區(qū)spLAST。暫存區(qū)spLAST可是spA、spB或者完全不同的暫存區(qū)。軌道t_last_x至t_last_l可以寫入到主數(shù)據(jù)存儲介質上的對應軌道1^_1381:-1至t_last_l。當過程到達條帶的最后分段時,可能不需要邏輯磁道保護,因為物理保護軌道可能存在。在所提供的示例中,最后的軌道t_last可以是物理保護條帶,并且不需要被存儲到任何暫存區(qū)。
[0045]參考圖8,示出讀取-修改-寫入操作的分割方法的圖形表示,并且一般指定為800。在所示的特定示例中,系統(tǒng)可寫入兩個數(shù)據(jù)分段,每個分段包括多達六個軌道,但是,可根據(jù)需要寫入更多分段或不同的分段大小。在所示的示例中,第一分段中的軌道可包括軌道100至105,而第二分段中的軌道可包括軌道106至111。
[0046]方法800可包括兩個迭代,或階段,每個階段示出了可以在分段式讀取-修改-寫入操作中執(zhí)行的處理。在第一階段(pass A)802,軌道100至105可以在806從主數(shù)據(jù)存儲裝置讀入緩沖區(qū)。方法800可以執(zhí)行修改、合并或其它數(shù)據(jù)操作,而數(shù)據(jù)在緩沖區(qū)中。接下來,在808,對應于軌道100至105的數(shù)據(jù)可以存儲到spA。在812,軌道100至104然后可以被寫入到主數(shù)據(jù)存儲設備。然后軌道105可是邏輯保護軌道,因為與之對應的數(shù)據(jù)副本可以在緩沖區(qū)中,以及副本可以存儲在spA中,而主數(shù)據(jù)存儲設備上的相應軌道105可由于軌道104的寫入而損壞。
[0047]移動到第二階段(pass B) 804,在814,第二分段可包括軌道111至軌道106,并且可以從主數(shù)據(jù)存儲裝置讀出。在818,對應于軌道106 (或105,因為它也應仍在緩沖區(qū)中)到111的數(shù)據(jù)可以存儲到spB。在820,軌道105到110可隨后被寫入到主數(shù)據(jù)存儲設備的相應軌道。
[0048]回想主數(shù)據(jù)存儲設備的軌道105的有效數(shù)據(jù)仍可以在緩沖區(qū)中,也仍可在spA中。因此,當數(shù)據(jù)軌道105至110在820被寫入到主數(shù)據(jù)存儲設備上的相應軌道,軌道105將使用有效數(shù)據(jù)重寫,并不再是邏輯保護軌道,使得軌道111現(xiàn)在稱為邏輯保護軌道。
[0049]在一些實施例中,可以有多個階段,諸如第三階段(pass C)(未示出),第四階段(pass D)(未示出),等等。在過程中可多次使用暫存區(qū)。例如,spA可以用于過程A,過程C,等等。但是,spA的大小對于每個階段不必相同,它可依賴于分段大小。如果階段C中的分段包含八個軌道,階段A中spA的大小可不同于階段C。
[0050]根據(jù)各種實施例,本文描述的方法可以被實現(xiàn)為在計算機處理器或控制器上運行的一個或多個軟件程序。按照另一個實施例,本文描述的方法可以被實現(xiàn)為在計算設備(諸如,使用盤驅動的個人計算機)上運行的一個或多個軟件程序。專用硬件實現(xiàn)方式包括(但不限于)專用集成電路、可編程邏輯陣列和同樣可以構造成實現(xiàn)本文所描述方法的其它硬件設備。進一步,本文描述的方法可以被實現(xiàn)為包括指令的計算機可讀介質,當執(zhí)行指令時使得處理器執(zhí)行該方法。
[0051]本文所述實施例的說明旨在提供對各種實施例的結構的一般理解。本說明并非旨在作為利用本文描述的結構或方法的裝置和系統(tǒng)的所有元件和特征的完整描述。本領域技術人員在瀏覽本公開之后,許多其它實施例可以是顯而易見的。例如,本文討論的RMW操作的分段可用于使用RMW操作或可比較操作的數(shù)據(jù)存儲設備或存儲介質,諸如固態(tài)存儲器的編程-擦除周期。其它實施例可以被利用并源自本公開內容,使得在不脫離本發(fā)明的精神和范圍下可以進行結構和邏輯替換和改變。而且,盡管具體實施例已被圖示和描述,但應當理解,設計以實現(xiàn)相同或類似目的的任何隨后配置可替代所示的具體實施例。
[0052]本公開內容旨在涵蓋任何及所有的后續(xù)的修改或各種實施例的改變。在本領域技術人員瀏覽本描述之后,上述實施例的組合以及本文中未具體描述的其它實施例將是顯而易見的。此外,該圖示僅是代表性的,并且可以不按比例繪制。圖內的某些比例可被放大,而其它比例可減少。因此,本公開和附圖應被視為說明性的而不是限制性的。
【權利要求】
1.一種裝置,包括: 包括具有以搭迭方式配置的多個數(shù)據(jù)軌道的軌道條帶的數(shù)據(jù)存儲介質,其中至少一個軌道部分重疊相鄰軌道; 控制器,經(jīng)配置以: 虛擬劃分軌道條帶成至少第一分段和第二分段,每個分段包含至少一個軌道; 對所述第一分段執(zhí)行第一讀取-修改-寫入操作;以及 對所述第二分段執(zhí)行第二讀取-修改-寫入操作。
2.如權利要求1所述的裝置,包括: 所述控制器進一步被配置為: 讀出第一分段到緩沖區(qū); 修改在所述緩沖區(qū)中的第一分段的數(shù)據(jù); 寫入第一分段到第一暫存區(qū);以及 寫入小于所有第一分段的部分到對應于數(shù)據(jù)存儲介質上的第一分段的物理相鄰軌道。
3.如權利要求 2所述的裝置,包括: 所述控制器進一步被配置為: 讀取第二分段到緩沖區(qū); 修改在緩沖區(qū)中的第二分段的數(shù)據(jù); 寫入包括第一分段的至少最后軌道的第二分段到第二暫存區(qū),以及 寫入小于所有第二分段的部分到對應于數(shù)據(jù)存儲介質上的第二分段的物理相鄰軌道。
4.根據(jù)權利要求3所述的裝置,其中,小于所有所述第一分段的所述部分是第一分段減去第一粉拳的最后相鄰軌道。
5.如權利要求4所述的裝置,其中,小于所有所述第二分段的所述部分是第二分段減去第二分段的最后相鄰軌道。
6.如權利要求1所述的裝置,其中: 所述控制器進一步被配置為: 重復執(zhí)行任何附加段的讀取-修改-寫入-寫入操作,直到條帶內的所有軌道通過相應的讀取-修改-寫入-寫入操作;以及 當分段的最后軌道是分離條帶與不在條帶內的其他軌道的物理保護帶時,停止對條帶執(zhí)行讀取-修改-寫入-寫入操作。
7.如權利要求1所述的裝置,進一步包括: 第一暫存區(qū); 第二暫存區(qū);和 所述控制器進一步被配置為:在第一讀取-修改-寫入-寫入操作期間寫入第一分段到第一暫存區(qū),并在第二讀取-修改-寫入-寫入操作期間寫入第二分段到第二暫存區(qū)。
8.如權利要求7所述的裝置,包括: 所述控制器進一步被配置為:對條帶的其他分段的進一步讀取-修改-寫入-寫入操作操作,交替寫入第一暫存區(qū)和第二暫存區(qū)。
9.如權利要求1所述的裝置,進一步包括: 第一分段包括條帶的物理相鄰軌道的第一范圍;第二分段包括條帶的物理相鄰軌道的第二范圍,以及 所述第二分段的第一軌道鄰近所述第一分段的最后軌道。
10.一種方法,包括: 將數(shù)據(jù)存儲介質的軌道的搭迭條帶劃分成至少第一分段和第二分段,每個分段包含至少一個軌道; 執(zhí)行第一分段的第一讀取-修改-寫入-寫入操作過程,以及 執(zhí)行第二分段的第二讀取-修改-寫入-寫入操作過程。
11.如權利要求10所述的方法,進一步包括:所述數(shù)據(jù)存儲介質包括具有以如下形式配置的多個重疊數(shù)據(jù)軌道的軌道的多個搭迭條帶:至少一個軌道部分重疊相鄰軌道。
12.如權利要求10所述的方法,進一步包括:在所述第一讀取-修改-寫入-寫入操作和第二讀取-修改-寫入-寫入操作之間執(zhí)行邏輯保護條帶。
13.如權利要求10所述的方法,進一步包括: 對任何附加分段 執(zhí)行讀取-修改-寫入-寫入(RMWW)操作,直到搭迭帶內的所有軌道經(jīng)過相應的讀取-修改-寫入-寫入操作;和 當分段的最后軌道是分離條帶與不在條帶內的其他軌道的物理保護帶時,停止對條帶執(zhí)行讀取-修改-寫入-寫入操作。
14.如權利要求13所述的方法,進一步包括:在對應于兩個連續(xù)的讀取-修改-寫入-寫入操作段之間實施浮動邏輯保護條帶。
15.如權利要求13所述的方法,進一步包括:實施浮動邏輯保護條帶和移動浮動邏輯保護條帶到最后處理經(jīng)過RMWff操作的分段和處理經(jīng)過RMWff操作的下個分段之間。
16.如權利要求10所述的方法,進一步包括: 第一讀取-修改-寫入-寫入操作過程中寫入所述第一分段到第一暫存區(qū),以及 在第二讀取-修改-寫入-寫入操作過程中寫入所述第二分段到第二暫存區(qū)。
17.如權利要求16所述的方法,進一步包括:對于對應于搭迭條帶的其他分段的其他讀取-修改-寫入-寫入操作的交替迭代,交替寫入到第一暫存區(qū)和第二暫存區(qū)。
18.一種裝置,包括: 存儲指令的計算機可讀數(shù)據(jù)存儲介質,當由處理器執(zhí)行時,使所述處理器執(zhí)行方法,包括: 劃分數(shù)據(jù)存儲介質的軌道的搭迭條帶成至少第一分段和第二分段,每個分段包含至少一個軌道; 對所述第一分段執(zhí)行第一讀取-修改-寫入操作;以及 對所述第二分段執(zhí)行第二讀取-修改-寫入操作。
19.如權利要求18所述的裝置,其中: 所述計算機可讀數(shù)據(jù)存儲介質存儲指令,當由處理器執(zhí)行時,使所述處理器執(zhí)行所述方法進一步包括: 在第一讀取-修改-寫入-寫入操作和第二讀取-修改-寫入-寫入操作之間實施邏輯保護條帶,其中,在第二讀取-修改-寫入-寫入操作完成之后,所述邏輯保護條帶不是物理保護條帶。
20.如權利要求18所述的裝置,其特征在于:所述計算機可讀數(shù)據(jù)存儲介質存儲指令,當由處理器執(zhí)行時,使所述處理器執(zhí)行所述方法進一步包括: 在第一讀取-修改-寫入-寫入操作過程中寫入所述第一分段到第一暫存區(qū),以及 在第二讀取-修 改-寫入-寫入操作過程中寫入所述第二段到第二暫存區(qū)。
【文檔編號】G11B5/02GK104050975SQ201410093970
【公開日】2014年9月17日 申請日期:2014年3月14日 優(yōu)先權日:2013年3月15日
【發(fā)明者】A·威卡爾 申請人:希捷科技有限公司