JP2589957B2 - 単一サブブロック・エラーと単一ビット・エラー検出のための符号化方法及びメモリ・システム - Google Patents

単一サブブロック・エラーと単一ビット・エラー検出のための符号化方法及びメモリ・システム

Info

Publication number
JP2589957B2
JP2589957B2 JP6122178A JP12217894A JP2589957B2 JP 2589957 B2 JP2589957 B2 JP 2589957B2 JP 6122178 A JP6122178 A JP 6122178A JP 12217894 A JP12217894 A JP 12217894A JP 2589957 B2 JP2589957 B2 JP 2589957B2
Authority
JP
Japan
Prior art keywords
matrix
block
sub
bit
code
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
JP6122178A
Other languages
English (en)
Other versions
JPH0736717A (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 JPH0736717A publication Critical patent/JPH0736717A/ja
Application granted granted Critical
Publication of JP2589957B2 publication Critical patent/JP2589957B2/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
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にデジタル・コンピ
ュータ・システムのメモリ・アレイに関連して有用なエ
ラー訂正符号化方法に関する。特に、本発明はメモリ構
成がメモリ・アレイ・ユニットから読出される多重ビッ
トを含む状況に適用される。典型的には、こうしたメモ
リ・アレイ・ユニットは個々の回路チップを含む。
【0002】
【従来の技術】コンピュータ・メモリ・チップに関連す
るエラー検出及び訂正機構は、チップ回路密度が増加す
るにつれ一層普及し、また望まれつつある。現在及び将
来における一層の回路密度の増加は、様々な種類のメモ
リ・エラーの発生状況を生じる。これらのエラーはα粒
子放射または他の放射により典型的に引起こされる "ソ
フト" 的なエラーと、ハード・メモリ故障状態の両方を
含む。両方のこれらの種類のエラーは、エラー指示とな
る。メモリ・システムにおけるこれらのエラー・リスク
の増加により、メモリ・アレイ構造に記憶されるデータ
の保全性及び信頼性を維持する試みがより重要となって
いる。これは特に、高密度半導体回路チップ・デバイス
にもとづくメモリ・システムにおいて言えることであ
る。
【0003】メモリ密度は個々の回路チップ上に配置さ
れるメモリ・セル数を増加したため、単一ビットの情報
よりも多くの情報が1度に任意のメモリ・チップから提
供されるコンピュータ・メモリ・システムの構成がしば
しば望まれる。従って、1チップ当たり複数ビットのメ
モリ・システムがより普及しつつある。こうした状況に
おいて、各チップからの複数ビットのサブブロックを1
つの記号として扱うことがしばしば望ましい。1チップ
当たり4ビットのモジュールを基本とする64ビット幅
のメモリでは、出力は16個の4ビット記号として供給
されるものと見なされる。すなわち、64ビットのブロ
ックが各4ビットの16個のサブブロックに分けられる
のである。
【0004】従来、エラー訂正及び検出方法がメモリ回
路及びメモリ構造に適用される場合、符号化方法は一般
にタイプI及びタイプIIの2つの一般的カテゴリに分
類された。タイプIコードでは、コードがブロック内の
全ての単一ビット・エラーを訂正可能で、全てのダブル
・ビット・エラーを検出可能で、また全ての単一サブブ
ロック・エラーを検出可能なように、符号化及び復号
機構が構成される。ここでサブブロック・エラーとは、
1チップ当たりbビットのメモリ・システムにおいて所
与のチップからのbビットのサブブロックに生じた最大
bビットのエラーである。こうしたコードはここではタ
イプIコードと呼ばれる。一方、タイプIIコードはタ
イプIコードが可能な全てのことを実行可能であるが、
更に全ての単一サブブロック・エラーの訂正、及び全て
のダブル・サブブロック・エラーの検出が可能である。
【0005】このように、タイプIコードでは、ブロッ
内で発生する全ての単一ビット・エラーを訂正し、全
ての2ビット・エラーを検出し、またエラーがbビット
の単一サブブロック内で発生する限り、全てのエラーを
検出する機能を有する。それに対し、タイプIIコード
では、単一サブブロック内で発生する全てのエラーを訂
正し、また2つの別々のサブブロック内で発生する全て
のエラーを検出することができる。
【0006】しかしながら、タイプIコードとタイプI
Iコードとの中間の機能を有する第3のタイプのコード
が必要とされる。こうしたコードはここではタイプII
Iコードと呼ばれる。従って、こうしたコードはブロッ
ク内の全ての単一ビット・エ ラーを訂正し、ブロック内
の全ての2ビット・エラーを検出し、単一サブブロック
(bビット)内で発生する全てのエラーを検出し、更に
単一サブブロック・エラーの全ての組合わせ及びそれと
別のビット位置におけるエラーを同時に検出すること
が可能である。従って、ここで定義されるタイプIII
コードは、単一サブブロック・エラーとある他のビット
位置におけるエラーとの全ての組合わせを検出すること
ができる。それに対し、完全なタイプIIコードは、全
ての単一サブブロック・エラーを訂正し、全てのダブル
・サブブロック・エラーを検出することができる。
【0007】タイプIIIコードはECC設計者に従来
なかった有力で柔軟なツールを提供するため、こうした
タイプのコードを利用する機能を有することが重要であ
る。特に、タイプIIIコードの存在は、コード設計者
に対し、従来使用可能でなかった技術的判断選択を提供
する。コード設計者、及びメモリ回路保護分野のコード
設計者にとって、タイプIコードは実施することは安価
ではあるが、メモリ・システムにおいて期待される程度
のエラー訂正及び検出を必ずしも提供しない。これは特
に、マルチユーザ環境がデータ保全性を一層クリティカ
ルなものとする大規模メインフレーム・コンピュータで
使用されるメモリ・システムにおいて言えることであ
る。同様にメモリ保護分野に従事するコード設計者にと
って、タイプIIコード化方法は、エラー訂正及び検出
機能を多大に向上するが、それにも関わらず、好適な量
のメモリ・チップ"資源(real estate)" よりも多くを
使用する複雑な回路を必要とする。更に、上述の議論か
ら、多重ビット・メモリ・アーキテクチャに大きく依存
して、単一サブブロック・エラー及びあるビット位置に
おける別の単一エラーの全ての組合わせを検出する機能
が極めて有利となることが理解される。要するに上述の
議論から、タイプIIIエラー訂正符号化方法が多重ビ
ット・メモリ・アーキテクチャに特に好適であることが
理解される。
【0008】
【発明が解決しようとする課題】本発明の目的は、メモ
リ・アレイの信頼性を向上することである。
【0009】本発明の別の目的は、複雑性及びコストの
点で、タイプIコードとタイプIIコードの中間に位置
する2進情報のための符号化方法を提供することであ
る。
【0010】更に本発明の別の目的は、出力がbビット
サブブロックにグループ化されるメモリ・アレイ構造
に特に好適なエラー訂正符号化方法を使用することであ
る。
【0011】更に本発明の別の目的は、Reed-Solomonコ
ードの特性を改良することである。
【0012】更に本発明の別の目的は、タイプIIIコ
ードにもとづくエラー訂正及び検出方法を提供すること
である。
【0013】最後に本発明の目的は、単一サブブロック
・エラーを検出し、同時に、コードワード内の別の場所
で発生する単一ビット・エラーを検出することである。
【0014】
【課題を解決するための手段】本発明の好適な実施例に
よれば、Nビットのブロック内で発生し、各々がビッ
トのS個のサブブロックに更に分割される2進データを
符号化する方法が提供される。本方法はこれらのNビッ
トのデータを、特定のパリティ・チェック・マトリクス
Hにより決定されるパリティ・チェック条件に掛けるス
テップを含む。このマトリクスは別の特定の2進マトリ
クスH* から導出される。特に、マトリクスH* はタイ
プIIコードに対応するパリティ・チェック・マトリク
スを表し、ここでは第1行がM×M単位マトリクスをS
列含み、マトリクスH* の他の行はM×Mゼロ・マトリ
クス、M×M単位マトリクス、及びM×MマトリクスT
iを含む。ここでiは負でない指数を示し、Tはガロア
GF(2)上の原始多項式p(x)に関連するコンパ
ニオン・マトリクスである。本発明の2進パリティ・チ
ェック・マトリクスHが導出されるこのH* マトリクス
は、M×MサブマトリクスによるP行及びS列を含み、
このサブマトリクスの第1行は単位マトリクスである。
【0015】本発明によれば、所望のパリティ・チェッ
ク・マトリクスHは、サブマトリクスの第1行内のM×
単位マトリクスをb×b単位マトリクスにより置換し
(ここでM+1≦b<2M−1) 、M×Mゼロ・マトリ
クスをM×bゼロ・マトリクスにより置換し、最後にM
×MマトリクスTiをTiマトリクスに列を追加したM×
拡大マトリクスにより置換することにより、H* マト
リクスから導出される。ここで拡大マトリクスの各追加
列はあるj(1≦j≦b)に対する多項式xjモジュロ
p(x)のベクトルである。既知の符号化方法によれ
ば、p(x)は2進数を元とする体上の原始2進多項式
である。所望のパリティ・チェック・マトリクスHの結
果は、Sb列及びM+(b−M)行を有するマトリク
スである。このようにマトリクスHはマトリクスH*
対し、(b−M)S列及び(b−M)行を追加される。
ここで述べられるタイプIIIコードの追加機能は、こ
れらの追加された要素に起因する。
【0016】述べられるコードの所望される利点の1つ
は、復号化の容易性である。特に、入力コード・ベクト
ル及びパリティ・チェック・マトリクスから計算される
シンドロームオール0のベクトルであれば、エラー指
示は提供されない。しかしながら、シンドロームがオー
ル0のベクトルでない場合には、シンドロームはマトリ
クスHの全てのSb列に対応する列ベクトルiと比較さ
れる。シンドロームが丁度Hの列iと同一の場合、コー
ドワードのビットiがエラーであり、それによりビット
iがビット反転により訂正される。従って、訂正回路は
典型的には、その出力部分に条件インバータまたは排他
的論理和ゲートを含む。更に、非ヌルのシンドロームが
Hのどの列にも一致しないことがわかると、訂正不能な
エラーがメモリ・アレイから受信されたコードワード内
に存在する指示が提供される。
【0017】
【実施例】本発明の理解のために、タイプIIIコード
の構成は、その構成に関し、小サブブロック・サイズの
任意のタイプIIコードから展開される。エラー訂正コ
ードの設計において使用される既知の記述に従い、
(N、K)コードはコード・ベクトルの長さを表すNビ
ット、及びコード内に存在する合計Kビットの情報を有
するコードである。こうしたコードは典型的にはN列及
びN−K行のパリティ・チェック・マトリクスを有す
る。N−Kは有効なチェック・ビット数を表す。特に、
サブブロック当たり3ビットのサブブロック・サイズ
を有する(30、21)タイプIIコード(30合計ビ
ット、21情報ビット、9チェック・ビット)が、1
ブブロック当たり4ビットのサブブロック・サイズを有
する(40、30)タイプIIIコードに変換される。
しかしながら、チェック・ビット及び情報ビットの区別
は、厳密には、パリティ・チェック・マトリクスが既約
梯形正準形で表現されるすなわち先行単位マトリクス
をその最左端列に有する場合にのみ意味がある。しかし
ながら、単位マトリクスをパリティ・チェック・マトリ
クスの様々な列に分散することも可能である。コードま
たはその実施の特性に影響することなく、パリティ・チ
ェック・マトリクス内のこうした入替えは、単にコード
内のビット位置の異なるマッピングに対応する。
【0018】議論を始めるための基本コードとして、図
1は(30、21)タイプIIReed-Solomon コードに
対応するパリティ・チェック・マトリクスを表す。各記
号I3は3×3単位サブマトリクスを表す。各記号O3
は全要素が0の3×3マトリクスを表す。マトリクスT
i はコンパニオン・マトリクスTの様々な累乗を表す。
Tのこれらの累乗は、図2により詳細に示されている。
この例の目的のためだけに対応して、マトリクスTは3
次の原始多項式に関連するコンパニオン・マトリクスで
ある。例えば、p(x)=1+X+X3 である。マトリ
クスTの左下部分は標準の2×2単位サブマトリクスで
ある。最右端列に相当するTの最後の列は、原始多項式
の係数をリストし、低位の係数がTの最上行の近くにリ
ストされ、最上位の係数はリストされる必要はない。こ
れはこの場合はX3 の係数に相当する。
【0019】図1に示されるタイプIIコードの構造の
結果、このコードのパリティ・チェック・マトリクスは
S個のサブマトリクスの列を含み、各サブマトリクス
M×Mマトリクスである。この構成では、1サブブロッ
当たりビットによる合計個のサブブロックが存在
し、合計SMビットを含む。図1のチェック・マトリク
スに表されるコードに適用されるように、ビット位置の
合計数すなわちHIIの列の数NはSMに等しく、ここで
Sはサブブロックの数であり、Mは1サブブロック当た
りのビット数である。同様に、HII内には(N−K)行
が存在し、この数は1サブブロック当たりのビット数の
P倍であり、従ってN−K=PMとなる。ここで表され
また議論される特定のタイプIIコードにおいては、N
=30、S=10、M=3、及びP=3である。従っ
て、N−K=9、またK=21である。更に図1で示さ
れるコードは、図3で明示的に展開されるように、Reed
-Solomonコードとして一般的に記述することができる。
【0020】本発明によれば、一般的に図4に示される
形式のタイプIIコードが変更され、タイプIIIコー
ドを記述する新たなパリティ・チェック・マトリクスを
生成する。特にHIIの第1行内のS個の単位マトリクス
拡大され、b×b単位サブマトリクスを形成する(図
5参照)。ここでbはMよりも大きな整数であり、2M
−1よりも小さな整数である。従って、使用される構成
手順により、コード・ベクトル成分の数が(b−M)S
だけ増加される。この例では、S=10は元のコード内
サブブロックの数に対応する。
【0021】更にb=M+1の場合に対応して、変更が
元々与えられるタイプIIパリティ・チェック・マトリ
クスの他の行に対して実行される。特に、M×Mゼロ・
マトリクスのサイズが0の1列を追加することにより増
加され、M行及び(M+1)列を有するゼロ・マトリク
スが生成される。最後に、Tコンパニオン・マトリクス
の種々の累乗を表すマトリクスTi が最右端列ベクトル
を追加することにより変更され、各マトリクスTi はM
個の成分を追加される。しかしながら、(この場合)i
は0乃至5まで変化するので、iの値に依存して異なる
列が追加される。一般に、各マトリクスTi はM×bマ
トリクスに変換され、そのj番目の列は多項式xi+j-1
モジュロp(x)のベクトルである。これは単一項多項
式xi+j-1が前述の原始多項式p(x)により除算さ
れ、対応する剰余多項式が生成されることを意味する。
この剰余多項式の係数は、前述のように、拡大i マト
リクス(図6のAUG(Ti ))のセットを生成するた
めに使用される。構成されるタイプIIIコードに対応
して、マトリクスTの拡大が図6に示されるように発生
し、拡大は上述の意味において記号"AUG"により示さ
れる。また、本発明のコード生成アプローチでは、混乱
を回避するため、M×MマトリクスT0 はここでは一般
にM×M単位マトリクスとして定義される。従って、図
2、図3、図6及び図7の比較からも明らかなように、
タイプIIパリティ・チェック・マトリクスの第2行以
降の行にあるM×M単位マトリクスは、M×b拡大マト
リクスAUG(T 0 )に変換される。
【0022】本発明により実行される一般的な生成方法
によれば、(M×M)サブマトリクスのS列及びP行を
有するタイプIIパリティ・チェック・マトリクスが、
Sb列及びMP+(b−M)行の2進フィールド要素を
有するマトリクスに変換される。その第1行には、b×
単位マトリクスがS列に配列される。ほぼ同様に、他
の(P−1)行のサブマトリクスがM×bサブマトリク
スに変換され、拡大(Mからbへの列数の増加)が上述
のように実行される。従って、本発明で実行される変換
により、N=SM列及びPM=(N−K)行のマトリク
スが、Sb列及びMP+(b−M)行を有するタイプI
IIコードに対応するパリティ・チェック・マトリクス
に変換される。これが図5に表される。
【0023】この変換例から生じるパリティ・チェック
・マトリクスが、その2進形式により図7に示され、H
III '' として定義される。これは40=10×4列、及
び10=4+(3−1)×3=3×3+(4−3)行の
マトリクスである。図7の破線は説明の都合上描かれて
おり、特に全体的なパリティ・チェック・マトリクスを
構成するサブマトリクスを詳細に示すことを目的とす
る。このマトリクスは図8に示されるマトリクスHopt
を形成するために、更に行オペレーションにより変換さ
れる。
【0024】タイプIIIコードのチェック・ビット及
びシンドローム・ビットは、パリティ・チェック・マト
リクスの行ベクトルにより指定されるデータ・ビットに
対する排他的論理和演算により生成される。これは他の
タイプの2進コードに対して実行される通常の手順と同
じである。一例として、図8のパリティ・チェック・マ
トリクスにより選択される15個の情報ビット8、1
2、14・・・36、37を受け取って、チェック・ビ
ット1を生成する排他的論理和(XOR)ツリーを図9
に示す。
【0025】本発明の特徴の1つは、復号化の実行の相
対的な容易性である。特に、シンドローム・ビットが生
成されると(図10のステップ10参照)、次にシンド
ロームがヌルかどうかが判断される(ステップ20)。
すなわち、オール0のベクトルかどうかがチェックされ
る。肯定の場合、エラー指示は提供されず(ステップ3
0)、受信される入力シーケンスが正しいシーケンスの
ビットとして解釈される。
【0026】しかしながら、シンドローム・ビットがヌ
ルでない場合には、シンドロームがパリティ・チェック
・マトリクスの全ての列ベクトルと比較される(ステッ
プ40)。次にパリティ・チェック・マトリクスの任意
の列がシンドロームに一致するかどうかが判断される
(ステップ50)。一致が存在しない場合、訂正不能な
エラーが発生しており、この状況を示す信号が好適には
提供される(ステップ60)。一致する列が見い出され
ると、訂正されたシーケンスを提供するために、対応す
る一致列のビットが反転される(ステップ70)。しか
しながら、この訂正機能は単一ビット・エラーの訂正
限られる。それにも関わらず、エラー訂正機能は上述の
タイプIIIコードの機能である。
【0027】図11は、本発明の符号化方法及び装置を
メモリ・アレイ構造に関連する好適な実施例において利
用する場合を示す。典型的には、こうしたメモリ・アレ
イ構造10は、個々のチップまたはチップ・アレイ1乃
至Sを含む。こうしたチップは典型的には出力ラッチ1
5のセットを含み、これらはアレイに供給されるアドレ
ス信号に応答して提供されるメモリ内容を記憶する。特
に、図示のシステムでは、各チップは4つの信号(b=
4)をECC回路100に供給する。ECC回路100
については図12で詳細に述べられる。各チップはこの
時bビットをECC回路に提供すると表現され、ECC
回路は合計Sbビットを受信する。ECC回路100
は、必要に応じこれらのビットを訂正したり、訂正不能
エラー(UE)が発生したことを示したりする。
【0028】図10に表される方法を実行する装置が図
12により詳細に表される。特に、メモリ・ラッチ15
からの出力信号が、シンドローム発生器110に供給さ
れる。シンドローム発生を実行する特定の回路はECC
技術では既知であるため、ここではそれらについて説明
しない。シンドロームはそれがヌル(すなわちオール
0)かどうかを判断するために、シンドローム・テスタ
120に供給される。肯定の場合、続く処理の結果発生
する反転を禁止するために、ヌル信号標識が(条件)イ
ンバータ150に供給される。シンドロームがヌルでな
い場合、比較回路140は処理される信号シーケンス内
の対応する一致位置を決定するために、タイプIII符
号化パリティ・チェック・マトリクスの列をシンドロー
ムと比較する。一致すると見い出される列に対し、対応
する信号が条件インバータ150に供給される。インバ
ータは典型的には別の排他的論理和ゲートのアレイを含
む。こうしたゲートは"排他的論理和ゲート"として述べ
られるが、条件反転機能を実行する。エラー訂正オペレ
ーションは、出力ラッチ15からのビット・シーケンス
の条件反転により実行される。それにも関わらず、シン
ドローム・テスタ120からのヌル信号は、エラーが発
生せずシンドロームがヌルの状況において、列一致信号
の供給を禁止するために使用される。これは典型的な状
況である。更に、訂正不能エラー信号を提供するように
動作する過剰一致テスタ130も提供される。これは例
えば、シンドロームに一致することが見い出される列数
が、ここで述べられるタイプIII符号化機能の限界を
越える場合に発生する。また、シンドローム・テスタ1
20から過剰一致テスタ130にヌル信号標識を供給す
ることにより、訂正不能エラー信号の生成を禁止するこ
とが可能である。
【0029】上述から、有益なエラー訂正機構が一般に
提供され、特に、例えばチップなどのメモリ・アレイ構
造からの多重ビットの読出しが存在する半導体メモリ・
システムまたは他のメモリ・システムに従事するメモリ
・システム設計者に提供される。特に、本発明は単一
ブブロック・エラーの全ての組合わせを、別のサブブロ
ック内の単一ビット・エラーと一緒に実際に検出可能な
符号化方法を提供することが理解されよう。更に、本発
明はタイプIIIコード(ここではこのように定義され
る)を提供し、これはタイプIコードに対する要求より
も多いが、タイプIIコードに対する要求よりは少ない
チェック・ビット要求を有する。例えば、サブブロック
のビット数がb=8ビットの128データ・ビットに対
し要求されるチェック・ビットの最小数は、タイプIコ
ードでは11ビットであり、タイプIIコードでは24
ビットである。しかしながら、本発明によるタイプII
Iコードは16チェック・ビットしか要求しない。従っ
て、メモリ・システム設計者は貴重な設計のトレード・
オフ機構を提供される。更に、このトレード・オフ機構
は、単一チップから複数ビットを読出すメモリ・システ
ムにおいて特に有益である。従って、ここで述べられる
コードは、多重ビット読出しメモリ・システムにおいて
見られる故障メカニズムに適応するエラー検出及び訂正
機能を提供する点で、有益な利点を提供する。
【0030】
【発明の効果】 以上説明したように、本発明によれば、
メモリ・アレイの信頼性を向上することができる
【図面の簡単な説明】
【図1】タイプIIコードに対応する典型的なReed-Sol
omonパリティ・チェック・マトリクスを示す図である。
【図2】タイプIIパリティ・チェック・マトリクスを
2進形式で説明する、図1のマトリクスの代わりのコン
パニオン・マトリクスT及びその種々の累乗を示す図で
ある。
【図3】図2に示されるTの累乗を図1のマトリクス構
造に代用した結果を表す図である。
【図4】タイプIIパリティ・チェック・マトリクスを
その種々のサブ構造の点から示した全体構造及びサイズ
要求を示す図である。
【図5】本発明によるタイプIIIコードのパリティ・
チェック・マトリクス構造を表す図である。
【図6】原始多項式p(x)=1+x+x3 に関連する
コンパニオン・マトリクスTに対応する種々の拡大マト
リクスを表す図である。
【図7】(40、30)タイプIIIコードに対応する
典型的なパリティ・チェック・マトリクスを表す図であ
る。
【図8】マトリクス内で発生する2進数の数を減らし最
適化を計った以外は図7と同じ形式の2進パリティ・チ
ェック・マトリクスを表す図である。
【図9】図8のパリティ・チェック・マトリクスに関連
するチェック・ビット1に対応する排他的論理和ツリー
を表す図である。
【図10】本発明によるタイプIIIコード化方法によ
り符号化されるシーケンスに関連するエラーを検出及び
訂正するためのステップを表す流れ図である。
【図11】メモリ・システム内における本発明のアプリ
ケーションを表すブロック図である。
【図12】タイプIII符号化方法によりエラー訂正及
び検出を実行する装置を表すブロック図である。
【符号の説明】
10 メモリ・アレイ構造 15 出力ラッチ、メモリ・ラッチ 100 ECC回路 110 シンドローム発生器 120 シンドローム・テスタ 130 過剰一致テスタ 140 比較回路 150 条件インバータ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】各々がbビットの複数のサブブロックに分
    けられるブロック形式の2進データの符号化方法であっ
    て、前記2進データを、ブロック内の単一ビット・エラーの
    訂正、ブロック内の2ビット・エラーの検出、単一サブ
    ブロック・エラーの検出、並びに単一サブブロック・エ
    ラー及び別の単一ビット位置に生じたエラーの同時検出
    が可能な第1のコードを表す第1の2進パリティ・チェ
    ック・マトリクスにより規定される符号化回路に供給す
    るステップと前記符号化回路でチェック・ビットを生成するステップ
    とを具備し前記第1のマトリクスは、単一ビット・エラーの訂正、
    2ビット・エラーの検出、単一サブブロック・エラーの
    訂正及びダブル・サブブロック・エラーの検出が可能な
    第2のコードを表す第2のパリティ・チェック・マトリ
    クスから導出され、該第2のマトリクスは、M×Mサブ
    マトリクス(ここでM+1≦b<2 M −1)を複数の行
    及び列に配列し、その第1行がM×M単位マトリクスで
    あり、他の行のM×MマトリクスはM×Mゼロ・マトリ
    クス及びM×MマトリクスT i を含み(ここでiは負で
    ない指数を示し、Tはガロア体GF(2)上のM次の原
    始多項式p(x)に関連するコンパニオン・マトリクス
    であり、T 0 は単位マトリクスである)、前記第1のマ
    トリクスの第1行においては前記M×M単位マトリクス
    がb×b単位マトリクスにより置換され、前記第1のマ
    トリクスの第2行以降の行においては前記M×Mゼロ・
    マトリクスがM×bゼロ・マトリクスにより置換され、
    且つ前記M×MマトリクスT i がM×b拡大マトリクス
    により置換される(ここで該拡大マトリクスのj番目の
    列は多項式x i+j-1 モジュロp(x)のベクトルであ
    る)ことを特徴とする符号化方法
  2. 【請求項2】各々がbビット幅のサブブロック信号を生
    成するS個のメモリ素子と前記メモリ素子からSbビットのブロック信号を受信
    し、ブロック内の単一ビット・エラーの訂正、ブロック
    内の2ビット・エラーの検出、単一サブブロック・エラ
    ーの検出、並びに単一サブブロック・エラー及び別の単
    一ビット位置に生じたエラーの同時検出が可能なタイプ
    IIIコードのパリティ・チェック・マトリクスに従っ
    て構成されたエラー検出訂正回路とを含むメモリ・システム
JP6122178A 1993-07-02 1994-06-03 単一サブブロック・エラーと単一ビット・エラー検出のための符号化方法及びメモリ・システム Expired - Lifetime JP2589957B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/087,442 US5425038A (en) 1993-07-02 1993-07-02 Error plus single bit error detection
US087442 1993-07-02

Publications (2)

Publication Number Publication Date
JPH0736717A JPH0736717A (ja) 1995-02-07
JP2589957B2 true JP2589957B2 (ja) 1997-03-12

Family

ID=22205224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6122178A Expired - Lifetime JP2589957B2 (ja) 1993-07-02 1994-06-03 単一サブブロック・エラーと単一ビット・エラー検出のための符号化方法及びメモリ・システム

Country Status (2)

Country Link
US (1) US5425038A (ja)
JP (1) JP2589957B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956351A (en) * 1997-04-07 1999-09-21 International Business Machines Corporation Dual error correction code
US6307899B1 (en) * 1998-06-16 2001-10-23 Ameritech Corporation Method and system for optimizing coding gain
FR2799592B1 (fr) * 1999-10-12 2003-09-26 Thomson Csf Procede de construction et de codage simple et systematique de codes ldpc
US6920601B1 (en) 2002-04-08 2005-07-19 Sanera Systems Inc. Error correction for data communication
US6968491B1 (en) * 2002-04-08 2005-11-22 Sanera Systems Inc. Generating a check matrix for error correction
US7103818B2 (en) * 2002-09-30 2006-09-05 Mitsubishi Electric Research Laboratories, Inc Transforming generalized parity check matrices for error-correcting codes
US7530008B2 (en) * 2003-08-08 2009-05-05 Sun Microsystems, Inc. Scalable-chip-correct ECC scheme
US7788567B1 (en) 2003-11-18 2010-08-31 Apple Inc. Symbol encoding for tolerance to single byte errors
US7243293B2 (en) * 2003-12-23 2007-07-10 International Business Machines Corporation (18, 9) Error correction code for double error correction and triple error detection
US7171591B2 (en) * 2003-12-23 2007-01-30 International Business Machines Corporation Method and apparatus for encoding special uncorrectable errors in an error correction code
KR100634414B1 (ko) * 2004-09-06 2006-10-16 삼성전자주식회사 에러 검출용 패러티 발생기를 구비한 낸드 플래시 메모리 장치 및 그것의 에러 검출 방법
US7934147B2 (en) * 2005-08-03 2011-04-26 Qualcomm Incorporated Turbo LDPC decoding
US8196025B2 (en) 2005-08-03 2012-06-05 Qualcomm Incorporated Turbo LDPC decoding
WO2007019187A2 (en) * 2005-08-03 2007-02-15 Novowave, Inc. Systems and methods for a turbo low-density parity-check decoder
DE102009031310B4 (de) * 2008-07-24 2019-12-19 Atmel Corp. Speichersystem, Leseverstärker, Verwendung und Verfahren zur Fehlerdetektion mittels Parity-Bits eines Blockcodes
KR20120059806A (ko) * 2010-12-01 2012-06-11 한국전자통신연구원 에러 정정 부호의 생성방법, 복호 방법 및 그 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4464753A (en) * 1981-12-30 1984-08-07 International Business Machines Corporation Two bit symbol SEC/DED code
FR2582888B1 (fr) * 1985-05-30 1987-08-21 Dornstetter Jean Louis Procede de transmission, avec possibilite de correction de paquets d'erreurs, de messages d'information et dispositifs de codage et de decodage pour la mise en oeuvre de ce procede.
JPS6250943A (ja) * 1985-08-30 1987-03-05 Hitachi Ltd 記憶装置
JPS6279530A (ja) * 1985-10-03 1987-04-11 Fujitsu Ltd 誤り訂正・検出装置
US4998253A (en) * 1988-03-11 1991-03-05 Kokusai Denshin Denwa Co., Ltd. Syndrome sequential decoder
FR2646975B1 (fr) * 1989-05-10 1991-08-30 Schlumberger Ind Sa Generateur de donnees numeriques

Also Published As

Publication number Publication date
JPH0736717A (ja) 1995-02-07
US5425038A (en) 1995-06-13

Similar Documents

Publication Publication Date Title
JP4036338B2 (ja) 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置
JP2589957B2 (ja) 単一サブブロック・エラーと単一ビット・エラー検出のための符号化方法及びメモリ・システム
US6675349B1 (en) Error correction coding of data blocks with included parity bits
US7370264B2 (en) H-matrix for error correcting circuitry
US11740960B2 (en) Detection and correction of data bit errors using error correction codes
US4706250A (en) Method and apparatus for correcting multibyte errors having improved two-level code structure
US7278085B1 (en) Simple error-correction codes for data buffers
CA1204874A (en) Multibyte error correcting system involving a two- level code structure
US7996745B2 (en) ECC for single 4-bits symbol correction of 32 symbols words with 21 maximum row weight matrix
US8806295B2 (en) Mis-correction and no-correction rates for error control
JPH0449139B2 (ja)
US5856987A (en) Encoder and decoder for an SEC-DED-S4ED rotational code
US20050188292A1 (en) Method and apparatus for encoding special uncorrectable errors in an error correction code
CN110941505B (zh) 产生错误校正电路的方法
US20050149834A1 (en) (18, 9) Error correction code for double error correction and triple error detection
US6539513B1 (en) Dual functioning symbol error correction code
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
US5754562A (en) Method and apparatus for encoding certain double-error correcting and triple-error detecting codes
US5805615A (en) Method and apparatus for encoding certain double-error correcting and triple-error detecting codes
Namba et al. A single and adjacent error correction code for fast decoding of critical bits
US9520899B2 (en) Method for generating a maximized linear correcting code, method and device for decoding such a code
JP3743915B2 (ja) スポッティバイト誤り訂正・検出方法及び装置
Fujiwara et al. Optimal two-level unequal error control codes for computer systems
EP1724687B1 (en) ECC for single 4-bits symbol correction of 32 symbols words based on a matrix having a maximum row weight of 21
US20240305312A1 (en) Coding circuit and memory device including the same