Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2512666B2 - 誤り検査/訂正機能を有するコンピュ―タ・システム - Google Patents
[go: Go Back, main page]

JP2512666B2 - 誤り検査/訂正機能を有するコンピュ―タ・システム - Google Patents

誤り検査/訂正機能を有するコンピュ―タ・システム

Info

Publication number
JP2512666B2
JP2512666B2 JP4243293A JP24329392A JP2512666B2 JP 2512666 B2 JP2512666 B2 JP 2512666B2 JP 4243293 A JP4243293 A JP 4243293A JP 24329392 A JP24329392 A JP 24329392A JP 2512666 B2 JP2512666 B2 JP 2512666B2
Authority
JP
Japan
Prior art keywords
data
bits
ecc
bit
parity
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
JP4243293A
Other languages
English (en)
Other versions
JPH06324951A (ja
Inventor
ケヴィン・ジー・クレイマー
ジーン・ジェイ・ガウデンツィ
ティモシー・ジェイ・ルイ
ダリル・シー・クローマー
ポール・シー・キング
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 JPH06324951A publication Critical patent/JPH06324951A/ja
Application granted granted Critical
Publication of JP2512666B2 publication Critical patent/JP2512666B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • G06F11/1056Updating check bits on partial write, i.e. read/modify/write

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的には、デジタル
・コンピュータ用の誤り検出/訂正方式に関し、具体的
には、パーソナル・コンピュータ(PC)のメモリ・シ
ステムに特に有用な誤り訂正コード(ECC)機能と、
ECCとパリティ・プロトコルの間の変換能力をもたら
すパリティ・インターフェース方式とに関する。
【0002】
【従来の技術】データ保全性とシステム信頼性は、すべ
てのコンピュータ・システムにとって重要な問題であ
る。その結果、許容可能な水準のデータの誤り検出また
は誤り訂正またはその両方を確実に行うための様々な方
式が開発されてきた。たとえば、パリティ・ビットを使
用して、有限の数のデータ・ビット中に発生する単一ビ
ットの誤りを検出することができる。様々なデータ保全
性方式は、コンピュータ・システム内の特定の分野に特
に適している。たとえば、誤り訂正コード(ECC)方
式は、ECCの訂正能力が半導体メモリに関連する誤り
の確率の高さと結合されているために、メモリとのイン
ターフェースに非常に有用である。ECC方式は、しば
らくの間メインフレーム・コンピュータ・システムで使
用されてきた。
【0003】データ保全性を高める必要が生じるにつれ
て、パーソナル・コンピュータ(PC)などの小型シス
テムが、データを記憶しメモリから検索する際のパリテ
ィ方式に代わって、独立型誤り訂正コード(ECC)機
能を使用するようになってきた。ECCは、データをメ
モリに記憶する前に複数の検査ビットをデータに追加す
ることによって、単一(または複数)の誤り訂正と、複
数の誤りの検出という追加の保護を与える。これらの検
査ビットは、データ・ビットと共に、メモリから読取り
の後に復号されて、データ保全性を高める。
【0004】メモリに対するECCバッファの既存の方
法では、通常は32ビットである大きなデータ・ワード
に対する検査ビットの生成と検査を行う。ところが、P
Cの多くの構成要素は、8ビットまたは16ビット単位
のデータしか送受できず、32ビットのマイクロプロセ
ッサでも、通常はメモリと32ビット・セグメントで通
信することはしない。したがって、関連する検査ビット
の保全性を維持しながら、可変8ビット(バイト)長の
ワードを書き込むことが必要である。
【0005】32ビットECC方式では、データと共に
記憶される検査ビットは、32ビット全体に基づいて生
成される。このため、データ・ビットが1ビットだけ変
更された場合でも、検査ビットのすべてを再生成する必
要がある。したがって、1バイトのデータをメモリに書
き込む必要がある場合には、まず4バイトのダブル・ワ
ード全体を読み取り、検査し、訂正しなければならず、
新規の8ビットを置換した後に、4バイトをすべて、適
当な新規検査ビットと共にメモリに再書込みしなければ
ならない。2バイトまたは3バイトのデータをメモリに
書き込む必要がある場合も同様である。これを、部分書
込みまたは読取/修正/書込動作と称する。
【0006】米国特許第4884271号明細書には、
誤り発生時訂正方式を使用した、読取/修正/書込の問
題を処理する方法が記載されている。この方法では、未
訂正のデータに基づいて検査ビットを生成した後に、そ
のデータが誤っていることが判った場合には検査ビット
を再生成する。これには、誤りのあるデータを処理する
ために"長"、誤りのないデータを処理するために"短"の
読取/修正/書込サイクル、ならびに2種類の読取りサ
イクルが必要である。この手法には、動作が比較的複雑
であるという問題がある。さらに、誤り発生時訂正方式
を用いると、誤りが存在するか否かをECC論理回路が
判断している間に、データ処理が開始できる。これに
は、誤りが発生した時には、プロセッサがバックアップ
して、破壊されたデータを捨てなければならないという
欠点がある。
【0007】米国特許第4319356号明細書には、
周期的に検査を行い、それ自体から誤りを除去するメモ
リが記載されている。この発明は、異なる数のバイトか
らなるワードで通信する可能性のある様々な他の構成要
素とメモリのインターフェースという問題に対処してい
ない。
【0008】米国特許第4852100号明細書には、
米国特許第4884271号明細書と同様に、誤り発生
時訂正方式に多重ECCサブブロックを組み込んだ、誤
り訂正/検出方法が記載されている。米国特許第485
2100号明細書は、米国特許第4319356号明細
書と同様に、異なる数のバイトからなるワードで通信す
る可能性のある様々な他の構成要素とメモリのインター
フェースという問題には対処していない。さらに、米国
特許第4852100号明細書は、単一のECCユニッ
トを使用して、様々な数のバイトからなるデータを処理
する。米国特許第4852100号明細書の第5欄に
は、様々な理由から、1つのECCユニットをデータの
各サブブロック専用にすることが記載されている。米国
特許第4852100号明細書の手法は、バイト数の変
化するワードを記憶するという問題に対処するのに使用
できるはずではあるが、ビット経路の数に関する過度の
オーバーヘッド、したがってコストと空間の故に、通常
は実行不可能である。
【0009】ECC機能は、メモリへの読み書きのため
に実施することができるが、多くのコンピュータ・シス
テム、特にPCでは、他の用途(システム・バスが特に
顕著)にパリティ検査を使用する。1つのシステム内で
複数の保全性プロトコルを使用する時には、インターフ
ェースが、異なるプロトコル間の変換能力を提供しなけ
ればならない。通常、このようなインターフェースに
は、別々のパリティとECC排他的論理和(XOR)ツ
リーが必要であり、その結果、信号遅延がもたらされ、
高価なシリコン表面積を消費することになる。
【0010】
【発明が解決しようとする課題】本発明の目的は、余分
な構成要素なしに、高速で、システム・バスを最小限し
か使用しない部分書込み機能を、ECCモジュール内で
実現することである。
【0011】本発明の他の目的は、改良されたパリティ
/ECCプロトコル・インターフェースを提供すること
である。
【0012】
【課題を解決するための手段】本発明の1態様によれ
ば、従来技術の解決策のオーバーヘッドなしに、システ
ム・バスを最小限しか使用しないで、バイト長の変化す
るデータをメモリに書込めるようにする、改良されたE
CCシステムが提供される。
【0013】部分書込み機能は、無修正データの処理が
最小限になるように内部多重化を使用することによって
達成される。これは、ECC論理回路内で、メモリから
読み取られたデータのうちの選択されたバイトを新規バ
イトで直接にオーバーレイすることによって行われる。
【0014】本発明の別の態様によれば、パリティの生
成と検査を簡単にするのに適したECCコードが選択さ
れる。これは、所望のパリティ方式に対応するデータ・
ビットのグループ化を含むコードを選択することによっ
て行われる。ECC XORツリーを、パリティ検査と
誤り訂正復号を同時に行えるように修正し、これによっ
て、インターフェース内に2組のXORツリーが必要で
はないようにする。
【0015】
【実施例】ここで図面、具体的には図1を参照すると、
パリティ・プロトコルがシステム・バス上で実施され、
ECCプロトコルがメモリ・バス上で実施される、コン
ピュータ・システムが示されている。具体的に言うと、
Intel 80386、80486またはMotorola 68030、68040など
の32ビットのマイクロプロセッサ10が、32ビット
・システム・バス12に接続される。たとえばフロッピ
・ディスク制御ボードなどの8ビット構成要素14は、
システム・バス12に接続され、たとえばビデオ・ディ
スプレイ・アダプタなどの16ビット構成要素16は、
やはりシステム・バス12に接続される。また、ファク
シミリ/モデム複合アダプタやハード・ドライブ制御装
置など、8ビットまたは16ビットの他の構成要素(図
示せず)も、システム・バス12に接続できる。
【0016】システム・バス12は、専用の32ビット
・メモリ・バス18に接続され、これによって、ランダ
ム・アクセス・メモリ(RAM)20へのデータの読み
書きが行われる。これら2本のバスの間の接続は、パリ
ティ・インターフェース22と32ビットECC論理回
路24を介する。以下の説明から明らかになるように、
本発明は、パリティ・インターフェース22の機能とE
CC論理回路24の機能を単一のユニット内で組み合わ
せ、冗長な論理回路とオーバーヘッドを取り除き、これ
によって、高価なシリコン表面積を節約し、動作速度を
向上させる。
【0017】メモリ・バス18用のECCプロトコル
は、32ビットのデータ・ビットと7ビットの検査ビッ
トであり、一方、システム・バス12用のパリティ・プ
ロトコルは、32ビットのデータ・ビットと4ビットの
パリティ・ビットである。このシステムでは、システム
・バス12に接続された各構成要素は、パリティ・イン
ターフェース22を含めて、システム・バス12にデー
タを送る時にパリティを生成し、システム・バス12か
らデータを受け取る時にパリティを検査しなければなら
ない。
【0018】32ビット・バスの場合、通常は、4つの
3段排他的論理和(XOR)ツリーを使用して、データ
の1バイト毎に1ビットずつ計4ビットのパリティ・ビ
ットを生成し、検査する。このようなツリーの1つを図
2に示す。このツリーは、7つのXORゲートと、いく
つかの追加の制御論理回路(図示せず)を含む。このよ
うなパリティ回路は、当業者には周知であり、したがっ
て、詳細に説明する必要はない。ここでは、データ・ビ
ットのグループに対するパリティのオーバーヘッドが、
追加の論理回路に必要なシリコン面積と、XORゲート
・ツリーによるパリティ・ビットの生成および検査の際
の遅延であることだけを指摘しておく。
【0019】図3は、32ビットのデータ・ビットと7
ビットの検査ビットからなるECCコードの実施態様を
示す図である。このコードは、すべての単一ビット誤り
を訂正する能力と、すべての2ビット誤りを検出する能
力を有する。これを達成するため、7つの4段XORツ
リー26を使用して、7ビットの検査ビットを生成す
る。各XORツリーは、32ビットのデータ・ビットの
重なり合うサブセットからの入力を有する。このサブセ
ットは、各ビットごとに独自の包含パターンをもたら
す。メモリからの読取り中に、7つのXORゲート27
内で、7ビットの受け取った検査ビットを7つの4段X
ORツリー26の出力と比較して、誤りが存在するか否
かを判定する。XORゲート27は、図を簡単にするた
めそのうちの1つだけを図示してある。その後、シンド
ロームと称するこの結果と、インバータ群28(やは
り、そのうちの1つだけを図示)からのその補数を、3
9個の7入力ANDゲート300〜3038によって復号
して、正確なビット誤りを突きとめる。誤りのあるデー
タ・ビットは、復号中の1つのANDゲート30i(0
≦i≦31)の出力の論理"1"で識別され、当該の訂正
用XORゲート320〜3231によってビット反転され
る。訂正用XORゲート320〜3231の出力は、訂正
済みのデータである。
【0020】7つのXORゲート27の出力は、7入力
のORゲート33に入力される。このORゲート33
は、訂正可能であるか否かにかかわらず、誤りが検出さ
れたことをシステムに知らせる出力を供給する。したが
って、全ビット0のシンドロームは、誤りがないことを
示す。
【0021】ANDゲート300〜3038の出力は、3
9ビット(32ビットのデータ・ビットと7ビットの検
査ビット)のNORゲート34に入力される。NORゲ
ート34からの論理"1"出力は、一致する訂正可能な誤
り復号パターンが検出されなかった(すなわち、AND
ゲート30i(0≦i≦38)のどれも、論理"1"を出
力しなかった)ことを反映する。NORゲート34から
の論理"1"出力は、ANDゲート36をイネーブルす
る。その後、誤りが検出されたことがORゲート33の
論理"1"出力によって示された場合、ANDゲート36
は、論理"1"を出力して、訂正不能誤りをシステムに報
告する。メモリへの書込み中は、検査ビットが、7つの
4段XORツリー26によって生成され、データと組み
合わされるだけである。
【0022】図4は、パリティを使用するシステム・バ
スと、ECCを実施したメモリ・バスの間でインターフ
ェースを行う従来の方法を示す図である。システム・バ
ス12(図4ではバス"1"と記す)とメモリ・バス18
(図4ではバス"2"と記す)の間に、2組のXORツリ
ーがある。パリティ論理回路40は、図2に示した種類
の4つのXORツリーと、関連する論理回路とを備え
る。32ビットがデータ、4ビットがパリティの36ビ
ットが、システム・バス12とパリティ論理回路40の
間で転送される。ECC論理回路42は、7つのXOR
ツリーと、図3に示した種類の関連する論理回路とを備
える。32ビットがデータ、7ビットが検査ビットの3
9ビットが、メモリ・バス18とECC論理回路42の
間で転送される。
【0023】バス"2"(すなわちメモリ・バス18)か
らバス"1"(すなわちシステム・バス12)への転送中
に、下記のことが行われる。
【0024】1)32ビットのデータ・ビットと7ビッ
トの検査ビットを、バス"2"から取り、ECC論理回路
42を構成するXORツリーのグループおよび論理回路
に送る。XORツリー群は、検出可能な誤りがそのデー
タ内に存在するか否かを判定する。
【0025】2)単一ビット誤りを訂正する。誤りフラ
グを用いて、バス"2"からのデータに含まれる、単一ビ
ット誤りと2ビット誤りのすべてならびに検出可能な多
重ビット誤りについて、システムに知らせる。
【0026】3)32ビットの訂正済みデータ・ビット
を、パリティ論理回路40を構成するXORツリーの第
2の組に経路指定する。その後、データの8ビット(1
バイト)毎に、1ビットのパリティ・ビットを生成す
る。
【0027】4)32ビットのデータ・ビットと4ビッ
トのパリティ・ビットを、バス"1"に送る。
【0028】バス"1"からバス"2"への転送に、同様の
手順が必要である。ただし、この場合は、パリティ誤り
フラグを用いて、検出されたパリティ誤りについてシス
テムに知らせる。図4に示すように、この従来の手法で
は、2組のXORツリーが必要であり、各XORツリー
に関連して有限の遅延が生じる。
【0029】本発明には、基本的に2つの態様がある。
第1の態様は、図1に示したコンピュータ・システムで
の部分書込み機能または読取/修正/書込機能の問題で
ある。図5は、部分書込み機能を実施する従来技術の方
法の例を示す。システム・バス12とメモリ・バス18
の間のインターフェースは、4つの8ビット両方向(B
IDI)バッファ44、46、48、50を備える。さ
らに、32ビットのECC論理回路24は、前述したよ
うにメモリ・バス18に接続される。ECC論理回路2
4は、たとえば、メモリから4バイトを読み取り、誤り
を訂正または指示し、変更中でないデータだけを専用の
メモリ・バス18に送り返す。1バイトのデータを書き
込もうとする8ビット構成要素14は、このデータをシ
ステム・バス12の適当な線上に置く。4つの8ビット
BIDIバッファ44、46、48、50は、その後、
活動モードに置かれ、あるいはトライステート・モード
に保持され、その結果、データの新規バイトが、無変更
の3バイトと共に、ECC論理回路24の入出力(I/
O)ポートに現れる。ECC論理回路は、その後、その
データを読み込み、新規の検査ビットを生成し、その組
合せをRAM20に書き込む。マイクロプロセッサ10
から、またはたとえばシステム・バス12に接続された
16ビット構成要素によって、変更中の2バイトまたは
3バイトのデータについてにも、同じことが行える。
【0030】この従来技術の欠点の1つは、4つの8ビ
ットBIDIバッファ44、46、48、50によるコ
ストと遅延の増加である。これらは不要であると主張す
ることもできるが、この例でこれらの構成要素がない
と、どのメモリ・アクセスの間にも、システム・バス1
2の長時間の停止が発生するはずである。また、この方
式には、訂正済みのデータ・バイトをECC論理回路2
4に読み込めるようにするため、専用のメモリ・バス1
8まで移動する際に追加の遅延が生じる。
【0031】図6は、本発明の第1の態様による改良さ
れたECC論理回路の好ましい実施例を詳細に示す。両
方向性メモリ・バス18の32本のデータ・ビット線
が、レシーバ・ブロック52とドライバ・ブロック54
に接続される。レシーバ・ブロック52からの32本の
データ・ビット線は、1組のXORツリー58と復号訂
正論理回路60に接続される。以下で詳細に説明するよ
うに、XORツリー58は、7つのツリーを備え、その
うち4つはパリティ・ビットと検査ビットの両方を生成
し、残りの3つは検査ビットだけを生成する。
【0032】メモリ・バス18の7本の検査ビット線
も、同様に、レシーバ・ブロック62とドライバ・ブロ
ック64の両方に接続される。レシーバ・ブロック62
の出力は、XORツリー58に供給され、XORツリー
58の出力は、復号訂正論理回路60に供給される。復
号訂正論理回路60は、5つの出力を有する。1本の出
力は、トライステート・レシーバ・ブロック66への3
2本のデータ・ビット線を含む。第2の出力は、ドライ
バ・ブロック64への7本の検査ビット線を含む。さら
に、単一誤りドライバ70への誤り出力と、多重誤りド
ライバ72への誤り出力の、2つの誤り出力がある。ま
た、パリティ生成検査論理回路75からの出力に応答し
てシステム・バス12にパリティ誤りフラグを出力す
る、パリティ誤りドライバ74がある。パリティ生成検
査論理回路75については、以下で図10を参照して詳
細に説明する。パリティ生成検査論理回路75は、復号
訂正論理回路60からの4つのパリティ訂正出力と、X
ORツリー58からの4つのパリティ出力を受け取り、
レシーバ・ブロック76およびドライバ・ブロック77
を介して、システム・バス12上の4本のパリティ線と
通信する。
【0033】 システム・バス12側では、両方向性シ
ステム・バス12の32本のデータ・ビット線がトライ
ステート・レシーバ・ブロック78の入力およびトライ
ステート・ドライバ・ブロック79の出力に、各々、接
続される。このドライバ・ブロック79の入力は、前記
レシーバ・ブロック66(内部レシーバとも呼ぶ)の出
力に接続される。システム・バス12に接続されたレシ
ーバ・ブロック78の出力からの32本のデータ・ビッ
ト線は、メモリ・バス18に接続されたレシーバ・ブロ
ック52からの32本のデータ・ビット線と並列にXO
Rツリー58に接続される。さらに、レシーバ・ブロッ
ク78の出力は、メモリ・バス18に接続されたドライ
バ・ブロック54の入力にも接続される。
【0034】部分書込み機能は、下記に従って、メモリ
から読み取ったデータのうちの選択されたバイトを新規
バイトで直接にオーバーレイすることにより内部多重化
を用いて行われる。
【0035】 1)32ビット幅のデータは、メモリ・
バス18からレシーバ・ブロック52を介してXORツ
リー58および復号訂正論理回路60に読み込まれ、そ
こで、システム・バス上に転送されるべきデータ・ビッ
トに対して1バイト当り1ビットの割合でi(実施例で
は4)ビットのパリティ・ビット(IBP)を発生する
と同時にエラー検出/訂正処理を行なって32ビット幅
の訂正済データを内部レシーバ・ブロック66の入力端
に供給する。システム・バス12に接続されたレシーバ
・ブロック78および内部レシーバ・ブロック66の各
出力に接続された32ビット幅の内部バス80が設けら
れ、この内部バス上に到来するデータは8ビット(すな
わちバイト)幅のグループでレシーバ・ブロック78ま
たは66により排他的に制御される。すなわち、これら
の各レシーバ・ブロック78および66は、バイト幅単
位での活動状態に制御するための制御信号の下に、動作
する。したがって、部分書込み動作の間、内部レシーバ
・ブロック66が、その入力端に到来した訂正済のメモ
リ読み取りデータのうち変更(すなわち更新)を必要と
しないバイト位置に対して、活動状態に制御されゲート
する一方、他のレシーバ・ブロック78が、前記データ
のうち変更を必要とするバイト位置(すなわち、システ
ム・バス12から書込むべきバイト)に対して、活動状
態に制御されゲートする。
【0036】 この結果、更新された32ビット・デー
タがXORツリー58および復号訂正論理回路60へ転
送され、そこでメモリ・バス18から到来したメモリ読
取りデータの場合と同様に、iビット(たとえば4ビッ
ト)のパリティ・ビット(IBP)およびnビット(た
とえば7ビット)のECC検査ビットが生成される。こ
の生成されたパリティ・ビット(IBP)は、パリティ
・ビット・レシーバ・ブロック76により受信されたシ
ステム・バス12からの受信パリティ・ビットに対し
て、パリティ生成検査論理回路75において比較され、
不一致のときパリティ誤りドライバ74を介してシステ
ムに対して誤り信号を供給する。他方、比較結果、一致
信号が生成されると、前記生成されたECC検査ビット
が検査ビット・ドライバ・ブロック64を介してメモリ
・バス18上に出力され、同時に、内部バス80上の更
新データ・ビットがデータ・ドライバ・ブロックを介し
てメモリ・バス18上に出力される。
【0037】この機能のもう1つの改善点は、レシーバ
・ブロック52、62、76およびトライステート・レ
シーバ・ブロック78がそれぞれ、非常に短い時間の間
に外部のシステム・バスとメモリ・バスを解放するのに
使用できる透過伝送ラッチを含むことである。したがっ
て、本発明の第1の態様は、通常のECC読み書きの性
能に全く影響を及ぼさずに、外部の構成要素と遅延の節
約をもたらす。
【0038】本発明の第2の態様は、パリティ検査プロ
トコルを実施するシステム・バスと、ECCプロトコル
を実施するメモリ・バスの間のインターフェースに関す
る。32ビット・データ・バスの場合、通常は、4つの
3段XORツリーを使用して、データの1バイト毎に1
ビットずつ計4つのパリティ・ビットを生成し、検査す
る。誤り訂正コード用に7ビットの検査ビットを使用す
ると、図4に示した従来技術の手法では、さらに7つの
4段XORツリーを使用しなければならない。したがっ
て、1グループのデータ・ビットに対するパリティとE
CCのオーバーヘッドは、追加の論理回路に必要なシリ
コン面積と、XORゲート・ツリーによるパリティ・ビ
ットの生成および検査の際の遅延である。この理由か
ら、本発明の第2の態様は、パリティの生成と検査用の
1組と検査ビットの生成と検査用の1組の計2組のXO
Rツリーという固有の冗長性を取り除くことを意図した
ものである。
【0039】 本発明の第2の態様によれば、ECC検
査ビットの生成に必要な7つのXORツリーのうち、4
つの各XORツリーを共用して、4つのパリティ・ビッ
トと4つの検査ビットをそれぞれ生成し、残りの3つの
XORツリーを使用して、検査ビットの残り3ビットを
生成する。4つの組合せECC検査ビットのうちの1つ
とパリティ・ビットを生成するXORツリーの例を、図
7に示す。第1段は、8つのXORゲート821〜828
を含む。これらのXORゲートへの入力を、文字Aない
しPで示す。第2段は、4つのXORゲート841〜8
4を含み、XORゲート821〜828の各対が、XO
Rゲート841〜844に入力を供給する。第3段は、2
つのXORゲート861および862を含み、やはり、X
ORゲート841〜844の各対が、XORゲート861
および862に入力を供給する。この一方のXORゲー
ト861の出力は、4バイトのデータのうちの1バイト
に対するパリティ・ビットIBP(i)(0≦i≦3)
である。したがって、データ入力AないしHがその生成
に関与するパリティ・ビットは、このXORツリーから
生成されるものだけである。このXORツリーの第4段
には、1つのXORゲート88だけを含む。このXOR
ゲート88は、入力としてXORゲート861と862
出力を受け取る。XORゲート88の出力は、データ入
力AないしPに対するECC検査ビットTn(0≦n≦
6)である。
【0040】両方の組のXORツリーの必要をなくすた
め、パリティの生成と検査の作業を簡単にすることがで
きる適当なECCの組を選択する。これは、所望のパリ
ティ方式に対応する、XORツリー内のデータ・ビット
のグループ化を含むコードを選択することによって行わ
れる。図8は、インターナショナル・ビジネス・マシー
ンズ・コーポレーションのチェン(C. L. Chen)および
シャオ(M.Y. Hsiao)によって開発された、そのような
コードの例を示す。
【0041】図8の各行は、1つのXORツリーを表
す。"X"は、対応するツリーに入力されるデータ・ビッ
トを示す。XORツリー"1"は、その入力のうちにデー
タ・ビット0〜7を有することに留意されたい。これら
の8ビットは、訂正された後に、システム・バス用のパ
リティ・ビット0を生成するのに使用される。ツリー"
2"は、データ・ビット8〜15からの入力を有し、こ
れらはパリティ・ビット1に対応する。同様に、ツリ
ー"4"は、パリティ・ビット2を生成するのに必要なビ
ットを含み、ツリー"5"には、パリティ・ビット3を生
成するのに必要なビットを含む。このようなコードが与
えられているものとすると、XORツリーのうちのいく
つかを、図7に示すように、それらのそれぞれの中間ノ
ードがデータの所与のバイトに対するパリティ・ビット
を表すように構成することができる。
【0042】図9は、図3に示したECCコード実施態
様を修正して、図7に示した4つのXORツリーを含む
図6のXORツリー58で置換したものを示す。39ウ
ェイのNORゲート34が、5つのNORゲート90、
92、94、96、98で置換されていることに留意さ
れたい。最初の4つのNORゲートはそれぞれ、所与の
バイトの復号機能を実行する8つのANDゲートからの
入力を有する。
【0043】図7に示した4つのXORツリーの出力I
BP(i)(0≦i≦3)は、パリティ・ビットでもあ
る。ただし、これらのパリティ・ビットは、必ずしも正
しいとは限らない。データ・ビットのうちのどれかが誤
っている場合には、対応するパリティ・ビットは、未訂
正のデータに基づいて生成され、やはり誤っていること
になる。データは、ECC XORツリーに入る時には
まだ訂正されていないことを想起されたい。したがっ
て、データ中の単一ビット誤りが後で訂正される時、パ
リティは、もはやそのデータを正しく反映していない。
【0044】幸いなことに、ECC誤り論理回路のいく
つかの些細な変更によって、別のツリーを使用せずに正
しいパリティを決定することができる。NORゲート出
力のそれぞれの論理的な意味は、各出力が、訂正可能な
誤りがデータのそのバイト内で発生したことを示すとい
うことである。その場合には、この信号を使用して、シ
ステム・バス12上に送出される訂正済みデータを正し
く反映するためにどのパリティ・ビットをビット反転し
なければならないかを決定することができる。
【0045】図10は、パリティ生成を完了するのに必
要な論理回路を示す図である。図10では、NORゲー
ト90、92、94、96から出力される信号BPE
(i)(0≦i≦3)を、当該のXORゲート100
(図を簡単にするためそのうちの1つだけを図示)によ
って、ECC XORツリーからの内部パリティ・ノー
ドIBP(i)(0≦i≦3)(図7参照)と比較し
て、メモリ・バス18からシステム・バス12に転送さ
れる正しいパリティ・ビット出力を生成する。
【0046】前の議論では、全般的に図1に示したよう
に、メモリ・バス18からシステム・バス12への転送
について論じた。1組のXORツリーだけを使用した、
システム・バス12からメモリ・バス18へのデータの
転送は、下記のように要約される。
【0047】1)32ビットのデータ・ビットと4ビッ
トのパリティ・ビットをシステム・バスから取り、7つ
のXORツリーに送る。
【0048】2)7ビットのECC検査ビットと4ビッ
トの内部パリティ・ビットを、同じツリーで同時に生成
する。図7を参照されたい。
【0049】3)図10のXORゲート102によっ
て、内部パリティ・ビットと受け取ったパリティ・ビッ
トを比較する。XORゲート102(やはり4つのうち
の1つだけを図示)は、IBP(i)入力と、システム
・バス12から受け取った対応するパリティ・ビットと
を受け取り、これら2つが同じでない場合には、システ
ム・バス12からメモリ・バス18に転送されるパリテ
ィ誤りを生成する。
【0050】4)ECC検査ビットを、32ビットのデ
ータ・ビットと共にメモリ・バス18へ送出する。
【0051】本発明の第2の態様によるパリティ・ルッ
ク・アヘッド機構を使用すると、図4のパリティ論理回
路内に示したXORツリーが、完全に不要となる。この
結果、インターフェースの性能が大幅に向上し、シリコ
ン表面積および電力の明らかな節約が得られる。別の見
方をすれば、通常のパリティ・システムだけに使用され
るXORツリーより3つ余分にXORツリーを設けるだ
けで、完全なECC機能を実行することができる。
【0052】
【発明の効果】従来技術の解決策のオーバーヘッドなし
に、システム・バスを最小限しか使用しないで、バイト
長が変化するデータをメモリに書き込める、改良された
ECCシステムが提供された。
【図面の簡単な説明】
【図1】本発明がその中で実施される種類の典型的なコ
ンピュータ・システムを示す、一般化したブロック図で
ある。
【図2】典型的な従来技術の排他的論理和(XOR)パ
リティ・ツリーを示す論理図である。
【図3】典型的な従来技術のECC実施態様を示す、ブ
ロック図兼論理図である。
【図4】典型的な従来技術のパリティ/ECCインター
フェースを示すブロック図である。
【図5】図1に類似の、典型的な従来技術のパリティ書
込み実施態様を示す、一般化したブロック図である。
【図6】本発明の好ましい実施例による、改良された部
分書込み機能を実施するECCシステムの詳細なブロッ
ク図である。
【図7】本発明に従って修正されたECC XORツリ
ーを示す論理図である。
【図8】本発明の好ましい実施例に従って改良されたイ
ンターフェースを実施するのに使用される、パリティ・
グループ化を伴うECCコードを示す図表である。
【図9】図8に示したECCコードに基づく、本発明の
好ましい実施例に従って改良されたECC実施態様のブ
ロック図兼論理図である。
【図10】本発明の好ましい実施例による、パリティの
生成と検査を完了する回路の論理図である。
【符号の説明】
10 マイクロプロセッサ 12 システム・バス 14 8ビット構成要素 16 16ビット構成要素 18 メモリ・バス 20 ランダム・アクセス・メモリ(RAM) 22 パリティ・インターフェース 24 ECC論理回路 26 7つの4段XORツリー 27 7つのXORゲート 28 インバータ 30 7入力ANDゲート 32 訂正用XORゲート 40 パリティ論理回路 42 ECC論理回路 58 XORツリー 60 復号訂正論理回路 75 パリティ生成検査論理回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジーン・ジェイ・ガウデンツィ アメリカ合衆国10578、ニューヨーク州 パーディス、オークリッジ・ロード(番 地なし) (72)発明者 ティモシー・ジェイ・ルイ アメリカ合衆国33487、フロリダ州ボ カ・ラトン、ブランディーワイン・ドラ イブ 4519番地 (72)発明者 ダリル・シー・クローマー アメリカ合衆国33433、フロリダ州ボ カ・ラトン、パシフィック・ブールバー ド 5581番地 3708号 (72)発明者 ポール・シー・キング アメリカ合衆国33434、フロリダ州ボ カ・ラトン、27番アベニュー、ノース・ ウェスト 3198番地 (56)参考文献 特開 昭61−139846(JP,A) 特開 昭57−203299(JP,A) 特公 昭52−26104(JP,B2)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】システム・バスに接続されたプロセッ
    、前記システム・バスと同じデータ幅を有するメモリ
    ・バスに接続されたメモリと、前記メモリ・バスとの間
    で所定バイト数のデータ・ビットおよびn桁の誤り検査
    ・訂正(ECCと略称する)ビットの送受を行う第1の
    ドライバ手段およびレシーバ手段ならびに前記システム
    ・バスとの間で前記所定バイト数のデータ・ビットおよ
    びi(ただし、n>i)桁のパリティ・ビットの送受を
    行う第2のドライバ手段およびレシーバ手段を含むイン
    ターフェース手段とより成るECC機能を有するコンピ
    ュータ・システムにおいて、 前記インターフェース手段は、 前記メモリから読取られたデータ・ビットに対して誤り
    検査・訂正処理を行い訂正済データ・ビットを前記第2
    のドライバ手段に向けて出力する一方、前記メモリに書
    込むべきデータ・ビットに対してn桁のECCビットを
    発生して前記第1のドライバに向けて出力する単一のE
    CC論理手段と、前記 ECC論理手段からの訂正済データ・ビットを受信
    して前記第2のドライバ手段へ転送するための内部レシ
    ーバ手段と、前記 内部レシーバ手段および前記第2のレシーバ手段に
    接続され、前記メモリに書込むべきデータ・ビットを前
    記第1のドライバ手段および前記ECC論理手段へ転送
    するための内部バスとを含み、 記ECC論理手段は、前記内部バスおよび前記第1の
    レシーバ手段からの前記所定バイト数のデータ・ビット
    のうちの所定の複数のデータ・ビットをそれぞれ受信し
    てn桁のECCビットを発生するためのn個の排他的論
    理和リー構造を含み、そのうちi個の各排他的論理
    リー構造が、前記所定バイト数のデータ・ビットの
    異なるバイトのデータ・ビットおよび他の所定のデータ
    ・ビットをそれぞれ受信して、前記ECCビットの発生
    と同時に、バイト毎のパリティ・ビットを発生するよう
    に接続されており、 前記ECC論理手段の排他的論理和リー構造をパリテ
    ィ・ビット発生のためのリー構造として共用すること
    を特徴とする単一のECC論理手段を有するコンピュー
    タ・システム。
JP4243293A 1991-10-31 1992-09-11 誤り検査/訂正機能を有するコンピュ―タ・システム Expired - Lifetime JP2512666B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/785,558 US5313475A (en) 1991-10-31 1991-10-31 ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US785558 1991-10-31

Publications (2)

Publication Number Publication Date
JPH06324951A JPH06324951A (ja) 1994-11-25
JP2512666B2 true JP2512666B2 (ja) 1996-07-03

Family

ID=25135884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4243293A Expired - Lifetime JP2512666B2 (ja) 1991-10-31 1992-09-11 誤り検査/訂正機能を有するコンピュ―タ・システム

Country Status (4)

Country Link
US (1) US5313475A (ja)
EP (1) EP0540450B1 (ja)
JP (1) JP2512666B2 (ja)
DE (1) DE69220452D1 (ja)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5430742A (en) * 1992-10-14 1995-07-04 Ast Research, Inc. Memory controller with ECC and data streaming control
US5914953A (en) * 1992-12-17 1999-06-22 Tandem Computers, Inc. Network message routing using routing table information and supplemental enable information for deadlock prevention
US5481552A (en) * 1993-12-30 1996-01-02 International Business Machines Corporation Method and structure for providing error correction code for 8-byte data words on SIMM cards
ATE216096T1 (de) * 1994-02-22 2002-04-15 Siemens Ag Flexible fehlerkorrekturcode/paritätsbit- architektur
US5594862A (en) * 1994-07-20 1997-01-14 Emc Corporation XOR controller for a storage subsystem
US5561765A (en) * 1994-07-27 1996-10-01 Siemens Rolm Communications, Inc. Algorithm for testing a memory
US5771247A (en) * 1994-10-03 1998-06-23 International Business Machines Corporation Low latency error reporting for high performance bus
US5687353A (en) * 1995-03-03 1997-11-11 Hal Computer Systems, Inc. Merging data using a merge code from a look-up table and performing ECC generation on the merged data
US5774481A (en) * 1995-03-31 1998-06-30 International Business Machines Corporation Reduced gate error detection and correction circuit
US5922080A (en) * 1996-05-29 1999-07-13 Compaq Computer Corporation, Inc. Method and apparatus for performing error detection and correction with memory devices
US5961660A (en) * 1997-03-03 1999-10-05 International Business Machines Corporation Method and apparatus for optimizing ECC memory performance
US6363511B1 (en) 1998-03-31 2002-03-26 Stmicroelectronics N.V. Device and method for decoding data streams from storage media
US6260169B1 (en) * 1998-03-31 2001-07-10 Stmicroelectronics N.V. Device and method for real time correction of row data from DVD media
US6728920B1 (en) 1999-05-24 2004-04-27 Adaptive Broadband Corporation Method for correcting errors in transfer of information
TW519663B (en) * 2001-05-15 2003-02-01 Via Tech Inc Memory control device and method
US7340659B2 (en) * 2002-05-15 2008-03-04 Infineon Technologies, A.G. Method of testing multiple modules on an integrated circuit
US7305519B1 (en) 2004-03-29 2007-12-04 Cisco Technology, Inc. Error protection for associative memory entries and lookup operations performed thereon
US7099221B2 (en) 2004-05-06 2006-08-29 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
US20060010339A1 (en) * 2004-06-24 2006-01-12 Klein Dean A Memory system and method having selective ECC during low power refresh
US7340668B2 (en) * 2004-06-25 2008-03-04 Micron Technology, Inc. Low power cost-effective ECC memory system and method
US7290083B2 (en) * 2004-06-29 2007-10-30 Cisco Technology, Inc. Error protection for lookup operations in content-addressable memory entries
US7116602B2 (en) 2004-07-15 2006-10-03 Micron Technology, Inc. Method and system for controlling refresh to avoid memory cell data losses
US6965537B1 (en) * 2004-08-31 2005-11-15 Micron Technology, Inc. Memory system and method using ECC to achieve low power refresh
US20080096631A1 (en) * 2004-10-02 2008-04-24 Wms Gaming Inc. Gaming Device With Error Correcting Memory
US7350131B2 (en) * 2005-01-22 2008-03-25 Cisco Technology, Inc. Error protecting groups of data words
US7689889B2 (en) * 2006-08-24 2010-03-30 Cisco Technology, Inc. Content addressable memory entry coding for error detection and correction
US7894289B2 (en) 2006-10-11 2011-02-22 Micron Technology, Inc. Memory system and method using partial ECC to achieve low power refresh and fast access to data
US7900120B2 (en) 2006-10-18 2011-03-01 Micron Technology, Inc. Memory system and method using ECC with flag bit to identify modified data
US8443134B2 (en) * 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9734086B2 (en) 2006-12-06 2017-08-15 Sandisk Technologies Llc Apparatus, system, and method for a device shared between multiple independent hosts
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
JP4764945B2 (ja) * 2007-06-20 2011-09-07 富士通株式会社 キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム
US8316277B2 (en) * 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US7523379B1 (en) 2008-03-31 2009-04-21 International Business Machines Corporation Method for time-delayed data protection
JP2010204828A (ja) * 2009-03-02 2010-09-16 Renesas Electronics Corp データ保護回路及び方法、並びにデータ処理装置
KR101717644B1 (ko) 2009-09-08 2017-03-27 샌디스크 테크놀로지스 엘엘씨 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법
JP5353655B2 (ja) * 2009-11-18 2013-11-27 富士通株式会社 エラー検出・訂正符号生成回路及びその制御方法
US9166624B2 (en) 2010-05-11 2015-10-20 Osaka University Error-correcting code processing method and device
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
PL2723576T3 (pl) 2011-06-21 2018-01-31 Basf Se Drukowanie siatek dyfrakcyjnych na papierze i kartonie
US9003260B2 (en) * 2011-06-29 2015-04-07 Texas Instruments Incorporated Partial-writes to ECC (error check code) enabled memories
US9658780B2 (en) 2011-09-16 2017-05-23 Avalanche Technology, Inc. Magnetic random access memory with dynamic random access memory (DRAM)-like interface
US9251882B2 (en) 2011-09-16 2016-02-02 Avalanche Technology, Inc. Magnetic random access memory with dynamic random access memory (DRAM)-like interface
US8751905B2 (en) 2011-09-16 2014-06-10 Avalanche Technology, Inc. Memory with on-chip error correction
US9054840B2 (en) 2011-12-15 2015-06-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Error detection and correction of a data transmission
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
CN102831028B (zh) * 2012-09-07 2016-01-20 苏州国芯科技有限公司 基于数据总线的ecc纠错方法及系统
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9753667B2 (en) * 2015-02-19 2017-09-05 Avago Technologies General Ip (Singapore) Pte. Ltd. High bandwidth memory and glitch-less differential XOR
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction
CN115981913A (zh) * 2022-12-26 2023-04-18 芯弦半导体(苏州)有限公司 基于sram的ecc校验方法及装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648239A (en) * 1970-06-30 1972-03-07 Ibm System for translating to and from single error correction-double error detection hamming code and byte parity code
US3809884A (en) * 1972-11-15 1974-05-07 Honeywell Inf Systems Apparatus and method for a variable memory cycle in a data processing unit
JPS5226104A (en) * 1975-08-25 1977-02-26 Nippon Syst Kogyo Kk Back-up system in data transmission
US4072853A (en) * 1976-09-29 1978-02-07 Honeywell Information Systems Inc. Apparatus and method for storing parity encoded data from a plurality of input/output sources
US4201337A (en) * 1978-09-01 1980-05-06 Ncr Corporation Data processing system having error detection and correction circuits
US4241446A (en) * 1978-10-16 1980-12-23 Honeywell Information Systems Inc. Apparatus for performing single error correction and double error detection
US4319356A (en) * 1979-12-19 1982-03-09 Ncr Corporation Self-correcting memory system
US4345328A (en) * 1980-06-30 1982-08-17 Sperry Corporation ECC Check bit generation using through checking parity bits
JPS57203299A (en) * 1981-06-10 1982-12-13 Nec Corp Storage device
JPS61139846A (ja) * 1984-12-12 1986-06-27 Hitachi Ltd 誤り訂正・検出方式
DE3482509D1 (de) * 1984-12-28 1990-07-19 Ibm Geraet zum korrigieren von fehlern in speichern.
US4716545A (en) * 1985-03-19 1987-12-29 Wang Laboratories, Inc. Memory means with multiple word read and single word write
JPS6250943A (ja) * 1985-08-30 1987-03-05 Hitachi Ltd 記憶装置
JPS62251949A (ja) * 1986-04-25 1987-11-02 Mitsubishi Electric Corp 記憶装置の誤り訂正方法
US4761783A (en) * 1986-10-17 1988-08-02 Christensen Harold F Apparatus and method for reporting occurrences of errors in signals stored in a data processor
US4852100A (en) * 1986-10-17 1989-07-25 Amdahl Corporation Error detection and correction scheme for main storage unit
JPS63236416A (ja) * 1987-03-25 1988-10-03 Mitsubishi Electric Corp 符号化復号化方法
US4884271A (en) * 1987-12-28 1989-11-28 International Business Machines Corporation Error checking and correcting for read-modified-write operations
JPH01196647A (ja) * 1988-01-31 1989-08-08 Nec Corp 誤り訂正機能を有する記憶装置
US4899342A (en) * 1988-02-01 1990-02-06 Thinking Machines Corporation Method and apparatus for operating multi-unit array of memories
US4888773A (en) * 1988-06-15 1989-12-19 International Business Machines Corporation Smart memory card architecture and interface

