JP2016225007A - 不揮発性メモリのエラーを検出して補正する方法およびそのシステム - Google Patents

不揮発性メモリのエラーを検出して補正する方法およびそのシステム Download PDF

Info

Publication number
JP2016225007A
JP2016225007A JP2016104070A JP2016104070A JP2016225007A JP 2016225007 A JP2016225007 A JP 2016225007A JP 2016104070 A JP2016104070 A JP 2016104070A JP 2016104070 A JP2016104070 A JP 2016104070A JP 2016225007 A JP2016225007 A JP 2016225007A
Authority
JP
Japan
Prior art keywords
data
ahead
read
bit
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016104070A
Other languages
English (en)
Other versions
JP6194390B2 (ja
Inventor
存徳 連
Chuen-Der Lien
存徳 連
明輝 謝
Ming-Huei Shieh
明輝 謝
紀舜 林
Chi-Shun Lin
紀舜 林
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.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics Corp
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 Winbond Electronics Corp filed Critical Winbond Electronics Corp
Publication of JP2016225007A publication Critical patent/JP2016225007A/ja
Application granted granted Critical
Publication of JP6194390B2 publication Critical patent/JP6194390B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • 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/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • 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/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0407Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects

Abstract

【課題】不揮発性メモリのエラーを検出して補正する方法およびそのシステムを提供する。【解決手段】メモリシステムは、データと先読みビットを保存するように構成された抵抗型不揮発性メモリアレイおよびメモリコントローラを含む。保存された先読みビットの中のエラーの数を検出し、先読みビットエラーの数をビットエラーのしきい値数と比較し、先読みビットエラーの数がしきい値以上であるとき、抵抗型不揮発性メモリアレイに保存されたデータと先読みビットの強いリフレッシュを実行し、先読みビットエラーの数がしきい値以下であるとき、データビットエラーを有する保存されたデータのユニットと先読みビットエラーを有する先読みビットだけをリフレッシュすることによって、データと先読みビットの弱いリフレッシュを実行する。【選択図】図4

Description

本発明は、一般的には、不揮発性メモリに関し、特に、不揮発性メモリのエラーを検出して補正する方法およびそのシステムに関するものである。
不揮発性半導体メモリは、一般に電力が追加されないときでもデータを保持する。トランジスタベースの不揮発性メモリ、例えば、フラッシュメモリおよび電気的消去可能プログラマブル読み取り専用(リードオンリー)メモリ(EEPROM)などは、高速な読み出しアクセス時間と耐衝撃性を提供し、トランジスタベースの不揮発性メモリを各種のアプリケーションにおいて望ましいものとしている。不揮発性メモリのいくつかのアプリケーションは、コンピューティングデバイス、携帯電話、ポータブルオーディオプレーヤー、およびその他の消費者(コンシューマ)用電子製品におけるデータストレージを含む。
図1は、例示的なトランジスタベースの不揮発性メモリアレイ100の回路図を示している。トランジスタベースの不揮発性メモリ100は、複数のトランジスタベースの不揮発性メモリセル110を含む。各トランジスタベースの不揮発性メモリセル110は、ワード線(例えば、WL0〜WLn)とビット線(例えば、BL0〜BLm)に関連する。トランジスタベースの不揮発性メモリアレイ100は、1つ以上のトランジスタを記憶素子として用いて、データを保存する不揮発性メモリによって形成されることができる。トランジスタベースの不揮発性メモリは、プログラマブル読み取り専用(リードオンリー)メモリ(PROM)、電気的プログラマブル読み取り専用(リードオンリー)メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用(リードオンリー)メモリ(EEPROM)、フラッシュメモリ、または電気的プログラム可能フューズ(eFUSE)メモリを含む。
図1に示されるように、トランジスタベースの不揮発性メモリアレイ100がEPROM、EEPROM、またはフラッシュメモリを用いて実現されたとき、各トランジスタベースの不揮発性メモリセル110は、フローティングゲート金属酸化物半導体電界効果トランジスタ(MOSFET)を含む。フローティングゲートMOSFET(FGMOS)は、電荷を電気的に絶縁されたフローティングゲートに保存することができる。この電気的絶縁は、フローティングゲートが電源のない延伸期間に電荷を保持することを可能にしている。充分に充電されたフローティングゲートは、論理「0」状態を示すことができ、充電されていないフローティングゲートは、論理「1」状態を示すことができ、またその逆の論理も示すことができる。
新規提案の不揮発性メモリ技術が、例えば、フラッシュメモリなどのトランジスタベースの不揮発性メモリと関連した各種の制約に対処するために開発されている。例えば、ほとんどの市販のフラッシュメモリは、書き換え耐性 (Write Endurance)が比較的低いという問題に遭遇している。代表的なフラッシュメモリは、1×10サイクルまでの書き込みサイクル(プログラム/消去サイクルともいう)に耐え得ることができる。いくつかの新しい不揮発性メモリ、例えば、磁気ランダムアクセスメモリ(MRAM)は、1×1012サイクルまでの書き込みサイクルに耐え得ることができる。他の例では、フラッシュメモリアレイは、例えば、読み出しディスターブ(disturb)(近隣セルを時間とともに変えさせる順次読み出しサイクル)と書き換え耐性の低下などのスケーリング問題に遭遇している。
しかしながら、新しい不揮発性メモリは、欠点を有する。例えば、高温での動作は、抵抗型(resistive)不揮発性メモリなどのいくつかの新しい不揮発性メモリにおいてビット反転などのデータエラーを生じさせる可能性がある。このようなデータエラーは、システムクラッシュ、データ破損、および/またはセキュリティ上の脆弱性を招く可能性がある。さらに、製造と保存の温度が高温であると、新しい不揮発性メモリはシステム的なデータドリフト、データ損失、大幅なデータ破損、およびデータ保持時間の減少などのデータ保持の問題を招く可能性がある。
1つの例示的な実施形態に基づくと、メモリシステムは、データと先読み(ルックアヘッド, look-ahead)ビットを保存するように構成された抵抗型不揮発性メモリアレイおよびメモリコントローラを含む。メモリコントローラは、保存された先読みビットの中のエラーの数を判定し、先読みビットエラーの数をビットエラーのしきい値数と比較し、先読みビットエラーの数がしきい値以上であるとき、抵抗型不揮発性メモリアレイに保存されたデータと先読みビットの強いリフレッシュを実行し、先読みビットエラーの数がしきい値未満であるとき、データビットエラーを有する保存されたデータと先読みビットエラーを有する先読みビットのユニットだけをリフレッシュすることによって、データと先読みビットの弱いリフレッシュを実行する。
他の例示的な実施形態に基づくと、メモリシステムにおけるエラーを補正する方法は、抵抗型不揮発性メモリアレイに保存された先読み(ルックアヘッド)ビットの中のエラーの数を検出するステップ、先読みビットエラーの数をビットエラーのしきい値数と比較するステップ、先読みビットエラーの数がしきい値以上であるとき、抵抗型不揮発性メモリアレイに保存されたデータと先読みビットの強いリフレッシュを実行するステップ、先読みビットエラーの数がしきい値未満であるとき、データビットエラーを有する保存されたデータと先読みビットエラーを有する先読みビットのユニットだけをリフレッシュすることによって、データと先読みビットの弱いリフレッシュを実行するステップを含む。
さらに他の例示的な実施形態に基づくと、メモリシステムは、不揮発性メモリアレイを含む。この不揮発性メモリアレイは、データを保存するように構成された抵抗型メモリセル、誤り訂正符号(ECC)ビットを保存するように構成された抵抗型メモリセル、保存されたデータのユニットにあるデータビットエラーを補正するECCビット、および先読みビットを保存するように構成された抵抗型メモリセルを含み、先読みビットは保存されたデータのシステム的なドリフトを検出する。
本開示の特定の実施形態を詳細に説明する前に、実施形態はその用途又は使用において、添付の図及び説明に例示される部品の構成及び配列の詳細に限定されないことに理解すべきである。
以上、当業者が本開示の態様をより理解できるように幾つかの実施の形態の特徴を概説した。当業者は、本開示を、いくつかの目的を実行するために他の構造、方法、およびシステムを設計するための基礎として、容易に使用できることが分かる。さらに、本開示の精神及び範囲を逸脱しない限りにおいては、当業者であればそのような等価な構成を達成することが可能である。
本明細書に組み込まれて、その一部を形成する添付図面は、本発明の幾つかの実施態様を示しており、説明とともに本発明の原理を説明するに役立つ。
例示的なトランジスタベースの不揮発性メモリアレイの回路図である。 本発明と整合する実施形態を実施する例示的な抵抗型不揮発性メモリアレイの回路図である。 本発明と整合する実施形態を実施する例示的なトランジスタベースの不揮発性メモリアレイのブロック図である。 本発明と整合する実施形態を実施する例示的なメモリシステムのブロック図である。 本発明の実施形態と整合するメモリシステムのデータを補正する例示的な方法を示すフロー図である。 本発明の実施形態と整合するメモリシステムのデータを補正するもう1つの例示的な方法を示すフロー図である。 本発明の実施形態と整合する強いリフレッシュ動作を実行する例示的な方法を示すフロー図である。 本発明の実施形態と整合する弱いリフレッシュ動作を実行する例示的な方法を示すフロー図である。 通常の(normal)読み出し動作と本開示の実施形態と整合するマージン(margin)読み出し動作との間の比較を示している。
本発明の実施形態は、新規提案の不揮発メモリにおけるエラーを検出して補正する、改善された方法およびシステムを提供する。多くの新規提案の不揮発メモリは、トランジスタベースの不揮発性メモリに対し、書き込み速度と書き換え耐性、電力消費、データ保持、データ保護、およびバイトレベルのランダムアクセスについて著しい利点を有する。しかしながら、抵抗型不揮発性メモリなどのいくつかの新規提案の不揮発性メモリは、高温および/または電磁妨害(EMI)により、データ保持とデータ破損の問題に影響されやすい可能性がある。抵抗型不揮発性メモリは、例えば、異なる抵抗状態を用いてデータを保存する任意の不揮発性メモリを含むことができる。抵抗型不揮発性メモリの例は、相変化ランダムアクセスメモリ(PCRAM)、磁気ランダムアクセスメモリ(MRAM)、導電性ブリッジランダムアクセスメモリ(CBRAM)などのプログラマブルメタライゼーションセル(PMC)メモリ、および抵抗型ランダムアクセスメモリ(PRAM)を含む。
PCRAMは、カルコゲナイド系材料の非結晶相と結晶相との間の抵抗の違いを用いてデータを保存する。非結晶相は、高抵抗相に対応し、結晶相は、低抵抗相に対応する。
MRAMは、2つの強磁性層間のトンネルバリア層を用いて、異なる抵抗状態を切り替えてデータを保存する。低抵抗状態は、2つの強磁性層の磁化方向が平行のとき、実現される。高抵抗状態は、2つの強磁性層の磁化方向が平行でないとき、実現される。
CBRAMセルは、2つの固体金属電極間に電解質の薄膜を含む。CBRAMセルは、電解質膜の金属電極の間にナノワイヤーを形成することによって、異なる抵抗状態でデータを保存する。ナノワイヤーの欠如は、高抵抗状態に対応し、ナノワイヤーの存在は、低抵抗状態に対応する。
PRAMは、遷移金属酸化物における抵抗スイッチングに基づいて2つ以上の抵抗状態としてデータを保存する。
CBRAMセルと同様に、PRAMセルは、金属‐絶縁体‐金属構造を含む。異なる論理状態は、絶縁体層で1トレイルの導通不良(a trail of conducting defects)(フィラメント(filament)と呼ばれる)を生じることで示される。フィラメントの不存在は、高抵抗状態に対応し、フィラメントの存在は、低抵抗状態に対応する。各種の抵抗メモリの高抵抗状態と低抵抗状態は、第1と第2の論理値、例えば、「0」と「1」を示すデータを記憶するように用いられる。
不揮発性メモリは、各種の温度範囲内で動作されるように仕様が規定されることができる。例えば、不揮発性メモリは、0〜85℃(産業用仕様)、−40〜125℃(工業/自動車用仕様)、または−55〜125℃(軍用仕様)の環境温度内で動作されるように仕様が規定されることができる。保存温度の定格は、一般的に150℃までの範囲である。
不揮発性メモリは、基板にICチップを搭載するときにも高温になる。例えば、代表的なウェーブはんだ付けプロセスは、250℃にまで温度が上昇する。抵抗型不揮発性メモリは、これらの動作範囲の上の部分に近接したときに性能が劣化することになる可能性がある。例えば、ビット反転などのデータエラーは、高環境動作温度で抵抗型不揮発性メモリセルに生じる可能性がある。また、ウェーブはんだ付けプロセスによって引き起こされた高温に曝される前に、抵抗型不揮発性メモリに書き込まれたデータは、システム的なデータドリフトおよびデータ保持時間の減少などの重大なデータエラーになる可能性がある。
本発明の実施形態は、抵抗型不揮発性メモリに対する高温のメモリ動作およびデータ保存において、上述のメモリを含むシステムおよび/または集積回路(IC)の性能改善を可能にする改善方法を提供する。本発明の実施形態は、誤り訂正符号(ECC)を用いてその保存されたデータを更新するように構成される抵抗型不揮発性メモリアレイを提供する。データ更新は、メモリシステム動作の異なる段階、例えば、パワーアップの初期化またはアイドルモードの期間に、またはシステム命令に応じて実行されることができる。データ更新は、保存したデータに対して読み出し、補正、および書き戻しをすることによって実行されることができる。いくつかの実施形態は、不足した誤り訂正符号(ECC)またはシステム的なデータドリフトの場合に実行される、より強い書き戻しをした改善されたデータ更新を提供する。強化されたデータ更新は、抵抗型メモリに保存された全てのデータをリフレッシュすることができ、それにより、メモリのマージンは、基板実装および/または高温保存後に回復する。他の実施形態は、データ更新の技術の組み合わせを提供することができる。
ここで、本発明に基づいて実現された例示的な実施形態が詳細に参照され、その実施例は添付図面に例証されており、図中、同様の参照番号は全体を通して同様の要素を指している。
図2は、本開示と一致する実施形態を実施する例示的な抵抗型不揮発性メモリアレイ200の回路図である。抵抗型不揮発性メモリアレイ200は、上述の任意の抵抗型不揮発性メモリ、例えばPCRAM、PRAM、MRAM、またはCBRAMなどを用いて形成されることができる。また、抵抗型不揮発性メモリアレイ200は、2次元メモリアレイまたは3次元メモリアレイを含むことができる。
図2に示されるように、抵抗型不揮発性メモリアレイ200は、複数のワード線(WL0〜WLn)、複数のビット線(BL0〜BLm)、および複数の抵抗型メモリセル210を含む。各抵抗型メモリセル210は、ワード線とビット線に関連する。各抵抗型メモリセル210は、選択素子212と抵抗記憶素子214を含む。抵抗型メモリセル210は、上述の任意の抵抗型不揮発性メモリ、例えばPCRAMセル、PRAMセル、MRAMセル、または導電性ブリッジRAM(CBRAM)セルなどによって実施されることができる。選択素子212は、選択スイッチとして動作し、抵抗型不揮発性メモリセル210へのアクセスを制御する。選択素子212は、例えば、ダイオード、金属酸化物半導体電界効果トランジスタ(MOSFET)、またはバイポーラ接合トランジスタ(BJT)によって実施されることができる。いくつかの実施形態では、選択素子212は、任意であることができ、例えば、抵抗型不揮発性メモリセル210は、RPAMセルによって実施される。
図3は、本発明と一致する実施形態を実施する抵抗型不揮発性メモリアレイ200のブロック図を示している。図3に示されるように、抵抗型不揮発性メモリアレイ200は、複数のセルタイプを含む。例えば、データセル310は、データビットを保存するように構成される。各データセル310は、1つ以上のデータビットを保存する。データビットは、各種の記憶ユニット、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他のストレージ構成に書き込まれ、アクセスされることができる。各記憶ユニットは、任意の数のデータビットを含むことができる。
いくつかの実施形態では、抵抗型不揮発性メモリアレイ200は、ECCセル320を含む。各ECCセル320は、ECCビット(または複数のビット)を保存するように構成され、データセル310と先読み(look−ahead)セル330に保存されたエラーまたは不良データビットを検出して補正する。エラーは、例えば、EMI、高温動作、高温保存、基板実装ウェーブはんだ付け温度(board mount wave solder temperatures)などに起因するソフトエラー(soft errors)である可能性がある。ソフトエラーは一般的に、一時的であり、常に繰り返されるものではない。エラーは、メモリセルのハードウェア欠陥に起因するハードエラー(hard errors)である可能性がある。ハードエラーは、一般的に繰り返され、且つ常にエラーの結果を生じる。保存されたECCビットは、ハミング符号、ボーズチョドーリオッケンジェム(Bose-Chaudhuri-Hocquenghem;BCH)符号、パリティビット、リードソロモン符号、ターボ符号、低密度パリティ検査符号(LDPC)、畳み込み符号、または当業者に周知の任意の他の誤り訂正符号を含むことができる。
ECCセル320に保存されたECCビットの数は、ECCの符号化方式によって決まる。ECCの符号化方式は、保存されたデータの記憶ユニット当たり(例えば、ページ当たり、ブロック当たり、セクタ当たり、ワード当たり、バイト当たり、ビット当たりなど)のECCビットの数を割り当てることができる。例えば、16のデータワードがデータセル310に保存され、且つECCの符号化方式がデータワード当たり4つのECCビットを割り当てたとき、ECCセル320に保存された全てのECCビットの数は64であり、且つECCセル320当たり1つ以上のECCビットを有する。各記憶ユニットに割り当てられたECCビットの数は、フレキシブルであることができ、設計要求、システム能力、タイミング、およびスループット要求などによって決まることができる。保存されたECCビットで補正可能なデータビットエラーの数は、i−1と定められ、iは、各記憶ユニットに割り当てられたECCビットの数である。例えば、ECCセル320がデータワード当たり3つのECCビットを保存したとき、3つのECCビットは、データワード当たり2つのデータビットエラーを訂正することができる。
いくつかの実施形態では、抵抗型不揮発性メモリアレイ200は、先読みセル330を含む。先読みセル330は、データセル310に保存されたデータビットの実質的なデータ破損またはシステム的なデータドリフトを検出する先読みビットを保存するように構成される。各先読みセル330は、1つ以上の先読みビットを保存するように構成される。先読みセル330に保存された先読みビットは、データ破損またはシステム的なデータドリフトのインジケータとなる。データ破損またはシステム的なデータドリフトの原因は、例えば、EMI、基板実装ウェーブはんだ付け温度、または抵抗型不揮発性メモリアレイ200の高温保存などである。言い換えれば、保存された先読みビット内の重大なエラーの存在は、データセル310に保存されたデータにも重大なエラーを含んでいる可能性があることを示しているということである。
先読みセル330に保存された先読みビットの数は、例えば、抵抗型不揮発性メモリアレイ200に含まれたメモリセルの総数、データセル310に保存されたデータビットの総数、システム的なドリフト検出に割り当てできるメモリシステムスループットの量など、多くの要因によって決まる。先読みセル330に保存された先読みビットの総数の例は、16ビットまたは32ビットを含む。先読みセル330に保存された先読みビットの総数は、データセル310に保存されたデータビットの数と比べ、小さいことがある。従って、少量の先読みビットを多数のデータビットの品質の代用として用いることは、メモリシステムの効率を改善し、エラー検出に必要なメモリシステムリソースの量を減少する。
いくつかの実施形態では、データセル310、ECCセル320、および/または先読みセル330は、セル当たり複数ビットを保存するように構成される。例えば、マルチレベルセルは、抵抗型不揮発性メモリアレイ200に用いられることができる。マルチレベルセルは、3つ以上の異なる抵抗状態を用いて2つ以上のデータビットを保存する。例えば、4つの異なる抵抗状態を有するマルチレベルセルは、2つのビットを保存することができ、各ビットは、2つの抵抗状態を用いて論理「0」と「1」を示す。しかしながら、セル当たりに保存されたビット数の増加は、より大きなビット誤り率となる可能性があるため、記憶ユニット当たり、より大きな数のECCビットでこれらのエラーを訂正する必要がある。
データセル310、ECCセル320、および先読みセル330は、同じ抵抗型不揮発性メモリアレイ200内に含まれ、同一の半導体ダイ上に形成された異なる抵抗型不揮発性メモリアレイ200に保存される、同一の集積回路(IC)パッケージに含まれた個別の半導体ダイ上に形成された異なる抵抗型不揮発性メモリアレイ200に保存される、または個別のICパッケージに含まれた個別の半導体ダイ上に形成された異なる抵抗型不揮発性メモリアレイ200に保存されるなどができる。
図4は、本発明と一致する実施形態を実施する例示的なメモリシステム400のブロック図を示している。図4に示されるように、メモリシステム400は、抵抗型不揮発性メモリアレイ200およびメモリコントローラ410を含む。本発明の開示から、これらの構成要素の数と配置は、例示的なものであるに過ぎず、説明する目的のために提供されるものであることが認識されるであろう。他の構成要素の数と配置は、本発明の教示および実施形態から逸脱せずに用いられることができる。一例では、メモリコントローラ410および抵抗型不揮発性メモリアレイ200は、同一の半導体ダイ上に、同一のICパッケージに含まれた個別の半導体ダイ上に、個別のICパッケージに含まれた個別の半導体ダイ上に、または当業者に周知の任意の構成上に形成されることができる。他の実施例では、メモリコントローラ410は、複数の抵抗型不揮発性メモリアレイ200またはトランジスタベースの不揮発性メモリアレイと抵抗型不揮発性メモリアレイ200の組み合わせを制御することができる。
いくつかの実施形態では、メモリコントローラ410は、入力/出力インターフェース(I/O)411、行デコーダ(ワード線デコーダとも呼ばれる)412、列デコーダ413、センスアンプと書き込みドライバ414、誤り訂正符号(ECC)コントローラ415、および先読みコントローラ416を含む。メモリコントローラ410に含まれた構成要素411〜416は、ハードウェアとソフトウェアの組み合わせによって実施されることができる。例えば、構成要素411〜416は、マイクロプロセッサ、特定用途向け集積回路(ASIC)、プログラマブルゲートアレイI(PGA)またはフィールドプログラマブルゲートアレイ(FPGA)、電気回路、またはその任意の組み合わせによって実施されることができる。また、構成要素411〜416のいくつかの、または全ての機能は、同じハードウェア/ソフトウェアの組み合わせによって実行されることができる。例えば、ECCコントローラ415と先読みコントローラ416の機能は、同じマイクロプロセッサ、ASIC、PGA、FPGA、CPLD、またはカスタム論理回路によって実行されることができ、全てのコントローラは同じ書き込みアルゴリズムをシェアする、またはシェア(共用)しないことができる。
I/O411は、外部ソースから入力信号を受けてその入力信号を変換し、それにより、それらの入力信号は、メモリコントローラ410に含まれた構成要素によって理解され受けられることができる。例えば、I/O411は、例えば、読み出しコマンド、書き込みコマンド、データ更新コマンドなどのコマンドを受けることができる。
通常の読み出し動作では、I/O411は、行座標と列座標を行デコーダ412と列デコーダ413にそれぞれ送信する。行デコーダ412は、行座標をデコードし、センス電圧を対応するワード線に提供する。センス電圧は、ワード線に接続された各抵抗型メモリセル210の選択素子212を活性化する。列デコーダ413は、列座標をデコードし、対応するビット線をセンスアンプと書き込みドライバ414に接続する。センスアンプと書き込みドライバ414は、読み出し回路と書き込み回路を含む。読み出し回路は、適切なワード線/ビット線の交差にある抵抗型メモリセル210に流れる電流を測定し、測定した電流に対応する論理値を判定する。読み出しサイクルの期間、メモリセルの電流は、しきい値電流値(一般的にセンス電流と呼ばれる)のどちらか側に分布される。しきい値より大きい電流値は、論理「0」に対応し、しきい値より小さい電流値は、論理「1」に対応し、その逆の論理にも対応する。従って、センスアンプと書き込みドライバ414は、抵抗型メモリセル210に流れる電流を測定し、測定した電流を1つ以上のしきい値電流値と比較し、測定した電流がしきい値電流値より大きいか、または小さいかに基づいて論理値を判定する。センスアンプと書き込みドライバ414は、判定した論理値を読み込み動作からの出力としてI/O411に提供する。I/O411は、出力を外部送り先に送信するか、または外部ソースによって要求されるまで出力を保留する。いくつかの実施形態では、同一の活性化されたワード線と関連した複数の抵抗型メモリセル210は、単一の読み出し動作で読み出されることができる。行レコーダ412がセンス電圧を対応するワード線に提供したとき、ワード線上の各抵抗型メモリセル210は、活性化される。従って、読み出し回路は、これらのセルと関連したビット線上の各活性化された抵抗型メモリセル210によって電流を測定する。
いくつかの実施形態では、メモリコントローラ410は、より高いメモリの信頼性と読み取り精度が望まれたとき、マージン読み出し動作をメモリセル210に実行する。例えば、メモリコントローラ410は、先読みセル330から読み出すとき、マージン読み出し動作を実行する。先読みビットは、大量のデータビットの品質の代用として用いるため、マージン読み出しは、先読みビットの品質の劣化(従ってデータ破損が発生する)の検出を改善するのに用いられる。もう1つの例として、メモリコントローラ410は、強いまたは弱いリフレッシュ動作(後述の図7および図8を参照)後、データセル310にマージン読み出し動作を実行し、データセル310がうまくリフレッシュされたかどうかを確認する。
単一のしきい値電流値を用いる代わりに、センスアンプと書き込みドライバ414は、マージン読み出し動作の期間、測定した電流を複数のしきい値電流値と比較することによって、測定した電流に対応する論理値を判定する。しきい値電流値は、上限しきい値電流値と下限しきい値電流値を含む。上限しきい値電流値と下限しきい値電流値は、通常しきい値電流値のどちらか側に分布される。例えば、通常の書き込みサイクルのしきい値電流値は、25μAで選択され、上限しきい値電流値と下限しきい値電流値は、40μAと10μAでそれぞれ選択されることができる。上限しきい値電流値より大きい測定された電流値は、論理「0」に対応し、下限しきい値電流値より小さい測定された電流値は、論理「1」に対応し、その逆も対応する。
通常の書き込み動作では、I/O411は、外部ソースからのデータおよびデータが保存される抵抗型不揮発性メモリセル210アドレスを受信する。I/O411は、アドレスを行と列座標に変換し、その座標を行デコーダ412と列デコーダ413にそれぞれ送信する。行デコーダ412は、行座標をデコードし、書き込み電圧を対応するワード線に提供する。列デコーダ413は、列座標をデコードし、対応するビット線をセンスアンプと書き込みドライバ414に接続する。I/O411は、指示をセンスアンプと書き込みドライバ414に送信し、活性化されたワード線とビット線の交差部に位置した抵抗型不揮発性メモリセル210に「0」または「1」のいずれかを書き込む。センスアンプと書き込みドライバ414の書き込み回路は、「1」または「0」が保存されるかどうかに応じて、高抵抗状態または低抵抗状態に抵抗素子212の抵抗を変える。
いくつかの実施形態では、メモリコントローラ410は、ECCコントローラ415を含む。ECCコントローラ415は、データセル310に保存されたデータの中のデータビットエラーおよび先読みセル330に保存されたビットの中の先読みビットエラーを検出する。上述の書き込み動作では、ECCコントローラ415は、抵抗型メモリセル210に書き込まれるデータに対応してECCビットを生成する。ECCコントローラ415は、抵抗型メモリセル210に書き込まれる先読みビットにも対応してECCビットを生成する。データまたは先読みビットの各記憶ユニット用に生成されたECCビットの数は、上述のECCの符号化方式の中の1つに従って決まる。生成されたECCビットは、ECCコントローラ415からセンスアンプと書き込みドライバ414に送信される。センスアンプと書き込みドライバ414の書き込み回路は、データをデータセル310に、よき読みビットを先読みセル330に、且つ生成されたECCビットをECCセル320に書き込む。
上述の読み出し動作では、ECCコントローラ415は、データセル310に保存されたデータとECCセル320に保存された対応するECCビットを読み出す。ECCコントローラ415は、ECCビットを用いて読み出されたデータにエラー検出を行い、データビットエラーを検出する。1つの実施形態では、ECCコントローラ415は、データの記憶ユニット当たりのデータビットエラーの数を判定する。記憶ユニット当たりのデータビットエラーの数が記憶ユニットに対応するECCビットの数より小さい場合、ECCコントローラ415は、ECCビットを用いてデータビットエラーを補正する。ECCコントローラ415は、補正したデータをセンスアンプと書き込みドライバ414に送信し、且つ書き込み回路は、データを各々のデータセル310とECCセル320に書き戻す。いくつかの実施形態では、書き込み回路は、補正されたデータビットを含むデータの全ての記憶ユニットをデータセル310に書き込む。他の実施形態では、書き込み回路は、補正されたビットだけをデータセル310に書き込む。
いくつかの実施形態では、メモリコントローラ410は、先読みコントローラ416を含む。先読みコントローラ416は、データセル310に保存されたデータの重大なデータ破損および/またはシステム的なデータドリフトを検出する。例えば、先読みコントローラ416は、先読みセル330に保存された先読みビットとECCセル320に保存された対応するECCビットを読み出し、ECCビットを用いて先読みセル330に保存された先読みビットエラーの数を判定する。先読みビットエラーの数がビットエラーのしきい値数以上である場合、先読みコントローラ416は、データセル310に保存されたデータの強いリフレッシュを初期化する。先読みビットのしきい値数の実施例は、先読みセル330に保存された先読みビットの50%であることができる。従って、本実施例では、先読みセル330に保存された先読みビットが32個存在するとき、先読みコントローラ416は、先読みコントローラ416が先読みビットの数が16ビット以上であると判定したとき、強いリフレッシュを初期化する。
強いリフレッシュは、抵抗型不揮発性メモリアレイ200に保存された全てのデータと先読みビットの読み出し、任意の補正可能なビットエラーを補正し、補正不可能なエラーを有する任意のビットを代替し、且つ全てのデータと先読みビット(補正されて代替されたビットを含む)を抵抗型不揮発性メモリアレイ200に書き戻す。具体的に言うと、エラーを有さないデータと先読みビットは、強いリフレッシュ動作でなおリフレッシュされる。保存された先読みビットが重大なエラーを含むとき、それによりデータセル310に保存されたデータも重大なエラーを含む可能性があることを示すため、エラーを有さないデータと先読みビットは、無くした重大なメモリセルマージンをまだ有している可能性があるため、無効に近い可能性がある。従って、強いリフレッシュ動作は、データと先読みビットを保存しているメモリセル内でマージンを復元するために、抵抗型不揮発性メモリアレイ200に保存された全てのデータと先読みビットをリフレッシュする。強いリフレッシュ動作は、図7を参照にしながら、詳細に説明する。
先読みビットエラーの数がエラーのしきい値数より小さい場合、先読みコントローラ416は、データセル310に保存されたデータの弱いリフレッシュを初期化する。弱いリフレッシュは、抵抗型不揮発性メモリアレイ200に保存された全てのデータと先読みビットの読み出し、任意の補正可能なビットエラーを補正し、補正不可能なエラーを有する任意のビットを代替し、且つ補正/代替されたデータと先読みビットだけを抵抗型不揮発性メモリアレイ200に書き戻す。従って、保存された先読みビットが重大なエラーを含まないとき、リフレッシュ動作を実行するのに用いられるメモリシステムリソースは、抵抗型不揮発性メモリアレイ200の全てのデータと先読みビットに代替して補正/代替されたデータと先読みビットだけを書き込むことによって最小化することができる。弱いリフレッシュ動作は、図8を参照にしながら、以下に詳述する。
図5は、本発明のいくつかの実施形態および態様と一致する例示的な方法500のフローチャートを示している。方法500は、例えば、抵抗型不揮発性メモリのエラーを検出して補正するように実施されることができる。いくつかの実施形態では、方法500は、例えば、図4に示されたメモリシステム400のメモリシステムによって実施されることができる。
いくつかの実施形態では、例示的な方法500は、抵抗型不揮発性メモリアレイに保存された先読みビットに対してマージン読み出し動作を実行するステップを含む(ステップ510)。メモリシステムに含まれたメモリコントローラ(例えば、図4のメモリコントローラ410)は、図4に関して上述されたマージン読み出し動作を用いて、抵抗型メモリアレイ(例えば、図2〜図4の抵抗型メモリアレイ200)の第1の不揮発性メモリアレイのデータセル(例えば、図3の先読みセル330)に保存された先読みビットを読み出す。メモリコントローラは、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他の記憶ユニットなど、各種の記憶ユニットの先読みビットを読み出す。各記憶ユニットは、任意の数の先読みビットを含むことができる。
いくつかの実施形態では、例示の方法500は、抵抗型不揮発性メモリアレイに保存された先読みビットの中のエラーの数を判定するステップを含む(520)。メモリコントローラは、抵抗型不揮発性メモリアレイのメモリセル(例えば、図3のECCセル320)に保存されたECCビットを読み出し、保存されたECCビットを用いて先読みビットエラーを検出する。メモリコントローラは、どの先読みビットが高温またはEMIのために、論理状態を反転(例えば、論理「0」から論理「1」、またその逆から反転)させたかを判定することによってエラーを検出する。保存されたECCビットは、ハミング符号、ボーズチョドーリオッケンジェム(Bose-Chaudhuri-Hocquenghem;BCH)符号、パリティビット、リードソロモン符号、ターボ符号、低密度パリティ検査符号(LDPC)、畳み込み符号、または当業者に周知の任意の他の誤り訂正符号を含むことができる。
いくつかの実施形態では、メモリコントローラは、保存された先読みビットとパターンを比較することによって保存された先読みビットの中のエラーを検出する。メモリコントローラは、多数のパターンの中の1つ、例えば、交互の論理状態(例えば、01010101)のチェッカーボードパターンで先読みビットを抵抗型メモリアレイに書き込む。メモリコントローラは、パターン化された先読みビットを読み出すように更にプログラムされ、それらを所望のパターンと比較する。読み出されたパターンが所望のパターンと一致しないとき、先読みビットでエラーが起きる。
メモリコントローラは、メモリシステムの動作のさまざまな段階で先読みビットエラーの数を判定する。例えば、メモリコントローラは、読み出しサイクルの期間、メモリシステムのパワーアップ、メモリシステムのアイドルモードの期間に応じて、または受信コマンドに応じて、先読みビットエラーの数を判定することができる。アイドルモードの場合では、メモリコントローラは、単一のアイドルモードの期間または所定数のアイドルモードの期間に先読みビットエラーの数を判定することができる。従って、メモリコントローラは、システムの性能への影響が最小である時、エラー検出を実行する。パワーアップの場合では、メモリコントローラは、単一のパワーアップまたは所定数のパワーアップに応じて、先読みビットエラーの数を判定することができる。パワーアップの所定数は、さまざまな基準を用いて決定されることができる。例えば、パワーアップの数は、生産テストの期間にメモリシステムが受ける、パワーサイクルの予測数に基づいて決定されることができる。従って、生産の期間にメモリシステムに予めローディングされたデータ内の任意のシステマティックな欠陥は、生産設備から出荷される前に、自動的に修正される。受信コマンドの場合では、メモリシステムは、メモリシステムと通信可能に結合された処理システムから、システムオペレータまたは試験(test)技術者/エンジニアなどのユーザーから、および/または開発或いは生産試験システムなどの試験システムからコマンドを受信することができる。コマンドはエラー検出および修正を行うコマンド、読み込みコマンド、システムリセットコマンド、パワーオンリセットコマンド(POR)、またはウエイクアップコマンドであることができる。
いくつかの実施形態では、メモリコントローラは、抵抗型不揮発性メモリアレイに保存された先読みビットの中のエラーの数を判定する先読みコントローラ(例えば、図4の先読みコントローラ416)を含む。例えば、先読みコントローラは、抵抗型メモリアレイから先読みビットを読み出し、先読みビットの中のエラーの数を判定する。
いくつかの実施形態では、例示的な方法500は、先読みビットエラーの数を先読みビットエラーのしきい値数と比較するステップを含む(ステップ530)。このしきい値数は、例えば、メモリシステムの信頼性要求、安全要求、顧客要求、メモリシステムリソースの可用性、抵抗型メモリアレイのサイズなどを含む、いくつかの要素に基づいて決定されることができる。先読みビットエラーの例示的なしきい値数は、抵抗型不揮発性メモリアレイの先読みセルに保存された先読みビットの50%である。メモリコントローラが先読みビットエラーの数が先読みビットエラーのしきい値数より小さいと判定したとき(ステップ530−yes)、メモリコントローラは、データビットエラーを有するデータの記憶ユニットだけに弱いリフレッシュを実行する(ステップ540)。メモリコントローラが先読みビットエラーの数が先読みビットエラーのしきい値数以上であると判定したとき(ステップ530−no)、メモリコントローラは、抵抗型不揮発性メモリアレイに保存された全ての先読みビットとデータに強いリフレッシュを実行する(ステップ550)。
図6は、本発明のいくつかの実施形態および態様と一致する例示的な方法600のフローチャートを示している。方法600は、例えば、抵抗型不揮発性メモリのエラーを検出して補正するように実施されることができる。いくつかの実施形態では、方法600は、例えば、図4に示されたメモリシステム400のメモリシステムによって実施されることができる。
例示的な方法500に類似する、例示的な方法600は、抵抗型不揮発性メモリアレイに保存された先読みビットに対してマージン読み出し動作を実行するステップを含み(ステップ610)、且つ抵抗型不揮発性メモリアレイに保存された先読みビットの中のエラーの数を判定する(620)。いくつかの実施形態では、例示的な方法600は、先読みビットエラーの数を先読みビットエラーの第1のしきい値数と比較するステップを含む(ステップ630)。メモリコントローラが先読みビットエラーの数が先読みビットエラーの第1のしきい値数より小さいと判定したとき(ステップ630−no)、メモリコントローラは、リフレッシュ動作を実行しない(640)。メモリコントローラが先読みビットエラーの数が先読みビットエラーの第1のしきい値数以上であると判定したとき(ステップ630−yes)、メモリコントローラは、先読みビットエラーの数を先読みビットエラーの第2のしきい値数と比較する(ステップ650)。先読みビットエラーの第2のしきい値数は、第1のしきい値数より大きい。先読みビットエラーの数が先読みビットエラーの第2のしきい値数より小さいとき(ステップ650−yes)、メモリコントローラは、抵抗型不揮発性メモリアレイに保存されたデータの弱いリフレッシュを実行し(ステップ660)、先読みビットエラーの数が先読みビットエラーの第2のしきい値数以上であると判定したとき(ステップ650−no)、メ抵抗型不揮発性メモリアレイに保存された全ての先読みビットとデータに強いリフレッシュを実行する(ステップ670)。
先読みビットの上限しきい値と先読みビットの下限しきい値が用いられたとき、メモリシステムは、メモリシステムが第1のしきい値より低い、先読みビットエラーの数に対応するように構成されるため、より少ないリソースを用いる。従って、リフレッシュ動作は、先読みセルが第1のしきい値より高いエラーを含んだ場合にだけ実行される。メモリシステムのオペレータは、例えば、メモリシステムの信頼性要求、安全要求、顧客要求、メモリシステムリソースの可用性、抵抗型メモリアレイのサイズなどを含む、いくつかの要素に基づいて第1のしきい値を決めることができる。
図7は、本発明のいくつかの実施形態および態様と一致する例示的な方法700のフローチャートを示している。方法700は、例えば、抵抗型不揮発性メモリアレイに保存された全ての先読みビットとデータの強いリフレッシュを実行する。いくつかの実施形態では、方法700は、例えば、図4に示されたメモリシステム400のメモリシステムによって実施されることができる。
いくつかの実施形態では、例示的な方法700は、ECCの補正でデータを読み出し、且つ抵抗型不揮発性メモリアレイに保存されたデータの中のデータビットエラーを検出するステップを含む(ステップ710)。メモリシステムに含まれたメモリコントローラ(例えば、図4のメモリコントローラ410)は、上述の通常の読み出し動作を用いて、抵抗型メモリアレイ(例えば、図2〜図4の抵抗型メモリアレイ200)の第1の不揮発性メモリアレイのデータセル(例えば、図3のデータセル310)に保存されたデータを読み出す。メモリコントローラは、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他の記憶ユニットなど、各種の記憶ユニットのデータを読み出す。各記憶ユニットは、任意の数の先読みビットを含むことができる。メモリコントローラは、抵抗型不揮発性メモリアレイのメモリセル(例えば、図3のECCセル320)に保存されたECCビットを更に読み出し、保存されたECCビットを用いてデータの記憶ユニットにあるデータビットエラーを検出する。メモリコントローラは、どのデータビットが高温またはEMIのために、論理状態を反転(例えば、論理「0」から論理「1」、またその逆から反転)させたかを判定することによってデータの記憶ユニットにあるデータビットエラーを検出する。保存されたECCビットは、ハミング符号、ボーズチョドーリオッケンジェム(Bose-Chaudhuri-Hocquenghem;BCH)符号、パリティビット、リードソロモン符号、ターボ符号、低密度パリティ検査符号(LDPC)、畳み込み符号、または当業者に周知の任意の他の誤り訂正符号を含むことができる。
メモリコントローラは、メモリシステムの動作のさまざまな段階でデータビットエラーの数を判定する。例えば、メモリコントローラは、読み出しサイクルの期間に、メモリシステムのパワーアップ、メモリシステムのアイドルモードの期間に応じて、または受信コマンドに応じて、データビットエラーの数を判定することができる。アイドルモードの場合では、メモリコントローラは、単一のアイドルモードの期間または所定数のアイドルモードの期間にデータビットエラーの数を判定することができる。従って、メモリコントローラは、システムの性能への影響が最小である時、エラー検出を実行する。パワーアップの場合では、メモリコントローラは、単一のパワーアップまたは所定数のパワーアップに応じて、データビットエラーの数を判定することができる。パワーアップの所定数は、さまざまな基準を用いて決定されることができる。例えば、パワーアップの数は、生産テストの期間にメモリシステムが受ける、パワーサイクルの予測数に基づいて決定されることができる。従って、製造の期間にメモリシステムに予めローディングされたデータ内の任意のエラーは、生産設備から出荷される前に、自動的に修正される。受信コマンドの場合では、メモリシステムは、メモリシステムと通信可能に結合された処理システムから、システムオペレータまたは試験(test)技術者/エンジニアなどのユーザーから、および/または開発或いは生産試験システムなどの試験システムからコマンドを受信することができる。コマンドはエラー検出および修正を行うコマンド、読み込みコマンド、システムリセットコマンド、パワーオンリセットコマンド(POR)、またはウエイクアップコマンドであることができる。
いくつかの実施形態では、メモリコントローラは、抵抗型不揮発性メモリアレイに保存されたデータのデータビットエラーの数を判定するECCコントローラ(例えば、図4のECCコントローラ415)を含む。例えば、ECCコントローラは、抵抗型メモリアレイからデータとECCビットを読み出し、ECCの符号化方式に基づいてデータビットエラーの数を判定する。
いくつかの実施形態では、例示的な方法700は、抵抗型不揮発性メモリアレイのデータと先読みビットの強い書き込みを実行し、且つ検証読み出し動作で書き込みデータを検証するステップ(720)を含む。メモリコントローラは、データと先読みビットをメモリセルに書き戻すことによって強い書き込み動作を実行し、メモリセルの電流分布が通常の書き込みサイクルより大きくなるようにする。メモリセルの電流分布を増加させるために、メモリコントローラは、そのメモリセルの論理値をプログラムし、このメモリセルから読み出された現在値が通常の書き込みサイクルよりも、更にしきい値から離されるようにする。メモリセル内で電流分布を増加することは、余分な書き込み時間とメモリコントローラによるエネルギー消費を必要とするが、メモリセルマージンを増加することでデータと先読みビットが劣化するのを保護する助けをする。従って、メモリセル内で電流分布を増加させると、メモリセルが論理状態を反転させるのをより難しくするため、フォルトトレランスを改善することができる。
強い書き込み動作を実行するために、メモリコントローラは、抵抗型不揮発性メモリアレイから読み出されたデータビットエラーおよび/または先読みビットエラーを補正するのに必要なECCビットの数を判定する。抵抗型不揮発性メモリアレイに保存されたECCビットの数は、ECCの符号化方式によって決まる。例えば、ECCの符号化方式は、記憶ユニット当たり(例えば、ページ当たり、ブロック当たり、セクタ当たり、ワード当たりなど)のECCビットの数を割り当てることができる。各記憶ユニットに割り当てられたECCビットの数は、フレキシブルであることができ、設計要求、システム能力、タイミング、およびスループット要求などによって決まることができる。メモリコントローラまたはECCコントローラは、記憶ユニットのデータビットエラーを補正するのに必要な各記憶ユニットに割り当てられるECCビットの数を判定する。例えば、5つのECCビットが抵抗型不揮発性メモリアレイに保存されたデータの各アドレスに割り当てられる。従って、実施例では、メモリコントローラまたはECCコントローラは、5つのECCビットのいくつがデータの対応するアドレスでデータビットエラーを補正するのに必要であるかを判定する。メモリコントローラまたはECCコントローラは、先読みビットエラーを補正するのに必要な各先読みビット(または記憶ユニットまたは先読みビット)に割り当てられるECCビットの数を更に判定する。
メモリコントローラまたはECCコントローラは、各記憶ユニットのデータビットエラーおよび/または先読みビットエラーを補正するのに必要なECCビットの数がECCビットのしきい値数より小さいかどうかを判定する。ECCビットのしきい値数は、通常、メモリコントローラまたはECCコントローラによって実施されたECCの符号化方式のエラー補正容量に基づいて判定される。しかしながら、ECCビットのしきい値数を判定するとき、他の要因が考えられる可能性もある。
記憶ユニットのデータエラーを補正、または先読みビットエラーを補正するのに必要なECCビットがないと判定されたとき(即ち、記憶ユニットのデータビットエラーがない、または先読みビットエラーがない)、メモリコントローラは、データの記憶ユニットまたは先読みビットを読み出し、強い書き込み動作を用いて記憶ユニットまたは先読みビットを抵抗型不揮発性メモリアレイに書き戻す(720)。強い書き込み動作を用いて、エラーを含まないデータまたは先読みビットを読み出し、それらを抵抗型不揮発性メモリアレイに書き戻すことは、データおよび先読みビットを保存するメモリセル内のマージンを増加する。
メモリコントローラが、記憶ユニットのデータエラーを補正、または先読みビットエラーを補正するのにECCビットが必要であり、且つ必要なECCビットの数がECCビットのしきい値数より小さいと判定したとき、メモリコントローラまたはECCコントローラは、強い書き込み動作を用いてエラーを補正し、補正したビットを抵抗型不揮発性メモリアレイに書き込む。メモリコントローラまたはECCコントローラは、データビットまたは先読みビットの数値を反転させることによってエラーを補正する。従って、例えば、データセルまたは先読みセルが「0」の論理値を含み、且つ論理値を判定するメモリコントローラまたはECCコントローラがECCビットを用いてこの論理値が正確でないと判定した場合、メモリコントローラまたはECCコントローラは、論理値を「1」に反転させる。
メモリコントローラは、補正されたビットをセンスアンプと書き込みドライバ(例えば、図4のセンスアンプと書き込みドライバ414)に含まれた書き込み回路に送信することによって、補正されたビットを抵抗型不揮発性メモリアレイに書き込む。メモリコントローラは、メモリシステム動作のさまざまな段階で補正されたビットを書き込むことができる。例えば、1つの実施形態では、メモリコントローラは、メモリシステムの後続するパワーアップ(例えば、次のパワーアップ)に応じて、またはメモリシステムの後続するアイドルモードの期間(例えば、次のアイドルモード)に書き込みを実行する。メモリコントローラが後続のパワーアップに応じて補正されたビットを書き込むとき、書き込みは、パワーアップの初期化または初期化のすぐその後、実行される。システム使用が最小になるまで(例えば、パワーアップに応じて、またはアイドルモードの期間)、修正されたビットを書き込むのを待ち、メモリシステムの性能への影響を最小にする。
メモリコントローラが、記憶ユニットのデータエラーを補正、または先読みビットエラーを補正するのにECCビットが必要であり、且つ必要なECCビットの数がECCビットのしきい値数以上であると判定したとき、メモリコントローラまたはECCコントローラは、記憶ユニットまたは先読みビットを置き換える。データの記憶ユニットまたは先読みビットの置き換えは、データの記憶ユニットまたは先読みビットを抵抗型不揮発性メモリアレイに保存された対応するデータの記憶ユニットまたは先読みビットに置き換えることを含む。トランジスタベースの不揮発性メモリアレイは、例えば、プログラマブル読み取り専用メモリ(PROM)、フラッシュメモリ、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、または電気的プログラム可能フューズ(eFUSE)メモリを含む。
トランジスタベースの不揮発性メモリアレイに保存されたデータの記憶ユニットまたは先読みビットは、置き換えられた抵抗型不揮発性メモリアレイのデータの記憶ユニットまたは先読みビットのコピー(即ち、バックアップ記憶ユニットまたはバックアップ先読みビット)であることができる。メモリコントローラは、抵抗型メモリアレイに保存されたデータと先読みビットをトランジスタベースの不揮発性メモリアレイに書き込み、データと先読みビットのバックアップ記憶ユニットを確立する。書き込みは、メモリシステム動作のさまざまな段階で生じることができる。例えば、メモリコントローラは、高温熱サイクル(例えば、基板実装ウェーブはんだ付け)の前に、データと先読みビットが抵抗型不揮発性メモリアレイに書き込まれた後に、メモリシステムのアイドルモードの期間に、受信したコマンドに応じて、またはメモリシステムのパワーアップに応じて、データと先読みビットをトランジスタベースの不揮発性メモリアレイに書き込むことができる。
代替プロセスの一部として、メモリコントローラは、トランジスタベースの不揮発性メモリアレイに保存されたバックアップ記憶ユニットまたはバックアップ先読みビットを読み込む。いくつかの実施形態では、メモリコントローラは、抵抗型不揮発性メモリアレイとトランジスタベースの不揮発性メモリアレイの両方を制御する。このような実施例では、メモリコントローラは、トランジスタベースの不揮発性メモリアレイに保存されたデータを直接読み出す。もう1つの実施形態では、トランジスタベースの不揮発性メモリアレイは、個別のメモリコントローラによって制御される。このような実施例では、抵抗型不揮発性メモリアレイに関連付けられたメモリコントローラは、トランジスタベースの不揮発性メモリアレイに関連付けられたメモリコントローラにリクエストを送信する。トランジスタベースの不揮発性メモリアレイに関連付けられたメモリコントローラは、リクエストを受信し、読み出し動作を行い、保存されたデータのバックアップ記憶ユニットまたはバックアップ先読みビットを検索し、且つ検索されたバックアップを抵抗型不揮発性メモリアレイに関連付けられたメモリコントローラに送信する。
メモリコントローラは、強い書き込み動作を用いて、バックアップ記憶ユニットまたはバックアップ先読みビットを抵抗型不揮発性メモリアレイに書き込む。メモリコントローラは、メモリシステムの動作のさまざまな段階でデータの記憶ユニットまたは先読みビットを置き換える。例えば、メモリコントローラは、エラーを補正するのに必要なECCビットの数がECCビットのしきい値数以上であると判定した後、すぐにデータの記憶ユニットまたは先読みビットを置き換えることができる。もう1つの例では、メモリコントローラは、メモリシステムの後続するパワーアップ(例えば、次のパワーアップ)に応じて、またはメモリシステムの後続するアイドルモードの期間(例えば、次のアイドルモード)にデータの記憶ユニットまたは先読みビットを置き換えることができる。
一旦、強い書き込み動作がデータビットまたは先読みビットに実行されると、メモリコントローラは、図4を参照して上述されたマージン読み出し動作を実行することによって、強い書き込み動作がうまく実行されたかどうかを検証する。マージン読み出し動作は、書き込まれたデータまたは先読みビットの電流分布を上限および/または下限しきい値電流値と比較し、書き込まれたデータまたは先読みビットの電流分布が増加されているかを検証する。一旦、メモリコントローラが強い書き込み動作がうまく実行されていると検証すると、メモリコントローラは、全てのデータセルと先読みセルがリフレッシュされているかどうかを判定する(730)。メモリコントローラが全てのデータセルと先読みセルがリフレッシュされていると判定した場合(730−Yes)、強いリフレッシュ動作が完了する(740)。メモリコントローラがいくつかのデータセルまたは先読みセルがまだリフレッシュされる必要があると判定した場合(730−No)、メモリコントローラは、次のデータ/先読みセルに移動し、且つ強いリフレッシュ動作を継続する(750)。
図8は、本開示のいくつかの実施形態および態様と一致する例示的な方法800のフローチャートを示している。方法800は、例えば、抵抗型不揮発性メモリアレイに保存されたデータの弱いリフレッシュを実行する。弱いリフレッシュは、データビットエラーを有するデータの強いユニットだけをリフレッシュするのを含む。いくつかの実施形態では、方法800は、例えば、図4に示されたメモリシステム400のメモリシステムによって実施されることができる。
いくつかの実施形態では、方法800は、ECCの補正でデータを読み出し、抵抗型不揮発性メモリアレイに保存されたデータの中のデータビットエラーを検出するステップを含む(ステップ810)。メモリシステムに含まれたメモリコントローラ(例えば、図4のメモリコントローラ410)は、抵抗型メモリアレイ(例えば、図2〜図4の抵抗型メモリアレイ200)の第1の不揮発性メモリアレイのデータセル(例えば、図3のデータセル310)に保存されたデータを読み出す。メモリコントローラは、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他の記憶ユニットなど、各種の記憶ユニットのデータを読み出す。各記憶ユニットは、任意の数の先読みビットを含むことができる。メモリコントローラは、抵抗型不揮発性メモリアレイのメモリセル(例えば、図3のECCセル320)に保存されたECCビットを更に読み出し、保存されたECCビットを用いて保存されたデータのデータビットエラーを検出する。メモリコントローラは、どのデータビットが高温またはEMIのために、論理状態を反転(例えば、論理「0」から論理「1」、またその逆から反転)させたかを判定することによってデータの記憶ユニットのデータビットエラーを検出する。保存されたECCビットは、ハミング符号、ボーズチョドーリオッケンジェム(Bose-Chaudhuri-Hocquenghem;BCH)符号、パリティビット、リードソロモン符号、ターボ符号、低密度パリティ検査符号(LDPC)、畳み込み符号、または当業者に周知の任意の他の誤り訂正符号を含むことができる。
メモリコントローラは、メモリシステムの動作のさまざまな段階でデータビットエラーを検出する。例えば、メモリコントローラは、読み出しサイクルの期間に、メモリシステムのパワーアップ、メモリシステムのアイドルモードの期間に応じて、または受信コマンドに応じて、データビットエラーを検出することができる。アイドルモードの場合では、メモリコントローラは、単一のアイドルモードの期間または所定数のアイドルモードの期間にデータビットエラーを検出することができる。従って、メモリコントローラは、システムの性能への影響が最小である時、エラー検出を実行する。パワーアップの場合では、メモリコントローラは、単一のパワーアップまたは所定数のパワーアップに応じて、データビットエラーを検出することができる。パワーアップの所定数は、さまざまな基準を用いて決定されることができる。例えば、パワーアップの数は、生産テストの期間にメモリシステムが受ける、パワーサイクルの予測数に基づいて決定されることができる。従って、製造の期間にメモリシステムに予めローディングされたデータ内の任意のエラーは、生産設備から出荷される前に、自動的に修正される。受信コマンドの場合では、メモリシステムは、メモリシステムと通信可能に結合された処理システムから、システムオペレータまたは試験(test)技術者/エンジニアなどのユーザーから、および/または開発或いは生産試験システムなどの試験システムからコマンドを受信することができる。コマンドはエラー検出および修正を行うコマンド、読み込みコマンド、システムリセットコマンド、パワーオンリセットコマンド(POR)、またはウエイクアップコマンドであることができる。
いくつかの実施形態では、メモリコントローラは、抵抗型不揮発性メモリアレイに保存されたデータのデータビットエラーを検出するECCコントローラ(例えば、図4のECCコントローラ415)を含む。例えば、ECCコントローラは、抵抗型メモリアレイからデータとECCビットを読み出し、ECCの符号化方式に基づいてデータビットエラーを検出する。
いくつかの実施形態では、方法800は、データビットエラーを補正するのに必要なECCビットの数を判定するステップを含む(ステップ820)。抵抗型不揮発性メモリアレイに保存されたECCビットの数は、ECCの符号化方式によって決まる。例えば、ECCの符号化方式は、記憶ユニット当たり(例えば、ページ当たり、ブロック当たり、セクタ当たり、ワード当たりなど)のECCビットの数を割り当てることができる。各記憶ユニットに割り当てられたECCビットの数は、フレキシブルであることができ、設計要求、システム能力、タイミング、およびスループット要求などによって決まることができる。メモリコントローラまたはECCコントローラは、記憶ユニットのデータビットエラーを補正するのに必要な各記憶ユニットに割り当てられるECCビットの数を判定する。例えば、5つのECCビットが抵抗型不揮発性メモリアレイに保存されたデータの各アドレスに割り当てられる。従って、実施例では、メモリコントローラまたはECCコントローラは、5つのECCビットのいくつがデータの対応するアドレスでデータビットエラーを補正するのに必要であるかを判定する。
メモリコントローラまたはECCコントローラは、各記憶ユニットのデータビットエラーを補正するのに必要なECCビットの数がECCビットのしきい値数より小さいかどうかを判定する(ステップ830)。弱いリフレッシュ動作では、ECCビットのしきい値数は、メモリコントローラまたはECCコントローラによって実施されたECCの符号化方式の最大のECCビットエラー補正容量より小さくなるように選択される。保存された先読みビットが重大なエラーを含まないと判断されているため(530−yes)、弱いリフレッシュ動作を実行するのに用いられるメモリシステムリソースは、抵抗型不揮発性メモリアレイの全てのデータに代替して、重要なエラー、または破損を有するデータだけを書き込むことによって最小化することができる。
メモリコントローラが、記憶ユニットのデータエラーを補正するのに必要なECCビットの数がしきい値数より小さいと判定したとき(ステップ830−yes)、メモリコントローラおよび/またはECCコントローラは、データの弱いリフレッシュを実行せず、次のデータセルの実行を継続する(840)。
メモリコントローラが、記憶ユニットのデータエラーを補正するのに必要なECCビットの数がしきい値数以上であると判定し(ステップ830−No)、必要なECCビットの数がエラー補正に使用可能な最大ECCビットより小さいと判定したとき、メモリコントローラまたはECCコントローラは、エラーを補正することによって弱いリフレッシュ書き込みを実行し、補正したビットを抵抗型不揮発性メモリアレイに書き込む(ステップ850)。メモリコントローラまたはECCコントローラは、データビットエラーの数値を反転させることによってエラーを補正する。従って、例えば、データセルが「0」の論理値を含み、且つ論理値を判定するメモリコントローラまたはECCコントローラがECCビットを用いてこの論理値が正確でないと判定した場合、メモリコントローラまたはECCコントローラは、論理値を「1」に反転させる。
メモリコントローラは、図4を参照して上述された通常の読み出し動作を用いて、補正されたデータビットを抵抗型不揮発性メモリアレイに書き込む。メモリコントローラは、補正されたビットをセンスアンプと書き込みドライバ(例えば、図4のセンスアンプと書き込みドライバ414)に含まれた書き込み回路に送信することによって、補正されたビットを抵抗型不揮発性メモリアレイに書き込む。メモリコントローラは、メモリシステム動作のさまざまな段階で補正されたビットを書き込むことができる。例えば、1つの実施形態では、メモリコントローラは、メモリシステムの後続するパワーアップ(例えば、次のパワーアップ)に応じて、またはメモリシステムの後続するアイドルモードの期間(例えば、次のアイドルモード)に書き込みを実行する。メモリコントローラが後続のパワーアップに応じて補正されたビットを書き込むとき、書き込みは、パワーアップの初期化または初期化のすぐその後、実行される。システム使用が最小になるまで(例えば、パワーアップに応じて、またはアイドルモードの期間)、修正されたビットを書き込むのを待ち、メモリシステムの性能への影響を最小にする。もう1つの実施形態では、メモリコントローラは、データビットエラーを補正した後、すぐに書き込みを実行する。抵抗型不揮発性メモリセルの書き込み時間は、一般的にトランジスタベースの不揮発性メモリセル(例えば、フラッシュメモリセル)の書き込み時間よりはるかに短い。データビットエラーを有するデータの記憶ユニットだけが弱いリフレッシュの期間に書き込まれるため、弱いリフレッシュは、通常のメモリシステムの期間、メモリシステムに悪影響を与えることなく、実行されることができる。
メモリコントローラが、記憶ユニットのデータエラーを補正するのに必要なECCビットの数がしきい値数以上であると判定し(830−No)、且つ必要なECCビットの数がエラー補正に使用可能な最大ECCビット以上であると判定したとき、メモリコントローラまたはECCコントローラは、記憶ユニットを置き換えることによって、弱いリフレッシュ書き込みを実行する(850)。データの記憶ユニットの置き換えは、上述のデータの記憶ユニットをトランジスタベースの不揮発性メモリアレイに保存された対応するデータの記憶ユニットと置き換えることを含む。トランジスタベースの不揮発性メモリアレイは、例えば、プログラマブル読み取り専用メモリ(PROM)、フラッシュメモリ、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、または電気的プログラム可能フューズ(eFUSE)メモリを含む。
トランジスタベースの不揮発性メモリアレイに保存されたデータの記憶ユニットは、置き換えられた抵抗型不揮発性メモリアレイのデータの記憶ユニットまたは先読みビットのコピー(即ち、バックアップ記憶ユニット)であることができる。メモリコントローラは、抵抗型メモリアレイに保存されたデータをトランジスタベースの不揮発性メモリアレイに書き込み、データのバックアップ記憶ユニットを確立する。書き込みは、メモリシステム動作のさまざまな段階で生じることができる。例えば、メモリコントローラは、高温熱サイクル(例えば、基板実装ウェーブはんだ付け)の前に、データが抵抗型不揮発性メモリアレイに書き込まれた後に、メモリシステムのアイドルモードの期間に、受信したコマンドに応じて、またはメモリシステムのパワーアップに応じて、データをトランジスタベースの不揮発性メモリアレイに書き込むことができる。
代替プロセスの一部として、メモリコントローラは、トランジスタベースの不揮発性メモリアレイに保存されたバックアップ記憶ユニットを読み込む。いくつかの実施形態では、メモリコントローラは、抵抗型不揮発性メモリアレイとトランジスタベースの不揮発性メモリアレイの両方を制御する。このような実施例では、メモリコントローラは、トランジスタベースの不揮発性メモリアレイに保存されたデータを直接読み出す。もう1つの実施形態では、トランジスタベースの不揮発性メモリアレイは、個別のメモリコントローラによって制御される。このような実施例では、抵抗型不揮発性メモリアレイに関連付けられたメモリコントローラは、トランジスタベースの不揮発性メモリアレイに関連付けられたメモリコントローラにリクエストを送信する。トランジスタベースの不揮発性メモリアレイに関連付けられたメモリコントローラは、リクエストを受信し、読み出し動作を行い、保存されたデータのバックアップ記憶ユニットまたはバックアップ先読みビットを検索し、且つ検索されたバックアップを抵抗型不揮発性メモリアレイに関連付けられたメモリコントローラに送信する。
メモリコントローラは、図4を参照して上述された通常の書き込み動作を用いて、バックアップ記憶ユニットを抵抗型不揮発性メモリアレイに書き込む。メモリコントローラは、メモリシステムの動作のさまざまな段階でデータの記憶ユニットを置き換える。例えば、メモリコントローラは、エラーを補正するのに必要なECCビットの数がECCビットのしきい値数以上であり、必要とされるECCビットの数がエラー訂正に利用可能な最大ECCビット以上と判定した後、すぐにデータの記憶ユニットを置き換えることができる。もう1つの例では、メモリコントローラは、メモリシステムの後続するパワーアップ(例えば、次のパワーアップ)に応じて、またはメモリシステムの後続するアイドルモードの期間(例えば、次のアイドルモード)にデータの記憶ユニットを置き換えることができる。
一旦、弱いリフレッシュ動作がデータビットまたは先読みビットに実行されると、メモリコントローラは、図4を参照して上述されたマージン読み出し動作を実行することによって、弱いリフレッシュ動作がうまく実行されたかどうかを検証する。弱いリフレッシュ動作のマージン読み出しは、強い書き込み動作のマージン読み出し動作よりも通常のしきい値電流値に近い上限および下限しきい値電流値を用いる。一旦、弱いリフレッシュ動作がデータセルに対して完了すると(ステップ850)、メモリコントローラおよび/またはECCコントローラは、次のデータセルに移動し、且つ弱いリフレッシュ動作が継続される。
図9は、通常の読み出し動作と本開示の実施形態と整合するマージン読み出し動作との間の比較を示している。図9に示されるように、通常のしきい値電流910は、メモリセルの電流分布を上限領域および下限領域の2つの領域に分割する。上限領域および下限領域は、異なる論理値(例えば、論理「0」と論理「1」)に対応する。通常の書き込み動作では、メモリコントローラ(例えば、図4のメモリコントローラ410)は、セルの電流分布が通常のしきい値電流のどちらか1つ側に降下するように、メモリセルをプログラムする。通常の読み出し動作では、メモリコントローラは、メモリセルを通過する電流を測定し、且つそれを通常のしきい値電流910と比較し、メモリセルの論理値を判定する。
弱いリフレッシュ動作では、メモリコントローラは、より低い弱いしきい値電流920aとより高い弱いしきい値電流920bをそれぞれ上限領域と下限領域の境界として用いる。図9に示されるように、より低い弱いしきい値電流920aとより高い弱いしきい値電流920bは、通常のしきい値電流910のどちらか1つ側に分布され、各弱いしきい値電流920aおよび920bと通常のしきい値電流910との間にマージンがあるようになる。弱いリフレッシュ動作では、メモリコントローラは、セルの電流分布がより低い弱いしきい値電流920aまたはより高い弱いしきい値電流920bより小さくなるように、メモリセルをプログラムする。
弱い検証読み出し動作(例えば、マージン読み出し)では、メモリコントローラは、メモリセルを通過する電流を測定し、且つそれをより低い弱いしきい値電流920aとより高い弱いしきい値電流920bと比較し、メモリセルの論理値を判定する。
強いリフレッシュ動作では、メモリコントローラは、より低い強いしきい値電流930aとより高い強いしきい値電流930bをそれぞれ上限領域と下限領域の境界として用いる。図9に示されるように、より低い強いしきい値電流930aとより高い強いしきい値電流930bは、通常のしきい値電流910のどちらか1つ側に分布され、2つの強いしきい値電流930aおよび930bと通常のしきい値電流910との間にマージンがあるようになる。また、より低い強いしきい値電流930aとより高い強いしきい値電流930bは、それぞれより低い弱いしきい値電流920aとより高い弱いしきい値電流920bよりも、通常のしきい値電流910から更に離れて分布される。強いリフレッシュ動作では、メモリコントローラは、セルの電流分布がより強いしきい値電流930aまたはより高い強いしきい値電流930bより小さくなるように、メモリセルをプログラムする。従って、強いリフレッシュ書き込み動作は、弱いリフレッシュ書き込み動作よりもより多くのメモリセルマージンを提供する。
強い検証読み出し動作(例えば、マージン読み出し)では、メモリコントローラは、メモリセルを通過する電流を測定し、且つそれをより低い強いしきい値電流930aとより高い強いしきい値電流930bと比較し、メモリセルの論理値を判定する。
強いしきい値電流930aと930bは、メモリセルの電流分布でのシフトを検出するのに用いられることができる。例えば、より低い強いしきい値電流930aとより高い強いしきい値電流930bを用いたマージン読み込み動作は、メモリセルの電流分布が通常のしきい値電流910により近いようにシフトされるため、メモリセルに保存されたデータの品質が劣化するのを検出することができる。例えば、先読みビットエラーを大量のデータのインジケータとして用いたとき、先読みビットの品質の劣化が、対応するデータの品質も劣化するためにリフレッシュされなければならないことを示すため、データ品質の劣化の早期検出は、有用性がある。
図9は、例示的な分布曲線940aと940bを更に示しており、メモリセルに保存されたビット数とセルの電流分布の比較を示している。分布曲線940aと940bは、例示的なものであるに過ぎず、他の分布曲線も可能であることは当業者には明らかであろう。
前述した明細書において、種々の例示的な実施の形態および観点が添付した図面に関連づけて記述されている。しかしながら、それらに対して種々の修正および変更が行われる得ることが明瞭であり、および、下記の請求項に記載の本発明の広い範囲を逸脱することなく、付加的な実施の形態および観点が実施し得ることが明瞭である。明細書および図面はしたがって、限定的な間隔ではなく例示的な記述として扱われるべきである。
請求項における要素は、請求項に用いられている言語に基づいて広く解釈されるべきであり、本明細書に記述された実施の形態または本願の審査手続きにおいてに限定されず、実施の形態は非排他的として解釈されるべきである。さらに、当業者は、上述した記述から、開示した本願発明の方法の動作が、順序を代えた動作及び/又は動作の挿入または削除を含む任意の方法で、修正可能なことを理解している。したがって、明細書の記述および実施の形態が単なる例示として考慮されるべきであり、下記の請求項によって示された真の範囲および技術的思想、および、それらの全範囲の均等て範囲を有することが意図されている。
100 トランジスタベースの不揮発性メモリ
110 トランジスタベースの不揮発性メモリセル
200 抵抗型不揮発性メモリアレイ
210 バックアップデータセル
212 選択素子
214 抵抗記憶素子
220 インジケータセル
310 データセル
320 誤り訂正符号(ECC)セル
330 先読みセル
400 メモリシステム
410 メモリコントローラ
411 入力/出力インターフェース
412 行デコーダ
413 列デコーダ
414 センスアンプと書き込みドライバ
415 誤り訂正符号(ECC)コントローラ
416 先読みコントローラ
500、600、700、800 方法
510〜550 方法のステップ
610〜670 方法のステップ
710〜750 方法のステップ
810〜550 方法のステップ
910 しきい値電流
920a、920b 弱いしきい値電流
930a、930b 強いしきい値電流
940aと940b 分布曲線
BL0〜BLm ビット線
WL0〜WLn ワード線

Claims (15)

  1. データおよび先読みビットを記憶するように構成された抵抗型不揮発性メモリアレイ、および
    メモリコントローラ
    を具備するメモリシステムであって、
    当該メモリコントローラは、
    記憶されたデータをユニット単位でデータビットエラー、および、記憶された先読みビットの中から先読みビットエラーを検出し、
    前記先読みビットエラーの数を検出し、
    前記検出した先読みビットエラーの数と、先読みビットエラーのしきい値とを比較し、
    前記検出した先読みビットエラーの数が前記先読みビットエラーのしきい値と等しいか大きいとき、前記抵抗型不揮発性メモリアレイに記憶されているデータおよび先読みビットについて強いリフリッシュを行い、
    前記検出した先読みビットエラーの数が前記先読みビットエラーのしきい値未満のとき、前記データエラーを有する記憶されているデータ、および、前記先読みビットエラーを有する記憶されている先読みビットのユニットのみをリフリッシュすることにより前記記憶されたデータおよび先読みビットについて弱いリフリッシュを行う、
    ように構成されている、メモリシステム。
  2. 前記抵抗型不揮発性メモリアレイは、位相変化ランダムアクセスメモリ(PCRAM)、抵抗型ランダムアクセスメモリ(RRAM)、または、導電性ブリッジ型ランダムアクセスメモリ(CBRAM)の少なくとも1つを具備する、
    請求項1に記載のメモリシステム。
  3. 当該メモリシステムはさらにトランジスタ−ベース不揮発性メモリアレイを具備し、
    前記抵抗型不揮発性メモリアレイは、前記記憶されているデータおよび先読みビットのユニットに対応するエラー訂正コード(ECC)ビットを記憶するように構成されており、
    前記メモリコントローラはさらに、
    前記データビットエラーおよび前記先読みビットエラーを訂正するのに必要なECCビットの数を決定し、
    前記決定したECCビットとECCビットのしきい値数とを比較する、
    ように構成されており、
    前記メモリコントローラはさらに下記の動作により、強いリフリッシュを行うように構成されており、ここで、前記下記の動作は、
    データビットエラーおよび先読みビットエラーを訂正するのに必要なECCの数が0より大きくECCビットのしきい値数未満のとき、前記記憶されているデータおよび先読みビットエラーをユニット単位でデータビットエラーを訂正し、訂正したユニット単位で記憶されているデータおよび先読みビットを前記抵抗型不揮発性メモリアレイに書き込み、
    前記記憶されているデータビットエラーおよび先読みビットエラーについてユニット単位での訂正をするのに必要なECCの数がECCビットのしきい値数以上のとき、前記トランジスタ−ベース不揮発性メモリアレイに記憶されているデータおよび先読みビットのユニットに対応する前記記憶されているデータおよび先読みビットをユニット単位で置き換え、
    データビットエラーのない記憶されたデータ、および、先読みビットエラーのない先読みビットを有する先読みビットを読み出し、当該読みだしたデータビットエラーのない記憶されたデータ、および、先読みビットエラーのないビットを有する先読みビットをユニット単位で前記抵抗型不揮発性メモリアレイに書き込む
    動作を含む、
    請求項1に記載のメモリシステム。
  4. 前記メモリコントローラは、
    ユニット単位で訂正したデータおよび先読みビットを書き込み、データビットエラーを有する記憶されてデータ、および、先読みビットエラーを有する先読みビットをユニット単位で置き換え、データビットエラーのないデータを有する記憶されたデータおよび先読みビットのない先読みビットを有する先読みビットをユニット単位で書き込み、それにより、前記抵抗型不揮発性メモリアレイのメモリセルのための現在の分布が前記弱いリフリッシュよりも大きくなる、動作、
    による強いリフリッシュを遂行するように構成されている、
    請求項3に記載のメモリシステム。
  5. 前記メモリコントローラは下記の動作により弱いリフリッシュを遂行するように、さらに構成されており、当該下記の動作は、
    データビットエラーおよび先読みビットエラーを訂正するのに必要なECCの数が0より大きくECCビットのしきい値数未満のとき、前記記憶されているデータおよび先読みビットエラーをユニット単位でデータビットエラーを訂正し、訂正したユニット単位で記憶されているデータおよび先読みビットを前記抵抗型不揮発性メモリアレイに書き込み、
    前記記憶されているデータビットエラーおよび先読みビットエラーについてユニット単位での訂正をするのに必要なECCの数がECCビットのしきい値数以上のとき、前記トランジスタ−ベース不揮発性メモリアレイに記憶されているデータおよび先読みビットのユニットに対応する前記記憶されているデータおよび先読みビットをユニット単位で置き換える、
    動作を含む、
    請求項3に記載のメモリシステム。
  6. 前記データおよび先読みビットはそれぞれ、半導体ダイに形成された異なる抵抗型不揮発性メモリアレイに、または、集積回路(IC)パッケージに含まれる分離されている半導体ダイキに形成された異なる抵抗型不揮発性メモリアレイに、または、集積回路(IC)パッケージに含まれる分離されている異なる抵抗型不揮発性メモリアレイに、記憶されている、
    請求項1記載のメモリシステム。
  7. 抵抗型不揮発性メモリアレイを含むメモリシステムにおけるエラーを訂正する方法であて、当該方法は、
    前記抵抗型不揮発性メモリアレイに記憶されたデータをユニット単位でデータビットエラー、および、記憶された先読みビットの中から先読みビットエラーを検出し、
    前記先読みビットエラーの数を検出し、
    前記検出した先読みビットエラーの数と、先読みビットエラーのしきい値とを比較し、
    前記検出した先読みビットエラーの数が前記先読みビットエラーのしきい値と等しいか大きいとき、前記抵抗型不揮発性メモリアレイに記憶されているデータおよび先読みビットについて強いリフリッシュを行い、
    前記検出した先読みビットエラーの数が前記先読みビットエラーのしきい値未満のとき、前記データエラーを有する記憶されているデータ、および、前記先読みビットエラーを有する記憶されている先読みビットのユニットのみをリフリッシュすることにより前記記憶されたデータおよび先読みビットについて弱いリフリッシュを行う、
    エラー訂正方法。
  8. 前記抵抗型不揮発性メモリアレイは、位相変化ランダムアクセスメモリ(PCRAM)、抵抗型ランダムアクセスメモリ(RRAM)、または、導電性ブリッジ型ランダムアクセスメモリ(CBRAM)の少なくとも1つを具備する、
    請求項7に記載のエラー訂正方法。
  9. 前記先読みビットエラーの数の検出動作は、当該メモリシステムの電力印加に応じて、または、当該メモリシステムのアイドルモード期間,または、受信した命令に応じて行う、
    請求項7に記載のエラー訂正方法。
  10. 前記先読みビットエラーの数の検出動作は、所定数の電力印加に応じて、または、所定数のアイドルモード,または、所定数の受信した命令に応じて行う、
    請求項7に記載のエラー訂正方法。
  11. 当該エラー訂正方法はさらに、
    前記データビットエラーおよび前記先読みビットエラーを訂正するのに必要な、前記抵抗型不揮発性メモリアレイに記憶されており、前記記憶されたデータおよび先読みビットに対応する、ECCビットの数を決定し、
    前記決定したECCビットと、ECCビットのしきい値数とを比較する、
    請求項7に記載のエラー訂正方法。
  12. 前記強いリフリッシュ動作は、
    データビットエラーおよび先読みビットエラーを訂正するのに必要なECCの数が0より大きくECCビットのしきい値数未満のとき、前記記憶されているデータおよび先読みビットエラーをユニット単位でデータビットエラーを訂正し、訂正したユニット単位で記憶されているデータおよび先読みビットを前記抵抗型不揮発性メモリアレイに書き込み、
    前記記憶されているデータビットエラーおよび先読みビットエラーについてユニット単位での訂正をするのに必要なECCの数がECCビットのしきい値数以上のとき、前記トランジスタ−ベース不揮発性メモリアレイに記憶されているデータおよび先読みビットのユニットに対応する前記記憶されているデータおよび先読みビットをユニット単位で置き換え、
    データビットエラーのない記憶されたデータ、および、先読みビットエラーのない先読みビットを有する先読みビットを読み出し、当該読みだしたデータビットエラーのない記憶されたデータ、および、先読みビットエラーのないビットを有する先読みビットをユニット単位で前記抵抗型不揮発性メモリアレイに書き込む
    動作を含む、
    請求項11に記載のエラー訂正方法。
  13. 前記強いリフリッシュ動作は、
    ユニット単位で訂正したデータおよび先読みビットを書き込み、データビットエラーを有する記憶されてデータ、および、先読みビットエラーを有する先読みビットをユニット単位で置き換え、データビットエラーのないデータを有する記憶されたデータおよび先読みビットのない先読みビットを有する先読みビットをユニット単位で書き込み、それにより、前記抵抗型不揮発性メモリアレイのメモリセルのための現在の分布が前記弱いリフリッシュよりも大きくなる、動作である
    請求項1に記載のエラー訂正方法。
  14. 前記弱いリフリッシュ動作は、
    データビットエラーおよび先読みビットエラーを訂正するのに必要なECCの数が0より大きくECCビットのしきい値数未満のとき、前記記憶されているデータおよび先読みビットエラーをユニット単位でデータビットエラーを訂正し、訂正したユニット単位で記憶されているデータおよび先読みビットを前記抵抗型不揮発性メモリアレイに書き込み、
    前記記憶されているデータビットエラーおよび先読みビットエラーについてユニット単位での訂正をするのに必要なECCの数がECCビットのしきい値数以上のとき、前記トランジスタ−ベース不揮発性メモリアレイに記憶されているデータおよび先読みビットのユニットに対応する前記記憶されているデータおよび先読みビットをユニット単位で置き換える、
    動作を含む、
    請求項7に記載のエラー訂正方法。
  15. 前記強いリフリッシュ動作または前記弱いリフリッシュ動作は、前記メモリシステムへの電力の印加または前記メモリシステムのアイドルモードの期間に応じて、強いリフリッシュまたは弱いリフリッシュを行うことを含む、
    請求項7に記載のエラー訂正方法。
JP2016104070A 2015-05-29 2016-05-25 不揮発性メモリのエラーを検出して補正する方法およびそのシステム Active JP6194390B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/724,899 US9836349B2 (en) 2015-05-29 2015-05-29 Methods and systems for detecting and correcting errors in nonvolatile memory
US14/724,899 2015-05-29

Publications (2)

Publication Number Publication Date
JP2016225007A true JP2016225007A (ja) 2016-12-28
JP6194390B2 JP6194390B2 (ja) 2017-09-06

Family

ID=55542531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016104070A Active JP6194390B2 (ja) 2015-05-29 2016-05-25 不揮発性メモリのエラーを検出して補正する方法およびそのシステム

Country Status (7)

Country Link
US (1) US9836349B2 (ja)
EP (1) EP3098815B1 (ja)
JP (1) JP6194390B2 (ja)
KR (1) KR101793368B1 (ja)
CN (1) CN106205683B (ja)
ES (1) ES2721751T3 (ja)
TW (1) TWI604459B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210040035A (ko) 2018-08-06 2021-04-12 소니 세미컨덕터 솔루션즈 가부시키가이샤 기억 제어 장치, 기억 장치 및 기억 제어 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10558525B2 (en) * 2016-06-30 2020-02-11 Taiwan Semiconductor Manufacturing Company, Ltd. Method of correcting errors in a memory array and a system for implementing the same
US10372566B2 (en) 2016-09-16 2019-08-06 Micron Technology, Inc. Storing memory array operational information in nonvolatile subarrays
KR20180090422A (ko) * 2017-02-02 2018-08-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN109509496B (zh) 2017-09-15 2020-12-22 华邦电子股份有限公司 电阻式存储器元件的操作方法
US10163515B1 (en) * 2017-09-25 2018-12-25 SK Hynix Inc. Memory system having feature boosting and operating method thereof
US10446246B2 (en) * 2018-03-14 2019-10-15 Silicon Storage Technology, Inc. Method and apparatus for data refresh for analog non-volatile memory in deep learning neural network
US10475519B2 (en) 2018-03-23 2019-11-12 Micron Technology, Inc. Methods for detecting and mitigating memory media degradation and memory devices employing the same
CN110473581B (zh) * 2018-05-09 2020-12-29 建兴储存科技(广州)有限公司 固态储存装置及其相关控制方法
US10585625B2 (en) * 2018-07-12 2020-03-10 Micron Technology, Inc. Determination of data integrity based on sentinel cells
TWI676988B (zh) * 2018-08-30 2019-11-11 黃志仁 應用於記憶體的讀出電路
DE102018219877A1 (de) * 2018-11-20 2020-05-20 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen einer Fehlerkorrekturinformation
TWI671750B (zh) * 2018-11-28 2019-09-11 華邦電子股份有限公司 記憶體的控制方法及非暫態電腦可讀媒體
CN111752768B (zh) * 2019-03-29 2024-01-23 华邦电子股份有限公司 存储器装置及其错误检测方法
US10936209B2 (en) * 2019-06-06 2021-03-02 Micron Technology, Inc. Memory error indicator for high-reliability applications
CN112151104B (zh) * 2019-06-28 2023-08-15 华邦电子股份有限公司 存储器存放装置及其动态数据修复的方法
US10942655B2 (en) * 2019-07-09 2021-03-09 Seagate Technology Llc Mitigating data errors in a storage device
KR20210063561A (ko) * 2019-11-25 2021-06-02 삼성전자주식회사 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
CN113284533B (zh) * 2020-02-20 2023-10-13 华邦电子股份有限公司 存储器装置和调整用于存储器装置的参数的方法
US11663124B2 (en) * 2020-02-25 2023-05-30 Micron Technology, Inc. Apparatuses and methods for interfacing on-memory pattern matching
US11309051B2 (en) 2020-03-19 2022-04-19 Kioxia Corporation Memory system that uses NAND flash memory as a memory chip
CN111784342B (zh) * 2020-06-28 2023-08-25 广东金宇恒软件科技有限公司 一种基于大数据集中支付动态监控管理系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008118705A1 (en) * 2007-03-28 2008-10-02 Sandisk Corporation Flash memory refresh techniques triggered by controlled scrub data reads
JP2009512119A (ja) * 2005-10-18 2009-03-19 サンディスク コーポレイション 訂正済みデータの格納および処理方法
US7836374B2 (en) * 2004-05-06 2010-11-16 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
JP2012208537A (ja) * 2011-03-29 2012-10-25 Nec Saitama Ltd メモリ制御装置およびメモリ制御方法
JP2012234240A (ja) * 2011-04-28 2012-11-29 Buffalo Inc 記憶装置、コンピュータ装置、コンピュータの制御方法、およびコンピュータプログラム
JP2013513195A (ja) * 2009-12-02 2013-04-18 マイクロン テクノロジー, インク. 不揮発性メモリ用のリフレッシュアーキテクチャおよびアルゴリズム

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1286360A3 (en) * 2001-07-25 2006-12-06 Hewlett-Packard Company Manufacturing test for a fault tolerant magnetoresistive solid-state storage device
US6751766B2 (en) * 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
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
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
KR20080080882A (ko) 2007-03-02 2008-09-05 삼성전자주식회사 Ecc용 레이어를 구비하는 다층 구조 반도체 메모리 장치및 이를 이용하는 에러 검출 및 정정 방법
US7477547B2 (en) * 2007-03-28 2009-01-13 Sandisk Corporation Flash memory refresh techniques triggered by controlled scrub data reads
US8028211B1 (en) 2007-03-29 2011-09-27 Integrated Device Technology, Inc. Look-ahead built-in self tests with temperature elevation of functional elements
US7877657B1 (en) 2007-03-29 2011-01-25 Integrated Device Technology, Inc. Look-ahead built-in self tests
KR101291721B1 (ko) 2007-12-03 2013-07-31 삼성전자주식회사 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템
KR20090086815A (ko) 2008-02-11 2009-08-14 삼성전자주식회사 메모리 장치 및 메모리 열처리 방법
JP4489127B2 (ja) * 2008-02-29 2010-06-23 株式会社東芝 半導体記憶装置
KR101543434B1 (ko) 2008-12-15 2015-08-10 삼성전자주식회사 반도체 메모리 시스템의 제조 방법
KR20120059569A (ko) 2009-08-21 2012-06-08 램버스 인코포레이티드 인-시츄 메모리 어닐링
KR20110105257A (ko) 2010-03-18 2011-09-26 삼성전자주식회사 적층 구조를 갖는 반도체 메모리 장치 및 에러 정정 방법
KR101188263B1 (ko) * 2010-10-14 2012-10-05 에스케이하이닉스 주식회사 반도체 메모리 장치
KR101796116B1 (ko) * 2010-10-20 2017-11-10 삼성전자 주식회사 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법
JP2013134595A (ja) 2011-12-26 2013-07-08 Toshiba Corp 半導体記憶装置
US20130268717A1 (en) 2012-04-09 2013-10-10 Ross S. Scouller Emulated electrically erasable memory having sector management
US20130336047A1 (en) 2012-04-24 2013-12-19 Being Advanced Memory Corporation Cell Refresh in Phase Change Memory
JP5853906B2 (ja) * 2012-08-24 2016-02-09 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
US9183091B2 (en) 2012-09-27 2015-11-10 Intel Corporation Configuration information backup in memory systems
KR20140045168A (ko) 2012-10-08 2014-04-16 삼성전자주식회사 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법
US9087614B2 (en) * 2012-11-27 2015-07-21 Samsung Electronics Co., Ltd. Memory modules and memory systems
US20140229655A1 (en) 2013-02-08 2014-08-14 Seagate Technology Llc Storing Error Correction Code (ECC) Data In a Multi-Tier Memory Structure
KR20140113191A (ko) * 2013-03-15 2014-09-24 삼성전자주식회사 반도체 메모리 장치 및 이의 리프레쉬 방법
US9342443B2 (en) 2013-03-15 2016-05-17 Micron Technology, Inc. Systems and methods for memory system management based on thermal information of a memory system
JP6149598B2 (ja) * 2013-08-19 2017-06-21 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
US9342401B2 (en) * 2013-09-16 2016-05-17 Sandisk Technologies Inc. Selective in-situ retouching of data in nonvolatile memory
US9552244B2 (en) * 2014-01-08 2017-01-24 Qualcomm Incorporated Real time correction of bit failure in resistive memory
US9324426B2 (en) * 2014-06-02 2016-04-26 Integrated Silicon Solution, Inc. Method for improving sensing margin of resistive memory
DE102014211111A1 (de) * 2014-06-11 2015-12-17 Robert Bosch Gmbh Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
KR102116980B1 (ko) * 2014-07-02 2020-05-29 삼성전자 주식회사 리던던시 메모리 셀의 리프레쉬 동작을 제어하는 반도체 메모리 장치
US10353598B2 (en) * 2014-10-06 2019-07-16 Sandisk Technologies Llc System and method for refreshing data in a memory device
US9959059B2 (en) * 2014-10-20 2018-05-01 Sandisk Technologies Llc Storage error management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836374B2 (en) * 2004-05-06 2010-11-16 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
JP2009512119A (ja) * 2005-10-18 2009-03-19 サンディスク コーポレイション 訂正済みデータの格納および処理方法
WO2008118705A1 (en) * 2007-03-28 2008-10-02 Sandisk Corporation Flash memory refresh techniques triggered by controlled scrub data reads
JP2013513195A (ja) * 2009-12-02 2013-04-18 マイクロン テクノロジー, インク. 不揮発性メモリ用のリフレッシュアーキテクチャおよびアルゴリズム
JP2012208537A (ja) * 2011-03-29 2012-10-25 Nec Saitama Ltd メモリ制御装置およびメモリ制御方法
JP2012234240A (ja) * 2011-04-28 2012-11-29 Buffalo Inc 記憶装置、コンピュータ装置、コンピュータの制御方法、およびコンピュータプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210040035A (ko) 2018-08-06 2021-04-12 소니 세미컨덕터 솔루션즈 가부시키가이샤 기억 제어 장치, 기억 장치 및 기억 제어 방법

Also Published As

Publication number Publication date
US20160350178A1 (en) 2016-12-01
CN106205683B (zh) 2019-04-02
KR20160140357A (ko) 2016-12-07
US9836349B2 (en) 2017-12-05
CN106205683A (zh) 2016-12-07
ES2721751T3 (es) 2019-08-05
EP3098815B1 (en) 2019-01-30
JP6194390B2 (ja) 2017-09-06
TW201642276A (zh) 2016-12-01
KR101793368B1 (ko) 2017-11-02
EP3098815A1 (en) 2016-11-30
TWI604459B (zh) 2017-11-01

Similar Documents

Publication Publication Date Title
JP6194390B2 (ja) 不揮発性メモリのエラーを検出して補正する方法およびそのシステム
JP6209646B2 (ja) 不揮発性メモリのデータ管理方法およびシステム
KR102172893B1 (ko) 판독 레벨 캘리브레이션 기능을 갖는 메모리 디바이스
KR101655306B1 (ko) 메모리 시스템 및 그것의 액세스 방법
KR102002925B1 (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US10777271B2 (en) Method and apparatus for adjusting demarcation voltages based on cycle count metrics
TWI587297B (zh) 半導體儲存裝置
US20130318418A1 (en) Adaptive error correction for phase change memory
US11557345B2 (en) Dynamic memory programming voltage step for strenuous device conditions
US11036582B2 (en) Uncorrectable error correction code (UECC) recovery time improvement
US11107518B2 (en) Extending operating temperature of storage device
US11003551B2 (en) Non-volatile storage system with program failure recovery
CN113961141B (zh) 存储器系统、存储器控制器以及操作存储器系统的方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170724

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170814

R150 Certificate of patent or registration of utility model

Ref document number: 6194390

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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