JPH04308947A - エラー検出/修正装置 - Google Patents

エラー検出/修正装置

Info

Publication number
JPH04308947A
JPH04308947A JP3345940A JP34594091A JPH04308947A JP H04308947 A JPH04308947 A JP H04308947A JP 3345940 A JP3345940 A JP 3345940A JP 34594091 A JP34594091 A JP 34594091A JP H04308947 A JPH04308947 A JP H04308947A
Authority
JP
Japan
Prior art keywords
data
memory
read
write
read data
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
JP3345940A
Other languages
English (en)
Inventor
Paul Allan Scott
スコット・ポール・アラン
Alain Linzmeier Daniel
ダニエル・アラン・リンズメイヤー
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH04308947A publication Critical patent/JPH04308947A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、データの記憶
及び読み出しにメモリ装置を利用する電子システムの分
野に関するものであり、とりわけ、こうしたシステムに
記憶されているデータのエラー検出及び修正を提供する
装置に関するものである。
【0002】
【従来の技術及び発明が解決しようとする課題】半導体
メモリ設計の傾向は、絶えず、チップ密度を高め、記憶
容量を拡大する方向にあるので、とりわけ、データの保
全性に関連してシステムの信頼性が次第に重要性を増し
ている。チップ密度及び記憶容量が増大するにつれてデ
ータ読み出しエラーの確率が大きくなるので、データ保
全性の重要さが増すことになる。これに関して、メモリ
から読み出したデータがメモリに元から記憶されていた
データと同じであるか否かを判定し、元から記憶されて
いたデータと異なる場合に検索したデータを修正するた
めに、いくつかのエラー検出/修正(EDC)案が考案
されている。データ保全性を確保するための一般的な技
法の1つとしてエラー修正コードの利用がある。
【0003】普通、メモリにデータを書き込む前に、デ
ータは論理ネットワークに通され、データワードの個々
のビットが所定の方法で組み合わせられて一連のチェッ
クビットが作成される。チェックビットは、データビッ
トに関連してメモリに記憶される。メモリからデータを
読み出し、または検索すると、そのデータは同じ論理ネ
ットワークに通され、新しいチェックビットが生成され
る。次に、新しいチェックビットと以前に記憶されたチ
ェックビットの比較が行われる。データの読み出しエラ
ーが生じると、新しいチェックビットは元のチェックビ
ットとは一致しない。新しいチェックビットと元のチェ
ックビットの比較結果はシンドロームと呼ばれる。十分
なチェックビットが生成されれば、データの修正が可能
となる。選択された特定のエラー修正コードは、利用さ
れる論理ネットワークのタイプまたは設計、そのネット
ワークにデータを供給する方法、修正の可能な範囲を決
定する。
【0004】データ保全性を確保するため、幾つかのエ
ラー修正コードが開発され、その最初期のものとして、
R.W.ハミング(R.W.Hamming)により開
発されたいわゆるシングルエラー修正及びダブルエラー
検出(SEC−DED)コードがある。このSEC−D
EDコードの開発以来、このコードに対するいくつかの
修正、すなわち、奇数重み列(OWC)コード、シング
ルバイトエラー検出(SBD)コード、シングルバイト
エラー修正ダブルバイトエラー検出(SBC−DBD)
コード、及び、ダブルエラー修正トリプルエラー検出(
DEC−TED)コードが考案されてきた。これらのコ
ード及びその用途については、C.L.チェン(C.L
.Chen)等による「半導体メモリ用途のためのエラ
ー修正コード」(IBM J.Res.Develop
.発行の A State−of−the−Art R
eview 第28巻第2号(1984年3月)124
〜133 頁)においてより詳細に説明されている。本
発明は、ほぼ全てのコーディング案に関して有用である
が、ここでは特に、SEC−DEDコードに関連して説
明を行なうものとする。
【0005】従来、SEC−DECコードを利用する場
合、単一の1次XORツリー、即ち排他的ORゲートか
ら成るピラミッド型のネットワークを利用して、書き込
み動作時にメモリに記憶させるチェックビットを生成し
、読み出し動作時には比較のための新しいチェックビッ
トを生成した。新たに生成されたチェックビットと元か
ら記憶されているチェックビットの比較は、一般に、よ
り小規模な2次XORツリーで行われた。こうした装置
の性能は、1次XORツリーの速度と、2次XORツリ
ーへ必要なチェックビットを供給するために要する時間
とによって制限された。
【0006】さらに、こうしたエラー検出及び修正は、
いわゆる「バス監視」方式で行なわれるのが普通である
。すなわち、1次XORツリーとデータバスを並列に接
続して、通過するデータを「観測」し、こうした観測に
基づいて、プロセッサまたはある種のメモリコントロー
ラによって用いられるエラー信号を生成する。このよう
な方式で用いられることを意図したエラー検出/修正装
置の1つに、カリフォルニア州サンタ・クララのインテ
グレーテッド・デバイス・テクノロジー・インコーポレ
ーテッドから販売されているIDT49C460,32
ビットCMOSエラー検出/修正装置がある。周知の通
り、読み出しエラーを検出して修正するために要する時
間は、メモリからデータを読み出すことのできる速度に
直接影響するので、システムの性能にとって重要である
【0007】こうした先行システムの性能に影響するも
う1つの要素に、読み出し・修正・書き込み(RMW)
動作がある。エラー検出及び修正に必要なワード(ED
Cワード)に比べてビット数の少ないワードのメモリへ
の書き込みは、RMW動作で書き込まなければならない
。例えば、エラー検出/修正ワードの幅が64ビットで
、メモリに書き込まれるワードの幅が32ビットしかな
い場合、RMW動作を実行する必要がある。RMW動作
時、新しいデータと論理的に連続することになる以前に
記憶されたデータが、記憶を行う際にメモリから読み出
される。EDCワードとデータワードのビット差を埋め
るのに十分な記憶データが読み出されるというわけであ
る。記憶データは生成されたチェックビット及び新しい
データと組み合わされる。次いで新しいデータ及びチェ
ックビットがメモリに書き込まれ、即ち記憶される。
【0008】従来、RMW動作は2つの方法の1つで実
施されてきた。既に記憶され、または読み出されたデー
タは正しいとみなすことができ、新しいデータまたは書
き込みデータが記憶データと組み合わせられる場合に、
できるだけ速くチェックビットが生成され、新しいデー
タとチェックビットとが記憶される。次に、XORツリ
ーにおいて読み出しデータにエラーがあるか否かのチェ
ックが行なわれ、エラーがあれば修正される。読み出し
データが修正される場合には、その修正データと新しい
データとが組み合わせられ、該サイクルが繰り返される
。この技法の場合、初期の書き込みサイクルを中止して
、読み出しデータのチェックがメモリコントローラ装置
によってメモリに与えられる行アドレスストローブ(R
AS)信号の予備充電時間と重なり合うことができるよ
うにしなければならない。こうした技法は制御が極めて
複雑である。さらに、この技法はかなりのデータ保持が
必要であり、エラーが検出されると余分なメモリサイク
ルが必要になる。以上から分かるように、複雑さ、デー
タ保持、及び、余分なサイクルが、時間、即ちシステム
の性能に影響する。
【0009】その代わりとなるRMW技法では、書き込
みデータと組み合わせる前に、読み出しデータの修正が
必要になる。この技法の場合、制御はかなり単純になる
が、性能は大幅に損なわれる。実際には新しいチェック
ビットが生成される前に、読み出しデータをXORツリ
ーに2度通さなければならない。この技法の変形では、
読み出しデータをチェックし、必要があれば修正を行う
だけである。しかしながら、読み出しデータをやはり2
回XORツリーに通す必要がある。
【0010】従って、エラーの検出及び修正が最短時間
ですみ、これによりシステムの性能が最大限に発揮され
、また、RMW動作時でさえこの最短時間を示すエラー
検出/修正装置に対する要求が未だに存在する。
【0011】
【課題を解決するための手段】発明の利点は、エラー検
出及び修正に用いられる方法及び装置によって得られる
。書き込みデータを受信するために接続された第1の論
理ネットワークが、書き込みデータと関連してメモリに
記憶する新しいチェックビットを生成し、メモリから検
索される読み出しデータ及びチェックビットを受信する
ために接続された第2の論理ネットワークが、読み出し
データ及びチェックビットに関連したシンドロームを同
時に生成する。該装置は、プロセッサとメモリの間に挿
入され、書き込みデータ及び読み出しデータが該装置に
通されることになる。第1と第2の論理ネットワークは
それぞれ、複数の排他的ORゲート即ちXORツリーか
ら構成される。エラーが読み出しデータに検出されたか
否かを反映するシンドロームに応答して指示信号が送り
出される。好適な実施例の場合、修正部がシンドローム
に応答して修正信号を生成し、この修正信号に応答して
読み出しデータを修正する。読み出し・修正・書き込み
動作に関連して、組み合わせ部が書き込みデータと読み
出しデータとを組み合わせ、組み合わせた書き込み及び
読み出しデータを第1及び第2の論理ネットワークに送
り、第1の論理ネットワークにより書き込みデータに関
連した新しいチェックビットを生成し、ほぼ同時に、第
2の論理ネットワークにより読み出しデータのエラーを
チェックする。
【0012】以下の本発明の詳細な説明及び図面を参照
することにより、本発明がより良く理解され、またその
数多くの利点が明らかとなるであろう。
【0013】
【実施例】図1に新規なエラー検出/修正装置(以下、
EDC装置と称す)10が示されている。このEDC装
置10は、マイクロプロセッサ12、メモリ14、及び
、メモリコントローラ16を有するシステムに用いるた
めのものとして示されている。マイクロプロセッサ12
は、読み出し及び書き込み命令を送り出す。書き込み命
令に応答して書き込みデータがメモリ14に記憶され、
読み出し命令に応答して読み出しデータがメモリ14か
ら読み出される。 メモリに記憶されるデータあるいはメモリから読み出さ
れるデータの性質は明らかに同一である。「書き込み」
データ及び「読み出し」データの名称は、ここではメモ
リに書き込まれるデータとメモリから読み出されるデー
タを区別するためだけに用いられる。
【0014】本発明の新規の態様の1つは、「バス監視
」方式でメモリ14へ送られるデータ及びメモリ14か
ら送られるデータをモニタする代わりに、マイクロプロ
セッサ12とメモリ14との間にEDC装置10を挿入
して、書き込みデータ及び読み出しデータがそこを通過
するようにしたことである。
【0015】もちろん、データは幾つかの2進数、即ち
ビットから構成され、バス18を介してEDC装置10
とプロセッサ12の間で送信され、バス20を介してメ
モリ14とEDC装置10の間で送信される。メモリ1
4に書き込まれる、即ち記憶されるデータは、マイクロ
プロセッサ12からEDC装置10に送られ、一方、プ
ロセッサ12が必要とするデータは逆方向に送られる。 こうした送信の制御は、あらゆる周知のやり方で行うこ
とが出来る。また、明らかに、エラー検出及び修正は、
所定数のビット、即ちEBCワードに関連して行われる
のが普通である。好適な実施例の場合、EDCワードは
、64ビットからなる。
【0016】読み出しデータに関連してEDC装置10
により用いられるためのメモリ14から読み出される特
定のEDCワードまたはチェックビットに関連してメモ
リ14に記憶されるべきチェックビットは、バス22を
介して送信される。好適な実施例の場合、SEC−DE
Dコードが実施される。EDCワードには64のビット
が含まれるので、各EDCワード毎に8つのチェックビ
ットが存在しなければならない。図2の説明に関連して
とりわけ明らかなように、EDC装置10及びメモリ1
4の動作はメモリコントローラ16に応答する。メモリ
コントローラ16は更にアドレスバス24及び制御バス
26を介してマイクロプロセッサ12の制御を受ける。 メモリからデータを読み出すべき場合またはメモリにデ
ータを書き込むべき場合、実際のデータがEDC装置1
0を通る一方、アドレス及び制御情報が、バス24及び
26を介してコントローラ16に送られる。アドレス情
報は更にバス28を介してメモリ14に送られる。他の
制御信号はメモリコントローラ16により接続部30を
介しメモリ14へ供給される。
【0017】図2に関連して明らかなように、一旦エラ
ーが検出されると、EDC装置10はそのようなエラー
の指示をメモリコントローラ16へ与える。EDCワー
ドにおけるエラーの検出は、接続部32を介してメモリ
コントローラ16に伝えられる。EDCワードにおける
多重エラー検出は、接続部34を介してコントローラ1
6に示される。読み出しデータが、検出されて修正され
るべきものである場合、コントローラ16により許可信
号が接続部36を介してEDC装置10に送られる。そ
の他のさまざまな許可信号はコントローラ16によりバ
ス38を介してEDC装置10へ与えられる。
【0018】次に図2を参照すると、EDC装置10が
さらに詳細に示されている。EDC装置10には、同図
に示すように、メモリ14内の書き込みデータに関連し
て記憶される新しいチェックビットを生成するための第
1の論理ネットワーク40が含まれている。ネットワー
ク40は、一連のレジスタ及びトライステートバッファ
を介して書き込みデータを受信するように接続されてい
る。注目されるのは、図2にいくつかのトライステート
バッファが示されているという点である。各バッファに
関連する入力及び出力の数を除くと、こうしたバッファ
は実質的に同一である。周知のように、トライステート
バッファは、論理的「高」(logic high)、
または、論理的「低」(logic low)の情報を
表わす入力信号が供給され、3つの出力、即ち、論理的
高、論理的低、及び、高インピーダンスまたはオフ出力
を供給する論理デバイスである。高インピーダンス出力
は、そのポイントに開回路が存在する電子的効果を生成
する。その一例としてトライステートバッファ44につ
いて考察する。バス38から適当な信号を受信すると、
バッファ44は高インピーダンス出力を送り出し、開回
路の効果を生成する。この「トライステート」の間、プ
ロセッサ12によりバス18上に与えられる書き込みデ
ータは、バッファ44を通過することが防止され、その
代りに一連のビットレジスタ46、48、50、52に
送られる。各種トライステートバッファの制御及び動作
は単純であり、ここで更に詳細に説明することとする。
【0019】メモリ14に書き込むべきデータは、バス
18を介して各種ビットレジスタ46〜52に与えられ
る。いずれかの特定のビットレジスタにおけるこうした
データの記憶は、クロック入力47、49、51、53
の何れか一つに供給される許可信号に依存する。例えば
、メモリ14に64ビットのデータが記憶されるものと
仮定する。バス18は、図示するように32ビットを並
列に扱うことができるので、プロセッサ12は、まずバ
ス18を介して32ビットの書き込みデータを送ってビ
ットレジスタ46へ記憶させる。 その後、第2の32ビットの書き込みデータがバス18
を介して送られてビットレジスタ48に記憶される。更
にレジスタ46,48 に記憶されている書き込みデー
タは、適宜使用可能になるトライステートバッファを介
してバス54及び50に送り出すことにより、64ビッ
トのEDCワードとして第1の論理ネットワーク40に
与えられる。第1の論理ネットワーク40によって生成
されるチェックビットはバス22を介してメモリに送ら
れ、同時に、レジスタ46,48 に記憶された書き込
みデータはバス58を介してデータバス20に送られる
【0020】EDC装置10はまた、メモリ14から読
み出されるチェックビット及び読み出しデータに関連し
たシンドロームを生成する第2の論理ネットワーク60
も含んでいる。第2の論理ネットワーク60は、データ
ラッチ62及びチェックビットラッチ64を介してメモ
リ16から読み出しデータ及びチェックビットを受信す
るように接続されている。メモリ16から読み出される
データは許可バス38上の適当な許可信号に応答してラ
ッチ62に記憶される。同様に、読み出された読み出し
データに関連してチェックビットが記憶されているメモ
リ16から読み出されるチェックビットは、第2の論理
ネットワーク60による後続動作に備えて、バス38上
の適当な許可信号によってラッチ64に保持される。
【0021】好適な実施例の場合、論理ネットワーク4
0及び60は複数の排他的ORゲートから形成され、更
にこうしたORゲートは排他的ORツリーを形成するよ
うに構成されている。こうした排他的ORツリーは、周
知のようにいくつかのレベルを有しており、こうしたツ
リーに与えられるデータは1次入力レベルに適用される
。このような場合、各排他的ORゲートには2ビットの
データが与えられる。このため、5レベルの排他的OR
ツリー、即ち1次入力レベルにおいて32の入力部(1
6の排他的ORゲート)を有する排他的ORツリーが利
用可能である。本発明の好適な実施例の場合、論理ネッ
トワーク40には、1次入力レベルにおいて少なくとも
30の入力部をそれぞれ有する8つの排他的ORツリー
が含まれており、論理ネットワーク60には、1次入力
レベルにおいて少なくとも31の入力部を有する8つの
排他的論理ORツリーが含まれている。チェックビット
は、第2の論理ネットワーク60に直接供給されるので
、直接1次入力レベルのXORツリーのそれぞれにチェ
ックビットを送ることができる。従って、シンドローム
はXORツリーの直接総合出力である。同様に、第1の
論理ネットワーク40における各XORツリーの出力が
チェックビットを構成する。
【0022】当業者には明らかなように、ネットワーク
40に対する書き込みデータの適用、及びネットワーク
60に対する読み出しデータ及びチェックビットの適用
は、多くの方法で実施可能である。EDCワードには6
4のビットが含まれており、また、各ネットワークには
30または31ビットのほぼ8つの組み合わせが含まれ
ているので、多数の組み合わせを実施することができる
。また、利用されるビットの特定の組み合わせが、利用
される特定のEDCコードによって決まることも当業者
にとっては自明なことであろう。本発明は、特定のED
Cコードに依存するものではなく、必要とされるビット
の組み合わせを含めて数多くのコードが利用可能であり
、周知のところであるため、そのような解説は行わなか
った。このようなコードまたはビット組み合わせを用い
てチェックビットを生成し、またシンドロームを生成す
ることは本発明の範囲内である。
【0023】EDC装置10には、シンドロームを受信
するように接続され、シンドロームに応答して最終的に
指示信号を生成する指示回路も含まれている。その指示
信号は、単一エラーと多重エラーとのどちらが検出され
たのかを反映する。単一エラーが検出された場合、接続
部32のみを介してメモリコントローラ16へ信号が送
られる。また多重エラーが検出された場合には、接続部
32及び接続部34の両者を介してメモリコントローラ
16へ信号が送られる。
【0024】指示信号は、デコーダ66でシンドローム
をデコードすることによって生成される。好適な実施例
の場合、デコーダ66は8入力NANDゲート72を含
む。ネットワーク40及び60に含まれる多重XORツ
リーへデータを供給する場合と同様に、デコーダ66の
NANDゲートへ与えられるビットの組み合わせは、使
用される特定のEDCコードによって決まる。SEC−
DEDコードのようなコードについては、シンドローム
ビットを一緒に反転シンドロームビットを処理しなけれ
ばならない場合がある。こうした場合には、適当なイン
バータ(図示せず)を利用して反転シンドロームビット
を生成させることができる。特定のコードに関連したデ
コードを行うためのシンドロームビット及び反転シンド
ロームビットの組み合わせは周知の通りである。シンド
ロームビットの特定の組み合わせは、本発明を理解する
上で必須ではないので、こうした組み合わせについては
特に説明しない。選択された特定のEDCコードのデコ
ードに用いられる既知の組合せを利用することができる
【0025】一般にデコーダ66はシンドロームを解析
し、単一ビットエラーの場合にはエラーがどこに生じた
かを検出し、その出力部から修正信号、即ちラッチ62
に納められた読み出しデータの修正に用いられる64ビ
ットの読み出しデータ及び8つのチェックビットを生成
する。
【0026】修正信号の各ビット、即ち72のビットが
論理的高を反映する場合、読み出しデータには多重エラ
ーが含まれている。修正信号の各ビットはANDゲート
68の入力部に接続されている。ANDゲート68に対
する入力が全て高の場合、論理的高の出力がANDゲー
ト68によりNANDゲート70の入力へ供給される。
【0027】また、シンドロームはORゲート72にも
供給される。シンドロームの任意の単一ビット、即ち好
適な実施例において8つ存在する単一ビットが論理的高
である場合には、ORゲート72はNANDゲート70
,74の入力へ論理的高の出力を供給する。NANDゲ
ート70のもう1つの入力部及びNANDゲート74の
もう1つの入力部は、制御レジスタ77の検出許可出力
75に接続されている。検出許可出力75は、プロセッ
サ12が特定の出力を知っている限り、レジスタ出力の
うちのどれか1つとすることができる。制御レジスタ7
7には、読み出しエラーの検出が所望される毎にバス1
8を介してプロセッサ12からデータが与えられる。好
適な実施例の場合、プロセッサ12は、出力75におけ
る論理的高信号の送り出しを制御することによってエラ
ーが検出されるか否かを制御する。
【0028】図2に示すように、NANDゲート70,
74 の入力に論理的高信号を供給した結果として、O
Rゲート72の出力もまた論理的高である場合、即ちO
Rゲート72への入力のどれか一つが高の場合に限り、
読み出しデータエラーが指示される。同様に、多重エラ
ー信号は、ORゲート72及びANDゲート68の出力
が両方とも高の場合に限り、NANDゲート70により
供給される。図2に示すように、NANDゲート70の
出力はフリップフロップ76に供給される。図2はまた
シンドロームが一時的記憶のためにシンドロームレジス
タ78へ供給されることを示している。また、EDC装
置10には、図示するように、シンドロームに応答して
修正信号を生成し、こうした修正信号に応答してラッチ
62に記憶されている読み出しデータを修正する修正回
路も含まれている。修正信号には明らかに64の並列修
正信号すなわち、幅が64ビットの修正ワードが含まれ
ている。
【0029】デコーダ66の出力はNORゲート80へ
の入力として供給される。好適な実施例において、NO
Rゲート80は実際には64の2入力NORゲートが含
むものであり、接続部36によって供給される許可(検
出及び修正)信号がNORゲートのそれぞれに対する入
力の一つとして供給されると共に、他の一つの入力が、
デコーダ66から出力されるデータビットのうちの1つ
を受信するように接続されているという点が注目される
。このように、NORゲート80は、デコード(修正)
信号を通し、反転修正信号を生成するようになっている
【0030】反転修正信号は排他的ORゲート82への
入力として供給される。注目される点は、排他的ORゲ
ート82が実際には64の2入力排他的ORゲートを含
んでいることである。各排他的ORゲートの入力の1つ
は反転修正信号のうちの1つに接続される一方、各排他
的ORゲートのもう1つのビットはラッチ62に記憶さ
れた読み出しデータのビットのうちの1つを受信するよ
うに接続されている。排他的ORゲート82の出力は修
正された読み出しデータである。このような修正データ
はラッチ84に記憶される。好適な実施例においてはこ
のために2次ラッチ86も設けられている。修正された
読み出しデータは次にラッチ84からトライステートバ
ッファを介してデータバス18上へと出力される。
【0031】以上から明らかなように、読み出しデータ
に存在する多重エラーを反映する指示信号は、シンドロ
ームと修正信号との両方に応答して生成される。注目さ
れるのは、ラッチ64に含まれるチェックビットを記憶
するためにもう1つのラッチ88が設けられている点で
ある。
【0032】EDC装置10の動作時に、デジタルワー
ド形式でメモリに書き込まれているデータがEDCワー
ドより少数のビットを含んでおり、即ち各ワードに書き
込まれるべきビット数が64未満である場合がよくある
。このような場合、読み出し/修正/書き込み(RMW
)動作を行うことが必要となる。このような動作におい
ては、メモリに書き込まれるべきデータと論理的に連続
したデータをメモリから読み出し、その読み出しデータ
を書き込みデータと組み合わせた後にチェックビットを
生成することが必要になる。従来、読み出しデータにエ
ラーが存在する場合、こうしたエラーの検出及び修正は
、時間がかかるだけでなく、制御の観点からも厄介であ
った。
【0033】本発明によって得られる構成、すなわち、
第1のネットワーク40と第2のネットワーク60によ
る構成においては、読み出しデータと書き込みデータを
組み合わせて、チェックビットを生成すると同時に、読
み出しデータについてエラーの有無をチェックすること
ができる。好適な実施例の場合、メモリコントローラ1
6はメモリ14に対する書き込みストローブ信号が供給
される接続部30及び修正許可信号が供給される接続部
36を介してそのような動作を制御する。メモリコント
ローラ16は当初、接続部36を介してエラー修正を禁
止する。RMW動作時に、読み出しデータにおいてエラ
ーが検出されると、接続部30を介して書き込みストロ
ーブを遅延させることにより書き込みサイクルを延長し
、接続部36を介してエラー修正を許可し、次いでED
C装置10が、読み出しデータを修正し、修正した読み
出しデータと書き込みデータを組み合わせて新しいチェ
ックビットを生成することが可能となるというだけのこ
とである。更に、メモリコントローラ16からメモリ1
4への接続部30により、RMWサイクルの完了を表明
することができる。
【0034】各種トライステートバッファ及びバス58
は、RMW動作時に、ラッチ62に記憶されている読み
出しデータとレジスタ46〜52に記憶されている書き
込みデータとを組み合わせるための組み合わせ装置とし
て働く。トライステートバッファ90に加え、バス54
及びバス56に取りつけられたトライステートバッファ
が、組み合わせ装置の一部を形成している。例示のため
、組み合わせ装置とサンプルRMW動作については、バ
ス58及びトライステートバッファ90〜94に関連し
て説明を行うことにする。前述のように、トライステー
トバッファは、バス38を介してバイト許可信号を受信
するように接続されている。このバイト許可信号は、下
記の組み合わせを得るため、メモリコントローラ16に
よって生成される。
【0035】書き込みデータは、バス18をプロセッサ
12からレジスタ46,48 へと送られる。想起され
るように、データが記憶されている特定のレジスタは、
メモリコントローラ16によって入力47,49,51
,53に対して接続部38上に生成される信号に依存し
ている。例示のため、書き込みデータの記憶用にレジス
タ46,48が選択された。ただし、受信ビット数は、
64ビットのEDCワードを完成するには不十分である
。EDCワードの完成に十分な読み出しデータは、メモ
リ14から読み出されてラッチ62に記憶される。この
読み出しデータは、排他的ORゲート82を介してトラ
イステートバッファ90へ送られる。メモリコントロー
ラ16によってバイト許可信号が生成されてトライステ
ートバッファ90〜94に供給されると、書き込みデー
タがトライステートバッファ92,94 によってバス
58中の64ビット経路のいくつかに送られ、読み出し
データはトライステートバッファ90によってバス58
中の残りのビット経路に送られる。組み合わせられた書
き込み及び読み出しデータは、チェックビットの生成の
ため論理ネットワーク40へ供給される。
【0036】同時に、メモリ14から検索された読み出
しデータ及び関連するチェックビットが、第2の論理ネ
ットワーク60によって分析される。注目されるのは、
エラー修正を行なうためには、メモリコントローラ16
が適当な許可信号を接続部36に供給する必要があると
いう点である。読み出しデータにエラーが検出されない
場合には、レジスタ46,48 に記憶されている書き
込みデータがバス54,56,58を介してデータバス
20へ送られてメモリ14へと記憶される。第1の論理
ネットワーク40によって生成される新しいチェックビ
ットはチェックビットバス22へ送られて、書き込みデ
ータと関連してメモリ14に記憶される。
【0037】ただし、読み出しデータにエラーが検出さ
れた場合には、修正許可信号がメモリコントローラ16
により接続部36を介してNORゲート80へ送られる
。前述のように、ラッチ62に記憶された読み出しデー
タは、デコーダ66及びNORゲート80により生成さ
れる修正信号と共に排他的ORゲート82を通ることに
よって修正される。次に、修正された読み出しデータは
、レジスタ46,48 に記憶されている書き込みデー
タと組み合わせるため、トライステートバッファ90を
介してバス58に送られる。修正された読み出しデータ
との組み合わせにより、書き込みデータに関連してメモ
リ14に記憶させるためのチェックビットが生成される
。メモリコントローラ16は次に接続部30を介して書
き込みストローブを表明し、書き込みデータ及びチェッ
クビットをメモリ14に記憶し、RMWサイクルを完了
する。
【0038】本発明の解説及び例示は特定の実施例に関
連して行ったが、当業者には明らかなように、上述の発
明の詳細な説明及び特許請求の範囲に記載の本発明の思
想を逸脱することなく修正及び変更を行うことが可能で
ある。例えば、本発明は、エラー検出及び修正のために
SEC−DEDコードを用いたものに関連して説明して
きたが、本発明の思想を逸脱することなく他のコードを
用いることも可能である。
【0039】
【発明の効果】本発明は上述のように、書き込みデータ
を受信するために接続された第1の論理ネットワークが
書き込みデータと関連してメモリに記憶する新しいチェ
ックビットを生成し、読み出しデータ及びチェックビッ
トを受信するために接続された第2の論理ネットワーク
が読み出しデータ及びチェックビットに関連したシンド
ロームを同時に生成するので、エラーの検出及び修正に
要する時間を最短とし、システムの性能を最大限に発揮
させることが可能となる。
【図面の簡単な説明】
【図1】本発明によるエラー検出/修正装置を含むマイ
クロプロセッサベースのシステムを示すブロック図であ
る。
【図2】図1のエラー検出/修正装置を示すより詳細な
ブロック図である。
【符号の説明】
10    EDC装置 12    マイクロプロセッサ 14    メモリ 16    メモリコントローラ 40    第1の論理ネットワーク 60    第2の論理ネットワーク

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】読み出し及び書き込み命令を生成する処理
    装置と、書き込み命令に応じて書き込みデータが記憶さ
    れると共に読み出し命令に応じて読み出しデータ及びチ
    ェックビットが読み出されるメモリとを有するシステム
    におけるエラー検出/修正装置であって、書き込みデー
    タを受信するように接続されると共に新しいチェックビ
    ットを生成して前記書き込みデータに関連させて前記メ
    モリ内に記憶させる第1の論理ネットワークと、前記メ
    モリから読み出される読み出しデータ及びチェックビッ
    トを受信するように接続されると共に前記読み出しデー
    タ及び前記チェックビットに関連させてシンドロームを
    生成する第2の論理ネットワークとからなり、この装置
    が、前記処理装置と前記メモリとの間に挿入して設けら
    れ、前記書き込みデータ及び前記読み出しデータがこの
    装置を通過するようにしたことを特徴とする、エラー検
    出/修正装置。
JP3345940A 1990-12-27 1991-12-27 エラー検出/修正装置 Pending JPH04308947A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US634400 1984-07-25
US63440090A 1990-12-27 1990-12-27

Publications (1)

Publication Number Publication Date
JPH04308947A true JPH04308947A (ja) 1992-10-30

Family

ID=24543628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3345940A Pending JPH04308947A (ja) 1990-12-27 1991-12-27 エラー検出/修正装置

Country Status (1)

Country Link
JP (1) JPH04308947A (ja)

Similar Documents

Publication Publication Date Title
US6009548A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US4884271A (en) Error checking and correcting for read-modified-write operations
EP1206739B1 (en) Methods and apparatus for correcting soft errors in digital data
KR100379812B1 (ko) 하드웨어에의해메모리의ecc에러를자동적으로스크러빙하는방법및장치
KR920002575B1 (ko) 바이트 기입 에러코드 방법 및 장치
US7797609B2 (en) Apparatus and method for merging data blocks with error correction code protection
US20190317855A1 (en) Error-correcting code memory
US7206891B2 (en) Multi-port memory controller having independent ECC encoders
US5537425A (en) Parity-based error detection in a memory controller
US5384788A (en) Apparatus and method for optimal error correcting code to parity conversion
US4712216A (en) Method and device for correcting errors in memories
US20010052090A1 (en) Storage device having an error correction function
JP2001249854A (ja) メモリ設計のための共有式誤り訂正
US7257762B2 (en) Memory interface with write buffer and encoder
US5878059A (en) Method and apparatus for pipelining an error detection algorithm on an n-bit word stored in memory
US4918695A (en) Failure detection for partial write operations for memories
US5886930A (en) Bit interleaving in a memory which uses multi-bit DRAMs
JPH0816483A (ja) メモリ装置の制御方式
US5357529A (en) Error detecting and correcting apparatus and method with transparent test mode
JPH04308947A (ja) エラー検出/修正装置
JPH01194046A (ja) メモリアクセス方式
JPH04115340A (ja) 二重化記憶回路
JPH0520215A (ja) 情報処理装置
JPH0746517B2 (ja) 半導体メモリ及びそのテスト方法
JPS61110247A (ja) 記憶装置