CN104350544B - 使用用于记录的部分反向级联调制码的数据存储系统 - Google Patents

使用用于记录的部分反向级联调制码的数据存储系统 Download PDF

Info

Publication number
CN104350544B
CN104350544B CN201380027515.4A CN201380027515A CN104350544B CN 104350544 B CN104350544 B CN 104350544B CN 201380027515 A CN201380027515 A CN 201380027515A CN 104350544 B CN104350544 B CN 104350544B
Authority
CN
China
Prior art keywords
data
modulation
code
encoded
module
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.)
Active
Application number
CN201380027515.4A
Other languages
English (en)
Other versions
CN104350544A (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 CN104350544A publication Critical patent/CN104350544A/zh
Application granted granted Critical
Publication of CN104350544B publication Critical patent/CN104350544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0677Optical disk device, e.g. CD-ROM, DVD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device
    • 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
    • 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
    • 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
    • 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
    • H03M13/2909Product 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/63Joint error correction and other techniques
    • H03M13/6325Error control coding in combination with demodulation
    • 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/63Joint error correction and other techniques
    • H03M13/6343Error control coding in combination with techniques for partial response channels, e.g. recording
    • 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/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/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers
    • G11B2220/95Serpentine format, wherein a single track or group of tracks traverses the tape plural times from one end to the other
    • G11B2220/956Linear tape open [LTO] format
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Error Detection And Correction (AREA)

Abstract

在一个实施例中,一种数据存储系统包括用于向存储介质写入数据的写入通道,该写入通道被配置为利用部分反向级联调制码。写入通道包括适合用于使用C2编码方案对数据集进行编码的逻辑、适合用于向数据集的每个子单元添加首部的逻辑、适合用于用第一调制编码方案对数据集的首部进行编码的逻辑、适合用于用第二调制编码方案对数据集的数据部分进行编码的逻辑、适合用于使用C1编码方案对一个或者多个C2编码的数据集的部分进行编码的逻辑、适合用于使用复用器来组合C1编码的部分与C2编码的数据集的调制编码的首部的逻辑以及适合用于向数据轨道写入一个或者多个组合的C1和C2编码的数据集的逻辑。

Description

使用用于记录的部分反向级联调制码的数据存储系统
技术领域
本发明涉及数据存储,并且更具体地涉及使用部分反向级联来存储数据,该部分反向级联运用复合码、比如产品码和级联码。
背景技术
复合编码方案的高效反向级联难以实现。一般而言,反向级联方案具有较其它数据存储技术而言的若干优点。虽然反向级联方案运用大的块大小用于调制编码(MC)以便实现高码比率并且提高格式效率,但是它们未遭受错误传播,因为在错误纠正编码(ECC)解码之后执行调制解码。另外,反向级联方案允许从检测器向解码器传递软信息、由此实现使用软解码或者迭代解码技术以提高错误率性能。
一种用于产品码的反向级联架构在它使ECC和MC的顺序反向的意义上执行常规反向级联。在这一方式中的调制码的比率是0.9951,而线性带开放(LTO)标准LTO-5调制码比率是32/33=0.9697。因此,使ECC和MC的顺序反向造成调制码比率较LTE-5标准而言提高2.6%、由此提供更高带格式效率。在以上方式中使用的调制码维持在LTO-2到LTO-5带驱动标准中满足的交织(I=11)调制约束。然而,G约束由于列代码插入奇偶校验符号而从在LTO-5中的G=14被弱化成G=22,这弱化调制约束。在以上方式中的反向调制方案的另一显著缺点是高实施复杂性,这加剧这一反向级联方式在实际实践中用于产品码。用于产品码的现有反向级联架构需要现有数据流程架构的完全修整和重新设计,这在必须提供向后兼容性时复杂得无人问津。除了实施复杂性之外,以上方式的另一缺点是在MC之后的C2符号插入弱化可实现的调制约束。另外,这一特定反向级联方案未被设计为满足非统一约束。因此,这一反向级联方案满足的总体调制约束不如希望的那样严密。出于这些原因中的任何原因,将很希望有一种缓解与产品编码方案的常规反向级联关联的问题的系统和技术。
发明内容
在一个实施例中,一种数据存储系统包括用于向存储介质写入数据的写入通道,该写入通道被配置为利用部分反向级联调制码。
在另一实施例中,一种数据存储系统包括适合用于接收包括一个或者多个数据集的数据流的逻辑、适合用于使用C2编码方案对一个或者多个数据集进行编码的逻辑、适合用于在使用C2编码方案对一个或者多个数据集进行编码之后向一个或者多个数据集的每个子单元添加首部的逻辑、适合用于在向一个或者多个C2编码的数据集中的每个数据集添加首部之后用第一调制编码方案对一个或者多个数据集的首部进行编码的逻辑、适合用于在向一个或者多个C2编码的数据集中的每个数据集添加首部之后用第二调制编码方案对一个或者多个数据集的数据部分进行编码的逻辑、适合用于在用第二调制编码方案对一个或者多个C2编码的数据集的部分进行编码之后使用C1编码方案对一个或者多个C2编码的数据集的部分进行编码的逻辑、适合用于使用复用器来组合C1编码的部分与一个或者多个C2编码的数据集的调制编码的首部的逻辑以及适合用于向线性带开放(LTO)格式磁带的数据轨道写入一个或者多个组合的C1和C2编码的数据集的逻辑,其中在使用第一调制编码方案、第二调制编码方案和C1编码方案对一个或者多个数据集的任何部分进行编码之前使用C2编码方案对一个或者多个数据集进行编码。
可以在磁数据存储系统、比如带驱动系统中实施这些实施例中的任何实施例,该磁数据存储系统可以包括磁头、用于使磁介质(例如,记录带)在磁头之上通过的驱动机制和电耦合到磁头的控制器。
本发明的其它方面和实施例将从以下具体描述中变得清楚,该具体描述在与附图结合时通过示例举例说明本发明的原理。
附图说明
图1图示根据一个实施例的网络存储系统。
图2图示根据一个实施例的基于带的数据存储系统的简化带驱动。
图3是根据现有技术的前向级联方案。
图4是根据现有技术的基于使用两个调制编码器的反向级联方案。
图5是根据现有技术的备选反向级联(RC)架构。
图6以示意形式示出根据一个实施例的用于复合码的编码方案。
图7是根据一个实施例的在具有同时写入的轨道的带驱动中的概念数据流程。
图8是根据一个实施例的用于LTO带驱动的架构的数据流程。
图9是根据一个实施例的用于一些企业带驱动的架构的数据流程。
图10示出在一种方式中的编码操作的顺序。
图11示出根据一个实施例的编码操作的新颖顺序。
图12是根据一个实施例的写入通道架构的数据流程。
图13是根据一个实施例的写入通道架构的数据流程。
图14示出在一种方式中的用于部分反向级联(PRC)编码的光存储介质的数据流程。
图15示出在一种方式中的用于PRC编码的磁存储介质的数据流程。
图16示出在一种方式中的用于线性带开放(LTO)带驱动的数据流程。
具体实施方式
以下描述是出于举例说明本发明的主要原理这样的目的而进行的而未打算限制这里要求保护的发明概念。另外,这里描述的具体特征可以在各种可能组合和排列中的每个组合和排列中与其它描述的特征组合使用。
除非这里另外具体地定义,则所有术语将被给予它们的最广义可能解释、包括从说明书暗示的含义以及本领域技术人员理解的和/或如在字典、论文等中定义的含义。
也必须注意如在说明书和所附权利要求中所用,单数形式“一个”、“一种”和“该”除非另有指定则包括复数指代物。
常规反向级联(RC)方案完全地使错误纠正编码(ECC)和调制编码(MC)的顺序反向。根据一个实施例,MC和ECC未被完全地反向,而在C2EEC编码之后、但是在C1编码之前执行MC。因而,根据各种实施例的这里描述的RC技术和系统利用一种称为部分反向级联(PRC)的RC方案。
PRC方案具有较用于产品码和级联码的常规RC方案而言的若干优点。首先,它易于实施,因为它与常规数据流程架构比较仅依赖于切换MC和C1编码的顺序。因此,可以用对现有数据流程架构的相对较小改变来实施PRC方案。带驱动系统将从这一优点中受益,因为它们必须满足向后兼容性要求以便被使用在现有安装中。另一优点是C2符号无需被插入到MC编码的数据流中,并且PRC方案能够满足非统一调制约束、从而产生更严密总体调制约束。
PRC方案可以被使用在硬盘驱动(HDD)、光存储驱动、带驱动等、例如实质上任何运用多级ECC编码架构、比如复合编码方案的数据存储设备中。一些HDD使用一维同心数据轨道,而一些光存储设备使用单个一维螺旋形轨道以存储数据。此外,一些线性带驱动同时写入和读取也与带的边缘平行的K个平行轨道。
在一个一般实施例中,一种数据存储系统包括用于向存储介质写入数据的写入通道,该写入通道被配置为利用部分反向级联调制码。
在另一一般实施例中,一种数据存储系统包括适合用于接收包括一个或者多个数据集的数据流的逻辑、适合用于使用C2编码方案对一个或者多个数据集进行编码的逻辑、适合用于在使用C2编码方案对一个或者多个数据集进行编码之后向一个或者多个数据集的每个子单元添加首部的逻辑、适合用于在向一个或者多个C2编码的数据集中的每个数据集添加首部之后用第一调制编码方案对一个或者多个数据集的首部进行编码的逻辑、适合用于在向一个或者多个C2编码的数据集中的每个数据集添加首部之后用第二调制编码方案对一个或者多个数据集的数据部分进行编码的逻辑、适合用于在用第二调制编码方案对一个或者多个C2编码的数据集的部分进行编码之后使用C1编码方案对一个或者多个C2编码的数据集的部分进行编码的逻辑、适合用于使用复用器来组合C1编码的部分与一个或者多个C2编码的数据集的调制编码的首部的逻辑以及适合用于向线性带开放(LTO)格式磁带的数据轨道写入一个或者多个组合的C1和C2编码的数据集的逻辑,其中在使用第一调制编码方案、第二调制编码方案和C1编码方案对一个或者多个数据集的任何部分进行编码之前使用C2编码方案对一个或者多个数据集进行编码。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微码等),或硬件和软件方面结合的实施方式,这里可以统称为“逻辑”“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者非易失性计算机可读存储介质。非易失性计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的非易失性有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其连接使用的程序,诸如具有一个或者多个有线、光纤等等的电子连接。
计算机可读介质上包含的程序码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
现在参照图1,根据一个实施例示出网络存储系统10的示意图。这一网络存储系统10仅为适当存储系统的一个示例而未旨在于按时关于这里描述的本发明的实施例的使用或者功能范围。无论如何,网络存储系统10能够实施和/或执行上文阐述的功能中的任何功能。
在网络存储系统10中,有用许多其它通用或者专用计算系统环境或者配置可操作的计算机系统/服务器12。可以适合用于与计算机系统/服务器12使用的熟知计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持或者膝上型设备、微处理器系统、基于微处理器的系统、机顶盒、可编程客户电子装置、网络PC、小型计算机系统、大型机计算机系统和包括以上系统或者设备中的任何系统或者设备的分布式云计算环境等。
可以在计算机系统执行的计算机系统可执行指令、比如程序模块的一般情境中描述计算机系统/服务器12。一般而言,程序模块可以包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、部件、逻辑、数据结构等。可以在分布式云计算环境中实现计算机系统/服务器12,在这些云计算环境中,任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质二者中。
如图1中所示,以通用计算设备的形式示出网络存储系统10中的计算机系统/服务器12。计算机系统/服务器12的部件可以包括但不限于一个或者多个处理器或者处理单元16、系统存储器28和总线18,该总线将包括系统存储器28的各种系统部件耦合到处理器16。
总线18代表若干总线结构类型中的任何总线结构类型中的一个或者多个总线结构类型,这些总线结构类型包括存储器总线或者存储器控制器、外围总线、加速图形端口和使用多种总线架构中的任何总线架构的处理器或者本地总线。举例而言而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和外围部件互连(PCI)总线。
计算机系统/服务器12通常包括多种计算机系统可读介质。这样的介质可以是计算机系统/服务器12可访问的任何可用介质,并且它包括易失性和非易失性介质、可拆除和非可拆除介质二者。
系统存储器28可以包括形式为易失性存储器、比如随机存取存储器(RAM)30和/或高速缓存存储器32的计算机系统可读介质。计算机系统/服务器12还可以包括其它可拆除/非可拆除、易失性/非易失性计算机系统存储介质。仅举例而言,可以提供用于从和向可以在HDD中操作的非可拆除、非易失性磁介质——未示出并且通常称为“硬盘”——读取和写入的存储系统34。虽然未示出,但是可以提供用于从和向可拆除、非易失性磁盘(例如“软盘”)读取和写入的磁盘驱动以及用于从或者向可拆除、非易失性光盘、比如CD-ROM、DVD-ROM或者其它光介质读取或者写入的光盘驱动。在这样的实例中,各自可以被一个或者多个数据介质接口连接到总线18。如以下将进一步描绘和描述的那样,存储器28可以包括具有与程序模块集合(例如至少一个程序模块)的至少一个程序产品,这些程序模块被配置为这里描述的实施例的功能。
可以例如而不限于在存储器28中存储具有(程序模块)集合(或者至少一个程序模块)42的程序/实用程序40以及操作系统、一个或者多个应用程序、其它程序模块和程序数据。操作系统、一个或者多个应用程序、其它程序模块和程序数据中的每项或者其某个组合可以包括联网环境的实现方式。程序模块42主要执行如这里描述的本发明的实施例的功能和/或方法。
计算机系统/服务器12也可以与一个或者多个外部设备14、比如键盘、指示设备、显示器24;让用户能够与计算机系统/服务器12交互的一个或者多个设备;和/或使计算机系统/服务器12能够与一个或者多个其它计算设备通信的任何设备(例如网卡、调制解调器等)通信。这样的通信可以经由输入/输出(I/O)接口22出现。进而另外,计算机系统/服务器12可以经由网络适配器20与一个或者多个网络、比如局域网(LAN)、一般广域网(WAN)和/或公用网络(例如因特网)通信。如描绘的那样,网络适配器20经由总线18与计算机系统/服务器12的其它部件通信。应当理解虽然未示出,但是可以与计算机系统/服务器12结合使用其它硬件和/或软件部件。示例包括但不限于:微码、设备驱动器、冗余处理单元、外部盘驱动阵列、RAID系统、带驱动和数据档案存储系统。
图2图示可以根据各种实施例运用的基于带的数据存储系统的简化带驱动100。尽管在图2中示出带驱动的一个具体实现方式,但是应当注意可以在任何类型的带驱动系统的情境中实施这里描述的实施例。
如图所示,提供用于支持带122的带供应盒120和接受卷轴121。卷轴中的一个或者多个卷轴可以形成可拆卸盒的部分并且未必是系统100的部分。带驱动、比如图2中所示带驱动还可以包括用于驱动带供应盒120和接受卷轴121以在任何类型的带头126之上移动带122的带供应盒120。
引导件125跨越带头126引导带122。这样的带头126又经由线缆130耦合到控制器组件128。控制器128通常包括伺服通道134和数据通道136,该数据通道包括数据流程处理。它控制卷轴运动(在图2中未示出)和头功能、比如轨道跟随、写入、读取等。线缆130可以包括用于向头126传输数据以被记录在带122上和从带122接收头126读取的数据的读取/写入电路。致动器132向在带122上的轨道集合移动头126以便执行写入或者读取操作。
也可以提供用于在带驱动与主机(集成或者外部)通信的接口以发送和接收数据以及用于控制带驱动的操作和向主机传达带的状态,所有这些如本领域技术人员将理解的那样。
ECC和MC在数据存储中用来实现很低误码率,例如磁带存储产品被设计为保证在正常操作条件之下在范围1x10-17至1x10-19中的误码率。线性块码、比如Reed-Solomon(RS)码和低密度奇偶校验(LDPC)码一般已经是在数据存储产品中使用的优选ECC方案。
MC方案通常施加游程长度约束、因此也称为游程长度(RLL)编码方案。然而,MC方案可以施加其它类型的调制约束,这些调制约束排除出现出于同步的目的而向MC编码的数据中嵌入的具体数据模式、比如12T数据分离符序列(DSS)、在LTO-5带格式中的33位再同步(Re-Sync)模式等。另外,它们可以保证调制编码的数据的功率谱密度在希望的频率具有频谱空值。例如光存储系统、比如紧致盘(CD)、数字万用盘(DVD)和蓝光盘(BD)运用在零频率表现频谱控制的调制码、即无dc码。
在使用前向级联的常规存储系统中,如图3中所示,数据首先由ECC编码器302使用ECC方案来编码、然后使用MC编码器304、使用MC方案来编码。已知前向级联方案具有若干缺点。在也称为标准级联或者常规级联的前向级联中,调制码字的大小相对小以便通过在调制解码器的输出减少或者消除错误传播来提高错误率性能。
然而,这具有的缺点是小的调制块大小造成未与称为最大调制码比率——称为给定的约束集合的香农容量——接近的码比率。前向级联的更多另一缺点是调制解码器阻碍从检测器向ECC解码器传递软信息、由此妨碍使用可以提高错误比率性能的软解码和/或迭代检测/解码技术。
现在参照图4,示出根据常规方案的用于ECC的反向级联(RC)。如图3中所示ECC和MC的级联顺序的反向以减轻标准级联的先前讨论的缺点为目标。
这一架构使用跟随有系统ECC编码器404和奇偶校验调制编码器406的甚高比率数据调制编码器402。虽然RC方案通常运用大的块大小用于高效调制编码以便实现很高码比率,但是它们未遭受误差传播,因为在ECC解码之后执行大块调制码的调制解码。另外,RC方案允许使用软解码和迭代检测/解码技术以提高错误比率性能。
在图5中示出备选RC架构,其中使用系统ECC编码器504向已经使用MC编码器502来调制编码的调制编码的数据流中插入ECC奇偶校验位,因此避免使用第二奇偶校验调制编码器。
这里公开根据各种实施例的如下RC方案,该RC方案避免使用第二奇偶校验调制编码器、运用满足非统一调制约束的甚高比率枚举调制编码器、系统RS编码器和部分奇偶校验符号交织器。这一RC方案通过实现很严密调制约束而最小化错误传播和比率损失来较其它常规RC架构有改进。另外,引入满足PRML(G,I)约束的新MC码类。以前缀约束的码和具有非统一约束的两个交织的枚举码的级联为基础的这一码系列比其它已知高效PRML(G,I)码显著地更好。例如,可以用一些方式构造具有200位的块大小的低延时比率199/200PRML(G=14,I=7)码。
这里指代的PRML(G,I)码可以是本领域已知的任何类型的PRML(G,I)码,并且可以根据本领域已知的任何方法实现约束(G、I、M、d、k等)。作为参考,第7,486,208号美国专利和第7,679,535号美国专利提供关于获得和在带通道处理中使用约束的细节。
在各种数据存储产品之中,HDD首先在商业上可用的存储产品中实施反向级联,尽管在首次提出RC之后的多于二十五年。事实上,所有HDD如今运用反向级联。四个因素造成在HDD行业中接受反向级联:1)HDD读取/写入通道是专有的,因此行业范围的接受未如在带驱动技术、比如LTO中的情况那样需要其它公司接受新颖RC方案;2)反向兼容性要求未阻碍HDD读取/写入通道;3)HDD行业在引入RC时迅速地迫近可实现的面积密度限制、因此更愿意进行必需投资并且冒实施新技术的风险以便提高格式效率并且在正常操作条件之下减少需要的信噪比(SNR);以及4)用于在HDD中使用的ECC码类型的RC的新近研究进展到允许在HDD中实施实用RC方案的水平。然而不会低估与一种用于复合码的构思好的RC方案的研究和设计关联的挑战,该RC方案a)提供良好性能、b)满足严密调制约束和c)易于实施。如今,即使已知RC的优点,磁带驱动系统和光存储系统、比如CD、DVD和BD仍然使用ECC和MC的前向级联。无这里描述的实施例和方式,在这些系统中实施RC尚未被证明合理、也不可能。
在HDD产品中使用的ECC方案主要地基于交织RS码、非交织RS码或者LDPC码。使用前向级联的HDD运用具有8位符号的三向交织RS码,这些RS码被具有10位符号或者12位符号的非交织RS码取代。如今,通常在HDD中使用LDPC码从而取代以往已经使用的RS码。例如,如果RS和LDPC码的级联用作ECC方案,则可以在HDD中使用这里描述的实施例和方式。
HDD在仍然使用峰检测时运用(d,k)约束的RLL码。在大约1999年向HDD中引入PRML检测之后,PRML(G,I,M)码被初次地使用并且最终被PRML(G,I)码取代。
光存储系统的面积密度(或者容量)与在盘或者介质上的激光斑大小的平方成比例。另外,激光斑大小与r=λ/NA成比例,其中NA是物镜的数值孔径并且λ是光源(激光)的波长。也可以示出最优激光斑直径为d=1.18λ/NA。因此,可以表达光存储系统的面积密度为:面积密度∝(NA/λ)2
由于所有光盘存储技术(CD,DVD和BD)使用具有120mm直径和1.2mm厚度的光盘,所以单面和单层盘的容量依赖于由最小坑长度和也称为轨道节距的槽间距确定的面积密度。最小槽间距由衍射确定。激光的波长越短,槽间距越小。类似地,物镜的NA越大,槽间距越小。因此,随着光存储技术从CD向DVD、然后向BD进步,所以轨道节距比激光源的波长更迅速地减少,因为物镜的NA随着激光波长减少而增加。
CD技术自从1982年起已经在商业上可用。对于CD技术,λ=780nm,NA=0.45,r=1.73μm以及斑直径d=2.1μm。另外,CD容量是680MB,轨道节距是1.6μm,最小坑长度是0.8μm,并且用户信息的面积密度是0.41Gb/英寸2
DVD技术自从1996年起已经在商业上可用。对于DVD技术,λ=650nm,NA=0.6,r=1.08μm以及斑直径d=1.3μm。另外,DVD容量是4.7GB(较CD容量而言的6.7倍增加),轨道节距是0.74μm,最小坑长度是0.4μm,并且用户信息的面积密度是2.77Gb/英寸2
BD技术自从2006年起已经在商业上可用。对于BD技术,λ=405nm,NA=0.85,r=0.47μm以及斑直径d=0.6μm。另外,BD容量是25GB(较DVD容量而言的5.3倍增加),轨道节距是0.32μm,最小坑长度是0.15μm,并且用户信息的面积密度是14.73Gb/英寸2
在光数据存储产品中使用的ECC方案通常基于具有两个RS分量码的交织码(复合码)、比如产品码或者级联码。具有m位符号的RS(n,k,d)码具有k个符号的维度、n个符号的长度和最小汉明距离d。CD技术使用交叉交织级联RS编码方案,其中外码是具有8位符号的RS(28,24,5)码而内码是具有8位符号的RS(32,28,5)。CD级联编码方案使用三级交织,其中第二级是交叉交织级。CD编码方案称为交叉交织Reed Solomon编码(CIRC)。DVD技术使用RS产品码,其中列代码是具有8位符号的RS(208,192,17)码而行代码是具有8位符号的RS(182,172,11)。BD技术使用长距离码(LDC)、即具有8位符号的RS(248,216,33)码。LDC编码的数据与来自RS(62,30,33)突发指示子码(BIS)的码字复用。在BD帧中,152个LDC码字与12个突发指示码字复用。注意4个突发指示分组码字对应于一个LDC码字的长度、即248字节。因此,在BD中的最终ECC阵列具有248行和152个LDC列以及(12/4)=3个分组列、即共计155列,其中没列是LDC码字或者4个BIS码字。这一ECC阵列被逐行写入到BD上、因此交织LDC和BIS码字。
在光存储驱动中使用的所有调制码无dc从而允许使用从数据轨道提取跟踪信息的简单伺服系统。另外,它们不满足d=1约束——该约束保证在编码数据中的2T最小游程长度——也不满足更严密d=2约束——该约束保证在编码数据中的3T最小游程长度。具有很小坑和脊(land)的光盘很难复制和遭受误码率降级。RLL d=1和d=2序列具有未编码序列的2倍至3倍大的最小坑大小并且将每最小坑长度的多于一个用户位编码为(d+1)R>1。因此,它们实现更高用户面积密度而未牺牲数据完整性。CD使用比率为8/17(d=2,k=10)的无dc调制码,该调制码是级联比率为8/14的八至十四(EFM)调制码和每14位的块插入三个合并位。DVD使用称为EFMPlus的高级的比率为8/16(d=2,k=10)的无dc调制码。注意比率为8/16的EFMPlus码具有与EFM相同的基本参数、但是高6.25%的码比率从而提供提高的格式效率。BD使用称为17PP的比率为2/3(d=1,k=7)的无dc可变长度调制码,该调制码具有用于高效dc控制的奇偶校验保留(PP)性质。另外,在BD中使用的17PP调制码满足重复最小转变游程长度(RMTR)约束,该RMTR约束使在17PP码中的连续2T最小游程长度的数目限于六个。RMT约束提高系统健壮型、具体为对切向倾斜的健壮性。比率为2/3的可变长度17PP码分别将长度为2、4、6或者8的数据值映射成长度为3、6、9和12位的码字。
在20世纪90年代末开发线性带开放(LTO)技术,并且第一代LTO带驱动(LTO-1)在2000年变成在商业上可用。在以往十年,大约每2.5年(平均)已经引入使带盒容量加倍的新一代LTO带驱动。在企业带驱动中使用的编码方案与在中程LTO带驱动中使用的编码方案很相似。因此,对于本说明书的其余部分,为了简洁而仅呈现LTO ECC方案的参数。
在LTO中使用的ECC方案是沿着和跨越带轨道有显著交织程度的基于RS的产品编码方案。在前四代LTO(LTO-1至LTO-4)中,使用具有十个奇偶校验字节的RS(64,54,11)列代码(C2码),该列代码允许纠正在LTO-1和LTO-2中的8个同时写入的轨道之中的1个无用轨道已经在LTO-3和LTO-4中的16个同时写入的轨道之中的2个无用轨道。在2010年变成在商业上可用的LTO-5带驱动中,使用具有十二个奇偶校验字节的RS(96,84,13)列代码(C2码)从而允许纠正在LTO-5高级金属粒子带上同时写入的16个轨道之中的2个无用轨道。在前三代LTO中,使用具有六个奇偶校验字节的RS(240,234,7)行代码(C1码)。在LTO-4和LTO-5带驱动中,行奇偶校验字节数目从六增加至十个字节、即RS(240,230,11)行代码(C1码)用来提供提高的沿着轨道的错误纠正能力。
在LTO带驱动中使用这些类型的MC。在LTO-1带驱动中,使用比率为2/3的固定长度(d=1,k=7)的码,因为检测是基于在错误比率性能方面逊色于PRML检测、但是实施更简单的峰检测。在LTO-1中的比率为2/3的固定长度的受限状态(d=1,k=7)码将4位数据值映射成6位码字。另外,码是7状态码。
在接下来三代LTO带驱动LTO-2至LTO-4中,使用与1/(1+D)预编码结合的比率为16/17的双生约束码。这一码使连续NRZI双生的最大数目限于t=11,其中双生是00或者11。码也使NRZI零的最大游程长度限于k=14和NRZI一的最大游程长度限于j=14。另外,交替位模式(在NRZI表示法中为VFO模式)的最大长度限于a=24,并且在每个17位NRZI码字内有至少2个NRZI一(转变)。由于所有(j=14,k=14,t=11,a=24)约束NRZI序列的集合与所有1/(1+D)预编码(G=13,I=11,M=23)约束序列的集合相同,所以LTO-4MC码是(G=13,I=11)码。
在LTO-5带驱动中,使用与1/(1+D)预编码集合的比率为32/33(j=15,k=15,t=11,a=24)的双生约束码。LTO-5调制码具有与LTO-4调制码几乎相同的基本参数、但是码比率高3%从而提供提高的格式效率。由于所有(j=15,k=15,t=11,a=24)约束NRZI序列的集合与所有1/(1+D)预编码(G=14,I=11,M=23)约束序列的集合相同,所以LTO-5MC码是(G=14,I=11)码。
一般而言,构造具有良好距离性质(良好错误性能)的大块长度的码(长码)是很困难的问题。另外,长码仅如果它们的解码不是太复杂则才可以被使用在实用方案中。在实践中,组合两个或者更多短码以获得用合理(不是无人问津)实施复杂性可解码的长码的良好构造。如本领域所知,如果必需则使用交织从两个或者更多分量码形成的这些码可以称为复合码。用于复合码的实用编码方案通常使用分量码的编码器。相似地,复合码的实用解码方案通常使用分量码的解码器。例如可以串行地级联与两个分量码关联的两个编码器,并且可以在用于分量码的两个编码器之间使用某类交织器。
图6以示意形式示出根据在LTO带驱动中的实现方式的可以在带驱动中使用的用于复合码的编码方案(未示出在C2编码器与C1编码器之间的可能交织器)。列编码器也称为C2编码器而行编码器也称为C1编码器。可以在一种方式中在LTO带驱动中使用所示C2编码器602、C1编码器604和MC编码器606的顺序。注意C2和C1的顺序可互换,因为在LTO中使用产品编码方案。
图7以具体形式示出根据一个实施例的在具有K个同时写入的轨道的带驱动中的概念数据流程700,该概念数据流程包括循环冗余校验(CRC)错误检测码702、压缩704、加密706、C2编码708和带布局添加710的操作。数据流程700也包括用于每个轨道1、…、K的个别C1编码712、…、714、字节交织716、…、718、加扰(数据随机化)720、…、722、MC编码724、…、726、同步插入732、…、734和复用728、…、370。
在以下描述中,未示出这些操作中的多数操作以简化描述,因为ECC和MC操作的顺序是这些描述的焦点。然而这里的描述中的任何描述可以包括未描绘的、但是在其它图中描述的附加操作。
图8以简化形式示出在一种方式中的在LTO带驱动中的编码操作800。使用C2编码器802对数据进行C2编码。然后,带布局804生成与数据集的子单元的数据部分关联的首部(首部1…首部K)并且在数据集的子单元的数据部分在C1编码器806、…、808中被C1编码之后追加首部。首部包括两字节CRC、但是未被ECC编码。然后,首部和数据在使用MC编码器814、…、816来调制编码之前被复用810、…、812。
每个数据集包括多个子单元或者子数据集,并且每个子数据集是二维阵列而子数据集的每行被定义为“数据集的子单元”。在LTO中,每个编码的子数据集包括两个(对于LTO1-LTO4这几代)或者四个(LTO5)C1码字。因此,一般而言,编码的子数据集包括一个或者多个C1码字。通常向单个数据集指派数以百计的首部,因为每个数据集包括多个子数据集,并且向列编码的子数据集的每行指派首部。
如图16中所示,在LTO1-LTO2中,对于K=8个轨道执行数据流程处理。每个数据集包括多个子数据集。在这一示例中,数据集包括16个子数据集。每个子数据集是二维阵列并且在被行代码C1和列代码C2编码之后被保护。正如可见,每个编码的子数据集具有C1个行奇偶校验字节和C2个列奇偶校验直接。示出编码的子数据集,从而先执行C2编码(扩展、即在竖直方向上添加奇偶校验字节)、继而为C1编码(扩展、即在水平方向上添加奇偶校验字节)。实际上,编码的子数据集(数据集的子单元)的行包括两个字节交织的C1码字(LTO1-LTO4)或者四个字节交织的C1码字(LTO-5)。向每个这样的“子单元”附着首部以标识编码的子数据集的行。可以设想这一“子单元”为分组或者封包(envelope),其中有一条编码的信息。首部是在分组或者封包上面的地址。首部被接收器用来向正确子数据集中放置每个接收的分组或者封包并且纠正行,从而可以自行C1和C2解码。C1和C2解码基于子数据集。如图16中所示,例如数据0和C1、数据1和C1等等。实际上,数据0和C1包括两个(LTO1-LTO4)或者四个(LTO5)字节交织C1码字。因此,在编码的子数据集的行中的矩形C1指示与两个(LTO1-LTO4)或者四个(LTO5)C1码字关联的奇偶校验字节。编码的子数据集的最低行示出未总是有向这些分组或者封包中放置的数据,但是分组或者封包的内容也可以仅为同样被C1奇偶校验字节保护的C2奇偶校验,并且这一类分组也接收首部(编码的子数据集的最低行)。
在LTO中,两个这样的首部化的分组被放置在一起(在图16中由代表码字四元的CQ指示,因为在LTO1-LTO4中,每个分组包含两字节交织C1码字,因此两个分组包含四个C1码字、即四元)。在标准化和调制编码(在图16中称为RLL编码)之后,两个分组被填充同步模式。如图16中所示,可以通过添加首部来处理来自每个轨道的数据以允许标识C1码字,数据被随机化(如HCR’、数据0’、C1’等指示的那样),数据被RLL编码,因为添加同步字段(如HCR”、数据0”、C1”等指示的那样),数据经历写入均衡,然后可以执行在写入之时读取和重写以写入数据。
根据一些方式,可以用两种方式之一执行用于产品码的编码。根据第一方式,在第一步骤中,数据集的数据部分被C2编码,然后数据集的数据部分和在第一步骤中生成的C2奇偶校验部分被C1编码。在第二方式中,在第一步骤中,数据集的数据部分被C1编码,然后数据集的数据部分和在第一步骤中生成的C1奇偶校验部分被C2编码。
图9以简化形式示出一些企业带驱动在一种方式中的编码操作900。使用C2编码器902对数据进行C2编码。然后,带布局904生成与数据单位关联的首部(首部1…首部K)。数据单位和它们的包括两字节CRC的对应首部在一种方式中在C1编码器906、…、908中被联合地C1编码。然后,调制编码910、…、912对数据单位及其对应首部发生。
在一种方式中,RC方案可以在它使ECC和MC的顺序反向的意义上执行常规RC。调制码的比率可以是0.9951而LTO-5调制码比率是32/33。这造成调制码比率提高2.6%从而提供更高带格式效率。
图10以简化形式示出在一种方式中的编码操作1000的顺序。调制码维持在LTO-2至LTO-5带驱动这几代中满足的交织I=11调制约束。然而,G约束从在LTO-5中的G=14弱化成G=22,因为列代码插入奇偶校验符号弱化调制约束。
这一RC方案的另一显著缺点是它的高实施复杂性从而加剧这一RC架构在实践中用于产品码。用于产品码的现有RC架构需要现有数据流程架构的完全修整和重新设计,这在必须提供向后兼容性时复杂得无人问津。
除了实施复杂性之外,这一方式的另一缺点是在调制编码之后的C2符号插入弱化可实现的调制约束从而引起定时恢复的降级并且因此在C1解码器的输入引起更高错误率。另外,这一特定RC方案未被设计为满足非统一约束。因此,这一方案满足的总体调制约束不是很严密。
现在讨论根据一个实施例的一种用于使得用于复合错误纠正码的级联反向的新颖方式。图11以示意形式描绘具有C2编码1102、MC编码1104和C1编码1106的新顺序的多级编码结构1100。直至现在,所有设计的RC方案完全地使ECC和MC的顺序反向。如图11中所示,MC编码1104和ECC(C2编码1102)未被完全地反向,而在C2ECC编码1102之后、但是在C1编码1106之前执行MC编码1104。这一操作顺序可以称为部分反向级联(PRC)。一般而言,C1编码1106或者C2编码1102可以是用于单个ECC码、比如BCH码、RS码、LDPC码等或者用于复合ECC码、比如产品码、级联码、双循环码、交叉交织码、菱形码、turbo码等的编码器,即错误纠正编码可以使用多于两个分量码。另外,可以有在各种ECC编码级之间的交织级。PRC方案执行第一ECC编码步骤、继而为第二调制编码步骤和第三ECC编码步骤。在第三ECC编码步骤之后的附加调制编码步骤是可选地、因此在图11中未被示出。
如图11中所示,在使用调制编码方案和C1编码方案对数据集的任何部分进行编码之前使用C2编码方案对数据集进行编码。
PRC方案具有较用于产品码的常规RC方案而言的若干优点。它实施起来简单,因为与常规数据流程架构比较仅切换MC和C1编码的顺序。因此,PRC方案可以用对现有数据流程架构的相对小的改变来实施。这代表用于带驱动系统的主要优点,因为它们通常被预计满足向后兼容性要求。C2符号也未被插入到MC编码的数据流中,并且PRC方案可以满足非统一调制约束从而造成更严密的总体调制性能、提高的定时恢复和提高的性能。
PRC方案可以被使用在HDD、光存储驱动和带驱动中,这些驱动运用基于复合码的ECC架构、比如产品编码方案。HDD使用一维同心数据轨道而光存储设备使用一维螺旋形轨道以存储数据。线性带驱动同时写入和读取也与带边缘平行的K个平行轨道。HDD、光存储驱动和带驱动在恒定线性比率(CLV)模式中或者在恒定角比率(CAV)模式中操作。线性带驱动使用CLV模式而HDD使用CAV模式。光存储设备使用CLV或者CAV模式。分区恒定线性比率(ZCLV)是在高速CD和DVD记录器中使用的修改的CLV形式。ZCLV模式将盘划分成固定数目的区段,其中每个区段被指派恒定线性比率。ZCLV模式是在提供更快查找时间的CAV模式与提供更高存储容量的CLV模式之间的折衷。
一般而言,在PRC方案中的C1码可以是任何线性或者非线性码、例如LPDC码、二进制BCH码或者q进制BCH码以及RS码或者复合码。虽然在PRC方案中的C2码一半可以是包括复合码的任何线性或者非线性码,但是RS码可以在一个实施例中是用于C2码的优选选择。
在一些更一般地描述的实施例中,执行第一ECC编码(这一种第一编码可以基于复合码、即它可以具有两个或者更多分量码)、继而为调制编码、然后为第二ECC编码(这一种第二编码可以基于复合码、即它可以具有两个或者更多分量码)。在这些级之后,可以有执行的可选第二调制编码。
现在参照图12,示出与在LTO带驱动中使用的架构相似的架构的数据流程1200的第一实施例。然而,数据单位首部未如在LTO带驱动中那样被C1编码。
C2编码的数据阵列的行在穿过C2编码器1202之后被带布局1204指派给K个数据轨道。数据单位首先被MC编码(使用分离数据MC编码器1206、…、1208)、然后使用C1编码器1214、…、1216来C1编码,而首部仅被MC编码(使用分离首部MC编码器1210、…、1212)。由于数据单位和首部的长度很不同,所以可以容纳这些不同的两个不同MC编码器用于对数据单位和首部进行编码。MC编码的首部然后被追加到MC编码和C1编码的数据单位、即MC编码的首部以及MC编码和C1编码的数据单位被复用(使用复用器1218、…、1220)和记录到带轨道上。
在图12中所示数据流程1200的一个具体实施例中,使用PRML(G,I,M)调制码。这一MC可以是本领域已知的枚举MTR(eMTR)码。数据阵列的已经在C2编码器1202中被RS(96,84,13)码进行列编码的行被带布局(K=16)指派给16个数据轨道。列编码的数据阵列的行的长度是232*4=928字节(数据单位)。
数据单位首先使用比率为232/234的eMTR码(使用数据MC编码器1206、…、1208)来MC编码、然后被RS(246,234,13)编码(使用C1编码器1214、…、1216)。比率为232/234的eMTR码满足约束G=12、I=6和M=22。首部如在LTO-5带驱动中那样仅使用比率为32/33的调制码(使用首部MC编码器1210、…、1212)来MC编码。比率为32/33的MC编码的首部然后被追加到比率为232/234的MC编码和RS(246,234,13)编码的数据单位、即比率为32/33的MC编码的首部以及比率为232/234的MC编码和RS(246,234,13)编码的数据单位被复用(使用复用器1218、…、1220)、然后写入到带轨道上。
根据另一实施例,如图13中所示,示出用于与在一些企业带驱动中使用的架构相似的架构的数据流程1300。具体而言,数据单位首部如在一些企业带驱动中那样被C1编码。
C2编码的数据阵列的行在一种方式中在使用C2编码器1302来C2编码之后被带布局指派给K个数据轨道。数据单位和首部首先被MC编码(使用MC编码器1306、…、1308)、然后被C1编码(使用C1编码器1310、…、1312)。注意相同MC码可以用来在这一实施例中使用MC编码器1306、…、1306对数据和首部二者进行编码。MC编码和C1编码的数据单位和首部然后被记录到带轨道上。
根据一个具体实施例,如在第一实施例中那样使用PRML(G,I,M)调制码,该调制码是枚举MTR(eMTR)码。数据阵列的已经(使用C2编码器1302)被RS(96,84,13)码进行列编码的行被带布局1304、例如K=32指派给32个数据轨道。列编码的数据阵列的行的长度是229*4=916字节(数据单位)。在向列编码的数据阵列的行追加12字节首部之后,行的长度变成928字节,这些字节这里称为指明的行。指明的行然后使用比率为232/234的eMTR码来MC编码(使用MC编码器1306、…、1308)、然后被RS(246,234,13)编码(使用C1编码器1310、…、1312)。比率为232/234的eMTR码满足约束G=12、I=6和M=22。最后,MC编码和RS编码的指明的行被记录到带轨道上。注意在每个轨道中,C1奇偶校验符号可以被划分成多对比特、然后一次两个比特被插入到C2和MC编码的数据流中从而造成在C1编码之后的严密总体约束(G=14、I=7和M=24)。因此,PRC编码的数据在一些示例中满足比利用用于产品码的常规RC而可实现的约束更严密的约束。
这一编码方案可以在一些方式中用于任何可选存储设备。具体而言,在C2ECC编码之后、但是在C1编码之前执行MC。MC码可以优选地是无dc的RLL(d,k)码。然后在光存储介质、例如光存储盘上写入C1编码的数据。
图14描绘在一种方式中用于PRC编码的光介质的数据流程1400。如图所示,数据使用C2编码器1402来C2编码、使用MC编码器1404来调制编码、使用C1编码器1406来C1编码、然后写入到光存储介质1408的轨道上。
根据另一实施例,如图15中所示,呈现可以用于HDD的编码方案1500。在这一实施例中,在C2ECC编码1502之后、但是在C1编码1506之前执行MC编码1504。MC码可以优选地是PRML(G,I)码。C1编码的数据然后被磁记录到磁存储介质1508、比如记录在硬盘上。
在各图中的流程图和框图图示根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。就这一点而言,在流程图和/或框图中的每个块可以代表码模块、段或者部分,该码模块、段或者部分包括用于实施指定的逻辑功能的一个或者多个可执行指令。也应当指出在一些备选实现方式中,在块中指出的功能可以按照与各图中指出的顺序不同的顺序出现。例如事实上根据涉及到的功能可以基本上并行执行接连示出的两个块或者有时可以按照相反顺序执行块。也将指出框图和/或流程图图示的每个块以及在框图和/或流程图图示中的块组合可以由执行指定的功能或者动作的基于专用硬件的系统实施或者由专用硬件和计算机指令的组合实施。
尽管以上已经描述各种实施例,但是应当理解它们仅通过示例而非限制来呈现。因此,本发明的实施例的广度和范围不应受以上描述的示例实施例中的任何示例实施例限制、但是应当仅根据所附权利要求及其等效含义来限定。

Claims (10)

1.一种数据存储系统,包括:
写入通道,其被配置为向存储介质写入数据,所述写入通道在将编码数据存储到所述存储介质之前向所述数据应用部分反向级联的调制码,
其中所述写入通道向所述数据应用所述部分反向级联的调制码包括在向C2编码的数据应用一个或多个调制编码方案以产生调制的数据之前,向所述数据应用C2编码方案以产生所述C2编码的数据,随后向应用所述一个或多个调制编码方案之后的所述调制的数据应用C1编码方案以产生所述编码数据,
其中所述存储介质是线性带开放格式磁带,并且其中所述写入通道包括:
适合用于接收包括一个或者多个数据集的数据流的模块;
适合用于使用C2编码方案对所述一个或者多个数据集进行编码的模块;
适合用于向所述一个或者多个数据集的每个子单元添加首部的模块;
适合用于用第一调制编码方案对所述一个或者多个数据集的所述子单元的所述首部进行编码的模块;
适合用于用第二调制编码方案对所述一个或者多个数据集的数据部分进行编码的模块,
其中所述第二调制编码方案包括满足约束G=12、I=6和M=22的比率为232/234的枚举最小转变游程长度调制码。
2.如权利要求1所述的数据存储系统,其中所述写入通道还包括:
适合用于使用C1编码方案对所述一个或者多个数据集的部分进行编码的模块;
适合用于使用复用器来组合所述C1编码的数据部分与所述一个或者多个数据集的所述调制编码的首部的模块;以及
适合用于向所述磁带的数据轨道写入一个或者多个组合的数据集的模块。
3.如权利要求2所述的数据存储系统,其中所述C2编码方案包括Reed-Solomon RS(96,84,13)码。
4.如权利要求2所述的数据存储系统,其中所述第一调制编码方案包括比率为32/33的调制码。
5.如权利要求2所述的数据存储系统,其中所述C1编码方案包括Reed-Solomon RS(246,234,13)码。
6.如权利要求2所述的数据存储系统,其中适合用于向所述一个或者多个数据集的每个子单元添加所述首部的所述模块包括向十六个数据轨道指派列编码的数据阵列的行。
7.一种数据存储系统,包括:
写入通道,其被配置为向存储介质写入数据,所述写入通道在将编码数据存储到所述存储介质之前向所述数据应用部分反向级联的调制码,
其中所述写入通道向所述数据应用所述部分反向级联的调制码包括在向C2编码的数据应用一个或多个调制编码方案以产生调制的数据之前,向所述数据应用C2编码方案以产生所述C2编码的数据,随后向应用所述一个或多个调制编码方案之后的所述调制的数据应用C1编码方案以产生所述编码数据,
其中所述写入通道包括:
适合用于接收包括一个或者多个数据集的数据流的模块;
适合用于使用C2编码方案对所述一个或者多个数据集进行编码的模块;
适合用于在使用所述C2编码方案对所述一个或者多个数据集进行编码之后向所述一个或者多个数据集的每个子单元添加首部的模块;
适合用于在向一个或者多个C2编码的数据集中的每个C2编码的数据集添加所述首部之后用第一调制编码方案对所述一个或者多个数据集的所述首部进行编码的模块;
适合用于在向所述一个或者多个C2编码的数据集中的每个C2编码的数据集添加所述首部之后用第二调制编码方案对所述一个或者多个数据集的数据部分进行编码的模块;
适合用于在用所述第二调制编码方案对所述一个或者多个C2编码的数据集的所述部分进行编码之后使用C1编码方案对所述一个或者多个C2编码的数据集的部分进行编码的模块;
适合用于使用复用器来组合所述C1编码的部分与所述一个或者多个C2编码的数据集的所述调制编码的首部的模块;以及
适合用于向线性带开放格式磁带的数据轨道写入一个或者多个组合的C1和C2编码的数据集的模块,
其中所述第二调制编码方案包括满足约束G=12、I=6和M=22的比率为232/234的枚举最小转变游程长度(eMTR)调制码。
8.如权利要求7所述的数据存储系统,其中所述C2编码方案包括Reed-Solomon RS(96,84,13)码,其中所述第一调制编码方案包括比率为32/33的调制码,并且其中所述C1编码方案包括Reed-Solomon RS(246,234,13)码。
9.一种数据存储系统,包括:
写入通道,其被配置为向存储介质写入数据,所述写入通道在将编码数据存储到所述存储介质之前向所述数据应用部分反向级联的调制码,
其中所述写入通道向所述数据应用所述部分反向级联的调制码包括在向C2编码的数据应用一个或多个调制编码方案以产生调制的数据之前,向所述数据应用C2编码方案以产生所述C2编码的数据,随后向应用所述一个或多个调制编码方案之后的所述调制的数据应用C1编码方案以产生所述编码数据,
其中所述存储介质是非线性带开放格式磁带,并且其中所述写入通道包括:
适合用于接收包括一个或者多个数据集的数据流的模块;
适合用于使用C2编码方案对所述一个或者多个数据集进行编码的模块;
适合用于在使用所述C2编码方案对所述一个或者多个数据集进行编码之后向所述一个或者多个数据集的每个子单元添加首部的模块;
适合用于在向所述一个或者多个数据集中的每个数据集添加所述子单元的所述首部之后用调制编码方案对所述一个或者多个数据集进行编码的模块;
适合用于在用所述调制编码方案对所述一个或者多个数据集进行编码之后使用C1编码方案对所述一个或者多个数据集进行编码的模块;以及
适合用于向所述非线性带开放格式磁带的数据轨道写入所述一个或者多个数据集的模块,
其中所述调制编码方案包括满足约束G=12、I=6和M=22的比率为232/234的枚举最小转变游程长度(eMTR)调制码。
10.如权利要求9所述的数据存储系统,其中适合用于向所述一个或者多个数据集的每个子单元添加所述首部的所述模块包括向三十二个数据轨道添加列编码的数据阵列的行。
CN201380027515.4A 2012-05-29 2013-05-15 使用用于记录的部分反向级联调制码的数据存储系统 Active CN104350544B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/483,015 US9558782B2 (en) 2012-05-29 2012-05-29 Partial reverse concatenation for data storage devices using composite codes
US13/483,015 2012-05-29
PCT/EP2013/060100 WO2013178474A1 (en) 2012-05-29 2013-05-15 Partial reverse concatenated modulation codes for recording

Publications (2)

Publication Number Publication Date
CN104350544A CN104350544A (zh) 2015-02-11
CN104350544B true CN104350544B (zh) 2018-05-11

Family

ID=48483056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380027515.4A Active CN104350544B (zh) 2012-05-29 2013-05-15 使用用于记录的部分反向级联调制码的数据存储系统

Country Status (8)

Country Link
US (2) US9558782B2 (zh)
EP (1) EP2856465B1 (zh)
JP (1) JP6075582B2 (zh)
CN (1) CN104350544B (zh)
AU (1) AU2013269871A1 (zh)
CA (1) CA2871865C (zh)
MX (1) MX337395B (zh)
WO (1) WO2013178474A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US9196299B2 (en) * 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9311960B1 (en) * 2015-03-31 2016-04-12 International Business Machines Corporation Efficient multichannel data format using variable-length headers
US9606868B2 (en) 2015-05-04 2017-03-28 International Business Machines Corporation Encoding and writing of data on multitrack tape
US9712188B2 (en) 2015-05-04 2017-07-18 International Business Machines Corporation Decoding data stored with three orthogonal codewords
US10339971B1 (en) 2017-12-19 2019-07-02 International Business Machines Corporation Sequential data storage with rewrite using dead-track detection
US11226768B2 (en) * 2018-01-04 2022-01-18 Montage Technology Co., Ltd. Memory controller and method for accessing memory module
US11218165B2 (en) * 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684182A (zh) * 2004-04-12 2005-10-19 富士通株式会社 记录再生装置

Family Cites Families (67)

* 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 映像データの誤り訂正方式
US5731768A (en) 1996-01-31 1998-03-24 Seagate Technology, Inc. Method and apparatus for implementing codes with maximum transition run length
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
US5996104A (en) * 1996-09-13 1999-11-30 Herzberg; Hanan System for coding system
US5757294A (en) 1996-12-31 1998-05-26 Quantum Corporation Rate 24/25 modulation code for PRML recording channels
JPH11154377A (ja) 1997-09-17 1999-06-08 Sony Corp データ記録装置及び方法、並びにデータ再生装置及び方法
US6184806B1 (en) 1998-03-13 2001-02-06 Quantum Corporation Rate 32/33 (D=0, K=6) run length limited modulation code having optimized error propagation
DE69831790T2 (de) 1998-05-12 2006-08-10 Hewlett-Packard Development Co., L.P., Houston Verfahren zum Lesen während des Schreibens in einer Datenspeichervorrichtung
US6304995B1 (en) 1999-01-26 2001-10-16 Trw Inc. Pipelined architecture to decode parallel and serial concatenated codes
KR100611954B1 (ko) 1999-07-08 2006-08-11 삼성전자주식회사 고밀도 디스크를 위한 에러 정정방법
JP4288777B2 (ja) 1999-08-11 2009-07-01 ソニー株式会社 マルチキャリア信号送信装置及びマルチキャリア信号受信装置
DE19958425A1 (de) 1999-12-03 2001-06-13 Siemens Ag Datenübertragung in einem Kommunikationssystem
US7243294B1 (en) 2000-01-13 2007-07-10 California Institute Of Technology Serial turbo trellis coded modulation using a serially concatenated coder
US6901119B2 (en) 2001-02-22 2005-05-31 International Business Machines Corporation Method and apparatus for implementing soft-input/soft-output iterative detectors/decoders
KR100408037B1 (ko) 2001-03-03 2003-12-01 엘지전자 주식회사 비트 레벨 부호화/복호화 방법 및 장치
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
EP1446720B1 (en) 2001-10-24 2006-03-22 Koninklijke Philips Electronics N.V. Security device for a mass storage
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
US7577207B2 (en) 2002-07-03 2009-08-18 Dtvg Licensing, Inc. Bit labeling for amplitude phase shift constellation used with low density parity check (LDPC) codes
US7266750B1 (en) 2002-07-10 2007-09-04 Maxtor Corporation Error recovery strategies for iterative decoders
US6961888B2 (en) 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
JP4118127B2 (ja) 2002-11-14 2008-07-16 システムエルエスアイ株式会社 データの復号方法およびそれを用いたディスク装置
US7030789B1 (en) * 2004-12-01 2006-04-18 Hitachi Global Storage Technologies Netherlands B.V. Techniques for applying modulation constraints to data using periodically changing symbol mappings
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
US7668248B2 (en) 2005-10-19 2010-02-23 Texas Instruments Incorporated High-performance LDPC coding for digital communications in a multiple-input, multiple-output environment
US7205912B1 (en) * 2005-10-31 2007-04-17 Seagate Technology Llc Structured set partitioning and multilevel coding for partial response channels
US7409622B1 (en) 2005-11-10 2008-08-05 Storage Technology Corporation System and method for reverse error correction coding
JP4916728B2 (ja) 2006-01-25 2012-04-18 ローム株式会社 符号化装置、信号処理装置、および記憶システム
US7971130B2 (en) 2006-03-31 2011-06-28 Marvell International Ltd. Multi-level signal memory with LDPC and interleaving
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
WO2008116725A1 (en) 2007-03-23 2008-10-02 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
WO2009043918A2 (en) 2007-10-02 2009-04-09 Interuniversitair Microelectronica Centrum Vzw 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
US8276045B2 (en) 2009-01-09 2012-09-25 International Business Machines Corporation ECC interleaving for multi-track recording on magnetic tape
US8259405B2 (en) 2009-01-09 2012-09-04 International Business Machines Corporation Rewriting codeword objects to magnetic data tape upon detection of an error
US7876516B2 (en) 2009-01-09 2011-01-25 International Business Machines Corporation Rewrite-efficient ECC/interleaving for multi-track recording on magnetic tape
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
US8572460B2 (en) 2009-03-17 2013-10-29 Broadcom Corporation Communication device employing binary product coding with selective additional cyclic redundancy check (CRC) therein
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
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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684182A (zh) * 2004-04-12 2005-10-19 富士通株式会社 记录再生装置

Also Published As

Publication number Publication date
JP6075582B2 (ja) 2017-02-08
EP2856465A1 (en) 2015-04-08
WO2013178474A1 (en) 2013-12-05
CA2871865C (en) 2021-01-26
JP2015524136A (ja) 2015-08-20
US20130326306A1 (en) 2013-12-05
MX337395B (es) 2016-03-02
US10484018B2 (en) 2019-11-19
MX2014014164A (es) 2015-02-04
US9558782B2 (en) 2017-01-31
CA2871865A1 (en) 2013-12-05
AU2013269871A1 (en) 2014-11-13
EP2856465B1 (en) 2020-04-01
US20170126254A1 (en) 2017-05-04
CN104350544A (zh) 2015-02-11

Similar Documents

Publication Publication Date Title
CN104350544B (zh) 使用用于记录的部分反向级联调制码的数据存储系统
US11381258B2 (en) Partial reverse concatenation for data storage devices using composite codes
EP2153526B1 (en) Rll encoding
US7877662B2 (en) Reverse concatenation for product codes
US8049648B2 (en) Systems and methods for constructing high-rate constrained codes
KR20080089407A (ko) 코더, 및 제약 d=1,r=2를 갖는 패리티 상보적 워드할당에 의한 코드의 코딩방법
JP2002319242A (ja) 記録方法、記録装置、伝送装置、再生方法、再生装置、受信装置、記録媒体及び伝送媒体
US7873894B2 (en) Reverse concatenation for product codes
US9431053B2 (en) Run-length limited (RLL) codes
KR101120780B1 (ko) 기록 쓰기 경로를 위한 리버스 연결 인코딩 시스템과 매체 상에 기록하기 위한 데이터를 인코딩하는 방법과 컴퓨터 판독가능한 기록 매체
CN101849361A (zh) 调制编码及解码
US20050168358A1 (en) Method and apparatus for coded symbol stuffing in recording systems
JP2007299393A (ja) 回転する記憶媒体の複数の層にデータを読み書きする方法、プログラム及びデータ記憶装置
JP3768149B2 (ja) 光記録媒体、データ記録装置及びデータ記録方法
US6985320B2 (en) Method and apparatus for encoding data to guarantee isolated transitions in a magnetic recording system
Cideciyan et al. Partial reverse concatenation for data storage
Tannous Sector size in Magnetic, Electronic and Optical media
Mittelholzer et al. Reverse concatenation of product and modulation codes

Legal Events

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

Effective date of registration: 20211021

Address after: Grand Cayman Islands

Patentee after: Aviman Co.,Ltd.

Address before: Armank, New York, USA

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: 20230727

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.

TR01 Transfer of patent right