Also Published As

Publication number Publication date
EP0540450A1 (en) 1993-05-05
DE69220452D1 (de) 1997-07-24
US5313475A (en) 1994-05-17
EP0540450B1 (en) 1997-06-18
JPH06324951A (ja) 1994-11-25

Similar Documents

Publication Publication Date Title
JP2512666B2 (ja) 誤り検査/訂正機能を有するコンピュ―タ・システム
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
US6041430A (en) Error detection and correction code for data and check code fields
US6996766B2 (en) Error detection/correction code which detects and corrects a first failing component and optionally a second failing component
US7398449B1 (en) Encoding 64-bit data nibble error correct and cyclic-redundancy code (CRC) address error detect for use on a 76-bit memory module
JP4071940B2 (ja) メモリ設計のための共有式誤り訂正
EP1204921B1 (en) System and method for detecting double-bit errors and for correcting errors due to component failures
US6009548A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US5477551A (en) Apparatus and method for optimal error correcting code to parity conversion
US6044483A (en) Error propagation operating mode for error correcting code retrofit apparatus
US5805799A (en) Data integrity and cross-check code with logical block address
EP1183605B1 (en) System and method for protecting data and correcting bit errors due to component failures
US5768294A (en) Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
US5922080A (en) Method and apparatus for performing error detection and correction with memory devices
US4961193A (en) Extended errors correcting device having single package error correcting and double package error detecting codes
EP0176218B1 (en) Error correcting system
US7080309B2 (en) Multiple ECC schemes to improve bandwidth
WO1991019253A1 (en) Multiple error correction in a computer memory
EP0147336B1 (en) Error correcting and detecting system
US8219880B2 (en) Combined single error correction/device kill detection code
JPS63115239A (ja) エラ−検査訂正回路
US5751745A (en) Memory implemented error detection and correction code with address parity bits
US5761221A (en) Memory implemented error detection and correction code using memory modules
US6505318B1 (en) Method and apparatus for partial error detection and correction of digital data