JPH01316041A - 2進符号化された情報中の誤りを検出する方法および2進符号化された情報を格納する回路 - Google Patents

2進符号化された情報中の誤りを検出する方法および2進符号化された情報を格納する回路

Info

Publication number
JPH01316041A
JPH01316041A JP1050962A JP5096289A JPH01316041A JP H01316041 A JPH01316041 A JP H01316041A JP 1050962 A JP1050962 A JP 1050962A JP 5096289 A JP5096289 A JP 5096289A JP H01316041 A JPH01316041 A JP H01316041A
Authority
JP
Japan
Prior art keywords
parity
binary
information
bits
codes
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
Application number
JP1050962A
Other languages
English (en)
Inventor
Iii William Spencer Worley
ウイリアム・スペンサー・ウオーリイ,ザ サード
Eitan Fenson
エイタン・フエンソン
James R Weatherford
ジエームズ・アール・ウエザーフオード
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.)
Ardent Computer Corp
Original Assignee
Ardent Computer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ardent Computer Corp filed Critical Ardent Computer Corp
Publication of JPH01316041A publication Critical patent/JPH01316041A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1028Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンピュータ装置のための誤り検出および修正
の分野に関するものである。
〔従来の技術〕
デジタルコンピュータ装置は2逆打号化された情報で動
作する。その2逆打号化された情報においては、データ
が比較的高い電気的状態または比較的低い電気的状態と
しておのおの格納される一連の情報片としてコンピュー
タ装置において表わされる。典型的には、高い電気的状
態は1により表され、低い電気的状態は0により表わさ
れる。
コンピュータ装置は、電気的に高い状態を電気的に低い
状態へ変更させ、または電気的に低い状態を電気的に高
い状態へ変更させるような種々の問題がある。そのよう
な誤りを検出できることは重要であシ、かつそれらの誤
りを修正できることは有利である。どのような誤り検出
および修正技術においても少くとも2つの衝突する優先
度がある。
その1つは、装?fを不当に複雑にしたり、装置の動作
速度を低下させたりしないように、技術ができるだけ簡
単かつ小型でなければ々ら々いことである。第2に、そ
の技術はできるだけ多くの誤りを修正でき、かつ予測で
きる全ての誤、1検出できなければならないことである
誤りを検出および修正する技術が数多く知られている。
形も簡単な例の1つは、データ流中の1ビット誤りを検
出するためにパリティビットを使用することである。1
パリテイビツトを使用すると1ビット誤りが検出される
が、1ビット誤り全修正することはできず、2ビット誤
りは検出しない。
1950年に、リチャードHハミング(Ri char
dHamming )が、1ビツト誤9を検出および修
正する方法を開発した。その方法は−・ミンク符号法と
して知られている。−・ミンク符号法を用いて符号化さ
れた2逆打号化された情報片の例が第2図に示されてい
る。
別の符号化法がプロダクト(Product)法として
知られている。この方法には数多くの変形例がある。1
つの変形例が第3A図と第3B図に示されているもので
あって、 データブロック中の各行と各列に全体的なパリティチエ
ツクを利用する。この方法は全ての1ビット誤りを検出
および修正できる。本質的にはこの方法は1組のデータ
を基にしてパリティビットを計算し、それから第1の1
組のパリティビットを基にして第2の1組のパリティビ
ットを発生するものである。
〔発明の概要〕
この明細書では2逆打号化された情報中の誤りを検出お
よび修正する方法および装置について説明する。コンピ
ュータ装置の速度向上を助けるためには、必要とする論
理レベルの数をできるだけ少くする、誤りを検出および
修正する方法と装置を設計することが望ましい。第1の
l&lのパリティビットを基にして第2の1組のパリテ
ィビットを発生する、誤!llを検出および修正する方
法は少くとも1つの付加論理レベルを本来的に必要とす
る。
本発明の方法と装置は、データビットのみを基にしてパ
リティビットを発生するために論理関数を利用する。こ
の1組のパリティビットは誤りの検出および修正を可能
にする。
更に、本発明の好適な実施例は、各メモリチップからN
ビットを同時に読出すことができるメ、モリチップを有
するコンピュータ装置において動作するために設計され
る。そのようなコンピュータ装置においては、任意の1
ピツト誤りまたは2ビット誤りと、与えられたチップ内
の任意のビ2トまたは全ての、ビットが反転されるよう
、な任意の誤りを検出でき今ことが望尊しい。従来、「
予測される」誤ジは1ビット誤りまたは2ビット誤りで
あって、2ビット誤りより大きな誤りはなかったようで
あった。2ビット誤りょシ大きな誤りがないという仮定
は、各サイクルに各チップから1ビットが読出されると
いう[1だけの態様係数(by −one、 for、
m factor) J 技術において許容できる。し
かし、1Nだけの態様係数」技術、すなわち、チップか
らNビットを同時に読出すことを許すことができるチッ
プを有するコンピュータ装置においては、2ビツトよシ
大きい誤りをひき起す1チツプ故障の大きな可能性が存
在する。
本発明はどのような「簡単な一1誤りでも修正できる。
簡単な誤9というのは任意の1ビツトが反転されている
ような誤りと定義できる。本発明は、与えられたチップ
力)ら読出され女任意の2ビットが反転され、マタは任
意のビットもしくは全てのビットが反転されるような誤
りとして定義される任意の「予測される」誤りも検出す
る。本発明は、(1)どのチップもデータビットとチエ
ツクビットの両方は含まず、(2)データチップ上の全
てのビットに対して、値がそれらのビットによυ値が影
響を受けるチエツクビットのセントが区別された1つの
チエツクビットと全て交差する、(3)全ての影響を受
けるチエツクビットチップに対して、チップ上の3ビツ
トの値によυ影響を受けないようガデータビットが存在
しない、ように、データ入力を基にしてチエツクビット
すなわちパリティビットを発生し、データビットとチエ
ツクビットを格納することを開示するものである。任意
の3つのチエツクビットに対して、値が3つのチエツク
ビットの全てに影響を及ぼすよう々データビットが1つ
あるか、無いように構成されたビットを本発明の好適な
実施例は有する。第2に、任意の4つのチエツクビット
に対して、値が4つのチエツクビットの全てに影響を及
ぼすようなデータビットが無い。第3に、任意のデータ
ビットに対して、値がそれの値により影響されるような
チエツクビットが正確に3個ある。
本質的には、データビットの8個に組合わされた時に結
果としての9ビツト語のパリティを偶数にするような値
をチエツクビットが表わすように、チップ上におけるチ
エツクビットとデータビットの構成を本発明の好適な実
施例は開示するものである。8個のデータビットは前記
規則に従って選択される。
本発明により利用される別々の5つの回路について説明
する。それらの回路は、メモリに格納するデータを受け
た時に適切なパリティビットを発生する回路と、メモリ
回路と、データがメモリから読出された時にそのデータ
が正しいことをチエツクするために適切なパリティビッ
トを発生する回路と、修正可能な誤差または修正できな
い誤差が検出されたことを判定する回路と、誤差を修正
する回路とである。
本発明により、nだけの態様係数メモリ回路からデータ
が読出された時に、任意の「簡単な」誤差が修正され、
任意の「予測される」誤差が確実に修正される。
この明細書では2逆打号化された情報中の誤差を検出お
よび修正する方法および装置を説明する。
本発明を完全に理解できるようにするために、以下の説
明においては、ゲートの種類、ビット数等のような特定
の事項の詳細について数多く述べである。しかし、その
ような特定の詳細事項なしに本発明を実施できることが
尚業者には明らかであろう。その他の場合には、本発明
を不必要に詳しく説明して本発明をあいまいしないよう
にするために、周知の回路および周知の構造は詳しくは
説明しない。
コンピュータ装置においては、情報は2逆打号化された
態様で格納され、送られる。種々の原因のために、情報
の1つまたは複数の2進ビツトを反転させることができ
る。本発明は情報片中の1ビツトの反転を検出および修
正でき、かつ情報片中の2ビツトの反転を検出できる。
更に、本発明は1組のパリティピッ)f使用することに
より誤差の検出と修正を行う。コンピュータ装置回路に
おいて論理関数を用いてデータビットだけの関数として
パリティビットが発生される。このことは、とくに、第
1の1組のパリティビットをデータの関数として発生し
、第2のIIvIのパリティピラトラ第1の1組のパリ
ティビットの関数として発生する誤差修正技術および誤
差検出技術と比較して、コンピュータ装置の速度の面で
重要である。
本発明の好適な実施例は、各データビットの関数として
発生される3つのパリティビットを有することにより誤
りの検出および修正を行う。後で詳しく説明するように
、各データビットが3つの群の部材であシ、各群はそれ
のために発生されたパリティビットを有する。この技術
により、第1の1組のパリティビットをデータを基にし
て発生し、第1の1組のパリティビットを基にして第2
の1組のパリティビットを発生する従来の方法より少い
論理レベルを用いて誤りを検出および修正するという利
点が得られる。
また、本発明は、同じメモリ回路に格納されている任意
の数のビットの反転を検出できる。このことは、ビット
がメモリ回路から1度にnビット読出される場合に重要
である。この場合には、回路の1つの故障により多数の
ビットが悪化することになる。本発明は、データビット
を組織化し、それらのデータビットに対してパリティビ
ットを発生するものである。
入力データからパリティビットを発生する回路と、メモ
リ回路と、データがメモリから発生される時にパリティ
ビラトラ発生する回路と、誤りが生じたかどうかを判定
し、その誤りを修正可能できるかどうかを判定する回路
と、修正可能な誤りを修正する回路とをこの明細書にお
いて開示する。
〔実施例〕
以下、図面を参照して本発明の詳細な説明する。
第1図は2逆打号化された語15中の誤りを検出するた
めにパリティビット16を使用する周知の方法を示す。
この方法は偶数パリティと奇数パリティのいずれかの使
用と、選択されたパリティの種類の選択と、2つの通信
装置の間の一致との使用を含む。たとえば、偶数パリテ
ィにおいては、パリティビットを含んでいる語中の1の
総数が偶数テあるように、パリティビットの値が選択さ
れる。それとは逆に、奇数パリティにおいては、・<リ
テイビットを含んでいる語中の1の総数が奇数であるよ
うに、パリティビットの値が選択される。
語を別の装置へ送る前に、または語をメモリに格納する
前にパリティビットが発生される。他の装置が語を受け
た時、または語がメモリから読出された時に、語中の1
の総数が偶数パリティシステムにおいては偶数でアシ、
!たは奇数パリティシステムにおいては奇数であるよう
にするためにチエツクが行われる。たとえば偶数パリテ
ィシステムにおいては、語中の1の数が奇数パリティで
あれば、装置は誤差が生じていると仮定して、その語を
再び送ることを求める。パリティビットを単独で用いる
と1ビツトの誤りを検出できるが、誤りの修正または2
ビツトの誤りを検出することはできない。
第2図は2逆打号化された語中の1ビツトの誤りを検出
および修正可能する周知の方法を示す。
この方法は前記リチャード・ハミング(Richard
Hamming)により開発され、1950年に初めて
発表された。それはハミング符号として知られている。
そのハミング符号は誤りの検出および修正可能を行える
ようにするために多数のパリティビットを利用する。−
・ミンク符号においては、Nビット語にに個のパリティ
ビットが付加されて、長さがN+にビットである新しい
語を形成する。それらのビットは0ではなくて1から始
って番号が付けられ、ビット1を最も左側のビットにす
る。ビット番号が2であるべき全てのビットがパリティ
ビットであり、残りの全てのビットはデータのために用
いられる。
第2図に示すように、7ビツトのASCII語の場合に
はパリティピッ)1,2,4.8が付加される。ビット
3,5,6,7,9,10.11は7つのデータビット
である。ノ・ミンク符号を用いて表わされ、偶数パリテ
ィを用いる7ビツトASCII語(第2図)においては
、ビット1はビット1゜3.5.7,9.11をチエツ
クするために用いられるパリティビットである。ビット
2はビット2.3,6,7,10.11をチエツクする
。ビット4はビット4,5,6.7をチエツクする。
ビット8はビット8,9,10.ll’iチエツクする
。一般に、B□十B2・・・十Bk=Nとカるように、
ビットNはビットB1.B2.・・・Bkによりチェッ
クされる。たとえば、1+4=5であるからビット5は
ビット1と4によりチェックされ、2+4−6であるか
らビット6はビット2と4にニジチエツクされる。先に
述べたように、・・ミンク符号は1ビツト誤Vt検出お
よび修正できる。ノ・ミンク符号は2ピツトより大きい
誤りの検出は保障しない。
第3A図と第3B図は、1組の2進符号化され九語を語
の1つのブロックにまとめ、各行(t−たけブロック中
の語)と各列のためのパリティビットを発生する方法の
1つを適用する周知の方法を示すものである。たとえば
、第3A図において、ブロック20は2進符号化された
書式の語のブロックを表すことができる。そうすると、
ブロック21はブロック20中の俗語に対するパリティ
チエツクを表すことができる。ブロック23はブロック
20中の各列に対するパリティチエツクビットを表すこ
とができる。ブロック22は列21と行23に対するパ
リティチエツクビットを表すことができる。
第3B図はこの方法を用いるプロダクト符号の例を示す
。領域25は2進符号化された語を表し、領域26は領
域25中の俗語に対して偶数パリティ法を用いるパリテ
ィチエツクビットの列である。
行27は、領域25中の各列に対する偶数パリティ法を
再び用いたパリティチエツクビットを表す。
ブロック中の2進符号化された語の行と列に簡単なパリ
ティチエツクを利用するプロダクト符号を用いるこの方
法は全ての1ビツト誤f)を修正できる。1ビット誤り
が生ずると、その誤りが生じている行と列がパリテイチ
エツクの異常により示されるこの方法は2ピツト以上の
誤りの検出を保障できない。
本発明は、2ピツト幅よシ広いランダムアクセスメモリ
(RAM)  (すなわち、与えられたメモリサイクル
中に2ピツト以上を格納および読出すことができるRA
M  )を利用するコンピュータ装置において誤υ修正
および検出を行う方法および装置に関するものである。
本発明は下記のような特性を有する。□ fl)  任意の1ビット誤りの検出および修正が可能
である (2)任意の2ビット誤りを検出可能である(3)任意
の1つの装置(RAM)が誤った結果の任意の組合わせ
を発生し、その障害を検出可能である。
本発明は、データビットをチエツクビットに組合わせる
ための1組の基準を示すものである。その基準は下記の
3つの規則で構成される。
(1)任意の3つのパリティビットに対し梁それら3つ
のパリティビットに影響を及ぼす値を持つ1つのデータ
ビットがあシ、またはデータビットがない (2)任意の4つのチエツクビットに対して、それら4
つのチエツクビットに影響を及ぼす値を有するデータビ
ットがない (3)任意のデータビットに対して、値がそれの値によ
り影響されるような正確に3つのチエツクビットがおる
本発明は、上記規則に従ってパリティビットをチエツク
ビットにどのようにして組合わせるかを選択し、かつビ
ットを物i的装置(−RAM)内゛に上記規則に適合す
るやυ方でマツプ□するための方法を開示するものであ
る。一般に、チエツクビットは、1組の組合わされてい
るデータビット排他的オア(XOR)または排他的ノブ
(xNOR)をとることによ多発生さhる。XORとX
NORは、同じチエツクビットチップに格納されている
チエツクビットに対して交替させられる。
RAMからビットが戻されると、誤りがあるかどうかを
判定するためにそれらのビラトラ調べなければならない
。誤りがあると、その誤りを修正できるかどうかを判定
せねばならない。誤9を修正できるかどうかを判定する
ために、RAMにより戻された情報からの各チエツクビ
ットに対してシンドロームビットが発生される。チエツ
クビットがそれの関連するデータビットのXORにより
発生されたとすると、チエツクビットとそれの関連する
データビットのXORをとることによりシンドロームビ
ットが発生される。関連するデータビットのXNORか
らチエツクビットが発生されたトスると、チエツクビッ
トおよびそれの関連するデータビットのXNORをとる
ことによりシンドロームビットが発生される。したがっ
て、誤りがない時はシンドロームビットはOである。デ
ータ語およびそれのチエツクビットから発生された全て
のシンドロームビットが0であるとすると、データ中に
は誤りは存在しない。1であるシンドロームビットが正
確に1つ存在するものとすると、チエツクビットには1
ビツトの誤pがあったのであるから、データを変更せず
に使用できる。3つのシンドロームビットが1で、それ
ら3つのチエツクビットに組合わされているデータビッ
トのセットが1データビツトに正確に交差下るものとす
ると、修正可能なデータの誤9が存在したことになる。
そうするとデータはその交差されたデータビットを反転
することにより修正される。1に等しいシンドロームビ
ットの他の任意の組合わせは修正できない誤りである。
回路上のデータを組織化し、データビットの群化を決定
し、かつWAりを検出する一般的な方法として次の過程
を利用できる。たとえば、基準装置が64ビツト装置で
あると仮定する。第1の過程はデータビットを二次元プ
レイに配置することである。そのアレイ中の行の数は下
記の式によりデータ幅から決定される。
x=Iog2(データ幅) y −(x/2 )最も近い整数まで丸められた行の数
=2 列の数=2(x−y) または、とくに、 x=IOg264=6 y = (6/2)=3 行の数−28=8 (6−a)  s 列の数=2   −2=8 次に、データビットを第14A図のMXNアレイ201
に配列できる。ここに、Mは行の数、Nは列の数である
。プレイ中の各位置は1つのデータピッ)1−表し、デ
ータビットは任意の順序で組織化できる。説明のために
、データビットの番号1をプレイの右下隅置き、そこか
ら上方へ連続して進み、1番上に達したら左どなシの1
番下へ降υる、というようにしてデータビット64がア
レイ201の上左隅にくるようにする。
対角線202と203のよ?な、アレイを通る平行な対
角線を引くことによりデータビットが群にまとめられる
。各対角線はNビットを有する。第1の対角線202は
((X(1)、Y(1))、(X(2)、Y(2))。
、 、 、 (X、(N) 、YrN)月として定義さ
れる。第2の対角線203は((Xrl)、、Y(2)
)、(X(2)、Y[3))。
、、、(xCN)、yCN+x)))として定義される
。対角線を群にまとめる時は、対角線がプレイを循環す
るように、j>Mであるような(X(+)、Y(j))
に達すると、ビット(X(i)、Y(j−M))カモ群
中の次のビットとして用いられる。一般に、対角線は(
(X(1)、Y(Q))、(X(2)、Y(Q+1))
、、、、  (X(N) 、Y(Q十N)月として定義
される。ここに、Qは対角線の数である。A(1)、A
、(2:)2.、、A(M)と呼ぶことができるいま定
義したM個の対角線群がある。
第1の対角線ビットセットに垂直々第2の対角線ビット
セットが形成される。第2のセットの第1の対角線20
4は((X(N)、Y(1))、(X(N−1)。
Y(2))、、、、(X(1)、Y(N)月として定義
される。
第2の対角線205は((X(N)、Y(2))、(X
(N−11゜Y(3))、、、、(X(1)、Y(N+
1)))として定義される。対角線がプレイを循環する
ように、j>Mであるような(X[i)、Y(j))に
達すると、(X口)。
Y(j−M))が群中の次のビットとして用いられる。
一般に、対角線は((X(IN、Y(Q))、、 (X
(N−1)。
Y(Q+1))、、、、 (X(1)、Y(Q+N)月
として定義される。ここに、Qは対角線の数である。第
2の対角線群セットはB(1)、B(2)、、、、B(
M)と呼ぶことができる。
各データビットが正確に2つの群により交差さ −せら
れるように、いま定義したNビットの2XMセットがあ
る。
それから、パリティビットを発生するために対角線群が
評価される。各パリティビットはデータビットをカバー
する(語幅/RAM幅)。上の例では、個々のRAMが
情報の4ビツトを格納し、語幅が64ビツトであると仮
定している。したがって、各パリティビットは64/4
データビツトすなわち16ビツトをカバーナ・る。各パ
リティビットは対角線群をカバーする(語幅/(RAM
幅x N )、すなわち、上の例では(64/(4X8
))=64/32 =2群である。
一般に、各パリティビットが1本の対角線をカバーする
ものとすると、個々の対角線A(1]、A(2)、、、
、A(M)とB(1)、B(2)、、、、B’(N)は
パリティビットの発生に用いられる。各パリティビット
が例のように2本の対角線をカバーするものとすると、
C(i)=A(1)とB口〕の組合わせであるように対
角線が群にまとめられる。各パリティビットが4つの対
角線群をカバーするものとすると、上記のように群C(
’i)がA(f)とB(1)の組合わせとしてまず発生
される。i−1〜Nに対して群D(i)がA(N+i)
とB(N+i)の組合わせとして発生される。それから
パリティビットは群K(+)に組合わされる。その群2
口〕は、i=1〜Nに対して群C(i)とD(i)の組
合わせとして発生される。
RAM幅=Rの装置に対しては、Rだけ多いパリティビ
ットを発生するためのデータビットの群化を定義せねば
ならない。これは下記の手続きを利用することによ9行
われる。第1に、データビットのアレイ中の列が、 c(i〕−((X〔1〕、Y(1,、M))、(X(2
)、Y(1゜、M))、、、、(X(N/2)、Yl:
1.、M)))G(2)−((X((’N/2)+1)
、YCl、、M))、(X((N/2N/2+2))、
Y(1,、M))、−、、(X〔(N/2)+(N/2
))、Y(1,、M:l)) であるように2つの群G〔1〕とG〔2〕に分けられる
H[1)’−((X(1,、N) 、Y(1’) )、
 (X(1,、N) 、Y(1))。
、、、(X(1,、N)、Y(2XIXM/R)))お
よび一般的には、i=2〜R/2に対して、H口)=(
(X(1,、N) 、Y(((+−1)X(2xM/R
))+1))、 (X(1、’ 、N) 、Y(((+
−1)x(2xM/R))+2) )。
、=(X(1,、N)、Y(((1−1)X(2xM/
R))+(2xMl/R) ) ) ) ) であるように行はR/2群H〔1〕に分けられる。ここ
に、R=RAM幅である。残りのパリティビットを計算
するためのデータビットは、 F[j)=i=1〜R/2に対するG〔1〕とH口〕の
交差F(i+(R/2))=1〜R/2に対するG〔2
〕とH(+)の交差であるようにG(1) 、G(2)
 、H(i)の交差により形成される。
パリティビットを発生するためにR群のデータビットが
発生される。
次の過程はどのビットがどの物理的装置□に格納される
かを決定することである。データビットとパリティビッ
トは別々の装置に格納される。各装置はRビットを格納
する。第1のチエツクビットチップがF(1,、R)に
より発生されたチエツクビットを格納する。W=1であ
るとすると、第2のチップはデータビットA(1,、R
)により発生されたチエツクビットによυ充され、第3
のチップはビットB(1,、R)により発生されたチエ
ツクビットで充される。w=2であるとすると、第2の
チエツクビットチップはチエツクビットCC1,3,5
、、(2xR−1))により発生されたチエツクビット
により充され、第3のチップはC’(2,4,6,、(
2×R)〕に上シ発生されたチエツクビットで充される
。W=4であるとすると、第2のチエツクビットチップ
はE(1,3,5’、、(2XR−1))により発生さ
れたチエツクビットにより充され、第3のチップ 。
はE(’2,4,6..(2XR))により発生された
チエツクビットで充される。
データビットA(1,、R]の対角線群はチップ上のデ
ータビットの構成を格納することを決定するために用い
られる。各対角線群はRデータビットまたはある整数倍
ZXRデータビットを有する。
データビットAr1.、R)からの各データビットは2
データビツトの上に格納される。与えられた任意の対角
線群からのデータビットはデータチップの上に任意の順
序で格納できる。
第4図は本発明の好適な実施例の主な4つの部品を示す
。本発明はデータをRAM61 に格納する。
それらのRAMの配列については第6図を参照して詳し
く説明する。それらのRAMに格納すべきデータは線6
6へ入力され、好適な実施例においてはそのデータは3
2ビツト幅である。データの32ビツトはパリティ発生
器60へ入力される。
パリティ発生器の回路については第5A図゛と、第5B
図および第10図を参照して詳゛シ<説明する。パリテ
ィ発生器60からの出力は、後で述べる関数に従って発
生され′fC12パリティビットである。
下記の関数式においては、BPnはパイトノ(リテイの
値を示す。ここに、nはパリティ発生器60からの12
ピツト出力を表すO〜11である。この明細書で用いる
XORは排他的オア機能を表す。
BPO=31 X)R30XCR29XDR28XDR
27XDR26XCR25XOR24BPI−NOT(
23XDR22XDR21XOR20XOR19XCE
 18 XQR17XOR16)BF2−15 ′xX
t14 XOR13X)R12XDR11XDR10X
OR9XDR8BP3=NOT(7XDR6XOR5X
OR4XOR3XOR2庇1庇0)BP4=31 X[
I’L 23XQR15XOR7XDR24XOR17
℃R10XOR3BP5−NOT(30XOR22XO
R14庇6爲27庇16鳶9 X(R2)BF2−29
 XDR21XOR13XDR5XDR26XDR19
XDR8XORIBP7=NOT(28鷺20庇12℃
し口125℃R18XOR11庇0)BP8=27 X
DR19XOR11Mllt 3罵31 X(累加庇1
3X爪6BP9=NOT(26庇18罵10庇2庇30
庇23 X)R12庇5)BP10=25XOR17X
DR9XORI XDR29瓜22X)R15X)R4
+j11昂ノfi庵兜Cn礒、L医ルイあ今1つパ11
÷イビットと32データビツトはメモリ61へ入力され
る。メモリ61からのデータの読出しはメモリからの4
4ビツトの読出しと、44ビツトの第2のパリティ発生
器62への入力とを含む。パリティ発生器2に含まれて
いる回路については第7B図と第11図を参照して詳し
く説明する。パリティ発生器62は下記関数に従ってパ
リティビットを発生する。この明細書ではそれらの・き
りティビットをシンドロームビットと呼び、下記の関数
式ハS YN D nで各シンドロームビットを識別す
る。
霞 ゛−−− 12シンドロームビツトは誤り検出ブロック64へ入力
される。この誤り検出ブロック64の回路については第
8A図と、第8B図および第12図を参照して詳しく説
明する。この誤り検出ブロック64は誤りが生じている
かどうか、およびその誤りを本発明に、l:9修疋でき
るかどうかについて検出する。この実施例においては、
誤ジが存在するかどうかを判定するための関数は、 誤9存在= (SYNDOOR5YNDI OR5YN
D20R8YND30R5YND40R5YND50R
5YND60R5ThTD70R5YND80R5YN
D90R,5YNDIOOR5YNDII)である。い
いかえると、シンドロームビットのいずれかが1であれ
ば誤りが存在すると仮定される。
誤υを修正できるか否かを判定するために下記の関数が
用いられる。第1に、関数FONE(a、 b。
c、 、 、 、n)の正確に1つが真(論理1)であ
る時だけその関数FONE(a、b、c、、、、n)が
真であるように関数FONEを定める。そうすると、修
正可能な誤りは下記の通りである。
(FONE(SYNDO5YNDI 5YND25YN
D3) ANDFONE(SYND45YND55YN
D6 S輸7)訳DFINE(S責の8S晋D9S闇1
0.S藺11すOR (NOT(SYNDOOR5YNDI OR5YND2
0R5YND3)ANDNOT(SYND40R5YN
D50R5YND60R5YND7)ANDF’0NE
(SYND85YND95YNDIO5YNDII))
OR (NoT(SYNDOOR5YNDI OR5YND2
0R5YND3)ANDNoT(SYND80R5YN
D90R5YNDIOOR5YNDII)ANDFO匪
(SYND45YND55YND65YND7))OR (NOT(SYND40R5YND50R5YND60
R5YND7)ANDNOT(SYND80R5YND
90R5YNDIOOR5YNDII)ANDF’0N
E(SYNDO5ThlDI 5YND25YND3)
)本質的には、4つの条件のうちの1つが生じた時に誤
9は修正できる。第1に、3つのシンドロームビット群
の各群における1つの、かっただ1つのシンドロームビ
ットが真であると誤り’&修正でeる。第2に、第1の
シンドロームビット群中の全てのシンドロームビットと
、第2のシン、ドロームビット群中の全てのシンドロー
ムビットカOで、第3のシンドロームビット群中の1つ
のシンドロームビットが1の時に誤りを修正できる。第
3に、 第1のシンドロームビット群および第3のシン
ドロームビット群中の全てのシンドロームビットがOで
、第2のシンドロームビット群中の1つのシンドローム
ビットが1の時に修正可能な誤りが生ずる。第4に、第
2のシンドロームビット群中と゛第3のシンドロームビ
ット群中の全てのシンドロームピツトが0で、第1のシ
ンドロームビット群中1つのシンドロームビットが1で
ある時に誤りを修正できる。
修正可能な誤りが検出されると線69が低い状態にセッ
トされる。修正できない誤りが検出されると線γ0が低
い状態にセットされる。誤りがないと線69と70は高
い状態にセットされる。この回路は線69と70が同時
に低い状態になることは許さない。
ここで説明している実施例においては、回路63が修正
可能な誤りのために用いられる。回路63については第
9A図と、第9B図および第13図を参照して詳しく説
明する。回路63はパリティ発生器62から12のシン
ドロームビット出力を入力として受け、かつ32のデー
タビットを入力として受ける。1が生ずると回路63は
修正可能な誤りを修正し、データ値を出力する。誤りが
起らないと回路はデータ値を出力する。いずれの場合に
もデータ値は線68へ出力される。この実施例において
は回路63は下記の関数を加えることによジそれを行う
出力DA’i’An=Dn XNORINPUT DA
TAnここに、Dnは下記の関数に従って計算されるD
O=SYND3 AND 8YND7 AND 5YN
DIID1=SYND3 AND 5YND6 AND
 5YNDIOD4=SYND3 AND 5YND7
 AND 5YNDIOD5=SYND3 AND 5
YND6 AND 5YND9D6=SYND3 AN
D 5YND5 AND 5YND8        
□D7=SYND3 AND、5YND4 AND 5
YNDIID8=SYND2 AND 5YND6 a
 5YNDIID9=SYND2 AND 5YND5
 AND 5YNDIOD10=SYND2 AND 
8YND4 AND 5YND9DI 1=SYND2
 AND 5YND7 AND 5YND8D12=S
YND2 AND 5YND7 AND 5YND9D
13=SYND2 AND 5YND6 a 5YND
8DI4マ5YND2 AND 5YND5 AND 
5YNDIID15=8YND2 AND 5YND4
AND 8mD10D16=SYNDI AND 5Y
ND5 m:i’5YNDIID17=SYNDI A
ND 5YND4 AND 5YNDIOD18−8Y
NDI AND sym7AND 5YND9o19−
sYNoIAND 5YND6 AND 5YND8D
20=SYNDI AND SYI<D7ΔD SY?
中8D21=SYNDI AND 5YND6 AND
 5YND11622=sYNDI AND 5YND
5 AND 5YNDIO゛D23=SYNDI AN
o S晋D4ΔDS翫9D24=SYNDOAND 5
YND4 AND 5YNDIID25=SYNDOA
ND 5YND7 、AND 5QIOD26=SYN
DOAND 5YND6 AND 5YND9D277
SYNDOAND 5YND5 、AND 5YND8
D28=SYNDOAND 5YND7 AND、5Y
ND11D29=SYNDOAND S¥ND6 AN
D 5YNDIOD30=SYN[)OAND 5Th
Tp5 、AND SYN[)9Dnを発生するために
用いられる任意の1つのシンドロームビットが発生され
る全ての場合に、この式を適用するとINPUT DA
TAnが0UTPUT DATAnに等しくされる。D
nを発生するために用いられる全てのシンドロームビッ
トが1であると、関数はDATAn を反転して0UT
PUT DATAnを生ずる。
これが修正可能な誤りであると回路64が判定したと仮
定すると、この関数は誤りであった1ビットを反転した
であろう。
ここで説明している実施例は、第6図に示すように、メ
モリ回路中で組織化されているデータに依存する。各メ
モリ回路30〜40は1度に4ビツトを出力できる。メ
モリ回路43はデータビットを含み、メモリ回路44は
パリティチエツクビットを含む。本発明において情報お
よびメモリ回路を組織化するのに用いられる1つの規則
は、1つのメモリ回路がデータビットとパリティビット
を持つことができることである。この実施例においては
、回路30はデータビット0,8,16゜24を出力で
きる。回路31はデータビット1゜9.17.25等を
出力できる。回路38はチエツクビット0,1,2.3
’に出力できる。回路39はチエツクピッ)4,5,6
.7を出力できる。
回路4゛0はチエツクビット8,9,10.11を出力
できる。この実施例においてメモリチップ上にデータビ
ットとチエツクビットをどのようにして配列するかにつ
いての情報が下記の表に示されている。
チップ     データビット 0      0.8,16.24 1      1.9,17.25 2      2.10,18.26 3      3.1.1,19.27    ・4 
     4.12,20.28 5      5.13,21.29 6      6.44,22.30 7      7.15,23.31 チツプ     チエツクビット   8      0.1,2.3 9      4.5,6.7 10      8 ; 9 、10.11第10図は
第4図のパリティ発生器6′0により用いられる回路を
示す。各回路100〜111は、第4図を参照して説明
したバイiパリ嬰イiントBPO〜BPII を計算す
るための関数に一致する。
回m1ooと101については第5A図と第5B図をそ
れぞれ参照して詳しく説明する。回路102〜111は
回路100 、101に類似のパターンに追従する′こ
とが当業者□には明らかであろう。ここで説明誇いる実
施例は排他的オアゲート’t−利用するが、′−のゲー
トを用いて同じ機能を実現することが可能である。排他
的オアゲートを使用することは、その排他的オアゲート
への入力と結果としての出力ビットで構成されている語
のハ゛リティを偶数にするパリティピラトラ発生するた
めに設計される。
この回路の代9に他の回路を使用できる。更に、奇数パ
リティを用いる技術を本発明の要旨を逸脱することなし
に開発できることがわかる。この実施例においては、試
験のために信号BAD/Iが利用され、通常は低い信号
へ結合される。
第5A図は、バイトパリティビット(BPO) ’i発
生するための機能を実現するために本発明のこの実施例
により用いられる回路を示す。この回路および明細書で
示されている全ての回路においては、排他的オアゲート
は下記の真理値表に従う。
排他的オアゲート76は入力として、線81上のデータ
ビット28と、線82上のデータビット29と、線80
a上の第3のビットとを用いる。この第3のビットは回
路の試験中に誤ったパリティピラトラ発生するために用
いられる。排他的オアゲート77は入力として、線83
上のデータビット31と、線84上のデータビット26
と、線85上のビット27とを用いる。排他的オアゲー
ト78は入力として、線86上のデータビット30と、
線87上のデータビット27と、線88上のデータビッ
ト25を用いる。排他的オアゲート76゜77.78の
出力は排他的オアゲート79への入力として用いられる
。排他的オアゲート79の出力は線97へ出力され、B
POに一致する。
第5B図はBPIを発生するためにこの実施例で用いら
れる回路を示す。排他的オアゲート11は入力として線
80b上の、回路の試験のために誤りパリテイを発生す
るために用いることができるビットと、線89上のデー
タビット23と、a90上のデータビット18とを受け
る。排他的オアゲート72は入力として、線91上のデ
ータビット21と、線92上のデータビット22と、線
93上のビット17とを受ける。排他的オアゲートT3
は入力として、線94上のデルタビン)20と、線95
上のデータビット19と、線96上のデータビット16
を用いる。排他的オアゲート71゜72.73の出力は
排他的オアゲート74への入力として用いられる。排他
的オアゲート74の出力は反転されて線98へ出力され
、BPlに一致する。
第11図はメモリからデータが読出される時にシンドロ
ームビットを発生するために用いられる回路を示す。第
11図の回路は第4図のブロック62に一致する。第1
1図において、回路120〜131はシンドロームビッ
ト5YNDO−8YNDI 1 をそれぞれ発生するた
めに用いられる。回路120と121については第7A
図と第7B図をそれぞれ参照して詳しく説明する。残シ
の回路122〜131の動作は回路120と121につ
いての説明から明らかであろう。
第7A図は、第4図を参照して説明した式に従ってシン
ドロームビットOを発生するために用いられる回路を示
す。この回路は4つの排他的オアゲートで構成される。
排他的オアゲート141は入力として線132上のBP
Qと、線133上のデータビット28と、線134上の
データビット29とを受ける。排他的オアゲート142
は入力として、線135上のデータビット31と、線1
36上のデータビット26と、線137上のデータビッ
ト27とを受ける。排他的オアゲート143は入力とし
て、線138上のデータビット30と、線139上のデ
ータビット24と、線140上のデータビット25を用
いる。排他的オアゲー) 141 、142 、143
の出力は排他的オアゲート144への入力として用いら
れる。排他的オアゲート144の出力は線145へ出力
されるシンドロームビットOである。
第7B図は、第4図を参照して説明した式に従ってシン
ドロームビット1を発生するために用いられる回路を示
す。この回路も4つの排他的オアゲートで構成される。
排他的オアゲート155は入力として線146上のBP
Iと、線147上のデータビット23と、線148上の
データビット13とを受ける。排他的オアゲート156
は入力として、線149上のデータビット21と、線1
50上のデータビット22と、線151上のデータビッ
ト17とを受ける。排他的オアゲート157は入力とし
て、線152上のデータビット20と、a153上のデ
ータビット19と、線154上のデータビット16を用
いる。排他的オアゲート155 、156 、157の
出力は排他的オアゲート158への入力として用いられ
る。排他的オアゲート158の出力は線159へ出力さ
れるシンドロームビット1である。
第12図は、誤りが生じたか、およびその誤りが修正可
能な誤りか、修正不可能な誤りかを判定するためにこの
実施例で用いられる回路を示す。
この回路は第4図を参照して先に説明したブロック64
であって、修正可能な誤りが生じたかどうかを判定する
機能を実現するために用いられる。
この回路は2つの別々の論理装置と見ることができる。
破線で囲まれている部分160内の回路は、第4図を参
照して説明したFONF関数とノット(SYNDn O
R5YNDn+10R5YND+20R5YNDn+3
)関数を発生するために用いられる。ブロック161は
正当々4つの修正可能な誤り状態の試験を行うために用
いられる回路である。
第8図は第12図のブロック160内の回路を更に示す
。シンドロームビット0,112,3が線168 、1
69 、170 、171をそれぞれ介して回路162
へ供給される。回路162は値AONEを線172に出
力する。AONFの値は、線168〜171のただ1つ
だけが真(論理1)の値を持つ時に真(論理1)であり
、他の場合には偽(論理0)である。シンドロームビッ
ト0〜3は線168〜111ヲ介してノ7ケ−)165
へも供給される。このノアゲートの出力は反転されて値
AZEROとして線173へ出力される。回路163と
ノアゲート166はシンドロームビット4〜7に対して
同様に動作する。回路164とノアゲート167はシン
ドロームビット8〜11に対して同様に動作する。
第8B図は修正可能な誤りである4つの状態を検出する
ために用いられる回路を示す。また、この回路は誤りが
生じ々いかどうかも示す。全てのシンドロームビットが
0の時にナントゲート174は出力0を生ずる。これは
誤りがないことを示す。
どのシンドロームビットも1であればナントゲート17
4の出力は1であって誤りが生じたことを示す。誤りが
生じない時は、ナントゲート174の出力(0)がナン
トゲート180 、11Nへの入力として用いられる。
そうするとそれらのナントゲート180.181の出力
が1にされて、誤りが生じなかったことを示す。
誤りが生じ、したがってナントゲート174からの出力
が1であると、ナントゲート180と181の出力がナ
ントゲート175〜178への4つの入力により影響を
受ける。各ナントゲート175〜178は、第4図を参
照して先に説明した修正可能な誤り状態に一致する。た
とえば、シンドロームビット5YNDO、5YNDI 
、 5YND2 、5YND3の1つ、かっただ1つが
1で、シンドロームビット5YND4 、5YND5 
5YND6 、5YND7の1つ、かっただ1つが1で
あり、更VC’/7 )”0−ムヒッ) 5YND8,
5YND9,5YNDIO。
5YNDIIの1つ、かっただ1つが1である時にナン
トゲート175の出力はOである。ナントゲート175
〜178の出力は反転されてノアゲート179への入力
として用いられる。したがって、ナンドゲ−ト175の
出力がOであるとその出力は1へ反転され、オアゲート
179の出力を1にする。この値は反転されてナントゲ
ート181への入力として用いられる。ナントゲート1
74の出力が1で誤りが生じたことを示すと仮定すると
、ナントゲート181の出力は1である。オアゲー) 
179の出力はナントゲート180への入力としても用
いられる。
オアゲート179の出力が1で、ナントゲート174の
出力が1であるとすると、ナントゲート180の出力は
0である。線69上の0は修正可能な誤り状態が生じた
ことを示す。残りのナントゲート176〜178は他の
3つの修正可能な誤り状態を実現することが当業者には
明らかであろう。それらのナントゲート176〜178
のいずれかからの出力が0であるとすると、線70へ出
力される結果としての出力はOであって、ナントゲート
175の出力について説明した解析と同じ解析に従う。
”修正可能で橙い餡シ状−が生じたとすると、ナンドケ
ート175〜178の出力は全て1である。それらの出
力は反転されてオアゲート179への入力とじ七″用い
られるから、オアゲート179の出力は1である。この
場合には、誤りが生じて、ナントゲート174からの出
力が1であると仮定すると、−70へ供給されるナント
ゲート1a’og出カは0であって、修正可能な誤りが
生じたことを示す。
要約すれば、線69と70がともに高い状態(論理1を
示す)であれば誤りは生じていない。
線70が低い状態で(論理0)であると修正可能でない
誤りが生じたことを示す。線69が低い状態にあること
は修正可能々誤りが生じたことを示す。最後に、線69
と70がともに同時に低くなることは可能でない。
第13図は、第4図を参照して先に述べたようにDo−
D31  を計算する機能を実現するためにこの実施例
で用いられる回路を示す。破−プaンク説明子る。第9
A図を参照して行う説明から、第13図に示されている
残りの回路の動作d二尚業者には明らかであろう。
数Doを計算するために用いられる回路をボデ。□関数
Doは、ナントゲート189への入力としそ線186ヲ
介して供給されるシンド・−・ピッ13と、線187を
介して供給されるシンドロームビット7と、線188を
介して供給されるシンドロームビット11とを用いて計
算される。その入力として用いられる各シンドロームビ
ットが1であれば線190−へ出力されるそのナントゲ
ート189の出力DOはOである。他の全ての場合には
ナンドゲ−1・189の出力は1である。第8A図と、
第8B図と、第12図とを参照して説明したように修正
可能な0が反転されることを示す。これは第9B図に示
されている回路により修正不可能とされ暮。
第9B図に示されている回路は排他的メアゲート193
を示す。この排他的オアゲートへはメモリから線191
を介してデータ入力が供給されるとともに、第13図に
示されている回路の処理結果が線192を介己て供給さ
れる。排他的オアゲート193から線194へ供給され
る出力は、修正可能な誤りの場合、またはメモij中に
誤りが生じガい場合には修正データである。たとえば、
線191上あビットOに対してメモリからの入力がOで
あって、線192′Jk介して排他的オアゲート193
へ入力される線192上の入力である第9八−に示され
ているナントゲート189からの出力がOであるとする
と、排他的オアゲートの出力は反転されて、ビットOに
対する線194上の出力は1である。一般に、第13図
に示されているナントゲートのいずれかからのOである
出力は対応する人力ビットを反転させ、第13図に示さ
れているナントゲートアいずれかからの1+ある出力は
メモリからのデータ入力を同じ状態に維持させる。iの
回路は第4図に開示されているデータを修正すふための
式を効果的に実現する。
【図面の簡単な説明】
第1図は2逆打号中の誤りを検出するためにパリティピ
ッl−を用いる従来の方法を示し、第2図はセ進符号中
の誤りを検出するためにへミング符号を用いる従来の方
法を示し、第3A図は2逆打号化された語のブロック中
の誤りを扁出および修正するためにプロダクト符号を用
いる従来の方法を示ナブロック図、第3B図は2逆打号
化された語のブロック中の誤りを検出および修正するた
めにプロダクト符号を用いる例を示し、第4図は本発明
により用いられる回路を示すブロック図、第5A図はデ
ータがメモリへ入力される時に本発明により利用される
パリティビットを発生するために用いられるパリティ発
生回路を示す回路図、第5B図はデータがメモリへ入力
される時に本発明により利用されるパリティピラトラ発
生するために用いられる回路を示す回路図、第6図は本
発明により用いられるメモ′り回FN5を示すブロック
図、第7A図はメ′モリから語が読出される時にパリテ
ィビットを一発生するために本発明により利用される回
路を示す回路図、第7B図はメモリから語が読出される
時にパリティピラトラ発生するために本発明によジ利用
される回路を示す回路図、第8A図は誤りを修正できる
かどうかを判定するために本発明により利用される回路
を示す回路図、第8B図は誤りを修正できるかどうかを
判定するために本発明により利用される回路を示す回路
図、第9A図はメモリから読出されたビットが誤ってい
るかどうかを判定するために本発明によυ利用される回
路の回路図、第9B図はメモリから読出されたビット中
の誤!llを修正するために本発明により利用される回
路の回路図、第10図はデータがメモリへ入力される時
にパリティピラトラ発生するために本発明により用いら
れるパリティビット発生回路の回路図、第11図はデー
タがメモリから読出される時にパリティビラトラ発生す
るために本発明により用いられるパリティビット発生回
路の回路図、第12図はメモリから読出されたデータの
語中の誤りを修正するために本発明により利用される回
路の回路図、第13図はメモリから読出されたデータの
語中のビットを修正するために本発明により利用される
回路の回路図、第14A図と第14B図は本発明により
利用される、データビットを群にまとめる方法を示すビ
ットマトリックスである。 30〜40・・・・メモリ回路、60.62・・・・パ
リティ発生器、61・・・・メモリ、64・・・・誤p
検出器、71〜74・・・・排他的ノアゲート、76〜
79,120〜131 ・・・・シンドロームビット発
生器、141〜144 、155〜158・・・・排他
的オアゲート、165〜167・・・・ノアゲート、1
74〜181・・・・ナントゲート。 特許出願人  アーデント・コンピュータ・   、コ
ーポレーション

Claims (4)

    【特許請求の範囲】
  1. (1)複数の情報符号要素を受ける過程と、前記情報符
    号要素を群化する過程と、 前記情報符号要素群を基にして第1の複数のパリテイ符
    号を発生する過程と、 前記情報符号と前記パリテイ符号を複数の回路に格納す
    る過程と、 前記回路から前記情報符号要素と前記パリテイ符号要素
    を受ける過程と、 前記情報符号要素および前記パリテイ符号要素を基にし
    て第2の複数のパリテイ符号を発生する過程と、 前記情報符号要素が前記回路により受けられてから前記
    情報符号要素の1つが状態を変化したかどうかを、前記
    第2の複数のパリテイ符号要素を基にして判定する過程
    と、 を備え、前記情報符号要素は前記パリテイ符号要素が格
    納される回路とは異なる回路に格納され、前記状態の変
    化は前記2進符号化された情報を示し、それにより前記
    2進符号化された情報が検出されることを特徴とする2
    進符号化された情報中の誤りを検出する方法。
  2. (2)情報語中の全ての1ビット誤りを検出および修正
    し、かつ1つの回路から受けた任意の数のビットの2ビ
    ット誤りの全てを検出し、かつ反転を検出する、2進符
    号化され情報中の誤りを検出および修正する方法におい
    て、 情報語を構成する複数の2進符号を受ける過程と、 前記複数の2進符号を群化する過程と、 各前記2進符号群に対してパリテイ符号を発生する過程
    と、 前記回路から前記情報符号要素と前記パリテイ符号要素
    を受ける過程と、 前記情報符号および前記パリテイ符号を基にして、前記
    2進符号群とパリテイ符号のためのパリテイ値を表すシ
    ンドローム符号を発生する過程と、前記シンドローム符
    号を複数の群にまとめる過程と、 a)各前記シンドローム符号群の1つにおける前記シン
    ドローム符号の1つが、修正可能な誤りが生じたことを
    示す、第1の所定の状態にあるか、 b)第1の前記シンドローム符号群の1つが第1の所定
    の状態および前記シンドローム符号の各残りが、修正可
    能な誤りが生じたことを示す、第2の所定の状態にある
    か、 を判定する過程と、 c)1つまたは複数の前記シンドローム符号が前記第1
    の所定の状態にあるか、 d)修正可能な誤りが生じたか、 を判定する過程と、 を備え、任意の3つの前記パリテイ符号に対して前記1
    つの2進符号が存在し、または各前記3つのパリテイ符
    号に影響を及ぼす前記2進符号が存在しないように、前
    記複数の2進符号が群にまとめられ、 任意の4つの前記パリテイ符号に対して、前記2進符号
    のいずれも各前記4つのパリテイ符号に影響を及ぼさな
    いように、前記複数の2進符号は群にまとめられ、 前記2進符号の任意の1つが3つの前記パリテイ符号の
    値に影響を及ぼすように、前記複数の2進符号は更に群
    にまとめられ、 前記複数の2進符号と前記複数のパリテイ符号は複数の
    回路に格納され、 前記複数の2進符号は前記パリテイ符号とは別の回路に
    格納され、 前記2進符号の任意の1つが3つをこえない前記パリテ
    イ符号要素に影響を及ぼさないように、前記複数の2進
    符号は前記回路上で更に群にまとめられ、 前記シンドローム符号の1つは各2進符号群ごとに発生
    され、前記シンドローム符号は前記2進符号群およびパ
    リテイ符号に対するパリテイ値を表し、 条件(c)が起きて、条件(d)が起きなかつたとする
    と、修正できない誤りが生じたことになり、それにより
    、2進符号化された情報中の誤りを検出することを特徴
    とする2進符号化された情報中の誤りを検出および修正
    する方法。
  3. (3)情報語中の任意の1ビット誤りを検出および修正
    でき、かつ2ビット誤りを検出でき、更に単一のメモリ
    回路の故障を検出でき、2進符号化された情報を格納す
    る回路において、 前記情報語を前記回路へ入力する入力手段へ結合され、
    第1の複数のパリテイ符号を発生する第1のパリテイ発
    生手段と、 所定数の情報ビットを受け、かつそれらの情報ビットを
    供給するメモリ回路を複数個含み、前記第1のパリテイ
    発生手段と前記入力手段へ結合されて、前記2進符号化
    された情報と前記第1の複数のパリテイ符号を格納する
    メモリ手段と、前記メモリ手段へ結合され、前記メモリ
    手段から情報ビットを受けて、第2の複数のパリテイ符
    号を発生する第2のパリテイ発生手段と、 この第2のパリテイ発生手段へ結合されて、前記2進符
    号化された情報中に、または前記第1の複数のパリテイ
    符号中に誤りが生じたかを検出する誤り検出手段と、 前記第2のパリテイ発生手段と前記メモリ手段へ結合さ
    れ、修正された2進符号化された情報を前記回路から出
    力する修正手段と、 を備えることを特徴とする2進符号化された情報を格納
    する回路。
  4. (4)複数の情報符号要素を受ける過程と、前記情報符
    号要素を群にまとめる過程と、 前記情報符号要素群を基にして第1のパリテイ符号セッ
    トを発生する過程と、 を備え、各前記情報符号要素は少くとも3つの前記パリ
    テイ符号要素に組合わされ、それにより、前記2進符号
    化された情報中の誤りを検出して、前記情報符号要素お
    よび前記第1のパリテイ符号要素セットを基にして修正
    されることを特徴とする2進符号化された情報中の誤り
    を検出および修正する方法。
JP1050962A 1988-03-02 1989-03-02 2進符号化された情報中の誤りを検出する方法および2進符号化された情報を格納する回路 Pending JPH01316041A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/163,616 US4958350A (en) 1988-03-02 1988-03-02 Error detecting/correction code and apparatus
US163616 1988-03-02

Publications (1)

Publication Number Publication Date
JPH01316041A true JPH01316041A (ja) 1989-12-20

Family

ID=22590802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1050962A Pending JPH01316041A (ja) 1988-03-02 1989-03-02 2進符号化された情報中の誤りを検出する方法および2進符号化された情報を格納する回路

Country Status (3)

Country Link
US (1) US4958350A (ja)
JP (1) JPH01316041A (ja)
GB (1) GB2216690B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557140B2 (en) 1992-12-28 2003-04-29 Hitachi, Ltd. Disk array system and its control method

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2832024B2 (ja) * 1989-03-18 1998-12-02 キヤノン株式会社 符号伝送方法
US5257271A (en) * 1989-07-29 1993-10-26 Sony Corporation Sample data transmission apparatus
US5157671A (en) * 1990-05-29 1992-10-20 Space Systems/Loral, Inc. Semi-systolic architecture for decoding error-correcting codes
US5251219A (en) * 1990-09-10 1993-10-05 Advanced Micro Devices, Inc. Error detection and correction circuit
EP0523969B1 (en) * 1991-07-18 1997-12-29 Canon Kabushiki Kaisha Error correction encoding and decoding system
US5513192A (en) * 1992-08-28 1996-04-30 Sun Microsystems, Inc. Fault tolerant disk drive system with error detection and correction
CA2100906C (en) * 1992-09-18 2000-05-02 Michael Wayne Andrews Method and apparatus for data parity in a transmission system
US5550849A (en) * 1993-05-20 1996-08-27 Ceram Incorporated Method and apparatus for detecting single or multiple bit errors instorage devices
JP3206358B2 (ja) * 1995-03-30 2001-09-10 松下電器産業株式会社 データ一時記憶装置
US5878061A (en) * 1996-03-14 1999-03-02 Intel Corporation Providing serial data clock signal transitions with parity bits
US5956351A (en) * 1997-04-07 1999-09-21 International Business Machines Corporation Dual error correction code
US6163870A (en) * 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
KR100287018B1 (ko) * 1998-08-07 2001-04-16 윤종용 에러 정정 회로를 구비한 반도체 메모리 장치
US6141789A (en) * 1998-09-24 2000-10-31 Sun Microsystems, Inc. Technique for detecting memory part failures and single, double, and triple bit errors
US6393597B1 (en) * 1999-06-01 2002-05-21 Sun Microsystems, Inc. Mechanism for decoding linearly-shifted codes to facilitate correction of bit errors due to component failures
US6473880B1 (en) 1999-06-01 2002-10-29 Sun Microsystems, Inc. System and method for protecting data and correcting bit errors due to component failures
US6453440B1 (en) 1999-08-04 2002-09-17 Sun Microsystems, Inc. System and method for detecting double-bit errors and for correcting errors due to component failures
US6519717B1 (en) 1999-10-06 2003-02-11 Sun Microsystems Inc. Mechanism to improve fault isolation and diagnosis in computers
US6728913B1 (en) 2000-02-25 2004-04-27 Advanced Micro Devices, Inc. Data recycling in memory
US8464093B1 (en) * 2004-09-03 2013-06-11 Extreme Networks, Inc. Memory array error correction
US7843927B1 (en) 2006-12-22 2010-11-30 Extreme Networks, Inc. Methods, systems, and computer program products for routing packets at a multi-mode layer 3 packet forwarding device
US8331373B2 (en) * 2010-03-15 2012-12-11 Extreme Networks, Inc. Methods, systems, and computer readable media for automatically selecting between internet protocol switching modes on a per-module basis in a packet forwarding device
US10312944B2 (en) * 2017-03-17 2019-06-04 Micron Technology, Inc. Error correction code (ECC) operations in memory for providing redundant error correction
KR20190031787A (ko) * 2017-09-18 2019-03-27 삼성전자주식회사 병렬 리드-모디파이-라이트 동작을 수행하는 메모리 장치
CN116244108B (zh) * 2023-01-09 2025-04-25 海光信息技术股份有限公司 存储器控制器和存储器的数据写入和读取方法及存储系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB202866A (en) * 1922-09-25 1923-08-30 William Pickard Improvements in charge moistening devices for internal combustion engines
US4205324A (en) * 1977-12-23 1980-05-27 International Business Machines Corporation Methods and means for simultaneously correcting several channels in error in a parallel multi channel data system using continuously modifiable syndromes and selective generation of internal channel pointers
NL7804674A (nl) * 1978-05-02 1979-11-06 Philips Nv Geheugen met detektie en korrektie van fouten.
US4334309A (en) * 1980-06-30 1982-06-08 International Business Machines Corporation Error correcting code system
JPS5812200A (ja) * 1981-07-13 1983-01-24 Fanuc Ltd メモリ検査方法
US4464747A (en) * 1982-02-18 1984-08-07 The Singer Company High reliability memory
US4450562A (en) * 1982-03-26 1984-05-22 Rca Corporation Two level parity error correction system
JP2533076B2 (ja) * 1983-04-30 1996-09-11 ソニー株式会社 エラ−訂正のための符号化方法
JPH0619721B2 (ja) * 1984-07-20 1994-03-16 パイオニア株式会社 符号誤り訂正方法
US4809278A (en) * 1986-04-21 1989-02-28 Unisys Corporation Specialized parity detection system for wide memory structure
US4785452A (en) * 1986-04-25 1988-11-15 International Business Machines Corporation Error detection using variable field parity checking
US4780809A (en) * 1986-08-08 1988-10-25 Amdahl Corporation Apparatus for storing data with deferred uncorrectable error reporting
US4775978A (en) * 1987-01-12 1988-10-04 Magnetic Peripherals Inc. Data error correction system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557140B2 (en) 1992-12-28 2003-04-29 Hitachi, Ltd. Disk array system and its control method
US7185265B2 (en) 1992-12-28 2007-02-27 Hitachi, Ltd. Disk array system and its control method

Also Published As

Publication number Publication date
GB2216690A (en) 1989-10-11
GB8903958D0 (en) 1989-04-05
US4958350A (en) 1990-09-18
GB2216690B (en) 1992-07-22

Similar Documents

Publication Publication Date Title
JPH01316041A (ja) 2進符号化された情報中の誤りを検出する方法および2進符号化された情報を格納する回路
US3755779A (en) Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection
US4345328A (en) ECC Check bit generation using through checking parity bits
US5251219A (en) Error detection and correction circuit
US5966389A (en) Flexible ECC/parity bit architecture
JP2617455B2 (ja) 符号化装置
EP0497110A1 (en) Error detecting method and apparatus for computer memory having multi-bit output memory circuits
US4456980A (en) Semiconductor memory device
JPS63115239A (ja) エラ−検査訂正回路
US4485471A (en) Method of memory reconfiguration for fault tolerant memory
EP0147336A2 (en) Error correcting and detecting system
US3893070A (en) Error correction and detection circuit with modular coding unit
JPS58177600A (ja) メモリ・システム
JPH0329200A (ja) メモリセルの並列検査方法及び装置
US5535227A (en) Digital information error correcting apparatus for single error correcting (SEC), double error detecting (DED), single byte error detecting (SBED), and odd numbered single byte error correcting (OSBEC)
KR870002594A (ko) 반도체 기억장치
US5491702A (en) Apparatus for detecting any single bit error, detecting any two bit error, and detecting any three or four bit error in a group of four bits for a 25- or 64-bit data word
US3218612A (en) Data transfer system
JP3011522B2 (ja) アレイのメモリ・セルの障害を検査する装置及び方法
US4414666A (en) Error checking and correcting apparatus
Lo Fault-tolerant content addressable memory
EP0097159B1 (en) Two bit per symbol sec/ded code
EP0152974B1 (en) Arrangement for checking the parity bit-containing bit groups
SU809396A1 (ru) Устройство дл контрол блокапОСТО ННОй пАМ Ти
JPS5878241A (ja) 符号化デ−タの誤り検出訂正方式