JPH0136134B2 - - Google Patents

Info

Publication number
JPH0136134B2
JPH0136134B2 JP58051715A JP5171583A JPH0136134B2 JP H0136134 B2 JPH0136134 B2 JP H0136134B2 JP 58051715 A JP58051715 A JP 58051715A JP 5171583 A JP5171583 A JP 5171583A JP H0136134 B2 JPH0136134 B2 JP H0136134B2
Authority
JP
Japan
Prior art keywords
memory
bit
card
address
bits
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
Application number
JP58051715A
Other languages
English (en)
Other versions
JPS58177600A (ja
Inventor
Kureigu Botsusen Dagurasu
Shau Myuuyu
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 JPS58177600A publication Critical patent/JPS58177600A/ja
Publication of JPH0136134B2 publication Critical patent/JPH0136134B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • 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/1024Identification 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)

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、
September1973、page1245なる文献には、メモ
リ・ビツトのスワツプを行うためのアドレス修正
方式が記述されている。この方式では、特定ビツ
ト・アレイのデコーダへ供給されるアドレスは、
メモリ・ワードの特定ビツト位置に関連するシフ
ト・レジスタに記憶されたデータの関数として、
論理回路によつて修正される。この論理回路は、
特定ビツト位置のデコーダに加わる各入力ごとに
1つの排他的ORゲートを含んでいる。排他的
ORゲートの各々はその入力としてワード・アド
レスの1デイジツト及び或るシフト・レジスタ段
の出力を受取り、そしてその出力をデコーダの1
入力へ供給する。前記文献のものでは、障害ビツ
トのデコーダ入力アドレスは、この障害ビツトが
要求されるときこれに代つてビツト位置0がアク
セスされるように、シフト・レジスタに配置され
る。一方、前記特許のものでは、ガロア体の異な
る数が各シフト・レジスタ段にそれぞれ記憶され
る。すなわち、0が第1ビツト位置のシフト・レ
ジスタに記憶され、以下同様の操作が行われて、
最後に必要とされる最大数が最終ビツト位置のシ
フト・レジスタに記憶されるのである。多重ビツ
ト・エラーが検出される場合、第1ビツト位置の
シフト・レジスタを除く各シフト・レジスタは1
ガロア数だけシフトされる。このことは障害メモ
リ・ワードを構成する諸ビツトを分散させること
によつて、検出された多重ビツト・エラーが取除
かれることを保証する。この分散の結果、障害ビ
ツトの各々は異なるメモリ・ワードに終結し、か
くして訂正不能な多重ビツト・エラー状態が訂正
可能な多数の1ビツト・エラー状態へ変更される
ことになる。 この方式の1つの利点は、検出された多重ビツ
ト・エラー状態が1回目の試行操作で除去される
という点にある。また、この操作で以前に訂正さ
れた多重ビツト・エラー状態が再現しないという
利点もある。しかしながら、この方式は訂正中の
メモリ・ワード又は他のメモリ・ワードに訂正不
能な新しいエラー状態を生ぜしめることがある。
この生起確率は、メモリが大容量となり且つ障害
ビツトの数が増えるにつれて、増大する傾向があ
る。従つて、一層改良されたビツト・スワツプ方
式を提供することが望ましい。 前記文献は、障害ビツトの位置が既知である場
合にはそのアクセスを回避しうることを示してい
る。また、米国特許第3781826号及び第3897626号
には、障害ビツトの位置に関するテスト結果を使
用し、該位置に従つて諸チツプを複数のグループ
へ分割することが記述されている。後者の特許の
ものでは、同じセクシヨンに障害領域を有する各
チツプは各メモリ・カード上に同じパターンで配
置される。そして、どのメモリ・ワードも1より
多い障害ビツトを含まないように、エラーをスキ
ユーさせるためのアドレス配線が行われる。もし
エラー検出及び訂正手段によつて所与の障害が検
出されるならば、障害メモリ・ワードのアドレス
の2セクシヨンを排他的ORすることにより、障
害ビツトを識別することができる。 〔発明の概要〕 本発明によれば、メモリ・ワード間のビツト・
スワツピングは、当該メモリにおける障害ビツト
に関するデータを使用することによつて行われ
る。ビツト・アドレスの置換(permutation)は
排他的プロセスによつて行われ、該プロセスは
(メモリのエラー訂正回路によつては訂正不能な)
ビツト障害の整列に帰着するようなアドレスの組
合せを識別するとともに、他の組合せに対する選
択プロセスを制限する。訂正不能な障害の組合せ
を決定するために、種々の障害は、チツプ障害、
ワード線障害、ビツト線障害又はビツト障害如き
型によつて類別される。然る後、ビツト・アドレ
スは、障害の数の減少順に置換される。 従つて、本発明の目的は、訂正不能なエラー状
態を訂正可能なエラー状態へ変更するように、メ
モリ・ワード中のビツトをスワツプするための方
式を提供することにある。 本発明の他の目的は、メモリ中の障害セルに関
するデータを使用してメモリ・ワード中のビツト
をスワツプすることにある。 本発明の他の目的は、エラーの型によつて類別
された既知のエラー状態に基いてメモリ・ワード
中のビツトをスワツプすることにある。 〔発明の詳細な説明〕 第1図を参照するに、72ビツト(n=72)のメ
モリ・ワードを構成する各ビツト位置Bp1乃至
Bp72の記憶セル10は、各ビツト位置に対応する
各メモリ・カード12中の複数のアレイ14にそ
れぞれ配列される。アレイ14は16ビツトのアレ
イであり、各セル10は4本のワード線18と4
本のビツト線20の交点にそれぞれ配置される。
各アレイ14は対応するワード・デコーダ22及
びビツト・デコーダ24を通してアドレスされ、
該デコーダは2ビツト・アドレスW0,W1及び
B0,B1をそれぞれ受取る。 各アレイ14に関連するワード・デコーダ22
及びビツト・デコーダ24に加えて、各カード1
2はチツプ・アドレス・ビツトC0′,C1′を受取る
ようなチツプ・デコーダ26を含む。このチツ
プ・デコーダ26は、所与のANDゲート28を
付勢することによつて、各カード12に設けられ
た4個のアレイ14のうち1個の出力を選択す
る。 チツプ・アドレス・ビツトC0′,C1′は排他的
OR回路30及び32のそれぞれの出力であり、
該回路はメモリ・アドレス・レジスタ33からア
ドレス・ビツトC0,C1を受取るとともに、シフ
ト・レジスタ形式の制御レジスタ34から他のア
ドレス・ビツトZ0,Z1をそれぞれ受取る。従つ
て、もしアドレス・ビツトZ0,Z1がともに0であ
れば、チツプ・デコーダ26はメモリ・アドレ
ス・レジスタ33によつて要求された特定のアレ
イ14をアクセスすることになる。さもなけれ
ば、すなわち制御レジスタ34中のアドレス・ビ
ツトZ0,Z1の組合せが他のものであれば、チツ
プ・デコーダ26は他の3個のアレイ14のうち
1個をアクセスする。 要約すると、メモリ・アドレス・レジスタ33
は6アドレス・ビツトC0,C1,W0,W1,B0
B1をすべてのカード12a乃至12nへ共通に
転送する。各カード12では、アドレス・ビツト
W0,W1,B0,B1は4個のアレイ14にある同
じセル10をアクセスする。アドレス・ビツト
C0′,C1′は各カード12に設けられた4個のチツ
プのうち1個を選択し、かくてその出力をアクセ
スされたメモリ・ワードのビツトBp1乃至Bp72
1つとして読出す。もしアドレス・ビツトZ0,Z1
がともに0であれば、各カード12の同じアレイ
14にある同じビツト位置がアクセスされる。一
方、もし任意のカード12iに設けられた制御レ
ジスタ34の内容Z0,Z1がともに0であれば、こ
のカード12iのビツト出力Bpiは他のアレイ1
4の同じビツト位置から供給される。 本発明に従つて、制御レジスタ34の内容はチ
ツプの障害に関する記憶データに基いて選択され
る。図示された実施態様では、これらの障害は型
によつて類別される。すなわち、この記憶データ
は当該チツプに存在する障害の型を指定する。第
2図を参照すれば、このことが一層良く理解でき
る。第2図は第1図に示したものと同じ4個のカ
ードA0乃至A3を示しているが、ここでは互いに
異なる4種類の障害が生じうるものと想定されて
いる。即ち、カードA0ではチツプ10上のすべ
てのビツトが障害を有する。これをチツプ障害
(又はチツプ・キル)と呼ぶ。チツプ障害を識別
するには、当該チツプのアドレスに続いて4個の
Xを与えることが必要である(例:10、
XXXX)。また、カードA0のチツプ11では、ワ
ード線10上のすべてのビツトが障害を有する。
これをワード線障害と呼ぶ。ワード線障害を識別
するには、当該チツプのアドレス及び当該ワード
線のアドレスに続いて2個のXを与えることが必
要である(例:11、10、XX)。第3の型の障害
は、所与のビツト線に沿つて配列されたすべての
ビツトが応答しないようなものである。これをビ
ツト線障害と呼ぶ。カードA2では、チツプ10
上のビツト線10がこのような障害を有する。ビ
ツト線障害を識別するには、当該チツプのアドレ
スと当該ビツト線のアドレスとの間に2個のXを
挿入することが必要である(例:10、XX、10)。
最後の型の障害は、カードA3のチツプ11に見
られるような、ビツト障害である。このビツト障
害を識別するには、当該ビツトのチツプ・アドレ
ス、ワード・アドレス及びビツト線アドレス・を
与えることが必要である(例:11、00、10)。 第2図には、前記した型の種々の障害が示され
ている。これらの障害ビツトを識別するための障
害マツプは次のようになる。 {A0j}=10、XX、XX;11、10、XX A1j =11、00、XX A2j =00、11、XX;10、XX、10 A3j =11、00、10 但し、{Aij}=カードAiに設けられたアレイに
おける既知の障害ビツトのアドレス XX=リストされたアドレスにおける障
害状態 第2図から理解しうるように、この単純化され
たメモリの諸ワードは、すべてのカードのすべて
の制御レジスタ34においてZ1及びZ2がともに0
へセツトされているとき、多重ビツト・エラー状
態を有することになろう。たとえば、メモリ・ワ
ード110010は、カードA1におけるワード線障害
及びカードA3におけるビツト線障害の結果とし
て、多重ビツト・エラー状態を有する。またメモ
リ・ワード100010、100110、101010及び101110
は、カードA0におけるチツプ障害及びカードA2
におけるビツト障害の結果として、多重ビツト・
エラー状態を有する。 米国特許第3812336号で記述されているように、
これらの多重ビツト・エラー状態は、1つ以上の
制御レジスタ34中のデータを変更することによ
つて取除くことができる。たとえば、メモリ・ワ
ード110010における2ビツト・エラー状態は、カ
ードA3における完全なチツプのビツトを使用す
ることによつて取除くことができる。このことを
可能にするには、制御レジスタ34dの内容を00
から01、10又は11へ変更すればよい。しかしなが
ら、制御レジスタ34dの内容を選択する場合、
他のワード線に多重ビツト・エラー状態を導入し
ないように注意しなければならない。このため、
本発明では所与のアルゴリズムに従つてコード化
されたプロセツサ手段を使用し、前述の如き障害
マツプ中のデータを調べることにより、制御レジ
スタ34の内容の種々の組合せについて生ずる各
種の衝突を識別するようにしている。 ここで、CR0、CR1……、CRo-1をn個の制御
レジスタ34の内容であると仮定し、CRiの各々
がrビツト長であると仮定する。また、{Aij}が
カードAiに存在する1組の障害ビツトのアドレス
(障害アドレスの集合)であると仮定する。障害
アドレスの集合{Aij}が与えられると、制御レ
ジスタの内容CRiは、複数組の計算結果CR1
{A1j}、CR2{A2j}、……、CRo{Aoj}が互
いに素となるように選ばれなければならない。こ
れは、以下のアルゴリズムに従つて制御レジスタ
の内容CRiを計算することにより、完全にするこ
とができる。云いかえれば、制御レジスタの内容
CRiはいかなるエラーも同じワードに置かれない
ようなものでなければならない。これは次のよう
にして行うことができる。 ステツプ 1:CR0=00をセツト 2:A=零をセツト 3:i=0をセツト 4:A=AU{Aij}CRiを計算 5:i=i+1をセツト 6:Bi=A{Aij}を計算 7:CRii(Biにはない任意の要素)をセツ
ト 8:もしiが空(零集合)であれば、終了す
る。 9:もしi=n−1であれば、出口に行く。さ
もなければ、ステツプ4まで行き、上記ス
テツプを継続する。 但し、{Aij}=カードAi(i=0、1、…、n−
1)上の障害アドレスの集合 i=任意のカード0、…、n−1 A=当該アルゴリズムによつて決定され
且つ使用される累積された置換障害アド
レスの集合 U=集合論で使用される直和を表わす記
号 このアルゴリズムはAPLで実現することがで
き、これを流れ図の形式で示せば第4図のとおり
である。但し、この場合において、Aはアルゴリ
ズム中の当該実行点まで置換されたすべての障害
の論理アドレス・リストであり、は以下の真理
値表によつて定義された排他的OR演算である。
【表】 但し、0、1、Xは以下の真理値表によつて定
義される。
【表】 これらの真理値表は、第3図に示した排他的
OR回路の動作を定義する。この排他的OR回路
はハードウエア形式の実現形態で使用され、前述
のアルゴリズムにおけるステツプ4及び6を計算
するために使用することができる。 ここで、第4図のアルゴリズムに第2図の障害
アドレスをそれぞれ代入することにより、制御レ
ジスタの内容CRiをそれぞれ次のようにして求め
ることができる。
【表】
【表】 このようにして求めたCRiを該当する制御レジ
スタ34に挿入すると、第2図に示した種々の障
害は第5図に示すように適正に再配列されること
になる。すなわち、第2図のカードA2における
チツプ・アドレス00及び10は実効的に他のチツ
プ・アドレス11及び01にそれぞれ変換され、そし
て第2図のカードA3におけるチツプ・アドレス
11は実効的に他のチツプ・アドレス00に変換され
るのである。 このアルゴリズムは他のソフトウエアで実現す
ることもできる。以下にはその1つの例が示され
ている。但し、以下の例では、障害の表示は、殆
んどのプログラミング言語に適合するように、2
進表示ではなく、10進表示でなされている。 第6図の4ビツト・アレイは、アドレス・ビツ
トが10進表示で表わされている点を除くと、第2
図のアレイと同様の構成を有する。第6図で黒く
示した領域は、当該メモリの障害ビツトを表わ
す。第6図から以下の障害マツプを生成すること
ができる。 カード チツプ ワード線 ビツト線 0 2 0 0 1 0 4 3 1 1 3 0 2 1 0 3 3 2 1 4 第6図から容易に理解しうるように、当初はメ
モリ・ワード1,3,3及び2,1,4に訂正不
能なエラーが存在する。まず、10進表示がどのよ
うに作用するかを理解するために、カード2へ
CR値2が加わり、カード3へCR値1が加わるも
のとする。そうすると、カード2における障害チ
ツプの論理アドレスは1から3へ変わる。これ
は、その物理アドレス1と加えられたCR値2と
の排他的OR演算結果である。同様に、カード3
における障害チツプの論理アドレスは2から3=
2+1に変わる。かくて、当該メモリは実効的に
第7図に示すように再構成され、従つて訂正不能
なエラーはもはや存在しないことがわかる。前述
のように、CR値を適切に選択することにより、
第6図の実施態様における訂正不能なエラーを分
散させうることを説明したので、以下ではAPL
で記述するに適したCR選択アルゴリズムを説明
する。 一層詳細には、このアルゴリズムは次のように
進行する。 (1) A0をカード0における障害のリストである
とする。かくて、このアルゴリズムの任意の実
行点におけるAは、この点に至るまで障害チツ
プの論理アドレスで置換された障害のリストと
なる。カード0は置換しないので、CR=0と
なる。 (2) N=0をセツトする。 (3) Nを1だけ増分する。 (4) I=0をセツトする。 (5) Iを1だけ増分する。 (6) カードNにおける障害をANで表わし、AN
における第I番目の障害をANIで表わすもの
とする。またAにおける全障害の論理チツプ・
アドレスを含む集合であつて、ANIが所与の
障害と同じ論理チツプ・アドレスを占有するよ
うにカードNが置換された場合にはANIがこ
の障害とともに訂正不能エラーを生ぜしめるよ
うな特性を有する集合を、CANHITで表わす
ものとする。かくて、CANHITの1つの要素
を、ANIにその論理チツプ・アドレスとして
与えるようなCR値を取除くことが要請される。
これらのCR値は次のように表わされる。 (ANIの物理チツプ・アドレス)CR∈
CANHIT、又は CR∈(ANIの物理チツプ・アドレス)
CANHITかくて、CANHIT中の値とANIの物
理チツプ・アドレスとの排他的OR演算を行な
い、そしてその結果値を考察中のCR値の集合
から取除く。 (7) もしIがAN中の障害の数より小さければ、
ステツプ5に進む。 (8) もしCRの値のうち取除かれなかつた任意の
値が存在するならば、その1つの値(たとえば
最初の値)を第N番目のカードに対するCR値
として選択する。さもなければ、終了する(こ
の場合、当該メモリにおける訂正不能なすべて
のエラーを分散させることに失敗したことにな
る)。 (9) もしNが当該メモリにおける最終カードの番
号よりも小さければ、ステツプ3に進む。さも
なければ、当該メモリにおける訂正不能なすべ
てのエラーを成功裡に分散させたことになる。
以下のAPLプログラムは本明細書の補足資料
として提供される。 第6図のメモリに作用する場合のこのアルゴリ
ズムを以下カードごとに説明する。 カード0:カード0を置換する必要はないから、
CR=0となる。かくてAは1×4の
マトリクス(0、2、0、0)であ
る。 カード1:A1は次に示すとおり2×4のマトリ
クスである。 1 0 4 3 1 1 3 0 従つて、A11は(1、0、4、3)であり、
CANHIT=2である。というのは、チツプ障害
(9、2、0、0)とA11とが同一の論理チツ
プ・アドレスへ置かれたならば、訂正不能エラー
を生ぜしめるからである。かくて、 CR∈(A11の物理チツプ・アドレス)
CANHIT、又は CR∈02、又は CR=2 を満足するようなCRが取除かれる。ここで、CR
についての選択の余地は0、1及び3である。 A12=(1、1、3、0)であり、そして
CANHITは依然として2であるから、CR値3=
12を取除くことが望ましい。今やCRについ
ての選択の余地は0及び1である。CR=0が選
択され、かくてカード1は全く置換されないこと
になる。この場合、Aは次のとおりである。 0 2 0 0 A=1 0 4 3 1 1 3 0 カード2:A2=(2、1、0、3)であり、
CANHIT=0、1、2である。次の
条件を満足するCRが取除かれる。 CR∈1{0、1、2}={1、0、3} 今や残つている唯一のCR値はCR=2である。
これを適用すると、A2における障害の論理アド
レスは(2、3、0、3)となり、従つてAは次
のとおりとなる。 0 2 0 0 A=1 0 4 3 1 1 3 0 2 3 0 3 カード3:A3=(3、2、1、4)であり、
CANHIT=2である。CR=0=2
2が取除かれる。CRについての選択
の余地は1、2、3である。CR=1
が選択され、従つてA3における障害
の論理アドレスは(3、3、1、4)
となる。最後的に、Aが次のように得
られる。 0 2 0 0 1 0 4 3 A=1 1 3 0 2 3 0 3 3 3 1 4 基本的アルゴリズムについてなされた、簡単で
はあるが強力な増強策は、メモリの諸カードを考
察する当該アルゴリズムの順序に関係する。前述
のように、このアルゴリズムはこのメモリを“左
から右へ”順次に進行する。すなわち、諸カード
がその順序0、1、2、……どおりに考察される
のである。このアルゴリズムを大幅に改善するに
は、すべての状況について同一の任意的順序付け
を使用するのではなく、考察中の特定の障害マツ
プを考慮したカード順序付けを使用することがで
きる。 一般に、このアルゴリズムはエラーの数に従つ
たカードの順序付けを含む。このアルゴリズムを
実行中の特定の点で、CR値を探そうとしている
カードが“悪く”なるにつれて、すなわちこのカ
ードの“障害度”が大きくなるにつれて、その
CR値に対する選択の余地は一層小さくなる。さ
らに、他のすべての条件が同等である場合、この
アルゴリズムで既に考慮された障害が増大するに
つれて、集合“A”における障害によつて既に占
有されているメモリ中の論理アドレスが増大する
ので、CR値に対する選択の余地が一層小さくな
る。かくて、もしこのアルゴリズムが“最悪”の
カードを最後に考慮するならば、その成功の見込
みは殆んどなく、従つて該カードについて適切な
CRを見出すことはできないであろう。そうする
と、これらのカードを“最悪”の側から“最良”
の側へ順番に取ることが理に適つている。 このような順序付けを正確に規定するには、
“最悪”という意味を正確に決定することが必要
である。これらのカードを順序付けする上で成功
を収めた簡単な方法は、“最悪”のカードを“最
大”の障害セルを含むカードと定義することであ
る。かくて、当該アルゴリズムでこの方式を使用
すると、最も障害の多いセルから順番に複数のセ
ルが取られる。図示されたメモリでは、各ビツト
線又は各ワード線の障害は4障害セルとしてカウ
ントされ、各チツプ障害は16障害セルとしてカウ
ントされる。 たとえば、前述の順序付け方式を第6図のメモ
リで使用すると、当該アルゴリズムは複数のカー
ドを0、1、2、3の順番に取るので、当該アル
ゴリズムは成功することになる。 もちろん、他の順序方式も可能である。たとえ
ば、“最悪”のカードを、障害のない完全なチツ
プ数が最も少ないカードとして定義することがで
きる。 アドレス置換を実現する際に可能な変形は、ワ
ード線及び/又はビツト線アドレスをチツプ・ア
ドレスとともに置換することである。 他の変形は第4図のステツプ8を修正すること
により、iが空である場合には、当該アルゴリズ
ムが以前のCR値の選択に戻り、そして1より多
い選択が可能であつた場合とは異なる選択を行う
ようにすることである。 第8図を参照するに、第1図に示したものと同
様のメモリ40は通常のエラー訂正(ECC)論
理42によつて検査される。ECC論理42から
訂正不能エラー信号が生ずると、メモリ・テスタ
44によつてメモリ・アレイのテストが行われ
る。テスタ44は、訂正不能エラーを有するメモ
リ位置へテスト・パターンを印加するための装置
である。たとえば、テスタ44はオール1のパタ
ーンに続いてオール0のパターンをこのようなメ
モリ位置へ印加することにより、0又は1に縮退
されたビツトを決定することができる。障害ビツ
トが識別された場合、これらのアドレスは障害マ
ツプ46中のメモリに(本明細書で説明した様式
又は目的に応じて他の様式に従つて)記憶され
る。 また訂正不能エラー状態は、制御レジスタ34
中のデータを変更して訂正不能エラー状態を取除
くために、置換発生論理48の動作を開始させ
る。本発明に従つた置換発生論理48は前述のア
ルゴリズムを実行可能なマイクロコード化プロセ
ツサである。 置換発生論理48の出力はメモリ40の種々の
ビツト位置に対するCR値であるから、これらの
CR値は制御レジスタ34へ供給される。制御レ
ジスタ34はLSSD式シフト・レジスタで構成す
ることが可能であり、こうするとLSSDチエーン
に沿つて適正な制御レジスタ段へデータをシフト
することができる。 本発明の実施態様は前述のとおりであるが、他
の実施態様も可能である。たとえば、前掲の米国
特許第3812336号に記述されているように、各ビ
ツトの位置を単一のアレイに設けることも可能で
ある。また、ワード線及びビツト線を置換するこ
とも可能である。
【図面の簡単な説明】
第1図は本発明が適用されるメモリの概略図、
第2図は第1図のメモリにおける1組の障害を示
す図、第3図は第1図のメモリで使用するに適し
た排他的OR回路を示す図、第4図は訂正不能エ
ラーを再配列するための本発明のアルゴリズムを
示す流れ図、第5図はメモリ・アドレスを第4図
のアルゴリズムに従つて再配列した後の第2図の
1組の障害を示す図、第6図は第1図のメモリに
おける他の障害を示す図、第7図はメモリ・アド
レスを第4図のアルゴリズムに従つて再配列した
後の第6図の障害を示す図、第8図は本発明の実
施態様を包含するメモリ・システムを示すブロツ
ク図である。

Claims (1)

  1. 【特許請求の範囲】 1 各メモリ・ワードを構成するビツト位置の
    各々が同一の論理アドレス・ビツトでアクセスさ
    れるように編成されたメモリに付随して、障害ビ
    ツトを複数のメモリ・ワード間に分配するように
    選択された置換ビツトに基き、所与のビツト位置
    に対する論理アドレス・ビツトをそれとは異なる
    物理アドレス・ビツトに変換するための置換手段
    を設けることにより、前記メモリの内容を保護す
    るエラー訂正手段によつて訂正することができな
    いメモリ・ワード中のエラー状態を除去するよう
    にしたメモリ・システムにおいて: 前記メモリにおける既知の障害をその物理アド
    レス及び障害の型の組合せで記憶するための記憶
    手段と; 前記メモリの所与のビツト位置に対する前記置
    換ビツトを、他のビツト位置における障害の既知
    の論理アドレス並びに該所与のビツト位置におけ
    る障害の物理アドレス及び障害の型に基いて選択
    するための選択手段とを備えて成る、メモリ・シ
    ステム。
JP58051715A 1982-03-29 1983-03-29 メモリ・システム Granted JPS58177600A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US362925 1982-03-29
US06/362,925 US4461001A (en) 1982-03-29 1982-03-29 Deterministic permutation algorithm

