JPH0136135B2 - - Google Patents
Info
- Publication number
- JPH0136135B2 JPH0136135B2 JP58087772A JP8777283A JPH0136135B2 JP H0136135 B2 JPH0136135 B2 JP H0136135B2 JP 58087772 A JP58087772 A JP 58087772A JP 8777283 A JP8777283 A JP 8777283A JP H0136135 B2 JPH0136135 B2 JP H0136135B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- memory
- word
- bits
- address
- 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
Links
- 238000012937 correction Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 10
- 238000006467 substitution reaction Methods 0.000 claims 2
- 230000008569 process Effects 0.000 description 8
- 239000013598 vector Substances 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 210000004027 cell Anatomy 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 239000006185 dispersion Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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/1024—Identification of the type of error
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
Description
〔発明の背景〕
本発明はメモリ・アドレスの自動的スキユーを
行わしめることにより、訂正不能なエラーを有す
るメモリ・ワードを、エラー訂正符号によつて訂
正可能なエラーを有するメモリ・ワードへ変更す
ることに係る。 多くのエラー訂正及び検出方式は、訂正可能な
エラーの数よりも多いエラーを検出可能であるこ
とが知られている。たとえば、64データ・ビツト
のメモリ・ワードは、該メモリ・ワードと同じ位
置に記憶された8検査ビツトを使用することによ
り、1ビツト・エラーを訂正し且つ2ビツト・エ
ラーを検出することができる。かくて、データ及
び検査ビツトを記憶する72セルのうち任意の1つ
に障害が生じたとしても、これをエラー訂正回路
によつて訂正することが可能となる。このエラー
訂正回路は1メモリ・ワードに存在する2ビツ
ト・エラーを検出するためにも使用することがで
きるが、一般にはかかる2ビツト・エラーを訂正
することはできない。すなわち、1ビツトの障害
が生じた場合には、この特定の障害ビツトを識別
して訂正することができるけれども、2ビツトの
障害が生じた場合には、一般にその発生事実を検
出することができるだけで、これらの障害ビツト
を識別して訂正することはできないのである。 前述の如く、2ビツト・エラーの訂正に関連し
て「一般に」という用語が使用されたのは、1エ
ラー訂正符号の或るものが特定の型の2ビツト・
エラー、たとえば位置的に隣接する2ビツト・エ
ラーを訂正することがあるという理由による。し
かしながら、必ずしもすべての2ビツト・エラー
が訂正可能なパターンで生ずるわけではない。従
つて、一般化して説明すると、エラー訂正及び検
出方式はその訂正能力よりも多い数のエラーを検
出する、と云うことができる。 訂正可能なエラーよりも多い数のエラーを検出
しうるという、前述の如きエラー訂正符号の能力
を有効に利用するために、米国特許第3644902号
は、検出可能であるが訂正不能なエラーを、検出
可能でしかも訂正可能なエラーへ変更するための
手段を開示している。この特許では、メモリ・ユ
ニツトは複数のアレイから成り、該アレイの各々
は当該メモリ・ユニツトにおける1ビツト位置の
すべてのビツトを保持するようにされている。こ
れらのアレイは、所与のメモリ・ワードがアドレ
スされるときその適正なビツトが各アレイから選
択されるように、デコーダ回路を通してそれぞれ
アドレスされる。この特許で示唆されているの
は、デコーダへ供給されるアドレスを永久的に修
正し、かくてアレイを物理的にスワツプして諸ビ
ツトをメモリ・ワード間でスワツプすることによ
り、訂正不能なエラーを有するメモリ・ワードを
訂正可能なエラーを有するメモリ・ワードへ変更
する、ということである。 他の米国特許第3812336号及びIBM Technical
Disclosure Bulletin、Vol.16、No.4、September
1973、page1245なる文献には、メモリ・ビツト
のスワツプを行うためのアドレス修正方式が記述
されている。この方式では、特定ビツト・アレイ
のデコーダへ供給されるアドレスは、メモリ・ワ
ードの特定ビツト位置に関連するシフト・レジス
タに記憶されたデータの関数として、論理回路に
よつて修正される。この論理回路は、特定ビツト
位置のデコーダに加わる各入力ごとに1つの排他
的ORゲートを含んでいる。排他的ORゲートの
各々はその入力としてワード・アドレスの1デイ
ジツト及び或るシフト・レジスタ段の出力を受取
り、そしてその出力をデコーダの1入力へ供給す
る。前記文献のものでは、障害ビツトのデコーダ
入力アドレスは、この障害ビツトが要求されると
きこれに代わつてビツト位置0がアクセスされる
ように、シフト・レジスタに配置される。一方前
記特許のものでは、ガロア体の異なる数が各シフ
ト・レジスタ段にそれぞれ記憶される。すなわ
ち、0が第1ビツト位置のシフト・レジスタ段に
記憶され、以下同様の操作が行われて、最後に必
要とされる最大数が最終ビツト位置のシフト・レ
ジスタに記憶されるのである。多重ビツト・エラ
ーが検出される場合、第1ビツト位置のシフト・
レジスタを除く各シフト・レジスタは1ガロア数
だけシフトされる。このことは、障害メモリ・ワ
ードを構成する諸ビツトを分散させることによつ
て、検出された多重ビツト・エラーが取除かれる
ことを保証する。この分散の結果、障害ビツトの
各々は異なるメモリ・ワードに終結し、かくて訂
正不能なビツト・エラー状態が訂正可能な多数の
1ビツト・エラー状態へ変更されることになる。 また、米国特許第3781826号及び第3897626号に
は、障害ビツトの位置に関するテスト結果を使用
し、該位置に従つて諸チツプを複数のグループへ
分割することが記述されている。後者の特許のも
のでは、同じセクシヨンに障害領域を有する各チ
ツプは各メモリ・カード上に同じパターンで配置
される。そして、どのメモリ・ワードも1より多
い障害ビツトを含まないように、エラーをスキユ
ーさせるためのアドレス配線が行われる。もしエ
ラー検出及び訂正手段によつて所与の障害が検出
されるならば、障害メモリ・ワードのアドレスの
2セクシヨンを排他的ORすることにより、障害
ビツトを識別することができる。 1982年3月29日に出願された米国特許出願第
362925号では、メモリ・ワード間のビツト・スワ
ツピングは、当該メモリ中の障害ビツトに関する
データを使用することによつて行われる。ビツ
ト・アドレスの置換(permutation)は排他的プ
ロセスによつて行われ、該プロセスは(メモリの
エラー訂正回路によつては訂正不能な)ビツト障
害の整列に帰着するようなアドレスの組合せを識
別するとともに、他の組合せに対する選択プロセ
スを制限する。その実施態様では、訂正不能な障
害の組合せを決定するために、種々の障害は、チ
ツプ障害、ワード線障害、ビツト線障害又はビツ
ト障害の如き型によつて類別される。然る後、ビ
ツト・アドレスは障害の数の減少順に置換され
る。 〔発明の概要〕 本発明によれば、メモリ・ワード間のビツト・
スワツピングは、当該メモリ中の障害ビツトに関
するデータを使用する、新しいプロセスによつて
行われる。前記米国特許出願第362925号では、各
ビツト位置の障害に対するアドレス位置は排他的
プロセスによつて選択されるが、この排他的プロ
セスは既にアドレスが置換されたビツト位置のみ
を考慮する。本発明では、これから置換すべきビ
ツト位置におけるビツト障害に関するデータも考
慮される。こうするため、障害ビツトの挿入に対
する“優先ワード・アドレス位置”のリストが維
持される。優先(preferred)ワード・アドレス
位置とは、その時において障害ビツト位置のスレ
ツシヨルドより低いレベルを保持するようなもの
である。各障害ビツトがこれらの優先ワード・ア
ドレス位置のうち1つへ置換されると、当該障害
ビツトの配置を考慮するためにこのリストが変更
される。置換が行われるまで、障害ビツトの(置
換されていない)実際の物理アドレスがこのリス
トを計算するのに使用される。置換された後は、
メモリの論理アドレスがこのリストを変更するの
に使用される。 従つて本発明の目的は、メモリ・ワード中のビ
ツトをスワツプすることにより、訂正不能なエラ
ー状態を訂正可能なエラー状態へ変更するための
メモリ再構成方法を提供することにある。 本発明の他の目的は、メモリ中の障害セルに関
するデータを使用してメモリ・ワード中のビツト
をスワツプすることにある。 本発明の他の目的は、エラーの型によつて類別
された既知のエラー状態に基いて、メモリ・ワー
ド中のビツトをスワツプすることにある。 〔実施態様の説明〕 第1図を参照するに、72ビツト(n=72)のメ
モリ・ワードを構成する各ビツト位置B1ないし
B72の記憶セル10は、各ビツト位置に対応する
各メモリ・カード12中の複数のアレイ14にそ
れぞれ配列される。アレイ14は16ビツトのアレ
イであり、各セル10は4本のワード線18及び
4本のビツト線20の交点にそれぞれ配置され
る。各アレイ14は対応するワード・レコーダ2
2及びビツト・デコーダ24を通してアドレスさ
れ、該デコーダは2ビツト・アドレスW0,W1及
びB0,B1をそれぞれ受取る。 各アレイ14に関連するワード・レコーダ22
及びビツト・デコーダ24に加えて、各カード1
2は4ビツトのチツプ・アドレスC0′ないしC3′を
受取るチツプ・デコーダ26を含む。チツプデコ
ーダ26は、各カード12に設けられた16個のア
レイ14のうち1個の出力を選択する。 チツプ・アドレス・ビツトC0′ないしC3′は排他
的OR回路30aないし30dのそれぞれの出力
であり、該回路はメモリ・アドレス・レジスタ3
2からアドレス・ビツトC0ないしC3をそれぞれ
受取るとともに、シフト・レジスタ形式の制御レ
ジスタ34から他のアドレス・ビツトZ0ないしZ3
をそれぞれ受取る。従つて、もしアドレス・ビツ
トZ0ないしZ3の全部が0であれば、チツプ・デコ
ーダ26はメモリ・アドレス・レジスタ32によ
つて要求された特定のアレイ14をアクセスする
ことになる。さもなければ、すなわち制御レジス
タ34中のアドレス・ビツトZ0ないしZ3の組合せ
が他のものであれば、チツプ・デコーダ26は他
のアレイ14のうち1個をアクセスする。 要約すると、メモリ・アドレス・レジスタ32
は、8アドレス・ビツトC0ないしC3,W0,W1,
B0,B1をすべてのカード121ないし12oへ共
通に転送する。各カード12では、アドレス・ビ
ツトW0,W1,B0,B1は16個のアレイ14にあ
る同じセル10をアクセスする。アドレス・ビツ
トC0′ないしC3′は各カード12に設けられた16個
のチツプのうち1個を選択し、かくてその出力を
アクセスされたメモリ・ワードのビツトB1ない
しB72の1つとして読出す。もしアドレス・ビツ
トZ0ないしZ3の全部が0であれば、各カード12
の同じアレイ14にある同じビツト位置がアクセ
スされる。一方、もし任意のカード12iに設け
られた制御レジスタ34の内容Z0ないしZ3が全部
0でなければ、このカード12iのビツト出力Bi
は他のアレイ14の同じビツト位置から供給され
る。 本発明に従つて、制御レジスタ34の内容は、
チツプの障害に関する記憶データに基いて選択さ
れる。本明細書では、このプロセスを抽象的な用
語で記述するのではなく、或る例をあげてこれを
順々に説明してゆくことにする。第2図の障害マ
ツプを参照するに、そこには第1図に示したメモ
リの最初の10ビツト位置B1ないしB10に存在する
複数の障害が示されている。以下の記述では、説
明の便宜上、メモリ中の残りのビツト位置にはエ
ラーが存在しないものと仮定する。第2図では、
障害のあるアレイ14は記号Xで示されている。
図示の如く、16個のワード0ないしFのうち、ワ
ード6及び9は3ビツト・エラーを有し、ワード
0,2,3及びCは2ビツト・エラーを有し、ワ
ードA及びEは1ビツト・エラーを有するのに対
し、残りのワードはエラーを有さない。ここで、
このメモリは1エラー訂正及び2エラー検出
(SEC/DED)能力を備えているものと仮定す
る。第2図に示すように、このメモリにはエラー
のないワードが8個存在しているので、メモリ中
のすべての16ワードが訂正可能な1ビツト・エラ
ーのみをそれぞれ含むように、3ビツト・エラー
及び2ビツト・エラーを、エラーのない上記8個
のワードへ分散させることができる。 以下、本発明の再配列プロセスを実行する前、
実行している間及び実行した後の第1図のメモリ
における1組の障害マツプをそれぞれ示している
第2図ないし第6図を参照しつつ、この再配列プ
ロセスに使用されるアルゴリズムを説明する。 ステツプ1:最大のエラー分散能力
(errordispersion capability:PT)に従つてすべ
てのビツト・セクシヨン(以下単に「セクシヨ
ン」という)を識別する。すなわち、もし適切な
置換ベクトルを見つけることができれば、これが
分散可能なエラーの最大数である。たとえば、も
しセクシヨン3を成功裡に置換することができれ
ば、ワード2及びワード3が1ビツト・エラーの
みを有し且つワード9が(3ビツト・エラーの代
わりに)2ビツト・エラーを有するようにするこ
とができる。従つて、セクシヨン3の最大エラー
分散能力は3に等しい。同様に、4ビツト・エラ
ーを有するセクシヨン6では、適切な置換ベクト
ルによつて最大3ビツトのエラーを分散させるこ
とができる。この例では、セクシヨン3,6,
2,5,1,4,7,8は、潜在的に3、3、
2、2、1、1、1、1ビツトの整列エラーを分
散させることができる(第2図の最下部に示した
分散能力の数値を参照)。 ステツプ2:エラーのないすべてのワード・ア
ドレス、すなわちこの例ではワード・アドレス
1,4,5,7,8,B,D,Fを識別する。 ステツプ3:また、1ビツト・エラーを有する
セクシヨンに対応するようなすべてのワード・ア
ドレス、すなわちこの例ではワード・アドレス
3,6,9を識別する。というのは、セクシヨン
4,7,8はワード・アドレス3,6,9におい
て1ビツト・エラーを有するにすぎないからであ
る。これらのワード・アドレスは“無視
(don′tcare)”ワード・アドレスと呼ばれ、当該
アルゴリズムの後続反復ステツプの間に相互に両
立する(mutually compatible)置換ベクトルを
見つけるために使用することができる。 ステツプ4:最大のエラー分散能力を有する1
つのセクシヨンを選択する。この例では、セクシ
ヨン3及び6がこれに該当するので、これらのう
ち1つが選択されることになる。ここでは、セク
シヨン6が選択されるものとする。次に、セクシ
ヨン6における障害ワード・アドレス、すなわち
この例ではワード・アドレス6,9,C,Eを識
別する。 ステツプ5:セクシヨン6における各障害ワー
ド・アドレスと、ステツプ2で識別されたエラー
のないワード・アドレス及びステツプ3で識別さ
れた“無視”ワード・アドレスとの、排他的OR
演算を行う。この排他的OR演算によつて得られ
たベクトルから、相互に両立する置換ベクトルを
選択する。もし完全に両立する或るベクトルを見
つけることができなければ、“無視”置換ベクト
ル・セツトを使用するようにする。
行わしめることにより、訂正不能なエラーを有す
るメモリ・ワードを、エラー訂正符号によつて訂
正可能なエラーを有するメモリ・ワードへ変更す
ることに係る。 多くのエラー訂正及び検出方式は、訂正可能な
エラーの数よりも多いエラーを検出可能であるこ
とが知られている。たとえば、64データ・ビツト
のメモリ・ワードは、該メモリ・ワードと同じ位
置に記憶された8検査ビツトを使用することによ
り、1ビツト・エラーを訂正し且つ2ビツト・エ
ラーを検出することができる。かくて、データ及
び検査ビツトを記憶する72セルのうち任意の1つ
に障害が生じたとしても、これをエラー訂正回路
によつて訂正することが可能となる。このエラー
訂正回路は1メモリ・ワードに存在する2ビツ
ト・エラーを検出するためにも使用することがで
きるが、一般にはかかる2ビツト・エラーを訂正
することはできない。すなわち、1ビツトの障害
が生じた場合には、この特定の障害ビツトを識別
して訂正することができるけれども、2ビツトの
障害が生じた場合には、一般にその発生事実を検
出することができるだけで、これらの障害ビツト
を識別して訂正することはできないのである。 前述の如く、2ビツト・エラーの訂正に関連し
て「一般に」という用語が使用されたのは、1エ
ラー訂正符号の或るものが特定の型の2ビツト・
エラー、たとえば位置的に隣接する2ビツト・エ
ラーを訂正することがあるという理由による。し
かしながら、必ずしもすべての2ビツト・エラー
が訂正可能なパターンで生ずるわけではない。従
つて、一般化して説明すると、エラー訂正及び検
出方式はその訂正能力よりも多い数のエラーを検
出する、と云うことができる。 訂正可能なエラーよりも多い数のエラーを検出
しうるという、前述の如きエラー訂正符号の能力
を有効に利用するために、米国特許第3644902号
は、検出可能であるが訂正不能なエラーを、検出
可能でしかも訂正可能なエラーへ変更するための
手段を開示している。この特許では、メモリ・ユ
ニツトは複数のアレイから成り、該アレイの各々
は当該メモリ・ユニツトにおける1ビツト位置の
すべてのビツトを保持するようにされている。こ
れらのアレイは、所与のメモリ・ワードがアドレ
スされるときその適正なビツトが各アレイから選
択されるように、デコーダ回路を通してそれぞれ
アドレスされる。この特許で示唆されているの
は、デコーダへ供給されるアドレスを永久的に修
正し、かくてアレイを物理的にスワツプして諸ビ
ツトをメモリ・ワード間でスワツプすることによ
り、訂正不能なエラーを有するメモリ・ワードを
訂正可能なエラーを有するメモリ・ワードへ変更
する、ということである。 他の米国特許第3812336号及びIBM Technical
Disclosure Bulletin、Vol.16、No.4、September
1973、page1245なる文献には、メモリ・ビツト
のスワツプを行うためのアドレス修正方式が記述
されている。この方式では、特定ビツト・アレイ
のデコーダへ供給されるアドレスは、メモリ・ワ
ードの特定ビツト位置に関連するシフト・レジス
タに記憶されたデータの関数として、論理回路に
よつて修正される。この論理回路は、特定ビツト
位置のデコーダに加わる各入力ごとに1つの排他
的ORゲートを含んでいる。排他的ORゲートの
各々はその入力としてワード・アドレスの1デイ
ジツト及び或るシフト・レジスタ段の出力を受取
り、そしてその出力をデコーダの1入力へ供給す
る。前記文献のものでは、障害ビツトのデコーダ
入力アドレスは、この障害ビツトが要求されると
きこれに代わつてビツト位置0がアクセスされる
ように、シフト・レジスタに配置される。一方前
記特許のものでは、ガロア体の異なる数が各シフ
ト・レジスタ段にそれぞれ記憶される。すなわ
ち、0が第1ビツト位置のシフト・レジスタ段に
記憶され、以下同様の操作が行われて、最後に必
要とされる最大数が最終ビツト位置のシフト・レ
ジスタに記憶されるのである。多重ビツト・エラ
ーが検出される場合、第1ビツト位置のシフト・
レジスタを除く各シフト・レジスタは1ガロア数
だけシフトされる。このことは、障害メモリ・ワ
ードを構成する諸ビツトを分散させることによつ
て、検出された多重ビツト・エラーが取除かれる
ことを保証する。この分散の結果、障害ビツトの
各々は異なるメモリ・ワードに終結し、かくて訂
正不能なビツト・エラー状態が訂正可能な多数の
1ビツト・エラー状態へ変更されることになる。 また、米国特許第3781826号及び第3897626号に
は、障害ビツトの位置に関するテスト結果を使用
し、該位置に従つて諸チツプを複数のグループへ
分割することが記述されている。後者の特許のも
のでは、同じセクシヨンに障害領域を有する各チ
ツプは各メモリ・カード上に同じパターンで配置
される。そして、どのメモリ・ワードも1より多
い障害ビツトを含まないように、エラーをスキユ
ーさせるためのアドレス配線が行われる。もしエ
ラー検出及び訂正手段によつて所与の障害が検出
されるならば、障害メモリ・ワードのアドレスの
2セクシヨンを排他的ORすることにより、障害
ビツトを識別することができる。 1982年3月29日に出願された米国特許出願第
362925号では、メモリ・ワード間のビツト・スワ
ツピングは、当該メモリ中の障害ビツトに関する
データを使用することによつて行われる。ビツ
ト・アドレスの置換(permutation)は排他的プ
ロセスによつて行われ、該プロセスは(メモリの
エラー訂正回路によつては訂正不能な)ビツト障
害の整列に帰着するようなアドレスの組合せを識
別するとともに、他の組合せに対する選択プロセ
スを制限する。その実施態様では、訂正不能な障
害の組合せを決定するために、種々の障害は、チ
ツプ障害、ワード線障害、ビツト線障害又はビツ
ト障害の如き型によつて類別される。然る後、ビ
ツト・アドレスは障害の数の減少順に置換され
る。 〔発明の概要〕 本発明によれば、メモリ・ワード間のビツト・
スワツピングは、当該メモリ中の障害ビツトに関
するデータを使用する、新しいプロセスによつて
行われる。前記米国特許出願第362925号では、各
ビツト位置の障害に対するアドレス位置は排他的
プロセスによつて選択されるが、この排他的プロ
セスは既にアドレスが置換されたビツト位置のみ
を考慮する。本発明では、これから置換すべきビ
ツト位置におけるビツト障害に関するデータも考
慮される。こうするため、障害ビツトの挿入に対
する“優先ワード・アドレス位置”のリストが維
持される。優先(preferred)ワード・アドレス
位置とは、その時において障害ビツト位置のスレ
ツシヨルドより低いレベルを保持するようなもの
である。各障害ビツトがこれらの優先ワード・ア
ドレス位置のうち1つへ置換されると、当該障害
ビツトの配置を考慮するためにこのリストが変更
される。置換が行われるまで、障害ビツトの(置
換されていない)実際の物理アドレスがこのリス
トを計算するのに使用される。置換された後は、
メモリの論理アドレスがこのリストを変更するの
に使用される。 従つて本発明の目的は、メモリ・ワード中のビ
ツトをスワツプすることにより、訂正不能なエラ
ー状態を訂正可能なエラー状態へ変更するための
メモリ再構成方法を提供することにある。 本発明の他の目的は、メモリ中の障害セルに関
するデータを使用してメモリ・ワード中のビツト
をスワツプすることにある。 本発明の他の目的は、エラーの型によつて類別
された既知のエラー状態に基いて、メモリ・ワー
ド中のビツトをスワツプすることにある。 〔実施態様の説明〕 第1図を参照するに、72ビツト(n=72)のメ
モリ・ワードを構成する各ビツト位置B1ないし
B72の記憶セル10は、各ビツト位置に対応する
各メモリ・カード12中の複数のアレイ14にそ
れぞれ配列される。アレイ14は16ビツトのアレ
イであり、各セル10は4本のワード線18及び
4本のビツト線20の交点にそれぞれ配置され
る。各アレイ14は対応するワード・レコーダ2
2及びビツト・デコーダ24を通してアドレスさ
れ、該デコーダは2ビツト・アドレスW0,W1及
びB0,B1をそれぞれ受取る。 各アレイ14に関連するワード・レコーダ22
及びビツト・デコーダ24に加えて、各カード1
2は4ビツトのチツプ・アドレスC0′ないしC3′を
受取るチツプ・デコーダ26を含む。チツプデコ
ーダ26は、各カード12に設けられた16個のア
レイ14のうち1個の出力を選択する。 チツプ・アドレス・ビツトC0′ないしC3′は排他
的OR回路30aないし30dのそれぞれの出力
であり、該回路はメモリ・アドレス・レジスタ3
2からアドレス・ビツトC0ないしC3をそれぞれ
受取るとともに、シフト・レジスタ形式の制御レ
ジスタ34から他のアドレス・ビツトZ0ないしZ3
をそれぞれ受取る。従つて、もしアドレス・ビツ
トZ0ないしZ3の全部が0であれば、チツプ・デコ
ーダ26はメモリ・アドレス・レジスタ32によ
つて要求された特定のアレイ14をアクセスする
ことになる。さもなければ、すなわち制御レジス
タ34中のアドレス・ビツトZ0ないしZ3の組合せ
が他のものであれば、チツプ・デコーダ26は他
のアレイ14のうち1個をアクセスする。 要約すると、メモリ・アドレス・レジスタ32
は、8アドレス・ビツトC0ないしC3,W0,W1,
B0,B1をすべてのカード121ないし12oへ共
通に転送する。各カード12では、アドレス・ビ
ツトW0,W1,B0,B1は16個のアレイ14にあ
る同じセル10をアクセスする。アドレス・ビツ
トC0′ないしC3′は各カード12に設けられた16個
のチツプのうち1個を選択し、かくてその出力を
アクセスされたメモリ・ワードのビツトB1ない
しB72の1つとして読出す。もしアドレス・ビツ
トZ0ないしZ3の全部が0であれば、各カード12
の同じアレイ14にある同じビツト位置がアクセ
スされる。一方、もし任意のカード12iに設け
られた制御レジスタ34の内容Z0ないしZ3が全部
0でなければ、このカード12iのビツト出力Bi
は他のアレイ14の同じビツト位置から供給され
る。 本発明に従つて、制御レジスタ34の内容は、
チツプの障害に関する記憶データに基いて選択さ
れる。本明細書では、このプロセスを抽象的な用
語で記述するのではなく、或る例をあげてこれを
順々に説明してゆくことにする。第2図の障害マ
ツプを参照するに、そこには第1図に示したメモ
リの最初の10ビツト位置B1ないしB10に存在する
複数の障害が示されている。以下の記述では、説
明の便宜上、メモリ中の残りのビツト位置にはエ
ラーが存在しないものと仮定する。第2図では、
障害のあるアレイ14は記号Xで示されている。
図示の如く、16個のワード0ないしFのうち、ワ
ード6及び9は3ビツト・エラーを有し、ワード
0,2,3及びCは2ビツト・エラーを有し、ワ
ードA及びEは1ビツト・エラーを有するのに対
し、残りのワードはエラーを有さない。ここで、
このメモリは1エラー訂正及び2エラー検出
(SEC/DED)能力を備えているものと仮定す
る。第2図に示すように、このメモリにはエラー
のないワードが8個存在しているので、メモリ中
のすべての16ワードが訂正可能な1ビツト・エラ
ーのみをそれぞれ含むように、3ビツト・エラー
及び2ビツト・エラーを、エラーのない上記8個
のワードへ分散させることができる。 以下、本発明の再配列プロセスを実行する前、
実行している間及び実行した後の第1図のメモリ
における1組の障害マツプをそれぞれ示している
第2図ないし第6図を参照しつつ、この再配列プ
ロセスに使用されるアルゴリズムを説明する。 ステツプ1:最大のエラー分散能力
(errordispersion capability:PT)に従つてすべ
てのビツト・セクシヨン(以下単に「セクシヨ
ン」という)を識別する。すなわち、もし適切な
置換ベクトルを見つけることができれば、これが
分散可能なエラーの最大数である。たとえば、も
しセクシヨン3を成功裡に置換することができれ
ば、ワード2及びワード3が1ビツト・エラーの
みを有し且つワード9が(3ビツト・エラーの代
わりに)2ビツト・エラーを有するようにするこ
とができる。従つて、セクシヨン3の最大エラー
分散能力は3に等しい。同様に、4ビツト・エラ
ーを有するセクシヨン6では、適切な置換ベクト
ルによつて最大3ビツトのエラーを分散させるこ
とができる。この例では、セクシヨン3,6,
2,5,1,4,7,8は、潜在的に3、3、
2、2、1、1、1、1ビツトの整列エラーを分
散させることができる(第2図の最下部に示した
分散能力の数値を参照)。 ステツプ2:エラーのないすべてのワード・ア
ドレス、すなわちこの例ではワード・アドレス
1,4,5,7,8,B,D,Fを識別する。 ステツプ3:また、1ビツト・エラーを有する
セクシヨンに対応するようなすべてのワード・ア
ドレス、すなわちこの例ではワード・アドレス
3,6,9を識別する。というのは、セクシヨン
4,7,8はワード・アドレス3,6,9におい
て1ビツト・エラーを有するにすぎないからであ
る。これらのワード・アドレスは“無視
(don′tcare)”ワード・アドレスと呼ばれ、当該
アルゴリズムの後続反復ステツプの間に相互に両
立する(mutually compatible)置換ベクトルを
見つけるために使用することができる。 ステツプ4:最大のエラー分散能力を有する1
つのセクシヨンを選択する。この例では、セクシ
ヨン3及び6がこれに該当するので、これらのう
ち1つが選択されることになる。ここでは、セク
シヨン6が選択されるものとする。次に、セクシ
ヨン6における障害ワード・アドレス、すなわち
この例ではワード・アドレス6,9,C,Eを識
別する。 ステツプ5:セクシヨン6における各障害ワー
ド・アドレスと、ステツプ2で識別されたエラー
のないワード・アドレス及びステツプ3で識別さ
れた“無視”ワード・アドレスとの、排他的OR
演算を行う。この排他的OR演算によつて得られ
たベクトルから、相互に両立する置換ベクトルを
選択する。もし完全に両立する或るベクトルを見
つけることができなければ、“無視”置換ベクト
ル・セツトを使用するようにする。
【表】
6 6 6 6
6 6 6 6 6 6 6
6 6 6 6 6 6 6
Claims (1)
- 【特許請求の範囲】 1 各メモリ・ワードを構成するビツト位置の
各々が同一の論理アドレス・ビツトでアクセスさ
れるように構成されたメモリに付随して、障害ビ
ツトを複数のメモリ・ワード間に分配するように
選択された置換ビツトに基き、所与のビツト位置
に対する論理アドレス・ビツトをそれとは異なる
物理アドレス・ビツトに変換するための置換手段
を設けることにより、前記メモリの内容を保護す
るエラー訂正手段によつて訂正することができな
いメモリ・ワード中のエラー状態を除去するよう
にしたメモリ・システムにおいて: 特定の前記ビツト位置における各障害の物理ワ
ード・アドレスと障害を移動可能な複数の優先ワ
ード位置の各論理アドレスとの排他的OR演算を
各別に行い、この排他的OR演算によつて得られ
た複数の置換ビツトのうち最大数の障害を優先ワ
ード位置に移動させるような最適の置換ビツトを
前記特定のビツト位置のために選択し、すべての
訂正不能エラーが置換されるまで他の前記ビツト
位置のために前記演算及び選択操作を反復するよ
うにしたことを特徴とする、メモリ再構成方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/383,640 US4485471A (en) | 1982-06-01 | 1982-06-01 | Method of memory reconfiguration for fault tolerant memory |
US383640 | 1982-06-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58215800A JPS58215800A (ja) | 1983-12-15 |
JPH0136135B2 true JPH0136135B2 (ja) | 1989-07-28 |
Family
ID=23514037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58087772A Granted JPS58215800A (ja) | 1982-06-01 | 1983-05-20 | メモリ再構成方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4485471A (ja) |
EP (1) | EP0095669B1 (ja) |
JP (1) | JPS58215800A (ja) |
DE (1) | DE3380644D1 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4584682A (en) * | 1983-09-02 | 1986-04-22 | International Business Machines Corporation | Reconfigurable memory using both address permutation and spare memory elements |
US4729117A (en) * | 1985-03-20 | 1988-03-01 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
JPH071640B2 (ja) * | 1987-06-03 | 1995-01-11 | 三菱電機株式会社 | 半導体記憶装置の欠陥救済装置 |
US4943966A (en) * | 1988-04-08 | 1990-07-24 | Wang Laboratories, Inc. | Memory diagnostic apparatus and method |
JP2617026B2 (ja) * | 1989-12-22 | 1997-06-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 障害余裕性メモリ・システム |
US5155844A (en) * | 1990-02-14 | 1992-10-13 | International Business Machines Corporation | Background memory test during system start up |
IT1284244B1 (it) * | 1996-08-05 | 1998-05-14 | Texas Instruments Italia Spa | Sistema per produrre moduli di memoria simm utilizzando chip di memoria aram e per il loro collaudo |
US5809043A (en) * | 1996-10-08 | 1998-09-15 | Ericsson Inc. | Method and apparatus for decoding block codes |
DE10137332B4 (de) * | 2001-07-31 | 2014-11-06 | Qimonda Ag | Verfahren und Anordnung zur Ausgabe von Fehlerinformationen aus Halbleitereinrichtungen |
US6773083B2 (en) | 2001-08-29 | 2004-08-10 | Lexmark International, Inc. | Method and apparatus for non-volatile memory usage in an ink jet printer |
US7065697B2 (en) * | 2003-07-29 | 2006-06-20 | Hewlett-Packard Development Company, L.P. | Systems and methods of partitioning data to facilitate error correction |
US7051265B2 (en) * | 2003-07-29 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | Systems and methods of routing data to facilitate error correction |
US20070277083A1 (en) * | 2004-04-14 | 2007-11-29 | Koninklijke Philips Electronics, N.V. | Data Handling Device That Corects Errors In A Data Memory |
US7272774B2 (en) * | 2004-04-16 | 2007-09-18 | Kingston Technology Corp. | Extender card for testing error-correction-code (ECC) storage area on memory modules |
US7577890B2 (en) | 2005-01-21 | 2009-08-18 | Hewlett-Packard Development Company, L.P. | Systems and methods for mitigating latency associated with error detection and correction |
US7900100B2 (en) * | 2007-02-21 | 2011-03-01 | International Business Machines Corporation | Uncorrectable error detection utilizing complementary test patterns |
EP2063432B1 (de) * | 2007-11-15 | 2012-08-29 | Grundfos Management A/S | Verfahren zum Prüfen eines Arbeitsspeichers |
TW200947450A (en) * | 2008-05-09 | 2009-11-16 | A Data Technology Co Ltd | Storage system capable of data recovery and method thereof |
DE102018126051A1 (de) * | 2018-01-12 | 2019-07-18 | Taiwan Semiconductor Manufacturing Co. Ltd. | Neuartige Speichervorrichtung |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52124826A (en) * | 1976-04-12 | 1977-10-20 | Fujitsu Ltd | Memory unit |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3644902A (en) * | 1970-05-18 | 1972-02-22 | Ibm | Memory with reconfiguration to avoid uncorrectable errors |
US3897626A (en) * | 1971-06-25 | 1975-08-05 | Ibm | Method of manufacturing a full capacity monolithic memory utilizing defective storage cells |
US3781826A (en) * | 1971-11-15 | 1973-12-25 | Ibm | Monolithic memory utilizing defective storage cells |
US3814922A (en) * | 1972-12-01 | 1974-06-04 | Honeywell Inf Systems | Availability and diagnostic apparatus for memory modules |
US3812336A (en) * | 1972-12-18 | 1974-05-21 | Ibm | Dynamic address translation scheme using orthogonal squares |
US3906200A (en) * | 1974-07-05 | 1975-09-16 | Sperry Rand Corp | Error logging in semiconductor storage units |
JPS5528160B2 (ja) * | 1974-12-16 | 1980-07-25 | ||
DE2538579B2 (de) * | 1975-08-29 | 1977-09-29 | Verfahren zum ermoeglichen des einsatzes von teilfunktionsfaehigen halbleiter-speicherbausteinen in einem arbeitsspeichermodul und anordnung zu seiner durchfuehrung | |
US4064558A (en) * | 1976-10-22 | 1977-12-20 | General Electric Company | Method and apparatus for randomizing memory site usage |
-
1982
- 1982-06-01 US US06/383,640 patent/US4485471A/en not_active Expired - Lifetime
-
1983
- 1983-05-19 EP EP83104965A patent/EP0095669B1/en not_active Expired
- 1983-05-19 DE DE8383104965T patent/DE3380644D1/de not_active Expired
- 1983-05-20 JP JP58087772A patent/JPS58215800A/ja active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52124826A (en) * | 1976-04-12 | 1977-10-20 | Fujitsu Ltd | Memory unit |
Also Published As
Publication number | Publication date |
---|---|
EP0095669A2 (en) | 1983-12-07 |
US4485471A (en) | 1984-11-27 |
EP0095669A3 (en) | 1987-06-16 |
DE3380644D1 (en) | 1989-11-02 |
JPS58215800A (ja) | 1983-12-15 |
EP0095669B1 (en) | 1989-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5267242A (en) | Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing | |
JPH0136135B2 (ja) | ||
JP3982639B2 (ja) | マルチレベルセルを有するメモリからデータを読み取る方法 | |
US6996766B2 (en) | Error detection/correction code which detects and corrects a first failing component and optionally a second failing component | |
US6976194B2 (en) | Memory/Transmission medium failure handling controller and method | |
US6973613B2 (en) | Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure | |
EP0989491B1 (en) | Technique for partioning data to correct memory part failures | |
US6662333B1 (en) | Shared error correction for memory design | |
US5537425A (en) | Parity-based error detection in a memory controller | |
US5745508A (en) | Error-detection code | |
US10795763B2 (en) | Memory system and error correcting method thereof | |
US7188296B1 (en) | ECC for component failures using Galois fields | |
JPS6237423B2 (ja) | ||
US4584682A (en) | Reconfigurable memory using both address permutation and spare memory elements | |
US7293221B1 (en) | Methods and systems for detecting memory address transfer errors in an address bus | |
US4461001A (en) | Deterministic permutation algorithm | |
US20160266824A1 (en) | Reliability-aware memory partitioning mechanisms for future memory technologies | |
US4453248A (en) | Fault alignment exclusion method to prevent realignment of previously paired memory defects | |
US20140281681A1 (en) | Error correction for memory systems | |
US11681458B2 (en) | Memory device and method reading data | |
CN112017724B (zh) | 存储系统和在存储系统中纠正错误的方法 | |
US10747456B2 (en) | Memory controller, memory module, and memory system and operation methods thereof | |
US10250279B2 (en) | Circuits and methods for writing and reading data | |
US11942173B2 (en) | Memory apparatus and semiconductor system including the same | |
US11914887B2 (en) | Storage device and data accessing method using multi-level cell |