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

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

Info

Publication number
JP2000004170A
JP2000004170A JP10234230A JP23423098A JP2000004170A JP 2000004170 A JP2000004170 A JP 2000004170A JP 10234230 A JP10234230 A JP 10234230A JP 23423098 A JP23423098 A JP 23423098A JP 2000004170 A JP2000004170 A JP 2000004170A
Authority
JP
Japan
Prior art keywords
correction
error
data
error correction
value
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
JP10234230A
Other languages
English (en)
Other versions
JP3945602B2 (ja
Inventor
Yasushi Horibe
康司 堀部
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 VLSI Ltd
Fujitsu Ltd
Original Assignee
Fujitsu VLSI Ltd
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 VLSI Ltd, Fujitsu Ltd filed Critical Fujitsu VLSI 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

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

Abstract

(57)【要約】 【課題】誤り検査符号を演算する際のデータの入力方向
と異なる方向に誤り訂正を行う誤り訂正処理の結果をチ
ェックする訂正検査処理に要する時間を短縮する。 【解決手段】PO誤り訂正部40のシンドローム生成回
路41は、算出した誤データの位置及び補正値をメモり
46に格納する。ソート回路43は、メモリ46に格納
された補正値を誤データの位置に基づいてユーザデータ
の読み出し方向にソートしCRC演算回路44に出力す
る。そのCRC演算回路44は、補正値をユーザデータ
の入力順と同じPI方向にCRC演算する。この演算方
向は、誤り検査符号EDCを算出した時のユーザデータ
の読み出し方向と一致している。EOR回路45は、C
RC演算の演算結果とPI誤り訂正においてCRCチェ
ックを行った結果である第1判定データを比較してPO
誤り訂正におけるCRCチェックのための第2判定デー
タをメモリ47に格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は記録媒体から読み出
されたデータの誤りを訂正する誤り訂正処理の結果に誤
りが有るか否かを検査する訂正検査方法及び訂正検査装
置に関するものである。
【0002】近年、光ディスク等の記録媒体における記
録容量の大容量化に伴い、そのデータ読み出しに要する
時間が長くなっている。特に、データ読み出しに要する
時間のうち、誤り訂正処理動作に要する時間の割合が長
くなる傾向にある。そのため、誤り訂正処理動作におけ
る訂正検査処理、特に誤り訂正処理の結果に誤りが有る
か否かを検査する訂正検査処理に要する時間の短縮化を
図る必要がある。
【0003】
【従来の技術】従来、記録媒体(テープ、ビデオ、C
D、DVD等)に記録されたデータには、そのデータの
読み出し時等に発生する誤りを検出するために誤り検出
符号(EDC:Error Detecting Code)が予め付加されてい
る。また、データには、発生する誤りを訂正するために
誤り訂正符号(ECC:Error Correcting Code) が予め付加
されている。
【0004】例えばDVD−ROMに記録されるデータ
のフォーマットを説明すると、図15に示すように、一
つのセクタ1は、12バイトのID及び予約領域と、2
kバイトのユーザーデータと、4バイトの誤り検出符号
EDCとから構成される。
【0005】誤り検出符号EDCは、例えばID及び予
約領域に格納されたデータとユーザデータに、巡回冗長
検査(CRC:cyclic redundancy check )に基づく演
算(以下、CRC演算という)を行った演算結果に対応
する符号(巡回符号:cycliccode であり、以下CRC
データという)である。そして、誤り検出符号EDC
は、誤り訂正が正しく行われたか、又は誤り訂正により
データが正しく復元されたかを確認するために付加され
る。
【0006】各セクタ1はPI方向(行方向、すなわち
図16において横方向であり、この方向を第1方向とす
る)に12段のデータとして構成され、1段が172バ
イトのデータとして構成される。従って、初段は12バ
イトのID及び予約領域と160バイトのユーザーデー
タが記録され、終段は168バイトのユーザーデータと
4バイトの誤り検出符号EDCが記録され、中間段は1
72バイトのユーザーデータが記録される。
【0007】図16に示すように、データブロック2は
16個のセクタ1と、PO−ECC部3及びPI−EC
C部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インターリーブのデータに発生する誤りを
訂正する。そして、誤り訂正回路は、上記の処理を全P
Iインターリーブについて繰り返し実行する。
【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インターリーブのデータを入力する際にC
RC演算を行う事ができない。
【0020】そのため、誤り訂正回路は、PO方向の誤
り訂正処理を行った後、再びPI方向の誤り訂正処理を
行うしか、他に提唱されていなかった。即ち、そのPI
方向の誤り訂正処理においてCRCチェックを行うこと
により、PO方向の誤り訂正処理が正しく行われたか否
かを判断する訳である。
【0021】従って、PO方向の誤り訂正処理の後にP
I誤り訂正処理を行う必要があるため、そのデータ読み
出し,誤り訂正処理に要する時間余分に必要で、全体で
の処理時間が増大するという問題点がある。そして、D
VD−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方
向の誤り訂正を検査する検査値が生成される。これによ
り、第2方向に対する訂正検査において、再び第1方向
への誤り訂正及びその訂正内容の評価を行うための第1
方向への基礎データの読み出しを行う必要がなくなる。
【0028】なお、前記検査値は、請求項7に記載の発
明のように、第1標本値と第2標本値とを排他的論理和
演算し得ることができる。前記第2標本値は、請求項8
に記載の発明のように、第2方向の誤り訂正によって得
た訂正値を第1方向に沿って並び替えし、その結果を検
査演算して生成することができる。また、前記第2標本
値は、請求項9に記載の発明のように、第2方向の誤り
訂正によって得た訂正値を第1方向に沿って順次取得し
つつ検査演算を行って生成することができる。
【0029】前記検査値は、請求項10に記載の発明の
ように、演算すべきデータが誤り位置以外である時は零
を演算し、誤り位置に到達した場合はその位置に対応す
る訂正値を演算して得ることができる。
【0030】なお、前記基礎データは、請求項11に記
載の発明のように、基礎データは、前記第1方向に誤り
訂正処理がなされたものであり、この基礎データに対し
て前記第2方向の誤り訂正を検査する検査値が生成され
る。
【0031】請求項12に記載の発明によれば、第1方
向に対応した誤り検出符号を備える基礎データに対し、
当該誤り検出符号を用いて検査演算を行って生成した第
1標本値と、第1方向に誤り訂正によって得られた訂正
値に対して検査演算を行って生成した第2標本値とを比
較して、第1検査値が生成される。この第1検査値によ
り第1方向に対する訂正検査が行われる。次に、第1方
向に誤り訂正がなされた基礎データに対して、第1方向
とは異なる第2方向に誤り訂正が行われ、それによって
得られた訂正値を第1方向に沿って検査演算を行って生
成した第3標本値と第1検査値とを比較して、第2方向
の誤り訂正を検査する第2検査値が生成される。これに
より、第2方向に対する訂正検査において、再び第1方
向への誤り訂正及びその訂正内容の評価を行うための第
1方向への基礎データの読み出しを行う必要がなくな
る。
【0032】なお、少なくとも前記第1比較部あるいは
第2比較部は、請求項13に記載の発明のように、その
比較を排他的論理和演算によってなすことにより前記検
査値を得ることができる。
【0033】前記第3検査演算部は、請求項14に記載
の発明のように、第2方向の誤り訂正によって得られた
訂正値を第1方向に沿って並び替えて保管する記憶部
と、その結果を検査演算する検査演算部とを備え、その
検査演算により前記第3標本値を生成することができ
る。また、前記第3検査演算部は、請求項15に記載の
発明のように、第2方向の誤り訂正によって得られた訂
正値を第1方向に沿って順次取得するデータ呼び出し部
と、その呼び出されたデータに対して順次に検査演算を
行う検査演算部とを備え、その検査演算により前記第3
標本値を生成することができる。
【0034】前記検査演算部は、請求項16に記載の発
明のように、演算すべきデータが誤り位置以外である時
は零を演算し、誤り位置に到達した場合はその位置に対
応する訂正値を演算して前記標本値を得ることができ
る。
【0035】請求項17に記載の発明によれば、第1方
向に対応した誤り検出符号を備える基礎データに対し、
当該誤り検出符号を用いて検査演算を行って第1標本値
が得られる。次に、第1方向とは異なる第2方向に誤り
訂正が行われ、それにより得られた訂正値を第1方向に
沿って検査演算して第2標本値を得る。そして、第1標
本値と前記第2標本値とを比較して、第2方向の誤り訂
正を検査する検査値が得られる。これにより、第2方向
に対する訂正検査において、再び第1方向への誤り訂正
及びその訂正内容の評価を行うための第1方向への基礎
データの読み出しを行う必要がなくなる。
【0036】なお、前記比較部は、請求項18に記載の
発明のように、比較部により、第1標本値と第2標本値
とを排他的論理和演算することにより前記第1検査値を
得ることができる。
【0037】前記第2検査演算部は、請求項19に記載
の発明のように、第2方向の誤り訂正によって得られた
訂正値を第1方向に沿って並び替えて保管する記憶部
と、その結果を検査演算する検査演算部とを備え、その
検査演算により前記第2標本値を生成することができ
る。また、前記第2検査演算部は、請求項20に記載の
発明のように、第2方向の誤り訂正によって得られた訂
正値を第1方向に沿って呼び出すデータ呼び出し部と、
その呼び出されたデータに対して順次に検査演算を行う
検査演算部とを備え、その検査演算により前記第2標本
値を生成することができる。
【0038】前記検査演算部は、請求項21に記載の発
明のように、演算すべきデータが誤り位置以外である時
は零を演算し、誤り位置に到達した場合はその位置に対
応する訂正値を演算して前記標本値を得ることができ
る。
【0039】
【発明の実施の形態】(第一実施形態)以下、本発明を
具体化した第一実施形態を図1〜図8に従って説明す
る。
【0040】図1に示すように、光ディスク制御装置2
1は、ATAPI(AT attachment packet interface)等
の所定のインターフェースを介してコンピュータ22に
接続されている。また、光ディスク制御装置21は、イ
ンターフェースを介して光ディスク駆動装置23に接続
されている。
【0041】光ディスク駆動装置23は、記録媒体とし
てのデジタルビデオディスク(DVD:Digital Video
Disk)24を所定の速度で回転駆動するとともに、DV
D24に記録されたデータを図示しない光ピックアップ
により読み出す。そして、光ディスク駆動装置23は、
読み出しデータを光ディスク制御装置21に出力する。
【0042】光ディスク制御装置21は、光ディスクコ
ントローラ25、マイクロプロセッサ26、記憶装置と
してのバッファメモリ27、インターフェース回路2
8、及び、入出力駆動回路29を備える。
【0043】光ディスクコントローラ(以下、単にコン
トローラという)25は、光ディスク駆動装置23への
命令送信及びステータス受領と、光ディスクからの読み
出しフォーマット解読及びエラー訂正と、光ディスク駆
動装置23とバッファメモリ27間のデータ転送と、イ
ンターフェース回路28とバッファメモリ27間のデー
タ転送等の各処理を行う。
【0044】また、コントローラ25には、光ディスク
駆動装置23から出力される読み出しデータが入出力駆
動回路29を介して入力される。コントローラ25は、
入力されるデータに誤り訂正等の処理を施してバッファ
メモリ27に格納する。そして、コントローラ25は、
マイクロプロセッサ26の命令に基づいて、バッファメ
モリ27に格納したデータを、インターフェース回路2
8を介して外部機器としてのコンピュータ22に転送す
る。
【0045】コントローラ25は、図2に示すPI誤り
訂正部30と、図3に示すPO誤り訂正部40を含んで
構成される。図2に示すように、PI誤り訂正部30
は、第1誤り訂正部としての誤り情報生成回路31、第
1誤り訂正部としての誤り訂正回路32、第1検査演算
部としての第1CRC演算回路33、第2検査演算部と
しての第2CRC演算回路34、第1比較部としてのE
OR回路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標本値)と、P
Iシンドロームから作成した補正値を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から読み出し、読み出した誤り情報をCR
C演算回路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誤り訂正前
のそれと同じ値となることが判っている。従って、EO
R回路45の演算結果である第2判定データ(第2検査
値)は、PO誤り訂正が正確に行われたか否かを判断す
るためのデータとなる。即ち、図1のコントローラ25
は、メモリ47に格納された第2判定データに基づい
て、PO誤り訂正が正確に行われたか否かを判断する。
【0069】尚、メモリ46,47は、メモリ36と同
様に図1のバッファメモリ27の一部領域である。即
ち、バッファメモリ27は、誤り訂正回路42による誤
り訂正後のデータブロックを記憶するための領域、第
1,第2判定データを記憶するための領域(メモリ3
6,47)、誤り情報を記憶するための領域(メモリ4
6)を有する。そして、第1,第2判定データと誤り情
報のデータ量は、一つのデータブロックのデータ量に比
べて非常に少ない。これにより、バッファメモリ27に
対するアクセス時間は極僅かしか増加しない。尚、メモ
リ36,46,47をバッファメモリ27と別に備える
構成としてもよい。その場合、バッファメモリ27に対
するアクセス時間は増加しない。
【0070】次に、上記のようなコントローラ25に基
づく誤り訂正処理動作を図4〜図8に従って説明する。
コントローラ25は、ステップ1において図1のDVD
24からデータを読み出す。次に、ステップ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のP
I,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シンドロームを生成すると、ステップ1
3からステップ14に移る。そのステップ14におい
て、コントローラ25は、PIシンドロームから当該イ
ンターリーブの誤り情報(誤データの位置及び補正値
(訂正値))を算出する。更に、ステップ15におい
て、コントローラ25は、算出した誤り情報をCRC演
算し、第1標本値を生成する。そして、コントローラ2
5は、ステップ15からステップ16に移る。
【0076】次に、その誤り情報を基に、ステップ16
において、コントローラ25は、ステップ14において
算出した誤り情報を基に当該インターリーブの誤り訂
正、即ち誤データの書き換え動作を行う。そして、コン
トローラ25は、誤り訂正後の当該インターリーブを図
1のバッファメモリ27に格納する。
【0077】そして、コントローラ25はこのような動
作を全PIインターリーブについて繰り返し実行し、訂
正したPIインターリーブを図1のバッファメモリ27
に順次格納する。このPIインターリーブの格納を終了
すると、コントローラ25はステップ16からステップ
17に移る。
【0078】これにより、バッファメモリ27には、P
I誤り訂正後の一つのデータブロック2が格納される。
また、コントローラ25は、一つのデータブロック2に
おける全ての補正値(訂正値)に対してCRC演算を行
った結果、即ち第2標本値を得る。
【0079】次に、ステップ17において、コントロー
ラ25は、基礎データのCRC演算結果(ステップ1
2)である第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シンドロームを生成すると、ステップ2
2からステップ23に移る。そのステップ23におい
て、コントローラ25は、POシンドロームから当該イ
ンターリーブの誤り情報(誤りデータの位置及び補正値
(訂正値))を算出する。コントローラ25は、算出し
た誤り情報を図3のメモリ46に格納する。その誤り情
報を基に、ステップ24において、コントローラ25
は、当該インターリーブの誤り訂正、即ち誤データの書
き換え動作を行う。そして、コントローラ25は、誤り
訂正後の当該インターリーブを図1のバッファメモリ2
7に格納する。
【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 を算出する。コントローラ2
5は、メモリ46の第1領域46aに誤り位置(X1,
Y2 )と補正値Z1 を、メモリ46の第2領域46bに
誤り位置(X1 ,Y6)と補正値Z2 を格納する。
【0085】同様に、コントローラ25は、座標値「X
2 」〜「X6 」の各列に対してPO誤り訂正を行い、そ
の時に算出した誤り位置(X2 ,Y5 ),(X4 ,Y6
),(X5 ,Y3 ),(X6 ,Y2 )と補正値Z3 ,
Z4 ,Z5 ,Z6 を、メモリ46の領域46c,46
d,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検査値)を入力する。そして、コントローラ2
5は、補正値のCRC演算結果(ステップ26)である
第3標本値と第1検査値をEOR演算し、第2検査値を
得る。
【0089】メモリ36から入力した演算結果(第1検
査値)は、図5のPI誤り訂正処理におけるCRCチェ
ックの結果である。そして、このCRCチェックの結果
は、PI誤り訂正後のデータブロックにおける基礎デー
タをCRC演算した結果に対応している。
【0090】従って、コントローラ25は、メモリ36
から入力した演算結果である第1検査値と、補正値のC
RC演算結果である第3標本値をEOR演算することに
より、当該PO誤り訂正処理におけるCRCチェックの
結果である第2検査値を得る。このことは、PO誤り訂
正処理におけるCRCチェックを行うために実施するP
I誤り訂正処理を不要とする。これにより、誤り訂正処
理に要する時間は短くなる。
【0091】以上記述したように、第一実施形態によれ
ば、以下の効果を奏する。 (1)PO誤り訂正部40の誤り情報生成回路41は、
算出した誤データの位置及び補正値をメモリ46に格納
する。ソート回路43は、メモリ46に格納された補正
値を誤データの位置に基づいて基礎データの読み出し方
向にソートしCRC演算回路44に出力するようにし
た。その結果、CRC演算回路44は、補正値を基礎デ
ータの入力順と同じPI方向にCRC演算する。この演
算方向は、誤り検査符号EDCを算出した時の基礎デー
タの読み出し方向と一致しているため、PO誤り訂正後
にCRCチェックを行うことができる。そして、EOR
回路45は、CRC演算の演算結果(第3標本値)とP
I誤り訂正において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、第3
CRC演算回路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と並列に動作し、CR
C演算を全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に従って説明する。図1
0に示すステップ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シンドロームを生成すると、ステップ3
3からステップ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演算結果(ステップ3
2)と補正値のCRC演算結果(ステップ35)をEO
R演算し、第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にて誤り訂正された後の基礎データをC
RC演算した第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には、図1
8に示すように、入力データとして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は、第一実施形態のCR
C演算回路44(図3参照)と同様に、読み出した補正
値を、誤りデータの位置に基づいてCRC演算し、その
演算結果をEOR回路45に出力する。即ち、CRC演
算回路61は、誤り情報をソートしつつ、データ入力順
と同じPI方向に補正値のCRC演算を実施し、第2標
本値を得る。これにより、メモリ46に誤り情報が格納
されてから補正値に対するCRC演算処理を終了するま
での時間が、第一,第二実施形態のそれに比べて短くな
る。
【0121】EOR回路45は、メモリ36に格納され
た第1判定データ(第1標本値)を入力する。EOR回
路45は、入力した判定データとCRC演算回路61か
ら入力される演算結果(第2標本値)とをEOR演算
し、その演算結果を第2判定データ(検査値)としてメ
モリ47に格納する。
【0122】メモリ36に格納された第1判定データ
は、上記したように、PI誤り訂正前の基礎データ(I
D及び予約領域に格納されたデータ、ユーザデータ及び
誤り検出符号EDC)(図15参照)のCRC演算結果
と、PI誤り訂正における補正値のCRC演算結果をE
OR演算して得た第1標本値である。この第1標本値
は、PI誤り訂正後の基礎データのCRC演算結果、即
ちPO誤り訂正前のそれと同じ値となることが判ってい
る。従って、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シンドロームを生成すると、ステップ4
2からステップ43に移る。そのステップ43におい
て、コントローラ25は、POシンドロームから当該イ
ンターリーブの誤り情報(誤りデータの位置及び補正値
(訂正値))を算出する。コントローラ25は、算出し
た誤り情報を図11のメモリ46に格納する。その誤り
情報を基に、ステップ44において、コントローラ25
は、当該インターリーブの誤り訂正、即ち誤データの書
き換え動作を行う。そして、コントローラ25は、誤り
訂正後の当該インターリーブを図1のバッファメモリ2
7に格納する。
【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から図5のステップ17における演算結
果(第1標本値)を入力する。そして、コントローラ2
5は、補正値のCRC演算結果(ステップ45)であり
第2標本値と、入力した演算結果である第1標本値をE
OR演算し、検査値を得る。
【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は、ステップ5
2〜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演算回路
フロントページの続き Fターム(参考) 5J065 AA03 AB01 AC03 AD02 AD04 AE06 AF01 AG02 AG06 AH04 AH06

Claims (21)

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

Publications (2)

Publication Number Publication Date
JP2000004170A true JP2000004170A (ja) 2000-01-07
JP3945602B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2230618A1 (en) 2009-03-17 2010-09-22 NEC Electronics Corporation Program verification apparatus and its method
JP7479401B2 (ja) 2019-06-12 2024-05-08 インターナショナル・ビジネス・マシーンズ・コーポレーション バイナリ対称不変積符号によって符号化された符号語の効率的な誤り訂正

Families Citing this family (19)

* 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
WO2008070572A2 (en) * 2006-12-01 2008-06-12 Hsn Lp Method and system for improved interactive television processing
JP4896931B2 (ja) * 2008-06-24 2012-03-14 株式会社東芝 検査符号生成方法
JP5412917B2 (ja) * 2009-03-27 2014-02-12 富士通株式会社 誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システム
JP5544773B2 (ja) * 2009-07-22 2014-07-09 ソニー株式会社 エラー訂正装置、エラー訂正装置のメモリの制御方法および光ディスク記録再生装置

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
ATE216096T1 (de) * 1994-02-22 2002-04-15 Siemens Ag Flexible fehlerkorrekturcode/paritätsbit- architektur
JP3562544B2 (ja) * 1996-08-13 2004-09-08 ソニー株式会社 復号化装置および復号化方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2230618A1 (en) 2009-03-17 2010-09-22 NEC Electronics Corporation Program verification apparatus and its method
JP2010218237A (ja) * 2009-03-17 2010-09-30 Renesas Electronics Corp プログラム検証装置及びその方法
JP7479401B2 (ja) 2019-06-12 2024-05-08 インターナショナル・ビジネス・マシーンズ・コーポレーション バイナリ対称不変積符号によって符号化された符号語の効率的な誤り訂正

Also Published As

Publication number Publication date
TW411443B (en) 2000-11-11
JP3945602B2 (ja) 2007-07-18
US6317855B1 (en) 2001-11-13

Similar Documents

Publication Publication Date Title
JP2000004170A (ja) 訂正検査方法及び訂正検査装置
AU604836B2 (en) Method and apparatus for error correction
US6158038A (en) Method and apparatus for correcting data errors
US7530009B2 (en) Data storage method and data storage device
US6363511B1 (en) Device and method for decoding data streams from storage media
US7653862B2 (en) Error detection and correction for encoded data
JP4709485B2 (ja) オンドライブ統合化セクタ・フォーマットraidの誤り訂正符号システムおよび方法
US6751771B2 (en) Method and apparatus for error processing in optical disk memories
JP4799027B2 (ja) 記憶制御回路、記憶制御回路におけるアドレスエラーチェック方法
JP2003516598A (ja) 誤り訂正装置
JP2004282737A (ja) 記憶媒体から検索されたデータを検証する方法およびシステム、ならびにコンピュータ可読記憶媒体
JP2004281037A (ja) 記憶媒体に記憶されたデータを訂正する方法およびシステム、ならびにコンピュータ可読記憶媒体
US8181075B2 (en) Error correction device and recording and reproducing device
US6651208B1 (en) Method and system for multiple column syndrome generation
US20040030985A1 (en) Cross interleave reed-solomon code correction
JP3306413B2 (ja) 誤り訂正装置および誤り訂正方法
JP2605270B2 (ja) エラー訂正及びチエツク装置
US20080109706A1 (en) Error correction method and apparatus for optical information storage medium recording/reproducing apparatus
US7213190B2 (en) Data processing apparatus and method
JPH01307063A (ja) 光デイスク記録再生装置
JPS63298777A (ja) エラ−検出訂正方式
KR100232957B1 (ko) 디지털 비디오 디스크의 오류정정시간 단축방법
JP3259688B2 (ja) データ処理回路
JPH043525A (ja) 符号誤り訂正装置
JP2003177973A (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