Publications (2)

Publication Number Publication Date
JPS58177600A JPS58177600A (ja) 1983-10-18
JPH0136134B2 true JPH0136134B2 (ja) 1989-07-28

Family

ID=23428077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58051715A Granted JPS58177600A (ja) 1982-03-29 1983-03-29 メモリ・システム

Country Status (4)

Country Link
US (1) US4461001A (ja)
EP (1) EP0090219B1 (ja)
JP (1) JPS58177600A (ja)
DE (1) DE3380573D1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4943967A (en) * 1982-02-15 1990-07-24 Hitachi, Ltd. Semiconductor memory with an improved dummy cell arrangement and with a built-in error correction code circuit
US5177743A (en) * 1982-02-15 1993-01-05 Hitachi, Ltd. Semiconductor memory
US4506364A (en) * 1982-09-30 1985-03-19 International Business Machines Corporation Memory address permutation apparatus
US4584682A (en) * 1983-09-02 1986-04-22 International Business Machines Corporation Reconfigurable memory using both address permutation and spare memory elements
US5133061A (en) * 1987-10-29 1992-07-21 International Business Machines Corporation Mechanism for improving the randomization of cache accesses utilizing abit-matrix multiplication permutation of cache addresses
JPH02232754A (ja) * 1989-03-07 1990-09-14 Nec Corp 記憶装置のアドレス交替方式
US5392288A (en) * 1991-02-08 1995-02-21 Quantum Corporation Addressing technique for a fault tolerant block-structured storage device
US5485588A (en) * 1992-12-18 1996-01-16 International Business Machines Corporation Memory array based data reorganizer
US5873126A (en) * 1995-06-12 1999-02-16 International Business Machines Corporation Memory array based data reorganizer
NL1000669C2 (nl) * 1995-06-26 1996-12-31 Nederland Ptt Werkwijze en inrichtingen voor het overdragen van data met controle op transmissiefouten.
US5867507A (en) * 1995-12-12 1999-02-02 International Business Machines Corporation Testable programmable gate array and associated LSSD/deterministic test methodology
FR2787216B1 (fr) * 1998-12-11 2001-07-27 Bull Cp8 Procede de stockage et d'exploitation d'unites d'information dans un module de securite, et module de securite associe
US6370668B1 (en) * 1999-07-23 2002-04-09 Rambus Inc High speed memory system capable of selectively operating in non-chip-kill and chip-kill modes
US6678836B2 (en) * 2001-01-19 2004-01-13 Honeywell International, Inc. Simple fault tolerance for memory
JP4245585B2 (ja) * 2005-06-13 2009-03-25 Tdk株式会社 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2013114644A (ja) * 2011-12-01 2013-06-10 Fujitsu Ltd メモリモジュールおよび半導体記憶装置
JP6841698B2 (ja) * 2017-03-21 2021-03-10 ルネサスエレクトロニクス株式会社 半導体装置
US11144471B1 (en) 2020-05-07 2021-10-12 Micron Technology, Inc. Dual address encoding for logical-to-physical mapping

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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
US3812336A (en) * 1972-12-18 1974-05-21 Ibm Dynamic address translation scheme using orthogonal squares
JPS52124826A (en) * 1976-04-12 1977-10-20 Fujitsu Ltd Memory unit
JPS5922320B2 (ja) * 1976-09-10 1984-05-25 富士通株式会社 記憶装置

