JP6075582B2 - 複合符号を使用する部分逆連結を使用してデータを記憶するデータ・ストレージ・システム及びそのデータを記憶する方法 - Google Patents

複合符号を使用する部分逆連結を使用してデータを記憶するデータ・ストレージ・システム及びそのデータを記憶する方法 Download PDF

Info

Publication number
JP6075582B2
JP6075582B2 JP2015514412A JP2015514412A JP6075582B2 JP 6075582 B2 JP6075582 B2 JP 6075582B2 JP 2015514412 A JP2015514412 A JP 2015514412A JP 2015514412 A JP2015514412 A JP 2015514412A JP 6075582 B2 JP6075582 B2 JP 6075582B2
Authority
JP
Japan
Prior art keywords
data sets
data
encoding
modulation
encoded
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
JP2015514412A
Other languages
English (en)
Other versions
JP2015524136A (ja
Inventor
シデシャン、ロイ、ダロン
ハッチンス、ロバート、アレン
ミッテルホルツァー、トーマス
オールサー、セダト
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.)
International Business Machines Corp
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 JP2015524136A publication Critical patent/JP2015524136A/ja
Application granted granted Critical
Publication of JP6075582B2 publication Critical patent/JP6075582B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/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
    • 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/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
    • 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

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)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、データ・ストレージに関し、より詳細には、積符号および連接符号などの複合符号を使用する部分逆連結を使用してデータを記憶することに関する。
複合符号化方式の効率的な逆連結(reverse concatenation)は、実現することが難しい。概して、逆連結方式は、その他のデータ・ストレージ技術に優るいくつかの利点を有する。逆連結方式は、高符号化率を実現し、フォーマットの効率を改善するために変調符号化(MC:modulation coding)に大きなブロック・サイズを使用するが、変調復号(modulation decoding)が誤り訂正符号化(ECC)の復号の後に実行されるので誤りの伝搬を被らない。さらに、逆連結方式は、検出器から復号器に軟情報(soft information)を渡すことを可能にし、それによって、誤り率の性能を改善するための軟復号(soft−decoding)技術または繰り返し復号技術の使用を可能にする。
積符号のための1つの逆連結のアーキテクチャは、ECCおよびMCの順序を逆にするという意味で通常の逆連結を実行する。この手法の変調符号のレートは、0.9951であり、一方、リニア・テープ・オープン(LTO)規格LTO−5の変調符号化率は32/33=0.9697である。したがって、ECCおよびMCの順序を逆にすることは、変調符号化率をLTO−5規格よりも2.6%向上させ、それによって、より高いテープ・フォーマットの効率をもたらす。上記の手法で使用される変調符号は、LTO−2からLTO−5までのテープ・ドライブ規格で満たされるインターリーブされた(I=11)変調の制約を維持する。しかし、変調の制約を弱める列符号によるパリティ・シンボルの挿入が原因で、G制約(G−constraint)は、LTO−5のG=14からG=22に弱められる。上記の手法の逆連結方式の別の重大な欠点は、実際に実施する際に積符号のためのこの逆連結のアーキテクチャの使用を悪化させる高い実装の複雑性である。積符号のための既存の逆連結のアーキテクチャは、後方互換性が提供されなければならないときに手に負えないほど複雑になる、既存のデータ・フローのアーキテクチャの完全な見直しおよび再設計を必要とする。実装の複雑性に加えて、上記の手法の別の欠点は、MCの後のC2シンボルの挿入が実現可能な変調の制約を弱めることである。さらに、この特定の逆連結方式は、一様でない制約を満たすように設計されていない。したがって、この逆連結方式によって満たされる全体的な変調の制約は、望まれているほど厳しくない。
米国特許第7,486,208号 米国特許第7,679,535号
これらの理由のいずれかのために、積符号化方式の従来の逆連結に関連する問題を緩和するシステムおよび技術が強く望まれている。
一実施形態においては、データ・ストレージ・システムが、ストレージ媒体にデータを書き込むための書き込みチャネルを含み、書き込みチャネルは、部分逆連結された変調符号を利用するように構成される。
別の実施形態においては、データ・ストレージ・システムが、1つまたは複数のデータ・セットを含むデータ・ストリームを受信するように適合された論理と、C2符号化方式を使用して1つまたは複数のデータ・セットを符号化するように適合された論理と、C2符号化方式を使用して1つまたは複数のデータ・セットを符号化した後、1つまたは複数のデータ・セットの各サブユニットにヘッダを追加するように適合された論理と、1つまたは複数のC2符号化されたデータ・セットのそれぞれにヘッダを追加した後、第1の変調符号化方式によって1つまたは複数のデータ・セットのヘッダを符号化するように適合された論理と、1つまたは複数のC2符号化されたデータ・セットのそれぞれにヘッダを追加した後、第2の変調符号化方式によって1つまたは複数のデータ・セットのデータの部分を符号化するように適合された論理と、第2の変調符号化方式によって1つまたは複数のC2符号化されたデータ・セットの部分を符号化した後、C1符号化方式を使用して1つまたは複数のC2符号化されたデータ・セットの一部を符号化するように適合された論理と、C1符号化された部分を、マルチプレクサを使用して1つまたは複数のC2符号化されたデータ・セットの変調符号化されたヘッダと組み合わせるように適合された論理と、1つまたは複数の組み合わされたC1符号化されたデータ・セットおよびC2符号化されたデータ・セットをリニア・テープ・オープン(LTO)フォーマットの磁気テープのデータ・トラックに書き込むように適合された論理とを含み、1つまたは複数のデータ・セットのいずれかの部分が第1の変調符号化方式、第2の変調符号化方式、およびC1符号化方式を用いて符号化されるよりも前に1つまたは複数のデータ・セットがC2符号化方式を用いて符号化される。
これらの実施形態のいずれも、磁気ヘッドと、磁気ヘッド上に磁気媒体(例えば、記憶テープ)を通すための駆動メカニズムと、磁気ヘッドに電気的に結合されたコントローラとを含む可能性があるテープ・ドライブ・システムなどのデータ・ストレージ・システムで実装され得る。
本発明のその他の態様および実施形態は、図面に関連して理解されるときに本発明の原理を例を用いて示す以下の詳細な説明から明らかになるであろう。
一実施形態によるネットワーク・ストレージ・システムを示す図である。 一実施形態によるテープに基づくデータ・ストレージ・システムの単純化されたテープ・ドライブを示す図である。 従来技術による順連結(forward concatenation)方式の図である。 従来技術による2つの変調符号器の使用に基づく逆連結方式の図である。 従来技術による代替的な逆連結(RC)のアーキテクチャの図である。 一実施形態による複合符号のための符号化方式を図式的に示す図である。 一実施形態による、同時に書き込まれるトラックを有するテープ・ドライブ内の概念的なデータ・フローの図である。 一実施形態によるLTOテープ・ドライブのためのアーキテクチャのデータ・フローの図である。 一実施形態による一部のエンタープライズ・テープ・ドライブのためのアーキテクチャのデータ・フローの図である。 1つの手法の符号化動作の順序を示す図である。 一実施形態による符号化動作の新規の順序を示す図である。 一実施形態による書き込みチャネルのアーキテクチャのデータ・フローの図である。 一実施形態による書き込みチャネルのアーキテクチャのデータ・フローの図である。 1つの手法の部分逆連結(PRC)符号化された光学式ストレージ媒体に関するデータ・フローを示す図である。 1つの手法のPRC符号化された磁気式ストレージ媒体に関するデータ・フローを示す図である。 1つの手法のリニア・テープ・オープン(LTO)テープ・ドライブに関するデータ・フローを示す図である。
以下の説明は、本発明の普遍的な原理を示す目的でなされ、本明細書において請求される発明の概念を限定するように意図されていない。さらに、本明細書において説明される特定の特徴は、さまざまなあり得る組み合わせおよび並べ替えのそれぞれでその他の説明される特徴と組み合わせて使用される可能性がある。
本明細書において別途はっきりと定義されない限り、すべての用語は、本明細書によって示唆される意味と、当業者によって理解される、または辞書、論文などで定義される、あるいはそれら両方の意味とを含むそれらの用語の最も広いあり得る解釈を与えられるべきである。
本明細書および添付の特許請求の範囲において使用されるとき、単数形「a」、「an」、および「the」は、別途指定されない限り、複数の指示対象を含むことにも留意されたい。
従来の逆連結(RC)方式は、誤り訂正符号化(ECC)および変調符号化(MC)の順序を完全に逆にする。一実施形態によれば、MCおよびECCは、完全には逆にされず、MCが、C2 ECC符号化の後であるが、ただし、C1符号化の前に実行される。したがって、さまざまな実施形態による本明細書において説明されるRC技術およびシステムは、部分逆連結(PRC)と呼ばれるRC方式を利用する。
PRC方式は、積符号および連接符号のための従来のRC方式に優るいくつかの利点を有する。第1に、PRC方式は、従来のデータ・フローのアーキテクチャと比較して、MCおよびC1符号化の順序を交換することにのみ依拠するので実装するのが簡単である。したがって、PRC方式は、既存のデータ・フローのアーキテクチャに対する比較的小さな変更によって実装され得る。テープ・ドライブ・システムは、既存の設備で効果的に使用されるために後方互換性の要件を満たさなければならないのでこの利点によって恩恵を受ける。別の利点は、C2シンボルがMC符号化されたデータ・ストリームに挿入される必要がなく、PRC方式がより厳しい全体的な変調の制約をもたらす一様でない変調の制約を満たすことができることである。
PRC方式は、ハード・ディスク・ドライブ(HDD)、光学式ストレージ・ドライブ、テープ・ドライブなど、例えば、複合符号化方式などの多段階ECC符号化アーキテクチャを使用する実質的に任意のデータ・ストレージ・デバイスで使用され得る。データを記憶するために、一部のHDDは、1次元の同心のデータ・トラックを使用し、一方、一部の光学式ストレージ・デバイスは、単一の1次元のらせん状のトラックを使用する。加えて、一部のリニア・テープ・ドライブは、テープの縁にやはり平行であるK個の平行なトラックを同時に書き込み、読み出す。
1つの包括的な実施形態においては、データ・ストレージ・システムが、ストレージ媒体にデータを書き込むための書き込みチャネルを含み、書き込みチャネルは、部分逆連結された変調符号を利用するように構成される。
別の包括的な実施形態においては、データ・ストレージ・システムが、1つまたは複数のデータ・セットを含むデータ・ストリームを受信するように適合された論理と、C2符号化方式を使用して1つまたは複数のデータ・セットを符号化するように適合された論理と、C2符号化方式を使用して1つまたは複数のデータ・セットを符号化した後、1つまたは複数のデータ・セットの各サブユニットにヘッダを追加するように適合された論理と、1つまたは複数のC2符号化されたデータ・セットのそれぞれにヘッダを追加した後、第1の変調符号化方式によって1つまたは複数のデータ・セットのヘッダを符号化するように適合された論理と、1つまたは複数のC2符号化されたデータ・セットのそれぞれにヘッダを追加した後、第2の変調符号化方式によって1つまたは複数のデータ・セットのデータの部分を符号化するように適合された論理と、第2の変調符号化方式によって1つまたは複数のC2符号化されたデータ・セットの部分を符号化した後、C1符号化方式を使用して1つまたは複数のC2符号化されたデータ・セットの一部を符号化するように適合された論理と、C1符号化された部分を、マルチプレクサを使用して1つまたは複数のC2符号化されたデータ・セットの変調符号化されたヘッダと組み合わせるように適合された論理と、1つまたは複数の組み合わされたC1符号化されたデータ・セットおよびC2符号化されたデータ・セットをリニア・テープ・オープン(LTO)フォーマットの磁気テープのデータ・トラックに書き込むように適合された論理とを含み、1つまたは複数のデータ・セットのいずれかの部分が第1の変調符号化方式、第2の変調符号化方式、およびC1符号化方式を用いて符号化されるよりも前に1つまたは複数のデータ・セットがC2符号化方式を用いて符号化される。
当業者に理解されるであろうように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具現化され得る。したがって、本発明の態様は、すべてハードウェアの実施形態、すべてソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはすべてが概して本明細書において「論理」、「回路」、「モジュール」、もしくは「システム」と呼ばれることがあるソフトウェアの態様とハードウェアの態様とを組み合わせる実施形態の形態をとる可能性がある。さらに、本発明の態様は、コンピュータ可読プログラム・コードを具現化する1つまたは複数のコンピュータ可読媒体で具現化されたコンピュータ・プログラム製品の形態をとる可能性がある。
1つまたは複数のコンピュータ可読媒体の任意の組み合わせが、利用される可能性がある。コンピュータ可読媒体は、コンピュータ可読信号媒体または非一時的コンピュータ可読ストレージ媒体である可能性がある。非一時的コンピュータ可読ストレージ媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体システム、装置、もしくはデバイス、またはこれらの任意の好適な組み合わせである可能性があるが、これらに限定されない。コンピュータ可読ストレージ媒体のより詳細な例(非網羅的なリスト)は、以下、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMもしくはフラッシュ・メモリ)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光学式ストレージ・デバイス、磁気式ストレージ・デバイス、またはこれらの任意の好適な組み合わせを含む。本明細書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置、またはデバイスによって、または命令実行システム、装置、またはデバイスに関連して使用するためのプログラムを含むまたは記憶することができる任意の非一時的な有形の媒体である可能性がある。
コンピュータ可読信号媒体は、例えば、ベースバンドで、または搬送波の一部としてコンピュータ可読プログラム・コードを具現化する伝播されるデータ信号を含み得る。そのような伝播される信号は、電磁的、光学的、またはこれらの任意の好適な組み合わせを含むがこれらに限定されないさまざまな形態のうちの任意の形態をとり得る。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令実行システム、装置、もしくはデバイスによって、または命令実行システム、装置、もしくはデバイスに関連して使用するためのプログラムを伝達、伝播、または搬送することができる、1つもしくは複数の配線を有する電気接続、光ファイバなどの任意のコンピュータ可読媒体である可能性がある。
コンピュータ可読媒体上に具現化されるプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、またはこれらの任意の好適な組み合わせを含むがこれらに限定されない任意の適切な媒体を用いて送信される可能性がある。
本発明の態様の動作を実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語とを含む1つまたは複数のプログラミング言語の任意の組み合わせで記述され得る。プログラム・コードは、すべてユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとしてユーザのコンピュータ上で部分的に、ユーザのコンピュータ上で部分的にかつ遠隔のコンピュータ上で部分的に、またはすべて遠隔のコンピュータもしくはサーバ上で実行され得る。最後の場合では、遠隔のコンピュータが、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続され得る、または外部コンピュータへの接続が(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)行われ得る。
本発明の態様が、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照して以下で説明される。流れ図またはブロック図あるいはその両方の各ブロック、および流れ図またはブロック図あるいはその両方のブロックの組み合わせは、コンピュータ・プログラム命令によって実装され得ることが理解されるであろう。これらのコンピュータ・プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサによって実行される命令が、流れ図またはブロック図あるいはその両方の1つのブロックまたは複数のブロックで規定された機能/動作を実施するための手段をもたらすように、多目的コンピュータ、専用コンピュータ、または機械を生産するためのその他のプログラム可能なデータ処理装置のプロセッサに与えられる可能性がある。
これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に記憶された命令が、流れ図またはブロック図あるいはその両方の1つのブロックまたは複数のブロックで規定された機能/動作を実施する命令を含む製品をもたらすように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスを特定の方法で機能させることができるコンピュータ可読媒体に記憶される可能性もある。
コンピュータ・プログラム命令は、コンピュータまたはその他のプログラム可能な装置で実行される命令が、流れ図またはブロック図あるいはその両方の1つのブロックまたは複数のブロックで規定された機能/動作を実施するためのプロセスを提供するように、コンピュータで実施されるプロセスを生成するために一連の動作のステップがコンピュータ、その他のプログラム可能な装置、またはその他のデバイスで実行されるようにするために、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスにロードされる可能性もある。
ここで図1を参照すると、一実施形態によるネットワーク・ストレージ・システム10の概略図が示される。ネットワーク・ストレージ・システム10は、好適なストレージ・システムの一例に過ぎず、本明細書に記載の本発明の実施形態の使用または機能の範囲に関していかなる限定を示唆することも意図されていない。とにかく、ネットワーク・ストレージ・システム10は、本明細書において上で説明された機能のいずれかを与えられ得る、または本明細書において上で説明された機能のいずれかを実行し得る、あるいはその両方である。
ネットワーク・ストレージ・システム10には、多数のその他の多目的または専用コンピューティング・システム環境または構成で動作可能なコンピュータ・システム/サーバ12が存在する。コンピュータ・システム/サーバ12で使用するのに好適である可能性があるよく知られているコンピューティング・システム、環境、または構成、あるいはそれらすべての例には、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサに基づくシステム、セット・トップ・ボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境などが含まれるがこれらに限定されない。
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システムが実行可能な命令の幅広い文脈で説明される可能性がある。概して、プログラム・モジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含む可能性がある。コンピュータ・システム/サーバ12は、通信ネットワークを介して接続された遠隔の処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実施される可能性がある。分散型クラウド・コンピューティング環境においては、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルのコンピュータ・システムのストレージ媒体と遠隔のコンピュータ・システムのストレージ媒体との両方に配置される可能性がある。
図1に示されるように、ネットワーク・ストレージ・システム10のコンピュータ・システム/サーバ12は、多目的コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12のコンポーネントは、1つまたは複数のプロセッサまたは処理ユニット16と、システム・メモリ28と、システム・メモリ28を含むさまざまなシステム・コンポーネントをプロセッサ16に結合するバス18とを含む可能性があるがこれらに限定されない。
バス18は、さまざまなバス・アーキテクチャのいずれかを使用したメモリ・バスまたはメモリ・コントローラ、周辺バス、アセラレーテッド・グラフィックス・ポート、およびプロセッサまたはローカル・バスを含む数種のバス構造のいずれかのうちの1つまたは複数を表す。限定ではなく例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子装置規格化協会(VESA)ローカル・バス、および周辺装置相互接続(PCI)バスを含む。
通常、コンピュータ・システム/サーバ12は、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12によってアクセス可能である任意の利用可能な媒体である可能性があり、揮発性の媒体と不揮発性の媒体との両方、取り外し可能な媒体および取り外し不可能な媒体を含む。
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32あるいはその両方などの揮発性メモリの形態のコンピュータ・システム可読媒体を含み得る。コンピュータ・システム/サーバ12は、その他の取り外し可能/取り外し不可能な揮発性/不揮発性のコンピュータ・システムのストレージ媒体をさらに含み得る。単なる例として、ストレージ・システム34は、図示されておらず、HDD内で操作され得る通常「ハード・ディスク」と呼ばれる取り外し不可能な不揮発性の磁気媒体からの読み出しと、その磁気媒体への書き込みとのために提供される可能性がある。図示されていないが、取り外し可能な不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)からの読み出しと、その磁気ディスクへの書き込みとのための磁気ディスク・ドライブ、およびCD−ROM、DVD−ROM、またはその他の光学式媒体などの取り外し可能な不揮発性の光ディスクからの読み出し、またはその光ディスクへの書き込みのための光学式ディスク・ドライブが、提供される可能性がある。そのような場合、それぞれが、1つまたは複数のデータ媒体のインターフェースによってバス18に接続される可能性がある。以下でさらに示され、説明されるように、メモリ28は、本明細書において説明される実施形態の機能を実行するように構成されるプログラム・モジュールの組(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含み得る。
プログラム・モジュール42の組(少なくとも1つ)を有するプログラム/ユーティリティ40は、限定ではなく例として、メモリ28に記憶される可能性があり、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データも、メモリ28に記憶される可能性がある。オペレーティング・システム、1つもしくは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データのそれぞれ、またはこれらの何らかの組み合わせは、ネットワーキング環境の実装を含む可能性がある。概して、プログラム・モジュール42は、本明細書において説明される本発明の実施形態の機能または方法あるいはその両方を実行する。
また、コンピュータ・システム/サーバ12は、キーボード、ポインティング・デバイス、ディスプレイ24などの1つもしくは複数の外部デバイス14、ユーザがコンピュータ・システム/サーバ12とインタラクションすることを可能にする1つもしくは複数のデバイス、またはコンピュータ・システム/サーバ12が1つもしくは複数のその他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはそれらすべてと通信することができる。そのような通信は、入力/出力(I/O)インターフェース22を介して行われ得る。そしてさらに、コンピュータ・システム/サーバ12は、ネットワーク・アダプタ20を介して、ローカル・エリア・ネットワーク(LAN)、通常の広域ネットワーク(WAN)、または公衆ネットワーク(例えば、インターネット)、あるいはそれらすべてなどの1つまたは複数のネットワークと通信することができる。示されるように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12のその他のコンポーネントと通信する。示されていないが、その他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方が、コンピュータ・システム/サーバ12と併せて使用され得ることを理解されたい。例には、マイクロコード、デバイス・ドライバ、冗長な処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが含まれるがこれらに限定されない。
図2は、さまざまな実施形態にしたがって使用され得る、テープに基づくデータ・ストレージ・システムの簡略化されたテープ・ドライブ100を示す。テープ・ドライブの1つの特定の実装が図2に示されているが、本明細書において説明される実施形態は任意の種類のテープ・ドライブ・システムに関連して実装され得ることに留意されたい。
示されるように、テープ送り出しカートリッジ120および巻き取りリール121が、テープ122を支持するために提供される。リールのうちの1つまたは複数は、取り外し可能なカセットの一部を形成する可能性があり、必ずしもシステム100の一部であるとは限らない。図2に示されたテープ・ドライブなどのテープ・ドライブは、任意の種類のテープ・ヘッド126上でテープ122を動かすようにテープ送り出しカートリッジ120および巻き取りリール121を駆動するための(1つまたは複数の)駆動モータをさらに含む可能性がある。
ガイド125は、テープ・ヘッド126をまたいでテープ122を導く。そして今度は、そのようなテープ・ヘッド126が、ケーブル130を介してコントローラ組立体128に結合される。通常、コントローラ128は、サーボ・チャネル134と、データ・フローの処理を含むデータ・チャネル136とを含む。コントローラ128は、(図2に示されていない)リールの動きと、トラックの追跡、書き込み、読み出しなどのヘッドの機能とを制御する。ケーブル130は、テープ122に記録されるべきデータをヘッド126に送信し、テープ122からヘッド126によって読み出されたデータを受信するための読み出し/書き込み回路を含む可能性がある。アクチュエータ132は、書き込みまたは読み出し動作を実行するためにテープ122上の1組のトラックにヘッド126を移動させる。
すべて当業者に理解されるであろうように、データを送受信し、テープ・ドライブの動作を制御し、テープ・ドライブの状態をホストに伝達するための、テープ・ドライブと(一体的なまたは外部の)ホストとの間の通信のためにインターフェースがやはり設けられる可能性がある。
非常に低いビット誤り率を達成するためにデータ・ストレージでECCおよびMCが使用され、例えば、磁気テープ・ストレージ製品は、通常の動作条件の下で1×10−17から1×10−19の範囲のビット誤り率を保証するように設計される。概して、リード・ソロモン(RS)符号および低密度パリティ検査(LDPC)符号などの線形ブロック符号が、データ・ストレージ製品で使用される好ましいECC方式であった。
通常、MC方式は、ランレングスの制約を課し、したがって、ランレングス制限(RLL)符号化方式としても知られている。しかし、MC方式は、12Tデータ・セパレータ・シーケンス(DSS)、LTO−5テープ・フォーマットの33ビット再同期(Re−Sync)パターンなどの、同期を目的としてMC符号化されたデータに埋め込まれる特定のデータ・パターンの発生を防止するその他の種類の変調の制約を課す可能性がある。さらに、それらのMC方式は、変調符号化されたデータの電力スペクトル密度が所望の周波数のスペクトルを持たないことを保証する可能性がある。例えば、コンパクト・ディスク(CD)、デジタル・バーサタイル・ディスク(DVD)、およびブルーレイ・ディスク(BD)などの光学式ストレージ・システムは、周波数ゼロのスペクトルを示さない変調符号、すなわち、DCフリー符号を使用する。
順連結を使用する従来のストレージ・システムにおいては、図3に示されるように、データは、最初に、ECC方式を使用するECC符号器302によって符号化され、次いで、MC方式を使用するMC符号器304を使用して符号化される。順連結方式は、いくつかの欠点があることが知られている。標準連結(standard concatenation)または通常連結(conventional concatenation)としても知られる順連結においては、変調復号器の出力における誤りの伝搬を削減するまたはなくすことによって誤り率の性能を改善するために、変調符号語のサイズが比較的小さい。
しかし、これは、小さな変調ブロック・サイズが、所与の制約の組のシャノン容量(Shannon capacity)として知られる最大変調符号化率に近くない符号化率をもたらすという欠点がある。順連結のさらに別の欠点は、変調復号器が検出器からECC復号器に軟情報を渡すことを妨げ、それによって、誤り率の性能を改善する可能性がある軟復号技術または繰り返し検出/復号技術あるいはその両方の使用を妨げることである。
ここで図4を参照すると、従来の方式によるECCのための逆連結(RC)が示されている。図3に示されたECCおよびMCの連結順序の逆転は、既に検討されている標準連結の欠点を緩和することを目的とする。
このアーキテクチャは、組織的ECC符号器404およびパリティ変調符号器406が後に続く非常に高率なデータ変調符号器402を使用する。通常、RC方式は、非常に高い符号化率を実現するために効率的な変調符号化のための大きなブロック・サイズを使用するが、大きなブロックの変調符号の変調復号がECC復号の後に実行されるので誤りの伝搬を被らない。さらに、RC方式は、誤り率の性能を改善するために軟復号および繰り返し検出/復号技術を使用することを可能にする。
MC符号器502を使用して変調符号化された変調符号化されたデータ・ストリームに、組織的ECC符号器504を使用してECCパリティビットが挿入され、したがって、第2のパリティ変調符号器の使用を避ける代替的なRCアーキテクチャが、図5に示される。
さまざまな実施形態によって本明細書おいて開示されるのは、第2のパリティ変調符号器の使用を避け、一様でない変調の制約を満たす非常に高率な数え上げ(enumerative)変調符号器、組織的RS符号器、および部分的パリティ・シンボル・インターリーバを使用するRC方式である。このRC方式は、誤りの伝搬および符号化率の損失を最小化しながら非常に厳しい変調の制約を実現することによってその他の従来のRCアーキテクチャを改良する。さらに、PRML(G,I)の制約を満たすMC符号の新しいクラスが導入される。プレフィックス制約符号(prefix−constrained code)および一様でない制約を用いる2つのインターリーブされた数え上げ符号の逐次連結に基づくこの符号の系統は、その他の知られている効率的なPRML(G,I)符号よりもはるかに優れている。例えば、一部の手法では、200ビットのブロック・サイズを有する低レイテンシの符号化率199/200のPRML(G=14,I=7)符号が構築される可能性がある。
本明細書において参照されるPRML(G,I)符号は、当技術分野で知られている任意の種類のPRML(G,I)符号である可能性があり、制約(G,I,M,d,kなど)は、当技術分野で知られている任意の方法にしたがって実現される可能性がある。参考のために、米国特許第7,486,208号および米国特許第7,679,535号が、テープのチャネルの処理の制約を取得し、使用することの詳細を提供する。
さまざまなデータ・ストレージ製品の中でも、HDDは、RCが初めて提案されてから25年以上後であったが、市販のストレージ製品で逆連結を初めて実装することとなった。実際、今日のすべてのHDDは、逆連結を使用する。以下の4つの要因により、HDD産業において逆連結が受け入れられることとなった。1)HDDの読み出し/書き込みチャネルは独自仕様であり、したがって、その他の会社による新規のRC方式の容認が、LTOなどのテープ・ドライブ技術の場合のように業界全体で容認するために必要とされない。2)HDDの読み出し/書き込みチャネルは、後方互換性の要件によって妨げられない。3)HDD産業は、RCが導入されるとき、実現可能な面密度の限界に急速に近づいており、したがって、フォーマットの効率を改善し、通常の動作条件の下で必要とされる信号対雑音比(SNR)を下げるために必要な投資を行い、新しいテクノロジーを実装するリスクをとることにより前向きであった。そして、4)HDDで使用される種類のECC符号のためのRCの最近の研究が、HDDで実用的なRC方式を実装することを可能にするレベルまで進んだ。しかし、a)よい性能をもたらし、b)厳しい変調の制約を満足し、c)実装しやすい、複合符号のための考え抜かれたRC方式の研究および設計に関連する課題は、過小評価されてはならない。今日、磁気テープ・ドライブ・システムと、CD、DVD、およびBDなどの光学式ストレージ・システムとは、RCの利点が知られているにもかかわらず、まだ、ECCおよびMCの順連結を使用する。これらのシステムでのRCの実装は、本明細書において説明される実施形態および手法がないために、とにかく正当化されず、可能でもなかった。
HDD製品で使用されるECC方式は、大抵、インターリーブされたRS符号、インターリーブされていないRS符号、またはLDPC符号に基づく。順連結を使用するHDDは、8ビット・シンボルを用いる3様のインターリーブされたRS符号を使用しており、そのRS符号は、10ビット・シンボルまたは12ビット・シンボルを用いるインターリーブされていないRS符号によって置き換えられた。今日では、通常、LDPC符号がHDDで使用され、過去に使用されていたRS符号を置き換える。例えば、RS符号およびLDPC符号の連結がECC方式として使用される場合、本明細書に記載の実施形態および手法がHDDで使用され得る。
HDDは、ピーク検出がまだ使用されていたとき、(d,k)制約RLL符号を使用していた。1990年頃にHDDにPRML検出が導入された後、PRML(G,I,M)符号が最初に使用され、最終的にPRML(G,I)符号によって置き換えられた。
光学式ストレージ・システムの面密度(または容量)は、ディスクまたは媒体上のレーザー・スポットのサイズの2乗に反比例する。さらに、レーザー・スポットのサイズは、r=λ/NAに比例し、ここで、NAは、対物レンズの開口数であり、λは、光源(レーザー)の波長である。また、最適なレーザー・スポットの直径は、d=1.18λ/NAであることが示され得る。したがって、光学式ストレージ・システムの面密度は、面密度∝(NA/λ)として表され得る。
すべての光ディスク・ストレージ・テクノロジー(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/in(0.064Gb/cm)である。
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/in(0.43Gb/cm)である。
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/in(2.3Gb/cm)である。
通常、光学式データ・ストレージ製品で使用されるECC方式は、積符号または連接符号などの2つのRS成分符号(component code)を用いるインターリーブされた符号(複合符号)に基づく。mビット・シンボルを用いるRS(n,k,d)符号は、次元kシンボル、長さnシンボル、および最小ハミング距離dを有する。CDテクノロジーは、外側符号(outer code)が8ビット・シンボルを用いるRS(28,24,5)符号であり、内側符号(inner code)が8ビット・シンボルを用いるRS(32,28,5)符号であるクロス・インターリーブされた連結RS符号化方式を使用する。CDの連結符号化方式は、第2の段階がクロス・インターリーブ段階である3段階のインターリーブを使用する。CDの符号化方式は、クロス・インターリーブド・リード・ソロモン符号化(CIRC:Cross−Interleaved Reed Solomon Coding)として知られている。DVDテクノロジーは、列符号が8ビット・シンボルを用いるRS(208,192,17)符号であり、行符号が8ビット・シンボルを用いるRS(182,172,11)符号であるRS積符号を使用する。BDテクノロジーは、ロング・ディスタンス符号(LDC:long−distance code)、すなわち、8ビット・シンボルを用いるRS(248,216,33)符号を使用する。LDC符号化されたデータは、RS(62,30,33)バースト・インジケーティング・サブコード(BIS:burst−indicating subcode)からの符号語と多重化される。BDフレームでは、152個のLDC符号語が、12個のバースト・インジケーティング符号語(burst−indicating code word)と多重化される。4つのバースト・インジケーティング・ピケット符号語(burst−indicating picket code word)が、1つのLDC符号語の長さ、すなわち、248バイトに対応することに留意されたい。したがって、BDの最終的なECCの配列は、248行、152LDC列および(12/4)=3ピケット列(picket column)、すなわち、合計155列を有し、各列は、LDC符号語かまたは4つのBIS符号語かのどちらかである。このECC配列は、BDに行毎に書き込まれ、したがって、LDC符号語およびBIS符号語をインターリーブする。
光学式ストレージ・ドライブで使用されるすべての変調符号は、DCフリーであり、データ・トラックからトラッキング情報を抽出する簡単なサーボ・システムの使用を可能にする。さらに、それらの変調符号は、符号化されたデータで2Tの最小ランレングスを保証するd=1制約か、または符号化されたデータで3Tの最小ランレングスを保証するd=2制約かのどちらかを満たす。非常に小さなピットおよびランドを用いる光ディスクは、複製することが非常に難しく、ビット誤り率の悪化に見舞われる。RLL d=1およびd=2シーケンスは、符号化されていないシーケンスよりも2倍から3倍大きな最小ピット・サイズを有し、(d+1)R>1であるので、最小ピット長当たり2ユーザ・ビット以上を符号化する。したがって、それらのシーケンスは、データの完全性を犠牲にすることなくより高いユーザ面密度を実現する。CDは、符号化率8/14の8対14(EFM)変調符号および14ビットのブロック毎に3つのマージング・ビット(merging bit)の挿入の連結である符号化率8/17(d=2,k=10)DCフリー変調符号を使用する。DVDは、EFMPlusとして知られる進歩した符号化率8/16(d=2,k=10)DCフリー変調符号を使用する。符号化率8/16EFMPlus符号は、EFMと同じ基本的なパラメータを有するが、ただし、フォーマットの効率を改善する6.25%高い符号化率を有することに留意されたい。BDは、効率的なDC制御のためにパリティ保存(PP)特性を有する17PPとして知られる符号化率2/3(d=1,k=7)DCフリー可変長変調符号を使用する。さらに、BDで使用される17PP変調符号は、17PP符号の連続する2Tの最小ランレングスの数を6に制限する繰り返し最小遷移ランレングス(RMTR:repeated minimum transition run−length)制約を満たす。RMTR制約は、システムの堅牢性、特に、円周方向の反り(tangential tilt)に対する堅牢性を改善する。符号化率2/3可変長17PP符号は、長さ2、4、6、または8ビットのデータ語を長さ3、6、9、および12ビットの符号語にそれぞれマッピングする。
リニア・テープ・オープン(LTO)テクノロジーが、1990年代の終わりに開発され、第1世代のLTOテープ・ドライブ(LTO−1)が、2000年に商用利用されるようになった。過去10年、(平均で)およそ2年半毎に、テープ・カートリッジの容量を2倍にする新しい世代のLTOテープ・ドライブが導入されてきた。エンタープライズ・テープ・ドライブで使用される符号化方式は、中級のLTOテープ・ドライブで使用される符号化方式と非常に似ている。したがって、この説明の残りに関しては、簡潔にするために、LTO ECC方式のパラメータのみが示される。
LTOで使用されるECC方式は、テープ・トラックに沿って、それらのテープ・トラックにまたがってインターリーブする度合いが大きいRSに基づく積符号化方式である。初めの4つのLTOの世代(LTO−1からLTO−4まで)では、LTO−1およびLTO−2で8つの同時に書き込まれるトラックのうち1つの壊れたトラックの訂正を可能にし、LTO−3およびLTO−4で16個の同時に書き込まれるトラックのうち2つの壊れたトラックの訂正を可能にした、10パリティ・バイトを用いるRS(64,54,11)列符号(C2符号)が使用される。2010年に商用利用されるようになったLTO−5テープ・ドライブでは、LTO−5の進歩した金属粒子テープに同時に書き込まれる16トラックのうち2つの壊れたトラックの訂正を可能にする、12パリティ・バイトを用いるRS(96,84,13)列符号(C2符号)が使用される。最初の3つのLTOの世代では、6パリティ・バイトを用いるRS(240,234,7)行符号(C1符号)が使用される。LTO−4およびLTO−5テープ・ドライブでは、行パリティ・バイトの数が、6バイトから10バイトに増やされ、つまり、RS(240,230,11)行符号(C1符号)が、トラックに沿った誤り訂正能力を改善するために使用される。
3つの種類のMCが、LTOテープ・ドライブで使用される。LTO−1テープ・ドライブでは、検出が、誤り率の性能の点でPRML検出に劣るが実装するのがより簡単であるピーク検出に基づくので、符号化率2/3固定長(d=1,k=7)符号が使用される。LTO−1の符号化率2/3固定長有限状態(d=1,k=7)符号は、4ビットのデータ語を6ビットの符号語にマッピングする。さらに、符号は、7状態符号である。
次の3つのLTOテープ・ドライブの世代LTO−2からLTO−4まででは、符号化率16/17 2連続(twin)制約符号が、1/(1+D)プリコーディングと併せて使用される。この符号は、連続するNRZIの2連続の最大数をt=11に制限し、2連続は、00かまたは11かのどちらかである。また、この符号は、NRZIの0の最大ランレングスをk=14に制限し、NRZIの1のランレングスをj=14に制限する。さらに、交番ビットパターン(alternating−bit pattern)(NRZI表記のVFOパターン)の最大長がa=24に制限され、各17ビットNRZI符号語内に少なくとも2つのNRZIの1(遷移(transition))が存在する。すべての(j=14,k=14,t=11,a=24)制約NRZIシーケンスの組はすべての1/(1+D)プリコーディングされた(G=13,I=11,M=23)制約シーケンスの組と同一であるので、LTO−4 MC符号は(G=13,I=11)符号である。
LTO−5テープ・ドライブでは、符号化率32/33(j=15,k=15,t=11,a=24)2連続制約符号が、1/(1+D)プリコーディングと併せて使用される。LTO−5変調符号は、LTO−4変調符号とほとんど同じ基本的なパラメータを有するが、ただし、フォーマットの効率を改善する3%高い符号化率を有する。すべての(j=15,k=15,t=11,a=24)制約NRZIシーケンスの組はすべての1/(1+D)プリコーディングされた(G=14,I=11,M=23)制約シーケンスの組と同一であるので、LTO−5 MC符号は(G=14,I=11)符号である。
概して、良好な距離特性(良好な誤り性能)を有する大きなブロック長の符号(長い符号)の構築は、非常に難しい問題である。さらに、長い符号は、それらの符号の復号があまり複雑でない場合、実用的な方式でのみ使用され得る。実際には、2つ以上の短い符号が、妥当な(手に負えないほどでない)実施の複雑さで復号可能である長い符号を申し分なく構築するために組み合わされる。必要に応じてインターリーブを使用して2つ以上の成分符号から形成されるこれらの符号は、当技術分野で知られているように、複合符号と呼ばれる可能性がある。通常、複合符号のための実用的な符号化方式は、成分符号の符号器を使用する。同様に、通常、複合符号の実用的な複合方式は、成分符号の復号器を使用する。例えば、2つの成分符号に関連する2つの符号器が、直列に連結される可能性があり、何らかの種類のインターリーバが、成分符号のための2つの符号器の間で使用される可能性がある。
図6は、LTOテープ・ドライブでの実装による、テープ・ドライブで使用され得る複合符号のための符号化方式(図示されていないC2符号器とC1符号器との間のあり得るインターリーバ)を図式的に示す。列符号器は、C2符号器とも呼ばれ、行符号器は、C1符号器と呼ばれる。1つの手法においては、示されたC2符号器602、C1符号器604、およびMC符号器606の順序が、LTOテープ・ドライブで使用され得る。LTOでは積符号化方式が使用されるので、C2およびC1の順序は交換可能であることに留意されたい。
図7は、一実施形態による、巡回冗長検査(CRC)誤り検出符号702、圧縮704、暗号化706、C2符号化708、およびテープ・レイアウト追加710を含む、K個の同時に書き込まれるトラックを有するテープ・ドライブでの概念的なデータ・フロー700を詳細な形式で示す。データ・フロー700は、各トラック1、...、Kのための個々のC1符号化712、...、714、バイト・インターリーブ716、...、718、スクランブル(データ・ランダム化)720、...、722、MC符号化724、...、726、同期挿入732、...、734、および多重化728、...、730も含む。
以下の説明では、ECCおよびMCの動作の順序が説明の焦点であるので、説明を簡単にするためにこれらの動作のほとんどが示されない。しかし、本明細書の説明のいずれも、示されていないがその他の図で説明されるさらなる動作を含む可能性がある。
図8は、1つの手法の、LTOテープ・ドライブでの符号化動作800を簡略化された形式で示す。データは、C2符号器802を使用してC2符号化される。次いで、テープ・レイアウト804が、データ・セットのサブユニットのデータの部分に関連するヘッダ(ヘッダ1...ヘッダK)を生成し、データ・セットのサブユニットのデータの部分がC1符号器806、...、808でC1符号化された後にヘッダを付加する。ヘッダは、2バイトのCRCを含むが、ECC符号化されない。次に、ヘッダおよびデータが、MC符号器814、...816を使用して変調符号化される前に多重化される810、...、812。
各データ・セットは、複数のサブユニットまたはサブデータ・セットを含み、各サブデータ・セットは、サブデータ・セットの各行が「データ・セットのサブユニット」であるように定義された2次元配列である。LTOでは、それぞれの符号化されたサブデータ・セットは、(LTO−1〜LTO4の世代に関して)2つまたは4つ(LTO5)のC1符号語を含む。したがって、概して、符号化されたサブデータ・セットは、1つまたは複数のC1符号語を含む。各データ・セットは複数のサブデータ・セットを含み、列符号化されたサブデータ・セットの各行がヘッダを割り振られるので、通常、数百のヘッダが単一のデータ・セットに割り振られる。
図16に示されるように、LTO1〜LTO2では、K=8トラックに対してデータ・フローの処理が実行される。各データ・セットは、複数のサブデータ・セットを含む。この例において、データ・セットは、16個のサブデータ・セットを含む。各サブデータ・セットは、2次元配列であり、行符号C1および列符号C2による符号化の後、保護される。見て分かるように、それぞれの符号化されたサブデータ・セットは、C1行パリティ・バイトおよびC2列パリティ・バイトを有する。符号化されたサブデータ・セットは、C2符号化が最初に実行され(拡張(extension)、すなわち、垂直方向のパリティ・バイトの追加)、その後にC1符号化が続く(拡張、すなわち、水平方向のパリティ・バイトの追加)ように示される。実際、符号化されたサブデータ・セットの行(データ・セットのサブユニット)は、2つのバイト・インターリーブされたC1符号語(LTO1〜LTO4)または4つのバイト・インターリーブされたC1符号号(LTO5)を含む。ヘッダが、符号化されたサブデータ・セットの行を特定するためにそれぞれのそのような「サブユニット」に付加される。この「サブユニット」は、符号化された情報が存在するパケットまたはエンベロープと考えられ得る。ヘッダは、パケットまたはエンベロープの先頭のアドレスである。ヘッダは、C1およびC2復号が実行され得るようにそれぞれの受信されたパケットまたはエンベロープを正しいサブデータ・セットおよび正しい行に入れるために受信機によって使用される。C1およびC2復号は、サブデータ・セットに基づく。図16に示されるように、例えば、データ0およびC1、データ1およびC1等である。実際には、データ0およびC1は、2つ(LTO1〜LTO4)または4つ(LTO5)のバイト・インターリーブされたC1符号語を含む。したがって、符号化されたサブデータ・セットの行の長方形C1は、2つ(LTO1〜LTO4)または4つ(LTO5)のC1符号語に関連するパリティ・バイトを示す。符号化されたサブデータ・セットの最下部の行は、これらのパケットまたはエンベロープに入れられたデータが必ずしも存在せず、パケットまたはエンベロープの内容がC1パリティ・バイトによってやはり保護されるC2パリティのみである可能性もあり、この種のパケットもヘッダを受け取ることを示す(符号化されたサブデータ・セットの最下部の行)。
LTOでは、2つのそのようなヘッダを付けられたパケットがまとめられる(LTO1〜LTO4では、各パケットが2つのバイト・インターリーブされたC1符号語を含み、したがって、2つのパケットは4つのC1符号語、すなわち、4つ組(quad)を含むので、図16においては、符号語の4つ組を表すCQによって示される)。ランダム化および(図16においてはRLL符号化と呼ばれる)変調符号化の後、2つのパケットは、同期パターンを詰め込まれる。図16に示されるように、データは、C1符号語が特定されることを可能にするヘッダを追加することによって各トラックから処理される可能性があり、データは、(HCR’、データ0’、C1’などによって示されるように)ランダム化され、データは、(HCR’’、データ0’’、C1’’などによって示されるように)同期フィールドが追加されるときにRLL符号化され、データは、書き込み等化にかけられ、そして、書き込み中読み出し(read−while−write)および再書き込みが、データを書き込むために実行される可能性がある。
一部の手法によれば、積符号のための符号化が、2つの方法のうち1つで実行される可能性がある。第1の手法によれば、第1のステップで、データ・セットのデータの部分がC2符号化され、次に、データ・セットのデータの部分と第1のステップで生成されたC2パリティの部分との両方がC1符号化される。第2の手法では、第1のステップで、データ・セットのデータの部分がC1符号化され、次に、データ・セットのデータの部分と第1のステップで生成されたC1パリティの部分との両方がC2符号化される。
図9は、1つの手法の、一部のエンタープライズ・テープ・ドライブの符号化動作900を簡略化された形式で示す。データは、C2符号器902を使用してC2符号化される。次いで、テープ・レイアウト904が、データ・ユニットに関連するヘッダ(ヘッダ1...ヘッダK)を生成する。1つの手法では、データ・ユニットと、2バイトのCRCを含むそれらのデータ・ユニットの対応するヘッダとが、C1符号器906、...、908でまとめてC1符号化される。それから、変調符号化910、...、912が、データ・ユニットおよびそれらのデータ・ユニットの対応するヘッダに対して行われる。
1つの手法では、RC方式が、ECCおよびMCの順序を逆にするという意味で従来ののRCを実行する可能性がある。変調符号の符号化率は、0.9951である可能性があり、一方、LTO−5変調符号化率は、32/33である。これは、より高いテープ・フォーマットの効率をもたらす変調符号化率の2.6%の改善を生じる。
図10は、1つの手法の符号化動作1000の順序を簡略化された形式で示す。変調符号は、LTO−2からLTO−5までのテープ・ドライブの世代で満たされるインターリーブされたI=11の変調の制約を維持する。しかし、列符号によるパリティ・シンボルの挿入が変調の制約を弱めるために、G制約は、LTO−5のG=14からG=22に弱められる。
このRC方式の別の重大な欠点は、このRC方式の高い実装の複雑性が実施する際に積符号のためのこのRCアーキテクチャの使用を悪化させることである。積符号のための既存のRCアーキテクチャは、後方互換性が提供されなければならないとすると手に負えないほど複雑になる、既存のデータ・フローのアーキテクチャの完全な見直しおよび再設計を必要とする。
実装の複雑性に加えて、この手法の別の欠点は、変調符号化の後のC2シンボルの挿入が、実現可能な変調の制約を弱め、タイミングの復元の劣化と、ひいてはC1復号器の入力におけるより高い誤り率とを引き起こす。さらに、この特定のRC方式は、一様でない制約を満たすように設計されていない。したがって、この方式によって満たされる全体的な変調の制約は、あまり厳しくない。
一実施形態による複合誤り訂正符号のための逆連結の新規の手法が、以降で検討される。図11は、C2符号化1102、MC符号化1104、およびC1符号化1106の新しい順序を用いる多段階符号化構造1100を図式的に示す。これまで、すべての設計されたRC方式は、ECCおよびMCの順序を完全に逆にした。図11に示されるように、MC符号化1104およびECC(C2符号化1102)は、完全には逆にされず、MC符号化1104が、C2 ECC符号化1102の後であるが、ただし、C1符号化1106の前に実行される。動作のこの順序は、部分逆連結(PRC)と呼ばれる可能性がある。概して、C1符号化1106またはC2符号化1102は、BCH符号、RS符号、LDPC符号などの単一のECC符号、または積符号、連接符号、バイサイクリック符号(bicyclic code)、クロス・インターリーブド符号(cross−interleaved code)、ダイヤモンド符号(diamond code)、ターボ符号などの複合ECC符号のための符号器である可能性があり、つまり、誤り訂正符号化は、3つ以上の成分符号を使用する可能性がある。さらに、さまざまなECC符号化段階の間にインターリーブの段階が存在する可能性がある。PRC方式は、第1のECC符号化ステップを実行し、その後に、第2の変調符号化ステップおよび第3のECC符号化ステップを実行する。第3のECC符号化ステップの後の追加の変調符号化ステップは、任意であり、したがって図11に示されていない。
図11に示されるように、データ・セットは、データ・セットのいずれかの部分が変調符号化方式およびC1符号化方式を用いて符号化されるよりも前にC2符号化方式を用いて符号化される。
PRC方式は、積符号のための従来のRC方式に優るいくつかの利点を有する。PRC方式は、切り替えられるのがMCおよびC1符号化の順序のみであるので、従来のデータ・フローのアーキテクチャと比較して実装するのが簡単である。したがって、PRC方式は、既存のデータ・フローのアーキテクチャに対する比較的小さな変更によって実装され得る。これは、テープ・ドライブ・システムが、通常、後方互換性の要件を満たすことを期待されるので、テープ・ドライブ・システムに対する大きな利点を示す。また、C2シンボルが、MC符号化されたデータ・ストリームに挿入されず、PRC方式が、一様でない変調の制約を満たすことができ、より厳しい全体的な変調の制約、改善されたタイミングの回復、および改善された性能をもたらす。
このPRC方式は、積符号化方式などの複合符号に基づくECCアーキテクチャを使用するHDD、光学式ストレージ・ドライブ、およびテープ・ドライブで使用され得る。データを記憶するために、HDDは、1次元の同心のデータ・トラックを使用し、一方、光学式ストレージ・デバイスは、1次元のらせん状のトラックを使用する。リニア・テープ・ドライブは、テープの縁にやはり平行であるK個の平行なトラックを同時に書き込み、読み出す。HDD、光学式ストレージ・ドライブ、およびテープ・ドライブは、線速度一定(CLV)モードかまたは角速度一定(CAV)モードかのどちらかで動作する。リニア・テープ・ドライブはCLVモードを使用し、一方、HDDはCAVモードを使用する。光学式ストレージ・デバイスは、CLVモードかまたはCAVモードかのどちらかを使用する。ゾーン化線速度一定(ZCLV:Zoned Constant Linear Velocity)は、高速なCDおよびDVDレコーダで使用されるCLVの修正形態である。ZCLVモードは、ディスクを決まった数のゾーンに分割し、各ゾーンが、線速度一定を割り振られる。ZCLVモードは、より速いシーク時間を提供するCAVモードとより大きなストレージ容量を提供するCLVとの間の折衷である。
概して、PRC方式のC1符号は、任意の線形または非線形符号、例えば、LDPC符号、2進BCH符号、またはq元BCH符号、およびRC符号、または複合符号である可能性がある。PRC方式のC2符号は、概して、複合符号を含む任意の線形または非線形符号である可能性があるが、一実施形態においては、RS符号が、C2符号の好ましい選択である可能性がある。
一部のより全般的に示された実施形態においては、第1のECC符号化が実行され(この第1の符号化は複合符号に基づく可能性があり、つまり、2つ以上の成分符号を有する可能性があり)、その後に変調符号化が続き、続いて第2のECC符号化が続く(この第2の符号化は複合符号に基づく可能性があり、つまり、2つ以上の成分符号を有する可能性がある)。これらの段階の後、実行される任意の第2の変調符号化が存在する可能性がある。
ここで図12を参照すると、LTOテープ・ドライブで使用されるアーキテクチャと同様のアーキテクチャのデータ・フロー1200の第1の実施形態が示される。しかし、データ・ユニットのヘッダは、LTOテープ・ドライブのようにC1符号化されない。
C2符号化されたデータ・アレイの行が、C2符号器1202を通過した後、テープ・レイアウト1204によってK個のデータ・トラックに割り振られる。データ・ユニットは、(別個のデータMC符号器1206、...、1208を用いて)最初にMC符号化され、次に、C1符号器1214、...、1216を用いてC1符号化され、一方、ヘッダは、(別個のヘッダMC符号器1210、...、1212を用いて)MC符号化されるだけである。データ・ユニットおよびヘッダの長さは大きく異なるので、これらの違いに対応することができる2つの異なるMC符号器が、データ・ユニットおよびヘッダを符号化するために使用される。MC符号化されたヘッダは、次に、MC符号化され、C1符号化されたデータ・ユニットに付加され、つまり、MC符号化されたヘッダおよびMC符号化され、C1符号化されたデータ・ユニットが(マルチプレクサ1218、...、1220を用いて)多重化され、テープ・トラックに記録される。
図12に示されたデータ・フロー1200の1つの特定の実施形態においては、PRML(G,I,M)変調符号が使用される。このMCは、当技術分野で知られている数え上げMTR(eMTR)符号である可能性がある。C2符号器1202でRS(96,84,13)符号によって列符号化されたデータ・アレイの行が、テープ・レイアウト(K=16)によって16個のデータ・トラックに割り振られる。列符号化されたデータ・アレイの行の長さは、232*4=928バイト(データ・ユニット)である。
データ・ユニットは、最初に(データMC符号器1206、...、1208を用いて)符号化率232/234eMTR符号を用いてMC符号化され、次に、(C1符号器1214、...、1216を用いて)RS(246,234,13)符号化される。符号化率232/234eMTR符号は、制約G=12、I=6、およびM=22を満たす。ヘッダは、LTO−5テープ・ドライブのように、(ヘッダMC符号器1210、...、1212を用いて)符号化率32/33変調符号を用いてMC符号化されるだけである。次に、符号化率32/33MC符号化されたヘッダが、符号化率232/234MC符号化され、RS(246,234,13)符号化されたデータ・ユニットに付加され、つまり、符号化率32/33MC符号化されたヘッダおよび符号化率232/234MC符号化され、RS(246,234,13)符号化されたデータ・ユニットが、(マルチプレクサ1218、...、1220を用いて)多重化され、次いで、テープ・トラックに書き込まれる。
別の実施形態によれば、図13に示されるように、一部のエンタープライズ・テープ・ドライブで使用されるアーキテクチャと同様のアーキテクチャのデータ・フロー1300が示される。特に、データ・ユニットのヘッダは、一部のエンタープライズ・テープ・ドライブのようにC1符号化される。
1つの手法では、C2符号化されたデータ・アレイの行が、C2符号器1302を用いてC2符号化された後、テープ・レイアウトによってK個のデータ・トラックに割り振られる。データ・ユニットおよびヘッダは、最初に(MC符号器1306、...、1308を用いて)MC符号化され、次に(C1符号器1310、...、1312を用いて)C1符号化される。この実施形態においては、同じMC符号が、MC符号器1306、...、1308を使用してデータとヘッダとの両方を符号化するために使用される可能性があることに留意されたい。そして、MC符号化され、C1符号化されたデータ・ユニットおよびヘッダが、テープ・トラックに記録される。
特定の実施形態によれば、第1の実施形態のように、数え上げMTR(eMTR)符号であるPRML(G,I,M)変調符号が使用される可能性がある。(C2符号器1302を用いて)RS(96,84,13)符号によって列符号化されたデータ・アレイの行が、テープ・レイアウト1304、例えば、K=32によって32個のデータ・トラックに割り振られる。列符号化されたデータ・アレイの行の長さは、229*4=916バイト(データ・ユニット)である。12バイトのヘッダを列符号化されたデータ・アレイの行に付加した後、行の長さは928バイトになり、それらの行は本明細書において指定行(designated row)と呼ばれる。次に、指定行は、まず(MC符号器1306、...、1308を用いて)符号化率232/234eMTR符号を用いてMC符号化され、次に(C1符号器1310、...、1312を用いて)RS(246,234,13)符号化される。符号化率232/234eMTR符号は、制約G=12、I=6、およびM=22を満たす。最後に、MC符号化され、RS符号化された指定行が、テープ・トラックに記録される。各トラックでは、C1パリティ・シンボルがビットの複数の対に分割され、次いで、C2符号化され、MC符号化されたデータ・ストリームに一度に2ビットずつ挿入される可能性があり、C1符号化の後の厳しい全体的な制約(G=14,I=7,およびM=24)をもたらすことに留意されたい。したがって、一部の実施形態において、PRC符号化されたデータは、積符号のための従来のRCで実現可能な制約よりも厳しい制約を満たす。
この符号化方式は、いくつかの手法で、任意の光学式ストレージ・デバイスのために使用され得る。特に、MCは、C2 ECC符号化の後であるが、ただし、C1符号化の前に実行される。MC符号は、DCフリーRLL(d,k)符号であることが好ましい可能性がある。そして、C1符号化されたデータが、光学式ストレージ媒体、例えば、光学式ストレージ・ディスクに書き込まれる。
図14は、1つの手法でのPRC符号化される光学式媒体のためのデータ・フロー1400を示す。示されるように、データは、C2符号器1402を用いてC2符号化され、MC符号器1404を用いて変調符号化され、C1符号器1406を用いてC1符号化され、そして、光学式ストレージ媒体1408のトラックに書き込まれる。
別の実施形態によれば、図15に示されるように、HDDのために使用され得る符号化方式1500が示される。この実施形態においては、MC符号化1504が、C2 ECC符号化1502の後であるが、ただし、C1符号化1506の前に実行される。MC符号は、PRML(G,I)符号であることが好ましい可能性がある。そして、C1符号化されたデータが、ハード・ディスクなどの磁気式ストレージ媒体1508に磁気的に記録される。
図面の流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品のあり得る実装形態のアーキテクチャ、機能、および動作を示す。これに関連して、流れ図またはブロック図の各ブロックは、(1つまたは複数の)特定された論理的な機能を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの一部を表す可能性がある。一部の代替的な実装形態においては、ブロックで示された機能が、図面に示された順序とは異なる順序で行われる可能性があることにも留意されたい。例えば、連続で示された2つのブロックが、実際には実質的に同時に実行される可能性があり、またはそれらのブロックが、関連する機能に応じて逆順に実行されることもあり得る。ブロック図または流れ図あるいはその両方の各ブロックと、ブロック図または流れ図あるいはその両方のブロックの組み合わせとは、特定された機能もしくは動作を実行する専用のハードウェアに基づくシステム、または専用のハードウェアとコンピュータ命令との組み合わせによって実装され得ることも認められるであろう。
種々の実施形態が上で説明されたが、それらの実施形態は限定ではなく単に例として提供されたことを理解されたい。したがって、本発明の実施形態の幅および範囲は、上述の例示的実施形態のいずれによっても限定されるべきでなく、添付の特許請求の範囲およびそれらの均等物にのみしたがって定義されるべきである。

Claims (17)

  1. データ・ストレージ・システムであって、
    ストレージ媒体にデータを書き込むための書き込みチャネルを含み、
    前記書き込みチャネルが、部分逆連結された変調符号を利用するように構成され、
    前記ストレージ媒体はリニア・テープ・オープン(LTO)フォーマットの磁気テープであって、前記書き込みチャネルが、
    1つまたは複数のデータ・セットを含むデータ・ストリームを受信するように適合された論理と、
    C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するように適合された論理と、
    前記1つまたは複数のデータ・セットの各サブユニットにヘッダを追加するように適合された論理と、
    第1の変調符号化方式によって前記1つまたは複数のデータ・セットの前記サブユニットの前記ヘッダを符号化するように適合された論理と、
    第2の変調符号化方式によって前記1つまたは複数のデータ・セットのデータの部分を符号化するように適合された論理と、
    C1符号化方式を使用して前記1つまたは複数のデータ・セットの一部を符号化するように適合された論理と、
    C1符号化されたデータの部分を、マルチプレクサを使用して前記1つまたは複数のデータ・セットの変調符号化されたヘッダと組み合わせるように適合された論理と、
    1つまたは複数の組み合わされたデータ・セットを前記磁気テープのデータ・トラックに書き込むように適合された論理と
    を含み、
    前記1つまたは複数のデータ・セットのいずれかの部分が前記第1の変調符号化方式、前記第2の変調符号化方式、および前記C1符号化方式を用いて符号化されるよりも前に前記1つまたは複数のデータ・セットが前記C2符号化方式を用いて符号化される、
    前記データ・ストレージ・システム。
  2. データ・ストレージ・システムであって、
    ストレージ媒体にデータを書き込むための書き込みチャネルを含み、
    前記書き込みチャネルが、部分逆連結された変調符号を利用するように構成され、
    前記ストレージ媒体が、エンタープライズ(非LTO)フォーマットの磁気テープであり、前記書き込みチャネルが、
    1つまたは複数のデータ・セットを含むデータ・ストリームを受信するように適合された論理と、
    C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するように適合された論理と、
    前記C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化した後、前記1つまたは複数のデータ・セットの各サブユニットにヘッダを追加するように適合された論理と、
    前記1つまたは複数のデータ・セットのそれぞれに前記サブユニットの前記ヘッダを追加した後、変調符号化方式によって前記1つまたは複数のデータ・セットを符号化するように適合された論理と、
    前記変調符号化方式によって前記1つまたは複数のデータ・セットを符号化した後、C1符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するように適合された論理と、
    前記1つまたは複数のデータ・セットを前記エンタープライズ・フォーマットの磁気テープのデータ・トラックに書き込むように適合された論理と
    を含む、
    前記データ・ストレージ・システム。
  3. データ・ストレージ・システムであって、
    ストレージ媒体にデータを書き込むための書き込みチャネルを含み、
    前記書き込みチャネルが、部分逆連結された変調符号を利用するように構成され、
    前記書き込みチャネルが、
    1つまたは複数のデータ・セットを含むデータ・ストリームを受信するように適合された論理と、
    C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するように適合された論理と、
    前記C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化した後、前記1つまたは複数のデータ・セットの各サブユニットにヘッダを追加するように適合された論理と、
    1つまたは複数のC2符号化されたデータ・セットのそれぞれに前記ヘッダを追加した後、第1の変調符号化方式によって前記1つまたは複数のデータ・セットの前記ヘッダを符号化するように適合された論理と、
    前記1つまたは複数のC2符号化されたデータ・セットのそれぞれに前記ヘッダを追加した後、第2の変調符号化方式によって前記1つまたは複数のデータ・セットのデータの部分を符号化するように適合された論理と、
    前記第2の変調符号化方式によって前記1つまたは複数のC2符号化されたデータ・セットの部分を符号化した後、C1符号化方式を使用して前記1つまたは複数のC2符号化されたデータ・セットの前記部分を符号化するように適合された論理と、
    C1符号化された前記部分を、マルチプレクサを使用して前記1つまたは複数のC2符号化されたデータ・セットの変調符号化されたヘッダと組み合わせるように適合された論理と、
    1つまたは複数の組み合わされたC1符号化されたデータ・セットおよびC2符号化されたデータ・セットをリニア・テープ・オープン(LTO)フォーマットの磁気テープのデータ・トラックに書き込むように適合された論理と
    を含み、
    前記1つまたは複数のデータ・セットのいずれかの部分が前記第1の変調符号化方式、前記第2の変調符号化方式、および前記C1符号化方式を用いて符号化されるよりも前に前記1つまたは複数のデータ・セットが前記C2符号化方式を用いて符号化される、
    前記データ・ストレージ・システム。
  4. 前記C2符号化方式が、リード・ソロモンRS(96,84,13)符号を含む、請求項1または請求項2に記載のデータ・ストレージ・システム。
  5. 前記第1の変調符号化方式が、符号化率32/33変調符号を含む、請求項1に記載のデータ・ストレージ・システム。
  6. 前記第2の変調符号化方式が、制約G=12、I=6、およびM=22を満たす符号化率232/234数え上げ最小遷移ランレングス(eMTR)変調符号を含む、請求項1に記載のデータ・ストレージ・システム。
  7. 前記変調符号化方式が、制約G=12、I=6、およびM=22を満たす符号化率232/234数え上げ最小遷移ランレングス(eMTR)変調符号を含む、請求項2に記載のデータ・ストレージ・システム。
  8. 前記C1符号化方式が、リード・ソロモンRS(246,234,13)符号を含む、請求項1または請求項2に記載のデータ・ストレージ・システム。
  9. 前記1つまたは複数のデータ・セットの各サブユニットに前記ヘッダを追加するように適合された前記論理が、列符号化されたデータ・アレイの行を16個のデータ・トラックに割り振ることを含む、請求項1に記載のデータ・ストレージ・システム。
  10. 前記1つまたは複数のデータ・セットの各サブユニットに前記ヘッダを追加するように適合された前記論理が、列符号化されたデータ・アレイの行を32個のデータ・トラックに割り振ることを含む、請求項2に記載のデータ・ストレージ・システム。
  11. 前記C2符号化方式が、リード・ソロモンRS(96,84,13)符号を含み、前記第1の変調符号化方式が、符号化率32/33変調符号を含み、前記第2の変調符号化方式が、制約G=12、I=6、およびM=22を満たす符号化率232/234数え上げ最小遷移ランレングス(eMTR)変調符号を含み、前記C1符号化方式が、リード・ソロモンRS(246,234,13)符号を含む、請求項3に記載のデータ・ストレージ・システム。
  12. 部分逆連結された変調符号を使用してデータ・ストレージ・システムのストレージ媒体にデータを書き込むステップを含む方法であって、
    1つまたは複数のデータ・セットを含むデータ・ストリームを受信するステップと、
    C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するステップと、
    前記1つまたは複数のデータ・セットの各サブユニットにヘッダを追加するステップと、
    第1の変調符号化方式によって前記1つまたは複数のデータ・セットの前記サブユニットの前記ヘッダを符号化するステップと、
    第2の変調符号化方式によって前記1つまたは複数のデータ・セットのデータの部分を符号化するステップと、
    C1符号化方式を使用して前記1つまたは複数のデータ・セットの一部を符号化するステップと、
    C1符号化されたデータの部分を、マルチプレクサを使用して前記1つまたは複数のデータ・セットの変調符号化されたヘッダと組み合わせるステップと、
    1つまたは複数の組み合わされたデータ・セットを前記磁気テープのデータ・トラックに書き込むステップと
    含み、
    前記ストレージ媒体が、リニア・テープ・オープン(LTO)フォーマットの磁気テープであり、
    前記1つまたは複数のデータ・セットのいずれかの部分が前記第1の変調符号化方式、前記第2の変調符号化方式、および前記C1符号化方式を用いて符号化されるよりも前に前記1つまたは複数のデータ・セットが前記C2符号化方式を用いて符号化される、
    前記方法。
  13. 部分逆連結された変調符号を使用してデータ・ストレージ・システムのストレージ媒体にデータを書き込むステップを含む方法であって、
    1つまたは複数のデータ・セットを含むデータ・ストリームを受信するステップと、
    C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するステップと、
    前記C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化する前記ステップの後、前記1つまたは複数のデータ・セットの各サブユニットにヘッダを追加するステップと、
    前記1つまたは複数のデータ・セットのそれぞれに前記サブユニットの前記ヘッダを追加する前記ステップの後、変調符号化方式によって前記1つまたは複数のデータ・セットを符号化するステップと、
    前記変調符号化方式によって前記1つまたは複数のデータ・セットを符号化する前記ステップの後、C1符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するステップと、
    前記1つまたは複数のデータ・セットをエンタープライズ・フォーマットの磁気テープのデータ・トラックに書き込むステップと
    さらに含み、
    前記ストレージ媒体が、エンタープライズ(非LTO)フォーマットの磁気テープである、
    前記方法。
  14. 1つまたは複数のデータ・セットを含むデータ・ストリームを受信するステップと、
    C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するステップと、
    前記1つまたは複数のデータ・セットの各サブユニットにヘッダを追加するステップと、
    第1の変調符号化方式によって前記1つまたは複数のデータ・セットの前記サブユニットの前記ヘッダを符号化するステップと、
    第2の変調符号化方式によって前記1つまたは複数のデータ・セットのデータの部分を符号化するステップと、
    C1符号化方式を使用して前記1つまたは複数のデータ・セットの一部を符号化するステップと、
    C1符号化されたデータの部分を、マルチプレクサを使用して前記1つまたは複数のデータ・セットの変調符号化されたヘッダと組み合わせるステップと、
    1つまたは複数の組み合わされたデータ・セットを磁気テープのデータ・トラックに書き込むステップと
    を含み、
    前記1つまたは複数のデータ・セットのいずれかの部分が前記第1の変調符号化方式、前記第2の変調符号化方式、および前記C1符号化方式を用いて符号化されるよりも前に前記1つまたは複数のデータ・セットが前記C2符号化方式を用いて符号化される、方法。
  15. 1つまたは複数のデータ・セットを含むデータ・ストリームを受信するステップと、
    C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するステップと、
    前記C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化した後、前記1つまたは複数のデータ・セットの各サブユニットにヘッダを追加するステップと、
    前記1つまたは複数のデータ・セットのそれぞれに前記サブユニットの前記ヘッダを追加した後、変調符号化方式によって前記1つまたは複数のデータ・セットを符号化するステップと、
    前記変調符号化方式によって前記1つまたは複数のデータ・セットを符号化した後、C1符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するステップと、
    前記1つまたは複数のデータ・セットをエンタープライズ・フォーマットの磁気テープのデータ・トラックに書き込むステップと
    を含む、方法。
  16. 1つまたは複数のデータ・セットを含むデータ・ストリームを受信するステップと、
    C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するステップと、
    前記C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化した後、前記1つまたは複数のデータ・セットの各サブユニットにヘッダを追加するステップと、
    1つまたは複数のC2符号化されたデータ・セットのそれぞれに前記ヘッダを追加した後、第1の変調符号化方式によって前記1つまたは複数のデータ・セットの前記ヘッダを符号化するステップと、
    前記1つまたは複数のC2符号化されたデータ・セットのそれぞれに前記ヘッダを追加した後、第2の変調符号化方式によって前記1つまたは複数のデータ・セットのデータの部分を符号化するステップと、
    前記第2の変調符号化方式によって前記1つまたは複数のC2符号化されたデータ・セットの部分を符号化した後、C1符号化方式を使用して前記1つまたは複数のC2符号化されたデータ・セットの前記部分を符号化するステップと、
    C1符号化された前記部分を、マルチプレクサを使用して前記1つまたは複数のC2符号化されたデータ・セットの変調符号化されたヘッダと組み合わせるステップと、
    1つまたは複数の組み合わされたC1符号化されたデータ・セットおよびC2符号化されたデータ・セットをリニア・テープ・オープン(LTO)フォーマットの磁気テープのデータ・トラックに書き込むステップと
    を含み、
    前記1つまたは複数のデータ・セットのいずれかの部分が前記第1の変調符号化方式、前記第2の変調符号化方式、および前記C1符号化方式を用いて符号化されるよりも前に前記1つまたは複数のデータ・セットが前記C2符号化方式を用いて符号化される、
    方法。
  17. 1つまたは複数のデータ・セットを含むデータ・ストリームを受信するステップと、
    C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化するステップと、
    前記C2符号化方式を使用して前記1つまたは複数のデータ・セットを符号化した後、前記1つまたは複数のデータ・セットの各サブユニットにヘッダを追加するステップと、
    1つまたは複数のC2符号化されたデータ・セットのそれぞれに前記ヘッダを追加した後、第1の変調符号化方式によって前記1つまたは複数のデータ・セットの前記ヘッダを符号化するステップと、
    前記1つまたは複数のC2符号化されたデータ・セットのそれぞれに前記ヘッダを追加した後、第2の変調符号化方式によって前記1つまたは複数のデータ・セットのデータの部分を符号化するステップと、
    前記第2の変調符号化方式によって前記1つまたは複数のC2符号化されたデータ・セットの部分を符号化した後、C1符号化方式を使用して前記1つまたは複数のC2符号化されたデータ・セットの前記部分を符号化するステップと、
    C1符号化された前記部分を、マルチプレクサを使用して前記1つまたは複数のC2符号化されたデータ・セットの変調符号化されたヘッダと組み合わせるステップと、
    1つまたは複数の組み合わされたC1符号化されたデータ・セットおよびC2符号化されたデータ・セットをリニア・テープ・オープン(LTO)フォーマットの磁気テープのデータ・トラックに書き込むステップと
    含み、
    前記1つまたは複数のデータ・セットのいずれかの部分が前記第1の変調符号化方式、前記第2の変調符号化方式、および前記C1符号化方式を用いて符号化されるよりも前に前記1つまたは複数のデータ・セットが前記C2符号化方式を用いて符号化される、方法。
JP2015514412A 2012-05-29 2013-05-15 複合符号を使用する部分逆連結を使用してデータを記憶するデータ・ストレージ・システム及びそのデータを記憶する方法 Active JP6075582B2 (ja)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JP2015524136A JP2015524136A (ja) 2015-08-20
JP6075582B2 true JP6075582B2 (ja) 2017-02-08

Family

ID=48483056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015514412A Active JP6075582B2 (ja) 2012-05-29 2013-05-15 複合符号を使用する部分逆連結を使用してデータを記憶するデータ・ストレージ・システム及びそのデータを記憶する方法

Country Status (8)

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

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

Family Cites Families (68)

* 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
EP0957484B1 (en) 1998-05-12 2005-10-05 Hewlett-Packard Company, A Delaware Corporation Read while write method in data storage device
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
WO2003036478A2 (en) 2001-10-24 2003-05-01 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 システムエルエスアイ株式会社 データの復号方法およびそれを用いたディスク装置
JP4536412B2 (ja) 2004-04-12 2010-09-01 富士通株式会社 記録再生装置および信号処理回路
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
JP5063709B2 (ja) 2007-03-23 2012-10-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 逆連結符号化システム、方法、及びコンピュータ・プログラム
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
KR101504101B1 (ko) 2007-10-02 2015-03-19 삼성전자주식회사 적어도 두 개의 디코딩 매소드를 디코딩하기 위한 asip 아키텍처
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
US7876516B2 (en) 2009-01-09 2011-01-25 International Business Machines Corporation Rewrite-efficient ECC/interleaving for multi-track recording on magnetic tape
US8341509B2 (en) 2009-03-17 2012-12-25 Broadcom Corporation Forward error correction (FEC) scheme for communications
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
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
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6075582B2 (ja) 複合符号を使用する部分逆連結を使用してデータを記憶するデータ・ストレージ・システム及びそのデータを記憶する方法
US11381258B2 (en) Partial reverse concatenation for data storage devices using composite codes
KR101114057B1 (ko) Rll 인코딩
KR101244580B1 (ko) 코더, 및 제약 d=1,r=2를 갖는 패리티 상보적 워드할당에 의한 코드의 코딩방법
JP2002319242A (ja) 記録方法、記録装置、伝送装置、再生方法、再生装置、受信装置、記録媒体及び伝送媒体
JP3363432B2 (ja) データ符号化システム
US8854237B2 (en) Modulation encoding and decoding
KR101211244B1 (ko) 모듈레이션 코딩 및 디코딩
US9431053B2 (en) Run-length limited (RLL) codes
KR101120780B1 (ko) 기록 쓰기 경로를 위한 리버스 연결 인코딩 시스템과 매체 상에 기록하기 위한 데이터를 인코딩하는 방법과 컴퓨터 판독가능한 기록 매체
JP4988418B2 (ja) 回転する記憶媒体の複数の層にデータを読み書きする方法、プログラム及びデータ記憶装置
JP2007528566A (ja) エラー訂正符号化方法及びその装置、並びにエラー訂正復号化方法及びその装置
KR20070054242A (ko) Rll(1,k) 및 mtr(2) 제약을 갖는 변조 코딩
JP3768149B2 (ja) 光記録媒体、データ記録装置及びデータ記録方法
US6985320B2 (en) Method and apparatus for encoding data to guarantee isolated transitions in a magnetic recording system
US20050225458A1 (en) Recording and reproducing apparatus
Tannous Sector size in Magnetic, Electronic and Optical media
Cideciyan et al. Partial reverse concatenation for data storage
Mittelholzer et al. Reverse concatenation of product and modulation codes
JP2002074854A (ja) ディジタルデータ記録伝送方法およびその装置
JP2002324366A (ja) 光情報貯蔵媒体及びそのデータ記録装置
Xiaotian et al. New Error Correction Scheme for Multi-level Optical Storage System
JP2001312863A (ja) 符号化方法及び符号器、復号器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160914

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160914

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20160914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20161107

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20161209

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20161209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161227

R150 Certificate of patent or registration of utility model

Ref document number: 6075582

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350