JP2014110071A - エラー訂正パリティビットによるmramスマートビット書き込みアルゴリズムの方法および装置 - Google Patents

エラー訂正パリティビットによるmramスマートビット書き込みアルゴリズムの方法および装置 Download PDF

Info

Publication number
JP2014110071A
JP2014110071A JP2013234140A JP2013234140A JP2014110071A JP 2014110071 A JP2014110071 A JP 2014110071A JP 2013234140 A JP2013234140 A JP 2013234140A JP 2013234140 A JP2013234140 A JP 2013234140A JP 2014110071 A JP2014110071 A JP 2014110071A
Authority
JP
Japan
Prior art keywords
bit
error
bits
memory
bit word
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
JP2013234140A
Other languages
English (en)
Inventor
Yue-Der Chih
育徳 池
Hung-Chang Yu
鴻昌 于
Kai-Chun Lin
楷竣 林
Chin-Yi Huang
進義 黄
Laun C Tran
シー トラン ルアン
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.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
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 Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of JP2014110071A publication Critical patent/JP2014110071A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • G06F11/1056Updating check bits on partial write, i.e. read/modify/write
    • 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/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • G06F11/1052Bypassing or disabling error detection or correction
    • 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
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1677Verifying circuits or methods
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0076Write operation performed depending on read result

Abstract

【課題】エラー訂正パリティビットによるMRAMスマートビット書き込みアルゴリズムを提供する。
【解決手段】本発明のある態様は方法に関連する。方法は、予期されるマルチビットワードを、メモリ中の記憶場所に書き込むのを試みる。マルチビットワードの書き込みが試みられた後、実際のマルチビットワードが記憶場所から読み出される。その後、実際のマルチビットワードは、予期されるマルチビットワードと比較されて、記憶場所に保存された誤りビットのグループ、および、正しいビットのグループを識別する。正しいビットのグループは記憶場所に再書き込みされないで、誤りビットのグループは、記憶場所に再書き込みされる。
【選択図】図3

Description

この出願は、2012年11月30日に出願されたYue-Der Chih等による“MRAM SMART BIT WRITE ALGORITHM WITH ERROR CORRECTION PARITY BITS”と題された米国特許仮出願番号61/732253号から、優先権を主張するものであり、その内容は引用によって本願に援用される。
コンピュータメモリは、デジタルデータを保存するように整えられた半導体デバイスを基礎とする技術で、且つ、コンピュータの基本要素である。磁気ランダムアクセスメモリ(MRAM)は、近年、注目を集めているメモリの一つである。MRAMは不揮発性で、電源がデバイスから切断される時でも、保存データを保持するが、揮発性メモリは、電源が切断されると、保存データを失う。現存の揮発性メモリと比較しても、MRAMは、DRAMよりもさらに低消費電力であるが、スタティックRAM(SRAM)と類似するパフォーマンスを提供し、ダイナミックRAM(DRAM)と同じ密度である。不揮発性であるフラッシュメモリと比較して、MRAMはさらに早く、且つ、劣化がほぼない。“ユニバーサルメモリ”の功能のこのように組み合わせは、SRAM、DRAM、EEPROMおよびフラッシュを代替することができる。
本発明は、エラー訂正パリティビットによるMRAMスマートビット書き込みアルゴリズムの方法および装置を提供することを目的とする。
本発明によると、方法は、予期されるマルチビットワードを、メモリ中の記憶場所に書き込む。マルチビットワードの書き込まれた後、実際のマルチビットワードを記憶場所から読み出す。その後、実際のマルチビットワードを、予期されるマルチビットワードと比較して、記憶場所に保存された誤りビットのグループ、および、正しいビットのグループを特定する。正しいビットのグループを記憶場所に再書き込みすることなく、誤りビットのグループを、記憶場所に再書き込みする。
本方法によれば、正しいビットの再書き込みをすることなく誤りビットのグループのみが、記憶場所に再書き込みされるので、各セルの書き込み回数を減少させることができ、セルの損傷を防止することができ、長寿命化を達成することができる。
好ましい態様による磁化が平行な状態を保存するMRAMメモリセルを示す図である。 好ましい態様による磁化が反平行な状態を保存するMRAMメモリセルを示す図である。 好ましい態様によるMRAMアレイを示す図である。 MRAMスマートビット書き込み操作の方法のフローチャートである。 MRAMスマートビット書き込み操作の方法のフローチャートである。 MRAMスマートビット書き込み操作の方法のフローチャートである。 スマートビット書き込み操作を実行する回路を有するMRAMメモリデバイスを示す図である。
本発明の態様は、改善された磁気ランダムアクセスメモリ(MRAM)技術に関連する。図1A〜1Bは、トンネルバリア層とも称される薄膜絶縁層106により分離される上強磁性板102と下強磁性板104を含むMRAMセル100を示す。二つの強磁性板の一つ、たとえば、下強磁性板104は、反強磁性層にピン(固定)される磁気層である。もう一つの強磁性板、たとえば、上強磁性板106はフリー磁性層で、二つ以上の値の一つに変化する磁界を有し、二つ以上の対応するデータ状態の一つを保存する。ある具体例において、MRAMセル100は、スピン注入磁化反転(STT)MRAMセルである。STT MRAMは、スピンの向きが揃った(spin-aligned)または分極させる(polarized)電子流を用いて、フリー磁性層をピン磁気層に相対して回転させる。全体に、STT MRAMは、従来のまたはトグルMRAMよりも、書き込み電流がそれほど必要ではない。
磁気トンネル効果のため、MRAMセル100の電気抵抗は、二つの強磁性板に保存された磁界に従って変化する。たとえば、図1Aで、上下の強磁性板102、104の磁界がアラインされているとき(図1A中の矢印108A、110A)、論理“0”状態に割り当てられる低抵抗状態になる。図1Bにおいて、電流はセル100を流れて、磁気フリー層(たとえば、上強磁性板102)の磁界に変化を起こさせることによって、この書込み操作後、上下の強磁性層の磁界は互いに反対で(図1B中の矢印110A、110B)、高抵抗状態を引き起こす。よって、二つの強磁性板102、104間の電気抵抗を測定することにより、メモリセル100に結合される読み出し回路は、“0”と“1”のデータ状態間を区別することができる。セルは、二つの状態以上を保存することも可能で(たとえば、読み出し回路は、二個以上の個々のセル中に保存される抵抗範囲間を区別することができる)、よって、セルは、マルチビットデジタル値を保存する。
図2に示されるように、これらの強磁性体メモリセル100は、配列されたM行(ワード)およびN列(ビット)のセルを含むアレイ200に配置され、個々のセルはCrow-columnと示される。ワードラインWL1,…,WLMはメモリセルの各行に延伸し、ビットラインBL1,…,BLNは列に沿って延伸する。
データ(たとえば、デジタルワード)をセルの行に書き込むため、ワードラインがアサートされて、行を選択し、且つ、適切なバイアスが個々のビットラインに加えられて、各値を選択された行の各セルに書き込む。たとえば、デジタルワード“1…0”を、行1中のメモリセルに書き込むため、WL1は高いパルス(たとえば、1.2〜2.2ボルト)が印加され、C11〜C1Nが選択される。同時に、BL1は論理“1”(たとえば、“1”をC1,1に書き込む)によりバイアスがかけられ、BLNは論理“0”(たとえば、“0”をC1,Nに書き込む)によりバイアスがかけられる。別の行(たとえば、行2〜行M)のワードライン電圧は、通常、非活性化で維持され(たとえば、0ボルト)、よって、マルチ行の書き込みがある実施で発生しても、データは、選択された行(たとえば、行1)だけに書き込まれる。
行(たとえば、マルチビットワード)で、複数のセルに、データが書き込まれ、または複数のセルから読み出される時、様々な要因のために、行で、データエラーが一つ以上のセル(たとえば、一つ以上のビット)に発生する。たとえば、セル上の欠陥は、メモリアクセス時、個々のセルに加えられるビットラインまたはワードライン電圧の小さい変動、または、メモリアレイ中の小さい製造上のばらつきが、誤りビットとなって、メモリアレイに書き込まれる。MRAMにおいて、特に、マルチビットワードの全ビットが書き込まれる時、ワードの幾つかのビットは“バックホッピング”効果の影響を受け、影響を受けたビットは、書き込まれた後、それらの状態がすぐに無効になる。メモリデバイスが何回もの書き込みサイクルを経た後、このバックホッピング効果は、さらに顕著になる(すなわち、メモリデバイスの老化に伴う)。
これらのバックホッピング問題の視点で、本発明は、スマートMRAMビット書込み操作と称される、改善された読み出しおよび書き込み操作を提供する。これらの改善された読み出しおよび書き込み操作において、最初、マルチビットワードがメモリに書き込まれ、その後、そのビットが正確に書き込まれているか確認する。正確に書き込まれたビットはそのまま維持される一方、ワード中の誤りビットは再書き込みがされる。つまり、誤りビットは、誤りビットだけに向けられるビットワイズ書込み操作で、再書き込みがされる。正確に書き込まれるビットは再書き込みされないので、この操作は、正確なデータを保存するセルの“バックホッピング”を制限する。また、少ない書込み操作を実行することと、全ワードが、常に、メモリに再書き込みされる技術とを比較すると、この操作は、個々のメモリセルが時間と共に劣化するのを制限する。誤りビットが繰り返しチェックされ、且つ、複数の再書込み操作でエラーが残る場合(即ち、“厄介な”および/または“重度な欠陥の”誤りビットの場合)、本発明は、また、誤り訂正符号(ECC)技術を提供して、それらの厄介なおよび/または重度な欠陥のビットの訂正を試みる。
図3は、MRAMに、スマートビット書き込み操作を実行する方法の具体例を示す図である。方法が説明され、一連の行為またはブロックとして描かれる。当然のことながら、ある実施では、ある行為またはブロックは、さらに、複数の行為またはブロックに細分される、または、説明される複数の行為またはブロックは別の実施で結合される。説明されない別の行為またはブロックも示されるおよび/または説明される行為またはブロックはある実施では省略される。また、行為またはブロックの順序は、別の実施例で、再度順序付けされる。これらの全ての変更は本発明の領域に含まれると考えられる。
複数の予期されるビットでなるワードが記憶場所に書き込まれる時、図3の方法300は、工程302から開始される。たとえば、目的を明確にするため、書き込まれるワードが、予期されるビット“10110010”でなる8ビットワードである例を考慮する。プログラミングエラー、欠陥、処理ばらつきおよび/または別の期待されないまたは予測不能な状況のため、実際にワードに書き込まれるデータビットは、これらの予期されるビットから逸脱する。
工程304で、方法300は、記憶場所から複数の実際のビットを読み出す。一般に、誤り訂正符号(ECC)は、現時点で、システムリソースを保護するために用いられない。上述の例に続き、メモリから読み出される実際のビットは“11000111”であることが考慮される。
工程306で、方法は、メモリから読み出される実際のビットとメモリに書き込むことを試みる予期されるビットを比較し、これにより、ワード中の誤りビットの識別が可能になる。予期されるビット“10110010”と実際のビット“11000111”の例において、実際のビット中の次のアンダーラインビットは誤りビット“11000111”である。
ワード中に誤りビットがある場合(工程308で、Y)、方法は、誤りビットが識別されるビット位置に、予期されるビットを再書き込みする工程310を続行する。これは、ビットワイズ書込み操作を実行し、誤りビットを訂正することにより行われる。この例に引き続き、予期されるビット中の次のアンダーラインビットは、ワードが保存される記憶場所に再書き込みされる:“10110010”、非アンダーラインビットは再書き込みされない。このビットワイズ書込み操作は、訂正ビットのデータ状態(アンダーラインがない)をそのまま維持するので、訂正ビットのバックホッピングの確率が減少し、これらの正しいセルの損耗が制限される。
工程310の後、方法は、312を続け、ワード中のデータが検証され、任意で、ECCを有効にする。つまり、実際のビットは記憶場所から再読み取りされ、予期されるビットと比較される。注意すべきことは、ある具体例において、工程310と312は、誤りビットを訂正する試みの中で、繰り返す方式で継続されることである(線314)。この例の目的のため、方法は、ワード中の単一ビットを訂正することができないと仮定し、よって、単一ビットは重度な欠陥である。例において、ECCは単一の誤りビットを訂正することができる場合には(工程316で、Y)、方法300は、工程318で、次のワードに移動する。
実際のビットが、ECCを用いて、最終的に、訂正可能でない場合(工程316で、N)、修正工程が、工程320で行われ、ワード全体のアドレスが、置換ワードとして作用するように確保された異なるワードにマップされる、または、個々の誤ったセル(個々の誤りビット)のアドレスが、置換ビットとして作用するために確保された異なる個々のビットにマップされる。注意すべきことは、ワード中に、誤りビットがない場合(工程308で、N)、方法は、工程308で、単純に、別のワードの処理を継続することである。
よって、方法300は、データが、メモリから正確に書き込まれるか(または読み出されるか)を確認する技術を提供すると共に、訂正された誤りビットに対し、バックホッピングの発生、および、デバイスの損耗を制限する。
図4は、MRAMで、スマートビット書き込み操作を実行する別の方法を示す図である。図4の方法400は、工程402で、複数の予期されるビットからなるワードが記憶場所に書き込まれる時開始される。再び、書き込まれるワードが、予期されるビット“10110010”からなる8ビットワードである例を考慮する。
工程404で、方法400は、記憶場所からワードを読み出す。一般に、誤り訂正符号(ECC)は、現時点で、システムリソースを保護するために用いられない。この読み出されたワードは、記憶場所から読み出される複数の実際のビットを含む。上述の例に続き、メモリから読み出される実際のビットが“11000111”であると考える。
工程406で、方法は、メモリから読み出される実際のビットとメモリに書き込まれる予期されるビットを比較して、これにより、ワード中で、誤りビットを識別する。予期されるビット“10110010”と実際のビット“11000111”の例において、実際のビット中の次のアンダーラインビットは、誤りビット“11000111”である。
ワードに誤りビットがある場合(工程408で、Y)、方法は、工程410を続行し、失敗回数を増加させる。
工程412で、方法は、工程410での失敗回数が、所定の失敗スレショルドを満たすまたは超過するか確認する。設計者はこの所定の失敗スレショルドを設定して、方法が、データを、与えられたワードに再書き込みする試みの回数を制御する。たとえば、データの正確さが最も重要で、且つ、書き込み速度がほとんど重要でない場合、失敗スレショルドは高い値に設定される;速い書き込み速度が最優先である場合、失敗スレショルドは低い値に設定される。当然のことながら、この方法は、失敗回数が、所定の失敗スレショルド以下であるかどうか確認する(たとえば、毎回失敗後の失敗回数が逓減する状況下であり、410で示される各失敗後の逓増ではない)、または、別の適当な関係を使用する。
失敗回数が、失敗スレショルドを満たすまたは超過する場合(工程412で、Y)、多くのデータを訂正する試みが、効果的になるように試みられ、方法は、工程414で、ECCを用いる一方、最後の読み出し操作とデータ比較を実行する。
工程416で、方法は、誤りビットの数量が、順調に、用いられるECCアルゴリズムの訂正可能なビットサイズと比較されるかどうかに留意することにより、ECCが、誤りビットを訂正することができるか判断する。たとえば、ECCビットの数量が、シングルビットエラーを訂正するだけで十分である場合、方法400は、誤りビットの数量と所定のECC訂正可能なビットサイズを比較する。この例で、誤りビットの数量が一つより大きい場合、ECCアルゴリズムは、エラーを訂正することができず(工程416で、N)、方法は工程418に進んで、欠陥のある記憶場所を修復または再配置することを試みる。一方、データが訂正可能な場合(工程416で、Y)、データが訂正され、次のワードが処理される。
工程412に戻り、失敗回数が失敗スレショルドより小さい場合(工程412で、N)、方法は、ワードに誤りビットを再書き込みすることにより、ビットの訂正の試みを続行する。工程420で、方法は、予期されるビットを誤りビットが識別されるビット位置に再書き込みする。これは、ビットワイズ書込み操作を実行して、誤りビットを訂正することにより行われる。前の例に引き続き、予期されるビット中の次のアンダーラインビットは、ワードに再書き込みされる:“10110010”、非アンダーラインビットは再書き込みされない。その後、方法は工程422を続行し、ワードでのデータが再読み出しがされ、この方法は、工程424で、予期されるビットと記憶場所から読み出される実際のビットを比較することにより、誤りビットが存在するか再度確認する。失敗回数の値が所定の失敗スレショルド以上になるまで(工程412で、Y)または全ビットが訂正されるまで(工程424で、N)、方法400は、この反復方式で再読み出しおよび再書き込みを継続する。
図5は、MRAMで、スマートビット書き込み操作を実行する別の方法を示す図である。どのようにエラーを識別し、および処理するかに取り組む工程502と504を除いて、図5の方法は、図4と同じである。図5の工程502において、誤りビットがワードで識別された後、方法500は、誤りビットが、ワードで、ECCビットだけに対応するか判断する。たとえば、8ビットワードの最初の7ビットがデータビット、且つ、最終ビットがECCビットである場合、方法は、シングルビットエラーがECCビットに限定されるか判断することができる。限定される場合(工程502で、Y)、方法は、フラグを設定して、このワードに対しECCビットを無視し、特に、ECCビットを訂正するため、幾つかの失敗の試みが発生する場合、ECCビットが重度な欠陥であることを意味する。方法は、また、残りの7ビットが、(現在、誤った)ECCビットにより保護されず、信頼性が低くても、ワードの残り7ビット中のデータに依存し続けることができる。そうでない場合(工程502で、N)、方法は次のワードを続行する。
図6は、好ましい態様によるMRAMデバイス600を示す図である。MRAMデバイス600は、いくつかのMRAMセルからなり、通常は、行と列に配列されるMRAMセル(メモリ)アレイ602を含む。書き込み回路604は、マルチビットワード(または個々のビット)をアレイ602に書き込み、読み出し回路606は、アレイ602から、マルチビットワードを読み出す。比較回路608は、アレイ602から読み出されるマルチビットワードと、前もってアレイ602に書き込まれる予期されるマルチビットワードを比較して、マルチビットワードで、誤りビットの数量を決定する。その後、マルチビットワードでの誤りビットの数量が、誤り訂正符号により訂正可能なビットサイズ以下になるまで、書き込み回路604は、ビットワイズ形式で、誤りビットの数量をメモリに書き込む。ECC回路610は、誤り訂正符号を用いて、マルチビットワードで、誤りビットを訂正する。MRAMデバイス600は、この明細書で記述される別の方法を実行するように設定される。
これにより、当然のことながら、本発明の好ましい態様は、方法に関連する。方法は、予期されるマルチビットワードを、メモリ中の記憶場所に書き込むことを試みる。マルチビットワードの書き込みが試みられた後、実際のマルチビットワードが記憶場所から読み出される。その後、実際のマルチビットワードは、予期されるマルチビットワードと比較されて、記憶場所に保存される誤りビットのグループを識別する。誤りビットのグループは、記憶場所に再書き込みされ、記憶場所に保存される正しいビットの再書き込みは行わない。
別の具体例は方法に関連する。この方法は、磁気ランダムアクセスメモリ(MRAM)で、予期されるマルチビットワードを記憶場所に書き込むことを試みる。マルチビットワードの書き込みを試みた後、方法は、記憶場所から、実際のマルチビットワードを読み出す。方法は、論理的に、実際のマルチビットワードと予期されるマルチビットワードを比較して、記憶場所中に保存される誤りビットのグループと正しいビットのグループを識別する。論理比較の結果に基づいて、方法は、選択的に、その誤りビットのグループを記憶場所に再書き込みし、正しいビットのグループは、記憶場所に再書き込みを行わない。
別の具体例はメモリデバイスに関連する。メモリデバイスは、メモリからマルチビットワードを読み出す読み出し回路を含む。比較回路は、メモリから読み出されるマルチビットワードと前もってメモリに書き込まれた予期されるマルチビットワードを比較して、マルチビットワードで、誤りビットのグループを決定する。マルチビットワードで、誤りビットの数量が、誤り訂正符号(ECC)により訂正可能なビットサイズ以下になるまで、書き込み回路は、誤りビットのグループをメモリに書き込む。エラー訂正回路は、誤り訂正符号を用いて、マルチビットワードで、誤りビットを訂正する。
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明を限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
100 MRAMセル
102 上強磁性板
104 下強磁性板
106 薄膜絶縁層
200 アレイ
600 MRAMデバイス
602 MRAMセルアレイ
604 書き込み回路
606 読み出し回路
608 比較回路
610 ECC回路

Claims (10)

  1. (a)予期されるマルチビットワードを、メモリ中の記憶場所に書き込むことを試みる工程と;
    (b)前記マルチビットワードの書き込みを試みた後、前記記憶場所から、実際のマルチビットワードを読み出す工程と;
    (c)前記実際のマルチビットワードと前記予期されるマルチビットワードを比較して、前記記憶場所中に保存される誤りビットのグループおよび正しいビットのグループを識別する工程;および、
    (d)前記正しいビットのグループを前記記憶場所に再書き込みすることなく、前記誤りビットのグループを前記記憶場所に再書き込みする工程、
    を含むことを特徴とする方法。
  2. 前記メモリは、MRAMセルのアレイを含む磁気ランダムアクセスメモリ(MRAM)デバイスであり、前記工程(b)、(c)および(d)は、前記誤りビットのグループの訂正を試みる反復方式で繰り返され、さらに、
    前記工程(b)、(c)および(d)の各反復のカウンター値を増加しまたは減少する工程と、
    前記カウンター値が、所定のカウンタースレショルドを有する予め決められた関係を有するかに基づいて、前記工程(b)、(c)および(d)の繰り返しを中断する工程、
    および、
    前記工程(b)、(c)および(d)の繰り返しが中断される時、誤り訂正符号を用いて、残りの誤りビットを訂正することを試みる工程、
    を含むことを特徴とする請求項1に記載の方法。
  3. 誤り訂正符号により訂正可能なビットサイズ以下であるかどうか判断する工程と、
    前記誤りビットの数量が前記ビットサイズ以下である場合、前記誤り訂正符号を用いて、前記マルチビットワードでの前記誤りビットを訂正する工程と、
    前記誤りビットの数量が前記ビットサイズより大きい場合、前記個々の誤りビット、または、前記全体のマルチビットワードの前記記憶場所を、置換記憶場所にマッピングする工程と、
    をさらに含み、
    前記実際のマルチビットワードと前記予期されるマルチビットワードの比較は、ビットワイズ、論理XOR比較であることを特徴とする請求項1に記載の方法。
  4. 前記誤りビットが、誤り訂正符号(ECC)のために確保される前記記憶場所の部分だけに対応するか判断する工程と、
    前記誤りビットが、前記ECCのために確保される前記記憶場所の前記部分だけに対応する場合、フラグを設定して、前記記憶場所の前記ECCを無視する工程、
    をさらに含み、
    前記フラグが設定された後、前記メモリデバイスは、前記記憶場所を用いて、データ読み出しと書き込みを継続することを特徴とする請求項1に記載の方法。
  5. 予期されるマルチビットワードを、磁気ランダムアクセスメモリ(MRAM)中の記憶場所に書き込むことを試みる工程と、
    前記マルチビットワードの書き込みを試みた後、前記記憶場所から、実際のマルチビットワードを読み出す工程と、
    論理的に、前記実際のマルチビットワードと前記予期されるマルチビットワードを比較して、誤りビットのグループ、および、前記記憶場所中に保存される正しいビットのグループを識別する工程と、
    前記論理比較の結果に基づいて、選択的に、前記正しいビットのグループを前記記憶場所に再書き込みすることなく、前記誤りビットのグループを前記記憶場所に再書き込みする工程と、
    を含むことを特徴とする方法。
  6. 前記の選択的な再書き込みの後、前記記憶場所から、前記実際のマルチビットワードを再読み出す工程、および、
    誤り訂正符号を用いて、選択的に、前記記憶場所に再書き込みすることが試みられる一つ以上の残りの誤りビットを訂正する工程、
    をさらに含み、
    前記マルチビットワードと前記予期されるマルチビットワードの比較は、ビットワイズ論理XOR比較で、
    前記誤りビットのグループは、所定回数まで、メモリに再書き込みされ、
    前記所定数に達する時、前記誤りビットのグループの前記再書き込みを停止することを特徴とする請求項5に記載の方法。
  7. 前記誤りビットが、誤り訂正符号(ECC)に確保される前記記憶場所の部分だけに対応するか判断する工程、および
    前記誤りビットが、前記ECCに確保される前記記憶場所の前記部分だけに対応する場合、フラグを設定して、前記記憶場所の前記ECCを無視する工程、
    をさらに含むことを特徴とする請求項5に記載の方法。
  8. メモリからマルチビットワードを読み出す読み出し回路と、
    前記メモリから読み出された前記マルチビットワードと、前もって前記メモリに書き込まれる予期されるマルチビットワードを比較して、前記マルチビットワード中の誤りビットのグループを決定する比較回路と、
    前記マルチビットワード中の前記誤りビットの数量が、誤り訂正符号により訂正可能なビットサイズになるまで、前記誤りビットのグループをメモリに書き込む書き込み回路、および、
    前記誤り訂正符号を用いて、前記マルチビットワード中の前記誤りビットを訂正するエラー訂正回路、
    を含むことを特徴とするメモリデバイス。
  9. 前記比較回路は、XOR比較ブロックを含み、前記メモリは、磁気ランダムアクセスメモリ(MRAM)セルのアレイを含むことを特徴とする請求項8に記載のメモリデバイス。
  10. 前記MRAMセルは、
    第一強磁性板、
    第二強磁性板、および、
    前記第一強磁性板および第二強磁性板の間に設置される薄膜絶縁層、
    を含むことを特徴とする請求項9に記載のメモリデバイス。
JP2013234140A 2012-11-30 2013-11-12 エラー訂正パリティビットによるmramスマートビット書き込みアルゴリズムの方法および装置 Pending JP2014110071A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261732253P 2012-11-30 2012-11-30
US61/732,253 2012-11-30
US13/917,772 US9110829B2 (en) 2012-11-30 2013-06-14 MRAM smart bit write algorithm with error correction parity bits
US13/917,772 2013-06-14

Publications (1)

Publication Number Publication Date
JP2014110071A true JP2014110071A (ja) 2014-06-12

Family

ID=50826756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013234140A Pending JP2014110071A (ja) 2012-11-30 2013-11-12 エラー訂正パリティビットによるmramスマートビット書き込みアルゴリズムの方法および装置

Country Status (3)

Country Link
US (2) US9110829B2 (ja)
JP (1) JP2014110071A (ja)
TW (1) TWI528374B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016162439A (ja) * 2015-03-05 2016-09-05 株式会社東芝 ストレージシステム
US11392466B2 (en) 2015-03-05 2022-07-19 Kioxia Corporation Storage system
JP7432449B2 (ja) 2020-06-18 2024-02-16 ルネサスエレクトロニクス株式会社 半導体装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652321B2 (en) 2014-09-23 2017-05-16 Intel Corporation Recovery algorithm in non-volatile memory
US10366774B2 (en) * 2016-09-27 2019-07-30 Spin Memory, Inc. Device with dynamic redundancy registers
US10642686B2 (en) * 2018-01-12 2020-05-05 Targps Technoloy Corp. Bit-scale memory correcting method
DE102018126051A1 (de) 2018-01-12 2019-07-18 Taiwan Semiconductor Manufacturing Co. Ltd. Neuartige Speichervorrichtung
US10643722B2 (en) 2018-01-12 2020-05-05 Taiwan Semiconductor Manufacturing Co., Ltd. Memory device
KR20210109085A (ko) 2020-02-26 2021-09-06 삼성전자주식회사 메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치
DE102020133713A1 (de) * 2020-02-27 2021-09-02 Taiwan Semiconductor Manufacturing Co., Ltd. Speicheraktualisierung
KR20210158008A (ko) 2020-06-23 2021-12-30 삼성전자주식회사 저항성 메모리 셀을 포함하는 메모리 장치 및 상기 메모리 장치를 포함하는 전자 장치

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59129995A (ja) * 1983-01-14 1984-07-26 Nec Corp 記憶装置
JPH06282449A (ja) * 1993-03-29 1994-10-07 Nec Corp メモリコントローラ
JPH10222995A (ja) * 1996-12-03 1998-08-21 Sony Corp 半導体不揮発性記憶装置
JP2000163273A (ja) * 1998-11-25 2000-06-16 Nec Corp メモリ誤り訂正・検出回路試験システムおよび試験方法
JP2001312890A (ja) * 2000-04-27 2001-11-09 Toshiba Corp 不揮発性半導体メモリ
JP2003076615A (ja) * 2001-09-06 2003-03-14 Hitachi Ltd 不揮発性半導体記憶装置
JP2004220068A (ja) * 2003-01-09 2004-08-05 Matsushita Electric Ind Co Ltd メモリカード及びメモリへのデータ書き込み方法
US20050268207A1 (en) * 2004-05-28 2005-12-01 International Business Machines Corporation Techniques for operating semiconductor devices
JP2006048783A (ja) * 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
JP2006277822A (ja) * 2005-03-29 2006-10-12 Nec Corp 磁気ランダムアクセスメモリ及びその動作方法
JP2007035244A (ja) * 2005-07-26 2007-02-08 Samsung Electronics Co Ltd プログラム速度を向上させる不揮発性メモリ装置及びそのプログラム方法
WO2008053677A1 (fr) * 2006-10-30 2008-05-08 Renesas Technology Corp. Mram à vérification d'enregistrement
JP2011008850A (ja) * 2009-06-24 2011-01-13 Sony Corp メモリ及び情報処理方法
WO2011143099A1 (en) * 2010-05-11 2011-11-17 Qualcomm Incorporated Write energy conservation in memory

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3742449A (en) * 1971-06-14 1973-06-26 Texas Instruments Inc Burst and single error detection and correction system
US4319356A (en) * 1979-12-19 1982-03-09 Ncr Corporation Self-correcting memory system
US4597083A (en) * 1984-04-06 1986-06-24 Ampex Corporation Error detection and correction in digital communication systems
JP2862948B2 (ja) * 1990-04-13 1999-03-03 三菱電機株式会社 半導体記憶装置
US5565695A (en) * 1995-04-21 1996-10-15 Johnson; Mark B. Magnetic spin transistor hybrid circuit element
DE19525149A1 (de) * 1995-07-11 1997-01-16 Telefunken Microelectron Verfahren zum selbsttätigen Erkennen und Korrigieren eines ungültigen Datensatzes und System zu seiner Durchführung
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
NO315959B1 (no) * 2002-04-16 2003-11-17 Thin Film Electronics Asa Fremgangsmåter til lagring av data i et ikke-flyktig minne
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
JP2004234545A (ja) * 2003-01-31 2004-08-19 Toshiba Corp 制御回路及びメモリコントローラ
US7143332B1 (en) * 2003-12-16 2006-11-28 Xilinx, Inc. Methods and structures for providing programmable width and error correction in memory arrays in programmable logic devices
JP4056488B2 (ja) * 2004-03-30 2008-03-05 エルピーダメモリ株式会社 半導体装置の試験方法及び製造方法
US7379327B2 (en) * 2006-06-26 2008-05-27 Grandis, Inc. Current driven switching of magnetic storage cells utilizing spin transfer and magnetic memories using such cells having enhanced read and write margins
KR100852191B1 (ko) * 2007-02-16 2008-08-13 삼성전자주식회사 에러 정정 기능을 가지는 반도체 메모리 장치 및 에러 정정방법
US8095853B2 (en) * 2007-10-19 2012-01-10 S. Aqua Semiconductor Llc Digital memory with fine grain write operation
US8271857B2 (en) * 2008-05-13 2012-09-18 International Business Machines Corporation Correcting errors in longitudinal position (LPOS) words
US8331151B2 (en) * 2009-12-25 2012-12-11 Samsung Electronics Co., Ltd. Semiconductor memory including control unit responsive to erase command to determine selection of redundant memory block

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59129995A (ja) * 1983-01-14 1984-07-26 Nec Corp 記憶装置
JPH06282449A (ja) * 1993-03-29 1994-10-07 Nec Corp メモリコントローラ
JPH10222995A (ja) * 1996-12-03 1998-08-21 Sony Corp 半導体不揮発性記憶装置
JP2000163273A (ja) * 1998-11-25 2000-06-16 Nec Corp メモリ誤り訂正・検出回路試験システムおよび試験方法
JP2001312890A (ja) * 2000-04-27 2001-11-09 Toshiba Corp 不揮発性半導体メモリ
JP2003076615A (ja) * 2001-09-06 2003-03-14 Hitachi Ltd 不揮発性半導体記憶装置
JP2004220068A (ja) * 2003-01-09 2004-08-05 Matsushita Electric Ind Co Ltd メモリカード及びメモリへのデータ書き込み方法
US20050268207A1 (en) * 2004-05-28 2005-12-01 International Business Machines Corporation Techniques for operating semiconductor devices
JP2006048783A (ja) * 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
JP2006277822A (ja) * 2005-03-29 2006-10-12 Nec Corp 磁気ランダムアクセスメモリ及びその動作方法
JP2007035244A (ja) * 2005-07-26 2007-02-08 Samsung Electronics Co Ltd プログラム速度を向上させる不揮発性メモリ装置及びそのプログラム方法
WO2008053677A1 (fr) * 2006-10-30 2008-05-08 Renesas Technology Corp. Mram à vérification d'enregistrement
JP2010033620A (ja) * 2006-10-30 2010-02-12 Renesas Technology Corp 磁性体メモリ
JP2011008850A (ja) * 2009-06-24 2011-01-13 Sony Corp メモリ及び情報処理方法
WO2011143099A1 (en) * 2010-05-11 2011-11-17 Qualcomm Incorporated Write energy conservation in memory
JP2013529350A (ja) * 2010-05-11 2013-07-18 クアルコム,インコーポレイテッド メモリにおける書込みエネルギーの節約

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016162439A (ja) * 2015-03-05 2016-09-05 株式会社東芝 ストレージシステム
US11392466B2 (en) 2015-03-05 2022-07-19 Kioxia Corporation Storage system
US11853178B2 (en) 2015-03-05 2023-12-26 Kioxia Corporation Storage system
JP7432449B2 (ja) 2020-06-18 2024-02-16 ルネサスエレクトロニクス株式会社 半導体装置

Also Published As

Publication number Publication date
TWI528374B (zh) 2016-04-01
US20150355963A1 (en) 2015-12-10
US9110829B2 (en) 2015-08-18
US9747159B2 (en) 2017-08-29
US20140157088A1 (en) 2014-06-05
TW201421483A (zh) 2014-06-01

Similar Documents

Publication Publication Date Title
JP2014110071A (ja) エラー訂正パリティビットによるmramスマートビット書き込みアルゴリズムの方法および装置
KR101793368B1 (ko) 비휘발성 메모리에서의 오류를 검출 및 정정하기 위한 방법 및 시스템
US10115446B1 (en) Spin transfer torque MRAM device with error buffer
US10020072B2 (en) Detect developed bad blocks in non-volatile memory devices
JP6209646B2 (ja) 不揮発性メモリのデータ管理方法およびシステム
US7036068B2 (en) Error correction coding and decoding in a solid-state storage device
US7778070B2 (en) Memory with dynamic redundancy configuration
US8161355B2 (en) Automatic refresh for improving data retention and endurance characteristics of an embedded non-volatile memory in a standard CMOS logic process
US7149948B2 (en) Manufacturing test for a fault tolerant magnetoresistive solid-state storage device
US10659081B2 (en) Preprogrammed data recovery
US20050083726A1 (en) Soft errors handling EEPROM devices
US20150220395A1 (en) Error control in memory storage systems
US8934281B2 (en) Bit set modes for a resistive sense memory cell array
JPWO2007046350A1 (ja) Mramの動作方法
US20210096948A1 (en) Uncorrectable error correction code (uecc) recovery time improvement
JP6131313B2 (ja) 不揮発性メモリのリフレッシュ
US20150121016A1 (en) Method, Apparatus and Device for Data Processing
CN113157486A (zh) 一种存储器的纠错方法及装置
US10943949B2 (en) Semiconductor storage device
CN111951876B (zh) 具有写检测功能和动态冗余的mram芯片及其数据读写方法
TW202217828A (zh) 用於監測及管理記憶體裝置之系統及方法
DAPHNE COMBINED METHOD USING NVM AND SHC FOR SPACE FPGAs
JP2003115196A (ja) 耐障害性を有する磁気抵抗固体記憶装置のための製造検査

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140910

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150703

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151204

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160201

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160219