Also Published As

Publication number Publication date
US4461001A (en) 1984-07-17
EP0090219A3 (en) 1986-12-03
EP0090219A2 (en) 1983-10-05
DE3380573D1 (en) 1989-10-19
JPS58177600A (ja) 1983-10-18
EP0090219B1 (en) 1989-09-13

Similar Documents

Publication Publication Date Title
US5267242A (en) Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
US7797609B2 (en) Apparatus and method for merging data blocks with error correction code protection
JP3982639B2 (ja) マルチレベルセルを有するメモリからデータを読み取る方法
JPH0136134B2 (ja)
US4464747A (en) High reliability memory
US5745508A (en) Error-detection code
US6662333B1 (en) Shared error correction for memory design
EP0136443B1 (en) Memory correction scheme using spare arrays
US5142540A (en) Multipart memory apparatus with error detection
US4506364A (en) Memory address permutation apparatus
EP0668561B1 (en) A flexible ECC/parity bit architecture
US5537425A (en) Parity-based error detection in a memory controller
US6751769B2 (en) (146,130) error correction code utilizing address information
KR20040064259A (ko) 컴포넌트 실패를 검출 및 보정하고, 컴포넌트 실패 후에단일 비트 에러보정을 제공하는 에러검출/보정 코드
EP0077204B1 (en) Error-correcting memory with low storage overhead and fast correction mechanism
US5109360A (en) Row/column address interchange for a fault-tolerant memory system
JPS593799A (ja) 稼動中に欠陥部を再配置できるメモリ・システム
KR920001104B1 (ko) 어드레스 라인 오류 테스트 방법
US4485471A (en) Method of memory reconfiguration for fault tolerant memory
GB2097157A (en) Semiconductor memory device
US4939733A (en) Syndrome generator for Hamming code and method for generating syndrome for Hamming code
EP0096780B1 (en) A fault alignment exclusion method to prevent realignment of previously paired memory defects
EP0954784A1 (en) Error detection and correction system for use with address translation memory controller
US6901552B1 (en) System for storing data words in a RAM module
US7000155B2 (en) Redundancy register architecture for soft-error tolerance and methods of making the same