JPH0736717A - 単一記号エラーと単一ビット・エラー検出のためのエラー訂正方法及び装置 - Google Patents
単一記号エラーと単一ビット・エラー検出のためのエラー訂正方法及び装置Info
- Publication number
- JPH0736717A JPH0736717A JP6122178A JP12217894A JPH0736717A JP H0736717 A JPH0736717 A JP H0736717A JP 6122178 A JP6122178 A JP 6122178A JP 12217894 A JP12217894 A JP 12217894A JP H0736717 A JPH0736717 A JP H0736717A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- code
- parity check
- error
- type
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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/1028—Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic 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)
Abstract
(57)【要約】
【目的】 メモリ・アレイの信頼性を向上する。
【構成】 本発明の好適な実施例によれば、大きなクラ
スのコードに対応するタイプIIの2進パリティ・チェ
ック・マトリクスを、1チップ当たり多重ビット出力ア
ーキテクチャを使用するメモリ・システムにおけるエラ
ー検出及び訂正により好適な、より大きなパリティ・チ
ェック・マトリクスに変換する機構が提供される。より
詳細には、本符号化方法はタイプIIコードで求められ
るよりは少ないが、タイプIコードの場合よりは多いチ
ェック・ビット要求を示すコードを提供する。特に本発
明のコードは、単一記号エラーの全ての組合わせ及び単
一ビット・エラーを検出することができる。更に本発明
のコードはタイプIコードにおける全ての訂正及び検出
特性を示すが、全ての単一記号エラーを訂正可能で、全
てのダブル記号エラーを検出可能なタイプIIコードの
機能または複雑化を生じない。特に、本発明は、ある記
号ビット・グループからの記号エラー及び異なる記号か
らの別のエラーが存在する状況において発生するタイプ
Iコードの弱点を回避する。
スのコードに対応するタイプIIの2進パリティ・チェ
ック・マトリクスを、1チップ当たり多重ビット出力ア
ーキテクチャを使用するメモリ・システムにおけるエラ
ー検出及び訂正により好適な、より大きなパリティ・チ
ェック・マトリクスに変換する機構が提供される。より
詳細には、本符号化方法はタイプIIコードで求められ
るよりは少ないが、タイプIコードの場合よりは多いチ
ェック・ビット要求を示すコードを提供する。特に本発
明のコードは、単一記号エラーの全ての組合わせ及び単
一ビット・エラーを検出することができる。更に本発明
のコードはタイプIコードにおける全ての訂正及び検出
特性を示すが、全ての単一記号エラーを訂正可能で、全
てのダブル記号エラーを検出可能なタイプIIコードの
機能または複雑化を生じない。特に、本発明は、ある記
号ビット・グループからの記号エラー及び異なる記号か
らの別のエラーが存在する状況において発生するタイプ
Iコードの弱点を回避する。
Description
【0001】
【産業上の利用分野】本発明は一般にデジタル・コンピ
ュータ・システムのメモリ・アレイに関連して有用なエ
ラー訂正符号化方法に関する。特に、本発明はメモリ構
成がメモリ・アレイ・ユニットから読出される多重ビッ
トを含む状況に適用される。典型的には、こうしたメモ
リ・アレイ・ユニットは個々の回路チップを含む。
ュータ・システムのメモリ・アレイに関連して有用なエ
ラー訂正符号化方法に関する。特に、本発明はメモリ構
成がメモリ・アレイ・ユニットから読出される多重ビッ
トを含む状況に適用される。典型的には、こうしたメモ
リ・アレイ・ユニットは個々の回路チップを含む。
【0002】
【従来の技術】コンピュータ・メモリ・チップに関連す
るエラー検出及び訂正機構は、チップ回路密度が増加す
るにつれ一層普及し、また望まれつつある。現在及び将
来における一層の回路密度の増加は、様々な種類のメモ
リ・エラーの発生状況を生じる。これらのエラーはα粒
子放射または他の放射により典型的に引起こされる "ソ
フト" 的なエラーと、ハード・メモリ故障状態の両方を
含む。両方のこれらの種類のエラーは、エラー指示とな
る。メモリ・システムにおけるこれらのエラー・リスク
の増加により、メモリ・アレイ構造に記憶されるデータ
の保全性及び信頼性を維持する試みがより重要となって
いる。これは特に、高密度半導体回路チップ・デバイス
にもとづくメモリ・システムにおいて言えることであ
る。
るエラー検出及び訂正機構は、チップ回路密度が増加す
るにつれ一層普及し、また望まれつつある。現在及び将
来における一層の回路密度の増加は、様々な種類のメモ
リ・エラーの発生状況を生じる。これらのエラーはα粒
子放射または他の放射により典型的に引起こされる "ソ
フト" 的なエラーと、ハード・メモリ故障状態の両方を
含む。両方のこれらの種類のエラーは、エラー指示とな
る。メモリ・システムにおけるこれらのエラー・リスク
の増加により、メモリ・アレイ構造に記憶されるデータ
の保全性及び信頼性を維持する試みがより重要となって
いる。これは特に、高密度半導体回路チップ・デバイス
にもとづくメモリ・システムにおいて言えることであ
る。
【0003】メモリ密度は個々の回路チップ上に配置さ
れるメモリ・セル数を増加したため、単一ビットの情報
よりも多くの情報が1度に任意のメモリ・チップから提
供されるコンピュータ・メモリ・システムの構成がしば
しば望まれる。従って、1チップ当たり多重ビットのメ
モリ・システムがより普及しつつある。こうした状況に
おいて、多重ビットが"記号(symbol)"を表すものと見
なすことがしばしば望ましい。1チップ当たり4ビット
のモジュールを基本とする64ビット幅のメモリでは、
出力は16個の4ビット"記号チャンク(symbol chunk
s)" として供給されるものと見なされる。
れるメモリ・セル数を増加したため、単一ビットの情報
よりも多くの情報が1度に任意のメモリ・チップから提
供されるコンピュータ・メモリ・システムの構成がしば
しば望まれる。従って、1チップ当たり多重ビットのメ
モリ・システムがより普及しつつある。こうした状況に
おいて、多重ビットが"記号(symbol)"を表すものと見
なすことがしばしば望ましい。1チップ当たり4ビット
のモジュールを基本とする64ビット幅のメモリでは、
出力は16個の4ビット"記号チャンク(symbol chunk
s)" として供給されるものと見なされる。
【0004】従来、エラー訂正及び検出方法がメモリ回
路及びメモリ構造に適用される場合、符号化方法は一般
にタイプI及びタイプIIの2つの一般的カテゴリに分
類された。タイプIコードでは、コードが全ての単一エ
ラーを訂正可能で、全てのダブル・ビット・エラーを検
出可能で、また全ての単一記号エラーを検出可能なよう
に、符号化及び複合化機構が構成される。ここで記号エ
ラーは1チップ当たりbビットのメモリ・システムから
の最大bビットのエラーである。こうしたコードはここ
ではタイプIコードと呼ばれる。一方、タイプIIコー
ドはタイプIコードが可能な全てのことを実行可能であ
るが、更に全ての単一記号エラーの訂正、及び全てのダ
ブル記号エラーの検出が可能である。
路及びメモリ構造に適用される場合、符号化方法は一般
にタイプI及びタイプIIの2つの一般的カテゴリに分
類された。タイプIコードでは、コードが全ての単一エ
ラーを訂正可能で、全てのダブル・ビット・エラーを検
出可能で、また全ての単一記号エラーを検出可能なよう
に、符号化及び複合化機構が構成される。ここで記号エ
ラーは1チップ当たりbビットのメモリ・システムから
の最大bビットのエラーである。こうしたコードはここ
ではタイプIコードと呼ばれる。一方、タイプIIコー
ドはタイプIコードが可能な全てのことを実行可能であ
るが、更に全ての単一記号エラーの訂正、及び全てのダ
ブル記号エラーの検出が可能である。
【0005】このように、タイプIコードでは、単一ビ
ット内で発生する全てのエラーを訂正し、2ビット位置
内において発生する全てのエラーを検出し、またエラー
がbビットの単一のセット内で発生する限り、全てのエ
ラーを検出する機能を有する。それに対し、タイプII
コードでは、単一記号内で発生する全てのエラーを訂正
し、また2つの別々の記号内で発生する全てのエラーを
検出することができる。
ット内で発生する全てのエラーを訂正し、2ビット位置
内において発生する全てのエラーを検出し、またエラー
がbビットの単一のセット内で発生する限り、全てのエ
ラーを検出する機能を有する。それに対し、タイプII
コードでは、単一記号内で発生する全てのエラーを訂正
し、また2つの別々の記号内で発生する全てのエラーを
検出することができる。
【0006】しかしながら、タイプIコードとタイプI
Iコードとの中間の機能を有する第3のタイプのコード
が必要とされる。こうしたコードはここではタイプII
Iコードと呼ばれる。従って、こうしたコードは単一ビ
ット位置内の全てのエラーを訂正し、2ビット位置内の
全てのエラーを検出し、単一記号(bビット)内で発生
する全てのエラーを検出し、更に単一記号エラーの全て
の組合わせ及び別のあるビット位置におけるエラーを検
出することが可能である。従って、ここで定義されるタ
イプIIIコードは、単一記号エラーとある他のビット
位置におけるエラーとの全ての組合わせを検出すること
ができる。それに対し、完全なタイプIIコードは、全
ての単一記号エラーを訂正し、全てのダブル記号エラー
を検出することができる。
Iコードとの中間の機能を有する第3のタイプのコード
が必要とされる。こうしたコードはここではタイプII
Iコードと呼ばれる。従って、こうしたコードは単一ビ
ット位置内の全てのエラーを訂正し、2ビット位置内の
全てのエラーを検出し、単一記号(bビット)内で発生
する全てのエラーを検出し、更に単一記号エラーの全て
の組合わせ及び別のあるビット位置におけるエラーを検
出することが可能である。従って、ここで定義されるタ
イプIIIコードは、単一記号エラーとある他のビット
位置におけるエラーとの全ての組合わせを検出すること
ができる。それに対し、完全なタイプIIコードは、全
ての単一記号エラーを訂正し、全てのダブル記号エラー
を検出することができる。
【0007】タイプIIIコードはECC設計者に従来
なかった有力で柔軟なツールを提供するため、こうした
タイプのコードを利用する機能を有することが重要であ
る。特に、タイプIIIコードの存在は、コード設計者
に対し、従来使用可能でなかった技術的判断選択を提供
する。コード設計者、及びメモリ回路保護分野のコード
設計者にとって、タイプIコードは実施することは安価
ではあるが、メモリ・システムにおいて期待される程度
のエラー訂正及び検出を必ずしも提供しない。これは特
に、マルチユーザ環境がデータ保全性を一層クリティカ
ルなものとする大規模メインフレーム・コンピュータで
使用されるメモリ・システムにおいて言えることであ
る。同様にメモリ保護分野に従事するコード設計者にと
って、タイプIIコード化方法は、エラー訂正及び検出
機能を多大に向上するが、それにも関わらず、好適な量
のメモリ・チップ"資源(real estate)" よりも多くを
使用する複雑な回路を必要とする。更に、上述の議論か
ら、多重ビット・メモリ・アーキテクチャに大きく依存
して、あるビット位置における別の単一エラーと一緒
に、単一記号エラーの全ての組合わせを検出する機能が
極めて有利となることが理解される。要するに上述の議
論から、タイプIIIエラー訂正符号化方法が多重ビッ
ト・メモリ・アーキテクチャに特に好適であることが理
解される。
なかった有力で柔軟なツールを提供するため、こうした
タイプのコードを利用する機能を有することが重要であ
る。特に、タイプIIIコードの存在は、コード設計者
に対し、従来使用可能でなかった技術的判断選択を提供
する。コード設計者、及びメモリ回路保護分野のコード
設計者にとって、タイプIコードは実施することは安価
ではあるが、メモリ・システムにおいて期待される程度
のエラー訂正及び検出を必ずしも提供しない。これは特
に、マルチユーザ環境がデータ保全性を一層クリティカ
ルなものとする大規模メインフレーム・コンピュータで
使用されるメモリ・システムにおいて言えることであ
る。同様にメモリ保護分野に従事するコード設計者にと
って、タイプIIコード化方法は、エラー訂正及び検出
機能を多大に向上するが、それにも関わらず、好適な量
のメモリ・チップ"資源(real estate)" よりも多くを
使用する複雑な回路を必要とする。更に、上述の議論か
ら、多重ビット・メモリ・アーキテクチャに大きく依存
して、あるビット位置における別の単一エラーと一緒
に、単一記号エラーの全ての組合わせを検出する機能が
極めて有利となることが理解される。要するに上述の議
論から、タイプIIIエラー訂正符号化方法が多重ビッ
ト・メモリ・アーキテクチャに特に好適であることが理
解される。
【0008】
【発明が解決しようとする課題】本発明の目的は、メモ
リ・アレイの信頼性を向上することである。
リ・アレイの信頼性を向上することである。
【0009】本発明の別の目的は、複雑性及びコストの
点で、タイプIコードとタイプIIコードの中間に位置
する2進情報のための符号化方法を提供することであ
る。
点で、タイプIコードとタイプIIコードの中間に位置
する2進情報のための符号化方法を提供することであ
る。
【0010】更に本発明の別の目的は、出力記号がbビ
ットのチャンクにグループ化されるメモリ・アレイ構造
に特に好適なエラー訂正符号化方法を使用することであ
る。
ットのチャンクにグループ化されるメモリ・アレイ構造
に特に好適なエラー訂正符号化方法を使用することであ
る。
【0011】更に本発明の別の目的は、Reed-Solomonコ
ードの特性を改良することである。
ードの特性を改良することである。
【0012】更に本発明の別の目的は、タイプIIIコ
ードにもとづくエラー訂正及び検出方法を提供すること
である。
ードにもとづくエラー訂正及び検出方法を提供すること
である。
【0013】最後に本発明の目的は、単一記号エラーの
全ての組合わせを検出し、同時に、別のコードワード内
で発生する単一ビット・エラーを検出することである。
全ての組合わせを検出し、同時に、別のコードワード内
で発生する単一ビット・エラーを検出することである。
【0014】
【課題を解決するための手段】本発明の好適な実施例に
よれば、Nビットのブロック内で発生し、各々がMビッ
トのS個のサブブロックに更に分割される2進データを
符号化する方法が提供される。本方法はこれらのNビッ
トのデータを、特定のパリティ・チェック・マトリクス
Hにより決定されるパリティ・チェック条件に掛けるス
テップを含む。このマトリクスは別の特定の2進マトリ
クスH* から導出される。特に、マトリクスH* はタイ
プIIコードに対応するパリティ・チェック・マトリク
スを表し、ここでは第1行がM×M識別マトリクスをS
列含み、マトリクスH* の他の行はM×Mゼロ・マトリ
クス、M×M識別マトリクス、及びM×MマトリクスT
iを含む。ここでiは負でない指数を示し、TはGalois
Field GF(2) 上の原始多項式p(x)に関連する
コンパニオン・マトリクスである。本発明の2進パリテ
ィ・チェック・マトリクスHが導出されるこのH* マト
リクスは、M×MサブマトリクスによるP行及びS列を
含み、このサブマトリクスの第1行は識別マトリクスで
ある。
よれば、Nビットのブロック内で発生し、各々がMビッ
トのS個のサブブロックに更に分割される2進データを
符号化する方法が提供される。本方法はこれらのNビッ
トのデータを、特定のパリティ・チェック・マトリクス
Hにより決定されるパリティ・チェック条件に掛けるス
テップを含む。このマトリクスは別の特定の2進マトリ
クスH* から導出される。特に、マトリクスH* はタイ
プIIコードに対応するパリティ・チェック・マトリク
スを表し、ここでは第1行がM×M識別マトリクスをS
列含み、マトリクスH* の他の行はM×Mゼロ・マトリ
クス、M×M識別マトリクス、及びM×MマトリクスT
iを含む。ここでiは負でない指数を示し、TはGalois
Field GF(2) 上の原始多項式p(x)に関連する
コンパニオン・マトリクスである。本発明の2進パリテ
ィ・チェック・マトリクスHが導出されるこのH* マト
リクスは、M×MサブマトリクスによるP行及びS列を
含み、このサブマトリクスの第1行は識別マトリクスで
ある。
【0015】本発明によれば、所望のパリティ・チェッ
ク・マトリクスHは、サブマトリクスの第1行内のM×
M識別マトリクスをb×b識別マトリクスにより置換し
(ここでM+1≦b<2M−1) 、M×Mゼロ・マトリ
クスをM×bゼロ・マトリクスにより置換し、最後にM
×MマトリクスTiをTiマトリクスに列を追加したM×
b増補マトリクスにより置換することにより、H* マト
リクスから導出される。ここで増補マトリクスの各追加
列はあるj(1≦j≦b)に対する多項式xjモジュロ
p(x)のベクトルである。既知の符号化方法によれ
ば、p(x)は2進数領域における原始2進多項式であ
る。所望のパリティ・チェック・マトリクスHの結果
は、Sb列及びMp+(b−M)行を有するマトリクス
である。このようにマトリクスHはマトリクスH* に対
し、(b−M)S列及び(b−M)行を追加される。こ
こで述べられるタイプIIIコードの追加機能は、これ
らの追加された要素に起因する。
ク・マトリクスHは、サブマトリクスの第1行内のM×
M識別マトリクスをb×b識別マトリクスにより置換し
(ここでM+1≦b<2M−1) 、M×Mゼロ・マトリ
クスをM×bゼロ・マトリクスにより置換し、最後にM
×MマトリクスTiをTiマトリクスに列を追加したM×
b増補マトリクスにより置換することにより、H* マト
リクスから導出される。ここで増補マトリクスの各追加
列はあるj(1≦j≦b)に対する多項式xjモジュロ
p(x)のベクトルである。既知の符号化方法によれ
ば、p(x)は2進数領域における原始2進多項式であ
る。所望のパリティ・チェック・マトリクスHの結果
は、Sb列及びMp+(b−M)行を有するマトリクス
である。このようにマトリクスHはマトリクスH* に対
し、(b−M)S列及び(b−M)行を追加される。こ
こで述べられるタイプIIIコードの追加機能は、これ
らの追加された要素に起因する。
【0016】述べられるコードの所望される利点の1つ
は、復号化の容易性である。特に、入力コード・ベクト
ル及びパリティ・チェック・マトリクスから計算される
シンドロームは、オール0のベクトルであり、エラー指
示は提供されない。しかしながら、シンドロームがオー
ル0のベクトルでない場合には、シンドロームはマトリ
クスHの全てのSb列に対応する列ベクトルiと比較さ
れる。シンドロームが丁度Hの列iと同一の場合、コー
ドワードのビットiがエラーであり、それによりビット
iがビット反転により訂正される。従って、訂正回路は
典型的には、その出力部分に条件インバータまたは排他
的論理和ゲートを含む。更に、非ヌルのシンドロームが
Hのどの列にも一致しないことがわかると、訂正不能な
エラーがメモリ・アレイから受信されたコードワード内
に存在する指示が提供される。
は、復号化の容易性である。特に、入力コード・ベクト
ル及びパリティ・チェック・マトリクスから計算される
シンドロームは、オール0のベクトルであり、エラー指
示は提供されない。しかしながら、シンドロームがオー
ル0のベクトルでない場合には、シンドロームはマトリ
クスHの全てのSb列に対応する列ベクトルiと比較さ
れる。シンドロームが丁度Hの列iと同一の場合、コー
ドワードのビットiがエラーであり、それによりビット
iがビット反転により訂正される。従って、訂正回路は
典型的には、その出力部分に条件インバータまたは排他
的論理和ゲートを含む。更に、非ヌルのシンドロームが
Hのどの列にも一致しないことがわかると、訂正不能な
エラーがメモリ・アレイから受信されたコードワード内
に存在する指示が提供される。
【0017】
【実施例】本発明の理解のために、タイプIIIコード
の構成は、その構成に関し、小記号サイズの任意のタイ
プIIコードから展開される。エラー訂正コードの設計
において使用される既知の記述に従い、(N、K)コー
ドはコード・ベクトルの長さを表すNビット、及びコー
ド内に存在する合計Kビットの情報を有するコードであ
る。こうしたコードは典型的にはN列及びN−K行のパ
リティ・チェック・マトリクスを有する。N−Kは有効
なチェック・ビット数を表す。特に、1記号当たり3ビ
ットの記号サイズを有する(30合計ビット、21情報
ビット、9チェック・ビット)の(30、21)タイプ
IIコードが、1記号当たり4ビットの記号サイズを有
する(40、30)タイプIIIコードに変換される。
しかしながら、チェック・ビット及び情報ビットの概念
は、厳密には、パリティ・チェック・マトリクスが縮小
された梯形形式(echelon form)で表現される。すなわ
ち先行識別マトリクスをその最左端列に有する。しかし
ながら、識別マトリクスをパリティ・チェック・マトリ
クスの様々な列に分散することも可能である。コードま
たはその実施の特性に影響することなく、パリティ・チ
ェック・マトリクス内のこうした入替えは、単にコード
内のビット位置の異なるマッピングに対応する。
の構成は、その構成に関し、小記号サイズの任意のタイ
プIIコードから展開される。エラー訂正コードの設計
において使用される既知の記述に従い、(N、K)コー
ドはコード・ベクトルの長さを表すNビット、及びコー
ド内に存在する合計Kビットの情報を有するコードであ
る。こうしたコードは典型的にはN列及びN−K行のパ
リティ・チェック・マトリクスを有する。N−Kは有効
なチェック・ビット数を表す。特に、1記号当たり3ビ
ットの記号サイズを有する(30合計ビット、21情報
ビット、9チェック・ビット)の(30、21)タイプ
IIコードが、1記号当たり4ビットの記号サイズを有
する(40、30)タイプIIIコードに変換される。
しかしながら、チェック・ビット及び情報ビットの概念
は、厳密には、パリティ・チェック・マトリクスが縮小
された梯形形式(echelon form)で表現される。すなわ
ち先行識別マトリクスをその最左端列に有する。しかし
ながら、識別マトリクスをパリティ・チェック・マトリ
クスの様々な列に分散することも可能である。コードま
たはその実施の特性に影響することなく、パリティ・チ
ェック・マトリクス内のこうした入替えは、単にコード
内のビット位置の異なるマッピングに対応する。
【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 の係数に相当する。
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記号当たりSビット
による合計M個の記号が存在し、合計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コードとして一般的に記述することができ
る。
結果、このコードのパリティ・チェック・マトリクスは
S個のサブマトリクスの列を含み、各サブ列はM×Mマ
トリクスである。この構成では、1記号当たりSビット
による合計M個の記号が存在し、合計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個の識別マトリクス
が1つ増加され、b×b識別サブマトリクスを形成する
(図5参照)。ここでbはMよりも大きな整数であり、
2M −1よりも小さな整数である。従って、使用される
構成手順により、コード・ベクトル成分の数が(b−
M)Sだけ増加される。この例では、S=10は元のコ
ード内の記号の数に対応する。
形式のタイプIIコードが変更され、タイプIIIコー
ドを記述する新たなパリティ・チェック・マトリクスを
生成する。特にHIIの第1行内のS個の識別マトリクス
が1つ増加され、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)により除算さ
れ、対応する剰余多項式が生成されることを意味する。
この剰余多項式の係数は、前述のように、増補Ti マト
リクス(図6のAUG(Ti ))のセットを生成するた
めに使用される。構成されるタイプIIIコードに対応
して、マトリクスTの増補が図6に示されるように発生
し、増補は上述の意味において記号"AUG"により示さ
れる。また、本発明のコード生成アプローチでは、混乱
を回避するため、M×MマトリクスT0 はここでは一般
にM×M識別マトリクスとして定義される。
元々与えられるタイプ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)により除算さ
れ、対応する剰余多項式が生成されることを意味する。
この剰余多項式の係数は、前述のように、増補Ti マト
リクス(図6のAUG(Ti ))のセットを生成するた
めに使用される。構成されるタイプIIIコードに対応
して、マトリクスTの増補が図6に示されるように発生
し、増補は上述の意味において記号"AUG"により示さ
れる。また、本発明のコード生成アプローチでは、混乱
を回避するため、M×MマトリクスT0 はここでは一般
にM×M識別マトリクスとして定義される。
【0022】本発明により実行される一般的な生成方法
によれば、(M×M)サブマトリクスのS列及びP行を
有するタイプIIパリティ・チェック・マトリクスが、
Sb列及びMP+(b−M)行の2進フィールド要素を
有するマトリクスに変換される。これらの行及び列は第
1行の形式で発生し、b×b識別マトリクスがS列に配
列される。ほぼ同様に、他の(P−1)行のサブマトリ
クスがM×bサブマトリクスに変換され、増補(列数の
M乃至M+1への増補)が上述のように実行される。従
って、本発明で実行される変換により、N=SM列及び
PM=(N−K)行のマトリクスが、Sb列及びMP+
(b−M)行を有するタイプIIIコードに対応するパ
リティ・チェック・マトリクスに変換される。これが図
5に表される。
によれば、(M×M)サブマトリクスのS列及びP行を
有するタイプIIパリティ・チェック・マトリクスが、
Sb列及びMP+(b−M)行の2進フィールド要素を
有するマトリクスに変換される。これらの行及び列は第
1行の形式で発生し、b×b識別マトリクスがS列に配
列される。ほぼ同様に、他の(P−1)行のサブマトリ
クスがM×bサブマトリクスに変換され、増補(列数の
M乃至M+1への増補)が上述のように実行される。従
って、本発明で実行される変換により、N=SM列及び
PM=(N−K)行のマトリクスが、Sb列及びMP+
(b−M)行を有するタイプIIIコードに対応するパ
リティ・チェック・マトリクスに変換される。これが図
5に表される。
【0023】この変換例から生じるパリティ・チェック
・マトリクスが、その2進形式により図7に示され、H
III '' として定義される。これは40=10×4列、及
び10=4+(3−1)×3=3×3+(4−3)行の
マトリクスである。図7の破線は説明の都合上描かれて
おり、特に全体的なパリティ・チェック・マトリクスを
構成するサブマトリクスを詳細に示すことを目的とす
る。このマトリクスは図8に示されるマトリクスHopt
を形成するために、更に行オペレーションにより変換さ
れる。
・マトリクスが、その2進形式により図7に示され、H
III '' として定義される。これは40=10×4列、及
び10=4+(3−1)×3=3×3+(4−3)行の
マトリクスである。図7の破線は説明の都合上描かれて
おり、特に全体的なパリティ・チェック・マトリクスを
構成するサブマトリクスを詳細に示すことを目的とす
る。このマトリクスは図8に示されるマトリクスHopt
を形成するために、更に行オペレーションにより変換さ
れる。
【0024】タイプIIIコードのチェック・ビット及
びシンドローム・ビットは、パリティ・チェック・マト
リクスの行ベクトルにより指定されるデータ・ビットに
対する排他的論理和演算により生成される。これは他の
タイプの2進コードに対して実行される正則手順と同じ
である。
びシンドローム・ビットは、パリティ・チェック・マト
リクスの行ベクトルにより指定されるデータ・ビットに
対する排他的論理和演算により生成される。これは他の
タイプの2進コードに対して実行される正則手順と同じ
である。
【0025】本発明の特徴の1つは、復号化の実行の相
対的な容易性である。特に、シンドローム・ビットが生
成されると(図10のステップ10参照)、次にシンド
ロームがヌルかどうかが判断される(ステップ20)。
すなわち、オール0のベクトルかどうかがチェックされ
る。肯定の場合、エラー指示は提供されず(ステップ3
0)、受信される入力シーケンスが正しいシーケンスの
ビットとして解釈される。
対的な容易性である。特に、シンドローム・ビットが生
成されると(図10のステップ10参照)、次にシンド
ロームがヌルかどうかが判断される(ステップ20)。
すなわち、オール0のベクトルかどうかがチェックされ
る。肯定の場合、エラー指示は提供されず(ステップ3
0)、受信される入力シーケンスが正しいシーケンスの
ビットとして解釈される。
【0026】しかしながら、シンドローム・ビットがヌ
ルでない場合には、シンドロームがパリティ・チェック
・マトリクスの全ての列ベクトルと比較される(ステッ
プ40)。次にパリティ・チェック・マトリクスの任意
の列がシンドロームに一致するかどうかが判断される
(ステップ50)。一致が存在しない場合、訂正不能な
エラーが発生しており、この状況を示す信号が好適には
提供される(ステップ60)。一致する列が見い出され
ると、訂正されたシーケンスを提供するために、対応す
る一致列のビットが反転される(ステップ70)。しか
しながら、この訂正機能は単一ビット・エラーを訂正す
るまでに限られる。それにも関わらず、エラー訂正機能
は上述のタイプIIIコードの機能である。
ルでない場合には、シンドロームがパリティ・チェック
・マトリクスの全ての列ベクトルと比較される(ステッ
プ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)が発生したことを示したりする。
メモリ・アレイ構造に関連する好適な実施例において利
用する場合を示す。典型的には、こうしたメモリ・アレ
イ構造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に供
給される。肯定の場合、続く処理の結果発生する反転を
禁止するために、ヌル信号標識が(条件)インバータ1
50に供給される。シンドロームがヌルでない場合、比
較回路140は処理される信号シーケンス内の対応する
一致位置を決定するために、タイプIII符号化パリテ
ィ・チェック・マトリクスの列をシンドロームと比較す
る。一致すると見い出される列に対し、対応する信号が
条件インバータ150に供給される。インバータは典型
的には別の排他的論理和ゲートのアレイを含む。こうし
たゲートは"排他的論理和ゲート"として述べられるが、
条件反転機能を実行する。エラー訂正オペレーション
は、出力ラッチ15からのビット・シーケンスの条件反
転により実行される。それにも関わらず、シンドローム
・テスタ120からのヌル信号は、エラーが発生せずシ
ンドロームがヌルの状況において、列一致信号の供給を
禁止するために使用される。これは典型的な状況であ
る。更に、訂正不能エラー信号を提供するように動作す
る過剰一致テスタ130も提供される。これは例えば、
シンドロームに一致することが見い出される列数が、こ
こで述べられるタイプIII符号化機能の限界を越える
場合に発生する。また、シンドローム・テスタ120か
ら過剰一致テスタ130にヌル信号標識を供給すること
により、訂正不能エラー信号の生成を禁止することが可
能である。
12により詳細に表される。特に、メモリ・ラッチ15
からの出力信号が、シンドローム発生器110に供給さ
れる。この生成を実行する特定の回路はECC技術では
既知であるため、ここではそれらについて説明しない。
シンドロームはそれがヌル(すなわちオール0)かどう
かを判断するために、シンドローム・テスタ120に供
給される。肯定の場合、続く処理の結果発生する反転を
禁止するために、ヌル信号標識が(条件)インバータ1
50に供給される。シンドロームがヌルでない場合、比
較回路140は処理される信号シーケンス内の対応する
一致位置を決定するために、タイプIII符号化パリテ
ィ・チェック・マトリクスの列をシンドロームと比較す
る。一致すると見い出される列に対し、対応する信号が
条件インバータ150に供給される。インバータは典型
的には別の排他的論理和ゲートのアレイを含む。こうし
たゲートは"排他的論理和ゲート"として述べられるが、
条件反転機能を実行する。エラー訂正オペレーション
は、出力ラッチ15からのビット・シーケンスの条件反
転により実行される。それにも関わらず、シンドローム
・テスタ120からのヌル信号は、エラーが発生せずシ
ンドロームがヌルの状況において、列一致信号の供給を
禁止するために使用される。これは典型的な状況であ
る。更に、訂正不能エラー信号を提供するように動作す
る過剰一致テスタ130も提供される。これは例えば、
シンドロームに一致することが見い出される列数が、こ
こで述べられるタイプIII符号化機能の限界を越える
場合に発生する。また、シンドローム・テスタ120か
ら過剰一致テスタ130にヌル信号標識を供給すること
により、訂正不能エラー信号の生成を禁止することが可
能である。
【0029】上述から、有益なエラー訂正機構が一般に
提供され、特に、例えばチップなどのメモリ・アレイ構
造からの多重ビットの読出しが存在する半導体メモリ・
システムまたは他のメモリ・システムに従事するメモリ
・システム設計者に提供される。特に、本発明は単一記
号エラーの全ての組合わせを、別の記号内の単一ビット
・エラーと一緒に実際に検出可能な符号化方法を提供す
ることが理解されよう。更に、本発明はタイプIIIコ
ード(ここではこのように定義される)を提供し、これ
はタイプIコードに対する要求よりも多いが、タイプI
Iコードに対する要求よりは少ないチェック・ビット要
求を有する。例えば、1記号当たりb=8ビットの12
8データ・ビットに対し要求されるチェック・ビットの
最小数は、タイプIコードでは11ビットであり、タイ
プIIコードでは24ビットである。しかしながら、本
発明によるタイプIIIコードは16チェック・ビット
しか要求しない。従って、メモリ・システム設計者は貴
重な設計のトレード・オフ機構を提供される。更に、こ
のトレード・オフ機構は、単一チップから複数ビットを
読出すメモリ・システムにおいて特に有益である。従っ
て、ここで述べられるコードは、多重ビット読出しメモ
リ・システムにおいて見られる故障メカニズムに適応す
るエラー検出及び訂正機能を提供する点で、有益な利点
を提供する。
提供され、特に、例えばチップなどのメモリ・アレイ構
造からの多重ビットの読出しが存在する半導体メモリ・
システムまたは他のメモリ・システムに従事するメモリ
・システム設計者に提供される。特に、本発明は単一記
号エラーの全ての組合わせを、別の記号内の単一ビット
・エラーと一緒に実際に検出可能な符号化方法を提供す
ることが理解されよう。更に、本発明はタイプIIIコ
ード(ここではこのように定義される)を提供し、これ
はタイプIコードに対する要求よりも多いが、タイプI
Iコードに対する要求よりは少ないチェック・ビット要
求を有する。例えば、1記号当たりb=8ビットの12
8データ・ビットに対し要求されるチェック・ビットの
最小数は、タイプIコードでは11ビットであり、タイ
プIIコードでは24ビットである。しかしながら、本
発明によるタイプIIIコードは16チェック・ビット
しか要求しない。従って、メモリ・システム設計者は貴
重な設計のトレード・オフ機構を提供される。更に、こ
のトレード・オフ機構は、単一チップから複数ビットを
読出すメモリ・システムにおいて特に有益である。従っ
て、ここで述べられるコードは、多重ビット読出しメモ
リ・システムにおいて見られる故障メカニズムに適応す
るエラー検出及び訂正機能を提供する点で、有益な利点
を提供する。
【0030】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)各々がMビットのS個のサブブロックを有するN
ビットのブロック内で発生する2進データの符号化方法
であって、前記Nビット・データを2進パリティ・チェ
ック・マトリクスHにより決定されるパリティ・チェッ
ク条件に掛けるステップを含み、マトリクスHを2進マ
トリクスH* から導出し、前記マトリクスH* はタイプ
IIコードを表し、M×MサブマトリクスをP行及びS
列に配列し、前記P行の第1行がM×M識別マトリクス
であり、他の行のM×MマトリクスはM×Mゼロ・マト
リクス、M×M識別マトリクス及びM×MマトリクスT
i を含み、ここでiは負でない指数を示し、TはGF
(2).上のM次の原始2進多項式p(x)に関連する
コンパニオン・マトリクスであり、前記Hマトリクスを
Sb列及びMP+(b−M)行を有するマトリクスを生
成するために前記H* マトリクスから導出するステップ
であって、前記導出ステップが、前記マトリクスの前記
第1行内のM×M識別マトリクスをb×b識別マトリク
スにより置換するステップと、前記M×Mゼロ・マトリ
クスをM×bゼロ・マトリクスにより置換するステップ
と、前記M×MマトリクスTi をM×b増補マトリクス
により置換するステップとを含み、j番目列は多項式X
i+j-1 モジュロp(x)のベクトルである、前記導出ス
テップとを含む方法。 (2)N=30、S=10、及びM=3である、前記
(1)に記載の方法。 (3)前記原始2進多項式p(x)=1+X+X3であ
る、前記(1)に記載の方法。 (4)前記コンパニオン・マトリクスTが、
の事項を開示する。 (1)各々がMビットのS個のサブブロックを有するN
ビットのブロック内で発生する2進データの符号化方法
であって、前記Nビット・データを2進パリティ・チェ
ック・マトリクスHにより決定されるパリティ・チェッ
ク条件に掛けるステップを含み、マトリクスHを2進マ
トリクスH* から導出し、前記マトリクスH* はタイプ
IIコードを表し、M×MサブマトリクスをP行及びS
列に配列し、前記P行の第1行がM×M識別マトリクス
であり、他の行のM×MマトリクスはM×Mゼロ・マト
リクス、M×M識別マトリクス及びM×MマトリクスT
i を含み、ここでiは負でない指数を示し、TはGF
(2).上のM次の原始2進多項式p(x)に関連する
コンパニオン・マトリクスであり、前記Hマトリクスを
Sb列及びMP+(b−M)行を有するマトリクスを生
成するために前記H* マトリクスから導出するステップ
であって、前記導出ステップが、前記マトリクスの前記
第1行内のM×M識別マトリクスをb×b識別マトリク
スにより置換するステップと、前記M×Mゼロ・マトリ
クスをM×bゼロ・マトリクスにより置換するステップ
と、前記M×MマトリクスTi をM×b増補マトリクス
により置換するステップとを含み、j番目列は多項式X
i+j-1 モジュロp(x)のベクトルである、前記導出ス
テップとを含む方法。 (2)N=30、S=10、及びM=3である、前記
(1)に記載の方法。 (3)前記原始2進多項式p(x)=1+X+X3であ
る、前記(1)に記載の方法。 (4)前記コンパニオン・マトリクスTが、
【数2】 である、前記(1)に記載の方法。 (5)前記2進パリティ・チェック・マトリクスが図7
に示されるマトリクスである、前記(1)に記載の方
法。 (6)前記マトリクスHがマトリクスを縮小梯形形式
(reduced echelon form)により配置する行オペレーシ
ョンにより変更される、前記(1)に記載の方法。 (7)エラー訂正及び検出機能を向上するために第1ポ
イントから第2ポイントにデジタル情報を伝送する方法
であって、前記方法が第1の複数(K)の情報ビット及
び第2の複数(N−K)のチェック・ビットを表す入力
電気信号を伝送するステップを含み、前記信号がN倍長
2進ベクトルと見なされる時、前記ベクトルがタイプI
IIコードに対応するパリティ・チェック・マトリクス
である(N−K)×Nのパリティ・チェック・マトリク
スHのヌル空間に配置されるように、前記信号が生成さ
れる方法。 (8)前記パリティ・チェック・マトリクスHが図7に
示されるマトリクスである、前記(7)に記載の方法。 (9)各々が指定アドレスに応答してメモリ内容を示す
bビット幅の信号を生成する、個別のメモリ素子のアレ
イと、前記メモリ・アレイから前記Sb信号を受信し、
タイプIII要求によりエラーを訂正及び検出する、タ
イプIIIエラー訂正コード手段とを含む、メモリ・シ
ステム。 (10)タイプIIIパリティ・チェック・マトリクス
により符号化された受信された2進シーケンス内のエラ
ーを訂正及び検出する方法であって、シンドローム・ベ
クトルを生成するステップと、シンドロームがヌルかど
うかを判断するステップと、前記シンドロームがヌルで
ない時、前記シンドロームを前記タイプIIIパリティ
・チェック・マトリクスの列と比較するステップと、前
記比較の結果一致する列に対応する前記受信シーケンス
内のビットを反転するステップと、を含む方法。 (11)前記比較の結果一致する列が存在しない場合、
訂正不能エラー信号を供給するステップを含む、前記
(10)に記載の方法。 (12)タイプIIIパリティ・チェック・マトリクス
により符号化された受信された2進シーケンス内のエラ
ーを訂正及び検出する装置であって、シンドローム・ベ
クトル発生器と、前記発生シンドロームがヌルかどうか
を判断する手段と、前記非ヌルのシンドロームを前記タ
イプIIIパリティ・チェック・マトリクスの列と比較
する比較手段と、前記比較手段により提供される一致列
の指示に対応する前記受信シーケンス内のビットを反転
する反転手段と、を含む装置。 (13)前記シンドロームがヌルでなく、前記比較手段
が列一致指示を提供しない場合、訂正不能エラー状態を
提供する手段を含む、前記(12)に記載の装置。
に示されるマトリクスである、前記(1)に記載の方
法。 (6)前記マトリクスHがマトリクスを縮小梯形形式
(reduced echelon form)により配置する行オペレーシ
ョンにより変更される、前記(1)に記載の方法。 (7)エラー訂正及び検出機能を向上するために第1ポ
イントから第2ポイントにデジタル情報を伝送する方法
であって、前記方法が第1の複数(K)の情報ビット及
び第2の複数(N−K)のチェック・ビットを表す入力
電気信号を伝送するステップを含み、前記信号がN倍長
2進ベクトルと見なされる時、前記ベクトルがタイプI
IIコードに対応するパリティ・チェック・マトリクス
である(N−K)×Nのパリティ・チェック・マトリク
スHのヌル空間に配置されるように、前記信号が生成さ
れる方法。 (8)前記パリティ・チェック・マトリクスHが図7に
示されるマトリクスである、前記(7)に記載の方法。 (9)各々が指定アドレスに応答してメモリ内容を示す
bビット幅の信号を生成する、個別のメモリ素子のアレ
イと、前記メモリ・アレイから前記Sb信号を受信し、
タイプIII要求によりエラーを訂正及び検出する、タ
イプIIIエラー訂正コード手段とを含む、メモリ・シ
ステム。 (10)タイプIIIパリティ・チェック・マトリクス
により符号化された受信された2進シーケンス内のエラ
ーを訂正及び検出する方法であって、シンドローム・ベ
クトルを生成するステップと、シンドロームがヌルかど
うかを判断するステップと、前記シンドロームがヌルで
ない時、前記シンドロームを前記タイプIIIパリティ
・チェック・マトリクスの列と比較するステップと、前
記比較の結果一致する列に対応する前記受信シーケンス
内のビットを反転するステップと、を含む方法。 (11)前記比較の結果一致する列が存在しない場合、
訂正不能エラー信号を供給するステップを含む、前記
(10)に記載の方法。 (12)タイプIIIパリティ・チェック・マトリクス
により符号化された受信された2進シーケンス内のエラ
ーを訂正及び検出する装置であって、シンドローム・ベ
クトル発生器と、前記発生シンドロームがヌルかどうか
を判断する手段と、前記非ヌルのシンドロームを前記タ
イプIIIパリティ・チェック・マトリクスの列と比較
する比較手段と、前記比較手段により提供される一致列
の指示に対応する前記受信シーケンス内のビットを反転
する反転手段と、を含む装置。 (13)前記シンドロームがヌルでなく、前記比較手段
が列一致指示を提供しない場合、訂正不能エラー状態を
提供する手段を含む、前記(12)に記載の装置。
【0031】
【発明の効果】以上説明したように、本発明によれば、
メモリ・アレイの信頼性を向上することができる。
メモリ・アレイの信頼性を向上することができる。
【図1】タイプIIコードに対応する典型的なReed-Sol
omonパリティ・チェック・マトリクスを示す図である。
omonパリティ・チェック・マトリクスを示す図である。
【図2】タイプIIパリティ・チェック・マトリクスを
2進形式で説明する、図1のマトリクスの代わりのコン
パニオン・マトリクスT及びその種々の累乗を示す図で
ある。
2進形式で説明する、図1のマトリクスの代わりのコン
パニオン・マトリクスT及びその種々の累乗を示す図で
ある。
【図3】図2に示されるTの累乗を図1のマトリクス構
造に代用した結果を表す図である。
造に代用した結果を表す図である。
【図4】タイプIIパリティ・チェック・マトリクスを
その種々のサブ構造の点から示した全体構造及びサイズ
要求を示す図である。
その種々のサブ構造の点から示した全体構造及びサイズ
要求を示す図である。
【図5】本発明によるタイプIIIコードのパリティ・
チェック・マトリクス構造を表す図である。
チェック・マトリクス構造を表す図である。
【図6】原始多項式p(x)=1+x+x3 に関連する
コンパニオン・マトリクスTに対応する種々の増補マト
リクスを表す図である。
コンパニオン・マトリクスTに対応する種々の増補マト
リクスを表す図である。
【図7】(40、30)タイプIIIコードに対応する
典型的なパリティ・チェック・マトリクスを表す図であ
る。
典型的なパリティ・チェック・マトリクスを表す図であ
る。
【図8】マトリクス内で発生する2進数の数を減らし最
適化を計った以外は図7と同じ形式の2進パリティ・チ
ェック・マトリクスを表す図である。
適化を計った以外は図7と同じ形式の2進パリティ・チ
ェック・マトリクスを表す図である。
【図9】図8のパリティ・チェック・マトリクスに関連
するチェック・ビット1に対応する排他的論理和ツリー
を表す図である。
するチェック・ビット1に対応する排他的論理和ツリー
を表す図である。
【図10】本発明によるタイプIIIコード化方法によ
り符号化されるシーケンスに関連するエラーを検出及び
訂正するためのステップを表す流れ図である。
り符号化されるシーケンスに関連するエラーを検出及び
訂正するためのステップを表す流れ図である。
【図11】メモリ・システム内における本発明のアプリ
ケーションを表すブロック図である。
ケーションを表すブロック図である。
【図12】タイプIII符号化方法によりエラー訂正及
び検出を実行する装置を表すブロック図である。
び検出を実行する装置を表すブロック図である。
10 メモリ・アレイ構造 15 出力ラッチ、メモリ・ラッチ 100 ECC回路 110 シンドローム発生器 120 シンドローム・テスタ 130 過剰一致テスタ 140 比較回路 150 条件インバータ
Claims (13)
- 【請求項1】各々がMビットのS個のサブブロックを有
するNビットのブロック内で発生する2進データの符号
化方法であって、 前記Nビット・データを2進パリティ・チェック・マト
リクスHにより決定されるパリティ・チェック条件に掛
けるステップと、 マトリクスHを2進マトリクスH*から導出し、前記マ
トリクスH*はタイプIIコードを表し、M×Mサブマ
トリクスをP行及びS列に配列し、前記P行の第1行が
M×M識別マトリクスであり、他の行のM×Mマトリク
スはM×Mゼロ・マトリクス、M×M識別マトリクス、
及びM×MマトリクスTi を含み、ここでiは負でない
指数を示し、Tはガロイス・フィールドGF(2)上の
M次の原始2進多項式p(x)に関連するコンパニオン
・マトリクスであり、前記HマトリクスをSb列及びM
P+(b−M)行を有するマトリクスを生成するために
前記H*マトリクスから導出するステップであって、前
記導出ステップが、 (1)前記マトリクスの前記第1行内のM×M識別マト
リクスをb×b識別マトリクスにより置換するステップ
と、 (2)前記M×Mゼロ・マトリクスをM×bゼロ・マト
リクスにより置換するステップと、 (3)前記M×MマトリクスTi をM×b増補マトリク
スにより置換するステップとを含み、j番目列は多項式
Xi+j-1 モジュロp(x)のベクトルである、前記導出
ステップと、 を含む方法。 - 【請求項2】N=30、S=10、及びM=3である、
請求項1記載の方法。 - 【請求項3】前記原始2進多項式p(x)=1+X+X
3である、請求項1記載の方法。 - 【請求項4】前記コンパニオン・マトリクスTが、 【数1】 である、請求項1記載の方法。
- 【請求項5】前記2進パリティ・チェック・マトリクス
が図7に示されるマトリクスである、請求項1記載の方
法。 - 【請求項6】前記マトリクスHがマトリクスを縮小梯形
形式(reduced echelon form)により配置する行オペレ
ーションにより変更される、請求項1記載の方法。 - 【請求項7】エラー訂正及び検出機能を向上するために
第1ポイントから第2ポイントにデジタル情報を伝送す
る方法であって、前記方法が第1の複数(K)の情報ビ
ット及び第2の複数(N−K)のチェック・ビットを表
す入力電気信号を伝送するステップを含み、前記信号が
N倍長2進ベクトルと見なされる時、前記ベクトルがタ
イプIIIコードに対応するパリティ・チェック・マト
リクスである(N−K)×Nのパリティ・チェック・マ
トリクスHのヌル空間に配置されるように、前記信号が
生成される方法。 - 【請求項8】前記パリティ・チェック・マトリクスHが
図7に示されるマトリクスである、請求項7記載の方
法。 - 【請求項9】各々が指定アドレスに応答してメモリ内容
を示すbビット幅の信号を生成する、個別のメモリ素子
のアレイと、 前記メモリ・アレイから前記Sb信号を受信し、タイプ
III要求によりエラーを訂正及び検出する、タイプI
IIエラー訂正コード手段と、 を含む、メモリ・システム。 - 【請求項10】タイプIIIパリティ・チェック・マト
リクスにより符号化された受信された2進シーケンス内
のエラーを訂正及び検出する方法であって、 シンドローム・ベクトルを生成するステップと、 シンドロームがヌルかどうかを判断するステップと、 前記シンドロームがヌルでない時、前記シンドロームを
前記タイプIIIパリティ・チェック・マトリクスの列
と比較するステップと、 前記比較の結果一致する列に対応する前記受信シーケン
ス内のビットを反転するステップと、 を含む方法。 - 【請求項11】前記比較の結果一致する列が存在しない
場合、訂正不能エラー信号を供給するステップを含む、
請求項10記載の方法。 - 【請求項12】タイプIIIパリティ・チェック・マト
リクスにより符号化された受信された2進シーケンス内
のエラーを訂正及び検出する装置であって、 シンドローム・ベクトル発生器と、 前記発生シンドロームがヌルかどうかを判断する手段
と、 前記非ヌルのシンドロームを前記タイプIIIパリティ
・チェック・マトリクスの列と比較する比較手段と、 前記比較手段により提供される一致列の指示に対応する
前記受信シーケンス内のビットを反転する反転手段と、 を含む装置。 - 【請求項13】前記シンドロームがヌルでなく、前記比
較手段が列一致指示を提供しない場合、訂正不能エラー
状態を提供する手段を含む、請求項12記載の装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US087442 | 1993-07-02 | ||
| US08/087,442 US5425038A (en) | 1993-07-02 | 1993-07-02 | Error plus single bit error detection |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0736717A true JPH0736717A (ja) | 1995-02-07 |
| JP2589957B2 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 (17)
| 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 |
| US6968491B1 (en) * | 2002-04-08 | 2005-11-22 | Sanera Systems Inc. | Generating a check matrix for error correction |
| US6920601B1 (en) | 2002-04-08 | 2005-07-19 | Sanera Systems Inc. | Error correction for data communication |
| 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 |
| 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 |
| 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 |
| 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 | 한국전자통신연구원 | 에러 정정 부호의 생성방법, 복호 방법 및 그 장치 |
| KR20250135519A (ko) * | 2024-03-06 | 2025-09-15 | 에스케이하이닉스 주식회사 | Ecc 엔진을 포함하는 메모리 시스템 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6250943A (ja) * | 1985-08-30 | 1987-03-05 | Hitachi Ltd | 記憶装置 |
| JPS6279530A (ja) * | 1985-10-03 | 1987-04-11 | Fujitsu Ltd | 誤り訂正・検出装置 |
Family Cites Families (4)
| 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. |
| 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 |
-
1993
- 1993-07-02 US US08/087,442 patent/US5425038A/en not_active Expired - Fee Related
-
1994
- 1994-06-03 JP JP6122178A patent/JP2589957B2/ja not_active Expired - Lifetime
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6250943A (ja) * | 1985-08-30 | 1987-03-05 | Hitachi Ltd | 記憶装置 |
| JPS6279530A (ja) * | 1985-10-03 | 1987-04-11 | Fujitsu Ltd | 誤り訂正・検出装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5425038A (en) | 1995-06-13 |
| JP2589957B2 (ja) | 1997-03-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4036338B2 (ja) | 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置 | |
| US5856987A (en) | Encoder and decoder for an SEC-DED-S4ED rotational code | |
| US7278085B1 (en) | Simple error-correction codes for data buffers | |
| US7370264B2 (en) | H-matrix for error correcting circuitry | |
| US6675349B1 (en) | Error correction coding of data blocks with included parity bits | |
| US8806295B2 (en) | Mis-correction and no-correction rates for error control | |
| JP2589957B2 (ja) | 単一サブブロック・エラーと単一ビット・エラー検出のための符号化方法及びメモリ・システム | |
| Bossen | b-Adjacent error correction | |
| US5537423A (en) | Modular multiple error correcting code system | |
| TWI782215B (zh) | 減少多位元錯誤校正碼的邏輯的系統與方法 | |
| US5251219A (en) | Error detection and correction circuit | |
| JPH03136524A (ja) | 長バースト誤りに対する誤り検出及び訂正システム | |
| CN102468855A (zh) | 用于纠正在编码比特序列中的至少单比特错误的设备和方法 | |
| US6539513B1 (en) | Dual functioning symbol error correction code | |
| US7093183B2 (en) | Symbol level error correction codes which protect against memory chip and bus line failures | |
| US7085988B1 (en) | Hashing system utilizing error correction coding techniques | |
| Bhargavi et al. | H-matrix based error correction codes for memory applications | |
| US5754562A (en) | Method and apparatus for encoding certain double-error correcting and triple-error detecting codes | |
| Wang et al. | Reliable MLC NAND flash memories based on nonlinear t-error-correcting codes | |
| US5805615A (en) | Method and apparatus for encoding certain double-error correcting and triple-error detecting codes | |
| EP0341851A2 (en) | Method and apparatus for interleaved encoding | |
| JP3743915B2 (ja) | スポッティバイト誤り訂正・検出方法及び装置 | |
| Fujiwara et al. | Optimal two-level unequal error control codes for computer systems | |
| US12261626B2 (en) | Coding circuit and memory device including the same | |
| US12218688B2 (en) | Error correction with fast syndrome calculation |