(57)【要約】      （修正有）【課題】抵抗基盤不揮発性メモリの経時的におよび、または動作状況を考慮して、メモリの抵抗における偏移を補償する。【解決手段】抵抗基盤セルへのデータの書き込み以降の活動指標を追跡し、閾値を満たす活動指標に応じて、バイアス信号をセルに印加して、セルの抵抗偏移を逆転させる。前記活動指標は、経過時間、温度、前記セルを対象とした読み出し動作の回数のうちの少なくとも１つを含み、バイアス信号の極性は、前記セル上で用いられたプログラミング信号の極性の逆である。【選択図】図１１
2014154205.tif 000002
【特許請求の範囲】
【請求項１】
抵抗基盤不揮発性メモリのセルへデータを書き込むことと、
前記セルへの前記データの前記書き込み以降の活動指標を追跡することと、
閾値を満たす前記活動指標に応じて、バイアス信号を前記セルに印加して前記セルの抵抗偏移を逆転させることとを含む、方法。
【請求項２】
前記活動指標は、経過時間、温度、前記セルを対象とした読み出し動作の回数のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記バイアス信号の極性は、前記セル上で用いられたプログラミング信号の極性の逆である、請求項１に記載の方法。
【請求項４】
前記セルは、相変化メモリセルを含み、前記バイアスは、前記セルを結晶状態に維持する結果をもたらす、請求項１に記載の方法。
【請求項５】
前記セルは、抵抗ランダムアクセスメモリ（ＲＲＡＭ）セルを含み、前記バイアスは、イオン移動を逆転させる結果をもたらす、請求項１に記載の方法。
【請求項６】
前記セルの経過期間の追跡をさらに含み、前記閾値および前記バイアス信号の量のうちの少なくとも１つが、前記経過期間に応じて修正される、請求項１に記載の方法。
【請求項７】
隣接セルの第２の活動指標を追跡することをさらに含み、前記閾値および前記バイアス信号の量のうちの少なくとも１つが、前記隣接セルの前記第２の活動指標に応じて、修正される、請求項１に記載の方法。
【請求項８】
前記経過時間の前記追跡および前記バイアス信号の前記印加は、前記抵抗基盤不揮発性メモリの寿命にわたって繰り返し行われる、請求項１に記載の方法。
【請求項９】
既知のデータパターンを記憶する前記抵抗基盤不揮発性メモリの基準セルから、抵抗偏移データを判定することと、
基準セルの前記抵抗偏移データに基づき、前記セルの前記抵抗偏移を予測することとをさらに含む、請求項１に記載の方法。
【請求項１０】
抵抗基盤不揮発性メモリユニットからの読み出しおよびそこへの書き込みを行うように構成されたコントローラであって、
前記抵抗基盤不揮発性メモリユニットのセルへデータを書き込むことと、
前記セルへの前記データの前記書き込み以降の活動指標を追跡することと、
閾値を満たす前記活動指標に応じて、バイアス信号を前記セルに印加して前記セルの抵抗偏移を逆転させることとを行うように構成される、コントローラを備える、装置。
【請求項１１】
前記活動指標は、経過時間、温度、前記セルを対象とした読み出し動作の回数のうちの少なくとも１つを含む、請求項１０に記載の装置。
【請求項１２】
前記バイアス信号の極性は、前記セル上で用いられたプログラミング信号の極性の逆である、請求項１０に記載の装置。
【請求項１３】
前記セルは、相変化メモリセルを含み、前記バイアスは、前記セルを結晶状態に維持するという結果をもたらす、請求項１０に記載の装置。
【請求項１４】
前記セルは、抵抗ランダムアクセスメモリ（ＲＲＡＭ）セルを含み、前記バイアス結果は、イオン移動を逆転させる、請求項１０に記載の装置。
【請求項１５】
前記コントローラはさらに、前記セルの経過期間の追跡を行い、前記閾値と前記バイアス信号の量のうちの少なくとも１つは、前記経過期間に応じて修正される、請求項１０に記載の装置。
【請求項１６】
前記コントローラはさらに、隣接セルのデータアクセス活動の追跡を行い、前記閾値と前記バイアス信号の量のうちの少なくとも１つは、前記隣接セルの前記データアクセス活動に応じて修正される、請求項１０に記載の装置。
【請求項１７】
前記コントローラはさらに、
既知のデータパターンを記憶する前記抵抗基盤不揮発性メモリユニットの基準セルから、抵抗偏移データを判定し、
前記基準セルの前記抵抗偏移データに基づき、前記セルの前記抵抗偏移を推定する、請求項１０に記載の装置。
【請求項１８】
抵抗基盤不揮発性メモリユニットと、
バイアス信号を前記メモリユニットのセルに印加するように構成される記憶コントローラであって、前記バイアス信号は、前記セルの読み出しおよびそこへの書き込みのために印加された信号とは異なる、記憶コントローラと、
前記記憶コントローラに連結されて、
前記記憶コントローラを介して前記セルへデータを書き込むことと、
前記セルへの前記データの前記書き込み以降の経過時間を追跡することと、
閾値を満たす前記経過時間に応じて、前記バイアス信号を、前記記憶コントローラを介して前記セルに印加して前記セルの抵抗偏移を逆転させることとを行うように構成された、システムコントローラとを備える、装置。
【請求項１９】
前記セルは、相変化メモリセルを含み、前記バイアスは、前記セルを結晶状態に維持する結果をもたらす、請求項１８に記載の装置。
【請求項２０】
前記セルは、抵抗ランダムアクセスメモリ（ＲＲＡＭ）セルを含み、前記バイアスは、イオン移動を逆転させる結果をもたらす、請求項１８に記載の装置。
【発明の詳細な説明】
【発明の概要】
【課題を解決するための手段】
【０００１】
本開示は、メモリセルの抵抗偏移を逆転させるためにバイアス信号をメモリセルへ印加することに関する。１つの実施形態において、装置と方法は、抵抗基盤不揮発性メモリのセルへのデータの書き込みを促進する。セルへのデータの書き込み以降の活動指標（例えば、時間経過）が追跡される。閾値を満たす活動指標に応じて、バイアス信号はセルに印加されてセルの抵抗偏移を逆転させる。
【０００２】
種々の実施形態のこれらおよび他の特性および態様は、以下の詳細な考察および添付の図面を考慮して理解されるであろう。
【０００３】
以下の図面において、複数の図面中の同様／同一の構成要素を識別するために同一の参照番号が用いられる場合がある。
【図面の簡単な説明】
【０００４】
【図１】ある実施形態例によるデータ記憶デバイスのブロック図である。
【図２】ある実施形態例によるメモリセルからのデータの復号化を示すブロック図である。
【図３】ある実施形態例によるメモリ配置のブロック図である。
【図４】ある実施形態例による記憶コントローラのブロック図である。
【図５】ある実施形態例による、読み出しおよび／またはプログラム信号値を用いて、読み出しまたは書き込みかく乱効果を調整する記憶コントローラのブロック図である。
【図６】ある実施形態例による、論理ブロックを物理的な位置にインターリーブする実施例を示すブロック図である。
【図７】メモリの異なるタイプまたは構成を有する領域を含むメモリデバイスのブロック図である。
【図８】ある実施形態例による、メモリセルの抵抗偏移を補償するために、バイアス信号をメモリセルに印加することを示すブロック図である。
【図９】ある実施形態例による、メモリセルの抵抗偏移を補償するために、バイアス信号をメモリセルに印加することを示すブロック図である。
【図１０】既知のパターンを用いてセル劣化を特徴付ける配置のブロック図である。
【図１１】実施形態例による方法のフローチャートである。
【図１２】実施形態例による方法のフローチャートである。
【発明を実施するための形態】
【０００５】
以下の種々の実施形態例の説明において、その一部を形成する添付の図面が参照され、種々の実施形態を示すために図示される。ここに添付された請求項の範囲から逸脱することなく構造的および動作的変化がなされてもよいように、他の実施形態が用いられてもよいことが理解される。
【０００６】
本開示は、概して、抵抗メモリ記憶装置を用いるデバイスなどの持続的データ記憶デバイスに関する。抵抗メモリは、データを記憶するために、メモリセルの抵抗における持続的な変化を用いるいずれかのメモリを含んでもよい。抵抗メモリは抵抗ランダムアクセスメモリ（ＲＲＡＭ（登録商標）またはＲｅＲＡＭ）および相変化メモリ（ＰＣＭ）を含んでもよいが、それらには限定されない。これらのメモリタイプの各々が異なる特徴や利点を有してもいい一方、異なるメモリタイプを用いるメモリデバイスの効果的な使用には、媒体の経年劣化に応じて、および／または媒体の作業負荷に基づいて、媒体の物理的な変化の効果的な管理を含んでもよい。
【０００７】
本開示は、経時的におよび／または動作状況を考慮して、抵抗基盤メモリの抵抗における偏移を補償することに関する。補償は、適応誤り補正符号（ＥＣＣ）の使用、プログラムおよび読み出し挙動の修正、特定のデータ記憶書式設定の使用、および媒体の能動管理のうちのいずれかの組み合わせを含んでもよい。補償はメモリの耐久性の向上を意図しているが、改善された性能などの他の利益を有してもよい。これらの補償技術は組み合わされて用いられてもよく、それぞれが非常に以下に詳細に考察されるであろう。これらの技術は、図１に示されるデバイス１００などのデータ記憶デバイスで用いられてもよい。
【０００８】
図１において、ある実施形態例によるデータ記憶デバイス１００のブロック図を示す。このデバイス１００は、個体メモリのいずれかの組み合わせを用いる個体ドライブ（ＳＳＤ）（またはその従属部品）して構成されてもよい。デバイス１００の特性は、個体メモリと磁気ディスクとの組み合わせを用いるハイブリッドドライブなどの他のタイプのハードドライブデバイスに適用可能であってよい。デバイス１００の特性もまた、標準的なハードドライブデータのインターフェースを使用しない特別な目的の個体および／またはディスクデータ記憶デバイス（またはその従属部品）に適用可能であってよい。
【０００９】
デバイス１００は、デバイス１００の不揮発性メモリのいくつか、あるいはすべてを含む１つ以上のメモリユニット１０２、１０３を含んでもよい。メモリユニット１０２、１０３は、１つ以上の各離散物理ユニット１０４、１０５、例えば、メモリチップを含む。この実施例では、メモリユニット１０２、１０３は非階層ユニットであり、各離散物理ユニット１０４、１０５はそれぞれ、互いに異なるタイプの不揮発性メモリ記憶媒体を含む。物理ユニット１０４、１０５各々の中で、メモリは、より小さいブロック１０６、１０７に分類されてもよい。物理ユニット１０４、１０５の潜在的な媒体が異なるため、ブロック１０６、１０７のメモリサイズは異なっていてもよい。デバイス１００の特性のうちのいくつかは非階層混合媒体記憶装置に適用可能であり、以下に説明される概念のほとんどは、単一のメモリユニットおよび／または単一の記憶媒体のタイプを用いるデバイス内で使用されてもよい。
【００１０】
デバイス１００は、ホストインターフェース１１２を介してホスト１１４から受け取ったサービス要求を促進する１つ以上のシステムコントローラ１１０を含んでもよい。コントローラ１１０は、概して、論理アドレスを参照するホスト１１４から、読み出しおよび書き込み要求を受け取ってもよい。システムコントローラ１１０は、とりわけ、論理アドレスを物理アドレスに翻訳し、各読み出しまたは書き込み動作を、メモリユニット１０２、１０３の適切な物理アドレス上で実行されるようにしむける。
【００１１】
デバイス１００は、とりわけ、不揮発性メモリユニット１０２、１０３用の揮発性キャッシュ１１７のために用いられてもよい揮発性ランダムアクセスメモリ１１５（ＲＡＭ）を含んでもよい。概して、揮発性キャッシュ１１７は、不揮発性メモリ１０２、１０３の一部を映す階層メモリ構造であるが、不揮発性メモリ１０２、１０３より速く読み出され得るおよび／または書き込まれ得る。いくつかの状態では、例えば、短期間に、繰り返された読み出し／書き込み活動を見るデータでは、揮発性キャッシュ１１７は性能を高めるであろう。
【００１２】
システムコントローラ１１０は、メモリユニット１０２、１０３の媒体の状態を決定し変化させる記憶コントローラ１１６に連結される。記憶コントローラ１１６は、特有のメモリセルを読み出しまたは書き込み用に選択可能にする論理回路（例えば、ゲートアレー、マルチプレクサ）を含んでもよい。記憶コントローラ１１６はまた、セルの読み出しおよび書き込みのために用いられる信号を供給するアナログ信号処理回路（例えば、フィルタ、増幅器）、ならびにメモリ媒体に記憶されたアナログ情報と、デバイスの他のところで用いられるデジタル情報との間で翻訳を行うために用いられる、デジタル／アナログ変換器（ＤＡＣ、複数を含む）およびアナログ／デジタル変換器（ＡＤＣ、複数を含む）を含んでもよい。
【００１３】
符合器／復号器モジュール１１８は、記憶コントローラ１１６で動作し、メモリユニット１０２、１０３により用いられるデジタル符号化書式設定とユーザデータ書式設定の間で翻訳を行う。符合器／復号器モジュール１１８は、記憶コントローラ１１６または分離ユニットの一部であってよい。複数のメモリユニット１０２、１０３が用いられると、デバイス１００は、特有のメモリタイプ用にカスタマイズされた方法で、少なくともそれらの各動作を実行している複数の記憶コントローラ１１６および符合器／復号器１１８を含んでもよい。分離コントローラはまた、特有のメモリアーキテクチャに対して適切な、それら独自の論理対物理マッピングを用いてもよい。このような場合、システム／一次コントローラ１１０は、論理ホストアドレスを、メモリユニット１０２、１０３によって使用可能な内部論理アドレスに変換してもよい。
【００１４】
一次コントローラ１１０（記憶コントローラ１１６および符合器／復号器１１８と同様に）ここでは、デバイス１００によって動作可能な指示を記憶して、以下に記載されるような動作を行うコンピュータ可読媒体１２０として表現される、メモリ、論理回路、ファームウェアまたはソフトウェアからの指示に応じて、動作してもよい。例えば、適応プログラム／読み取りモジュール１２２は、メモリユニット１０２、１０３に対して読み出しまたは書き込みを行うとき、記憶コントローラ１１６によって用いられるパラメータを変更してもよい。適応ＥＣＣモジュール１２４は、符合器／復号器１１８で動作して、以下に説明するようにＥＣＣパラメータを修正してもよい。
【００１５】
コンピュータ可読媒体１２０はまた、データがどのようにしてメモリユニット１０２、１０３内に記憶されるかに関する種々の態様を規定してもよい書式設定モジュール１２６を含む。特有のメモリ構造内でのデータのインターリーブのような、書式設定モジュール１２６のいくつかの態様は、記憶コントローラ１１６内に含まれてもよい。特有のデータを記憶するための異なるメモリユニット１０２、１０３間での選択またはデータの記憶などの書式設定モジュール１２６の他の態様は、より高いレベル、例えば、論理／物理マッピングで実施されてもよい。管理モジュール１２８はまた、例えば、ホスト活動の追跡、バックグラウンド処理の開始等の高いレベルで動作してもよい。デバイス１００は、使用計量、構成設定等のデータ用に不揮発性メモリの確保された一部を含むデータベース１３０を含んでもよい。
【００１６】
先述の通り、メモリユニット１０２、１０３は、異なるタイプのメモリ記憶媒体を含む非階層ユニットとして構成されてもよい。例えば、メモリユニット１０２、１０３はそれぞれ、フラッシュメモリ、抵抗ＲＡＭ（ＲｅＲＡＭ）、スピントルクＲＡＭ（ＳＴＲＡＭ）、または相変化メモリ（ＰＣＭ）などの異なる各媒体を含んでもよい。この開示の目的のために、メモリユニット１０２、１０３の少なくとも１つは、抵抗メモリユニット、例えば、ＲｅＲＡＭおよびＰＣＭとして構成される。
【００１７】
経時的に、ＲｅＲＡＭおよびＰＣＭの抵抗レベルは、多くの要因、例えば、温度、材料破損、サイクルの数、保持時間、読み出し／書き込みかく乱等により偏移してもよい。これらの抵抗偏移は、耐久性を低下させ得る。例えば、長期間、記憶されているデータは、大幅なビット誤り率（ＢＥＲ）を提示するおよび／または読み出し不可能になってもよい。これらの誤りは、メモリセルが２つ以上のビットを記憶するために用いられる場合、さらに明白となってもよい。適応ＥＣＣおよび符号化、プログラムおよび読み出し挙動の修正、特定のデータ記憶書式設定の使用、および媒体の能動管理を含む抵抗において偏移を補償する多くの方法がある。これらのアプローチは、併せてまたは個々に用いられ得る。それらの各々は以下に非常に詳しく考察されるであろう。
【００１８】
適応ＥＣＣおよび符号化
ほとんどのデータ記憶デバイスは、データの記憶または読み取りの誤りにつながり得る、騒音および他のかく乱を取り扱う、ある種の誤り補正を用いる。例えば、ハミング符号などの線形ブロック符号を用いるＥＣＣスキームは、データが書き込まれるとき、パリティビットをそのデータに負荷する。データが復唱されるとき、パリティビットは、誤りを検出して補正するために用いられ得る。概して、補正され得る多数の誤りビットにより計測された符号の強度は、概して、使用されたパリティビットの数とともに増加する。
【００１９】
データ記憶媒体において、メモリセルはダイ上で緊密に詰められている場合がある。したがって、１つのセルに作用する活動は、例えば、漏電、容量結合、熱等により別のセルに影響を与えてもよい。その結果、セル内で見られたタイプの誤り、例えば、厳しい決断の閾値抵抗値が予想より高いまたは低いかどうかは、隣接するセル内に書き込まれたデータにより影響されてもよい。誤りはまた、読み出しおよび書き込みなどの他のセル活動により影響されてもよい。この実施例は、ある実施形態例によるデバイスで用いられてもよいメモリセル２００を示すブロック図である図２に示される。
【００２０】
概して、行２０２、２０３は、物理的に近接したメモリセルの配置を表している。例えば、各行２０２、２０３はワード線を表してもよく、また各ブロック（例えば、ブロック２０６）は、１つ以上のビットのデータシンボルを記憶するメモリセルを表す。この実施例において、メモリセルは２ビットシンボルを記憶し、セル内の各ビットは、同一または異なる語（例えば、データ語間でインターリーブされたビット）の一部であってよい。図２に関して示された概念は、より多くのまたはより少ないビットを記憶するメモリセルに適用可能であってよい。
【００２１】
図２において、ＥＣＣ復号器モジュール２０４は、メモリセルに記憶されたデータを復号するために用いられ、復号の結果はブロック２１０に示されている。図示の目的で、復号器モジュール２０４は復号メモリセル２０６内に示されているが、多くの実施において、復号器モジュール２０４は、同時に、多数のセル（例えば、全ワード線２０３）を復号してもよい。セル２０７から２０９は、現在、復号化されたセル２０６に物理的に隣接している。セル２０６から２０８は同一のデータ語またはワード線の一部であり、セル２０６、２０９は隣接するデータ語またはワード線とは異なる。セル２０７から２０９内のデータは、セル２０６内のデータと同一のデータ語内にあってもよいし、またはなくてもよい。
【００２２】
この考察の目的のために、用語「データ語」は、概して、併せてアクセスされた（例えば、書き込まれ、読み出され、復号化され、符号化された）最小数のビットを示す。例えば、メモリがバイトアドレス指定可能であれば、メモリは、ユーザデータの最小限の１つのビット（８ビット）を一度に読み出すように構成される。これは、８ビットより大きい記憶されたデータ、例えば、ユーザデータにＥＣＣデータを加えたデータのセルからの読み出しを含む。フラッシュメモリおよび磁気ディスクなどのあるタイプのメモリは、かなり大きいデータ語、例えば、５１２バイトと同じかまたはそれより大きいセクタまたはページ、多くの場合、ＳＳＤ用の４０９６バイトを有してもよい。それにひきかえ「ワード線」は、概して、物理的に隣接されて、コントローラ論理により共通の起動線に連結されてもよいセルの収集に言及している。同一のワード線内のセルは、同一のまたは異なるデータ語に対応してもよい。
【００２３】
隣接するセル２０７から２０９に記憶された値が、セル２０６から読み出された値に影響してもよいため、誤り補正のための事前情報として、隣接するビットの状態を用いることが望ましい。低密度パリティ検査（ＬＤＰＣ）などの誤り補正符号は、補助セルにより提供された事前情報またはサイド情報でチャネル情報を補完することにより、改善された性能を示してもよい。電気通信システムにおいて、事前情報は、同一のデータ（例えば、データの回復不能なブロックの再送信）の事前送信から取得されてもよい。図示された実施形態において、事前情報は、隣接ビット２０７から２０９の値により取得されてもよい。
【００２４】
概して、読み出しまたは書き込みかく乱などの処理を通じて、隣接ビットは、少なくとも１つの部分的に決定論的な方法で、関心ビットと干渉する。例えば、セルが、付与された極性の比較的高い電圧を印加することにより所望のレベルにプログラム化されると、これは、より低い電圧および／または異なる極性の電圧を用いるレベルにプログラム化された隣接セルに影響してもよい。具体的には、セルの抵抗は、隣接セルのプログラムミングレベル（または、いくつかの場合には、読み出しレベル）により誘導された方向に偏移した可能性がある。
【００２５】
図示された実施例において、セル２０６から読み出された値は、低信頼度を有する、または判定され得る。隣接セル２０７から２０９の値が知られている場合、これらの値は、復号セル２０６で第１または後続の計画で用いられるために事前情報として用いられて、全ワード線２０３の復号化の一部として実行されてもよい。セル２０９の値は、語２０２がすでに復号化され緩衝化された（例えば、ＤＲＡＭキャッシュに保持された）場合のみに知られているだろう一方、このようなシナリオがいくつかの状態において、例えば、大きな順次データの読み出しにおいて発生してもよい。
【００２６】
セル２０６から２０８が同一の符号化された語のすべての部分であると仮定すると、セル２０７および２０８の値は、セル２０６などの知られていない値が判定されるまでは高い信頼のレベルに対して知られてはいないだろう。それにもかかわらず、これらのセル２０７、２０８内の推定されたデータがあるパターンに適合する場合などには、セル２０７、２０８における現在の厳しい決断は依然として有益であるかもしれない。例えば、この実施例におけるすべての隣接セル２０７から２０９は値「００」であり、このような状態は、特有の方向で隣接セルの誤りに影響する読み出しまたは書き込みかく乱を生じさせることが知られていてもよい。その方向でのセル２０６の読み出しの調整は、セル２０７、２０８の値を確認することと、セル２０６の値を高い信頼のレベルに対して判定することとの両方を行ってもよい。
【００２７】
図２における配置はまた、ＥＣＣ復号器２０４により使用可能な圧縮参照テーブル（ＬＵＴ）２１２を用いてもよい。ＬＵＴ２１２は、ＥＣＣ復号器２０４に送り込まれるソフト情報を提供し、同一のＬＵＴ２１２は、複数の場所に関して用いられ得る。ソフト情報は、補正されたビットの予測された見込みを付与するために用いられてもよい。ＬＵＴ２１２は、試験／妥当性処理を用いてかく乱影響を計算することにより、製造時間で自動入力され得る。ＬＵＴ２１２はまた、デバイス内で実際に測定された値を調整するためにランタイムを更新され得る。例えば、前もって復号化に成功したデータを使用して、かく乱を特徴付ける、例えば、未補正のデータを補正済のデータと比較することができる。概して、ＬＵＴ２１２は、それが少なくとも、それが取って代わるＥＣＣパリティのフットプリントより小さいメモリフットプリントを有するように圧縮される。
【００２８】
ＬＵＴ２１２はまた、メモリ内の特定の位置（例えば、先端位置はダイ上の中央位置とは異なっている場合がある）のために生成することができる。ＬＵＴ２１２はまた、隣接位置での事前の読み出しからのデータで満たされてもよい。これは、順次読み出しを行うときに、事前補償に関して用いられ得る。最終ページが補正された（また、おそらくこのような補正が困難であった）ことが知られる場合、その補正情報が後で用いられる場合がある。補正情報は、最終ページと同一の様式の偏移による誤りが次のページにある可能性が高いと思われるため、後続のページを読み出すための開始点としての機能を果たし得る。
【００２９】
図２のブロック図は、他のセル状態／値を用いて隣接セルの誤り補正を助ける実施例を表す。これはある実施形態例によるメモリ配置３００のブロック図を含む図３にさらに示されるように延長されてもよい。メモリ配置３００は、それぞれが複数の配列を有する、多数の物理的構成要素（例えば、層、チップ等）を含む。配列の行（例えば、行３０６）は、データ語、ページ、またはそれらのグループなどのアドレス指定可能領域を個々に、表してもいい。ＥＣＣモジュール２０４は、破線の領域によって示されるように多次元にわたって、例えば、多数のページおよび／または多数の構成要素にわたって、誤り符号を計算してもよい。これは、概して、メモリデバイス３００に特有の誤りを分類化して、個々にアドレス指定可能な領域３０６、特有の構成要素３０２から３０５、または全体としてデバイス３００に補正を加えることを含む。
【００３０】
１つの配置において、メモリデバイス３００は、製造中、セルデータの符号化および復号化で使用可能な移動機能を発展させることで特徴付けられてもよい。これは、大量のＥＣＣを使用するために、デバイス３００の公表された能力の減少を含んでもよい。付加的なスカラーは、実行時間因子に基づいて劣化を追跡する、再び特徴付ける、および／または予測することにより、実行中、適用されてもよい。これらの付加的なスカラーは、他の機能的な構成要素、環境等との統合により発生する付加的な劣化などの、製造位相で判定されることができない効果の要因となってもよい。
【００３１】
上述の多次元のＥＣＣに加えて、ある実施形態例による装置は、抵抗メモリのタイプに特有の誤りを扱う付加的な特性を含んでもよい。例えば、ＥＣＣ符合器／復号器配置は、可変符号化率ＥＣＣを用いることが可能であってよい。配置（例えば、図１に示される適応ＥＣＣモジュール１２４を介して）は、誤りの結果につながりやすいメモリの領域および／またはシステム状態を識別可能であった。これらの識別子は、より高いレベルのＥＣＣ（図１の符合器／復号器モジュール１１８を介して）を選択するために用いられることが可能であって、これらの領域および／または状態は、適応可能に回復不能な誤りを減少させる。
【００３２】
ＥＣＣ符合器／復号器は、メモリセルが劣化するにつれて、符号化率を変更させるように構成されてもよい。異なるレベルのＥＣＣは特有の領域に印加されてもよく、または同一の可変ＥＣＣは、同一のタイプの全メモリユニットにわたって印加されてもよい。記憶デバイスはバックグラウンドスキャンを行い、誤り率が設定補正能力に近づいていることを検出するように、（例えば、図１の管理モジュール１２８を介して）構成されてもよい。それに応じて、付加的な補正符号は計算されて、局部的にまたは新しく書き込まれたデータのために大域的に用いられ得る。
【００３３】
別の実施例において、動的ＥＣＣ符号は、データのデータタイプまたは現在の活動に基づき、印加されてもよい。このような場合、大きいＥＣＣ符号語は、順次データおよび／またはコールドデータ用に用いられてもよく、また小さいＥＣＣ符号語は、ランダム／ホットデータ用に用いられてもよい。ホットデータ（またいくつかの場合には、ランダムデータ）は頻繁にまたは予測不能に再書き込みされてもよいため、それは長期データ保持誤りによって影響を受けやすくなくてもよく、したがって、より小さいＥＣＣを用いることが可能である。また、より小さいＥＣＣは、そのランダムデータまたはホットデータの改善された処理量または潜在性能に結びついてもよい。
【００３４】
別の実施例において、データ記憶デバイスは、暗号化／符号化／スクランブリングのためにより小さい境界を用いてもよく、またＥＣＣが、データのより小さい区画に適用させることが可能であってもよい。例えば、多数の種子が利用可能であってよく、変更される必要があるビットの数を最小限にする種子が選択される。データは、より小さい粒度で暗号化されることができ、その結果、実際に変化するデータの必要なセクションのみが更新される必要がある。
【００３５】
別の実施例において、ＥＣＣデータは、それが保護しているユーザデータから分離して記憶されることが可能であってよい。このような場合、ＥＣＣは、メモリユニット１０２、１０３のうちの一方に記憶されてもよく、ユーザデータは、ユニット１０２、１０３のうちの他方に記憶されてもよい。データ更新と比べてＥＣＣ更新が多い場合、例えば、ＥＣＣは高耐久性メモリタイプに記憶されてもよい。
【００３６】
別の配置において、メモリユニット１０２、１０３は、少なくともいくつかの多数のレベルのセルを含む。このような場合、セル内に記憶された値の読み出しは、２つ以上の抵抗閾値レベルを区別することを含む。セルが２つのビットを引き裂く場合、例えば、記憶コントローラおよび／または復号器は、記憶された抵抗が４つの領域のうちの１つの中にあるかどうかを判定する必要があるだろう。
【００３７】
４つの領域は、４つの領域を区分化する３つの閾値レベルにより定義され得る。１つの実施例において、各閾値レベルで記憶された最小数のビットを補償し、閾値を補償する情報を用いるために、符号化スキームが用いられることが可能だった。このような場合、ＭＬＣビットを符号化する知識は、データの整合性の別の検査を提供するのに役だち得る。符号化中に均一にスクランブルをかけられた単一のレベルのビットのあるグループが回収された場合、それらは読み戻されつつある均等なパリティを有するだろう。これは、データが正しいかどうかの検査を提供し得る。
【００３８】
ＭＬＣメモリにおいて（例えば、２つ以上のビットを記憶するセル）、この「均等な」符号化は、シンボルの均等な分配（例えば、２つのビットＭＬＣに関する「００」、「０１」、「１０」、および「１１」）を含んでもよい。データのブロックが読み戻された場合、１つの特有のシンボルに影響を与える大きな傾斜は、どのタイプの誤りが見られているかの手掛かりを提供し得る。２つのビットの実施例を用いて、１０２４ビットのあるページが以下のように読み戻されると仮定する。シンボル「００」の２５６インスタンス、シンボル「０１」の２５０インスタンス、シンボル「１０」の２４０インスタンス、およびシンボル「１１」の２７８インスタンス。この場合、「１１」状態における多すぎるビットと、「１０」状態における少なすぎるビットとを有する、大きな乖離が存在し、これは、どの補償がこの特有のタイプの誤りに関して最も効果的であるかに焦点を向けるために用いられ得る。
【００３９】
同様に、いくつかの記憶媒体（例えば、ＰＣＭ）は固定パターン効果を提示してもよい。例えば、１と０の長いシリーズが記憶されている場合、これは、局部的な加熱、予測可能なかく乱パターン等をもたらすことが可能だった。データにスクランブルをかけ、例えば、データのランダム性を増加させ、その結果、固定パターンの可能性が減少する符号化スキームを用いることが可能だった。このパターンの減少は、圧縮スキームの自然な結果である場合があるが、符号化スキームは、所望のスクランブルを達成するために、データを圧縮する必要はない。
【００４０】
適応プログラムおよび読み出し
これから図４を参照して、簡易化したブロック図は、ある実施形態例による記憶コントローラ４００の態様を示す。概して、記憶コントローラ４００は、配列４０２のメモリセル４０４に対して信号を選択して印加するために用いられる回路を含む。選択モジュール４０６は、プログラミングまたは読み出し動作に関する個々のセル４０４を選択する。この実施例において、セルは、行線４０７と列線４０８によって起動される。データモジュール４１０は、プログラム動作または読み出し動作中に、信号（例えば、方形波４１２）をデータ線に印加する。データ線は行線４０７または列線４０８のうちの１つになり得る、または分離線（図示せず）として構成され得る。信号４１２は、セル４０４（プログラム）の状態を変更できるおよび／またはセル４０４（読み出し）の現在の状態を検出するために用いられ得る。
【００４１】
記憶コントローラ４００は、それぞれ信号を受信し、記憶コントローラ４００に信号を送る復号器４１４および符号器４１５に連結される。記憶コントローラ４００は、符号器４１５からのデジタルデータを、印加されてセル４０４をプログラム化するアナログ信号に変換する４１８ＤＡＣを含んでもよい。記憶コントローラ４００はまた、セルから読み出された信号を、復号器４１４によって用いられたデジタル書式設定に変換するために、ＡＤＣ４２０を含んでもよい。記憶コントローラ４００から復号器４１４に供給されたデータは、メモリセル４０４の読み出しから推定された「０」および「１」の値を含むハードデータを含んでもよい。記憶コントローラ４００から復号器４１４に提供されたデータはまた、あるいはその代わりにメモリセル４０４内に記憶されたデータシンボルを推定する範囲であるソフトデータを含んでもよい。ソフトデータは、厳しい決断を行うために用いられることができ、また、復号器４１４を補佐する、決断の自信の測定も含む。
【００４２】
使用および時間経過により、セルは、セルの抵抗値の動向によって生じる誤りを呈する傾向にあってもよいし、または挙動における他の差異を呈する傾向にあってもよい。記憶コントローラ４００は、プログラム動作および読み出し動作を変化させて、これらの変化を補償させてもよい。例えば、メモリセル４０４がＰＣＭセルである場合、記憶コントローラ４００は、ＰＣＭプログラミングアルゴリズムがセル４０４経過期間として、記憶コントローラを介して作動する方法を変更してもよい。
【００４３】
概して、ＰＣＭセルは、特有の電圧を印加するとき、非結晶質状態から結晶状態に変化し、抵抗は、これらの状態間で測れる程度に異なる。状態間の移動は、セル経過期間４０４（負荷サイクルまたは時間経過により計測する）と同じぐらい確実に生じなくてもよい。このような場合、長方形または台形のパルスを印加するよりむしろ、データモジュール４１０は、パルスを代替の形状で印加してもよい。例えば、波形の前縁または後縁は、より漸進的な範囲を有してもよく、またより鋭角でない移動を有してもよい。これは、セル４０４のプログラム時間を変化させることを随意に含んでもよい。
【００４４】
いくつかの場合には、必要がない限り、記憶コントローラ４００は再プログラミング特有のセルを回避することが可能であってよい。例えば、記憶コントローラ４００は、個々のセル４０４のアドレスを指定する事が可能であってよく、また、セル内に現在、何が記憶されているかを判定可能であってよい。このような場合、セル４０４の１つのグループ（例えば、ホストによりアドレス指定可能な最小セクタまたはページサイズ）をプログラム化する要求は、セルのサブセットのプログラム化を要求するだけでよい。この関連するプログラミングの量の削減は、隣接セル上でかく乱を回避することの助けとなってもよい。
【００４５】
別の実施例において、セル４０４を読み出しながら検出された現在の誤りは、同時に付加的なセルを読み出す場合、入力として用いられてもよい。例えば、事前読み出しで検出された順次プログラミングの誤りは、どのくらいの後続の閾値が偏移される必要があるかを予測するのを助けるために用いられてもよい。これは、記憶されたデータ中の読み出し誤りを補正するために、読み出し閾値を偏移させることおよび／またはこのようなデータが後で読み戻される場合、検出された読み出し誤りを補償するために、書き込み閾値を偏移させることを含んでもよい。ＡＤＣ４２０によって生産されるデータは、補正不可能なビット誤り率（ＵＢＥＲ）の改善のために用いられてもよい。例えば、誤りの回復において、記憶コントローラ４００に組み入れられたＡＤＣ４２０は、ソフト情報を獲得するために用いられる。
【００４６】
抵抗メモリの状態は、単一読み出しによって取得されることができ、そのためｎビットのＡＤＣ値自身はソフト情報を提供するために用いることができ、「ｎ」の値は、ＡＤＣの精密さおよび／または正確さによってのみ限定される。これはフラッシュメモリと対称をなし、個々のセルの多数の読み出しは、ソフトデータを取得するために用いられる場合があり、例えば、フラッシュメモリの３つの読み出しは、２ビットのソフト情報を取得するために用いられる。ＡＤＣ値はまた、フラッシュメモリから読み出す場合に用いられてもよい一方、大きなページサイズ（例えば、１〜８Ｋバイト）によって、これは、ページを読み出す場合、妨害可能なデータの移動および扱いを含んでもよい。対照的に、抵抗メモリユニットがより小さいアドレス指定可能なユニットを用いる場合、妨害可能でなくてもよいＡＤＣ値を提供する。
【００４７】
図４に示される配置はまた、記憶コントローラ４００に用いられる読み出しレベルを調整するために用いられてもよい。例えば、システムコントローラ（例えば、図１のコントローラ１１０および／または適応プログラム／読み取りモジュール１２２）は、読み出し／書き込みサイクル、保持力、読み出しまたは書き込み活動レベル、および温度などの作業負荷指標を積極的に追跡してもよい。システムコントローラはまた、耐久性、スループット、待ち時間などの、例えば、特有のタイプのメモリに固有であってよい他の指標を追跡してもよい。システムコントローラは、これらの指標の機能としての抵抗読み出しレベルを、記憶コントローラ４００を介して、積極的に変更させるように構成されてもよい。
【００４８】
これから図５を参照して、ブロック図は、読み出しまたは書き込みかく乱効果を調整するために、記憶コントローラがどのように読み出しまたはプログラム信号値を適合させるかを示している。セル５０１から５０３は、信号５０４により表されるような、現在、プログラム化されつつある近接セル５００である。信号５０５から５０７は、プログラミング動作影響セル５００を補償する、セル５０１から５０３に印加される信号を表す。これらの信号５０５から５０３は、それらを偏移に関して（プログラムかく乱に関して）調整するために、セル５０１から５０３中のデータを部分的に再読み込みすることにより印加されてもよい。別のシナリオでは、例えば、セル５００から５０３のすべてが、同時期に、プログラム化されつつある場合、信号５０５から５０７は、現在、セル５０１から５０３に対する書き込みデータをプログラム化するために用いられた他の信号（図示せず）に対する事前補償として負荷されてもよい。このような場合、信号５０４は、セル５０１から５０３に対して、プログラム化されたばかりの、またはすぐにプログラム化されるであろう値の補償をすでに含んでいてもよい。
【００４９】
データのプログラミングはまた、再読み込みするかどうかを決定するために検出されるノイズマージンまたは他の指標に基づく、所与の／規定の再読み込み時間内での読み出し修正書き込みを含んでもよい。本願に記載されるような補償予測を用いて、メモリ内のデータが劣化する時が判定され得る。予測は、回復できないぐらいまで劣化する前にデータを再書き込みするために用いられ得る。しかしながら、これは、セルの再書き込みが頻繁に行われ過ぎると悪化し得るセルの耐久性の疲弊と均衡を取らなければならない。コントローラが、セルが劣化されることを予測する場合、それはまず、セルを読みだして、（例えば、ＥＣＣおよび／またはＡＤＣ値を介して）予測が正確であるかどうかを判定する。予測が正確な場合、コントローラはデータを再書き出しするかまたは移動させてもよい。予測が誤っている場合、後続の予測を調整するために、誤りはデータにフィードバックされ得る。
【００５０】
１つの実施形態において、移動機能のグリッドは、プログラミング動作に含まれるいずれかの他のセルまたはそれの近接した隣接するセルと同様に、セル５００から５０３の各々の補償を判定するために用いられてもよい。別の実施形態において、隣接セルは、それらが調整される必要があるかどうかを見るために再読み込みされてもよい。これは隣接するワード線用に用いられてもよいし、実際の閾値の値、ＥＣＣ、および／またはソフト読み出しデータの検討に関連してもよい。とはいえ、例示された実施形態は、すぐ隣の１つのセルの補償を示す。これは、例えば、プログラム化されたセルからの距離の機能としての補償を低下させている多数のセルに印加されてもよい。このような補償は、書き込まれつつあるデータのあるブロックにおけるすべてのセルに対して計算されることが可能であり、その結果、特有のシンボルをプログラム化するために用いられる特有の信号レベルは、書き込まれつつある近隣データに依存する値の広範囲を有してもよい。
【００５１】
書式設定
上述のように、抵抗メモリセル間の物理的な近接は、隣接セルが読み出されるおよび／またはプログラム化される場合、かく乱効果を起こし得る。メモリ記憶デバイスは、このような効果を検出し補償するために、上述のような特性を含んでもよい。かく乱効果を最小限にするために、付加的な測定法が取られてもよい。特に、論理的ページは、固定かく乱パターンを最小限にする物理的なメモリ位置で調整され得る。データは、適応可能な論理対物理マッピングと適応可能な物理的なメモリセルを記憶するためのデータブロックの配置のうちの１つかまたはその両方により調整されてもよい。
【００５２】
これから図６を参照して、ブロック図は、ある実施形態例による論理ブロックを物理的な位置にインターリーブする実施例を示す。ブロック６００は、ＲＲＡＭまたはＰＣＭ配列などのメモリ記憶媒体の一部を示す。この実施例の目的のために、互いに垂直および水平に隣接するセルは、互いにかく乱してもよいと仮定してもよい。例えば、セル６０３および６０４は両方共、セル６０２に隣接している。垂直および水平の間隔は同一であるかまたは異なっていてもよく、かく乱効果は、セルの間隔および／または他の物性に比例してもよい。
【００５３】
ブロック６０６から６０８は、例えば、語、ページ、セクタ等の論理ブロックを表す。ブロック６０６から６０８の各々に関するデータは、記憶媒体６００の８つのセル内に記憶される。各セルは、単一のビットまたは多数のビットシンボルを記憶してもよい。各セル内の文字は、データをセルに記憶する論理ブロックを示す。例えば、領域６１０および６１１内のセルは、それらが論理ブロック６０６に関するデータを記憶することを示す文字「Ａ」を付けられる。領域６１２から６１５内の文字「Ｂ」および「Ｃ」はそれぞれ、論理ブロック６０８および６０８との関連を示す。他のセル内の文字「Ｄ」から「Ｈ」は、他の論理ブロック（図示せず）のデータを示す。
【００５４】
領域６１０から６１５はインターリーブされ、その結果、読み出しまたは書き込み論理ブロック６０６から６０８に関連したかく乱効果は、他のページ内に分散するだろう。これは、ブロック６０６に対する書き込みが、行または列に沿って、直接、隣接する別のブロックの少数のシンボルのみに影響するような、固定パターン効果を緩和する傾向にあってよい。この実施例に示されたインターリーブは、１つの語が、４つ以下の垂直に隣接するセルを別の語と共有し、また２つ以下の水平に隣接するセルを別の語と共有することを確実に行う。この実施例は、すべての状態に関して最適である意図はないし、多くの変形が可能であってよい。例えば、図示されるような４つのブロックのグループ分けの代わりに、論理ブロック６０６のセルは、個々に、記憶媒体６００内で分散してもよい。さらに、セルが多数のビットセルである場合、各セル内のビットは、２つ以上の異なる論理ブロック間で共有されてもよい。
【００５５】
別の実施例において、多数の論理ブロック（例えば、ブロック６０６から６０８）は、ある手順で修正される共通の組にグループ分けされてもよい。例えば、図示された媒体６００内にデータを記憶する８つの論理ブロックは、異なる物理的な領域内に活動が分散するような手順で書き込まれてもよい。これは、かく乱影響を悪化させることもある熱または他の効果（例えば、電荷）の累積を防いでもよい。
【００５６】
図６を参照して上記に考察されたインターリーブおよびグループ化は、多くの方法を達成してもよい。例えば、論理対物理マッピングは、図６に示されるような１つ以上のセルグループの位置を示してもよい。これは、図１に示されるような書式設定モジュール１２６によって行われてもよい。インターリーブは、記憶コントローラ（例えば、図１の記憶コントローラ１１６）により行われてもよい、またはメモリ自身の構造により行われてもよい。インターリーブは、領域６１０と関連する論理ブロックが常に領域６１１と関連するように固定されてもよい。インターリーブは、いずれかの２つ以上の領域が異なるブロックと関連してもいいように可変であってよい。
【００５７】
図１に関して上述されたように、メモリデバイスは、異なるタイプまたは構成のメモリを有する領域を含んでもよい。これの１つの実施例が図７に示され、メモリユニット７００、７０２は、コントローラ７０４により（例えば、図１に示す書式設定モジュール１２６を用いることにより）、書き込まれても読み出されてもよい。メモリユニット７００、７０２は、異なるまたは同一のメモリタイプであってもよいが、異なる記憶ユニットの大きさ、例えば、物理的なブロックまたはページの大きさを有する。この実施例において、メモリユニット７０２は最小限のページの大きさＮ、メモリユニット７００は最小限のページの大きさ２Ｎを有する。最小限の論理ブロックの大きさが２Ｎにも対応する場合、メモリユニット７００の１ページが、論理ブロックを記憶してもよく、メモリユニット７０２の２ページが１つの論理ブロックを記憶するために用いられる。
【００５８】
コントローラ７０４は、データがどのようにして用いられるかに依存して、データの保存のために、ユニット７００および７０２のうちの１つを選択してもよい。例えば、データがランダムに更新される予定の場合、データをより小さいページの大きさとともにユニット７０２内に記憶することがより効率的であるかもしれない。そのため、データの論理ブロックがランダムであると判定される場合、それはブロック７０２のページ７０６、７０７に記憶され得る。ページの一部のみがホストコマンドにより変化してしまったことが（例えば、揮発性キャッシュにおける既存の入力を介して）判定されると、ブロック７０６、７０７のうちの１つのみが再書き込みされる必要がある。このような選択は、ユニット７００、７０２の相対待ち時間およびスループット、ユニット７０２内のページが並行して書き込まれ得るかどうか、ユニット７００、７０２等のページをプログラム化するために要求される相対電力消費などの他の要因に依存してもよい。
【００５９】
コントローラ７０４は、データが、メモリユニット７００、７０２のうちの１つまたはその両方のどこに記憶されるかを規定するために、他のシステムデータを使用してもよい。例えば、コントローラは、ユニット７００、７０２内の疲弊と、データがホットなのかコールドなのかなどの作業負荷指標との両方を追跡できてもよい。このような場合、最もコールドなデータを得るために、メモリユニット７００、７０２の最も疲弊したブロックが選択されてもよい。
【００６０】
コントローラ７０４はまた、定期的に、不良ユニット（例えば、ワード線）を再割当てし、不良ユニットを回収してもよい。これはまた、信頼性などの固有な指標を再特徴付けすることを含んでもよい。例えば、２つの物理的なページが、公表されたページの大きさを記憶するのには確実性が不足する場合、それらの公表された能力は半減されることもあり、それらは大幅に増大したＥＣＣ符号とともに単一の論理的ユニットにまとめられ得る。
【００６１】
管理
デバイスのいくつかの動作はホストコマンドとはいくぶん無関係に発生してもよい。例えば、フラッシュメモリデバイスはガーベージコレクションとして知られるものを行ってもよく、旧データのブロック（例えば、削除または修正されてしまったデータ、後者は、古くなったデータとしてデータのブロックに印をつけることおよび修正されたデータを他の場所に書き込むことを含む）は、新しいデータの書き込みに再使用するために削除される。ガーベージコレクションは、バックグラウンドで、例えば、ホスト活動が低い場合、生じてもよい。抵抗メモリに関して、バックグラウンドでまたは低活動の時期に生じてもよい時限動作などのホスト要求とは無関係な特有の動作が開始されてもよい。
【００６２】
ある実施形態例による、抵抗メモリデバイスで行われてもよいバックグラウンド活動が図８のブロック図に示される。タイマ８００に基づき、記憶コントローラまたは同様のデバイス（例えば、図１の記憶コントローラ１１６および／またはシステムコントローラ１１０）は、バイアス信号８０２を複数の抵抗基盤メモリセル８０４に印加する。バイアス信号８０２は、セルの抵抗値を偏移させる傾向がある活動基準効果を逆転させる。記憶コントローラは、カスタム回路またはバイアス信号８０２の印加を促進させる指示を含んでもよく、このバイアス信号はデータを読み出すまたは書き込むために普通にメモリセルに印加された読み出し／書き込み信号とは異なってもよい。
【００６３】
タイマ８００は、ランタイムおよび／または日付／時間を（例えば、内蔵および／またはホストクロックを介して）追跡してもよい。タイマ８００により提示された時間は、セル８０４への信号８０２の印加を引き起こすためにデバイスによって追跡されてもよい唯一の活動指標である。その時間は、最後の書き込み動作以降、気温または読み出し活動などの他の因子により増加または調整させられてもよい。別の実施例において、対象のセルまたは隣接セルのアクセスなどのシステム活動は、セル８０４への信号８０２の印加を引き起こすために、時間経過の代わりに用いられてもよい。
【００６４】
バイアス８０２信号は、デバイス上に所定のバイアスを印加することにより、動的に抵抗偏移を調整する。メモリセル８０４がＰＣＭメモリである場合には、材料が時間とともに結晶状態から非結晶質に移行するため、伝導率は変化する。このような場合、セル８０４は、融解温度と結晶温度との間の局部温度をもたらすであろう、小さいバイアスを印加することにより、結晶モードに維持されてもよい。
【００６５】
セル８０４がＲＲＡＭである場合、信号８０２は、セルからのイオン移動を妨げる極性を有してもよい。記憶コントローラは、信号８０２のバイアスおよびパルスタイムを変化させることにより、２つの材料間の酸素イオン拡散の量を調整し得る。また、メモリタイプにかかわらず、印加された信号は、状態、全経過期間、作業負荷履歴、または他の態様に依存して、セルごとに、またはセルのグループごとに異なっていてもよい。分化した信号の実施例が、図９のブロック図に示される。
【００６６】
タイマ９００に基づき、記憶コントローラまたは同様のデバイスは、複数の信号９０２から９０４を、複数の抵抗基盤メモリセル９０６に印加する。バイアス信号９０２から９０４は、セルの抵抗値を、保持時間、セルに書き込まれたデータ、環境因子等の因子の組み合わせに基づいて選択された各信号レベル、持続時間、極性等とともに偏移させる傾向がある活動基準効果を逆転させる。いくつかのセルは、印加された信号を全く有していなくてもよい。セル９０６に印加された信号のタイプは、セル変化の作業負荷として再評価されてもよい。
【００６７】
タイマ９００は、ランタイムおよび／または日付／時間を（例えば、内蔵および／またはホストクロックを介して）追跡してもよい。タイマ９００により提示された時間は、セル９０６への信号９０２から９０４の印加を引き起こすためにデバイスによって追跡されてもよい唯一の活動指標である。その時間は、最後の書き込み動作以降、気温または読み出し活動などの他の因子により増加させられるまたは調整させられてもよい。別の実施例において、対象のセルまたは隣接セルの読み出しなどのシステム活動は、セル９０６への信号９０２から９０４の印加を引き起こすために、時間経過の代わりに用いられてもよい。
【００６８】
上述のセルの特徴付けは、セルの作業負荷と、セル自身の特有の性能態様（例えば、誤り率）との両方を追跡することを含んでもよい。しかしながら、これは、ホスト要求に応じて行われてもよい、データ読み出しの実行を含んでもよい。何度かデータが読み出されなかった場合には、デバイスは、ホストからのこのような要求なしに、セルの現在の状態を特徴付けるために実施例の領域の読み出しを開始する必要があるかもしれない。しかしながら、現在の状態に関する指標の取得（例えば、セル内で見られる抵抗偏移の量）は、前もって知られていなくてもよいデータ読み出しにおける高信頼に基づいてもよい。
【００６９】
これから図１０を参照して、ブロック図は、セル劣化を特徴付けるための既知のパターンを使用する配置を図示する。基準メモリセル１０００は、固定パターンまたは他の情報に基づいて計算されることが可能であるパターンを含んでもよく、またユーザデータを含んでもよい既知のパターンを記憶する。基準メモリセル１０００は、デバイスのメモリユニットにわたって、戦略的に分散してもよい。基準セル１０００は、基準モジュール１００２によって定期的に読み出されてもよい。基準モジュール１００２は、記憶コントローラ１００３の一部であってもよいし、通常の読み出し／書き込み活動以外の機能を実行してもよい。この実施例において、基準モジュール１００２は、既知の／導き出された基準セル１０００内のデータを、基準セル１０００の測定された閾値と比較してもよい。測定された閾値はユーザデータを復号するために用いられる分解能より高い分解能を有してもよいし、および／または統計的に読み出しを特徴付けるために繰り返し、標本を抽出されてもよい。測定された閾値は、ユーザデータを記憶する他のセルの抵抗偏移を推定するために用いられ得る。
【００７０】
基準モジュール１００２により判定された抵抗偏移データは、ユーザデータを記憶する他のメモリセル１００６の読み出しまたは書き込み動作を調整するために、（例えば、メモリレジスタまたは図１のデータ１３０を介して）記憶されてもよい。コントローラ１００３は、セル１００６からの読み出しまたはセル１００６への書き込みに用いられた信号（例えば、電圧、タイミング）を調整するモジュール１００４を含むまたは制御してもよい。例えば、信号調整モジュール１００４は、プログラミング信号／波形を生成するＤＡＣによってアクセスされるメモリレジスタを含んでもよい。ＤＡＣは、セルに対して特有のデータ値をプログラム化するときに、波形のパラメータを取得するためにレジスタにアクセスする。
【００７１】
抵抗偏移データは、図８および９に示すように、定期的にバイアス信号をセルに印加する場合に用いられてよい。例えば、多数の基準セル１０００は、異なる保持時間および／またはアクセスパターンを有するセルの経過期間効果を推定するために、何度も再書込されてよい。対象ユーザデータセル１００６の保持時間またはアクセス履歴に基づいて、最も対応する保持時間またはアクセス履歴を有する基準セル１０００が選択される。基準セル１０００の抵抗偏移は、対象セル１００６を推定するために用いられ、抵抗偏移は、対象セル１００６に印加された補正バイアス信号（例えば、図８の信号８０２）の値を選択するために用いられる。
【００７２】
これから図１１を参照して、フローチャートはある実施形態例による方法を図示している。本方法は、図８および９に示されるように、メモリセルの抵抗偏移を補償するために、バイアス信号をメモリセルに印加するために用いられてよい。本方法は、データを抵抗基盤不揮発性メモリのセルに対して書き込むこと（１１００）と、セルへのデータの書き込み以降の活動指標（例えば、経過時間、温度、読み出し要求）を追跡すること（１１０２）とを含む。活動指標が閾値を満たすことが判定された場合（１１０４）、バイアス信号は、セルの抵抗偏移を逆転させるために、セルに印加される（１１０８）。活動指標が閾値を満たさない場合、随意に、隣接活動指標が関心セルに影響したかどうかが判定されてもよい（１１０６）。影響した場合、１１０４で判定された閾値のうちの１つ、または１１０８で印加されたバイアス信号は修正されてよい（１１１０）。
【００７３】
これから図１２を参照して、フローチャートはある実施形態例による方法を示す。本方法は、図２から４に示すように、誤り補正に関する隣接するセルの状態を用いるために用いられてよい。本方法は、抵抗メモリユニットの対象セルに向けられた読み出し要求を受け取ること（１２００）を含む。対象セルに隣接するセルの状態が判定される（１２０２）。隣接するセルは、要求の主題である同一の論理ブロック、または異なる論理ブロックであってよい。隣接するセルの状態は、対象セル内の誤り補正における事前情報として用いられてよい（１２０４）。
【００７４】
上述の種々の実施形態は、相関して特有の結果をもたらす、回路および／またはソフトウェアモジュールを用いて行われてよい。コンピュータ分野の当業者は、モジュラーレベルか、全体としてのどちらかで、当分野で一般的に知られる知識を用いて、このような記載された機能性を容易に実行できる。例えば、ここに示されるフローチャートは、処理装置により実行されるコンピュータ可読指示／符号を生成するために用いられてもよい。このような指示は、当分野で知られているように、コンピュータ可読媒体に記憶され、実行用の処理装置に移動されてよい。上に示された構造および手順は、上述のように、データ記憶デバイスにおけるキャッシングを管理することを促進させるために用いられ得る実施形態の代表的な例にすぎない。
【００７５】
実施形態例の前述の説明は、例示と説明の目的で提示された。それは発明の概念を網羅する意図も、または開示された正確な形式に限定する意図もない。上記の教示を考慮して、多くの修正および変形が可能である。開示された実施形態の特性のうちのいずれかまたはすべてが個々に適用されることが可能であり、またはいずれかの組み合わせを限定する意図はなく、純粋に例示を意図している。その範囲はこの詳細な説明に限定されず、むしろここに添付された請求項により判定されることを意図する。
【図１】
2014154205.tif 000003
【図２】
2014154205.tif 000004
【図３】
2014154205.tif 000005
【図４】
2014154205.tif 000006
【図５】
2014154205.tif 000007
【図６】
2014154205.tif 000008
【図７】
2014154205.tif 000009
【図８】
2014154205.tif 000010
【図９】
2014154205.tif 000011
【図１０】
2014154205.tif 000012
【図１１】
2014154205.tif 000013
【図１２】
2014154205.tif 000014