專利名稱:磁帶上多磁道記錄的重寫高效ecc/交錯的制作方法
技術領域:
本發明一般地涉及格式化要記錄到磁帶上的數據,具體地說,涉及可調整的ECC 格式化和交錯過程,以便適合每個磁頭具有8的倍數個轉換器/傳感器以便同時對8的倍數個磁道進行讀取和寫入的磁帶驅動器。
背景技術:
第3和4代線性磁帶開放協議(LTO)格式使用基于2維產品代碼的糾錯碼(ECC)。 Cl代碼沿2維度組的行排列。它是長度為240的偶數/奇數交錯里德-所羅門(RS)代碼, 產生長度為480的行。C2代碼沿數組的列排列。它是長度為64并且維度為M的RS代碼。 代碼字是大小為64X480的2維度組,并且它們在LTO標準中被稱為子數據集。預期未來一代驅動器將同時在超過16個的磁道上進行寫入。但是,所有當前各代的LTO格式(第1 代至第4代)都基于上述C編碼方案,此方案及其關聯的交錯無法適應未來的磁帶驅動器系統,這些系統將支持每個磁頭具有16、24、32或48 (或8的其他倍數)個轉換器/傳感器的磁頭以便分別讀取/寫入16、24、32或48(或8的其他倍數)個并發磁道。此外,預期未來各代驅動器將使用具有這樣的行的更長子數據集所述行包括長度為960的4路代碼字交錯(CWI-4)而不是2路偶數/奇數代碼字交錯(CWI-幻(被稱為LTO格式(第1代至第 4代)的代碼字對)。在第1代至第4代LTO中,這些CWI-2被賦予代碼字對標頭并被分組成各對以形成代碼字對象(CO)。當發生寫入失敗時,全部CO被重寫。如果將相同的CO重寫策略應用于包括CWI-4的子數據集行,則存在效率損失,因為每個CO的兩個CWI-4通常只有一個存在故障,而另一個CWI-4不需要被重寫。由于CWI-4的長度是CWI-2的長度的兩倍,因此前者情況中的效率損失大約是后者情況中的效率損失的兩倍。
發明內容
本發明提供了用于將數據寫入多磁道磁帶的方法、裝置和計算機程序產品。在一個實施例中,一種方法包括接收包含數據集的用戶數據符號流并將所述數據集分割成多個 (S個)未編碼的子數據集,每個子數據集包括具有K2個行和Kl個列的數組。對于每個未編碼的子數據集,針對子數據集的每個行生成Nl-Kl個Cl奇偶校驗字節,這些字節被附加到該行的末端以形成具有長度m的編碼后的Cl代碼字。類似地,對于每個未編碼的子數據集,針對所述子數據集的每個列生成N2-K2個C2奇偶校驗字節,這些字節被附加到該列的末端以形成具有長度N2的編碼后的C2代碼字,由此生成具有N2個Cl代碼字的編碼后的子數據集。每個數據集的所有SXN2個Cl代碼字被賦予特定的代碼字標頭以形成多個 (SXN2個)部分代碼字對象(PC0)。根據每個PCO的標頭內的信息,將該PCO映射到邏輯數據磁道。在每個邏輯數據磁道上,相鄰PCO被合并以形成C0,每個CO包括至少兩個相鄰 PCO0每個CO被調制編碼,并通過添加各種同步模式而被映射成同步后的CO。T個同步后的CO然后被同時寫入磁帶,其中T等于磁帶上的并發活動磁道的數量。在另一個實施例中,一種數據存儲磁帶設備包括主機接口,通過該主機接口接收包括數據集的用戶數據符號流;以及分割模塊,其可操作以將所述數據集分割成多個(S 個)未編碼的子數據集,每個子數據集包括具有K2個行和Kl個列的數組。Cl編碼器可操作以針對子數據集的每個行生成m-κι個Cl奇偶校驗字節并將所述Cl奇偶校驗字節附加到該行的末端以形成具有長度W的編碼后的Cl代碼字,C2編碼器可操作以針對所述子數據集的每個列生成N2-K2個C2奇偶校驗字節并將所述C2奇偶校驗字節附加到該列的末端以形成具有長度N2的編碼后的C2代碼字,由此生成具有N2個Cl代碼字的編碼后的子數據集。部分代碼字對象格式化器可操作以從S個編碼后的子數據集形成多個(SXN2個) 部分代碼字對象(PCO),每個PCO包括標頭和Cl代碼字。部分代碼字對象交錯器可操作以根據每個PCO的標頭內的信息將該PCO映射到邏輯數據磁道。代碼字對象格式化器可操作以在每個邏輯數據磁道上將相鄰PCO合并成C0,每個CO包括至少兩個相鄰PC0。調制編碼器可操作以將所述CO編碼成同步后的C0,所述同步后的CO除了調制編碼后的CO之外還包含各種同步模式。寫入通道包括寫入磁頭并可操作以將T個同步后的CO同時寫入磁帶,其中T等于所述磁帶上的并發活動磁道的數量。
圖1是可用于實現本發明的磁帶驅動器的方塊圖;圖2是包括交錯Cl和C2ECC的編碼后的子數據集的示意表示;圖3是通用化用于從用戶數據符號流形成數據集布局的第4代LTO標準的組件的方塊圖;圖4A和4B分別是未編碼和編碼后的子數據集的示意表示;圖5是可與本發明一起使用的[96,84,13]-RS碼的C2編碼器的邏輯圖;圖6示出了第4代LTO數據格式的代碼字對象(CO);圖7示出了基于CO交錯的沿記錄介質的16個磁道分布子數據集的實例;圖8示出了本發明的PCO ;圖9是用于從用戶數據符號流形成數據集布局的本發明的組件的方塊圖;圖10示出了本發明的備選CO;圖11示出了基于PCO交錯的沿記錄介質的16個磁道分布子數據集的實例;圖12示出了第4代LTO數據格式的同步后的CO;圖13示出了本發明的備選同步后的CO;以及圖14是示出PCO、CO和同步后的CO的編碼過程和生成的流程圖。
具體實施例方式將本說明書中描述的某些功能單元標記為模塊,以便更具體地強調它們的實現無關性。例如,模塊可以被實現為包括定制VLSI電路或門陣列、諸如邏輯芯片、晶體管或其他分離組件之類的現用半導體的硬件電路。模塊還可以在諸如現場可編程門陣列、可編程陣列邏輯、可編程邏輯器件之類的可編程硬件器件中實現。模塊還可以在軟件中實現,以便由各種類型的處理器執行。例如,標識的可執行代碼模塊可以包括一個或多個物理或邏輯的計算機指令塊,所述塊可以例如組織為對象、過程或功能。可執行代碼模塊可以是單個指令或多個指令,并且甚至可以分布在數個不同的代碼段上、多個不同的程序中,以及跨多個存儲設備。此外,本發明的所述功能、結構或特性可以以任何適當的方式組合在一個或多個實施例中。在以下說明中,提供了大量特定的詳細信息,如編程、軟件模塊、硬件模塊、硬件電路等的實例,以便徹底理解本發明的實施例。但是,相關領域的技術人員將認識到,可以在沒有一個或多個特定細節的情況下實現本發明,或者可以通過其他方法、組件等實現本發明。在其他情況下,未詳細示出或描述公知的結構、材料或操作以避免使本發明的各方面變得模糊不清。圖1是其中可結合本發明的數據磁帶驅動器100的高級方塊圖。要記錄的數據通過主機接口 102從主機(未示出)傳輸到驅動器100。數據在Cl編碼器104中經歷第一次編碼并被傳送到DRAM緩沖器控制器106。Cl編碼后的數據在C2編碼器108中經歷第二次編碼并被存儲在DRAM緩沖器110中。數據隨后被存儲在SRAM緩沖器112中并在格式化器 114中被格式化。格式化后的數據先后被發送到寫入通道和寫入磁頭118,寫入磁頭118將數據記錄到磁帶120上。從磁帶120讀回數據時,讀取磁頭122檢測數據并將其傳送到讀取通道。數據然后在反格式化器1 中被處理,并且CO在檢驗器1 中被檢驗。數據然后被解碼并被發送到發出請求的主機。線性磁帶開放協議(LTO)格式基于數據集(寫入磁帶的最小單位)和子數據集的概念。數據集包含兩種類型的數據用戶數據和有關數據集的管理信息,后者在數據集信息表(DSIT)中。所有數據由糾錯碼(ECC)保護以最小化由于錯誤或缺陷導致的數據丟失。 數據集包括多個子數據集,每個子數據集包含在行中排列的數據。子數據集行可以包含用戶數據或包含DSIT。如圖2中所示,每個行包括兩個交錯字節序列。單獨針對每個行的偶數字節和奇數字節計算第一級ECC(ClECC)。得到的ClECC偶數和奇數奇偶校驗字節也以交錯方式被附加到對應的行。ECC保護的行是代碼字對(CWP)。偶數字節形成偶數Cl代碼字而奇數字節形成奇數Cl代碼字。針對每個列計算第二級ECC(C2ECC)并將得到的C2ECC奇偶校驗字節附加到對應的列。ECC保護的列是C2代碼字。當由Cl和C2ECC如此保護時,子數據集是寫入磁帶的最小ECC保護的單位。每個子數據集相對于ECC而言都是獨立的;即,一個子數據集中的錯誤僅影響該子數據集。任何ECC算法的功能取決于奇偶校驗字節數并根據其糾正能力進行聲明。對于針對Cl代碼字計算的給定數量的m-κι個Cl奇偶校驗字節,最多可以在該代碼字的兩個交錯的每一個中糾正floor((附-Kl)/4)個錯誤,其中floor(X)表示實數χ的整數部分。而且,對于針對C2代碼字計算的給定數量的Ν2-Κ2個C2奇偶校驗字節,最多可以在該C2代碼字中糾正 floor((N2-K2)/2)個錯誤或 N2-K2 個疑符(erasure)。將理解的是,同一子數據集中的多個錯誤會完全超過Cl或C2糾正功能的能力,以致于在讀取數據時發生錯誤。錯誤可能由非常小的事件(例如小顆粒或小的介質缺陷)導致。錯誤還可能由較大的事件(例如劃痕、跟蹤錯誤或機械原因)導致。為了減小單個較大錯誤將影響單個子數據集中的多個代碼字的可能性,一些寫入方法在磁帶表面的橫向和縱向將來自每個子數據集的代碼字盡可能遠離地放置。因此,在超出ECC糾正能力之前,單個錯誤將只影響來自同一子數據集的多個代碼字。來自同一子數據集的代碼字的空間分隔會降低風險并針對多磁道記錄格式采用以下方式實現。對于同時記錄的一組磁道的每個磁道,通過將來自一個子數據集的代碼字對與來自不同子數據集的代碼字對相組合來形成代碼字四元組(CQ)。得到的CQ被寫入多個記錄磁道中的一個上。 同樣地,通過組合代碼字對針對所有剩余磁道形成CQ,所有代碼字對均來自不同子數據集。 同時寫入的一組CQ被稱為CQ集。如圖3的方塊圖中所示,通過在數據集分割模塊302中分割用戶數據符號流而形成指定固定大小的數據集。該數據集被進一步劃分為S個未編碼的子數據集。子數據集結構與基于C1/C2產品代碼的ECC模塊304匹配。未編碼的子數據集包括大小為K2XK1的2 維字節數組,其中Kl和K2分別是Cl和C2代碼的維度(圖4A)。Cl編碼器306對行進行操作并將奇偶校驗字節添加在每個行中。C2編碼器308對Cl編碼后的列進行操作并將奇偶校驗附加在每個列中。得到的C1/C2編碼后的子數據集是N2xm字節數組,其中m和 N2分別是Cl和C2代碼的長度(圖4B)。C2編碼器308的編碼可以由線性反饋移位寄存器(LFSR) 500執行,如圖5中所示, 線性反饋移位寄存器500的反饋系數由[96,84,13]-RS碼的生成多項式給出。LFSR 500的初始狀態為全零狀態。借助對通過LFSR的所有系統K2 = 84個數據字節進行計時并讀出寄存器RO至Rll來獲得RS代碼字的R-K2 = 12個奇偶校驗字節。在第3和4代LTO中,S = 64個子數據集(或代碼字)形成數據集(此),Cl代碼具有長度附=480并且C2代碼具有長度N2 = 64。DS內的Cl代碼字完全由子數據集 (SDS)編號(在范圍0至S-I中)和子數據集(代碼字數組)內的行數確定。在第3和4 代LTO中,此分配被稱為代碼字對指定。它由以下表達式確定Cl-codeword_number = SDS_number+64 X row_number, (1)其中SDS_number = 0,1,2,· · ·,S-1 且 row_number = 0,1,. · ·,63。對于第 3 和 4 代 LTO,Cl-codeword_number 索引采取 0 至 4095 的值。如圖6中所示的結構600是代碼字對象(CO)結構并反映包括Cl代碼字和關聯標頭的基本單元的組織。從ECC模塊304,CO格式化器310形成C0,所述CO包括兩個10字節標頭602、 604以及每個DS的SXN2 = 4096個Cl代碼字中的兩個Cl代碼字606、608。因此,存在 SXN2/2 = 2048個⑶,編號從0至2047。具有索引C0_number的CO結構600包含具有按如下方式相關的索引Cl-codeworcLnumber的兩個Cl代碼字。第一和第二個Cl代碼字的索弓I Cl_codeword_number_0 禾口 Cl_codeword_number_l 分別由以下表達式給出Cl-codeword_number_0 = 2 X C0_number (2)Cl-codeword_number_l = 2 X C0_number+1 (3)因此,CO中的兩個Cl代碼字從具有連續SDS_number索引的兩個SDS中獲得。CO以多批T個CO的形式被同時寫入磁帶,其中T是并發活動磁道的數量。CO交錯器312為DS的每個⑶分配范圍在0,1,...,T-I中的邏輯磁道號t。因此,DS的SXN2A 個CO根據其連續C0_number索引被分組成多批T個C0,然后這些批被寫入T個活動磁道。 由此,每個批的一個⑶以一對一方式被寫入T個磁道中的一個,這由CO交錯器312確定。通過根據以下公式為每個具有索引η = C0_number的CO分配邏輯磁道號t來確定CO交錯器t = mod(7floor(2n/S)+n, Τ) (4)
其中floor (χ)表示實數χ的整數部分,mod (a,T)表示除以T后的余數,其中余數在范圍0,1,. . .,T-I中。在圖7中,通過沿T = 16個邏輯磁道顯示數據集布局,針對具有S = 32個SDS的 DS示出了基于以上公式的CO交錯的結果。96個正方形對應于具有SDS_number 0和 1的SDS的96個CO。將指出的是,沿磁帶的交錯器粒度為C0,S卩,χ軸以CO長度來衡量。 由于T = 16個磁道被同時寫入,因此C0_number = η的CO將在距離DS開始的位置j = floor (η/Τ)處。因為考慮到重寫,希望具有比CO更小的重寫單位。為此,定義了部分代碼字對象 (PCO),如圖8中所示,以便包括CWI和CWI標頭,CWI標頭包含由公式(4)指定的對應CWI_ number(在圖中為4)。圖9示出了具有PCO交錯的寫入路徑中的數據流。與圖3中示出的數據流一樣, 通過在數據集分割模塊902中分割用戶數據符號流形成指定固定大小的數據集。該數據集被進一步劃分為S個未編碼的子數據集。子數據集結構與基于C1/C2產品代碼的ECC模塊 904匹配。Cl編碼器906對行進行操作并將奇偶校驗字節添加在每個行中,C2編碼器908 對Cl編碼后的列進行操作并將奇偶校驗附加在每個列中以生成C1/C2編碼后的子數據集。從ECC模塊904,PCO格式化器910形成PC0。圖8中所示的PCO包括12字節CWI 標頭和960字節CWI。由于每個數據集具有S X N2ACWI,因此每個數據集也具有S X N2 fPCO。根據每個PCO的標頭內的信息將該PCO映射到邏輯數據磁道。PCO交錯器912對PCO進行操作并將它們映射到T個并發邏輯磁道。在每個邏輯數據磁道上,在CO格式化器914中合并相鄰P⑶以形成⑶,每個CO包括至少兩個相鄰PC0。 因此,PCO交錯器912在CO格式化器914之前操作,CO格式化器914將沿同一磁道的相鄰 PCO對分組成CO (參見圖10)。通過根據以下公式為每個具有索引m = CWI_number的PCO分配邏輯磁道號t來確定PCO交錯器912 t = mod (7floor (m/S) +m, Τ) (5)。通過使用以下具有預定義函數f(.)和g(.)的公式獲得更通用的PCO交錯器t = mod (7floor (f (m) /S) +g (m),Τ) (6)。公式(5)是(6)的特例,其中f(m) =m并且g(m) = m。另一個有趣的通用公式實例為t = mod (7floor (m/S) +floor (m/2),Τ) (7)。將指出的是,通過使用CWI索引m = CWI_number與⑵和(3)中給出的CO索引 η = C0_number的關系從⑷中獲得(7)。在圖11中,通過沿T = 16個邏輯磁道顯示數據集布局,針對具有S = 32個SDS 的DS示出了基于(7)的PCO交錯的結果。具有SDS_number 0的SDS的N2 = 96個PCO由點表示,而SDS 1的96個PCO由十字標記。圖11中由點和十字表示的連續PCO對應于圖7 中由正方形表示的C0。這說明了 CO交錯器(4)和PCO交錯器(7)的等效性。在圖11中, 沿磁帶的交錯器粒度為PC0,S卩,χ軸以PCO長度來衡量。由于T = 16個磁道被同時寫入, 因此CWI_number = m的PCO將在距離DS開始的位置i = floor (m/T)處。細致了兩倍的交錯器粒度具有的優點是在重寫期間,PCO而不是CO被重寫,這允許將由于重寫導致的丟失減少大約兩倍。如從數據集布局中顯而易見的,存在T個被同時寫入T個邏輯磁道的PC0。每個此類具有τ個PCO的集合被稱為PCO集。每個數據集具有S X N2個PC0,因此具有S X N2/T個 PCO集。數據集布局中的所有PCO集從0標記到SXN2/T-1。每個CWI_number m確定PCO 集索引i = floor (m/T) 相反,每個CWI_number m由磁道號t和PCO集索引i = floor (m/ Τ)唯一地確定。這種“反向映射”是用于表征PCO交錯的等效方法。具體地說,(7)的反向映射由以下公式給出m = mod(i,2)+2T floor (i/2) +2mod (t-7mod (floor (i/2), Τ), T) (8)。CO交錯器的粒度不同于PCO交錯器的粒度;前者基于C0_number η的自然排序, 而后者基于CWI_number m的自然排序。CO格式化器提供了 C0_number與CWI_number之間的鏈接。但是,CO格式化器的關系式(2)和(3)不符合C0_number和CWI_number的自然排序,例如根據CCUumber排序,具有索引0和1的連續CWI不被同時寫入磁帶。首先,具有索引0的CWI與具有CWI_number 2、4、. . .、2T_2的T-I個CWI被同時寫入;然后,具有索引1的CWI與具有CWI_number 3、5、. . .、2T_1的T-1個CWI被同時寫入。因此,為生成DS 布局,C0_number η的連續順序的進行與CWI_number m的連續順序的進行不同。為了克服這種差異并且為了獲得完全相同的DS布局,可以將固定置換(permutatiorOp應用于包含所有CWI索引的集合,S卩,應用于集合{0,1,...,SXN2-1},這將實現所需的重新排序。具體地說,此置換由以下公式給出p(m) = 2T floor (m/(2T))+T mod (m, 2) +floor (mod (m, 2T) /2) (9)。其中mod(a,b)表示a除以b后的余數。因此,當使用CWI_number m作為DS布局的參考時,需要結合重新排序置換,并且通用PCO交錯器公式(6)中的兩個函數為f(m)= p(m)和g(m) = floor (ρ (m)/2)。這表明通用化的CWI交錯器可以生成與基于(4)的CO交錯器相同的數據集布局。以上PCO交錯器的設計基于(5)或(7)。通過修改這些等式,可以獲得備選的PCO 交錯器。以下針對τ = 16個磁道、C2長度N2 = 96以及每個數據集S = 32個子數據集提供了此類備選PCO交錯器的描述。從CWI_nUmber m到磁道號的“直接映射”由t = m0d{2fl00 r(m/2)+6floor(m/32)+mod[floor(m/16),2]+mod[floor(m/256),2]-2mod[floor(m/256), 2]X mod[floor(m/16),2],16} (10)以及i = fl00r(m/T)給出的PCO集分配來定義。為每個PCO集索弓丨i 和邏輯磁道t分配CWI_number m的反向交錯映射由m = 32floor (i/2)+mod(i, 2)+2mod[5floor (i/2)+floor (t/2) ,8]+16mod[mod(t,2)+mod(floor (i/16) ,2) ,2] (11)給出。此映射在表1中示出。陰影單元對應于子數據集號0的PC0。從表1,PC0對如何被圖9中所示的CO格式化器914分組成CO是顯而易見的。即,對于固定邏輯磁道號t,具有PCO索引2i和2i+l的兩個PCO被組合成CO并按此順序被寫入磁帶。例如,具有CWI索引(16,17)和(58,59)的兩個P⑶對被分組成兩個連續⑶,然后被寫入邏輯磁道t = 1。具有備選方法來執行將PCO對分組成C0。例如,每個CO內的PCO對可以被交換, 因此具有奇數PCO索引2i+l的PCO在具有偶數PCO索引2i的那些PCO之前被寫入。此外,此類交換可以是PCO索引i的函數,例如,如果PCO索引i在范圍{32,33,...,63}、{96, 97,... ,127}和{160,161,... ,191}中,則CO內的所有PCO被交換。此類特定交換規則可以容易地被結合到反向交錯器映射中。例如,通過使用項mod (mod (i,2) +mod (floor (i/32), 2),2)替換(11)右側的項mod(i,2)而獲得先前的PCO索引相關的交換。因此,獲得了修改后的CWI_Number分配表。此修改后的表與表1的不同之處在于,交換具有在范圍{32, 33,· · ·,63}、{96,97, · · ·,127}和{160,161,· · ·,191}中的 PCO 索引 i 的所有 PCO 對。表 1具有T = 16個磁道、C2長度N2 = 96以及S = 32個子數據集的備選PCO交錯器的 CWI_Number 分配
權利要求
1.一種用于將數據寫入多磁道數據磁帶的方法,包括 接收用戶數據符號流,所述流包括至少一個數據集;將每個數據集分割成多個-即S個-未編碼的子數據集,每個子數據集包括具有K2個行和K1個列的數組;對于每個未編碼的子數據集針對子數據集的每個行生成N1-K1個Cl奇偶校驗字節并將所述Cl奇偶校驗字節附加到該行的末端以形成具有長度N1的編碼后的Cl代碼字;以及針對所述子數據集的每個列生成R-K2個C2奇偶校驗字節并將所述C2奇偶校驗字節附加到該列的末端以形成具有長度隊的編碼后的C2代碼字,由此生成具有隊個Cl代碼字的編碼后的子數據集;從S個編碼后的子數據集形成多個(SXRf)部分代碼字對象(PCO),每個PCO包括標頭和Cl代碼字;根據每個PCO的標頭內的信息將該PCO映射到邏輯數據磁道; 在每個邏輯數據磁道上,合并相鄰PCO以形成代碼字對象(CO),每個CO包括至少兩個相鄰PCO ;對所述CO進行調制編碼并添加同步模式以獲得T個同步后的C0,其中T是所述數據磁帶上的并發活動磁道的數量;以及將T個同步后的CO同時寫入所述數據磁帶。
2.如權利要求1中所述的方法,其中映射每個PCO包括根據公式t= mod (7f Ioor (f (m) /S) +g (m),Τ)向每個具有索引m = CWI_number的PCO分配邏輯磁道號t, 其中floor(X)表示實數χ的整數部分,并且mod (a,Τ)表示除以T后的余數,其中所述余數在范圍0,1,. . .,T-I內。
3.如權利要求2中所述的方法,其中f(m)=m并且g(m) = m。
4.如權利要求2中所述的方法,其中f(m)= m并且g(m) = floor (m/2)。
5.如權利要求2中所述的方法,還包括將具有CWI_number= m的PCO寫入所述磁帶的位置 i = floor (m/T)處。
6.如權利要求2中所述的方法,將每個PCO映射到邏輯數據磁道由m= mod(i,2)+2T floor (i/2) +2mod(t-7mod(floor (i/2), T),T)來表征,其中 PCO-集合索引 i = floor (m/ Τ)。
7.如權利要求1中所述的方法,其中T= 16、N2 = 96且S = 32,并且其中進一步映射每個 PCO 包括根據 t = mod {2fIoor (m/2) +6fIoor (m/32) +mod [floor (m/16), 2)]+mod[floor(m/256),2]-2mod[floor(m/256),2]Xmod[floor(m/16),2],16}來將 PCO 從CW交錯號m映射到磁道號。
8.如權利要求7中所述的方法,將每個PCO映射到邏輯數據磁道由m= 32floor(i/2)+mod(i,2)+2mod[5fIoor(i/2)+fIoor(t/2),8]+16mod [mod (t, 2)+mod(floor(i/16),2),2]來表征。
9.一種數據存儲磁帶設備,包括主機接口,通過該主機接口接收包括數據集的用戶數據符號流; 分割模塊,其可操作以將所述數據集分割成多個-即S個-未編碼的子數據集,每個子數據集包括具有K2個行和K1個列的數組;Cl編碼器,其可操作以針對子數據集的每個行生成N1-K1個Cl奇偶校驗字節并將所述 Cl奇偶校驗字節附加到該行的末端以形成具有長度N1的編碼后的Cl代碼字;C2編碼器,其可操作以針對所述子數據集的每個列生成R-K2個C2奇偶校驗字節并將所述C2奇偶校驗字節附加到該列的末端以形成具有長度隊的編碼后的C2代碼字,由此生成具有隊個Cl代碼字的編碼后的子數據集;部分代碼字對象(PCO)格式化器,其可操作以從S個編碼后的子數據集形成多個 (S X N2個)PC0,每個PCO包括標頭和Cl代碼字;PCO交錯器,其可操作以根據每個PCO的標頭內的信息將該PCO映射到邏輯數據磁道; 代碼字對象格式化器,其可操作以在每個邏輯數據磁道上將相鄰PCO合并成C0,每個 CO包括至少兩個相鄰PCO ;調制編碼器,其可操作以將所述CO編碼成同步后的CO ;以及寫入通道,其包括寫入磁頭并可操作以將T個同步后的CO同時寫入所述磁帶,其中T 等于數據存儲磁帶上的并發活動磁道的數量。
10.如權利要求9中所述的數據存儲磁帶設備,其中所述PCO交錯器可操作以通過根據公式 t = mod (7f Ioor (f (m) /S) +g (m), Τ)向每個具有索引 m = CWI_number 的 PCO 分配邏輯磁道號t來將每個PCO映射到邏輯數據磁道,其中floor (χ)表示實數χ的整數部分,并且 mod (a, Τ)表示除以T后的余數,其中所述余數在范圍0,1,...,T-I內。
11.如權利要求10中所述的數據存儲磁帶設備,其中f(m)=m并且g(m) = m。
12.如權利要求10中所述的數據存儲磁帶設備,其中f(m)=m并且g(m)= floor(m/2)。
13.如權利要求10中所述的數據存儲磁帶設備,其中所述寫入通道通過將具有CWI_ number = m的PCO寫入所述磁帶的位置i = floor (m/T)處而將T個同步后的CO同時寫入所述磁帶。
14.如權利要求9中所述的數據存儲磁帶設備,其中T= 16、N2 = 96且S = 32,并且其中進一步地,所述 PCO 交錯器通過根據 t = mod {2fIoor (m/2) +6fIoor (m/32) +mod[floor (m/16),2)]+mod[floor(m/256),2]_2mod[floor(m/256),2]X mod[floor(m/16),2],16}將 PCO從CW交錯號m映射到磁道號來映射每個PC0。
15.如權利要求14中所述的數據存儲磁帶設備,其中所述PCO交錯器將每個PCO映射到邏輯數據磁道由 m = 32floor (i/2) +mod (i,2) +2mod [5floor (i/2) +floor (t/2), 8]+16mod[mod(t,2)+mod(floor(i/16) ,2) ,2]來表征。
16.一種可與可編程計算機一起使用的計算機可讀介質的計算機程序產品,所述計算機程序產品包含用于將數據寫入多磁道數據磁帶的計算機可讀代碼,所述計算機可讀代碼包括用于執行以下操作的指令接收用戶數據符號流,所述流包括至少一個數據集;將每個數據集分割成多個-即S個-未編碼的子數據集,每個子數據集包括具有K2個行和K1個列的數組;對于每個未編碼的子數據集針對子數據集的每個行生成N1-K1個Cl奇偶校驗字節并將所述Cl奇偶校驗字節附加到該行的末端以形成具有長度N1的編碼后的Cl代碼字;以及針對所述子數據集的每個列生成R-K2個C2奇偶校驗字節并將所述C2奇偶校驗字節附加到該列的末端以形成具有長度隊的編碼后的C2代碼字,由此生成具有隊個Cl代碼字的編碼后的子數據集;從S個編碼后的子數據集形成多個(SXRf)部分代碼字對象(PCO),每個PCO包括標頭和Cl代碼字;根據每個PCO的標頭內的信息將該PCO映射到邏輯數據磁道; 在每個邏輯數據磁道上,合并相鄰PCO以形成代碼字對象(CO),每個CO包括至少兩個相鄰PCO ;對所述CO進行調制編碼并添加同步模式以獲得T個同步后的C0,其中T是所述數據磁帶上的并發活動磁道的數量;以及將T個同步后的CO同時寫入所述數據磁帶。
17.如權利要求16中所述的計算機程序產品,其中用于映射每個PCO的指令包括用于根據公式 t = mod(7floor(f(m)/S)+g(m),T)向每個具有索引 m = CWI_number 的 PCO 分配邏輯磁道號t的指令,其中floor (χ)表示實數χ的整數部分,并且mod (a,Τ)表示除以T后的余數,其中所述余數在范圍0,1,...,T-I內。
18.如權利要求17中所述的計算機程序產品,其中f(m)=m并且g(m) = m。
19.如權利要求17中所述的計算機程序產品,其中f(m)=m并且g(m) = floor (m/2)0
20.如權利要求17中所述的計算機程序產品,還包括用于將具有CWI_number= m的 PCO寫入所述磁帶的位置i = floor (m/T)處的指令。
21.如權利要求17中所述的計算機程序產品,將每個PCO映射到邏輯數據磁道由m= mod(i,2)+2T floor (i/2) +2mod (t-7mod (floor (i/2), Τ), T)來表征,其中 PCO-集合索引 i =floor(m/T)。
22.如權利要求16中所述的計算機程序產品,其中T= 16、N2 = 96且S = 32, 并且其中進一步地,用于映射每個PCO的指令還包括用于根據t = mod{2fIoor (m/2) +6floor(m/32)+mod[floor(m/16),2)]+mod[floor(m/256),2]-2mod[floor(m/256), 2] Xmod[floor(m/16),2],16}來將PCO從Cff交錯號m映射到磁道號的指令。
23.如權利要求22中所述的計算機程序產品,將每個PCO映射到邏輯數據磁道 ^m = 32floor (i/2)+mod(i,2)+2mod[5floor (i/2)+floor(t/2) ,8]+16mod[mod(t, 2)+mod(floor(i/16),2),2]來表征。
24.一種用于對包括數據集的用戶數據符號流進行編碼的裝置,包括分割模塊,其可操作以將所述數據集分割成多個-即S個-未編碼的子數據集,每個子數據集包括具有K2個行和K1個列的數組;Cl編碼器,其可操作以針對子數據集的每個行生成N1-K1個Cl奇偶校驗字節并將所述 Cl奇偶校驗字節附加到該行的末端以形成具有長度N1的編碼后的Cl代碼字;C2編碼器,其可操作以針對所述子數據集的每個列生成R-K2個C2奇偶校驗字節并將所述C2奇偶校驗字節附加到該列的末端以形成具有長度隊的編碼后的C2代碼字,由此生成具有隊個Cl代碼字的編碼后的子數據集;部分代碼字對象交錯器,其可操作以根據每個PCO的標頭內的信息將該PCO映射到邏輯數據磁道;代碼字對象格式化器,其可操作以在每個邏輯數據磁道上將相鄰PCO合并成C0,每個 CO包括至少兩個相鄰PCO ;以及調制編碼器,其可操作以將所述CO編碼成同步后的CO。
25.如權利要求M中所述的數據存儲磁帶設備,其中所述PCO交錯器可操作以通過根據公式 t = mod (7f Ioor (f (m) /S) +g (m),Τ)向每個具有索引 m = CWI_number 的 PCO 分配邏輯磁道號t來將每個PCO映射到邏輯數據磁道,其中floor (χ)表示實數χ的整數部分,并且mod(a,Τ)表示除以T后的余數,其中所述余數在范圍0,1,...,T-I內。
26.如權利要求25中所述的數據存儲磁帶設備,其中f(m)=m并且g(m) = m。
27.如權利要求25中所述的數據存儲磁帶設備,其中f(m)=m并且g(m)= floor(m/2)。
28.如權利要求25中所述的數據存儲磁帶設備,其中所述寫入通道通過將具有CWI_ number = m的PCO寫入所述磁帶的位置i = floor (m/T)處而將T個同步后的CO同時寫入所述磁帶。
29.如權利要求M中所述的數據存儲磁帶設備,其中T= 16、N2 = 96且S = 32,并且其中進一步地,所述 PCO 交錯器通過根據 t = mod {2fIoor (m/2) +6fIoor (m/32) +mod[floor (m/16),2)]+mod[floor(m/256),2]_2mod[floor(m/256),2]X mod[floor(m/16),2],16}將 PCO從CW交錯號m映射到磁道號來映射每個PC0。
30.如權利要求四中所述的數據存儲磁帶設備,其中所述PCO交錯器將每個PCO映射到邏輯數據磁道由 m = 32floor (i/2) +mod (i,2) +2mod [5floor (i/2) +floor (t/2), 8]+16mod[mod(t,2)+mod(floor(i/16) ,2) ,2]來表征。
31.一種用于部署計算基礎設施的方法,包括將計算機可讀代碼集成到計算系統內,其中與所述計算系統結合的所述代碼能夠執行以下操作接收用戶數據符號流,所述流包括至少一個數據集;將每個數據集分割成多個-即S個-未編碼的子數據集,每個子數據集包括具有K2個行和K1個列的數組;對于每個未編碼的子數據集針對子數據集的每個行生成N1-K1個Cl奇偶校驗字節并將所述Cl奇偶校驗字節附加到該行的末端以形成具有長度N1的編碼后的Cl代碼字;以及針對所述子數據集的每個列生成R-K2個C2奇偶校驗字節并將所述C2奇偶校驗字節附加到該列的末端以形成具有長度隊的編碼后的C2代碼字,由此生成具有隊個Cl代碼字的編碼后的子數據集;從S個編碼后的子數據集形成多個(SXRf)部分代碼字對象(PCO),每個PCO包括標頭和Cl代碼字;根據每個PCO的標頭內的信息將該PCO映射到邏輯數據磁道;在每個邏輯數據磁道上,合并相鄰PCO以形成代碼字對象(CO),每個CO包括至少兩個相鄰PCO ;對所述CO進行調制編碼并添加同步模式以獲得T個同步后的C0,其中T是所述數據磁帶上的并發活動磁道的數量;以及將T個同步后的CO同時寫入所述數據磁帶。
32.如權利要求31中所述的方法,其中映射每個PCO包括根據公式t= mod(7foor(f (m)/S) +g(m),Τ)向每個具有索引m = CWI_number的PCO分配邏輯磁道號t, 其中floor (χ)表示實數χ的整數部分,并且mod (a, Τ)表示除以T后的余數,其中所述余數在范圍0,1,. . .,T-I內。
33.如權利要求32中所述的方法,還包括將具有CWI_number= m的PCO寫入所述磁帶的位置 i = floor (m/T)處。
34.如權利要求32中所述的方法,將每個PCO映射到邏輯數據磁道由m= mod (i,2) +2T floor (i/2) +2mod(t-7mod(floor (i/2), T),T)來表征,其中 PCO-集合索引 i = floor (m/ Τ)。
35.如權利要求31中所述的方法,其中T= 16、N2 = 96且S = 32,并且其中進一步地,映射每個 PCO 包括根據 t = mod{2fIoor (m/2) +6fIoor (m/32) +mod[floor (m/16), 2)]+mod[floor(m/256),2]-2mod[floor(m/256),2]Xmod[floor(m/16),2],16}來將 PCO 從CW交錯號m映射到磁道號。
全文摘要
為了將數據寫入多磁道磁帶,接收所接收的數據集并將其分割成未編碼的子數據集,每個未編碼的子數據集包括具有K2個行和K1個列的數組。對于每個未編碼的子數據集,針對每個行生成N1-K1個C1奇偶校驗字節,針對每個列生成N2-K2個C2奇偶校驗字節。所述C1和C2奇偶校驗字節分別被附加到所述行和列的末端,以分別形成編碼后的C1和C2代碼字。每個數據集的所有C1代碼字被賦予特定的代碼字標頭以形成多個部分代碼字對象(PCO)。根據所述標頭內的信息將每個PCO映射到邏輯數據磁道。在每個邏輯數據磁道上,合并相鄰PCO以形成CO,所述CO被調制編碼并被映射成同步后的CO。然后將T個同步后的CO同時寫入數據磁帶,其中T是數據磁帶上的并發活動磁道的數量。
文檔編號G11B20/12GK102272841SQ200980153162
公開日2011年12月7日 申請日期2009年11月25日 優先權日2009年1月9日
發明者E·埃萊夫特里烏, P·西格, R·D·希德希亞恩, T·米特爾霍爾澤, 松尾久人, 田中啟介 申請人:國際商業機器公司