JP4071940B2 - メモリ設計のための共有式誤り訂正 - Google Patents

メモリ設計のための共有式誤り訂正 Download PDF

Info

Publication number
JP4071940B2
JP4071940B2 JP2001021307A JP2001021307A JP4071940B2 JP 4071940 B2 JP4071940 B2 JP 4071940B2 JP 2001021307 A JP2001021307 A JP 2001021307A JP 2001021307 A JP2001021307 A JP 2001021307A JP 4071940 B2 JP4071940 B2 JP 4071940B2
Authority
JP
Japan
Prior art keywords
ecc
bits
memory
bit
memory units
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 - Fee Related
Application number
JP2001021307A
Other languages
English (en)
Other versions
JP2001249854A5 (ja
JP2001249854A (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.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2001249854A publication Critical patent/JP2001249854A/ja
Publication of JP2001249854A5 publication Critical patent/JP2001249854A5/ja
Application granted granted Critical
Publication of JP4071940B2 publication Critical patent/JP4071940B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、半導体メモリの誤り訂正符号に関する。
【0002】
【従来の技術】
半導体メモリに誤りがあると、接続されるシステムの動作に影響を及ぼすおそれがある。典型的な誤りは、特定の記憶場所が1つ以上のα粒子に曝される場合に発生し得る。かかる放射により、記憶場所に格納されているデータビットが「1」から「0」にフリップする。
【0003】
誤り訂正符号(ECC)は、コンピュータ半導体メモリサブシステムの信頼性を高め、かつ状態の完全性を高めるために使用される。単一誤りを訂正し、二重誤りを検出するが訂正しない誤り訂正符号が知られている。他のECCには、多重誤りを検出して訂正するものもある。ECCを適用する場合には、メモリアレイチップを、チップ内で発生した誤りがECCによって訂正できるように編成することができる。
【0004】
単一ビット誤りの訂正および二ビット誤りの検出は、チェックビットを使用することで達成される。典型的なECC実施例では、各データワードに多数のチェックビットを添付する。添付されたチェックビットは、ECC論理回路により使用されて、データワード内の誤りを検出する。最も単純かつ最も一般的な誤り制御の形態は、パリティビットの使用により実施される。データワードには単一のパリティビットが添付され、0または1に割り当てられて、データワードにおける1の数を偶数のパリティコードの場合には偶数に、奇数のパリティコードの場合には奇数にする。
【0005】
コンピュータシステムにおいてデータワードを送信する前に、パリティビットの値がデータワードのソースポイントにおいて計算され、データワードに添付される。送信されたデータワードを受信すると、宛先ポイントにおける論理は、パリティビットを再計算し、これを、受信され、すでに添付されているパリティビットと比較する。再計算されたパリティビットと受信されたものが等しくない場合には、ビット誤りが検出される。しかしながら、パリティコードの使用には、ビット誤りを訂正することができないという欠点があり、さらにビット誤りさえ検出できない。たとえば、あるデータビットが0から1に変わり、別のデータビットが1から0に変わる(二ビット誤り)と、データワードのパリティは変化せず、誤りが検出されない。
【0006】
データワード内のデータビットのサブセットにそれぞれ対応する追加パリティビットをデータワードに添付することによって、パリティビットの概念を、多重ビット誤りの検出を行い、または単一または多重ビット誤りの場所を決定するように拡張することができる。データビット誤りを検出すると、論理回路を用いて、誤りのあるビットを訂正し、単一誤り訂正を行うことができる。
【0007】
【発明が解決しようとする課題】
周知の誤り訂正符号は、メモリ内に格納されているデータワードに一連のチェックビットを添付するハミングコードである。読み出し動作時、検索されたチェックビットを再計算されたチェックビットと比較して、単一ビット誤りを検出し、かつ位置を決定する(すなわち、訂正する)。より多くのチェックビットを追加し、これらのチェックビットによって表されるデータビットのサブセットを適切にオーバーラップさせることによって、他の誤り訂正符号は、多重誤り訂正および検出を行うことができる。現行のコンピュータシステムは単一誤り訂正および多重誤り検出を組み込んでいることが多いが、誤り符号が必要とするパリティチェックビットは、半導体メモリにおいてスペース(空間)を占有する。このスペースはメモリ動作に使用できない。
【0008】
【課題を解決するための手段】
メモリ空間の使用は、メモリのいくつかのブロックまたはラインをカバーする誤り訂正符号(ECC)ブロックを組み合わせ、メモリブロックすべてに亘ってチェックビットを分布させることによってより効率的になる。特に、ECCビットのメモリオーバヘッドを低減するために、単一で大きいECCブロックをいくつかのメモリブロックまたはラインに亘って共有することができる。従来の方法では、4個のメモリブロックそれぞれに7個のECCビットを格納する必要があった。共有式ECCの構成では、各メモリブロックまたはラインにわずか2個のECCビットを格納するだけでよいため、ECCビットの格納用の領域オーバヘッドが70パーセント減となる。
【0009】
【発明の実施の形態】
添付図面を参照して詳細な説明を行う。図において、同じ符号は同様の要素を示している。
【0010】
誤り訂正符号(ECC)回路は、単一ビット誤りを訂正し、かつ二ビット誤りを検出するために半導体メモリ設計において広く使用されている。1つの一般的なECC符号はSEC−DED(単一誤り訂正―二重誤り検出)符号である。他のECC符号には、3個以上の誤りを検出し、かつ2個以上の誤りを訂正できるものがある。
【0011】
ECC回路は、特定数のデータビットについて多数のチェックビットを生成し、これらのチェックビットをデータビットとともにメモリに書き込むことによって、その誤りチェック機能を実現する。チェックビットは、以降の読み取り―書き込みサイクルまたは他のメモリアクセス中に使用され、データビットの値が正しいか否かを確認する。ECCを実施するために必要とされるチェックビットの数は、読み出されているデータビットの数によって決まる。表1に示すように、読み出されているデータビットの数が多くなると、必要とされるECCビットの数も多くなる。
【0012】
【表1】
Figure 0004071940
【0013】
現行システムを用いてECCチェックビットを実装するハードウェアを図1に示す。図1に示すように、誤り訂正符号回路10は、30個のデータビットを含むメモリライン11を備える。メモリライン11には、ECCセル12が関連づけられる。上記の表1を参照して、単一ビット誤り訂正および二ビット誤り検出をメモリライン11において達成するためには、7個のECCビットをECCセル12に格納する必要がある。ECCブロック13は、ECCビットを生成し、かつ読み出しおよび書き込み動作中にメモリライン11のデータビットをチェックすることを含む誤り訂正/検出符号に関する動作を行うために使用される。
【0014】
図1から明らかなように、誤り訂正符号回路10を使用することは、使用可能なメモリ領域の大きな部分がECCビット12の格納に充てられることを意味する。誤り訂正符号回路10を使用することは、メモリラインが、必要とされる数のECCビットによってカバーされる最大数より少ない数のデータビットを有する場合に特に非効率的である。たとえば、メモリラインが27個のデータビットを有する場合、単一誤り訂正および二重誤り検出には、7個のECCビットが必要となる。メモリラインが57個のデータビットを有する場合には、同一数のECCビット(すなわち、7個のECCビット)で済む。
【0015】
効率的なメモリ空間の割り当てを改良し、さらに誤り訂正および誤り検出を達成するために、図2に示すような共有(共有式)誤り訂正符号(ECC)回路100が設けられる。ECC回路100は、コンピュータシステムにおける任意のタイプのメモリとともに使用することができる。たとえば、ECC回路100は、キャッシュおよび主メモリとともに使用可能である。ECC回路100は、誤り訂正符号を実装する。以下の説明では、SEC−DED符号を参照する。しかしながら、開示した方法および装置は、多重誤り(たとえば、DEC−TED符号)を検出および訂正することが可能なECC符号に適用することも可能であることは、当業者には明らかであろう。
【0016】
ECC回路100は、デュアルインラインメモリモジュール(DIMM)カード上に1つ以上のメモリチップとともに設けることができ、例えば、ASICチップ内に実装することができる。ASICチップは、コンピュータシステムのデータバス(図示せず)をメモリチップと相互接続するためのものである。書き込み動作の実行中にデータバスからメモリチップに渡されるデータは、メモリチップに格納される前に、ECC回路100を通過する。同様に、メモリチップからデータバスに渡されるデータもECC回路100を通過する。このように、誤り検出および訂正機構は、データがコンピュータシステムによってメモリチップに格納されるときに、そのデータに対して作用する。図1に関して説明したように、ECC回路100に実装されるECC符号は、SEC−DED、DEC−TED、あるいは、より高機能の誤り訂正符号とすることができる。
【0017】
図2に示すように、ECC回路100は、メモリウェイ(メモリブロック、メモリユニット、メモリ部分とも記載)101および関連するECCセル102を有するメモリを備える。メモリのタイプによっては、メモリウェイ101を、ブロックまたはユニットと呼ぶこともできる。ECC回路100が4個のメモリウェイ101および4個の対応するECCセル102を有するとして図示されているが、ECC回路100は、これより多いまたは少ないメモリウェイおよび関連するECCセルを有することもできる。最後に、ECC回路100は、120ビットの(共有)ECCブロック103を備える。
【0018】
図3aは、チェックビットおよびシンドロームビットを生成するECCブロック103の一部のブロック図である。当該技術分野では既知のことであるが、シンドロームビットは、データ記憶動作中にメモリにデータとともにもともと記憶されているECCビットと、コンピュータシステムにおいて読み出しコマンド、または任意のメモリアクセス中などに発生する、メモリからフェッチされたデータに基づいて生成される新たな組のECCビットとの比較の結果である。すなわち、シンドロームビットは、対応する受信されたECCビットと、新たに生成されたECCビットとの単なるXOR(排他的論理和)である。検索されたECCビットと新たに生成されたECCビットとの組合せにより任意のゼロでないシンドロームビットが生成された場合には、検索されたデータに誤りがあることが検出されたことになる。
【0019】
図3aにおいて、回路110は、XORツリー111とXOR(ここでは、ビット毎XOR)モジュール112を備える。書き込み動作においては、ECCビットが、たとえばパリティチェックマトリクスを使用してデータビットを処理することによって同時に生成される。かかるECCビットの生成は当該技術分野において周知である。読み取り動作においては、シンドロームビットが、標準的な復号プロセスにしたがって読み出されたデータビットから同時に生成される。図3aに示すように、同一のXORツリー111を、ECCビットとシンドロームビットの両方に使用することができる。
【0020】
図3bは、ECCブロック103における誤り訂正および検出機能を実施する回路120のブロック図である。図3bに示すように、回路120は、ゼロでないシンドロームをテストするためのrウェイORゲート123、シンドロームを復号するためのrウェイANDゲート121、訂正不能エラー(UE)信号を生成するためのnウェイNORゲート124、及び、誤りのあるコードビットを反転するためのnウェイXORゲート(または、n個の2ウェイXORゲート)122を備える。
【0021】
図1に示した、30ビットを有するメモリラインを有し、それぞれのメモリラインが、それぞれ独自のECCブロックを使用する従来のシステムでは、7個のECCビットを各メモリラインに格納する必要がある。4つのラインでは、28個のECCビットが必要である。図2では、1つのより大きなECCブロック103が、いくつかのメモリウェイ101に亘って共有可能である。図では、メモリウェイ101は、30個のデータビットを有している。再び表1を参照すると、合計120ビットのデータの場合は、単一誤り訂正および二重誤り検出を実行するのに8個のECCビットが必要である。したがって、ECCセル102は、それぞれわずか2個のECCビットを格納するだけでよい。ECCブロック103のサイズは、これに接続されているメモリウェイのサイズによって決まる。各メモリウェイ101にわずか2個のECCビットが格納されるだけなので、メモリに対して70パーセントの領域オーバヘッドの低減が達成される。
【0022】
図2では、8個のECCビットが4個のメモリ部分101間に均一に分布している。このようにECCビットが均一に分布するように、ECCブロック103をプログラムすることができる。代替として、ECCブロック103は、メモリウェイ間に非対称に分布するように必要とされるECCビットを分割することができ、または、メモリウェイ101から分離した記憶場所にECCビットを格納することもできる。
【0023】
上述のように、共有ECC構成を実施するために、データがメモリに書き込まれるときに、特定数のチェックビットまたはECCビットが生成され、データビットともに格納される。誤りがないことを確認するために、チェックビットが読み出され、メモリに書き込まれたECCビットと比較される。(図2に示した例を用いると)ECCビットは4個のメモリウェイ間で共有されるため、どのメモリアクセス(たとえば、書き込み)においても、ECCビットを再生成するために、対象とするメモリウェイに関連するデータビットだけでなく、他の3個のメモリウェイに関連するデータビットも読み出す必要がある。
【0024】
再生成されたECCビットが使用可能になると、上述したビット比較を完了してシンドロームビットを生成することができる。ゼロでないシンドロームビットは、いずれも、メモリ部分101に格納されているデータビットに誤りがあることを示す。
【0025】
上述のECC回路は、単一ビット誤りを訂正すること意図しているが、同様の回路を、二ビットおよびそれ以上の誤りを訂正するように構成することができる。
【0026】
図4は、(128、120)SEC−DED誤り訂正符号200を表すマトリクスの一部である。データビットは、ビット0〜119で表され、格納されているECCチェックビットはビット120〜127で表される。符号200は、一例として使用したものである。メモリの各ウェイが30個のデータビット、すなわち、ウェイ0がビット0〜29、ウェイ1がビット30〜59、ウェイ2がビット60〜89、ウェイ3がビット90〜119を含んでいるものとする。また、4個のすべてのメモリウェイに格納されているデータはすべてゼロであるとする。以下の生(訂正されていない)データを返す読み出し動作がウェイ0に対して発行される。
10 0000 0000 0000 0000 0000 0000 0000
すなわち、ウェイ0のビット0、すなわち、120個のデータビットのビット0にビット誤りがある。
【0027】
新たに生成されたECCビットは、
チェックビット0:1
チェックビット1:1
チェックビット2:1
チェックビット3:0
チェックビット4:0
チェックビット5:0
チェックビット6:0
チェックビット7:0
である。
【0028】
シンドロームは、新たに生成されたECCビットとすでに格納されているECCビットとのXOR(または比較)である。この動作で読み出されたすでに格納済みのチェックビットがすべてゼロであったため、生成されるシンドロームは、シンドロームビット0:1
シンドロームビット1:1
シンドロームビット2:1
シンドロームビット3:0
シンドロームビット4:0
シンドロームビット5:0
シンドロームビット6:0
シンドロームビット7:0
である。
【0029】
このシンドロームは、図4に示すマトリクスの第0列に対応し、誤りを訂正するために反転(フリップ)されるべきビットを表している。
【0030】
本明細書中の用語および説明は、単なる例示のために用いたものであってそれらに限定されるものではない。当業者には、特許請求の範囲およびその等価物において規定される本発明の思想および範囲内で多くの変形が可能であり、すべての用語は別記のない限り最も広義の意味にとるべきであることが理解されよう。
【0031】
本発明の概要を簡単に述べると以下のようになる。共有誤り訂正回路(100)は、半導体メモリの2つ以上のメモリユニット(101)間に一定数のECCビットを分配することによりメモリのオーバーヘッドを低減する。1つのECCブロック(103)が、チェックビットとシンドロームビットを生成するために使用される。ECCブロックは、ECCセル内で使用可能なECCビットの全数を使用することによって各メモリユニット(101)をテストする。従って、メモリのオーバーヘッドは、標準的なECC設計によるものよりも低減される。
【0032】
以下においては、本発明の種々の構成要件の組み合わせからなる例示的な実施態様を示す。
1.半導体メモリにおいて誤りを検出して訂正する方法であって、
前記メモリを、それぞれがk個のデータビットを含むことが可能なM個のメモリブロック(101)に区分け(セグメント化)するステップと、
前記M個のメモリブロックに対してr個の誤り訂正符号(ECC)ビットを割り当てるステップ(ただし、rの値は積M×kにより決定される)と、
前記r個のECCビットを前記M個のメモリブロック間で分割するステップ
を含む方法。
2.前記メモリは、4個のメモリブロック(101)に分割され、該4個のメモリブロックは、それぞれ対応するECCセル(102)を含む、上項1の方法。
3.前記ECCビットは、前記M個のメモリブロック(101)間に等しく分割される、上項1の方法。
4.前記M個のメモリブロック(101)からデータビットを読み出すステップと、
前記M個のメモリブロックから前記r個のECCビットを読み出すステップと、
前記k個のデータビットに基づいてECCビットを再生成するステップと、
前記r個のECCビットと、前記再生成されたECCビットとを比較して、単一ビット誤りおよび多重ビット誤りを検出するステップ
をさらに含む、上項1の方法。
5.前記単一ビット誤りを訂正するステップをさらに含む、上項4の方法。
6.ECC符号は、二重誤り訂正―三重誤り検出(DEC−TED)符号である、上項1の方法。
7.複数のメモリユニット(101)を有する半導体メモリとともに動作する共有誤り訂正符号(ECC)回路(100)であって、
前記複数のメモリユニット(101)に対応する複数のECCセル(102)と、
ECCビットを生成する共有ECCブロック(103)であって、前記複数のECCセルにおけるECCビットの数が、前記複数のメモリユニット(101)に格納されるデータビットの合計数に関連する、共有ECCブロック
を備える、共有誤り訂正符号(ECC)回路。
8.ECCビットの数は、ECCセル(102)の数とデータビットの数との積に等しい、上項7の共有ECC回路。
9.前記ECCブロック(103)は、前記複数のメモリユニット(101)における単一ビット誤りを訂正する、上項7の共有ECC回路。
10.前記半導体メモリは、4個のメモリユニット(101)と、4個の対応するECCセル(102)とを含む、上項7の共有ECC回路。
11.前記ECCビットは、前記複数のメモリユニット(101)間に等しく格納される、上項7の共有ECC回路。
12.二重誤り訂正―三重誤り検出が可能なECCコードをさらに備える、上項7の共有ECC回路。
13.前記半導体メモリはキャッシュである、上項7の共有ECC回路。
【0033】
【発明の効果】
本発明によれば、データエラー(データ誤り)を検出ないし訂正するためのエラーチェックビット用のメモリ空間を低減することができる。
【図面の簡単な説明】
【図1】従来技術の誤り訂正符号回路のブロック図である。
【図2】共有誤り訂正符号回路のブロック図である。
【図3a】図2の共有誤り訂正符号回路とともに使用される誤り訂正符号ブロックのブロック図である。
【図3b】図2の共有誤り訂正符号回路とともに使用される誤り訂正符号ブロックのブロック図である。
【図4】図2の誤り訂正符号回路とともに使用することが可能なSEC−DED誤り訂正符号を表すマトリクスの一部を示す。
【符号の説明】
100 共有ECC回路
101 メモリブロック
102 ECCセル
103 共有ECCブロック

Claims (3)

  1. 半導体メモリにおいて誤りを検出して訂正する方法であって、
    前記メモリをM個のメモリブロックに区分けするステップであって、前記M個のメモリブロックの各々は、誤り訂正符号(ECC)の各符号ワード毎にk個のデータビットを含むことが可能であり、前記k個のデータビットは、共通のECCブロックによって生成された複数のECCビットに関連することからなる、ステップと、
    前記M個のメモリブロックに対してr個の誤り訂正符号(ECC)ビットを割り当てるステップであって、rの値は積M×kと使用されるECC符号のタイプを使用して決定されることからなる、ステップと、
    前記r個のECCビットを前記M個のメモリブロック間に分散させるステップであって、前記M個のメモリブロックは、ECCビットの生成のために、及び、誤り検出と誤り訂正のために、前記共通のECCブロックを共有することからなる、ステップ
    を含む方法。
  2. 複数のメモリユニットを有する半導体メモリとともに動作する共有誤り訂正符号(ECC)回路であって、前記複数のメモリユニットの各々が、複数のデータビットを含むことが可能であり、前記共有誤り訂正符号(ECC)回路が、
    複数のECCセルであって、各々のECCセルが、前記複数のメモリユニットの各々に対応する複数のECCセルと、
    ECCビットを生成する共通ECCブロック
    とを備え、
    前記複数の全てのECCセルにおけるECCビットの総数、前記複数のメモリユニットに格納されたデータビットの総数に関連し、前記ECCビットが、前記複数のメモリユニット間に分散され、前記複数のメモリユニットが、ECCビットの生成のために、及び、誤り検出と誤り訂正のために、前記共通ECCブロックを共有し、前記ECCビットが、前記複数のメモリユニットにおける複数のビット誤りを訂正することからなる、共有誤り訂正符号(ECC)回路。
  3. 複数のメモリユニットを有する半導体メモリとともに動作する共有誤り訂正符号(ECC)回路であって、前記複数のメモリユニットの各々が、複数のデータビットを含むことが可能であり、前記共有誤り訂正符号(ECC)回路が、
    複数のECCセルであって、各々のECCセルが、前記複数のメモリユニットの各々に対応する複数のECCセルと、
    ECCビットを生成する共通ECCブロック
    とを備え、
    前記複数の全てのECCセルにおけるECCビットの総数、前記複数のメモリユニットに格納されたデータビットの総数に関連し、前記ECCビットが、前記複数のメモリユニット間に分散され、前記複数のメモリユニットが、ECCビットの生成のために、及び、誤り検出と誤り訂正のために、前記共通ECCブロックを共有し、前記ECCビットが、前記複数のメモリユニット間に非対称に分散されることからなる、共有誤り訂正符号(ECC)回路。
JP2001021307A 2000-02-04 2001-01-30 メモリ設計のための共有式誤り訂正 Expired - Fee Related JP4071940B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/498496 2000-02-04
US09/498,496 US6662333B1 (en) 2000-02-04 2000-02-04 Shared error correction for memory design

Publications (3)

Publication Number Publication Date
JP2001249854A JP2001249854A (ja) 2001-09-14
JP2001249854A5 JP2001249854A5 (ja) 2005-07-21
JP4071940B2 true JP4071940B2 (ja) 2008-04-02

Family

ID=23981328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001021307A Expired - Fee Related JP4071940B2 (ja) 2000-02-04 2001-01-30 メモリ設計のための共有式誤り訂正

Country Status (2)

Country Link
US (1) US6662333B1 (ja)
JP (1) JP4071940B2 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6725343B2 (en) * 2000-10-05 2004-04-20 Hewlett-Packard Development Company, L.P. System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system
US7162644B1 (en) 2002-03-29 2007-01-09 Xilinx, Inc. Methods and circuits for protecting proprietary configuration data for programmable logic devices
US7117421B1 (en) * 2002-05-31 2006-10-03 Nvidia Corporation Transparent error correction code memory system and method
US8386797B1 (en) * 2002-08-07 2013-02-26 Nvidia Corporation System and method for transparent disk encryption
US20040083334A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
US7237172B2 (en) * 2002-12-24 2007-06-26 Micron Technology, Inc. Error detection and correction in a CAM
US7403640B2 (en) * 2003-10-27 2008-07-22 Hewlett-Packard Development Company, L.P. System and method for employing an object-oriented motion detector to capture images
KR100716972B1 (ko) * 2004-02-19 2007-05-10 삼성전자주식회사 기록/재생 방법
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
JP4831599B2 (ja) 2005-06-28 2011-12-07 ルネサスエレクトロニクス株式会社 処理装置
KR100746225B1 (ko) * 2006-02-13 2007-08-03 삼성전자주식회사 반도체 메모리 장치 및 이를 구비한 메모리 시스템
US7506226B2 (en) 2006-05-23 2009-03-17 Micron Technology, Inc. System and method for more efficiently using error correction codes to facilitate memory device testing
JP4648255B2 (ja) * 2006-06-26 2011-03-09 アラクサラネットワークス株式会社 情報処理装置および情報処理方法
JP4247262B2 (ja) * 2006-09-29 2009-04-02 株式会社東芝 集積回路装置
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
JP4864762B2 (ja) * 2007-02-19 2012-02-01 株式会社東芝 半導体記憶装置
US8949684B1 (en) * 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8190972B2 (en) * 2008-09-15 2012-05-29 Lsi Corporation Error checking and correction overlap ranges
KR20100098969A (ko) * 2009-03-02 2010-09-10 삼성전자주식회사 에러 정정 코드들의 신뢰성을 향상시킬 수 반도체 장치, 이를 포함하는 반도체 시스템, 및 에러 정정 코드 처리 방법
US8468421B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Memory system for error checking fetch and store data
KR20120063329A (ko) * 2010-12-07 2012-06-15 삼성전자주식회사 에러 체크 및 정정기 및 그것을 포함하는 메모리 시스템
JP2012174088A (ja) * 2011-02-23 2012-09-10 Hitachi Ltd メモリ制御装置
US8612834B2 (en) * 2011-03-08 2013-12-17 Intel Corporation Apparatus, system, and method for decoding linear block codes in a memory controller
US8677205B2 (en) 2011-03-10 2014-03-18 Freescale Semiconductor, Inc. Hierarchical error correction for large memories
US9189329B1 (en) 2011-10-13 2015-11-17 Marvell International Ltd. Generating error correcting code (ECC) data using an ECC corresponding to an identified ECC protection level
US8959417B2 (en) 2011-11-23 2015-02-17 Marvell World Trade Ltd. Providing low-latency error correcting code capability for memory
US8914712B2 (en) * 2012-02-27 2014-12-16 Freescale Semiconductor, Inc. Hierarchical error correction
US8910017B2 (en) 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition
WO2015047334A1 (en) * 2013-09-27 2015-04-02 Intel Corporation Error correction in non_volatile memory
KR102193682B1 (ko) 2014-08-01 2020-12-21 삼성전자주식회사 선택적 ecc 기능을 갖는 반도체 메모리 장치
JP6515555B2 (ja) * 2015-02-02 2019-05-22 富士通株式会社 演算処理装置、メモリ制御装置及び演算処理装置の制御方法
US9800271B2 (en) * 2015-09-14 2017-10-24 Qualcomm Incorporated Error correction and decoding
US11061771B2 (en) 2019-03-01 2021-07-13 Micron Technology, Inc. Extended error detection for a memory device
DE102019212813A1 (de) * 2019-08-27 2021-03-04 Robert Bosch Gmbh Verfahren und Überprüfungseinheit zum Überprüfen von Daten in einer Speichereinheit eines System-on-a-Chip
KR20210081534A (ko) 2019-12-24 2021-07-02 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
US11438015B2 (en) 2020-07-10 2022-09-06 Taiwan Semiconductor Manufacturing Company, Ltd. Two-level error correcting code with sharing of check-bits
CN112420119B (zh) * 2020-12-11 2023-05-30 西安紫光国芯半导体有限公司 包含转换模块的存储器以及阵列单元模块
US11687405B2 (en) 2021-12-01 2023-06-27 Western Digital Technologies, Inc. Centralized SRAM error location detection and recovery mechanism
US12164376B2 (en) 2022-01-03 2024-12-10 Samsung Electronics Co., Ltd. Storage device including mapping memory and method of operating the same
KR20240082072A (ko) * 2022-12-01 2024-06-10 삼성전자주식회사 에러 정정 코드, 에러 정정 코드를 포함하는 메모리 장치, 및 에러 정정 코드의 동작 방법
US20260010430A1 (en) * 2023-04-20 2026-01-08 Bae Systems Information And Electronic Systems Integration Inc. Bit spreading technique for radiation hardened error resistant memory system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5172379A (en) * 1989-02-24 1992-12-15 Data General Corporation High performance memory system
US5164944A (en) * 1990-06-08 1992-11-17 Unisys Corporation Method and apparatus for effecting multiple error correction in a computer memory
US5206865A (en) * 1990-12-17 1993-04-27 Motorola, Inc. Error detection and correction memory system
US5291498A (en) * 1991-01-29 1994-03-01 Convex Computer Corporation Error detecting method and apparatus for computer memory having multi-bit output memory circuits
US5490155A (en) * 1992-10-02 1996-02-06 Compaq Computer Corp. Error correction system for n bits using error correcting code designed for fewer than n bits
US5481552A (en) * 1993-12-30 1996-01-02 International Business Machines Corporation Method and structure for providing error correction code for 8-byte data words on SIMM cards
US5666371A (en) * 1995-02-24 1997-09-09 Unisys Corporation Method and apparatus for detecting errors in a system that employs multi-bit wide memory elements
US5734664A (en) * 1995-06-23 1998-03-31 Fujitsu Limited Method and apparatus to efficiently store error codes
US5922080A (en) * 1996-05-29 1999-07-13 Compaq Computer Corporation, Inc. Method and apparatus for performing error detection and correction with memory devices
US5978953A (en) * 1996-12-19 1999-11-02 Compaq Computer Corporation error detection and correction
US5978952A (en) * 1996-12-31 1999-11-02 Intel Corporation Time-distributed ECC scrubbing to correct memory errors
US5896404A (en) * 1997-04-04 1999-04-20 International Business Machines Corporation Programmable burst length DRAM
US6038693A (en) 1998-09-23 2000-03-14 Intel Corporation Error correction scheme for an integrated L2 cache
US6353910B1 (en) * 1999-04-09 2002-03-05 International Business Machines Corporation Method and apparatus for implementing error correction coding (ECC) in a dynamic random access memory utilizing vertical ECC storage

Also Published As

Publication number Publication date
US6662333B1 (en) 2003-12-09
JP2001249854A (ja) 2001-09-14

Similar Documents

Publication Publication Date Title
JP4071940B2 (ja) メモリ設計のための共有式誤り訂正
US6009548A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US6044483A (en) Error propagation operating mode for error correcting code retrofit apparatus
EP0535086B1 (en) Multiple error correction in a computer memory
EP0989491B1 (en) Technique for partioning data to correct memory part failures
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
US6754858B2 (en) SDRAM address error detection method and apparatus
US6976194B2 (en) Memory/Transmission medium failure handling controller and method
US7644348B2 (en) Method and apparatus for error detection and correction
US7587658B1 (en) ECC encoding for uncorrectable errors
US7162678B2 (en) Extended error correction codes
US6584595B2 (en) Technique for correcting single-bit errors in caches with sub-block parity bits
US5313475A (en) ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US6751769B2 (en) (146,130) error correction code utilizing address information
US4740968A (en) ECC circuit failure detector/quick word verifier
US7076723B2 (en) Error correction codes
US5663969A (en) Parity-based error detection in a memory controller
EP0186719A1 (en) Device for correcting errors in memories
US20030061558A1 (en) Double error correcting code system
US7873895B2 (en) Memory subsystems with fault isolation
US20220276924A1 (en) Techniques for storing data to enhance recovery and detection of data corruption errors
JPS61261896A (ja) 半導体記憶装置
JPH04308947A (ja) エラー検出/修正装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070905

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070910

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071204

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: 20080108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080118

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4071940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120125

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20140125

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees