JPS62190931A - 巡回冗長検査バイトを計算する装置 - Google Patents
巡回冗長検査バイトを計算する装置Info
- Publication number
- JPS62190931A JPS62190931A JP61301932A JP30193286A JPS62190931A JP S62190931 A JPS62190931 A JP S62190931A JP 61301932 A JP61301932 A JP 61301932A JP 30193286 A JP30193286 A JP 30193286A JP S62190931 A JPS62190931 A JP S62190931A
- Authority
- JP
- Japan
- Prior art keywords
- bytes
- crc
- byte
- calculation means
- error correction
- 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
Links
- 238000012360 testing method Methods 0.000 title description 8
- 238000012937 correction Methods 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 10
- 125000004122 cyclic group Chemical group 0.000 claims description 9
- 208000011580 syndromic disease Diseases 0.000 description 19
- 238000001514 detection method Methods 0.000 description 10
- 101100258328 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) crc-2 gene Proteins 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 208000017843 C syndrome Diseases 0.000 description 1
- 101000651958 Crotalus durissus terrificus Snaclec crotocetin-1 Proteins 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 229910001914 chlorine tetroxide Inorganic materials 0.000 description 1
- TVWHTOUAJSGEKT-UHFFFAOYSA-N chlorine trioxide Chemical compound [O]Cl(=O)=O TVWHTOUAJSGEKT-UHFFFAOYSA-N 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- VLTRZXGMWDSKGL-UHFFFAOYSA-M perchlorate Chemical compound [O-]Cl(=O)(=O)=O VLTRZXGMWDSKGL-UHFFFAOYSA-M 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は、2進データの可変長レコードの末尾に付加さ
れた誤り検出検査バイト、特に巡回冗長検査即ちCRC
(cyclic redundancy check
)バイトの設計、計算オ6よび生成の改良に関する。
れた誤り検出検査バイト、特に巡回冗長検査即ちCRC
(cyclic redundancy check
)バイトの設計、計算オ6よび生成の改良に関する。
B、従来技術
巡回冗長検査(CRC)は、2進データの可変長レコー
ドを伝送、検索または記憶する際の誤り検出に極めて効
率的であり、かつ充分に適合している。CRCは、冗長
度の大きさがほとんど無視できるほぼすべての誤りパタ
ーンを検出することができる。
ドを伝送、検索または記憶する際の誤り検出に極めて効
率的であり、かつ充分に適合している。CRCは、冗長
度の大きさがほとんど無視できるほぼすべての誤りパタ
ーンを検出することができる。
CRCは周知である。たとえば、V/、W、ビーターソ
ン(Peterson )とり、T、ブラウン(Bro
wn )の[誤り検出用巡回コード(Cyclic C
odes forError Detection )
J 、I RE概要(Proceedingof t
he I RE )、pp、228−235.1961
年1月、アーヴインド M、バテル(Arvind M
、 Patel)の春季合同コンピュータ会議、197
1年、を参照のこと。
ン(Peterson )とり、T、ブラウン(Bro
wn )の[誤り検出用巡回コード(Cyclic C
odes forError Detection )
J 、I RE概要(Proceedingof t
he I RE )、pp、228−235.1961
年1月、アーヴインド M、バテル(Arvind M
、 Patel)の春季合同コンピュータ会議、197
1年、を参照のこと。
C1発明が解決しようとする問題点
線形フィードバック・レジスタは、CRCバイトケ使っ
て誤り検出用可変長2進データを符号化および復号する
のに必要な、まず唯一のハードウェアである。CRCバ
イトは、cF(2)多項式除算回路を使って生成される
。かかる回路では、2進情報が送られて(ると、その情
報が、フィードバック・シフト・レジスタに逐次シフト
される。CRCバイトが、2進データの後に送られてき
て、受信側で順番に受け取られる。生成されたCRCバ
イトが、次いで、受け取られたC RCバイトと比較さ
れて、受け取られたメツセージに誤りがあれば検出する
。この受け取られたメツセージは、フィードバック・シ
フト・レジスタによって、同様に処理される。CRCバ
イトの桁数によって、コードの検査能力が決まる。その
数は通常、シフト・レジスタの符号化および復号のステ
ージ数に等しい。
て誤り検出用可変長2進データを符号化および復号する
のに必要な、まず唯一のハードウェアである。CRCバ
イトは、cF(2)多項式除算回路を使って生成される
。かかる回路では、2進情報が送られて(ると、その情
報が、フィードバック・シフト・レジスタに逐次シフト
される。CRCバイトが、2進データの後に送られてき
て、受信側で順番に受け取られる。生成されたCRCバ
イトが、次いで、受け取られたC RCバイトと比較さ
れて、受け取られたメツセージに誤りがあれば検出する
。この受け取られたメツセージは、フィードバック・シ
フト・レジスタによって、同様に処理される。CRCバ
イトの桁数によって、コードの検査能力が決まる。その
数は通常、シフト・レジスタの符号化および復号のステ
ージ数に等しい。
D1問題を解決するための手段
本発明の目的は、ECC訂正の後にレコード全体のデー
タ保全性検査のために可変長レコードの末尾に付加され
る、複数対の誤り検出検査バイトの設計、計算および作
成の改良を提供することである。誤り検出検査バイトは
それぞれ、関連する検査バイトラ計算するのに使われる
のと同じ、8次の原始多項式から成る随伴7行列の異な
るべき乗を使って計算される。この随伴7行列を使用す
ると、妥当tc大きさのガロア域即′ウガロア拡大体G
F(28)が得られ、その計算が便利になるが同時に各
検査バイト対の2つの構成要素に対応する、データ列内
での反復オフセットによって、サイクル長が長くなる。
タ保全性検査のために可変長レコードの末尾に付加され
る、複数対の誤り検出検査バイトの設計、計算および作
成の改良を提供することである。誤り検出検査バイトは
それぞれ、関連する検査バイトラ計算するのに使われる
のと同じ、8次の原始多項式から成る随伴7行列の異な
るべき乗を使って計算される。この随伴7行列を使用す
ると、妥当tc大きさのガロア域即′ウガロア拡大体G
F(28)が得られ、その計算が便利になるが同時に各
検査バイト対の2つの構成要素に対応する、データ列内
での反復オフセットによって、サイクル長が長くなる。
本発明にもとづ(かかるC RCバイトは、対として生
成され、それぞれそのレコードの他の関連するECCC
C検査バイトラするのに使われるものと同じ、既約多項
式G(X)の随伴行列の異なるべき乗を使って計算され
る。実除行なわれている多くの応用例では、G(x)は
8次の原始多項式である。
成され、それぞれそのレコードの他の関連するECCC
C検査バイトラするのに使われるものと同じ、既約多項
式G(X)の随伴行列の異なるべき乗を使って計算され
る。実除行なわれている多くの応用例では、G(x)は
8次の原始多項式である。
同じ1行列を使うことによって、長いサイクル長を得る
ために通’l’lr 冒次(たとえば、16次)多項式
除算器を使用している従来のCRC作成では見られない
、計算の便利さが得られる。サイクル長が長(なるほど
、同一レコード内の2つの誤りが相殺される機会が減る
。したがって、サイクル長はレコード長よりも長くなけ
ればならない。本発明は、従来のCRCの大きなガロア
拡大体GF(216)の代わりに、CF(28)などの
妥当な大きさの拡大体を使って、長いサイクル長が得ら
れる。
ために通’l’lr 冒次(たとえば、16次)多項式
除算器を使用している従来のCRC作成では見られない
、計算の便利さが得られる。サイクル長が長(なるほど
、同一レコード内の2つの誤りが相殺される機会が減る
。したがって、サイクル長はレコード長よりも長くなけ
ればならない。本発明は、従来のCRCの大きなガロア
拡大体GF(216)の代わりに、CF(28)などの
妥当な大きさの拡大体を使って、長いサイクル長が得ら
れる。
本発明は、2レベル誤り訂正コード構成にも利用できる
。本発明では、可変長レコードが、それぞれ、単一の誤
り検出用の2×2検査バイトの双方向介在巡回コードワ
ードおよび二重誤り検出用の1×2拡大検査バイトv有
する、サブブロックに分割される。第2のレベルで、一
つのサブブロツク内の2重バースト誤りが、ブロックの
末尾に追加された1×2拡大検査バイトでサブブロック
検査バイトラ再処理することによって訂正される。
。本発明では、可変長レコードが、それぞれ、単一の誤
り検出用の2×2検査バイトの双方向介在巡回コードワ
ードおよび二重誤り検出用の1×2拡大検査バイトv有
する、サブブロックに分割される。第2のレベルで、一
つのサブブロツク内の2重バースト誤りが、ブロックの
末尾に追加された1×2拡大検査バイトでサブブロック
検査バイトラ再処理することによって訂正される。
ブロックの末尾に追加される4つの検査バイトがCRC
検査バイトであり、この検査バイトは本発明に従って生
成され、FCC訂正の後で十分に強力なデータ保全性検
査をもたらす。
検査バイトであり、この検査バイトは本発明に従って生
成され、FCC訂正の後で十分に強力なデータ保全性検
査をもたらす。
上記の2レベルECC体系で使用する場合、同一の1行
列を使用することで、第2レベルの誤り訂正のためにC
RCバイトの再計算が必要になったときの計算が便利に
なる。
列を使用することで、第2レベルの誤り訂正のためにC
RCバイトの再計算が必要になったときの計算が便利に
なる。
E、実施例
4つの検査バイト、CRCl、CRC2、CRC5、C
RC4は、それぞれ次の式によって与えられる。
RC4は、それぞれ次の式によって与えられる。
CRC1=ΣT ’D、 (1
)CRC2=ΣT ”’z−(2) CRC5=ΣT 3 i D、 C5
)I CRC4=ΣT ”Zi (4)行
列′rは、8次原始多項式G <X)の随伴行列でニジ
)る。この多項式は、次式によって与えられる。
)CRC2=ΣT ”’z−(2) CRC5=ΣT 3 i D、 C5
)I CRC4=ΣT ”Zi (4)行
列′rは、8次原始多項式G <X)の随伴行列でニジ
)る。この多項式は、次式によって与えられる。
GCx)=gg■g、X■g2X■90.■g7×7■
×8(5)ただし、■はモジューロ−2の和を示す。
×8(5)ただし、■はモジューロ−2の和を示す。
同じ原始要素Tの異なるべき乗を使って、すべてのCR
CおよびECC関数を作成する。多項式G (x)の行
列は、下記の正則行列によって与えられる。
CおよびECC関数を作成する。多項式G (x)の行
列は、下記の正則行列によって与えられる。
方程式<1) −C4)によると、バイト列(Di)は
、あるレコード内のすべてのデータ・バイトおよびすべ
ての第2レベル検査バイトから構成され、第2レベル検
査バイトは除外されている。バイト列〔Zi)は、上記
と同じバイトから構成されているが、この場合はさらに
、列(1)i)と(2+E間の反復する2バイトのオフ
セラトラ生成するため、各サブブロック(最終サブブロ
ックを除く)の末尾2バイト位置に対応する2つの検査
バイトが除外されている。その2つのバイトは、2サイ
クルの1211 C/ラフトレジスタ処理(Zi )を
制御するクロック信号を阻止することによって、除外さ
れる。
、あるレコード内のすべてのデータ・バイトおよびすべ
ての第2レベル検査バイトから構成され、第2レベル検
査バイトは除外されている。バイト列〔Zi)は、上記
と同じバイトから構成されているが、この場合はさらに
、列(1)i)と(2+E間の反復する2バイトのオフ
セラトラ生成するため、各サブブロック(最終サブブロ
ックを除く)の末尾2バイト位置に対応する2つの検査
バイトが除外されている。その2つのバイトは、2サイ
クルの1211 C/ラフトレジスタ処理(Zi )を
制御するクロック信号を阻止することによって、除外さ
れる。
これらの列中の雨ルベル検査バイト(およびそれに対応
する誤りパターン)は、CRC計算では空白バイト(す
なわち、すべてゼロ)に置き換えることができる。この
ように空白バイトを使うと、ECC検査バイト中の誤り
を訂正する必要がなくなる。
する誤りパターン)は、CRC計算では空白バイト(す
なわち、すべてゼロ)に置き換えることができる。この
ように空白バイトを使うと、ECC検査バイト中の誤り
を訂正する必要がなくなる。
列(Zi)H1列(Di)から各サブブロックの末尾の
2バイトだけ、オフセットされている。G (x)が8
次原始多項式の場合、行列T とT のべき指数は、
255である。典型的サブブロックが102バイトの長
さである場合、本発明の反復オフセット構成は、下記に
示すように、列(Di)と〔Zi〕について、2つのc
it c検査の組合せ有効サイクル長をもたらす。
2バイトだけ、オフセットされている。G (x)が8
次原始多項式の場合、行列T とT のべき指数は、
255である。典型的サブブロックが102バイトの長
さである場合、本発明の反復オフセット構成は、下記に
示すように、列(Di)と〔Zi〕について、2つのc
it c検査の組合せ有効サイクル長をもたらす。
(Di)について255X 102=26.010バイ
ト(Zi )について255 x 100 = 25.
500バイトすなわち、同一検出可能ン【2つの誤りパ
ターンカデータの255までのサブブロックから成る任
意のレコードについて両型式のCRC検査で同時に相殺
し合うことはない。
ト(Zi )について255 x 100 = 25.
500バイトすなわち、同一検出可能ン【2つの誤りパ
ターンカデータの255までのサブブロックから成る任
意のレコードについて両型式のCRC検査で同時に相殺
し合うことはない。
4つの検査バイト、CRCI、CRC2、CRC3、C
RC4はすべて、それぞれ事?111設定乗数T−1、
T−2、T−6、T−4?:含む4つの8ピツト・シフ
ト・レジスタによって計算される。列(Di )は、そ
れぞれ事前設定乗数、■、−1とT−3を含むシフト・
レジスタ1と6に入力される。同様に、列〔Zi)は、
それぞれベニ前設定乗数T−2とT−4を含むシフト・
レジスタ2と4に入力される。添字(i)は、降順にカ
ウントされ、最終のバイトが各列中のDlとzlによっ
て識別される。
RC4はすべて、それぞれ事?111設定乗数T−1、
T−2、T−6、T−4?:含む4つの8ピツト・シフ
ト・レジスタによって計算される。列(Di )は、そ
れぞれ事前設定乗数、■、−1とT−3を含むシフト・
レジスタ1と6に入力される。同様に、列〔Zi)は、
それぞれベニ前設定乗数T−2とT−4を含むシフト・
レジスタ2と4に入力される。添字(i)は、降順にカ
ウントされ、最終のバイトが各列中のDlとzlによっ
て識別される。
本発明に従ってすべてのCRCバイトヲ計算する実例と
して、方程式(3)を実現するだめの典型的なエンコー
ダ構成を第1図に示す。最終のバイトが入力されると、
4つのシフト・レジスタの内容が、それぞれ0.1.2
および6個の追加サイクルによって空白(すべてゼロ)
入力で置き換えられる。シフト・レジスタの最終内容は
、4つの検査バイトから構成される。
して、方程式(3)を実現するだめの典型的なエンコー
ダ構成を第1図に示す。最終のバイトが入力されると、
4つのシフト・レジスタの内容が、それぞれ0.1.2
および6個の追加サイクルによって空白(すべてゼロ)
入力で置き換えられる。シフト・レジスタの最終内容は
、4つの検査バイトから構成される。
読取り過程中、データを受け取ったときCRCジントロ
ゲームがECCシンドロームと一緒にオン・ザ・フライ
方式で生成される。もちろん、CRCシンドロームは、
第ルベルおよび第2レベル誤り訂正のために調整しなけ
ればならない。4つのCRCシンドロームS1、S2、
S−6、S−4、の式は次式で与えられる。
ゲームがECCシンドロームと一緒にオン・ザ・フライ
方式で生成される。もちろん、CRCシンドロームは、
第ルベルおよび第2レベル誤り訂正のために調整しなけ
ればならない。4つのCRCシンドロームS1、S2、
S−6、S−4、の式は次式で与えられる。
s 、=CRC1Φ干T’D、■:T’F、、(Dρ
■ぞT’ E2(Dρ (カー2i八 −2i
−2iS−2=CRC2■rT z、■
、F′TE1(z、)■FT E2 (z 1)
(8)−5i −34−3i s−6=CRC5■!T D、■ぞT El (叩
Φゼ E2(D、) (9)記号へはリードバック・
バイトを表し、El(Di)とE 1(Z r )は第
ルベル誤り訂正パターンを表し、E2(DρとE 2
(Zρは、それぞれ記録されたバイトDlとZi に対
応する第2レベル誤り訂正パターンを表す。検査バイト
に対応する誤りパターンは、空白バイトで置き換えられ
る。
■ぞT’ E2(Dρ (カー2i八 −2i
−2iS−2=CRC2■rT z、■
、F′TE1(z、)■FT E2 (z 1)
(8)−5i −34−3i s−6=CRC5■!T D、■ぞT El (叩
Φゼ E2(D、) (9)記号へはリードバック・
バイトを表し、El(Di)とE 1(Z r )は第
ルベル誤り訂正パターンを表し、E2(DρとE 2
(Zρは、それぞれ記録されたバイトDlとZi に対
応する第2レベル誤り訂正パターンを表す。検査バイト
に対応する誤りパターンは、空白バイトで置き換えられ
る。
データ列(Di)とそれに対応する誤り訂正パターンの
列(E 1 (D i) )が、それぞれ、第ルベル・
デコーダの入力部と出力部に出る。第2レベル誤り訂正
が必要な場合、誤りパターン(E、(Di)が、第2レ
ベルでの復号化に利用できる。
列(E 1 (D i) )が、それぞれ、第ルベル・
デコーダの入力部と出力部に出る。第2レベル誤り訂正
が必要な場合、誤りパターン(E、(Di)が、第2レ
ベルでの復号化に利用できる。
第ルベル・デコーダが、サブロック緩衝記憶装置とオン
・ザ・フラ・1誤り訂正を含む場合、訂正済みデータ、
すなわち組合せ列(Di■E1(Di))から第ルベル
CRCシンドロームを計算スルコとができる。しかし、
第ルベル誤り訂正を後回しにする場合、サブブロック緩
衝記憶装置および訂正済データ列を、そのままでは利用
できない。
・ザ・フラ・1誤り訂正を含む場合、訂正済みデータ、
すなわち組合せ列(Di■E1(Di))から第ルベル
CRCシンドロームを計算スルコとができる。しかし、
第ルベル誤り訂正を後回しにする場合、サブブロック緩
衝記憶装置および訂正済データ列を、そのままでは利用
できない。
この場合、部分計算を組み合わせることによってC4ζ
Cシンドロームを計算することができる。シンドローム
S−3を使って、すべてのCRCシンドロームに適用で
きる過程を例示する。式90部分計算を、下記のように
定義する。
Cシンドロームを計算することができる。シンドローム
S−3を使って、すべてのCRCシンドロームに適用で
きる過程を例示する。式90部分計算を、下記のように
定義する。
S−3(0)−CRC3■干T ”9. (1
1)i S (1)=S (0)■:’r−E (D、)
(12)−3−311ま ただし、5−3(o)、S−6(1)およびS−3(2
)は、それぞれ、誤り訂正の7Cい場合、第ルベルの誤
り訂正がある場合、および432レベルの誤り訂正があ
る場合のS−6の値を示す。式(7)、(8) 、およ
び(10)の部分計算に対応する式を、本明細書の付録
Aに示す。
1)i S (1)=S (0)■:’r−E (D、)
(12)−3−311ま ただし、5−3(o)、S−6(1)およびS−3(2
)は、それぞれ、誤り訂正の7Cい場合、第ルベルの誤
り訂正がある場合、および432レベルの誤り訂正があ
る場合のS−6の値を示す。式(7)、(8) 、およ
び(10)の部分計算に対応する式を、本明細書の付録
Aに示す。
式(11)と(12)は、2つのシフト・レジスタ(両
者とも第1図に示したものと同様である。)を使って、
訂正されていない列(Di)と第ルベル誤りパターンの
ある列(El(Dt ))を別々に処理することによっ
て生成できる。各シフト・レジスタは乗数′r−6を使
用する。誤りが訂正されていない場合、第1シフト・レ
ジスタが十分なCRC検査をもたらす。この検査は、レ
コードの末尾でただちに行なうことができる。第ルベル
誤り訂正が必要な場合、第2シフト・レジスタが、レコ
ードの末尾から1ブロツク後でCRC検査を行なう。
者とも第1図に示したものと同様である。)を使って、
訂正されていない列(Di)と第ルベル誤りパターンの
ある列(El(Dt ))を別々に処理することによっ
て生成できる。各シフト・レジスタは乗数′r−6を使
用する。誤りが訂正されていない場合、第1シフト・レ
ジスタが十分なCRC検査をもたらす。この検査は、レ
コードの末尾でただちに行なうことができる。第ルベル
誤り訂正が必要な場合、第2シフト・レジスタが、レコ
ードの末尾から1ブロツク後でCRC検査を行なう。
しかし、2つの列(Di)と(El(Di))が1つの
シフト・レジスタで処理できるのが好ましい。この2つ
の列間の1ブロツクの遅延が、それらの間でちょうど1
02バイト位置分の遅延をもたらすことに注意すべきで
ある。第ルベル・デコーダの出力と同期されているカウ
ント・ダウン・クロツクjY使用する場合、入力部にD
j−102が現われるのと同期して、出力部にE 1(
D J )が現われる。
シフト・レジスタで処理できるのが好ましい。この2つ
の列間の1ブロツクの遅延が、それらの間でちょうど1
02バイト位置分の遅延をもたらすことに注意すべきで
ある。第ルベル・デコーダの出力と同期されているカウ
ント・ダウン・クロツクjY使用する場合、入力部にD
j−102が現われるのと同期して、出力部にE 1(
D J )が現われる。
式(11)と(12)を組み合せ、jを使って下記のよ
うに曹き直すことができる。
うに曹き直すことができる。
ただし、Lは列(Di)の長さを表す。j>Lの場合E
1(D j)が、またj≦102の場合Dj−102
が存在しない(空白バイトである)ことに注意すべきで
ある。
1(D j)が、またj≦102の場合Dj−102
が存在しない(空白バイトである)ことに注意すべきで
ある。
式(14)は、第2図に示すシフト・レジスタによって
生成できる。このシフト・レジスタ内では、クロック・
パラメータjがL+ 102から1までカウント・ダウ
ンされる間に、列(Dj)が事前膜x102 宙乗数T に入り、入力部で列(El(Di))に
加えられる。列(Dj)はj=L+102から始まり、
j=103で終わる。列E1(Dj)はj=Lから始ま
り、j=102 を経てj=1まで続く。シフト・レジ
スタの最終内容’gcRcと組み合わせると、5−3(
1)が得られる。
生成できる。このシフト・レジスタ内では、クロック・
パラメータjがL+ 102から1までカウント・ダウ
ンされる間に、列(Dj)が事前膜x102 宙乗数T に入り、入力部で列(El(Di))に
加えられる。列(Dj)はj=L+102から始まり、
j=103で終わる。列E1(Dj)はj=Lから始ま
り、j=102 を経てj=1まで続く。シフト・レジ
スタの最終内容’gcRcと組み合わせると、5−3(
1)が得られる。
第3図において、レコードの末尾の4つのリードバック
CRCバイトは、すべてリードバック過程中に対応する
シフト・レジスタによって、データと一緒に処理するこ
ともできる。符号化中にサブと同様に、レコードの末尾
のCRC位置にも空白バイトが入力される。同様に1、
リードバック過程中に、シンドローム生成用にも空白バ
イトが入力される。例えば、第3図に示すように、バイ
トCRC3は、例(Di)の最終バイトD1かも2バイ
ト位置だけ物理的にオフセットされている。したがって
、復号化中およびシンドローム・パターン生成中に、シ
フト・レジスタ中のバイトD1の後のCRC,lSに2
つの追加空白バイトが入力される。
CRCバイトは、すべてリードバック過程中に対応する
シフト・レジスタによって、データと一緒に処理するこ
ともできる。符号化中にサブと同様に、レコードの末尾
のCRC位置にも空白バイトが入力される。同様に1、
リードバック過程中に、シンドローム生成用にも空白バ
イトが入力される。例えば、第3図に示すように、バイ
トCRC3は、例(Di)の最終バイトD1かも2バイ
ト位置だけ物理的にオフセットされている。したがって
、復号化中およびシンドローム・パターン生成中に、シ
フト・レジスタ中のバイトD1の後のCRC,lSに2
つの追加空白バイトが入力される。
リードバック・バイトCRC3は、シフト・レジスタ2
0内でバイトD1と2つの空白バイトの後で事前設定乗
数21によって処理される。 入力列(El(Di))
の後に、2つの空白バイl入力する必要はない。したが
って、シフト・しiクスタ20の最終内容は、シンドロ
ーム8.3 (1)である〇誤りが訂正されていない場
合、!終+J−ドバツ!・バイトCRC3が入力された
ときのシフト・レジスタ20の内容によって、十分にC
RC検査が行なわれる。具体的にいうと、シンドーム5
−3(i)がゼロである場合に限っては、j=102で
の内容がゼロである。したがって、FCCシンドローム
がすべてゼロの場合、最後の100のシフト操作を行な
わずに、レコードの末尾でのCRCレジスタの即時内容
によって、完全なCRC検査が行なわれる。大部分のデ
ータ・レジスタは誤りがないので、本発明のこの特徴に
より性能が大幅に高まる2−他のCRCシンドロームも
同様に計算される。シンドロームS は、式V)によっ
て与えられるが、第2図に示したものの代わりに、異な
る乗数回路、すなわち、T−1とTlO2を必要とする
だけである。
0内でバイトD1と2つの空白バイトの後で事前設定乗
数21によって処理される。 入力列(El(Di))
の後に、2つの空白バイl入力する必要はない。したが
って、シフト・しiクスタ20の最終内容は、シンドロ
ーム8.3 (1)である〇誤りが訂正されていない場
合、!終+J−ドバツ!・バイトCRC3が入力された
ときのシフト・レジスタ20の内容によって、十分にC
RC検査が行なわれる。具体的にいうと、シンドーム5
−3(i)がゼロである場合に限っては、j=102で
の内容がゼロである。したがって、FCCシンドローム
がすべてゼロの場合、最後の100のシフト操作を行な
わずに、レコードの末尾でのCRCレジスタの即時内容
によって、完全なCRC検査が行なわれる。大部分のデ
ータ・レジスタは誤りがないので、本発明のこの特徴に
より性能が大幅に高まる2−他のCRCシンドロームも
同様に計算される。シンドロームS は、式V)によっ
て与えられるが、第2図に示したものの代わりに、異な
る乗数回路、すなわち、T−1とTlO2を必要とする
だけである。
△。
シンドロームS 2とS−4は、列〔zl〕と〔El
(zi))の処理が必要である。これらの列では、1サ
ブブロツクの遅延は、それらの列の間の100バイト位
置に相当する。したがって、S に対讃+λ揺勅血孜
糾甲−2ト〒2X100で九h ぐ−44x100 に対応するのは、T とT である。
(zi))の処理が必要である。これらの列では、1サ
ブブロツクの遅延は、それらの列の間の100バイト位
置に相当する。したがって、S に対讃+λ揺勅血孜
糾甲−2ト〒2X100で九h ぐ−44x100 に対応するのは、T とT である。
CRC3の場合と同様に、符号化またはシンドローム生
成操作中に空白バイトラ適当な数のサイクルに入力する
ことによって、任意のCRCバイトをそのシフト・レジ
スタによってデータと一緒に処理することができる。具
体的にいうと、CRCl、CRC2、CRC3およびC
It C4は、0.1.2および3個の追加サイクルが
必要であり、それぞれそれらの列(Di)と(Di)ま
たは〔zi〕と〔zi〕の末尾に空白バイトが入力され
ろ。
成操作中に空白バイトラ適当な数のサイクルに入力する
ことによって、任意のCRCバイトをそのシフト・レジ
スタによってデータと一緒に処理することができる。具
体的にいうと、CRCl、CRC2、CRC3およびC
It C4は、0.1.2および3個の追加サイクルが
必要であり、それぞれそれらの列(Di)と(Di)ま
たは〔zi〕と〔zi〕の末尾に空白バイトが入力され
ろ。
誤りが存在しない場合、CRCシンドロームはすべてゼ
ロである。第2レベル誤り訂正が必要な場合、4つまで
のバイト誤り訂正を含むサブブロックの1つが関係する
。4つの誤りバイトのそれぞれについて、先に参照した
発明の第2レベルECCデコーダによって生成される誤
り位り’Hit号から、列(Di)中のバイト・カウン
トい〕を求める。
ロである。第2レベル誤り訂正が必要な場合、4つまで
のバイト誤り訂正を含むサブブロックの1つが関係する
。4つの誤りバイトのそれぞれについて、先に参照した
発明の第2レベルECCデコーダによって生成される誤
り位り’Hit号から、列(Di)中のバイト・カウン
トい〕を求める。
その後、式「B」について、次式を利用して、ECCデ
コーダが使用するものと同じ対数光および真数−′51 表を使って、各lに対する項”T E、(Di)”
を計算する。
コーダが使用するものと同じ対数光および真数−′51 表を使って、各lに対する項”T E、(Di)”
を計算する。
−3i −1
T E2(D、)−1og ((1ogE2(D、
)’−3i、1modulo255)、 (15)この
項を以前に計算したS 3 (1)に加えると、CRC
シンドローム83に対応する式(9)の最終CRC検査
が完了する。
)’−3i、1modulo255)、 (15)この
項を以前に計算したS 3 (1)に加えると、CRC
シンドローム83に対応する式(9)の最終CRC検査
が完了する。
同様にして、4つの誤りのおのおのについて列[:Zi
)のバイト・カウントiを求める。シンドロームS−1
、S 2、S3、S−4の計算も同様に行なう。
)のバイト・カウントiを求める。シンドロームS−1
、S 2、S3、S−4の計算も同様に行なう。
誤りがすべて適切に訂正され、誤りが全(存在しない場
合には、CRCシンドロームのこれらの最終値は、すべ
てゼロでなげればならない。
合には、CRCシンドロームのこれらの最終値は、すべ
てゼロでなげればならない。
CRCバイトに誤りがあると、不必要な再読取り操作が
生じやすく、性能が低下する。こうした性能の低下ηご
避けるため、不必要な再読取り操作と充分な誤り訂正・
検出能力をつり合わせる操作規則を採用することができ
る。
生じやすく、性能が低下する。こうした性能の低下ηご
避けるため、不必要な再読取り操作と充分な誤り訂正・
検出能力をつり合わせる操作規則を採用することができ
る。
規則1: サブブロック・レベルお、1: 0: 7”
oツク・レベルのECCシンドロームがゼロである場
合、CRCバイトヲすべて無視できる。
oツク・レベルのECCシンドロームがゼロである場
合、CRCバイトヲすべて無視できる。
規則2: 第2レベル訂正が必要で7.1・場合、(D
i)列上の1つの非ゼロCRC検査と(zi)列上の1
つの非ゼロCRC検査を無視する。
i)列上の1つの非ゼロCRC検査と(zi)列上の1
つの非ゼロCRC検査を無視する。
規則5: CRC検査がすべてゼロで、かり雨2レベ
ル訂正が必要でない場合、ブロック・レベルID CC
検査を無視できる。
ル訂正が必要でない場合、ブロック・レベルID CC
検査を無視できる。
規則2により、列[Di ]と(zi)でそれぞれ1個
ずつ合計2個までのCRCバイト中の誤りが許容され、
したがって、これらの列の間のオフセットによる利益は
維持される。偶数段と奇数段の誤りをつり合わせるため
に、奇数段CRC,すなわち、C1ζC1とClO3を
列(Di)から生成し、偶数段CRC,すなわちClO
2とClO4を列rziJ がら生成する。
ずつ合計2個までのCRCバイト中の誤りが許容され、
したがって、これらの列の間のオフセットによる利益は
維持される。偶数段と奇数段の誤りをつり合わせるため
に、奇数段CRC,すなわち、C1ζC1とClO3を
列(Di)から生成し、偶数段CRC,すなわちClO
2とClO4を列rziJ がら生成する。
F1発明の効果
本発明によると、GF(28)中の同じ原始フィールド
要素から導かれた4つの独立したCILC検査バイトに
よって、計算が便利になり、かつ検査の性能が向上する
。列(Di)と〔zi〕の反復オフセットによって、1
6次多項式を使用せずに、所期の長いサイクル長がもた
らされる。
要素から導かれた4つの独立したCILC検査バイトに
よって、計算が便利になり、かつ検査の性能が向上する
。列(Di)と〔zi〕の反復オフセットによって、1
6次多項式を使用せずに、所期の長いサイクル長がもた
らされる。
付録 A
式(7)
%式%(7)
式(8)
式(10)
第1図は、本発明の原理に従って構成された、符号化フ
ィードバック・シフト・レジスタの論理の構成図である
。 第2図は、本発明の原理に従って構成された、データと
誤りパターン火同時に復号するフィードバック・シフト
・レジスタの論理の構成図である。 第3図は、本発明の原理に従って作成されたディスク・
メモリ・トラック用に構成された、2レベル符号化レコ
ードの末尾のデータ・バイト、す〜ブブロック、および
ブロック検査バイトのフォーマツトラ示す説明図である
。 出願人インク1しクナル・ヒンネス・マシーンズ・コー
ポレーション代理人 弁理士 岡 1) 次
生(外1名) 1−−一一−−−−−← 11 ト−−テ′°−タベイト −−4サブブロックFIG。
ィードバック・シフト・レジスタの論理の構成図である
。 第2図は、本発明の原理に従って構成された、データと
誤りパターン火同時に復号するフィードバック・シフト
・レジスタの論理の構成図である。 第3図は、本発明の原理に従って作成されたディスク・
メモリ・トラック用に構成された、2レベル符号化レコ
ードの末尾のデータ・バイト、す〜ブブロック、および
ブロック検査バイトのフォーマツトラ示す説明図である
。 出願人インク1しクナル・ヒンネス・マシーンズ・コー
ポレーション代理人 弁理士 岡 1) 次
生(外1名) 1−−一一−−−−−← 11 ト−−テ′°−タベイト −−4サブブロックFIG。
Claims (2)
- (1)誤り訂正検査バイトと訂正能力を有する可変長レ
コード用の、複数の巡回冗長検査バイトを計算する装置
であつて、 間にm_1バイトを有して所定の間隔でレコードに挿入
されたすべての誤り訂正検査バイトを含む、該レコード
中のすべてのデータ・バイトを順次受け取る第1計算手
段と、 第1計算手段に接続され、受け取つた第1計算手段の内
容に、T^−^n(−nは整数であり、誤り訂正検査バ
イトを計算するのに使用されるいかなる整数とも異なる
整数)の形の行列を掛けて、第1の指定された所定数の
巡回冗長検査バイトを生成する第2計算手段と、 第1計算手段が受け取つた列に対応するすべての誤り訂
正検査バイトを含み、ただし最終間隔以外の各間隔の末
尾から所定数の該検査バイトの位置に対応する該検査バ
イトを除く、レコード中のすべてのデータ・バイトを順
次受け取る第3計算手段と、 第3計算手段に接続され、受け取つた第3計算手段の内
容にT^−^(^n^+^1^)の形の行列を掛け、第
2の指定された所定数の巡回冗長検査バイトを生成する
第4計算手段と、 第1計算手段および第3計算手段の内容を所定の順序で
レコードの末尾に付加する手段と、を備える前記装置。 - (2)所定数の前記検査バイトの位置について第3計算
手段の順次操作を禁止する、所定数の誤り訂正検査バイ
トを除外する手段を有する、特許請求の範囲第(1)項
に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/828,101 US4703485A (en) | 1986-02-10 | 1986-02-10 | Method and apparatus for computing and implementing error detection check bytes |
US828101 | 2001-04-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62190931A true JPS62190931A (ja) | 1987-08-21 |
JPH0328093B2 JPH0328093B2 (ja) | 1991-04-18 |
Family
ID=25250921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61301932A Granted JPS62190931A (ja) | 1986-02-10 | 1986-12-19 | 巡回冗長検査バイトを計算する装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4703485A (ja) |
EP (1) | EP0233075B1 (ja) |
JP (1) | JPS62190931A (ja) |
DE (1) | DE3787900T2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4856003A (en) * | 1987-05-07 | 1989-08-08 | Digital Equipment Corporation | Error correction code encoder |
US4849975A (en) * | 1987-11-10 | 1989-07-18 | International Business Machines Corporation | Error correction method and apparatus |
US4916701A (en) * | 1988-09-21 | 1990-04-10 | International Business Machines Corporation | Method and system for correcting long bursts of consecutive errors |
US5022080A (en) * | 1990-04-16 | 1991-06-04 | Durst Robert T | Electronic notary |
EP0470451A3 (en) * | 1990-08-07 | 1993-01-20 | National Semiconductor Corporation | Implementation of the high-level data link control cyclic redundancy check (hdlc crc) calculation |
US5321704A (en) * | 1991-01-16 | 1994-06-14 | Xilinx, Inc. | Error detection structure and method using partial polynomial check |
US5285456A (en) * | 1991-05-15 | 1994-02-08 | International Business Machines Corporation | System and method for improving the integrity of control information |
EP0563491A1 (en) * | 1992-03-31 | 1993-10-06 | International Business Machines Corporation | Method and apparatus for implementing a triple error detection and double error correction code |
EP0609595B1 (en) * | 1993-02-05 | 1998-08-12 | Hewlett-Packard Company | Method and apparatus for verifying CRC codes by combination of partial CRC codes |
US5629949A (en) * | 1993-09-21 | 1997-05-13 | Cirrus Logic, Inc. | Error correction verification method and apparatus using CRC check remainders |
US5602857A (en) * | 1993-09-21 | 1997-02-11 | Cirrus Logic, Inc. | Error correction method and apparatus |
US5465260A (en) * | 1993-11-04 | 1995-11-07 | Cirrus Logic, Inc. | Dual purpose cyclic redundancy check |
US5592498A (en) * | 1994-09-16 | 1997-01-07 | Cirrus Logic, Inc. | CRC/EDC checker system |
US6125469A (en) * | 1994-10-18 | 2000-09-26 | Cirrus Logic, Inc. | Error correction method and apparatus |
JP3268547B2 (ja) * | 1995-06-06 | 2002-03-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 直接アクセス記憶装置に記録する定義済み情報を、エラー訂正コードを利用しエラー検出するための方法及び装置 |
US6532566B1 (en) | 1999-05-24 | 2003-03-11 | Oak Technology, Inc. | Modified Reed-Solomon multiplication |
US6378105B1 (en) * | 1999-05-24 | 2002-04-23 | Oak Technology, Inc. | Reed-Solomon multiplication method |
US7047480B2 (en) * | 2002-11-12 | 2006-05-16 | Microsoft Corporation | Matrix multiplication in a Galois field for forward error correction |
US7191383B2 (en) * | 2003-03-28 | 2007-03-13 | International Business Machines Corporation | System and method for optimizing iterative circuit for cyclic redundancy check (CRC) calculation |
US7865806B2 (en) * | 2006-03-03 | 2011-01-04 | Peter Lablans | Methods and apparatus in finite field polynomial implementations |
US20140055290A1 (en) | 2003-09-09 | 2014-02-27 | Peter Lablans | Methods and Apparatus in Alternate Finite Field Based Coders and Decoders |
US20060077750A1 (en) * | 2004-10-07 | 2006-04-13 | Dell Products L.P. | System and method for error detection in a redundant memory system |
US9071281B2 (en) * | 2013-03-10 | 2015-06-30 | Intel Corporation | Selective provision of error correction for memory |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5573909A (en) * | 1978-11-28 | 1980-06-04 | Matsushita Electric Ind Co Ltd | Signal processor |
JPS59165541A (ja) * | 1983-02-28 | 1984-09-18 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | 多数バイトエラ−訂正システム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2095440B (en) * | 1981-03-23 | 1985-10-09 | Sony Corp | Digital television signal processing |
CA1203019A (en) * | 1982-01-19 | 1986-04-08 | Tetsu Watanabe | Apparatus for recording and reproducing a digital signal |
JPS58198935A (ja) * | 1982-05-15 | 1983-11-19 | Sony Corp | デ−タ伝送方法 |
US4504948A (en) * | 1982-12-29 | 1985-03-12 | International Business Machines Corporation | Syndrome processing unit for multibyte error correcting systems |
JP2533076B2 (ja) * | 1983-04-30 | 1996-09-11 | ソニー株式会社 | エラ−訂正のための符号化方法 |
-
1986
- 1986-02-10 US US06/828,101 patent/US4703485A/en not_active Expired - Lifetime
- 1986-12-19 JP JP61301932A patent/JPS62190931A/ja active Granted
-
1987
- 1987-02-10 EP EP87301126A patent/EP0233075B1/en not_active Expired - Lifetime
- 1987-02-10 DE DE87301126T patent/DE3787900T2/de not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5573909A (en) * | 1978-11-28 | 1980-06-04 | Matsushita Electric Ind Co Ltd | Signal processor |
JPS59165541A (ja) * | 1983-02-28 | 1984-09-18 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | 多数バイトエラ−訂正システム |
Also Published As
Publication number | Publication date |
---|---|
EP0233075A2 (en) | 1987-08-19 |
EP0233075A3 (en) | 1990-05-16 |
DE3787900D1 (de) | 1993-12-02 |
EP0233075B1 (en) | 1993-10-27 |
JPH0328093B2 (ja) | 1991-04-18 |
US4703485A (en) | 1987-10-27 |
DE3787900T2 (de) | 1994-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62190931A (ja) | 巡回冗長検査バイトを計算する装置 | |
CA1204874A (en) | Multibyte error correcting system involving a two- level code structure | |
US4142174A (en) | High speed decoding of Reed-Solomon codes | |
US5872799A (en) | Global parity symbol for interleaved reed-solomon coded data | |
US7278085B1 (en) | Simple error-correction codes for data buffers | |
US5875200A (en) | Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping | |
US8086941B2 (en) | Computing an error detection code syndrome based on a correction pattern | |
US8812940B2 (en) | Programmable error correction capability for BCH codes | |
EP0114938A2 (en) | On-the-fly multibyte error correction | |
JPH03136524A (ja) | 長バースト誤りに対する誤り検出及び訂正システム | |
JPS6273336A (ja) | マルチバイト・エラ−訂正方法及びシステム | |
US4951284A (en) | Method and means for correcting random and burst errors | |
US5856987A (en) | Encoder and decoder for an SEC-DED-S4ED rotational code | |
JPS63244935A (ja) | 誤り検出訂正方法とシステム | |
JPH09507118A (ja) | 巡回冗長検査方法および装置 | |
JPH01155721A (ja) | エラー訂正方法 | |
JPS6346615B2 (ja) | ||
US4527269A (en) | Encoder verifier | |
JP3875274B2 (ja) | 短縮ファイア符号エラートラッピング復号方法および装置 | |
US5943348A (en) | Method to check for burst limiting in error correcting systems | |
US4298981A (en) | Decoding shortened cyclic block codes | |
US5450420A (en) | Error correction system for correcting errors generated in digital signals | |
JPH0351008B2 (ja) | ||
Lim | A (31, 15) Reed-Solomon code for large memory systems | |
El Naga | Error Detecting And Correcting System For Optical Memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |