JPH0529935B2 - - Google Patents

Info

Publication number
JPH0529935B2
JPH0529935B2 JP1096569A JP9656989A JPH0529935B2 JP H0529935 B2 JPH0529935 B2 JP H0529935B2 JP 1096569 A JP1096569 A JP 1096569A JP 9656989 A JP9656989 A JP 9656989A JP H0529935 B2 JPH0529935 B2 JP H0529935B2
Authority
JP
Japan
Prior art keywords
error
package
syndrome
data word
bit
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.)
Expired - Lifetime
Application number
JP1096569A
Other languages
English (en)
Other versions
JPH01304543A (ja
Inventor
Debooru Pieeru
Gureesu Rune
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01304543A publication Critical patent/JPH01304543A/ja
Publication of JPH0529935B2 publication Critical patent/JPH0529935B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • 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/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Description

【発明の詳細な説明】
A 産業上の利用分野 本発明は一般的にはエラー訂正に関し、さらに
詳しくいえば、使用されているエラー訂正符号の
能力を超えるソフトエラーの訂正に関する。 B 従来技術及び問題点 コンピユータのメモリのサイズが増加する一方
で、個々のメモリセルが小さくなつてくると、メ
モリ中のデータにおいて容認できないビツトエラ
ー発生がもたらされる。プログラムの動作を停止
させたり、メモリチツプの交換を必要にするよう
な、たびたびのエラーはもはや許されない。 ソフトエラーは、外観上、記憶データをランダ
ムに反転したものである。このような反転は電気
的ノイズの不定期なバーストや、場合によつては
α線によつて引き起こされる。個々のセルのサイ
ズが小さくなつた結果、ノイズのレベルが相対的
に小さくなつてきたため、ソフトエラーの問題は
重大になつている。 これに対し、ハードエラーはメモリチツプの永
続的な電気的障害を表わすもので、メモリチツプ
の周辺回路に関連する。チツプ全体が影響を受け
るような特定のメモリロケーシヨンで生じること
もある。したがつてメモリチツプの設計者はメモ
リチツプのハードエラー及びソフトエラーの双方
を減少させようと努力してきた。しかしながら、
これらの両タイプのエラーは完全には除去されな
い。性能の低下又はコストの増加という対価の下
に一定のレベルを超える信頼性が得られるにすぎ
ない。 ハードエラー及びソフトエラーの双方について
の解決策として、エラー訂正符号(ECC)があ
る。エラーの検出及び訂正の原理はR.W.
Hammingの“Error detecting and error
correcting code”(Bell System Technical
Journal、第26巻第2号1950年、第147頁ないし第
160頁)と題する論文に説明されている。最も普
及しているハミングコードの1つでは、選択され
たハミングコードに基づいて8ビツトのデータワ
ードが13ビツトのワードにコード化される。この
コードはSEC/DEC(single error correct/
double error detect)として分類される。しか
しながら、SEC/DECのハミングコードは任意
のバイトに発生する単一のランダムエラー(ソフ
ト又はハードを問わない)しか訂正できないの
で、さらに精巧な訂正符号が開発されまた実現さ
れてきた。 特に、多重ビツトパツケージにおけるハードエ
ラーを取扱うためのより良好なプロシージヤが開
発されてきた。こうしたエラーはパツケージエラ
ーと呼ばれ、このパツケージエラーのために特別
に設計されたエラー訂正符号はパツケージ符号と
呼ばれる。このパツケージ符号は、複数のハード
エラーがそのデータワードの全体のフイールドに
わたつてランダムには発生しないという事実によ
る。すなわち、複数のハードエラーはパツケージ
の出力によつて定められるそのデータワードのサ
ブフイールドに限定される。同時に4つのデータ
ポートをアクセスできるように適合された1メガ
ビツトのメモリチツプである256kx4のメモリチ
ツプの場合、このような符号は32ビツト中で発生
する任意の4つのエラーを訂正することはできな
いが、8つの4ビツトサブフイードの任意の1つ
に発生する4ビツトエラーを訂正することができ
る。 それにもかかわらず、このような符号でさえ完
全には満足のいくものではい。この符号がSPC/
DPD(single package correct/double package
detect)符号であるときは、1つのパツケージだ
けに発生する任意のエラーを訂正し、かつ、2つ
のパツケージに発生するエラーを検出することが
できる。したがつて、1つのパツケージに或るハ
ード障害がある場合に、残りのパツケージに別の
エラー(ソフト又はハードは問わない)が発生す
ると、そのエラー条件を検出することはできる
が、そのエラーを訂正することはできない。この
ように、1つのハード障害の存在はSPC/DPD
符号によつて与えられる訂正の有効限界である。 米国特許第4661955号には、従来技術としてパ
ツケージ符号及びそのハードウエアの例が引用さ
れている。この特許明細書は1つのサブフイール
ド中の任意の個数のエラーを訂正し、かつ、2つ
のサブフイールド中の任意の個数のエラーを検出
できる符号に特に適用しうるデジタルエラー訂正
及び検出装置を開示している。エラー訂正符号に
よるデータについての初めのパスで訂正不能エラ
ーが示されたときは、そのデータは補数化されて
メモリに再記憶され、次に再読取りされる。検索
されたデータは再補数化され、再びエラー訂正符
号を通過する。もし訂正不能エラーが残つていれ
ば、もとの読取りデータと検索された補数化デー
タとの間でビツトごとの比較を行なつて、そのメ
モリからハード障害を分離する。ハード障害に関
連するサブフイールド中のビツトは次に順次に変
更されて、変更されたデータワードがエラー訂正
符号を通される。エラー訂正符号によつて、間違
つた組合せが検出される。ハード障害に関連する
サブフイールドはもとの記憶データと一致し、こ
の場合、エラー訂正符号は残りのサブフイールド
における残りのエラーを訂正することができる。
しかしながら、ハード障害に関連するサブフイー
ルドにおけるビツトの連続的な変更は時間のかか
る繰返しプロセスを必要とする。その上、このシ
ステムはもとの読取りデータと検索された補数化
データとの間のビツトごとの長期の比較プロセ
ス、大量の比較回路及び一定でない長さの訂正を
必要とするという欠点を有する。何故なら、その
ハード障害に関連するサブフイールドにおけるも
との記憶データは16個の異なる組合せのいずれか
になりうるからである。 したがつて本発明は上述のような問題を解決す
ることを目的としている。 C 問題点を解決するための手段 この目的を達成するため、複数のbビツトのパ
ツケージで編成されたn−r個のデータビツト及
びエラー訂正符号に基づくr個のエラー訂正符号
ビツトから成るnビツトのデータワードにおける
エラーを訂正するための本発明のエラー訂正装置
はメモリから読取られた第1のデータワードvに
ついてのシンドロームを記憶する手段と、反転書
込み及び反転読取りによつて上記第1のデータワ
ードから生成された第2のデータワードv′につい
てのシンドロームと上記第1のデータワードにつ
いてのシンドロームとを加算する手段と、上記加
算の結果から少なくとも1つのハードエラーを有
するパツケージの番号を判断する手段と、上記判
断に基づいてエラーの位置を特定してエラーを訂
正する手段とを有することを特徴としている。 以下、本発明の作用を実施例とともに説明す
る。 D 実施例 本発明による拡張されたエラー訂正装置は“反
転及び再試行手順”及びシンドロームの解析の双
方に基づいている。後者は、“パリテイチエツク
ベクトル”及び“コレクタ(corrector)”とも呼
ばれている。“反転及び再試行”は固定的障害が
記憶する電気的レベルに一致する状態で反転する
こと(ハードエラーのマスク)から成り、これに
より、そのワードがもとの極性で再記憶される前
にソフトエラーを訂正することができる。“反転
及び再試行手順”は本発明のエラー訂正装置に特
に使用される。本発明では、少なくとも1つのハ
ードエラーを有する第1のパツケージをみつけ
る。異なるシンドロームは第2のパツケージで発
生した単一のソフトエラーを最終的かつ直ちに判
断する。rxnのパリテイチエツクHマトリクスで
特徴付けられる下記のリードソロモン符号を考え
て、1パツケージ当り4ビツトの32ビツトデータ
ワードの場合(r=12,n=44)を例にとつて本
実施例を説明する。 Hマトリクスは次のようになる。 ・データ II I I I I I I IT T2 T3 T4 T5 T6 T7 IT2 T4 T6 T8 T10 T12 T14 ・E C C I O O O I O O O I 但し 0001 1000 0000 T=1001 I=0100 0=0000 0100 0010 0000 0010 0001 0000 である。 展開されたHマトリクスは次のようになる。
【表】
【表】 ベクトルv=(a1,a2,a3,…an)は関連する
シンドロームS(v)=vHT、すなわちr成分ベク
トルがゼロである場合にのみ、1つのコードワー
ドである。逆のケースでは、先のシンドロームは
ゼロではない。コードワードであるベクトルuが
送信されvが受信されるときは、vのシンドロー
ムは次の関係によつて計算される。行列演算の線
型特性によつてS(v)=S(u)+S(v+u)。さ
らに各々の2値エレメントanについての付加的
なテーブルが次のように与えられる。 + 0 1 0 0 1 1 1 0 S(u)=0だから、S(v)=S(v+u)とな
る。 したがつて、いかなるシンドローム(特に単一
パツケージエラーに対する全てのシンドローム)
もパターンエラーv−uから計算することができ
る。 単一パツケージエラーのシンドローム(1つの
パツケージ内で起こりうる15タイプのエラーx11
個のパツケージ=165)
【表】 単一パツケージエラー(以下、SPEと略記する
こともある)を特徴付けるこれらのシンドローム
は訂正すべきパツケージ及び或るパツケージ内の
エラービツトを明確に示すよう一意的であること
に留意されたい。たとえば、計算されたシンドロ
ームS(v)が16進の“7B8”(2進の“0111
1011 1000”)であるときは、上記のテーブルはエ
ラーパターンが次のものに等しいことを指示す
る。 v+u=0000 0000 0111 0000 0000 0000 0000
0000 0000 0000 0000 換言すれば、第3の4ビ
ツトパツケージの最後の3ビツトが反転され、こ
れらはものとデータワードuを再記憶するために
再反転すべきものである。 同様に1つのパツケージエラーが別のパツケー
ジ内の単一ビツトエラーと整列するときに得られ
る全てのシンドロームをリストすることができ
る。その結果はエラーを有する所定の1つのパツ
ケージにそれぞれ対応する11個のテーブルでリス
トしうる。 第1表(後出)は第1のパツケージでエラーが
発生しかつ別の1つのパツケージで単一ビツトエ
ラーが生じた場合に得られる全ての可能なシンド
ロームをリストするテーブルである。 第2表ないし第11表(後出)はそれぞれ第2な
いし第11のパツケージでエラーが発生しかつ別の
1つのパツケージで単一ビツトエラーが生じた場
合に得られる全ての可能なシンドロームをリスト
するテーブルである。各表の上欄の1ないしF
(16進)はパツケージ内のエラービツトを表わし、
各表の左欄の数字はパツケージ番号及び単一エラ
ーのロケーシヨンを表わす。第1表ないし第11表
のテーブルにリストされた2重パツケージエラー
(以下DPEと略記することもある)のシンドロー
ムは、それらが一意的でなくとも、前述のリスト
された単一パツケージエラーの全ての異なるシン
ドロームである。これは、直ちに訂正可能な単一
パツケージエラーとSPC/DPD符号によつては
訂正できない2重パツケージエラーとの間の相違
を許すものである。しかしながら、SPC/DPD
符号を実現するための先に定義した特有のHマト
リクスの使用は結果として付加的な利点をもたら
す。すなわち、第1表ないし第11表のいずれのテ
ーブル内においても2重パツケージエラーは一意
的であるという利点である。したがつて、多数の
エラーを有するパツケージすなわち第1表ないし
第11表の参照番号がわかれば、他のパツケージで
生じる単一エラーをみつけることができる。たと
えば、データワード中にパツケージn1に影響す
る多数のエラーを伴う2重パツケージエラーが発
生したと仮定し、そのシンドロームを計算した結
果、その値が“F64”になつて第1表のテーブル
の読取りにより、パツケージ1内のエラービツト
の16進表示が“7”(2進“0111”)であることが
示され、さらに単一エラーがビツト13に影響を与
えたものと仮定する。そうすると、パターンエラ
ーは次のようになる。 v+u=0111 0000 0000 1000 0000 0000 0000
0000 0000 0000 0000 第1図は一つのハードエラーパツケージの存在
下で単一ソフトエラーを訂正するための本発明の
エラー訂正システムに関係するステツプを示す流
れ図である。SPC/DPDリードソロモン符号に
従つてコード化されメモリの適切なロケーシヨン
Aに記憶されたデータワードuは指定されたロケ
ーシヨンAから読取られる(ステツプ1)。この
ロケーシヨンが何らかの障害を受けることがある
ので(ソフトエラー又はハードエラーを問わな
い)、読取りワードvはその指定されたロケーシ
ヨンに記憶されたもとのワードuと異なる場合が
ある。読取りワードvに対応するシンドロームS
(v)はステツプ2で計算され、それがゼロか又
は単一パツケージエラー(SPE)に対応するかど
うか判断される。読取りワードvがエラーを含ま
ないときは(S(v)=0)、又は読取りワードが
単一のパツケージに限定されるエラーを有すると
きは(S(v)が前にリストされたSPEの中の1
つである)、SPC/DPDリードソロモン符号は障
害のあるパツケージ内の全てのエラーをすぐに訂
正できるので(ステツプ13)、訂正不能エラーは
存在しない。この場合、読取りワードvは正しい
か又は訂正されて訂正されたワードvを使用でき
るので、そのアクセスは完了する。このプロシー
ジヤは普通のECC処理である。 一方、2つの異なるパツケージにエラーが存在
するときは、SPC/DPDに基づくECCプロシー
ジヤはその条件の存在を示すだけで訂正はできな
い。上述の計算されたシンドロームS(v)は本
発明の拡張されたエラー訂正処理を遂行するため
に記憶される(ステツプ3)。ステツプ4及び5
は周知の“反転書込み”及び“反転読取り”手順
である。このような手順は、たとえば、前掲の米
国特許第4661995号に記載されている。基本的に
は、読取りデータワードvは補数値に反転され、
反転された補数値が対応するロケーシヨンAに記
憶し戻される(ステツプ4)。次に同じロケーシ
ヨンが読取られて検索されたデータワードが補数
値に反転されてデータワードv′が生成される(ス
テツプ5)。v′の値はvの値と同じになるはずで
ある。というのは反転が2回行われているからで
ある。しかし、或るビツト位置がその入力値に関
係なくハイレベル又はローレベルに固定されてし
まうようなハード障害をそのメモリが有するとき
は、v′はvに一致しない。したがつて、ステツプ
4及び5の後では、以前は誤つた2値情報を伝達
した固定ビツトは正しい2値情報を伝達し、正し
い2値情報を伝達したものについては反対のこと
が生じる。その結果、正しい情報を伝達する固定
ビツトの数が誤つた情報を伝達する固定ビツトの
数よりも多くなるような状況が生じうる。このよ
うな場合、v′のシンドロームS(v′)は先にリス
トされた単一パツケージエラーの1つであるか又
はゼロであるとわかる(ステツプ5)。この場合、
エラー訂正リードソロモン符号は単一パツケージ
エラーを処理することができるのでデータワード
v′を訂正するためにステツプ6に進む。もとの記
憶データワードuについて再生成された値はメモ
リの指定されたロケーシヨンAに直ちに再記憶さ
れる。そのようにして検出されたエラーの1つが
ソフトエラーであつたという可能性があるからで
ある。ソフトエラーは不良メモリロケーシヨンは
示さず、データがそのロケーシヨンで反転してし
ることを示すにすぎない。データがそのロケーシ
ヨンで正しく再記憶されたとき、それが再反転さ
れるということはほとんどない。ソフトエラーは
訂正の許容範囲まで累積しうるので、検出された
ときにすぐに訂正しておくことが望ましい。 一方、v′について計算されたシンドロームが単
一パツケージエラーのシンドロームの1つでもな
く、またゼロでもないときは、ステツプ7に進
み、そこでステツプ3において記憶されたvのシ
ンドローム及びv′のシンドロームが加算される。 次の関係式 S(v)+S(v′)=S(v+u)+S(v′+u)=

((v+u)+(v′+u))があるので、2つのシン
ドロームS(v)及びS(v′)の和はパターンエラ
ーv+uとv′+uの双方の関数になるとがわかる
であろう。ステツプ4及び5の“反転書込み”及
び“反転読取り”の手順はいかなるソフトエラー
にも影響しないので、パターンエラーv+uと
v′+uの加算はそれらの存在をマスクすることに
なる。 たとえば、パターンエラーv+uが v+u=0101 0000 0000 1000 0000 0000 0000
0000 0000 0000 0000 であると仮定する。これ
は、受け取られたワードvが第2、第4及び第13
のビツトでもとの記憶ワードuと異なることを意
味する。さらに、第1のパツケージの最後の3ビ
ツトが固定され(ハードエラーパツケージ)、か
つ、第13のビツトがソフトエラーを有すると仮定
すれば、ステツプ4及び5によるワードvの処理
で、対応するパターンエラーが次のようなもので
あるデータワードv′が得られる。 v′+u=0010 0000 0000 1000 0000 0000 0000
0000 0000 0000 0000 したがつて、データワー
ドv′は第3及び第13のビツトでもとの記憶データ
ワードuと異なる。その結果、誤つていた以前の
第2及び第4のビツトは今や訂正され、逆にもと
は正しい2値情報を伝達していた第13のビツトは
反転されている。しかしながら、ステツプ4及び
5のプロセスを前述のように第13のビツトの有効
性には影響を与えない。 先行のパターンエラーv+uとv′+uの双方の
加算はソフトエラーをマスクする。 (v+u)+(v′+u)=0111 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 したがつ
て、2つのパターンエラーv+u及びv′+uの和
のシンドロームは上述のテーブルにリストされた
単一のパツケージエラーのシンドロームの中の1
つとなり、それを読取ることで、1つのハードパ
ツケージエラーを有するパツケージを最終的に判
断することができる。先の例に関していうと、2
つのシンドロームの計算は次のようになる。 S(v)=“D46”(16進)=1101 0100 0110 (2進) S(v′)=“A31”(16進)=1010 0011 0001 (2進) したがつて、 S(v)+S(v′)=“777”(16進)=0111 0111 01
11 (2進)となる。 このようにテーブルの読取りで、第1のパツケ
ージが1つのハードパツケージエラーを有するこ
と、さらに正確にいえば、第1のパツケージの最
後の3つのビツトが固定されていること(16進
“7”)が示される。 この結果、次にプロセスはステツプ8に進み、
そこでS(v)とS(v′)の和が2重パツケージエ
ラーかどうか判断される。このようなケースにお
いてエラー訂正符号が3以上のパツケージにおい
てはじめにエラーを検出したか、又はさらに多く
のソフトエラーが発生したと仮定すると、本実施
例はこのような状況を処理することはできず、訂
正不能エラーがフラグされる。 一方、和のシンドロームが単一パツケージエラ
ーのシンドロームを表わす場合は、ステツプ9に
進み、そこでハードエラーパツケージの探索が上
述の所定のテーブルを読取ることによつて行なわ
れる。次にステツプ9の結果に応じて、ワードv
のシンドロームが第1表ないし第11表のテーブル
の中の1つから読取られ(ステツプ10)、対応す
るパターンエラーv+uがみつけられる。これに
より、もとのデータワードuをメモリの指定され
たロケーシヨンAに再記憶することができ、正し
いデータワードを最終的に使用することが可能と
なる。 上述のプロセスは、1つのパツケージにおける
単一ソフトエラーが第2のパツケージに限定され
たエラー(そのうちの1つはハードエラーであ
る)と共存する場合は常に満足のいく結果を与え
る。 ここでハードエラーがほとんど1つの特定のパ
ツケージに所在し、かつソフトエラーがそのメモ
リ内でランダムに所在するためにソフトエラーが
同じデータワードにほとんど影響を与えないとい
う事実を考慮すると、本発明による拡張されたエ
ラー訂正装置はSPC/DPDのエラー訂正符号だ
けでほとんどの2重パツケージエラーを処理でき
ることになる。しかも、これは米国特許第
4661955号に説明されているような、もとの読取
りデータと検索された補数化データとのビツトご
との比較を必要としない。さらに、サブフイール
ド内でのビツトの連続的な変更も全く必要とせ
ず、一定かつ短期間の訂正シーケンスを有するだ
けである。 第2A図及び第2B図は本発明の好ましい実施
例を示す図である。第3図は第2A図及び第2B
図のつながりを表わす図である。第2A図を参照
するに、本発明の好ましい実施例は12ビツトのバ
ス28及び29に接続されたSPEデコーダ20を
含む。バス28はシンドロームデコーダ26で計
算された12ビツトのシンドロームを伝達するもの
で、和シンドローム回路24の第1入力及びシン
ドロームレジスタ25の入力に接続される。シン
ドロームレジスタ25はリード線34によつて制
御され、和シンドローム回路24の第2入力に接
続される12ビツトの出力用のバス30を有してい
る。バス28は記憶装置21のアドレスバス35
の上位12ビツト(MSB)にも接続される。記憶
装置21のアドレスバス35の下位4ビツト
(LSB)は4ビツトのバス31を介してコーダ2
3の出力に接続される。コーダ23は11ビツトの
バス90に接続される入力を有する。バス90は
SPEデコーダ20の第1出力に接続され、ハード
エラーを有するパツケージの番号を伝達する。
SPEデコーダ20は第2の出力バス33を有す
る。出力バス33はバス90によつて伝達された
値で参照されるパツケージ中の障害ビツトの位置
を伝達する4ビツトのバスである。一組のラツチ
27はロケーシヨンAから抽出された44ビツトの
データワードv又はv′を記憶するのに用いる。ラ
ツチ27はシンドロームデコーダ26の入力に接
続される出力バス70を有する。バス28及び3
0を介してシンドロームの和を伝達する和シンド
ローム回路24の出力はSPEデコーダ20への伝
送のため12ビツトのバス29に接続される。バス
35(すなわち、バス28及び31)上に送出さ
れるアドレスに対応するデータワードを伝達する
記憶装置21の出力はバス32を介してデコーダ
22に送られる。デコーダ22は6ビツトのバス
32によつて伝達される値をデコードして、44ビ
ツトのバス80の44個のリードのうちの1つを活
動化する。デコーダ22は制御リード線36を有
する。この制御リード線36は、ハイレベルに上
げられたとき、バス80の44個のリード線をロー
レベルに固定する。 第2B図を参照するに、本発明の好ましい実施
例は44個のXORゲート44−XX(XXは01ないし
44)を含む。XORゲート44−XXの出力を入力デ
ータワードvの訂正が可能な場合に、復元された
もとのデータワードuの44ビツトの中の1つを伝
達する。44個のXORゲートは、既に説明した4
ビツトの11個のパツケージへの44ビツトのデータ
ワードの分割に応じて、4つのXORゲートの11
個のパツケージに分割される。説明の簡単のた
め、40−01ないし40−08、及び40−41ないし40−
44(第1、第2及び第11のパツケージ)だけを示
した。各XORゲート40−XXは入力データワード
v又はv′を伝達する44ビツトのバス70のXX番
目のリード線に接続される第1入力を有する。た
とえば、XORゲート40−01はバス70の第1の
リード線に接続される第1入力を有する。同様に
XORゲート40−44はバス70の第44のリード線
に接続された第1入力を有する。各XORゲート
40−XXはORゲート50−XX(XXは01ないし44)
の出力に接続された第2入力を有する。たとえ
ば、XORゲート40−01はORゲート50−01の出力
に接続された第2入力を有する。各ORゲート50
−XXは記憶装置21のデコードされた出力を伝
達する44ビツトのバス80のXX番目のリード線
に接続される第1入力を有する。たとえば、OR
ゲート50−01はバス80の第1のリード線に接続
された第1入力を有する。 各ORゲート50−XXはANDゲート60−XX
(XXは01ないし44)の出力に接続された第2入
力を有する。たとえば、ORゲート50−01はAND
ゲート60−01の出力に接続された第2入力を有す
る。前述と同様に、44個のANDゲートは4個の
ANDゲートの11個のパツケージに分割される。
たとえば、第1のパツケージはANDゲート60−
01,60−02,60−03及び60−04を含む。11個の可
能なパツケージの中の所定の1つのパツケージの
全てのANDゲート60−XX,60−(XX+1),60
−(XX+2),60−(XX+3)(ただし、XX=4n
+1,n=0ないし10)はSPEデコーダ20によ
つて制御される11ビツトのバス90の第n+1の
リード線に共に接続される第1入力を有する。た
とえば第1のパツケージのANDゲート60−01,
60−02,60−03及び60−04はバス90の第1のリ
ード線に共に接続される。各ANDゲート60−
XX(XX=1ないし41、モジユロ4)はバス90
を介して伝達される値で判断されたハードエラー
パツケージ内で訂正を行うためのビツトの値を伝
達する4ビツトのバス33の第1のリード線に接
続される第2入力を有する。 各ANDゲート60−XX(XX=2ないし42、モ
ジユロ4)は4ビツトのバス33の第2のリード
線に接続される第2入力を有する。 各ANDゲート60−XX(XX=3ないし43、モ
ジユロ4)は4ビツトのバス33の第3のリード
線に接続される第2入力を有する。 各ANDゲート60−XX(XX=4ないし44、モ
ジユロ4)は4ビツトのバス33の第4のリード
線に接続される第2入力を有する。 記憶装置21は典型的にはROSタイプのメモ
リである。記憶装置21はハードエラーパツケー
ジの番号を表わす4ビツトのワード及びシンドロ
ームS(v)の双方を有するワードによつてアド
レスされたときに、6ビツトのデータワードを送
出し、これによりデコーダ22を介してORゲー
ト50−XXを制御できる。このようにして、第1
表ないし第11表のテーブルの読取りは即座になさ
れ、しかも有利に実現できる。しかしながら、こ
れらのテーブルの読取りはPLAや組合せ論理な
どの他の周知の手法によつて達成することもでき
る。特に、記憶装置21は、バス28を介する任
意の単一パツケージエラーシンドローム又はゼロ
のシンドロームがバス80の全てのリード線をロ
ーレベルにセツトする6ビツトのワードの抽出を
行わせるようにプログラムされている。 本発明による拡張されたエラー訂正装置は次の
ように動作する。指定されたロケーシヨンから抽
出されたデータワードvは一組のラツチ27にま
ず記憶される。シンドロームデコーダ26は44ビ
ツトのデータワードvから12ビツトのシンドロー
ムS(v)を計算する。シンドロームデコーダ2
6は基本的には周知の組合せ論理から成るもので
ある。制御リード線34がハイレベルになると、
シンドロームがシンドロームレジスタ25に記憶
される。12ビツトのバス28を介してS(v)の
値を受け取るSPEデコーダ20は第1図のステツ
プ2に従つてS(v)がリストされたSPEシンド
ロームの中の1つであるかゼロであるかを判断す
るためにS(v)をデコードする。 S(v)がゼロであるとわかつたときは、SPE
デコーダ20は各ANDゲート60−XX(XX=01
ないし44)をローレベルにするためバス90のい
ずれのリード線もローレベルにする。記憶装置2
1のアドレスバスの上位ビツトにSPEシンドロー
ムがあらわれると、既に説明したように、バス3
2を介して6ビツトのデータワードが抽出され
て、これにより44ビツトのバス80の全てのリー
ド線がローレベルにセツトされる。この場合、制
御リード線36はローレベルにセツトされる。し
たがつて、各ORゲート50−XX(XX=01ないし
44)はローレベルにセツトされ、バス70によつ
て伝達されエラーなく認識される入力データワー
ドvはXORゲート40−XX(XX=01ないし44)
を介してエラー訂正装置の出力に送られる。 一方、S(v)がリストされたSPEシンドロー
ムの中の1つであることがわかつたときは、SPE
デコーダ20は障害を有するパツケージに対応す
るバス90の中の制御リード線をハイレベルにす
る。これにより、指定された障害パツケージに対
応するパツケージの全てのANDゲートの第1入
力が活動化される。同様に、SPEデコーダ20は
もとのデータワードuを再記憶するために再反転
すべき障害パツケージ内のビツト位置に対応する
リード線をバス33上で活動化する。誤つた情報
を伝達するビツト位置に関連するANDゲートは、
したがつて、ハイレベルにセツトされる。アドレ
スバス35の上位ビツトはSPEシンドロームを伝
達するので、バス80の全ていのリード線をロー
レベルにセツトする6ビツトのワードが記憶装置
21から抽出され、その結果、各ORゲート50−
XX(XX=01ないし44)の第1入力がローレベル
にされる。再反転すべき障害パツケージ内のビツ
ト位置に対応するORゲートはハイレベルにセツ
トされる。その結果、対応するXORゲートによ
る対応するビツトの最終的な反転が行われる。 先の例に関していうと、入力データワードvの
シンドロームが(Q)7B8(Q)(前述のテーブルは第3
のパツケージにエラーがあること、及び特に、そ
のパツケージの最後の3ビツトにエラーがあるこ
とを示す)に等しいときは、SPEデコーダ20は
バス90の第3のリード線を活動化し、これによ
りパツケージ3のANDゲート60−XX(すなわ
ち、ANDゲート60−09,60−10,60−11及び60
−12)を除きANDゲート60−XXの活動化を阻
止する。SPEデコーダ20はバス33のリード線
2,3及び4も活動化する。これらはANDゲー
ト60−10,60−11及び60−12をハイレベルにセツ
トする。アドレスバス35の上位ビツトがSPEシ
ンドロームの値を伝達するので、6ビツトのバス
32を介して記憶装置21から抽出されるデータ
はバス80の全てのリード線をローレベルにセツ
トするように働く。したがつて、ORゲート50−
10,50−11及び50−12だけがハイレベルにセツト
され、これにより、XORゲート40−10,40−11
及び40−12によつて入力データワードvのビツト
10,11及び12を反転することができる。 計算されたシンドロームS(v)がゼロでもな
く、上述のテーブルに含まれるものでもないとき
は、既に説明した“反転書込み”及び“反転読取
り”手順が第1図のステツプ4及び5によつて実
行される。その結果得られるデータワードv′はラ
ツチ27の入力に送られて、そのシンドロームが
シンドロームデコーダ26によつて計算される。
制御リード線34がローレベルにセツトされ、シ
ンドロームレジスタ25への新しいシンドローム
の記憶が阻止される。バス28を介してこの新し
いシンドロームS(v′)を受け取るSPEデコーダ
20はS(v′)がゼロであるか上述のリストされ
たSPEシンドロームの中の1つであるかを判断す
る。 S(v′)がゼロであるとわかつたときは、SPE
デコーダ20は各ANDゲート60−XX(XX=01
ないし44)をローレベルにするためバス90の全
てのリード線をローレベルにする。制御リード線
36がハイレベルにセツトされているので、44ビ
ツトのバス80の全てのリード線(したがつて各
ORゲート50−XXの第1入力)がローレベルに
セツトされる。その結果、各ORゲート50−XX
(XX=01ないし44)はローレベルにセツトされ、
バス70によつて伝達されエラーなく認識される
入力データワードv′はXORゲート40−XX(XX=
01ないし44)を介してエラー訂正装置の出力に送
られる。 一方、S(v′)が上述のリストされたSPEシン
ドロームの中の1つであるとわかつたときは、
SPEデコーダ20は障害を有するパツケージに対
応するバス90のリード線をハイレベルにして、
指定された障害パツケージに対応するパツケージ
の全てのANDゲートの第1入力を活動化する。
同様に、SPEデコーダ20はワードv′を訂正しか
つもとのデータワードuを再記憶するために再反
転すべき障害パツケージ内のビツト位置に対応す
るリード線をバス33上で活動化する。誤つた情
報を伝達するビツト位置に関連するANDゲート
は、したがつて、ハイレベルにセツトされる。制
御リード線36はまだハイレベルに維持されてい
るので、バス80の各リード線(したがつて各
ORゲート50−XXの第1入力)はローレベルに
セツトされる。その結果、誤つた2値情報を伝達
するビツト位置に対応するORゲートがハイレベ
ルにセツトされて、関連するXORゲートによつ
て対応するビツトが反転される。制御リード36
に存在する信号は一定の簡単な順次論理回路又は
その他の良く知られた制御論理回路によつて発生
させることができる。 これで、第1図のステツプ14に従つたワード
v′についてのECC処理が完了する。 バス28上にあらわれるS(v′)がSPEシンド
ロームの中の1つでもなく、またゼロでもないと
きは、SPEデコーダ20は第1図のステツプ7に
従つてバス29を介してシンドロームS(v)と
S(v′)の和の値を読み取る。バス29を介して
伝達された値がSPEシンドロームの中の1つでな
いときは、本発明はそのような状況を処理する能
力を有していないので、第1図のステツプ8に従
つて訂正不能エラーをフラグすることによつてプ
ロセスが完了する。 S(v′)+S(v)がリストされたSPEシンドロ
ームの中の1つであるとわかつたときは、SPEデ
コーダ20はハード障害を有するパツケージに対
応するバス90のリード線をハイレベルにして、
指定された障害パツケージに対応するパツケージ
の全てのANDゲートの第1入力を活動化する。
SPEデコーダ20はバス33の全てのリード線を
ローレベルにする。これにより、各ANDゲート
60−XX(XX=01ないし44)が遮断される。制御
リード線36はローレベルにセツトされる。その
結果、デコーダ22は記憶装置21から抽出され
た6ビツトのデータワードの内容に従つてバス8
0の各リード線を制御する。アドレスバス35の
下位ビツトは障害のあるパツケージの番号を伝達
し、かつ、アドレスバス34の上位ビツトは計算
されたシンドロームS(v′)の値を伝達するので、
データワードv′を訂正しかつもとのデータワード
uを再記憶するために反転すべきビツトの位置を
記憶装置21はバス80を介して直ちに伝達する
ことができる。 本発明の好ましい実施例を特定のリードソロモ
ン符号に関連して説明してきたが、本発明はこの
場合にだけに限定されるものではないことに留意
されたい。データワードのサイズ(実施例では44
ビツト)も容易に拡張できる。 他のリードソロモン符号を生成する他の方法は
別のTマトリクスを用いることである。Tマトリ
クスは、ガロアイ対GF(2b)の基本エレメントの
随伴マトリクでなければならない。上述の例で
は、b=4の随判マトリクスである。特に、次の
Tマトリクスを使用することができる。 0001 1000 0100 0011 本発明の拡張されたエラー訂正装置は異なるb
(たとえばb=3)の値で実現してもよい。b=
4の場合についていえば、2つの異なるTマトリ
クス(したがつて2つの異なるHマトリクス)の
みを使用することができる(30,21)。これらの
2つのTマトリクスは次のものである。 001 001 T=101 T=100 010 011
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】 E 発明の効果 以上説明したように本発明によれば、SPC/
DPDのエラー訂正符号だけでほとんどの2重パ
ツケージエラーを処理することができる。
【図面の簡単な説明】
第1図は本発明の実施例を説明する流れ図、第
2A図及び第2B図は本発明の実施例を示す図、
第3図は第2A図及び第2B図のつながりを示す
図である。

Claims (1)

  1. 【特許請求の範囲】 1 複数のbビツトのパツケージで構成され、
    (n−r)個のデータビツトと、SPC/DPDのエ
    ラー訂正コードによるr個のエラー訂正コードビ
    ツトとからなるn個のデータワードにおけるエラ
    ーを訂正するエラー訂正装置において、 前記データワードが、第1のパツケージにおけ
    る少なくとも1つのエラー及び第2のパツケージ
    における単一のエラーのため第1のエラーを生じ
    るならば、前記エラー訂正コードが第1のシンド
    ロームを生成し、前記データワードが、前記第1
    のパツケージにおける少なくとも1つのエラー及
    び第3パツケージにおける単一のエラーのため第
    2のエラーを生じるならば、前記エラー訂正コー
    ドが第2のシンドロームを生成するシンドローム
    生成手段と、 前記シンドローム生成手段によつて生成された
    第1のデータワードvのシンドロームを記憶する
    シンドローム記憶手段と、 前記シンドローム生成手段によつて生成された
    前記第1のデータワードvの反転書込み及び反転
    読出しによつて生成される第2のデータワード
    v′のシンドロームと前記シンドローム記憶手段に
    記憶された前記第1のデータワードvのシンドロ
    ームとを加算する加算手段と、 前記加算手段からの加算結果により少なくとも
    1つのハードエラーのある特定のパツケージを決
    定する決定手段と、 前記決定手段からの決定に応じてエラーの位置
    を直接特定し、前記データワードのエラーを訂正
    する訂正手段とを備えたことを特徴とするエラー
    訂正装置。
JP1096569A 1988-04-29 1989-04-18 エラー訂正装置 Granted JPH01304543A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP88480012.9 1988-04-29
EP88480012A EP0339166B1 (en) 1988-04-29 1988-04-29 Extended errors correcting device having single package error correcting and double package error detecting codes

Publications (2)

Publication Number Publication Date
JPH01304543A JPH01304543A (ja) 1989-12-08
JPH0529935B2 true JPH0529935B2 (ja) 1993-05-06

Family

ID=8200493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1096569A Granted JPH01304543A (ja) 1988-04-29 1989-04-18 エラー訂正装置

Country Status (4)

Country Link
US (1) US4961193A (ja)
EP (1) EP0339166B1 (ja)
JP (1) JPH01304543A (ja)
DE (1) DE3882223T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102157850A (zh) * 2010-12-30 2011-08-17 上海航天科工电器研究院有限公司 大电流断路器开关插座

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0799503B2 (ja) * 1990-09-12 1995-10-25 パイオニア株式会社 符号化されたデータの誤り訂正方法
US5243604A (en) * 1990-12-18 1993-09-07 Seagate Technology, Inc. On-the-fly error correction
US5226043A (en) * 1990-12-27 1993-07-06 Raytheon Company Apparatus and method for data error detection and correction and address error detection in a memory system
WO1993006671A1 (en) * 1991-09-20 1993-04-01 Motorola, Inc. Extended error correction of a transmitted data message
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
US5502732A (en) * 1993-09-20 1996-03-26 International Business Machines Corporation Method for testing ECC logic
US5457702A (en) * 1993-11-05 1995-10-10 The United States Of America As Represented By The Secretary Of The Navy Check bit code circuit for simultaneous single bit error correction and burst error detection
US5434719A (en) * 1994-03-18 1995-07-18 Seagate Technology, Inc. Correction of header information in a magnetic disc drive
US5745507A (en) * 1995-03-31 1998-04-28 International Business Machines Corporation Systematic symbol level ECC for use in digital memory systems
US5757823A (en) * 1995-10-03 1998-05-26 International Business Machines Corporation Error detection and correction for four-bit-per-chip memory system
US5761221A (en) * 1995-12-11 1998-06-02 International Business Machines Corporation Memory implemented error detection and correction code using memory modules
US5768294A (en) * 1995-12-11 1998-06-16 International Business Machines Corporation Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
US6675341B1 (en) * 1999-11-17 2004-01-06 International Business Machines Corporation Extended error correction for SEC-DED codes with package error detection ability
US7430167B2 (en) * 2003-09-18 2008-09-30 International Business Machines Corporation Method and system to enable an adaptive load balancing in a parallel packet switch
JP4742553B2 (ja) * 2004-09-22 2011-08-10 ソニー株式会社 記憶装置
US7292950B1 (en) * 2006-05-08 2007-11-06 Cray Inc. Multiple error management mode memory module
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
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
US8010875B2 (en) * 2007-06-26 2011-08-30 International Business Machines Corporation Error correcting code with chip kill capability and power saving enhancement
TWI486961B (zh) * 2013-01-16 2015-06-01 Univ Nat Taiwan Science Tech 非揮發性記憶體的故障遮蔽方法
US20150067437A1 (en) * 2013-08-30 2015-03-05 Kuljit S. Bains Apparatus, method and system for reporting dynamic random access memory error information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55115148A (en) * 1979-02-26 1980-09-04 Hitachi Ltd Error detection and correction system
JPS6132708A (ja) * 1984-07-25 1986-02-15 松下電工株式会社 木材単板の着色方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0097159B1 (en) * 1981-12-30 1989-03-15 International Business Machines Corporation Two bit per symbol sec/ded code
US4464753A (en) * 1981-12-30 1984-08-07 International Business Machines Corporation Two bit symbol SEC/DED code
US4509172A (en) * 1982-09-28 1985-04-02 International Business Machines Corporation Double error correction - triple error detection code
US4604751A (en) * 1984-06-29 1986-08-05 International Business Machines Corporation Error logging memory system for avoiding miscorrection of triple errors
DE3482509D1 (de) * 1984-12-28 1990-07-19 Ibm Geraet zum korrigieren von fehlern in speichern.
US4661955A (en) * 1985-01-18 1987-04-28 Ibm Corporation Extended error correction for package error correction codes
US4794597A (en) * 1986-03-28 1988-12-27 Mitsubishi Denki Kabushiki Kaisha Memory device equipped with a RAS circuit
US4862463A (en) * 1987-07-20 1989-08-29 International Business Machines Corp. Error correcting code for 8-bit-per-chip memory with reduced redundancy

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55115148A (en) * 1979-02-26 1980-09-04 Hitachi Ltd Error detection and correction system
JPS6132708A (ja) * 1984-07-25 1986-02-15 松下電工株式会社 木材単板の着色方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102157850A (zh) * 2010-12-30 2011-08-17 上海航天科工电器研究院有限公司 大电流断路器开关插座

Also Published As

Publication number Publication date
JPH01304543A (ja) 1989-12-08
US4961193A (en) 1990-10-02
DE3882223T2 (de) 1994-01-27
EP0339166B1 (en) 1993-07-07
EP0339166A1 (en) 1989-11-02
DE3882223D1 (de) 1993-08-12

Similar Documents

Publication Publication Date Title
JPH0529935B2 (ja)
US6044483A (en) Error propagation operating mode for error correcting code retrofit apparatus
US4661955A (en) Extended error correction for package error correction codes
US6976194B2 (en) Memory/Transmission medium failure handling controller and method
US6009548A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US6996766B2 (en) Error detection/correction code which detects and corrects a first failing component and optionally a second failing component
US5418796A (en) Synergistic multiple bit error correction for memory of array chips
US6973613B2 (en) Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure
JP4071940B2 (ja) メモリ設計のための共有式誤り訂正
EP0540450B1 (en) ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US5663969A (en) Parity-based error detection in a memory controller
US7278085B1 (en) Simple error-correction codes for data buffers
EP0332662B1 (en) Byte write error code method and apparatus
US4740968A (en) ECC circuit failure detector/quick word verifier
US4712216A (en) Method and device for correcting errors in memories
US7587658B1 (en) ECC encoding for uncorrectable errors
US5768294A (en) Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
JP2001005736A (ja) メモリ誤り訂正装置
US7188296B1 (en) ECC for component failures using Galois fields
JPH0778746B2 (ja) エラー訂正装置
JPS58220300A (ja) メモリ・システムの動作方式
US5751745A (en) Memory implemented error detection and correction code with address parity bits
US6460157B1 (en) Method system and program products for error correction code conversion
JPH05165736A (ja) 半導体記憶装置の2ビット誤り訂正回路
JPS5837638B2 (ja) キオクソウチ