JPH087721B2 - エラー検出/訂正機構を有するデータ処理システム - Google Patents

エラー検出/訂正機構を有するデータ処理システム

Info

Publication number
JPH087721B2
JPH087721B2 JP4061734A JP6173492A JPH087721B2 JP H087721 B2 JPH087721 B2 JP H087721B2 JP 4061734 A JP4061734 A JP 4061734A JP 6173492 A JP6173492 A JP 6173492A JP H087721 B2 JPH087721 B2 JP H087721B2
Authority
JP
Japan
Prior art keywords
error
bits
bit
chip
memory
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
JP4061734A
Other languages
English (en)
Other versions
JPH05241975A (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 JPH05241975A publication Critical patent/JPH05241975A/ja
Publication of JPH087721B2 publication Critical patent/JPH087721B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/1028Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的には、メモリま
たはアレイ・チップから読み取ったデータにおけるエラ
ー検出及び訂正に関する。より具体的には、例えば、複
数のビット・エラーを検出するチップ上の機能と複数の
ビット・エラーを訂正するチップ外の機能の2つの機能
の協同使用に関する。より一般的には、本発明は、チッ
プ・レベル、ボード・レベルあるいはその他何らかの実
装レベルの、2段エラー検出/訂正を企図するものであ
る。
【0002】
【従来の技術】エラー訂正コード(ECC)は、システ
ムの信頼性及びコンピュータ半導体メモリ・システムの
データ保全性を向上させるために使用されている。エラ
ー訂正コードは、高水準のシステム信頼性を維持する費
用効果の高い手段であることが証明済みである。コンピ
ュータ・メモリ・システムで使用された初期のエラー訂
正コードは、"Bell System Technical Journal"、19
50年4月、pp.147〜160に所載の論文 "Erro
r Detecting and Error Correcting Codes" に記載され
ているように、R.W.ハミング(Hamming)によって発明
された、単一エラー訂正/2重エラー検出(SEC−D
ED)コードであった。米国特許第3755779号明
細書は、基本的なSEC−DEDエラー訂正/検出法を
教示している。ただ一つのエラーがこれらのコードによ
って訂正可能であり、2重エラー検出性能はデータ損失
を防止する。"IBM Journal of Research and Developme
nt"、1970年7月、pp.395〜401に所載の
論文 "A Class of Optimal MinimumOdd-Weight-Column
SEC-DED Codes" で、M.Y.シャオ(Hsiao)は、ハミング
・コードを復号論理回路の速度、費用、信頼性の点で改
善した新しい部類のSEC−DEDコードを発表した。
この論理回路は、アドバンスト・マイクロ・デバイス
(Advanced Micro Device)社のAM2960及びAM
Z8160、モトローラ(Motorola)社のMC6854
0、テキサス・インストルメンツ(TexasInstruments)
社のSN54/74−LS630及びLS631など、
いくつかの半導体製造会社から提供されている。
【0003】基本的SEC−DEDコードの改良が、米
国特許第4319357号明細書に開示されている。上
記特許では、メモリ・システム内でSEC−DEDコー
ドを使って、データ・ワードにおける1つの固定エラー
と1つの一時的エラーを訂正する。エラーのあるデータ
・ワードとエラー訂正コード回路によって生成されるシ
ンドロームとがセーブされ、それと同時に、欠陥のある
ワードの記憶位置を調べて、1つの固定エラーの位置が
決定される。次いで、その位置にただ1つの固定エラー
しかないと仮定してそのワードに対する「シンドロー
ム」が生成され、その後、生成されセーブされたシンド
ロームの論理和をとって、一時的エラーの位置を示す別
のシンドロームを得る。両方のエラーの位置が突き止め
られると、誤ったビットを反転することによってワード
を訂正する。
【0004】大きさ及び密度がますます増大するメモリ
・システムの信頼度を高めるために、2重エラー訂正、
3重エラー検出(DEC−TED)コードが使用され
る。このようなコードは、例えば著書 "Error Correcti
ng Codes" 、MIT Press 社1972年刊で W.W.ピータ
ーソン(Peterson)及び E.J.ウェルドン(Weldon)ジ
ュニアが記載している、周知のBCHコーディング理論
に基づいて構成できる。米国特許第4464753号明
細書は、NビットのSEC−DEDコードを、各Mビッ
トのN個のパッケージをカバーするように拡張して、所
与のパッケージにおけるMビットの単一ビット・エラー
・シンドロームすべての排他的ORをとると、各パッケ
ージに独特な復号「シンドローム」が得られるようにす
ることにより、パッケージのエラーを訂正する、モジュ
ール式エラー訂正装置を発表している。米国特許第45
09172号明細書は、パリティ検査行列Hによって展
開されたシンドロームを用いてエラー訂正を行うSEC
−DEDコードを開示している。上記特許はまた、誤訂
正なしに、いかにエラーを検出するかを教示している。
米国特許第4775979号明細書は、上記特許の手法
を基礎とし、上記特許と同様に検査行列Hを用いるが、
ランダム・エラーを訂正するだけでなく、複数の単位行
列をパリティ検査行列に加えることにより、ブロック・
エラーも訂正する。
【0005】ただし、DEC−TEDコードは、SEC
−DEDコードよりも多数の検査ビットを必要とし、そ
れに応じて、エラー訂正及びエラー検出の機能を実施す
るのに、より複雑なハードウエアを必要とする。C.L.チ
ェン及び M.Y.シャオ(Hsiao)の、IBM Journal of Rea
search and Development. Vol.28、No.2、1
984年3月、pp.124〜134所載の論文 "Erro
r-Correcting codes for Semiconductor Memory Applic
ations: A State-of-the-Art Review" は、半導体メモ
リの設計に適した4クラスのエラー訂正コードを記載し
ている。各コード・クラスごとに、共通して用いられる
データ長さに必要な数の検査ビットが設けられる。エラ
ー訂正及びエラー検出の様々な実施態様についても論じ
られ、エラー訂正機能をα粒子誘発エラーなどのソフト
・エラーの訂正に拡張するのに有用な若干のアルゴリズ
ムがかなり詳細に検討されている。
【0006】従来の技術で採用されているもう1つの手
法は、米国特許第4335459号明細書に開示されて
いる。上記特許は、製造収率とチップの信頼性を改善す
るため、「オン・チップ」のECC論理機構を提案して
いる。この方式では、ユーザは、チップの増大した内部
記憶及びエラー訂正回路を知らず、これらの特性の唯一
の徴候はメモリ・チップが外部ECC論理機構なしに使
用可能なことである。しかし、上記特許は、そのメモリ
・チップを外部ECC論理機構と共に使用して、前記の
米国特許第4319357号でSEC−DEDコードを
用いて2個以上のエラーを訂正しているのとほぼ同じよ
うに、複数ビット・エラーの訂正を行うことを提案して
いる。この場合、「オン・チップ」と「オフ・チップ」
のECC論理機構は独立に機能する。
【0007】SEC−DEDコードを用いてメモリにア
クセスする、大型処理装置の従来のメモリ・システムで
は、一般に、これらのメモリ・システムは、「1連」
(x1)メモリ・チップ編成を用いて設計される。たと
えば、IBM 3090ファミリーのコンピュータで
は、1メガバイトx1メモリ・チップ編成が用いられて
いる。SEC−DEDコードは、すべての単一チップ障
害を訂正し、ほとんどすべての複数ビット障害を検出す
る。
【0008】メモリ・チップ密度(1チップ当りのビッ
ト)が増大するにつれて、あるいは(多重処理装置「ス
ーパー・コンピュータ」設計におけるように)より多く
のメモリ・インターリーブを設ける必要が生じるのに応
じて、複数ビットのメモリ・チップ出力が必要となる。
たとえば、512キロバイト×9チップ編成を使用する
ことがあり得る。このようなシステムでは、単一メモリ
・チップ障害(最大9ビット)を訂正し、複数の障害を
検出することが、依然として望ましい。標準のSEC−
DEDコードでは、問題を解決できない。この問題に取
り組むために、他のECCコードが設計されている。た
だし、これらのコードを実施する費用は、論理機構及び
関連するメモリ・チップの諸経費の面で手が出ないほど
高い。
【0009】
【発明が解決しようとする課題】本発明の目的は、メモ
リまたはアレイ・チップ用の安価な複数エラー検出/訂
正機構を提供することにある。
【0010】本発明の他の目的は、諸経費が最小で、論
理機構費用を減少させても、単一メモリ・チップ障害に
よるすべてのエラーを検出して訂正することの可能な、
エラー訂正方式を実施するメモリを提供することにあ
る。
【0011】本発明の他の具体的な目的は、1レベル当
り必要なECCビットの数を最小限に抑えながら、より
多くのチップ障害を許容する、2段のメモリまたはアレ
イ・チップのエラー検出/訂正方式を提供することにあ
る。
【0012】
【課題を解決するための手段】本発明によれば、この問
題は2つの機構の協同使用によって解決される。これら
の機構は、メモリ・システムの実装の2段を構成する。
本発明の好ましい実施例では、第1段は、メモリ・チッ
プ自体の上に含まれるメモリ・チップ・エラー検出/単
一エラー訂正機能であり、その特定のチップから出るビ
ット上で読取りエラーが検出されたとき、チップ・エラ
ー信号を発生する。つまり、この信号は、2個以上の出
力ビット中に1つのエラーが検出されるときだけ、活動
状態になる。この実施例では、パリティ・ビットをデー
タ・ビットに加えて、データをチップ自体から読み取る
前に、第1段が単一ビット・エラーを検出する必要をな
くす。ただし、パリティ・ビットは任意選択である。パ
リティ・ビットを省略する場合は、単一ビットがエラー
の場合、ならびに2個以上の出力ビットにエラーが検出
されたときにチップ・エラー信号が活動状態となるよう
に、単一ビット・エラーならびに複数ビット・エラーを
検出するための、チップ上での第1段エラー検出が必要
となる。第2段は、メモリ・チップの外部でチップ複数
ビット・エラー訂正コードとして実施され、メモリから
アクセスされるビット数に基づいている。第2段は、シ
ンドローム生成機構を含み、シンドローム・ビット、な
らびにチップ・エラー信号に応答して、中央演算処理装
置に、エラーなし条件、訂正可能エラー条件、または訂
正不能エラー条件が存在するか知らせる。訂正可能エラ
ーの場合、データ訂正論理機構が複数ビット・エラーを
訂正する。
【0013】
【実施例】上記のチェン及びシャオの論文は、2進
(n,k)線形ブロック・コードを記述するのに使用さ
れるr×nパリティ検査行列H(以後、H行列と記す)
の概念を記載している。ただし、nビットのコード・ワ
ードが、k個のデータ・ビットを含み、r=n−kであ
る。行列Vは、H・V’=0の場合にのみ、コード・ワ
ードとして定義される。ただし、V’はVの転置行列を
示す。コード化過程は、1組k個のデータ・ビットに対
して、r個の検査ビットを生成することからなる。H行
列はH=[P,Ir]として表される。ただし、Pはr
×kの2進行列であり、Irはr×rの単位行列であ
る。コード・ワードの最初のkビットはデータ・ビッ
ト、後のrビットは検査ビットと呼ばれる。メモリから
読み取られたワードをU、原コード・ワードをVとする
と、エラー行列EはU=V+Eとして定義される。Uが
誤っているかどうかを決定するため、rビット・シンド
ロームSをS=H・U’=H・(V’+E’)=H・
E’として計算する。すなわち、Sがすべて0のベクト
ルである場合には、ワードUはエラーを含まないと推測
される。そうでない場合は、Sを使ってエラー・ベクト
ルを求める。本発明の以下の記述では、この基本的表記
法を使用する。
【0014】図面、具体的に図1を参照すると、本発明
による2段エラー検出/訂正実施態様の構成図が示され
ている。メモリ・システム10は中央演算処理装置(C
PU)12からのデータを記憶し、CPU12はメモリ
・システム10にアクセスしてデータを検索する。図の
例では、32ビット幅のデータ・ワードがメモリ・シス
テム10の複数のメモリ・チップ110、111、11
2、…117及び11Cに記憶されている。以下でより
詳しく説明するように、これらのチップの最初の8個が
データを記憶し、9番目のチップ11Cは検査ビットを
記憶する。線13上の32データ・ビットがメモリ・シ
ステム10に送られてメモリ・チップ110〜117に
記憶され、また検査ビット生成機構14に送られて、チ
ップ11Cに記憶される検査ビットC0ないしC3を生成
する。
【0015】メモリ・システム10から読み取られた3
2データ・ビットは、線15上で、データ訂正機構16
及び検査ビット生成機構14’に進む。検査ビット生成
機構14’は、検査ビット生成機構14と同様に、検査
ビットC0〜C3を生成する。実際の実施態様では、検査
ビット生成機構14及び14’は全く同じである。検査
ビット生成機能14及び14’は排他的ORツリーであ
る。
【0016】検査ビット生成機構14’からの検査ビッ
トC0〜C3とメモリ・チップ11Cから読み取った検査
ビットC0〜C3をシンドローム生成機構18で比較し
て、メモリ・システム10から読み取ったコード・ワー
ドに対するシンドロームS1を生成する。次いで、シン
ドロームS1が、シンドローム復号機構19に供給さ
れ、シンドローム復号機構19は、線15を介してメモ
リ・システム10から読み取られたデータを訂正するた
めに、線21上でデータ訂正機構16への出力を生成す
る。シンドローム復号機構19の基本的構成は、図の例
では、32個の両方向ANDゲート及び追加論理機構を
含んでいる。追加論理機構は、エラーなし(NE)、訂
正可能エラー(CE)または訂正不能エラー(NCE)
を示す出力をCPU12に供給する。データ訂正機構1
6の構成は、やはり図の例では、32個の両方向排他的
ORゲートを含んでいる。
【0017】これまでに説明してきた図のエラー検出/
訂正回路は、従来型のものであり、事実、多くのSEC
−DEDメモリ・システムの典型である。上記のエラー
検出/訂正回路は「オフ・チップ」、すなわち本発明に
関してより一般的に述べると、第2段のものである。図
1に示すように、本発明は、この第2段だけでなく、第
1段、この場合は「オン・チップ」のエラー検出をも企
図している。すなわち、各メモリ・チップ110〜11
Cは、4ビット出力だけでなく、チップ・エラー信号
(CES)をも生成する。このCESは「オン・チッ
プ」ECC論理機構によって発生され、そのチップ用の
メモリ・アレイから読み取られたワードにエラーが検出
されたとき活動状態になる。図1に示した例では、9個
のメモリ・チップ110〜11Cがあるので、9個のチ
ップ・エラー信号(CES)が線22上に存在し、シン
ドローム生成機構18からの4ビット・シンドロームS
1に加えて、それらもシンドローム復号機構19に供給
される。
【0018】図2には、メモリ・チップ110〜11C
の典型的なチップの構成図が示されている。チップは、
データ・ビット、またチップ11Cの場合は検査ビット
が記憶されている、メモリ・アレイ24を含んでいる。
CPU12からの線23上でアドレスがメモリ・アレイ
24に供給され、メモリ・アレイ24は64データ・ビ
ット及び8検査ビットを出力としてエラー検査/訂正論
理機構26に出す。エラー検査/訂正論理機構26は、
CES信号を線27上で生成し、この信号は、64ビッ
ト内部ECC「ワード」中でエラーが検出されるとき活
動状態(すなわち論理“1”)になる。その間に、64
ビット・データ「ワード」がデータ・バッファならびに
64−4選択回路28に渡される。選択回路28はま
た、線23を介してアドレスを受け取り、4データ・ビ
ットをチップのデータ出力として出力する。CES信号
は、内部64ビット・オンチップ・ワード中でエラーが
検出されるとき活動化されることに留意されたい。検出
されたエラーは、データ選択回路28によって読み出さ
れる実際の4ビット中にあることもそうでないこともあ
る。要は、4出力データ・ビットのどれかが誤っている
場合には、CES信号が活動状態になることである。し
かし、CES信号が活動状態にあることは、4個の出力
データ・ビットのどれかが誤っていることを暗示するも
のではない。活動状態のCES信号は、データ・アレイ
から読み取られた64ビットのうち少なくとも1ビット
が誤っていることが検出されたことを意味するにすぎな
い。
【0019】図3は、(36,32)エラー訂正コード
用のH行列の1例を示している。この行列は、図1及び
図2に示すように、4ビットのメモリ・チップ・データ
幅をとる。メモリ・チップ上のECC論理機構26から
のCES信号は、チップ・データ・ビットに1ビットの
エラーまたは複数ビットのエラーが存在するとき活動状
態になる。
【0020】次式で、記号∧は論理AND演算を表し、
記号∨は論理OR演算を表す。また、式を実施する際に
論理NOR演算を定義する論理恒等式
【数1】 を用いることができる。図3に示す(36,32)コー
ド用のECC方程式は、次の通りである。シンドローム復号機構19への入力 CES0,...,CES7,CESC−メモリ・チップ・エラー信号 S0,S1,S2,S4−C0,C1,C2,C3 からの4シンドローム・ビットチップ・エラー指示
【数2】 訂正可能エラー指示 CE=C0E∨C1E∨...∨C7E∨CCエラーなし指示
【数3】 個別訂正ビット指示
【数4】 訂正不能エラー指示
【数5】
【0021】図4、図5及び図6は、図1及び図2に示
した例で、シンドローム復号機構19の回路の論理配線
図を示している。この回路は、上記の方程式を実施した
ものである。まず図4では、メモリ・チップ・エラー信
号CES0〜CESCがそれぞれ複数の8元ANDゲート
40〜47に入力される。これらの各信号がそれぞれイ
ンバータ50〜57で反転され、反転信号が他の7つの
ANDゲートに入力される。したがって、ANDゲート
40〜47の出力は、チップ・エラー指示信号C0E〜
CEであり、ORゲート58に入力されて信号CEを
生成する。信号CEは、ただ1つのCES信号が活動状
態にあり、訂正可能エラーまたはエラーなしを意味する
ことを示す。すなわち、アレイから読み取られた64ビ
ット中でオン・チップECC論理機構によって1つのエ
ラーが検出されたので、CES信号が活動状態となり得
るが、実際にチップから読み出された64ビットのうち
から選択された4個のビットにはエラーのないこともあ
る。
【0022】図5は、エラーなし信号NEを生成する回
路を示している。シンドローム生成機構18からのシン
ドローム・ビットがそれぞれインバータ60〜63によ
って反転され、反転シンドローム・ビットがANDゲー
ト64に入力される。したがって、ANDゲート64の
出力は、活動状態にあるシンドローム・ビットがないこ
とを示している。明らかに、4個のインバータ60〜6
3及びANDゲート64を1つのNORゲートで置き換
えることが可能である。その間に、チップ・エラー信号
CES0〜CESCがORゲート65に入力され、その出
力がインバータ66によって反転される。インバータ6
6からの出力は、活動状態にあるチップ・エラー信号が
ないことを示している。この場合も、ORゲート65及
びインバータ66を1つのNORゲートで置き換えるこ
とが可能である。図4におけるORゲート58からの訂
正可能エラー信号CE及びインバータ66の出力がOR
ゲート67に入力され、このゲートは活動状態にあるチ
ップ・エラー信号が1つある、またはないことを示す出
力を提供する。この出力及びANDゲート64からの出
力がANDゲート68に入力され、ANDゲート68は
エラーなし信号NEを生成する。訂正不能エラー信号N
CEが、ORゲート58からのCE信号及びANDゲー
ト68からのNE信号をその入力としているNORゲー
ト69により生成される。したがって、CEもNEも活
動状態にない場合には、NORゲート69の出力が活動
状態となり、CPUに訂正不能エラーが検出されている
ことを示す。
【0023】図6は、個々の訂正ビット表示の生成を示
している。図4のそれぞれANDゲート40〜47によ
って生成されたチップ・エラー信号C0E〜CCEが復号
機構行列70に入力される。この行列は、各チップ・エ
ラー信号をシンドローム生成機構18からの対応するシ
ンドローム・ビットS0〜S3と組み合わせて、データ訂
正機構16中のデータ訂正論理機構用の適当な訂正ビッ
ト指示を生成する、32個の2元ANDゲートから構成
されている。採用した記号表記法で、添字の上から第1
桁はチップ、第2桁はチップの中のビットを指す。すな
わち、訂正ビット表示CB42はチップ4中の訂正ビット
2を意味する。
【0024】表1に、本発明による2段エラー検出/訂
正システムがとる動作を要約して示す。
【表1】 図7は、別の単一チップ複数ビット・エラー訂正コード
用のH行列の例を示している。図のコードは、512キ
ロバイト×9チップなど「9連」ビット・チップを用い
るメモリ・システムからのフルワード・アクセス用の
(45,32)ビット・コードである。つまり、図5に
は、5個のチップ、すなわち4個のデータ・チップと1
個の検査チップが存在する。各チップの各バイトに続く
9番目のビットは、パリティ・ビットである。チップ
に、図2に示したような単一ビットECC論理機構が設
けられているとすると、図3の説明からわかるように、
パリティ・ビットは任意選択である。このコードでは、
シンドローム・ビットは検査ビット+パリティ・ビット
である。つまり、このコードでは、n=45、k=1
3、r=32であり、図7に示した(43,32)H行
列を形成する。
【0026】図7を検討すると、各バイトが別々のチッ
プ上に記憶されている、バイト内の障害用の非常に簡単
な複数ビット訂正方式が明らかになる。チップ内の最初
の8ビット(すなわち、「データ」ビット)はそれぞれ
ただ1個の「検査」ビットに関連している。チップのエ
ラー信号(CES)が示すように、単一の1チップが障
害を起こした場合には、対応するどの「シンドローム」
ビットが活動状態にあるかを記憶することにより、デー
タ・ビット障害のいずれかまたはすべてが訂正できる。
ただ1つのチップが故障を起こしているものとすれば、
起こり得る各エラーは、一意的シンドロームを有する。
各バイトの9番目のビットは最初の8ビットのパリティ
・ビットであるが、これを使って、チップ・エラー信号
の状態にかかわらず、単一ビットがいつ誤っているかを
示す。したがって、メモリ・チップ・エラー検出論理機
構が、たとえば出力ドライバ障害など、単一ビット障害
を検出する必要はない。
【0027】一例として、バイト1のビット1、4、5
が誤っていると仮定する。図7のコードを使えば、結果
として得られるシンドロームはバイト1のチップ・エラ
ー検出信号と検査ビット1、4、5、及びP1となる。
この「シンドローム」は、このエラー特有であり、した
がって、誤っているビットは訂正することができる。他
にチップ・エラー信号もパリティ・ビット信号もなけれ
ば、バイト1のメモリ・チップだけが障害を起こしてお
り、他に障害のあるものはないことを示すことに留意さ
れたい。
【0028】第二の例として、バイト1のビット1、
4、5が誤っており、バイト2のビット1も誤っている
と仮定する。結果として得られるシンドロームは、バイ
ト2のエラー信号を伴うかまたは伴わないバイト1のチ
ップ・エラー信号と、検査ビット4、5、P1及びP2
である。このシンドロームは一意的ではないので、訂正
は可能でない。ただし、エラーは誤訂正なしに検出され
る。
【0029】パリティ・ビットを各チップのデータの各
記号フィールドにわたって組み込んだ(45,32)コ
ードの例では、複数ビット・エラーが存在するときだ
け、チップ・エラー信号が活動状態になる。パリティ・
ビットがこの情報を直接提供するので、単一ビット・エ
ラー用のチップ・エラー信号の活動化は不要である。パ
リティ・ビットを用いる2段のエラー検出/訂正方式
は、例えば図3に示したパリティ・ビットなしの(3
6,32)コードよりも高価であるが、パリティ・ビッ
トを追加すると、メモリとECC論理機構の間の、また
オフ・チップ・ドライバ中の結線(ワイヤ)中の単一障
害の検出及び訂正が可能となる。これは、(「ワイヤ」
上の)出力データ・ビットをメモリ・アレイ24からの
所期のデータ出力と比較するオンチップ論理機構(図
2)が設けられていない限り、パリティ・ビットなしに
は不可能である。また、チップECC論理機構は、単一
ビット・エラーならびに複数ビット・エラーを検出しな
ければならない。パリティ・ビットを用いると、チップ
ECC論理機構は複数ビット・エラーを検出し、複数ビ
ット・エラー用のCESエラー信号を活動化するだけで
よい。
【0030】図7に示したエラー・コードは、次のよう
に一般化できる。Nビット幅のメモリ・チップでは、N
−1ビットがデータとして用いられ、N番目のビットは
始めのN−1ビットのパリティとして用いられる。さら
に、検査ビット・メモリ・チップが必要である。結果と
して得られるコードは、幅N+Mビットである。ただ
し、Mはワード長をN−1で割った商である。たとえ
ば、チップの幅が17ビットであり、ワード長が64ビ
ットであれば、結果として得られるコードは、64デー
タ・ビットごとに、64/16すなわち4+17に等し
い21個の検査ビット、すなわち(85,64)ビット
・コードとなる。この場合も、チップ・エラー信号(C
ES)とともに用いると、1チップ訂正、複数チップ検
出機能がもたらされる。この場合、すべてのエラーが同
じメモリ・チップからのものであれば、最大17個の同
時エラーが訂正できる。
【0031】
【発明の効果】本発明により、メモリまたはアレイ用の
安価な複数エラー検出/訂正機構を提供できる。
【図面の簡単な説明】
【図1】本発明による、2段エラー検出/訂正システム
の実施態様の構成図である。
【図2】本発明による、2段エラー検出/訂正システム
のオンチップ機能の構成図である。
【図3】本発明の一態様による、45、32エラー訂正
コードのH行列を示す図である。
【図4】図1の実施例に示したシンドローム復号機構の
論理回路図である。
【図5】図1の実施例に示したシンドローム復号機構の
論理回路図である。
【図6】図1の実施例に示したシンドローム復号機構の
論理回路図である。
【図7】本発明の別の態様による、36、32エラー訂
正コードのH行列を示す図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 イー・ミング・ティング アメリカ合衆国12518、ニューヨーク州コ ーンウォール、ルート 9ダブリュー 400

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】各々がM個のデータ・ビットを格納し、全
    体としてN個のデータ・ビットを格納する複数の第1段
    メモリ・パッケージと、 上記第1段メモリ・パッケージから読み取ったN個のデ
    ータ・ビットからM個のデータ出力メモリ記憶ビットを
    選択するデータ選択手段と、 上記複数の第1段メモリ・パッケージの各々に記憶され
    たデータ・ビットに対応するM個のエラー検出検査ビッ
    トを格納する検査ビット・メモリ・パッケージと、 上記第1段メモリ・パッケージの各々から読み取った別
    々のMビットから、上記第1段メモリ・パッケージから
    のN個のデータ・ビットにおける複数ビットのエラー及
    び単一ビット・エラーを指示するM個の検査出力ビット
    より成る出力エラー信号を生成する検査ビット生成手段
    と、 上記複数の第1段メモリ・パッケージの各々からのM個
    のデータ・ビット、上記検査ビット・メモリ・パッケー
    ジからのM個のエラー検出検査ビット、及び上記検査ビ
    ット生成手段により与えられる、上記各第1段メモリ・
    パッケージからの上記出力エラー信号に応答して、任意
    の第1段メモリ・パッケージからの複数ビット・エラー
    又は単一ビット・エラーを訂正し、あるいは上記第1段
    メモリ・パッケージの2以上のものからのデータ・ビッ
    ト・エラーを検出する第2段データ・ビット訂正手段
    と、 からなる、メモリ用のエラー検出/訂正機構を有するデ
    ータ処理システム。
  2. 【請求項2】上記第2段データ・ビット訂正手段が、 上記検査ビット生成手段によって生成された上記出力エ
    ラー信号、及び上記検査ビット・メモリ・パッケージか
    らのM個のエラー検出検査ビットに応答して、M個のシ
    ンドローム・ビットを生成する、シンドローム生成手段
    と、 上記シンドローム・ビットと、上記複数の第1段メモリ
    ・パッケージの各々からの上記の出力エラー信号とに応
    答して、上記第1段メモリ・パッケージの1つからの単
    一または複数のエラー用の個別の訂正ビット信号を生成
    する、シンドローム復号手段と、 を含むことを特徴とする、請求項1のエラー検出/訂正
    機構を有するデータ処理システム。
  3. 【請求項3】上記シンドローム復号手段は、上記シンド
    ローム・ビットと、上記複数の第1段メモリ・パッケー
    ジの各々からの上記の出力エラー信号とに応答して、エ
    ラーなし信号、訂正可能エラー信号、または訂正不能エ
    ラー信号を生成することを特徴とする、請求項2のエラ
    ー検出/訂正機構を有するデータ処理システム。
  4. 【請求項4】上記複数の第1段メモリ・パッケージが、
    オンチップ・エラー検出論理手段をもつ個別のメモリ・
    チップであることを特徴とする、請求項1のエラー検出
    /訂正の機構を有するデータ処理システム。
JP4061734A 1991-03-26 1992-03-18 エラー検出/訂正機構を有するデータ処理システム Expired - Lifetime JPH087721B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/675,994 US5418796A (en) 1991-03-26 1991-03-26 Synergistic multiple bit error correction for memory of array chips
US675994 1991-03-26

Publications (2)

Publication Number Publication Date
JPH05241975A JPH05241975A (ja) 1993-09-21
JPH087721B2 true JPH087721B2 (ja) 1996-01-29

Family

ID=24712780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4061734A Expired - Lifetime JPH087721B2 (ja) 1991-03-26 1992-03-18 エラー検出/訂正機構を有するデータ処理システム

Country Status (2)

Country Link
US (1) US5418796A (ja)
JP (1) JPH087721B2 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367046B1 (en) * 1992-09-23 2002-04-02 International Business Machines Corporation Multi-bit error correction system
US5883903A (en) * 1993-09-20 1999-03-16 Fujitsu Limited Semiconductor memory of XN type having parity corresponding to n×m bits
US5920580A (en) * 1996-03-11 1999-07-06 Integrated Device Technology, Inc. Multiple error detection in error detection correction circuits
US5956351A (en) * 1997-04-07 1999-09-21 International Business Machines Corporation Dual error correction code
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
US6397365B1 (en) * 1999-05-18 2002-05-28 Hewlett-Packard Company Memory error correction using redundant sliced memory and standard ECC mechanisms
US6487685B1 (en) * 1999-09-30 2002-11-26 Silicon Graphics, Inc. System and method for minimizing error correction code bits in variable sized data formats
US6675341B1 (en) * 1999-11-17 2004-01-06 International Business Machines Corporation Extended error correction for SEC-DED codes with package error detection ability
US7634709B2 (en) * 2001-10-05 2009-12-15 Unisys Corporation Familial correction with non-familial double bit error detection
US7194366B2 (en) * 2001-10-19 2007-03-20 Auburn University System and method for estimating reliability of components for testing and quality optimization
US7842926B2 (en) * 2003-11-12 2010-11-30 Micronic Laser Systems Ab Method and device for correcting SLM stamp image imperfections
EP1702242A2 (en) * 2004-01-08 2006-09-20 Micronic Laser Systems Ab Method and device for data integrity checking
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
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
KR100632952B1 (ko) * 2004-09-30 2006-10-11 삼성전자주식회사 정전으로 인한 프로그램 페일의 유무를 판별할 수 있는방법 및 장치
US20060123239A1 (en) * 2004-12-07 2006-06-08 Emin Martinian Biometric based user authentication with syndrome codes
US7620818B2 (en) * 2004-12-07 2009-11-17 Mitsubishi Electric Research Laboratories, Inc. Biometric based user authentication and data encryption
US7546514B2 (en) 2005-04-11 2009-06-09 Hewlett-Packard Development Company, L.P. Chip correct and fault isolation in computer memory systems
US20060256615A1 (en) * 2005-05-10 2006-11-16 Larson Thane M Horizontal and vertical error correction coding (ECC) system and method
US7653862B2 (en) * 2005-06-15 2010-01-26 Hitachi Global Storage Technologies Netherlands B.V. Error detection and correction for encoded data
KR100746225B1 (ko) * 2006-02-13 2007-08-03 삼성전자주식회사 반도체 메모리 장치 및 이를 구비한 메모리 시스템
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
US20100163756A1 (en) * 2008-12-31 2010-07-01 Custom Test Systems, Llc. Single event upset (SEU) testing system and method
JP2010176761A (ja) * 2009-01-30 2010-08-12 Toshiba Corp 半導体記憶装置
US8412987B2 (en) * 2009-06-30 2013-04-02 Micron Technology, Inc. Non-volatile memory to store memory remap information
US8495467B1 (en) 2009-06-30 2013-07-23 Micron Technology, Inc. Switchable on-die memory error correcting engine
US8412985B1 (en) 2009-06-30 2013-04-02 Micron Technology, Inc. Hardwired remapped memory
US8539395B2 (en) 2010-03-05 2013-09-17 Micronic Laser Systems Ab Method and apparatus for merging multiple geometrical pixel images and generating a single modulator pixel image
JP2012177964A (ja) * 2011-02-25 2012-09-13 Nec Computertechno Ltd メモリシステム及びメモリモジュール制御方法
US9772900B2 (en) * 2014-07-10 2017-09-26 Samsung Electronics Co., Ltd. Tiered ECC single-chip and double-chip Chipkill scheme
US10180875B2 (en) * 2016-07-08 2019-01-15 Toshiba Memory Corporation Pool-level solid state drive error correction

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3659088A (en) * 1970-08-06 1972-04-25 Cogar Corp Method for indicating memory chip failure modes
US3755779A (en) * 1971-12-14 1973-08-28 Ibm Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection
US3893071A (en) * 1974-08-19 1975-07-01 Ibm Multi level error correction system for high density memory
US4117458A (en) * 1977-03-04 1978-09-26 Grumman Aerospace Corporation High speed double error correction plus triple error detection system
US4139148A (en) * 1977-08-25 1979-02-13 Sperry Rand Corporation Double bit error correction using single bit error correction, double bit error detection logic and syndrome bit memory
US4236247A (en) * 1979-01-15 1980-11-25 Organisation Europeene De Recherches Spatiales Apparatus for correcting multiple errors in data words read from a memory
JPS592057B2 (ja) * 1979-02-07 1984-01-17 株式会社日立製作所 エラ−訂正・検出方式
US4319357A (en) * 1979-12-14 1982-03-09 International Business Machines Corp. Double error correction using single error correcting code
US4335459A (en) * 1980-05-20 1982-06-15 Miller Richard L Single chip random access memory with increased yield and reliability
US4464753A (en) * 1981-12-30 1984-08-07 International Business Machines Corporation Two bit symbol SEC/DED code
US4509172A (en) * 1982-09-28 1985-04-02 International Business Machines Corporation Double error correction - triple error detection code
US4504948A (en) * 1982-12-29 1985-03-12 International Business Machines Corporation Syndrome processing unit for multibyte error correcting systems
US4525838A (en) * 1983-02-28 1985-06-25 International Business Machines Corporation Multibyte error correcting system involving a two-level code structure
US4612640A (en) * 1984-02-21 1986-09-16 Seeq Technology, Inc. Error checking and correction circuitry for use with an electrically-programmable and electrically-erasable memory array
JPS6250943A (ja) * 1985-08-30 1987-03-05 Hitachi Ltd 記憶装置
US4689792A (en) * 1985-09-03 1987-08-25 Texas Instruments Incorporated Self test semiconductor memory with error correction capability
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
JP2605271B2 (ja) * 1987-02-10 1997-04-30 ソニー株式会社 エラー訂正及びチエツク装置
US5058115A (en) * 1989-03-10 1991-10-15 International Business Machines Corp. Fault tolerant computer memory systems and components employing dual level error correction and detection with lock-up feature

Also Published As

Publication number Publication date
JPH05241975A (ja) 1993-09-21
US5418796A (en) 1995-05-23

Similar Documents

Publication Publication Date Title
JPH087721B2 (ja) エラー検出/訂正機構を有するデータ処理システム
US5164944A (en) Method and apparatus for effecting multiple error correction in a computer memory
US6009548A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US6976194B2 (en) Memory/Transmission medium failure handling controller and method
US6662333B1 (en) Shared error correction for memory design
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
US6044483A (en) Error propagation operating mode for error correcting code retrofit apparatus
EP1204921B1 (en) System and method for detecting double-bit errors and for correcting errors due to component failures
US7644348B2 (en) Method and apparatus for error detection and correction
EP0540450B1 (en) ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US4464753A (en) Two bit symbol SEC/DED code
US6751769B2 (en) (146,130) error correction code utilizing address information
US5768294A (en) Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
US5663969A (en) Parity-based error detection in a memory controller
US4740968A (en) ECC circuit failure detector/quick word verifier
US4961193A (en) Extended errors correcting device having single package error correcting and double package error detecting codes
JPH0778746B2 (ja) エラー訂正装置
EP0147336B1 (en) Error correcting and detecting system
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
US5761221A (en) Memory implemented error detection and correction code using memory modules
US5633882A (en) Error detection and correction circuit
US6460157B1 (en) Method system and program products for error correction code conversion
EP0097159B1 (en) Two bit per symbol sec/ded code