JPS60163138A - エラ−訂正方式 - Google Patents
エラ−訂正方式Info
- Publication number
- JPS60163138A JPS60163138A JP59263155A JP26315584A JPS60163138A JP S60163138 A JPS60163138 A JP S60163138A JP 59263155 A JP59263155 A JP 59263155A JP 26315584 A JP26315584 A JP 26315584A JP S60163138 A JPS60163138 A JP S60163138A
- Authority
- JP
- Japan
- Prior art keywords
- bits
- data
- bit
- error
- data word
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
情報をビット信号の集団として送受する際に起るエラー
を検出し訂正する方式。
を検出し訂正する方式。
データ処理装置が発明されて以来、データを示すビット
を集めてワードとして転送したり処理したりする際には
、エラーがつきものである。
を集めてワードとして転送したり処理したりする際には
、エラーがつきものである。
データ処理では、複雑な計算や重要な統計とか文章処理
等において、データ転送における信頼性の強化が一課題
である。高いボー速度でのデータ通信や遠隔計測ではエ
ラーが起シ易い。
等において、データ転送における信頼性の強化が一課題
である。高いボー速度でのデータ通信や遠隔計測ではエ
ラーが起シ易い。
エラー検出及び訂正の歴史は古いが、エラー検出のため
初期に採用されたことは、奇偶パリティである。1ビツ
トと0ビツトでデータを示し、これにパリティビットを
付加し、全体の1ビツトの数が例えば奇数になることと
定める。成るデータの中の1ビツトの数が偶数だったら
、パリティビットを1にする。奇数ならパリティビット
をOにする。データとパリティの合計ビットの中の1ビ
ツトの数は常に奇数になる。これが偶数になっていたら
、エラーと判る。しかし、エラーが偶数個起ったら、パ
リティが変らないので判らない。パリティ・チェック方
式には限界がある。
初期に採用されたことは、奇偶パリティである。1ビツ
トと0ビツトでデータを示し、これにパリティビットを
付加し、全体の1ビツトの数が例えば奇数になることと
定める。成るデータの中の1ビツトの数が偶数だったら
、パリティビットを1にする。奇数ならパリティビット
をOにする。データとパリティの合計ビットの中の1ビ
ツトの数は常に奇数になる。これが偶数になっていたら
、エラーと判る。しかし、エラーが偶数個起ったら、パ
リティが変らないので判らない。パリティ・チェック方
式には限界がある。
別の方式では、成る長さのビットのデータを、一定の寸
法データ・ワードのブロックにグループ化する。パリテ
ィピットを各データ・ワードにつける。更に、ワード同
志でのパリティ・チェックも行なう。このブロック・パ
リティコードがエラーの検出のみならず、マトリックス
の行、列のどれかにエラーを位置ぎめしてエラー訂正す
ることにも使える。このような位置ぎめによる方式はパ
リティ・チェック方式よりすぐれているが、偶数個のエ
ラーが対称形のところに発生すると検知できない等の欠
点がある。
法データ・ワードのブロックにグループ化する。パリテ
ィピットを各データ・ワードにつける。更に、ワード同
志でのパリティ・チェックも行なう。このブロック・パ
リティコードがエラーの検出のみならず、マトリックス
の行、列のどれかにエラーを位置ぎめしてエラー訂正す
ることにも使える。このような位置ぎめによる方式はパ
リティ・チェック方式よりすぐれているが、偶数個のエ
ラーが対称形のところに発生すると検知できない等の欠
点がある。
ハミングの発明になるハミング・コードがある。
これは多重パリティ・チェック方式であり、1個のエラ
ーは検出のみならず、訂正もくする。エラーは、パリテ
ィ・チェックビットから作るシンドロム・ビットを解析
すると検出できる。しかし、2個以上のエラーは検出で
きても、訂正できない。
ーは検出のみならず、訂正もくする。エラーは、パリテ
ィ・チェックビットから作るシンドロム・ビットを解析
すると検出できる。しかし、2個以上のエラーは検出で
きても、訂正できない。
ハミング以外にエラー訂正コードは多くあり、これらコ
ートは普通、数値の一定数をセットにした形で数式表現
されている。
ートは普通、数値の一定数をセットにした形で数式表現
されている。
サイクリック・リダンダンシ・コードというのもある。
これは多項式で割りきれるような2進データを用いる。
ロンジチュージナル・リダンダンシ・コードハ。
データ・ワード内の各ビットを排他ORとして得られる
値で作られる。これと元のワードの内の各ビットを順次
排他ORすればOになる筈である。
値で作られる。これと元のワードの内の各ビットを順次
排他ORすればOになる筈である。
この性質を利用してエラー検出をする。
その他にも、IBM・TDB誌、1981−11、のJ
、Da、tras他による論文や、米国特許第4163
147号明細書に2つのエラーを訂正する方式が示され
ているが、これらは、データ処理に時間がかかシ、又2
つしかエラーが起らないことを条件にする等、不便な点
がある。
、Da、tras他による論文や、米国特許第4163
147号明細書に2つのエラーを訂正する方式が示され
ているが、これらは、データ処理に時間がかかシ、又2
つしかエラーが起らないことを条件にする等、不便な点
がある。
米国特許第4397022号、第4330860号にも
多重エラー処理について示されている。
多重エラー処理について示されている。
多重(2個以上の)エラーを処理する従来の方式は、大
量のメモリを用いてコスト高になっていたり、エラーの
発生する状況に特定の条件を要したり、計算処理時間が
永くかかつたり、エラー訂正のために付加するピントの
量が多かったシする不便があった。
量のメモリを用いてコスト高になっていたり、エラーの
発生する状況に特定の条件を要したり、計算処理時間が
永くかかつたり、エラー訂正のために付加するピントの
量が多かったシする不便があった。
複数のビットからなるデータ・ワードにチェック・ビッ
ト(CB)をつけて伝送し、これらデータ・ワードとC
Bから、ビット・エラーの有無を検出し、ンングル・エ
ラーかダブル畳エラーは訂正できる本発明は下記の語構
成部分からなる。
ト(CB)をつけて伝送し、これらデータ・ワードとC
Bから、ビット・エラーの有無を検出し、ンングル・エ
ラーかダブル畳エラーは訂正できる本発明は下記の語構
成部分からなる。
CBの作製とデータ・ワードへの細か。
データ・ピッ]・をベース・グルーブト多層(マルチプ
ル・レイヤ)グループとにグループ化する。
ル・レイヤ)グループとにグループ化する。
グループの数はCBの桁数に等しい。
各データ・ビットに2個迄の重みが割当てられる。
重みに従って、データ・ビットをグループ中に分布させ
る。
る。
各グループに対しCBを作り、データ・ワードに付ける
。
。
CBの桁数と同じ数の77ドロム・ビット(SB)を作
る。
る。
SBを、解読してエラー・ビットを検出する。
エラー訂正をする。
第1図参照。メモl) 10はデータ・ワードに区切ら
れた形のデータの流れ(メツセージ)を受けとり、貯え
る。データ・ワードは各々データ・ビットを含み、その
数はシステムに応じて変る。各ビットはOか1の値を持
つ。データの流れはチェック−ビット発生器12に送ら
れ、データーワードの長さに応じたチェック・ビット(
CB)が発生され、メモl) 10に送られる。
れた形のデータの流れ(メツセージ)を受けとり、貯え
る。データ・ワードは各々データ・ビットを含み、その
数はシステムに応じて変る。各ビットはOか1の値を持
つ。データの流れはチェック−ビット発生器12に送ら
れ、データーワードの長さに応じたチェック・ビット(
CB)が発生され、メモl) 10に送られる。
データ・ワードとCBはメモリ10に入れられた後は、
ンンドロム・ビット(SB)発生器14によりアクセス
され、又と9出される。メモリ10からSB発生器14
へのデータの流れと同じ流れが後記するエラー訂正器に
送られる。
ンンドロム・ビット(SB)発生器14によりアクセス
され、又と9出される。メモリ10からSB発生器14
へのデータの流れと同じ流れが後記するエラー訂正器に
送られる。
SB発生器14にはデコーダ16が接続され、SBを受
け解読し、エラーがあればそれを示す信号を発生する。
け解読し、エラーがあればそれを示す信号を発生する。
これはデータ・ワード中のどのビット(複数でもよい)
がエラーかを示す。デコーダ16は、エラーがあるかな
いか、エラーが1ビツトか、2ビツトか1.或は多数ビ
ットかを示す信号を作り、これは適当な表示器18、例
えばLEDやCRTやプリンタ等に送られる。
がエラーかを示す。デコーダ16は、エラーがあるかな
いか、エラーが1ビツトか、2ビツトか1.或は多数ビ
ットかを示す信号を作り、これは適当な表示器18、例
えばLEDやCRTやプリンタ等に送られる。
デコーダ16がエラーを識別すると、エラー訂正(EC
)器20に信号が送られるが、ここにはメモl) 10
からもデータ・ワードが直接来ている。
)器20に信号が送られるが、ここにはメモl) 10
からもデータ・ワードが直接来ている。
そこでECC2O4データーワードとデコーダ16で解
読されたSBとが両方入って来る。1個のビットのエラ
ーも2個のビットのエラーも訂正される。
読されたSBとが両方入って来る。1個のビットのエラ
ーも2個のビットのエラーも訂正される。
第2図はデータ転送動作のフロー図である。ブロック6
0に、Nビットの当初のデータ・ワードがある。Nビッ
トのデータ・ワード中にエラーがあるか、あれば1ビツ
トか2ビツトかを検出するCBの最小数は、それが下記
の確率の数を表示できるものでなければならない。
0に、Nビットの当初のデータ・ワードがある。Nビッ
トのデータ・ワード中にエラーがあるか、あれば1ビツ
トか2ビツトかを検出するCBの最小数は、それが下記
の確率の数を表示できるものでなければならない。
ブロック62の、ベース・テーブル、テーブルBが作ら
れる。テーブルBの行(タテ)の数はb=(log2N
)である。
れる。テーブルBの行(タテ)の数はb=(log2N
)である。
〔〕は整数に切り上げることを示す。
例えば15ビツト(D ・・・D 2 D I )の5
データ・ワードに対してはテーブルBの行の数は次のよ
うに算出する。
うに算出する。
b = Cl o g 215 :] m=(3,90
6、:] ” 4即ち、15ビツトのデータ・ワード、
4行のテーブルBを必要とする。
6、:] ” 4即ち、15ビツトのデータ・ワード、
4行のテーブルBを必要とする。
ブロックろ4でデータ・ワードの始めの5個ビットが下
記の分布でテーブルB中に順次配置される。
記の分布でテーブルB中に順次配置される。
テーブルB
Dはデータ・ビットで添字は桁を示す。データ・ワード
のビットからベース・ビットbを減算した残りを多層(
マルチプル・レイヤ、以下にてMLと記す)ビットと呼
ぶ。後記のように、こねらMLビットがベース・グルー
プとMLグループ内に分布される。
のビットからベース・ビットbを減算した残りを多層(
マルチプル・レイヤ、以下にてMLと記す)ビットと呼
ぶ。後記のように、こねらMLビットがベース・グルー
プとMLグループ内に分布される。
ブロック36で、MLテーブル、テーブルMが作られ、
これは下記式で算出される数の行を有する。
これは下記式で算出される数の行を有する。
m = (l o g 7 (N b + 1 ) )
例えば、15ビツトのデータ・ワードでは行の数が下記
のようになる。
例えば、15ビツトのデータ・ワードでは行の数が下記
のようになる。
m=(10g7(154+1 ))
=〔10g212〕=〔3584〕=4゜各ビット・グ
ループからCBが作られる。そこでコードの長さくCB
桁数)はベース・ビットbとMLビットn1の和となる
。15ビツトのデータ・ワードでは、CBの桁数は、 b + m = 4 + 4 = 8となる。
ループからCBが作られる。そこでコードの長さくCB
桁数)はベース・ビットbとMLビットn1の和となる
。15ビツトのデータ・ワードでは、CBの桁数は、 b + m = 4 + 4 = 8となる。
各々mヒツトからなる重みQlが、ブロックろ8で、M
Lビットに割当てられる。ブロック40で、重みQ に
従って、これらビットがテーブルM中で配置される。
Lビットに割当てられる。ブロック40で、重みQ に
従って、これらビットがテーブルM中で配置される。
テーブルM
重みQ は、各MLビット毎に1の重みをつけ、Oから
(N−b)迄の順次連続2進値である。
(N−b)迄の順次連続2進値である。
ベース・グループ中でのMLビットの分布は、ブロック
40で、これらMLビットをその重みQと共に下記のよ
うに分布させて行なう。
40で、これらMLビットをその重みQと共に下記のよ
うに分布させて行なう。
Ill 1
11.1 ・ ・ ・ e ・ I
I I 1 1
〆−\1メ1飄メー1〆ゞ1
1 I 1 1
111 ・ ・ ・ ・ @ 1
1 1 1 1
凸ハハへ
Nつ l/)CJ
+++1
0 ρ ロ 1
+++1
ρ ロ ρ 1
+++
りAり・・・拳−Z
ロ ロ ロ ロ
11 II 11 II
−〇r 1
一一1
111 1
111−−−−−1
111 1
000 1
前記テーブルMは、各ビットDbを他のビットDb+1
、 5+2、・・・DNと排他オアすることをテーブル
の始めから順次行なって得られる。
、 5+2、・・・DNと排他オアすることをテーブル
の始めから順次行なって得られる。
排他オアされた2数が、若しあれば、同じ値の重みに対
応する列(ヨコ)と同じ列におかれる。
応する列(ヨコ)と同じ列におかれる。
例えば、o oiの括 ビットと、O
b+i
10のD ビットを排他オアすると、
b+2
0 01■0 10=0 11と
なる。
この右辺はD の重みと同じである。そこで、b+6
Db+1、5+2が列D の第1の行におり b+3
かれる。
この手順をつづけて、ビットのすべてが他と排他オアさ
れ、結果がテーブルMに適正に入れられるようにする。
れ、結果がテーブルMに適正に入れられるようにする。
この分布法は、第6図によっても説明でき、とレバベー
ス・グループ・テーブル、テーブルBを作る手順のフロ
ー図である。
ス・グループ・テーブル、テーブルBを作る手順のフロ
ー図である。
ブロック60で、前記のように、MLビットが対応する
重みと共にテーブルBに置かれる。グロック62でカウ
ンタKが0の初期値を与えられ、ついでブロック64で
加算される。
重みと共にテーブルBに置かれる。グロック62でカウ
ンタKが0の初期値を与えられ、ついでブロック64で
加算される。
ブロック66で各MLビットに新しい重みWl
が割当てられ、Wlは各々b個の数値をもつ。前記のよ
うにo ooから1 11が経験的に反覆して得られる
。新しい重みW への只−つの制約は、上記テーブルM
(WoW、・・W。
うにo ooから1 11が経験的に反覆して得られる
。新しい重みW への只−つの制約は、上記テーブルM
(WoW、・・W。
が新しい重み)で、所与の第D 番目の列(ヨコ)に関
して、その列に置かれるどのビット対も、W。
して、その列に置かれるどのビット対も、W。
に対して排他オアされる際に、互いに等しい値にならな
いことである。同様に排他オアの結果(答え)は、新し
い重みW のどれか1個のビットを反転したものと等し
くなってはいけない。即ち、結果はW。Wl−m−Wb
又はw。wl w5又はW。W 1 Wb迄のどれとも
等しくてはいけない。W、はW の反転したものを示す
。
いことである。同様に排他オアの結果(答え)は、新し
い重みW のどれか1個のビットを反転したものと等し
くなってはいけない。即ち、結果はW。Wl−m−Wb
又はw。wl w5又はW。W 1 Wb迄のどれとも
等しくてはいけない。W、はW の反転したものを示す
。
重みW、の作成を第3図で続けて説明する。
ブロック68で、他の変数SをKに等しくセットする。
ブロック70でSが増加される。ブロック72でに番目
の重みとS番目の重みが排他オアされる。ブロック74
で、データ・ピン−トド折りしい重みの対がテーブルB
の同じ値の列に入れられる。ブロック76でこの対の新
しい重みの排他オアの結果が変数bkの重みに等しいか
、又は他の対の排他オアの結果がbkの重みに等しいか
が検査される。若し、等しいなら、ブロック66で他の
新しい重みのセットが割当てられ試行的に検査される。
の重みとS番目の重みが排他オアされる。ブロック74
で、データ・ピン−トド折りしい重みの対がテーブルB
の同じ値の列に入れられる。ブロック76でこの対の新
しい重みの排他オアの結果が変数bkの重みに等しいか
、又は他の対の排他オアの結果がbkの重みに等しいか
が検査される。若し、等しいなら、ブロック66で他の
新しい重みのセットが割当てられ試行的に検査される。
又若し、等しくないなら、今の列(今の値Kについての
)について、データ・ビット全部が処理されたかを、ブ
ロック78でテストする。捷だならブロック70で変数
Sを増して、処理をつづける。
)について、データ・ビット全部が処理されたかを、ブ
ロック78でテストする。捷だならブロック70で変数
Sを増して、処理をつづける。
若し、全部のデータ命ビットが今の値Kについて処理さ
れてたら、ブロック80で今度はKの値スヘて(即ち、
全部の列)について、すべてのデータ・ビットが処理さ
れたかをテストする。とれはマトリクスのすべてのデー
タ・ビットが処理されたかを見ることになる。
れてたら、ブロック80で今度はKの値スヘて(即ち、
全部の列)について、すべてのデータ・ビットが処理さ
れたかをテストする。とれはマトリクスのすべてのデー
タ・ビットが処理されたかを見ることになる。
若し、特定のデータ・ビットが処理されていないなら、
ブロック64に戻シ変数・K・の値を増し、処理をつづ
ける。すべてのデータ・ビットの処理がすんでいたら、
ブロック82に来て処理を終止し、新しい重みのすべて
が有効であることを表示する。
ブロック64に戻シ変数・K・の値を増し、処理をつづ
ける。すべてのデータ・ビットの処理がすんでいたら、
ブロック82に来て処理を終止し、新しい重みのすべて
が有効であることを表示する。
15ビツトのデータ・ワードではMLビットの数は下記
である。
である。
N−b=15−4=11
この例では11ビツトの各々が下記のビット位置を割当
てられている。
てられている。
テーブルM(15ビツトのデータの時)D5−0001
D6 =0010
D7 =0011
D8−0100
D9 =0101
Dlo−0110
D11≠0111
D12=1000
D16=1001
D14=101[I
D15−1011
MLビットへの重みが割当てられ、下記の配置により、
MLグループに並べられる。
MLグループに並べられる。
次に、MLビットを下記のようにベース・グループ上に
分布させる。
分布させる。
下記のように、ビットD5がらD15に新しい重みが割
当−Cられる。
当−Cられる。
これら新しい重みが、ビット毎にそれらの対の相手と排
他ORされて有効性をテストされる。
他ORされて有効性をテストされる。
D5■D8−==0000■OCI 1 ’I=QQ
11D6■D11=1000■1ooo=ooo。
11D6■D11=1000■1ooo=ooo。
D7■D1o=1110■oooi=i i i i排
他ORされた結果は、どれも同じ列内の他の数と等しく
ないことが判る。又、この結埼は同じ列のMLビットと
も等しくない。テーブルのD9の対はどれも、D90元
の重み(0101)とも、D、の元の重みのどれか1ビ
ツトを反転したもの(即ち、0100.0111.00
01.1101)とも等しくな℃・。同様にして、テー
ブル1の列のすべてがテストできる。
他ORされた結果は、どれも同じ列内の他の数と等しく
ないことが判る。又、この結埼は同じ列のMLビットと
も等しくない。テーブルのD9の対はどれも、D90元
の重み(0101)とも、D、の元の重みのどれか1ビ
ツトを反転したもの(即ち、0100.0111.00
01.1101)とも等しくな℃・。同様にして、テー
ブル1の列のすべてがテストできる。
第2図で、すべての列のすべてのビットについて新しい
重みの有効性をだしかめた後、ブロック42で、それら
ビットを新しい重みに従って、MLグループについてし
たと同じ手順でベース・グループに分布させる。
重みの有効性をだしかめた後、ブロック42で、それら
ビットを新しい重みに従って、MLグループについてし
たと同じ手順でベース・グループに分布させる。
今の15ピントのデータ・ワードの例では、上記の分布
は下記のようになる。
は下記のようになる。
ブロック44で、CBをデータ・セットの対応するグル
ープと、各データ・ワード毎に、排他ORしてSBの数
を作る。
ープと、各データ・ワード毎に、排他ORしてSBの数
を作る。
ブロック46で、各グループ(ベース・グループ又はM
Lグループ)のデータ・ビットすべてを排他ORしてC
Bが発されるが、下記の方法では殆んど奇数パリティが
普通は作られる。
Lグループ)のデータ・ビットすべてを排他ORしてC
Bが発されるが、下記の方法では殆んど奇数パリティが
普通は作られる。
C0−D12■D13■D14■D15C1−D8■D
9■D1o■D11 C=D のD7■D1o■D11■D14のDl。
9■D1o■D11 C=D のD7■D1o■D11■D14のDl。
6
C,=D ■D7■D、eD11■D13 eD155
C=D ■D ■D7のD9■D11
4 4 6
C=D のD7■D9■D12■D13■D1゜3
C=I) ■D7■D8■D12eD152
C=D のD8■D1o■D13■D141
上記のCBが付けられて、データ・ワードと共に貯えら
れ、後の使用に供される。
れ、後の使用に供される。
ブロック48で、前記のように、前に作ったCBと対応
するデータ・ビットとを排他ORして、SBを作る。今
の15ビツトのデータ・ワードの場合、下記のようにし
てSBが作られる。
するデータ・ビットとを排他ORして、SBを作る。今
の15ビツトのデータ・ワードの場合、下記のようにし
てSBが作られる。
Ll”)14’) If”1
0 ロ ロ
■ ■ ■
寸(イ)−(イ)0寸
ロ ロ ロ ロ ロ ロ
■ ■ ■ ■ ■ ■
1、n セ セ ヘ ヘ 哨
i寸−一〇+−「−
ロ ロ ロ ロ ロ ロ Oロ
■ ■ ■ ■ ■ ■ ■ ■
寸 0’0 0
−−FωN(ト)ので
ロ ロ ロ ロ ロ ロ Oロ
■ ■ ■ ■ ■ ■ ■ ■
−o+1′−+I′−+℃NNの
Oロ ロ Oロ ロ ロ O
■ ■ ■ ■ ■ ■ ■ ■
−の ′−Oの 寸 (イ) へ −
ロ ロ ロ ロ ロ ロ ロ ロ
■ ■ ■ ■ ■ ■ ■ ■
Oを IN (イ) 寸 の ”0h
(J(J(J(JCJQQQ
II II 11 II II II II IIO萱
へ (イ) 寸 岨 +<l+”−リφωωωφωθ フロック50で、SRを解読するためのエラー・コード
・リストを作る必要がある。このエラー・コード・リス
トを作る手順は、経験的に、任意のシングル・ビット・
エラーを入れて処理してその結果のSBを記録すること
である。次にダブル・ビット・エラーについて同じ目的
を遂行する必要がある。
へ (イ) 寸 岨 +<l+”−リφωωωφωθ フロック50で、SRを解読するためのエラー・コード
・リストを作る必要がある。このエラー・コード・リス
トを作る手順は、経験的に、任意のシングル・ビット・
エラーを入れて処理してその結果のSBを記録すること
である。次にダブル・ビット・エラーについて同じ目的
を遂行する必要がある。
15ビツトのデータ・ワードの例での、エラー・コード
・リストの例を下記に示す。
・リストの例を下記に示す。
SBコード・リストが作られた後、ブロック52でエラ
ー訂正がなされる。
ー訂正がなされる。
第1図を参照して、表示器18は下記の各状態の1つを
表示できるようになっている。
表示できるようになっている。
a)エラーなし。
b)1個(シングル)ニブ−。
c)2個(ダブル)エラー。
d)多数(マルチプル)エラー。
SBがすべて0であれば、エラーなしである。
SBのうち1ビツトが1個以上あれば、データ転送中に
少なくとも1個のエラーのあったことを示す。
少なくとも1個のエラーのあったことを示す。
シングル・エラーヲ識別するエラー・コード・リストは
その状態の発生を示す信号の発生に用℃・られる。同じ
く、ダブル・エラーを検知するエラー・コード・リスト
をダブル・エラー発生を示す信号の発生に使える。更に
、エラーなしく全SBがO)、シングル・エラー、ダブ
ル・エラーを除いた残りのリストが、多数エラー表示信
号の発生に使える。
その状態の発生を示す信号の発生に用℃・られる。同じ
く、ダブル・エラーを検知するエラー・コード・リスト
をダブル・エラー発生を示す信号の発生に使える。更に
、エラーなしく全SBがO)、シングル・エラー、ダブ
ル・エラーを除いた残りのリストが、多数エラー表示信
号の発生に使える。
シングル・エラーとダブル・エラーの訂正は、そのエラ
ー・コード・リストとデータ・ワードをビット毎に排他
オアすることにより得られる。
ー・コード・リストとデータ・ワードをビット毎に排他
オアすることにより得られる。
本発明のエラー検出訂正方式を電算機で行わせると、
1 メモリ操作時間が少ない
2 データ転送回数が少ない
ろ エラー・コード・リスト用のメモリの寸法が小さく
てすむ 4 チェック・ビット(CB)の桁数が小さくてすむ 等の利点がある。
てすむ 4 チェック・ビット(CB)の桁数が小さくてすむ 等の利点がある。
第1図は本発明の実施例の計画図、第2図は本発明のエ
ラー訂正方式のフロー図、第6図はベース・グループ・
テーブル作製のフロー図である。 10・・・・メモリ、12・・・・CB発生器、14・
・・・SB発生器、16・・・・デコーダ、20・・・
・訂正器。 出願人インターカンヨカル・ビジネス・マシーンズ・コ
ーポレーション代理人 弁理士 山 本 仁 朗 (外1名) データ FIG、1
ラー訂正方式のフロー図、第6図はベース・グループ・
テーブル作製のフロー図である。 10・・・・メモリ、12・・・・CB発生器、14・
・・・SB発生器、16・・・・デコーダ、20・・・
・訂正器。 出願人インターカンヨカル・ビジネス・マシーンズ・コ
ーポレーション代理人 弁理士 山 本 仁 朗 (外1名) データ FIG、1
Claims (1)
- 【特許請求の範囲】 複数個のデータ・ビットよシなるデータ・ワードを伝送
する際に起るエラーを検出し訂正する方式において、 上記データ・ワードに付属するチェック・ビットの数を
計算する計算手段と、 成るデータ・ワード内のすべてのデータ・ビットをグル
ープの総数を上記チェック・ビットの桁数に等、u、、
<シ*ペア、ヌ・7゛グループと多層グループにグルー
プ分けする手段と、 各データ・ビットに2個迄の重みを割当てる手段と、 上記データφビットを割当てられている重みに従って上
記グループ内に分布させる手段と、上記グループの各々
に対してチェック・ビットを発生する手段と、 上記チェック・ビットを伴ったデータ・ワードに付加ビ
ットを付加する連結手段と、 上記チェック・ビットの数に等しい数のシンドロム・ビ
ットを発生する手段と、 上記シンドロム・ビットを解読してデータ・ワード内の
エラー・ビットを検出し訂正する手段とよシなるエラー
訂正方式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/574,221 US4589112A (en) | 1984-01-26 | 1984-01-26 | System for multiple error detection with single and double bit error correction |
US574221 | 1984-01-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS60163138A true JPS60163138A (ja) | 1985-08-26 |
Family
ID=24295204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59263155A Pending JPS60163138A (ja) | 1984-01-26 | 1984-12-14 | エラ−訂正方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4589112A (ja) |
JP (1) | JPS60163138A (ja) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5053436A (en) * | 1988-11-30 | 1991-10-01 | Minnesota Mining And Manufacturing Company | Hollow acrylate polymer microspheres |
US5127404A (en) * | 1990-01-22 | 1992-07-07 | Medtronic, Inc. | Telemetry format for implanted medical device |
US5412194A (en) * | 1992-03-25 | 1995-05-02 | Storage Technology Corporation | Robust coding system |
US6307487B1 (en) * | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US7068729B2 (en) * | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US6141789A (en) * | 1998-09-24 | 2000-10-31 | Sun Microsystems, Inc. | Technique for detecting memory part failures and single, double, and triple bit errors |
US6185631B1 (en) * | 1998-10-14 | 2001-02-06 | International Business Machines Corporation | Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence |
DE69907622T2 (de) * | 1999-02-10 | 2004-03-25 | Stmicroelectronics S.R.L., Agrate Brianza | Verfahren zur Fehlerkorrektur in einem in einer Mehrpegelspeicherzelle gespeicherten Binärwort, mit einer Minimumanzahl von Korrekturbits |
US6519717B1 (en) * | 1999-10-06 | 2003-02-11 | Sun Microsystems Inc. | Mechanism to improve fault isolation and diagnosis in computers |
US9240810B2 (en) * | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
EP1552617A2 (en) | 2002-10-05 | 2005-07-13 | Digital Fountain, Inc. | Systematic encoding and decoding of chain reaction codes |
CN1954501B (zh) | 2003-10-06 | 2010-06-16 | 数字方敦股份有限公司 | 通过通信信道接收从源发射的数据的方法 |
JP4971144B2 (ja) * | 2004-05-07 | 2012-07-11 | デジタル ファウンテン, インコーポレイテッド | ファイルダウンロードおよびストリーミングのシステム |
US7721184B2 (en) * | 2004-08-11 | 2010-05-18 | Digital Fountain, Inc. | Method and apparatus for fast encoding of data symbols according to half-weight codes |
US7421640B2 (en) * | 2005-08-17 | 2008-09-02 | International Business Machines Corporation | Method and apparatus for providing error correction capability to longitudinal position data |
KR101292851B1 (ko) | 2006-02-13 | 2013-08-02 | 디지털 파운튼, 인크. | 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링 |
US9270414B2 (en) * | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
US7971129B2 (en) | 2006-05-10 | 2011-06-28 | Digital Fountain, Inc. | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems |
US7634713B1 (en) * | 2006-05-16 | 2009-12-15 | Altera Corporation | Error detection and location circuitry for configuration random-access memory |
US7844886B1 (en) | 2006-05-16 | 2010-11-30 | Altera Corporation | Parallel processing error detection and location circuitry for configuration random-access memory |
US7506226B2 (en) * | 2006-05-23 | 2009-03-17 | Micron Technology, Inc. | System and method for more efficiently using error correction codes to facilitate memory device testing |
US20070283223A1 (en) * | 2006-06-01 | 2007-12-06 | International Business Machines Corporation | Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with all checkbits transferred last |
US20070283207A1 (en) * | 2006-06-01 | 2007-12-06 | International Business Machines Corporation | Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus timing improvements |
US20070283208A1 (en) * | 2006-06-01 | 2007-12-06 | International Business Machines Corporation | Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus diagnostic features |
US7721178B2 (en) * | 2006-06-01 | 2010-05-18 | International Business Machines Corporation | Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code |
US9209934B2 (en) * | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9178535B2 (en) * | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US20080052598A1 (en) * | 2006-08-09 | 2008-02-28 | Aksamit Slavek P | Memory multi-bit error correction and hot replace without mirroring |
US20080205229A1 (en) * | 2007-02-26 | 2008-08-28 | Yung-Chih Li | Method of identifying optical disc |
JP5027305B2 (ja) * | 2007-09-12 | 2012-09-19 | デジタル ファウンテン, インコーポレイテッド | 信頼できる通信を可能にするためのソース識別情報の生成および伝達 |
US9281847B2 (en) * | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
US20110096828A1 (en) * | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US20110280311A1 (en) | 2010-05-13 | 2011-11-17 | Qualcomm Incorporated | One-stream coding for asymmetric stereo video |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US9319448B2 (en) | 2010-08-10 | 2016-04-19 | Qualcomm Incorporated | Trick modes for network streaming of coded multimedia data |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3622982A (en) * | 1969-02-28 | 1971-11-23 | Ibm | Method and apparatus for triple error correction |
US3685014A (en) * | 1970-10-09 | 1972-08-15 | Ibm | Automatic double error detection and correction device |
US3714629A (en) * | 1971-06-01 | 1973-01-30 | Ibm | Double error correcting method and system |
US4030067A (en) * | 1975-12-29 | 1977-06-14 | Honeywell Information Systems, Inc. | Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes |
US4117458A (en) * | 1977-03-04 | 1978-09-26 | Grumman Aerospace Corporation | High speed double error correction plus triple error detection system |
-
1984
- 1984-01-26 US US06/574,221 patent/US4589112A/en not_active Expired - Fee Related
- 1984-12-14 JP JP59263155A patent/JPS60163138A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US4589112A (en) | 1986-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS60163138A (ja) | エラ−訂正方式 | |
US9195551B2 (en) | Enhanced storage of metadata utilizing improved error detection and correction in computer memory | |
US6751769B2 (en) | (146,130) error correction code utilizing address information | |
US3755779A (en) | Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection | |
EP1204921B1 (en) | System and method for detecting double-bit errors and for correcting errors due to component failures | |
US5745508A (en) | Error-detection code | |
US7149947B1 (en) | Method of and system for validating an error correction code and parity information associated with a data word | |
US4277844A (en) | Method of detecting and correcting errors in digital data storage systems | |
US6041430A (en) | Error detection and correction code for data and check code fields | |
CA1284228C (en) | Byte write error code method and apparatus | |
EP0220876B1 (en) | Self-checking error-correcting encoder/decoder | |
EP1183605B1 (en) | System and method for protecting data and correcting bit errors due to component failures | |
US6604222B1 (en) | Block code to efficiently correct adjacent data and/or check bit errors | |
EP0291167A2 (en) | A code error detecting method | |
US5768294A (en) | Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address | |
JPH0449139B2 (ja) | ||
JPH05108495A (ja) | データ用誤り訂正検出方法及びコンピユータ・メモリ用 誤り検出回路 | |
JPH06324951A (ja) | 誤り検査/訂正機能を有するコンピュータ・システム | |
JPS63115239A (ja) | エラ−検査訂正回路 | |
US5691996A (en) | Memory implemented error detection and correction code with address parity bits | |
JPS6349245B2 (ja) | ||
US6393597B1 (en) | Mechanism for decoding linearly-shifted codes to facilitate correction of bit errors due to component failures | |
US5761221A (en) | Memory implemented error detection and correction code using memory modules | |
US6519736B1 (en) | Generating special uncorrectable error codes for failure isolation | |
US3622984A (en) | Error correcting system and method |