JPWO2006132331A1 - 誤りを訂正するための装置、方法、及びプログラム - Google Patents

誤りを訂正するための装置、方法、及びプログラム Download PDF

Info

Publication number
JPWO2006132331A1
JPWO2006132331A1 JP2007520168A JP2007520168A JPWO2006132331A1 JP WO2006132331 A1 JPWO2006132331 A1 JP WO2006132331A1 JP 2007520168 A JP2007520168 A JP 2007520168A JP 2007520168 A JP2007520168 A JP 2007520168A JP WO2006132331 A1 JPWO2006132331 A1 JP WO2006132331A1
Authority
JP
Japan
Prior art keywords
correction
code
partial
sequence
error
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
JP2007520168A
Other languages
English (en)
Other versions
JP4939409B2 (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
Priority to JP2007520168A priority Critical patent/JP4939409B2/ja
Publication of JPWO2006132331A1 publication Critical patent/JPWO2006132331A1/ja
Application granted granted Critical
Publication of JP4939409B2 publication Critical patent/JP4939409B2/ja
Expired - Fee Related 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/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
    • 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/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

【課題】 ランダムエラーに対し高い訂正能力を選択しても、検出能力を超える長さのバーストエラーに対する誤訂正の確率が上昇しないようにする。【解決手段】 行方向のC1符号と列方向のC2符号とからなる積符号ブロックにおける誤りを訂正するための装置を提供する。まず、C1デコーダが、C1符号における偶数番目のバイトからなる偶数C1と、C1符号における奇数番目のバイトからなる奇数C1の各々に対しC1訂正を行う。例えば、C1符号の最小ハミング距離を7とすると、C1訂正は、3バイト訂正まで行われる。次に、C2デコーダは、偶数C1及び奇数C1に対するC1訂正の結果のいずれかが訂正不能の場合、一方が3バイト訂正で他方が訂正不能又は3バイト訂正の場合に、C2訂正で消失訂正を行う。

Description

本発明は、磁気テープ等の記録媒体から読み出したデータの誤りを訂正するための装置等に関し、より詳しくは、積符号ブロックを用いてデータの誤りを訂正するための装置等に関する。
記録媒体に対しデータの書込みや読出しを行うデータ記録再生装置では、データの誤りにより重大な障害を発生させないよう、誤りの検出や訂正を行うのが一般的である。特に、近年、データの信頼性向上や、データ記録の高密度化の観点から、積符号による誤り訂正が広く行われている。
ここで、積符号は、ユーザデータを行列状に配置し、行方向及び列方向にパリティ符号を配置することにより構成される行列状の符号と定義することができる。また、通常、積符号は、行方向のC1符号と、列方向のC2符号とから構成されている。そして、C1符号には、その誤りを訂正するためのパリティ符号であるC1パリティが含まれ、C2符号には、その誤りを訂正するためのパリティ符号であるC2パリティが含まれる。このような積符号において、実際の誤り訂正は、C1パリティによるC1符号の訂正(C1訂正)、C2パリティによるC2符号の訂正(C2訂正)の順に行われる。かかる訂正方法により、C1訂正で訂正不能な行はC2訂正で消失訂正により訂正することができるので、多くの誤りを訂正することが可能となる。
尚、このような積符号の訂正方法としては、従来から多くの手法が提案されている(例
えば、特許文献1、2参照)。
特開平11−203615号公報(第5−7頁、第2図) 特開平11−203797号公報(第8、9頁、第2図)
ところで、近年、データ記録再生装置の大容量化により、ランダムエラーの発生率は上昇する傾向にある。このようなランダムエラーの発生率の上昇に対しては、積符号において、より高いC1訂正能力を選択することにより対処するのが一般的である。
しかし、発生し得るエラーには、このようなランダムエラーばかりでなく、記録媒体上のキズやヘッドの不具合等に起因して連続的に生ずるバーストエラーもある。ランダムエラーのみを考慮して高いC1訂正能力を選択した場合、検出能力を超える長さのバーストエラーについては誤訂正の確率が上昇してしまうという問題もある。
この問題を、LTO(Linear Tape-Open)テープドライブにおける誤り訂正方法を例にとって説明する。尚、LTOとは、IBM、ヒューレットパッカード、シーゲイトテクノロジ(現カンタム)の3社が共同で策定したテープフォーマットの規格である。
一般に、誤り訂正符号は、最小ハミング距離dminに対し、
dmin≧2t+d+1
の関係を満たすtバイトの誤りを訂正し、かつ、t+dバイトの誤りを検出することができる。
そこで、従来のLTOテープドライブにおける誤り訂正方法では、まず、C1符号の最小ハミング距離dmin=7とし、検出能力を高めるため、t=2(2バイトの誤りを訂
正可能)、かつ、d=2(4バイトの誤りを検出可能)という配分を採用していた。そして
、3バイト以上の誤りを検出したり、訂正不能だったC1符号に対してC2符号では消失訂正を行ったりしていた。
ところが、C1符号について、訂正能力を高めるため、t=3(3バイトの誤りを訂正
可能)とすると、d=0(3バイトの誤りを検出可能)となる。即ち、2バイトの誤りを訂
正可能とした場合に比べて、誤り訂正能力は高くなるものの、誤り検出能力は低くなってしまう。その結果、誤訂正確率が上昇することになる。かかる誤訂正確率の上昇は、C2符号の訂正能力を消費するバーストエラーに対して問題になる。即ち、C1符号の誤訂正確率の上昇は、C2符号に伝播し、C2符号の誤訂正確率も上昇する。C2符号で誤訂正が発生した場合、誤訂正であることが認識されずにデータがホストに送信されてしまうため、障害が発生することになる。誤訂正により障害が発生する確率の上昇は避けなければならないため、このまま3バイト訂正を選択するのは実用上問題がある。
ここで、特許文献1、2の発明について考察すると、これらはいずれも、ヘッドがトラックからはずれる問題を対象とし、テープ上の同一のC1符号を2つのヘッドで読み込んでこれらを比較し、例えば訂正可能な方を採用することにより、誤訂正確率を低減するものである。つまり、ランダムエラーの訂正能力を高めた場合のバーストエラーの誤訂正確率の上昇に対しては何の解決策も提示していない。結局、特許文献1、2では、このようなバーストエラーに対する誤訂正確率を低減することはできないという問題点があった。
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、ランダムエラーに対し高い訂正能力を選択しても、検出能力を超える長さのバーストエラーに対する誤訂正の確率が上昇しないようにすることにある。
かかる目的のもと、本発明では、対をなす2つのバイト列に対する第1の訂正の結果の両方を参照し、その訂正の度合いに応じて第2の訂正を行うようにした。即ち、本発明の第1の装置は、第1の方向の第1のバイト列と第2の方向の第2のバイト列とを含む積符号ブロックにおける誤りを訂正するための装置であり、第1のバイト列における偶数番目のバイトからなる第1の部分列と、第1のバイト列における奇数番目のバイトからなる第2の部分列の各々における誤りを訂正する第1のデコーダと、第1の部分列における訂正の第1の度合いと、第2の部分列における訂正の第2の度合いとの組み合わせに応じて、第2のバイト列を訂正する第2のデコーダとを含んでいる。
また、本発明は、符号列を構成する複数の部分列に対する第1の訂正の結果を参照し、その訂正の度合いの組み合わせに応じて第2の訂正を行うものとして捉えることもできる。その場合、本発明の第2の装置は、第1の方向の第1の符号列と第2の方向の第2の符号列とを含む積符号ブロックにおける誤りを訂正するための装置であり、第1の符号列を構成する複数の部分列の各々における誤りを訂正する第1のデコーダと、複数の部分列における訂正度合いの組み合わせに応じて、第2の符号列を訂正する第2のデコーダとを含んでいる。
また、本発明は、符号列を構成する複数の部分列に対する訂正の結果を参照し、その訂正の度合いの組み合わせに応じて誤訂正だったかどうかを判定する方法として捉えることもできる。その場合、本発明の方法は、第1の方向の第1の符号列と第2の方向の第2の符号列とを含む積符号ブロックにおける誤りを認識するための方法であり、第1の符号列を構成する複数の部分列の各々における誤りを訂正するステップと、複数の部分列における訂正度合いを記憶するステップと、複数の部分列のうちの一の部分列について記憶された訂正度合いが所定のレベル以上である場合に、複数の部分列のうちの他の部分列について記憶された訂正度合いを参照することにより、第1の符号列が誤って訂正されたかどうかを判定するステップとを含んでいる。
ここで、誤訂正だったと判定した行に対し消失訂正を行うことも可能である。即ち、第1の符号列が誤って訂正されたと判定された場合に、その第1の符号列の位置を消失位置とした上で、第2の符号列を訂正するステップを更に含むように構成することもできる。
一方、本発明は、コンピュータに所定の機能を実現させるプログラムとして捉えることもできる。その場合、本発明のプログラムは、第1の方向の第1の符号列と第2の方向の第2の符号列とを含む積符号ブロックにおける誤りをコンピュータに認識させるプログラムであり、コンピュータに、第1の符号列を構成する複数の部分列の各々における誤りを訂正する処理と、複数の部分列のうちの一の部分列における訂正度合いが所定のレベル以上である場合に、複数の部分列のうちの他の部分列における訂正度合いを参照することにより、第1の符号列が誤って訂正されたかどうかを判定する処理とを実行させるためのものである。
本発明によれば、ランダムエラーに対し高い訂正能力を選択しても、検出能力を超える長さのバーストエラーに対する誤訂正の確率が上昇しないようにすることができる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態
」という)について詳細に説明する。
図1は、本実施の形態が適用されるテープドライブ10の構成を示した図である。このテープドライブ10は、リール11及び12に巻かれた1本の磁気テープ13と、ヘッド14と、読込みチャネル15と、SRAMバッファ16と、C1デコーダ17と、DRAMバッファ18と、SRAMバッファ19と、C2デコーダ20と、ホストI/F(インタフェース)21とから構成される。
リール11及び12は、図示しないモータにより駆動され、これらの間に掛け渡された磁気テープ13をヘッド14に対して相対的に移動させることを可能にしている。
ヘッド14は、磁気テープ13へのデータの書込み及び磁気テープ13からのデータの読出しを行う機構である。尚、作図の都合上、ヘッド14は、1つのみを図示しているが、例えば、LTO第1世代/第2世代であれば、8本の書込みヘッド及び8本の読出しヘ
ッドから構成されている。
読込みチャネル15は、ヘッド14が読み込んだデータをSRAMバッファ16に送る。
SRAMバッファ16は、送られたデータを一時的に格納しておくバッファメモリである。C1デコーダ17は、SRAMバッファ16に格納されたデータに対しC1訂正を行う。
DRAMバッファ18は、SRAMバッファ16から転送されたデータを、後述するサブデータセットとして格納するメモリバッファである。
SRAMバッファ19は、DRAMバッファ18に格納されたデータの一部を取り出してC2訂正のために一時的に格納しておくバッファメモリである。C2デコーダ20は、SRAMバッファ19に格納されたデータに対しC2訂正を行う。
ホストI/F21は、C1訂正、C2訂正が完了したデータをホストマシンに対し送信
する。
次に、本実施の形態におけるテープドライブ10の動作について説明する。
まず、磁気テープ13からデータが読み出され、DRAMバッファ18に格納されるまでの処理の流れを説明しておく。
図2に、LTOの第2世代/第1世代のテープフォーマットを示す。
このフォーマットにおいて、テープ上には、ヘッド0〜7に対応するトラック0〜7にCQ(Codeword Quad)0〜7が記録され、これらが、CQセット0を構成している。同様
に、CQセット1〜63も記録されている。
これらのCQ0〜7のそれぞれは、前半分と後半分とに分かれている。そして、CQiの前半分がサブデータセット2iの1行目となり、CQiの後半分がサブデータセット(
2i+1)の1行目となる(i=0,1,…,7)。これをCQセット63まで繰り返す。
即ち、CQセットnから得られる所定のデータをサブデータセットのn行目とすることにより、64行からなる16個のサブデータセットを形成する。
ここで、サブデータセットの構成について、図3を参照して説明する。
LTOテープドライブにおいて、誤り訂正は、サブデータセットを単位として行われる。即ち、この場合の誤り訂正符号は、行方向のC1符号と列方向のC2符号とから構成される積符号である。尚、LTOフォーマットに関する特徴としては、C1符号に、偶数番目のバイトからなる符号(以下、「偶数C1」という)と、奇数番目のバイトからなる符号(以下、「奇数C1」という)の2つがある点が挙げられる。
具体的には、サブデータセットは、行方向に480バイトあるため、240バイトの偶数C1及び奇数C1に分けられる。また、各C1符号には、C1パリティが含まれている。C1パリティは、偶数C1のパリティと奇数C1のパリティとで12バイトであるため、各パリティは6バイトである。つまり、偶数C1については、偶数番目のバイトからなるC1パリティ6バイトによりC1訂正が行われ、奇数C1については、奇数番目のバイトからなるC1パリティ6バイトによりC1訂正が行われるのである。
一方、サブデータセットは、列方向に64バイトあるため、C2符号は64バイトである。また、C2符号には10バイトのC2パリティが含まれている。
次に、図4を参照して、C1訂正の動作について詳細に説明する。尚、ここでは、図2のCQ0〜7の例えば前半分についての処理を説明する。
まず、ヘッド14が、8トラック同時に8行分のデータを読み込み、読込みチャネル15が、このデータをSRAMバッファ16に格納する(ステップ101)。
これにより、C1デコーダ17によるC1訂正の処理が開始する。
LTOの場合、上述したように、C1符号には偶数C1と奇数C1とがあるので、8行分のデータからは、16個のC1符号が得られる。従って、C1デコーダ17は、これら16個のC1符号のシンドロームを計算する(ステップ102)。
次に、C1デコーダ17は、C1符号のシンドロームから誤り位置と値を計算し、SRAMバッファ16に格納されているC1符号を訂正する(ステップ103)。そして、この訂正により、C1符号の何バイトが訂正されたかどうかを判定する(ステップ104)。
その結果、訂正されなかった場合又は1−2バイトが訂正された場合(「0−2バイト
訂正」の場合)は、そのままステップ107へ進む。一方、3バイトが訂正された場合(「3バイト訂正」の場合)は、そのC1符号に3バイト訂正フラグを付加する(ステップ105)。また、訂正できなかった場合(「訂正不能」の場合)は、そのC1符号に訂正不能フ
ラグを付加する(ステップ106)。
その後、C1デコーダ17は、偶数C1と奇数C1のペアを処理したかどうかを判定し(ステップ107)、処理していなければ、ステップ103〜106の処理を繰り返す。これにより、偶数C1、奇数C1のそれぞれに対し、3バイト訂正又は訂正不能であった場合、その旨のフラグが付加されることになる。
このようなサブデータセットに対するフラグの付加について図5を参照して説明する。図示するように、サブデータセットには、行ごとに4つのフラグを付加できるような記憶領域が設けられている。この4つのフラグとは、偶数C1の訂正不能フラグ及び3バイト訂正フラグ、奇数C1の訂正不能フラグ及び3バイト訂正フラグである。これらのフラグは、例えば、初期値が「0」であり、該当するフラグを付加する場合に値が「1」となるように構成される。
さて、再び図4に戻ってC1訂正の動作説明を続ける。ステップ107で偶数C1と奇数C1のペアを処理したと判定すると、この処理した1行分のデータは、SRAMバッファ16からDRAMバッファ18へ転送される(ステップ108)。
そして、最後に、SRAMバッファ16内に未処理のC1符号がないかどうかを判定する(ステップ109)。その結果、未処理のC1符号があれば、ステップ103に戻る。一方、未処理のC1符号がなければ、処理を終了する。
尚、この図4の動作が、上述したように、図2のCQ0〜7の前半分についての処理であるとすると、同様の処理が、CQ0〜7の後半分、及び、CQセット1〜63について行われる。これにより、DRAMバッファ18には、C1訂正が行われ、かつ、必要に応じてフラグが付加されたサブデータセットが格納されることとなる。
以上のC1訂正では、行ごとに、偶数C1、奇数C1に対し別々に訂正を行っている。そして、偶数C1の訂正結果と奇数C1の訂正結果がバーストエラーに対する訂正結果として発生率の高い組合せであれば、例え訂正可能だったとしても誤訂正と判断し、これから述べるC2訂正において、消失訂正を行うようにする。これにより、バーストエラーに対する誤訂正確率を低減できるものである。
本実施の形態におけるC1訂正の結果と、C2訂正で消失訂正を行うかどうかの対応情報を、図6に示す。
勿論、偶数C1と奇数C1のいずれかが訂正不能であれば、C2訂正で消失訂正を行う。これに加え、本実施の形態では、偶数C1と奇数C1の一方が3バイト訂正であった場合に、もう一方の訂正結果に応じて、C2訂正で消失訂正を行うかどうかを決定している。
具体的には、3バイト訂正は、もう一方が訂正不能又は3バイト訂正であれば、誤訂正である可能性が高いと考え、C2訂正で消失訂正を行うようにする(斜線を施した部分)。逆に、同じ3バイト訂正であっても、もう一方が0−2バイト訂正であれば、誤訂正である可能性は低いと考え、3バイト訂正による訂正結果を採用して以降の処理を行うのである。
尚、対応情報に含まれるものではないが、バーストエラーに対するC1訂正の結果の組み合わせごとの発生率を参考までに図6の右欄外に示した。つまり、本実施の形態は、C1訂正の結果の組み合わせのうち、発生率が1%以上であるものについて、C2訂正で消失訂正を行うようにしたものである。
以下、このようなC2訂正の動作について図7を参照して説明する。
まず、図5に示したサブデータセットのフラグ部分が、DRAMバッファ18からSRAMバッファ19へ転送される(ステップ201)。これにより、C2デコーダ20は、訂正不能フラグが付加されたC1符号の位置(消失位置)を記憶する(ステップ202)。また、3バイト訂正フラグが付加されたC1符号と、訂正不能フラグ又は3バイト訂正フラグが付加されたC1符号とを含む行の位置(消失位置)を記憶する(ステップ203)。
次に、サブデータセットのデータ部分が、DRAMバッファ18からSRAMバッファ19へ転送される(ステップ204)。SRAMバッファ19は、DRAMバッファ18に比べて容量が少ないため、サブデータセットのデータ部分は何列かに分けてSRAMバッファ19に転送され、C2デコーダ20は、SRAMバッファ19に格納された何列かの列ごとに、ステップ205〜209の処理を行う。
即ち、まず、C2デコーダ20は、C2符号のシンドロームを計算する(ステップ20
5)。また、ステップ202又は203で消失位置が記憶されたかどうかを判定する(ステップ206)。
その結果、消失位置が記憶されたと判定された場合は、消失位置とシンドロームから誤り位置と値を計算し、SRAMバッファ19に格納されたC2符号を訂正する(ステップ
207)。より詳しくは、消失位置から消失位置多項式を求め、この消失位置多項式とシ
ンドロームから誤り位置と値を計算し、C2符号を訂正する。一方、消失位置が記憶されなかったと判定された場合は、シンドロームから誤り位置と値を計算し、SRAMバッファ19に格納されたC2符号を訂正する(ステップ208)。
即ち、消失位置がある場合は、ランダムエラーだけでなくバーストエラーをも視野に入れた誤り訂正を行い、消失位置がない場合は、ランダムエラーのみを視野に入れた誤り訂正を行っているのである。尚、図には示していないが、ここで訂正不能と判定された場合は、訂正せずにテープドライブ10の図示しない制御部に対しエラーを報告する。その後、制御部による制御の下、テープドライブ10は、エラー回復処理を行い、回復できなければホストマシンにエラーを報告する。
次に、C2デコーダ20は、SRAMバッファ19内に未処理のC2符号がないかどうかを判定する(ステップ209)。その結果、未処理のC2符号があれば、ステップ205に戻る。一方、未処理のC2符号がなければ、SRAMバッファ19からDRAMバッファ18へ処理済のC2符号を書き戻す(ステップ210)。
その後、DRAMバッファ18内に未処理のC2符号がないかどうかを判定する(ステ
ップ211)。その結果、未処理のC2符号があれば、ステップ204に戻る。一方、未
処理のC2符号がなければ、処理を終了する。
そして、最後に、DRAMバッファ18内のデータは、ホストI/F21を介してホス
トマシンに送信される。
以上により、本実施の形態の動作は終了する。
尚、本実施の形態では、行方向のC1符号についてC1訂正を行い、その後、列方向のC2符号についてC2訂正を行うこととしたが、このような構成に限られるものではない。即ち、第1の訂正の対象となる符号列と、第2の訂正の対象となる符号列とは、必ずしも行方向、列方向である必要はなく、いかなる方向であっても構わない。
また、本実施の形態では、最小ハミング距離dmin=7を前提としたため、訂正結果として、「0−2バイト訂正」、「3バイト訂正」、「訂正不能」を考え、図6に示したような対応関係に従った動作を行うようにしたが、これに限られるものではない。即ち、所定のレベル以上の訂正を、対をなす符号列に対する訂正の度合が所定のレベル以上又は訂正不能である場合に、誤訂正として扱うものと捉えることもできる。
更に、本実施の形態では、一方の符号列を、偶数番目、奇数番目という基準により2つの部分列に分けて、それぞれについて第1の訂正を行うようにした。しかしながら、必ずしも偶数番目、奇数番目という基準で2つの部分列に分ける必要はなく、また、部分列の数も2つには限られない。即ち、1つの符号列を複数の部分列に分け、これら複数の部分列のそれぞれに対し第1の訂正を行い、その訂正の結果の組み合わせに応じて第2の訂正を行うような構成としてもよい。
以上述べたように、本実施の形態では、対をなす2つのC1訂正の結果の参照することにより、誤訂正だったかどうかを判断するようにした。そして、この判断結果で誤訂正だった行に対しC2訂正で消失訂正を行うようにした。これにより、ランダムエラーに対し高い訂正能力を選択しても、バーストエラーに対する誤訂正の確率が上昇しないようにすることができる。
次に、本発明による効果を、グラフを用いて説明する。
図8は、バーストエラーの発生率とC2訂正における誤訂正確率との関係を示したグラフである。
図8(a)では、従来の方式を採用した場合について示している。このグラフからは、C1訂正で2バイト訂正の場合よりも3バイト訂正の場合の方が、C2訂正で誤訂正を生じる確率が高いことが分かる。
一方、図8(b)では、本発明の方式を採用した場合について示している。C1訂正で3バイト訂正の場合の誤訂正確率が、2バイト訂正の場合の誤訂正確率よりわずかに上昇したものの、これらはほぼ同等となっていることが分かる。
また、図9は、ランダムエラーの発生率と訂正不能の発生率との関係を示したグラフである。
図9(a)では、2バイト訂正を行った場合よりも3バイト訂正を行った方が、訂正不能が発生する確率を低減することを示している。
一方、図9(b)では、本発明のように3バイト訂正を一定の条件の下に消失訂正したとしても、ランダムエラーに対する訂正不能の発生率の低減効果は同等であることを示している。
本発明の実施の形態が適用されるテープドライブの全体構成を示したブロック図である。 本発明の実施の形態における磁気テープからのデータの読出しの様子を説明するための図である。 本発明の実施の形態におけるサブデータセットの構造を説明するための図である。 本発明の実施の形態におけるC1訂正の動作を示したフローチャートである。 本発明の実施の形態におけるサブデータセットに対するフラグの付加について説明するための図である。 本発明の実施の形態におけるC1訂正の結果とC2訂正で消失訂正を行うかどうかとの対応を示した図である。 本発明の実施の形態におけるC2訂正の動作を示したフローチャートである。 バーストエラーに対する誤訂正確率が本実施の形態によって低減されることを示したグラフである。 ランダムエラーの訂正不能が発生する確率が本実施の形態によって影響されないことを示したグラフである。
符号の説明
10…テープドライブ、11,12…リール、13…磁気テープ、14…ヘッド、15…読込みチャネル、16…SRAMバッファ、17…C1デコーダ、18…DRAMバッファ、19…SRAMバッファ、20…C2デコーダ、21…ホストI/F

Claims (20)

  1. 第1の方向の第1のバイト列と第2の方向の第2のバイト列とを含む積符号ブロックにおける誤りを訂正するための装置であって、
    前記第1のバイト列における偶数番目のバイトからなる第1の部分列と、前記第1のバイト列における奇数番目のバイトからなる第2の部分列の各々における誤りを訂正する第1のデコーダと、
    前記第1の部分列における訂正の第1の度合いと、前記第2の部分列における訂正の第2の度合いとの組み合わせに応じて、前記第2のバイト列を訂正する第2のデコーダと
    を含む、装置。
  2. 前記第2のデコーダは、前記第1の度合いと前記第2の度合いのうち、一方が所定のレベル以上であり、他方が訂正不能である場合に、前記第1のバイト列の位置を消失位置とした上で、前記第2のバイト列を訂正する、請求項1記載の装置。
  3. 前記第1のバイト列の最小ハミング距離は7であり、前記所定のレベルは3バイト訂正である、請求項2記載の装置。
  4. 前記第2のデコーダは、前記第1の度合いと前記第2の度合いのうち、一方が第1のレベル以上であり、他方が第2のレベル以上である場合に、前記第1のバイト列の位置を消失位置とした上で、前記第2のバイト列を訂正する、請求項1記載の装置。
  5. 前記第1のバイト列の最小ハミング距離は7であり、前記第1のレベル及び前記第2のレベルはいずれも3バイト訂正である、請求項4記載の装置。
  6. テープ媒体に記録されたデータを読み出すヘッドと、
    前記ヘッドにより読み出されたデータをメモリ上の所定の位置に配置することにより、前記積符号ブロックを生成する読込みチャネルと
    を更に含む、請求項1記載の装置。
  7. 第1の方向の第1の符号列と第2の方向の第2の符号列とを含む積符号ブロックにおける誤りを訂正するための装置であって、
    前記第1の符号列を構成する複数の部分列の各々における誤りを訂正する第1のデコーダと、
    前記複数の部分列における訂正度合いの組み合わせに応じて、前記第2の符号列を訂正する第2のデコーダと
    を含む、装置。
  8. 前記第2のデコーダは、前記複数の部分列のうちの一の部分列における訂正度合いが所定のレベル以上である場合に、他の部分列における訂正度合いが訂正不能であれば、前記第1の符号列の位置を消失位置とした上で、前記第2の符号列を訂正する、請求項7記載の装置。
  9. 前記第2のデコーダは、前記複数の部分列のうちの一の部分列における訂正度合いが所定のレベル以上である場合に、他の部分列における訂正度合いも当該レベル以上であれば、前記第1の符号列の位置を消失位置とした上で、前記第2の符号列を訂正する、請求項7記載の装置。
  10. 前記複数の部分列の各々は、前記第1の符号列に散在する断片を集めて構成される、請求項7記載の装置。
  11. 第1の方向の第1の符号列と第2の方向の第2の符号列とを含む積符号ブロックにおける誤訂正を認識する方法であって、
    前記第1の符号列を構成する複数の部分列の各々における誤りを訂正するステップと、 前記複数の部分列における訂正度合いを記憶するステップと、
    前記複数の部分列のうちの一の部分列について記憶された訂正度合いが所定のレベル以上である場合に、前記複数の部分列のうちの他の部分列について記憶された訂正度合いを参照することにより、前記第1の符号列が誤って訂正されたかどうかを判定するステップと
    を含む、方法。
  12. 前記判定するステップでは、前記他の部分列について記憶された訂正度合いが訂正不能である場合に、前記第1の符号列が誤って訂正されたと判定する、請求項11記載の方法。
  13. 前記判定するステップでは、前記他の部分列について記憶された訂正度合いが前記所定のレベル以上である場合に、前記第1の符号列が誤って訂正されたと判定する、請求項11記載の方法。
  14. 前記複数の部分列の各々は、前記第1の符号列に散在する断片を集めて構成される、請求項11記載の方法。
  15. 前記第1の符号列が誤って訂正されたと判定された場合に、当該第1の符号列の位置を消失位置とした上で、前記第2の符号列を訂正するステップを更に含む、請求項11記載の方法。
  16. 第1の方向の第1の符号列と第2の方向の第2の符号列とを含む積符号ブロックにおける誤りをコンピュータに認識させるプログラムであって、
    前記コンピュータに、
    前記第1の符号列を構成する複数の部分列の各々における誤りを訂正する処理と、
    前記複数の部分列のうちの一の部分列における訂正度合いが所定のレベル以上である場合に、前記複数の部分列のうちの他の部分列における訂正度合いを参照することにより、前記第1の符号列が誤って訂正されたかどうかを判定する処理と
    を実行させる、プログラム。
  17. 前記判定する処理では、前記他の部分列における訂正度合いが訂正不能である場合に、前記第1の符号列が誤って訂正されたと判定する、請求項16記載のプログラム。
  18. 前記判定する処理では、前記他の部分列における訂正度合いが前記所定のレベル以上である場合に、前記第1の符号列が誤って訂正されたと判定する、請求項16記載のプログラム。
  19. 前記複数の部分列の各々は、前記第1の符号列に散在する断片を集めて構成される、請求項16記載のプログラム。
  20. 前記第1の符号列が誤って訂正されたと判定された場合に、当該第1の符号列の位置を消失位置とした上で、前記第2の符号列を訂正する処理を更に前記コンピュータに実行させる、請求項16記載のプログラム。
JP2007520168A 2005-06-10 2006-06-08 誤りを訂正するための装置、方法、及びプログラム Expired - Fee Related JP4939409B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007520168A JP4939409B2 (ja) 2005-06-10 2006-06-08 誤りを訂正するための装置、方法、及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005170324 2005-06-10
JP2005170324 2005-06-10
PCT/JP2006/311553 WO2006132331A1 (ja) 2005-06-10 2006-06-08 誤りを訂正するための装置、方法、及びプログラム
JP2007520168A JP4939409B2 (ja) 2005-06-10 2006-06-08 誤りを訂正するための装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2006132331A1 true JPWO2006132331A1 (ja) 2009-01-08
JP4939409B2 JP4939409B2 (ja) 2012-05-23

Family

ID=37498527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007520168A Expired - Fee Related JP4939409B2 (ja) 2005-06-10 2006-06-08 誤りを訂正するための装置、方法、及びプログラム

Country Status (5)

Country Link
US (1) US8108752B2 (ja)
EP (1) EP1901294A4 (ja)
JP (1) JP4939409B2 (ja)
CN (1) CN101228583B (ja)
WO (1) WO2006132331A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8196019B2 (en) 2007-01-30 2012-06-05 International Business Machines Corporation Error correction in codeword pair headers in a data storage tape format
US8276045B2 (en) * 2009-01-09 2012-09-25 International Business Machines Corporation ECC interleaving for multi-track recording on magnetic tape
US8793552B2 (en) 2012-11-14 2014-07-29 International Business Machines Corporation Reconstructive error recovery procedure (ERP) for multiple data sets using reserved buffer
US9053748B2 (en) 2012-11-14 2015-06-09 International Business Machines Corporation Reconstructive error recovery procedure (ERP) using reserved buffer
US8810944B1 (en) 2013-07-16 2014-08-19 International Business Machines Corporation Dynamic buffer size switching for burst errors encountered while reading a magnetic tape
US9166627B2 (en) 2013-08-07 2015-10-20 International Business Machines Corporation Combination error and erasure decoding for product codes
US9582360B2 (en) 2014-01-07 2017-02-28 International Business Machines Corporation Single and multi-cut and paste (C/P) reconstructive error recovery procedure (ERP) using history of error correction
US9141478B2 (en) * 2014-01-07 2015-09-22 International Business Machines Corporation Reconstructive error recovery procedure (ERP) using reserved buffer
CN104575617B (zh) * 2015-01-06 2017-06-27 北京大学 赛道存储位置错误纠正码的编码方法和纠错方法
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
JP2017022651A (ja) * 2015-07-14 2017-01-26 ルネサスエレクトロニクス株式会社 誤り訂正装置、半導体記憶装置、および誤り訂正方法
US9837117B2 (en) * 2015-11-19 2017-12-05 International Business Machines Corporation Track-dependent decoding
US9477552B1 (en) * 2015-11-19 2016-10-25 International Business Machines Corporation Priority-based decoding
JP2018160056A (ja) 2017-03-22 2018-10-11 東芝メモリ株式会社 メモリコントローラ、メモリシステムおよび制御方法
JP6840591B2 (ja) 2017-03-24 2021-03-10 キオクシア株式会社 復号装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09293331A (ja) * 1996-04-26 1997-11-11 Toshiba Corp 記録データ生成方法およびデータ再生装置
JP2004071051A (ja) * 2002-08-06 2004-03-04 Sony Corp 符号化装置および方法、復号化装置および方法、記録装置および方法、再生装置および方法、ならびに、記録再生装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3360630B2 (ja) * 1990-03-15 2002-12-24 松下電器産業株式会社 記録装置及び情報記録方法
JP2638248B2 (ja) * 1990-03-15 1997-08-06 松下電器産業株式会社 光学的情報媒体および再生装置および記録装置および再生方法および記録方法
JPH0512814A (ja) * 1991-07-02 1993-01-22 Nec Corp 誤り訂正回路
JPH087496A (ja) * 1994-06-22 1996-01-12 Sony Corp ディスク記録・再生方法および装置
JPH11203797A (ja) 1998-01-16 1999-07-30 Sony Corp ディジタルデータ再生装置及びディジタルデータ再生方法、並びに提供媒体
JPH11203615A (ja) 1998-01-16 1999-07-30 Sony Corp ディジタルデータ再生装置及びディジタルデータ再生方法、並びに提供媒体
JPH11238204A (ja) 1998-02-19 1999-08-31 Sony Corp 磁気記録装置
JP2000113607A (ja) * 1998-10-02 2000-04-21 Hitachi Ltd 積符号誤り訂正装置および訂正方法
JP4518586B2 (ja) * 1999-01-20 2010-08-04 ソニー株式会社 データ記録装置およびそのリライト決定方法
JP4148626B2 (ja) * 2000-03-28 2008-09-10 株式会社日立製作所 ディジタルデータ再生装置及び再生方法
JP2004281043A (ja) * 2000-09-27 2004-10-07 Victor Co Of Japan Ltd 情報信号処理方法
JP3752995B2 (ja) * 2000-09-27 2006-03-08 日本ビクター株式会社 情報記録再生装置
JP4130534B2 (ja) * 2001-02-07 2008-08-06 株式会社東芝 情報記録媒体、情報記録装置、情報記録方法、情報再生装置、及び情報再生方法
JP3992443B2 (ja) * 2001-02-09 2007-10-17 株式会社日立製作所 符号化方法、復号方法、符号化回路、復号回路、記憶装置、記憶媒体、通信装置
JP4198904B2 (ja) * 2001-06-11 2008-12-17 富士通株式会社 記録再生装置、信号復号回路、エラー訂正方法、及び反復型復号器
JP4078918B2 (ja) * 2002-08-06 2008-04-23 ソニー株式会社 情報処理装置および方法、プログラム並びに記録媒体
JP2004080508A (ja) * 2002-08-20 2004-03-11 Nec Electronics Corp 誤り訂正符号の復号方法、そのプログラム及びその装置
KR20040021039A (ko) * 2002-09-02 2004-03-10 엘지전자 주식회사 고밀도 광디스크의 에러정정 방법
JP2004146014A (ja) * 2002-10-28 2004-05-20 Hitachi Ltd データ符号化復号化方法及び装置
JP2005293724A (ja) * 2004-03-31 2005-10-20 Sanyo Electric Co Ltd 誤り箇所の検出方法、その方法を利用する誤り検出回路、誤り訂正回路、および再生装置
US7284183B2 (en) * 2004-11-04 2007-10-16 Mediatek Inc. Method and apparatus for decoding multiword information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09293331A (ja) * 1996-04-26 1997-11-11 Toshiba Corp 記録データ生成方法およびデータ再生装置
JP2004071051A (ja) * 2002-08-06 2004-03-04 Sony Corp 符号化装置および方法、復号化装置および方法、記録装置および方法、再生装置および方法、ならびに、記録再生装置

Also Published As

Publication number Publication date
CN101228583A (zh) 2008-07-23
WO2006132331A1 (ja) 2006-12-14
US20080155374A1 (en) 2008-06-26
JP4939409B2 (ja) 2012-05-23
EP1901294A1 (en) 2008-03-19
CN101228583B (zh) 2010-12-08
EP1901294A4 (en) 2009-05-06
US8108752B2 (en) 2012-01-31

Similar Documents

Publication Publication Date Title
JP4939409B2 (ja) 誤りを訂正するための装置、方法、及びプログラム
US8001447B2 (en) Error correction method and apparatus for data storage device
US10110257B2 (en) Reconstructive error recovery procedure (ERP) for multiple data sets using reserved buffer
KR0163566B1 (ko) 에러 정정 방법
US6891690B2 (en) On-drive integrated sector format raid error correction code system and method
US9564171B2 (en) Reconstructive error recovery procedure (ERP) using reserved buffer
JP4261575B2 (ja) 誤り訂正処理装置及び誤り訂正処理方法
US9590660B2 (en) Reconstructive error recovery procedure (ERP) using reserved buffer
US10437674B1 (en) Variable parity sectors
US20170117014A1 (en) Efficient recovery of the codeword interleave address
US20090300466A1 (en) Error correction method and error correction circuit
US20070204188A1 (en) Error correction method and reproduction apparatus
US20070198904A1 (en) Error correction processing apparatus and error correction processing method
KR20060056305A (ko) 리드-솔로몬 프로덕트 코드를 위한 에러 정정 방법
US20170194029A1 (en) Iterative decode and post-decode microcode cut and paste optimization
US10854239B1 (en) Adaptive-rate error correction layer for tape storage
US11960767B2 (en) Outer codes for data storage devices
US11977445B2 (en) Host-level outer codes
US11762731B2 (en) Codeword redundancy
US7774685B2 (en) HDD sector format with reduced vulnerability to defects and burst errors
JPH11353818A (ja) 同期信号補償機能
JP2002008319A (ja) 記録装置及び媒体への記録方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110411

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120112

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120123

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120224

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees