JPH11282702A - Dvd記憶装置におけるecc誤りシンドローム及びcrc検証シンドロームの同時生成 - Google Patents

Dvd記憶装置におけるecc誤りシンドローム及びcrc検証シンドロームの同時生成

Info

Publication number
JPH11282702A
JPH11282702A JP10325725A JP32572598A JPH11282702A JP H11282702 A JPH11282702 A JP H11282702A JP 10325725 A JP10325725 A JP 10325725A JP 32572598 A JP32572598 A JP 32572598A JP H11282702 A JPH11282702 A JP H11282702A
Authority
JP
Japan
Prior art keywords
data
syndrome
error
verification
codeword
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.)
Ceased
Application number
JP10325725A
Other languages
English (en)
Inventor
Zock Christopher
ゾック クリストファー
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.)
Cirrus Logic Inc
Original Assignee
Cirrus Logic Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25517179&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH11282702(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Cirrus Logic Inc filed Critical Cirrus Logic Inc
Publication of JPH11282702A publication Critical patent/JPH11282702A/ja
Ceased 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/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
    • H03M13/093CRC update after modification of the information word
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • H03M13/1515Reed-Solomon 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】 検証シンボルがランダム化の前に生成され、
ECCシンボルがランダム化の後に生成されるときの、
CD/DVD積符号などの多次元符号に対する訂正の有
効性および完全性の証明に関連する待ち時間を避ける。 【解決手段】 複数のデータセクタを含み、各データセ
クタに別々のCRC記号がアペンドされたDVD積符号
の場合、CDモードでC1およびC2符号化/復号化に
使用されるバッファを用いて各データセクタの部分的デ
ータおよび誤りCRCシンドロームを格納する。DVD
積符号に対する垂直(P)および水平(Q)パスの間
に、データおよび誤りCRCシンドロームレジスタに、
P/Q復号化器によって処理されている現データ記号に
応じた適切な部分的CRCシンドロームをロードする。
各データセクタを処理した後、各データセクタのデータ
および誤りCRCシンドロームを組合せて、定数と比較
し、これにより、そのデータセクタに対する訂正が有効
且つ完全であるかどうかを決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ記憶
装置のための誤り訂正システムに関し、特に、DVD積
符号について垂直及び水平パスの間に、リード−ソロモ
ン符号のECC誤りシンドロームを生成すると同時に、
CRC検証シンドロームを生成することに関する。
【0002】
【従来の技術】コンピュータ記憶装置(磁気ディスクド
ライブおよび光ディスクドライブ)において、記録チャ
ネルの帯域幅は、信号パワーと同様に限定される。性能
利得を成し遂げるために、様々な符号化技術を用いてシ
ステムのノイズに対する免疫を高めることによって効果
的な信号対ノイズ比(SNR)を増加させている。この
ため、任意の低ビット誤り率を維持しながら記憶密度を
増加させることによって、記憶容量を増加させることが
可能となる。
【0003】現在、記録装置において用いられている符
号には一般に2つのタイプがある。チャネル符号および
誤り訂正符号(ECC)である。チャネル符号は、記録
チャネルの特定の特徴によって引き起こされるノイズに
対するものである。例えば、ランレングス限定(RL
L)符号は、アナログ搬送波信号におけるデータシンボ
ルを示すパルス間の最小スペーシングを限定することに
よって、ノイズをシンボル間干渉に減衰するように設計
されたチャネル符号である。記録されるデータのスペク
トル内容は、読返し時にデータを正確に検出するシステ
ムの能力にも悪影響を与え得る。この結果、いくつかの
データシーケンスは、他のデータシーケンスよりも検出
が困難となり得る。この現象を考慮するために、通常、
データをランダム化するためのチャネル符号が、記録装
置において用いられている。このような記録装置は、デ
ータをディスク記憶媒体に書き込む前にランダム化する
ことによってデータを効果的に「不透明にする(white
n)」する。読み返し時に、記録チャネルは、データが
ランダム化されない場合よりも低いビット誤り率でラン
ダムデータを検出することができる。記憶媒体から読み
出されたデータは、ホストに転送される前に非ランダム
化される。
【0004】誤り訂正コーディング(ECC)におい
て、記録されるバイナリデータは、数学的に処理され、
データに追加される冗長シンボルを生成し、ディスク記
憶媒体に書き込まれる符号語を形成する。読み返し時に
は、記録された符号ワードは、読出し信号から評価(検
出)され、冗長シンボルは、評価された符号ワードを最
初に記録されたユーザデータに復号化するために用いら
れる。実際、冗長シンボルは、符号ワードが記録チャネ
ルを通過するときに、符号ワードをノイズから保護する
バッファを提供する。十分なノイズがこのバッファに
「浸透(penetrate)」すると、ノイズは、書き込まれ
た符号ワードを異なる受信符号ワードに変化させ、この
結果、ユーザデータに復号化されるときに誤りを生じ
る。
【0005】誤り訂正符号においてより多くの冗長シン
ボルが用いられるほど、符号語の周囲のバッファは大き
くなり、復号化誤りが発生する前に耐えられ得るノイズ
が多くなる。しかし、任意の低ビット誤り率を維持しな
がら所定のチャネルに対して達成可能な最大ユーザデー
タ転送率(または記録密度)を指す「チャネル容量」と
して公知の任意の所定の記録チャネルの性能には上限が
ある。最終的には、チャネル容量は、チャネル帯域幅お
よび信号対ノイズ(SNR)比の関数である。上記のよ
うに、チャネル符号および誤り訂正符号は、効果的なS
NRを増加させることによって性能を向上させる手段で
ある。
【0006】記録チャネルの信頼性および効率を最大に
するために、ユーザデータを符号化/復号化するための
解決法が多数ある。最終目標は、実現を簡単にし、コス
トを下げると共に、チャネル容量に近づくシステムを設
計することである。ブロック誤り訂正符号、特に、リー
ド−ソロモンブロック符号は、その優れた誤り訂正特性
および実現コストおよび複雑性が低いことにより、通
常、ディスク記憶システムにおいて用いられる。
【0007】ブロック符号は、ソースデータストリーム
のkシンボル入力ブロックを、nシンボル出力ブロック
または符号語に符号化する。ここで、n−kは、冗長シ
ンボルの数である、k/nは、符号率と呼ぶ。次に、符
号語は、通信媒体を通して転送され(通信媒体に記憶さ
れ)、受信器によって復号化される。符号化プロセス
は、入力ブロックに対して数学演算を行い、出力符号語
は、符号dminの最小距離として参照されるパラメータ
によって他の符号語とは異なったものにされる。符号語
間の最小距離dminは、システムが、受信された符号語
が誤って復号化される前の耐え得るノイズの量を決定す
る。
【0008】リード−ソロモン符号では、データストリ
ームは、シンボルのシーケンスとして処理され、シンボ
ルは、典型的には、有限フィールドGF(2w)から選
択される。パラメータwは、シンボル当たりのバイナリ
データビットの数を示す。kシンボル入力ブロックの各
シンボルは、データ多項式D(x)の係数を示す。次
に、冗長シンボル(多項式W(x)とも呼ぶ)は、生成
器多項式G(x)によって除算される入力データ多項式
D(x)の剰余除算として計算される。
【0009】
【数1】 ここで、mは、冗長シンボルの数と等しい生成器多項式
の次数である。次に、冗長多項式W(x)は、データ多
項式D(x)に加えられ、符号語多項式C(x)を生成
する。
【0010】
【数2】 当業者には言うまでもなく、上記の動作を行う符号化器
回路は、リニアフィードバックシフトレジスタ(LFS
R)を用いて最小のコストで実現され得る。
【0011】符号化の後、符号語C(x)は、ノイズ通
信チャネルを通して転送され、受信された符号語C’
(x)は、転送された符号語C(x)に誤り多項式E
(x)を加えたものと等しくなる。受信された符号語
C’(x)は、以下のステップに従って訂正される。
(1)誤りシンドロームSiを計算する。(2)誤りシ
ンドロームSiを用いて誤りロケータ多項式の係数を計
算する。(3)誤りロケータ多項式のルートを計算す
る。ルートの対数は、誤り位置Liである。(4)誤り
シンドロームSiおよび誤りロケータ多項式のルートを
用いて誤り値を計算する。
【0012】誤りシンドロームSiは、生成器多項式G
(x)の因数によって除算される受信符号語多項式C’
(x)の剰余除算として計算される。
【0013】
【数3】 このとき
【0014】
【数4】 であり、ここで、αは、有限フィールドGF(2w)の
基本要素である。復号化プロセスの他のステップを実施
し、誤りロケータ多項式を計算し、誤りロケータ多項式
のルートを計算し、誤り値を計算する技術は、当業者に
より周知であり、本発明を理解するために必要ではな
い。例えば、「COEFFICIENT UPDATING METHOD AND APPA
RATUS FOR REED-SOLOMON DECODER」という名称の下記で
参照する米国特許第5,446,743号を参照のこ
と。
【0015】誤り許容度をさらに増加させるための当該
技術分野で公知の他の技術としては、符号語を、多次元
または積符号として知られるものに改作することが挙げ
られる。ディジタルビデオディスク(DVD)記憶シス
テムは、例えば、一般に、図3Aに示す二次元積符号を
用いる。符号語は、交差する水平(行またはQ)および
垂直(列またはP)符号語に改作され、復号化プロセス
は、反復パスにおいて実行される。まず、水平符号語に
対してパスが行われ、できるだけ多くの誤りが訂正され
る。訂正不可能な水平符号語はすべて、変更されずに残
される。次に、垂直符号語に対してパスが行われ、でき
るだけ多くの誤りが訂正される。ここで、垂直符号語に
おいて訂正されるシンボルもまた、交差する水平符号語
に対する対応のシンボルを訂正する。この結果、水平符
号語は、次の水平パスにおいて訂正可能となり得る。同
様に、水平パスにおいて訂正されるシンボルは、前回訂
正不可能であった垂直符号語を、次の垂直パスにおいて
訂正可能にし得る。この反復プロセスは、全積符号が訂
正されるか、または訂正不可能になるまで続行される。
【0016】図3Aの二次元積符号はさらに、行および
列符号語に対する訂正の有効性を検査するのに用いられ
るCRC冗長シンボルを有する。CRC冗長は、典型的
には、以下の式に従ってユーザデータを処理することに
よって生成される。
【0017】
【数5】 ここで、P(x)は、有限フィールドGF(2m)にお
ける係数を有する多項式として示されるユーザデータで
あり、n−kは、CRC冗長シンボルの数であり、G
(x)は、生成器多項式である。次に、CRC冗長は、
得られる符号語C(x)がディスクに書き込まれる前に
ユーザデータに追加される。読出し動作中、ディスクか
ら読み出されたデータは、以下の式に従って処理され、
CRCシンドロームSCRCを生成する。
【0018】
【数6】 ここで、C’(x)は、ディスクから読み出された(C
RC冗長を含む)受信符号語多項式である。符号語C’
(x)に誤りがない場合、シンドロームSCRCはゼロに
なる。
【0019】CRC冗長は、典型的には、ECC冗長シ
ンボルを符号化する前に書込み動作中にデータに対して
生成され、CRCシンドロームは、ECC冗長が積符号
を訂正するために用いられた後、読出し動作中に生成さ
れる。このように、CRCシンドロームは、訂正を検証
し、訂正ミスを検出するように動作する。これは、非常
に重要な機能である。なぜなら、この機能によって、誤
り訂正システムが、「悪いデータ」がホストシステムを
通過することを防止するためである。
【0020】図1は、CD/DVD光ディスク記憶シス
テムにおいて典型的に見いだされる従来の誤り訂正シス
テムの概観を示す。書込み動作中(装置は読出し専用で
ないと仮定する)、ホストシステムから受信されたユー
ザデータは、データバッファ1に記憶される。次に、C
RC生成器および訂正検証器2は、ユーザデータをバッ
ファからライン3を介して読み出し、CRC冗長シンボ
ルを生成し、冗長シンボルが追加されたユーザデータを
データバッファ1に再び記憶する。その後、データ(C
RC冗長を含む)は、データバッファ1から再び読み出
され、データランダム化器4によってランダム化にさ
れ、ランダムデータは、データバッファ1に再び記憶さ
れる。次に、P/Q符号化器/復号化器5は、データバ
ッファ1からランダムデータを読み出し、ECC/シン
ドローム生成器12は、PおよびQ符号語に対してEC
C冗長シンボルを生成し、図3Aに示す二次元積符号を
形成する。個別のPおよびQ符号語は、ECC冗長シン
ボルを追加した後、データバッファ1に再び記憶され
る。全積符号が生成されると、全積符号は、データバッ
ファ1から読み出され、光記憶媒体6に書き込まれる。
【0021】システムが、コンパクトディスク(CD)
データフォーマット用に構成される場合、C1およびC
2として参照されるさらなる冗長が生成され、データが
ディスクに書き込まれる前に、データに追加される。従
って、CD記録フォーマットを容易にするために、誤り
訂正システムは、C1符号化器/復号化器7、C2符号
化器/復号化器8、および周知のクロスインターリーブ
リード−ソロモン符号(CIRC)を実現するためのイ
ンターリーブ器/非インターリーブ器9を有する。典型
的には、スタティックRAM(SRAM)10は、CI
RCコーディングプロセスを実現するために用いられ、
SRAMは、ダイナミックRAM(DRAM)よりもは
るかに速く、後者は、データバッファ1を実現するため
に用いられる。
【0022】読出し動作中、プロセスは逆に進行する。
CDフォーマット用に構成する場合、C1およびC2復
号化器は、ランダムデータが光ディスク6から読み出さ
れ、データバッファ1に記憶されるときに、ランダムデ
ータに予め訂正を行う。完全な積符号が、データバッフ
ァ1で利用できるようになると、P/Q復号化器5は、
PおよびQ符号語に対して反復パスを開始し、さらなる
訂正を行う。ECC/シンドローム生成器は、ライン1
3を介して誤り訂正器14に転送されるECCシンドロ
ームを生成する。誤り訂正器は、ECCシンドロームを
用いて、上記のように、個々の符号語における誤りを訂
正する。PまたはQパスの終わりには、ECC誤りシン
ドロームはすべてゼロになり、これは、積符号が、(訂
正ミスがなければ)誤りを含まないことを意味し、ラン
ダムデータは、データバッファ1から読み出され、非ラ
ンダム化器4よって非ランダム化される。データが非ラ
ンダム化される間、CRC生成器および訂正検証器2に
よって処理され、CRCシンドロームを生成する。CR
Cシンドロームがゼロである場合、これは、PおよびQ
符号語に対する訂正は有効かつ完了していることを意味
し、データは、再び、データバッファ1から読み出さ
れ、非ランダム化され、非ランダム化されたデータは、
ホストシステムに転送される。CRCシンドロームがゼ
ロでない場合、これは、積符号の訂正ミスがあったこと
を示し、CRC生成器および訂正検証器2は、誤りメッ
セージをライン11を介してホストシステムに転送し、
ホストシステムは、再試行動作(即ち、ディスクからデ
ータを再び読み出す試み)を開始する。
【0023】
【発明が解決しようとする課題】図1に示す従来の誤り
訂正システムの基本的な欠点は、データが、CRC検証
ステップを実施する前に、非ランダム化されなければな
らないことである。このためには、上記のように全積符
号を読み出し、データを非ランダム化し、CRCシンド
ロームを生成するためにさらにバッファにアクセスしな
ければならない。明らかに、これは、記憶システムの待
ち時間を増加させ、特に、円滑で中断されない性能を成
し遂げるために、音声/映像データの大きなブロック
が、連続したストリームにおいて記憶システムから読み
出されなければならないマルチメディアアプリケーショ
ンにはあまり望ましくない。
【0024】従って、検証シンボルがランダム化の前に
生成され、ECCシンボルがランダム化の後に生成され
るときの、CD/DVD積符号などの多次元符号に対す
る訂正の有効性および完全性の証明に関連する待ち時間
を避けるコンピュータ記憶装置における誤り訂正システ
ムが求められている。
【0025】
【課題を解決するための手段】本発明による誤り訂正プ
ロセッサは、ディスク記憶媒体から読み出したバイナリ
データ内の誤りを訂正する誤り訂正プロセッサであっ
て、該バイナリデータは複数の交差多次元符号語のEC
C符号語を含み、該多次元符号語はECC冗長記号、検
証冗長記号および複数のデータセクタを含み、(a)該
ディスク記憶媒体から読み出した該ECC符号語を格納
するデータバッファと、(b)各データセクタに検証シ
ンドロームを生成するのに使用される複数の中間値を格
納するシンドロームバッファと、(c)該データバッフ
ァ内に格納されたECC符号語に応じて、該ECC符号
語内の誤りを訂正するための誤りシンドロームを生成す
るECC復号化器と、(d)該検証冗長記号に応じて、
該ECC復号化器によって該ECC符号語に対して行わ
れた訂正を検証するための該検証シンドロームを生成す
る誤り訂正検証器と、を備えており、これにより上記目
的が達成される。
【0026】(a)前記多次元符号語は第1および第2
の交差ECC符号語組を含み、(b)前記ECC復号化
器は、該第1のECC符号語組および該第2のECC符
号語組をシーケンシャルなパスで処理することによって
前記バイナリデータ内の誤りを訂正してもよい。
【0027】(a)前記誤り訂正検証器は、前記第1の
ECC符号語組に対する第1のパスの間に前記データセ
クタのそれぞれに対してデータ検証シンドロームを生成
し、(b)該データ検証シンドロームは前記シンドロー
ムバッファに格納され、(c)該誤り訂正検証器は、該
第1および第2のECC符号語組に対するパスの間に該
ECC符号語を訂正するために前記ECC復号化器によ
って生成された訂正値を用いて各データセクタに対して
誤り検証シンドロームを生成し、(d)該誤り検証シン
ドロームは、該シンドロームバッファ内に格納され、
(e)該誤り訂正検証器は、該データ検証シンドローム
を、該シンドロームバッファ内に格納された対応する該
誤り検証シンドロームと組み合わせて、これにより、所
定の値と比較される最終検証シンドロームを生成しても
よい。
【0028】(a)前記検証冗長記号は、有限領域の生
成多項式に従って生成され、(b)前記所定の値は該生
成多項式に基づいていてもよい。
【0029】(a)前記誤り訂正検証器は、前記ECC
符号語を処理する前記ECC復号化器と同時に、前記デ
ータセクタのそれぞれに対して部分的検証シンドローム
を生成し、(b)該誤り訂正検証器は、該ECC復号化
器によって処理されている特定の符号語記号の位置に従
って現部分的検証シンドロームを調節するオフセットコ
ントローラを含んでいてもよい。
【0030】前記ECC復号化器が前記データセクタの
1つのデータ記号を訂正するための訂正値を生成すると
きに、(a)前記オフセットコントローラが、訂正され
ている該データ記号の位置に従って対応する前記部分的
検証シンドロームを調節し、(b)前記誤り訂正検証器
が、該訂正値を用いて該部分的検証シンドロームを更新
してもよい。
【0031】(a)前記データセクタのそれぞれは検証
冗長記号を含み、(b)各データセクタに対する該検証
冗長記号は、有限領域の生成多項式G(x)に従って生
成され、(c)前記オフセットコントローラは、前記部
分的検証シンドロームに、XKmodG(x)(但し、
Kはオフセット値であり、mod演算子は剰余演算を示
す)を掛けることによって、データセクタの該部分的検
証シンドロームを調節してもよい。
【0032】前記検証冗長記号は、循環冗長符号(CR
C)に従って生成されてもよい。
【0033】本発明による別の誤り訂正プロセッサは、
ディスク記憶媒体から読み出したバイナリデータ内の誤
りを訂正する誤り訂正プロセッサであって、該バイナリ
データは複数の交差多次元符号語のECC符号語を含
み、該多次元符号語はECC冗長記号、検証冗長記号お
よび複数のデータセクタを含み、該誤り訂正プロセッサ
は、(a)該ディスク記憶媒体から読み出した該ECC
符号語を格納するデータバッファと、(b)各データセ
クタに検証シンドロームを生成するのに使用される複数
の中間値を格納するシンドロームバッファと、(c)該
データバッファ内に格納されたECC符号語に応じて、
該ECC符号語内の誤りを訂正するための誤りシンドロ
ームを生成するECC復号化器と、(d)該検証冗長記
号に応じて、該ECC復号化器によって該ECC符号語
に対して行われた訂正を検証するための該検証シンドロ
ームを生成する誤り訂正検証器とを備えており、該誤り
訂正検証器は、(i)該複数のデータセクタに対応する
該シンドロームバッファ内に格納された複数のデータ検
証値の1つを受け取るように接続されるデータ検証レジ
スタと、(ii)該複数のデータセクタに対応する該シン
ドロームバッファ内に格納された複数の誤り検証値の1
つを受け取るように接続される誤り検証レジスタと、
(iii)1つのデータ検証値を対応する1つの誤り検証
値と組み合わせて、これにより、該検証シンドロームの
1つを生成する検証シンドロームジェネレータと、(i
v)該検証シンドロームを所定の値と比較して、これに
より、該ECC復号化器によって行われた該訂正が有効
且つ完全であるかどうかを決定する比較器とを備えてお
り、これにより上記目的が達成される。
【0034】(a)前記多次元符号語は水平ECC符号
語および垂直ECC符号語を含み、(b)前記ECC復
号化器は、該水平ECC符号語および該垂直ECC符号
語をシーケンシャルなパスで処理することによって前記
バイナリデータ内の誤りを訂正してもよい。
【0035】(a)前記誤り訂正検証器は、前記水平符
号語に対する第1のパスの間に前記データセクタのそれ
ぞれに対して前記データ検証値を生成し、(b)該誤り
訂正検証器は、該水平および垂直ECC符号語に対する
パスの間に該ECC符号語を訂正するために前記ECC
復号化器によって生成された訂正値を用いて該データセ
クタのそれぞれに対して前記誤り検証値を生成してもよ
い。
【0036】(a)垂直符号語は、前記データセクタの
少なくとも2つにおけるデータ記号を含み、(b)前記
誤り訂正検証器は、前記ECC復号化器が該垂直符号語
を処理する際に適切なデータセクタに対応する前記シン
ドロームバッファ内に格納された前記データ検証値を前
記データ検証レジスタにロードし、(c)該誤り訂正検
証器は、該ECC復号化器が該垂直符号語を処理する際
に適切なデータセクタに対応する該シンドロームバッフ
ァ内に格納された前記誤り検証値を前記誤り検証レジス
タにロードしてもよい。
【0037】(a)前記検証冗長記号は、有限領域の生
成多項式に従って生成され、(b)前記所定の値は該生
成多項式に基づいていてもよい。
【0038】(a)前記誤り訂正検証器は、前記ECC
符号語を処理する前記ECC復号化器と同時に、前記デ
ータセクタのそれぞれに対して前記シンドロームバッフ
ァ内に格納された前記データ検証値および前記誤り検証
値を更新し、(b)該誤り訂正検証器は、該ECC復号
化器によって処理されている特定の符号語記号の位置に
従って現データ検証値または誤り検証値を調節するオフ
セットコントローラを含んでいてもよい。
【0039】前記ECC復号化器が前記データセクタの
1つのデータ記号を訂正するための訂正値を生成すると
きに、(a)前記オフセットコントローラが、訂正され
ている該データ記号の位置に従って対応する前記誤り検
証値を調節し、(b)前記誤り訂正検証器が、該訂正値
を用いて該誤り検証値を更新してもよい。
【0040】(a)前記データセクタのそれぞれは検証
冗長記号を含み、(b)各データセクタの該検証冗長記
号は、有限領域の生成多項式G(x)に従って生成さ
れ、(c)前記オフセットコントローラは、前記データ
検証値または前記誤り検証値に、 XKmodG(x) (但し、Kはオフセット値であり、mod演算子は剰余
演算を示す)を掛けることによって、データセクタの該
データ検証値または該誤り検証値を調節してもよい。
【0041】前記検証冗長記号は、循環冗長符号(CR
C)に従って生成されてもよい。
【0042】本発明による方法は、ディスク記憶媒体か
ら読み出したバイナリデータ内の誤りを訂正する方法で
あって、該バイナリデータは複数の交差多次元符号語の
ECC符号語を含み、該多次元符号語はECC冗長記
号、検証冗長記号および複数のデータセクタを含み、
(a)データバッファ内に、該ディスク記憶媒体から読
み出した該ECC符号語を格納するステップと、(b)
シンドロームバッファ内に、各データセクタに検証シン
ドロームを生成するのに使用される複数の中間値を格納
するステップと、(c)ECC復号化器によって、該デ
ータバッファ内に格納されたECC符号語に応じて、該
ECC符号語内の誤りを訂正するための誤りシンドロー
ムを生成するステップと、(d)該検証冗長記号に応じ
て、該ECC復号化器によって該ECC符号語に対して
行われた訂正を検証するための該検証シンドロームを生
成するステップとを包含しており、これにより上記目的
が達成される。
【0043】多次元符号に対する訂正の有効性および完
全性の証明に関連する待ち時間を避けるコンピュータ記
憶装置のための誤り訂正システムが開示される。好まし
い実施態様において、検証は、巡回冗長検査(CRC)
を用いて実施される。書込み動作中、CRC冗長シンボ
ルは、ホストシステムから受信したユーザデータに対し
て計算され、CRCシンボルを追加した後、データは、
疑似ランダムデータパターンで排他的論理和計算するこ
とによってランダム化される。次に、ECCシンボル
は、ランダム化データに対して(好ましくは、リードソ
ロモン符号を用いて)生成され、行(Q)および列
(P)符号語の積符号を形成する。次に、この積符号
は、ディスクに書き込まれる。読み返し時、積符号は、
データバッファに記憶され、P/Q復号化器によって復
号化される。Q符号語に対する第1パスの間、データC
RCシンドロームは、訂正されていないランダム化デー
タに対して生成され、データCRCシンドロームは、デ
ータCRCレジスタに記憶される。さらに、第1パスお
よび次のパスにおいては、PまたはQ符号語に訂正がな
されるとき、訂正値は、誤りCRCレジスタに適用され
る。完全なCRC符号語を処理した後、データCRCレ
ジスタと誤りCRCレジスタとは組み合わされ、最終C
RCシンドロームが生成される。最終CRCシンドロー
ムは、定数と比較され、積符号に対する訂正が有効かつ
完了しているかどうかを決定する。このとき、定数は、
ランダムデータパターンに対するCRCと等しい。この
ように、CRC検査は、ランダム化データに対して行わ
れ得る。これによって、CRCシンドロームを生成する
前にデータを非ランダム化するためのデータバッファへ
のアクセスに関連する待ち時間が避けられる。
【0044】本発明によって提供される他の利点は、P
およびQ符号語の訂正と同時に実行中にCRCシンドロ
ームを生成する能力である。従って、CRC符号語を処
理した直後に、CRCシンドロームは、訂正の有効性お
よび完全性を検査するために利用可能である。つまり、
CRCシンドロームを生成するためにデータバッファに
アクセスする必要はないのである。
【0045】本発明の実施可能性局面は、PおよびQパ
ス中にデータおよび誤りCRCシンドロームを調節し、
CRC符号語シンボル内のオフセットを補うことであ
る。例えば、垂直(即ち、P)符号語を処理する場合、
処理される各垂直シンボルに対して、1行のデータシン
ボルによって誤りCRCシンドロームを調節する必要が
ある。これは、以下の式によってデータおよび誤りCR
Cシンドロームを乗算する特殊な乗算器回路を用いて実
行される。
【0046】
【数7】 ここで、kは、オフセット(例えば、1行のシンボ
ル)、およびG(x)は、CRC生成器多項式である。
【0047】各データセクタに追加された個別のCRC
シンボルを有する多数のデータセクタを備えたDVD積
符号については、CDモードにおいてC1およびC2符
号化/復号化に用いられるSRAMが、各データセクタ
に対する部分データおよび誤りCRCシンドロームを記
憶するために用いられる。PおよびQパスの間、データ
および誤りCRCシンドロームレジスタは、P/Q復号
化器によって処理される現在のデータシンボルに応じ
て、適切な部分CRCシンドロームでロードされる。各
データセクタを処理した後、各データセクタに対するデ
ータCRCシンドロームと誤りCRCシンドロームとは
組み合わされ、疑似ランダムデータパターンに対するC
RCと等しい定数と比較される。
【0048】本発明の上記ならびに他の局面および利点
は、以下の本発明の詳細な説明を図面を参照しながら読
むことによってより明確に理解される。
【0049】
【発明の実施の形態】なお本発明の優先権主張の基礎と
なる米国出願は、「AN ECC SYSTEM FOR GENERATING A C
RC SYNDROME OVER RANDOMIZED DATA IN A COMPUTER STO
RAGE DEVICE」という名称の同時に出願された米国特許
出願第08/970,918号、ならびに「AN ECC SYS
TEM EMPLOYING A DATA BUFFER FOR STORING CODEWORD D
ATA AND A SYNDROME BUFFER FOR STORING ERROR SYNDOR
OMES」という名称の同時に出願された米国特許出願第0
8/970,730号および「COEFFICIENT UPDATING M
ETHOD AND APPARATUS FOR REED-SOLOMON DECODER」とい
う名称の米国特許第5,446,743号である。上記
の米国特許出願および米国特許は、本願では、参考のた
めに援用する。
【0050】[システムの概観]図2は、本発明の誤り訂
正システムの概観を示す。このシステムの動作は、以下
の変更を除いて、図1を参照しながら上述した従来のシ
ステムと同様である。読出し動作中、ECC誤りシンド
ロームは、第1水平パスにおいて、積符号の水平符号語
および垂直符号語の両方に対して同時に生成される。E
CC誤りシンドロームは、SRAM15内に記憶され、
SRAM15はCD積符号を復号化するときにCIRC
誤り訂正用にも用いられる。これにより、記憶装置の待
ち時間が大幅に減少する。なぜなら、次の水平または垂
直パスの間にECC誤りシンドロームを再生するために
データバッファ1にアクセスする必要がないからであ
る。本発明の他の重要な変更は、積符号の訂正と同時に
CRCシンドロームを生成すること、およびデータバッ
ファに記憶されたデータを非ランダム化する前にCRC
シンドロームを検査することである。これにより、CR
Cシンドロームを生成するために、データバッファ1か
ら積符号全体を読み出す必要がなくなり、記憶システム
の待ち時間はさらに減少する。
【0051】図1の従来の誤り訂正システムと異なる構
成要素は、SRAM15、P/Q復号化器16(ECC
/シンドローム生成器17および誤り訂正器18を含
む)、およびCRC生成器および訂正検証器19であ
る。ECC/シンドローム生成器17は、ライン20を
介して誤り訂正器に転送されるECCシンドロームを生
成および記憶する際にSRAM15を用いる。データバ
ッファ1に記憶される符号語を訂正するための誤り訂正
器18によって生成される訂正値は、ECCシンドロー
ムを更新する際に使用されるECC/シンドローム生成
器17にもライン21を介して通信される。CRC生成
器および訂正検証器19はまた、SRAM15を用い
て、DVD積符号の16個のデータセクタに対する16
個の部分CRCシンドロームを記憶する。SRAM15
内に記憶される部分CRCシンドロームは、誤り訂正器
18によって生成される訂正値を用いて更新される。訂
正値は、ライン21を介して、CRC生成器および訂正
検証器19と通信される。
【0052】[データフォーマット]図3Aは、DVD記
憶装置において典型的に用いられる2次元積符号のデー
タフォーマットを示す。積符号は、16個のデータセク
タを有し、各データセクタは、12個の水平符号語(Q
符号語)を有する。各水平符号語は、好ましくはリード
−ソロモン符号に従って生成される10個のECC冗長
シンボルを有する。182個の垂直符号語(P符号語)
があり、それぞれ、図示するように、16個の冗長シン
ボルを有する。ECC冗長シンボルは、ECC符号語も
形成する。即ち、ECC冗長シンボルは、ユーザデータ
と同様に訂正可能である。従って、右側には、10個の
ECC符号語を含む全部で182個の垂直符号語があ
り、下側には、16個の水平ECC符号語を含む208
個の水平符号語がある。
【0053】16個のデータセクタのそれぞれの端部に
は、ECC冗長シンボルを使用して符号語に対する訂正
の有効性および完全性を証明するのに用いられる4個の
CRCシンボルがある。上記のように、書込み動作中、
CRCシンボルは、通常、データがランダム化される前
およびECC冗長シンボルを加える前に、ユーザデータ
に対して生成される。従って、CRCシンボルは、EC
Cシンボルをカバーしない。さらに、従来の誤り訂正シ
ステムは、CRC検査を行う前にデータを非ランダム化
しなければならない。
【0054】図3Bは、図3Aの積符号の最初の2個の
データセクタのさらなる詳細を示す。ECC符号語の訂
正と同時にCRCシンドロームを生成する本発明の技術
について、図3Bを参照しながら以下に説明する。
【0055】[データランダム化器/非ランダム化器]本
発明の誤り訂正システムは、ユーザデータを不透明に
し、検出するのが困難なデータシーケンスがディスクに
記録されるのを防止する。図2を参照しながら上述した
ように、データバッファ1に記憶されるユーザデータ
は、CRCシンボルが生成された後にランダム化され
る。次に、ECC/シンドローム生成器12は、ランダ
ム化データを処理し、図3Aに示す積符号のPおよびQ
符号語に対するECC冗長を生成する。読み返し時に、
積符号は訂正され、訂正が確認される。訂正が有効かつ
完了している場合、データは非ランダム化され、ホスト
システムに転送される。
【0056】データをランダム化/非ランダム化するた
めの回路は当業者に周知であり、図3Cおよび図3D
は、この回路を示す。回路は、ライン23に与えられる
疑似ランダムデータシーケンスを生成するためのランダ
ムパターン生成器を有する。読出し動作中、データバッ
ファ1に記憶されるユーザデータおよびCRCシンボル
は、加算器24においてランダムデータシーケンスに加
えられ(排他的論理和計算)、それによって、データが
ディスクに書き込まれる前にデータをランダム化する。
読み返し時に、ランダムパターン生成器22は、加算器
25において、ディスクから読み出されたデータに加え
られ(排他的論理和計算)、それによって、データをホ
ストシステムに転送する前にデータを非ランダム化す
る。
【0057】好ましくは、疑似ランダムデータシーケン
スは、8ビットシンボル(ECC符号のシンボルサイ
ズ)を用いて生成される。疑似ランダムデータシーケン
スを生成するための好ましい実施態様は、図3Dに示す
ように、リニアフィードバックシフトレジスタ(LFS
R)を用いることである。LFSR回路は、ライン26
を介してシード値で初期化され、疑似ランダムデータシ
ーケンスは、シード値に応じて異なる。異なるシード値
は、図3Aに示す各DVD積符号に対して用いられる。
【0058】[水平および垂直ECCシンドロームの同
時生成]ECCおよびCRCシンドロームを同時に生成
し、訂正値を用いてECCおよびCRCシンドロームを
更新する回路および流れ図を以下に開示する。本発明の
ECCシンドローム生成器17について2つの実施態様
がある。第1の実施態様では、水平パスの間に水平符号
語に対してシンドロームが生成されるのと同時に、EC
Cシンドロームが、垂直符号パスに対して生成される。
以下にさらに詳細に記載するように、SRAM15は、
垂直シンドロームの生成を容易にする。このように、垂
直符号語に対するECCシンドロームが、水平パスの直
後にSRAM15内において利用できるので、垂直符号
語は、ECCシンドロームを生成するためにデータバッ
ファにアクセスせずに訂正され、それによって、誤り訂
正待ち時間が大幅に減少する。本実施態様は、訂正が、
通常、水平および垂直符号語に対する一回のパスの後完
了する、DVD記憶装置などにおけるように、大量のE
CC冗長を用いる積符号に特に適している。
【0059】ECCシンドローム生成器17の第2の実
施態様は、より少ないECC冗長を用いる積符号に向け
られており、そのため、多数の水平および垂直パスを必
要とする。この実施態様では、SRAM15は、水平お
よび垂直符号語の両方に対してECCシンドロームを記
憶する。ECCシンドロームの両セットは、第1水平パ
スの間に同時に生成され、ECCシンドロームは、訂正
値を用いて更新される。このように、データバッファに
アクセスし、ECCシンドロームを再生成する際の待ち
時間は、水平および垂直パスの両方に対して避けられ
る。誤り訂正は、わずかな時間で行われる。なぜなら、
第1パスに続くパスは、データを訂正するためにデータ
バッファにアクセスすることのみが必要であるからであ
る。
【0060】本発明の第1の実施態様では、垂直誤りシ
ンドロームのみがSRAM15内に記憶されるが、これ
は、図4および図5を参照することによって理解され
る。図4は、各水平パスにおける水平符号語に対する誤
りシンドロームを生成するために用いられる回路を示
す。即ち、水平誤りシンドロームは常に再生成され、S
RAM15内には記憶されない。水平誤りシンドローム
iを生成するために、図4の回路は、以下の生成器多
項式G(x)の因数によって各水平符号語C’(x)の
剰余除算を計算する。
【0061】
【数8】 このとき
【0062】
【数9】 である。この計算を行うために、水平符号語(ECC冗
長を含む)のシンボルは、データバッファ1から連続し
て読み出され、ライン27を介して、リニアフィードバ
ックシフトレジスタ(LFSR)280から289のバン
クに与えられる。好ましい実施態様において、各水平符
号語は、図3Aに示すように、10個のECC冗長シン
ボルを含むので、図4では10個のLFSRが存在する
ことになる。各LFSRには、フィードバックパスにお
いて、対応するαi係数乗算器が設けられている。各L
FSRは、生成器多項式G(x)の各因数について剰余
除算を行い、これによって、上式についての誤りシンド
ロームSiを生成する。図4に開示する回路は、当業者
に周知であり、本発明の新規の局面は、垂直符号語に対
して誤りシンドロームを同時に生成することにある。図
5は、この詳細を示す。
【0063】数学的に、垂直符号語に対する誤りシンド
ロームは、上記の水平符号語に対するのと同様に計算さ
れる。即ち、垂直誤りシンドロームSiは、生成器多項
式G(x)の因数で各垂直符号語C’(x)の剰余除算
を計算することによって生成される。従来のシンドロー
ム生成器は、通常、図4に示すのと同じ回路を用いて垂
直誤りシンドロームを生成する。即ち、垂直符号語(E
CC冗長を含む)のシンボルは、データバッファ1から
連続して読み出され、LFSRのバンクを通してシフト
される。本発明において、垂直誤りシンドロームは、水
平誤りシンドロームの生成と同時に生成され、垂直パス
の間に垂直符号語を読み出すためにデータバッファへア
クセスすることが避けられる。
【0064】図5は、垂直誤りシンドロームを同時に生
成するための回路を示す。この回路の動作は、図3Aに
示す積符号を参照することによって理解される。SRA
M15は、182個の垂直符号語のそれぞれに対して1
6個の誤りシンドロームSiを記憶する容量を有する。
SRAM15内における垂直誤りシンドロームSiは、
第1水平パスの初めにゼロに初期化される。第1水平符
号語を処理する際、シンボルは、データバッファ1から
連続して読み出され、ライン27を介して図4のLFS
Rに与えられ、水平誤りシンドロームを生成する。シン
ボルは、同時に、ライン27を介して図5に示す回路に
与えられ、垂直誤りシンドロームを生成する。図4と同
様に、図5は、生成器多項式G(x)の16個の因数に
よって垂直符号語シンボル(各垂直符号語は、16個E
CC冗長シンボルを有する)の剰余除算を計算するため
のシンドローム生成回路290から2915のバンクを有
する。
【0065】図5に示す個々のシンドローム生成回路2
0から2915を理解するために、第1水平符号語がデ
ータバッファから読み出されるときの動作について考え
よう。第1水平符号語の第1シンボルは、第1垂直符号
語の第1シンボルに対応する。従って、制御ライン30
は、第1垂直符号語に対して、16個の垂直誤りシンド
ローム(各8ビット)をSRAM15から取り出す。各
8ビット垂直ECCシンドロームは、対応するレジスタ
310から3115にラッチされ、乗算器320から3215
の出力として選択され、対応するαiフィードバック係
数330から33 15によって乗算される。ライン27上
の符号語シンボルは、乗算器340から3415の出力と
して選択され、加算器350から3515において、係数
乗算器の出力として加算される。加算器350から35
15の出力で更新されたシンドロームは、次に、SRAM
15内に再記憶される。第1水平符号語の第2シンボル
を処理する際、制御ライン30は、第2の垂直符号語に
対して、16個垂直誤りシンドロームをSRAM15か
ら取り出し、上記の手順が繰り返される。このプロセス
は、水平符号語のそれぞれに対して続行し、水平パスの
終わりには、垂直符号語を訂正するための誤りシンドロ
ームが、SRAM15内に記憶される。
【0066】水平パスの間に水平符号語が訂正される場
合、SRAM15内に記憶されている対応する垂直誤り
シンドロームは、訂正されたシンボルを考慮するために
更新されなければならない。図2のシンドローム生成器
17および誤り訂正器18は、好ましくは、隣接する符
号語上で動作する。換言すると、シンドローム生成器1
7が、現在の水平符号語に対して誤りシンドロームを生
成している間、誤り訂正器18は、前の水平符号語に対
してシンボルを訂正する。さらに、誤り訂正は、水平誤
りシンドロームの生成を追跡し、訂正値で垂直誤りシン
ドロームの調整を単純にする。
【0067】例えば、シンドローム生成器17が、誤り
訂正器18が、第1の水平符号語を訂正する間、図3A
の第2水平符号語に対して誤りシンドロームを生成する
ことについて考慮する。シンドローム生成器17が、第
2符号語の第3シンボル36を通過し、第1符号語の第
3シンボル37に誤りがあると仮定する。誤り訂正器1
8は、データバッファ1に記憶されている第1水平符号
語の第3シンボル37を訂正するために用いられる訂正
値を生成し、訂正値は、図5の垂直シンドローム生成回
路290から2915にライン21を介して与えられる。
制御ライン30は、レジスタ310から3115にラッチ
される、第3垂直符号語に対する垂直誤りシンドローム
をSRAM15から取り出す。次に、レジスタ310
ら3115の出力は、加算器350から3515に対する入
力として、乗算器340から3415を通して選択され
る。ライン21を介して与えられる訂正値は、乗算器3
0から3215の出力として選択され、対応のαiフィー
ドバック係数330から3315によって乗算され、加算
器350から3515において垂直誤りシンドロームに加
算される。訂正値を対応するαiフィードバック係数3
0から3315によって乗算することは、現在の垂直E
CCシンドローム値と、訂正されているシンボルとの間
のオフセット(即ち、垂直符号語における1つのシンボ
ルのオフセット)を考慮するのに必要である。
【0068】水平パスの終わりには、垂直符号語に対す
る誤りシンドロームは、完全に生成され、即座に処理に
利用できる。従って、垂直パスを実行するためには、垂
直誤りシンドロームは、SRAM15から単に取り出さ
れ、垂直符号語を訂正するために誤り訂正器18によっ
て使用される。垂直パスの後、積符号のCRCシンボル
が、誤りがまだ残っていることを示す場合、上記のプロ
セスが繰り返される(即ち、水平および垂直誤りシンド
ロームが、次の水平パスにおいて再生成される)。
【0069】本発明の他の実施態様において、水平およ
び垂直シンドロームは両方ともSRAM15内に記憶さ
れる。なぜなら、これらは、第1水平パスにおいて同時
に生成されるからである。このように、上記の実施態様
のように、次の水平パスの間に水平シンドロームを再生
成する必要はない。シンドロームは、水平および垂直パ
スの間に単に取り出され、符号語を訂正するために使用
される。本実施態様は、積符号を訂正するために多数の
パスが必要である場合(例えば、記録密度を増加させる
ことによって、ECC冗長シンボルが減少する場合、ま
たはSNRが減少する場合)に特に有利である。
【0070】図6Aおよび図6Bは、それぞれ、本実施
態様による訂正値を用いて垂直および水平シンドローム
を更新するための回路を示す。これらの回路は、オフセ
ットを考慮する必要がないので、誤り訂正値21を、α
iで乗算する必要がないこと以外は、図5の回路と実質
的に同様に動作する。好ましい実施態様において、第1
水平パスにおいて水平および垂直誤りシンドロームを最
初に生成するための図4および図5の回路は、次のパス
において誤りシンドロームを更新するための図6Aおよ
び図6Bの回路と共用される。制御ライン30を介した
アドレッシングは、どの誤りシンドロームのセット(水
平または垂直)が、適切な時点でSRAM15から取り
出されるかを決定する。
【0071】図7Aは、本発明の動作を説明するフロー
図であり、図示しないコントローラによって実行され
る。第1の水平パス37の間に、水平および垂直ECC
シンドロームおよびデータCRCシンドロームが同時に
生成され、SRAM15内に記憶される。また、第1の
水平パス37の間に、水平符号化語が訂正され、訂正値
を用いて、垂直シンドロームおよびSRAM15内に記
憶された誤りCRCシンドロームが更新される。第1の
および次の水平パスの後、ステップ38で、積符号への
訂正の有効性および完全性が最終CRCシンドロームを
用いて確認される。水平パス後も誤りが残る場合は、ス
テップ40で垂直パスが実行され、垂直符号語が訂正さ
れる。ここでは、訂正値を用いて、シンドロームバッフ
ァ内に記憶された水平シンドロームが更新される。垂直
パスの後、ステップ42で、訂正の有効性および完全性
が最終CRCシンドロームを用いて確認される。垂直パ
ス後も誤りが残る場合は、ステップ44で別の水平パス
が実行され、水平符号語が訂正される。実際の適用に依
存して、訂正はSRAM15内に記憶された水平シンド
ロームを用いて行われる(すなわち、水平シンドローム
はSRAM15内で既に利用可能な場合は再生成されな
い)。水平および垂直パス、ならびにCRC検査は、積
符号が訂正されるかまたは訂正不能と決定されるまで繰
り返される。
【0072】第1の水平パスの間に水平および垂直シン
ドロームならびにデータCRCシンドロームを同時に生
成するフロー図を図7Bに示し、また、第1のパスの間
に水平符号語を訂正し、訂正値を用いて垂直シンドロー
ムおよび誤りCRCシンドロームを更新するフロー図を
図7Cに示す(図7Bおよび図7Cのフロー図は平行し
て実行される)。図7Bを参照して、ステップ46で、
COLおよびROW変数がゼロに初期化される。SRA
M15がクリアされ、ブロック訂正不能誤りフラグ(B
LK_UNC)がクリアされ、そしてFIRST_PA
SSフラグが設定されて、これが第1の水平パスである
ことを示す。次に、ステップ48で、ROWの水平符号
語に対してシンボルが読み出され、これを用いて、上述
のように、図4の回路を用いて水平ECCシンドローム
が、および図5の回路を用いて垂直ECCシンドローム
が更新される。ステップ50でFIRST_PASSフ
ラグが設定されている場合は、このデータシンボルはま
た、図7Fのフロー図を実行することによってステップ
52でデータCRCシンドロームを更新するためにも用
いられる。次にステップ54でCOL変数がインクリメ
ントされ、現在の水平符号語のための次のシンボルを用
いて、第1の水平パスの間に水平および垂直ECCシン
ドロームならびにデータCRCシンドロームが更新され
る。
【0073】ステップ56でCOL変数が182に等し
いときは、現在の水平符号語のための最終シンボルが読
み出されたことを意味する。ステップ58でループを実
行して、誤り訂正手順(図7Cのフロー図)が前の水平
符号語の処理を終了させるのを待つ。前の符号語の訂正
が終了すると、図7Cのステップ88で、訂正フラグが
非使用中にリセットされる。図7Bのステップ60で訂
正フラグは使用中に設定され、C_ROW変数は現在の
ROWに設定され、ROW変数はインクリメントされ、
COL変数はゼロにリセットされる。この時点で、図7
Cの訂正手順が実行され、現在の水平符号語(すなわち
C_ROWの符号語)が訂正され、同時に、次の水平符
号語(すなわちROWの符号語)のためにECCシンド
ロームが生成される。
【0074】図7Cを参照して、ステップ64でループ
を実行して、図7Bのシンドローム生成手順が、現在の
水平符号語の処理を終了して訂正フラグを使用中に設定
するのを待つ。ステップ66で、訂正の間に現在のコラ
ムを追跡するC_COL変数がゼロにリセットされ(す
なわち、訂正中の水平符号語の最初のシンボルにリセッ
トされ)、符号語訂正不能フラグ(CW_UNC)がク
リアされる。ステップ68で、訂正中の水平符号語のた
めのECCシンドロームがSRAM15から取り出さ
れ、誤りロケータ多項式が生成され、ルートが有効シン
ボル位置に対応するかどうかが決定される。ステップ6
9で、ECCシンドロームが、誤りがないことを示すゼ
ロである場合は、ステップ71で誤りCRCシンドロー
ムが更新される。ステップ70で、シンドロームが、誤
りが多すぎるか、または誤りロケータ多項式のルートが
無効シンボルを指す場合は、ステップ73で、CW_U
NCおよびBLK_UNCフラグが設定され、符号語お
よびブロック全体(積符号)が訂正不能誤りを含むこと
を示し、ステップ71で誤りCRCシンドロームが更新
される。ステップ70で符号語が訂正可能である場合
は、ステップ72で、C_ROWの水平符号語のための
ECCシンドロームがクリアされる(ゼロにセットされ
る)。次にループを実行して、C_ROWの水平符号語
が訂正される。ステップ74で、C_COLのシンボル
が誤りである場合は、分岐を実行して、データバッファ
内に記憶されたシンボルが訂正され、訂正値を用いて垂
直シンドロームが更新される。この訂正は、ステップ7
6でC_COLがCOLより小さくなるまで遅延され
る。すなわち、図7Cの誤り訂正手順は、図7Bのシン
ドローム生成手順が現在の訂正コラムC_COLをパス
するまで待つ。これは、図5の回路が正しく作動するた
めには必要である。何故なら、この回路は、訂正値21
にαi33iを乗算して、1つのシンボルのオフセットを
計算するものであるからである。図7Cのステップ78
で、データバッファ内に記憶された水平符号語シンボル
が訂正値を用いて訂正され、ステップ80で、訂正値を
用いて、図5に関連して上述したようにC_COLの垂
直符号語のための垂直シンドロームが更新される。ステ
ップ81で、誤りCRCシンドロームが訂正値により更
新され(訂正値がゼロの場合でも)、ステップ82で、
変数C_COLが水平符号語の次のシンボルにインクリ
メントされ、訂正ループが再実行される。
【0075】ステップ84でC_COLが182に等し
い場合は、水平符号語の最終シンボルが処理されたこと
を意味する。次の垂直パスの間に現在の水平符号語のた
めの誤りシンドロームの更新を迅速に行うために、ステ
ップ86で、これらの誤りシンドロームが最初の符号語
シンボルに再配置される。これは次の計算によって実行
される。
【0076】
【数10】 上記の動作を行う回路について以下により詳細に述べ
る。
【0077】図7Cのステップ88で、訂正使用中フラ
グがクリアされ、ステップ64で、訂正手順は図7Bの
シンドローム生成手順が次の水平符号語のための誤りシ
ンドロームの生成を終了するのを待つ。シンドローム生
成手順および誤り訂正手順は、最終水平符号語が処理さ
れる(すなわち、図7Bのステップ62でROWが20
8に等しくなる)まで平行して実行される。このとき、
ステップ63でFIRST_PASSフラグがクリアさ
れ、制御は図7Aに戻る。図7Aのステップ38で、第
1の水平パス後も誤りが残っている場合は、ステップ4
0で垂直パスが実行される。この手順のフロー図は図7
Dに示す。
【0078】ステップ90で、訂正変数C_COLおよ
びC_ROWはゼロにリセットされ(すなわち、第1の
垂直符号語の最初のシンボルにリセットされ)、符号語
訂正不能フラグ(CW_UNC)はクリアされる。次に
ステップ92で、訂正中の垂直符号語のためのシンドロ
ームがSRAM15から取り出され、誤りロケータ多項
式を生成し、ルートが有効シンボル位置に対応するかど
うかを決定する。ステップ93で、ECCシンドローム
がゼロで誤りがないことを示す場合は、ステップ95で
誤りCRCシンドロームが更新される。ステップ94
で、シンドロームが、誤りが多すぎるか、または誤りロ
ケータ多項式のルートが無効シンボルを指す場合は、ス
テップ97で、CW_UNCおよびBLK_UNCフラ
グが設定され、ステップ95で誤りCRCシンドローム
が更新される。ステップ94で、符号語が訂正可能であ
る場合は、ステップ96で、垂直符号語のためのECC
シンドロームがクリアされる(ゼロに設定される)。次
にループを実行して、C_COLの垂直符号語が訂正さ
れる。ステップ98で、C_ROWのシンボルが誤りで
ある場合は、分岐を実行して、ステップ100でデータ
バッファ内に記憶されたシンボルが訂正され、ステップ
102で訂正値を用いて水平シンドロームが更新され
る。図6Aの回路を用いて、図5を参照して上述したの
と類似の方法で水平シンドロームが更新される。C_R
OWの水平ECCシンドロームがSRAM15から取り
出され、αi33iで乗算され、訂正値35iに加算さ
れ、SRAM15内に戻される。図7Dのフローチャー
トには示していないが、訂正が行われない場合も(すな
わち訂正値がゼロの場合も)符号語の各シンボルに対し
て水平シンドロームが更新される。これにより、図6A
のシンドローム更新回路が簡略化される。すなわち、E
CCシンドロームを次の符号語シンボルに位置付けるの
に、αi乗算器33iしか必要としない。
【0079】図7Dのステップ104で、誤りCRCシ
ンドロームが訂正値に更新され(訂正値がゼロの場合
も)、ステップ105で、C_ROW変数が現在の垂直
符号語の次のシンボルにインクリメントされる。ステッ
プ106で、C_ROWが208に等しくなる、つまり
現在の垂直符号語の最終シンボルが処理されるまで、訂
正ルームが繰り返される。最終シンボルが処理されると
(または、ステップ94で符号語が訂正不能である場
合)、ステップ107で、C_COLの垂直符号語のた
めの誤りシンドロームが符号語の最初のシンボルに再配
置される。これは次の計算によって実行される。
【0080】
【数11】 上記の動作を行う回路について以下により詳細に述べ
る。
【0081】ステップ108で、C_COL変数が次の
垂直符号語にインクリメントされ、C_ROW変数がゼ
ロにリセットされて、次の垂直符号語の最初のシンボル
を指す。ステップ110でC_COLが182に等しく
なり、垂直符号語のすべてが処理されたことを示すま
で、図7Dの訂正手順が繰り返される。
【0082】垂直パスの最後に、ステップ42で積符号
に誤りが残っている場合は、ステップ44で水平訂正パ
スが実行される。水平シンドロームがSRAM15内に
記憶されていない場合、ステップ44で図7Bのフロー
図が実行され、水平ECCシンドロームが再生成される
(FIRST_PASSを偽として)。しかし、SRA
M15内に水平ECCシンドロームが記憶されている場
合は、図7Eのフロー図が実行され、単に訂正システム
の待ち時間を低減させるECCシンドロームが取り出さ
れ処理される。
【0083】図7Eのステップ112で、訂正変数C_
COLおよびC_ROWがゼロにリセットされ(すなわ
ち、第1の水平符号語の最初のシンボルにリセットさ
れ)、符号語訂正不能フラグ(CW_UNC)がクリア
される。次にステップ114で、訂正中の水平符号語の
ためのシンドロームがSRAM15から取り出され、誤
りロケータ多項式を生成し、ルートが有効シンボル位置
に対応するかどうかを決定する。ステップ115で、E
CCシンドロームがゼロで誤りがないことを示す場合
は、ステップ117で誤りCRCシンドロームが更新さ
れる。ステップ116で、シンドロームが、誤りが多す
ぎるか、または誤りロケータ多項式のルートが無効シン
ボルを指す場合は、ステップ119でCW_UNCおよ
びBLK_UNCフラグが設定され、符号語およびブロ
ック全体(積符号)が訂正不能誤りを含むことを示し、
ステップ117で、誤りCRCシンドロームが更新され
る。ステップ116で、符号語が訂正可能である場合
は、ステップ118で、C_ROWの水平符号語のため
のECCシンドロームがクリアされる(ゼロに設定され
る)。次にループを実行して、C_ROWの水平符号語
が訂正される。
【0084】ステップ120で、C_COLのシンボル
が誤りである場合は、分岐を実行して、ステップ122
でデータバッファ内に記憶されたシンボルが訂正され、
ステップ124で訂正値を用いて垂直シンドロームが更
新される。垂直パスの間に水平ECCシンドロームを更
新するのに図6Aを参照して上述したのと同様の方法
で、図6Bの回路を用いて垂直ECCシンドロームが更
新される。C_COLの垂直ECCシンドロームがSR
AM15から取り出され、αi33iで乗算され、訂正値
35iに加算され、SRAM15内に戻される。図7E
のフローチャートには示していないが、訂正が行われな
い場合も(すなわち訂正値がゼロの場合も)符号語の各
シンボルに対して、垂直ECCシンドロームが更新され
る。これにより図6Bのシンドローム更新回路が簡略化
される。すなわち、ECCシンドロームを次の符号語シ
ンボルに位置付けるのに、αi乗算器33iしか必要とし
ない。
【0085】図7Eのステップ126で、誤りCRCが
訂正値を用いて更新され(訂正値がゼロの場合も)、ス
テップ127で、C_COL変数が現在の水平符号語の
次のシンボルにインクリメントされる。ステップ128
で、C_COLが182に等しい場合は、現在の水平符
号語の最終シンボルが処理されたことを意味する。最終
シンボルが処理されると(または、ステップ116で符
号語が訂正不能である場合)、ステップ130で、C_
ROWの水平符号語のための誤りシンドロームが符号語
の最初のシンボルに再配置される。これは次の計算によ
って実行される。
【0086】
【数12】 ステップ132で、C_ROW変数が次の水平符号語に
インクリメントされ、C_COL変数がゼロにリセット
されて、次の水平符号語の最初のシンボルを指す。ステ
ップ134でC_ROWが208に等しくなり、水平符
号語のすべてが処理されたことを示すまで、図7Eの訂
正手順が繰り返される。
【0087】再び図7Aを参照すると、ステップ44で
水平パスが完了した後、誤りが残っている場合は、ステ
ップ40で別の垂直パスが実行される。積符号が訂正さ
れるかまたは訂正不能であると決定されるまで、繰り返
し水平および垂直パスが続けられる。各データセクタの
ためのデータCRCシンドロームおよび誤りCRCシン
ドロームを生成するフロー図を図7Gから図7Iに示
し、CRCシンドロームを生成する回路を図8から図1
1に示す。これらのフロー図および回路は以下のように
動作する。
【0088】[CRCシンドロームの生成および検証]図
3Aの各データセクタのためのCRCシンドロームは2
つの部分、すなわちデータCRCシンドロームおよび誤
りCRCシンドロームで生成される。データCRCシン
ドロームは、非訂正データに対するCRCとして生成さ
れ、誤りCRCシンドロームは、訂正値に対するCRC
として生成される。図3Aの積符号のデータセクタの処
理が終了すると、データCRCシンドロームと誤りCR
Cシンドロームとが組み合わされて最終CRCシンドロ
ームが生成され、定数と比較されて、このセクタに対す
る訂正が有効且つ完全であるかどうかが決定される。上
述のように、データCRCシンドロームおよび誤りCR
Cシンドロームは、ランダム化データに対して積符号を
訂正するのと同時に生成される。すなわち、従来のよう
に訂正後およびデータの非ランダム化後に生成されるの
ではない。
【0089】図1の従来の誤り訂正システムでは、CR
C冗長シンボルCRCREDは、データ多項式D(x)を
生成器多項式G(x)で割った剰余除算として生成され
る。
【0090】
【数13】 CRC冗長シンボルCRCREDをデータ多項式D(x)
に加算した後、疑似ランダムデータシーケンス多項式R
(x)を加算することによってデータをランダム化し、
この結果、符号語多項式C(x)がディスクに書き込ま
れる。
【0091】
【数14】 読み戻されると、受け取られた符号語多項式C’(x)
はECC冗長シンボルを用いて訂正され、訂正された符
号語から疑似ランダムデータシーケンスR(x)が減算
され、以下のCRCシンドロームSCRCが生成される。
【0092】
【数15】 CRCシンドロームSCRCは次にゼロと比較され、訂正
の有効性および完全性が確認される。
【0093】本発明では、CRC検査は、訂正された符
号語を非ランダム化する前に行われる。本発明の実現可
能な改変として、データをランダム化/非ランダム化す
るために用いられる疑似ランダムデータシーケンスにわ
たって、最後のCRCシンドロームをCRCと比較して
もよい。これは、以下の数学関係により理解される。
【0094】
【数16】 ここで、D(x)はデータ多項式、CRCREDはCRC
冗長度、およびR(x)は、データをランダム化するた
めにデータ多項式に加えられる疑似ランダムデータシー
ケンス多項式である。結果としてディスクに書き込まれ
る符号語C(x)は、上述の従来技術の場合と同じであ
る。しかし、データを非ランダム化する前に(すなわ
ち、疑似ランダムデータシーケンス多項式R(x)を減
算する前に)受け取られた符号語C’(x)をCRC生
成器多項式で除算すれば、以下の関係が導かれる。
【0095】
【数17】 ここで、E(x)は誤り多項式である。上記の式は以下
のように書き換えることができる。
【0096】
【数18】 上記の式で、(D(x)・xn-k+CRCRED) mod
G(x)=0である。従って、以下の式となる。
【0097】
【数19】 このように、受け取られた符号語C’(x)がECC冗
長を用いて完全に訂正された場合(すなわち、E(x)
=0)、受け取られた符号語C’(x)に対して生成さ
れる最後のCRCシンドロームは、上記の式から分かる
ように、疑似ランダムデータシーケンスR(x)をCR
C生成器多項式G(x)で除算した剰余除算に等しい。
疑似ランダムデータシーケンスR(x)および生成器多
項式G(x)は既知であるため、疑似ランダムデータシ
ーケンスR(x)を生成器多項式G(x)で割った剰余
は定数となる。すなわち、最後のCRCシンドロームは
単にこの定数と比較され、ECCシンドロームを用いた
訂正が有効且つ完全であるかどうかが決定される。CR
Cシンドロームは、受け取られた符号語の訂正と同時に
生成されるため、CRCシンドロームは直ちに利用可能
となる。つまり、従来技術のようにCRCシンドローム
を生成するために、データバッファから符号語全体を読
み出す必要はない。
【0098】CRCシンドロームを受け取られた符号語
の訂正と同時に生成するために、本発明は、第1の水平
パスの間に非訂正データに対してデータCRCシンドロ
ームを生成し、また、水平および垂直パス両方の間に訂
正値に対して誤りCRCシンドロームを生成する。図3
Aの積符号のデータセクタの処理が終了すると、データ
CRCシンドロームと誤りCRCシンドロームとが組み
合わされて最終CRCシンドロームを生成し、これが定
数(R(x) mod G(x))と比較される。
【0099】本発明では、データCRCシンドロームお
よび誤りCRCシンドロームは従来の方法では(すなわ
ち、リニアフィードバックシフトレジスタ(LFSR)
を用いて)生成されない。何故なら、垂直パスの間にデ
ータシンボルがデータバッファから順次読み出されるの
ではないからである。そうではなく、データおよびCR
Cシンドロームが、処理中のデータシンボルの位置に対
応するように調整される。この調整は、データCRCシ
ンドロームおよび誤りCRCシンドロームを以下の値で
乗算することによって実行される。
【0100】
【数20】 ここで、kは符号語にわたってシンドロームを「移動さ
せる」シンボルの数を表す。例えば、第1の水平パスの
間にデータCRCシンドロームを生成するとき、データ
CRCシンドロームは、
【0101】
【数21】 で乗算され、これにより、データCRCシンドロームが
現在の水平符号語の次のシンボルに調整される。垂直パ
スの間、誤りCRCシンドロームは、
【0102】
【数22】 で乗算され、これにより、誤りCRCシンドロームが現
在の垂直符号語の次のシンボルに調整される。CRCシ
ンドロームを生成するこの方法の数学的な基礎につい
て、CRC生成器および訂正検証器を実現する回路に関
連して以下に述べる。
【0103】図3Aに示すように、16個のデータセク
タがあり、それぞれにCRC冗長が付けられている。従
って、第1の水平パスの間に16個のデータCRCシン
ドロームが生成され、水平および垂直パス両方の間に1
6個の誤りCRCシンドロームが更新される。これらの
シンドロームは好ましくはSRAM15内に記憶され、
これによりSRAM15を用いて、CD−ROMフォー
マットのためのCIRC誤り訂正およびDVDフォーマ
ットのためのCRCシンドローム生成の両方が可能にな
る。第1の水平パスの間に新しいセクタがそれぞれ処理
されるに従って、現在のデータCRCシンドロームは開
始値に初期化される。データCRCシンドロームを次の
セクタのための開始値に初期化する前に、前のデータセ
クタのための現在のデータCRCシンドロームがSRA
M15内に記憶される。同様に、垂直符号語の処理時に
は、誤り訂正システムが16個のデータセクタを通って
垂直方向に進行するに従って、現在のデータセクタに対
応する適切な誤りCRCシンドロームがSRAM15か
ら取り出される。処理中の現在のデータセクタに従って
データCRCシンドロームおよび誤りCRCシンドロー
ムを更新するこのプロセスは、図7Fから図7Jのフロ
ー図により理解される。
【0104】図7Fは、図3Aの積符号に対する第1の
水平パスの間にデータCRCシンドロームを生成するフ
ロー図を示す。この積符号の最初の2つのデータセクタ
は図3Bに示されている。図7Fのフロー図は、図7B
のステップ52で新しいデータシンボルがデータバッフ
ァから読み出される度に実行される。図7Fのステップ
136で、検査を行ってデータCRCシンドロームを次
のデータセクタの最初のシンボルに初期化すべきかどう
かが決定される。例えば、第1の水平符号語の最初のシ
ンボルを処理するとき、ステップ138で、データCR
Cシンドロームを記憶するデータレジスタDATA_R
EGが、図3Bの第1のデータセクタの最初のシンボル
160により初期化される。次のデータセクタに到達す
ると(すなわち、ステップ136でROWが12に等し
いとき)、ステップ138で第1のデータセクタのため
のデータCRCシンドロームがSRAM15内に保存さ
れ、DATA_REGが、次の水平符号語のための最初
のデータシンボル204により初期化される。
【0105】図7Fのフロー図について続けて説明する
と、データセクタの最初のシンボルが処理されず、且つ
ステップ144でCOLが172より小さい場合、ステ
ップ146でデータCRCシンドロームは1シンボル
(1列)だけ右に調整され、現在のデータシンボルがデ
ータCRCシンドロームに加えられる。ステップ144
で、COLが171より大きい場合は、現在のデータシ
ンボルはデータCRCシンドロームに加えられない。何
故なら、これはCRC符号語には含まれないECC冗長
シンボルであるからである(ECC冗長は、上述のよう
に書き込み動作中にCRC符号語が生成された後で加え
られる)。例えば、図3Bの第1の水平符号語が処理さ
れるとき、データCRCシンドロームの生成は、図7B
のステップ60でCOLがゼロにリセットされて、次の
水平符号語の処理が開始されるまで、シンボル148で
停止状態となる。次に、ステップ146で、第2の水平
符号語の最初のデータシンボル150をデータCRCシ
ンドロームに加える前に、データCRCシンドロームは
先ず1シンボルだけ右に(すなわち、図3Bのシンボル
150に)調整される。
【0106】データセクタの最終水平符号語の処理が終
了すると(すなわち、ステップ154でROW+1 m
od 12が0に等しく、ステップ156でCOLが1
81に等しいとき)、データCRCシンドロームは、対
応するデータセクタの最終シンボルに位置付けられる。
例えば、第1のデータセクタの処理が終了すると、デー
タCRCシンドロームは図3Bのシンボル152に対し
て位置付けられる。上述のように、それぞれの対応する
誤りCRCシンドロームもまた、CRC検査を行う前に
データセクタの最終データシンボルに位置付けられる。
【0107】第1のデータセクタの処理が終了すると、
図7Fのステップ136で、ROWは12に等しく、R
OW mod 12はゼロに等しい。従って、ステップ
138で、第1のデータセクタのための現在のデータC
RCシンドロームはSRAM15内に保存され、DAT
A_REGは、SRAM15から取り出される、第2の
データセクタのための開始位置により(すなわち、図3
Bのシンボル142に)初期化される。ステップ146
で、第2のデータセクタのCRC符号語のためのデータ
シンボルがデータCRCシンドロームに加えられる。こ
のプロセスは、16個のデータCRCシンドロームのす
べてが生成されSRAM15内に記憶されるまで続く。
【0108】水平および垂直パスの間に誤りCRCシン
ドロームを生成するフロー図を図7Gから図7Jに示
す。第1の水平パスの間に、図7Cのステップ81で誤
りCRCシンドロームが訂正値に更新される(訂正値が
ゼロの場合も)。図7Gのステップ159で、現在のパ
スが水平であるか垂直であるかに依存して分岐が実行さ
れる。現在水平パスを行っている場合は、ステップ16
1でC_ROWが191より大きいならば、ECC冗長
はCRCシンドロームの一部ではないので、誤りCRC
シンドロームは更新されない。垂直パスの場合は、ステ
ップ162で訂正列C_COLおよび訂正行C_ROW
mod 12がゼロであるならば、ステップ164
で、誤りCRCシンドロームERR_REGを生成する
レジスタに、現在のデータセクタに対応するSRAM1
5からの一部誤りCRCシンドロームがロードされる。
【0109】ステップ166で、符号語が訂正不能であ
る(すなわち、訂正不能フラグ(CW_UNC)が設定
される)か、または現在の水平符号語のためのECCシ
ンドロームがゼロで訂正が不可能であることを示す場合
は、ステップ168で、符号語が現在のデータセクタの
最終水平符号語であるかどうかに依存して分岐が実行さ
れる。データセクタの最終符号語である(すなわち、C
_ROW+1 mod12がゼロに等しい)場合は、ス
テップ169で、誤りCRCシンドロームを171シン
ボルだけ右にシフトすることによって、現在のデータセ
クタのための誤りCRCシンドロームが、CRC符号語
の最終シンボルに(例えば、図3Bのシンボル158か
らシンボル152に)位置付けられ、C_COLが17
2に設定される。後述の乗算テーブル数を減らすため
に、ステップ169での誤りCRCシンドロームの17
1シンボルだけ右へのシフトは、誤りCRCシンドロー
ムを1シンボルだけ右にシフトすることを171回繰り
返すループにおいて実行される。現在の符号語がデータ
セクタの最終符号語でない場合は、ステップ170で、
誤りCRCシンドロームは、単に、現在の水平符号語を
飛ばすために1行下に調整される。この後、制御は図7
Eに戻り、データセクタの次の水平符号語の処理を続け
る。
【0110】ステップ166で、符号語訂正不能フラグ
(CW_UNC)が設定されず、且つ現在の水平符号語
のためのECCシンドロームがゼロでない場合は、図7
Hのステップ172で、現在の訂正列C_COLの値に
基づいて分岐が実行される。C_COLが0から171
である場合は、現在の水平符号語の最初のデータシンボ
ルを処理していないならば(すなわち、ステップ174
でC_COLが0でないならば)、ステップ176で誤
りCRCシンドロームが1シンボル(1列)だけ右に調
整され、ステップ178で現在のデータシンボルのため
の訂正値が誤りCRCシンドロームに加えられる。この
プロセスは、現在の水平符号語のための訂正値のすべて
が、誤りCRCシンドロームに加えられるまで続く。水
平符号語のECCシンボルは(ステップ172でC_C
OLが173から180であるときは)、上述のように
これらはCRC符号語の一部ではないため、誤りCRC
シンドロームには加えられない。現在の水平符号語の最
終データシンボルが処理されると(すなわち、ステップ
172でC_COLが172に等しいとき)、ステップ
180で、誤りCRCシンドロームが、現在の水平符号
語が現在のデータセクタの最終符号語であるかどうかに
基づいて調整される。符号語がデータセクタの最終水平
符号語ではない場合は(すなわち、ステップ180で
(ROW+1)mod12が0ではない場合は)、ステ
ップ182で、誤りCRCシンドロームは1シンボルだ
け右に調整され、これにより次の水平符号語の最初のシ
ンボルに対して位置付けられる。現在の水平符号語が現
在のデータセクタの最終符号語である場合は、ステップ
181で、DATA_REGが現在のデータセクタのた
めのデータCRCシンドロームと共にSRAM15から
ロードされ、ERR_REGと組み合わされる。上述の
ように結果が疑似ランダムシーケンスにわたってCRC
に等しくない場合は、ステップ183でブロック訂正不
能フラグ(BLK_UNCフラグ)が設定される。次
に、ステップ184で、誤りCRCシンドロームは12
行だけ上におよび1シンボルだけ右に調整されて、デー
タセクタの最初のシンボルに対して再配置される。例え
ば、誤りCRCシンドロームが、図3Bの第1のデータ
セクタのCRC符号語の最終シンボル152に位置する
場合、ステップ184で誤りCRCシンドロームを12
行だけ上におよび1シンボルだけ右に調整することによ
り、誤りCRCシンドロームはデータセクタの最初のシ
ンボル160に位置付けられる。次にステップ185
で、現在のデータセクタのための誤りCRCシンドロー
ム(ERR_REGに記憶)がSRAM15内に再び記
憶される。
【0111】図7Gおよび図7Hの誤りCRC更新手順
は、図3Aの16個のデータセクタすべてに対して誤り
CRCシンドロームが生成され、疑似ランダムシーケン
スにわたってCRCと比較されるまで繰り返される。第
1の水平パスの終了時に、図7Kのステップ254でB
LK_UNCフラグが調べられ、積符号の訂正の有効性
および完全性が確認される。誤りが残っている場合に
は、垂直パスが実行され、図7Dのステップ104で
(または、垂直符号語が飛ばされる場合はステップ95
で)、図7Iの誤りCRC更新手順が実行されて、誤り
CRCシンドロームを、垂直符号語に適用された訂正値
により更新する。
【0112】図7Gのステップ159で、制御は図7I
に分岐して、垂直パスのための誤りCRCシンドローム
を更新する。図7Iのステップ186で現在の訂正列C
_COLが171より大きい場合は、水平ECCシンボ
ルに対する垂直符号語はCRC符号語に含まれないた
め、何も更新されない。ステップ186でC_COLが
172より小さい場合は、ステップ188で検査が行わ
れ、誤りCRCシンドロームが、現在の垂直符号語を下
向きに進行して現在のデータセクタの最終行に到達した
かどうかを決定する。現在の訂正行C_ROW mod
12がゼロに等しい場合は、ステップ190で、現在
のデータセクタのための一部誤りCRCシンドロームが
SRAM15から取り出され、ERR_REGにロード
される。
【0113】ステップ192で符号語訂正不能誤りフラ
グ(CW_UNC)が設定されているか、または現在の
垂直符号語のためのECCシンドロームがゼロである場
合は、図7Jのフロー図が実行されて、誤りCRCシン
ドロームを1シンボルだけ右に調整する(すなわち、現
在の垂直符号語が飛ばされる)。ステップ193でC_
COLが171に等しくない場合は(すなわち、データ
セクタの最終垂直符号語を処理していない場合は)、ス
テップ194で、第1のデータセクタのための誤りCR
Cシンドロームが1シンボル(1列)だけ右に調整され
る。ステップ196で現在のデータセクタのための一部
誤りCRCシンドロームがSRAM15内に記憶され、
ステップ197でC_ROWが12だけインクリメント
される。すなわち次のデータセクタに移される。ステッ
プ198でC_ROWが191より大きくない場合は、
ステップ200でERR_REGが次のデータセクタの
ための一部誤りCRCシンドロームと共にSRAM15
からロードされ、ステップ194でこの誤りCRCシン
ドロームが1シンボルだけ右に調整され、ステップ19
6でSRAM15内に再記憶される。このループは、ス
テップ198でC_ROWが191より大きくなるまで
繰り返され、191より大きくなると、すべての誤りC
RCシンドロームが1シンボル(1列)だけ右に調整さ
れて、現在の垂直符号語が飛ばされる。
【0114】図7Jのステップ193でC_COLが1
71に等しい場合は、最終垂直符号語(ECC冗長の
前)は飛ばされることになる。従って、各データセクタ
のための最終CRCシンドロームを各データセクタのた
めに生成し、誤りが残っている場合はBLK_UNCフ
ラグを設定する必要がある。ステップ201で、現在の
データセクタ(ERR_REGに記憶)のための誤りC
RCシンドロームが11データシンボルだけ下に(例え
ば、図3Bのシンボル148からシンボル152に)調
整される。ステップ201は実際には、ERR_REG
を1シンボル(D1)だけ下に調整するのを11回繰り
返すループとして実現される。次にステップ203で、
DATA_REGが、SRAM15からの現在のデータ
セクタのためのデータCRCシンドロームにより初期化
され、DATA_REGをERR_REGと組み合わせ
ることによって最終CRCシンドロームが生成される。
最終CRCシンドロームが疑似ランダムシーケンスにわ
たってCRCに等しくない場合は、ステップ205でブ
ロック訂正不能フラグ(BLK_UNC)が設定され
る。ステップ207で、誤りCRCシンドロームは、1
2行だけ上におよび1データシンボルだけ右に(例え
ば、図3Bのシンボル152からシンボル160に)調
整することによって、データセクタの開始点に調整され
る。ステップ200で次のデータセクタのための誤りC
RCシンドロームがERR_REGにロードされ、上記
の手順が繰り返される。ステップ198でC_ROWが
191より大きい場合は、各データセクタに対してCR
C検査が行われ、誤りCRCシンドロームは各データセ
クタの開始点に再配置されているはずである。
【0115】再び図7Iを参照して、ステップ192
で、符号語訂正不能フラグ(CW_UNC)がセットさ
れず、ECCシンドロームがゼロでなければ、ステップ
206で分岐が実行され、現在の訂正行C_ROWの値
に基づいて誤りCRCシンドロームが更新される。ステ
ップ206でC_ROWが192〜207であれば、C
RC符号語にECC冗長記号が含まれないため、制御は
単に戻るだけである。C_ROWが0〜191であれ
ば、現在の誤りCRCシンドロームは、ステップ208
で1記号だけ下に調整され、ステップ210で、次の記
号の訂正値が誤りCRCシンドロームに加えられる。誤
りCRCシンドロームがデータセクタの最初の行にある
場合(即ち、ステップ212でC_ROWmod12が
ゼロである場合)、誤りCRCシンドロームを1記号だ
け下に調整するステップ208はスキップされる。
【0116】ステップ209で、現在のデータセクタの
最後の行に達すると(即ち、C_ROW+1mod12
がゼロであれば)、誤りCRCシンドロームは、垂直方
向の次の符号語のデータセクタのトップ位置に調整され
る。これは、ステップ211で誤りCRCシンドローム
を1記号下(D1)に調整し、さらに、ステップ213
で1記号右で12記号上(UP12_R1)に調整す
る。ステップ215でC_COLが171に等しけれ
ば、誤りCRCシンドロームは、データセクタの最後の
記号の上に配置され、CRCチェックが行われる。ステ
ップ217で、現在のデータセクタのデータCRCシン
ドロームとともに、DATA_REGがSRAM15か
らロードされ、ERR_REGと結合され、最終CRC
シンドロームが生成される。最終CRCシンドロームが
疑似ランダムシーケンス上のCRCに等しくなければ、
ステップ219でブロック訂正不能フラグ(BLK_U
NC)がセットされる。その後、ステップ213で、誤
りCRCシンドロームは、12行上で1データ記号右
(UP12_R1)に動かされ、データセクタの最初の
記号上に再配置され(例えば、図3Bの記号152から
記号160に動かされ)、ステップ214で、現在のデ
ータセクタの誤りCRCシンドローム(ERR_REG
に格納されている)が、SRAM15に復元される。
【0117】垂直方向のパスの終わりで、BLK_UN
Cフラグが図7Kのステップ254で検査され、積符号
に対する訂正の有効性および完全性が検証される。誤り
がまだ残っていれば、水平方向のパスがもう一度行われ
る。水平方向の符号語のECCシンドロームがSRAM
15に格納されると、図7Eのフロー図が実行され、ス
テップ117および126で誤りCRCシンドロームが
更新される。水平方向の符号語のECCシンドロームが
SRAM15に格納されなければ、図7Cのフロー図が
実行され、ステップ71および81で誤りCRCシンド
ロームが更新される。
【0118】図7Kのフロー図は、積符号が完全に訂正
されているかどうか、または、水平方向もしくは垂直方
向のパスの終わりで積符号が訂正不可能であるかどうか
を判定するステップを示す。ステップ252で、システ
ムは、ECC_BUSYフラグがクリアされるのを待っ
てから、BLK_UNCフラグの検査を行う。ステップ
254でブロック訂正不能フラグ(BLK_UNC)が
セットされず、前の水平方向または垂直方向のパスの間
に訂正不可能な誤りに遭遇しなかったことが示される
と、訂正手順は、従来技術で必要とされるような別のパ
スを行わずに、ステップ258で成功としてフローから
出る。
【0119】ステップ254でBLK_UNCフラグが
セットされると、ステップ256でパスカウント変数P
ASS_CNTがインクリメントされ、PASS_CN
Tが所定の最大値を上回ると、積符号は訂正不可能とな
り、訂正手順はステップ266で失敗としてフローから
出る。ステップ256でPASS_CNTが所定の最大
値未満であり、ステップ260で、前の水平方向および
垂直方向のパスで変更がなされていなければ(訂正が行
われていなければ)、それ以上パスを行っても役に立た
ないため、訂正手順はステップ266で再び失敗として
フローを出る。ステップ260で変更がなされていれ
ば、ステップ262でBLK_UNCフラグがクリアさ
れ、水平方向または垂直方向のパスをもう一度実行する
ことによって、ステップ264で訂正手順が続けられ
る。
【0120】CRCシンドロームSCRCが、積符号の訂
正と同時に計算されるため、訂正手順は、水平方向また
は垂直方向のいずれかのパスの終わりでうまく終了し得
る。従って、本発明では、訂正が終了したかどうかを検
証するために、従来技術で必要とされていた別のパスが
必要でない。さらに、本発明では、データを非ランダム
化して訂正プロセスの終わりにCRCシンドロームS
CRCを生成するために必要とされていた別のパスが必要
でない。従って、本発明は、光記憶装置のスループット
を大幅に増加することにより、従来技術に対する大幅な
改良を提供する。
【0121】[CRC生成器回路]図2のCRC生成器お
よび訂正検証器19は、書き込み動作の間に、図3Aに
示される16個のデータセクタについてCRC冗長記号
を生成し、読み出し動作の間に、図7A〜図7Jを参照
して上で説明したように誤り訂正器18によって行われ
た訂正を検証する際に用いられるCRCシンドロームS
CRCを生成する。図8は、書き込み動作の間にCRC冗
長記号を生成するための従来のリニアフィードバックシ
フトレジスタ(LSFR)を示す。図8に示されるLF
SRの動作は周知であり、このLSFRは、入力多項式
D(x)を以下に示す生成多項式G(x)で割る。
【0122】 G(x)=gii+gi-1i-1+...+g1x+g0 入力多項式D(x)の係数は、LFSRを通してシリア
ルにシフトされる。ここで、シフト数は、入力多項式の
次数に1を加えた数に等しい。剰余、即ち、CRC冗長
は、シフトレジスタの最終状態である。図3Aに示され
るデータセクタの各々についてCRC冗長を生成するた
めに、データのkビットは、多項式P(x)の係数とし
て表される。従って、CRC冗長は、以下のように計算
される。
【0123】 CRC冗長=P(x)・xn-k modG(x) ここで、n−kはCRC冗長記号の数であり、G(x)
は生成多項式である。最後のシフト後のレジスタの内容
がCRC冗長であり、このCRC冗長はその後、ユーザ
データに付加されて、CRC符号語を形成する。このC
RC符号語は、積符号に組み込まれて、その後、ディス
クに書き込まれる。
【0124】読み出し動作の間、ディスクから読み出さ
れたデータが処理され、以下の式に従ってCRCシンド
ロームSCRCが生成される。
【0125】 CRCシンドロームSCRC=C’(x)modG(x) ここで、C’(x)は、ディスクから読み出されたCR
C符号語(CRC冗長を含む)である。従来技術では、
誤り訂正器14が訂正をし終わると、データバッファ1
からデータが読み出され、非ランダム化器4によって非
ランダム化される。非ランダム化されたデータはその後
シリアルに処理されるため、図8の同じLFSR回路を
用いて、上記式によりCRCシンドロームSCRCを生成
することができる。
【0126】本発明では、図7A〜図7Jを参照して説
明したように、CRCシンドロームSCRCは、積符号の
訂正と同時に生成される。従って、データが一連の連続
するビットとして処理されないため、CRCシンドロー
ムSCRCを生成するために図8のLFSR回路を用いる
ことはできない。本発明のCRCシンドローム生成器が
どのようにしてCRCシンドロームSCRCを生成するか
を説明する前に、本発明のCRCシンドローム生成器の
概要を説明する。
【0127】図9は、DATACRC回路300およびE
RRORCRC回路302を含む、図2のCRCシンドロ
ーム生成器19のブロック図である。図7Aを参照して
上で説明したように、DATACRCは、ステップ37
で、図2のデータバッファ1から読み出された未訂正の
ランダム化されたデータを用いて、図3Aの積符号上の
最初の水平方向のパスの間に生成される。ERROR
CRCは、水平方向および垂直方向の符号語の反復処理の
間に誤り訂正器18によって生成される訂正値を用いて
生成される。データセクタの終わりに達すると、DAT
CRCおよびERRORCRCは、COMBINE回路30
4によって結合され、最終CRCシンドロームSCRC
06が生成される。この最終CRCシンドロームSCRC
306は、比較器307で定数と比較され、データセク
タがまだ誤りを含んでいるかどうかが判定される。CO
MBINE回路304によって行われる数学的機能は、
DATA CRCおよびERRORCRCの単純な排他的OR
(XOR)である。
【0128】上述のように、図3Aの積符号には16個
のデータセクタがある。したがって、SRAM15に格
納されるデータCRCシンドロームおよび誤りCRCシ
ンドロームは16個である。CRCチェックは、SRA
M15からデータCRCシンドロームおよび誤りCRC
シンドロームをそれぞれ読み出し、これらのデータCR
Cシンドロームおよび誤りCRCシンドロームをそれぞ
れDATACRC回路300およびERRORCRC回路30
2にロードすることによって、各データセクタについて
行われる。比較器307は、最終CRCシンドロームS
CRCを、各データセクタをランダム化するために用いら
れる疑似ランダムデータシーケンス上のCRCに等しい
定数と比較する。疑似ランダムデータシーケンスはブロ
ック(積符号)ごとに異なるため、記憶媒体から新しい
ブロックが読み出されるたびに、対応するCRC定数が
比較器307にロードされる。
【0129】図9のDATACRC回路300およびER
RORCRC回路302は、図10により詳細に示され
る。図9のDATACRC回路300およびERRORCRC
回路302は、受け取ったCRC符号語多項式C’
(x)を、以下のような複数の部分集合多項式の線形結
合として表すことによって、データCRCシンドローム
および誤りCRCシンドロームを生成する。
【0130】 C’(x)=Cj(x)+Cj-1(x)+...+C0(x) ここで、各部分集合多項式Ck(x)は、符号語多項式
C’(x)からの所定のビット数を含む。本明細書に開
示される実施形態では、各部分集合多項式は、符号語多
項式C’(x)の8ビットを含み、以下のように16進
法で表される。
【0131】
【数23】 このようにして、CRCシンドロームSCRCは、概念的
に、以下のように各部分集合多項式のCRCシンドロー
ムの線形結合として生成され得る。
【0132】CRCシンドロームSCRC=C0(x)mo
dG(x)+C1(x)modG(x)+...+C
j(x)modG(x) 上記式は、以下のように表すこともできる。
【0133】
【数24】 ここで、
【数25】 は、符号語C’(x)からの8ビットの多項式である
(即ち、
【数26】 である)。本発明で用いられる別の数学的関係は、以下
の式である。
【0134】
【数27】 再び図3Bを参照して、上記式を用いて、水平方向の符
号語上の最初のパスの間の最初のデータセクタの最初の
記号160についてのデータCRCシンドロームが計算
される。最初の記号160は、上記符号語C’(x)の
最も有意な係数、および上記部分集合多項式Cj(x)
のゼロでない係数を含む。最初の記号160は、(加算
器310で、最上位ビットにゼロをパディング(zero p
adding)し、ゼロを加えた後に)図10の32ビットレ
ジスタ308にロードされる。その後、図3Bの符号語
の次の記号140が読み出され、乗算器312で、レジ
スタ308の内容にxK modG(x)が掛けられ、デ
ータCRCシンドロームが1記号右にシフトされる(即
ち、図7Fのステップ146でK=R1である)。その
後、乗算結果は、(加算器310で符号語の次の記号1
40を加算して、その特定の部分集合多項式についての
CRCシンドローム計算を開始した後に)レジスタ30
8に再ロードされる。この計算は、残りの記号に対して
行われ、図3Bの水平方向の最初の符号語の最後の記号
148が読み出されるまで続けられる。その後、CRC
シンドロームは、レジスタ308の内容にxK modG
(x)を掛けることによって、図3Bの場所150に調
整される。ここで、Kは、1つ右の記号に等しい(即
ち、上記図7Fのステップ146でK=R1である)。
オフセットKの適切な値は、図10の乗算器312のS
EL制御ラインを介して選択される。
【0135】このプロセスは、図3Bの最初のデータセ
クタの水平方向の最後の符号語の最後の記号が読み出さ
れるまで続けられ、レジスタ308は、CRC符号語
C’(x)の最初の記号(即ち、部分集合多項式C
j(x))についてのデータCRCシンドロームであっ
て、その他の記号(即ち、その他の部分集合多項式)に
ついて計算されたデータCRCシンドロームに加えられ
るデータCRCシンドロームを含み、これにより、最初
のデータセクタのCRC符号語C’(x)全体について
のデータCRCシンドロームを生成する。この時、最初
のデータセクタについてのデータCRCシンドローム
は、図3Bの最後の記号152に配置される。図7Fの
フロー図が再び実行され、次のデータセクタの最初の記
号204が処理されると、図7Fのステップ138で、
最初のデータセクタについてのデータCRCシンドロー
ムがSRAM15に格納され、次のデータセクタの最初
の記号204がレジスタ308にロードされる。上記プ
ロセスは、2番目およびそれ以降のデータセクタについ
ても繰り返され、最初の水平方向のパスの終わりで、1
6個のデータCRCシンドロームがすべて生成され、S
RAM15に格納される。
【0136】誤りCRCを生成するための図9のERR
ORCRC回路302はまた、図10の回路を含む。図2
の誤り訂正器18によって訂正値が生成されると、この
訂正値は、加算器310でレジスタ308に加えられ
る。乗算器312は、水平方向または垂直方向の符号語
の各記号が処理されているとき、訂正値が生成されるか
どうかに関わらず(即ち、訂正値がゼロであっても)、
レジスタ308の内容への適切なKオフセットの乗算を
続ける。各データセクタの終わりで、データCRCシン
ドロームおよび誤りCRCシンドロームが結合され、最
終CRCシンドロームSCRCJが生成される。上述のよう
に、この最終CRCシンドロームSCRCJは、訂正の有効
であるかどうかおよび完全であるかどうかを判断するた
めに用いられる。
【0137】図10のxK modG(x)乗算器312
を実現するための好適な実施形態は、図11を参照して
理解される。図11は、xK+i modG(x)という計
算によって生成される剰余のテーブルを表す。ここで、
iは{0,...,31}に等しい。図11のテーブル
は、CRCシンドロームの計算中に用いられるKオフセ
ット値(即ち、R1、D1およびUP12_R1)の各
々について生成される。その後、図10のレジスタ30
8の内容に適切なテーブルを掛けることによって(即
ち、32ビットベクトルに32×32行列を掛けること
によって)乗算が行われる。
【0138】32ビットCRC生成多項式G(x)につ
いてのxK modG(x)の乗算を実現するための実際
のテーブルは、図13A〜図13EのVHDLソースコ
ードに示される。「constant r1_dvd_
tbl」として示されたテーブルは、1記号右へのシフ
ト(R1)調整を実現し、「constant d1_
dvd_tbl」として示されたテーブルは、1行下へ
のシフト(D1)調整を実現し、「constant
u12r1_dvd_tbl」として示されたテーブル
は、12記号上、1記号右のシフト(UP12_R1)
調整を実現する。
【0139】図13A〜図13EのVHDLソースコー
ドの残りは、図10のレジスタ308の内容に適切なテ
ーブルを掛ける(即ち、32ビットベクトルに32×3
2行列を掛ける)ことによって、実際の乗算を実行す
る。入力レジスタ即ちベクトルと行列との積が、出力ベ
クトルであり、出力ベクトルの各要素は、テーブル(即
ち、行列)のi番目の行のn個の要素と、レジスタ(即
ち、列入力ベクトル)の対応する成分との積の和を求め
ることによって生成される。この和は、以下のように表
すことができる。
【0140】
【数28】 ここで、yiは、乗算器312の出力ベクトルであり、
ikは、図11のテーブルのi番目の行の32ビットで
あり、xkは、図10のレジスタ308に格納された3
2ビットである。乗算器312からの出力ベクトルyi
は、加算器310で入力ビットに加えられ、その結果
が、レジスタ308に格納される。
【0141】[SRAM]図2のSRAM15の構造およ
び動作は、図12Aを参照して理解される。上述のよう
に、SRAM15は、動作モードに依存して2つの機能
を実行する。即ち、CDモードでは、SRAM15は、
C1/C2符号化のためのデータバッファ処理を与え、
DVDモードでは、SRAM15は、積符号についての
ECCシンドロームと、CRC検証符号についてのCR
Cシンドロームとを格納する。DVDモードの場合の好
適な実施形態では、図3Aに示される積符号の垂直方向
のECCシンドロームが182個だけ、16個のデータ
セクタに対応する16個のCRCシンドロームととも
に、SRAM15に格納される。DVD積符号の208
個の水平方向のECCシンドロームは、水平方向のパス
の各々で再生成され、SRAM15には格納されない。
当業者は、この構成が単に特定の実施形態であって、S
RAM15の容量を、垂直方向および水平方向のECC
シンドローム、およびCRCシンドロームを格納するよ
うに増加させることができることを認識するであろう。
【0142】図12Aを参照して、SRAM15は、好
ましくは、16個の256×8ビットメモリセル314
0〜31415のバンクとして実現される。各メモリセル
は、256データバイトにアクセスするための8ビット
入力アドレスと、アドレス指定されたデータバイトを出
力するための8ビット出力バスとを含む。アドレス復号
化器316は、制御ライン317を介して構成される動
作モードに依存して、12ビットアドレス318を復号
化する。CDモードの場合、メモリセル314 0〜31
15のバンクは、4k×8ビットバッファとしてアドレ
ス指定される。即ち、アドレス318の12ビットを全
部用いて、C1/C2復号化のための8ビットの1デー
タバイトにアクセスする。アドレス318の最初の8ビ
ットは、メモリセル3140〜31415の各々から同じ
データバイトを選択するために用いられる。メモリセル
の出力は、トライステートバッファ3200〜32015
を介してワイアードORされる(wireored)。アドレス
318の残りの4ビットを用いて、適切なトライステー
トバッファがイネーブルされ、それにより、バス322
上に、C1/C2復号化に用いられる適切なデータバイ
トをアサートする。
【0143】DVDモードの場合、SRAM15は、2
56×128バッファとしてアドレス指定される。即
ち、アドレス318の最初の8ビットだけを用いて、メ
モリセル3140〜31415の各々から同じデータバイ
トを選択する。各メモリセルから出力される16データ
バイトは、324で結合され、図5および図6Bに示さ
れるような垂直方向の符号語の16個のECCシンドロ
ームを形成するか、または、図3Aに示されるデータセ
クタについてのCRCシンドロームの4バイトを形成す
る。
【0144】DVDモードの場合の垂直方向のECCシ
ンドロームおよびCRCシンドロームの好適なマッピン
グは、図12Bに示される。最初の182個のアドレス
が、182個の垂直方向の符号語の16個のECCシン
ドロームを格納するために用いられる。次の10個のア
ドレスはスキップされ、アドレス192〜207は、図
3AのDVD積符号の16個のデータセクタについての
4バイトのデータCRCシンドロームおよび誤りCRC
シンドロームを16個格納するために用いられる。アド
レス192〜207を用いてデータCRCシンドローム
および誤りCRCシンドロームにアクセスすることによ
り、アドレスの3つの最下位ビットしか変わらないた
め、複号化回路が簡略化される。SRAM15の残り
は、DVDモードでは使用されない。
【0145】本発明の目的は、本明細書に開示された実
施形態により十分に実現されている。当業者は、本発明
の本質的な機能から逸脱することなく、様々な実施形態
によって本発明の様々な局面を達成することができるこ
とを認識するであろう。例えば、図3Aに示される積符
号は、典型的にはデジタルビデオディスク(DVD)で
用いられるが、本発明は、コンパクトディスク(CD)
に用いられるフォーマットを含む他の積符号フォーマッ
トに等しく適用可能である。さらに、本発明は、積符号
だけでなく、他の多次元符号にも適用され得る。このよ
うに、本明細書に開示された特定の実施形態は例示的な
ものであって、前掲の特許請求の範囲によって適切に解
釈される本発明の範囲を限定することを意味するもので
はない。
【0146】
【発明の効果】本発明によれば、少なくとも以下の効果
が得られる。
【0147】まず、ランダム化データに対してCRC検
査を行うことによって、CRCシンドロームを生成する
前にデータを非ランダム化するためのデータバッファへ
のアクセスに関連する待ち時間が避けられる。
【0148】さらに、PおよびQ符号語の訂正と同時に
実行中にCRCシンドロームを生成することにより、C
RC符号語を処理した直後に、訂正の有効性および完全
性を検査するためにCRCシンドロームを利用可能にす
る。これにより、CRCシンドロームを生成するために
データバッファにアクセスする必要がなくなる。
【図面の簡単な説明】
【図1】CD/DVD光記憶装置において典型的に用い
られる従来の誤り訂正システムのブロック図である。
【図2】ランダムデータに対して実行中にCRCシンド
ロームを生成するCRC生成器および訂正検証器を有す
る、本発明の誤り訂正システムのブロック図である。
【図3A】16個のデータセクタを有するDVD光記憶
装置において典型的に用いられる積符号のフォーマット
を示す図である。
【図3B】図3Aの積符号の最初の2つのデータセクタ
のフォーマットを示す図である。
【図3C】本発明において用いられるデータランダム化
器/非ランダム化器の詳細を示す図である。
【図3D】本発明において用いられるデータランダム化
器/非ランダム化器の詳細を示す図である。
【図4】本発明の第1実施態様による水平符号語誤りシ
ンドロームを生成する詳細な回路を示す図である。
【図5】水平符号語に対する誤りシンドロームの生成と
同時に、垂直符号語誤りシンドロームを生成する詳細な
回路を示す図である。
【図6A】本発明の他の実施態様について、シンドロー
ムバッファが、水平および垂直符号語の両方に対する誤
りシンドロームを記憶するとき、水平および垂直誤りシ
ンドロームをそれぞれ更新する回路を示す図である。
【図6B】本発明の他の実施態様について、シンドロー
ムバッファが、水平および垂直符号語の両方に対する誤
りシンドロームを記憶するとき、水平および垂直誤りシ
ンドロームをそれぞれ更新する回路を示す図である。
【図7A】本発明の誤り訂正システムによって実行され
るステップの概略を示す流れ図である。
【図7B】水平符号語に対する第1パスの間に水平およ
び垂直誤りシンドロームを同時に生成し、積符号に対す
る訂正の有効性および完全性を検査するためのCRCシ
ンドロームを同時に生成するための流れ図である。
【図7C】第1(および次の)水平パスの間水平符号語
を訂正し、訂正値を用いてシンドロームバッファおよび
CRC誤りレジスタにおいて記憶される垂直誤りシンド
ロームを更新するための流れ図である。
【図7D】シンドロームバッファに記憶される垂直誤り
シンドロームを用いて垂直パス中に垂直符号語を訂正
し、訂正値を用いてシンドロームバッファおよびCRC
誤りレジスタに記憶される水平誤りシンドロームを更新
するための流れ図である。
【図7E】シンドロームバッファに記憶される水平誤り
シンドロームを用いて次の水平パス中に水平符号語を訂
正し、訂正値を用いてシンドロームバッファおよびCR
C誤りレジスタに記憶される垂直誤りシンドロームを更
新するための流れ図である。
【図7F】全積符号に対する第1水平パス中にデータC
RCシンドロームを生成するための流れ図である。
【図7G】水平パス中に訂正値を用いて誤りCRCシン
ドロームを更新するための流れ図である。
【図7H】水平パス中に訂正値を用いて誤りCRCシン
ドロームを更新するための流れ図である。
【図7I】垂直パス中に訂正値を用いて誤りCRCシン
ドロームを更新するための流れ図である。
【図7J】垂直パス中に訂正値を用いて誤りCRCシン
ドロームを更新するための流れ図である。
【図7K】CRCデータレジスタの内容とCRC誤りレ
ジスタの内容とを組合せ、水平および垂直パスの終わり
における訂正の有効性および完全性を検査するための最
終CRCシンドロームを生成する流れ図である。
【図8】書込み動作中にCRC冗長を生成し、読出し動
作中にCRCシンドロームを生成するのに用いられる従
来のリニアフィードバックシフトレジスタ(LFSR)
を示す図である。
【図9】CRCシンドロームのデータパートを計算する
ためのDATACRC回路と、CRCシンドロームの誤り
部分を計算するためのERRORCRC回路と、DATAC
RCレジスタとERRORCRCレジスタとを組合せて、ラ
ンダムデータパターンに対するCRCと等しい定数と比
較される最終CRCシンドロームSCRCを生成するため
の回路とを有するCRC訂正検証回路のブロック図であ
る。
【図10】図9のDATACRC/ERRORCRC回路の詳
細なブロック図である。
【図11】乗算器がxK MOD G(x)を計算するた
めのマトリクスの一般的な形態を示す図である。
【図12A】SRAMの構造、ならびにCDフォーマッ
ト用および積符号に対する部分シンドロームを記憶する
ためのC1/C2符号、およびDVDフォーマット用の
CRC検証符号を復号化する間にどのようにSRAMが
構成されるかを示す図である。
【図12B】本発明の好ましい実施態様における垂直E
CCシンドロームおよびCRC検証シンドロームのSR
AMマッピングを示す図である。
【図13A】32ビットCRC生成多項式G(x)につ
いてのxK modG(x)の乗算を実現するための実際
のテーブルを生成するVHDLソースコードを示す図で
ある。
【図13B】32ビットCRC生成多項式G(x)につ
いてのxK modG(x)の乗算を実現するための実際
のテーブルを生成するVHDLソースコードを示す図で
ある。
【図13C】32ビットCRC生成多項式G(x)につ
いてのxK modG(x)の乗算を実現するための実際
のテーブルを生成するVHDLソースコードを示す図で
ある。
【図13D】32ビットCRC生成多項式G(x)につ
いてのxK modG(x)の乗算を実現するための実際
のテーブルを生成するVHDLソースコードを示す図で
ある。
【図13E】32ビットCRC生成多項式G(x)につ
いてのxK modG(x)の乗算を実現するための実際
のテーブルを生成するVHDLソースコードを示す図で
ある。
【符号の説明】
1 データバッファ 3 ライン 4 ランダム化器/非ランダム化器 7 C1符号化器/復号化器 8 C2符号化器/復号化器 9 インターリーブ器/非インターリーブ器 15 SRAM 16 P/Q復号化器 17 ECC/シンドローム生成器 18 誤り訂正器 19 CRC生成器および訂正検証器 20 ライン 21 ライン
───────────────────────────────────────────────────── フロントページの続き (71)出願人 595158337 3100 West Warren Aven ue,Fremont,Californ ia 94538,U.S.A.

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 ディスク記憶媒体から読み出したバイナ
    リデータ内の誤りを訂正する誤り訂正プロセッサであっ
    て、該バイナリデータは複数の交差多次元符号語のEC
    C符号語を含み、該多次元符号語はECC冗長記号、検
    証冗長記号および複数のデータセクタを含み、 (a)該ディスク記憶媒体から読み出した該ECC符号
    語を格納するデータバッファと、 (b)各データセクタに検証シンドロームを生成するの
    に使用される複数の中間値を格納するシンドロームバッ
    ファと、 (c)該データバッファ内に格納されたECC符号語に
    応じて、該ECC符号語内の誤りを訂正するための誤り
    シンドロームを生成するECC復号化器と、 (d)該検証冗長記号に応じて、該ECC復号化器によ
    って該ECC符号語に対して行われた訂正を検証するた
    めの該検証シンドロームを生成する誤り訂正検証器と、 を備えた、誤り訂正プロセッサ。
  2. 【請求項2】 (a)前記多次元符号語は第1および第
    2の交差ECC符号語組を含み、 (b)前記ECC復号化器は、該第1のECC符号語組
    および該第2のECC符号語組をシーケンシャルなパス
    で処理することによって前記バイナリデータ内の誤りを
    訂正する、 請求項1に記載の誤り訂正プロセッサ。
  3. 【請求項3】 (a)前記誤り訂正検証器は、前記第1
    のECC符号語組に対する第1のパスの間に前記データ
    セクタのそれぞれに対してデータ検証シンドロームを生
    成し、 (b)該データ検証シンドロームは前記シンドロームバ
    ッファに格納され、 (c)該誤り訂正検証器は、該第1および第2のECC
    符号語組に対するパスの間に該ECC符号語を訂正する
    ために前記ECC復号化器によって生成された訂正値を
    用いて各データセクタに対して誤り検証シンドロームを
    生成し、 (d)該誤り検証シンドロームは、該シンドロームバッ
    ファ内に格納され、 (e)該誤り訂正検証器は、該データ検証シンドローム
    を、該シンドロームバッファ内に格納された対応する該
    誤り検証シンドロームと組み合わせて、これにより、所
    定の値と比較される最終検証シンドロームを生成する、 請求項2に記載の誤り訂正プロセッサ。
  4. 【請求項4】 (a)前記検証冗長記号は、有限領域の
    生成多項式に従って生成され、 (b)前記所定の値は該生成多項式に基づいている、 請求項3に記載の誤り訂正プロセッサ。
  5. 【請求項5】 (a)前記誤り訂正検証器は、前記EC
    C符号語を処理する前記ECC復号化器と同時に、前記
    データセクタのそれぞれに対して部分的検証シンドロー
    ムを生成し、 (b)該誤り訂正検証器は、該ECC復号化器によって
    処理されている特定の符号語記号の位置に従って現部分
    的検証シンドロームを調節するオフセットコントローラ
    を含む、 請求項1に記載の誤り訂正プロセッサ。
  6. 【請求項6】 前記ECC復号化器が前記データセクタ
    の1つのデータ記号を訂正するための訂正値を生成する
    ときに、 (a)前記オフセットコントローラが、訂正されている
    該データ記号の位置に従って対応する前記部分的検証シ
    ンドロームを調節し、 (b)前記誤り訂正検証器が、該訂正値を用いて該部分
    的検証シンドロームを更新する、 請求項5に記載の誤り訂正プロセッサ。
  7. 【請求項7】 (a)前記データセクタのそれぞれは検
    証冗長記号を含み、 (b)各データセクタに対する該検証冗長記号は、有限
    領域の生成多項式G(x)に従って生成され、 (c)前記オフセットコントローラは、前記部分的検証
    シンドロームに、 XKmodG(x) (但し、Kはオフセット値であり、mod演算子は剰余
    演算を示す)を掛けることによって、データセクタの該
    部分的検証シンドロームを調節する、 請求項5に記載の誤り訂正プロセッサ。
  8. 【請求項8】 前記検証冗長記号は、循環冗長符号(C
    RC)に従って生成される、請求項1に記載の誤り訂正
    プロセッサ。
  9. 【請求項9】 ディスク記憶媒体から読み出したバイナ
    リデータ内の誤りを訂正する誤り訂正プロセッサであっ
    て、該バイナリデータは複数の交差多次元符号語のEC
    C符号語を含み、該多次元符号語はECC冗長記号、検
    証冗長記号および複数のデータセクタを含み、該誤り訂
    正プロセッサは、 (a)該ディスク記憶媒体から読み出した該ECC符号
    語を格納するデータバッファと、 (b)各データセクタに検証シンドロームを生成するの
    に使用される複数の中間値を格納するシンドロームバッ
    ファと、 (c)該データバッファ内に格納されたECC符号語に
    応じて、該ECC符号語内の誤りを訂正するための誤り
    シンドロームを生成するECC復号化器と、 (d)該検証冗長記号に応じて、該ECC復号化器によ
    って該ECC符号語に対して行われた訂正を検証するた
    めの該検証シンドロームを生成する誤り訂正検証器と、
    を備えており、該誤り訂正検証器は、 (i)該複数のデータセクタに対応する該シンドローム
    バッファ内に格納された複数のデータ検証値の1つを受
    け取るように接続されるデータ検証レジスタと、 (ii)該複数のデータセクタに対応する該シンドローム
    バッファ内に格納された複数の誤り検証値の1つを受け
    取るように接続される誤り検証レジスタと、 (iii)1つのデータ検証値を対応する1つの誤り検証
    値と組み合わせて、これにより、該検証シンドロームの
    1つを生成する検証シンドロームジェネレータと、 (iv)該検証シンドロームを所定の値と比較して、これ
    により、該ECC復号化器によって行われた該訂正が有
    効且つ完全であるかどうかを決定する比較器と、 を備えている、誤り訂正プロセッサ。
  10. 【請求項10】 (a)前記多次元符号語は水平ECC
    符号語および垂直ECC符号語を含み、 (b)前記ECC復号化器は、該水平ECC符号語およ
    び該垂直ECC符号語をシーケンシャルなパスで処理す
    ることによって前記バイナリデータ内の誤りを訂正す
    る、 請求項9に記載の誤り訂正プロセッサ。
  11. 【請求項11】 (a)前記誤り訂正検証器は、前記水
    平符号語に対する第1のパスの間に前記データセクタの
    それぞれに対して前記データ検証値を生成し、 (b)該誤り訂正検証器は、該水平および垂直ECC符
    号語に対するパスの間に該ECC符号語を訂正するため
    に前記ECC復号化器によって生成された訂正値を用い
    て該データセクタのそれぞれに対して前記誤り検証値を
    生成する、請求項10に記載の誤り訂正プロセッサ。
  12. 【請求項12】 (a)垂直符号語は、前記データセク
    タの少なくとも2つにおけるデータ記号を含み、 (b)前記誤り訂正検証器は、前記ECC復号化器が該
    垂直符号語を処理する際に適切なデータセクタに対応す
    る前記シンドロームバッファ内に格納された前記データ
    検証値を前記データ検証レジスタにロードし、 (c)該誤り訂正検証器は、該ECC復号化器が該垂直
    符号語を処理する際に適切なデータセクタに対応する該
    シンドロームバッファ内に格納された前記誤り検証値を
    前記誤り検証レジスタにロードする、 請求項10に記載の誤り訂正プロセッサ。
  13. 【請求項13】 (a)前記検証冗長記号は、有限領域
    の生成多項式に従って生成され、 (b)前記所定の値は該生成多項式に基づいている、 請求項9に記載の誤り訂正プロセッサ。
  14. 【請求項14】 (a)前記誤り訂正検証器は、前記E
    CC符号語を処理する前記ECC復号化器と同時に、前
    記データセクタのそれぞれに対して前記シンドロームバ
    ッファ内に格納された前記データ検証値および前記誤り
    検証値を更新し、 (b)該誤り訂正検証器は、該ECC復号化器によって
    処理されている特定の符号語記号の位置に従って現デー
    タ検証値または誤り検証値を調節するオフセットコント
    ローラを含む、 請求項9に記載の誤り訂正プロセッサ。
  15. 【請求項15】 前記ECC復号化器が前記データセク
    タの1つのデータ記号を訂正するための訂正値を生成す
    るときに、 (a)前記オフセットコントローラが、訂正されている
    該データ記号の位置に従って対応する前記誤り検証値を
    調節し、 (b)前記誤り訂正検証器が、該訂正値を用いて該誤り
    検証値を更新する、請求項14に記載の誤り訂正プロセ
    ッサ。
  16. 【請求項16】 (a)前記データセクタのそれぞれは
    検証冗長記号を含み、 (b)各データセクタの該検証冗長記号は、有限領域の
    生成多項式G(x)に従って生成され、 (c)前記オフセットコントローラは、前記データ検証
    値または前記誤り検証値に、 XKmodG(x) (但し、Kはオフセット値であり、mod演算子は剰余
    演算を示す)を掛けることによって、データセクタの該
    データ検証値または該誤り検証値を調節する、 請求項14に記載の誤り訂正プロセッサ。
  17. 【請求項17】 前記検証冗長記号は、循環冗長符号
    (CRC)に従って生成される、請求項9に記載の誤り
    訂正プロセッサ。
  18. 【請求項18】 ディスク記憶媒体から読み出したバイ
    ナリデータ内の誤りを訂正する方法であって、該バイナ
    リデータは複数の交差多次元符号語のECC符号語を含
    み、該多次元符号語はECC冗長記号、検証冗長記号お
    よび複数のデータセクタを含み、 (a)データバッファ内に、該ディスク記憶媒体から読
    み出した該ECC符号語を格納するステップと、 (b)シンドロームバッファ内に、各データセクタに検
    証シンドロームを生成するのに使用される複数の中間値
    を格納するステップと、 (c)ECC復号化器によって、該データバッファ内に
    格納されたECC符号語に応じて、該ECC符号語内の
    誤りを訂正するための誤りシンドロームを生成するステ
    ップと、 (d)該検証冗長記号に応じて、該ECC復号化器によ
    って該ECC符号語に対して行われた訂正を検証するた
    めの該検証シンドロームを生成するステップと、 を包含する、方法。
JP10325725A 1997-11-14 1998-11-16 Dvd記憶装置におけるecc誤りシンドローム及びcrc検証シンドロームの同時生成 Ceased JPH11282702A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/970.600 1997-11-14
US08/970,600 US5991911A (en) 1997-11-14 1997-11-14 Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device

Publications (1)

Publication Number Publication Date
JPH11282702A true JPH11282702A (ja) 1999-10-15

Family

ID=25517179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10325725A Ceased JPH11282702A (ja) 1997-11-14 1998-11-16 Dvd記憶装置におけるecc誤りシンドローム及びcrc検証シンドロームの同時生成

Country Status (2)

Country Link
US (1) US5991911A (ja)
JP (1) JPH11282702A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11052900B2 (en) 2017-12-20 2021-07-06 Toyota Jidosha Kabushiki Kaisha Hybrid vehicle

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4088998B2 (ja) * 1998-02-16 2008-05-21 ソニー株式会社 光ディスクの記録/再生方法、光ディスク及び光ディスク装置
US6332206B1 (en) * 1998-02-25 2001-12-18 Matsushita Electrical Industrial Co., Ltd. High-speed error correcting apparatus with efficient data transfer
FR2776115B1 (fr) * 1998-03-13 2000-07-21 Thomson Multimedia Sa Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif
US6260169B1 (en) * 1998-03-31 2001-07-10 Stmicroelectronics N.V. Device and method for real time correction of row data from DVD media
US6363511B1 (en) * 1998-03-31 2002-03-26 Stmicroelectronics N.V. Device and method for decoding data streams from storage media
US6092231A (en) * 1998-06-12 2000-07-18 Qlogic Corporation Circuit and method for rapid checking of error correction codes using cyclic redundancy check
US6662334B1 (en) * 1999-02-25 2003-12-09 Adaptec, Inc. Method and device for performing error correction on ECC data sectors
EP1067547A1 (en) * 1999-06-28 2001-01-10 Hewlett-Packard Company Data set recovery by codeword overlay
KR100611955B1 (ko) * 1999-07-20 2006-08-11 삼성전자주식회사 스크램블러
JP3527873B2 (ja) * 1999-09-03 2004-05-17 松下電器産業株式会社 誤り訂正装置
US6751771B2 (en) 2000-02-11 2004-06-15 Mediatek, Inc. Method and apparatus for error processing in optical disk memories
US6732320B1 (en) 2000-04-28 2004-05-04 Promos Technologies Inc. Method and system for improved error correction in optical media data processing
TW468158B (en) * 2000-06-16 2001-12-11 Ali Corp Disc decoding method and system
JP2002074862A (ja) * 2000-08-25 2002-03-15 Toshiba Corp データ処理方法及び装置及び記録媒体及び再生方法及び装置
CN1324602C (zh) * 2000-12-28 2007-07-04 联发科技股份有限公司 盘片的解码系统及其方法
TW569188B (en) * 2001-02-07 2004-01-01 Media Tek Inc Method and apparatus for error processing in optical disk memories
US6910174B2 (en) * 2001-06-01 2005-06-21 Dphi Acquisitions, Inc. Error correction code block format
EP1477982A4 (en) * 2002-02-20 2007-11-21 Sony Corp DATA RECORDING MEDIUM, DATA RECORDING METHOD AND / OR DEVICE, DATA PROCESSING AND DEVICE, DATA TRANSMISSION METHOD AND DATA RECEPTION PROCESS
US7111228B1 (en) 2002-05-07 2006-09-19 Marvell International Ltd. System and method for performing parity checks in disk storage system
US7353449B2 (en) * 2002-05-08 2008-04-01 Thomson Licensing Method of soft-decision decoding of Reed-Solomon codes
US7043679B1 (en) * 2002-06-27 2006-05-09 Advanced Micro Devices, Inc. Piggybacking of ECC corrections behind loads
US7287102B1 (en) 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
US7007114B1 (en) 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7080188B2 (en) 2003-03-10 2006-07-18 Marvell International Ltd. Method and system for embedded disk controllers
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7064915B1 (en) 2003-03-10 2006-06-20 Marvell International Ltd. Method and system for collecting servo field data from programmable devices in embedded disk controllers
US7870346B2 (en) 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7426682B2 (en) * 2003-03-11 2008-09-16 Via Technologies, Inc. Method of generating error detection codes
US8645803B2 (en) 2010-05-10 2014-02-04 Ternarylogic Llc Methods and systems for rapid error correction by forward and reverse determination of coding states
US7010469B2 (en) * 2003-09-30 2006-03-07 International Business Machines Corporation Method of computing partial CRCs
CN100412979C (zh) * 2003-10-08 2008-08-20 宇田控股有限公司 错误码更正方法与装置
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
US7174485B2 (en) * 2003-11-21 2007-02-06 Seagate Technology Llc Reverse error correction coding with run length limited constraint
US7523305B2 (en) * 2003-12-17 2009-04-21 International Business Machines Corporation Employing cyclic redundancy checks to provide data security
US7139150B2 (en) 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
EP1569348A1 (en) * 2004-02-13 2005-08-31 Alcatel Iterative multidimensional decoding
US7120084B2 (en) 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US8166217B2 (en) 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
US7134039B2 (en) 2004-07-06 2006-11-07 Magnum Semiconductor, Inc. Recovery of real-time video data after power loss
US7757009B2 (en) 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US9201599B2 (en) 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US8032674B2 (en) 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
DE102004036383B4 (de) * 2004-07-27 2006-06-14 Siemens Ag Codier-und Decodierverfahren , sowie Codier- und Decodiervorrichtungen
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
JP2006190346A (ja) * 2004-12-28 2006-07-20 Toshiba Corp エラー訂正処理装置及びエラー訂正処理方法
US7600177B2 (en) * 2005-02-08 2009-10-06 Lsi Corporation Delta syndrome based iterative Reed-Solomon product code decoder
US7433141B2 (en) * 2005-03-09 2008-10-07 Tandberg Data Corporation Data randomization for rewriting in recording/reproduction apparatus
US20060204209A1 (en) * 2005-03-09 2006-09-14 Exabyte Corporation Pause strategy for magnetic tape recording
US7609468B2 (en) 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
US20060242450A1 (en) * 2005-04-11 2006-10-26 Li-Lien Lin Methods and apparatuses for selectively rebuffering and decoding a portion of a data block read from an optical storage medium
US7653862B2 (en) * 2005-06-15 2010-01-26 Hitachi Global Storage Technologies Netherlands B.V. Error detection and correction for encoded data
US7480847B2 (en) * 2005-08-29 2009-01-20 Sun Microsystems, Inc. Error correction code transformation technique
US7624330B2 (en) * 2005-12-12 2009-11-24 Lsi Corporation Unified memory architecture for recording applications
US7743311B2 (en) * 2006-01-26 2010-06-22 Hitachi Global Storage Technologies Netherlands, B.V. Combined encoder/syndrome generator with reduced delay
KR100772393B1 (ko) * 2006-02-08 2007-11-01 삼성전자주식회사 에러 정정 블록, 에러 정정 블록의 생성 방법 및 장치,에러 정정 방법
US9203438B2 (en) * 2006-07-12 2015-12-01 Ternarylogic Llc Error correction by symbol reconstruction in binary and multi-valued cyclic codes
US20080098282A1 (en) * 2006-10-20 2008-04-24 Kuo-Lung Chien High speed error correcting system
KR101085498B1 (ko) * 2007-01-09 2011-11-23 삼성전자주식회사 광기록재생장치 및 그 제어방법
US8201060B2 (en) * 2007-07-11 2012-06-12 Ternarylocig LLC Methods and systems for rapid error correction of Reed-Solomon codes
US9015549B2 (en) * 2011-04-26 2015-04-21 Seagate Technology Llc Iterating inner and outer codes for data recovery
KR20130136341A (ko) * 2012-06-04 2013-12-12 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US8869011B2 (en) * 2013-01-03 2014-10-21 International Business Machines Corporation Unequal error protection scheme for headerized sub data sets
CN104424040B (zh) * 2013-08-23 2017-10-31 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
CN104424127A (zh) 2013-08-23 2015-03-18 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
CN110175088B (zh) 2013-08-23 2022-11-11 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
CN108447516B (zh) 2013-08-23 2020-04-24 慧荣科技股份有限公司 存取快闪存储器中存储单元的方法以及使用该方法的装置
US9286159B2 (en) * 2013-11-06 2016-03-15 HGST Netherlands B.V. Track-band squeezed-sector error correction in magnetic data storage devices
US20150339183A1 (en) * 2014-05-21 2015-11-26 Kabushiki Kaisha Toshiba Controller, storage device, and control method
US9960788B2 (en) * 2015-03-27 2018-05-01 Toshiba Memory Corporation Memory controller, semiconductor memory device, and control method for semiconductor memory device
US10382065B1 (en) * 2016-11-07 2019-08-13 Seagate Technology Llc Iterative outer code recovery using data from multiple reads
JP6840591B2 (ja) * 2017-03-24 2021-03-10 キオクシア株式会社 復号装置
US11940872B2 (en) 2022-04-21 2024-03-26 Analog Devices International Unlimited Company Error correction code validation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5027357A (en) * 1988-10-14 1991-06-25 Advanced Micro Devices, Inc. ECC/CRC error detection and correction system
JPH04222029A (ja) * 1990-12-21 1992-08-12 Sony Corp エラー訂正方法
US5412667A (en) * 1993-07-08 1995-05-02 Commodore Electronics Limited Decoder for cross interleaved error correcting encoded data
US5602857A (en) * 1993-09-21 1997-02-11 Cirrus Logic, Inc. Error correction method and apparatus
DE69424877T2 (de) * 1993-11-04 2001-01-04 Cirrus Logic, Inc. Reed-solomon-dekoder
FR2712760B1 (fr) * 1993-11-19 1996-01-26 France Telecom Procédé pour transmettre des bits d'information en appliquant des codes en blocs concaténés.
DE69532231T2 (de) * 1994-09-09 2004-10-21 Sony Corp Datenaufzeichnungs-/wiedergabeverfahren, datenwiedergabevorrichtung, und aufzeichnungsmedium
US5592498A (en) * 1994-09-16 1997-01-07 Cirrus Logic, Inc. CRC/EDC checker system
US5751733A (en) * 1996-09-16 1998-05-12 Cirrus Logic, Inc. Interleaved redundancy sector for correcting an unrecoverable sector in a disc storage device
US5701304A (en) * 1996-09-16 1997-12-23 Cirrus Logic, Inc. Method for correcting unrecoverable sectors using track level redundancy in a disc drive storage system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11052900B2 (en) 2017-12-20 2021-07-06 Toyota Jidosha Kabushiki Kaisha Hybrid vehicle

Also Published As

Publication number Publication date
US5991911A (en) 1999-11-23

Similar Documents

Publication Publication Date Title
JP4346135B2 (ja) コンピュータ記憶装置においてランダムデータに対してcrcシンドロームを生成するeccシステム
JPH11282702A (ja) Dvd記憶装置におけるecc誤りシンドローム及びcrc検証シンドロームの同時生成
US5996105A (en) ECC system employing a data buffer for storing codeword data and a syndrome buffer for storing error syndromes
JP4102546B2 (ja) 積符号のための同時行/列シンドロームジェネレータ
US6272659B1 (en) Error correction code processor employing adjustable correction power for miscorrection minimization
JP3966993B2 (ja) 積符号の誤り訂正および並行検査
US6047395A (en) Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension
US5920578A (en) Method and apparatus for efficiently processing a multi-dimensional code
US6003151A (en) Error correction and detection system for mass storage controller
KR100415136B1 (ko) 에러정정방법,에러정정장치,데이터판독장치,및데이터맵핑방법
US4637021A (en) Multiple pass error correction
JP2007087529A (ja) 信号復号装置、信号復号方法、および記憶システム
US20030147167A1 (en) Multiple level (ML), integrated sector format (ISF), error correction code (ECC) encoding and decoding processes for data storage or communication devices and systems
JP2014116927A (ja) 誤訂正ハンドリング処理を伴う低密度パリティ検査復号化器
CN100380507C (zh) 可抑制电路规模能进行高速纠错的纠错装置和解码装置
JP2000165259A (ja) データ復号処理装置および方法
US20100005364A1 (en) Encoding method, encoding apparatus, decoding method, and decoding apparatus using block code
KR19990028201A (ko) 10 비트 리드-솔로몬 에러 정정 모듈을 위한 전용 alu구조
US6009550A (en) PBA recovery apparatus and method for interleaved reed-solomon codes
WO2008069491A1 (en) Recording and/or reproducing apparatus and method
JP2001211086A (ja) 選択的可変冗長性を具備する誤り訂正符号を与えるシステム及び方法
US5774648A (en) Address generator for error control system
JP3992443B2 (ja) 符号化方法、復号方法、符号化回路、復号回路、記憶装置、記憶媒体、通信装置
KR100200052B1 (ko) 고밀도 컴팩트 디스크용 오류정정 복호기
JP2004152337A (ja) 記録再生装置及びコンピュータプログラム並びに送受信システム

Legal Events

Date Code Title Description
A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20051116

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090128

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090623

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20091027