特許第5918284号(P5918284)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シーゲイト テクノロジー エルエルシーの特許一覧

特許5918284メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加
<>
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000002
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000003
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000004
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000005
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000006
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000007
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000008
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000009
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000010
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000011
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000012
  • 特許5918284-メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5918284
(24)【登録日】2016年4月15日
(45)【発行日】2016年5月18日
(54)【発明の名称】メモリセルの抵抗偏移を逆転させるためのバイアス信号のメモリセルへの印加
(51)【国際特許分類】
   G11C 13/00 20060101AFI20160428BHJP
【FI】
   G11C13/00 340
【請求項の数】10
【全頁数】18
(21)【出願番号】特願2014-21382(P2014-21382)
(22)【出願日】2014年2月6日
(65)【公開番号】特開2014-154205(P2014-154205A)
(43)【公開日】2014年8月25日
【審査請求日】2014年7月1日
(31)【優先権主張番号】13/761,301
(32)【優先日】2013年2月7日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】500373758
【氏名又は名称】シーゲイト テクノロジー エルエルシー
【氏名又は名称原語表記】Seagate Technology LLC
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】アラ・パタポウシャン
(72)【発明者】
【氏名】アントワーヌ・クエール
(72)【発明者】
【氏名】ライアン・ジェームズ・ゴス
(72)【発明者】
【氏名】ジョン・ディ・トランサム
【審査官】 後藤 彰
(56)【参考文献】
【文献】 特開2006−331626(JP,A)
【文献】 特開2010−040090(JP,A)
【文献】 特開2004−185753(JP,A)
【文献】 特開2008−135150(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 13/00
(57)【特許請求の範囲】
【請求項1】
抵抗基盤不揮発性メモリのセルへデータを書き込むことと、
前記セルへの前記データの前記書き込み以降の活動指標を追跡することと、
閾値を満たす前記活動指標に応じて、バイアス信号を前記セルに印加して前記セルの抵抗偏移を逆転させることと、
前記セルの経過期間の追跡とを含み、前記閾値および前記バイアス信号の量のうちの少なくとも1つが、前記経過期間に応じて修正される、方法。
【請求項2】
前記活動指標は、経過時間、温度、前記セルを対象とした読み出し動作の回数のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記バイアス信号の極性は、前記セル上で用いられたプログラミング信号の極性の逆である、請求項1に記載の方法。
【請求項4】
前記セルは、相変化メモリセルを含み、前記バイアスは、前記セルを結晶状態に維持する結果をもたらす、請求項1に記載の方法。
【請求項5】
前記セルは、抵抗ランダムアクセスメモリ(RRAM)セルを含み、前記バイアスは、イオン移動を逆転させる結果をもたらす、請求項1に記載の方法。
【請求項6】
隣接セルの第2の活動指標を追跡することをさらに含み、前記閾値および前記バイアス信号の量のうちの少なくとも1つが、前記隣接セルの前記第2の活動指標に応じて、修正される、請求項1に記載の方法。
【請求項7】
前記経過時間の前記追跡および前記バイアス信号の前記印加は、前記抵抗基盤不揮発性メモリの寿命にわたって繰り返し行われる、請求項1に記載の方法。
【請求項8】
既知のデータパターンを記憶する前記抵抗基盤不揮発性メモリの基準セルから、抵抗偏移データを判定することと、
基準セルの前記抵抗偏移データに基づき、前記セルの前記抵抗偏移を予測することとをさらに含む、請求項1に記載の方法。
【請求項9】
抵抗基盤不揮発性メモリユニットからの読み出しおよびそこへの書き込みを行うように構成されたコントローラであって、
前記抵抗基盤不揮発性メモリユニットのセルへデータを書き込むことと、
前記セルへの前記データの前記書き込み以降の活動指標を追跡することと、
閾値を満たす前記活動指標に応じて、バイアス信号を前記セルに印加して前記セルの抵抗偏移を逆転させることと
前記セルの経過期間の追跡とを行うように構成される、コントローラを備え、
前記閾値および前記バイアス信号の量のうちの少なくとも1つが、前記経過期間に応じて修正される、装置。
【請求項10】
抵抗基盤不揮発性メモリユニットと、
バイアス信号を前記メモリユニットのセルに印加するように構成される記憶コントローラであって、前記バイアス信号は、前記セルの読み出しおよびそこへの書き込みのために印加された信号とは異なる、記憶コントローラと、
前記記憶コントローラに連結されて、
前記記憶コントローラを介して前記セルへデータを書き込むことと、
前記セルへの前記データの前記書き込み以降の経過時間を追跡することと、
閾値を満たす前記経過時間に応じて、前記バイアス信号を、前記記憶コントローラを介して前記セルに印加して前記セルの抵抗偏移を逆転させることと
前記セルの経過期間の追跡とを行うように構成された、システムコントローラとを備え、
前記閾値および前記バイアス信号の量のうちの少なくとも1つが、前記経過期間に応じて修正される、装置。
【発明の詳細な説明】
【発明の概要】
【課題を解決するための手段】
【0001】
本開示は、メモリセルの抵抗偏移を逆転させるためにバイアス信号をメモリセルへ印加することに関する。1つの実施形態において、装置と方法は、抵抗基盤不揮発性メモリのセルへのデータの書き込みを促進する。セルへのデータの書き込み以降の活動指標(例えば、時間経過)が追跡される。閾値を満たす活動指標に応じて、バイアス信号はセルに印加されてセルの抵抗偏移を逆転させる。
【0002】
種々の実施形態のこれらおよび他の特性および態様は、以下の詳細な考察および添付の図面を考慮して理解されるであろう。
【0003】
以下の図面において、複数の図面中の同様/同一の構成要素を識別するために同一の参照番号が用いられる場合がある。
【図面の簡単な説明】
【0004】
図1】ある実施形態例によるデータ記憶デバイスのブロック図である。
図2】ある実施形態例によるメモリセルからのデータの復号化を示すブロック図である。
図3】ある実施形態例によるメモリ配置のブロック図である。
図4】ある実施形態例による記憶コントローラのブロック図である。
図5】ある実施形態例による、読み出しおよび/またはプログラム信号値を用いて、読み出しまたは書き込みかく乱効果を調整する記憶コントローラのブロック図である。
図6】ある実施形態例による、論理ブロックを物理的な位置にインターリーブする実施例を示すブロック図である。
図7】メモリの異なるタイプまたは構成を有する領域を含むメモリデバイスのブロック図である。
図8】ある実施形態例による、メモリセルの抵抗偏移を補償するために、バイアス信号をメモリセルに印加することを示すブロック図である。
図9】ある実施形態例による、メモリセルの抵抗偏移を補償するために、バイアス信号をメモリセルに印加することを示すブロック図である。
図10】既知のパターンを用いてセル劣化を特徴付ける配置のブロック図である。
図11】実施形態例による方法のフローチャートである。
図12】実施形態例による方法のフローチャートである。
【発明を実施するための形態】
【0005】
以下の種々の実施形態例の説明において、その一部を形成する添付の図面が参照され、種々の実施形態を示すために図示される。ここに添付された請求項の範囲から逸脱することなく構造的および動作的変化がなされてもよいように、他の実施形態が用いられてもよいことが理解される。
【0006】
本開示は、概して、抵抗メモリ記憶装置を用いるデバイスなどの持続的データ記憶デバイスに関する。抵抗メモリは、データを記憶するために、メモリセルの抵抗における持続的な変化を用いるいずれかのメモリを含んでもよい。抵抗メモリは抵抗ランダムアクセスメモリ(RRAM(登録商標)またはReRAM)および相変化メモリ(PCM)を含んでもよいが、それらには限定されない。これらのメモリタイプの各々が異なる特徴や利点を有してもいい一方、異なるメモリタイプを用いるメモリデバイスの効果的な使用には、媒体の経年劣化に応じて、および/または媒体の作業負荷に基づいて、媒体の物理的な変化の効果的な管理を含んでもよい。
【0007】
本開示は、経時的におよび/または動作状況を考慮して、抵抗基盤メモリの抵抗における偏移を補償することに関する。補償は、適応誤り補正符号(ECC)の使用、プログラムおよび読み出し挙動の修正、特定のデータ記憶書式設定の使用、および媒体の能動管理のうちのいずれかの組み合わせを含んでもよい。補償はメモリの耐久性の向上を意図しているが、改善された性能などの他の利益を有してもよい。これらの補償技術は組み合わされて用いられてもよく、それぞれが非常に以下に詳細に考察されるであろう。これらの技術は、図1に示されるデバイス100などのデータ記憶デバイスで用いられてもよい。
【0008】
図1において、ある実施形態例によるデータ記憶デバイス100のブロック図を示す。このデバイス100は、個体メモリのいずれかの組み合わせを用いる個体ドライブ(SSD)(またはその従属部品)して構成されてもよい。デバイス100の特性は、個体メモリと磁気ディスクとの組み合わせを用いるハイブリッドドライブなどの他のタイプのハードドライブデバイスに適用可能であってよい。デバイス100の特性もまた、標準的なハードドライブデータのインターフェースを使用しない特別な目的の個体および/またはディスクデータ記憶デバイス(またはその従属部品)に適用可能であってよい。
【0009】
デバイス100は、デバイス100の不揮発性メモリのいくつか、あるいはすべてを含む1つ以上のメモリユニット102、103を含んでもよい。メモリユニット102、103は、1つ以上の各離散物理ユニット104、105、例えば、メモリチップを含む。この実施例では、メモリユニット102、103は非階層ユニットであり、各離散物理ユニット104、105はそれぞれ、互いに異なるタイプの不揮発性メモリ記憶媒体を含む。物理ユニット104、105各々の中で、メモリは、より小さいブロック106、107に分類されてもよい。物理ユニット104、105の潜在的な媒体が異なるため、ブロック106、107のメモリサイズは異なっていてもよい。デバイス100の特性のうちのいくつかは非階層混合媒体記憶装置に適用可能であり、以下に説明される概念のほとんどは、単一のメモリユニットおよび/または単一の記憶媒体のタイプを用いるデバイス内で使用されてもよい。
【0010】
デバイス100は、ホストインターフェース112を介してホスト114から受け取ったサービス要求を促進する1つ以上のシステムコントローラ110を含んでもよい。コントローラ110は、概して、論理アドレスを参照するホスト114から、読み出しおよび書き込み要求を受け取ってもよい。システムコントローラ110は、とりわけ、論理アドレスを物理アドレスに翻訳し、各読み出しまたは書き込み動作を、メモリユニット102、103の適切な物理アドレス上で実行されるようにしむける。
【0011】
デバイス100は、とりわけ、不揮発性メモリユニット102、103用の揮発性キャッシュ117のために用いられてもよい揮発性ランダムアクセスメモリ115(RAM)を含んでもよい。概して、揮発性キャッシュ117は、不揮発性メモリ102、103の一部を映す階層メモリ構造であるが、不揮発性メモリ102、103より速く読み出され得るおよび/または書き込まれ得る。いくつかの状態では、例えば、短期間に、繰り返された読み出し/書き込み活動を見るデータでは、揮発性キャッシュ117は性能を高めるであろう。
【0012】
システムコントローラ110は、メモリユニット102、103の媒体の状態を決定し変化させる記憶コントローラ116に連結される。記憶コントローラ116は、特有のメモリセルを読み出しまたは書き込み用に選択可能にする論理回路(例えば、ゲートアレー、マルチプレクサ)を含んでもよい。記憶コントローラ116はまた、セルの読み出しおよび書き込みのために用いられる信号を供給するアナログ信号処理回路(例えば、フィルタ、増幅器)、ならびにメモリ媒体に記憶されたアナログ情報と、デバイスの他のところで用いられるデジタル情報との間で翻訳を行うために用いられる、デジタル/アナログ変換器(DAC、複数を含む)およびアナログ/デジタル変換器(ADC、複数を含む)を含んでもよい。
【0013】
符合器/復号器モジュール118は、記憶コントローラ116で動作し、メモリユニット102、103により用いられるデジタル符号化書式設定とユーザデータ書式設定の間で翻訳を行う。符合器/復号器モジュール118は、記憶コントローラ116または分離ユニットの一部であってよい。複数のメモリユニット102、103が用いられると、デバイス100は、特有のメモリタイプ用にカスタマイズされた方法で、少なくともそれらの各動作を実行している複数の記憶コントローラ116および符合器/復号器118を含んでもよい。分離コントローラはまた、特有のメモリアーキテクチャに対して適切な、それら独自の論理対物理マッピングを用いてもよい。このような場合、システム/一次コントローラ110は、論理ホストアドレスを、メモリユニット102、103によって使用可能な内部論理アドレスに変換してもよい。
【0014】
一次コントローラ110(記憶コントローラ116および符合器/復号器118と同様に)ここでは、デバイス100によって動作可能な指示を記憶して、以下に記載されるような動作を行うコンピュータ可読媒体120として表現される、メモリ、論理回路、ファームウェアまたはソフトウェアからの指示に応じて、動作してもよい。例えば、適応プログラム/読み取りモジュール122は、メモリユニット102、103に対して読み出しまたは書き込みを行うとき、記憶コントローラ116によって用いられるパラメータを変更してもよい。適応ECCモジュール124は、符合器/復号器118で動作して、以下に説明するようにECCパラメータを修正してもよい。
【0015】
コンピュータ可読媒体120はまた、データがどのようにしてメモリユニット102、103内に記憶されるかに関する種々の態様を規定してもよい書式設定モジュール126を含む。特有のメモリ構造内でのデータのインターリーブのような、書式設定モジュール126のいくつかの態様は、記憶コントローラ116内に含まれてもよい。特有のデータを記憶するための異なるメモリユニット102、103間での選択またはデータの記憶などの書式設定モジュール126の他の態様は、より高いレベル、例えば、論理/物理マッピングで実施されてもよい。管理モジュール128はまた、例えば、ホスト活動の追跡、バックグラウンド処理の開始等の高いレベルで動作してもよい。デバイス100は、使用計量、構成設定等のデータ用に不揮発性メモリの確保された一部を含むデータベース130を含んでもよい。
【0016】
先述の通り、メモリユニット102、103は、異なるタイプのメモリ記憶媒体を含む非階層ユニットとして構成されてもよい。例えば、メモリユニット102、103はそれぞれ、フラッシュメモリ、抵抗RAM(ReRAM)、スピントルクRAM(STRAM)、または相変化メモリ(PCM)などの異なる各媒体を含んでもよい。この開示の目的のために、メモリユニット102、103の少なくとも1つは、抵抗メモリユニット、例えば、ReRAMおよびPCMとして構成される。
【0017】
経時的に、ReRAMおよびPCMの抵抗レベルは、多くの要因、例えば、温度、材料破損、サイクルの数、保持時間、読み出し/書き込みかく乱等により偏移してもよい。これらの抵抗偏移は、耐久性を低下させ得る。例えば、長期間、記憶されているデータは、大幅なビット誤り率(BER)を提示するおよび/または読み出し不可能になってもよい。これらの誤りは、メモリセルが2つ以上のビットを記憶するために用いられる場合、さらに明白となってもよい。適応ECCおよび符号化、プログラムおよび読み出し挙動の修正、特定のデータ記憶書式設定の使用、および媒体の能動管理を含む抵抗において偏移を補償する多くの方法がある。これらのアプローチは、併せてまたは個々に用いられ得る。それらの各々は以下に非常に詳しく考察されるであろう。
【0018】
適応ECCおよび符号化
ほとんどのデータ記憶デバイスは、データの記憶または読み取りの誤りにつながり得る、騒音および他のかく乱を取り扱う、ある種の誤り補正を用いる。例えば、ハミング符号などの線形ブロック符号を用いるECCスキームは、データが書き込まれるとき、パリティビットをそのデータに負荷する。データが復唱されるとき、パリティビットは、誤りを検出して補正するために用いられ得る。概して、補正され得る多数の誤りビットにより計測された符号の強度は、概して、使用されたパリティビットの数とともに増加する。
【0019】
データ記憶媒体において、メモリセルはダイ上で緊密に詰められている場合がある。したがって、1つのセルに作用する活動は、例えば、漏電、容量結合、熱等により別のセルに影響を与えてもよい。その結果、セル内で見られたタイプの誤り、例えば、厳しい決断の閾値抵抗値が予想より高いまたは低いかどうかは、隣接するセル内に書き込まれたデータにより影響されてもよい。誤りはまた、読み出しおよび書き込みなどの他のセル活動により影響されてもよい。この実施例は、ある実施形態例によるデバイスで用いられてもよいメモリセル200を示すブロック図である図2に示される。
【0020】
概して、行202、203は、物理的に近接したメモリセルの配置を表している。例えば、各行202、203はワード線を表してもよく、また各ブロック(例えば、ブロック206)は、1つ以上のビットのデータシンボルを記憶するメモリセルを表す。この実施例において、メモリセルは2ビットシンボルを記憶し、セル内の各ビットは、同一または異なる語(例えば、データ語間でインターリーブされたビット)の一部であってよい。図2に関して示された概念は、より多くのまたはより少ないビットを記憶するメモリセルに適用可能であってよい。
【0021】
図2において、ECC復号器モジュール204は、メモリセルに記憶されたデータを復号するために用いられ、復号の結果はブロック210に示されている。図示の目的で、復号器モジュール204は復号メモリセル206内に示されているが、多くの実施において、復号器モジュール204は、同時に、多数のセル(例えば、全ワード線203)を復号してもよい。セル207から209は、現在、復号化されたセル206に物理的に隣接している。セル206から208は同一のデータ語またはワード線の一部であり、セル206、209は隣接するデータ語またはワード線とは異なる。セル207から209内のデータは、セル206内のデータと同一のデータ語内にあってもよいし、またはなくてもよい。
【0022】
この考察の目的のために、用語「データ語」は、概して、併せてアクセスされた(例えば、書き込まれ、読み出され、復号化され、符号化された)最小数のビットを示す。例えば、メモリがバイトアドレス指定可能であれば、メモリは、ユーザデータの最小限の1つのビット(8ビット)を一度に読み出すように構成される。これは、8ビットより大きい記憶されたデータ、例えば、ユーザデータにECCデータを加えたデータのセルからの読み出しを含む。フラッシュメモリおよび磁気ディスクなどのあるタイプのメモリは、かなり大きいデータ語、例えば、512バイトと同じかまたはそれより大きいセクタまたはページ、多くの場合、SSD用の4096バイトを有してもよい。それにひきかえ「ワード線」は、概して、物理的に隣接されて、コントローラ論理により共通の起動線に連結されてもよいセルの収集に言及している。同一のワード線内のセルは、同一のまたは異なるデータ語に対応してもよい。
【0023】
隣接するセル207から209に記憶された値が、セル206から読み出された値に影響してもよいため、誤り補正のための事前情報として、隣接するビットの状態を用いることが望ましい。低密度パリティ検査(LDPC)などの誤り補正符号は、補助セルにより提供された事前情報またはサイド情報でチャネル情報を補完することにより、改善された性能を示してもよい。電気通信システムにおいて、事前情報は、同一のデータ(例えば、データの回復不能なブロックの再送信)の事前送信から取得されてもよい。図示された実施形態において、事前情報は、隣接ビット207から209の値により取得されてもよい。
【0024】
概して、読み出しまたは書き込みかく乱などの処理を通じて、隣接ビットは、少なくとも1つの部分的に決定論的な方法で、関心ビットと干渉する。例えば、セルが、付与された極性の比較的高い電圧を印加することにより所望のレベルにプログラム化されると、これは、より低い電圧および/または異なる極性の電圧を用いるレベルにプログラム化された隣接セルに影響してもよい。具体的には、セルの抵抗は、隣接セルのプログラムミングレベル(または、いくつかの場合には、読み出しレベル)により誘導された方向に偏移した可能性がある。
【0025】
図示された実施例において、セル206から読み出された値は、低信頼度を有する、または判定され得る。隣接セル207から209の値が知られている場合、これらの値は、復号セル206で第1または後続の計画で用いられるために事前情報として用いられて、全ワード線203の復号化の一部として実行されてもよい。セル209の値は、語202がすでに復号化され緩衝化された(例えば、DRAMキャッシュに保持された)場合のみに知られているだろう一方、このようなシナリオがいくつかの状態において、例えば、大きな順次データの読み出しにおいて発生してもよい。
【0026】
セル206から208が同一の符号化された語のすべての部分であると仮定すると、セル207および208の値は、セル206などの知られていない値が判定されるまでは高い信頼のレベルに対して知られてはいないだろう。それにもかかわらず、これらのセル207、208内の推定されたデータがあるパターンに適合する場合などには、セル207、208における現在の厳しい決断は依然として有益であるかもしれない。例えば、この実施例におけるすべての隣接セル207から209は値「00」であり、このような状態は、特有の方向で隣接セルの誤りに影響する読み出しまたは書き込みかく乱を生じさせることが知られていてもよい。その方向でのセル206の読み出しの調整は、セル207、208の値を確認することと、セル206の値を高い信頼のレベルに対して判定することとの両方を行ってもよい。
【0027】
図2における配置はまた、ECC復号器204により使用可能な圧縮参照テーブル(LUT)212を用いてもよい。LUT212は、ECC復号器204に送り込まれるソフト情報を提供し、同一のLUT212は、複数の場所に関して用いられ得る。ソフト情報は、補正されたビットの予測された見込みを付与するために用いられてもよい。LUT212は、試験/妥当性処理を用いてかく乱影響を計算することにより、製造時間で自動入力され得る。LUT212はまた、デバイス内で実際に測定された値を調整するためにランタイムを更新され得る。例えば、前もって復号化に成功したデータを使用して、かく乱を特徴付ける、例えば、未補正のデータを補正済のデータと比較することができる。概して、LUT212は、それが少なくとも、それが取って代わるECCパリティのフットプリントより小さいメモリフットプリントを有するように圧縮される。
【0028】
LUT212はまた、メモリ内の特定の位置(例えば、先端位置はダイ上の中央位置とは異なっている場合がある)のために生成することができる。LUT212はまた、隣接位置での事前の読み出しからのデータで満たされてもよい。これは、順次読み出しを行うときに、事前補償に関して用いられ得る。最終ページが補正された(また、おそらくこのような補正が困難であった)ことが知られる場合、その補正情報が後で用いられる場合がある。補正情報は、最終ページと同一の様式の偏移による誤りが次のページにある可能性が高いと思われるため、後続のページを読み出すための開始点としての機能を果たし得る。
【0029】
図2のブロック図は、他のセル状態/値を用いて隣接セルの誤り補正を助ける実施例を表す。これはある実施形態例によるメモリ配置300のブロック図を含む図3にさらに示されるように延長されてもよい。メモリ配置300は、それぞれが複数の配列を有する、多数の物理的構成要素(例えば、層、チップ等)を含む。配列の行(例えば、行306)は、データ語、ページ、またはそれらのグループなどのアドレス指定可能領域を個々に、表してもいい。ECCモジュール204は、破線の領域によって示されるように多次元にわたって、例えば、多数のページおよび/または多数の構成要素にわたって、誤り符号を計算してもよい。これは、概して、メモリデバイス300に特有の誤りを分類化して、個々にアドレス指定可能な領域306、特有の構成要素302から305、または全体としてデバイス300に補正を加えることを含む。
【0030】
1つの配置において、メモリデバイス300は、製造中、セルデータの符号化および復号化で使用可能な移動機能を発展させることで特徴付けられてもよい。これは、大量のECCを使用するために、デバイス300の公表された能力の減少を含んでもよい。付加的なスカラーは、実行時間因子に基づいて劣化を追跡する、再び特徴付ける、および/または予測することにより、実行中、適用されてもよい。これらの付加的なスカラーは、他の機能的な構成要素、環境等との統合により発生する付加的な劣化などの、製造位相で判定されることができない効果の要因となってもよい。
【0031】
上述の多次元のECCに加えて、ある実施形態例による装置は、抵抗メモリのタイプに特有の誤りを扱う付加的な特性を含んでもよい。例えば、ECC符合器/復号器配置は、可変符号化率ECCを用いることが可能であってよい。配置(例えば、図1に示される適応ECCモジュール124を介して)は、誤りの結果につながりやすいメモリの領域および/またはシステム状態を識別可能であった。これらの識別子は、より高いレベルのECC(図1の符合器/復号器モジュール118を介して)を選択するために用いられることが可能であって、これらの領域および/または状態は、適応可能に回復不能な誤りを減少させる。
【0032】
ECC符合器/復号器は、メモリセルが劣化するにつれて、符号化率を変更させるように構成されてもよい。異なるレベルのECCは特有の領域に印加されてもよく、または同一の可変ECCは、同一のタイプの全メモリユニットにわたって印加されてもよい。記憶デバイスはバックグラウンドスキャンを行い、誤り率が設定補正能力に近づいていることを検出するように、(例えば、図1の管理モジュール128を介して)構成されてもよい。それに応じて、付加的な補正符号は計算されて、局部的にまたは新しく書き込まれたデータのために大域的に用いられ得る。
【0033】
別の実施例において、動的ECC符号は、データのデータタイプまたは現在の活動に基づき、印加されてもよい。このような場合、大きいECC符号語は、順次データおよび/またはコールドデータ用に用いられてもよく、また小さいECC符号語は、ランダム/ホットデータ用に用いられてもよい。ホットデータ(またいくつかの場合には、ランダムデータ)は頻繁にまたは予測不能に再書き込みされてもよいため、それは長期データ保持誤りによって影響を受けやすくなくてもよく、したがって、より小さいECCを用いることが可能である。また、より小さいECCは、そのランダムデータまたはホットデータの改善された処理量または潜在性能に結びついてもよい。
【0034】
別の実施例において、データ記憶デバイスは、暗号化/符号化/スクランブリングのためにより小さい境界を用いてもよく、またECCが、データのより小さい区画に適用させることが可能であってもよい。例えば、多数の種子が利用可能であってよく、変更される必要があるビットの数を最小限にする種子が選択される。データは、より小さい粒度で暗号化されることができ、その結果、実際に変化するデータの必要なセクションのみが更新される必要がある。
【0035】
別の実施例において、ECCデータは、それが保護しているユーザデータから分離して記憶されることが可能であってよい。このような場合、ECCは、メモリユニット102、103のうちの一方に記憶されてもよく、ユーザデータは、ユニット102、103のうちの他方に記憶されてもよい。データ更新と比べてECC更新が多い場合、例えば、ECCは高耐久性メモリタイプに記憶されてもよい。
【0036】
別の配置において、メモリユニット102、103は、少なくともいくつかの多数のレベルのセルを含む。このような場合、セル内に記憶された値の読み出しは、2つ以上の抵抗閾値レベルを区別することを含む。セルが2つのビットを引き裂く場合、例えば、記憶コントローラおよび/または復号器は、記憶された抵抗が4つの領域のうちの1つの中にあるかどうかを判定する必要があるだろう。
【0037】
4つの領域は、4つの領域を区分化する3つの閾値レベルにより定義され得る。1つの実施例において、各閾値レベルで記憶された最小数のビットを補償し、閾値を補償する情報を用いるために、符号化スキームが用いられることが可能だった。このような場合、MLCビットを符号化する知識は、データの整合性の別の検査を提供するのに役だち得る。符号化中に均一にスクランブルをかけられた単一のレベルのビットのあるグループが回収された場合、それらは読み戻されつつある均等なパリティを有するだろう。これは、データが正しいかどうかの検査を提供し得る。
【0038】
MLCメモリにおいて(例えば、2つ以上のビットを記憶するセル)、この「均等な」符号化は、シンボルの均等な分配(例えば、2つのビットMLCに関する「00」、「01」、「10」、および「11」)を含んでもよい。データのブロックが読み戻された場合、1つの特有のシンボルに影響を与える大きな傾斜は、どのタイプの誤りが見られているかの手掛かりを提供し得る。2つのビットの実施例を用いて、1024ビットのあるページが以下のように読み戻されると仮定する。シンボル「00」の256インスタンス、シンボル「01」の250インスタンス、シンボル「10」の240インスタンス、およびシンボル「11」の278インスタンス。この場合、「11」状態における多すぎるビットと、「10」状態における少なすぎるビットとを有する、大きな乖離が存在し、これは、どの補償がこの特有のタイプの誤りに関して最も効果的であるかに焦点を向けるために用いられ得る。
【0039】
同様に、いくつかの記憶媒体(例えば、PCM)は固定パターン効果を提示してもよい。例えば、1と0の長いシリーズが記憶されている場合、これは、局部的な加熱、予測可能なかく乱パターン等をもたらすことが可能だった。データにスクランブルをかけ、例えば、データのランダム性を増加させ、その結果、固定パターンの可能性が減少する符号化スキームを用いることが可能だった。このパターンの減少は、圧縮スキームの自然な結果である場合があるが、符号化スキームは、所望のスクランブルを達成するために、データを圧縮する必要はない。
【0040】
適応プログラムおよび読み出し
これから図4を参照して、簡易化したブロック図は、ある実施形態例による記憶コントローラ400の態様を示す。概して、記憶コントローラ400は、配列402のメモリセル404に対して信号を選択して印加するために用いられる回路を含む。選択モジュール406は、プログラミングまたは読み出し動作に関する個々のセル404を選択する。この実施例において、セルは、行線407と列線408によって起動される。データモジュール410は、プログラム動作または読み出し動作中に、信号(例えば、方形波412)をデータ線に印加する。データ線は行線407または列線408のうちの1つになり得る、または分離線(図示せず)として構成され得る。信号412は、セル404(プログラム)の状態を変更できるおよび/またはセル404(読み出し)の現在の状態を検出するために用いられ得る。
【0041】
記憶コントローラ400は、それぞれ信号を受信し、記憶コントローラ400に信号を送る復号器414および符号器415に連結される。記憶コントローラ400は、符号器415からのデジタルデータを、印加されてセル404をプログラム化するアナログ信号に変換する418DACを含んでもよい。記憶コントローラ400はまた、セルから読み出された信号を、復号器414によって用いられたデジタル書式設定に変換するために、ADC420を含んでもよい。記憶コントローラ400から復号器414に供給されたデータは、メモリセル404の読み出しから推定された「0」および「1」の値を含むハードデータを含んでもよい。記憶コントローラ400から復号器414に提供されたデータはまた、あるいはその代わりにメモリセル404内に記憶されたデータシンボルを推定する範囲であるソフトデータを含んでもよい。ソフトデータは、厳しい決断を行うために用いられることができ、また、復号器414を補佐する、決断の自信の測定も含む。
【0042】
使用および時間経過により、セルは、セルの抵抗値の動向によって生じる誤りを呈する傾向にあってもよいし、または挙動における他の差異を呈する傾向にあってもよい。記憶コントローラ400は、プログラム動作および読み出し動作を変化させて、これらの変化を補償させてもよい。例えば、メモリセル404がPCMセルである場合、記憶コントローラ400は、PCMプログラミングアルゴリズムがセル404経過期間として、記憶コントローラを介して作動する方法を変更してもよい。
【0043】
概して、PCMセルは、特有の電圧を印加するとき、非結晶質状態から結晶状態に変化し、抵抗は、これらの状態間で測れる程度に異なる。状態間の移動は、セル経過期間404(負荷サイクルまたは時間経過により計測する)と同じぐらい確実に生じなくてもよい。このような場合、長方形または台形のパルスを印加するよりむしろ、データモジュール410は、パルスを代替の形状で印加してもよい。例えば、波形の前縁または後縁は、より漸進的な範囲を有してもよく、またより鋭角でない移動を有してもよい。これは、セル404のプログラム時間を変化させることを随意に含んでもよい。
【0044】
いくつかの場合には、必要がない限り、記憶コントローラ400は再プログラミング特有のセルを回避することが可能であってよい。例えば、記憶コントローラ400は、個々のセル404のアドレスを指定する事が可能であってよく、また、セル内に現在、何が記憶されているかを判定可能であってよい。このような場合、セル404の1つのグループ(例えば、ホストによりアドレス指定可能な最小セクタまたはページサイズ)をプログラム化する要求は、セルのサブセットのプログラム化を要求するだけでよい。この関連するプログラミングの量の削減は、隣接セル上でかく乱を回避することの助けとなってもよい。
【0045】
別の実施例において、セル404を読み出しながら検出された現在の誤りは、同時に付加的なセルを読み出す場合、入力として用いられてもよい。例えば、事前読み出しで検出された順次プログラミングの誤りは、どのくらいの後続の閾値が偏移される必要があるかを予測するのを助けるために用いられてもよい。これは、記憶されたデータ中の読み出し誤りを補正するために、読み出し閾値を偏移させることおよび/またはこのようなデータが後で読み戻される場合、検出された読み出し誤りを補償するために、書き込み閾値を偏移させることを含んでもよい。ADC420によって生産されるデータは、補正不可能なビット誤り率(UBER)の改善のために用いられてもよい。例えば、誤りの回復において、記憶コントローラ400に組み入れられたADC420は、ソフト情報を獲得するために用いられる。
【0046】
抵抗メモリの状態は、単一読み出しによって取得されることができ、そのためnビットのADC値自身はソフト情報を提供するために用いることができ、「n」の値は、ADCの精密さおよび/または正確さによってのみ限定される。これはフラッシュメモリと対称をなし、個々のセルの多数の読み出しは、ソフトデータを取得するために用いられる場合があり、例えば、フラッシュメモリの3つの読み出しは、2ビットのソフト情報を取得するために用いられる。ADC値はまた、フラッシュメモリから読み出す場合に用いられてもよい一方、大きなページサイズ(例えば、1〜8Kバイト)によって、これは、ページを読み出す場合、妨害可能なデータの移動および扱いを含んでもよい。対照的に、抵抗メモリユニットがより小さいアドレス指定可能なユニットを用いる場合、妨害可能でなくてもよいADC値を提供する。
【0047】
図4に示される配置はまた、記憶コントローラ400に用いられる読み出しレベルを調整するために用いられてもよい。例えば、システムコントローラ(例えば、図1のコントローラ110および/または適応プログラム/読み取りモジュール122)は、読み出し/書き込みサイクル、保持力、読み出しまたは書き込み活動レベル、および温度などの作業負荷指標を積極的に追跡してもよい。システムコントローラはまた、耐久性、スループット、待ち時間などの、例えば、特有のタイプのメモリに固有であってよい他の指標を追跡してもよい。システムコントローラは、これらの指標の機能としての抵抗読み出しレベルを、記憶コントローラ400を介して、積極的に変更させるように構成されてもよい。
【0048】
これから図5を参照して、ブロック図は、読み出しまたは書き込みかく乱効果を調整するために、記憶コントローラがどのように読み出しまたはプログラム信号値を適合させるかを示している。セル501から503は、信号504により表されるような、現在、プログラム化されつつある近接セル500である。信号505から507は、プログラミング動作影響セル500を補償する、セル501から503に印加される信号を表す。これらの信号505から503は、それらを偏移に関して(プログラムかく乱に関して)調整するために、セル501から503中のデータを部分的に再読み込みすることにより印加されてもよい。別のシナリオでは、例えば、セル500から503のすべてが、同時期に、プログラム化されつつある場合、信号505から507は、現在、セル501から503に対する書き込みデータをプログラム化するために用いられた他の信号(図示せず)に対する事前補償として負荷されてもよい。このような場合、信号504は、セル501から503に対して、プログラム化されたばかりの、またはすぐにプログラム化されるであろう値の補償をすでに含んでいてもよい。
【0049】
データのプログラミングはまた、再読み込みするかどうかを決定するために検出されるノイズマージンまたは他の指標に基づく、所与の/規定の再読み込み時間内での読み出し修正書き込みを含んでもよい。本願に記載されるような補償予測を用いて、メモリ内のデータが劣化する時が判定され得る。予測は、回復できないぐらいまで劣化する前にデータを再書き込みするために用いられ得る。しかしながら、これは、セルの再書き込みが頻繁に行われ過ぎると悪化し得るセルの耐久性の疲弊と均衡を取らなければならない。コントローラが、セルが劣化されることを予測する場合、それはまず、セルを読みだして、(例えば、ECCおよび/またはADC値を介して)予測が正確であるかどうかを判定する。予測が正確な場合、コントローラはデータを再書き出しするかまたは移動させてもよい。予測が誤っている場合、後続の予測を調整するために、誤りはデータにフィードバックされ得る。
【0050】
1つの実施形態において、移動機能のグリッドは、プログラミング動作に含まれるいずれかの他のセルまたはそれの近接した隣接するセルと同様に、セル500から503の各々の補償を判定するために用いられてもよい。別の実施形態において、隣接セルは、それらが調整される必要があるかどうかを見るために再読み込みされてもよい。これは隣接するワード線用に用いられてもよいし、実際の閾値の値、ECC、および/またはソフト読み出しデータの検討に関連してもよい。とはいえ、例示された実施形態は、すぐ隣の1つのセルの補償を示す。これは、例えば、プログラム化されたセルからの距離の機能としての補償を低下させている多数のセルに印加されてもよい。このような補償は、書き込まれつつあるデータのあるブロックにおけるすべてのセルに対して計算されることが可能であり、その結果、特有のシンボルをプログラム化するために用いられる特有の信号レベルは、書き込まれつつある近隣データに依存する値の広範囲を有してもよい。
【0051】
書式設定
上述のように、抵抗メモリセル間の物理的な近接は、隣接セルが読み出されるおよび/またはプログラム化される場合、かく乱効果を起こし得る。メモリ記憶デバイスは、このような効果を検出し補償するために、上述のような特性を含んでもよい。かく乱効果を最小限にするために、付加的な測定法が取られてもよい。特に、論理的ページは、固定かく乱パターンを最小限にする物理的なメモリ位置で調整され得る。データは、適応可能な論理対物理マッピングと適応可能な物理的なメモリセルを記憶するためのデータブロックの配置のうちの1つかまたはその両方により調整されてもよい。
【0052】
これから図6を参照して、ブロック図は、ある実施形態例による論理ブロックを物理的な位置にインターリーブする実施例を示す。ブロック600は、RRAMまたはPCM配列などのメモリ記憶媒体の一部を示す。この実施例の目的のために、互いに垂直および水平に隣接するセルは、互いにかく乱してもよいと仮定してもよい。例えば、セル603および604は両方共、セル602に隣接している。垂直および水平の間隔は同一であるかまたは異なっていてもよく、かく乱効果は、セルの間隔および/または他の物性に比例してもよい。
【0053】
ブロック606から608は、例えば、語、ページ、セクタ等の論理ブロックを表す。ブロック606から608の各々に関するデータは、記憶媒体600の8つのセル内に記憶される。各セルは、単一のビットまたは多数のビットシンボルを記憶してもよい。各セル内の文字は、データをセルに記憶する論理ブロックを示す。例えば、領域610および611内のセルは、それらが論理ブロック606に関するデータを記憶することを示す文字「A」を付けられる。領域612から615内の文字「B」および「C」はそれぞれ、論理ブロック608および608との関連を示す。他のセル内の文字「D」から「H」は、他の論理ブロック(図示せず)のデータを示す。
【0054】
領域610から615はインターリーブされ、その結果、読み出しまたは書き込み論理ブロック606から608に関連したかく乱効果は、他のページ内に分散するだろう。これは、ブロック606に対する書き込みが、行または列に沿って、直接、隣接する別のブロックの少数のシンボルのみに影響するような、固定パターン効果を緩和する傾向にあってよい。この実施例に示されたインターリーブは、1つの語が、4つ以下の垂直に隣接するセルを別の語と共有し、また2つ以下の水平に隣接するセルを別の語と共有することを確実に行う。この実施例は、すべての状態に関して最適である意図はないし、多くの変形が可能であってよい。例えば、図示されるような4つのブロックのグループ分けの代わりに、論理ブロック606のセルは、個々に、記憶媒体600内で分散してもよい。さらに、セルが多数のビットセルである場合、各セル内のビットは、2つ以上の異なる論理ブロック間で共有されてもよい。
【0055】
別の実施例において、多数の論理ブロック(例えば、ブロック606から608)は、ある手順で修正される共通の組にグループ分けされてもよい。例えば、図示された媒体600内にデータを記憶する8つの論理ブロックは、異なる物理的な領域内に活動が分散するような手順で書き込まれてもよい。これは、かく乱影響を悪化させることもある熱または他の効果(例えば、電荷)の累積を防いでもよい。
【0056】
図6を参照して上記に考察されたインターリーブおよびグループ化は、多くの方法を達成してもよい。例えば、論理対物理マッピングは、図6に示されるような1つ以上のセルグループの位置を示してもよい。これは、図1に示されるような書式設定モジュール126によって行われてもよい。インターリーブは、記憶コントローラ(例えば、図1の記憶コントローラ116)により行われてもよい、またはメモリ自身の構造により行われてもよい。インターリーブは、領域610と関連する論理ブロックが常に領域611と関連するように固定されてもよい。インターリーブは、いずれかの2つ以上の領域が異なるブロックと関連してもいいように可変であってよい。
【0057】
図1に関して上述されたように、メモリデバイスは、異なるタイプまたは構成のメモリを有する領域を含んでもよい。これの1つの実施例が図7に示され、メモリユニット700、702は、コントローラ704により(例えば、図1に示す書式設定モジュール126を用いることにより)、書き込まれても読み出されてもよい。メモリユニット700、702は、異なるまたは同一のメモリタイプであってもよいが、異なる記憶ユニットの大きさ、例えば、物理的なブロックまたはページの大きさを有する。この実施例において、メモリユニット702は最小限のページの大きさN、メモリユニット700は最小限のページの大きさ2Nを有する。最小限の論理ブロックの大きさが2Nにも対応する場合、メモリユニット700の1ページが、論理ブロックを記憶してもよく、メモリユニット702の2ページが1つの論理ブロックを記憶するために用いられる。
【0058】
コントローラ704は、データがどのようにして用いられるかに依存して、データの保存のために、ユニット700および702のうちの1つを選択してもよい。例えば、データがランダムに更新される予定の場合、データをより小さいページの大きさとともにユニット702内に記憶することがより効率的であるかもしれない。そのため、データの論理ブロックがランダムであると判定される場合、それはブロック702のページ706、707に記憶され得る。ページの一部のみがホストコマンドにより変化してしまったことが(例えば、揮発性キャッシュにおける既存の入力を介して)判定されると、ブロック706、707のうちの1つのみが再書き込みされる必要がある。このような選択は、ユニット700、702の相対待ち時間およびスループット、ユニット702内のページが並行して書き込まれ得るかどうか、ユニット700、702等のページをプログラム化するために要求される相対電力消費などの他の要因に依存してもよい。
【0059】
コントローラ704は、データが、メモリユニット700、702のうちの1つまたはその両方のどこに記憶されるかを規定するために、他のシステムデータを使用してもよい。例えば、コントローラは、ユニット700、702内の疲弊と、データがホットなのかコールドなのかなどの作業負荷指標との両方を追跡できてもよい。このような場合、最もコールドなデータを得るために、メモリユニット700、702の最も疲弊したブロックが選択されてもよい。
【0060】
コントローラ704はまた、定期的に、不良ユニット(例えば、ワード線)を再割当てし、不良ユニットを回収してもよい。これはまた、信頼性などの固有な指標を再特徴付けすることを含んでもよい。例えば、2つの物理的なページが、公表されたページの大きさを記憶するのには確実性が不足する場合、それらの公表された能力は半減されることもあり、それらは大幅に増大したECC符号とともに単一の論理的ユニットにまとめられ得る。
【0061】
管理
デバイスのいくつかの動作はホストコマンドとはいくぶん無関係に発生してもよい。例えば、フラッシュメモリデバイスはガーベージコレクションとして知られるものを行ってもよく、旧データのブロック(例えば、削除または修正されてしまったデータ、後者は、古くなったデータとしてデータのブロックに印をつけることおよび修正されたデータを他の場所に書き込むことを含む)は、新しいデータの書き込みに再使用するために削除される。ガーベージコレクションは、バックグラウンドで、例えば、ホスト活動が低い場合、生じてもよい。抵抗メモリに関して、バックグラウンドでまたは低活動の時期に生じてもよい時限動作などのホスト要求とは無関係な特有の動作が開始されてもよい。
【0062】
ある実施形態例による、抵抗メモリデバイスで行われてもよいバックグラウンド活動が図8のブロック図に示される。タイマ800に基づき、記憶コントローラまたは同様のデバイス(例えば、図1の記憶コントローラ116および/またはシステムコントローラ110)は、バイアス信号802を複数の抵抗基盤メモリセル804に印加する。バイアス信号802は、セルの抵抗値を偏移させる傾向がある活動基準効果を逆転させる。記憶コントローラは、カスタム回路またはバイアス信号802の印加を促進させる指示を含んでもよく、このバイアス信号はデータを読み出すまたは書き込むために普通にメモリセルに印加された読み出し/書き込み信号とは異なってもよい。
【0063】
タイマ800は、ランタイムおよび/または日付/時間を(例えば、内蔵および/またはホストクロックを介して)追跡してもよい。タイマ800により提示された時間は、セル804への信号802の印加を引き起こすためにデバイスによって追跡されてもよい唯一の活動指標である。その時間は、最後の書き込み動作以降、気温または読み出し活動などの他の因子により増加または調整させられてもよい。別の実施例において、対象のセルまたは隣接セルのアクセスなどのシステム活動は、セル804への信号802の印加を引き起こすために、時間経過の代わりに用いられてもよい。
【0064】
バイアス802信号は、デバイス上に所定のバイアスを印加することにより、動的に抵抗偏移を調整する。メモリセル804がPCMメモリである場合には、材料が時間とともに結晶状態から非結晶質に移行するため、伝導率は変化する。このような場合、セル804は、融解温度と結晶温度との間の局部温度をもたらすであろう、小さいバイアスを印加することにより、結晶モードに維持されてもよい。
【0065】
セル804がRRAMである場合、信号802は、セルからのイオン移動を妨げる極性を有してもよい。記憶コントローラは、信号802のバイアスおよびパルスタイムを変化させることにより、2つの材料間の酸素イオン拡散の量を調整し得る。また、メモリタイプにかかわらず、印加された信号は、状態、全経過期間、作業負荷履歴、または他の態様に依存して、セルごとに、またはセルのグループごとに異なっていてもよい。分化した信号の実施例が、図9のブロック図に示される。
【0066】
タイマ900に基づき、記憶コントローラまたは同様のデバイスは、複数の信号902から904を、複数の抵抗基盤メモリセル906に印加する。バイアス信号902から904は、セルの抵抗値を、保持時間、セルに書き込まれたデータ、環境因子等の因子の組み合わせに基づいて選択された各信号レベル、持続時間、極性等とともに偏移させる傾向がある活動基準効果を逆転させる。いくつかのセルは、印加された信号を全く有していなくてもよい。セル906に印加された信号のタイプは、セル変化の作業負荷として再評価されてもよい。
【0067】
タイマ900は、ランタイムおよび/または日付/時間を(例えば、内蔵および/またはホストクロックを介して)追跡してもよい。タイマ900により提示された時間は、セル906への信号902から904の印加を引き起こすためにデバイスによって追跡されてもよい唯一の活動指標である。その時間は、最後の書き込み動作以降、気温または読み出し活動などの他の因子により増加させられるまたは調整させられてもよい。別の実施例において、対象のセルまたは隣接セルの読み出しなどのシステム活動は、セル906への信号902から904の印加を引き起こすために、時間経過の代わりに用いられてもよい。
【0068】
上述のセルの特徴付けは、セルの作業負荷と、セル自身の特有の性能態様(例えば、誤り率)との両方を追跡することを含んでもよい。しかしながら、これは、ホスト要求に応じて行われてもよい、データ読み出しの実行を含んでもよい。何度かデータが読み出されなかった場合には、デバイスは、ホストからのこのような要求なしに、セルの現在の状態を特徴付けるために実施例の領域の読み出しを開始する必要があるかもしれない。しかしながら、現在の状態に関する指標の取得(例えば、セル内で見られる抵抗偏移の量)は、前もって知られていなくてもよいデータ読み出しにおける高信頼に基づいてもよい。
【0069】
これから図10を参照して、ブロック図は、セル劣化を特徴付けるための既知のパターンを使用する配置を図示する。基準メモリセル1000は、固定パターンまたは他の情報に基づいて計算されることが可能であるパターンを含んでもよく、またユーザデータを含んでもよい既知のパターンを記憶する。基準メモリセル1000は、デバイスのメモリユニットにわたって、戦略的に分散してもよい。基準セル1000は、基準モジュール1002によって定期的に読み出されてもよい。基準モジュール1002は、記憶コントローラ1003の一部であってもよいし、通常の読み出し/書き込み活動以外の機能を実行してもよい。この実施例において、基準モジュール1002は、既知の/導き出された基準セル1000内のデータを、基準セル1000の測定された閾値と比較してもよい。測定された閾値はユーザデータを復号するために用いられる分解能より高い分解能を有してもよいし、および/または統計的に読み出しを特徴付けるために繰り返し、標本を抽出されてもよい。測定された閾値は、ユーザデータを記憶する他のセルの抵抗偏移を推定するために用いられ得る。
【0070】
基準モジュール1002により判定された抵抗偏移データは、ユーザデータを記憶する他のメモリセル1006の読み出しまたは書き込み動作を調整するために、(例えば、メモリレジスタまたは図1のデータ130を介して)記憶されてもよい。コントローラ1003は、セル1006からの読み出しまたはセル1006への書き込みに用いられた信号(例えば、電圧、タイミング)を調整するモジュール1004を含むまたは制御してもよい。例えば、信号調整モジュール1004は、プログラミング信号/波形を生成するDACによってアクセスされるメモリレジスタを含んでもよい。DACは、セルに対して特有のデータ値をプログラム化するときに、波形のパラメータを取得するためにレジスタにアクセスする。
【0071】
抵抗偏移データは、図8および9に示すように、定期的にバイアス信号をセルに印加する場合に用いられてよい。例えば、多数の基準セル1000は、異なる保持時間および/またはアクセスパターンを有するセルの経過期間効果を推定するために、何度も再書込されてよい。対象ユーザデータセル1006の保持時間またはアクセス履歴に基づいて、最も対応する保持時間またはアクセス履歴を有する基準セル1000が選択される。基準セル1000の抵抗偏移は、対象セル1006を推定するために用いられ、抵抗偏移は、対象セル1006に印加された補正バイアス信号(例えば、図8の信号802)の値を選択するために用いられる。
【0072】
これから図11を参照して、フローチャートはある実施形態例による方法を図示している。本方法は、図8および9に示されるように、メモリセルの抵抗偏移を補償するために、バイアス信号をメモリセルに印加するために用いられてよい。本方法は、データを抵抗基盤不揮発性メモリのセルに対して書き込むこと(1100)と、セルへのデータの書き込み以降の活動指標(例えば、経過時間、温度、読み出し要求)を追跡すること(1102)とを含む。活動指標が閾値を満たすことが判定された場合(1104)、バイアス信号は、セルの抵抗偏移を逆転させるために、セルに印加される(1108)。活動指標が閾値を満たさない場合、随意に、隣接活動指標が関心セルに影響したかどうかが判定されてもよい(1106)。影響した場合、1104で判定された閾値のうちの1つ、または1108で印加されたバイアス信号は修正されてよい(1110)。
【0073】
これから図12を参照して、フローチャートはある実施形態例による方法を示す。本方法は、図2から4に示すように、誤り補正に関する隣接するセルの状態を用いるために用いられてよい。本方法は、抵抗メモリユニットの対象セルに向けられた読み出し要求を受け取ること(1200)を含む。対象セルに隣接するセルの状態が判定される(1202)。隣接するセルは、要求の主題である同一の論理ブロック、または異なる論理ブロックであってよい。隣接するセルの状態は、対象セル内の誤り補正における事前情報として用いられてよい(1204)。
【0074】
上述の種々の実施形態は、相関して特有の結果をもたらす、回路および/またはソフトウェアモジュールを用いて行われてよい。コンピュータ分野の当業者は、モジュラーレベルか、全体としてのどちらかで、当分野で一般的に知られる知識を用いて、このような記載された機能性を容易に実行できる。例えば、ここに示されるフローチャートは、処理装置により実行されるコンピュータ可読指示/符号を生成するために用いられてもよい。このような指示は、当分野で知られているように、コンピュータ可読媒体に記憶され、実行用の処理装置に移動されてよい。上に示された構造および手順は、上述のように、データ記憶デバイスにおけるキャッシングを管理することを促進させるために用いられ得る実施形態の代表的な例にすぎない。
【0075】
実施形態例の前述の説明は、例示と説明の目的で提示された。それは発明の概念を網羅する意図も、または開示された正確な形式に限定する意図もない。上記の教示を考慮して、多くの修正および変形が可能である。開示された実施形態の特性のうちのいずれかまたはすべてが個々に適用されることが可能であり、またはいずれかの組み合わせを限定する意図はなく、純粋に例示を意図している。その範囲はこの詳細な説明に限定されず、むしろここに添付された請求項により判定されることを意図する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12