JP2016503938A - 不均一誤り保護を備えたヘッダ付サブ・データ・セットを復号するためのシステム、方法、及びプログラム - Google Patents

不均一誤り保護を備えたヘッダ付サブ・データ・セットを復号するためのシステム、方法、及びプログラム Download PDF

Info

Publication number
JP2016503938A
JP2016503938A JP2015551231A JP2015551231A JP2016503938A JP 2016503938 A JP2016503938 A JP 2016503938A JP 2015551231 A JP2015551231 A JP 2015551231A JP 2015551231 A JP2015551231 A JP 2015551231A JP 2016503938 A JP2016503938 A JP 2016503938A
Authority
JP
Japan
Prior art keywords
sds
header
codewords
codeword
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015551231A
Other languages
English (en)
Other versions
JP6388599B2 (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 JP2016503938A publication Critical patent/JP2016503938A/ja
Application granted granted Critical
Publication of JP6388599B2 publication Critical patent/JP6388599B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • 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
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/1806Pulse code modulation systems for audio signals
    • G11B20/1809Pulse code modulation systems for audio signals by interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/007Arrangement of the information on the record carrier, e.g. form of tracks, actual track shape, e.g. wobbled, or cross-section, e.g. v-shaped; Sequential information structures, e.g. sectoring or header formats within a track
    • 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
    • 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/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/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1866Error detection or correction; Testing, e.g. of drop-outs by interleaving
    • 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
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • 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/2921Coding, 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 wherein error correction coding involves a diagonal direction
    • H03M13/2924Cross interleaved Reed-Solomon codes [CIRC]
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes

Abstract

【課題】不均一誤り保護を伴う復号されたヘッダ付サブ・データ・セットの誤り率性能を改善する復号方法を提供。【解決手段】この方法は、不均一誤り保護によって保護されるヘッダ付SDSを受信するステップと、ヘッダ付SDSからヘッダを復号し、かつC1行パリティからヘッダの影響を除去してSDSを得るステップと、ある数の反復に対してC2列復号を行うステップと、SDSの各行におけるある数以下のインタリーブに対して、ある数の列を復号成功したC2コードワードで上書きするステップと、ある数のC2コードワードを消去するステップと、残りの列を未訂正のまま維持するステップと、C1行復号を行うステップと、SDSの各行におけるある数以下のインタリーブに対して、ある数の行を復号成功したC1コードワードで上書きするステップと、ある数のC1コードワードを消去するステップと、残りの行を未訂正のまま維持するステップと、すべての行がC1コードワードのみを含み、かつすべての列がC2コードワードのみを含むときにSDSを出力するステップと、そうでないときにはSDSが適切に復号され得ないという表示を出力するステップとを含む。【選択図】図16

Description

本発明はデータ記憶装置に関し、より詳細には、不均一誤り保護によって保護されるヘッダ付サブ・データ・セットの誤り率性能を改善することに関する。
テープに書込まれたデータ・セットは、サブ・データ・セットと呼ばれるサブユニットを含む。16チャネルのリニア・テープ・オープン第6世代(linear tape open generation 6:LTO6)においては、各3メガバイト(MB)のデータ・セットの中に32のサブ・データ・セットがあるのに対し、32チャネルのエンタープライズ・ドライブにおいては、各6MBのデータ・セットの中に64のサブ・データ・セットがある。サブ・データ・セットのすべての行は、コードワード・インタリーブ(codeword interleaves:CWI)としても公知であり、これはLTO 6において4つのバイト・インタリーブされたC1コードワード(行コードワード)を含み、互いにできる限り離れた異なるテープ・トラックに沿って書込まれる。これによって、テープにおける空間的バースト誤りの結果としてもたらされるC2コードワード(列コードワード)中の消去バイトの数が最小化される。言換えると、サブ・データ・セットの行は、書込まれたデータ・セット内にほぼ等距離の態様で分散されて、サブ・データ・セットの行の深い空間的インタリーブを提供する。さらに、直径約1mmの円内に書込まれたすべてのバイトが読取り不可能であるとき、C2コードワード内に最大1つの消去バイトがもたらされる。
通常、サブ・データ・セットの各行には12バイトのヘッダが付加されて、ヘッダ付サブ・データ・セット構造が生じる。エンタープライズ・ドライブにおいて、ヘッダ付サブ・データ・セットは、サブ・データ・セットの行コードワードにヘッダ・フラグメントを埋め込んでサブ・データ・セットをヘッダ誤りに対してロバストにすることによって、ヘッダ誤り保護を提供する。この場合、データはプロダクト・コードの場合と同様に2レベルの誤り訂正コード(error correction code:ECC)によって保護されるが、ヘッダは1レベルのECC(典型的にはC1符号化のみ)によって保護される。
不均一誤り保護を伴うヘッダ付サブ・データ・セットは、C1復号に続くC2復号によってのみ復号され、すなわちヘッダ付サブ・データ・セットに対して反復は行われない。この復号は、単一のC1復号に続くC2復号のために、必要以上に高い誤り率、ときには許容できないほど高い誤り率をもたらすおそれがある。
したがって、本発明は、不均一誤り保護を伴う復号されたヘッダ付サブ・データ・セットの誤り率性能を改善する(誤り率を低減する)復号スキームを提供する。
一実施形態において、ヘッダ付サブ・データ・セット(sub data set:SDS)を復号するためのシステムは、不均一誤り保護によって保護されるヘッダ付SDSを受信するように適合された論理であって、ヘッダ付SDSのヘッダは1レベルの誤り訂正コード(ECC)によって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される、論理と、ヘッダ付SDSからヘッダを復号し、かつC1行パリティからヘッダの影響を除去してSDSを得るように適合された論理と、予め定められた数以下の反復に対して、SDSに対するC2列復号を行い、かつSDSの各行におけるある数以下のインタリーブに対して、SDSのある数の列を復号成功したC2コードワードで上書きし、SDSのある数のC2コードワードを消去し、かつSDSの残りの列を未訂正のまま維持し、SDSに対してC1行復号を行い、SDSの各行におけるある数以下のインタリーブに対して、SDSのある数の行を復号成功したC1コードワードで上書きし、SDSのある数のC1コードワードを消去し、かつSDSの残りの行を未訂正のまま維持するように適合された論理と、SDSのすべての行がC1コードワードのみを含み、かつSDSのすべての列がC2コードワードのみを含むときにSDSを出力し、そうでないときにはSDSが適切に復号され得ないという表示を出力するように適合された論理とを含む。
別の実施形態において、ヘッダ付SDSを復号するためのシステムは、不均一誤り保護によって保護されるヘッダ付SDSを受信するように適合された論理であって、ヘッダ付SDSのヘッダは1レベルのECCによって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される、論理と、C1行パリティを得るためにC1’行パリティからヘッダの影響を除去することによって、ヘッダ付SDSのC1’行パリティを修正することによって、ヘッダ付SDSからヘッダを復号するためのC1’行復号を行うように適合された論理と、ヘッダ付SDSからヘッダを抽出してSDS1(0)を得て、ヘッダに対して誤りチェックを行うように適合された論理と、ヘッダが誤りチェックに失敗したときに、C1’行パリティを消去してC1行パリティが未知であることを示すように適合された論理と、iが反復カウンタであり、i_maxが反復の最大数であるときに、予め定められた数以下の反復i≦i_maxに対して、SDS1(i−1)に対するC2列復号を行うように適合された論理と、行の現在のインタリーブjにおける訂正不可能なC2コードワードの数を定めるように適合された論理であって、訂正不可能なC2コードワードの数はU2(i,j)であり、0≦U2(i,j)≦N1であり、ここでN1はC1コードワードにおけるシンボルの総数である、論理と、K1がC1コードワードにおけるデータ・シンボルの数であるときに、0≦E2(i,j)≦U2(i,j)かつ0≦E2(i,j)≦(N1−K1)となるように第1のパラメータE2(i,j)を選択するように適合された論理と、j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、SDS1(i−1,j)のN1−U2(i,j)列を復号成功したC2コードワードで上書きするように適合された論理であって、ここでSDS1(i−1,j)はインタリーブjに対する第1の算出SDSである、論理と、SDS1(i−1,j)における合計U2(i,j)のC2コードワードからE2(i,j)C2コードワードを消去するように適合された論理と、SDS1(i−1,j)におけるU2(i,j)−E2(i,j)C2コードワードを未訂正のまま維持するように適合された論理と、上書きおよび消去されたSDS1(i−1,j)の各インタリーブを組み合わせてSDS2(i)を形成するように適合された論理であって、ここでSDS2(i)は反復iに対する第1の算出SDSである、論理と、SDS2(i)のすべての行がC1コードワードのみを含み、かつSDS2(i)のすべての列がC2コードワードのみを含むときに反復処理を停止して、復号されたSDSであるSDS2(i)を出力するように適合された論理と、SDS2(i)に対してC1行復号を行うように適合された論理と、現在のインタリーブjにおける訂正不可能なC1コードワードの数を定めるように適合された論理であって、訂正不可能なC1コードワードの数はU1(i,j)であり、0≦U1(i,j)≦N2であり、ここでN2は列におけるシンボルの総数である、論理と、K2が列におけるデータ・シンボルの数であるときに、0≦E1(i,j)≦U1(i,j)かつ0≦E1(i,j)≦(N2−K2)となるように第2のパラメータE1(i,j)を選択するように適合された論理と、j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、SDS2(i,j)のN2−U1(i,j)C1コードワードを復号成功したC1コードワードで上書きするように適合された論理であって、ここでSDS2(i,j)はインタリーブjに対する第2の算出SDSである、論理と、SDS2(i,j)における合計U1(i,j)のC1コードワードからE1(i,j)C1コードワードを消去するように適合された論理と、SDS2(i,j)におけるU1(i,j)−E1(i,j)C1コードワードを未訂正のまま維持するように適合された論理と、上書きおよび消去されたSDS2(i,j)の各インタリーブを組み合わせてSDS1(i)を形成するように適合された論理であって、ここでSDS1(i)は反復iに対する第2の算出SDSである、論理と、SDS1(i)のすべての行がC1コードワードのみを含み、かつSDS1(i)のすべての列がC2コードワードのみを含むときに反復処理を停止して、復号されたSDSであるSDS1(i)を出力するように適合された論理と、反復カウンタiを1だけ増分するように適合された論理と、反復の最大数が到達され、かつすべての行がC1コードワードでないか、もしくはすべての列がC2コードワードでないか、またはその両方であるときに、ヘッダ付SDSが適切に復号され得ないという表示を出力するように適合された論理とを含む。
別の実施形態に従うと、ヘッダ付SDSを復号するための方法は、不均一誤り保護によって保護されるヘッダ付SDSを受信するステップであって、ヘッダ付SDSのヘッダは1レベルのECCによって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される、ステップと、ヘッダ付SDSからヘッダを復号し、かつC1行パリティからヘッダの影響を除去してSDSを得るステップと、予め定められた数以下の反復に対して、SDSに対するC2列復号を行うステップと、SDSの各行におけるある数以下のインタリーブに対して、SDSのある数の列を復号成功したC2コードワードで上書きするステップと、SDSのある数のC2コードワードを消去するステップと、SDSの残りの列を未訂正のまま維持するステップと、SDSに対してC1行復号を行うステップと、SDSの各行におけるある数以下のインタリーブに対して、SDSのある数の行を復号成功したC1コードワードで上書きするステップと、SDSのある数のC1コードワードを消去するステップと、SDSの残りの行を未訂正のまま維持するステップと、SDSのすべての行がC1コードワードのみを含み、かつSDSのすべての列がC2コードワードのみを含むときにSDSを出力するステップと、そうでないときにはSDSが適切に復号され得ないという表示を出力するステップとを含む。
さらに別の実施形態において、サブ・データ・セットを符号化するための方法は、不均一誤り保護によって保護されるヘッダ付SDSを受信するステップであって、ヘッダ付SDSのヘッダは1レベルのECCによって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される、ステップと、C1行パリティを得るためにC1’行パリティからヘッダの影響を除去することによって、ヘッダ付SDSのC1’行パリティを修正することによって、ヘッダ付SDSからヘッダを復号するためのC1’行復号を行うステップと、ヘッダ付SDSからヘッダを抽出してSDS1(0)を得て、ヘッダに対して誤りチェックを行うステップと、ヘッダが誤りチェックに失敗したときに、C1’行パリティを消去してC1行パリティが未知であることを示すステップと、iが反復カウンタであり、i_maxが反復の最大数であるときに、予め定められた数以下の反復i≦i_maxに対して、SDSに対するC2列復号を行うステップと、現在のインタリーブjにおける訂正不可能なC2コードワードの数を定めるステップであって、訂正不可能なC2コードワードの数はU2(i,j)であり、0≦U2(i,j)≦N1であり、ここでN1はC1コードワードにおけるシンボルの総数である、ステップと、K1がC1コードワードにおけるデータ・シンボルの数であるときに、0≦E2(i,j)≦U2(i,j)かつ0≦E2(i,j)≦(N1−K1)となるように、iが反復カウンタであり、jが行における現在のインタリーブであるときの第1のパラメータE2(i,j)を選択するステップと、j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、SDS1(i,j)のN1−U2(i,j)列を復号成功したC2コードワードで上書きするステップであって、ここでSDS1(i,j)はインタリーブjに対する第1の算出SDSである、ステップと、SDS1(i−1,j)における合計U2(i,j)のC2コードワードからE2(i,j)C2コードワードを消去するステップと、SDS1(i,j)におけるU2(i,j)−E2(i,j)C2コードワードを未訂正のまま維持するステップと、SDS1(i,j)の各インタリーブを組み合わせてSDS2(i)を形成するステップであって、ここでSDS2(i)は反復iに対する第1の算出SDSである、ステップと、SDS2(i)のすべての行がC1コードワードのみを含み、かつSDS2(i)のすべての列がC2コードワードのみを含むときにこの方法を停止して、復号されたSDSであるSDS2(i)を出力するステップと、SDS2(i)に対してC1行復号を行うステップと、現在のインタリーブjにおける訂正不可能なC1コードワードの数を定めるステップであって、訂正不可能なC1コードワードの数はU1(i,j)であり、0≦U1(i,j)≦N2であり、ここでN2は列におけるシンボルの総数である、ステップと、K2が列におけるデータ・シンボルの数であるときに、0≦E1(i,j)≦U1(i,j)かつ0≦E1(i,j)≦(N2−K2)となるように第2のパラメータE1(i,j)を選択するステップと、j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、SDS2(i,j)のN2−U1(i,j)列を復号成功したC1コードワードで上書きするステップであって、ここでSDS2(i,j)はインタリーブjに対する第2の算出SDSである、ステップと、SDS2(i,j)における合計U1(i,j)のC1コードワードからE1(i,j)C1コードワードを消去するステップと、SDS2(i,j)におけるU1(i,j)−E1(i,j)C1コードワードを未訂正のまま維持するステップと、上書きおよび消去されたSDS2(i,j)の各インタリーブを組み合わせてSDS1(i)を形成するステップであって、ここでSDS1(i)は反復iに対する第2の算出SDSである、ステップと、SDS1(i)のすべての行がC1コードワードのみを含み、かつSDS1(i)のすべての列がC2コードワードのみを含むときにこの方法を停止して、復号されたSDSであるSDS1(i)を出力するステップと、反復カウンタiを1だけ増分するステップと、反復の最大数が到達され、かつすべての行がC1コードワードでないか、もしくはすべての列がC2コードワードでないか、またはその両方であるときに、ヘッダ付SDSが適切に復号され得ないという表示を出力するステップとを含む。
さらに別の実施形態に従うと、ヘッダ付SDSを復号するためのコンピュータ・プログラム製品は、ともに具現化されるプログラム・コードを有するコンピュータ読取り可能記憶媒体を含み、このプログラム・コードはテープ・ドライブによって読取り可能/実行可能であることによって、テープ・ドライブによって、不均一誤り保護によって保護されるヘッダ付SDSを受信することであって、ヘッダ付SDSのヘッダは1レベルのECCによって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される、受信することと、テープ・ドライブによって、ヘッダ付SDSからヘッダを復号し、かつC1行パリティからヘッダの影響を除去してSDSを得ることと、予め定められた数以下の反復に対して、テープ・ドライブによってSDSに対するC2列復号を行うことと、SDSの各行におけるある数以下のインタリーブに対して、テープ・ドライブによってSDSのある数の列を復号成功したC2コードワードで上書きすることと、テープ・ドライブによってSDSのある数のC2コードワードを消去することと、テープ・ドライブによってSDSの残りの列を未訂正のまま維持することと、テープ・ドライブによってSDSに対してC1行復号を行うことと、SDSの各行におけるある数以下のインタリーブに対して、テープ・ドライブによってSDSのある数の行を復号成功したC1コードワードで上書きすることと、テープ・ドライブによってSDSのある数のC1コードワードを消去することと、テープ・ドライブによってSDSの残りの行を未訂正のまま維持することと、SDSのすべての行がC1コードワードのみを含み、かつSDSのすべての列がC2コードワードのみを含むときに、テープ・ドライブによってSDSを出力し、そうでないときにはSDSが適切に復号され得ないという表示を出力することとを行わせる。
添付の図面を参照して、単なる実施例として本発明の実施形態を説明する。
一実施形態に従うネットワーク記憶システムを示す図である。 一実施形態に従う、テープに基づくデータ記憶システムの簡略化したテープ・ドライブを示す図である。 一実施形態に従う、データを符号化するためのシステムを示す図である。 一実施形態に従う符号化サブ・データ・セット(SDS)ユニットを示す図である。 一実施形態に従う、データを符号化するためのシステムを示す図である。 一実施形態に従う符号化SDSユニットを示す図である。 一実施形態に従う、データを符号化するためのシステムを示す図である。 一実施形態に従う符号化SDSユニットを示す図である。 一実施形態に従う、データを符号化するためのシステムを示す図である。 一実施形態に従う符号化SDSユニットを示す図である。 一実施形態に従う方法を示す流れ図である。 一実施形態に従う方法を示す流れ図である。 一実施形態に従う方法の流れ図である。 一実施形態に従うサブ・データ・セットSDS2(i,j)の表現である。 一実施形態に従うサブ・データ・セットSDS1(i,j)の表現である。 一実施形態に従う方法の流れ図である。
以下の説明は本発明の一般的原理を示す目的でなされるものであって、本明細書において請求される発明の概念を限定することを意味するものではない。さらに、予想されるさまざまな組み合わせおよび並べ換えの各々において、本明細書に記載される特定の特徴が記載される他の特徴と組み合わされて用いられてもよい。
本明細書において特定的に別様に定義されない限り、すべての用語は、本明細書によって暗示される意味に加えて、当業者によって理解される意味、もしくは辞書、論文などにおいて定義される意味、またはその両方を含む、可能な限り広範な解釈を与えるものである。
加えて、本明細書および添付の請求項において用いられる単数形「a」、「an」および「the」は、別様に指定されない限り複数の指示物を含むことを注記する必要がある。
一実施形態に従うと、不均一誤り保護を有するヘッダ付サブ・データ・セットを復号するために、ヘッダ、およびC1パリティに対するその影響が除去された後に、硬判定/消去に基づく反復復号が用いられてもよい。これを達成するために、一実施形態に従うと、以下のステップが行われてもよい。C1復号→サブ・データ・セットの行に関連するヘッダの復号→ヘッダ・フラグメントを除去することによってC1コードワードを短くする→C1パリティを修正する→反復的[C2復号→C1復号]。
一般的実施形態の1つにおいて、ヘッダ付サブ・データ・セット(SDS)を復号するためのシステムは、不均一誤り保護によって保護されるヘッダ付SDSを受信するように適合された論理であって、ヘッダ付SDSのヘッダは1レベルの誤り訂正コード(ECC)によって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される、論理と、ヘッダ付SDSからヘッダを復号し、かつC1行パリティからヘッダの影響を除去してSDS1(0)を得るように適合された論理と、予め定められた数以下の反復に対して、SDS1(i−1)に対するC2列復号を行い、かつSDSの各行におけるある数以下のインタリーブに対して、SDSのある数の列を復号成功したC2コードワードで上書きし、SDSのある数のC2コードワードを消去し、かつSDSの残りの列を未訂正のまま維持し、SDSに対してC1行復号を行い、SDSの各行におけるある数以下のインタリーブに対して、SDSのある数の行を復号成功したC1コードワードで上書きし、SDSのある数のC1コードワードを消去し、SDSの残りの行を未訂正のまま維持するように適合された論理と、SDSのすべての行がC1コードワードのみを含み、かつSDSのすべての列がC2コードワードのみを含むときにSDSを出力し、そうでないときにはSDSが適切に復号され得ないという表示を出力するように適合された論理とを含む。
別の一般的実施形態において、ヘッダ付SDSを復号するためのシステムは、不均一誤り保護によって保護されるヘッダ付SDSを受信するように適合された論理であって、ヘッダ付SDSのヘッダは1レベルのECCによって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される、論理と、C1行パリティを得るためにC1’行パリティからヘッダの影響を除去することによって、ヘッダ付SDSのC1’行パリティを修正することによって、ヘッダ付SDSからヘッダを復号するためのC1’行復号を行うように適合された論理と、ヘッダ付SDSからヘッダを抽出してSDS1(0)を得て、ヘッダに対して誤りチェックを行うように適合された論理と、ヘッダが誤りチェックに失敗したときに、C1’行パリティを消去してC1行パリティが未知であることを示すように適合された論理と、iが反復カウンタであり、i_maxが反復の最大数であるときに、予め定められた数以下の反復i≦i_maxに対して、SDS1(i−1)に対するC2列復号を行うように適合された論理と、行の現在のインタリーブjにおける訂正不可能なC2コードワードの数を定めるように適合された論理であって、訂正不可能なC2コードワードの数はU2(i,j)であり、0≦U2(i,j)≦N1であり、ここでN1はC1コードワードにおけるシンボルの総数である、論理と、K1がC1コードワードにおけるデータ・シンボルの数であるときに、0≦E2(i,j)≦U2(i,j)かつ0≦E2(i,j)≦(N1−K1)となるように第1のパラメータE2(i,j)を選択するように適合された論理と、j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、SDS1(i−1,j)のN1−U2(i,j)列を復号成功したC2コードワードで上書きするように適合された論理であって、ここでSDS1(i−1,j)はインタリーブjに対する第1の算出SDSである、論理と、SDS1(i−1,j)における合計U2(i,j)のC2コードワードからE2(i,j)C2コードワードを消去するように適合された論理と、SDS1(i−1,j)におけるU2(i,j)−E2(i,j)C2コードワードを未訂正のまま維持するように適合された論理と、上書きおよび消去されたSDS1(i−1,j)の各インタリーブを組み合わせてSDS2(i)を形成するように適合された論理であって、ここでSDS2(i)は反復iに対する第1の算出SDSである、論理と、SDS2(i)のすべての行がC1コードワードのみを含み、かつSDS2(i)のすべての列がC2コードワードのみを含むときに反復処理を停止して、復号されたSDSであるSDS2(i)を出力するように適合された論理と、SDS2(i)に対してC1行復号を行うように適合された論理と、現在のインタリーブjにおける訂正不可能なC1コードワードの数を定めるように適合された論理であって、訂正不可能なC1コードワードの数はU1(i,j)であり、0≦U1(i,j)≦N2であり、ここでN2は列におけるシンボルの総数である、論理と、K2が列におけるデータ・シンボルの数であるときに、0≦E1(i,j)≦U1(i,j)かつ0≦E1(i,j)≦(N2−K2)となるように第2のパラメータE1(i,j)を選択するように適合された論理と、j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、SDS2(i,j)のN2−U1(i,j)列を復号成功したC1コードワードで上書きするように適合された論理であって、ここでSDS2(i,j)はインタリーブjに対する第2の算出SDSである、論理と、SDS2(i,j)における合計U1(i,j)のC1コードワードからE1(i,j)C1コードワードを消去するように適合された論理と、SDS2(i,j)におけるU1(i,j)−E1(i,j)C1コードワードを未訂正のまま維持するように適合された論理と、上書きおよび消去されたSDS2(i,j)の各インタリーブを組み合わせてSDS1(i)を形成するように適合された論理であって、ここでSDS1(i)は反復iに対する第2の算出SDSである、論理と、SDS1(i)のすべての行がC1コードワードのみを含み、かつSDS1(i)のすべての列がC2コードワードのみを含むときに反復処理を停止して、復号されたSDSであるSDS1(i)を出力するように適合された論理と、反復カウンタiを1だけ増分するように適合された論理と、反復の最大数が到達され、かつすべての行がC1コードワードでないか、もしくはすべての列がC2コードワードでないか、またはその両方であるときに、ヘッダ付SDSが適切に復号され得ないという表示を出力するように適合された論理とを含む。
別の一般的実施形態に従うと、ヘッダ付SDSを復号するための方法は、不均一誤り保護によって保護されるヘッダ付SDSを受信するステップであって、ヘッダ付SDSのヘッダは1レベルのECCによって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される、ステップと、ヘッダ付SDSからヘッダを復号し、かつC1行パリティからヘッダの影響を除去してSDS1(0)を得るステップと、予め定められた数以下の反復に対して、SDS1(i−1)に対するC2列復号を行うステップと、SDSの各行におけるある数以下のインタリーブに対して、SDSのある数の列を復号成功したC2コードワードで上書きするステップと、SDSのある数のC2コードワードを消去するステップと、SDSの残りの列を未訂正のまま維持するステップと、SDSに対してC1行復号を行うステップと、SDSの各行におけるある数以下のインタリーブに対して、SDSのある数の行を復号成功したC1コードワードで上書きするステップと、SDSのある数のC1コードワードを消去するステップと、SDSの残りの行を未訂正のまま維持するステップと、SDSのすべての行がC1コードワードのみを含み、かつSDSのすべての列がC2コードワードのみを含むときにSDSを出力するステップと、そうでないときにはSDSが適切に復号され得ないという表示を出力するステップとを含む。
さらに別の一般的実施形態において、サブ・データ・セットを符号化するための方法は、不均一誤り保護によって保護されるヘッダ付SDSを受信するステップであって、ヘッダ付SDSのヘッダは1レベルのECCによって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される、ステップと、C1行パリティを得るためにC1’行パリティからヘッダの影響を除去することによって、ヘッダ付SDSのC1’行パリティを修正することによって、ヘッダ付SDSからヘッダを復号するためのC1’行復号を行うステップと、ヘッダ付SDSからヘッダを抽出してSDS1(0)を得て、ヘッダに対して誤りチェックを行うステップと、ヘッダが誤りチェックに失敗したときに、C1’行パリティを消去してC1行パリティが未知であることを示すステップと、iが反復カウンタであり、i_maxが反復の最大数であるときに、予め定められた数以下の反復i≦i_maxに対して、SDS1(i−1)に対するC2列復号を行うステップと、現在のインタリーブjにおける訂正不可能なC2コードワードの数を定めるステップであって、訂正不可能なC2コードワードの数はU2(i,j)であり、0≦U2(i,j)≦N1であり、ここでN1はC1コードワードにおけるシンボルの総数である、ステップと、K1がC1コードワードにおけるデータ・シンボルの数であるときに、0≦E2(i,j)≦U2(i,j)かつ0≦E2(i,j)≦(N1−K1)となるように、iが反復カウンタであり、jが行における現在のインタリーブであるときの第1のパラメータE2(i,j)を選択するステップと、j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、SDS1(i,j)のN1−U2(i,j)列を復号成功したC2コードワードで上書きするステップであって、ここでSDS1(i,j)はインタリーブjに対する第1の算出SDSである、ステップと、SDS1(i−1,j)における合計U2(i,j)のC2コードワードからE2(i,j)C2コードワードを消去するステップと、SDS1(i,j)におけるU2(i,j)−E2(i,j)C2コードワードを未訂正のまま維持するステップと、SDS1(i,j)の各インタリーブを組み合わせてSDS2(i)を形成するステップであって、ここでSDS2(i)は反復iに対する第1の算出SDSである、ステップと、SDS2(i)のすべての行がC1コードワードのみを含み、かつSDS2(i)のすべての列がC2コードワードのみを含むときにこの方法を停止して、復号されたSDSであるSDS2(i)を出力するステップと、SDS2(i)に対してC1行復号を行うステップと、現在のインタリーブjにおける訂正不可能なC1コードワードの数を定めるステップであって、訂正不可能なC1コードワードの数はU1(i,j)であり、0≦U1(i,j)≦N2であり、ここでN2は列におけるシンボルの総数である、ステップと、K2が列におけるデータ・シンボルの数であるときに、0≦E1(i,j)≦U1(i,j)かつ0≦E1(i,j)≦(N2−K2)となるように第2のパラメータE1(i,j)を選択するステップと、j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、SDS2(i,j)のN2−U1(i,j)列を復号成功したC1コードワードで上書きするステップであって、ここでSDS2(i,j)はインタリーブjに対する第2の算出SDSである、ステップと、SDS2(i,j)における合計U1(i,j)のC1コードワードからE1(i,j)C1コードワードを消去するステップと、SDS2(i,j)におけるU1(i,j)−E1(i,j)C1コードワードを未訂正のまま維持するステップと、上書きおよび消去されたSDS2(i,j)の各インタリーブを組み合わせてSDS1(i)を形成するステップであって、ここでSDS1(i)は反復iに対する第2の算出SDSである、ステップと、SDS1(i)のすべての行がC1コードワードのみを含み、かつSDS1(i)のすべての列がC2コードワードのみを含むときにこの方法を停止して、復号されたSDSであるSDS1(i)を出力するステップと、反復カウンタiを1だけ増分するステップと、反復の最大数が到達され、かつすべての行がC1コードワードでないか、もしくはすべての列がC2コードワードでないか、またはその両方であるときに、ヘッダ付SDSが適切に復号され得ないという表示を出力するステップとを含む。
さらに別の一般的実施形態に従うと、ヘッダ付SDSを復号するためのコンピュータ・プログラム製品は、ともに具現化されるプログラム・コードを有するコンピュータ読取り可能記憶媒体を含み、このプログラム・コードはテープ・ドライブによって読取り可能/実行可能であることによって、テープ・ドライブによって、不均一誤り保護によって保護されるヘッダ付SDSを受信することであって、ヘッダ付SDSのヘッダは1レベルのECCによって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される、受信することと、テープ・ドライブによって、ヘッダ付SDSからヘッダを復号し、かつC1行パリティからヘッダの影響を除去してSDS1(0)を得ることと、予め定められた数以下の反復に対して、テープ・ドライブによってSDS1(i−1)に対するC2列復号を行うことと、SDSの各行におけるある数以下のインタリーブに対して、テープ・ドライブによってSDSのある数の列を復号成功したC2コードワードで上書きすることと、テープ・ドライブによってSDSのある数のC2コードワードを消去することと、テープ・ドライブによってSDSの残りの列を未訂正のまま維持することと、テープ・ドライブによってSDSに対してC1行復号を行うことと、SDSの各行におけるある数以下のインタリーブに対して、テープ・ドライブによってSDSのある数の行を復号成功したC1コードワードで上書きすることと、テープ・ドライブによってSDSのある数のC1コードワードを消去することと、テープ・ドライブによってSDSの残りの行を未訂正のまま維持することと、SDSのすべての行がC1コードワードのみを含み、かつSDSのすべての列がC2コードワードのみを含むときに、テープ・ドライブによってSDSを出力することと、そうでないときにはSDSが適切に復号され得ないという表示を出力することとを行わせる。
当業者に認識されるとおり、本発明の局面はシステム、方法またはコンピュータ・プログラム製品として具現化されてもよい。したがって本発明の局面は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェアおよびハードウェアの局面を組み合わせた実施形態の形を取ってもよく、本明細書においてこれらはすべて一般的に「論理」、「回路」、「モジュール」、または「システム」と呼ばれることがある。さらに、本発明の局面は、コンピュータ読取り可能プログラム・コードが具現化されている1つまたはそれ以上のコンピュータ読取り可能媒体(単数または複数)において具現化されるコンピュータ・プログラム製品の形を取ってもよい。
1つまたはそれ以上のコンピュータ読取り可能媒体(単数または複数)の任意の組み合わせが用いられてもよい。コンピュータ読取り可能媒体は、コンピュータ読取り可能信号媒体または非一時的なコンピュータ読取り可能記憶媒体であってもよい。非一時的なコンピュータ読取り可能記憶媒体は、たとえば電子、磁気、光学、電磁気、赤外、または半導体のシステム、装置、もしくはデバイス、または前述のもののあらゆる好適な組み合わせなどであってもよいがそれに限定されない。コンピュータ読取り可能記憶媒体のより特定的な例(非網羅的なリスト)は以下を含む。すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(random access memory:RAM)、リード・オンリ・メモリ(read−only memory:ROM)、消去可能プログラマブル・リード・オンリ・メモリ(erasable programmable read−only memory)(EPROMまたはフラッシュ・メモリ)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(compact disc read−only memory:CD−ROM)、光学記憶装置、磁気記憶装置、または前述のもののあらゆる好適な組み合わせである。本文書の状況において、コンピュータ読取り可能記憶媒体は、命令実行システム、装置またはデバイスによる使用、またはそれに関連する使用のためのプログラムを含有または保存し得るあらゆる非一時的な有形の媒体であってもよい。
コンピュータ読取り可能信号媒体は、たとえばベースバンド内で、または搬送波の部分などとして媒体内で具現化されるコンピュータ読取り可能プログラム・コードを有する伝播データ信号を含んでもよい。こうした伝播信号は、電磁気信号、光学信号、またはそのあらゆる好適な組み合わせを含むがそれに限定されないさまざまな形のいずれかを取ってもよい。コンピュータ読取り可能信号媒体は、コンピュータ読取り可能記憶媒体ではなく、かつ命令実行システム、装置またはデバイスによる使用、またはそれに関連する使用のためのプログラムを通信、伝播または移送できる任意のコンピュータ読取り可能媒体、たとえば1つまたはそれ以上のワイヤを有する電気的接続、光ファイバなどであってもよい。
コンピュータ読取り可能媒体において具現化されるプログラム・コードは、ワイヤレス、ワイヤライン、光ファイバ・ケーブル、RFなど、または前述のもののあらゆる好適な組み合わせを含むがそれに限定されない任意の適切な媒体を用いて送信されてもよい。
本発明の局面のための動作を実行するためのコンピュータ・プログラム・コードは、オブジェクト指向プログラミング言語、たとえばJava(R)、Smalltalk(R)、またはC++など、および従来の手続き型プログラミング言語、たとえば「C」プログラミング言語または類似のプログラミング言語などを含む、1つまたはそれ以上のプログラミング言語のあらゆる組み合わせで書かれていてもよい。プログラム・コードは、すべてがユーザのコンピュータで実行されてもよいし、スタンド・アロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータで実行されてもよいし、部分的にユーザのコンピュータで、部分的にリモート・コンピュータで実行されてもよいし、すべてがリモート・コンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(local area network:LAN)または広域ネットワーク(wide area network:WAN)を含むあらゆるタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、(たとえばインターネット・サービス・プロバイダを使用するインターネットを通じて)外部コンピュータへの接続が行われてもよい。
本発明の実施形態に従う方法、装置(システム)およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方を参照して、本発明の局面を以下に説明する。流れ図もしくはブロック図またはその両方の各ブロック、および流れ図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実現され得ることが理解されるだろう。これらのコンピュータ・プログラム命令が、汎用コンピュータ、特定目的のコンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに与えられることによって、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行された命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定された機能/動作を実現するための手段を作成するようにマシンを生成してもよい。
さらに、これらのコンピュータ・プログラム命令は、コンピュータ、その他のプログラマブル・データ処理装置またはその他のデバイスに特定の態様で機能するよう指示できるコンピュータ読取り可能媒体に保存されることによって、コンピュータ読取り可能媒体に保存された命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定された機能/動作を実現する命令を含む製造品を生成するようにしてもよい。
さらに、コンピュータ・プログラム命令は、コンピュータ、その他のプログラマブル・データ処理装置またはその他のデバイスにロードされて、そのコンピュータ、その他のプログラマブル装置またはその他のデバイスにおいて一連の動作ステップを行わせることにより、そのコンピュータまたはその他のプログラマブル装置において実行された命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定された機能/動作を実現するためのプロセスを提供するような、コンピュータに実現されるプロセスを生成してもよい。
ここで図1を参照すると、一実施形態に従うネットワーク記憶システム10の概略図が示される。このネットワーク記憶システム10は、好適な記憶システムの単なる一例であり、本明細書に記載される本発明の実施形態の使用または機能の範囲に関するいかなる限定を示唆することも意図されない。それにかかわらず、ネットワーク記憶システム10は上記に示した機能のいずれかを実現もしくは実行するか、またはその両方を行い得る。
ネットワーク記憶システム10内にはコンピュータ・システム/サーバ12があり、これは多数のその他の汎用または特定目的のコンピュータ・システム環境または構成とともに動作可能である。コンピュータ・システム/サーバ12とともに使用するために好適であり得る周知のコンピュータ・システム、環境もしくは構成、またはその組み合わせの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサに基づくシステム、セット・トップ・ボックス、プログラマブルな家電製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などを含むが、それに限定されない。
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行される、たとえばプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的状況において説明されてもよい。一般的に、プログラム・モジュールは、特定のタスクを行うか、または特定の抽象データ・タイプを実現するルーチン、プログラム、オブジェクト、コンポーネント、論理(単に、ロジックまたはロジック回路とも呼ぶ)、およびデータ構造などを含んでもよい。コンピュータ・システム/サーバ12は、通信ネットワークによってリンクされたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境において実行されてもよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ記憶装置を含むローカルおよびリモートのコンピュータ・システム記憶媒体の両方に位置してもよい。
図1に示されるとおり、ネットワーク記憶システム10のコンピュータ・システム/サーバ12は、汎用コンピュータ・デバイスの形で示されている。コンピュータ・システム/サーバ12のコンポーネントは、1つまたはそれ以上のプロセッサまたは処理ユニット16、システム・メモリ28、およびシステム・メモリ28を含むさまざまなシステム・コンポーネントをプロセッサ16に結合するバス18を含んでもよいが、それに限定されない。
バス18は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレイティッド・グラフィックス・ポート、およびさまざまなバス・アーキテクチャのいずれかを用いるプロセッサまたはローカル・バスを含むいくつかのタイプのバス構造のいずれかのうちの1つまたはそれ以上を表す。限定ではなく例として、こうしたアーキテクチャは、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、マイクロ・チャネル・アーキテクチャ(Micro Channel Architecture:MCA)バス、拡張ISA(Enhanced ISA:EISA)バス、ビデオ・エレクトロニクス規格協会(Video Electronics Standards Association:VESA)ローカル・バス、および周辺コンポーネント相互接続(Peripheral Component Interconnects:PCI)バスを含む。
典型的に、コンピュータ・システム/サーバ12はさまざまなコンピュータ・システム読取り可能媒体を含む。こうした媒体は、コンピュータ・システム/サーバ12によるアクセスが可能なあらゆる利用可能な媒体であってもよく、それは揮発性および不揮発性の媒体、取り外し可能および取り外し不可能な媒体の両方を含む。
システム・メモリ28は、たとえばランダム・アクセス・メモリ(RAM)30もしくはキャッシュ・メモリ32またはその両方などの、揮発性メモリの形のコンピュータ・システム読取り可能媒体を含んでもよい。コンピュータ・システム/サーバ12はさらに、その他の取り外し可能/取り外し不可能な揮発性/不揮発性のコンピュータ・システム記憶媒体を含んでもよい。単なる例として、HDD内で動作され得る、図示されない典型的に「ハード・ディスク」と呼ばれる取り外し不可能な不揮発性磁気媒体に対する読取りおよび書込みを行うために、記憶システム34が提供されてもよい。図示されていないが、取り外し可能な不揮発性磁気ディスク(例、「フロッピー・ディスク」)に対する読取りおよび書込みを行うための磁気ディスク・ドライブ、およびたとえばCD−ROM、DVD−ROMまたはその他の光学媒体などの取り外し可能な不揮発性光ディスクに対する読取りまたは書込みを行うための光ディスク・ドライブが提供されてもよい。こうした場合に、その各々は1つまたはそれ以上のデータ媒体インタフェースによってバス18に接続されてもよい。以下にさらに示されて説明されるとおり、メモリ28は、本明細書に記載される実施形態の機能を実行するように構成されたプログラム・モジュールの組(例、少なくとも1つ)を有する少なくとも1つのプログラム製品を含んでもよい。
限定ではない例として、プログラム・モジュール42の組(少なくとも1つ)を有するプログラム/ユーティリティ40、ならびにオペレーティング・システム、1つまたはそれ以上のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データがメモリ28に保存されてもよい。このオペレーティング・システム、1つまたはそれ以上のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データの各々、またはその何らかの組み合わせは、ネットワーキング環境の実現を含んでもよい。一般的にプログラム・モジュール42は、本明細書に記載される本発明の実施形態の機能もしくは方法論またはその両方を実行する。
コンピュータ・システム/サーバ12はさらに、たとえばキーボード、ポインティング・デバイス、ディスプレイ24などの1つまたはそれ以上の外部デバイス14、ユーザがコンピュータ・システム/サーバ12と対話することを可能にする1つまたはそれ以上のデバイス、もしくはコンピュータ・システム/サーバ12が1つもしくはそれ以上の他のコンピュータ・デバイスと通信することを可能にする任意のデバイス(例、ネットワーク・カード、モデムなど)、またはその組み合わせと通信してもよい。こうした通信は、入力/出力(Input/Output:I/O)インタフェース22を介して行われてもよい。さらに、コンピュータ・システム/サーバ12は、たとえばローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、もしくはパブリック・ネットワーク(例、インターネット)、またはその組み合わせなどの1つまたはそれ以上のネットワークとネットワーク・アダプタ20を介して通信してもよい。図示されるとおり、ネットワーク・アダプタ20はバス18を介して、コンピュータ・システム/サーバ12のその他のコンポーネントと通信する。図示されていないが、コンピュータ・システム/サーバ12とともに、他のハードウェアもしくはソフトウェア・コンポーネントまたはその両方が用いられ得ることが理解されるべきである。その例は、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイバル記憶システムなどを含むが、それに限定されない。
図2は、さまざまな実施形態に従って用いられ得る、テープに基づくデータ記憶システムの簡略化したテープ・ドライブ100を示す。図2にはテープ・ドライブの1つの特定的な実施が示されるが、本明細書に記載される実施形態は任意のタイプのテープ・ドライブ・システムの状況において実現されてもよいことに留意すべきである。
図示されるとおり、テープ122を支持するために、テープ供給カートリッジ120および巻取りリール121が提供される。リールのうち1つまたはそれ以上は取り外し可能なカセットの一部を形成してもよく、必ずしもシステム100の一部ではない。図2に示されるものなどのテープ・ドライブはさらに、任意のタイプのテープ・ヘッド126の上でテープ122を動かすために、テープ供給カートリッジ120および巻取りリール121を駆動するための駆動モータ(単数または複数)を含んでもよい。
ガイド125は、テープ・ヘッド126を横切るテープ122を誘導する。こうしたテープ・ヘッド126は、ケーブル130を介してコントローラ・アセンブリ128に結合される。コントローラ128は典型的に、サーボ・チャネル134と、データ・フロー処理を含むデータ・チャネル136とを含む。コントローラ128は(図2には示されない)リールの動きと、たとえばトラック追跡、書込み、読取りなどのヘッドの機能とを制御する。ケーブル130は、テープ122に記録されるべきデータをヘッド126に送信し、かつヘッド126によってテープ122から読取られたデータを受信するための読取り/書込み回路を含んでもよい。アクチュエータ132は、書込みまたは読取り動作を行うために、テープ122上のトラックの組のところにヘッド126を移動させる。
当業者に理解されるとおり、データを送受信するため、およびテープ・ドライブ100の動作を制御してテープ・ドライブ100の状態をホストに通信するために、テープ・ドライブ100とホスト(一体型または外部)との間の通信のためのインタフェースがさらに提供されてもよい。
ECCは、非常に低いビット誤り率を達成するためにデータ記憶装置において用いられる。たとえば、磁気テープ記憶装置製品は、通常の動作条件下で1×10−17から1×10−19の範囲のビット誤り率を確実にするように設計される。一般的に、たとえばリード−ソロモン(Reed−Solomon:RS)コードおよび低密度パリティ・チェック(low−density parity−check:LDPC)コードなどの線形ブロック・コードは、データ記憶装置製品において用いられる好ましいECCスキームである。
従来、送信機(データ記憶装置の状況における書込み側)におけるRSエンコーダは、エンコーダの入力においていくつかの情報シンボル(K)を受取り、各シンボルはいくつかのビット(m)からなり、mのサイズに対する好ましい選択は8であり、たとえば一実施形態においてm=8であり、シンボルはバイトである。次いでRSエンコーダは第1のステップにおいて、K入力シンボルの線形関数として、「パリティ・シンボル」、「オーバーヘッド」または「冗長」として公知であるN−K個のシンボルを生成し、第2のステップにおいて、生成された(N−K)パリティ・シンボルをK情報シンボルの端部に付加することによって、N−シンボルRSコードワードを得る。
このことを、RS(N,K)コードからコードワードを生成するという。RS(N,K)コードの最小ハミング距離(d)はd=N−K+1である。これは、任意の2つのRS(N,K)コードワードがd以上のシンボルだけ異なっており、合計(2RS(N,K)コードワードが存在することを意味する。RS(N,K)コードはRS(N,K,d)コードと呼ばれてもよく、それによってこの表記にハミング距離の表示が含まれる。RSコードのmビット・シンボルは、2シンボルを有するガロア体(Galois field:GF)からのものである。したがってRSコードは、GF(2)上のRS(N,K,d)コードと呼ばれてもよい。RSパリティ・シンボルは、線形フィードバック・シフト・レジスタ回路または当該技術分野において公知の何らかの他の技術を用いて生成されてもよい。生成されたパリティ・シンボルを情報シンボルに付加する、線形フィードバック・シフト・レジスタ回路を用いるRSエンコーダは、当該技術分野において「システマティック・エンコーダ」として公知である。
受信機(データ記憶装置の状況における読取り側)におけるGF(2)上のRS(N,K,d)コードに対するRSデコーダは、最大tシンボルまで訂正可能であり、ここでt=フロア((N−K)/2)である。言換えると、N−シンボルRSコードワードにおいて最大tシンボルまでが破損されてもよく、RSデコーダはこれらtの誤ったシンボルを訂正できる。あらゆる所与のデータ・セットに対して、最大tシンボルの群が誤りを含むと考えられ、誤ったmビット・シンボルの各々は少なくとも1ビットの誤り、最大mビットの誤りを含むと考えられる。このRSデコーダの誤り訂正能力はtである。ときには、RSデコーダがコードワード内の誤ったシンボルの位置に関する付加的な情報を用いてもよい。言換えると、RSデコーダはどのシンボルが誤っているかは認識しているが、その誤ったシンボルのうちの何ビットまたはどのビットが誤っているかは分からない。これは消去訂正の場合である。RSデコーダは、eの消去シンボルを訂正可能であり、ここでe=(N−K)である。この場合、RSデコーダは誤ったシンボルの位置を認識している。一般的に、d=(N−K+1)であって(e’+2t’)<dであるとき、RSデコーダは未知の位置のe’の消去シンボルおよびt’の誤ったシンボルを訂正可能である。
RSコードワード中にt=フロア((N−K)/2)以下の誤ったシンボル(またはe=(N−K)以下の消去シンボル)があるとき(最も一般的な場合、(e’+2t’)<d=(N−K+1))、限界距離RSデコーダ(実際にはほとんどのRSデコーダが限界距離のタイプである)は、すべての誤ったシンボルおよび消去シンボルを訂正する。RSコードワード中にtよりも多い誤ったシンボル(またはeよりも多い消去シンボル)があるとき(最も一般的な場合、(e’+2t’)>(N−K))、限界距離RSデコーダの出力において2つのことが起こり得る。
最もよく起こり得るのは、誤ったシンボルおよび消去シンボルの総数がRSデコーダの誤り訂正能力を超えることを示す復号失敗フラグをRSデコーダが発生させることである。それよりも起こることが少ない結果としては、誤ったシンボルおよび消去シンボルの総数によって、受信機の破損したRSコードワードが別のRSコードワードに非常に近くなることがあり、RSデコーダはその誤りおよび消去シンボルを訂正して誤ったRSコードワードを出力することがある。この場合には「誤訂正」が起こったのであり、RSデコーダは間違いを起こしたことを認識していない。最もよく起こり得る誤訂正は、復号されたRSコードワードが元のRSコードワードとd=N−K+1シンボルだけ異なっている場合である。最後に、RSデコーダは復号されたRSコードワードからパリティ・シンボルを削除して、情報シンボルを回復させる。
ここで図3を参照すると、一実施形態に従う、Mの同時書込みされるトラックを有するテープ・ドライブにおいてデータを符号化するためのシステム300が示され、これはC1誤り訂正コード(ECC)エンコーダ・モジュール302、DRAMバッファ304、C2 ECCエンコーダ・モジュール306、第2のDRAMバッファ308(DRAMバッファ304と同じでも違っていてもよい)、符号化データにヘッダ312を付加するためのマルチプレクサ(multiplexer:MUX)310、およびテープ・レイアウト付加モジュール314の動作を含む。システム300はさらに、スクランブリング(例、各チャネルにおけるデータのランダム化のために適合された乱数発生器1からM)316、…、318、ラン・レングス制限(run−length limited:RLL)エンコーダ・モジュール320、…、322、各トラック1、…、Mに対して同期328、…、330を挿入するための個別チャネル・マルチプレクサ324、…、326を含む。磁気媒体には、たとえば4トラック、8トラック、16トラック、32トラック、64トラックなど、任意の数のトラックが書込まれてもよい。さらに、たとえば磁気テープ、光ディスク(たとえばCD−ROM、DVD−ROM、Blu−Ray(R)など)、ハード・ディスクなど、任意のタイプの記憶媒体が用いられてもよい。
1つのアプローチにおいて、記憶媒体は磁気テープであってもよく、一実施形態において、システム300は、たとえばテープ・レイアウト付加モジュール314など、磁気テープに符号化データを書込む前に符号化データを複数のトラックにパースするために適合された論理を含んでもよい。
図3において、サブ・データ・セット(SDS)にプロダクト・コードを挿入するために、C1 ECCエンコーダ・モジュール302、DRAMバッファ304、C2 ECCエンコーダ・モジュール306、および第2のDRAMバッファ308が用いられてもよい。
以下の説明においては、ECC符号化におけるC1パリティおよびC2パリティが説明の中心であるため、説明を簡略化するためにこれらの動作のほとんどは示されない。しかし、本明細書におけるあらゆる説明は、示されていなくても他の図面に記載されている付加的な動作を含んでもよい。
本明細書に記載される任意の実施形態に従って処理される受信データ内の各データ・セットは、複数のサブユニットまたはSDSを含み、各SDSは、図4に示される行402および列404を有する2次元アレイ400である。アレイ400の各行402は1つまたはそれ以上のC1コードワードを含み、アレイ400の各列404は1つまたはそれ以上のC2コードワードを含む。リニア・テープ・オープン(LTO)において、各符号化SDSは行402に2つ(世代LTO 1〜LTO 4に対して)または4つ(LTO 5以降)のC1コードワードを含む。しかし、SDSアレイ400の各行402には、1から8またはそれ以上のいずれのC1コードワードが含まれてもよい。通常、各データ・セットは複数のSDSを含み、列符号化SDSの各行402にヘッダ406が割り当てられるため、単一のデータ・セットに何百または何千ものヘッダ406が割り当てられる。
図4に示されるとおり、C1符号化はC2 ECC符号化の前に行われるため、C2列パリティ408はアレイ400のC2列パリティ部分における各行402の全長にわたって延在する。C1行パリティ410は、アレイ400のC2列パリティ領域408の外側の、各行402の端部に位置する。しかし図4に示されるとおり、C2列パリティ領域408内の点線はC1コードワードである。これは、プロダクト・コードに影響を与えることなくC1およびC2拡張の順序を交換し得るというプロダクト・コード構成の特性であり、すなわちC1およびC2拡張の順序とは独立して、すべての行は1つのコードからのものであり、すべての列は別のコードからのものである。
一実施形態に従うと、各行402は行402の全体にインタリーブされた4つのC1コードワードを含んでもよく、それはCWI−4と呼ばれる。各C1コードワードは230バイトの長さであってもよく、付加的なC1パリティが付加的な10バイトを追加する。この実施形態においては、各行402に4つのC1コードワードがインタリーブされているため、各行402(1行は1つのCWI−4である)は、4×230バイト+4×10バイト=960バイトを有する。さらに、この実施形態においては各SDSアレイ400に96の行402が存在してもよく、他の実施形態においてはそれより多数または少数の行402が存在してもよい。
加えて、1つのアプローチにおいてヘッダ406は12バイトの長さであってもよく、この実施形態においては96行402のヘッダ406が存在する。その結果、ヘッダ406に対するECC符号化なしで、SDS2次元アレイ400の合計サイズは93,312バイトとなる。
さらに、1つのアプローチにおいて、C1 ECC符号化スキームはGF(256)上のRS(240,230,11)コードを含んでもよく、C2 ECCはGF(256)上のRS(96,84,13)コードを含んでもよい。
ここで図3〜4を参照すると、一実施形態において、データを符号化するためのシステム300は、1つまたはそれ以上のSDSを含むデータを受信するために適合された論理、およびその1つまたはそれ以上のSDSのC1 ECC符号化の際に複数のC1コードワードを生成するために適合されたC1 ECCエンコーダ・モジュール302を含んでもよく、C1コードワードの各々は複数のシンボルを含む。いくつかの実施形態において、シンボルはバイト(8ビット・シンボル、ここでビットは0または1の値を取る)であってもよいが、他の実施形態においては他のシンボルが用いられてもよい。システム300はさらに、たとえばマルチプレクサ310など、複数のC1コードワードをインタリーブしてC1コードワード・インタリーブ(codeword interleaves:CWI)にするために適合された論理を含んでもよい。各CWI内には予め定められた数のC1コードワードがインタリーブされており、図4に示されるとおり、各行(CWI−4)402には4つのC1コードワードがインタリーブされているが、たとえば2、6、8、10などの任意の数のコードワードがインタリーブされてもよい。
各行402にC1コードワードをインタリーブするために起こることは、各コードワードの第1のバイトが行に配置され、次に各コードワードの第2のバイト、次に各コードワードの第3のバイトが続き、すべてのコードワードの第1のバイトが一緒になり、すべての第2のバイト、すべての第3のバイト、…、および各コードワードのすべての最終バイトが一緒になるように、各コードワードからの各後続バイトがともにインタリーブされることである。一実施形態においては、第1のインタリーブからのビットが常に列404内で一緒にならないように、アレイ400の異なる行402に対するインタリーブの位置決めが異なる。
言換えると、複数のC1コードワードをCWI402にインタリーブするために適合された論理は、各CWI402に同じ数のC1コードワードを一緒にバイト・インタリーブするために適合された論理を含む。ともにインタリーブされるC1コードワードの数は、2から8のC1コードワードの範囲、またはそれ以上であってもよい。
テープ・レイアウトはC2およびC1コードワードをインタリーブするため、C2デコーダ入力におけるバイト誤りを無相関化する。1つのアプローチにおいて、6MBのデータ・セット(data set:DS)は64のSDSを含んでもよく、これは基本的なECCデータ・ユニットである。加えて、テープ・レイアウトはヘッダをSDS行(約1kBのパケット)に関連付け、各パケットを論理トラックの1つ、たとえば32論理トラックの1つに割り当てる。C2デコーダ入力における1×10−3未満の誤り率は、C2デコーダ出力における1×10−17未満の誤り率に変換される。32トラック・テープ・レイアウト設計は良好な無相関化特性を有する。本明細書に記載される実施形態によって、LTO−5最小パケット・スペーシングからの50%増加による無相関化の改善が可能である。
システム300はさらに、1つまたはそれ以上のSDSのC2 ECC符号化の際に複数のC2コードワードを生成するために適合されたC2エンコーダ・モジュール306を含み、C2コードワードの各々は複数のシンボルを含む。C2コードワードはアレイ400の列404によって表され、各列404は、さまざまな実施形態に従って1つのC2コードワードの一部、正確に1つのC2コードワード、またはそれ以上のC2コードワードを含む。しかし、この実施形態において、各C2コードワードは各CWI(各行402)の各C1コードワードからの最大1つのシンボルを有し、各列404は正確に1つのC2コードワードである。
加えてシステム300は、1つまたはそれ以上の符号化SDSを記憶媒体に書込むために適合された論理を含む。1つのアプローチにおいて、この論理は、テープ・レイアウト付加モジュール314、乱数発生器316、318、RLLエンコーダ320、322、マルチプレクサ324、326、および同期パターン挿入328、330に含まれてもよい。
一実施形態に従うと、システム300において、C1 ECC符号化はC2 ECC符号化の前に行われ、その結果として図4に示されるとおりのSDS符号化が得られる。
図5〜6に示される別の実施形態に従うと、システム500は(C2 ECCエンコーダ・モジュール306を用いた)C2 ECC符号化を、(C1 ECCエンコーダ・モジュール302を用いた)C1 ECC符号化の前に実行してもよく、一実施形態に従うと、その結果として図6に示されるとおりのSDS符号化が得られる。最初にC2符号化が行われるが、図6のC1行パリティ領域410の列は、C1行パリティ領域410内の垂直の実線で示されるC2コードワードである。これはプロダクト・コード構成の特性である。
しかし、図4のアレイ400と同様に、図6のアレイ600は符号化されないヘッダ406を有する。
この実施形態において、1つまたはそれ以上のSDSのC2 ECC符号化の際に複数のC2コードワードを生成するために適合されたC2エンコーダ・モジュール306を有することも可能である。C2コードワードはアレイ600の列404によって表され、各列404は、さまざまな実施形態に従って1つのC2コードワードの一部、正確に1つのC2コードワード、またはそれ以上のC2コードワードを含む。しかし、この実施形態において、各C2コードワードは各CWI(各行402)の各C1コードワードからの最大1つのシンボルを有し、各列404は正確に1つのC2コードワードである。
さらに、1つのアプローチにおいて、C1 ECC符号化スキームはGF(256)上のRS(240,230,11)コードを含んでもよく、C2 ECCはGF(256)上のRS(96,84,13)コードを含んでもよい。
別の実施形態に従うと、図7〜8に示されるとおり、システム700は前述の図3に存在するすべてのモジュールおよび論理を含んでもよい。しかし、図7〜8に示される実施形態においては、C1パリティ修正モジュール702を用いてヘッダ806を説明するようにC1行パリティを修正することによって、ヘッダ806がC1符号化スキームを用いて符号化されてもよい。これは、不均一誤り保護(unequal error protection:UEP)を有する連結コードと呼ばれてもよい。この実施形態において、ヘッダは1レベルのECCによって保護されるのに対し、データは2レベルのECCによって保護される。
言換えると、システム700はさらに、1つまたはそれ以上のSDSの各々にヘッダ806を付加するために適合された論理と、ヘッダの包含を説明するように複数のC1コードワードを修正するために適合された論理とを含んでもよい。
この実施形態において、各ヘッダ806は符号化を含み、これはCWIの各々に12バイトを加える。各行802に4つのコードワードが含まれるとき、CWIの4つのC1コードワードの各々に3バイトが加えられる。
しかし、前の実施形態と同様に、各C2コードワードは各CWI(各行802)の各C1コードワードからの最大1つのシンボルを有し、各列804は正確に1つのC2コードワードである。
ここで図9〜10を参照すると、システム900は、前述の図5に存在するすべてのモジュールおよび論理を含んでもよい。しかし、図9〜10に示される実施形態においては、C1パリティ修正モジュール702を用いてヘッダ806を説明するようにC1行パリティを修正することによって、ヘッダ806がC1符号化スキームを用いて符号化されてもよい。これは、UEPを有する連結コードと呼ばれてもよい。この実施形態において、ヘッダは1レベルのECCによって保護されるのに対し、データは2レベルのECCによって保護される。
言換えると、システム900はさらに、1つまたはそれ以上のSDSの各々にヘッダ806を付加するために適合された論理と、ヘッダの包含を説明するように複数のC1コードワードを修正するために適合された論理とを含んでもよい。
この実施形態においては、修正されたC1行パリティがアレイ1000の各行802に存在するため、C2列パリティはアレイ1000全体にわたって延在しない。さらに、各ヘッダ806は符号化を含み、これはCWIの各々に12バイトを加える。各行802に4つのコードワードが含まれるとき、C1コードワードの各々に3バイトが加えられる。
しかし、前の実施形態と同様に、各C2コードワードは各CWI(各行802)の各C1コードワードからの最大1つのシンボルを有し、各列804は正確に1つのC2コードワードである。
ここで図11〜12を参照すると、一実施形態に従う、SDSを復号するための方法1100が示される。さまざまな実施形態において、方法1100は、特に図1〜10および図13〜15に示される環境のいずれかにおいて、本発明に従って実行されてもよい。もちろん、本記載を読んだ当業者に理解されるとおり、図11〜12に特定的に記載される動作よりも多数または少数の動作が方法1100に含まれてもよい。
方法1100の各ステップは、動作環境のあらゆる好適なコンポーネントによって実行されてもよい。たとえば、さまざまな非限定的実施形態において、方法1100は、C1/C2符号化/復号システム、テープ・ドライブ、ハード・ディスク・ドライブ、光学ドライブ、またはシステムに組み込まれるか、もしくはシステム内で動作するか、またはその両方であるプロセッサ(たとえばCPU、ASIC、FPGAなど)などによって部分的または全体的に実行されてもよい。
図11〜12に示されるとおり、方法1100は動作1102から始まってもよく、ここでは不均一誤り保護によって保護されるヘッダ付SDSが受信される。ヘッダ付SDSのヘッダは1レベルのECCによって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される。
動作1104において、SDSを得るために、ヘッダ付SDSからヘッダが復号され、復号ヘッダの影響がC1行パリティから除去される。
動作1106において、ヘッダ付SDSから復号ヘッダが抽出されることによってSDS1(0)が得られ、復号ヘッダに対して、たとえば周期的冗長チェック(cyclic redundancy check:CRC)などの誤りチェックが行われる。
動作1108において、復号ヘッダが誤りチェックに合格するかどうかが判定される。もしそうであれば方法1100は動作1112に続き、そうでなければ動作1110に続く。
動作1110において、復号ヘッダが誤りチェックに失敗したとき、C1’行パリティが消去されて、C1行パリティが未知であることが示される。厳密に言うと、C1コードワードはヘッダ・フラグメントを含まないのに対し、C1’コードワードはヘッダ・フラグメントを含む。言換えると、C1コードが(N1,K1)コードであり、ヘッダがHシンボル(例、Hバイト)を含み、かつSDS行にj_maxインタリーブが存在するとき、C1’コードは(N1+H/j_max,K1)である。本文中ではC1’コードに対してC1コードが用いられることがある。しかし、記載されるコードの状況から、どのコードを意味するものかは明らかなはずである。
たとえば、受信されたSDSのRのヘッダが回復され、SDSのQ=N2−Rのヘッダが回復されないものと想定する。受信された最初のSDSをSDS2(0)と呼ぶ。さらに、Qの未回復ヘッダの中に、データ・セット内のSDS行の位置を示すPの復号CWI−4指示があり、ここで0≦P≦Qであり、すなわちQのヘッダは回復できなかったが、データ・セット内のこれらPのSDS行の位置を示すPのヘッダ部分は回復できている。C1’復号の後に、パラメータE’(j)を、1)0≦E’(j)≦U’(j)および2)0≦E’(j)+(Q−P)≦(N2−K2)が満たされるように選択してもよく、ここでU’(j)はインタリーブj(j=1,2,3,4は、4つのインタリーブを示す好ましい選択である)における訂正不可能なC1’コードワードの数である。
動作1111において、SDS1(0)が得られる。一実施形態において、SDS1(0)は以下の説明に従って得られてもよい。
一実施形態に従うと、SDS1(0)は受信したSDS2(0)から、以下のステップを行うことによって得られる。すなわち、j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して反復的に、受信したSDS2(0,j)のN2−U’(j)行を復号成功したC1’コードワードで上書きするステップと、SDS2(0,j)における合計U’(j)の訂正不可能なC1’コードワードからE’(j)C1’コードワードを消去するステップと、SDS2(0,j)におけるU’(j)−E’(j)C1’コードワードを未訂正のまま維持するステップと、修正されたSDS2(0,j)の各インタリーブを組み合わせてSDS1(0)を形成するステップとである。
動作1112において、反復処理を開始するために反復インデックス・カウンタiが0に設定される。
動作1114において、反復インデックス・カウンタが1だけ増分されて、たとえばi=i+1となる。
動作1116において、反復インデックス・カウンタiが反復の最大数i_maxよりも大きく、たとえばi>i_maxであるかどうかが判定される。もし反復インデックス・カウンタiが反復の最大数i_maxよりも大きければ、方法1100は停止され、ヘッダ付SDSが適切に復号され得ないという表示が出力される。そうでなければ、方法1100は動作1118に続く。
動作1118において、SDS1(i−1)に対してC2列復号が行われる。
動作1120において、現在のインタリーブjにおける訂正不可能なC2コードワードの数が定められ、訂正不可能なC2コードワードの数はU2(i,j)であり、0≦U2(i,j)≦N1であり、ここでN1はC1コードワードにおけるシンボルの総数である。
動作1122において、iが反復インデックス・カウンタであり、jが行における現在のインタリーブであるときに、0≦E2(i,j)≦U2(i,j)かつ0≦E2(i,j)≦(N1−K1)となるように、第1のパラメータE2(i,j)が選択される。U2(i,j)は現在のインタリーブjにおける訂正不可能なC2コードワードの数であり、K1はC1コードワードにおけるデータ・シンボルの数である。
動作1124において、SDS2(i)が得られる。一実施形態に従うと、SDS2(i)はSDS1(i−1)から、以下のステップを行うことによって得られる。すなわち、j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して反復的に、SDS1(i−1,j)のN1−U2(i,j)列を復号成功したC2コードワードで上書きするステップであって、SDS1(i−1,j)はインタリーブjに対する第1の算出SDSである、ステップと、SDS1(i−1,j)における合計U2(i,j)のC2コードワードからE2(i,j)C2コードワードを消去するステップと、SDS1(i−1,j)におけるU2(i,j)−E2(i,j)C2コードワードを未訂正のまま維持するステップと、上書きおよび消去されたSDS1(i−1,j)の各インタリーブを組み合わせてSDS2(i)を形成するステップとである。
動作1126において、U2(i,j)>0となるインタリーブjが存在するかどうかが判定される。もしそうであれば、方法1100は動作1130に続く。そうでなければ、1≦j≦j_maxに対してU2(i,j)=0であり、方法1100は動作1128に続く。
動作1128において、SDS2(i)のすべての行がC1コードワードのみを含むかどうかが判定される。たとえばCWI−4における4つのC1コードワードなど、各行には2つ以上のC1コードワードが含まれてもよい。1≦j≦j_maxに対してU2(i,j)=0であるため、SDS2(i)のすべての列はC2コードワードのみを含む。もしそうであれば、復号されたSDSであるSDS2(i)が出力され、方法1100は終了する。そうでなければ、方法1100は動作1130に続く。
動作1130において、SDS2(i)に対してC1行復号が行われる。
動作1132において、現在のインタリーブjにおける訂正不可能なC1コードワードの数が定められ、訂正不可能なC1コードワードの数はU1(i,j)であり、0≦U1(i,j)≦N2であり、ここでN2は列におけるシンボルの総数である。
動作1134において、0≦E1(i,j)≦U1(i,j)かつ0≦E1(i,j)≦(N2−K2)となるように第2のパラメータE1(i,j)が選択され、ここでK2は列におけるデータ・シンボルの数である。
動作1136において、SDS1(i)が得られる。一実施形態において、SDS1(i)はSDS2(i)から、以下のステップを行うことによって得られる。すなわち、j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して反復的に、SDS2(i,j)のN2−U1(i,j)行を復号成功したC1コードワードで上書きするステップであって、SDS2(i,j)はインタリーブjに対する第2の算出SDSである、ステップと、SDS2(i,j)における合計U1(i,j)のC1コードワードからE1(i,j)C1コードワードを消去するステップと、SDS2(i,j)におけるU1(i,j)−E1(i,j)C1コードワードを未訂正のまま維持するステップと、上書きおよび消去されたSDS2(i,j)の各インタリーブを組み合わせてSDS1(i)を形成するステップとである。
動作1138において、U1(i,j)>0となるインタリーブが存在するかどうかが判定される。もしそうであれば、方法1100は動作1114に戻る。そうでなければ、方法1100は動作1140に続く。
動作1140において、1≦j≦j_maxに対してU1(i,j)=0であるため、SDS1(i)のすべての行はC1コードワードからなる。したがって、SDS1(i)のすべての列がC2コードワードであるかどうかだけが判定される。もしそうであれば、復号されたSDSであるSDS1(i)が出力され、方法1100は終了する。そうでなければ、方法1100は動作1114に戻る。
一実施形態において、ヘッダ付SDSのヘッダはC1符号化によって保護されてもよく、ヘッダ付SDSのデータはC1符号化およびC2符号化によって保護されてもよい。
加えて、いくつかの代替的な実現においては、ブロック中に示される機能が図面に示される以外の順序で起こってもよいことに留意すべきである。たとえば、連続して示される2つのブロックは、伴われる機能に依存して、実際には実質的に同時に実行されてもよいし、それらのブロックがときには逆の順序で実行されてもよい。たとえば、別の実施形態において、最初にC1’復号を行った後にヘッダの影響を除去し、E’(j)=U’(j)によってC2復号を行うと、有効なSDSが得られないことがある。もしそうであれば、C1復号を行う代わりに、E’(j)=0と想定して生成されたSDS1(0)によって再びC2復号を行い、次いで反復的にC1復号およびC2復号を続ける方が有益であり得る。
さまざまな実施形態に従うと、方法1100は、各動作を実行する論理を介したシステムによって実行されてもよいし、コンピュータ・プログラム製品によって実行されてもよいし、何らかのその他のデバイスまたはシステムによって実行されてもよい。コンピュータ・プログラム製品は、ともに具現化されるプログラム・コードを有するコンピュータ読取り可能記憶媒体を含んでもよく、プログラム・コードは、方法1100を実行させるためにテープ・ドライブによって読取り可能/実行可能であってもよい。
ここで図13を参照すると、一実施形態に従う方法1200が示され、これは動作1104〜1110のより詳細な説明であってもよい。1つのアプローチにおいて、この方法1200は、不均一に保護されるヘッダ付SDSからヘッダを抽出するために用いられてもよい。方法1200は動作1202から始まり、ここで所与のインタリーブ(この実施例においては4コードワード・インタリーブCWI−4)におけるすべてのC1’コードワードが復号される。ここにはdの復号されたC1’コードワードおよびuの訂正不可能なC1’コードワードが存在し、ここでu+d=4である。ヘッダ・フラグメントにおけるあらゆる誤りが訂正される。もちろん他の使用においては、任意の数のコードワード・インタリーブが用いられてもよい。
動作1204において、この実施例では3バイトの復号または非復号ヘッダ・フラグメントが連結されて、単一の12バイト・ヘッダが得られる。ヘッダを構築するやり方は2通り考えられる。もちろん他の使用においては、任意のサイズのヘッダもしくはバイト・フラグメントまたはその両方が用いられてもよい。
動作1206において、ヘッダがCRCチェックに合格するかどうかが判定される。もしそうであれば、この方法は動作1208に続く。そうでなければ、方法1200は動作1212に続く。
訂正不可能なC1’コードワードがあるとき、ヘッダを抽出する目的のためにそれらは未訂正のままにされてもよい。ヘッダがCRCチェックをするとき、その行のC1’パリティは修正されてもよい。なぜなら、そのヘッダは正しいと想定されるため、動作1210においてそのC1’パリティに対する影響が除去され得るからである。
動作1208において、CRCチェックに合格した任意のヘッダを用いて、ヘッダの内容が許可されるかどうかが判定される。もしそうであれば、この方法は動作1210に続く。そうでなければ、方法1200は動作1212に続く。
動作1210において、特定のSDS行において正しいCRCを有するヘッダが得られたとき、C1’パリティに対するヘッダの影響を除去することによってC1’パリティを修正して、C1パリティを得てもよい。
加えて、レガシ・テープ・ドライブのように、ヘッダ補間を用いてヘッダが得られてもよい。なお、読取り同時書込みの際の再書込みのために、SDS行は固定された順序で受信されないことがあり、すなわち再書込みの際にヘッダ補間を用いてはならない。
動作1212において、ヘッダが補間によって得られるかどうかが判定される。もしそうであれば、この方法は動作1210に続く。そうでなければ、方法1200は動作1214に続く。
動作1214において、特定のSDS行において正しいCRCを有するヘッダが得られなかったか、またはヘッダの内容が許可されないとき、C1’パリティを修正することはできない。この場合、C1’パリティは消去されて、C1パリティは未知であることが示される。
さまざまな実施形態に従うと、方法1200は、各動作を実行する論理を介したシステムによって実行されてもよいし、コンピュータ・プログラム製品によって実行されてもよいし、何らかのその他のデバイスまたはシステムによって実行されてもよい。コンピュータ・プログラム製品は、ともに具現化されるプログラム・コードを有するコンピュータ読取り可能記憶媒体を含んでもよく、プログラム・コードは、方法1200を実行させるためにテープ・ドライブによって読取り可能/実行可能であってもよい。
図14は、一実施形態に従うSDS2(i,j)の表現を示す。この表現は、行数N2と、列数N1と、iが反復カウンタであり、jが行における現在のインタリーブであるときの訂正不可能なC2コードワードの例示的な数U2(i,j)と、例示的な第2のパラメータE2(i,j)とを、関連する計算とともに示す。SDS行は、j_max*N1シンボルを含む。図14は、すべての行がC1コードワードであり、かつすべての列がC2コードワードであるSDS2(i)のインタリーブjのみを示しており、SDS2(i)は図14のアレイのj_maxをインタリーブすることによって得られる。
図15は、一実施形態に従うSDS1(i,j)の表現を示す。この表現は、行数N2と、列数N1と、iが反復カウンタであり、jが行における現在のインタリーブであるときの訂正不可能なC1コードワードの例示的な数U1(i,j)と、例示的な第2のパラメータE1(i,j)とを、関連する計算とともに示す。SDS行は、j_max*N1シンボルを含む。図15は、すべての行がC1コードワードであり、かつすべての列がC2コードワードであるSDS1(i)のインタリーブjのみを示しており、SDS1(i)は図15のアレイのj_maxをインタリーブすることによって得られる。
ここで図16を参照すると、一実施形態に従う、SDSを復号するための方法1500が示される。さまざまな実施形態において、方法1500は、特に図1〜10および図13〜15に示される環境のいずれかにおいて、本発明に従って実行されてもよい。もちろん、本記載を読んだ当業者に理解されるとおり、図16に特定的に記載される動作よりも多数または少数の動作が方法1500に含まれてもよい。
方法1500の各ステップは、動作環境のあらゆる好適なコンポーネントによって実行されてもよい。たとえば、さまざまな非限定的実施形態において、方法1500は、C1/C2符号化/復号システム、テープ・ドライブ、ハード・ディスク・ドライブ、光学ドライブ、またはシステムに組み込まれるか、もしくはシステム内で動作するか、またはその両方であるプロセッサ(たとえばCPU、ASIC、FPGAなど)などによって部分的または全体的に実行されてもよい。
図16に示されるとおり、方法1500は動作1502から始まってもよく、ここでは不均一誤り保護によって保護されるヘッダ付SDSが受信される。ヘッダ付SDSのヘッダは1レベルのECCによって保護され、ヘッダ付SDSのデータは2レベルのECCによって保護される。
動作1504において、SDSを得るために、ヘッダ付SDSからヘッダが復号され、復号ヘッダの影響がC1’行パリティから除去される。
動作1506〜1520は、予め定められた数以下の反復に対して繰り返される。
動作1506において、SDSに対してC2列復号が行われる。
動作1508〜1512は、インタリーブの総数以下の数だけ繰り返される。動作1508において、SDSのある数の列が復号成功したC2コードワードで上書きされる。
動作1510において、SDSのある数のC2コードワードが消去され、この反復においては、あらゆる上書きされたC2コードワード(好ましい実施形態における列)は消去されない。
動作1512において、SDSの残りの列は未訂正のまま維持される。
動作1514において、SDSに対してC1行復号が行われる。
動作1516〜1520は、インタリーブの総数以下の数だけ繰り返される。動作1516において、SDSのある数の行が復号成功したC1コードワードで上書きされる。
動作1518において、SDSのある数のC1コードワードが消去され、この反復においては、あらゆる上書きされたC1コードワードは消去されない。
動作1520において、SDSの残りの行は未訂正のまま維持される。
動作1522において、SDSが適切に復号されたかどうかが判定される。
動作1524において、SDSのすべての行がC1コードワードのみを含み、かつSDSのすべての列がC2コードワードのみを含むとき、そのSDSが出力される。そうでないときは、動作1526において、SDSが適切に復号され得ないという表示が出力される。
いくつかのさらなる実施形態において、方法1500は、復号ヘッダに対して誤りチェックを行うステップと、復号ヘッダが誤りチェックに失敗したとき、そのヘッダに関連する行パリティをSDSから消去することによってC1行パリティが未知であることを示すステップとを含んでもよい。
いくつかのアプローチに従うと、ヘッダ付SDSのヘッダはC1符号化によって保護されてもよく、ヘッダ付SDSのデータはC1符号化およびC2符号化によって保護されてもよい。
別の実施形態において、方法1500は、iが反復カウンタであり、jが行における現在のインタリーブであるときに、0≦E2(i,j)≦U2(i,j)かつ0≦E2(i,j)≦(N1−K1)となるように第1のパラメータE2(i,j)を選択するステップを含んでもよく、ここでU2(i,j)は現在のインタリーブjにおける訂正不可能なC2コードワードの数であり、N1はC1コードワードにおけるシンボルの総数であり、K1はC1コードワードにおけるデータ・シンボルの数である。さらに、所与の反復および所与のインタリーブにおいて上書きされるSDSの列の数はN1−U2(i,j)列であってもよく、消去されるC2コードワードの数はE2(i,j)C2コードワードであってもよい。
別の実施形態において、方法1500は、iが反復カウンタであり、jが行における現在のインタリーブであるときに、0≦E1(i,j)≦U1(i,j)かつ0≦E1(i,j)≦(N2−K2)となるように第2のパラメータE1(i,j)を選択するステップを含んでもよく、ここでU1(i,j)は現在のインタリーブjにおける訂正不可能なC1コードワードの数であり、N2はC2コードワードにおけるシンボルの総数であり、K2はC2コードワードにおけるデータ・シンボルの数である。さらに、所与の反復および所与のインタリーブにおいて上書きされるSDSのC1コードワードの数はN2−U1(i,j)C1コードワードであってもよく、消去されるC1コードワードの数はE1(i,j)C1コードワードであってもよい。
さまざまな実施形態に従うと、方法1500は、各動作を実行する論理を介したシステムによって実行されてもよいし、コンピュータ・プログラム製品によって実行されてもよいし、何らかのその他のデバイスまたはシステムによって実行されてもよい。コンピュータ・プログラム製品は、ともに具現化されるプログラム・コードを有するコンピュータ読取り可能記憶媒体を含んでもよく、プログラム・コードは、方法1500を実行させるためにテープ・ドライブによって読取り可能/実行可能であってもよい。
図面中の流れ図およびブロック図は、本発明のさまざまな実施形態に従うシステム、方法およびコンピュータ・プログラム製品の実現可能なアーキテクチャ、機能および動作を例示するものである。これに関して、流れ図またはブロック図における各ブロックは、指定された論理関数(単数または複数)を実施するための1つまたはそれ以上の実行可能な命令を含むモジュール、セグメント、またはコードの部分を表していてもよい。さらに、いくつかの代替的な実現においては、ブロック中に示される機能が図面に示される以外の順序で起こってもよいことに留意すべきである。たとえば、連続して示される2つのブロックは、伴われる機能に依存して、実際には実質的に同時に実行されてもよいし、それらのブロックがときには逆の順序で実行されてもよい。さらに、ブロック図もしくは流れ図またはその両方の各ブロック、およびブロック図もしくは流れ図またはその両方のブロックの組み合わせは、指定された機能もしくは動作を行う特定目的のハードウェアに基づくシステム、または特定目的のハードウェアとコンピュータ命令との組み合わせによって実現され得ることを注記する。
上記にさまざまな実施形態を説明したが、それらは単なる例として提供されたものであって限定ではないことが理解されるべきである。よって、本発明の実施形態の広さおよび範囲は上述の例示的実施形態のいずれかによって限定されるべきではなく、以下の請求項およびその均等物のみに従って定義されるべきである。

