JP3945602B2 - 訂正検査方法及び訂正検査装置 - Google Patents

訂正検査方法及び訂正検査装置 Download PDF

Info

Publication number
JP3945602B2
JP3945602B2 JP23423098A JP23423098A JP3945602B2 JP 3945602 B2 JP3945602 B2 JP 3945602B2 JP 23423098 A JP23423098 A JP 23423098A JP 23423098 A JP23423098 A JP 23423098A JP 3945602 B2 JP3945602 B2 JP 3945602B2
Authority
JP
Japan
Prior art keywords
correction
error
error correction
value
data
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.)
Expired - Fee Related
Application number
JP23423098A
Other languages
English (en)
Other versions
JP2000004170A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP23423098A priority Critical patent/JP3945602B2/ja
Priority to US09/162,142 priority patent/US6317855B1/en
Priority to TW087117957A priority patent/TW411443B/zh
Publication of JP2000004170A publication Critical patent/JP2000004170A/ja
Application granted granted Critical
Publication of JP3945602B2 publication Critical patent/JP3945602B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • 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/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
    • 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
    • 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
    • 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

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)

Description

【0001】
【発明の属する技術分野】
本発明は記録媒体から読み出されたデータの誤りを訂正する誤り訂正処理の結果に誤りが有るか否かを検査する訂正検査方法及び訂正検査装置に関するものである。
【0002】
近年、光ディスク等の記録媒体における記録容量の大容量化に伴い、そのデータ読み出しに要する時間が長くなっている。特に、データ読み出しに要する時間のうち、誤り訂正処理動作に要する時間の割合が長くなる傾向にある。そのため、誤り訂正処理動作における訂正検査処理、特に誤り訂正処理の結果に誤りが有るか否かを検査する訂正検査処理に要する時間の短縮化を図る必要がある。
【0003】
【従来の技術】
従来、記録媒体(テープ、ビデオ、CD、DVD等)に記録されたデータには、そのデータの読み出し時等に発生する誤りを検出するために誤り検出符号(EDC:Error Detecting Code)が予め付加されている。また、データには、発生する誤りを訂正するために誤り訂正符号(ECC:Error Correcting Code) が予め付加されている。
【0004】
例えばDVD−ROMに記録されるデータのフォーマットを説明すると、図15に示すように、一つのセクタ1は、12バイトのID及び予約領域と、2kバイトのユーザーデータと、4バイトの誤り検出符号EDCとから構成される。
【0005】
誤り検出符号EDCは、例えばID及び予約領域に格納されたデータとユーザデータに、巡回冗長検査(CRC:cyclic redundancy check )に基づく演算(以下、CRC演算という)を行った演算結果に対応する符号(巡回符号:cyclic code であり、以下CRCデータという)である。そして、誤り検出符号EDCは、誤り訂正が正しく行われたか、又は誤り訂正によりデータが正しく復元されたかを確認するために付加される。
【0006】
各セクタ1はPI方向(行方向、すなわち図16において横方向であり、この方向を第1方向とする)に12段のデータとして構成され、1段が172バイトのデータとして構成される。従って、初段は12バイトのID及び予約領域と160バイトのユーザーデータが記録され、終段は168バイトのユーザーデータと4バイトの誤り検出符号EDCが記録され、中間段は172バイトのユーザーデータが記録される。
【0007】
図16に示すように、データブロック2は16個のセクタ1と、PO−ECC部3及びPI−ECC部4とから構成される。PO−ECC部3は、各セクタ1を跨るPO方向(列方向、すなわち図16において縦方向であり、この方向を第2方向とする)のデータに対する誤り訂正符号であり、PI−ECC部4はPO−ECC部3を含むPI方向の誤り訂正符号である。
【0008】
そして、PI−ECC部4はデータブロック2内のPI方向の1行毎、すなわちPIインターリーブ毎の誤り訂正を行うためのシンドロームを生成するために付加され、PO−ECC部3はデータブロック2内のPO方向の1列毎、すなわちPOインターリーブ毎の誤り訂正を行うためのシンドロームを生成するために付加される。
【0009】
データブロック2は、図19に示す符号化フォーマットでDVD−ROM上に格納される。すなわち、PO−ECC部3は各インターリーブ毎に分割され、各セクタ1間に1インターリーブずつが挿入される。
【0010】
このようなフォーマットにより、データ再生時の誤り訂正処理において、高い誤り検出・訂正能力が確保される。
そして、記録媒体に対してデータの入出力を行うコントローラには、データブロック2の誤りを訂正する誤り訂正回路が備えられる。先ず、誤り訂正回路は、PI方向の誤り訂正処理を実行する。即ち、誤り訂正回路は、図17に示すように、PI方向のデータを1バイトずつ順次入力し、PIシンドロームを順次作成する。
【0011】
誤り訂正回路は、1インターリーブのPIシンドロームに基づいて誤り情報を作成する。誤り情報は、誤データの位置と誤データに対する補正値を含む。誤り訂正回路は、誤り情報の誤り位置のデータと補正値を用いて、1インターリーブのデータに発生する誤りを訂正する。そして、誤り訂正回路は、上記の処理を全PIインターリーブについて繰り返し実行する。
【0012】
次に、誤り訂正回路は、PI方向の誤り訂正処理と同様に、PO方向の誤り訂正処理を実行する。即ち、誤り訂正回路は、図18に示すように、PO方向のデータを1バイトずつ順次入力し、POシンドロームを順次作成する。誤り訂正回路は、1インターリーブのPOシンドロームを作成すると、誤り情報を作成する。誤り訂正回路は、誤り情報に基づいて、誤り位置のデータと補正値を演算する事により、1インターリーブのデータに発生する誤りを訂正する。そして、誤り訂正回路は、上記の処理を全POインターリーブについて繰り返し実行する。
【0013】
このようにして、誤り訂正回路は、データブロック2の全てのデータに対してPI方向とPO方向に誤り訂正を実施する。
【0014】
【発明が解決しようとする課題】
ところで、前記各誤り訂正処理において、ユーザデータが正しく訂正されたか否かを検査する誤り検出処理を実施する必要がある。ユーザデータが正しく訂正されていない場合、再びPI,PO誤り訂正をエラーが無くなるまで繰り返す必要があるからである。そして、誤り検出処理は、各誤り訂正処理毎に行われる必要がある。もし、PI誤り訂正においてユーザデータが正しく訂正された場合、PO誤り訂正処理を省略して誤り訂正処理の処理時間を短縮しなければならないからである。
【0015】
即ち、誤り訂正回路は、PI方向,PO方向の誤り訂正処理に対してそれぞれ誤り検出処理を行う。誤り検出処理は、セクタ1のユーザデータに付加した誤り検出符号EDCを利用して、ユーザデータの品質を評価するものである。尚、誤り検出符号EDCとしてCRCデータをユーザデータに付加してあることから、誤り訂正回路は誤り検出処理としてCRCチェックを実施する。
【0016】
誤り訂正回路は、図15の1セクタに含まれるデータ(ID及び予約領域に格納されたデータ、ユーザデータ及び誤り検出符号EDC)を基礎データとし、その基礎データに対して検査演算としてのCRC演算を実施する。その演算結果は、ユーザデータに誤りが発生していない場合にゼロとなる。従って、ユーザデータに誤りが発生している場合、CRC演算の演算結果は、発生したエラーに相当する値となる。このことに基づいて、誤り訂正回路は、上記誤り訂正処理の正否を判断する。
【0017】
即ち、誤り訂正回路は、先ず、誤り訂正前の基礎データをCRC演算し、その演算結果を記憶する。次に、誤り訂正回路は、シンドロームから作成した補正値をCRC演算する。そして、誤り訂正回路は、両演算結果を比較し、両演算結果が等しい場合に補正値により誤り訂正を行った結果が正しいと判断する。
【0018】
そして、誤り訂正回路は、PI方向の誤り訂正処理を行う際に、誤り検出処理を実施することができる。即ち、CRCデータは、基礎データの入力順に演算されたデータである。この基礎データの入力方向は、図15において横方向であり、図16のPI誤り訂正処理におけるデータの入力方向と一致している。従って、誤り訂正回路は、PI誤り訂正処理においてPIインターリーブのデータを入力する際に、基礎データをCRC演算する。これにより、CRC演算をPI誤り訂正処理と別に行う場合に比べて誤り訂正処理に要する時間を短くする。
【0019】
しかしながら、誤り訂正回路は、PO方向の誤り訂正処理を行う際に誤り検出処理を実施することができない。これは、CRC演算はデータ入力順に重みを持っているためである。PO誤り訂正処理におけるデータの入力順は、CRC演算の際に入力する基礎データの入力方向と直交している。従って、PO誤り訂正処理においてPOインターリーブのデータを入力する際にCRC演算を行う事ができない。
【0020】
そのため、誤り訂正回路は、PO方向の誤り訂正処理を行った後、再びPI方向の誤り訂正処理を行うしか、他に提唱されていなかった。即ち、そのPI方向の誤り訂正処理においてCRCチェックを行うことにより、PO方向の誤り訂正処理が正しく行われたか否かを判断する訳である。
【0021】
従って、PO方向の誤り訂正処理の後にPI誤り訂正処理を行う必要があるため、そのデータ読み出し,誤り訂正処理に要する時間余分に必要で、全体での処理時間が増大するという問題点がある。そして、DVD−ROMでは、一つのデータブロックのデータ量が非常に大きいため、バッファメモリに対するアクセス時間が増大して、誤り訂正処理に要する時間がますます増大するという問題点がある。
【0022】
本発明は上記問題点を解決するためになされたものであって、その目的は誤り検査符号を演算する際のデータの入力方向と異なる方向に誤り訂正を行う誤り訂正処理の結果をチェックする訂正検査処理に要する時間を短縮することのできる訂正検査方法及び訂正検査装置を提供することにある。
【0023】
【課題を解決するための手段】
請求項1に記載の発明によれば、第1方向に対応した誤り検出符号を備える基礎データに対し、当該誤り検出符号を用いて検査演算を行って生成した第1標本値と、第1方向の誤り訂正によって得られた訂正値に対して検査演算を行って生成した第2標本値とが比較されて、第1検査値が得られる。この第1検査値により第1方向に対する訂正検査が行われる。次に、第1方向に誤り訂正がなされた基礎データに対して、第1方向とは異なる第2方向に誤り訂正を行い、その第2方向の誤り訂正によって得られた訂正値を第1方向に沿って検査演算を行い、第3標本値が生成される。そして、第1検査値と第3標本値とが比較されて、前記第2方向の誤り訂正を検査する第2検査値が生成されるようにした。これにより、第2方向に対する訂正検査において、再び第1方向への誤り訂正及びその訂正内容の評価を行うための第1方向への基礎データの読み出しを行う必要がなくなる。
【0024】
なお、少なくとも前記第1検査値あるいは第2検査値は、請求項2に記載の発明のように、その比較を排他的論理和演算によってなすことにより得ることができる。
【0025】
前記第3標本値は、請求項3に記載の発明のように、第2方向の誤り訂正によって得た訂正値を第1方向に沿って並び替え、その結果を検査演算して得ることができる。また、前記第3標本値は、請求項4に記載の発明のように、第2方向の誤り訂正によって得た訂正値を第1方向に沿って順次取得しつつ検査演算して得ることができる。
【0026】
前記検査値は、請求項5に記載の発明のように、演算すべきデータが誤り位置以外である時は零を演算し、誤り位置に到達した場合はその位置に対応する訂正値を演算して得ることができる。
【0027】
請求項6に記載の発明によれば、第1方向に対応した誤り検出符号を備える基礎データに対し、当該誤り検出符号を用いて検査演算が行われて生成された第1標本値と、第1方向とは異なる第2方向に行った誤り訂正によって得られた訂正値を第1方向に沿って検査演算されて生成された第2標本値とが比較されて第2方向の誤り訂正を検査する検査値が生成される。また、基礎データは、前記第1方向に誤り訂正処理がなされたものであり、この基礎データに対して前記第2方向の誤り訂正を検査する検査値が生成される。これにより、第2方向に対する訂正検査において、再び第1方向への誤り訂正及びその訂正内容の評価を行うための第1方向への基礎データの読み出しを行う必要がなくなる。
【0028】
なお、前記検査値は、請求項7に記載の発明のように、第1標本値と第2標本値とを排他的論理和演算し得ることができる。
前記第2標本値は、請求項8に記載の発明のように、第2方向の誤り訂正によって得た訂正値を第1方向に沿って並び替えし、その結果を検査演算して生成することができる。また、前記第2標本値は、請求項9に記載の発明のように、第2方向の誤り訂正によって得た訂正値を第1方向に沿って順次取得しつつ検査演算を行って生成することができる。
【0029】
前記検査値は、請求項10に記載の発明のように、演算すべきデータが誤り位置以外である時は零を演算し、誤り位置に到達した場合はその位置に対応する訂正値を演算して得ることができる。
【0031】
請求項1に記載の発明によれば、第1方向に対応した誤り検出符号を備える基礎データに対し、当該誤り検出符号を用いて検査演算を行って生成した第1標本値と、第1方向に誤り訂正によって得られた訂正値に対して検査演算を行って生成した第2標本値とを比較して、第1検査値が生成される。この第1検査値により第1方向に対する訂正検査が行われる。次に、第1方向に誤り訂正がなされた基礎データに対して、第1方向とは異なる第2方向に誤り訂正が行われ、それによって得られた訂正値を第1方向に沿って検査演算を行って生成した第3標本値と第1検査値とを比較して、第2方向の誤り訂正を検査する第2検査値が生成される。これにより、第2方向に対する訂正検査において、再び第1方向への誤り訂正及びその訂正内容の評価を行うための第1方向への基礎データの読み出しを行う必要がなくなる。
【0032】
なお、少なくとも前記第1比較部あるいは第2比較部は、請求項1に記載の発明のように、その比較を排他的論理和演算によってなすことにより前記検査値を得ることができる。
【0033】
前記第3検査演算部は、請求項1に記載の発明のように、第2方向の誤り訂正によって得られた訂正値を第1方向に沿って並び替えて保管する記憶部と、その結果を検査演算する検査演算部とを備え、その検査演算により前記第3標本値を生成することができる。また、前記第3検査演算部は、請求項1に記載の発明のように、第2方向の誤り訂正によって得られた訂正値を第1方向に沿って順次取得するデータ呼び出し部と、その呼び出されたデータに対して順次に検査演算を行う検査演算部とを備え、その検査演算により前記第3標本値を生成することができる。
【0034】
前記検査演算部は、請求項1に記載の発明のように、演算すべきデータが誤り位置以外である時は零を演算し、誤り位置に到達した場合はその位置に対応する訂正値を演算して前記標本値を得ることができる。
【0035】
請求項1に記載の発明によれば、第1方向に対応した誤り検出符号を備える基礎データに対し、当該誤り検出符号を用いて検査演算を行って第1標本値が得られる。次に、第1方向とは異なる第2方向に誤り訂正が行われ、それにより得られた訂正値を第1方向に沿って検査演算して第2標本値を得る。そして、第1標本値と前記第2標本値とを比較して、第2方向の誤り訂正を検査する検査値が得られる。また、基礎データが前記第1方向に誤り訂正処理されたものであり、この基礎データに対して前記第2方向の誤り訂正を検査する検査値が得られる。これにより、第2方向に対する訂正検査において、再び第1方向への誤り訂正及びその訂正内容の評価を行うための第1方向への基礎データの読み出しを行う必要がなくなる。
【0036】
なお、前記比較部は、請求項1に記載の発明のように、比較部により、第1標本値と第2標本値とを排他的論理和演算することにより前記第1検査値を得ることができる。
【0037】
前記第2検査演算部は、請求項1に記載の発明のように、第2方向の誤り訂正によって得られた訂正値を第1方向に沿って並び替えて保管する記憶部と、その結果を検査演算する検査演算部とを備え、その検査演算により前記第2標本値を生成することができる。また、前記第2検査演算部は、請求項19に記載の発明のように、第2方向の誤り訂正によって得られた訂正値を第1方向に沿って呼び出すデータ呼び出し部と、その呼び出されたデータに対して順次に検査演算を行う検査演算部とを備え、その検査演算により前記第2標本値を生成することができる。
【0038】
前記検査演算部は、請求項2に記載の発明のように、演算すべきデータが誤り位置以外である時は零を演算し、誤り位置に到達した場合はその位置に対応する訂正値を演算して前記標本値を得ることができる。
【0039】
【発明の実施の形態】
(第一実施形態)
以下、本発明を具体化した第一実施形態を図1〜図8に従って説明する。
【0040】
図1に示すように、光ディスク制御装置21は、ATAPI(AT attachment packet interface)等の所定のインターフェースを介してコンピュータ22に接続されている。また、光ディスク制御装置21は、インターフェースを介して光ディスク駆動装置23に接続されている。
【0041】
光ディスク駆動装置23は、記録媒体としてのデジタルビデオディスク(DVD:Digital Video Disk)24を所定の速度で回転駆動するとともに、DVD24に記録されたデータを図示しない光ピックアップにより読み出す。そして、光ディスク駆動装置23は、読み出しデータを光ディスク制御装置21に出力する。
【0042】
光ディスク制御装置21は、光ディスクコントローラ25、マイクロプロセッサ26、記憶装置としてのバッファメモリ27、インターフェース回路28、及び、入出力駆動回路29を備える。
【0043】
光ディスクコントローラ(以下、単にコントローラという)25は、光ディスク駆動装置23への命令送信及びステータス受領と、光ディスクからの読み出しフォーマット解読及びエラー訂正と、光ディスク駆動装置23とバッファメモリ27間のデータ転送と、インターフェース回路28とバッファメモリ27間のデータ転送等の各処理を行う。
【0044】
また、コントローラ25には、光ディスク駆動装置23から出力される読み出しデータが入出力駆動回路29を介して入力される。コントローラ25は、入力されるデータに誤り訂正等の処理を施してバッファメモリ27に格納する。そして、コントローラ25は、マイクロプロセッサ26の命令に基づいて、バッファメモリ27に格納したデータを、インターフェース回路28を介して外部機器としてのコンピュータ22に転送する。
【0045】
コントローラ25は、図2に示すPI誤り訂正部30と、図3に示すPO誤り訂正部40を含んで構成される。
図2に示すように、PI誤り訂正部30は、第1誤り訂正部としての誤り情報生成回路31、第1誤り訂正部としての誤り訂正回路32、第1検査演算部としての第1CRC演算回路33、第2検査演算部としての第2CRC演算回路34、第1比較部としてのEOR回路35を含む。PI誤り訂正部30には、図17に示すように、入力データとしてPIインターリーブが1バイトずつ順次入力される。
【0046】
誤り情報生成回路31は、入力データを基にPIシンドロームを順次作成する。そして、誤り情報生成回路31は、1インターリーブのPIシンドロームを作成すると、そのPIシンドロームを基に誤り情報を作成する。誤り情報は、第1方向としてのPI方向における誤データの位置と誤データに対する補正値を含む。誤り情報生成回路31は、生成した誤り情報を誤り訂正回路32に出力する。
【0047】
誤り訂正回路32は、1インターリーブ分の入力データを記録するためのレジスタを含む。誤り訂正回路32は、入力データ(PIインターリーブのデータ)をレジスタに記憶する。誤り訂正回路32は、誤り情報生成回路31から入力される誤り情報に基づいて、レジスタに記憶したデータの誤り訂正を行う。誤り訂正回路32は、誤り訂正後のデータを図1のバッファメモリ27に格納する。
【0048】
前記誤り情報生成回路31及び誤り訂正回路32は、上記の処理を全PIインターリーブについて繰り返し実行する。これにより、図16に示す一つのデータブロックに対する誤り訂正処理が実施される。
【0049】
第1CRC演算回路33には、前記入力データが入力される。第1CRC演算回路33は、図15の1セクタに含まれるデータ(ID及び予約領域に格納されたデータ、ユーザデータ及び誤り検出符号EDC)を基礎データとし、この基礎データに対して検査演算としてのCRC演算する。このCRC演算は、誤り検出符号EDCを算出するときの演算方法及び演算方向に対応している。
【0050】
この時、第1CRC演算回路33は、前記誤り情報生成回路31と同時に演算を行う。このことは、演算時間が長くなるのを防ぐ。そして、第1CRC演算回路33は、図15の1セクタに含まれる基礎データのCRC演算を終了すると、その演算結果を第1標本値としてEOR回路35に出力する。
【0051】
第2CRC演算回路34は、誤り情報生成回路31から入力される誤り情報に含まれる補正値を、誤データの位置に基づいてCRC演算する。CRC演算は、データ入力順と演算するデータの数に重みを持っている。そのため、図15に示す基礎データのバイト数と同じ数のデータをCRC演算しなければ正しい演算結果を得ることができない。
【0052】
従って、第2CRC演算回路34は、演算回数をカウントしている。このカウント値は、各PIインターリーブにおけるデータの入力バイト数と一致している。そして、第2CRC演算回路34は、カウント値が誤りデータの位置と一致しない、即ち、基礎データが正しい場合に、その基礎データに対する補正値を「0」としてCRC演算を行う。一方、カウント値が誤りデータの位置と一致する場合、第2CRC演算回路34は、その誤りデータの位置に対応する補正値をCRC演算する。これにより、CRC演算におけるデータ数を入力データのバイト数と一致させる。
【0053】
このようにして、第2CRC演算回路34は、図15の1セクタに含まれる基礎データのバイト数に対応する回数、補正値のCRC演算を行う。そして、第2CRC演算回路34は、CRC演算の演算結果を第2標本値としてEOR回路35に出力する。
【0054】
EOR回路35は、第1,第2CRC演算回路33,34から入力される演算結果、即ち第1,第2標本値を比較して第1検査値としての判定データを生成する。詳しくは、EOR回路35は、第1,第2標本値を排他的論理和演算(EOR演算)し、その演算結果を判定データ(第1検査値)としてメモリ36に格納する。
【0055】
メモリ36は、図1のバッファメモリ27の一部領域である。即ち、バッファメモリ27は、誤り訂正回路32による誤り訂正後のデータブロックを記憶するための領域と、判定データを記憶するための領域を有する。そして、この判定データのデータ量は、一つのデータブロックのデータ量に比べて非常に少ない。これにより、バッファメモリ27に対するアクセス時間は極僅かしか増加しない。尚、メモリ36をバッファメモリ27と別に備える構成としてもよい。その場合、バッファメモリ27に対するアクセス時間は増加しない。
【0056】
このメモリ36に格納された判定データ(第1検査値)は、PI方向の誤り訂正を行う前の基礎データをCRC演算した演算結果(第1標本値)と、PIシンドロームから作成した補正値をCRC演算した結果(第2標本値)とをEOR演算した結果である。従って、図1のコントローラ25は、判定データに基づいて、PI方向の誤り訂正が正しく行われたか否かを判断する。
【0057】
図3に示すように、PO誤り訂正部40は、第2誤り訂正部としての誤り情報生成回路41、第2誤り訂正部としての誤り訂正回路42、第3検査演算部,データ呼び出し部としてのソート回路43、第3検査演算部としてのCRC演算回路44、第2比較部としてのEOR回路45を含む。PO誤り訂正部40には、図18に示すように、入力データとしてPOインターリーブが1バイトずつ順次入力される。
【0058】
誤り情報生成回路41は、入力データを基にPOシンドロームを順次作成する。そして、誤り情報生成回路41は、1インターリーブのPOシンドロームを作成すると、そのPOシンドロームを基に誤り情報を作成する。誤り情報は、第2方向としてのPO方向における誤データの位置と誤データに対する補正値(訂正値)を含む。誤り情報生成回路41は、生成した誤り情報を誤り訂正回路42に出力する。また、誤り情報生成回路41は、生成した誤り情報をメモリ46に格納する。
【0059】
誤り訂正回路42は、1インターリーブ分の入力データを記録するためのレジスタを含む。誤り訂正回路42は、入力データ(POインターリーブのデータ)をレジスタに記憶する。誤り訂正回路42は、誤り情報生成回路41から入力される誤り情報に基づいて、レジスタに記憶したデータの誤り訂正を行う。誤り訂正回路42は、誤り訂正後のデータを図1のバッファメモリ27に格納する。
【0060】
前記誤り情報生成回路41及び誤り訂正回路42は、上記の処理を全POインターリーブについて繰り返し実行する。これにより、図16に示す一つのデータブロックに対する誤り訂正処理が実施される。そして、誤り情報生成回路41は、メモリ46に、一つのデータブロックにおけるPO方向の誤り情報を格納する。
【0061】
ソート回路43は、メモリ46に記憶された誤り情報を、誤データの位置をキーとしてPI方向にソートし、その結果を記憶部としてのメモリ46に格納する。そして、ソート回路43は、ソート後の誤り情報をメモリ46から読み出し、読み出した誤り情報をCRC演算回路44に出力する。
【0062】
このメモリ46に格納された誤り情報は、入力データに誤りがあるときのみである。そして、入力データは、PI方向に誤りが訂正されている。従って、誤り情報のデータ量は、一つのデータブロックのデータ量に比べて非常に少ない。従って、メモリ46に対する誤り情報のアクセス時間(誤り情報生成回路41からの書き込み時間、ソート回路43のアクセス時間)は、従来のPO誤り訂正後に行うPI誤り訂正に要する時間に比べて短い。
【0063】
CRC演算回路44は、ソート回路43から入力される誤り情報に含まれる補正値(訂正値)を、誤データの位置に基づいてCRC演算する。CRC演算は、データ入力順と演算するデータの数に重みを持っている。そのため、図15に示す基礎データのバイト数と同じ数のデータをCRC演算しなければ正しい演算結果を得ることができない。
【0064】
従って、CRC演算回路44は、演算回数をカウントしている。このカウント値は、各POインターリーブにおけるデータの入力バイト数と一致している。そして、CRC演算回路44は、カウント値が誤りデータの位置と一致しない、即ち、基礎データが正しい場合に、その基礎データに対する補正値を「0」としてCRC演算を行う。一方、カウント値が誤りデータの位置と一致する場合、CRC演算回路44は、その誤りデータの位置に対応する補正値をCRC演算する。これにより、CRC演算におけるデータ数を入力データのバイト数と一致させる。
【0065】
CRC演算回路44に入力される誤り情報は、ソート回路43によりPI方向にソートされている。従って、CRC演算回路44は、PO方向の誤り訂正処理において、そのPO方向と異なるデータ入力順と同じPI方向に補正値をCRC演算する。
【0066】
このようにして、CRC演算回路44は、図15の1セクタに含まれる基礎データ(ID及び予約領域に格納されたデータ、ユーザデータ及び誤り検出符号EDC)のバイト数に対応する回数、補正値のCRC演算を行う。そして、CRC演算回路44は、CRC演算の演算結果を第3標本値としてEOR回路45に出力する。
【0067】
EOR回路45は、メモリ36に格納された第1判定データ(第1検査値)を入力する。EOR回路45は、入力した判定データとCRC演算回路44から入力される演算結果、即ち第1検査値と第3標本値とを比較して第2検査値としての第2判定データを生成する。詳しくは、EOR回路45は、第1検査値と第3標本値とをEOR演算し、その演算結果を第2判定データ(第2検査値)としてメモリ47に格納する。
【0068】
メモリ36に格納された第1判定データ(第1検査値)は、上記したように、PI誤り訂正前の基礎データ(ID及び予約領域に格納されたデータ、ユーザデータ及び誤り検出符号EDC)(図15参照)のCRC演算結果(第1標本値)と、PI誤り訂正における補正値のCRC演算結果(第2標本値)をEOR演算したものである。この第1判定データは、PI誤り訂正後の基礎データのCRC演算結果、即ちPO誤り訂正前のそれと同じ値となることが判っている。従って、EOR回路45の演算結果である第2判定データ(第2検査値)は、PO誤り訂正が正確に行われたか否かを判断するためのデータとなる。即ち、図1のコントローラ25は、メモリ47に格納された第2判定データに基づいて、PO誤り訂正が正確に行われたか否かを判断する。
【0069】
尚、メモリ46,47は、メモリ36と同様に図1のバッファメモリ27の一部領域である。即ち、バッファメモリ27は、誤り訂正回路42による誤り訂正後のデータブロックを記憶するための領域、第1,第2判定データを記憶するための領域(メモリ36,47)、誤り情報を記憶するための領域(メモリ46)を有する。そして、第1,第2判定データと誤り情報のデータ量は、一つのデータブロックのデータ量に比べて非常に少ない。これにより、バッファメモリ27に対するアクセス時間は極僅かしか増加しない。尚、メモリ36,46,47をバッファメモリ27と別に備える構成としてもよい。その場合、バッファメモリ27に対するアクセス時間は増加しない。
【0070】
次に、上記のようなコントローラ25に基づく誤り訂正処理動作を図4〜図8に従って説明する。
コントローラ25は、ステップ1において図1のDVD24からデータを読み出す。次に、ステップ2においてコントローラ25は、読み出したデータに対してPI方向におけるPI誤り訂正処理を実施する。この時、コントローラ25は、PI誤り訂正処理に対してCRCチェックを行う。そして、コントローラ25は、PI誤り訂正処理を終了すると、ステップ2からステップ3に移る。
【0071】
ステップ3において、コントローラ25は、PO方向におけるPO誤り訂正処理を実施する。このステップ3において、コントローラ25は、PO誤り訂正処理に対するCRCチェックを実施する。
【0072】
コントローラ25は、CRCチェック結果に基づいて、誤りが無くなるまでステップ2,3のPI,PO誤り訂正処理を繰り返し実行する。そして、コントローラ25は、誤りが無くなると、誤り訂正処理を終了する。
【0073】
尚、図4において、コントローラ25は、PO誤り訂正処理の後に誤り訂正処理を終了するようにしてあるが、図14に示すように、ステップ2におけるPI誤り訂正処理におけるCRCチェックの結果、誤りが無いと判断した場合に誤り訂正処理を終了するように構成してもよい。
【0074】
図5に示すステップ11〜ステップ17は、図4のPI誤り訂正処理(ステップ2)のサブステップである。即ち、ステップ11において、コントローラ25は、図16のデータブロック2の各セクタ1からPI方向のデータを1バイトずつ順次入力する。次に、ステップ12において、コントローラ25は、基礎データのCRC演算を行う。それと共に、ステップ13において、コントローラ25は、一つのPIインターリーブ毎にPIシンドロームを順次生成する。
【0075】
コントローラ25は、PI方向の1インターリーブのPIシンドロームを生成すると、ステップ13からステップ14に移る。そのステップ14において、コントローラ25は、PIシンドロームから当該インターリーブの誤り情報(誤データの位置及び補正値(訂正値))を算出する。更に、ステップ15において、コントローラ25は、算出した誤り情報をCRC演算し、第1標本値を生成する。そして、コントローラ25は、ステップ15からステップ16に移る。
【0076】
次に、その誤り情報を基に、ステップ16において、コントローラ25は、ステップ14において算出した誤り情報を基に当該インターリーブの誤り訂正、即ち誤データの書き換え動作を行う。そして、コントローラ25は、誤り訂正後の当該インターリーブを図1のバッファメモリ27に格納する。
【0077】
そして、コントローラ25はこのような動作を全PIインターリーブについて繰り返し実行し、訂正したPIインターリーブを図1のバッファメモリ27に順次格納する。このPIインターリーブの格納を終了すると、コントローラ25はステップ16からステップ17に移る。
【0078】
これにより、バッファメモリ27には、PI誤り訂正後の一つのデータブロック2が格納される。また、コントローラ25は、一つのデータブロック2における全ての補正値(訂正値)に対してCRC演算を行った結果、即ち第2標本値を得る。
【0079】
次に、ステップ17において、コントローラ25は、基礎データのCRC演算結果(ステップ12)である第1標本値と、補正値のCRC演算結果(ステップ15)である第2標本値をEOR演算し、第1検査値を得る。更に、コントローラ25は、その演算結果(第1検査値)を図2のメモリ36に格納する。そして、コントローラ25は、演算結果の格納を終了すると、当該PI誤り訂正処理を終了して図6のPO誤り訂正処理を実行する。
【0080】
図6に示すステップ21〜ステップ27は、図4のPO誤り訂正処理(ステップ3)のサブステップである。即ち、図1のコントローラ25は、ステップ21において、バッファメモリ27に格納されたデータブロック2を、図18に示すように、PO方向の各インターリーブ毎に順次入力する。ステップ22において、コントローラ25は、一つのPOインターリーブ毎にPOシンドロームを順次作成する。
【0081】
コントローラ25は、PO方向の1インターリーブのPOシンドロームを生成すると、ステップ22からステップ23に移る。そのステップ23において、コントローラ25は、POシンドロームから当該インターリーブの誤り情報(誤りデータの位置及び補正値(訂正値))を算出する。コントローラ25は、算出した誤り情報を図3のメモリ46に格納する。その誤り情報を基に、ステップ24において、コントローラ25は、当該インターリーブの誤り訂正、即ち誤データの書き換え動作を行う。そして、コントローラ25は、誤り訂正後の当該インターリーブを図1のバッファメモリ27に格納する。
【0082】
そして、コントローラ25はこのような動作を全POインターリーブについて繰り返し実行する。これにより、バッファメモリ27に格納されたデータブロック2に対するPO方向の誤り訂正処理が実施される。また、図3のメモリ46には、一つのデータブロック2に対して算出した誤り情報がPO方向に格納される。
【0083】
次に、コントローラ25は、ステップ25において、メモリ46に格納した誤り情報を、誤データの位置に基づいてPI方向にソートする。このソート処理について詳述すれば、今、図7に示すように、ブロックデータ2が6行6列のマトリックスに形成されている。そして、このマトリックスにおいて、「・」にて示す位置が、ステップ23において算出された誤り位置である。コントローラ25は、この誤り位置及びその位置に対する補正値を図8(a)に示すように、PO方向に対応する順番で格納する。
【0084】
詳述すれば、コントローラ25は、PO方向、即ち、図7の座標値が「X1 」の列に対してPO方向の誤り訂正を行う。この時、コントローラ25は、誤り位置(X1 ,Y2 ),(X1 ,Y6 )とそれらの位置に対する補正値Z1 ,Z2 を算出する。コントローラ25は、メモリ46の第1領域46aに誤り位置(X1 ,Y2 )と補正値Z1 を、メモリ46の第2領域46bに誤り位置(X1 ,Y6 )と補正値Z2 を格納する。
【0085】
同様に、コントローラ25は、座標値「X2 」〜「X6 」の各列に対してPO誤り訂正を行い、その時に算出した誤り位置(X2 ,Y5 ),(X4 ,Y6 ),(X5 ,Y3 ),(X6 ,Y2 )と補正値Z3 ,Z4 ,Z5 ,Z6 を、メモリ46の領域46c,46d,46e,46fに格納する。
【0086】
このように格納された誤り情報(誤り位置及び補正値)に対して、コントローラ25は、ステップ25のソート処理を実施する。このソート処理において、コントローラ25は、処理を行うPI方向に沿って、即ち行を示す座標値Y(Y1 〜Y6 )をキーとしてソートを行う。その結果を図8(b)に示す。このようにして、コントローラ25は、誤り情報(誤り位置及び補正値)を、PI方向に沿って並べる。全誤り情報のソートを終了すると、コントローラ25は、ステップ25からステップ26に移る。
【0087】
ステップ26において、コントローラ25は、補正値(訂正値)を順次CRC演算し、第3標本値を得る。このとき、補正値はPI方向にソートされているため、コントローラ25は、図15の基礎データの入力方向に沿って補正値をCRC演算した演算結果(第3標本値)を得る。そして、コントローラ25は、ステップ26からステップ27に移る。
【0088】
ステップ27において、コントローラ25は、メモリ36から図5のステップ17における演算結果(第1検査値)を入力する。そして、コントローラ25は、補正値のCRC演算結果(ステップ26)である第3標本値と第1検査値をEOR演算し、第2検査値を得る。
【0089】
メモリ36から入力した演算結果(第1検査値)は、図5のPI誤り訂正処理におけるCRCチェックの結果である。そして、このCRCチェックの結果は、PI誤り訂正後のデータブロックにおける基礎データをCRC演算した結果に対応している。
【0090】
従って、コントローラ25は、メモリ36から入力した演算結果である第1検査値と、補正値のCRC演算結果である第3標本値をEOR演算することにより、当該PO誤り訂正処理におけるCRCチェックの結果である第2検査値を得る。このことは、PO誤り訂正処理におけるCRCチェックを行うために実施するPI誤り訂正処理を不要とする。これにより、誤り訂正処理に要する時間は短くなる。
【0091】
以上記述したように、第一実施形態によれば、以下の効果を奏する。
(1)PO誤り訂正部40の誤り情報生成回路41は、算出した誤データの位置及び補正値をメモリ46に格納する。ソート回路43は、メモリ46に格納された補正値を誤データの位置に基づいて基礎データの読み出し方向にソートしCRC演算回路44に出力するようにした。その結果、CRC演算回路44は、補正値を基礎データの入力順と同じPI方向にCRC演算する。この演算方向は、誤り検査符号EDCを算出した時の基礎データの読み出し方向と一致しているため、PO誤り訂正後にCRCチェックを行うことができる。そして、EOR回路45は、CRC演算の演算結果(第3標本値)とPI誤り訂正においてCRCチェックを行った結果である第1判定データ(第1検査値)を比較してPO誤り訂正におけるCRCチェックのための第2判定データ(第2検査値)をメモリ47に格納するようにした。そのため、従来のように、PO誤り訂正後にCRCチェックのためにPI誤り訂正を行う必要が無いので、その分処理時間を短縮することができる。
【0092】
(2)PI誤り訂正部30において、誤り訂正前の基礎データを演算する第1CRC演算回路33は、誤り情報生成回路31と同時に動作するようにした。これにより、PI誤り訂正処理における演算時間が長くなるのを防ぐことができる。
【0093】
(3)メモリ36に格納された第1判定データは、PI誤り訂正部30におけるPI方向の誤り訂正に対するCRCチェックの結果である。そして、第1判定データを用いてPO誤り訂正部40におけるPO方向の誤り訂正に対するCRCチェックを行うようにした。そのため、別にPO誤り訂正のためのデータを算出する必要がないので、PI誤り訂正部30の回路規模を増加させることなくPO方向の誤り訂正に対する誤り検出を行うことができる。
【0094】
(第二実施形態)
以下、本発明を具体化した第二実施形態を図9及び図10に従って説明する。尚、説明の便宜上、第一実施形態と同様の構成については同一の符号を付してその説明を一部省略する。
【0095】
本実施の形態のコントローラ25は、図9に示すPI誤り訂正部50と、図3に示すPO誤り訂正部40を含んで構成される。
図9に示すPI誤り訂正部50は、誤り情報生成回路31、誤り訂正回路32、第1CRC演算回路33、第2CRC演算回路34、第3CRC演算回路51、EOR回路35を含む。
【0096】
PI誤り訂正部50には、図17に示すように、入力データとしてPIインターリーブが1バイトずつ順次入力される。
誤り情報生成回路31は、入力データを基にPIシンドロームを順次作成する。そして、誤り情報生成回路31は、1インターリーブのPIシンドロームを作成すると、そのPIシンドロームを基に誤り情報を作成する。誤り情報は、PI方向における誤データの位置と誤データに対する補正値を含む。誤り情報生成回路31は、生成した誤り情報を誤り訂正回路32に出力する。
【0097】
誤り訂正回路32は、1インターリーブ分の入力データを記録するためのレジスタを含む。誤り訂正回路32は、入力データ(PIインターリーブのデータ)をレジスタに記憶する。誤り訂正回路32は、誤り情報生成回路31から入力される誤り情報に基づいて、レジスタに記憶したデータの誤り訂正を行う。誤り訂正回路32は、誤り訂正後のデータを図1のバッファメモリ27に格納する。
【0098】
更に、誤り訂正回路32は、誤り訂正後の1インターリーブ分のデータを第3CRC演算回路51に出力する。第3CRC演算回路51は、入力される誤り訂正後のデータのうち、基礎データ(ID及び予約領域に格納されたデータ、ユーザデータ及び誤り検出符号EDC)をCRC演算し、その演算結果を第1判定データ(第1の検査値,第1標本値)としてメモリ52に格納する。
【0099】
尚、メモリ52は、第一実施形態のメモリ36等と同様に図1のバッファメモリ27の一部領域である。即ち、バッファメモリ27は、誤り訂正回路32による誤り訂正後のデータブロックを記憶するための領域、演算結果を記憶するための領域(メモリ52)を有する。そして、第3CRC演算回路51の演算結果のデータ量は、一つのデータブロックのデータ量に比べて非常に少ない。これにより、バッファメモリ27に対するアクセス時間は極僅かしか増加しない。
【0100】
前記誤り情報生成回路31及び誤り訂正回路32は、上記の処理を全PIインターリーブについて繰り返し実行する。これにより、図16に示す一つのデータブロックに対する誤り訂正処理が実施される。
【0101】
第3CRC演算回路51は、前記誤り情報生成回路31,誤り訂正回路32と並列に動作し、CRC演算を全PIインターリーブについて繰り返し実行する。これにより、メモリ52には、誤り訂正後の一つのデータブロックにおけるCRC演算結果が第1標本値として記録される。この第3CRC演算回路51の動作は、PI方向の誤り訂正処理と同時に行われることから、誤り訂正後のデータに対するCRC演算は、PI誤り訂正処理に要する時間を増加させない。
【0102】
そして、図3のPO誤り訂正回路40を構成するEOR回路45は、第一実施形態のメモリ36に代えて、メモリ52に格納された演算結果(第1標本値)を入力する。EOR回路45は、入力した演算結果とCRC演算回路44から入力される演算結果(第2標本値)とをEOR演算し、その演算結果を第2判定データ(第2検査値)としてメモリ47に格納する。
【0103】
メモリ52に格納された演算結果は、上記したように、PI誤り訂正後の基礎データ(図15参照)のCRC演算結果である。従って、EOR回路45の演算結果である第2判定データ(検査値)は、PO誤り訂正が正確に行われたか否かを判断するためのデータとなる。即ち、図1のコントローラ25は、メモリ47に格納された第2判定データに基づいて、PO誤り訂正が正確に行われたか否かを判断する。
【0104】
次に、上記のようなコントローラ25に基づく誤り訂正処理動作を図10に従って説明する。
図10に示すステップ31〜ステップ38は、図4のPI誤り訂正処理(ステップ2)のサブステップである。尚、コントローラ25は、ステップ31〜ステップ36において、図5のステップ11〜ステップ16と同じ処理を行い、ステップ38において図5のステップ17と同じ処理を行う。
【0105】
即ち、ステップ31において、コントローラ25は、図16のデータブロック2の各セクタ1からPI方向のデータを1バイトずつ順次入力する。次に、ステップ32において、コントローラ25は、基礎データのCRC演算を行う。それと共に、ステップ33において、コントローラ25は、一つのPIインターリーブ毎にPIシンドロームを順次生成する。
【0106】
コントローラ25は、PI方向の1インターリーブのPIシンドロームを生成すると、ステップ33からステップ34に移る。そのステップ34において、コントローラ25は、PIシンドロームから当該インターリーブの誤り情報(誤データの位置及び補正値(訂正値))を算出する。更に、ステップ35において、コントローラ25は、算出した誤り情報をCRC演算する。
【0107】
次に、その誤り情報を基に、ステップ36において、コントローラ25は、ステップ34において算出した誤り情報を基に当該インターリーブの誤り訂正、即ち誤データの書き換え動作を行う。そして、コントローラ25は、誤り訂正後の当該インターリーブを図1のバッファメモリ27に格納する。このPIインターリーブの格納を終了すると、コントローラ25はステップ36からステップ37に移る。
【0108】
ステップ37において、コントローラ25は、誤り訂正後のPIインターリーブに含まれる基礎データをCRC演算した演算結果を順次作成する。そして、コントローラ25は、その演算結果を図9のメモリ52に格納する。
【0109】
そして、コントローラ25はこのような動作を全PIインターリーブについて繰り返し実行する。これにより、図1のバッファメモリ27には、PI誤り訂正後の一つのデータブロック2が格納される。また、コントローラ25は、一つのデータブロック2における全ての補正値をCRC演算した結果を得る。一つのデータブロックに対する誤り訂正及びCRC演算を終了すると、コントローラ25はステップ37からステップ38に移る。
【0110】
次に、ステップ38において、コントローラ25は、基礎データのCRC演算結果(ステップ32)と補正値のCRC演算結果(ステップ35)をEOR演算し、第1標本値を得る。更に、コントローラ25は、その演算結果(第1標本値)を図2のメモリ36に格納する。そして、コントローラ25は、演算結果の格納を終了すると、当該PI誤り訂正処理を終了して図6のPO誤り訂正処理を実行する。
【0111】
図6のステップ27において、コントローラ25は、メモリ36に代えて図9のメモリ52から図10のステップ37における演算結果を入力する。そして、コントローラ25は、補正値のCRC演算結果(ステップ26)と入力した演算結果をEOR演算する。
【0112】
メモリ36から入力した演算結果は、図5のPI誤り訂正処理におけるCRCチェックの結果である。そして、このCRCチェックの結果は、PI誤り訂正後のデータブロックにおける基礎データをCRC演算した結果に対応している。
【0113】
従って、コントローラ25は、メモリ36から入力した演算結果(第1標本値)と補正値のCRC演算結果(第2標本値)をEOR演算することにより、当該PO誤り訂正処理におけるCRCチェックの結果である検査値を得る。このことは、PO誤り訂正処理におけるCRCチェックを行うために実施するPI誤り訂正処理を不要とする。これにより、誤り訂正処理に要する時間は短くなる。
【0114】
以上記述したように、第二実施形態によれば、以下の効果を奏する。
(4)前記第一実施形態の(1),(2)と同様の効果を奏する。
(5)PI誤り訂正部50のCRC演算回路51は、誤り訂正回路32にて誤り訂正された後の基礎データをCRC演算した第1判定データをメモリ52に格納するようにした。これにより、PO誤り訂正部40は、実際に誤り訂正されたデータに基づいてそのPO誤り訂正に対するCRC演算を行うことができる。
【0115】
(第三実施形態)
以下、本発明を具体化した第三実施形態を図11〜図13に従って説明する。尚、説明の便宜上、第一,第二実施形態と同様の構成については同一の符号を付してその説明を一部省略する。
【0116】
本実施形態のコントローラ25は、図2に示すPI誤り訂正部30と、図11に示すPO誤り訂正部60を含んで構成される。
図11に示すように、PO誤り訂正部60は、誤り訂正部としての誤り情報生成回路41、誤り訂正部としての誤り訂正回路42、第2検査演算部としてのCRC演算回路61、比較部としてのEOR回路45を含む。PO誤り訂正部60には、図18に示すように、入力データとしてPOインターリーブが1バイトずつ順次入力される。
【0117】
誤り情報生成回路41は、入力データを基にPOシンドロームを順次作成する。そして、誤り情報生成回路41は、1インターリーブのPOシンドロームを作成すると、そのPOシンドロームを基に誤り情報を作成する。誤り情報は、PO方向における誤データの位置と誤データに対する補正値を含む。誤り情報生成回路41は、生成した誤り情報を誤り訂正回路42に出力する。また、誤り情報生成回路41は、生成した誤り情報をメモリ46に格納する。
【0118】
誤り訂正回路42は、1インターリーブ分の入力データを記録するためのレジスタを含む。誤り訂正回路42は、入力データ(POインターリーブのデータ)をレジスタに記憶する。誤り訂正回路42は、誤り情報生成回路41から入力される誤り情報に基づいて、レジスタに記憶したデータの誤り訂正を行う。誤り訂正回路42は、誤り訂正後のデータを図1のバッファメモリ27に格納する。
【0119】
前記誤り情報生成回路41及び誤り訂正回路42は、上記の処理を全POインターリーブについて繰り返し実行する。これにより、図16に示す一つのデータブロックに対する誤り訂正処理が実施される。そして、誤り情報生成回路41は、メモリ46に、一つのデータブロックにおけるPO方向の誤り情報を格納する。
【0120】
CRC演算回路61は、メモリ46に記憶された誤り情報に含まれる誤データの位置をキーとして、その位置に対応する補正値をPI方向に沿って順次読み出す。CRC演算回路61は、第一実施形態のCRC演算回路44(図3参照)と同様に、読み出した補正値を、誤りデータの位置に基づいてCRC演算し、その演算結果をEOR回路45に出力する。即ち、CRC演算回路61は、誤り情報をソートしつつ、データ入力順と同じPI方向に補正値のCRC演算を実施し、第2標本値を得る。これにより、メモリ46に誤り情報が格納されてから補正値に対するCRC演算処理を終了するまでの時間が、第一,第二実施形態のそれに比べて短くなる。
【0121】
EOR回路45は、メモリ36に格納された演算結果(第1標本値)を入力する。EOR回路45は、入力した判定データとCRC演算回路61から入力される演算結果(第2標本値)とをEOR演算し、その演算結果を第2判定データ(検査値)としてメモリ47に格納する。
【0122】
メモリ36に格納された演算結果は、図2に示す第2CRC演算回路34により格納されたデータであり、PI誤り訂正後のデータブロックにおける基礎データをCRC演算した結果に対応した第1標本値である。従って、EOR回路45の演算結果である第2判定データ(検査値)は、PO誤り訂正が正確に行われたか否かを判断するためのデータとなる。即ち、図1のコントローラ25は、メモリ47に格納された第2判定データに基づいて、PO誤り訂正が正確に行われたか否かを判断する。
【0123】
次に、上記のようなコントローラ25に基づくPO誤り訂正動作を、図12に従って説明する。
図12に示すステップ41〜ステップ46は、図4のPO誤り訂正処理(ステップ3)のサブステップである。尚、コントローラ25は、ステップ41〜ステップ44において図6のステップ21〜ステップ24と同じ処理を、ステップ46において図6のステップ27と同じ処理を行う。
【0124】
即ち、図1のコントローラ25は、ステップ41において、バッファメモリ27に格納されたデータブロック2を、図18に示すように、PO方向の各インターリーブ毎に順次入力する。ステップ42において、コントローラ25は、一つのPOインターリーブ毎にPOシンドロームを順次作成する。
【0125】
コントローラ25は、PO方向の1インターリーブのPOシンドロームを生成すると、ステップ42からステップ43に移る。そのステップ43において、コントローラ25は、POシンドロームから当該インターリーブの誤り情報(誤りデータの位置及び補正値(訂正値))を算出する。コントローラ25は、算出した誤り情報を図11のメモリ46に格納する。その誤り情報を基に、ステップ44において、コントローラ25は、当該インターリーブの誤り訂正、即ち誤データの書き換え動作を行う。そして、コントローラ25は、誤り訂正後の当該インターリーブを図1のバッファメモリ27に格納する。
【0126】
そして、コントローラ25はこのような動作を全POインターリーブについて繰り返し実行する。これにより、バッファメモリ27に格納されたデータブロック2に対するPO方向の誤り訂正処理が実施される。また、図11のメモリ46には、一つのデータブロック2に対して算出した誤り情報がPO方向に格納される。
【0127】
次に、コントローラ25は、ステップ45において、メモリ46に格納した誤り情報に含まれる誤データの位置に基づいて、補正値をPI方向にソートしつつCRC演算する。これにより、コントローラ25は、PI方向、即ち図15の基礎データの入力方向に沿って補正値をCRC演算した演算結果である第2標本値を得る。そして、コントローラ25は、ステップ45からステップ46に移る。
【0128】
ステップ46において、コントローラ25は、メモリ36から上記演算結果(第1標本値)を入力する。そして、コントローラ25は、補正値のCRC演算結果(ステップ45)であり第2標本値と、入力した演算結果である第1標本値をEOR演算し、検査値を得る。
【0129】
メモリ36から入力した演算結果は、図5のPI誤り訂正処理におけるCRCチェックの結果である。そして、このCRCチェックの結果は、PI誤り訂正後のデータブロックにおける基礎データをCRC演算した結果に対応している。
【0130】
従って、コントローラ25は、メモリ36から入力した演算結果(第1標本値)と補正値のCRC演算結果(第2標本値)をEOR演算することにより、当該PO誤り訂正処理におけるCRCチェックの結果である検査値を得る。このことは、PO誤り訂正処理におけるCRCチェックを行うために実施するPI誤り訂正処理を不要とする。これにより、誤り訂正処理に要する時間は短くなる。
【0131】
図13に示すステップ51〜ステップ60は、図12のステップ45における補正値をCRC演算する演算処理のサブステップである。即ち、コントローラ25は、ステップ51において、演算位置及びセクタカウントを初期化する。この演算位置は、図15の基礎データを読み出す読み出し位置に対応している。
【0132】
次に、コントローラ25は、ステップ52において、誤り位置及び補正値を入力する。そして、ステップ53において、コントローラ25は、誤り位置と演算位置が一致しているか否かを判断する。両位置が一致していない場合、即ちその演算位置に対応する基礎データが誤っていない場合、コントローラ25はステップ53からステップ54へ移る。そのステップ54において、コントローラ25は、その演算位置における補正値を「0」(ゼロ)とし、その「0」と以前の演算結果をCRC演算する。その演算後、コントローラ25は、ステップ54からステップ56へ移る。
【0133】
一方、ステップ53において、両位置が一致している、即ちその演算位置に対応する基礎データが誤っている場合、コントローラ25はステップ53からステップ55へ移る。そのステップ55において、コントローラ25は、その誤り位置に対する補正値と以前の演算結果をCRC演算する。その演算後、コントローラ25は、ステップ55からステップ56へ移る。
【0134】
ステップ56において、コントローラ25は、演算位置のうち、PI方向の座標値Xをインクリメント(+1)する。ステップ57において、コントローラ25は、演算位置の座標値Xと1行のバイト数とを比較することにより、1行分のデータに対して発生した補正値のCRC演算を終了したか否かを判断する。コントローラ25は、1行分のデータに対する補正値のCRC演算を終了していない場合、ステップ52に移る。
【0135】
従って、コントローラ25は、ステップ52〜57の処理を繰り返し実行する。これにより、コントローラ25は、補正値のCRC演算における演算の順序と演算位置を、基礎データをCRC演算する時のそれらと同じにする。即ち、コントローラ25は、図11のメモリ46にPO方向に蓄積された誤り情報に含まれる補正値を、行方向、即ちPI方向にCRC演算する。
【0136】
ステップ57において、コントローラ25は、1行分のデータに対する補正値のCRC演算を終了すると、ステップ57からステップ58に移る。そのステップ58において、コントローラ25は、演算位置のうち、PO方向の座標値Yをインクリメント(+1)する。
【0137】
次に、ステップ59において、コントローラ25は、演算位置の座標値Yと1セクタの行数とを比較することにより、1セクタ分のデータに対して発生した補正値のCRC演算を終了したか否かを判断する。コントローラ25は、1セクタ分のデータに対する補正値のCRC演算を終了していない場合、ステップ52に移る。従って、コントローラ25は、ステップ52〜ステップ59を繰り返し実行し、1つのセクタにおける補正値のCRC演算を実行する。
【0138】
コントローラ25は、1セクタ分のデータの処理を終了すると、セクタカウントをインクリメントする。そして、コントローラ25はステップ59からステップ60に移る。
【0139】
ステップ60において、コントローラ25は、セクタカウントの値と1ブロック内のセクタ数を比較することにより、1ブロック分のデータに対する処理を終了したか否かを判断する。コントローラ25は、1ブロック分のセクタの処理を終了していない場合、ステップ52に移る。そして、コントローラ25は、1ブロック分のデータの処理を終了すると、当該演算処理を終了する。
【0140】
以上記述したように、第三実施形態によれば、以下の効果を奏する。
(1)上記第一形態と同じ効果を奏する。
(2)コントローラ25は、PO方向のインタリーブに基づいて演算されメモリ46に格納された誤り情報(誤り位置及び補正値)を、PI方向にCRC演算する。これにより、コントローラ25は、誤り情報をPI方向にソートする第一,第二実施形態に比べて、CRC演算に要する時間を短くすることができる。
【0141】
尚、本発明は前記実施の形態の他、以下の態様で実施してもよい。
○上記各実施形態において、誤り検出符号EDCとして、CRCデータ(巡回符号:cyclic code )に代えて、ハミング符号(Hamming code)等を用いて実施してもよい。
【0142】
【発明の効果】
以上詳述したように、請求項1乃至21に記載の発明によれば、誤り検査符号を演算する際のデータの入力方向と異なる方向に誤り訂正を行う誤り訂正処理の結果をチェックする訂正検査処理において、再びデータの入力方向への誤り訂正及びその訂正内容の評価を行うための読み出しを行う必要がなくなり、訂正検査処理に要する時間を短縮することができる。
【図面の簡単な説明】
【図1】 光ディスク制御装置を示すブロック図。
【図2】 PI誤り訂正部を示すブロック図。
【図3】 PO誤り訂正部を示すブロック図。
【図4】 誤り訂正動作を示すフローチャート。
【図5】 PI誤り訂正動作を示すフローチャート。
【図6】 PO誤り訂正動作を示すフローチャート。
【図7】 誤り位置・補正値を示すマトリックス図。
【図8】 (a)(b)は、ソート処理を示す説明図。
【図9】 第二実施形態のPI誤り訂正部を示すブロック図。
【図10】 第二実施形態のPI誤り訂正動作を示すフローチャート。
【図11】 第三実施形態のPO誤り訂正部を示すブロック図。
【図12】 第三実施形態のPO誤り訂正動作を示すフローチャート。
【図13】 第三実施形態のPO誤り訂正動作におけるCRC演算処理を示すフローチャート。
【図14】 別の誤り訂正動作を示すフローチャート。
【図15】 DVD−ROMのセクタの内容を示す説明図。
【図16】 データブロックを示す説明図。
【図17】 PIインターリーブを示す説明図。
【図18】 POインターリーブを示す説明図。
【図19】 PO−ECC部を展開・挿入したブロックを示す説明図。
【符号の説明】
31 第1誤り訂正部としての誤り情報生成回路
32 第1誤り訂正部としての誤り訂正回路
33 第1検査演算部としての第1CRC演算回路
34 第2検査演算部としての第2CRC演算回路
35 第1比較部としてのEOR回路
41 第2誤り訂正部としての誤り情報生成回路
42 第2誤り訂正部としての誤り訂正回路
43 第3検査演算部,データ呼び出し部としてのソート回路
44 第3検査演算部としてのCRC演算回路
45 第2比較部としてのEOR回路
61 第2検査演算部としてのCRC演算回路

Claims (20)

  1. 第1方向に対応した誤り検出符号を備える基礎データに対し、当該誤り検出符号を用いて検査演算を行い、第1標本値を生成するステップと、
    前記第1方向に誤り訂正を行うステップと、
    前記第1方向の誤り訂正によって得られた訂正値に対して検査演算を行って第2標本値を生成するステップと、
    前記第1標本値と第2標本値とを比較して、第1検査値を生成するステップと、
    前記第1方向に誤り訂正がなされた基礎データに対して、第1方向とは異なる第2方向に誤り訂正を行うステップと、
    前記第2方向の誤り訂正によって得られた訂正値を第1方向に沿って検査演算を行い、第3標本値を生成するステップと、
    前記第1検査値と第3標本値とを比較して、前記第2方向の誤り訂正を検査する第2検査値を生成するステップと
    を備えることを特徴とする訂正検査方法。
  2. 少なくとも前記第1検査値あるいは第2検査値は、その比較を排他的論理和演算によってなすことを特徴とする請求項1記載の訂正検査方法。
  3. 前記第3標本値を生成するステップは、前記第2方向の誤り訂正によって得られた訂正値を第1方向に沿って並び替えを行い、その結果を検査演算するものであることを特徴とする請求項1記載の訂正検査方法。
  4. 前記第3標本値を生成するステップは、前記第2方向の誤り訂正によって得られた訂正値を第1方向に沿って順次取得しつつ検査演算を行うものであることを特徴とする請求項1記載の訂正検査方法。
  5. 前記訂正値に対する検査演算は、演算すべきデータが誤り位置以外である時は零を演算し、誤り位置に到達した場合は、その位置に対応する前記訂正値を演算するものであることを特徴とする請求項1記載の訂正検査方法。
  6. 第1方向に対応した誤り検出符号を備える基礎データに対し、当該誤り検出符号を用いて検査演算を行い、第1標本値を生成するステップと、
    前記第1方向とは異なる第2方向に誤り訂正を行うステップと、
    前記第2方向の誤り訂正によって得られた訂正値を第1方向に沿って検査演算を行い、第2標本値を生成するステップと、
    前記第1標本値と前記第2標本値とを比較して、前記第2方向の誤り訂正を検査する検査値を生成するステップと
    を備え
    前記基礎データは、前記第1方向に誤り訂正処理がなされたものであることを特徴とする訂正検査方法。
  7. 前記検査値は、前記第1標本値と第2標本値とを排他的論理和演算することで得られるものであることを特徴とする請求項6記載の訂正検査方法。
  8. 前記第2標本値を生成するステップは、前記第2方向の誤り訂正によって得られた訂正値を第1方向に沿って並び替えを行い、その結果を検査演算するものであることを特徴とする請求項6記載の訂正検査方法。
  9. 前記第2標本値を生成するステップは、前記第2方向の誤り訂正によって得られた訂正値を第1方向に沿って順次取得しつつ検査演算を行うものであることを特徴とする請求項6記載の訂正検査方法。
  10. 前記訂正値に対する検査演算は、演算すべきデータが誤り位置以外である時は零を演算し、誤り位置に到達した場合は、その位置に対応する前記訂正値を演算するものであることを特徴とする請求項6記載の訂正検査方法。
  11. 第1方向に対応した誤り検出符号を備える基礎データに対し、当該誤り検出符号を用いて検査演算を行い、第1標本値を生成する第1検査演算部と、
    前記第1方向に誤り訂正を行う第1誤り訂正部と、
    前記第1誤り訂正部によって得られた訂正値に対して検査演算を行って第2標本値を生 成する第2検査演算部と、
    前記第1標本値と第2標本値とを比較して、第1検査値を生成する第1比較部と、
    前記第1方向に誤り訂正がなされた基礎データに対して、第1方向とは異なる第2方向に誤り訂正を行う第2誤り訂正部と、
    前記第2誤り訂正部によって得られた訂正値を第1方向に沿って検査演算を行い、第3標本値を生成する第3検査演算部と、
    前記第1検査値と第3標本値とを比較して、前記第2方向の誤り訂正を検査する第2検査値を生成する第2比較部と
    を備えることを特徴とする訂正検査装置。
  12. 少なくとも前記第1比較部あるいは第2比較部は、その比較を排他的論理和演算によってなすことを特徴とする請求項11記載の訂正検査装置。
  13. 前記第3検査演算部は、前記第2方向の誤り訂正によって得られた訂正値を第1方向に沿って並び替えて保管する記憶部と、その結果を検査演算する検査演算部とを備えることを特徴とする請求項11記載の訂正検査装置。
  14. 前記第3検査演算部は、前記第2方向の誤り訂正によって得られた訂正値を第1方向に沿って順次取得するデータ呼び出し部と、その呼び出されたデータに対して順次に検査演算を行う検査演算部を備えることを特徴とする請求項11記載の訂正検査装置。
  15. 前記検査演算部は、演算すべきデータが誤り位置以外である時は零を演算し、誤り位置に到達した場合は、その位置に対応する前記訂正値を演算するものであることを特徴とする請求項11記載の訂正検査装置。
  16. 第1方向に対応した誤り検出符号を備える基礎データに対し、当該誤り検出符号を用いて検査演算を行って第1標本値を生成する第1検査演算部と、
    前記第1方向とは異なる第2方向に誤り訂正を行う誤り訂正部と、
    前記誤り訂正部によって得られた訂正値を第1方向に沿って検査演算を行い、第2標本値を生成する第2検査演算部と、
    前記第1標本値と前記第2標本値とを比較して、前記第2方向の誤り訂正を検査する検査値を生成する比較部と、を備え
    前記基礎データは、前記第1方向に誤り訂正処理がなされたものであることを特徴とする訂正検査装置。
  17. 前記比較部は、前記第1標本値と第2標本値とを排他的論理和演算することを特徴とする請求項16記載の訂正検査装置。
  18. 前記第2検査演算部は、前記第2方向の誤り訂正によって得られた訂正値を第1方向に沿って並び替えて保管する記憶部と、その結果を検査演算する検査演算部とを備えることを特徴とする請求項16記載の訂正検査装置。
  19. 前記第2検査演算部は、前記第2方向の誤り訂正によって得られた訂正値を第1方向に沿って呼び出すデータ呼び出し部と、その呼び出されたデータに対して順次に検査演算を行う検査演算部を備えることを特徴とする請求項16記載の訂正検査装置。
  20. 前記検査演算部は、演算すべきデータが誤り位置以外である時は零を演算し、誤り位置に到達した場合は、その位置に対応する前記訂正値を演算するものであることを特徴とする請求項16記載の訂正検査装置。
JP23423098A 1998-04-14 1998-08-20 訂正検査方法及び訂正検査装置 Expired - Fee Related JP3945602B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP23423098A JP3945602B2 (ja) 1998-04-14 1998-08-20 訂正検査方法及び訂正検査装置
US09/162,142 US6317855B1 (en) 1998-04-14 1998-09-29 Method and apparatus for checking data error correction
TW087117957A TW411443B (en) 1998-04-14 1998-10-29 Method and apparatus for checking data error correction

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10269998 1998-04-14
JP10-102699 1998-04-14
JP23423098A JP3945602B2 (ja) 1998-04-14 1998-08-20 訂正検査方法及び訂正検査装置

Publications (2)

Publication Number Publication Date
JP2000004170A JP2000004170A (ja) 2000-01-07
JP3945602B2 true JP3945602B2 (ja) 2007-07-18

Family

ID=26443374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23423098A Expired - Fee Related JP3945602B2 (ja) 1998-04-14 1998-08-20 訂正検査方法及び訂正検査装置

Country Status (3)

Country Link
US (1) US6317855B1 (ja)
JP (1) JP3945602B2 (ja)
TW (1) TW411443B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519717B1 (en) * 1999-10-06 2003-02-11 Sun Microsystems Inc. Mechanism to improve fault isolation and diagnosis in computers
CA2308643A1 (en) * 1999-10-14 2001-04-14 Alcatel Networks Corporation Societe Par Actions De Regime Federal De Re Seaux Alcatel Method and apparatus for providing integral cell payload integrity verification and detecting defective modules in telecommunication devices
US6639899B1 (en) * 1999-10-14 2003-10-28 Alcatel Canada Inc. Method and apparatus for providing integral cell payload integrity verification in ATM Telecommunication devices
TW468158B (en) * 2000-06-16 2001-12-11 Ali Corp Disc decoding method and system
US6757862B1 (en) * 2000-08-21 2004-06-29 Handspring, Inc. Method and apparatus for digital data error correction coding
US6718506B1 (en) * 2000-10-02 2004-04-06 Zoran Corporation High speed DVD error correction engine
TW476932B (en) * 2000-10-23 2002-02-21 Acer Labs Inc Decoding system for disk and the method thereof
US6772390B2 (en) * 2000-11-30 2004-08-03 Quantum Corporation Erasure correction for ECC entities
TW479226B (en) * 2000-12-15 2002-03-11 Acer Labs Inc Disc decoding system and method
TW522393B (en) * 2001-02-02 2003-03-01 Acer Labs Inc Decoding system and method for disks
US6868517B1 (en) * 2001-05-15 2005-03-15 Marvell International Ltd. Method and apparatus for checking read errors with two cyclic redundancy check stages
TWI269534B (en) * 2004-08-20 2006-12-21 Ind Tech Res Inst Decoding method of data, and method thereof
US7395488B2 (en) * 2004-12-29 2008-07-01 Zoran Corporation System and method for efficient use of memory device bandwidth
TWI309768B (en) * 2005-09-06 2009-05-11 Realtek Semiconductor Corp Error correction apparatus capable of raising memory bandwidth utilization efficiency and related method thereof
US7539926B1 (en) * 2006-02-14 2009-05-26 Xilinx, Inc. Method of correcting errors stored in a memory array
US7752083B2 (en) 2006-12-01 2010-07-06 Hsn Lp System for improved interactive television processing
JP4896931B2 (ja) * 2008-06-24 2012-03-14 株式会社東芝 検査符号生成方法
JP2010218237A (ja) 2009-03-17 2010-09-30 Renesas Electronics Corp プログラム検証装置及びその方法
JP5412917B2 (ja) * 2009-03-27 2014-02-12 富士通株式会社 誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システム
JP5544773B2 (ja) * 2009-07-22 2014-07-09 ソニー株式会社 エラー訂正装置、エラー訂正装置のメモリの制御方法および光ディスク記録再生装置
US10826538B1 (en) 2019-06-12 2020-11-03 International Business Machines Corporation Efficient error correction of codewords encoded by binary symmetry-invariant product codes

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125466A (en) * 1992-01-10 2000-09-26 Cabletron Systems, Inc. DRAM parity protection scheme
US5751744A (en) * 1993-02-01 1998-05-12 Advanced Micro Devices, Inc. Error detection and correction circuit
EP0668561B1 (en) * 1994-02-22 2002-04-10 Siemens Aktiengesellschaft A flexible ECC/parity bit architecture
JP3562544B2 (ja) * 1996-08-13 2004-09-08 ソニー株式会社 復号化装置および復号化方法

Also Published As

Publication number Publication date
JP2000004170A (ja) 2000-01-07
US6317855B1 (en) 2001-11-13
TW411443B (en) 2000-11-11

Similar Documents

Publication Publication Date Title
JP3945602B2 (ja) 訂正検査方法及び訂正検査装置
AU604836B2 (en) Method and apparatus for error correction
US8166369B2 (en) Method for error processing in optical disk memories
US6751771B2 (en) Method and apparatus for error processing in optical disk memories
JP2695195B2 (ja) 誤り訂正回路
US20020099996A1 (en) Method and apparatus for detecting and correcting errors and erasures in product ecc-coded data arrays for dvd and similar storage subsystems
JP2003516598A (ja) 誤り訂正装置
JP2004281037A (ja) 記憶媒体に記憶されたデータを訂正する方法およびシステム、ならびにコンピュータ可読記憶媒体
JP3306413B2 (ja) 誤り訂正装置および誤り訂正方法
JP2004080762A (ja) クロスインターリーブリード−ソロモン符号訂正を行う方法及び装置
US20040078746A1 (en) Error correction method and reproduction apparatus
JP2605270B2 (ja) エラー訂正及びチエツク装置
US20050050425A1 (en) Error correction method and apparatus for interleaved data
JPH05218883A (ja) 復号回路
JPH08263391A (ja) 情報処理装置
US20050055622A1 (en) Device and method for generating error correction code
US7213190B2 (en) Data processing apparatus and method
JP2000010807A (ja) ディジタルデータ再生装置
JP3671444B2 (ja) 記録再生装置
JP3242682B2 (ja) 誤り訂正処理装置
JP2578740B2 (ja) 誤り訂正方法
JP2647646B2 (ja) 誤り訂正方法
JP3259688B2 (ja) データ処理回路
JPS63298777A (ja) エラ−検出訂正方式
JP2000101447A (ja) 誤り訂正装置および誤り訂正方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050610

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20061207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070404

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