(57)【要約】【課題】記憶装置の誤り訂正技術に関し、誤り訂正能力を向上する。【解決手段】データのシンドローム値を計算し、シンドローム値からエラー訂正するエラー訂正回路（３０，３４，３６，３８）と、本データを読み出し、エラー訂正不可なら、ミラーデータを読み出し、共に、訂正を失敗した時に、本データとミラーデータとの読出しデータを比較して、誤り箇所を特定する回路（４６）と、特定した中から、順次誤り位置と大きさの情報を取り出してシンドローム値を補正する補正回路（４８，５０）と、特定の誤り位置と大きさで、更にデータを補正する補正回路（４０）とを設ける。【選択図】図１
2010152960.tif 000002
【特許請求の範囲】
【請求項１】
同一のデータが、複数個所に記録された記憶媒体のデータを読み出すヘッドと、
前記ヘッドの読み取り信号を復調する復調回路と、
前記復調回路からの読み出しデータのシンドローム値を計算し、前記シンドローム値から誤り位置を特定し、特定した誤り位置の読み出しデータを訂正して、誤り訂正データを出力する誤り訂正回路と、
前記ヘッドの読み出し動作を制御する制御回路とを有し、
前記誤り訂正回路は、
前記シンドローム値を補正する回路と、
前記訂正したデータを補正する回路とを有し、
前記制御回路は、第１の個所のデータを読み出し、前記第１の個所の読み出しデータの前記誤り訂正回路からの誤り訂正の失敗を受け、第２の個所の同一データを読み出し、前記誤り訂正回路で、前記第２の個所の読み出しデータの誤り訂正を行うとともに、前記第２の個所の読み出しデータの前記誤り訂正回路からの誤り訂正の失敗を受け、前記誤り訂正回路に、補正指示し、
前記誤り訂正回路は、前記補正指示に応じて、前記第１の個所と第２の個所の読み出しデータの比較により、誤り箇所を特定し、特定した誤り位置と大きさの情報により、前記シンドローム値を補正して、誤り訂正を行い、前記誤り位置と大きさで、前記誤り訂正されたデータを補正する
ことを特徴する記憶装置。
【請求項２】
前記シンドローム値を補正する回路は、
前記第２の個所の読み出しデータのシンドローム値を補正する
ことを特徴とする請求項１の記憶装置。
【請求項３】
前記誤り訂正回路は、
前記第１の個所と第２の個所の読み出しデータの比較により、前記第２の個所のデータのみの誤り箇所を特定する誤り特定回路を有する
ことを特徴とする請求項１の記憶装置。
【請求項４】
入力されたデータのシンドローム値を計算するシンドローム計算部と、
前記シンドローム値から誤り位置を特定し、特定した誤り位置の読み出しデータを訂正して、誤り訂正データを出力する誤り訂正部と、
前記データと同一のミラーデータを受け、前記両データの比較により、誤り箇所を特定する回路と、
前記特定された誤り箇所の前記シンドローム値を補正する回路と、
前記訂正したデータを補正する回路とを有する
ことを特徴するエラー訂正回路。
【請求項５】
前記誤り訂正回路は、
前記データのシンドローム値を計算する回路と、
前記シンドローム値から誤り位置を特定する解読回路と、
前記特定した誤り位置の読み出しデータを訂正して、誤り訂正データを出力するデータ修正回路とを有する
ことを特徴とする請求項４のエラー訂正回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置や通信装置に使用される誤り訂正符号を含むデータのエラー訂正回路及び記憶装置に関し、特に、ＥＣＣ（Error Correction Code）を付与したデータブロックの誤り訂正のためのエラー訂正回路及び記憶装置に関する。
【背景技術】
【０００２】
磁気ディスク装置等の記憶装置や通信系の分野においては、記録再生過程や、伝送路において生じたデータの誤りを訂正するため、誤り訂正符号（ＥＣＣ：Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）を用いた誤り訂正技術が、広く普及している。
【０００３】
このＥＣＣ符号として、リード・ソロモン（ＲＳ：Ｒｅｅｄ  Ｓｏｌｏｍｏｎ）符号が、利用されている。ＲＳ符号は、記録データに、予めＲＳ符号化を行い、記録再生過程を経て再生されたビット列に対し、ＲＳ復号化を行い、ビット列に含まれる誤りを検出・訂正する。即ち、ＲＳ符号は、シンボル単位の訂正能力に優れており、特に、バースト誤りの検出、訂正能力に優れている。
【０００４】
また、誤り訂正符号技術として、反復復号形式が利用されている。反復復号とＥＣＣとを組み合わせて、誤り検出・訂正能力を向上できる（例えば、特許文献１参照）。
【０００５】
図１６は、従来のＲＳ符号を用いた誤り訂正回路の説明図である。磁気ディスク等の記憶ディスク１００から磁気ヘッド等のリード素子１０２で読み出されたデータ（読み取り信号）は、データ復調回路１１０で、復調される。データ復調回路１１０は、例えば、ＰＲチャネル回路と、反復復号器とで構成される。
【０００６】
エラー訂正回路１３０は、ＥＣＣ復号器で構成される。エラー訂正回路（以下、ＥＣＣ復号器という）１３０は、シンドローム演算回路１２０と、誤り位置解読回路１２２と、誤りの大きさ解読回路１２４と、データ補正回路１２８と、解読エラー判定回路１２６とを備える。
【０００７】
シンドローム演算回路１２０は、データ復調回路１１０の復号器からの復号列を受け、復号列のシンドローム値を計算する。誤り位置解読回路１２２は、計算されたシンドローム値から誤り位置の連立方程式を計算し、誤り位置を特定する。誤りの大きさ解読回路１２４は、計算されたシンドロームから誤りの大きさの連立方程式を計算し、誤りの大きさを解読する。
【０００８】
解読エラー判定回路１２６は、誤り位置解読回路１２２の誤り位置と、誤りの大きさ解読回路１２４の誤りの大きさとから、訂正能力を超えているかを判定し、判定結果を出力する。データ補正回路１２８は、訂正能力を超えていない場合、特定された誤り位置、誤りの大きさにより、データを補正し、誤り訂正データを出力する。
【０００９】
このようなエラー訂正では、例えば、リード・ソロモン（１５，１１）符号では、符号ブロック数ｎが「１５」、情報ブロック数ｋが「１１」、検査ブロック数（ｎ−ｋ）が「４」であり、訂正可能最大シンボル数は、（ｎ−ｋ）／２＝２である。
【特許文献１】特開平１１−３３０９８５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来技術では、読出して誤り訂正できなかった場合、再度、データを読み込んで誤り訂正していた。更に、訂正に失敗した場合には、再度これらを読出し誤り訂正を繰り返すだけであった。
【００１１】
データの誤りが、ランダム性の誤りであれば、再度読み出すことで、位置と個数が変化するため、誤り数が、ＥＣＣの訂正数以下になった場合、データが再現できる。
【００１２】
しかしながら、記録密度上がり、媒体欠陥が無視できなくなると、再度読み出しても、毎回、媒体欠陥箇所で、データを誤る。そして、媒体欠陥による誤りが、ＥＣＣの訂正能力を超えた場合、データが消滅する異常事態になる。通信速度が速くなった場合も同様である。
【００１３】
従って、本発明の目的は、誤り訂正性能を向上するためのエラー訂正回路及び記憶装置を提供することにある。
【００１４】
又、本発明の他の目的は、媒体欠陥に対して、誤り訂正能力を向上するためのエラー訂正回路及び記憶装置を提供することにある。
【課題を解決するための手段】
【００１５】
この目的の達成のため、記憶装置は、同一のデータが、複数個所に記録された記憶媒体と、前記記憶媒体のデータを読み出すヘッドと、前記ヘッドの読み取り信号を復調する復調回路と、前記復調回路からの読み出しデータのシンドローム値を計算し、前記シンドローム値から誤り位置を特定し、特定した誤り位置の読み出しデータを訂正して、誤り訂正データを出力する誤り訂正回路と、前記ヘッドの読み出し動作を制御する制御回路とを有する。
【００１６】
そして、前記誤り訂正回路は、前記シンドローム値を補正する回路と、前記訂正したデータを補正する回路とを有し、前記制御回路は、第１の個所のデータを読み出し、前記第１の個所の読み出しデータの前記誤り訂正回路からの誤り訂正の失敗を受け、第２の個所の同一データを読み出し、前記誤り訂正回路で、前記第２の個所の読み出しデータの誤り訂正を行うとともに、前記第２の個所の読み出しデータの前記誤り訂正回路からの誤り訂正の失敗を受け、前記誤り訂正回路に、補正指示し、前記誤り訂正回路は、前記補正指示に応じて、前記第１の個所と第２の個所の読み出しデータの比較により、誤り箇所を特定し、特定した誤り位置と大きさの情報により、前記シンドローム値を補正して、誤り訂正を行い、前記誤り位置と大きさで、前記誤り訂正されたデータを補正する。
【００１７】
又、エラー訂正回路は、入力されたデータのシンドローム値を計算するシンドローム計算部と、前記シンドローム値から誤り位置を特定し、特定した誤り位置の読み出しデータを訂正して、誤り訂正データを出力する誤り訂正部と、前記データと同一のミラーデータを受け、前記両データの比較により、誤り箇所を特定する回路と、前記特定された誤り箇所の前記シンドローム値を補正する回路と、前記訂正したデータを補正する回路とを有する。
【発明の効果】
【００１８】
本データを読み出し、エラー訂正不可なら、ミラーデータを読み出し、共に、訂正を失敗した時に、本データとミラーデータとの読出しデータを比較して、誤り箇所を特定する。特定した中から、順次誤り位置と大きさの情報を取り出してシンドローム値を補正して、誤り訂正を行う。更に、ＥＣＣで、正常に訂正できた場合に、特定の誤り位置と大きさで、更にデータを補正するため、見掛け上誤り訂正能力が向上する。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を、記憶装置、データ読み出し・訂正、データ読み出し・訂正処理、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
【００２０】
（記憶装置）
図１は、本発明の一実施の形態の記憶装置のブロック図、図２は、図１のデータ形式としてのガロア体の説明図、図３は、図２のガロア体での加算の説明図、図４は、図２のガロア体での乗算の説明図、図５は、図１の誤り位置解読回路の説明図、図６は、図１の誤りの大きさ解読回路の説明図である。図１では、記憶装置として、磁気ディスク装置を示す。
【００２１】
磁気ディスク１０は、各トラックは、セクター単位にデータが記録される。この実施の形態では、磁気ディスク１０の複数個所に同一のデータを記録する。例えば、データ１１Ａを記録し、データ１１Ａのミラーデータ１１Ｂを、磁気ディスクの１８０度回転した位置に書き込む。尚、ミラーデータ１１Ｂは、データ１１Ａと同じデータである。
【００２２】
このデータは、次のようにして、記録される。記録データは、ＣＲＣ符号（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｏｄｅ）が付加され、その後に、ＭＴＲ符号（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｉｔｉｏｎ  Ｒｕｎ  Ｃｏｄｅ）やＲＬＬ（Ｒｕｎ  Ｌｅｎｇｔｈ  Ｌｉｍｉｔｅｄ）符号などの拘束条件が満たされるデータ列に変換される。そして、そのデータ列に、ＥＣＣ符号として、ＲＳ（Ｒｅｅｄ  Ｓｏｌｏｍｏｎ）パリティ列を付加する。
【００２３】
ＥＣＣ符号化されたデータ列は、磁化反転が隣接する箇所で、反転間隔を多少広げる補償処理を施される。記録補償されたデータ列に従い、図示しない記録ヘッド（ライトヘッド）のライト電流を発生し、記録ヘッドを駆動して、磁気ディスク１０に記録を行う。
【００２４】
次に、再生時を説明する。再生の際は、磁気ディスク１０のデータ１１Ａ，１１Ｂを、再生ヘッド（リードヘッド）１２が読み出し、アナログ電圧（読み出し信号）を復調回路２０に出力する。復調回路２０は、読み出し信号を、読み出しデータに復調する。復調回路２０は、例えば、可変利得アンプ（ＶＧＡ）、ローパスフィルタ、Ａ／Ｄコンバータ、ＦＩＲフィルタ、反復復号器で構成される。
【００２５】
可変利得アンプが、読み出し信号を振幅調整し、ローパスフィルタ（ＬＰＦ）が、振幅調整されたリード信号の高周波数域をカットし、Ａ／Ｄコンバータ（ＡＤＣ）そのアナログ出力をデジタル信号へ変換する。その後、ＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）フィルタが、ＰＲ（Ｐａｒｔｉａｌ  Ｒｅｓｐｏｎｓｅ）波形等化を行った後、反復復号器に出力する。
【００２６】
反復復号器は、尤度を用いて反復復号を行う。例えば、Ｍａｘ−ｌｏｇ−ＭＡＰ（Maximum A Posteriori）アルゴリズム、ＳＯＶＡ（Soft-Output Viterbi Algorithm）及び雑音予測機能付ＳＯＶＡ（ＮＰＳＯＶＡ: Noise Predictive SOVA）などを用いる。
【００２７】
反復復号された判定出力は、ＥＣＣ復号器７０に入力し、ＥＣＣ復号器７０は、ＥＣＣを用いて、誤り訂正を行う。ＥＣＣ復号器７０は、シンドローム演算部３０と、誤り位置多項式解読部３４と、誤りの大きさ解読部３６と、データ補正部３８と、解読エラー判定回路４２とを備える。
【００２８】
このＥＣＣ復号器７０は、巡回符号で知られているガロア体演算を行う。図２により、ガロア体を説明する。図２は、原始多項式Ｆ（ｘ）＝ｘ４＋ｘ＋１であるガロア体ＧＦ（２４）のべき乗表現と、対応するベクトル表現と、対応する１０進表現との関係を示す。即ち、４ビットのベクトル表現（２進表現）に対し、１０進表現は、「０」〜「１５」の値で対応する。一方、べき乗表現（ガロア体表現）は、「０」〜「α１４」で、各ベクトル表現に対応する。
【００２９】
次に、ガロア体での加算を説明する。図３は、１０進表示でのガロア体の加算例を示す。例えば、１０進表示の「３」（＝α４）＋「３」（＝α４）は、１０進表示の「０」（＝０）であり、１０進表示の「３」（＝α４）＋「４」（＝α２）は、１０進表示の「７」（＝α１０）である。
【００３０】
又、ガロア体での乗算を説明する。図４は、１０進表示でのガロア体の乗算例を示す。例えば、１０進表示の「３」（＝α４）×「３」（＝α４）は、１０進表示の「５」（＝α８）であり、１０進表示の「３」（＝α４）＋「４」（＝α２）は、１０進表示の「１２」（＝α６）である。
【００３１】
図１に戻り、シンドローム値演算部３０は、復調回路２０からの復号列のシンドロームＳ０〜Ｓｎ−ｋ−１を計算し、計算したシンドローム値（係数）を保存する。例えば、リード・ソロモン（１５，１１）符号では、符号ブロック数ｎが「１５」、情報ブロック数ｋが「１１」、検査ブロック数（ｎ−ｋ）が「４」であり、訂正可能最大シンボル数は、（ｎ−ｋ）／２＝２であるから、シンドロームＳｏ〜Ｓ３を計算する。
【００３２】
誤り位置解読部３４は、作成されたシンドローム多項式Ｓ０〜Ｓｎ−ｋ−１から、図５に示す誤り位置に関する連立方程式の誤り位置多項式を計算する。図５の誤り位置に関する連立法定式は、一般式で記載してあり、左辺のシンドロームＳ（ｎ−ｋ）／２−１〜Ｓｎ−ｋ−１を、シンドロームＳ０〜Ｓｎ−ｋ−２と、位置Ｘに関する係数σ１〜σ（ｎ−ｋ）／２との積で表す連立方程式である。
【００３３】
この連立方程式を、解いて、誤り多項式を因数分解して、係数σ１〜σ（ｎ−ｋ）／２を演算し、下記式（１）に、位置Ｘを順次代入し、σｅ（Ｘ）＝０となる位置Ｘを、誤り位置と解読する。この位置Ｘは、例えば、ブロック番号に対応する。
【００３４】
【数１】
2010152960.tif 000003
【００３５】
次に、誤りの大きさ解読部３６は、ブロック内の誤りの大きさ（数値）を解読する。誤りの大きさ解読部３６は、作成されたシンドローム多項式Ｓ０〜Ｓｎ−ｋ−１と位置Ｘ、誤りの大きさの値ｅとの関係式である図６に示す誤り大きさに関する多項式（連立方程式）を解いて、下記式（２）により、誤りの大きさ（ブロック内の値）ｅ１〜ｅ（ｎ−ｋ）／２を演算する。この誤りの大きさｅが、例えば、ブロック内のデータ値に対応し、１ブロックが、「０」〜「２５５」（８ビット）であれば、誤りの大きさは、「１」〜「２５５」の値をとる。
【００３６】
【数２】
2010152960.tif 000004
【００３７】
解読エラー判定回路４２は、誤り位置解読部３４と、誤りの大きさ解読部３６からの誤り位置と、誤りの大きさを受け、訂正能力を越えているかを判定する。そして、制御回路６０に訂正可、又は訂正不可を通知する。
【００３８】
データ修正回路３８は、訂正可能な場合、特定された誤り位置の誤りの大きさ（値）を修正し、誤り訂正データを出力する。
【００３９】
本実施の形態では、更に、復調回路２０からのデータを保持する読み出しバッファ２２と、復調回路２０からのミラーデータ１１Ｂと、読み出しバッファ２２のデータ１１Ａとの差分を演算する差分演算器４６と、差分演算器４６の差分演算結果から、エラー位置／大きさを特定するエラー特定部４８を設ける。
【００４０】
更に、エラー特定部４８のエラー位置／大きさにより、シンドローム演算部３０からのシンドローム値Ｓ０〜Ｓｎ−ｋ−１を補正するシンドローム補正部５０と、シンドローム演算部３０と、シンドローム補正部５０との出力を切り替える第１のスイッチ３２と、エラー特定部４８のエラー位置／大きさにより、データ修正部４０からの訂正データを補正するデータ補正部４０と、データ修正部３８と、データ補正部４０との出力を切り替える第２のスイッチ４４とを設ける。
【００４１】
制御回路６０は、図７以下で説明するように、読み取り動作と、ＥＣＣ復号動作を制御する。
【００４２】
（データ読み出し・訂正）
図７は、本データ１１Ａ,ミラーデータ１１Ｂ、差分、シンドローム補正値の関係図、図８は、ミラーデータ１１Ｂのシンドロームと補正されたシンドロームの関係図である。図７及び図８により、図１による誤り訂正動作を説明する。
【００４３】
図７は、リード・ソロモン（１５，１１）符号の例を示し。符号ブロック数ｎが「１５」、情報ブロック数ｋが「１１」、検査ブロック数（ｎ−ｋ）が「４」である。即ち、ブロック番号「０」〜「３」の４ブロックが、検査ブロックであり、ブロック番号「４」〜「１４」の１１ブロックが、情報ブロックである。
【００４４】
各ブロックを構成する本データが、ガロア体表記で、図７のような値とし、ミラーデータが、ガロア体表記で、図７のような値となったとする。図７の例では、本データは、７，１０、１３番目のブロックで誤りが検出され、そのデータ値が、各々、α７、α４、α２であるとする。即ち、訂正可能最大シンボル数は、（ｎ−ｋ）／２＝２を越えている。
【００４５】
次に、本データの訂正可能範囲を越えているため、ミラーデータ１１Ｂを読みだす。図７の例では、ミラーデータは、４，７、１０番目のブロックで誤りが検出され、そのデータ値が、各々、α１０、α７、α２であるとする。即ち、訂正可能最大シンボル数は、（ｎ−ｋ）／２＝２を越えている。
【００４６】
本実施例では、本データとミラーデータを比較した場合には、同一位置及び同一大きさの誤りが生じた場合以外は、以下の３つのケースがある。
【００４７】
（１）本データだけに誤りがある。図７では、情報ブロック番号１３の例である。
【００４８】
（２）ミラーデータと本データとが、同一位置に、異なる大きさの誤りが生じた。図７では、情報ブロック番号１０の例である。
【００４９】
（３）ミラーデータだけに誤りが生じた。図７では、情報ブロック番号４の例である。
【００５０】
（１）の場合には、検出したエラー位置と、大きさは、ミラーデータの誤り訂正に無関係である。（２）の場合には、検出したエラーの大きさは、両者の差分である。（３）の場合は、検出したエラー位置と大きさは、ミラーデータに誤りそのものである。
【００５１】
従って、本データ、ミラーデータとも誤り訂正不可の場合に、（３）のケースを検出し、ミラーデータのシンドロームから、（３）の誤りのシンドロームを取り除き、補正することにより、ＥＣＣ訂正前に、ミラーデータの誤り箇所を減らす。これにより、ＥＣＣの誤り訂正の能力が向上する。
【００５２】
又、ミラーデータだけの誤り位置と、大きさが特定されるため、ＥＣＣ訂正後、その位置のデータを別途補正する。
【００５３】
図１の構成で説明すると、差分演算器４６が、ミラーデータ１１Ｂと、読み出しバッファ２２のデータ１１Ａとの差分（図７も参照）を演算する。そして、エラー特定部４８が、差分が存在し、且つ（３）のケースの場合を検出し、エラー位置（図７では、ブロック番号４）、大きさ（図７では、ガロア体表記α１０）を、シンドローム補正回路５０と、データ補正回路４０に出力する。
【００５４】
図７では、そのエラー位置及び大きさに対応するシンドローム値を示し、４つの項からなる。ここでは、ブロック番号４、大きさα１０に対し、α１０、α１０α４、α１０α２＊４、α１０α３＊４の４つのシンドローム値である。この時、制御回路６０の制御により、第１のスイッチ３２は、シンドローム補正回路５０を選択し、第２のスイッチ４４は、データ補正回路４０を選択する。
【００５５】
シンドローム補正回路５０では、受けたエラー位置と大きさとから、ミラーデータのシンドロームを補正する。図８に示すように、ミラーデータのシンドロームが、Ｓ０〜Ｓ３である場合に、シンドローム補正回路５０は、図７の４つのシンドローム値を、シンドロームＳ０〜Ｓ３に加算して、補正されたシンドロームＳ’０〜Ｓ’３を作成する。
【００５６】
このガロア体加算により、図８に示すように、ミラーデータのシンドロームＳ０〜Ｓ３に、４ブロック目に対応するシンドローム値を加算するため、補正されたシンドロームＳ’０〜Ｓ’３は、４ブロック目に対応するシンドローム値がキャンセルされ、図７の７、１０ブロック目のみとなる。このため、ＥＣＣのエラー訂正可能範囲を越えないため、ミラーデータの補正されたシンドロームから、ＥＣＣ訂正が可能となる。
【００５７】
又、４ブロック目のエラーは、ＥＣＣ訂正されないため、補正回路４０が、４ブロック目のエラーを、通知された位置と、大きさで補正する。
【００５８】
このようにして、記憶媒体上に、同じデータを、等分割角度毎に、複数個所に書込んでおき、本データを読み出し、エラー訂正不可なら、ミラーデータを読み出し、共に、訂正を失敗した時に、本データとミラーデータとの読出しデータを比較して、誤り箇所を特定する。特定した中から、順次誤り位置と大きさの情報を取り出してシンドローム値を補正して、誤り訂正を行う。
【００５９】
更に、ＥＣＣで、正常に訂正できた場合に、特定の誤り位置と大きさで、更にデータを補正するため、見掛け上誤り訂正能力が向上する。 
【００６０】
（データ読み出し・訂正処理）
次に、制御回路６０が実行する読み出し・訂正処理を説明する。図９及び図１０は、本発明の一実施の形態の読み出し・訂正処理フロー図、図１１乃至図１５は、その誤り訂正動作例の説明図である。
【００６１】
図１１乃至図１５を参照して、図９及び図１０の処理を説明する。
【００６２】
（Ｓ１０）先ず、読み出し処理では、第１のスイッチ３２は、シンドローム演算部３０側の「ａ」を選択し、第２のスイッチ４４は、データ修正部３８側の「ａ」を選択している。制御回路６０は、アクテイブヘッド１２の現在のセクター位置とシリンダ位置を読み取る。周知のように図示しない磁気ディスク１０のサーボ情報を、ヘッド１２で読み出し、図示しないサーボ復調回路で、読み出し信号を復調し、セクター位置、シリンダ位置を得る。制御回路６０は、読み出し対象のセクターとシリンダ位置と、本データのセクター位置、シリンダ位置との距離、及び読み出し対象のセクターとシリンダ位置と、ミラーデータのセクター位置、シリンダ位置との距離とを計算する。
【００６３】
（Ｓ１２）制御回路６０は、距離の比較により、ヘッド１２の現在位置から最も近い位置のデータの位置にシークする。従って、最初にシークされた位置のデータが、本データとみなす。このように、図１の２つのデータ１１Ａ,１１Ｂの内、ヘッドの現在位置に近いデータにアクセスするため、ミラーデータを設けた効果として、アクセスタイムを短縮できる。
【００６４】
（Ｓ１４）制御回路６０は、ヘッド１２にデータの読み取りを指示する。ヘッド１２が読み取った本データ１１Ａの読み取り信号は、復調回路２０で、復調され、読み出しバッファ２２に格納される。これとともに、復調された読み出しデータから、シンドローム演算部３０が、シンドロームを計算し、誤り位置解読部３４に出力する。誤り位置解読部３４は、図５で説明したように、誤り位置に関する連立方程式を解いて、誤り位置を解読する。又、誤りの大きさ解読部３６は、図６で説明したように、誤りの大きさを解読する。解読エラー判定回路４２は、誤り位置解読部３４と、誤りの大きさ解読部３６からの誤り位置と、誤りの大きさを受け、訂正能力を越えているかを判定する。そして、制御回路６０に訂正可、又は訂正不可を通知する。
【００６５】
（Ｓ１６）訂正可の場合、データ修正回路３８は、解読した誤り位置と、大きさから、誤り訂正を行い、スイッチ４４を介し、制御回路６０に出力する。制御回路６０は、訂正可の通知を受けると、データ修正回路３８の誤り訂正データを取り込み、正常終了する。
【００６６】
（Ｓ１８）一方、ステップＳ１４で、訂正不可の通知を受けると、制御回路６０は、ヘッド１２の位置を、ミラーデータ１１Ｂの位置にシークする。従って、２回目にシークされた位置のデータを、ミラーデータとみなす。
【００６７】
（Ｓ２０）制御回路６０は、ヘッド１２にデータの読み取りを指示する。ヘッド１２が読み取ったミラーデータ１１Ｂの読み取り信号は、復調回路２０で、復調され、復調された読み出しデータから、シンドローム演算部３０が、シンドロームを計算し、誤り位置解読部３４に出力する。誤り位置解読部３４は、図５で説明したように、誤り位置に関する連立方程式を解いて、誤り位置を解読する。又、誤りの大きさ解読部３６は、図６で説明したように、誤りの大きさを解読する。解読エラー判定回路４２は、誤り位置解読部３４と、誤りの大きさ解読部３６からの誤り位置と、誤りの大きさを受け、訂正能力を越えているかを判定する。そして、制御回路６０に訂正可、又は訂正不可を通知する。訂正可の場合、ステップＳ１６の正常終了に進む。
【００６８】
（Ｓ２２）一方、ステップＳ２０で、訂正不可の通知を受けると、制御回路６０の指示により、第１のスイッチ３２は、シンドローム補正部５０側の「ｂ」を選択し、第２のスイッチ４４は、データ補正部４０側の「ｂ」に切り替わる。そして、差分演算器４６が、復調回路２０のミラーデータ１１Ｂと、読み出しバッファ２２のデータ１１Ａとの差分（図１１参照）を演算する。そして、エラー特定部４８が、差分が存在し、且つ前述の（３）のケースの場合を検出し、エラー位置（図１１では、ブロック番号４）、大きさ（図１１では、α１０＝７（１０進表記））を、シンドローム補正回路５０と、データ補正回路４０に出力する。
【００６９】
（Ｓ２４）シンドローム補正回路５０では、エラー位置と大きさを順次取り出し、ミラーデータのシンドロームを補正する。図１１では、そのエラー位置及び大きさに対応するシンドローム値を示し、４つの項からなる。ここでは、ブロック番号４、大きさα１０＝７（１０進表記）に対し、α１０＝７（１０進表記）、α１０α４＝９（１０進表記）、α１０α２＊４＝８（１０進表記）、α１０α３＊４＝１１（１０進表記）の４つのシンドローム値である。以下、説明の理解のため、ガロア体表記と、対応する１０進表記とを併用する。図１２に示すように、ミラーデータ１１Ｂのシンドロームが、Ｓ０〜Ｓ３である場合に、シンドローム補正回路５０は、図１１の４つのシンドローム値を、シンドロームＳ０〜Ｓ３に加算して、補正されたシンドロームＳ’０〜Ｓ’３を作成する。
【００７０】
このガロア体加算により、図８に示すように、ミラーデータのシンドロームＳ０〜Ｓ３に、４ブロック目に対応するシンドローム値を加算するため、補正されたシンドロームＳ’０〜Ｓ’３は、４ブロック目に対応するシンドローム値がキャンセルされ、図１１の７、１０ブロック目のみとなる。このため、ＥＣＣのエラー訂正可能範囲を越えないため、ミラーデータの補正されたシンドロームから、ＥＣＣ訂正が可能となる。
【００７１】
（Ｓ２６）補正されたシンドロームＳ’０〜Ｓ’３は、スイッチ５０を介し、誤り位置解読部３４に出力される。誤り位置解読部３４は、図５で説明したように、誤り位置に関する連立方程式を解いて、誤り位置を解読する。図１３は、図１２の例の誤り位置連立方程式を示す。即ち、誤り位置連立方程式は、以下の（３）式のようである。
【００７２】
【数３】
2010152960.tif 000005
この連立方程式を解き、σ１とσ２とを、図１３のように、計算する。更に、図５で説明した式（２）は、この例では、図１４に示すように、下記式（４）である。
【００７３】
【数４】
2010152960.tif 000006
図１４に示すように、（４）式に、計算したσ１、σ２を代入し、且つＸ１を、「１」から順に代入すると、σ（１）〜σ（１４）の値が得られる。この値が、「０」の場合の位置Ｘのべき乗表記の指数が、誤り位置として、解読される。この例では、１０進表記Ｘ＝７，１１のべき乗表記α１０、α７の指数である「１０」、「７」が、誤り位置として、解読される。
【００７４】
誤りの大きさ解読部３６は、図６で説明したように、誤りの大きさを解読する。図１５に示すように、解読した誤り位置Ｘ１＝１１（べき乗表記＝α７）、Ｘ２＝７（＝べき乗表記α１０）として、図６のように、各々位置の誤りの大きさｅ１，ｅ２を計算する。即ち、誤りの大きさの連立方程式は、（２）式から下記式（５）となる。
【００７５】
【数５】
2010152960.tif 000007
【００７６】
式（５）を解いて、Δを計算し、誤りの大きさｅ１，ｅ２を、図１５のように計算する。得られた結果は、ｅ１＝１１（べき乗表記＝α７）、ｅ２＝４（べき乗表記＝α２となり、図１１と一致する。解読エラー判定回路４２は、誤り位置解読部３４と、誤りの大きさ解読部３６からの誤り位置と、誤りの大きさを受け、訂正能力を越えているかを判定する。そして、制御回路６０に訂正可、又は訂正不可を通知する。
【００７７】
（Ｓ２８）訂正可の場合、データ修正回路３８は、解読した誤り位置と、大きさから、誤り訂正を行い、スイッチ４４を介し、データ補正部４０に出力する。補正回路４０が、訂正から除外されたブロック（図１１では、４ブロック目）のデータを、通知された位置と、大きさで補正する。制御回路６０は、訂正可の通知を受けると、データ修正回路３８の誤り訂正データを取り込み、正常終了する。
【００７８】
（Ｓ３０）一方、誤り訂正不可の場合には、制御回路６０は、全ての誤り候補を取り出したかを判定する。制御回路６０は、全ての誤り候補を取り出していないと判定すると、ステップＳ２４に戻る。
【００７９】
（Ｓ３２）制御回路６０は、全ての誤り候補を取り出したと判定すると、読み出し回数が、許容回数を越えたかを判定する。読み出し回数が、許容回数を越えていない場合には、図９のステップＳ１８に戻る。即ち、再度、ミラーデータを読み出し、訂正する。一方、読み出し回数が、許容回数を越えていると、異常終了する。
【００８０】
このように、記憶媒体上に、同じデータを、複数個所に書込んでおき、本データを読み出し、エラー訂正不可なら、ミラーデータを読み出し、共に、訂正を失敗した時に、本データとミラーデータとの読出しデータを比較して、誤り箇所を特定する。特定した中から、順次誤り位置と大きさの情報を取り出してシンドローム値を補正して、誤り訂正を行う。更に、ＥＣＣで、正常に訂正できた場合に、特定の誤り位置と大きさで、更にデータを補正するため、見掛け上誤り訂正能力が向上する。 
【００８１】
（他の実施の形態）
前述の実施の形態では、ＥＣＣ符号として、リードソロモン符号で説明したが、ＢＣＨ（Bose Chaudhari Hocquengham）符号等の他の符号を利用できる。又、誤り位置解読部３４は、バーレカンプマッシ（ＢＭ）法により、シンドローム多項式を計算しても良い。バーレカンプマッシ法では、周知のように、多項式の初期値から始めて、生成多項式の次数と同じ回数だけ多項式の更新を繰り返すことで、誤り位置多項式を計算する。
【００８２】
更に、磁気ディスク装置の記憶装置の適用の例で説明したが、光ディスク装置等の他の媒体記憶装置や、通信装置にも適用できる。
【００８３】
以上、本発明を、実施の形態で説明したが、本発明は、その趣旨の範囲内で種々の変形が可能であり、これを本発明の範囲から排除するものではない。
【００８４】
（付記１）同一のデータが、複数個所に記録された記憶媒体のデータを読み出すヘッドと、前記ヘッドの読み取り信号を復調する復調回路と、前記復調回路からの読み出しデータのシンドローム値を計算し、前記シンドローム値から誤り位置を特定し、特定した誤り位置の読み出しデータを訂正して、誤り訂正データを出力する誤り訂正回路と、前記ヘッドの読み出し動作を制御する制御回路とを有し、前記誤り訂正回路は、前記シンドローム値を補正する回路と、前記訂正したデータを補正する回路とを有し、前記制御回路は、第１の個所のデータを読み出し、前記第１の個所の読み出しデータの前記誤り訂正回路からの誤り訂正の失敗を受け、第２の個所の同一データを読み出し、前記誤り訂正回路で、前記第２の個所の読み出しデータの誤り訂正を行うとともに、前記第２の個所の読み出しデータの前記誤り訂正回路からの誤り訂正の失敗を受け、前記誤り訂正回路に、補正指示し、前記誤り訂正回路は、前記補正指示に応じて、前記第１の個所と第２の個所の読み出しデータの比較により、誤り箇所を特定し、特定した誤り位置と大きさの情報により、前記シンドローム値を補正して、誤り訂正を行い、前記誤り位置と大きさで、前記誤り訂正されたデータを補正することを特徴する記憶装置。
【００８５】
（付記２）前記シンドローム値を補正する回路は、前記第２の個所の読み出しデータのシンドローム値を補正することを特徴とする付記１の記憶装置。
【００８６】
（付記３）前記誤り訂正回路は、前記第１の個所と第２の個所の読み出しデータの比較により、前記第２の個所のデータのみの誤り箇所を特定する誤り特定回路を有することを特徴とする付記１の記憶装置。
【００８７】
（付記４）前記誤り訂正回路は、読み出しデータのシンドローム値を計算する回路と、前記シンドローム値から誤り位置を特定する解読回路と、前記特定した誤り位置の読み出しデータを訂正して、誤り訂正データを出力するデータ修正回路とを有することを特徴とする付記１の記憶装置。
【００８８】
（付記５）前記データは、検査ブロックと情報ブロックとで構成されたリード・ソロモン符号化されたデータであることを特徴とする付記１の記憶装置。
【００８９】
（付記６）前記誤り訂正回路は、前記第１の個所の読み出しデータを保持する読み出しバッファと、前記第１の個所と第２の個所の読み出しデータを比較する比較回路と、前記比較回路の出力から、前記第２の個所のデータのみの誤り箇所を特定する誤り特定回路とを有することを特徴とする付記３の記憶装置。
【００９０】
（付記７）前記制御回路は、前記第１の個所の読み出しデータの前記誤り訂正回路の誤り訂正成功を受け、前記誤り訂正回路の誤り訂正データを取り込み、且つ前記第２の個所のデータの読み出し処理を禁止することを特徴とする付記１の記憶装置。
【００９１】
（付記８）前記制御回路は、前記第２の個所の読み出しデータの前記誤り訂正回路の誤り訂正成功を受け、前記誤り訂正回路の誤り訂正データを取り込み、且つ前記補正指示を禁止することを特徴とする付記７の記憶装置。
【００９２】
（付記９）入力されたデータのシンドローム値を計算するシンドローム計算部と、前記シンドローム値から誤り位置を特定し、特定した誤り位置の読み出しデータを訂正して、誤り訂正データを出力する誤り訂正部と、前記データと同一のミラーデータを受け、前記両データの比較により、誤り箇所を特定する回路と、前記特定された誤り箇所の前記シンドローム値を補正する回路と、前記訂正したデータを補正する回路とを有することを特徴するエラー訂正回路。
【００９３】
（付記１０）前記シンドローム値を補正する回路は、前記ミラーデータのシンドローム値を補正することを特徴とする付記９のエラー訂正回路。
【００９４】
（付記１１）前記誤り訂正回路は、前記両データの比較により、前記ミラーデータのみの誤り箇所を特定する誤り特定回路を有することを特徴とする付記９のエラー訂正回路。
【００９５】
（付記１２）前記誤り訂正回路は、前記データのシンドローム値を計算する回路と、前記シンドローム値から誤り位置を特定する解読回路と、前記特定した誤り位置の読み出しデータを訂正して、誤り訂正データを出力するデータ修正回路とを有することを特徴とする付記９のエラー訂正回路。
【００９６】
（付記１３）前記データは、検査ブロックと情報ブロックとで構成されたリード・ソロモン符号化されたデータであることを特徴とする付記９のエラー訂正回路。
【００９７】
（付記１４）前記誤り訂正回路は、前記データを保持する読み出しバッファと、前記バッファのデータと前記ミラーデータを比較する比較回路と、前記比較回路の出力から、前記ミラーデータのみの誤り箇所を特定する誤り特定回路とを有することを特徴とする付記１１のエラー訂正回路。
【００９８】
（付記１５）前記シンドローム値を計算する回路の出力側を、前記シンドローム値を補正する回路と、前記誤り訂正部とのいずれかに接続する第１のスイッチと、前記誤り訂正部の出力側を、前記データ補正回路に選択的に接続する第２のスイッチとを更に有することを特徴とする付記９のエラー訂正回路。
【００９９】
（付記１６）入力されたデータの前記誤り訂正部の誤り訂正成功を受け、前記誤り訂正部の誤り訂正データを取り込む制御回路を更に有することを特徴とする付記９のエラー訂正回路。
【０１００】
（付記１７）前記制御回路は、前記ミラーデータの前記誤り訂正部の誤り訂正成功を受け、前記誤り訂正部の誤り訂正データを取り込むことを特徴とする付記１６のエラー訂正回路。
【産業上の利用可能性】
【０１０１】
本データを読み出し、エラー訂正不可なら、ミラーデータを読み出し、共に、訂正を失敗した時に、本データとミラーデータとの読出しデータを比較して、誤り箇所を特定する。特定した中から、順次誤り位置と大きさの情報を取り出してシンドローム値を補正して、誤り訂正を行う。更に、ＥＣＣで、正常に訂正できた場合に、特定の誤り位置と大きさで、更にデータを補正するため、見掛け上誤り訂正能力が向上する。
【図面の簡単な説明】
【０１０２】
【図１】本発明の一実施形態を示す記憶装置の再生系の構成図である。
【図２】図１に使用するガロア体表記の説明図である。
【図３】図２のガロア体加算の説明図である。
【図４】図２のガロア体乗算の説明図である。
【図５】図１の誤り位置解読部の説明図である。
【図６】図１の誤りの大きさ解読部の説明図である。
【図７】本発明のエラー訂正回路のエラー特定動作の説明図である。
【図８】本発明のシンドローム補正動作の説明図である。
【図９】図１の制御回路の読み出し処理フロー図（その１）である。
【図１０】図１の制御回路の読み出し処理フロー図（その２）である。
【図１１】図９及び図１０のエラー特定動作の説明図である。
【図１２】図９及び図１０のシンドローム補正動作の説明図である。
【図１３】図９及び図１０の誤り位置解読の連立方程式の説明図である。
【図１４】図９及び図１０の誤り位置特定の説明図である。
【図１５】図９及び図１０の誤りの大きさ解読の説明図である。
【図１６】従来の誤り訂正回路の説明図である。
【符号の説明】
【０１０３】
１０  磁気ディスク（記憶媒体）
１１Ａ  本データ
１１Ｂ  ミラーデータ
１２  ヘッド
２０  復調回路
２２  読み出しバッファ
３０  シンドローム演算部
３２  第１のスイッチ
３４  誤り位置解読部
３６  誤りの大きさ解読部
３８  データ修正部
４０  データ補正部
４２  解読エラー判定回路
４６  比較回路
４８  エラー特定回路
５０  シンドローム補正回路
６０  制御回路
７０  ＥＣＣ復号器
【図１】
2010152960.tif 000008
【図２】
2010152960.tif 000009
【図３】
2010152960.tif 000010
【図４】
2010152960.tif 000011
【図５】
2010152960.tif 000012
【図６】
2010152960.tif 000013
【図７】
2010152960.tif 000014
【図８】
2010152960.tif 000015
【図９】
2010152960.tif 000016
【図１０】
2010152960.tif 000017
【図１１】
2010152960.tif 000018
【図１２】
2010152960.tif 000019
【図１３】
2010152960.tif 000020
【図１４】
2010152960.tif 000021
【図１５】
2010152960.tif 000022
【図１６】
2010152960.tif 000023