Claims (25)

  1. ヘッダ付サブ・データ・セット(SDS)を復号するためのシステムであって、前記システムは、
    不均一誤り保護によって保護されるヘッダ付SDSを受信するように適合された論理であって、前記ヘッダ付SDSのヘッダは1レベルの誤り訂正コード(ECC)によって保護され、前記ヘッダ付SDSのデータは2レベルのECCによって保護される、論理と、
    前記ヘッダ付SDSからヘッダを復号し、かつC1行パリティから前記ヘッダの影響を除去してSDSを得るように適合された論理と、
    予め定められた数以下の反復に対して、
    前記SDSに対するC2列復号を行い、かつ
    前記SDSの各行におけるある数以下のインタリーブに対して、
    前記SDSのある数の列を復号成功したC2コードワードで上書きし、
    前記SDSのある数のC2コードワードを消去し、かつ
    前記SDSの残りの列を未訂正のまま維持し、
    前記SDSに対してC1行復号を行い、
    前記SDSの各行におけるある数以下のインタリーブに対して、
    前記SDSのある数の行を復号成功したC1コードワードで上書きし、
    前記SDSのある数のC1コードワードを消去し、かつ
    前記SDSの残りの行を未訂正のまま維持するように適合された論理と、
    前記SDSのすべての行がC1コードワードのみを含み、かつ前記SDSのすべての列がC2コードワードのみを含むときに前記SDSを出力し、そうでないときには前記SDSが適切に復号され得ないという表示を出力するように適合された論理と
    を含む、システム。
  2. 前記ヘッダに対して誤りチェックを行うように適合された論理と、
    前記ヘッダが前記誤りチェックに失敗したときに、前記ヘッダに関連する行パリティを前記SDSから消去して、C1行パリティが未知であることを示すように適合された論理と
    をさらに含む、請求項1に記載のシステム。
  3. 前記ヘッダ付SDSの前記ヘッダはC1符号化によって保護され、前記ヘッダ付SDSのデータはC1符号化およびC2符号化によって保護される、請求項1に記載のシステム。
  4. iが反復カウンタであり、jが行における現在のインタリーブであるときに、0≦E2(i,j)≦U2(i,j)かつ0≦E2(i,j)≦(N1−K1)となるように第1のパラメータE2(i,j)を選択するように適合された論理をさらに含み、ここでU2(i,j)は前記現在のインタリーブjにおける訂正不可能なC2コードワードの数であり、N1はC1コードワードにおけるシンボルの総数であり、K1はC1コードワードにおけるデータ・シンボルの数である、請求項1に記載のシステム。
  5. 所与の反復および所与のインタリーブにおいて上書きされる前記SDSの前記列の数はN1−U2(i,j)列であり、消去される前記C2コードワードの数はE2(i,j)C2コードワードである、請求項4に記載のシステム。
  6. iが反復カウンタであり、jが行における現在のインタリーブであるときに、0≦E1(i,j)≦U1(i,j)かつ0≦E1(i,j)≦(N2−K2)となるように第2のパラメータE1(i,j)を選択するように適合された論理をさらに含み、ここでU1(i,j)は前記現在のインタリーブjにおける訂正不可能なC1コードワードの数であり、N2は列におけるシンボルの総数であり、K2は列におけるデータ・シンボルの数である、請求項1に記載のシステム。
  7. 所与の反復および所与のインタリーブにおいて上書きされる前記SDSの前記C1コードワードの数はN2−U1(i,j)C1コードワードであり、消去される前記C1コードワードの数はE1(i,j)C1コードワードである、請求項6に記載のシステム。
  8. ヘッダ付サブ・データ・セット(SDS)を復号するためのシステムであって、前記システムは、
    不均一誤り保護によって保護されるヘッダ付SDSを受信するように適合された論理であって、前記ヘッダ付SDSのヘッダは1レベルの誤り訂正コード(ECC)によって保護され、前記ヘッダ付SDSのデータは2レベルのECCによって保護される、論理と、
    C1行パリティを得るためにC1’行パリティからヘッダの影響を除去することによって、前記ヘッダ付SDSの前記C1’行パリティを修正することによって、前記ヘッダ付SDSから前記ヘッダを復号するためのC1’行復号を行うように適合された論理と、
    前記ヘッダ付SDSから前記ヘッダを抽出してSDS1(0)を得て、前記ヘッダに対して誤りチェックを行うように適合された論理と、
    前記ヘッダが前記誤りチェックに失敗したときに、前記C1’行パリティを消去してC1行パリティが未知であることを示すように適合された論理と、
    iが反復カウンタであり、i_maxが反復の最大数であるときに、予め定められた数以下の反復i≦i_maxに対して、
    前記SDS1(i−1)に対するC2列復号を行うように適合された論理と、
    行の現在のインタリーブjにおける訂正不可能なC2コードワードの数を定めるように適合された論理であって、前記訂正不可能なC2コードワードの数はU2(i,j)であり、0≦U2(i,j)≦N1であり、ここでN1はC1コードワードにおけるシンボルの総数である、論理と、
    K1がC1コードワードにおけるデータ・シンボルの数であるときに、0≦E2(i,j)≦U2(i,j)かつ0≦E2(i,j)≦(N1−K1)となるように第1のパラメータE2(i,j)を選択するように適合された論理と、
    j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、
    SDS1(i−1,j)のN1−U2(i,j)列を復号成功したC2コードワードで上書きするように適合された論理であって、ここでSDS1(i−1,j)はインタリーブjに対する第1の算出SDSである、論理と、
    SDS1(i−1,j)における合計U2(i,j)のC2コードワードからE2(i,j)C2コードワードを消去するように適合された論理と、
    SDS1(i−1,j)におけるU2(i,j)−E2(i,j)C2コードワードを未訂正のまま維持するように適合された論理と、
    上書きおよび消去されたSDS1(i−1,j)の各インタリーブを組み合わせてSDS2(i)を形成するように適合された論理であって、ここでSDS2(i)は反復iに対する第1の算出SDSである、論理と、
    SDS2(i)のすべての行がC1コードワードのみを含み、かつSDS2(i)のすべての列がC2コードワードのみを含むときに反復処理を停止して、復号されたSDSであるSDS2(i)を出力するように適合された論理と、
    SDS2(i)に対してC1行復号を行うように適合された論理と、
    前記現在のインタリーブjにおける訂正不可能なC1コードワードの数を定めるように適合された論理であって、前記訂正不可能なC1コードワードの数はU1(i,j)であり、0≦U1(i,j)≦N2であり、ここでN2は列におけるシンボルの総数である、論理と、
    K2が列におけるデータ・シンボルの数であるときに、0≦E1(i,j)≦U1(i,j)かつ0≦E1(i,j)≦(N2−K2)となるように第2のパラメータE1(i,j)を選択するように適合された論理と、
    j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、
    SDS2(i,j)のN2−U1(i,j)列を復号成功したC1コードワードで上書きするように適合された論理であって、ここでSDS2(i,j)はインタリーブjに対する第2の算出SDSである、論理と、
    SDS2(i,j)における合計U1(i,j)のC1コードワードからE1(i,j)C1コードワードを消去するように適合された論理と、
    SDS2(i,j)におけるU1(i,j)−E1(i,j)C1コードワードを未訂正のまま維持するように適合された論理と、
    上書きおよび消去されたSDS2(i,j)の各インタリーブを組み合わせてSDS1(i)を形成するように適合された論理であって、ここでSDS1(i)は反復iに対する第2の算出SDSである、論理と、
    SDS1(i)のすべての行がC1コードワードのみを含み、かつSDS1(i)のすべての列がC2コードワードのみを含むときに反復処理を停止して、復号されたSDSであるSDS1(i)を出力するように適合された論理と、
    前記反復カウンタiを1だけ増分するように適合された論理と、
    前記反復の最大数が到達され、かつすべての行がC1コードワードでないか、もしくはすべての列がC2コードワードでないか、またはその両方であるときに、前記ヘッダ付SDSが適切に復号され得ないという表示を出力するように適合された論理と
    を含む、システム。
  9. 前記ヘッダ付SDSの前記ヘッダはC1符号化によって保護され、前記ヘッダ付SDSのデータはC1符号化およびC2符号化によって保護される、請求項8に記載のシステム。
  10. ヘッダ付サブ・データ・セット(SDS)を復号するための方法であって、前記方法は、
    不均一誤り保護によって保護されるヘッダ付SDSを受信するステップであって、前記ヘッダ付SDSのヘッダは1レベルの誤り訂正コード(ECC)によって保護され、前記ヘッダ付SDSのデータは2レベルのECCによって保護される、ステップと、
    前記ヘッダ付SDSからヘッダを復号し、かつC1行パリティから前記ヘッダの影響を除去してSDSを得るステップと、
    予め定められた数以下の反復に対して、
    前記SDSに対するC2列復号を行うステップと、
    前記SDSの各行におけるある数以下のインタリーブに対して、
    前記SDSのある数の列を復号成功したC2コードワードで上書きするステップと、
    前記SDSのある数のC2コードワードを消去するステップと、
    前記SDSの残りの列を未訂正のまま維持するステップと、
    前記SDSに対してC1行復号を行うステップと、
    前記SDSの各行におけるある数以下のインタリーブに対して、
    前記SDSのある数の行を復号成功したC1コードワードで上書きするステップと、
    前記SDSのある数のC1コードワードを消去するステップと、
    前記SDSの残りの行を未訂正のまま維持するステップと、
    前記SDSのすべての行がC1コードワードのみを含み、かつ前記SDSのすべての列がC2コードワードのみを含むときに前記SDSを出力するステップと、そうでないときには前記SDSが適切に復号され得ないという表示を出力するステップと
    を含む、方法。
  11. 前記ヘッダに対して誤りチェックを行うステップと、
    前記ヘッダが前記誤りチェックに失敗したときに、前記ヘッダに関連する行パリティを前記SDSから消去して、C1行パリティが未知であることを示すステップと
    をさらに含む、請求項10に記載の方法。
  12. 前記ヘッダ付SDSの前記ヘッダはC1符号化によって保護され、前記ヘッダ付SDSのデータはC1符号化およびC2符号化によって保護される、請求項10に記載の方法。
  13. iが反復カウンタであり、jが行における現在のインタリーブであるときに、0≦E2(i,j)≦U2(i,j)かつ0≦E2(i,j)≦(N1−K1)となるように第1のパラメータE2(i,j)を選択するステップをさらに含み、ここでU2(i,j)は前記現在のインタリーブjにおける訂正不可能なC2コードワードの数であり、N1はC1コードワードにおけるシンボルの総数であり、K1はC1コードワードにおけるデータ・シンボルの数である、請求項10に記載の方法。
  14. 所与の反復および所与のインタリーブにおいて上書きされる前記SDSの前記列の数はN1−U2(i,j)列であり、消去される前記C2コードワードの数はE2(i,j)C2コードワードである、請求項13に記載の方法。
  15. iが反復カウンタであり、jが行における現在のインタリーブであるときに、0≦E1(i,j)≦U1(i,j)かつ0≦E1(i,j)≦(N2−K2)となるように第2のパラメータE1(i,j)を選択するステップをさらに含み、ここでU1(i,j)は前記現在のインタリーブjにおける訂正不可能なC1コードワードの数であり、N2は列におけるシンボルの総数であり、K2は列におけるデータ・シンボルの数である、請求項10に記載の方法。
  16. 所与の反復および所与のインタリーブにおいて上書きされる前記SDSの前記C1コードワードの数はN2−U1(i,j)C1コードワードであり、消去される前記C1コードワードの数はE1(i,j)C1コードワードである、請求項15に記載の方法。
  17. サブ・データ・セットを符号化するための方法であって、前記方法は、
    不均一誤り保護によって保護されるヘッダ付サブ・データ・セット(SDS)を受信するステップであって、前記ヘッダ付SDSのヘッダは1レベルの誤り訂正コード(ECC)によって保護され、前記ヘッダ付SDSのデータは2レベルのECCによって保護される、ステップと、
    C1行パリティを得るためにC1’行パリティからヘッダの影響を除去することによって、前記ヘッダ付SDSの前記C1’行パリティを修正することによって、前記ヘッダ付SDSから前記ヘッダを復号するためのC1’行復号を行うステップと、
    前記ヘッダ付SDSから前記ヘッダを抽出してSDS1(0)を得て、前記ヘッダに対して誤りチェックを行うステップと、
    前記ヘッダが前記誤りチェックに失敗したときに、前記C1’行パリティを消去してC1行パリティが未知であることを示すステップと、
    iが反復カウンタであり、i_maxが反復の最大数であるときに、予め定められた数以下の反復i≦i_maxに対して、
    前記SDS1(i−1)に対するC2列復号を行うステップと、
    現在のインタリーブjにおける訂正不可能なC2コードワードの数を定めるステップであって、前記訂正不可能なC2コードワードの数はU2(i,j)であり、0≦U2(i,j)≦N1であり、ここでN1はC1コードワードにおけるシンボルの総数である、ステップと、
    K1がC1コードワードにおけるデータ・シンボルの数であるときに、0≦E2(i,j)≦U2(i,j)かつ0≦E2(i,j)≦(N1−K1)となるように、iが反復カウンタであり、jが行における現在のインタリーブであるときの第1のパラメータE2(i,j)を選択するステップと、
    j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、
    SDS1(i−1,j)のN1−U2(i,j)列を復号成功したC2コードワードで上書きするステップであって、ここでSDS1(i−1,j)はインタリーブjに対する第1の算出SDSである、ステップと、
    SDS1(i−1,j)における合計U2(i,j)のC2コードワードからE2(i,j)C2コードワードを消去するステップと、
    SDS1(i−1,j)におけるU2(i,j)−E2(i,j)C2コードワードを未訂正のまま維持するステップと、
    上書きおよび消去されたSDS1(i−1,j)の各インタリーブを組み合わせてSDS2(i)を形成するステップであって、ここでSDS2(i)は反復iに対する第1の算出SDSである、ステップと、
    SDS2(i)のすべての行がC1コードワードのみを含み、かつSDS2(i)のすべての列がC2コードワードのみを含むときに前記方法を停止して、復号されたSDSであるSDS2(i)を出力するステップと、
    SDS2(i)に対してC1行復号を行うステップと、
    前記現在のインタリーブjにおける訂正不可能なC1コードワードの数を定めるステップであって、前記訂正不可能なC1コードワードの数はU1(i,j)であり、0≦U1(i,j)≦N2であり、ここでN2は列におけるシンボルの総数である、ステップと、
    K2が列におけるデータ・シンボルの数であるときに、0≦E1(i,j)≦U1(i,j)かつ0≦E1(i,j)≦(N2−K2)となるように第2のパラメータE1(i,j)を選択するステップと、
    j_maxがインタリーブの最大数であるときに、1≦j≦j_maxの反復に対して、
    SDS2(i,j)のN2−U1(i,j)列を復号成功したC1コードワードで上書きするステップであって、ここでSDS2(i,j)はインタリーブjに対する第2の算出SDSである、ステップと、
    SDS2(i,j)における合計U1(i,j)のC1コードワードからE1(i,j)C1コードワードを消去するステップと、
    SDS2(i,j)におけるU1(i,j)−E1(i,j)C1コードワードを未訂正のまま維持するステップと、
    上書きおよび消去されたSDS2(i,j)の各インタリーブを組み合わせてSDS1(i)を形成するステップであって、ここでSDS1(i)は反復iに対する第2の算出SDSである、ステップと、
    SDS1(i)のすべての行がC1コードワードのみを含み、かつSDS1(i)のすべての列がC2コードワードのみを含むときに前記方法を停止して、復号されたSDSであるSDS1(i)を出力するステップと、
    反復カウンタiを1だけ増分するステップと、
    前記反復の最大数が到達され、かつすべての行がC1コードワードでないか、もしくはすべての列がC2コードワードでないか、またはその両方であるときに、前記ヘッダ付SDSが適切に復号され得ないという表示を出力するステップと
    を含む、方法。
  18. 前記ヘッダ付SDSの前記ヘッダはC1符号化によって保護され、前記ヘッダ付SDSのデータはC1符号化およびC2符号化によって保護される、請求項17に記載の方法。
  19. ヘッダ付サブ・データ・セット(SDS)を復号するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、ともに具現化されるプログラム・コードを有するコンピュータ読取り可能記憶媒体を含み、前記プログラム・コードはテープ・ドライブによって読取り可能/実行可能であることによって、
    前記テープ・ドライブによって、不均一誤り保護によって保護されるヘッダ付SDSを受信することであって、前記ヘッダ付SDSのヘッダは1レベルの誤り訂正コード(ECC)によって保護され、前記ヘッダ付SDSのデータは2レベルのECCによって保護される、受信することと、
    前記テープ・ドライブによって、前記ヘッダ付SDSからヘッダを復号し、かつC1行パリティから前記ヘッダの影響を除去してSDSを得ることと、
    予め定められた数以下の反復に対して、
    前記テープ・ドライブによって前記SDSに対するC2列復号を行うことと、
    前記SDSの各行におけるある数以下のインタリーブに対して、
    前記テープ・ドライブによって前記SDSのある数の列を復号成功したC2コードワードで上書きすることと、
    前記テープ・ドライブによって前記SDSのある数のC2コードワードを消去することと、
    前記テープ・ドライブによって前記SDSの残りの列を未訂正のまま維持することと、
    前記テープ・ドライブによって前記SDSに対してC1行復号を行うことと、
    前記SDSの各行におけるある数以下のインタリーブに対して、
    前記テープ・ドライブによって前記SDSのある数の行を復号成功したC1コードワードで上書きすることと、
    前記テープ・ドライブによって前記SDSのある数のC1コードワードを消去することと、
    前記テープ・ドライブによって前記SDSの残りの行を未訂正のまま維持することと、
    前記SDSのすべての行がC1コードワードのみを含み、かつ前記SDSのすべての列がC2コードワードのみを含むときに、前記テープ・ドライブによって前記SDSを出力し、そうでないときには前記SDSが適切に復号され得ないという表示を出力することと
    を行わせる、コンピュータ・プログラム製品。
  20. 前記プログラム・コードはさらに、
    前記ヘッダに対して誤りチェックを行うことと、
    前記ヘッダが前記誤りチェックに失敗したときに、前記ヘッダに関連する行パリティを前記SDSから消去して、C1行パリティが未知であることを示すことと
    を前記テープ・ドライブに行わせる、請求項19に記載のコンピュータ・プログラム製品。
  21. 前記ヘッダ付SDSの前記ヘッダはC1符号化によって保護され、前記ヘッダ付SDSのデータはC1符号化およびC2符号化によって保護される、請求項19に記載のコンピュータ・プログラム製品。
  22. 前記プログラム・コードはさらに、iが反復カウンタであり、jが行における現在のインタリーブであるときに、0≦E2(i,j)≦U2(i,j)かつ0≦E2(i,j)≦(N1−K1)となるように第1のパラメータE2(i,j)を選択することを前記テープ・ドライブに行わせ、ここでU2(i,j)は前記現在のインタリーブjにおける訂正不可能なC2コードワードの数であり、N1はC1コードワードにおけるシンボルの総数であり、K1はC1コードワードにおけるデータ・シンボルの数である、請求項19に記載のコンピュータ・プログラム製品。
  23. 所与の反復および所与のインタリーブにおいて上書きされる前記SDSの前記列の数はN1−U2(i,j)列であり、消去される前記C2コードワードの数はE2(i,j)C2コードワードである、請求項22に記載のコンピュータ・プログラム製品。
  24. 前記プログラム・コードはさらに、iが反復カウンタであり、jが行における現在のインタリーブであるときに、0≦E1(i,j)≦U1(i,j)かつ0≦E1(i,j)≦(N2−K2)となるように第2のパラメータE1(i,j)を選択することを前記テープ・ドライブに行わせ、ここでU1(i,j)は前記現在のインタリーブjにおける訂正不可能なC1コードワードの数であり、N2は列におけるシンボルの総数であり、K2は列におけるデータ・シンボルの数である、請求項19に記載のコンピュータ・プログラム製品。
  25. 所与の反復および所与のインタリーブにおいて上書きされる前記SDSの前記C1コードワードの数はN2−U1(i,j)C1コードワードであり、消去される前記C1コードワードの数はE1(i,j)C1コードワードである、請求項24に記載のコンピュータ・プログラム製品。
JP2015551231A 2013-01-03 2013-12-17 不均一誤り保護を備えたヘッダ付サブ・データ・セットを復号するためのシステム、方法、及びプログラム Active JP6388599B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/733,847 2013-01-03
US13/733,847 US8869011B2 (en) 2013-01-03 2013-01-03 Unequal error protection scheme for headerized sub data sets
PCT/IB2013/061025 WO2014106787A1 (en) 2013-01-03 2013-12-17 Unequal error protection scheme for headerized sub data sets

Publications (2)

Publication Number Publication Date
JP2016503938A true JP2016503938A (ja) 2016-02-08
JP6388599B2 JP6388599B2 (ja) 2018-09-12

Family

ID=51018784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015551231A Active JP6388599B2 (ja) 2013-01-03 2013-12-17 不均一誤り保護を備えたヘッダ付サブ・データ・セットを復号するためのシステム、方法、及びプログラム

Country Status (4)

Country Link
US (2) US8869011B2 (ja)
JP (1) JP6388599B2 (ja)
GB (1) GB2524426A (ja)
WO (1) WO2014106787A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018097908A (ja) * 2016-12-15 2018-06-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ・ドライブ、方法、およびプログラム
JP2021508138A (ja) * 2017-12-19 2021-02-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 順次記憶媒体へのデータ・オブジェクト書き換えのためのシステム、方法およびコンピュータ・プログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869011B2 (en) * 2013-01-03 2014-10-21 International Business Machines Corporation Unequal error protection scheme for headerized sub data sets
US9064541B2 (en) 2013-08-26 2015-06-23 International Business Machines Corporation Tape header format having efficient and robust codeword interleave designation (CWID) protection
US9407394B2 (en) * 2014-02-03 2016-08-02 Valens Semiconductor Ltd. Frequent flow control by replacing certain idle words with bitwise complement words
KR20160046467A (ko) * 2014-10-21 2016-04-29 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템, 데이터 저장 시스템 및 그것의 동작 방법
US9712188B2 (en) 2015-05-04 2017-07-18 International Business Machines Corporation Decoding data stored with three orthogonal codewords
US9606868B2 (en) 2015-05-04 2017-03-28 International Business Machines Corporation Encoding and writing of data on multitrack tape
US11216196B2 (en) * 2018-05-24 2022-01-04 Quantum Corporation Erasure coding magnetic tapes for minimum latency and adaptive parity protection feedback
US10937453B1 (en) * 2020-03-26 2021-03-02 International Business Machines Corporation Magnetic tape device capable of selecting codeword rewrite based on determined threshold
US11967342B2 (en) 2022-09-14 2024-04-23 International Business Machines Corporation Header decoding mechanism for tape storage

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0193933A (ja) * 1987-10-06 1989-04-12 Sony Corp エラー訂正符号化装置
JP2000215619A (ja) * 1999-01-26 2000-08-04 Matsushita Electric Ind Co Ltd デ―タ誤り訂正装置
JP2002509331A (ja) * 1998-01-16 2002-03-26 ヒューレット・パッカード・カンパニー エラー訂正コードを含む磁気媒体上へのデータの格納のための方法及び装置
JP2013543159A (ja) * 2010-12-01 2013-11-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 統合されたデータおよびヘッダ保護を含むコード化データをデコードするための方法および磁気テープ・ドライブ(統合されたデータおよびヘッダ保護を含むコード化データのデコード)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
US5991911A (en) * 1997-11-14 1999-11-23 Cirrus Logic, Inc. Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
US6484283B2 (en) * 1998-12-30 2002-11-19 International Business Machines Corporation Method and apparatus for encoding and decoding a turbo code in an integrated modem system
EP1067547A1 (en) * 1999-06-28 2001-01-10 Hewlett-Packard Company Data set recovery by codeword overlay
EP1146650A1 (en) * 2000-04-10 2001-10-17 Hewlett-Packard Company, A Delaware Corporation Error detection for data storage and transmission
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US7876516B2 (en) 2009-01-09 2011-01-25 International Business Machines Corporation Rewrite-efficient ECC/interleaving for multi-track recording on magnetic tape
US8144414B2 (en) * 2009-03-11 2012-03-27 International Business Machines Corporation Data interleaving in tape drives
US8479079B2 (en) 2010-04-09 2013-07-02 International Business Machines Corporation Integrated data and header protection for tape drives
US8869011B2 (en) 2013-01-03 2014-10-21 International Business Machines Corporation Unequal error protection scheme for headerized sub data sets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0193933A (ja) * 1987-10-06 1989-04-12 Sony Corp エラー訂正符号化装置
JP2002509331A (ja) * 1998-01-16 2002-03-26 ヒューレット・パッカード・カンパニー エラー訂正コードを含む磁気媒体上へのデータの格納のための方法及び装置
JP2000215619A (ja) * 1999-01-26 2000-08-04 Matsushita Electric Ind Co Ltd デ―タ誤り訂正装置
JP2013543159A (ja) * 2010-12-01 2013-11-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 統合されたデータおよびヘッダ保護を含むコード化データをデコードするための方法および磁気テープ・ドライブ(統合されたデータおよびヘッダ保護を含むコード化データのデコード)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018097908A (ja) * 2016-12-15 2018-06-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ・ドライブ、方法、およびプログラム
JP7062423B2 (ja) 2016-12-15 2022-05-06 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ・ドライブ、方法、およびプログラム
JP2021508138A (ja) * 2017-12-19 2021-02-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 順次記憶媒体へのデータ・オブジェクト書き換えのためのシステム、方法およびコンピュータ・プログラム

Also Published As

Publication number Publication date
JP6388599B2 (ja) 2018-09-12
US20140380118A1 (en) 2014-12-25
US8869011B2 (en) 2014-10-21
US20140189461A1 (en) 2014-07-03
GB201511838D0 (en) 2015-08-19
WO2014106787A1 (en) 2014-07-10
GB2524426A (en) 2015-09-23
US9542265B2 (en) 2017-01-10

Similar Documents

Publication Publication Date Title
JP6388599B2 (ja) 不均一誤り保護を備えたヘッダ付サブ・データ・セットを復号するためのシステム、方法、及びプログラム
US9455749B2 (en) Combination error and erasure decoding for product codes
US9985658B2 (en) Decoding of product codes
US8910012B2 (en) Block-interleaved and error correction code (ECC)-encoded sub data set (SDS) format
US9251846B2 (en) Tape header protection scheme for use in a tape storage subsystem
US9564171B2 (en) Reconstructive error recovery procedure (ERP) using reserved buffer
US9666225B2 (en) Efficient recovery of the codeword interleave address
CN108370252B (zh) 对乘积码诊断的后解码错误检查
US10824346B2 (en) Logical format utilizing lateral encoding of data for storage on magnetic tape
KR20130112897A (ko) 통합된 데이터 및 헤더 보호를 포함하는 인코드된 데이터의 디코딩
US20170315862A1 (en) Detection of multiple bit errors in random access memories
US10120599B2 (en) Low latency lateral decoding of data for retrieval from magnetic tape
US9477552B1 (en) Priority-based decoding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180814

R150 Certificate of patent or registration of utility model

Ref document number: 6388599

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150