JPH05508042A - コンピュータメモリにおける多数のエラー訂正 - Google Patents

コンピュータメモリにおける多数のエラー訂正

Info

Publication number
JPH05508042A
JPH05508042A JP91511488A JP51148891A JPH05508042A JP H05508042 A JPH05508042 A JP H05508042A JP 91511488 A JP91511488 A JP 91511488A JP 51148891 A JP51148891 A JP 51148891A JP H05508042 A JPH05508042 A JP H05508042A
Authority
JP
Japan
Prior art keywords
data
bits
error correction
bit
region
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
JP91511488A
Other languages
English (en)
Inventor
ベントン,マイケル・ケィ
ジャンセン,ジョン・エル
ジェニングス,アンドリュー・ティー
Original Assignee
ユニシス・コーポレイション
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 ユニシス・コーポレイション filed Critical ユニシス・コーポレイション
Publication of JPH05508042A publication Critical patent/JPH05508042A/ja
Pending 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/1016Error in accessing a memory location, i.e. addressing error
    • 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

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)
  • Detection And Correction Of Errors (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の背景 発明の分野 この発明は一般に誤り訂正コード(ECC)技術に関するものであり、より特定 的にはデータワードがECC目的のために多数の領域に分割されるECC方法に 関するものである。
先行技術の説明 エラー訂正および検出技術の使用は2進データを送信するか、またはストアする とき、デジタルデータ処理システムにおけるデータ一貫性を確実にするために極 めて重要である。いかなるデジタルシステムにおいても、送信器と受信器との間 のチャネルのノイズは、個々のビットが反転され、不適切なメツセージが受取ら れるようなエラーを導入し得る。線形ブロックコードはエラーを検出し、訂正し てデータ統合性を改良するために考案されてきた。これらのコードを使用して、 送信されるメツセージは情報ビットおよびいくつかのパリティビット、またはチ ェックビットからなる。チェックビットは送信器で計算され、発生される。
チェックビットは実際の情報ビットとともに送信され、受信器によってデコード される。
シンドロームビットは受信された情報およびチェックビットをデコードすること によって受信器で発生される。シンドロームビットを使用して、1つまたはそれ より多いエラーが発生したかどうか、およびいくつかのコードについてエラー発 生した2進ワードのビット位置を判別するとができる。検出および/または訂正 されるであろうエラーの数は使用されるコードによる。
ハミングコードは、与えられた数の情報ビットのための最小数のパリティピット に関して最も効率的であるように決定されており、それらはデータ処理システム において一般に使用される。3のハミング距離(すなわちコードの各ワード、デ ータビットおよびチェックビットが少なくとも3つの異なるビット位置でどのワ ードとも異なる。)を有するハミングコードを使用して、1ビツトエラーが訂正 され、2ビツトエラーが検出されることができる。もし1ビツトより多いビット エラー訂正を組込むことが必要であれば、コードのハミング距離が増加されねば ならない。コードのエラー訂正能力は次の公式によって与えられる。
エラー訂正能力= [(Dm i n −1) /2]ここでDminは最小の ハミング距離である。大括弧[]は(Dmin −1)/2の整数部分を示す。
この等式から、4の最小ハミング距離も1ビツトエラーを訂正し、2ビツトエラ ーを検出するであろうことが理解される。
データ処理およびコンピュータシステムは典型的にエラー訂正および検出のため に距離4の修正されたハミングコードを使用する。コードのハミング距離を増加 し、それによってエラー訂正能力を高めるために、チェックビットの数を増加す ることが必要である。
カッラマン(K2【ヱのan)らへの米国特許第4.817.091号に使用さ れるエラー訂正スキームはエラー訂正コードの典型例である。この例示的システ ムおいて、16ビツトデータフイールドは6ビツトチエツクフイールドによって 保護される。使用されるコード化スキームは距離4の修正されたハミングコード であり、各データビットは3つのチェックビットによって保護される。すなわち 、データビット中のエラーによって6つのチェックビットのうち3つが状態を変 化する。シンドロームが計算され、新しいチェックビットに対して古いチェック ビットを比較するとき、シンドロームは奇数パリティを有するであろう。このこ とは、1ビツトエラーが発生され、そのエラー場所のビット位置がエラーコード 発生表を調べることによって容易に見つかるであろうということを示す。チェッ クビットは16ビツトワードにわたって適用され、データビットおよびチェック ビットはいずれも同じ物理メモリアレイに置かれる。
データ処理システムにおいてECCの第2レベルを行なうことが可能である。ペ イチル(Patel )らへの米国特許第4.745.604号はディスクドラ イブ上にストアされたデータのために使用される2レベルECCを教示する。デ ータはサブブロックに分割され、各サブブロックは策ルベルECCを割当てられ る。さらに、篤2レベルECCはサブブロックおよび第2レベルECCビツトを 含むブロック全体について規定される。この方法は各レベルが順次計算されるの で、第2レベルECCの計算のための予備時間を必要とする。
フォルトートレラントメモリシステムを設計する際、ワードサイズ、エラー訂正 能力、ランダムアクセスメモリ(RAM)故障モード、および平均故障間隔時間 (MTBF)の影響を考慮することが望ましい。異なるワードサイズについての MTBF分析はワードサイズとMTBFとの逆関係を示す。ワードサイズが大き くなるほど、より多数のビットが記憶または送信され、ワードの少なくとも1つ のビット位置においてエラーが発生するであろう可能性を増加させる。もし訂正 されるべきエラーの数が1から2へ増加されると、同数の情報ビットについてよ り多くのチェックビットが必要とされる。記憶された(または転送された)デー タの量におけるこのような増加はMTBFを実際に短縮するであろう。
ダイナミックランダムアクセスメモリ(DRAM)の故障モードの分野研究は、 全集積回路(IC)の故障がMTBFに実質的影響を及ぼすことを示す。1ビツ ト故障は全IC故障よりしばしば発生するが、孤立ビットの故障は1ビツトエラ ー訂正コードによって容易に訂正される。全ICの故障の結果、典型的にECC 方法が訂正することができるより多数の訂正されないビットが生じる。DRAM 内のビットの数のために、IC全体の故障は多くのシステム故障の原因となる。
ヤマダ(Yaauda) ヘの米国特許第4.747.080号は自己訂正機能 を有する半導体メモリに関するものである。メモリアレイは冗長データセルを有 する。水平方向および垂直方向の両方のエラーチェックが行なわれる。個々のメ モリセルは群に配列され、1つの群の2つのセルは同じ水平方向または同じ垂直 方向のパリティビットを有さない。水平方向および垂直方向の両方のパリティチ ェックが行なわれているとき、誤ったセルが水平方向および垂直方向のパリティ チェック値の交点に位置決めされ得る。誤ったセルは位置決めされるとき、予備 セルの1つによって置換される。
自己訂正メモリアレイを使用するシステムは1ビツト故障に対して保護されるが 、IC全体の故障はこのシステムでは容易に訂正されることができない。
発明の概要 先行技術では、メモリ記憶システムに使用されるエラー訂正スキームは多数のチ ェックビットなしで大きいデータワードに対する保護を与えない。これらの追加 のチェックビットの記憶は、必要とされる予備のハードウェアのためにメモリシ ステムの平均故障間隔時間に悪影響を及ぼす。
したがって、データ精度の向上は典型的にシステムの信頼性の低下を伴う。この 発明において、データワードはゾーンに分割され、各ゾーンはそれ自身のエラー 訂正コードを有する。より小さいゾーンにワードを分割し、同時に多数のゾーン 上でエラー訂正を行なうことによって、1つのワード内の複数のエラーが訂正さ れるであろう。各ゾーンにおける同時のエラー訂正によって1つのゾーンエラー 処理に関して実質的により短い時間でシステム回復が許容される。
この発明の別の有利な特徴は物理メモリにおけるデータの割当てである。この発 明のこの実施例はデータおよびECC記憶のためにデュアル・イン−ライン・メ モリ・モジュール(Dual In−Line M!mor7 Module)  、またはDIMMを使用する。DIMMは6つのダイナミックRAM (DR AM)集積回路からなり、単一のパッケージとして構成される。DRAM集積回 路の各々は1メガビツトにつき1ビツトをストアすることができる。いかなる与 えられたデータワードに対しても、ECCゾーンごとに1ビツトだけしかDIM M内にストアされない。したがって、もしDIMMが壊滅的に故障すると、それ が含む6メガビツトのデータは別々のECCゾーンによって各々保護される。し たがって、このシステムはたとえDIMM全体が故障しても回復することができ る(すなわち各1ビツトエラーを訂正することができる)。
図面の簡単な説明 図1aは多数の中央処理装置(CP U)またはプロセッサがメインメモリに結 合されてもよい並列にパイプライン処理されたコンピュータシステムのブロック 図である。CPUll0が1つだけこの図で示される。
図1bは1つのデータワードを多数のゾーンに分けて表わす図である。
図2はメモリ全体にわたる図1bに示されるようなデータワードの構成を示すブ ロック図である。
図3は多数のDIMM上にストアされるデータワードのマツピングを示すブロッ ク図である。
図4はECCビットの群をそれらの対応するデータゾーンおよびアドレスフィー ルドへ関係させるデータ構造図である。
図5は物理メモリへのデータ経路IC相互接続(DIMM)を示すブロック図で ある。
図6は1つのDIMMの論理構成を示すブロック図である。
図7aはデータビットおよびアドレスビットからシンドロームビットを発生する ために使用されるコード化スキームを示す注釈を付けられた表である。
図7bはキャッシュ状態およびアドレスビットからシンドロームビットを発生す るために使用されるコード化スキームを示す注釈を付けられた表である。
図70ないし図7eはデータビットおよびキャッシュ状態ビットにおいて検出さ れたエラーへシンドロームコードを関係させる注釈を付けられた表である。
図8aはデータ経路集積回路(IC)のデータセクションの簡略化されたブロッ ク図であり、主要データフロー経路およびデータFCCを示す。
図8bはデータ経路ICのキャッシュ状態セクションの簡略化されたブロック図 であり、キャッシュ状態ワードおよびキャッシュ状態ECCの主要データフロー 経路を示す。
好ましい実施例の詳細な説明 以下はこの発明に従う例証的なECCスキームの説明である。
概観 図1aはメモリ記憶ユニット(MSU)と呼ばれる、多重CPU200がメイン メモリ202に結合される並列パイプライン状にされたコンピュータシステムの ブロック図である。
ただ1つのCPU200°のみが図1aに示される。CPU200はコードユニ ット212、実行ユニット214、基準ユニット216、およびキャッシュメモ リ218を含む。コードユニットはMSU200からの命令を検索し、それらを 部分的にデコードする。コードユニットによって処理されるコードの任意のメモ リ基準は基準ユニット216によって処理される。データキャッシュメモリ21 8はメモリアクセスユニット(MAU)220を経てMSU202に結合される 。
命令からのアドレス基準がキャッシュメモリ218で発見され得ない場合、キャ ッシュメモリはMAU220をメインメモリ202にアクセス要求するように条 件付ける。
キャッシュ218はMAU220からのフェッチおよびストア動作の双方を同時 に要求してもよい。MAU220はその要求を分析し、同時発生メモリ動作の間 の干渉を最小限にするようにそれらに優先順位を付ける。
例証的なキャッシュメモリ218はパージのないキャッシュである。データ値は 4ワードの組のキャッシュメモリ218にストアされる。キャッシュの任意の4 ワードの組の状態はMSU202においてもとのデータで保持される。
このように、もし多数のCPUのうちの1つ、たとえばプロセッサA1がメモリ から4ワードの組をフェッチし、そのデータをその組で修正しようとするなら、 メインメモリ202のデータのためのキャッシュ状態エントリは組の中のデータ はプロセッサAによって排他的に保持されることを示すであろう。メインメモリ 202のその同一のデータへのたとえばプロセッサBによるアクセスしようとす るいかなる試みも、修正されたデータがプロセッサAによってメインメモリに書 き戻されてしまうまで成功しないであろう。
代替的に、プロセッサAは修正されないであろうメインメモリからデータを要求 してもよい。この場合、4ワードの組のためのキャッシュ状態エントリはプロセ ッサAは共用状態のデータを有することを示すであろう。プロセッサBもまた共 用データにアクセスしてもよいが、その組がプロセッサAのキャッシュで無効に されてしまうまでデータへの排他的(つまり書込)アクセスを得ることはできな い。
このように、キャッシュ状態情報は共用メインメモリへの多数のプロセッサアク セスを規制する際に重要な役割を果たす。
この発明のこの実施例において、各4ワードのデータ組に対応するキャッシュ状 態エントリはデータ組それ自体でメインメモリ202にストアされる。各4ワー ドのデータ組は数個のエラー訂正コード領域によって保護され、各対応スるキャ ッシュ状態エントリはそれ自体のECC領域によって独自に保護される。各4ワ ードのデータ組へのメモリアクセスには対応するキャッシュ状態エントリへのア クセスが同時に伴う。キャッシュ状態に応答するMSU202の制御回路はメモ リアクセス要求が許容可能であるかどうかを判別する。
詳細な説明 図1bはメインメモリ202における1つのデータワード10aがどのように多 数のエラー訂正ゾーン20a−cに分割され得るかを示す。54−ビットワード 10aはECCの目的のために、3つの18−ビットセグメントまたはゾーン、 20acに分類される。各ゾーンのビットはBITOないしBIT17と番号が 付けられる。図2を参照して、メモリ動作中、2つのデータワード10aおよび 10bはFCC発生のために同時に処理される。同様に、ワード10cおよび1 0dは同時に処理される。各ワード10a内で、3つのゾーン20a−cもまた 同時に処理される。図2はデータおよびECCの有利な編成を示す。データワー ド10a−dは各々54のビットを含む。次のフィールドはデータECC12で ある。このフィールドは21のビット、つまりカバーされる3つのエラー領域の 各々につき7のビットを含む。ECCフィールド12はデータワード10a−d の一体化を確実にする訂正コードを含む。
次のフィールドはキャッシュ状態14であり、それは18ビット幅であり、その 後18ビット幅のキャッシュ状態ECCフィールド16が続く。
図2はまたデータ編成と物理的メモリとの間の関係を示す。デュアルインライン メモリモジュール(DIMM)18に与えられた1つのDRAMアドレスは、2 つのワードの2つのグループの各々に対してデータの3つのビット、22a、2 2bおよび22cとして6つのDRAMをアドレス指定する。図2において、第 1のグループはワード10aおよび10bを含み、第2のグループはワード10 cおよび10dを含む。DIMM上の1つのDRAMアドレスによってアクセス される6つのビットの各々は1ビット幅×1メガビット深さの別個のDRAM集 積回路上でストアされる。データ、キャッシュ状態およびECCはこの実施例に おいて、合せて55DIMMを占有する。
例証的な構成において、1つのDRAMアドレスによってアドレス指定された各 ビットは異なったECCゾーン20a−cに属する。1つのFCCゾーンからの 2つのビットが同一のDIMM18にストアされないようにデータを広げること によって、データはDIMMの故障、またはDIMMの個々のD RA M集積 回路の故障によるデータ喪失または変造から保護される。
この発明で使用されるエラー訂正コードは距離4の修正されたハミングコードて あり、その結果エラー領域内で、1ビツトエラーが修正され、2ビツトエラーが 検出される。
7−ビットECC12は以下のデータおよびアドレス組合わせ(エラー領域)の 各々に対して発生され、(WORDOAは、:、:、でWORDO、シー:/A を指す。
同様に、WORDOBはWORDO、ゾーンBを指す。WORDOCはWORD O、ゾーンCを指す。類似の命名法が以下に論じられる他のゾーンに適用される 。)WORDOA (B ITO−B ITI 7)WORDIA(BITO− BIT17)アドレス(8ビツト)、WORDOB (BITO−BIT17) WORDIB(BITO−BIT17)アドレス(8ビツト)、WORDOC( BITO−BIT17)WORDIC(BITO−BIT17)アドレス(8ビ ツト)。
2つのさらなるワード、WORD2およびWORD3は同様にこれらの領域の各 々に対して7−ビットECCによって保護され、 WORD2A (BITO−BIT17)WORD3A(B I To−B I  Tl 7)アドレス(8ビツト)、WORD2B (BITO−BIT17) WORD3B(B ITO−B lT17)アドレス(8ビツト)、WORD2 C(BITO−BIT17)WORD3C(BITO−BIT17)アドレス( 8ビツト)。
各ワードを3つのゾーンに分割し、2つ以上の異なったワードの各々からの1つ のゾーンを領域に組合わせ、かつ各領域に対してECCを発生することによって 、領域につき多くて1つのエラーしかない限り、各ゾーンに対して1ビツトエラ ー訂正スキームを使用する1つのワードにおける多数のビットエラーを訂正する ことが可能である。
図3は4つのデータワードがどのように36のDIMMの間で分割されるかを例 示するブロック図である。データワードはデュアルインラインメモリモジュール (D I M M )18と呼ばれるDRAMモジュール上に物理的に置かれる 。
各D I M Mは6つのD RA Mメモリ30a−fがらなり、各々は1セ ル幅×1メガビット深さである。セルは各々3つのセルの2つのバンク32a、 32bに編成される。デー9ワ−FWORDO(10a) ないLWORD3  (10C)は各DIMMが2つの異なったワードの3つのビット(1メガビツト の深さを有する)のみを含み、各ビットは異なったエラー領域に属するように、 DIMM18にストアされる。
エラー訂正コードが特定の領域のために処理される場合、ECC発生器は36の 異なったDIMMからデータを引出す。このように、たとえ全体のDIMMが故 障しても、各1ビツトエラーは訂正され得る。DIMMの故障の影響は図3を参 照することによって理解され得る。もしDIMM18の1つが壊滅的に故障すれ ば、1つのビットが6つの別個のエラー領域の各々でなくなっている。この例に おいて、図1bを参照して、WORD2 BITO22c。
BIT18 22b、およびBIT36 22a、およびWORDOBITO2 2cSBIT18 22b、およびBIT36 22aがなくなっているであろ う。データワード内のこれらのビット位置は図1bで示されるとおりである。こ の発明の1ビツトエラー訂正能力は、他のDIMMにおiするWORDO10a またはwoRD210Cに他のビットエラーがない限り、なくなっているビット の訂正を可能にする。
図3はDIMMの間のデータワードの割当を示す。この発明のこの実施例におい て、54ビツトのデータワードサイズは記憶のためにDIMM18のうちの9つ を必要とする。示される36のDIMM18は4つの54ビツトデータワードを 保持するために使用される。
図4はチェックビット42.44.46がどのようにエラー領域の各々に与えら れるかを示す。この実施例において、保護されたデータワードゾーンとともに8 のアドレスビットが含まれる。7のチェックビット42は領域52を保護し、次 の7のチェックビット44は領域50を保護し、次の7のチェックビット46は 領域48を保護する。この図において、WORDO10aおよびWORDI 1 0bのみが表わされる。同様に、チェックビットはデータに与えられ、アドレス ビットはWORD2 10cおよびWORD3 10dに与えられる。このよう に、例証的な実施例において、2つの異なったワードからの各1つのゾーンは1 つのエラー領域に組合わされる。しかしながら、同一の精神にある他の実施例は 、エラー領域を形成するために、1つのワードからの1つのゾーンを使用しても よいし、または多数のワードからのゾーンを組合わせてもよい。
アドレスビットがエラー領域に含まれ、アドレスエラーが検出され、メインメモ リからのフェッチがあるとCPUに報告される。キャッシュ状態を維持する部分 として、すべてのCPUフェッチまたはストアはMSU内のD RA Mの読出 −修正書込サイクルからなる。読出−修正−書込サイクルの間、ECCチェック は書込動作をする前にアドレス上で行なわれる。アドレスエラーは、シンドロー ムによって示されるように、サイクルの書込部分の間に得られたデータは意図さ れたものとは異なるメインメモリアドレスからのものであることを示す。
図5は55のDIMMで、並行に動作する3つのデータ経路IC60a−cの相 互接続を示すブロック図である。
図5に示される回路は図1aのMSU202に含まれる。
この発明のこの実施例において、エラー訂正コードはDIMM18にストアされ たデータのためのデータ経路IC60a−cによって発生される。IC60a− cはまたDIMM18から受信されたデータのエラー検出および訂正、を行なう 。データ経路IC60a−cはデータワードをストアし、書込動作があるとEC Cを発生し、読出動作の間エラーを検出しかつ訂正し、さらにデータを適切なり IMMに送る多重機能ICである。55のDIMM18はこの発明のこの例証的 な実施例によって使用されるデータ、キャッシュ状態およびFCCデータを保持 する。
3つのデータ経路チップ60a−cは各々CPUとDIMMとの間のデータ、キ ャッシュ状態およびECC転送を支持することが可能である。CPUストア動作 の間、CP−Uから4ワードの組を受信した後、2つの連続するDIMM書込が 3つのデータ経路チップによって行なわれる。第1の書込があると、データ経路 IC60aはWORDOゾーンAおよびWORDIゾーンAをDIMMに書込み 、一方データ経路IC60bはWORDOゾーンBおよびWORDIゾーンBを 書込み、データ経路IC60CはWORDOゾーンCおよびWORDIゾーンC を書込む。このように、第1の書込動作はDIMMへのWORDOおよびWOR Dlの記憶を達成する。次の書込があると、データ経路IC60aはWORD2 ゾーンAおよびWORD3ゾーン八を書込み、データ経路IC60bはWORD 2ゾーンBおよびWORD3ゾーンBを書込み、かつデータ経路IC60cはW ORD2ゾーンCおよびWORD3ゾーンCをDIMMに書込む。
CPUからストアデータを受信した後であって、DIMMに書込む前に、データ 経路チップ60a−cに含まれたECC処理論理は2つのデータワードゾーンお よび24のアドレスビットに基づいてチェックビットを計算する。各データ経路 チップはそれが受信する2つのデータセグメントおよび合計24のアドレスビッ トのうちの8つに基づいてECCを計算する。アドレスビットはこのようにデー タゾーンと同様に3つのゾーンに区分される。アドレスはこのようにECCによ って保護され、アドレス故障は訂正されないが、それらはもし発生すれば報告さ れる。結果として生じる21のチェックビットは108のデータビットとともに 適切なりIMMに出力される。キャッシュ状態のためのチェックビットはデータ のためのチェックビットとは別に計算される。各データ経路IC60a−cは1 8−ビットキャッシュ状態ワードの3分の1を処理し、各ICはキャッシュ状態 のその部分に基づいてチェックビットを計算する。FCCの目的のためのキャッ シュ状態ワードのゾーンへのこの区分化はデータワードを区分化する場合、つま り多数のビットエラーが各ゾーンを処理することによって同時に検出され得る場 合と類似の利点を与える。
図6は代表的なりIMM18の構造を例示するブロック図テアル。DIMM18 j、t6つ(7)DRAMメ−!−!J、70゜72.74.76.78および 80からなり、各々1ビツト×1メガビツトであり、各3ビツトの2つのバンク に編成される。DRAM70.72および74は第1のバンクを構成し、一方D RAM76.78および80は第2のバンクを構成する。DIMM18の各バン クには別個の行アドレスストローブ(RAS)および列アドレスストローブ(C AS) 、共通の書込イネーブル(WE)およびアドレスラインが設けられる。
信号DATAINOはD RA M 70および76のデータ入力ラインに与え られ、一方信号DATAINIはDRAM72および78のデータ入力ラインに 与えられ、信号DATA I N2はDRAM74および80のデータ入力ライ ンに与えられる。独立したアドレスストローブの存在は各バンクを書込む際の独 立した制御を可能にする。
この発明のこの実施例において、DRAMのデータ出力ラインは相互接続されて いない。その代わりに、DRAM70.76;72.78および74.80の多 対のデータ出力ラインは3つの2人カマルチプレクサ82.84および86のそ れぞれの入力端子に与えられる。アドレスビット1 (2番目に最も低いアドレ スビット)はバンク1 (DIMM70.72および74)かバンク2 (D  I MM76.78.80)かを選択する。信号DATAOUTOSDATAO UT1およびDATAOUT21を別個の入力ライン上のデータ経路チップ5Q a−cに供給される。
各データ経路IC60a−cは各ワードをそれがDIMM18によって与えられ たときに記憶するレジスタ(図5に図示せず)、ならびにチェックおよびデータ ワードからシンドロームビットを発生する回路(やはり図5に図示せず)を含む 。各ゾーン内で、1ビツトデータエラー、1ビツトキヤツシユエラーおよびチェ ックビットエラーが訂正される。各ゾーン内で、アドレスエラー、多数のデータ エラーおよび多数のキャッシュエラーはプロセッサに報告される。IC60a− cの内部構造は図8aおよび図8bを参照して以下に説明される。
図7aおよび図7bはデータおよびアドレスビットがチェックビットによってど のように保護されるかを示すテーブルである。この発明のこの実施例において、 距離4の修正されたハミングコードが使用される。距離4の修正されたハミング コードは1つのエラー訂正および2つのエラー検出を達成するために望ましい。
結果として生じるコードが4のハミング距離を有するように、Mビットのデータ を有する情報ベクトルを保護するために使用されるチェックビットの数には以下 の不等式からめられる。
2” >=M+K EiU7aに示され、36ビツトのデータを含む領域であって、WORDOおよ びWORDI (またはWORD2およびWORD3)から各々18ビツトプラ ス8アドレスビツトを含む領域のためのエラー訂正カバレージを与えるために、 7つのチェックビットが必要とされる。この実施例の情報ビットMの数は44  (18+18+8)であるので、Kは7に等しい。
チェックビットは各行でrXJと印が付けられた各ビットのモジュロ−2追加( 排他的OR)によって発生される。
この発明のこの例証的な実施例におけるコード化スキームは領域のすべての情報 ビットが3つまたは5つのチェックビットを計算するために使用されるように設 計される。このように、もし1情報ビツトが変造されれば、3つまたは5つのい ずれかのチェックビットが反転される。結果として生じるシンドロームは奇数パ リティを有するであろう。
使用されるコードの他の有利な局面はパリティツリー幅、つまり、各チェックビ ットを計算するために使用される情報ビットの数、はほとんど等しいということ である。この発明のこの実施例において、チェックビットC01C1、C2、お よびC4の各々は21のパリティツリー幅を有し、一方C3は22のパリティツ リー幅を有し、C5およびC6は各々23のパリティツリー幅を有する。パリテ ィツリー幅が類似であるようにコードを選択することは、エンコーダの速度を最 適化し、かつ相対的な伝搬遅延を最小限にする。
この発明で使用されるチェックビット発生器はカッラマン(KxtzIIlxn  )他の米国特許第4.817.091号に示されるような排他的or(XOR )ゲートのネットワークであってもよく、この特許は引用によりここに援用され る。カッラマン特許に示されるチェックビット発生器は奇数のパリティツリーの みがこの発明で使用されるという点においてこの発明で使用されるものと異なる 。カッラマン特許はまたシンドローム発生の原理を説明する。これらの原理を使 用すれば、当業者はこの発明とともに使用するためのシンドローム発生器を容易 に作ることが可能である。
以下の例はこの発明のこの実施例に使用される特定のコードがどのようにチェッ クビットを発生するかを示す。この例のために、データおよびアドレスビットの 以下の組合わせはECCによって保護され得ると仮定されたい。
このビットパターン(または情報ベクトル)は例証的なWORDOゾーンA(1 8ビツト)を表わし、その後WORDIゾーンA(18ビツト)が続き、その後 8アドレスビツトが続く。この例に使用される値は以下のとおりである。
WORDOゾーンA=00003 16進数WORDIゾーンA=00001  16進数アドレス=A8 16進数 チェックビットはECCカバレージテーブル上に情報ベクトルを重畳し、Xと印 が付けられた各ビット位置に存在する情報ビットの排他的ORを取って、各チェ ックビットを生出すことによって得られる。この例において、所与の情報ベクト ルはチェックビットに対して以下の等式を生じる。
C3=1+1+1+1+1=1 C6=1+1+1+1=0 ここで、「+」は排他的OR機能を表わす。
完全なチェックビットワードはそのとき0100100である。この値はデータ ワードとともにDIMM18にストアされる。
7ビツトシンドロームワードはデータ経路ICのECC回路によって発生され、 1ビツトエラーを識別するために使用される。シンドロームは古いチェックビッ トワードと新しいチェックビットワードとの排他的OR合計として規定される。
つまり、DIMM(18)から読出された古いチェックワードの各ビットC,, はDIMMから読出されたデータから発生された対応するビットCnと排他的O Rをとられる。結果として生じるシンドロームワードはデータ、アドレス、チェ ックビットにエラーがあるかどうかを示し、もし1つしかエラーがなければその 場所を示す。図7c。
図7dおよび図7eはデータおよびキャッシュ状態の双方のためのシンドローム ワードの各可能な値、および各可能なシンドロームによって表わされたエラーを 示すテーブルである。(以下余白) シンドローム SBE KBE AE CBE BIT SBE MEE AE  CBE BITシント°ローム SBE KBE AE CBE B工T S BE 嶋−2’AECBEB工Tランド[1I−4SBE %J3E AE C BE BIT2チェックビットエラー−ECCコードのビット7は誤5マルチー ビツトエラー(SBEフラグに重畳する)61−ビットエラー、C8のビット5 は誤っている。
データ経路ICの主要な目的は各メモリ動作に対して適切な方向にデータを伝え るための手段を提供することである。
データ経路ICはデータおよびキャッシュ状態を取得し、データおよびキャッシ ュ状態双方のためにECCビットを計算し、エラー訂正および検出機能を行ない 、データおよびキャッシュ状態をメインメモリから要求しているプロセッサに送 る。データ経路I C60a −cの動作のために必要な制御情報はデータ経路 Cの外部の回路によって発生される。
データ経路IC60a−cの各々の内部構造は同一である。図8aおよび図8b はデータ経路IC60aを通る主要データフロー経路を示す。図8aはデータワ ード10a−dおよびアドレス値の一部を処理するデータ経路ICの部分を表わ し、一方図8bはキャッシュ状態およびアドレス値の残りを処理するICの部分 を表わす。
図8aにおいて、データレジスタ100aないし100dはメモリ動作の間シス テムデータワード10a−dの各1つのゾーンを保持するために使用される。各 データレジスタ100aないし100dは18ビツト位置を含む。データレジス タ100a−dはそれぞれのマルチプレクサ102a−dからデータ値を入手す る。これらのマルチプレクサ102a−dは以下のソースの1つからデータを選 択する。
1.5UDI:メモリアクセスを要求しているプロセッサからのデータ 2、DATAI :メインメモリDIMM18からの入力データ 3、訂正データ:内部ECC回路108からデータレジスタ100a−dはマル チプレクサ118にデータビットを供給する。このマルチプレクサは4つのデー タレジスタ102aないし102dのうちの1つによって与えられた18ビツト のデータを選択し、それを信号ライン5UDOを経て外部プロセッサに与える。
データレジスタ100a−dはまたマルチプレクサ104を介してECC発生器 106およびECC訂正回路108にデータを与えるために結合される。レジス タ100aおよび100bの出力ポートはレジスタ100Cおよび100dの出 力ポートのように連接される。これらの連接された出力ポートは2つの36−ビ ット値をマルチプレクサ104に与える。これらの2つの36−ビット値はまた データ出力信号、DATAOをメインメモリ202のDIMM18に与えるマル チプレクサ114に与えられる。
8ビツトアドレスレジスタ116は5UDI入カラインから現在のアドレスをラ ッチし、ECC発生論理106で使用するためにそれを保持する。
DIMM18からのデータECCは信号ラインDECI上のデータ経路IC60 aに供給される。マルチプレクサ110は訂正チェックビットかDIMMからの DECIチニックビットかのいずれかを選択する。データECCレジスタ112 はマルチプレクサ110によって選択されたチェックビットを含む。このレジス タ112におけるチェックピットもまた信号ラインDECOを経てDIMMに供 給される。
典型的なメモリストア動作において、MAU220(図1に示される)は4つの ワード、各々54ビツト長さ、および24ビツトアドレスをMSU202に与え る。このアドレスがまず与えられ、その後WORDO1WORDI、WORD2 、およびWORD3が一度に1つ続く。アドレスおよびデータの双方は信号ライ ン5UDIに沿ってデータ経路IC60a−cに与えられる。8つのアドレスビ ットはレジスタ116にロードされ、後続のデータビットが一度に1つの18ビ ツトセグメントでデータレジスタ100aないし100dにロードされる。つま り、WORDOはレジスタ100aにロードされ、WORDlはレジスタ100 bに、WORD2はレジスタ100cに、か−) W 0RD3はレジスタ10 0dにロードされる。3つのデータ経路IC60の各々はデータおよびアドレス ワードの3分の1をロードしたので、ここで全体の4つのワードおよび完全なア ドレスは3つのデータ経路IC59a−c内にストアされ、ECCの計算がここ で可能である。
データワードのそれぞれの部分が一旦レジスタ100aないし100dにロード されてしまえば、それらは連接され、マルチプレクサ104を介してECC発生 器106へと通される。まず、WORDOおよびWORDIからの36ビツトが 発生器106に通される。発生器106は36データピツトをレジスタ116か らの8−ビットアドレス値と組合わせ、上に述べられたように7−ビットECC 値を発生する。この7−ビットECC値はそれからマルチプレクサ110を介し てデータECCレジスタA112にロードされる。これに続いて、発生器106 はWORD2およびWORD3の部分を表わす36データピツトのためにECC 値を計算する。この7−ビットECC値はマルチプレクサ120を介してデータ ECCレジスタB122にストアされる。
データECCレジスタA112およびデータECCレジスタBはマルチプレクサ 124を介してデータ経路IC60aの出力ポートDECOに結合される。レジ スタ100aおよび100bの内容の連接を表わす36−ピッドデータ値はまた マルチプレクサ114に与えられ、その出力ポートはデータ経路IC60aの出 力ポートDATAOである。出力ポートDATAOおよびDECOは図5に示さ れるようにDIMM18における記憶のために43の2進ビツトを与える。
WORDOおよびWORD117)部分がデータ経路IC60aによって処理さ れつつある間、WORD2およびWORD3の対応する部分はレジスタ100c および100dにロードされている。ワードWORDOおよびWORDIがデー タ経路IC60a、60bおよび60cからDIMM18にストアされている間 、レジスタ100cおよび100dによって保持されたWORD2およびWOR D3のそれぞれの部分は同一の態様で処理される。このように、MSUストア動 作の間、第1のWORDOおよびWORD1データビットはDECO上の適切な ECCビットとともにDATAO上で出力され、それからWORD2およびWO RD3データビットはDATAOで出力され、適切なECCビットはDECO上 で出力される。
特定のプロセッサによって企てられたM S Uストア動作が有効であるかどう かの判別はキャッシュ状態を読出すことによって行なわれる。キャッシュ状態E CC論理は1ビツトエラーを訂正し、正しいアドレス場所が読出されたことを実 証する。上述のようなデータECC論理は有効なMSUストアを実行するのに先 立ってデータECCを発生するために使用される。
上述のように、この発明のこの実施例のためのMSUフェッチ動作は読出−修正 −書込サイクルとして行なわれる。
データがDIMM18から読出された場合、36ビツトのデータは入力ポートD ATA Iに与えられ、7ビツトのECCはデータ経路IC60a、60bおよ び60cの各々の入力ポートDECIに与えられる。IC60aに与えられた3 6のデータビットは2つの18−ビット部分に分割され、それらはそれぞれのマ ルチプレクサ102aおよび102bを介してレジスタ100aおよび100b にロードされる。7−ビットECC値はマルチプレクサ110を介してデータE CCレジスタA112にロードされる。
レジスタ100aおよび100bによって保持されたデータ値は上述のようにE CC発生器106およびECC訂正器回路108に与えられる。ECC訂正器回 路はマルチプレクサ104によって与えられたデータから、およびデータECC レジスタA112によって与えられたECCからシンドロームビットを発生し、 かつそれに従ってデータを訂正する。この訂正データはレジスタ100aおよび 100bにロードされる。もし訂正器108がエラーがチェックピットのうちの 1つで発生したことを示せば、訂正ECCはECC発生器106によってデータ ECCレジスタAおよびB(112および122)に与えられる。次にぐレジス タ100aおよび100bに保持されたデータ値はマルチプレクサ118および 出力ポート5UDoを経て要求しているプロセッサに結合されたMAU220に 順次に送られる。同時に、これらのデータ値、およびデータECCレジスタA1 12によって保持された7−ビットECC値は上述のようにDIMM18に書き 戻される。
43ビツトの訂正データおよびECCがデータ経路IC60aによって処理され ている間に、次の43ビツトの訂正されていないデータおよびそのFCCは同様 の処理のためにレジスタ100c、100dおよびデータECCレジスタB12 2にロードされ得る。
データ経路IC60a、60bおよび60cの様々なマルチプレクサおよびレジ スタのための制御信号は制御回路(図示せず)によって発生され、それは24ア ドレスビツトのうちの8つとともに要求しているプロセッサMAU 220によ って与えられた10−ビット制御ワードに応答する。この値は、たとえばメモリ 要求の型(ストアまたはフェッチ)を示す。この値に応答して、制御回路は上述 のようにデータ経路回路を循環する。デジタル論理設計の当業者は上述の説明か ら適切なデータ経路回路を容易に組立てることができるであろう。
図8bはキャッシュ状態ワードおよびキャッシュ状態チェックビットのフローを 処理するデータ経路IC60aのそのセクションを示す。キャッシュ状態レジス タ150は入力ラインC5In上のDIMMから直接入手されたキャッシュ状態 ビットか、外部制御論理によってCS CW I N上に供給される新しいキャ ッシュ状態ワードのいずれかをストアする。マルチプレクサ154はDIMMか らの以前のキャッシュ状態ワード(キャッシュ状態レジスタ150の出力で利用 可能である)か、またはC3CWIN上に外部から供給された新しいキャッシュ 状態ワードのいずれかを選択する。結果として生じるワードはECC発生器16 0に与えられる。同様に、8つのアドレスビットはECC発生器160に供給さ れてFCC領域に含まれる。キャッシュ状態レジスタ150はまた信号ラインC 3OUT上のDIMMにキャッシュ状態ビットを供給する。
DIMMからのキャッシュ状態チェックビットは信号ラインCECIを経て供給 される。これらのビットはマルチプレクサ156によってECC発生器160に よって発生されたチェックビットでマルチプレクサされる。選択されたチェック ビットはECCレジスタ152にストアされる。
キャッシュ状態チェックビットは信号ラインCEC0上のDIMMに供給される 。1ビツトエラー訂正はエラー訂正回路162で発生する。訂正キャッシュ状態 ビットはそれから出力ラインC3CWOUT上の外部制御に供給される。
データ経路IC60aのキャッシュ状態部分の動作の要約を次に与える。続出− 修正−書込サイクルは上述のデータ部分に類似の態様で続けられる。DIMM1 8から読出動作が発生し、それはキャッシュ状態を入力ラインC5Inにもたら し、かつ対応するECCを入力ラインCECIにもたらす。このキャッシュ状態 はCSレジスタ150でストアされ、ECCはレジスタ152でストアされる。
これらの2つのレジスタの内容は訂正器回路162に供給され、それは訂正キャ ッシュ状態を出力信号ラインcscwOUT上のMSUに送る。外部制御回路は 、ここに論じられていないが、キャッシュ状態を更新する。新しいキャッシュ状 態は入力ラインC3CWIN上に供給され、キャッシュ状態レジスタ150にロ ードされる。同時に、C3CWINはECC発生器160に与えられ、新しいE CCはECCレジスタ152にロードされる。そのときレジスタ150および1 52の内容はそれぞれ信号ラインC5OUTおよびCEC0上のDIMM18に 書込まれる。
当業者にはここに述べられた実施例の様々な変形が考えられることが理解される 。これらは異なったワードサイズ、異なった数のチェックビット、ワードごとの 異なった数のゾーン、およびエラー領域ごとの異なった数のゾーンを含む。この 発明を例証的な実施例によって説明してきたが、添付の請求の範囲の精神および 範囲内にある修正で上に概略を示されたように実行され得ることが考えられる。
FIG、la テ°ゝフ E0口 FIG、4 I++ X x X の × X x × ×−口 FIG、7b PSXXXXXXX ζ −^ 要 約 書 メモリシステムはエラー検出および訂正のための方法を提供する。大きいデータ ワードは多数のエラー訂正ゾーンに分割−される(図1b)。2つまたはそれよ り多いワードの各々からの1つのゾーンが組合わされてエラー領域を形成する。
アドレスビットも領域に含まれる。チェックビットが各領域内のデータビットか ら発生され、データとともにストアされる。データ検索の間、各領域が別々に処 理され、各領域についてシンドロームを発生する。シンドロームはビットエラー を示し、各領域の1ビツトエラーの訂正を許容する。多ビツトエラーがしたがっ て1ビツトエラー訂正コードを使用して各ワード内で訂正されるであろう。
データは物理メモリに分配され、それによって各領域内で1データビツトだけし か同じメモリ装置内にストアされない。この方法は、多数のパッケージにおける 故障によって1つのエラー訂正領域内に多数のエラーが生じない限り、壊滅的な メモリパッケージの故障の存在において全体的エラー訂正能力を与える。続出お よび書込双方の動作の間、エラー訂正コード処理は多数の領域について並行して 行なわれ、性能を高めるであろう。
国際調査報告

Claims (11)

    【特許請求の範囲】
  1. 1.メモリ装置においてデータワードをストアし、かつ検索するための方法であ って、エラー訂正ビットは記憶中にデータワードにコード化されるか、または検 索中にデータワードからデコードされ、この方法は、a)データワードを領域に 分割するステップと、b)その領域において少なくとも1ビットエラーを検出し 、訂正するために十分な数だけエラー訂正ビットを各領域へ加えるステップと、 c)各領域を複数の成分部分に分割するステップと、d)それぞれ異なる物理メ モリ装置に領域内の各成分部分をストアするステップと、 e)領域を前記メモリ装置から検索するステップと、f)検索された領域の各々 においてエラー訂正ビット処理し、各領域についてシンドロームを計算するステ ップと、g)シンドロームに応答して検索された領域の各々内のいかなるビット エラーの場所も判別するステップと、h)検索された領域の各々におけるいかな る誤ったビットも訂正するステップと、 i)検索された領域をワードに再び組立てるステップとを含む、方法。
  2. 2.各領域を複数の成分部分に分割するステップは、各領域を個々のビットに分 割するステップ含む、請求項1に記載の方法。
  3. 3.データワードを領域に分割するステップは、アドレスビットを各領域へ付加 するステップをさらに含む、請求項1に記載の方法。
  4. 4.ワードを領域に分割するステップは、a)各ワードを多重ゾーンに分割する ステップと、b)少なくとも2つのワードの各々から1つのゾーンを組合わせて 、前記領域の1つを形成するステップとをさらに含む、請求項1に記載の方法。
  5. 5.エラー訂正ビットを各領域に加えるステップは多数の領域について同時に行 なわれる、請求項1に記載の方法。
  6. 6.検索された領域の各々においてエラー訂正ビットを処理して、検索された領 域の各々についてシンドロームを計算するステップは、多数の領域について同時 に行なわれる、請求項1に記載の方法。
  7. 7.キャッシュメモリおよび複数のメモリ装置の間でデータワードを転送する方 法であって、エラー訂正ビットは記憶中にデータワードにコード化されるか、ま たは検索中にデータワードからデコードされ、この方法は、a)ワードを領域に 分割するステップと、b)その領域において少なくとも1ビットエラーを検出し 、訂正するために十分な数だけエラー訂正ビットを各領域に加えるステップと、 c)キャッシュ状態ビットおよびキャッシュ状態エラー訂正ビットを各領域に付 加するステップと、d)前記複数のメモリ装置に各領域をストアするステップと 、 e)領域を前記メモリ装置から検索するステップと、f)検索された領域の各々 においてエラー訂正ビットを処理して、各領域についてシンドロームを計算する ステップと、 g)シンドロームに応答して検索された領域の各々内のいかなるビットエラーの 場所も判別するステップと、h)検索された領域の各々におけるいかなる誤った ビットも訂正するステップと、 i)検索された領域をワードに再び組立てるステップと、j)メモリからの検索 と同時にキャッシュ状態エラー訂正ビットを処理するステップと、 k)キャッシュ状態ビットを含む検索された領域のエラー訂正ビットによって示 されるような検索されたキャッシュ状態におけるいかなる誤ったビットも訂正す るステップとを含む、方法。
  8. 8.揮発メモリ装置にデータをストアして、前記メモリ装置からデータを検索す るための方法であって、エラー訂正ビットは記憶中にデータでコード化され、検 索中にデコードされ、この方法は、 a)データワードをデータセグメントに分割するステップと、 b)各データセグメントにおいてエラー訂正のコード化を行なうステップと、 c)各データセグメントを複数の成分部分に分割するステップと、 d)それぞれ異なる揮発メモリ装置に各セグメントの各成分部分をストアするス テップと、 e)各データセグメントについてそれぞれの揮発メモリ装置から複数の成分部分 を検索するステップと、f)前記検索されたデータセグメントの各々のデコード 処理を行ない、検索されたデータセグメントの各々についてそれぞれシンドロー ム値を計算するステップと、g)エラー条件を示すそれぞれのシンドローム値に 応答して前記検索されたデータセグメントでデータビット値を変更するステップ と、 h)前記検索されたデータセグメントをデータワードに再び組立てるステップと を含む、方法。
  9. 9.複数の揮発メモリ記憶エレメントにデータを記憶して、前記メモリ記憶エレ メントからデータを検索するためのシステムであって、エラー訂正ビットは記憶 中にデータでコード化され、かつ検索中にデコードされ、このシステムは、 データワードをデータセグメントに分割するための手段と、 各データセグメントについてエラー訂正コード値を発生するためのエラー訂正コ ード化手段と、各データセグメントを複数の成分部分に分割するための手段と、 それぞれ異なる揮発メモリ記憶エレメントにセグメント内の各成分部分をストア するための手段と、各データセグメントについてそれぞれの揮発メモリ装置から 複数の成分部分を検索するための手段と、前記検索されたデータセグメントの各 々についてシンドローム値を発生するためのエラー検出手段と、エラー条件を示 すそれぞれのシンドローム値に応答して前記検索されたデータセグメントでデー タビット値を変更するためのエラー訂正手段と、 前記検索されたデータセグメントをデータワードに再び組立てるための手段とを 含む、システム。
  10. 10.各領域の成分部分はそれぞれ異なるビットであり、記憶エレメントの各ビ ットはしたがってそれぞれ異なるデータセグメントの部分であり、それぞれの異 なるECC領域によってカバーされ、したがって全体の記憶エレメント故障の事 象に多ビットエラー訂正を与える、請求項9に記載のシステム。
  11. 11.前記メモリ記憶エレメントの各々はアドレス入力ポートを含み、前記デー タセグメントのそれぞれのビットがその中にストアされるべき前記メモリ記憶エ レメント内のデータ記憶場所を識別するためにこのポートにアドレス値が与えら れ、さらに、 前記分割手段に結合され、前記アドレス値の少なくとも一部分を前記データセグ メントへ連接するための手段と、前記エラー訂正コード化手段に結合され、連接 されたデータセグメントおよびアドレス値からエラー訂正コードを発生するため の手段とを含む、請求項10に記載のシステム。
JP91511488A 1990-06-08 1991-06-07 コンピュータメモリにおける多数のエラー訂正 Pending JPH05508042A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US535,757 1990-06-08
US07/535,757 US5164944A (en) 1990-06-08 1990-06-08 Method and apparatus for effecting multiple error correction in a computer memory
PCT/US1991/004037 WO1991019253A1 (en) 1990-06-08 1991-06-07 Multiple error correction in a computer memory

Publications (1)

Publication Number Publication Date
JPH05508042A true JPH05508042A (ja) 1993-11-11

Family

ID=24135637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP91511488A Pending JPH05508042A (ja) 1990-06-08 1991-06-07 コンピュータメモリにおける多数のエラー訂正

Country Status (5)

Country Link
US (1) US5164944A (ja)
EP (1) EP0535086B1 (ja)
JP (1) JPH05508042A (ja)
DE (1) DE69112624T2 (ja)
WO (1) WO1991019253A1 (ja)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03272224A (ja) * 1990-03-20 1991-12-03 Canon Inc 情報信号処理方法
US5392288A (en) * 1991-02-08 1995-02-21 Quantum Corporation Addressing technique for a fault tolerant block-structured storage device
US5369650A (en) * 1991-11-22 1994-11-29 Honeywell, Inc. Error detection and correction apparatus in a BY-4 RAM Device
US5428761A (en) * 1992-03-12 1995-06-27 Digital Equipment Corporation System for achieving atomic non-sequential multi-word operations in shared memory
US5434870A (en) * 1992-04-17 1995-07-18 Unisys Corporation Apparatus and method for verifying the authenticity of a circuit board
US5455939A (en) * 1992-06-17 1995-10-03 Intel Corporation Method and apparatus for error detection and correction of data transferred between a CPU and system memory
JP2816512B2 (ja) * 1992-07-27 1998-10-27 三菱電機株式会社 半導体記憶装置
US5817830A (en) * 1992-08-14 1998-10-06 Trustees Of The University Of Pennsylvania Pyrrolic compounds
US5493017A (en) * 1992-08-14 1996-02-20 The Trustees Of The University Of Pennsylvania Ring-metalated porphyrins
US5599924A (en) * 1992-08-14 1997-02-04 Trustees Of The University Of Pennsylvania Electron-deficient porphyrins and processes and intermediates for preparing same
US5371199B1 (en) * 1992-08-14 1995-12-26 Univ Pennsylvania Substituted porphyrins porphyrin-containing polymers and synthetic methods therefor
US5539754A (en) * 1992-10-05 1996-07-23 Hewlett-Packard Company Method and circuitry for generating syndrome bits within an error correction and detection circuit
JPH0887451A (ja) * 1994-09-09 1996-04-02 Internatl Business Mach Corp <Ibm> アドレス変換を管理する方法およびアドレス変換マネージャ
JPH08106733A (ja) * 1994-10-07 1996-04-23 Hitachi Ltd 情報記憶媒体利用システム
US5533189A (en) * 1994-11-28 1996-07-02 International Business Machines Corporation System and method for error correction code generation
US5745507A (en) * 1995-03-31 1998-04-28 International Business Machines Corporation Systematic symbol level ECC for use in digital memory systems
US5825788A (en) * 1996-05-20 1998-10-20 Micron Technology Inc. Data ordering for cache data transfer
US5960453A (en) 1996-06-13 1999-09-28 Micron Technology, Inc. Word selection logic to implement an 80 or 96-bit cache SRAM
WO1998009219A1 (de) * 1996-08-30 1998-03-05 Siemens Aktiengesellschaft Fehlererkennung in einem speichersystem
US6076182A (en) * 1996-12-16 2000-06-13 Micron Electronics, Inc. Memory fault correction system and method
US5862154A (en) 1997-01-03 1999-01-19 Micron Technology, Inc. Variable bit width cache memory architecture
US6049856A (en) * 1997-05-27 2000-04-11 Unisys Corporation System for simultaneously accessing two portions of a shared memory
US5944843A (en) * 1997-08-21 1999-08-31 Hewlett-Packard Company Method and apparatus for using the unused bits of a data packet to transmit additional information
US6223301B1 (en) * 1997-09-30 2001-04-24 Compaq Computer Corporation Fault tolerant memory
US6480975B1 (en) * 1998-02-17 2002-11-12 International Business Machines Corporation ECC mechanism for set associative cache array
US6233716B1 (en) * 1998-09-24 2001-05-15 Sun Microsystems, Inc. Technique for partitioning data to correct memory part failures
US6141789A (en) * 1998-09-24 2000-10-31 Sun Microsystems, Inc. Technique for detecting memory part failures and single, double, and triple bit errors
US6574746B1 (en) 1999-07-02 2003-06-03 Sun Microsystems, Inc. System and method for improving multi-bit error protection in computer memory systems
US6519717B1 (en) 1999-10-06 2003-02-11 Sun Microsystems Inc. Mechanism to improve fault isolation and diagnosis in computers
US6662333B1 (en) * 2000-02-04 2003-12-09 Hewlett-Packard Development Company, L.P. Shared error correction for memory design
US6691276B2 (en) * 2001-06-25 2004-02-10 Intel Corporation Method for detecting and correcting failures in a memory system
US20030163769A1 (en) * 2002-02-27 2003-08-28 Sun Microsystems, Inc. Memory module including an error detection mechanism for address and control signals
US6941493B2 (en) * 2002-02-27 2005-09-06 Sun Microsystems, Inc. Memory subsystem including an error detection mechanism for address and control signals
US6976194B2 (en) * 2002-06-28 2005-12-13 Sun Microsystems, Inc. Memory/Transmission medium failure handling controller and method
US6973613B2 (en) * 2002-06-28 2005-12-06 Sun Microsystems, Inc. Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure
US6996766B2 (en) * 2002-06-28 2006-02-07 Sun Microsystems, Inc. Error detection/correction code which detects and corrects a first failing component and optionally a second failing component
US20040083334A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
US6996686B2 (en) * 2002-12-23 2006-02-07 Sun Microsystems, Inc. Memory subsystem including memory modules having multiple banks
US7779285B2 (en) * 2003-02-18 2010-08-17 Oracle America, Inc. Memory system including independent isolated power for each memory module
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
US20040225944A1 (en) * 2003-05-09 2004-11-11 Brueggen Christopher M. Systems and methods for processing an error correction code word for storage in memory components
US7530008B2 (en) 2003-08-08 2009-05-05 Sun Microsystems, Inc. Scalable-chip-correct ECC scheme
US7188296B1 (en) 2003-10-30 2007-03-06 Sun Microsystems, Inc. ECC for component failures using Galois fields
US7206962B2 (en) * 2003-11-25 2007-04-17 International Business Machines Corporation High reliability memory subsystem using data error correcting code symbol sliced command repowering
JP4260688B2 (ja) * 2004-06-09 2009-04-30 富士通株式会社 データ送信装置、データ送受信システム、データ送信装置の制御方法およびデータ送受信システムの制御方法
US7353437B2 (en) * 2004-10-29 2008-04-01 Micron Technology, Inc. System and method for testing a memory for a memory failure exhibited by a failing memory
US7478307B1 (en) 2005-05-19 2009-01-13 Sun Microsystems, Inc. Method for improving un-correctable errors in a computer system
DE102006003146B4 (de) 2006-01-23 2016-05-12 Infineon Technologies Ag Vorrichtung und Verfahren zum Auslesen eines Datenwortes und Vorrichtung und Verfahren zum Speichern eines Datenblocks
JP4918824B2 (ja) * 2006-08-18 2012-04-18 富士通株式会社 メモリコントローラおよびメモリ制御方法
US20080148132A1 (en) * 2006-10-26 2008-06-19 Mavila Rajith K Error detection and correction scheme for multi-level cell NAND flash
US8433979B2 (en) 2011-02-28 2013-04-30 International Business Machines Corporation Nested multiple erasure correcting codes for storage arrays
US9058291B2 (en) 2011-02-28 2015-06-16 International Business Machines Corporation Multiple erasure correcting codes for storage arrays
US9141473B2 (en) * 2011-03-25 2015-09-22 Samsung Electronics Co., Ltd. Parallel memory error detection and correction
US9053050B2 (en) * 2011-12-02 2015-06-09 Synopsys, Inc. Determining a desirable number of segments for a multi-segment single error correcting coding scheme
US8874995B2 (en) 2012-02-02 2014-10-28 International Business Machines Corporation Partial-maximum distance separable (PMDS) erasure correcting codes for storage arrays
US8910017B2 (en) 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition
US9021328B2 (en) 2013-01-15 2015-04-28 International Business Machines Corporation Shared error protection for register banks
US9041428B2 (en) 2013-01-15 2015-05-26 International Business Machines Corporation Placement of storage cells on an integrated circuit
US9201727B2 (en) 2013-01-15 2015-12-01 International Business Machines Corporation Error protection for a data bus
US9043683B2 (en) 2013-01-23 2015-05-26 International Business Machines Corporation Error protection for integrated circuits
US9639418B2 (en) * 2015-09-01 2017-05-02 International Business Machines Corporation Parity protection of a register
US10489241B2 (en) * 2015-12-30 2019-11-26 Arteris, Inc. Control and address redundancy in storage buffer
US10162702B2 (en) 2016-02-01 2018-12-25 Lattice Semiconductor Corporation Segmented error coding for block-based memory
US11335430B2 (en) 2019-03-26 2022-05-17 Rambus Inc. Error remapping
US11210167B2 (en) * 2019-10-28 2021-12-28 Intel Corporation Memory wordline isolation for improvement in reliability, availability, and scalability (RAS)
CN112612637B (zh) * 2020-12-10 2023-11-21 海光信息技术股份有限公司 内存数据存储方法、内存控制器、处理器芯片及电子设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3784976A (en) * 1972-04-10 1974-01-08 Ibm Monolithic array error detection system
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
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
JPS58105500A (ja) * 1981-11-23 1983-06-23 スペリ・コ−ポレ−シヨン メモリ駆動回路故障検出システム及び方法
IL67664A (en) * 1982-01-19 1987-01-30 Tandem Computers Inc Computer memory system with data,address and operation error detection
US4506364A (en) * 1982-09-30 1985-03-19 International Business Machines Corporation Memory address permutation apparatus
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
JPS60183653A (ja) * 1984-03-01 1985-09-19 Toshiba Corp ビツト・エラ−検出機能を備えたメモリ
US4667326A (en) * 1984-12-20 1987-05-19 Advanced Micro Devices, Inc. Method and apparatus for error detection and correction in systems comprising floppy and/or hard disk drives
JPS6276825A (ja) * 1985-09-30 1987-04-08 Hitachi Ltd 符号誤り訂正方法
US4747080A (en) * 1985-11-12 1988-05-24 Nippon Telegraph & Telephone Corporation Semiconductor memory having self correction function
US4745604A (en) * 1986-10-20 1988-05-17 International Business Machines Corporation Method and apparatus for transferring data between a host processor and a data storage device
US4775978A (en) * 1987-01-12 1988-10-04 Magnetic Peripherals Inc. Data error correction system
IT1202527B (it) * 1987-02-12 1989-02-09 Honeywell Inf Systems Sistema di memoria e relativo apparato di rivelazione-correzione di errore
US4862463A (en) * 1987-07-20 1989-08-29 International Business Machines Corp. Error correcting code for 8-bit-per-chip memory with reduced redundancy
US4993028A (en) * 1988-09-07 1991-02-12 Thinking Machines Corporation Error detection and correction coding
US4951284A (en) * 1988-12-14 1990-08-21 International Business Machines Corporation Method and means for correcting random and burst errors

Also Published As

Publication number Publication date
EP0535086A1 (en) 1993-04-07
WO1991019253A1 (en) 1991-12-12
DE69112624T2 (de) 1996-04-25
US5164944A (en) 1992-11-17
EP0535086B1 (en) 1995-08-30
DE69112624D1 (de) 1995-10-05

Similar Documents

Publication Publication Date Title
JPH05508042A (ja) コンピュータメモリにおける多数のエラー訂正
US6662333B1 (en) Shared error correction for memory design
US6976194B2 (en) Memory/Transmission medium failure handling controller and method
US6996766B2 (en) Error detection/correction code which detects and corrects a first failing component and optionally a second failing component
US6973613B2 (en) Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure
US7644348B2 (en) Method and apparatus for error detection and correction
US8327222B2 (en) Mechanism for adjacent-symbol error correction and detection
US6009548A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US5313475A (en) ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US4945512A (en) High-speed partitioned set associative cache memory
US9252814B2 (en) Combined group ECC protection and subgroup parity protection
US4506364A (en) Memory address permutation apparatus
US5768294A (en) Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
US7587658B1 (en) ECC encoding for uncorrectable errors
JPH087721B2 (ja) エラー検出/訂正機構を有するデータ処理システム
US6076182A (en) Memory fault correction system and method
US5691996A (en) Memory implemented error detection and correction code with address parity bits
WO1983001523A1 (en) Error-correcting memory with low storage overhead and fast correction mechanism
KR100609343B1 (ko) 컴퓨터 메모리 시스템에서의 멀티-비트 에러 보호를 위한시스템 및 방법
US20240095134A1 (en) Memory module with dedicated repair devices
US5761221A (en) Memory implemented error detection and correction code using memory modules
US10481973B2 (en) Memory module with dedicated repair devices
US7051265B2 (en) Systems and methods of routing data to facilitate error correction
JPH1027139A (ja) 誤り訂正回路