JP2008523503A - メモリ周辺装置における改良されたエラー検出のためのシステムおよび方法 - Google Patents

メモリ周辺装置における改良されたエラー検出のためのシステムおよび方法 Download PDF

Info

Publication number
JP2008523503A
JP2008523503A JP2007545557A JP2007545557A JP2008523503A JP 2008523503 A JP2008523503 A JP 2008523503A JP 2007545557 A JP2007545557 A JP 2007545557A JP 2007545557 A JP2007545557 A JP 2007545557A JP 2008523503 A JP2008523503 A JP 2008523503A
Authority
JP
Japan
Prior art keywords
memory
error
data
stored
value
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
Application number
JP2007545557A
Other languages
English (en)
Other versions
JP5096161B2 (ja
JP2008523503A5 (ja
Inventor
ブレヴィンズ,チャールズ,ウィリアムズ
Original Assignee
ジーイー・アビエイション・システムズ・エルエルシー
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 ジーイー・アビエイション・システムズ・エルエルシー filed Critical ジーイー・アビエイション・システムズ・エルエルシー
Publication of JP2008523503A publication Critical patent/JP2008523503A/ja
Publication of JP2008523503A5 publication Critical patent/JP2008523503A5/ja
Application granted granted Critical
Publication of JP5096161B2 publication Critical patent/JP5096161B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/1032Simple parity
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Static Random-Access Memory (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

装置内のメモリにおけるエラーを検出して訂正するためのシステムおよび方法は、第1のメモリ内の第1の所定の位置に記憶されたデータのエラー値を生成するステップを含む。生成されたエラー値は、エラーメモリ内の各値が第1のメモリ内の所定の位置に記憶された少なくとも二つのデータ値から計算されるエラーメモリに記憶された対応するエラー値と比較される。第1のメモリの第1の所定の位置に記憶されたデータは、もし生成されたエラー値がエラーメモリに記憶された対応するエラー値とは異なる場合に、第1のメモリに記憶されたデータと同じである、第2のメモリの第1の所定の位置に記憶されたデータで書き換えられる。

Description

本発明は、一般的にはエラー検出に関し、より特定的にはメモリ周辺装置における改良されたエラー検出のためのシステムと方法とに関する。
クリティカル機能を動作させる如何なる電子システムにおいても、ある一定のあり得る程度にエラーを検出する能力を有することは有用である。これらのエラーは、電子部品への、特にランダムアクセスメモリ(RAM)の大きなバンクへの放射線効果に起因するランダムエラーを含む種々の源から発生し得る。RAM装置は、もし未検出のまま過ぎれば誤ったシステム動作になり得る放射線誘導ビット変化を受けやすい。ビットエラーを訂正する能力はまた、放射線誘導ビットエラーにもかかわらずシステムが動作を続行することを可能にするので、望ましい。
従来のシステムでは設計は、エラー検出・訂正を遂行するためにハミング符号ベースのエラー検出・訂正(EDC)方式を組み込んでいる。これらの方式は、単一ビット検出・訂正のためには十分である。しかしながらRAM装置形状がより小さくなるにつれて、個々の放射線事象は、より高い確率で同じ装置内において多数のビットに影響し始めている。このようなメモリ装置に関するエラー率は、ビットアワー当たり約1.5E−10エラーである。128メガビットという所与のメモリサイズに関しては、メモリシステムエラー率は、1時間当たり1.5E−10×1.28E8=0.00192障害、あるいは500時間当たり1訂正不能事象である。EDCは2ビットを超えるビット障害でも検出できない。したがってある幾つかのエラーは、EDCによって検出可能でなく、クリティカル機能を行うシングルスレッド・メモリシステムのために見逃しエラー率を余りに高くし過ぎている。
したがってソフトエラーによる再始動率がゼロになるようにすべてのエラーを検出して訂正することが望ましい。
本発明の一態様によれば、ある装置内のメモリにおけるエラーを検出して訂正するためのシステムと方法は、第1のメモリ内の第1の所定の位置に記憶されたデータのエラー値を生成するステップを含む。生成されたエラー値は、エラーメモリ内の各エラー値が第1のメモリ内の所定の位置に記憶された少なくとも二つのデータ値から計算される、エラーメモリに記憶された対応するエラー値と比較される。第1のメモリの所定の位置に記憶されたデータは、もし生成されたエラー値がエラーメモリに記憶された対応するエラー値とは異なる場合に、第1のメモリに記憶されたデータと同じである、第2のメモリの第1の所定の位置に記憶されたデータで書き換えられる。
本発明の更なる特徴、態様および利点は、付属の図面の図と共に考察されるとき、下記の好ましい実施形態の詳細な説明から明らかになる。
図1は、本発明に一致する改良されたエラー検出システムで使用され得るメモリおよびエラー符号器システムのブロック図である。図1に示すようにこのメモリおよびエラー符号化システムは、メモリ10とエラー符号器20とエラーメモリ30とを含む。メモリ10は、複数のメモリバンク12、14、16、18を含む。図1には4個のメモリバンク12、14、16、18が示されているが、メモリ10が一つ以上のメモリバンクを備え得ること、あるいは別々のメモリバンクを有する構成とは異なる構成を持ち得ることは理解されるべきである。
メモリバンク12、14、16、18の各々は、メモリ10に64ビット幅を与えるように合同する16ビット幅を有する。各メモリバンク12、14、16、18の奥行きは任意サイズNを持ち得るので、各メモリバンク12、14、16、18は16×Nのサイズを持ち、またメモリ10は64×Nのサイズを有する。図1に示すメモリバンク12、14、16、18とメモリ10のサイズと幅は、単に例示的であって、メモリ10が使用されることになる特定のアプリケーションのために必要とされるように調整され得る。メモリ10は好ましくは、RAM装置、例えばフラッシュメモリまたはNVRAMとして実現されるが、他のタイプのメモリも可能である。メモリバンク12、14、16、18の16ビット出力の各々は、エラー符号器20に結合される。
エラー符号器20は、メモリ10のメモリバンク12、14、16、18からデータの64ビットを受け取り、メモリ10から受け取られたデータの64ビットの各セットに関してエラーデータの16ビットを生成する。エラー符号器20は好ましくは、メモリバンク12、14、16、18から各々1ビットで4個のデータビットから1個のエラー値を生成するように構成される。更に各メモリバンク12、14、16、18から選択されたビットは好ましくは、各メモリバンクの同じ対応する位置に存在する。例えばエラービットED00は、それぞれメモリバンク12、14、16、18のデータビットb00、b16、b32およびb48からエラー符号器20によって計算され得る。一般にエラーデータを計算するために選択されたデータビットは、他の組合せもあり得るが、好ましくはこの組合せはメモリ10内の所定の位置に基づいている。エラーデータを作成するプロセスは、メモリバンク12、14、16、18内の16ビットデータのN個のレベルの各々に関して繰り返される。
エラー符号器20によって生成されたエラーデータは、エラーデータを記憶するエラーメモリ30に供給される。エラーメモリ30は好ましくは、メモリバンク12、14、16、18と同じサイズと幅を有するように構成されるが、他のサイズおよび幅の構成も可能である。
図2は、本発明に一致する改良されたエラー検出システムで使用され得るエラー符号器のブロック図である。図2に示すようにエラー符号器、例えば図1のエラー符号器20は、データインレジスタ22とエラー発生器24とエラーデータレジスタ26とを含む。データをエラー符号器20に与えるメモリ10が図1に示すように設計されていると仮定すると、データインレジスタ22は、メモリ10からメモリデータの64ビットを受け取って記憶する。データインレジスタ22は、メモリ10からのデータの64ビットの各々を記憶できる64ビットレジスタであり得る。データインレジスタ22のサイズは、メモリ10のビット幅にしたがって調整され得る。データインレジスタ22はまた、エラー符号器20によって使用され得るデータの他のビットを記憶するように、メモリ10のビット幅より大きくされることも可能である。
データインレジスタ22は、エラー発生器24にメモリデータの64ビットを供給する。エラー発生器は、メモリデータの64ビットからエラーデータの16ビットを生成する。エラーデータの各ビットは好ましくは、各エラービットを計算するために使用されるメモリデータのビットのパリティ値である。例えばエラービットED00は、メモリ10のデータビットb00、b16、b32およびb48から結果として得られるパリティ値としてエラー発生器24によって計算され得る。パリティ値は本質的に、パリティ値を計算するために使用されたメモリデータビットのグループが奇数個または偶数個の1を持っているかどうかを示す。その結果、もしメモリバンク12、14、16、18の一つにおけるある特定の位置にエラーが存在すれば、メモリデータビットのグループ内の1の数は変化し、結果として得られるパリティ値は、エラーが発生する前に計算されたパリティ値とはもはや一致しないであろう。
パリティ値を計算するために、下記の方程式にしたがって16個のエラービットが計算され得る:
EE=bXORbk+16XORbk+32XORbk+48
ここでkは0と15との間の整数値であり、XORは排他的OR演算である。この方程式は、メモリ10とエラーメモリ30の構成にしたがって調整され得る。例えばエラーメモリ30は、より大きなエラーデータを保持するようにサイズ的に大きくされることができ、またパリティ値がメモリビットのより小さなグループから、またはメモリビットの多数の組合せから計算されることを可能にし得る。
エラー発生器24によって生成されたエラーデータは、エラーデータレジスタ26に供給される。エラーデータレジスタ26は好ましくは、16ビットレジスタとして構成されるが、エラーデータレジスタ26のサイズは、エラー発生器24から出力されるエラーデータの量にしたがって調整され得る。エラーデータレジスタ26は、出力データをエラーメモリ30に与える前にその出力データを記憶する。データインレジスタ22とエラー発生器24とエラーデータレジスタ26とによって実行されるエラー生成プロセスは、メモリデータの各ビットがエラーメモリ30に記憶された少なくとも1個のエラービットに関連付けられるように、メモリ10によって与えたれた64ビットデータの各グループに関して繰り返し実行される。
図3は、本発明に一致する改良されたエラー検出システムで使用され得るエラー検出器のブロック図である。図3に示すようにエラー検出器40は、メモリデータインレジスタ42とエラーデータインレジスタ43とエラー発生器44とエラーデータ比較器46とエラーデータ検出データレジスタ48とを含む。エラー検出器は、メモリ10内に何らかのビットエラーが存在するかどうかを検出するためにメモリ10からのメモリデータとエラーメモリ30からのエラーデータとを使用する。
メモリ10とエラーメモリ30とが図1に示すように設計されていると仮定すると、メモリデータインレジスタ42はメモリ10からのメモリデータの64ビットを受け取って記憶し、エラーデータインレジスタ43はエラーメモリ30からのエラーデータの16ビットを受け取って記憶する。メモリデータインレジスタ42は、メモリ10からのデータの64ビットの各々を記憶できる64ビットレジスタであることが可能であり、エラーデータインレジスタ43は、エラーメモリ30からのデータの16ビットの各々を記憶できる16ビットレジスタであり得る。メモリデータインレジスタ42とエラーデータインレジスタ43のサイズは、それぞれメモリ10とエラーメモリ30のビット幅にしたがって調整され得る。
メモリデータインレジスタ42は、メモリデータの64ビットをエラー発生器44に供給する。エラー発生器44は好ましくは、メモリデータの64ビットからエラーデータの16ビットを生成するようにエラー符号器20のエラー発生器24と同じ様に構成される。エラーデータの各ビットは好ましくは、各エラービットを計算するために使用されるメモリデータのビットのパリティ値である。
エラー発生器44によって生成されるエラーデータとエラーデータインレジスタ43からのエラーデータは、エラーデータ比較器46に供給される。エラーデータ比較器46は、エラー発生器44によって生成されたエラーデータをエラーデータインレジスタ43からのエラーデータと比較する。もしこれら2セットのエラーデータのビットのすべてが互いに一致すれば、メモリデータインレジスタ42にロードされたメモリデータは正しい。しかしながら、もしあるビットが一致しなければ、メモリデータインレジスタ42にロードされたメモリデータにはエラーが存在する。特にエラーは、エラーデータの不一致ビット(単数または複数)に存在する。例えばもし不一致エラービットがビットED00であれば、エラービットED00を計算するために使用された位置に、すなわちb00、b16、b32およびb48に記憶されたメモリデータにエラーが存在することが認められる。下記に説明されるようにメモリ10内のデータは、メモリ10と同じデータを記憶するバックアップメモリまたはスレーブメモリからのデータによってこれらの位置のデータを書き換えることによって訂正され得る。エラーデータ比較器46によってエラーが検出されると、エラー信号49が生成される。
もしエラーが検出されるとエラー信号49を生成することに加えてエラーデータ比較器46は、エラー検出レジスタ48にデータの16ビットを出力する。このデータはエラーデータのどのビットが一致して、エラーデータのどのビットが一致しないかを示す。例えばもしエラーデータの16ビットが比較されれば、エラーデータ比較器46から出力されるデータは各一致するペアのエラービットを第1のレベル例えば0に設定し、各不一致ペアのエラービットを第2のレベル例えば1に設定するであろう。エラー検出レジスタ48は、エラーデータ比較器46から出力されたデータを受け取って記憶する。エラー検出レジスタ48は好ましくは、16ビットレジスタであるが、エラーデータのビット幅にしたがって異なるサイズにされることもあり得る。エラー検出レジスタ48は、一致するエラービットと不一致のエラービットとを識別するエラー検出データを出力する。不一致エラービットは、メモリデータ内のエラーの位置を識別する。特にメモリデータ内のエラーの位置は、エラーメモリ30に記憶されたエラーデータの対応するビットに一致しないエラーデータのビットを生成するために使用されたメモリデータ内のビットに対応する。
図4は、本発明に一致する改良されたエラー検出システムのブロック図である。図4に示すようにこの改良されたエラー検出システムは、メモリ10とエラー符号器20とエラーメモリ30とエラー検出器40とを含む。改良されたエラー検出システムはまた、メモリ50とエラーメモリ60とデータ制御ユニット70とを含む。
メモリ50は好ましくは、図1に関して上記に説明されたようなメモリ10と同じ様に構成される。更にメモリ50は、メモリ10に記憶される同じデータを記憶させられる。この様にメモリ50は、主メモリまたはマスターメモリとして機能するメモリ10に対するバックアップメモリまたはスレーブメモリとして機能する。
同様にエラーメモリ60は好ましくは、図1に関して上記に説明されたようなエラーメモリ30と同じ様に構成される。エラーメモリ60は、メモリ50に記憶されたデータからエラー符号器20によって生成されたエラーデータを記憶する。エラー符号器20とエラー検出器40は図4では単一要素として示されているが、マスターメモリとスレーブメモリの各々に関して別々のエラー符号器20と別々のエラー検出器40が存在し得ることは理解されるべきである。
データ制御ユニット70は、この改良されたエラー検出システムの要素の各々の動作を制御するように構成される。データ制御ユニット70は好ましくは、各要素間の正しいデータ転送を保証するために各要素に制御信号、データ信号、タイミング信号およびアドレス信号を供給する。例えばエラー検出器40からのエラー信号に応答してデータ制御ユニット70は、メモリ50がそのエラーチェックを通したと仮定して、エラーを持つと識別された位置におけるメモリ50内の対応するデータによるメモリ10内のデータの書き換えを制御できる。
図5は、本発明に一致する図4の改良されたエラー検出システムを使用するエラー検出プロセスの流れ図である。図5に示すようにデータ制御ユニット70は、メモリ10とメモリ50からロードされるべきメモリデータを識別する(ステップ502)。この場合、メモリ10は主メモリまたはマスターメモリとして機能し、メモリ50はバックアップメモリまたはスレーブメモリとして機能する。各メモリ内の識別されたデータは同じ対応する位置からのものであるはずである、すなわちメモリ10内のメモリデータの位置はメモリ50内のメモリデータと同じ位置であるはずである。
データ制御ユニット70はまた、エラーメモリ30、60からの対応するエラーデータを識別する(ステップ504)。上述のようにメモリデータの各ビットは、エラーデータの少なくとも1個のビットに関連付けられる。メモリデータの1ビットは、もしメモリデータのそのビットがエラーデータの1ビットを生成するために使用されたのであれば、エラーデータのその1ビットに関連付けられる。対応するエラーデータは少なくとも、メモリ10とメモリ50の識別されたメモリデータから生成されたエラーデータを含む。
データ制御ユニット70は、識別されたメモリデータとエラーデータのエラー検出器40への転送を制御する(ステップ506)。メモリとエラーデータの両セットに関してエラー検出を実行するためにエラー検出器40は、マスターメモリのエラー検出のために使用される1セットとスレーブメモリのエラー検出のために使用される1セットとによる、図3に示すような複製セットの要素を有するように構成され得る。
エラー検出器40は、マスターメモリおよびエラーデータとスレーブメモリおよびエラーデータとを受け取って、マスターメモリデータとスレーブメモリデータとにおけるエラーに関してチェックする(ステップ508)。図3に関して上記に説明されたようにエラー検出器40は、メモリ10(または50)からメモリデータを受け取り、受け取られたメモリデータからエラーデータを生成し、そして生成されたエラーデータをエラーメモリ30(または60)から受け取られた対応するエラーデータと比較する。
受け取られたマスターメモリデータから生成されたエラーデータとエラーメモリ30から受け取られた対応するエラーデータとの比較に基づいてエラー検出器40は、マスターメモリデータ内にエラーが存在するかしないかを決定する(ステップ510)。もし受け取られたマスターメモリデータから生成されたエラーデータのビットのどれかがエラーメモリ30から受け取られた対応するエラーデータと一致しなければ、マスターメモリデータ内にエラーが存在する。
もしマスターメモリデータ内にエラーが存在すれば(ステップ510でYES)、エラーの位置が決定される(ステップ518)。もしエラーデータのある一つのビットが一致しなければ、エラーデータのそのビットを生成するために使用されたメモリデータのビットは無効である、すなわちエラーを有する。したがってエラーの位置は、エラーデータの不一致ビットを生成するために使用されたメモリデータのビットの位置に対応する。例えばもし不一致エラービットがED00であれば、そのエラーの位置はb00、b16、b32およびb48を含む。エラーの位置は、エラー検出器40のエラー検出レジスタ48に記憶されたエラー検出データを見ることによって決定され得る。この情報は、データ制御ユニット70によって決定され得る。
マスターメモリ10内のエラーの決定された位置に基づいてデータ制御ユニット70は、マスターメモリ10内のエラー位置のデータをスレーブメモリ50内の対応する位置のデータで書き換える(ステップ520)。更にマスターメモリ10を更新した後にエラー符号器20は、エラーメモリ30内のエラーデータを更新するために更新されたマスターメモリ10から更新されたエラーデータを生成する(ステップ522)。マスターメモリ10とエラーメモリ30とを更新した後に同様にスレーブメモリ30とエラーメモリ60とを更新することも可能である。
もしマスターメモリデータ内にエラーが存在しなければ(ステップ510でNO)、エラー検出器40は、スレーブメモリデータ内にエラーが存在するかしないかを決定する(ステップ512)。マスターメモリデータのチェックと同様に、もし受け取られたスレーブメモリデータから生成されたエラーデータのビットのどれかがエラーメモリ60から受け取られた対応するエラーデータに一致しなければ、スレーブメモリデータ内にエラーが存在する。
もしスレーブメモリデータ内にエラーが存在すれば(ステップ512でYES)、ステップ518〜522が繰り返される。特にスレーブメモリ50内のエラーの位置に基づいてデータ制御ユニット70は、スレーブメモリ50内のエラー位置のデータをマスターメモリ10内の対応する位置のデータで書き換え、またデータ制御ユニット70はエラーメモリ60内のエラーデータを更新するために更新されたスレーブメモリ50からのデータを使用する。
もしスレーブメモリデータ内にエラーが存在しなければ(ステップ512でNO)、マスターメモリデータとスレーブメモリデータは、これらが同じであるかどうかを決定するために(ステップ514)、エラー検出器40によって比較される。このチェックは、マスターメモリデータとスレーブメモリデータとに既に実行されたエラーチェックに対するバックアップチェックとして機能する。もしマスターメモリデータ内にもスレーブメモリデータ内にもエラーが検出されなければ、マスターメモリデータとスレーブメモリデータは同じであるはずである。
もしマスターメモリデータとスレーブメモリデータとが同じでなければ(ステップ514でNO)、改良されたエラー検出システムは中断されて再始動される(ステップ524)。たとえいずれのデータのセットにもエラーが検出されなかったとしても、もしこれらのデータが同じでなければ、改良されたエラー検出システムは正しく動作していない可能性がある。二者択一的に、二つのメモリデータビットが両者とも同じエラービットを生成するために使用されたそれぞれのメモリバンク内の同じ位置に、マスターメモリデータとスレーブメモリデータのどちらか一方が二つのメモリデータビットの変化を持っているということがあり得る。例えば異なるメモリバンク内の同じ位置に同じエラービットを生成するために両者が使用された二つのメモリデータビットの変化の可能性は、極めて小さくて全く発生しそうもない。中断と再始動は、マスターメモリとスレーブメモリの両者がエラーチェックに失敗した場合に実行される可能性がある。
もしマスターメモリデータとスレーブメモリデータとが同じであれば(ステップ514でYES)、マスターメモリ10からのメモリデータは、それが必要とされるどのような目的にでも使用される(ステップ516)。マスターメモリ10からのメモリデータの目的は、改良されたエラー検出システムが実現されるシステムまたは装置に依存する。
上述のような改良されたエラー検出システムでは、メモリのすべての位置において一つ以上のエラーを識別して訂正することが可能である。その結果、高度に信頼できるデータ記憶を提供することが可能である。
上述のようにメモリ10、50およびエラーメモリ30、60は各々、独立の要素として示されている。しかしながら、これらのメモリが別々の独立した要素、単一構造体または他の何らかの組合せ、例えば単一メモリデータおよびエラーデータメモリであり得ることは理解されるべきである。更にエラー符号器20は、それぞれエラーメモリ30、60に記憶されるエラーデータを生成するために図2に示されたような単に1セットだけの要素が必要とされ得るように、メモリ10とメモリ50との間で、時分割ベースで使用され得る。同様にエラー検出40は、メモリデータ内のエラーに関してチェックするために図3に示されたような単に1セットだけの要素が必要とされ得るようにメモリ10とメモリ50との間で、時分割ベースで使用され得る。
改良されたエラー検出システムはまた、システムが正しく動作していることを保証するために診断を実行するようにも構成され得る。例えばデータ制御ユニット70の制御下で、システムが正しく動作していればエラーが検出されたであろうダミーデータが使用される診断テストが実行され得る。もしシステムがこのエラーを検出しなければ、データ制御ユニット70は、システムが正しく動作していないことを認めるであろう。この場合、システムは中断されて再始動され得る。
本発明の好ましい実施形態の前述の説明は、例示と説明目的のために提示されてきた。これは網羅的であることも、本発明を開示された正確な形に限定することも意図されておらず、また修正例と変型例は、前述の教示に照らせば可能であり、あるいは本発明の実施から取得され得る。これらの実施形態(別々にあるいは組み合わせて実施され得る)は、本発明の原理を説明するために、また当業者が種々の実施形態において、また、考えられる特定の使用に適した種々の修正版によって本発明を実施して使用することを可能にする実際的なアプリケーションとして選択され説明された。本発明の範囲は本明細書に付属の請求項とそれらの同等物とによって定義されることが意図されている。
本発明に一致する改良されたエラー検出システムで使用され得るメモリ・エラー符号化システムのブロック図である。 本発明に一致する改良されたエラー検出システムで使用され得るエラー符号器のブロック図である。 本発明に一致する改良されたエラー検出システムで使用され得るエラー検出器のブロック図である。 本発明に一致する改良されたエラー検出システムのブロック図である。 本発明に一致する図4の改良されたエラー検出システムを使用するエラー検出プロセスの流れ図である。

Claims (12)

  1. データを記憶する第1のメモリと、
    前記第1のメモリに記憶された同じデータを記憶する第2のメモリと、
    エラーデータの各々の値が前記第1のメモリ内の所定の位置に記憶された少なくとも二つのデータ値から計算される、前記第1のメモリに関するエラーデータを記憶するエラーメモリと、
    前記第1のメモリ内の第1の所定の位置に記憶されたデータのエラー値を生成して、この生成されたエラー値と前記エラーメモリに記憶された対応するエラー値とを比較するように構成されたエラー検出ユニットと、
    前記生成されたエラー値が前記エラーメモリに記憶された対応するエラー値とは異なることを前記エラー検出ユニットが決定した場合に前記第1のメモリの前記第1の所定の位置に記憶されたデータを前記第2のメモリの前記第1の所定の位置に記憶されたデータで書き換えるように構成されたデータ制御ユニットと、を備える装置。
  2. 前記第1のメモリは複数の第1のメモリバンクを備え、前記第2のメモリは複数の第2のメモリバンクを備えており、また
    前記第1の所定の位置は、前記複数の第1のメモリバンクの各々における同じ位置と前記複数の第2のメモリバンクの各々における同じ位置とに対応する、請求項1に記載の装置。
  3. 前記エラー値はパリティ値である、請求項1に記載の装置。
  4. 前記エラーメモリは前記第2のメモリに関するエラーデータを記憶し、前記第2のメモリの前記エラーデータの各値は前記第2のメモリ内の所定の位置に記憶された少なくとも二つのデータ値から計算される、請求項1に記載の装置。
  5. 前記エラー検出ユニットは更に、前記第2のメモリ内の第1の所定の位置に記憶されたデータのエラー値を生成して、前記生成された値と前記エラーメモリに記憶された前記第2のメモリのエラーデータの対応するエラー値とを比較するように構成され、また
    前記データ制御ユニットは更に、前記生成されたエラー値が前記エラーメモリに記憶された前記第2のメモリのエラーデータの対応するエラー値とは異なることを前記エラー検出ユニットが決定した場合に、前記第2のメモリの前記第1の所定の位置に記憶されたデータを前記第1のメモリの前記第1の所定の位置に記憶されたデータで書き換えるように構成される、請求項4に記載の装置。
  6. 前記エラー検出ユニットは更に、前記第1のメモリの前記第1の所定の位置に記憶されたデータを前記第2のメモリの前記第1の所定の位置に記憶されたデータと比較するように構成され、また
    前記データ制御ユニットは更に、前記第1のメモリの前記第1の所定の位置に記憶されたデータと前記第2のメモリの前記第1の所定の位置に記憶されたデータとが同じでない場合に前記装置を中断して再始動するように構成される、請求項1に記載の装置。
  7. 第1のメモリ内の第1の所定の位置に記憶されたデータのエラー値を生成するステップと、
    前記生成されたエラー値と、エラーメモリ内の各値が前記第1のメモリ内の所定の位置に記憶された少なくとも二つのデータ値から計算される、エラーメモリに記憶された対応するエラー値とを比較するステップと、
    前記生成されたエラー値が前記エラーメモリに記憶された対応するエラー値とは異なる場合に、前記第1のメモリの前記第1の所定の位置に記憶されたデータを前記第1のメモリに記憶されたデータと同じである、第2のメモリの第1の所定の位置に記憶されたデータで書き換えるステップと、を備える、装置内のメモリにおけるエラーを検出して訂正するための方法。
  8. 前記第1のメモリは複数の第1のメモリバンクを備え、前記第2のメモリは複数の第2のメモリバンクを備えており、また
    前記第1の所定の位置は、前記複数の第1のメモリバンクの各々における同じ位置と前記複数の第2のメモリバンクの各々における同じ位置とに対応する、請求項7に記載の方法。
  9. 前記エラー値はパリティ値である、請求項7に記載の方法。
  10. 前記エラーメモリは前記第2のメモリに関するエラーデータを記憶し、前記第2のメモリの前記エラーデータの各値は前記第2のメモリ内の所定の位置に記憶された少なくとも二つのデータ値から計算される、請求項7に記載の方法。
  11. 前記方法は更に
    前記第2のメモリ内の第1の所定の位置に記憶されたデータのエラー値を生成するステップと、
    前記生成されたエラー値と、前記エラーメモリに記憶された前記第2のメモリのエラーデータの対応するエラー値とを比較するステップと、
    前記生成されたエラー値が前記エラーメモリに記憶された前記第2のメモリのエラーデータの対応するエラー値とは異なる場合に、前記第2のメモリの前記第1の所定の位置に記憶されたデータを前記第1のメモリの前記第1の所定の位置に記憶されたデータで書き換えるステップと、を備える、請求項19に記載の方法。
  12. 前記方法は更に
    前記第1のメモリの前記第1の所定の位置に記憶されたデータを前記第2のメモリの前記第1の所定の位置に記憶されたデータと比較するステップと、
    前記第1のメモリの前記第1の所定の位置に記憶されたデータと前記第2のメモリの前記第1の所定の位置に記憶されたデータとが同じでない場合に前記装置を中断して再始動するステップと、を備える、請求項7に記載の方法。
JP2007545557A 2004-12-08 2005-12-07 メモリ周辺装置における改良されたエラー検出のためのシステムおよび方法 Expired - Fee Related JP5096161B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63443904P 2004-12-08 2004-12-08
US60/634,439 2004-12-08
PCT/US2005/044086 WO2006062959A2 (en) 2004-12-08 2005-12-07 System and method for enhanced error detection in memory peripherals

Publications (3)

Publication Number Publication Date
JP2008523503A true JP2008523503A (ja) 2008-07-03
JP2008523503A5 JP2008523503A5 (ja) 2009-01-29
JP5096161B2 JP5096161B2 (ja) 2012-12-12

Family

ID=36578483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007545557A Expired - Fee Related JP5096161B2 (ja) 2004-12-08 2005-12-07 メモリ周辺装置における改良されたエラー検出のためのシステムおよび方法

Country Status (7)

Country Link
US (1) US7865804B2 (ja)
EP (1) EP1825371B1 (ja)
JP (1) JP5096161B2 (ja)
KR (1) KR101205141B1 (ja)
DE (1) DE602005015482D1 (ja)
IL (2) IL183741A (ja)
WO (1) WO2006062959A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014529793A (ja) * 2011-08-23 2014-11-13 華為技術有限公司Huawei Technologies Co.,Ltd. データ信頼性を検出するための方法及び装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4363471B2 (ja) * 2007-08-03 2009-11-11 株式会社デンソー 故障コード記憶管理装置、及び記憶管理装置
JP5059524B2 (ja) * 2007-09-05 2012-10-24 ルネサスエレクトロニクス株式会社 メモリ制御回路、半導体集積回路、不揮発性メモリのベリファイ方法
JP2010128392A (ja) * 2008-11-28 2010-06-10 Canon Inc ハッシュ処理装置及びその方法
KR101062755B1 (ko) 2009-07-29 2011-09-06 주식회사 하이닉스반도체 Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법
WO2012051039A1 (en) * 2010-10-12 2012-04-19 Rambus Inc. Facilitating error detection and recovery in a memory system
WO2014074390A1 (en) 2012-11-06 2014-05-15 Rambus Inc. Memory repair using external tags
US8966310B2 (en) 2012-11-15 2015-02-24 Elwha Llc Redundancy for loss-tolerant data in non-volatile memory
US8925098B2 (en) 2012-11-15 2014-12-30 Elwha Llc Data security and access tracking in memory
US9582465B2 (en) 2012-11-15 2017-02-28 Elwha Llc Flexible processors and flexible memory
US8996951B2 (en) * 2012-11-15 2015-03-31 Elwha, Llc Error correction with non-volatile memory on an integrated circuit
US9442854B2 (en) 2012-11-15 2016-09-13 Elwha Llc Memory circuitry including computational circuitry for performing supplemental functions
US9323499B2 (en) 2012-11-15 2016-04-26 Elwha Llc Random number generator functions in memory
US9026719B2 (en) 2012-11-15 2015-05-05 Elwha, Llc Intelligent monitoring for computation in memory
EP3005117A4 (en) * 2013-05-29 2017-01-18 Hewlett-Packard Enterprise Development LP Invoking an error handler to handle an uncorrectable error
US20150169406A1 (en) * 2013-12-16 2015-06-18 Sandisk Technologies Inc. Decoding techniques for a data storage device
US9553608B2 (en) 2013-12-20 2017-01-24 Sandisk Technologies Llc Data storage device decoder and method of operation
JP7392181B2 (ja) * 2021-03-24 2023-12-05 長江存儲科技有限責任公司 冗長バンクを使用した故障メインバンクの修理を伴うメモリデバイス

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53105138A (en) * 1977-02-25 1978-09-13 Hitachi Ltd Memory unit
JPH04245558A (ja) * 1990-09-04 1992-09-02 Internatl Business Mach Corp <Ibm> エラー回復処理方法及び装置
JPH0644386A (ja) * 1992-07-24 1994-02-18 Yokogawa Electric Corp データ処理装置及び物理量測定装置
JP2001334057A (ja) * 2000-05-29 2001-12-04 Pfu Ltd 遊技機の管理装置
JP2003131953A (ja) * 2001-08-09 2003-05-09 Emc Corp メモリシステムおよびその使用方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04290144A (ja) * 1991-03-19 1992-10-14 Hitachi Ltd メモリ拡張方式
US5619642A (en) * 1994-12-23 1997-04-08 Emc Corporation Fault tolerant memory system which utilizes data from a shadow memory device upon the detection of erroneous data in a main memory device
US5953351A (en) * 1995-09-15 1999-09-14 International Business Machines Corporation Method and apparatus for indicating uncorrectable data errors
SG76501A1 (en) * 1996-02-28 2000-11-21 Sun Microsystems Inc Error detection and correction method and apparatus for computer memory
US6223301B1 (en) * 1997-09-30 2001-04-24 Compaq Computer Corporation Fault tolerant memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53105138A (en) * 1977-02-25 1978-09-13 Hitachi Ltd Memory unit
JPH04245558A (ja) * 1990-09-04 1992-09-02 Internatl Business Mach Corp <Ibm> エラー回復処理方法及び装置
JPH0644386A (ja) * 1992-07-24 1994-02-18 Yokogawa Electric Corp データ処理装置及び物理量測定装置
JP2001334057A (ja) * 2000-05-29 2001-12-04 Pfu Ltd 遊技機の管理装置
JP2003131953A (ja) * 2001-08-09 2003-05-09 Emc Corp メモリシステムおよびその使用方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014529793A (ja) * 2011-08-23 2014-11-13 華為技術有限公司Huawei Technologies Co.,Ltd. データ信頼性を検出するための方法及び装置
US9195543B2 (en) 2011-08-23 2015-11-24 Huawei Technologies Co., Ltd. Method and device for detecting data reliability

Also Published As

Publication number Publication date
DE602005015482D1 (de) 2009-08-27
WO2006062959A2 (en) 2006-06-15
EP1825371A2 (en) 2007-08-29
JP5096161B2 (ja) 2012-12-12
KR101205141B1 (ko) 2012-11-26
IL183741A0 (en) 2007-09-20
US7865804B2 (en) 2011-01-04
EP1825371B1 (en) 2009-07-15
US20060259848A1 (en) 2006-11-16
WO2006062959A3 (en) 2007-03-15
KR20070093090A (ko) 2007-09-17
IL183741A (en) 2012-02-29
IL183800A0 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
JP5096161B2 (ja) メモリ周辺装置における改良されたエラー検出のためのシステムおよび方法
US6397357B1 (en) Method of testing detection and correction capabilities of ECC memory controller
US7227797B2 (en) Hierarchical memory correction system and method
US5502732A (en) Method for testing ECC logic
US7307902B2 (en) Memory correction system and method
US7149945B2 (en) Systems and methods for providing error correction code testing functionality
KR100632952B1 (ko) 정전으로 인한 프로그램 페일의 유무를 판별할 수 있는방법 및 장치
KR100645058B1 (ko) 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법
US8977944B2 (en) DRAM address protection
TW201515000A (zh) 二次組態記憶體裝置之錯誤更正碼方法與裝置
US11055173B2 (en) Redundant storage of error correction code (ECC) checkbits for validating proper operation of a static random access memory (SRAM)
JPH03248251A (ja) 情報処理装置
JP2009295252A (ja) 半導体記憶装置及びそのエラー訂正方法
US11768731B2 (en) System and method for transparent register data error detection and correction via a communication bus
CN109726030A (zh) 包括用于误差校正电路的响应管理器的存储器架构
US10642683B2 (en) Inner and outer code generator for volatile memory
US11416332B2 (en) Protection for ethernet physical layer
WO2022245448A1 (en) Error rates for memory with built in error correction and detection
WO2019140888A1 (zh) 纠错码生成与校验矩阵的保护方法及矩阵存储/产生装置
JP2005011386A (ja) 誤り訂正装置
CN116194994A (zh) 用于数据存储器的自诊断的电子电路和方法
JPH054265U (ja) メモリ装置
JPH09305496A (ja) Eepromの1ビット誤り訂正方法とその装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080403

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081208

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110117

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120210

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120315

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120828

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120920

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees