CN103455282A - 用于把数据写到磁带的方法及带驱动器系统 - Google Patents

用于把数据写到磁带的方法及带驱动器系统 Download PDF

Info

Publication number
CN103455282A
CN103455282A CN2013102039139A CN201310203913A CN103455282A CN 103455282 A CN103455282 A CN 103455282A CN 2013102039139 A CN2013102039139 A CN 2013102039139A CN 201310203913 A CN201310203913 A CN 201310203913A CN 103455282 A CN103455282 A CN 103455282A
Authority
CN
China
Prior art keywords
subdata collection
bytes
data
byte
logic device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013102039139A
Other languages
English (en)
Other versions
CN103455282B (zh
Inventor
R·D·塞德斯亚恩
R·A·胡特金斯
T·米特尔洛尔泽
S·奥尔瑟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103455282A publication Critical patent/CN103455282A/zh
Application granted granted Critical
Publication of CN103455282B publication Critical patent/CN103455282B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00813Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1836Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/185Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using an low density parity check [LDPC] code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1853Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a product code which has inner and outer parity symbols
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Error Detection And Correction (AREA)

Abstract

在一种实施例中,带驱动器系统包括用于把数据写到磁带的写通道,该写通道利用速率-(232/234)反向级联调制码。写通道包括适于接收包括一个或多个数据集的数据流的逻辑器、适于把每个数据集分成多个子数据集的逻辑器、适于利用C2编码来编码每个子数据集的逻辑器、适于利用调制码编码每个C2编码的子数据集的逻辑器、适于利用C1编码来编码每个调制后的子数据集的逻辑器,及适于同时把编码调制后的子数据集写到磁带的数据轨道的逻辑器。根据各种其它实施例,描述了利用速率-(232/234)反向级联调制码把数据写到磁带的其它系统与方法。

Description

用于把数据写到磁带的方法及带驱动器系统
技术领域
本发明涉及磁带数据存储格式,而且更具体地说,涉及利用带低密度奇偶校验(LDPC)码的反向级联调制码在磁带上存储数据。
背景技术
根据信息存储行业联盟在2008年9月制定的“国际磁带存储路线图”,已经计划盒式磁带的容量将以41.42%的年复合增长率每两年翻一倍。随着容量的增加,几乎带式记录系统的所有领域将都得到改进,以便容纳附加的存储。例如,对记录介质、读/写头、记录通道和伺服技术及总体的数据格式都将有可能进行改进。
例如,在当前这一代的IBM3592和线性磁带开放(LTO)带驱动器中,数据由被称为C1和C2的两个正交的Reed-Solomon纠错码保护。写格式化器接收未编码的数据并且根据C1和C2编码算法添加附加的奇偶字节。一旦添加了C1和C2奇偶字节,数据就被速率32/33运行长度受限的调制码处理。
在调制编码之后,数据准备好写到磁带。关于这种体系结构的问题是当数据写到磁带上时调制码插入到纠错码(ECC)与数据之间。在读的一侧,当代的纠错方法,例如LDPC码或者软Reed-Solomon检测器,需要从数据检测器接收到的信息包括关联的同步数据样本。这些数据检测器被称为“软检测器”。不可能利用当前的数据结构执行软件测。这是因为来自数据检测器的数据首先被调制解码器处理,然后才被C1码处理。相对于被检测位的任何通道信息都被简单地输出位的调制解码器除去了。因而,软检测器不能与当前的数据格式体系结构一起使用。相应地,有一种减轻这个问题的数据格式体系结构将是有利的。
发明内容
在一种实施例中,一种带驱动器系统包括用于把数据写到磁带的写通道,该写通道利用速率-(232/234)反向级联调制码。写通道包括适于接收包括一个或多个数据集的数据流的逻辑器、适于把每个数据集分成多个子数据集的逻辑器、适于利用C2编码来编码每个子数据集的逻辑器、适于利用调制码来编码每个C2编码的子数据集的逻辑器、适于利用C1编码来编码每个调制后的子数据集的逻辑器,及适于同时把编码调制后的子数据集写到磁带的数据轨道的逻辑器。
在另一种实施例中,一种利用速率-(232/234)反向级联调制码把数据写到磁带的方法包括接收包括一个或多个数据集的数据流、把每个数据集分成多个子数据集、利用C2编码来编码每个子数据集、利用调制码来编码每个C2编码的子数据集、利用C1编码来编码每个调制后的子数据集,及同时把编码调制后的子数据集写到磁带的数据轨道。
在还有另一种实施例中,一种适于利用速率-(232/234)反向级联调制码把数据写到磁带的带驱动器系统包括:适于接收包括一个或多个数据集的数据流;适于把每个数据集分成六十四个子数据集的逻辑器,每个子数据集都组织成大小为77,112字节的84×918字节矩阵的逻辑器;适于通过向每个子数据集的矩阵的每个84字节的列添加十二字节的(96,84,13)Reed-Solomon C2纠错码(ECC)利用C2编码来编码每个子数据集,从而创建大小为88,128字节的96×918字节矩阵的逻辑器;适于通过向每个C2编码的子数据集的96×918字节矩阵的每一行添加10字节的头给每个C2编码的子数据集加头(headerize),从而创建大小为89,088字节的96×928字节矩阵的逻辑器;适于随机化每个加头子数据集的96×928字节矩阵的每一行(CW-4),创建随机化的96×928字节矩阵的逻辑器;适于通过借助于扩展每个CW-4的长度八个字节向每个随机化的96×928字节矩阵应用(234,232)调制码利用调制码来编码每个C2编码的子数据集,以便创建大小为89,856字节的96×936字节矩阵的逻辑器;适于通过对每个调制编码后的子数据集应用(1992,1872)低密度奇偶校验(LDPC)码利用C1编码来编码每个调制后的子数据集以便创建大小为95,616字节的96×996字节矩阵的逻辑器,其中应用(1992,1872)LDPC码是通过把四个LDPC码字级联到每个CW-4进行的;及适于通过写32个其中指定了CW-4的集合同时把调制编码后的子数据集写到磁带的数据轨道的逻辑器。
这些实施例中的任何一个都可以在例如带驱动器系统的磁性数据存储系统中实现,其中带驱动器系统可以包括磁头、用于在磁头之上传递磁性介质(例如,记录带)的驱动机构和电耦合到磁头的控制器。
从以下具体描述,本发明的其它方面与实施例将变得显而易见,当联系附图考虑时,所述描述通过例子说明了本发明的原理。
附图说明
图1根据一种实施例说明了基于带的数据存储系统的简化带驱动器。
图2根据一种实施例示出了低密度奇偶校验(LDPC)写格式体系结构的框图。
图3根据一种实施例示出了用于产生纠错码(ECC)字节的发生器电路。
图4根据一种实施例示出了用于产生循环冗余校验(CRC)字节的发生器电路。
图5根据一种实施例示出了随机发生器电路。
图6A-6F根据一种实施例示出了利用H-矩阵创建奇偶校验位的例子。
图7A示出了根据一种实施例的输入接口和状态计数器。
图7B根据一种实施例示出了调制编码器。
图8根据一种实施例示出了一种方法的流程图。
具体实施方式
进行以下描述是为了说明本发明的通用原理而不是要限制在此所保护的发明性概念。另外,在此所述的特定特征可以与其它所述特征以各种可能排列组合中的每一种结合使用。
除非在此另外具体定义,否则所有术语都要赋予其最广泛可能的解释,包括从本说明书暗示的意义及本领域技术人员理解的意义和/或字典、论文等中所定义的意义。
还应当指出,如在本说明书和所附权利要求中所使用的,除非另外指定,否则单数形式“一”、“一个”和“这个”包括复数的所指对象。
根据一种实施例,磁带可以采用一种数据格式,其中有效的反向级联调制码插入Reed-Solomon C2纠错码(ECC)和低密度奇偶校验(LDPC)码C1之间。
在一种通用实施例中,一种带驱动器系统包括用于把数据写到磁带的写通道,该写通道利用速率-(232/234)反向级联调制码。写通道包括适于接收包括一个或多个数据集的数据流的逻辑器、适于把每个数据集分成多个子数据集的逻辑器、适于利用C2编码来编码每个子数据集的逻辑器、适于利用调制码来编码每个C2编码的子数据集的逻辑器、适于利用C1编码来编码每个调制后的子数据集的逻辑器,及适于同时把编码后的调制子数据集写到磁带的数据轨道的逻辑器。
在另一种通用实施例中,一种利用速率-(232/234)反向级联调制码把数据写到磁带的方法包括接收包括一个或多个数据集的数据流、把每个数据集分成多个子数据集、利用C2编码来编码每个子数据集、利用调制码编码每个C2编码的子数据集、利用C1编码来编码每个调制后的子数据集,及同时把编码后的调制子数据集写到磁带的数据轨道。
在还有另一种通用实施例中,一种适于利用速率-(232/234)反向级联调制码把数据写到磁带的带驱动器系统包括:适于接收包括一个或多个数据集的数据流的逻辑器;适于把每个数据集分成六十四个子数据集的逻辑器,每个子数据集都组织成大小为77,112字节的84×918字节矩阵;适于通过向每个子数据集的矩阵的每个84字节的列添加十二字节的(96,84,13)Reed-Solomon C2纠错码(ECC)利用C2编码来编码每个子数据集,从而创建大小为88,128字节的96×918字节矩阵的逻辑器;适于通过向每个C2编码的子数据集的96×918字节矩阵的每一行添加10字节的头给每个C2编码的子数据集加头,从而创建大小为89,088字节的96×928字节矩阵的逻辑器;适于随机化每个加头子数据集的96×928字节矩阵的每一行(CW-4),创建随机化的96×928字节矩阵的逻辑器;适于通过借助于扩展每个CW-4的长度八个字节向每个随机化的96×928字节矩阵应用(234,232)调制码,利用调制码来编码每个C2编码的子数据集,以便创建大小为89,856字节的96×936字节矩阵的逻辑器;适于通过对每个调制编码后的子数据集应用(1992,1872)低密度奇偶校验(LDPC)码利用C1编码来编码每个调制后的子数据集以便创建大小为95,616字节的96×996字节矩阵的逻辑器,其中应用(1992,1872)LDPC码是通过把四个LDPC码字级联到每个CW-4进行的;及适于通过写32个其中指定了CW-4的集合同时把调制编码后的子数据集写到磁带的数据轨道的逻辑器。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、驻留软件、微代码等),或者硬件和软件方面结合的实施例,这里可以统称为“逻辑器”、“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各方方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者非易失的计算机可读存储介质。非易失的计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的非易失的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序,例如具有一个或者多个电线、光纤等的电连接。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置或者其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,从而产生计算机实现的过程,使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
图1说明了可以根据各种实施例采用的、基于带的数据存储系统的简化带驱动器100。虽然在图1中示出了带驱动器的一种具体实现,但是应当指出,在此所述的实施例可以在任何类型的带驱动器系统的背景下实现。
如图所示,提供了带供应盒120和收带盘121,以便支撑带122。一个或多个收带盘可以构成可拆卸磁带盒的一部分而且不一定是系统100的一部分。带驱动器,例如图1中所说明的那种,还可以包括驱动器电机,以便驱动带供应盒120和收带盘121在任何类型的带头126之上移动带122。驱动器电机可以被认为是用于在磁头126之上传递磁带122的驱动机构。
导向装置125引导带122跨过带头126。这种带头126又经电缆130耦合到控制器组件128。控制器128一般包括伺服通道并控制头的功能,例如轨道跟踪、写、读等。电缆130可以包括读/写电路,以便把数据发送到头126,从而把数据记录到带122上,并且接收由头126从带122读取的数据。致动器132确定头126相对于带122的位置。
还可以提供用于带驱动器100与主机(一体化的或者外部的)之间通信的接口,以便发送和接收数据并且用于控制带驱动器100的操作和把带驱动器100的状态传送到主机,所有这些都将是本领域技术人员所理解的。
根据一种实施例,有效速率-232/234反向级联调制码可以插入到Reed-Solomon C2 ECC与LDPC C1码之间。这种体系结构的一些优点可以包括更有效的调制码,例如速率-232/234(99%有效)调制码对速率32/33(97%有效)调制码;C1编码/解码可以利用比当前所使用的Reed-Solomon码更加强大的LDPC码;数据检测/解码可以利用检测器中的迭代和解码器中的迭代来执行,使得可以启用软检测;而且用于数据编码/解码的数据结构和数据流可以类似于现有的用于3592数据体系结构的数据结构和数据流。
以下描述是对于用于32-轨道磁带驱动器的基于LDPC的纠错系统。当然,在此所述的系统及关联的方法可以利用比32条轨道更多或更少的轨道,例如16轨道、8轨道、64轨道等,在带驱动器中实现。根据各种例子,描述了一种可供选择的基于LDPC的纠错系统并且与常规使用的系统形成对比。在这些例子中进行了一些假设,具体而言是使用(234,232)反向级联调制码和使用(1992,1872)LDPC码。应当指出,这样做仅仅是把例子放在一种背景下并且为了帮助读者。此外,根据各种实施例,反向级联调制码可以用作全反向码或者部分反向码。应当理解,在本发明过多可能实施例的各种排列组合中,可以使用各种类型的纠错码。
现在参考图2,根据一种实施例示出了写格式体系结构200的框图。流过这个框图的过程是从左往右。
如在此所使用的,子数据集是ECC算法处理的基本数据单元。根据一种实施例,特定于32-轨道的磁带格式,子数据集包括组织成84×918字节矩阵的77,112个字节。64个子数据集可以从每个数据集或文件构造。
根据一种实施例,第一子数据集可以通过把第一数据集字节放到该子数据集的第0行、第0列中并且如表1中所示出的那样继续来填充,其中标准的数字代表数据集的字节。后续的子数据集可以按类似的方式按顺序填充,直到所有的数据集都被处理。
Figure BDA00003263431500091
表1:子数据集
然后,根据一种实施例,利用C2编码处理每个子数据集,如图2中的方框202中所示。C2编码的子数据集可以是通过C2 ECC算法处理子数据集的结果。根据一种实施例,该处理可以给子数据集的每个84字节的列添加12字节的C2 ECC,如表2中所示。
Figure BDA00003263431500101
表2:C2编码的子数据集
根据一种实施例,(96,84,13)Reed-Solomon码可以应用到子数据集的每个84字节的列,产生每列12个C2 ECC字节。结果产生的88,128字节的96×918矩阵可以被称为C2编码的子数据集。
在一种方法中,GF(256)中的计算可以由等式1定义。
P(x)=x8+x4+x3+x2+1    等式1
在一种方法中,GF(256)中的本原元α可以由等式2表示。
α=(0 0 0 0 0 0 1 0)    等式2
在一种方法中,发生器多项式可以由等式3和4表示。
G(x)=(x+α122)(x+α123)(x+α124)(x+α125)(x+α126)(x+α127)(x+α128)(x+α129)(x+α130)(x+α131)(x+α132)(x+α133)    等式3
G ( x ) = Π j = 122 133 ( x + α j )
= x 12 + α 224 x 11 + α 32 x 10 + α 209 x 9 + α 99 x 8 + α 32 x 7 + α 80 x 6 + α 32 x 5 + α 99 x 4
+ α 209 x 3 + α 32 x 2 + α 224 x 1 + 1 等式4
如图3中所示,根据一种实施例,ECC字节可以通过处理必需的字节通过发生器电路300来产生。根据一种方法,在开始处理之前,发生器电路的寄存器,R0、R1、…、R11可以设置成(00)。根据一种方法,寄存器R0、R1、…、R11可以是八位宽。数据字节可以顺序地馈送到编码器中。在处理过必需的字节之后,R11的内容可以设置成ECC11,R10的内容可以设置成ECC10,R9的内容可以设置成ECC9,等等。当这些ECC字节附加到数据字节和/或放到一个字段中时,ECC11可以是附加的第一个字节,其后是ECC10、ECC9,等等。
再次参考图2,加头的子数据集可以是把10字节的头级联到C2编码的子数据集的每一行的结果,如图2中示为插入头模块212,然后在带布局中实现。根据一种实施例,该处理可以把10字节的头加到子数据集的每个918字节行的开始,如表3中所示。结果产生的加头的子数据集可以是89,088字节的96×928矩阵。
Figure BDA00003263431500114
表3:加头的子数据集
加头的子数据集的每一行都可以通过图2中的随机发生器204、调制编码器206,然后是C1编码208(优选地是LDPC编制码),然后格式特征可以插入到模块210中。行元素是用于处理的基本单元并且在这里被称为CW-4(在LDPC C1 ECC的讨论之后,这种标识符将变得更加显然)。
如本领域技术人员在阅读所给出的描述时将理解的,调制编码器206可以根据在此所述的或者别的各种实施例来实现。调制编码器206的一种实施例在图7A-7B中描述,稍后更具体地描述。
此外,调制编码器可以根据PRML(G,I,M)码来操作,这在于2009年11月10日发布的美国专利号7,616,134中进行描述,该专利在此全部引入作为参考。
再次参考图2,在一种方法中,C1编码208可以是LDPC编码,而且由调制编码器206使用的调制码可以是反向级联码。格式特征210是添加到数据的状态或硬特征,以便使得更容易识别磁带上的位置。这些格式特征可以包括,但不限于,DSS、锁定PLL的变频振荡器(VFO)字段和同步字符等,其中DSS是一个“1”后面跟着11个“0”的周期12的周期性模式。
一旦在模块206中添加了调制码,子数据集就在模块208中利用C1码编码,在一种方法中,C1码是LDPC码。相应地,在部分反向级联中,数据流是利用C2编码器,然后利用调制码,然后利用C1编码器来编码的。
根据一种方法,10字节的CW-4头可以加到每个CW-4的前面而且可以包括如表3中所示的信息。这种信息可以包括CW-4标识符、写通和用于ECC的头奇偶。
字节位置 字节中的长度 字段的名称
0 4 CW-4标识符
4 4 写通
8 2 头奇偶
表4:CW-4头
根据一种方法,表5示出了CW-4标识符。在一种方法中,字节0的位7可以是缓行标志(AF)。如果指定的CW-4是缓行指定的CW-4的话,AF可以设置成一,而如果指定的CW-4是数据指定的CW-4的话,AF可以设置成零。
表5:CW-4标识符
在一种方法中,字节0的位6可以是相邻包裹切换(AWT)。AWT可以设置成包裹号的第二个最低有效位,例如,对于包裹1和1是零,对于包裹2和3是一。在一种方法中,字节0的位5-0可以是数据集ID片段。数据集ID片段可以包括数据集号的六个最低有效位。在一种方法中,字节1和字节2的位7-5可以包括11位的绝对码字对象集序列号(ACN)。字节2的位4-0和字节3可以基于所指定的CW-4是否是缓行指定的CW-4来指定,根据一种方法,如果是缓行指定的CW-4,这些位就可以全都设置成零,如果不是缓行指定的CW-4,这些位可以设置成CW-4指定的13位值。
对于每个码字对象集,ACN可以设置在0到2047之间。在一种方法中,这个数字可以比带上紧接在其前面所写的码字对象集的ACN大一,或者如果之前所写的ACN是2047,这个数字可以是零。在一种实施例中,ACN可以在码字对象集中的全部CW-4头中都相同。而且,根据一种优选实施例,写到包裹上的第一个码字对象集的ACN可以是零。
在一种实施例中,当附加到磁带时,写到附加点的第一个码字对象集的ACN可以在1到256之间,比在该附加点之前写到数据集中的最后一个码字对象集大mod(2048)。
写通标识符字段可以识别要在其上写数据集的写通。根据一种实施例,除了中断的数据集之后,对于CW-4所属的数据集,这个字段的内容可以与数据集标识表(DSIT)中的带写通值相同。
头奇偶可以是GF(256)之上的Reed-Solomon码,或者本领域中已知的任何其它合适的码。在一种方法中,GF(256)中的计算可以由等式5来定义。
P(x)=x8+x4+x3+x2+1    等式5
在一种方法中,GF(256)中的本原元α可以根据等式6设置。
α=(0 0 0 0 0 0 1 0)    等式6
在一种方法中,发生器多项式可以根据等式7来设置。
G(x)=(x+α127)(x+α128)=x2152x+1    等式7
现在参考图4,循环冗余校验(CRC)字节可以通过处理必需的字节通过发生器电路400来生成,其中发生器电路400的寄存器R0、R1可以在开始处理之前设置成(00)。在一种实施例中,寄存器R0和R1可以是8位宽。数据字节可以顺序地馈送到编码器中。在一种方法中,在处理过必需的字节之后,R1的内容可以是CRC1,而R0的内容可以是CRC0。在优选实施例中,CRC1可以是头中的第一个字节,而CRC0可以是头中的第二个字节。
在一种实施例中,来自加头的子数据的每个CW-4都可以通过图2中的随机发生器204,由此创建随机化的子数据集。包括随机发生器是因为在有些情况下重复的模式会在带驱动器中造成问题。随机发生器确保位不会重复太长,从而确保在带驱动器中就此而言将没有问题。
该处理将不向加头的子数据集添加任何附加的字节。根据一种实施例,结果产生的随机化的子数据集可以是89,088字节的96×928矩阵,如表6中所示。
Figure BDA00003263431500151
表6:随机化的子数据集
在一种方法中,随机化算法可以在每个CW-4头的开始预设,或者可以根据本领域中已知的某种其它理论基础来设置。图5示出了根据一种实施例的随机化偏移寄存器500。对于CW-4头和数据的每个字节,首先输入最高有效位,例如位7。然后,输入每个相继的位。逻辑运算符是异或。这个运算的结果是随机化的位流,如图5中所示。
来自随机化的子数据集的每个CW-4都通过编码器,如图2中的调制模块206。在一种方法中,对于(234,232)调制码,编码器可以是满足约束(G=12,I=6,M=22)。根据一种实施例,这把每个CW-4的长度从928字节扩展成936字节。因而,根据一种方法,调制后的子数据集可以是89,856字节的96×936矩阵。调制编码器的二进制输出被称为调制编码位。
然后,来自调制后的子数据集的每个CW-4都通过用于(1992,1872)LDPC码的编码器,例如图2中所示的LDPC编码模块208。每个LDPC码字有234个信息字节,而且C1子数据集的每个CW-4可以包括四个LDPC码字。由于在LDPC编码之前已经添加了调制码,因此四个LDPC码字可以级联,形成CW-4(应当指出,在常规的驱动器中,C1码字是交织的)。在一种方法中,记录在带上的调制后的和C1编码后的序列所满足的约束可以是(G=14,I=7,M=24)。C1编码把调制后的子数据集的每个CW-4的长度从936字节扩展成996字节。因而,C1子数据集可以是95,616字节的96×996字节矩阵。
到LDPC编码器208的输入可以是从调制编码器206输出的位。这些位可以在234位的块中出现。八块调制编码的数据位可以级联,形成到LDPC编码器208的输入。作为到LDPC编码器208的输入的每一块234字节(1872位)可以被称为调制编码的块。
在优选实施例中,C1码可以是一般由H-矩阵描述的LDPC码。以下,用于LDPC编码器的符号表示的简单例子看起来是小的H-矩阵,它可以放大成任何尺寸的LDPC编码方案,如本领域技术人员将理解的。用于LDPC码的H-矩阵是1和0输入的稀疏二进制矩阵。以下所示出的例子H-矩阵是对于MxN奇偶校验矩阵,其中M=9(校验节点)而且N=12(符号节点)。对于这个例子,每个校验节点有四个1和八个0输入—即,该矩阵的2/3是用0输入填充的。
H = 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 1 0 0
例子H-矩阵
根据一种实施例,这个例子H-矩阵可以由以下所示的连接矩阵来表示。在这个连接矩阵中,每个校验节点在从索引0开始的左列中列出(H-矩阵的顶行)。H-矩阵的校验节点内每个1输入的位置在该连接矩阵对应的行中给出,同样是以处于左列的位索引0开始。
Figure BDA00003263431500171
校验节点连接矩阵的简单例子
根据一种实施例,用于LDPC码的系统H-矩阵可以具有120个校验节点(M=120)和1992个符号节点(N=1992)。这产生了120个奇偶位,这些奇偶位通常可以级联到调制编码块的末端。但是,由于数据已经调制编码了,因此这是不可接受的。在1872位调制编码块的末端有120个奇偶位会破坏调制码的属性,如在常规领域中所进行的。为了避免这个问题,奇偶位在调制编码的位内部散布。这稍微减弱了调制码的属性,但调制码的总体属性仍然强壮。利用以下表7中所示的奇偶插入方案,原始的调制约束(G=12,I=6,M=22)被减弱成(G=14,I=7,M=24)。
当然,根据用户需求、设计标准、带容量等,任何数量的校验节点和符号节点都可以使用。
代替级联,LDPC奇偶位可以插入到调制编码的位当中。在一种实施例中,编码过程以通过添加120位把调制编码块从1872位扩展成1992位开始。这120位最初被设置成“0”而且在30个调制编码位的组之间按对在调制编码块中散布。LDPC编码器取得这个输入并且计算奇偶位,填充在最初设置成“0”的120个位位置中。
根据一种实施例,在表7中示出了输入码字的创建及随后利用奇偶校验位填充以便创建LDPC码字。
表7:LDPC奇偶位的插入
在创建奇偶校验位的位置并用0输入填充之后,通过使用H-矩阵创建奇偶校验位,其例子在图6A-6F中示出(其中-1指示无连接),图6A-6C用于校验节点连接矩阵的左部分,而图6D-6F用于校验节点连接矩阵的右部分。该过程通过计算校验节点119开始,其中校验节点119放在LDPC码字的位30上。接下来,计算校验节点118并放在位31。这个过程继续,直到所有的奇偶校验位都计算出来并放到LDPC码字中。
ECC编码的数据集可以包括6,119,424个字节,具有六十四个96×996字节的C1编码子数据集。每个C1编码的子数据集的每一行都可以是996字节的C1编码CE-4。因而,根据一种实施例,每个ECC编码的数据集可以有6,144个C1编码的CW-4。
表8示出了在一个例子中用于这6,144个CW-4的指定如何可以从六十四个C1子数据集分配及C1子数据集中的行号。
Figure BDA00003263431500191
Figure BDA00003263431500201
表8:CW-4指定
所指定的CW-4可以同时写到磁带上三十二个指定的CW-4的集合中,由此形成CW-4集,其中32是同时处于活动的轨道个数。当然,磁带上可以存在更多或者更少的轨道,在这种情况下,在此所述的数字可以相应地更改,如本领域技术人员通过读所给出的描述将理解的。每个集合的一个指定的CW-4可以写到32条轨道中的每一条。轨道可以编号为从0到31,其中逻辑轨道0至31以数字递增的次序对应于定义成处于当前包裹中的物理轨道。逻辑轨道0可以对应于集合中最低编号的物理轨道。逻辑轨道31可以对应于集合中最高编号的物理轨道。CW-4集可以编号为0到191。在一种方法中,码字对象集(CO集)包括两个CW-4集。
在一种方法中,CW-4集和所指定的CW-4分配到的轨道号可以根据表9和表10来定义。应当指出,双倍轮廓的单元指示来自子数据集0和1的C1码字符号的位置。这说明了其中C1码字跨所有轨道散布的途径。在一种方法中,CO集中CW-4集的排序是周期性反向的。见CW-4集64/65、128/129等。
应当指出,在CW集合号i和轨道号t的输入是由等式8给出的。
CWI_table(i,t)=floor(i/2)*64+mod(mod(i,2)+mod(floor(i/96),2),2)+mod(floor(i/2)*(-15)+t,32)*2    等式8
Figure BDA00003263431500211
Figure BDA00003263431500221
表9:CW-4到逻辑轨道的分配
Figure BDA00003263431500222
Figure BDA00003263431500231
表10:CW-4到逻辑轨道的分配
在一种实施例中,调制编码器206可以根据图7A-7B来操作,生成(234,232)反向级联调制码的偶数和奇数次交织。在这种实施例中,调制编码器是能够处理连续的数据流的串联设计。对于这种设计,在一种方法中,接收116个输入位并且以偶数/奇数交织生成117个输出位。在每次交织中,116个输入位的流在117个时钟循环中被处理。
现在参考图7A,根据一种实施例示出了输入接口706和状态计数器704。示出了四个输出、一个输入偏移寄存器-ENCSR(11:0)、一个状态计数器输出-SYSCNT(6:0)、一个起始位-STARTZ和一个到调制编码器的选通输入-STATE IN。输入数据(DATA IN)是唯一示出的输入。
输入数据(DATA IN)可以被带到输入接口706中,同时系统计数器(SYSCNT(6:0))处于计数=0x00。随着系统计数器704向上计数,数据偏移到偏移寄存器(Reg)中。当计数器到达0xB(十进制的11)时,偏移寄存器数据锁存到调制编码器状态机中(具有0x50的附加偏移)。这个输入偏移只是数据的串行流化所需要的-有可能结合这个逻辑与调制编码器状态机。
在一种方法中,系统计数器-SYSCNT(6:0)704用于控制调制编码器状态机。计数器在0x00开始并且开始递增,直到它到达0x74(十进制的116)。当计数器到达0xB(十进制的11)时,调制编码器状态机利用来自偏移寄存器的数据初始化。在计数0x74(十进制的116)和计数0x0至0xA,到调制编码器的输入被选通(设置成零),而且最后剩下的编码数据都从调制编码器中清洗出去。
在一种方法中,起始位-STARTZ保持调制编码器状态机和调制后的数据输出位设置成零,直到系统计数器递增至0xB。
在一种方法中,当系统计数器704是计数0x74(十进制的116)和计数0x0至0xA时,到调制编码器的输入设置成零。这使得调制编码器状态机能够在处理输入数据与从状态机清洗剩余的编码数据位之间无缝切换。
根据一种实施例,在图7B中示出了调制编码器702。调制编码器702的主要部件是调制编码器状态机–ENCSTATE(12:0)、两个查找表-W和VW,及编码后的输出数据位-SERDATA。
调制编码器状态机保留在0x0000,直到在系统计数器等于0xB时起始位被启用。类似地,输出位也保留在零。
当系统计数器到达0xB(十进制的11)时,调制编码器状态机加载来自输入偏移寄存器的数据(具有0x50的附加偏移)。在每个时钟之后,调制编码器的输出都用二来乘,把选通的输入位加到该输出(这是偏移寄存器的操作,其中编码器状态机的状态向上偏移而且输入数据偏移到最低有效位)。
这种偏移寄存器操作的输出与VW表的输出进行比较。如果结果大于或者等于VW,则W值加到该结果并且锁存到编码器状态机中。如果结果小于VW,则该结果直接加载到偏移寄存器状态机中。
在一种实施例中,这两个查找表,W和VW,可以具有以下特性:
W[0]=0x02C0;     VW[0]=0x1D44;
W[1]=0x02A0;     VW[1]=0x1D68;
W[2]=0x0280;     VW[2]=0x1D90;
W[3]=0x0260;     VW[3]=0x1DC0;
W[4]=0x0240;     VW[4]=0x1E00;
W[5]=0x0200;     VW[5]=0x1E00;
W[6]=0x0200;     VW[6]=0x1E00;
W[7]=0x0200;     VW[7]=0x1E00;
W[8]=0x0000;     VW[8]=0x2000;
W[9]=0x0000;     VW[9]=0x2000;
W[10]=0x0000;    VW[10]=0x2000;
W[11]=0x0000;    VW[11]=0x2000;
W[12]=0x0EA0;    VW[12]=0x1162;
W[13]=0x0E90;    VW[13]=0x1172;
W[14]=0x0E70;    VW[14]=0x1192;
W[15]=0x0E60;    VW[15]=0x11A2;
W[16]=0x0E40;    VW[16]=0x11C2;
W[17]=0x0E30;    VW[17]=0x11D2;
W[18]=0x0E10;    VW[18]=0x11F2;
W[19]=0x0E00;    VW[19]=0x1202;
W[20]=0x0DE0;    VW[20]=0x1222;
W[21]=0x0DD0;    VW[21]=0x1232;
W[22]=0x0DB0;    VW[22]=0x1252;
W[23]=0x0DA0;    VW[23]=0x1262;
W[24]=0x0D80;    VW[24]=0x1282;
W[25]=0x0D70;    VW[25]=0x1292;
W[26]=0x0D50;    VW[26]=0x12B2;
W[27]=0x0D40;    VW[27]=0x12C2;
W[28]=0x0D20;    VW[28]=0x12E2;
W[29]=0x0D10;    VW[29]=0x12F2;
W[30]=0x0CF0;    VW[30]=0x1312;
W[31]=0x0CE0;    VW[31]=0x1322;
W[32]=0x0CC0;    VW[32]=0x1342;
W[33]=0x0CB0;    VW[33]=0x1352;
W[34]=0x0C90;    VW[34]=0x1372;
W[35]=0x0C80;    VW[35]=0x1382;
W[36]=0x0C60;    VW[36]=0x13A2;
W[37]=0x0C50;    VW[37]=0x13B2;
W[38]=0x0C30;    VW[38]=0x13D2;
W[39]=0x0C20;    VW[39]=0x13E2;
W[40]=0x0C00;    VW[40]=0x1402;
W[41]=0x0BE0;    VW[41]=0x1422;
W[42]=0x0BD0;    VW[42]=0x1432;
W[43]=0x0BB0;    VW[43]=0x1452;
W[44]=0x0B90;    VW[44]=0x1472;
W[45]=0x0B80;    VW[45]=0x1482;
W[46]=0x0B60;    VW[46]=0x14A2;
W[47]=0x0B40;    VW[47]=0x14C2;
W[48]=0x0B30;    VW[48]=0x14D2;
W[49]=0x0B10;    VW[49]=0x14F2;
W[50]=0x0AF0;    VW[50]=0x1512;
W[51]=0x0AE0;    VW[51]=0x1522;
W[52]=0x0AC0;    VW[52]=0x1542;
W[53]=0x0AA0;    VW[53]=0x1562;
W[54]=0x0A80;    VW[54]=0x1582;
W[55]=0x0A70;    VW[55]=0x1592;
W[56]=0x0A50;    VW[56]=0x15B2;
W[57]=0x0A30;    VW[57]=0x15D2;
W[58]=0x0A10;    VW[58]=0x15F2;
W[59]=0x0A00;    VW[59]=0x1602;
W[60]=0x09E0;    VW[60]=0x1622;
W[61]=0x09C0;    VW[61]=0x1642;
W[62]=0x09A0;    VW[62]=0x1662;
W[63]=0x0980;    VW[63]=0x1682;
W[64]=0x0960;    VW[64]=0x16A2;
W[65]=0x0940;    VW[65]=0x16C2;
W[66]=0x0920;    VW[66]=0x16E2;
W[67]=0x0900;    VW[67]=0x1702;
W[68]=0x08E0;    VW[68]=0x1722;
W[69]=0x08C0;    VW[69]=0x1742;
W[70]=0x08A0;    VW[70]=0x1762;
W[71]=0x0880;    VW[71]=0x1782;
W[72]=0x0860;    VW[72]=0x17A2;
W[73]=0x0840;    VW[73]=0x17C2;
W[74]=0x0820;    VW[74]=0x17E2;
W[75]=0x0800;    VW[75]=0x1802;
W[76]=0x07E0;    VW[76]=0x1822;
W[77]=0x07C0;    VW[77]=0x1842;
W[78]=0x07A0;    VW[78]=0x1862;
W[79]=0x0780;    VW[79]=0x1882;
W[80]=0x0760;    VW[80]=0x18A2;
W[81]=0x0740;    VW[81]=0x18C2;
W[82]=0x0720;    VW[82]=0x18E2;
W[83]=0x0700;    VW[83]=0x1902;
W[84]=0x06E0;    VW[84]=0x1922;
W[85]=0x06C0;    VW[85]=0x1942;
W[86]=0x06A0;    VW[86]=0x1962;
W[87]=0x0680;    VW[87]=0x1982;
W[88]=0x0660;    VW[88]=0x19A2;
W[89]=0x0640;    VW[89]=0x19C2;
W[90]=0x0620;    VW[90]=0x19E2;
W[91]=0x0600;    VW[91]=0x1A02;
W[92]=0x05E0;    VW[92]=0x1A22;
W[93]=0x05C0;    VW[93]=0x1A42;
W[94]=0x05A0;    VW[94]=0x1A62;
W[95]=0x0580;    VW[95]=0x1A82;
W[96]=0x0560;    VW[96]=0x1AA2;
W[97]=0x0540;    VW[97]=0x1AC2;
W[98]=0x0520;    VW[98]=0x1AE2;
W[99]=0x0500;    VW[99]=0x1B02;
W[100]=0x04E0;   VW[100]=0x1B22;
W[101]=0x04C0;   VW[101]=0x1B42;
W[102]=0x04A0;   VW[102]=0x1B62;
W[103]=0x0480;   VW[103]=0x1B82;
W[104]=0x0460;   VW[104]=0x1BA2;
W[105]=0x0440;   VW[105]=0x1BC2;
W[106]=0x0420;   VW[106]=0x1BE2;
W[107]=0x0400;   VW[107]=0x1C02;
W[108]=0x03E0;   VW[108]=0x1C22;
W[109]=0x03C0;   VW[109]=0x1C42;
W[110]=0x03A0;   VW[110]=0x1C62;
W[111]=0x0380;   VW[111]=0x1C82;
W[112]=0x0360;   VW[112]=0x1CA2;
W[113]=0x0340;   VW[113]=0x1CC2;
W[114]=0x0320;   VW[114]=0x1CE2;
W[115]=0x0300;   VW[115]=0x1D02;
W[116]=0x02E0;   VW[116]=0x1D22;
查找表W           查找表VW
根据一种实施例,调制编码器可以具有以下C代码模拟,等等:
Figure BDA00003263431500291
Figure BDA00003263431500301
Figure BDA00003263431500311
现在参考图8,根据一种实施例示出了利用速率-(232/234)反向级联调制码把数据写到磁带的方法800。作为一种选项,所给出的方法800可以在图1-7B的功能性与体系结构的背景下实现。但是,方法800可以在任何期望的环境中执行。应当指出,根据各种实施例,以上提到的定义可以在所给出的描述中应用,而且方法800可以包括比在此所述的那些更多或更少的操作。
在操作802中,接收包括一个或多个数据集的数据流。根据用户的期望或者根据对数据流所合适的,方法800可以按流的方式或者按批执行。
在操作804中,每个数据集都分离成多个子数据集。在一种实施例中,每个数据集都可以分离成六十四个子数据集,每个子数据集组织成大小为77,112字节的84×918字节矩阵。
在操作806中,每个子数据集利用C2编码代码来编码。在一种方法中,利用C2编码的编码可以包括向每个子数据集的矩阵的每个84字节的列添加十二字节的C2 ECC,从而产生大小为88,128字节的96×918字节矩阵。在一种实施例中,C2编码可以包括(96,84,13)Reed-Solomon ECC或者本领域中已知的某种其它ECC。
在可选操作808中,给每个子数据集加头。这个操作被描述为是可选的,因为除了给它们当中的每一个加头,可能还有识别子数据集的其它途径。如本领域中已知的,识别子数据集的任何其它方法都可以使用。根据一种方法,加头可以包括向每个C2编码的子数据集的96×918字节矩阵的每一行添加10字节的头,从而为每个加头的子数据集创建大小为89,088字节的96×928字节矩阵。
在可选操作810中,随机化子数据集。这个操作被描述为可选的,因为可能还存在确保子数据集在被调制编码器编码之前包括基本上随机数据的其它途径。如本领域中已知的,确保数据集基本上随机的任何其它方法都可以使用,例如,通过用户数据的压缩和加密。在一种实施例中,每个加头子数据集的96×928字节矩阵的每一行(CW-4)都可以被随机化,以便创建随机化的96×928字节的矩阵。
在操作812中,每个C2编码的子数据集都利用调制码来编码。在一种实施例中,调制编制码可以包括通过扩展每个CW-4的长度八个字节对每个随机化的96×928字节矩阵应用(234,232)调制码,从而创建大小为89,856字节的96×936字节矩阵。
在操作814中,每个调制后的子数据集都利用C1编码来编码。根据一种实施例,C1编码可以包括通过给每个CW-4添加四个LDPC码字对每个子数据集应用(1992,1872)LDPC码,从而创建大小为95,616字节的96×996字节矩阵。
在操作816中,编码调制后的子数据集同时写到磁带的数据轨道。在一种实施例中,同时写可以包括把32个其中指定了CW-4的集合同时写到磁带。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依赖所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了各种实施例,但是应当理解,它们仅仅是作为例子给出的,而不是限制。因而,本发明实施例的广度和范围不应当受上述任何示例性实施例的限制,而只应当根据以下权利要求及其等价物来定义。

Claims (18)

1.一种带驱动器系统,包括
写通道,用于把数据写到磁带,该写通道利用速率-(232/234)反向级联调制码,其中该写通道包括:
适于接收包括一个或多个数据集的数据流的逻辑器;
适于把每个数据集分成多个子数据集的逻辑器;
适于利用C2编码来编码每个子数据集的逻辑器;
适于利用调制码来编码每个C2编码的子数据集的逻辑器;
适于利用C1编码来编码每个调制后的子数据集的逻辑器;及
适于同时把编码调制后的子数据集写到磁带的数据轨道的逻辑器。
2.如权利要求1所述的带驱动器系统,其中适于把每个数据集分成多个子数据集的逻辑器包括从每个数据集创建六十四个子数据集,每个子数据集组织成大小为77,112字节的84×918字节矩阵。
3.如权利要求2所述的带驱动器系统,其中适于利用C2编码来编码每个子数据集的逻辑器向每个子数据集的矩阵的每个84字节的列添加十二字节的C2纠错码(ECC),从而创建大小为88,128字节的96×918字节矩阵,其中C2编码包括(96,84,13)Reed-SolomonECC。
4.如权利要求3所述的带驱动器系统,还包括:适于通过向每个C2编码的子数据集的96×918字节矩阵的每一行添加10字节的头给每个子数据集加头,从而为每个加头的子数据集创建大小为89,088字节的96×928字节矩阵的逻辑器。
5.如权利要求4所述的带驱动器系统,还包括:适于随机化每个加头子数据集的96×928字节矩阵的每一行(CW-4),从而创建随机化的96×928字节矩阵的逻辑器。
6.如权利要求5所述的带驱动器系统,其中适于利用调制码来编码每个C2编码的子数据集的逻辑器包括通过扩展每个CW-4的长度八个字节对每个随机化的96×928字节矩阵应用(234,232)调制码,从而创建大小为89,856字节的96×936字节矩阵。
7.如权利要求6所述的带驱动器系统,其中C1编码包括(1992,1872)低密度奇偶校验(LDPC)码,而且其中适于利用C1编码来编码每个调制后的子数据集的逻辑器包括通过把四个LDPC码字级联到每个CW-4对每个子数据集应用(1992,1872)LDPC码,从而创建大小为95,616字节的96×996字节矩阵。
8.如权利要求7所述的带驱动器系统,其中适于同时把编码调制后的子数据集写到磁带的数据轨道的逻辑器包括把32个其中指定了CW-4的集合同时写到磁带。
9.一种利用速率-(232/234)反向级联调制码把数据写到磁带的方法,该方法包括:
接收包括一个或多个数据集的数据流;
把每个数据集分成多个子数据集;
利用C2编码来编码每个子数据集;
利用调制码来编码每个C2编码的子数据集;
利用C1编码来编码每个调制后的子数据集;及
同时把编码调制后的子数据集写到磁带的数据轨道。
10.如权利要求9所述的方法,其中把每个数据集分成多个子数据集包括从每个数据集创建六十四个子数据集,每个子数据集组织成大小为77,112字节的84×918字节矩阵。
11.如权利要求10所述的方法,其中利用C2编码来编码每个子数据集向每个子数据集的矩阵的每个84字节的列添加十二字节的C2纠错码(ECC),从而创建大小为88,128字节的96×918字节矩阵,其中C2编码包括(96,84,13)Reed-Solomon ECC。
12.如权利要求11所述的方法,还包括通过向每个C2编码的子数据集的96×918字节矩阵的每一行添加10字节的头给每个子数据集加头,从而为每个加头的子数据集创建大小为89,088字节的96×928字节矩阵。
13.如权利要求12所述的方法,还包括随机化每个加头子数据集的96×928字节矩阵的每一行(CW-4),从而创建随机化的96×928字节矩阵。
14.如权利要求13所述的方法,其中利用调制码来编码每个C2编码的子数据集包括通过扩展每个CW-4的长度八个字节对每个随机化的96×928字节矩阵应用(234,232)调制码,从而创建大小为89,856字节的96×936字节矩阵。
15.如权利要求14所述的方法,其中C1编码包括(1992,1872)低密度奇偶校验(LDPC)码,而且其中利用C1编码来编码每个调制后的子数据集包括通过把四个LDPC码字级联到每个CW-4对每个子数据集应用(1992,1872)LDPC码,从而创建大小为95,616字节的96×996字节矩阵。
16.如权利要求15所述的方法,其中同时把编码调制后的子数据集写到磁带的数据轨道包括把32个其中指定了CW-4的集合同时写到磁带。
17.一种适于利用速率-(232/234)反向级联调制码把数据写到磁带的带驱动器系统,该系统包括:
适于接收包括一个或多个数据集的数据流的逻辑器;
适于把每个数据集分成六十四个子数据集的逻辑器,每个子数据集都组织成大小为77,112字节的84×918字节矩阵;
适于通过向每个子数据集的矩阵的每个84字节的列添加十二字节的(96,84,13)Reed-Solomon C2纠错码(ECC)利用C2编码来编码每个子数据集,从而创建大小为88,128字节的96×918字节矩阵的逻辑器;
适于通过向每个C2编码的子数据集的96×918字节矩阵的每一行添加10字节的头给每个C2编码的子数据集加头,从而创建大小为89,088字节的96×928字节矩阵的逻辑器;
适于随机化每个加头子数据集的96×928字节矩阵的每一行(CW-4),创建随机化的96×928字节矩阵的逻辑器;
适于通过借助于扩展每个CW-4的长度八个字节来向每个随机化的96×928字节矩阵应用(234,232)调制码,利用调制码来编码每个C2编码的子数据集,以便创建大小为89,856字节的96×936字节矩阵的逻辑器;
适于通过借助于把四个低密度奇偶校验(LDPC)码级联到每个CW-4对每个调制编码后的子数据集应用(1992,1872)LDPC码,利用C1编码来编码每个调制后的子数据集,以便创建大小为95,616字节的96×996字节矩阵的逻辑器;及
适于通过写32个其中指定了CW-4的集合同时把调制编码后的子数据集写到磁带的数据轨道的逻辑器。
18.如权利要求17所述的带驱动器系统,还包括:
磁头,用于把数据写到磁带;
驱动机构,用于在磁头之上传递磁带;及
控制器,电耦合到磁头。
CN201310203913.9A 2012-05-29 2013-05-29 用于把数据写到磁带的方法及带驱动器系统 Active CN103455282B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/483,004 US9190076B2 (en) 2012-05-29 2012-05-29 Data format using an efficient reverse concatenated modulation code for magnetic tape recording
US13/483,004 2012-05-29

Publications (2)

Publication Number Publication Date
CN103455282A true CN103455282A (zh) 2013-12-18
CN103455282B CN103455282B (zh) 2016-04-13

Family

ID=49671831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310203913.9A Active CN103455282B (zh) 2012-05-29 2013-05-29 用于把数据写到磁带的方法及带驱动器系统

Country Status (2)

Country Link
US (2) US9190076B2 (zh)
CN (1) CN103455282B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020716A (zh) * 2015-03-31 2016-10-12 国际商业机器公司 利用可变长度报头写入数据的系统和方法
WO2024045879A1 (zh) * 2022-08-30 2024-03-07 华为云计算技术有限公司 一种数据访问方法和系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2526943B (en) 2011-12-20 2016-04-27 Imagination Tech Ltd Method and apparatus for compressing and decompressing data
US8854759B2 (en) 2012-04-24 2014-10-07 International Business Machines Corporation Combined soft detection/soft decoding in tape drive storage channels
US9178534B2 (en) 2012-05-29 2015-11-03 International Business Machines Corporation Methods for partial reverse concatenation for data storage devices using composite codes
US9558782B2 (en) 2012-05-29 2017-01-31 International Business Machines Corporation Partial reverse concatenation for data storage devices using composite codes
US9190076B2 (en) 2012-05-29 2015-11-17 International Business Machines Corporation Data format using an efficient reverse concatenated modulation code for magnetic tape recording
US9373357B1 (en) 2015-03-31 2016-06-21 International Business Machines Corporation Error protection of data stored using variable-length headers

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539514B1 (en) * 1998-05-12 2003-03-25 Hewlett-Packard Company Read while write method in data storage device
US20070168834A1 (en) * 2002-07-03 2007-07-19 Mustafa Eroz Method and system for routing in low density parity check (LDPC) decoders
WO2008116725A1 (en) * 2007-03-23 2008-10-02 International Business Machines Corporation Reverse concatenation for product codes
US20110258509A1 (en) * 2006-03-31 2011-10-20 Aditya Ramamoorthy Multi-Level Signal Memory with LDPC and Interleaving
CN102272841A (zh) * 2009-01-09 2011-12-07 国际商业机器公司 磁带上多磁道记录的重写高效ecc/交错

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4888775A (en) 1988-03-18 1989-12-19 International Business Machines Corporation Trellis codes for partial response channels
JPH0898144A (ja) 1994-09-28 1996-04-12 Sanyo Electric Co Ltd 映像データの誤り訂正方式
US6112324A (en) 1996-02-02 2000-08-29 The Arizona Board Of Regents Acting On Behalf Of The University Of Arizona Direct access compact disc, writing and reading method and device for same
KR100611954B1 (ko) 1999-07-08 2006-08-11 삼성전자주식회사 고밀도 디스크를 위한 에러 정정방법
US6901119B2 (en) 2001-02-22 2005-05-31 International Business Machines Corporation Method and apparatus for implementing soft-input/soft-output iterative detectors/decoders
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US7000167B2 (en) 2001-08-01 2006-02-14 International Business Machines Corporation Decoding low density parity check codes
ATE321301T1 (de) 2001-10-24 2006-04-15 Koninkl Philips Electronics Nv Sicherheitseinrichtung für eine massenspeicherung
US6757122B1 (en) 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants
US7246294B2 (en) 2002-04-01 2007-07-17 Intel Corporation Method for iterative hard-decision forward error correction decoding
US7266750B1 (en) 2002-07-10 2007-09-04 Maxtor Corporation Error recovery strategies for iterative decoders
US7071851B1 (en) 2005-01-31 2006-07-04 Hitachi Global Storage Technologies Netherlands B.V. Techniques for implementing non-uniform constraints in modulation encoded data
US7530003B2 (en) 2005-02-17 2009-05-05 Hitachi Global Storage Technologies Netherlands B.V. Permuting MTR code with ECC without need for second MTR code
US7650561B1 (en) 2005-07-12 2010-01-19 Seagate Technology Llc Method of switching from parallel to serial MAP detector
US7714748B1 (en) 2005-07-22 2010-05-11 Marvell International Ltd. Systems and methods for constructing high-rate constrained codes
US7725800B2 (en) 2005-08-05 2010-05-25 Hitachi Global Stroage Technologies Netherlands, B.V. Decoding techniques for correcting errors using soft information
US7409622B1 (en) 2005-11-10 2008-08-05 Storage Technology Corporation System and method for reverse error correction coding
US7827472B2 (en) 2006-05-26 2010-11-02 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry, Through The Communications Research Centre Canada Puncture-constrained interleaving for concatenated codes
US8046660B2 (en) 2006-08-07 2011-10-25 Marvell World Trade Ltd. System and method for correcting errors in non-volatile memory using product codes
US7405678B2 (en) 2006-09-25 2008-07-29 International Business Machines Corporation Method of retrieving data from a storage device using a recovered read-back parameter
US7827464B2 (en) 2006-11-15 2010-11-02 Seagate Technology Llc Iterative read channel architectures with coded modulation
US7949932B2 (en) 2007-03-20 2011-05-24 Quantum Corporation Strengthening parity check bit protection for array-like LDPC codes
US7877662B2 (en) 2007-03-23 2011-01-25 International Business Machines Corporation Reverse concatenation for product codes
US7873894B2 (en) 2007-03-23 2011-01-18 International Business Machines Corporation Reverse concatenation for product codes
US7486208B2 (en) 2007-05-16 2009-02-03 International Business Machines Corporation High-rate RLL encoding
US8065585B1 (en) 2007-08-30 2011-11-22 L-3 Communications Corporation High data throughput turbo product encoder
EP2210345A2 (en) 2007-10-02 2010-07-28 Imec An asip architecture for decoding at least two decoding methods
JP2008146828A (ja) 2008-01-15 2008-06-26 Ricoh Co Ltd 光ディスク装置のエンコードデータ符号回路
US8209578B2 (en) 2008-03-11 2012-06-26 Hitachi Global Storage Technologies Netherlands, B.V. Systems using low density parity check codes for correcting errors
FR2929785B1 (fr) 2008-04-02 2012-11-16 France Telecom Procede de transmission d'un signal numerique entre au moins un emetteur et au moins un recepteur, mettant en oeuvre au moins un relais, produit programme et dispositif relais correspondants.
US7616134B1 (en) 2008-06-19 2009-11-10 International Business Machines Corporation Systems and methods for enumerative encoding and decoding of maximum-transition-run codes and PRML (G,I,M) codes
US8583979B1 (en) * 2008-10-17 2013-11-12 Sk Hynix Memory Solutions Inc. Multiple interleavers in a coding system
US8259405B2 (en) 2009-01-09 2012-09-04 International Business Machines Corporation Rewriting codeword objects to magnetic data tape upon detection of an error
US8276045B2 (en) 2009-01-09 2012-09-25 International Business Machines Corporation ECC interleaving for multi-track recording on magnetic tape
US8572460B2 (en) 2009-03-17 2013-10-29 Broadcom Corporation Communication device employing binary product coding with selective additional cyclic redundancy check (CRC) therein
US20100241923A1 (en) 2009-03-17 2010-09-23 Broadcom Corporation Communication device employing LDPC (Low Density Parity Check) coding with Reed-Solomon (RS) and/or binary product coding
US8341509B2 (en) 2009-03-17 2012-12-25 Broadcom Corporation Forward error correction (FEC) scheme for communications
US20100303176A1 (en) 2009-06-01 2010-12-02 Nokia Corporation Methods and apparatuses for mimo detection
US8316281B2 (en) 2009-11-03 2012-11-20 Oracle America, Inc. High density tape drive multi-channel low density parity check coding control
US9069687B2 (en) 2010-01-29 2015-06-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Memory read-channel with selective transmission of error correction data
US8479079B2 (en) 2010-04-09 2013-07-02 International Business Machines Corporation Integrated data and header protection for tape drives
US8595585B2 (en) 2010-08-20 2013-11-26 Nec Laboratories America, Inc. Reverse concatenated encoding and decoding
US8854759B2 (en) 2012-04-24 2014-10-07 International Business Machines Corporation Combined soft detection/soft decoding in tape drive storage channels
US9558782B2 (en) 2012-05-29 2017-01-31 International Business Machines Corporation Partial reverse concatenation for data storage devices using composite codes
US9178534B2 (en) 2012-05-29 2015-11-03 International Business Machines Corporation Methods for partial reverse concatenation for data storage devices using composite codes
US9190076B2 (en) 2012-05-29 2015-11-17 International Business Machines Corporation Data format using an efficient reverse concatenated modulation code for magnetic tape recording

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539514B1 (en) * 1998-05-12 2003-03-25 Hewlett-Packard Company Read while write method in data storage device
US20070168834A1 (en) * 2002-07-03 2007-07-19 Mustafa Eroz Method and system for routing in low density parity check (LDPC) decoders
US20110258509A1 (en) * 2006-03-31 2011-10-20 Aditya Ramamoorthy Multi-Level Signal Memory with LDPC and Interleaving
WO2008116725A1 (en) * 2007-03-23 2008-10-02 International Business Machines Corporation Reverse concatenation for product codes
CN102272841A (zh) * 2009-01-09 2011-12-07 国际商业机器公司 磁带上多磁道记录的重写高效ecc/交错

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020716A (zh) * 2015-03-31 2016-10-12 国际商业机器公司 利用可变长度报头写入数据的系统和方法
CN106020716B (zh) * 2015-03-31 2019-01-22 国际商业机器公司 利用可变长度报头写入数据的系统和方法
WO2024045879A1 (zh) * 2022-08-30 2024-03-07 华为云计算技术有限公司 一种数据访问方法和系统

Also Published As

Publication number Publication date
CN103455282B (zh) 2016-04-13
US9183852B2 (en) 2015-11-10
US9190076B2 (en) 2015-11-17
US20130326311A1 (en) 2013-12-05
US20130326305A1 (en) 2013-12-05

Similar Documents

Publication Publication Date Title
CN103455282B (zh) 用于把数据写到磁带的方法及带驱动器系统
EP2153526B1 (en) Rll encoding
CN101636789B (zh) 乘积码的反向链接编码系统和方法
CN104350544B (zh) 使用用于记录的部分反向级联调制码的数据存储系统
CN102834866B (zh) 用于磁带驱动器的集成的数据与头保护
US9595301B2 (en) Efficient multichannel data format using variable-length headers
US9606868B2 (en) Encoding and writing of data on multitrack tape
US10824346B2 (en) Logical format utilizing lateral encoding of data for storage on magnetic tape
US7978100B2 (en) Encoding and decoding methods using generalized concatenated codes (GCC)
US10055289B2 (en) Error protection of data stored using variable-length headers
CN101849361A (zh) 调制编码及解码
JP2002509331A5 (zh)
CN101236766B (zh) 提供纠错编码的方法以及用于纠错的方法和系统
KR101120780B1 (ko) 기록 쓰기 경로를 위한 리버스 연결 인코딩 시스템과 매체 상에 기록하기 위한 데이터를 인코딩하는 방법과 컴퓨터 판독가능한 기록 매체
KR20040102106A (ko) 신호, 저장매체, 인코딩방법 및 장치, 디코딩방법 및 장치
US9712188B2 (en) Decoding data stored with three orthogonal codewords
US11967342B2 (en) Header decoding mechanism for tape storage
EP2715726B1 (en) Track-dependent data randomization mitigating false vfo detection
US20240087605A1 (en) Header encoding mechanism for tape storage

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211014

Address after: Grand Cayman Islands

Patentee after: Aviman Co.,Ltd.

Address before: USA New York

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230512

Address after: 13D-3-3, Block B, 13th Floor, No.28 Information Road, Haidian District, Beijing

Patentee after: Beijing Pian Ruo Jinghong Technology Co.,Ltd.

Address before: Grand Cayman, Cayman Islands

Patentee before: Aviman Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230801

Address after: 100190 0207, 2 / F, building 4, Zijin Digital Park, Haidian District, Beijing

Patentee after: Beijing zitiao Network Technology Co.,Ltd.

Address before: 13D-3-3, Block B, 13th Floor, No.28 Information Road, Haidian District, Beijing, 100085

Patentee before: Beijing Pian Ruo Jinghong Technology Co.,Ltd.