JP2007207325A - 誤り訂正処理装置及び誤り訂正処理方法 - Google Patents
誤り訂正処理装置及び誤り訂正処理方法 Download PDFInfo
- Publication number
- JP2007207325A JP2007207325A JP2006023615A JP2006023615A JP2007207325A JP 2007207325 A JP2007207325 A JP 2007207325A JP 2006023615 A JP2006023615 A JP 2006023615A JP 2006023615 A JP2006023615 A JP 2006023615A JP 2007207325 A JP2007207325 A JP 2007207325A
- Authority
- JP
- Japan
- Prior art keywords
- error
- digital data
- error correction
- syndrome
- correction processing
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1565—Decoding beyond the bounded minimum distance [BMD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3738—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/6325—Error control coding in combination with demodulation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
【課題】この発明は、シンドロームに基づいて誤り訂正符号による訂正不可と判断され、別途に取得した誤りパターンで誤り訂正した結果、誤り訂正符号による誤り訂正が可能となったデジタルデータ列に対しては、シンドロームの再計算に要する時間を短縮し誤り訂正処理の高速化を効果的に図り得るようにした誤り訂正処理装置及び誤り訂正処理方法を提供することを目的としている。
【解決手段】デジタルデータ列Aが誤り訂正不可であるとき、シンドロームを用いずに取得可能な誤りパターンに基づいて誤り訂正する。誤り訂正後のデジタルデータ列Bが誤り訂正可能であるとき、誤りビット位置のシンドロームと、デジタルデータ列Aから算出したシンドロームとの排他的論理和演算により、デジタルデータ列Bに対するシンドロームを生成し誤り訂正処理を実行する。
【選択図】 図1
【解決手段】デジタルデータ列Aが誤り訂正不可であるとき、シンドロームを用いずに取得可能な誤りパターンに基づいて誤り訂正する。誤り訂正後のデジタルデータ列Bが誤り訂正可能であるとき、誤りビット位置のシンドロームと、デジタルデータ列Aから算出したシンドロームとの排他的論理和演算により、デジタルデータ列Bに対するシンドロームを生成し誤り訂正処理を実行する。
【選択図】 図1
Description
この発明は、誤り訂正用の符号化処理が施されたデジタルデータ列に誤り訂正処理を施す誤り訂正処理装置及び誤り訂正処理方法の改良に関する。
周知のように、例えばハードディスクや光ディスク等の情報記録媒体にデジタルデータ列を記録する際には、そのデジタルデータ列に誤り訂正用の符号化処理を施して記録している。そして、再生時には、情報記録媒体から読み取ったデジタルデータ列に、誤り訂正符号に基づく誤り訂正処理を施すことにより元のデジタルデータ列を復元している。
この誤り訂正処理は、デジタルデータ列からシンドロームを計算し、そのシンドロームを利用して誤り位置多項式及び誤り評価多項式を解き、それらの解から誤りパターンを算出する。そして、この誤りパターンに基づいて、デジタルデータ列を訂正することにより実現される。
ただし、情報記録媒体から読み取ったデジタルデータ列に、その誤り訂正符号の最大訂正能力を超える誤りが発生している場合、誤り訂正は不可能となる。誤り訂正符号の最大訂正能力を超える誤りが発生しているか否かは、算出されたシンドロームから判別することができる。
ところで、情報記録媒体から読み取ったデジタルデータ列に最大訂正能力を超える誤りが発生している場合であっても、誤りパターンの一部が既知であったり、信頼性の高い誤りパターンの候補が存在したりする場合には、その誤りパターンに基づいてデジタルデータ列に誤り訂正を行なうことが可能となる。
そして、このようにシンドロームから算出する以外の手段で取得した誤りパターンに基づいて誤り訂正処理を行なった場合、その誤り訂正処理後のデジタルデータ列は、そこに含まれている誤り数が誤り訂正符号による訂正能力の範囲内となり、誤り訂正符号による誤り訂正処理が可能な状態となっていることがある。
このような場合、現状では、シンドロームから算出する以外の手段で取得した誤りパターンに基づいて誤り訂正処理を行なった後のデジタルデータ列から、再度シンドロームを計算して誤り訂正処理を行なうようにしている。このため、シンドロームを再計算するために時間を要し、誤り訂正処理の高速化が損なわれることになる。
特許文献1には、受信符号の各ビット位置に1ビット誤りが生じたときの各シンドロームをテーブルとして記憶しておき、テーブルから読み出した2種類の1ビット誤りシンドロームと、受信信号のシンドロームとの3入力排他的論理和を順次求めることで誤りビット位置を検出して、2ビット誤り訂正を行なうようにする構成が開示されている。
特開平6−303149号公報
そこで、この発明は上記事情を考慮してなされたもので、シンドロームに基づいて誤り訂正符号による訂正不可と判断され、別途に取得した誤りパターンで誤り訂正した結果、誤り訂正符号による誤り訂正が可能となったデジタルデータ列に対しては、シンドロームの再計算に要する時間を短縮し誤り訂正処理の高速化を効果的に図り得るようにした誤り訂正処理装置及び誤り訂正処理方法を提供することを目的とする。
この発明に係る誤り訂正処理装置は、誤り訂正符号に基づいて符号化された第1のデジタルデータ列からシンドロームを計算する計算手段と;計算手段で計算されたシンドロームに基づいて、第1のデジタルデータ列が誤り訂正符号により誤り訂正可能か否かを判定する第1の判定手段と;第1の判定手段により誤り訂正可能であると判定された場合、計算手段で計算されたシンドロームに基づいて第1のデジタルデータに誤り訂正処理を施す第1の訂正手段と;第1の判定手段により誤り訂正不可であると判定された場合、計算手段で計算されたシンドロームを用いることなく取得可能な誤りパターンに基づいて、第1のデジタルデータに誤り訂正処理を施す第2の訂正手段と;第1のデジタルデータ列の各ビット位置にそれぞれビット誤りが生じたときのシンドロームが予め計算されて記憶される記憶手段と;第2の訂正手段により誤り訂正処理の施された第2のデジタルデータ列が、誤り訂正符号により誤り訂正可能か否かを判定する第2の判定手段と;第2の判定手段により誤り訂正可能であると判定された場合、計算手段で計算されたシンドロームと、第2の訂正手段で用いた誤りパターンが指示する誤りビット位置に対応して記憶手段から読み出したシンドロームとに基づいて、第2のデジタルデータ列に対するシンドロームを生成する生成手段と;生成手段で生成されたシンドロームに基づいて第2のデジタルデータ列に誤り訂正処理を施す第3の訂正手段とを備えるようにしたものである。
また、この発明に係る誤り訂正処理方法は、誤り訂正符号に基づいて符号化された第1のデジタルデータ列からシンドロームを計算する第1の工程と;第1の工程で計算されたシンドロームに基づいて、第1のデジタルデータ列が誤り訂正符号により誤り訂正可能か否かを判定する第2の工程と;第2の工程により誤り訂正可能であると判定された場合、第1の工程で計算されたシンドロームに基づいて第1のデジタルデータに誤り訂正処理を施す第3の工程と;第2の工程により誤り訂正不可であると判定された場合、第1の工程で計算されたシンドロームを用いることなく取得可能な誤りパターンに基づいて、第1のデジタルデータに誤り訂正処理を施す第4の工程と;第4の工程により誤り訂正処理の施された第2のデジタルデータ列が、誤り訂正符号により誤り訂正可能か否かを判定する第5の工程と;第5の工程により誤り訂正可能であると判定された場合、第1の工程で計算されたシンドロームと、第1のデジタルデータ列の各ビット位置にそれぞれビット誤りが生じたときのシンドロームが予め計算されて記憶された記憶手段から、第4の工程で用いた誤りパターンが指示する誤りビット位置に対応して読み出したシンドロームとに基づいて、第2のデジタルデータ列に対するシンドロームを生成する第6の工程と;第6の工程で生成されたシンドロームに基づいて第2のデジタルデータ列に誤り訂正処理を施す第7の工程とを備えるようにしたものである。
上記した発明によれば、シンドロームに基づいて誤り訂正符号による訂正不可と判断され、別途に取得した誤りパターンで誤り訂正した結果、誤り訂正符号による誤り訂正が可能となったデジタルデータ列に対して、シンドロームの再計算に要する時間を短縮し誤り訂正処理の高速化を効果的に図ることができるようになる。
以下、この発明の実施の形態について図面を参照して詳細に説明する。図1は、この実施の形態で説明する情報記録再生装置であるHDD(hard disk drive)11の概略を示している。すなわち、このHDD11は、外部のホスト装置12との間で情報の授受を行なうためのホストI/F(interface)13を備えている。
ここで、上記ホスト装置12は、例えばPC(personal computer)等である。このホスト装置12は、例えば所定のアプリケーションソフトウエアを実行する際に、HDD11を利用して情報の書き込み及び読み出しを実行するとともに、最終的に得られた情報の保存先としてもHDD11を利用することができる。
この場合、ホスト装置12は、情報記録装置11に対して情報の書き込みや情報の読み出しを要求するコマンドを発生している。これらのコマンドは、ホストI/F13を介して主制御部14に供給され解析される。この主制御部14は、CPU(central processing unit)を内蔵し、HDD11が実行する各種の動作を統括的に制御している。
例えば、ホスト装置12から書き込み要求コマンドが供給された場合、その書き込み要求コマンドは、ホストI/F13を介して主制御部14に供給され解析される。これにより、主制御部14は、変調処理部15及び符号化処理部16を駆動するとともに、ディスクI/F17を介してハードディスク18を書き込み状態に制御する。
また、書き込むべきデジタルデータ列は、ホストI/F13を介して変調処理部15に供給される。この変調処理部15は、入力されたデジタルデータ列に対して、例えばランレングス符号化処理のような、このHDD11における記録再生系の要求に応じた形態の圧縮変調処理(例えばゼロが一定長以上続かないようにする変調処理)を施している。
この変調処理部15で変調処理の施されたデジタルデータ列は、符号化処理部16に供給される。この符号化処理部16は、入力されたデジタルデータ列に対して、例えばRS(read solomon)符号に基づいた誤り訂正符号であるECC(error correcting code)パリティを算出して付加する。
そして、符号化処理部16によりECCパリティの付加されたデジタルデータ列は、ディスクI/F17を介してハードディスク18に書き込まれ、ここに、ホスト装置12からの書き込み要求に基づいた、ハードディスク18へのデジタルデータ列の書き込み処理が実行される。
また、ホスト装置12から読み出し要求コマンドが供給された場合、その読み出し要求コマンドは、ホストI/F13を介して主制御部14に供給され解析される。このため、主制御部14は、復号化処理部19及び復調処理部20を駆動するとともに、ディスクI/F17を介してハードディスク18を読み出し状態に制御する。
そして、ハードディスク18から読み出されたデジタルデータ列(ECCパリティを含む)は、ディスクI/F17を介して復号化処理部19に供給される。この復号化処理部19は、詳細は後述するが、入力されたデジタルデータ列に対してECCパリティに基づく誤り訂正処理を施している。
この復号化処理部19により誤り訂正処理が施されたデジタルデータ列は、復調処理部20に供給される。この復調処理部20は、入力されたデジタルデータ列に対して施されている例えばランレングス符号化処理のような圧縮変調を復調処理して、元のデジタルデータ列を復元している。
そして、復調処理部20により復調処理が施されたデジタルデータ列は、ホストI/F13を介してホスト装置12に出力され、ここに、ホスト装置12からの読み出し要求に基づいた、ハードディスク18からのデジタルデータ列の読み出し処理が実行されることになる。
なお、上記復号化処理部19には、不揮発性メモリ21が接続されている。この不揮発性メモリ21には、詳細は後述するが、ECCパリティが付加されて1つの誤り訂正単位を構成するデジタルデータ列に対し、その各ビット位置に1ビット誤りが生じたときのシンドロームを予めそれぞれ算出したテーブルが記憶されている。
ここで、ECCパリティが付加されて1つの誤り訂正単位を構成するデジタルデータ列の一例について説明する。例えば512バイト(1バイト=8ビットで4096ビット)のユーザデータに、ガロア体GF(210)上で構成されたRS符号による最大10箇所の誤り訂正が可能な符号化処理を施した場合を考える。
この例の場合、図2に示すように、1シンボル(10ビット)を1つの丸印で表現すると、410シンボル(4100ビット)のユーザデータに、20シンボル(200ビット)のECCパリティが付加された、最大で10個のシンボル誤りまで訂正することが可能な430シンボル(4300ビット)の符号化デジタルデータ列となる。
そして、図2に示した1つの誤り訂正単位を構成する4300ビットのデジタルデータ列について、その各ビット位置にそれぞれ1ビット誤りが生じたときの各シンドロームが予め計算され、図3に示すように、上記不揮発性メモリ21にシンドロームテーブルとして記憶されている。
図3では、図2に示した4300ビットのデジタルデータ列について、その先頭のシンボルの先頭のビット位置を0とし、最後尾のシンボルの最後尾のビット位置を4299として、各ビット位置と、各ビット位置に対応して算出されたシンドロームとが対応付けられて記憶されている。
図4は、上記復号化処理部19の一例を示している。すなわち、この復号化処理部19は、上記主制御部14とのデータの授受が可能であり、主制御部14からの制御に基づいて、復号化処理部19の行なう各種の動作を統括的に制御するためのコントローラ19aを備えている。
そして、この復号化処理部19は、入力されたデジタルデータ列に対してビタビ復号化処理を施すビタビ復号化処理部19b、ビタビ復号化されたデジタルデータ列からシンドロームを計算するシンドローム計算部19c、計算されたシンドロームからシンボル誤りの数を判定する誤り判定部19d、シンボル誤り数がECCパリティによる誤り訂正能力の範囲内である場合、計算されたシンドロームに基づいて誤りパターンを算出し、入力されたデジタルデータ列に誤り訂正処理を施す誤り訂正処理部19e等を備えている。
また、この復号化処理部19は、誤りパターン取得部19fを備えている。この誤りパターン取得部19fは、例えば誤りパターンの少なくとも一部が既知であったり、ビタビ復号化処理の過程において信頼性の高い誤りパターンの候補が得られた場合等、つまり、シンドロームを用いて算出することなく信頼性の高い誤りパターンが得られる場合に、その誤りパターンを取得するものである。
さらに、上記復号化処理部19は、不揮発性メモリ21にアクセスして所望のシンドロームを取得するためのメモリ制御部19g、詳細は後述するが、不揮発性メモリ21から取得したシンドロームを利用して、上記シンドローム計算部19cによる計算を行なうことなくシンドロームを生成するためのシンドローム生成部19h等を備えている。
ところで、図2に示したデジタルデータ列は、最大で10個のシンボル誤りまで訂正可能である。このため、算出したシンドロームから10個を超える、例えば11個のシンボル誤りがあることが判明した場合、シンドロームに基づいて誤り訂正処理を施すことができなくなる。この11個のシンボル誤りが生じているデジタルデータ列をAとする。
ここで、例えば先頭から11番目に誤りシンボルが存在するとし、その誤りシンボルに対して、信頼性の高い誤りパターン(例えば1000000001)が得られるとする。すると、この誤りパターンを用いて、先頭から11番目の誤りシンボル(例えば1111111111)を誤り訂正すれば、具体的には、誤りパターン(1000000001)と誤りシンボル(1111111111)との排他的論理和演算を行なえば、先頭から11番目の誤りシンボルを誤り訂正して正しいシンボル(0111111110)を得ることができる。
そして、このように、先頭から11番目のシンボルが誤り訂正されたことにより、上記デジタルデータ列Aは、10個のシンボル誤りが生じているデジタルデータ列Bとなる。このため、このデジタルデータ列Bは、シンドロームを計算することによる誤り訂正処理が可能なものとなる。しかしながら、デジタルデータ列Bに対してシンドロームを再度計算することは、処理時間を要し誤り訂正処理の高速化が損なわれることになる。
そこで、この実施の形態では、デジタルデータ列Bに対するシンドロームの再計算に要する時間を短縮して、誤り訂正処理の高速化を効果的に図るようにしている。具体的に言えば、図2に示したデジタルデータ列の先頭から11番目のシンボルに、1000000001なる誤りパターンが得られる場合、1で指示されるビット、つまり、先頭から101番目のビットと110番目のビットに誤りがあることになる。
このため、図3に示したシンドロームテーブルを参照して、先頭から101番目のビット(ビット位置100)に対応するシンドローム100と、先頭から110番目のビット(ビット位置109)に対応するシンドローム109とを取得する。
そして、11個のシンボル誤りが生じているデジタルデータ列Aに対して既に計算しているシンドロームと、シンドローム100と、シンドローム109との排他的論理和演算を行なうことにより、その演算結果がデジタルデータ列Bのシンドローム、つまり、10個のシンボル誤りが生じているデジタルデータ列Bのシンドロームとなる。
すなわち、デジタルデータ列Bの全系列を最初から読み直してシンドロームの計算を行なう場合に比べて、極めて短時間でデジタルデータ列Bのシンドロームを容易に得ることができる。
その後、得られたシンドロームを利用して誤り位置多項式及び誤り評価多項式を解き、それらの解から誤りパターンを算出し、この誤りパターンに基づいてデジタルデータ列Bを誤り訂正することができる。このため、シンドロームの再計算に要する時間を短縮して誤り訂正処理の高速化を効果的に促進することが可能となる。
なお、得られたシンドロームを用いてデジタルデータ列Bの誤り訂正が正しく行なえなかった場合には、先にデジタルデータ列Aの先頭から11番目の誤りシンボルを訂正するのに使用した誤りパターンが正しくなかったことになる。この場合、デジタルデータ列Aの先頭から11番目の誤りシンボルに対して、他の誤りパターンの候補が存在する場合には、それを用いて先頭から11番目の誤りシンボルを再訂正してデジタルデータ列Bを求め、上記と同様にシンドロームを短時間で生成して誤り訂正を行なうことができる。
図5及び図6は、上記した復号化処理部19の処理動作をまとめたフローチャートを示している。この処理動作は、ハードディスク18から読み取られたデジタルデータ列が復号化処理部19に入力されることにより開始(ステップS1)される。
すると、コントローラ19aは、ステップS2で、入力されたデジタルデータ列に対して、ビタビ復号化処理部19bによりビタビ復号化処理を実行させる。その後、コントローラ19aは、ステップS3で、ビタビ復号化処理されたデジタルデータ列に対して、シンドローム計算部19cによりシンドロームを計算させる。
そして、コントローラ19aは、ステップS4で、計算されたシンドロームから誤り判定部19dにより誤りシンボルの数が0か否かを判別させ、誤りシンボルの数が0であると判断された場合(YES)、処理を終了(ステップS15)し、ECCパリティを除いたデジタルデータ列を後段の復調処理部20に出力する。
また、上記ステップS4で誤りシンボルの数が0でないと判断された場合(NO)、コントローラ19aは、ステップS5で、誤り判定部19dにより誤りシンボル数が最大訂正可能数N以下であるか否かを判別させる。
そして、最大訂正可能数N以下であると判断された場合(YES)、コントローラ19aは、ステップS6で、誤り訂正処理部19eにより、ステップS3で計算されたシンドロームに基づいて誤りパターンを算出させ、その誤りパターンに基づいてステップS2でビタビ復号化処理されたデジタルデータ列に誤り訂正処理を施させて、処理を終了(ステップS15)する。
また、上記ステップS5で誤りシンボル数が最大訂正可能数Nを超えると判断された場合(NO)、コントローラ19aは、ステップS7で、誤りパターン取得部19fにより、いずれかの誤りシンボルに対して信頼性の高い誤りパターンが取得されているか否かを判別する。
そして、誤りパターンが取得されていないと判断された場合(NO)、コントローラ19aは、ステップS8で、誤り訂正不可と判断し、その場合に予め設定された所定の対策処理を実行した後、処理を終了(ステップS15)する。
また、上記ステップS7で誤りパターンが取得されていると判断された場合(YES)、コントローラ19aは、ステップS9で、誤り訂正処理部19eにより、誤りパターン取得部19で取得された誤りパターンに基づいて、ステップS2でビタビ復号化処理されたデジタルデータ列に誤り訂正処理を実行させる。
その後、コントローラ19aは、ステップS10で、ステップS9による誤り訂正処理の結果、デジタルデータ列の誤りシンボルの数が0になったか否かを判別し、誤りシンボルの数が0であると判断された場合(YES)、処理を終了(ステップS15)し、ECCパリティを除いたデジタルデータ列を後段の復調処理部20に出力する。
また、上記ステップS10で誤りシンボルの数が0でないと判断された場合(NO)、コントローラ19aは、ステップS11で、誤りシンボル数が最大訂正可能数N以下であるか否かを判別させる。
そして、誤りシンボル数が最大訂正可能数Nを超えると判断された場合(NO)、コントローラ19aは、ステップS8で、誤り訂正不可と判断し、その場合に予め設定された所定の対策処理を実行した後、処理を終了(ステップS15)する。
また、上記ステップS11で誤りシンボル数が最大訂正可能数N以下であると判断された場合(YES)、コントローラ19aは、ステップS12で、メモリ制御部19gを用いて、誤りパターン取得部19fで取得した誤りパターンに基づき、誤りの発生しているビット位置のシンドロームを、不揮発性メモリ21のシンドロームテーブルから取得する。
その後、コントローラ19aは、ステップS13で、シンドローム生成部19hにより、ステップS12で取得した誤りビット位置のシンドロームと、ステップS3で計算されたシンドロームとの排他的論理和を演算して、ステップS9で誤り訂正されたデジタルデータ列に対するシンドロームを生成する。
そして、コントローラ19aは、ステップS14で、誤り訂正処理部19eにより、ステップS13で生成されたシンドロームに基づいて誤りパターンを算出させ、その誤りパターンに基づいてステップS9で誤り訂正処理されたデジタルデータ列に誤り訂正処理を施させて、処理を終了(ステップS15)する。
上記した実施の形態によれば、デジタルデータ列Aがその誤り訂正符号による最大訂正能力を超えるシンボル誤りを有しており、いずれかの誤りシンボルに対する誤りパターンが既知、または、高い信頼性を持って取得可能である場合、その誤りパターンに基づいてデジタルデータ列Aを誤り訂正する。
そして、誤り訂正後のデジタルデータ列Bの誤りシンボル数が最大訂正可能数以下である場合に、シンドロームテーブルから得た誤りビット位置のシンドロームと、デジタルデータ列Aから算出したシンドロームとの排他的論理和を演算して、デジタルデータ列Bに対するシンドロームを生成し、そのシンドロームに基づいてデジタルデータ列Bの誤り訂正処理を行なうようにしている。
すなわち、デジタルデータ列Bに対するシンドロームは、シンドロームテーブルから得た誤りビット位置のシンドロームと、デジタルデータ列Aから既に算出しているシンドロームとの排他的論理和をとるだけの簡単な演算処理によって生成することができる。このため、デジタルデータ列Bに対するシンドロームの再計算に要する時間を非常に短縮することができ、誤り訂正処理の高速化を効果的に促進することが可能となる。
また、上記した実施の形態では、図2において、先頭から11番目の誤りシンボルに対して、誤りパターンを取得することができた場合について説明したが、複数の誤りシンボルに対してそれぞれ誤りパターンを取得することができる場合、または、複数の連続する誤りシンボルにまたがって誤りパターンを取得することができる場合には、それらの誤りパターンに基づいて各誤りシンボルをそれぞれ訂正することができる。さらに、誤りパターンの候補が複数個存在する場合には、それらを同時に適用して誤り訂正することも可能である。
ここで、上記した実施の形態では、情報記録媒体としてハードディスク(磁気ディスク)を用いた例について説明したが、情報記録媒体としては、例えばDVD(digital versatile disk)のような光ディスク等であっても、上記と同様の手法を適用して誤り訂正処理の高速化を図ることが可能であることは言うまでもないことである。
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
11…HDD、12…ホスト装置、13…ホストI/F、14…主制御部、15…変調処理部、16…符号化処理部、17…ディスクI/F、18…ハードディスク、19…復号化処理部、20…復調処理部、21…不揮発性メモリ。
Claims (11)
- 誤り訂正符号に基づいて符号化された第1のデジタルデータ列からシンドロームを計算する計算手段と、
前記計算手段で計算されたシンドロームに基づいて、前記第1のデジタルデータ列が前記誤り訂正符号により誤り訂正可能か否かを判定する第1の判定手段と、
前記第1の判定手段により誤り訂正可能であると判定された場合、前記計算手段で計算されたシンドロームに基づいて前記第1のデジタルデータに誤り訂正処理を施す第1の訂正手段と、
前記第1の判定手段により誤り訂正不可であると判定された場合、前記計算手段で計算されたシンドロームを用いることなく取得可能な誤りパターンに基づいて、前記第1のデジタルデータに誤り訂正処理を施す第2の訂正手段と、
前記第1のデジタルデータ列の各ビット位置にそれぞれビット誤りが生じたときのシンドロームが予め計算されて記憶される記憶手段と、
前記第2の訂正手段により誤り訂正処理の施された第2のデジタルデータ列が、前記誤り訂正符号により誤り訂正可能か否かを判定する第2の判定手段と、
前記第2の判定手段により誤り訂正可能であると判定された場合、前記計算手段で計算されたシンドロームと、前記第2の訂正手段で用いた誤りパターンが指示する誤りビット位置に対応して前記記憶手段から読み出したシンドロームとに基づいて、前記第2のデジタルデータ列に対するシンドロームを生成する生成手段と、
前記生成手段で生成されたシンドロームに基づいて前記第2のデジタルデータ列に誤り訂正処理を施す第3の訂正手段とを具備することを特徴とする誤り訂正処理装置。 - 前記生成手段は、前記計算手段で計算されたシンドロームと、前記第2の訂正手段で用いた誤りパターンが指示する誤りビット位置に対応して前記記憶手段から読み出したシンドロームとの排他的論理和を演算することにより、前記第2のデジタルデータ列に対するシンドロームを生成することを特徴とする請求項1記載の誤り訂正処理装置。
- 前記第2の訂正手段は、前記第1のデジタルデータ列に対する誤りパターンの少なくとも一部が取得可能な場合、その取得可能な部分の誤りパターンを用いて、前記第1のデジタルデータに誤り訂正処理を施すことを特徴とする請求項1記載の誤り訂正処理装置。
- 前記第2の訂正手段は、ディスク状の情報記録媒体から読み取ったデータにビタビ復号化処理を施して前記第1のデジタルデータ列を得る過程で取得可能な誤りパターンを用いて、前記第1のデジタルデータに誤り訂正処理を施すことを特徴とする請求項1記載の誤り訂正処理装置。
- ディスク状の情報記録媒体から誤り訂正符号に基づいて符号化された第1のデジタルデータ列を取得する取得手段と、
前記取得手段で取得された第1のデジタルデータ列からシンドロームを計算する計算手段と、
前記計算手段で計算されたシンドロームに基づいて、前記第1のデジタルデータ列が前記誤り訂正符号により誤り訂正可能か否かを判定する第1の判定手段と、
前記第1の判定手段により誤り訂正可能であると判定された場合、前記計算手段で計算されたシンドロームに基づいて前記第1のデジタルデータに誤り訂正処理を施す第1の訂正手段と、
前記第1の判定手段により誤り訂正不可であると判定された場合、前記計算手段で計算されたシンドロームを用いることなく取得可能な誤りパターンに基づいて、前記第1のデジタルデータに誤り訂正処理を施す第2の訂正手段と、
前記第1のデジタルデータ列の各ビット位置にそれぞれビット誤りが生じたときのシンドロームが予め計算されて記憶される記憶手段と、
前記第2の訂正手段により誤り訂正処理の施された第2のデジタルデータ列が、前記誤り訂正符号により誤り訂正可能か否かを判定する第2の判定手段と、
前記第2の判定手段により誤り訂正可能であると判定された場合、前記計算手段で計算されたシンドロームと、前記第2の訂正手段で用いた誤りパターンが指示する誤りビット位置に対応して前記記憶手段から読み出したシンドロームとに基づいて、前記第2のデジタルデータ列に対するシンドロームを生成する生成手段と、
前記生成手段で生成されたシンドロームに基づいて前記第2のデジタルデータ列に誤り訂正処理を施す第3の訂正手段と、
前記第1または第3の訂正手段の出力を外部に出力する出力手段とを具備することを特徴とする情報再生装置。 - 前記取得手段は、前記ディスク状の情報記録媒体から読み取ったデータにビタビ復号化処理を施して前記第1のデジタルデータ列を取得し、
前記第2の訂正手段は、前記ビタビ復号化処理の過程で取得可能な誤りパターンを用いて、前記第1のデジタルデータに誤り訂正処理を施すことを特徴とする請求項5記載の情報再生装置。 - 前記ディスク状の情報記録媒体は、磁気ディスクであることを特徴とする請求項5記載の情報再生装置。
- 誤り訂正符号に基づいて符号化された第1のデジタルデータ列からシンドロームを計算する第1の工程と、
前記第1の工程で計算されたシンドロームに基づいて、前記第1のデジタルデータ列が前記誤り訂正符号により誤り訂正可能か否かを判定する第2の工程と、
前記第2の工程により誤り訂正可能であると判定された場合、前記第1の工程で計算されたシンドロームに基づいて前記第1のデジタルデータに誤り訂正処理を施す第3の工程と、
前記第2の工程により誤り訂正不可であると判定された場合、前記第1の工程で計算されたシンドロームを用いることなく取得可能な誤りパターンに基づいて、前記第1のデジタルデータに誤り訂正処理を施す第4の工程と、
前記第4の工程により誤り訂正処理の施された第2のデジタルデータ列が、前記誤り訂正符号により誤り訂正可能か否かを判定する第5の工程と、
前記第5の工程により誤り訂正可能であると判定された場合、前記第1の工程で計算されたシンドロームと、前記第1のデジタルデータ列の各ビット位置にそれぞれビット誤りが生じたときのシンドロームが予め計算されて記憶された記憶手段から、前記第4の工程で用いた誤りパターンが指示する誤りビット位置に対応して読み出したシンドロームとに基づいて、前記第2のデジタルデータ列に対するシンドロームを生成する第6の工程と、
前記第6の工程で生成されたシンドロームに基づいて前記第2のデジタルデータ列に誤り訂正処理を施す第7の工程とを具備することを特徴とする誤り訂正処理方法。 - 前記第6の工程は、前記第1の工程で計算されたシンドロームと、前記第4の工程で用いた誤りパターンが指示する誤りビット位置に対応して前記記憶手段から読み出したシンドロームとの排他的論理和を演算することにより、前記第2のデジタルデータ列に対するシンドロームを生成することを特徴とする請求項8記載の誤り訂正処理方法。
- 前記第4の工程は、前記第1のデジタルデータ列に対する誤りパターンの少なくとも一部が取得可能な場合、その取得可能な部分の誤りパターンを用いて、前記第1のデジタルデータに誤り訂正処理を施すことを特徴とする請求項8記載の誤り訂正処理方法。
- 前記第4の工程は、ディスク状の情報記録媒体から読み取ったデータにビタビ復号化処理を施して前記第1のデジタルデータ列を得る過程で取得可能な誤りパターンを用いて、前記第1のデジタルデータに誤り訂正処理を施すことを特徴とする請求項8記載の誤り訂正処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006023615A JP2007207325A (ja) | 2006-01-31 | 2006-01-31 | 誤り訂正処理装置及び誤り訂正処理方法 |
US11/585,078 US20070198904A1 (en) | 2006-01-31 | 2006-10-24 | Error correction processing apparatus and error correction processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006023615A JP2007207325A (ja) | 2006-01-31 | 2006-01-31 | 誤り訂正処理装置及び誤り訂正処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007207325A true JP2007207325A (ja) | 2007-08-16 |
Family
ID=38429814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006023615A Withdrawn JP2007207325A (ja) | 2006-01-31 | 2006-01-31 | 誤り訂正処理装置及び誤り訂正処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070198904A1 (ja) |
JP (1) | JP2007207325A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11030043B2 (en) | 2019-03-15 | 2021-06-08 | Toshiba Memory Corporation | Error correction circuit and memory system |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012124643A (ja) * | 2010-12-07 | 2012-06-28 | Fuji Xerox Co Ltd | 受信装置及びデータ転送装置 |
JP2012124642A (ja) * | 2010-12-07 | 2012-06-28 | Fuji Xerox Co Ltd | 受信装置、データ転送装置、及びプログラム |
US8898526B1 (en) * | 2012-07-23 | 2014-11-25 | Google Inc. | Using forward error correction coding to diagnose communication links |
JP2015053096A (ja) | 2013-09-09 | 2015-03-19 | マイクロン テクノロジー, インク. | 半導体装置、及び誤り訂正方法 |
US9354970B2 (en) * | 2014-03-31 | 2016-05-31 | Advanced Micro Devices, Inc. | Method and apparatus for encoding erroneous data in an error correction code protected memory |
US10381102B2 (en) | 2014-04-30 | 2019-08-13 | Micron Technology, Inc. | Memory devices having a read function of data stored in a plurality of reference cells |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4466099A (en) * | 1981-12-20 | 1984-08-14 | International Business Machines Corp. | Information system using error syndrome for special control |
EP0386506A3 (en) * | 1989-03-06 | 1991-09-25 | International Business Machines Corporation | Low cost symbol error correction coding and decoding |
-
2006
- 2006-01-31 JP JP2006023615A patent/JP2007207325A/ja not_active Withdrawn
- 2006-10-24 US US11/585,078 patent/US20070198904A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11030043B2 (en) | 2019-03-15 | 2021-06-08 | Toshiba Memory Corporation | Error correction circuit and memory system |
Also Published As
Publication number | Publication date |
---|---|
US20070198904A1 (en) | 2007-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4261575B2 (ja) | 誤り訂正処理装置及び誤り訂正処理方法 | |
US7530009B2 (en) | Data storage method and data storage device | |
JP3663377B2 (ja) | データ記憶装置、読み出しデータの処理装置および読み出しデータの処理方法 | |
US7730379B2 (en) | Method and apparatus for error code correction | |
JP6415557B2 (ja) | 積符号のための誤りおよび消失組合せ復号のためのシステム、方法、およびコンピュータ・プログラム | |
US8301948B2 (en) | Storage device with adaptive error-correcting code for improved areal efficiency | |
US20070266300A1 (en) | Error correction device, encoder, decoder, method, and information storage device | |
US9251846B2 (en) | Tape header protection scheme for use in a tape storage subsystem | |
US20040257900A1 (en) | Data recording method, recording medium and reproduction apparatus | |
US20080320369A1 (en) | Data retrieval from a storage device using a combined error correction and detection approach | |
JP2007207325A (ja) | 誤り訂正処理装置及び誤り訂正処理方法 | |
JP2004171751A (ja) | オンドライブ統合化セクタ・フォーマットraidの誤り訂正符号システムおよび方法 | |
JP6817301B2 (ja) | 積符号のためのダイアグノスティクスを伴う復号後エラー・チェック | |
US20090276685A1 (en) | Data decoding apparatus, magnetic disk apparatus, and data decoding method | |
US7861136B2 (en) | Error correcting apparatus and error correcting method | |
JP4988418B2 (ja) | 回転する記憶媒体の複数の層にデータを読み書きする方法、プログラム及びデータ記憶装置 | |
JP4861509B1 (ja) | 符号化・復号化装置、データ記憶装置、及び方法 | |
US20120198304A1 (en) | Information reproduction apparatus and information reproduction method | |
US9633691B2 (en) | Storage controller, storage device, and method | |
JP2005512383A (ja) | 単純な復号化方法及び装置 | |
JP2005209286A (ja) | データ記録方法、記録媒体及び再生装置 | |
JP2009271963A (ja) | 復号方法、ハードディスクコントローラ及びハードディスク装置 | |
JP2005142812A (ja) | 誤り訂正方法、誤り訂正回路、および情報再生装置 | |
JP2000113607A (ja) | 積符号誤り訂正装置および訂正方法 | |
JPH11177440A (ja) | 誤訂正検証方法および装置、エラー訂正装置、再生装置、記録再生装置、通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080530 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100326 |