JP2003115197A - 固体記憶装置における誤り訂正符号化および復号化 - Google Patents

固体記憶装置における誤り訂正符号化および復号化

Info

Publication number
JP2003115197A
JP2003115197A JP2002210534A JP2002210534A JP2003115197A JP 2003115197 A JP2003115197 A JP 2003115197A JP 2002210534 A JP2002210534 A JP 2002210534A JP 2002210534 A JP2002210534 A JP 2002210534A JP 2003115197 A JP2003115197 A JP 2003115197A
Authority
JP
Japan
Prior art keywords
ecc
data
encoded data
storage
stored
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.)
Pending
Application number
JP2002210534A
Other languages
English (en)
Other versions
JP2003115197A5 (ja
Inventor
James A Davis
ジェイムス・アンドリュー・デイビス
Jonathan Jedwab
ジョナサン・ジェドワーブ
David H Mcintyre
デイビッド・エイチ・マッキンタイヤ
Kenneth Graham Paterson
ケネス・グラハム・パターソン
Frederick A Perner
フレデリック・エイ・パーナー
Gadiel Seroussi
ガディエル・セルーシ
K Smith Kenneth
ケネス・ケイ・スミス
Stewart R Wyatt
スチュワート・アール・ワイアット
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 JP2003115197A publication Critical patent/JP2003115197A/ja
Publication of JP2003115197A5 publication Critical patent/JP2003115197A5/ja
Pending 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 【課題】格納されたECC符号化テ゛ータを誤り訂正復号化す
るための方法の提供。 【解決手段】磁気抵抗固体記憶装置(MRAM)は、誤り訂正
符号化(ECC)を用いてECC符号化された記憶テ゛ータを作成す
る。読取り操作において、装置の記憶セル(16)からハ゜ラメータ
値が得られて範囲と比較され、消去情報と共に論理ヒ゛ット
値が確立される。消去情報は、ハ゜ラメータの評価から記憶セル
(16)の物理的な障害により影響を受けていると思われる
シンホ゛ル(206)をECC符号化テ゛ータのフ゛ロック(204)において識別
する。障害があると思われるシンホ゛ル(206)の場所がこの消
去情報からわかり、ECC復号化を行うテ゛コータ゛(22)の能力
が大幅に強化される。

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、一般に、誤り訂正
符号化(error correction coding:ECC)を使用す
る固体記憶装置に関し、具体的には、この装置に格納さ
れたECC符号化データの誤り訂正復号化の方法に関す
る。 【0002】 【従来の技術】典型的な固体記憶装置は、データを格納
するための記憶セルの1つ以上の2次元アレイからな
る。既存の半導体技術は、揮発性のダイナミックランダ
ムアクセスメモリ(DRAM)のような比較的短期間の
データ記憶、あるいはFLASHや不揮発性のスタティ
ックランダムアクセスメモリ(SRAM)のような比較
的長期間のデータ記憶に適した固体記憶装置を提供して
いる。最近、新しいタイプの固体記憶装置として磁気抵
抗記憶装置が開発された。また、磁気抵抗固体記憶装置
は、磁気ランダムアクセスメモリ(MRAM)として知
られている。MRAM装置は、不揮発性であり、消費電
力が比較的小さく、特にデータ書込み操作のアクセス時
間が比較的速く、これにより、MRAM装置は、短期と
長期の両方の記憶用途に理想的に適している。 【0003】固体記憶装置は物理的障害を受けやすく、
その結果として容認できない記憶データの損失が生じる
可能性があるため、問題が生じる。詳細には、MRAM
装置のために現在使用可能な製造技術には限界があり、
その結果、受け入れ可能なMRAM装置の製造歩留まり
は比較的低い。さらに優れた製造技術が開発されている
が、そのような技術は、製造の複雑さとコストを高める
傾向がある。したがって、より低いコストの製造技術を
利用し、同時に装置の歩留まりを高めることが望まし
い。さらに、シリコンなどの基板上に形成されるセルの
密度を高めることが望ましいが、密度が高くなると、製
造公差の制御がますます困難になり、それにより障害率
が高くなって、装置の歩留まりが下がる。 【0004】 【発明が解決しようとする課題】本発明の目的は、固体
記憶装置に格納されたECC符号化データを誤り訂正復
号化するための方法を提供することであり、ECC方式
の有効性を最大にし、および/または誤り訂正符号化と
関連したオーバヘッドを減少させることができる。好ま
しい目的は、比較的多数の物理的障害を許容できるその
ような方法を提供することである。 【0005】 【課題を解決するための手段】本発明の第1の態様によ
れば、複数の記憶セルを有する固体記憶装置に格納され
たECC符号化データを誤り訂正復号化するための方法
であって、1組の記憶セルからパラメータ値を取得する
ステップと、取得したパラメータ値を使用して、格納さ
れたECC符号化データのブロックを生成するステップ
と、取得したパラメータ値を使用して、格納されたEC
C符号化データのブロックに関する消去情報を作成する
ステップと、消去情報を基準として、格納されたECC
符号化データのブロックを誤り訂正復号化するステップ
とからなる方法が提供される。 【0006】パラメータ値は、1組の記憶セルを読み取
ることにより得られることが好ましく、またこの方法
は、記憶装置からの読み取り操作の一部として実行され
ることが好ましい。 【0007】論理値は、取得したパラメータ値を基準と
して、取得したパラメータ値からの消去情報の作成と別
に、またはその作成と組み合わせて生成されることが好
ましい。論理値および/または消去情報は、取得したパ
ラメータ値を1つ以上の範囲と比較することによって適
切に作成される。論理値と消去情報は、任意の適切な形
態で生成され得る。1つの例において、論理ビット値
は、各ビットの値に関するハード判断によって決定さ
れ、あるいは、ビットは、それに応じて生成された障害
および消去情報として決定される。第2の例において、
各ビットが論理値を割り当てられるか、または障害とし
て指定される相対的確実性に関してソフト判断が行われ
る。 【0008】好適な実施形態において、装置は、固体磁
気抵抗記憶装置である。この場合、取得したパラメータ
値は、一組の記憶セルのそれぞれの抵抗値または時間値
であることが適しており、取得したパラメータ値は、所
望の組の記憶セルのそれぞれを活性化するために行およ
び列の制御線に沿って印加されるセンス電流から得られ
ることが適切である。 【0009】消去情報は、論理値がパラメータ値から得
られない場合または不確実である場合に、符号化データ
のブロック内の1つ以上のシンボルを識別することが好
ましい。 【0010】消去情報を基準として格納されたECC符
号化データのブロックを誤り訂正復号化することによ
り、各シンボルの正しい値を計算することができ、格納
されたECC符号化データからオリジナル情報を回復さ
せることができる。ECC符号化データのブロック内の
ゼロまたはそれより多くのシンボル誤りの場所が、消去
情報によって与えられ、これにより、訂正されたシンボ
ル値が計算し易くなることが適切である。 【0011】必要に応じて、この方法は、同じ組の記憶
セルを適切に使用することによって、訂正した符号化デ
ータを記憶装置に書き戻すステップを含む。この書き戻
す操作は、消去情報を基準として、訂正した符号化デー
タを記憶セルに書き戻すように選択的に実行されること
が好ましい。書き戻すステップは、訂正したデータを、
物理的障害の影響を受けたと判断された記憶セルに選択
的に書き戻さないステップを含むことが好ましい。 【0012】この方法は、装置に格納したいオリジナル
情報の論理単位を受け取る最初のステップと、オリジナ
ル情報を符号化してECC符号化データのブロックを形
成するステップと、ECC符号化データのブロックを記
憶セルのアレイに格納するステップとを含むことが好ま
しい。オリジナル情報の各論理単位は、512バイトな
どのセクタに対応することが好ましい。オリジナル情報
セクタを符号化することにより、好ましくは4つのコー
ドワードからなる符号化セクタが形成される。この場
合、各コードワードは、ECC符号化データの別個のブ
ロックとして扱われることが好ましい。 【0013】本発明の第2の態様によれば、記憶セルの
少なくとも1つのアレイと、1組の記憶セルからパラメ
ータ値を取得し、取得したパラメータ値を使用して格納
されたECC符号化データのブロックを生成するための
アレイコントローラであって、取得したパラメータ値を
使用して格納されたECC符号化データのブロックの消
去情報を作成することを含むアレイコントローラと、消
去情報を基準として、格納されたECC符号化データの
ブロックを復号化するためのECC復号化ユニットとを
含む固体記憶装置が提供される。 【0014】本発明の第3の態様によれば、磁気抵抗記
憶セルの少なくとも1つのアレイと、オリジナル情報を
受け取り、ECC符号化データのブロックを形成するた
めのECC符号化ユニットと、ECC符号化データのブ
ロックを記憶セルのアレイに格納するためのコントロー
ラと、1組の記憶セルからパラメータ値を取得し、取得
したパラメータ値を使用して格納されたECC符号化デ
ータのブロックを生成するためのアレイコントローラで
あって、取得したパラメータ値を使用して格納されたE
CC符号化データのブロックの消去情報を作成すること
を含むアレイコントローラと、消去情報を基準として、
格納されたECC符号化データのブロックを復号化する
ためのECC復号化ユニットとを含む磁気抵抗固体記憶
装置が提供される。 【0015】本発明をより良く理解するために、および
本発明の実施形態が如何にして実行できるかを示すため
に、次に一例として添付図面を参照する。 【0016】 【発明の実施の形態】本発明の好適な実施形態につい
て、特に磁気抵抗固体記憶装置の例に関連して詳細に説
明する。しかしながら、本発明は、固体記憶装置の任意
の適切な形態に適用することができ、MRAM装置に限
定されない。 【0017】本発明を完全に理解しやすくするために、
まず、MRAM装置に見られる障害のメカニズムの説明
を含む図1に関連して、MRAM装置の例について説明
する。本発明の好適な実施形態に採用されている誤り訂
正符号(ECC)の符号化および復号化方法は、そのよ
うな物理的障害の悪影響を最小限にすることを目的とし
ており、図2〜図5に関連して説明される。 【0018】図1は、記憶セル16のアレイ10からな
る簡素化された磁気抵抗固体記憶装置1を示す。アレイ
10は、他の制御要素中でも特にECC符号化および復
号化ユニット22を含むコントローラ20に結合されて
いる。コントローラ20とアレイ10は、1つの基板上
に形成されてもよく、あるいは別々に配置されてもよ
い。 【0019】好適な1つの実施形態において、アレイ1
0は、約1024×1024個の記憶セルからなるが、
そのうちのいくつかだけを図示する。セル16はそれぞ
れ、制御線12と14の交点に形成される。この例で
は、制御線12が、行に配列され、制御線14が、列に
配列されている。必要な記憶セル(単数または複数)1
6にアクセスするために1つの行12と1つ以上の列1
4(またはこれと反対に、アレイの配置によっては1つ
の列といくつかの行)が選択される。行と列の線は、複
数の読取り/書込み制御回路を含む制御回路18に結合
されることが適切である。実施態様により、1つの列に
1つの読取り/書込み制御回路が設けられるか、または
列の間で読取り/書込み制御回路が多重化または共用さ
れる。この例において、制御線12および14は、ほぼ
直交しているが、他のより複雑な格子構造も可能であ
る。 【0020】現時点で好適なMRAM装置の読み取り操
作において、制御回路18によって、アレイ10内で1
つの行線12といくつかの列線14(図1で太い線で表
した)が活性化され、そのような活性化されたセルから
一組のデータが読み取られる。この操作は、スライスと
呼ばれる。この例における行は、1024個の記憶セル
の長さlであり、アクセスされる記憶セル16は、読み
取りプロセスでのセル間干渉を最小にするために、例え
ば64個のセルの最小読み取り距離mだけ離される。し
たがって、各スライスは、アクセスしたアレイから最大
l/m=1024/64=16ビットを提供する。 【0021】所望の記憶容量のMRAM装置を提供する
ために、複数の独立したアドレス指定可能なアレイ10
を配列してマクロアレイを形成することが好ましい。小
さい複数のアレイ10(通常は4つ)を階層化してスタ
ック(stack)を形成し、例えば複数のスタックを16
×16のレイアウトで一緒に配列すると好都合である。
各マクロアレイは、16×18×4または16×20×
4のレイアウト(幅×高さ×スタック層として表わし
た)を有することが好ましい。必要に応じて、MRAM
装置は、複数のマクロアレイを含む。現時点で好適なM
RAM装置では、各スタック内の4つのアレイのうちの
1つだけにいつでもアクセスすることができる。したが
って、マクロアレイからのスライスは、複数のアレイ1
0のサブセットの1つの行から1組のセルを読み取り、
このサブセットは、各スタック内の1つのアレイである
ことが好ましい。 【0022】各記憶セル16は、数値、好ましくは2進
値、すなわち1または0を適切に表す1ビットのデータ
を格納する。各記憶セルは、平行と逆平行として知られ
る2つの安定した磁化の向きのうちの1つの向きの磁化
を帯びる2つのフィルムを含むことが適切である。磁化
の向きは、記憶セルの抵抗に影響を及ぼす。記憶セル1
6が逆平行状態のとき、抵抗は最も高く、磁気記憶セル
が平行状態のとき、抵抗は最も低い。逆平行状態は、0
の論理状態を定義し、平行状態は、1の論理状態を定義
し、またはその逆も成り立つ。さらなる背景情報とし
て、EP−A−0918334(ヒューレット・パッカ
ード社)は、本発明の好適な実施形態に使用するのに適
した磁気抵抗固体記憶装置の1つの例を開示する。 【0023】概して信頼できるが、装置が記憶セル16
にデータを確実に記憶する能力に影響を及ぼす障害が生
じる可能性があることが分かった。MRAM装置内の物
理的障害は、製造上の欠陥、読取りプロセスにおける雑
音などの内部的影響、温度や周囲の電気磁気ノイズなど
の環境的影響、または使用における装置のエージングを
含む多くの原因から生じる可能性がある。一般に、この
障害は、システム的障害または偶発的障害として分類す
ることができる。システム的障害は、一貫して、1つの
特定の記憶セルまたは記憶セルの特定のグループに影響
を及ぼす。偶発的障害は、一時的に生じ、ずっと繰り返
すことはない。一般に、システム的障害は、製造上の欠
陥とエージングの結果として生じ、偶発的障害は、内部
の影響と外部の環境的影響に応じて生じる。 【0024】障害は、きわめて好ましくなく、装置内の
少なくともいくつかの記憶セルを確実に読み書きできな
いことを意味する。障害による影響を受けたセルは、読
み取り不能になることがあり、その場合、セルから論理
値を読み取ることができなかったり、またはその論理値
を信頼できなくなることがあり、その場合、セルから読
み取った論理値は、セルに書き込まれた値と必ずしも同
じではない(例えば、「1」を書き込んだが「0」が読
み取られる)。装置の記憶容量と信頼性が大きな影響を
受けることがあり、最悪の場合は、装置全体が使用でき
なくなる。 【0025】障害のメカニズムは多くの形態をとり、そ
の中で特に以下の例を示す。 1.短絡ビット(shorted bit)−記憶セルの抵抗が予
想よりかなり低い。短絡ビットは、同じ行と同じ列にあ
るすべての記憶セルに影響を及ぼす傾向がある。 2.開放ビット(open bit)−記憶セルの抵抗が予想よ
りもかなり高い。開放ビットは、常にではないが、同じ
行または列あるいはその両方にあるすべての記憶セルに
影響を及ぼす可能性がある。 3.半選択(half select)ビット−特定の行または列
の記憶セルへの書き込みにより、同じ行または列内の別
の記憶セルの状態が変化する。したがって、半選択を受
けやすいセルは、同じ行または列内の任意の記憶セルへ
の書き込みアクセスに応じて状態を変化させる可能性が
あり、その結果として格納されたデータが信頼できなく
なる。 4.単一障害ビット−特定の記憶セルが故障するが(例
えば、常に「0」に固定される)、他の記憶セルに影響
を及ぼさず、他の記憶セルの活動による影響を受けな
い。 【0026】これら4つの障害のメカニズム例はそれぞ
れ、同じ記憶セルが一貫して影響を受けるという点で、
システム的である。障害のメカニズムが、1つのセルだ
けに影響を及ぼす場合、これは、孤立障害(isolated f
ailure)と呼ぶことができる。障害のメカニズムが1群
のセルに影響を及ぼす場合、これは、グループ障害(gr
ouped failure)と呼ぶことができる。 【0027】MRAM装置の記憶セルを使用して、任意
の適切な論理的レイアウトに従ってデータを格納するこ
とができるが、データは、さらにより大きな論理データ
単位(例えば、セクタ)にグループ化される基本データ
単位(例えば、バイト)に編成されることが好ましい。
物理的障害および特に多くのセルに影響を及ぼすグルー
プ障害は、多数のバイトに影響を及ぼし、多くのセクタ
に影響を及ぼす可能性がある。多量のデータが含まれる
ため、物理的障害の影響を受けるバイトなどの論理単位
についての情報を維持することは、効率的ではないこと
が分かった。すなわち、少なくとも1つの物理的障害に
よって使用できなくなったそのようなすべての論理単位
のリストを作成する試みは、大きすぎて効率よく処理で
きない大量の管理データを生成する傾向がある。さら
に、装置上にデータを編成する方法によっては、単一の
物理的障害が、多数の論理データ単位に潜在的に影響を
及ぼす可能性があり、その結果、障害による影響を受け
たすべてのバイト、セクタまたは他の単位の使用が回避
されるので、実質的に装置の記憶容量が減少する。例え
ば、たった1つの記憶セルの短絡ビット障害などのグル
ープ障害が、同じ行または同じ列にある他の多くの記憶
セルに影響を及ぼす。したがって、単一の短絡ビット障
害が、同じ行にある他の1023個のセルと、同じ列に
ある1023個のセルに影響を及ぼし、合計2027個
のセルが影響を受けるかもしれない。そのような影響を
受けた2027個のセルは、多数のバイトおよび多数の
セクタの一部分を構成することがあり、それぞれのセル
は、単一のグループ障害によって使用できなくされる。 【0028】製造上の障害の数を減らし装置の寿命を長
くするために、製造プロセスと装置構造にいくつかの改
良が行われてきたが、これに伴って、通常、製造のコス
トと複雑さが高まり、装置の歩留まりが低下する。 【0029】本発明の好適な実施形態は、誤りに強い磁
気抵抗固体記憶装置を提供するために誤り訂正符号化を
使用し、好ましくは偶発的障害とシステム的障害の両方
を許容しそれらの障害から回復する。一般に、誤り訂正
符号化は、格納したいオリジナル情報を受け取り、誤り
を識別し理想的に訂正することができる符号化データを
形成する必要がある。符号化データは、固体記憶装置に
格納される。読み取り時に、符号化された記憶データを
誤り訂正復号化することによって、オリジナル情報が回
復される。幅広い範囲の誤り訂正符号化(ECC)方式
を使用することができ、それらを単独または組合せて使
用することができる。適切なECC方式には、単一ビッ
トシンボルによる方式(例えば、BCH)と、複数ビッ
トシンボルによる方式(例えば、リード−ソロモン)の
両方が含まれる。 【0030】誤り訂正符号化に関する一般的な背景情報
として、W.W. PetersonとE.J. Weldon,Jr.による「Erro
r-Correcting Codes」第2版、第12刷、1994年、
MITPress、Cambridge MAの出版物を参照されたい。 【0031】本発明の好適な実施形態で使用されるリー
ド−ソロモン符号に関するより具体的な参考文献は、E
D. S.B. WickerとV.K. Bhargavaによる「Reed-Solomon
Codesand their Applications」、IEEE Press、New Yor
k、1994年である。 【0032】図2は、本発明の好適な実施形態において
使用される論理データ構造の例を示す。オリジナル情報
200は、512バイトからなるセクタなどの所定の単
位で受け取られる。誤り訂正符号化は、符号化データ2
02のブロック、この場合は符号化セクタを作成するよ
うに実行される。符号化セクタ202は、単一ビット
(例えば、単一ビットシンボルによるBCH符号)とす
ることができるか、または複数ビット(例えば、複数ビ
ットシンボルを使用するリード−ソロモン符号)からな
ることができる複数のシンボル206を含む。好適なリ
ード−ソロモン符号化方式において、各シンボル206
は、8ビットからなることが好都合である。図2に示し
たように、符号化セクタ202は、4つのコードワード
204からなり、それぞれのコードワードは、約144
〜160のシンボルを含む。各シンボルに対応する8つ
のビットは、8つの記憶セル16に都合よく格納され
る。これらの8つの記憶セルのどれかに影響を及ぼす物
理的障害によって、1つ以上のビットが不確実になる
(すなわち、間違った値が読み取られる)か、または読
み取りできなくなり(すなわち、値を得ることができな
い)、間違ったシンボルが与えられる。 【0033】符号化データ202を誤り訂正復号化する
ことにより、間違ったシンボル206を識別し修正する
ことができる。好適なリード−ソロモン方式は、線形誤
り訂正符号の例であり、これは、符号の能力により所定
の最大数までの間違ったシンボル206を数学的に識別
して完全に訂正する。例えば、128のオリジナル情報
バイトに対応する160の8ビットシンボルと33個の
シンボルの最小距離を有するコードワードを生成する
[160,128,33]リード−ソロモン符号は、最
大16までのシンボル誤りを探して訂正することができ
る。使用されるECC方式は、実質的にすべての場合
に、能力が符号化データ202からオリジナル情報20
0を回復するのに十分な状態で選択されるのが適当であ
る。きわめて希に、オリジナル情報200を回復できな
いほど多くの障害の影響を受けた符号化データ202の
ブロックに遭遇する。また、さらにきわめて希に、障害
が誤訂正をもたらし、この場合、符号化データ202か
ら回復された情報がオリジナル情報200と等しくなく
なる。仮に回復された情報が、オリジナル情報に対応し
ていないとしても、誤訂正を容易に判定することはでき
ない。 【0034】格納された符号化データのブロックからオ
リジナル情報を回復することができない確率、または誤
訂正が生じる確率を最小にすることが望ましい。したが
って、本発明の好適な実施形態は、後で説明するよう
に、誤り訂正符号化方式の有効な使用を改善することを
目的とする。 【0035】図3は、図1のMRAM装置1などの固体
記憶装置に格納されたデータを回復するための好適な方
法の概略を示す。記憶データは、図2に示したようなフ
ォーマットに誤り訂正符号化されることが好ましい。 【0036】ステップ301は、固体記憶装置の複数の
記憶セル16にアクセスすることを含む。複数の記憶セ
ルは、コードワード204などのデータのブロックに対
応することが好ましい。行と列の制御線12および14
を使って複数のセル16にアクセスすることによって、
複数の読み取り操作が実行されることが適切である。 【0037】ステップ302は、ステップ301で行わ
れたアクセスの結果として、パラメータ値を取得するこ
とを含む。装置の物理的特性を測定することによって、
各記憶セルのパラメータ値を判定することが適切であ
る。MRAM装置の場合、適切な特性には、センス電流
または応答時間が含まれ、それぞれを使用して、記憶セ
ルの磁気抵抗状態を判定することができる。必要に応じ
て、各セルについて複数のパラメータ値が取得される。 【0038】ステップ303は、取得したパラメータ値
から論理ビット値を生成することを含む。検出されたパ
ラメータ値が、1つの予想範囲(または、複数の範囲)
と比較され、その範囲内にある場合、2進値の1または
0などの論理値が得られる。 【0039】必要に応じて、障害が生じた場合、一時的
または偶発的な誤りを回避する期待をもって、ただちに
ステップ301および302が繰り返される。しかしな
がら、特に現時点で使用可能なMRAM装置では、コー
ドワード204または符号化セクタ202などの任意の
特定のデータブロックにわずかな数のシステム的障害が
予想される。 【0040】ステップ304は、消去情報を生成するこ
とを含む。論理値を取得することができなかった場合、
または論理値が不確実であると考えられる場合に、それ
らのシンボルを識別する消去情報が生成されることが好
ましい。理想的には、消去情報は、ステップ303の論
理値生成に関連して生成される。消去情報は、取得した
パラメータ値から直接的に生成されることができ、また
は1つ以上の中間ステップを伴って間接的に得ることが
できる。 【0041】ステップ305は、ステップ303で生成
されたシンボル論理値を使用して、ステップ304で生
成された消去情報を考慮して、格納された符号化データ
のブロックを誤り訂正復号化することを含む。後で説明
するように、消去情報は、格納された符号化データを正
確に復号化する能力を大幅に高める。 【0042】ステップ306は、回復された情報とし
て、復号化ステップ305からの出力を提供することを
含む。好適な実施形態において、誤り訂正符号化方式の
能力は、ECC方式のオーバヘッドを障害のあるシンボ
ルに遭遇する可能性とつり合わせるように選択される。
ほぼすべての実用的な場合において、障害の数は、訂正
するためのデコーダの能力の範囲内であり、オリジナル
情報200が回復されて、ステップ306で出力され
る。回復できないか、または間違って訂正された記憶符
号化データブロックによってオリジナル情報が失われる
ことは、きわめて希である。 【0043】次に、図1のMRAM装置1の特定の例を
参照して、図3の方法を詳しく説明する。 【0044】概略的に言うと、セルのアクセスは、読み
取り操作を含むことが好ましく、この場合、読み取り電
圧が、選択された記憶セル16にセンス電流を流す行お
よび列の制御線12、14に沿って印加され、この記憶
セル16は、2つの磁気薄膜の平行または逆平行の配向
によって決まる抵抗を有する。特定の記憶セルの抵抗
は、スピントンネル効果として知られる現象によって決
まり、セルは、磁気トンネル接合記憶セルと呼ばれるこ
とがある。記憶セルの状態は、アクセスされる記憶セル
のそれぞれに関する1つ以上のパラメータ値を与える、
センス電流(抵抗に比例する)または既知のキャパシタ
ンスを放電するための応答時間などの関連パラメータを
測定することによって判定される。MRAM装置の性質
および構造によって、読み取り操作は、複数のステップ
を含むこともあり、組み合わされた読み取りと再書き込
み動作を必要とすることもある。 【0045】論理値を生成するため、好ましくは消去情
報を生成するために、取得したパラメータ値が、1つ以
上の範囲と比較される。ほとんどすべての場合、比較に
よって、各セルの論理値(例えば、1または0)を確立
することができる。しかしながら、この比較により、少
なくともいくつかの物理的障害の形態を都合よく識別す
ることもできる。例えば、少なくともいくつかのMRA
M装置では、短絡ビット障害によって、特定の行と特定
の列のすべてのセルの抵抗値がきわめて低くなることが
確認されている。また、開放ビット障害によって、特定
の行と列のすべてのセルの抵抗値がきわめて高くなる可
能性がある。取得したパラメータ値を範囲と比較するこ
とによって、短絡ビット障害や開放ビット障害などの障
害によって影響を受けたセルを、高い確度で識別するこ
とができる。 【0046】図5は、特定のセルが、ある一定のパラメ
ータ値、この場合、左側の曲線の論理「0」または右側
の曲線の論理「1」に対応する抵抗(r)を有する確率
(p)の説明上の例としてのグラフである。任意のスケ
ールとして、確率は0から1で示され、抵抗は0から1
00%でプロットされている。抵抗のスケールは、5つ
の範囲に分割されている。範囲601では、抵抗値がき
わめて低く、予想範囲は、妥当な確度でもって短絡ビッ
ト障害を表す。範囲602では、予想範囲内にある低い
抵抗値を表し、この低い抵抗値は、この例では、論理
「0」と等しいものとして判定される。範囲603は、
論理値をどの確度でも確認することができない中間の抵
抗値を表す。範囲604は、論理「1」を表す高い抵抗
範囲である。範囲605は、高い確度でもって開放ビッ
ト障害を予測することができるきわめて高い抵抗値であ
る。図6に示した予想範囲は単なる例示であり、MRA
M装置1の物理的構造、記憶セルにアクセスする態様、
および取得したパラメータ値により、他の多くの実行可
能な手段が利用できる。範囲は、例えば、温度などの環
境的要因、アレイ内の特定のセルおよびその位置に影響
を及ぼす要因、またはセル自体の性質および使用される
アクセスのタイプによって適切に較正される。 【0047】検出されたパラメータ値を範囲と比較した
結果、セルが障害と識別された場合、符号化データの対
応する部分が、消去としてマークされる。現時点で好適
な実施形態において、各記憶セル16は、2進値の1ま
たは0を表す1つの論理ビット値を格納し、シンボル2
06を形成するために複数のビットが収集される。消去
情報は、任意の1つ以上のビットが障害のある記憶セル
に対応する場合にシンボル206が消去として指定(de
clare)される基準で作成されることが好ましい。 【0048】論理値と消去情報は、任意の適切な形態で
表すことができる。1つの例において、論理ビット値
は、各ビットの値に関するハード判断(hard decisio
n)で判定され、あるいはビットは、それに応じて生成
される障害および消去情報として決定される。第2の例
において、各ビットが論理値を割り当てられるか、また
は障害として指定される相対的確実性に関してソフト判
断(soft decision)が行われることが好ましい。理想
的には、論理的シンボル値と消去情報は、ECCデコー
ダ22への1つの入力(または複数の入力)を構成する
ように構成される。 【0049】ECCの分野の当業者は精通しているよう
に、使用可能な誤り訂正符号により、所定数の全誤りを
訂正することができ(すなわち、シンボル誤りの場所が
未知で、シンボル値が未知の場合)、その所定数の2倍
の消去(すなわち、シンボル誤りの場所が既知で、シン
ボル値だけが未知のままの場合)、またはこれらの2つ
の組合せを訂正することができる。例えば、好適な[1
60,128,33]リード−ソロモン符号は、最大1
6までの誤りまたは最大32までの消去(または、20
の消去と6つの全誤りなどの組合せ)を数学的に訂正す
ることができる。したがって、ステップ305の誤り訂
正複合化は、ステップ304で生成された消去情報を使
用して、この消去情報が使用できない状況に比べて多数
の誤りを訂正することができる。 【0050】図3を参照して前に考察した方法におい
て、パラメータの評価は、特に、MRAM装置における
短絡ビット障害や開放ビット障害などの障害のいくつか
の形態を判定する際に役立つ。これとは対照的に、半選
択などのシステム的障害は、パラメータ試験を使用して
それほど簡単に検出することができないが、そのような
障害の影響は、誤り訂正復号化を実行することによって
容易に見つけられる。したがって、パラメータ試験と誤
り訂正符号化を組み合わせることによって、新しいMR
AM技術によって提供された大きな利点を利用すると同
時に現在の製造技術の制限を最小にすることができる実
用的な装置が提供される。 【0051】図4は、MRAM装置を制御するためのも
う1つの好適な方法を示す。一般に、この方法は、図3
の方法と類似しており、訂正したデータをMRAM記憶
アレイに書き戻すことからなるステップ405が追加さ
れている。誤りの伝搬を回避するために、ステップ40
4でECC復号化を実行して得られた訂正データが、記
憶セルに書き戻される。デコーダへの入力としての符号
化データは、デコーダの出力と比較され、デコーダによ
って変更された(すなわち、訂正された)シンボルはす
べてアレイに書き戻されることが適切である。しかしな
がら、この書き戻し操作は、遅延を招き、MRAM装置
の全体的な動作を遅くする。したがって、ステップ40
5は、訂正したデータを選択的に書き戻すことを含むこ
とが好ましい。理想的には、訂正したデータは、良好な
記憶セルにだけ書き戻され、訂正したデータは、障害の
ある記憶セルには書き戻されない。この例では、何組か
の記憶セル(例えば、シンボル206に対応する)が、
消去情報からシステム的障害を含むことが知られてい
る。したがって、そのような記憶セルを使用する次の読
み取り操作は、ほとんど確実に同じ障害に遭遇すること
になるので、そのような記憶セルへの訂正データの書き
戻しは無駄である。ステップ405の訂正データの書き
戻しは、ステップ403で得られた消去情報に基づいて
実行されることが好ましい。すなわち、ステップ403
で消去として識別されたシンボルはどれも、ステップ4
05で訂正データの書き戻しに使用されない。 【0052】磁気抵抗固体記憶装置およびそのような装
置を制御するための方法について説明してきた。有利な
点は、記憶装置は、誤り訂正符号化の使用によってシス
テム的障害と一時的障害の両方を含む比較的多数の誤り
を許容することができ、同時にオリジナルデータの損失
のない動作を首尾良く維持する。より簡単で低コストの
製造技術が使用され、および/または装置歩留まりと装
置密度が高められる。誤り訂正符号化および復号化によ
って、障害が1つでも発生した場合に普通ならブロック
全体を破棄しなければならないデータブロック(例え
ば、セクタ、コードワード)を依然として使用すること
ができる。有利な点は、記憶セルのパラメータの評価か
ら消去情報を生成することによって、誤り訂正復号化を
大幅に改善できる。格納された符号化データの誤り訂正
オーバヘッドを減少させ、および/または同じオーバヘ
ッドに対してより高性能な誤り訂正を得ることができ
る。 【0053】本明細書で説明したMRAM装置は、理想
的には、従来の任意の固体記憶装置の代わりに使用する
のに適している。詳細には、MRAM装置は、理想的に
は、短期記憶装置(例えば、キャッシュメモリ)または
長期記憶装置(例えば、固体ハードディスク)としての
使用の双方に適している。MRAM装置は、コンピュー
ティングプラットフォームなどの単一の機器内の短期記
憶と長期記憶の両方に使用することができる。 【0054】本発明は、MRAM装置の環境に特有の問
題、およびそのようなMRAM装置に見られる障害のメ
カニズムの性質の結果として生まれたが、驚くべきこと
に、本発明が、まったく異なる形態の物理的障害と様々
な物理的障害の公算を有する他の形態の固体記憶装置に
も適用可能であることが分かった。それぞれの場合にお
いて、消去情報を生成することにより、使用可能な誤り
訂正符号化方式が大幅に強化されることが分かった。 【0055】以下においては、本発明の種々の構成要件
の組み合わせからなる例示的な実施形態を示す。 1.複数の記憶セルを有する固体記憶装置に格納された
ECC符号化データを誤り訂正復号化するための方法で
あって、1組の記憶セルからパラメータ値を取得するス
テップと、前記取得したパラメータ値を使用して、格納
されたECC符号化データのブロックを生成するステッ
プと、前記取得したパラメータ値を使用して、前記格納
されたECC符号化データのブロックの消去情報を作成
するステップと、及び前記消去情報を基準として、前記
格納されたECC符号化データのブロックを誤り訂正復
号化するステップとからなる、方法。 2.前記1組の記憶セルを読み取るステップを含む、上
記1の方法。 3.前記取得したパラメータ値を基準として論理値を生
成するステップを含む、上記1の方法。 4.前記取得したパラメータ値を範囲と比較するステッ
プを含む、上記1の方法。 5.前記装置が、磁気抵抗固体記憶装置である、上記1
の方法。 6.前記取得したパラメータ値が、前記1組の記憶セル
のそれぞれに対する抵抗値または時間値を含み、前記取
得したパラメータ値が、センス電流から得られる、上記
5の方法。 7.前記作成するステップが、前記取得したパラメータ
値を範囲と比較して、前記記憶セルの中の物理的障害を
推測するステップを含む、上記1の方法。 8.前記生成するステップが、前記符号化データのブロ
ックの複数のシンボルの論理値を生成するステップを含
み、前記作成するステップが、1つ以上の前記シンボル
を消去として識別するステップを含む、上記1の方法。 9.前記パラメータ値から論理値を得ることができない
場合に、前記消去情報が、前記符号化データのブロック
内の1つ以上のシンボルを識別する、上記8の方法。 10.前記パラメータ値から得られた論理値が信頼でき
ないと考えられる場合に、前記消去情報が、前記符号化
データのブロック内の1つ以上のシンボルを識別する、
上記8の方法。 11.前記復号化するステップが、前記消去情報を基準
として、前記符号化データのブロック内のゼロまたはそ
れよりも多くの誤りの場所を識別するステップと、それ
ぞれの識別した誤りを、計算された正しい値と置き換え
るステップを含む、上記1の方法。 12.前記復号化するステップが、前記消去情報を使用
して、前記符号化データのブロック内のゼロまたはそれ
よりも多くの障害のあるシンボルの場所を識別するステ
ップと、識別したそれぞれの障害のあるシンボルを、計
算された正しい値と置き換えるステップを含む、上記8
の方法。 13.訂正した符号化データを前記記憶セルに書き戻す
ステップを含む、上記1の方法。 14.前記書き戻すステップが、前記消去情報を基準と
して、訂正した符号化データを前記記憶セルに選択的に
書き戻すステップを含む、上記13の方法。 15.前記書き戻すステップが、訂正した符号化データ
を、物理的障害による影響を受けたと判定された記憶セ
ルに選択的に書き戻さないステップを含む、上記14の
方法。 16.オリジナル情報の論理単位を符号化してECC符
号化データのブロックを作成するステップと、前記EC
C符号化データのブロックを前記記憶セルのアレイに格
納するステップとをさらに含み、前記復号化するステッ
プが、前記ECC符号化データの格納されたブロックか
ら前記オリジナル情報の論理単位を回復することを試み
る、上記1の方法。 17.固体記憶装置であって、記憶セルの少なくとも1
つのアレイと、1組の前記記憶セルからパラメータ値を
取得し、前記取得したパラメータ値を使用して格納され
たECC符号化データのブロックを生成するためのアレ
イコントローラであって、前記取得したパラメータ値を
使用して、前記格納されたECC符号化データのブロッ
クの消去情報を作成することを含む、アレイコントロー
ラと、前記消去情報を基準として、前記格納されたEC
C符号化データのブロックを復号化するためのECC復
号化ユニットとを含む、固体記憶装置。 18.前記固体記憶装置が、磁気抵抗固体記憶装置であ
る、上記17の装置。 19.磁気抵抗固体記憶装置であって、磁気抵抗記憶セ
ルの少なくとも1つのアレイと、オリジナル情報を受け
取り、ECC符号化データのブロックを作成するための
ECC符号化ユニットと、前記ECC符号化データのブ
ロックを前記記憶セルのアレイに格納するためのコント
ローラと、1組の前記記憶セルからパラメータ値を取得
し、その取得したパラメータ値を使用して格納されたE
CC符号化データのブロックを生成するためのアレイコ
ントローラであって、前記取得したパラメータ値を使用
して、前記格納されたECC符号化データのブロックの
消去情報を作成することを含む、アレイコントローラ
と、及び前記消去情報を基準として、前記格納されたE
CC符号化データのブロックを復号化するためのECC
復号化ユニットとを含む、磁気抵抗固体記憶装置。 20.上記19による磁気抵抗記憶装置を組み込む、機
器。 【0056】 【発明の効果】本発明により、記憶装置は、誤り訂正符
号化の使用によってシステム的障害と一時的障害の両方
を含む比較的多数の誤りを許容することができ、同時に
オリジナルデータの損失のない動作を首尾良く維持する
ことが可能になる。また、より簡単で低コストの製造技
術を使用し、および/または装置歩留まりと装置密度を
高めることが可能になる。さらに、記憶セルのパラメー
タの評価から消去情報を生成することによって、誤り訂
正復号化を大幅に改善することが可能となり、格納され
た符号化データの誤り訂正オーバヘッドを減少させ、お
よび/または同じオーバヘッドに対してより高性能な誤
り訂正を得ることが可能になる。
【図面の簡単な説明】 【図1】記憶セルのアレイを含む好適なMRAM装置を
示す概略図である。 【図2】好適な論理データ構造を示す図である。 【図3】MRAM装置を制御するための好適な方法を示
す図である。 【図4】任意の訂正データ書き戻しを有するMRAM装
置を制御するための好適な方法を示す図である。 【図5】MRAM装置の記憶セルから取得したパラメー
タ値を示すグラフである。 【符号の説明】 10 アレイ 12、14 制御線 16 記憶セル 18 制御回路 20 コントローラ 22 ECC符号化および復号化ユニット
【手続補正書】 【提出日】平成14年10月10日(2002.10.
10) 【手続補正1】 【補正対象書類名】図面 【補正対象項目名】図1 【補正方法】変更 【補正内容】 【図1】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョナサン・ジェドワーブ イギリス国ロンドン・エヌ14・5エスビ ー,サウスゲート,シャムロック・ウェ イ・5 (72)発明者 デイビッド・エイチ・マッキンタイヤ アメリカ合衆国アイダホ州83713,ボイス, ウェスト・ウッドスプリング・ストリー ト・13076 (72)発明者 ケネス・グラハム・パターソン イギリス国ミドルセックス・ティーダブリ ュ11・8イージー,テディントン,バイカ レージ・ロード・13 (72)発明者 フレデリック・エイ・パーナー アメリカ合衆国カリフォルニア州94306, パロアルト,ラモナ・ストリート・3234 (72)発明者 ガディエル・セルーシ アメリカ合衆国カリフォルニア州95014, クパーチノ,ミルキー・ウェイ・1123 (72)発明者 ケネス・ケイ・スミス アメリカ合衆国アイダホ州83713,ボイス, ウェスト・レイダー・ドライブ・11776 (72)発明者 スチュワート・アール・ワイアット アメリカ合衆国アイダホ州83704,ボイス, バーンスデイル・ドライブ・10476 Fターム(参考) 5B001 AA03 AA11 AB02 AB03 AB05 AC02 AD03 AE07 5J065 AA01 AB01 AC03 AD11 AE06 AF03 AH06 AH17 5L106 BB12 GG07

Claims (1)

  1. 【特許請求の範囲】 【請求項1】複数の記憶セルを有する固体記憶装置に格
    納されたECC符号化データを誤り訂正復号化するため
    の方法であって、 1組の記憶セルからパラメータ値を取得するステップ
    と、 前記取得したパラメータ値を使用して、格納されたEC
    C符号化データのブロックを生成するステップと、 前記取得したパラメータ値を使用して、前記格納された
    ECC符号化データのブロックの消去情報を作成するス
    テップと、及び前記消去情報を基準として、前記格納さ
    れたECC符号化データのブロックを誤り訂正復号化す
    るステップとからなる、方法。
JP2002210534A 2001-07-25 2002-07-19 固体記憶装置における誤り訂正符号化および復号化 Pending JP2003115197A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/915194 2001-07-25
US09/915,194 US7036068B2 (en) 2001-07-25 2001-07-25 Error correction coding and decoding in a solid-state storage device

Publications (2)

Publication Number Publication Date
JP2003115197A true JP2003115197A (ja) 2003-04-18
JP2003115197A5 JP2003115197A5 (ja) 2005-10-27

Family

ID=25435382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002210534A Pending JP2003115197A (ja) 2001-07-25 2002-07-19 固体記憶装置における誤り訂正符号化および復号化

Country Status (3)

Country Link
US (3) US7036068B2 (ja)
JP (1) JP2003115197A (ja)
DE (1) DE10233642B4 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007047150A1 (de) 2006-12-28 2008-07-03 Mitsubishi Electric Corp. Elektroniksteuerung
US7688617B2 (en) 2005-10-18 2010-03-30 Nec Corporation MRAM and operation method of the same
JP2012022726A (ja) * 2009-09-28 2012-02-02 Toshiba Corp 磁気メモリ
US8281221B2 (en) 2005-10-18 2012-10-02 Nec Corporation Operation method of MRAM including correcting data for single-bit error and multi-bit error
JP2013025835A (ja) * 2011-07-19 2013-02-04 Toshiba Corp 不揮発性半導体記憶装置
US8510633B2 (en) 2007-04-17 2013-08-13 Nec Corporation Semiconductor storage device and method of operating the same
CN104601179A (zh) * 2014-12-12 2015-05-06 北京麓柏科技有限公司 一种存储系统纠删码编码、解码电路及编解码电路
US9201725B2 (en) 2012-11-01 2015-12-01 Samsung Electronics Co., Ltd. Memory module, memory system having the same, and methods of reading therefrom and writing thereto

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981196B2 (en) * 2001-07-25 2005-12-27 Hewlett-Packard Development Company, L.P. Data storage method for use in a magnetoresistive solid-state storage device
US7036068B2 (en) * 2001-07-25 2006-04-25 Hewlett-Packard Development Company, L.P. Error correction coding and decoding in a solid-state storage device
US20030023922A1 (en) * 2001-07-25 2003-01-30 Davis James A. Fault tolerant magnetoresistive solid-state storage device
US6973604B2 (en) 2002-03-08 2005-12-06 Hewlett-Packard Development Company, L.P. Allocation of sparing resources in a magnetoresistive solid-state storage device
US6704230B1 (en) * 2003-06-12 2004-03-09 International Business Machines Corporation Error detection and correction method and apparatus in a magnetoresistive random access memory
US6751147B1 (en) * 2003-08-05 2004-06-15 Hewlett-Packard Development Company, L.P. Method for adaptively writing a magnetic random access memory
US7191379B2 (en) * 2003-09-10 2007-03-13 Hewlett-Packard Development Company, L.P. Magnetic memory with error correction coding
US7325157B2 (en) * 2003-11-03 2008-01-29 Samsung Electronics Co., Ltd Magnetic memory devices having selective error encoding capability based on fault probabilities
US7472330B2 (en) * 2003-11-26 2008-12-30 Samsung Electronics Co., Ltd. Magnetic memory which compares compressed fault maps
US6999366B2 (en) 2003-12-03 2006-02-14 Hewlett-Packard Development Company, Lp. Magnetic memory including a sense result category between logic states
GB2415873A (en) * 2004-06-30 2006-01-04 Nokia Corp Erasure information generation in Forward Error Correction decoding
FR2875352B1 (fr) * 2004-09-10 2007-05-11 St Microelectronics Sa Procede de detection et de correction d'erreurs pour une memoire et circuit integre correspondant
KR101061116B1 (ko) * 2004-09-15 2011-08-31 엘지전자 주식회사 이동통신 시스템에서 상향링크 제어정보 전송 방법 및수신측에서의 제어정보의 복호 방법
US7526715B2 (en) * 2005-10-17 2009-04-28 Ramot At Tel Aviv University Ltd. Probabilistic error correction in multi-bit-per-cell flash memory
US7512847B2 (en) * 2006-02-10 2009-03-31 Sandisk Il Ltd. Method for estimating and reporting the life expectancy of flash-disk memory
EP1830269B1 (en) * 2006-03-02 2009-05-13 STMicroelectronics S.r.l. Reading method of a memory device with embedded error-correcting code and memory device with embedded error-correcting code
US20080114546A1 (en) * 2006-11-15 2008-05-15 Space Systems/Loral, Inc. Image navigation and registration accuracy improvement using parametric systematic error correction
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US9116823B2 (en) * 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
JP2008300020A (ja) * 2007-06-04 2008-12-11 Toshiba Corp 再生装置
US8055975B2 (en) 2007-06-05 2011-11-08 Apple Inc. Combined single error correction/device kill detection code
US8429492B2 (en) * 2007-11-30 2013-04-23 Marvell World Trade Ltd. Error correcting code predication system and method
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8458536B2 (en) * 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
US7894250B2 (en) * 2009-03-17 2011-02-22 Seagate Technology Llc Stuck-at defect condition repair for a non-volatile memory cell
US8301987B2 (en) * 2009-10-29 2012-10-30 Sandisk Il Ltd. System and method of decoding data with reduced power consumption
WO2011073940A1 (en) * 2009-12-17 2011-06-23 International Business Machines Corporation Data management in solid state storage systems
WO2012106332A1 (en) 2011-01-31 2012-08-09 Everspin Technologies, Inc. Method of writing to a spin torque magnetic random access memory
US9311969B2 (en) * 2011-07-22 2016-04-12 Sandisk Technologies Inc. Systems and methods of storing data
US9128869B2 (en) * 2011-09-29 2015-09-08 Micron Technology, Inc. Systems and methods involving managing a problematic memory cell
US9110829B2 (en) * 2012-11-30 2015-08-18 Taiwan Semiconductor Manufacturing Co. Ltd. MRAM smart bit write algorithm with error correction parity bits
US20150317204A1 (en) * 2014-04-30 2015-11-05 Lsi Corporation Systems and Methods for Efficient Data Refresh in a Storage Device
US9819362B2 (en) * 2015-03-27 2017-11-14 Intel Corporation Apparatus and method for detecting and mitigating bit-line opens in flash memory
US10243587B2 (en) * 2017-02-08 2019-03-26 Hewlett Packard Enterprise Developmetn LP Managing results from list decode methods
JP2019079377A (ja) 2017-10-26 2019-05-23 東芝メモリ株式会社 半導体記憶装置
US11455210B1 (en) * 2021-04-26 2022-09-27 Micron Technology, Inc. Error detection and correction in memory

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4069970A (en) 1976-06-24 1978-01-24 Bell Telephone Laboratories, Incorporated Data access circuit for a memory array
US4209846A (en) 1977-12-02 1980-06-24 Sperry Corporation Memory error logger which sorts transient errors from solid errors
US4216541A (en) 1978-10-05 1980-08-05 Intel Magnetics Inc. Error repairing method and apparatus for bubble memories
US4458349A (en) 1982-06-16 1984-07-03 International Business Machines Corporation Method for storing data words in fault tolerant memory to recover uncorrectable errors
JPH0778968B2 (ja) * 1986-02-14 1995-08-23 株式会社日立製作所 軟判定復号方法
US4939694A (en) 1986-11-03 1990-07-03 Hewlett-Packard Company Defect tolerant self-testing self-repairing memory system
US4914657A (en) 1987-04-15 1990-04-03 Allied-Signal Inc. Operations controller for a fault tolerant multiple node processing system
US4845714A (en) * 1987-06-08 1989-07-04 Exabyte Corporation Multiple pass error correction process and apparatus for product codes
CA2019351A1 (en) * 1989-07-06 1991-01-06 Francis H. Reiff Fault tolerant memory
JPH03108044A (ja) * 1989-09-21 1991-05-08 Nec Corp 記憶装置
JPH03244218A (ja) 1990-02-21 1991-10-31 Nec Corp ブロック符号復号装置及びその受信語信頼性評価方法
US5233614A (en) * 1991-01-07 1993-08-03 International Business Machines Corporation Fault mapping apparatus for memory
US5263030A (en) * 1991-02-13 1993-11-16 Digital Equipment Corporation Method and apparatus for encoding data for storage on magnetic tape
US5504760A (en) * 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
JPH05203708A (ja) 1992-01-28 1993-08-10 Fujitsu Ltd 順序回路の縮退故障テスト方法
US5502728A (en) 1992-02-14 1996-03-26 International Business Machines Corporation Large, fault-tolerant, non-volatile, multiported memory
US5321703A (en) * 1992-03-13 1994-06-14 Digital Equipment Corporation Data recovery after error correction failure
US5459742A (en) 1992-06-11 1995-10-17 Quantum Corporation Solid state disk memory using storage devices with defects
US5593351A (en) * 1992-07-06 1997-01-14 Culp; Gordon W. Axially stiff link
US5590306A (en) * 1992-09-08 1996-12-31 Fuji Photo Film Co., Ltd. Memory card management system for writing data with usage and recording codes made significant
US5428630A (en) * 1993-07-01 1995-06-27 Quantum Corp. System and method for verifying the integrity of data written to a memory
US5488691A (en) * 1993-11-17 1996-01-30 International Business Machines Corporation Memory card, computer system and method of operation for differentiating the use of read-modify-write cycles in operating and initializaiton modes
ATE216096T1 (de) * 1994-02-22 2002-04-15 Siemens Ag Flexible fehlerkorrekturcode/paritätsbit- architektur
IT1274925B (it) 1994-09-21 1997-07-29 Texas Instruments Italia Spa Architettura di memoria per dischi a stato solido
US5582874A (en) * 1994-11-29 1996-12-10 United Container Machinery Group, Inc. Method for coating corrugating rolls using high velocity oxygen fueled thermal spray
US5621690A (en) * 1995-04-28 1997-04-15 Intel Corporation Nonvolatile memory blocking architecture and redundancy
US5953351A (en) 1995-09-15 1999-09-14 International Business Machines Corporation Method and apparatus for indicating uncorrectable data errors
US5708771A (en) 1995-11-21 1998-01-13 Emc Corporation Fault tolerant controller system and method
US6112324A (en) * 1996-02-02 2000-08-29 The Arizona Board Of Regents Acting On Behalf Of The University Of Arizona Direct access compact disc, writing and reading method and device for same
JPH09212411A (ja) 1996-02-06 1997-08-15 Tokyo Electron Ltd メモリシステム
JPH09330273A (ja) 1996-06-10 1997-12-22 Mitsubishi Electric Corp メモリカードおよびメモリカードにおける誤り訂正方法
US5864569A (en) * 1996-10-18 1999-01-26 Micron Technology, Inc. Method and apparatus for performing error correction on data read from a multistate memory
US5793795A (en) * 1996-12-04 1998-08-11 Motorola, Inc. Method for correcting errors from a jamming signal in a frequency hopped spread spectrum communication system
JPH10261043A (ja) 1997-03-19 1998-09-29 Toshiba Corp 復合方法および復号装置およびバーコード処理システム
JP3867862B2 (ja) * 1997-04-16 2007-01-17 株式会社ルネサステクノロジ 半導体集積回路およびメモリの検査方法
US6009550A (en) * 1997-05-20 1999-12-28 Seagate Technology, Inc. PBA recovery apparatus and method for interleaved reed-solomon codes
US6223301B1 (en) 1997-09-30 2001-04-24 Compaq Computer Corporation Fault tolerant memory
US6275965B1 (en) * 1997-11-17 2001-08-14 International Business Machines Corporation Method and apparatus for efficient error detection and correction in long byte strings using generalized, integrated, interleaved reed-solomon codewords
US6169686B1 (en) 1997-11-20 2001-01-02 Hewlett-Packard Company Solid-state memory with magnetic storage cells
US5852574A (en) * 1997-12-24 1998-12-22 Motorola, Inc. High density magnetoresistive random access memory device and operating method thereof
US6279133B1 (en) 1997-12-31 2001-08-21 Kawasaki Steel Corporation Method and apparatus for significantly improving the reliability of multilevel memory architecture
EP0936743A1 (fr) * 1998-02-17 1999-08-18 Koninklijke Philips Electronics N.V. Décodage itératif pour codes binaires en bloc
JPH11306750A (ja) 1998-04-20 1999-11-05 Univ Kyoto 磁気型半導体集積記憶装置
JP3308908B2 (ja) 1998-08-20 2002-07-29 沖電気工業株式会社 伝送システム
US6408401B1 (en) * 1998-11-13 2002-06-18 Compaq Information Technologies Group, L.P. Embedded RAM with self-test and self-repair with spare rows and columns
US6381726B1 (en) * 1999-01-04 2002-04-30 Maxtor Corporation Architecture for soft decision decoding of linear block error correcting codes
US7219368B2 (en) * 1999-02-11 2007-05-15 Rsa Security Inc. Robust visual passwords
US6584589B1 (en) 2000-02-04 2003-06-24 Hewlett-Packard Development Company, L.P. Self-testing of magneto-resistive memory arrays
US6856572B2 (en) 2000-04-28 2005-02-15 Matrix Semiconductor, Inc. Multi-headed decoder structure utilizing memory array line driver with dual purpose driver device
US6483740B2 (en) * 2000-07-11 2002-11-19 Integrated Magnetoelectronics Corporation All metal giant magnetoresistive memory
US6456525B1 (en) * 2000-09-15 2002-09-24 Hewlett-Packard Company Short-tolerant resistive cross point array
US6684353B1 (en) * 2000-12-07 2004-01-27 Advanced Micro Devices, Inc. Reliability monitor for a memory array
US6407953B1 (en) * 2001-02-02 2002-06-18 Matrix Semiconductor, Inc. Memory array organization and related test method particularly well suited for integrated circuits having write-once memory arrays
US6981196B2 (en) 2001-07-25 2005-12-27 Hewlett-Packard Development Company, L.P. Data storage method for use in a magnetoresistive solid-state storage device
US20030023922A1 (en) 2001-07-25 2003-01-30 Davis James A. Fault tolerant magnetoresistive solid-state storage device
US7036068B2 (en) 2001-07-25 2006-04-25 Hewlett-Packard Development Company, L.P. Error correction coding and decoding in a solid-state storage device
US6801471B2 (en) * 2002-02-19 2004-10-05 Infineon Technologies Ag Fuse concept and method of operation
US20030172339A1 (en) 2002-03-08 2003-09-11 Davis James Andrew Method for error correction decoding in a magnetoresistive solid-state storage device
US6973604B2 (en) 2002-03-08 2005-12-06 Hewlett-Packard Development Company, L.P. Allocation of sparing resources in a magnetoresistive solid-state storage device

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7688617B2 (en) 2005-10-18 2010-03-30 Nec Corporation MRAM and operation method of the same
US8281221B2 (en) 2005-10-18 2012-10-02 Nec Corporation Operation method of MRAM including correcting data for single-bit error and multi-bit error
DE102007047150A1 (de) 2006-12-28 2008-07-03 Mitsubishi Electric Corp. Elektroniksteuerung
CN101211286B (zh) * 2006-12-28 2010-04-07 三菱电机株式会社 电子控制装置
US8010872B2 (en) 2006-12-28 2011-08-30 Mitsubishi Electric Corporation Electronic controller
US8510633B2 (en) 2007-04-17 2013-08-13 Nec Corporation Semiconductor storage device and method of operating the same
JP2012022726A (ja) * 2009-09-28 2012-02-02 Toshiba Corp 磁気メモリ
JP2013025835A (ja) * 2011-07-19 2013-02-04 Toshiba Corp 不揮発性半導体記憶装置
US9201725B2 (en) 2012-11-01 2015-12-01 Samsung Electronics Co., Ltd. Memory module, memory system having the same, and methods of reading therefrom and writing thereto
US9483348B2 (en) 2012-11-01 2016-11-01 Samsung Electronics Co., Ltd. Memory module, memory system having the same, and methods of reading therefrom and writing thereto
CN104601179A (zh) * 2014-12-12 2015-05-06 北京麓柏科技有限公司 一种存储系统纠删码编码、解码电路及编解码电路

Also Published As

Publication number Publication date
US7036068B2 (en) 2006-04-25
US20030023911A1 (en) 2003-01-30
DE10233642B4 (de) 2010-11-11
US20030023923A1 (en) 2003-01-30
US6990622B2 (en) 2006-01-24
US7149949B2 (en) 2006-12-12
DE10233642A1 (de) 2003-02-20
US20030023927A1 (en) 2003-01-30

Similar Documents

Publication Publication Date Title
JP2003115197A (ja) 固体記憶装置における誤り訂正符号化および復号化
US7149948B2 (en) Manufacturing test for a fault tolerant magnetoresistive solid-state storage device
JP4905839B2 (ja) Mramの動作方法
CN107799155B (zh) 包括列冗余的存储装置
US10020072B2 (en) Detect developed bad blocks in non-volatile memory devices
US7107507B2 (en) Magnetoresistive solid-state storage device and data storage methods for use therewith
US10108509B2 (en) Dynamic enabling of redundant memory cells during operating life
US7210077B2 (en) System and method for configuring a solid-state storage device with error correction coding
US10659081B2 (en) Preprogrammed data recovery
US8510633B2 (en) Semiconductor storage device and method of operating the same
TWI528374B (zh) 記憶體錯誤修正方法以及記憶體錯誤修正裝置
US20100023840A1 (en) Ecc circuit, semiconductor memory device, memory system
US7325157B2 (en) Magnetic memory devices having selective error encoding capability based on fault probabilities
US20170186500A1 (en) Memory circuit defect correction
US20030172339A1 (en) Method for error correction decoding in a magnetoresistive solid-state storage device
US7266732B2 (en) MRAM with controller
EP1286360A2 (en) Manufacturing test for a fault tolerant magnetoresistive solid-state storage device
US20040141389A1 (en) Solid state storage device and data storage method
KR20170067656A (ko) Nand 플래시용 터보 프로덕트 코드

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050719

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060328

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060628

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060928

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070130