(57)【要約】【課題】可変抵抗メモリセルのためのＥＣＣ管理のための装置および方法を提供する。【解決手段】データ記憶デバイスは、概して、少なくとも１つの可変抵抗メモリセル内の既定の閾値からの変動を識別し、その少なくとも１つの可変抵抗メモリセルに対する第１のエラー訂正符号（ＥＣＣ）レベルを第２のＥＣＣレベルに格上げするように構成される少なくとも１つのコントローラを備えて構築され、動作され得る。【選択図】図２
2014164794.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの可変抵抗メモリセル内の既定の閾値からの変動を識別し、前記少なくとも１つの可変抵抗メモリセルに対する第１のエラー訂正符号（ＥＣＣ）レベルを第２のＥＣＣレベルに格上げするように構成されるコントローラを備える、装置。
【請求項２】
前記少なくとも１つの可変抵抗メモリセルが、ソリッドステートメモリアレイの一部である、請求項１に記載の装置。
【請求項３】
前記ソリッドステートメモリアレイが、複数の異なる種類の可変抵抗メモリセルを有する、請求項２に記載の装置。
【請求項４】
第１の種類の可変抵抗メモリセルは、プログラム可能な金属化セルを含む、請求項３に記載の装置。
【請求項５】
第２の種類の可変抵抗メモリセルは、相変化ランダムアクセスメモリセルを含む、請求項４に記載の装置。
【請求項６】
第３の種類の可変抵抗メモリセルは、抵抗性ランダムアクセスメモリセルを含む、請求項５に記載の装置。
【請求項７】
前記コントローラが、前記既定の抵抗閾値からの変動を反応的に識別するために、複数の異なるメモリセル動作条件を同時に分析するように構成される評価エンジンを備える、請求項１に記載の装置。
【請求項８】
前記評価エンジンが、モデルジェネレータに、前記既定の抵抗閾値からの変動を事前対策的に識別するためのデータを提供する、請求項７に記載の装置。
【請求項９】
前記既定の抵抗閾値からの前記識別された変動は、前記既定の抵抗閾値を満たす前記少なくとも１つの可変抵抗メモリセルに対応する、請求項８に記載の装置。
【請求項１０】
少なくとも１つの可変抵抗メモリセル内の既定の抵抗閾値からの変動を識別することと、前記少なくとも１つの可変抵抗メモリセルに対する第１のエラー訂正符号（ＥＣＣ）レベルを第２のＥＣＣレベルに格上げすることと、を含む、方法。
【請求項１１】
前記第１のＥＣＣレベルが、チェックサムを含む、請求項１０に記載の方法。
【請求項１２】
前記第２のＥＣＣレベルが、パリティチェックを含む、請求項１１に記載の方法。
【請求項１３】
前記第２のＥＣＣレベルが、前記第１のＥＣＣレベルと異なるＥＣＣスキームを備える、請求項１０に記載の方法。
【請求項１４】
前記コントローラが、複数の異なる動作パラメータを使用して、メモリセル抵抗における変動の予測モデルを生成する、請求項１０に記載の方法。
【請求項１５】
前記予測モデルが、ＥＣＣエンジンによって既定のメモリセルのＥＣＣを予測するために使用される、請求項１４に記載の方法。
【請求項１６】
前記第１のＥＣＣレベルが、可変抵抗メモリセルのページに対応し、前記第２のＥＣＣレベルが、個別の可変抵抗メモリセルに対応する、請求項１０に記載の方法。
【請求項１７】
少なくとも１つの可変抵抗メモリセル内の既定の抵抗閾値から将来の変動を識別することと、前記少なくとも１つの可変抵抗メモリセルに対する第１のエラー訂正符号（ＥＣＣ）レベルを第２のＥＣＣレベルに事前対策的に格上げすることと、を含む、方法。
【請求項１８】
識別された可変抵抗メモリセルに論理的に近位の未識別の可変抵抗メモリセルが、前記第１のＥＣＣレベルから前記第２のＥＣＣレベルに格上げされる、請求項１７に記載の方法。
【請求項１９】
識別された可変抵抗メモリセルに物理的に近位の未識別の可変抵抗メモリセルが、前記第１のＥＣＣレベルから前記第２のＥＣＣレベルに格上げされる、請求項１７に記載の方法。
【請求項２０】
前記第１のＥＣＣレベルが、前記コントローラの評価エンジン部分からの観察された動作データに応じて予測される、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、可変抵抗メモリセルのためのＥＣＣ管理のための装置および方法に関する。
【発明の概要】
【課題を解決するための手段】
【０００２】
種々の実施形態は、概して、可変抵抗メモリセルを有するデータ記憶デバイスの制御を対象とし得る。
【０００３】
一部の実施形態に従って、データ記憶デバイスは、少なくとも１つの可変抵抗メモリセル内の既定の閾値からの変動を識別し、その少なくとも１つの可変抵抗メモリセルに対する第１のエラー訂正符号（ＥＣＣ）レベルを第２のＥＣＣレベルに格上げするように構成される少なくとも１つのコントローラを有し得る。
【図面の簡単な説明】
【０００４】
【図１】図１は、種々の実施形態によって構築され、動作される、データ記憶デバイスのブロック表現を提供する。
【図２】図２は、図１のデータ記憶デバイス内で使用可能なメモリアレイの一部分のブロック表現を示す。
【図３】図３は、一部の実施形態によって構築され、動作される、データ記憶デバイスの一例部分のブロック表現を表す。
【図４】図４は、一例のメモリセルに対するいくつかのプログラム状態分布を図で表す。
【図５】図５は、種々の実施形態によって構築されるデータ記憶デバイスの制御回路部分の一例のブロック表現である。
【図６】図６は、一部の実施形態によって動作される制御回路の一例のブロック表現を提供する。
【図７】図７は、種々の実施形態によって構築され、動作される、制御回路の一例のブロック表現を表示する。
【図８】図８は、一部の実施形態によって実施される、事前対策的なメモリセル管理ルーチンの例を図示したものである。
【発明を実施するための形態】
【０００５】
より正確にかつ素早く記憶されたデータにアクセス可能な減少したフォームファクタおよび増加したデータ記憶容量を有するデータ記憶デバイスへの業界の継続的な重視により、データの書き込みおよび読み出し中の磁気遮蔽のような種々の回転データ記憶環境の材料および動作特性に負担がかかっている。ソリッドステートメモリセルの急速な増加は、モバイルおよびハイブリッドデータ記憶デバイスにおいて利用されるべきより大きいデータ記憶を可能にする、減少された電力消費、大きさ、熱発生量、および振動感度の提供を可能にしてきた。データ記憶デバイスは回転データ記憶上の負荷を最小化するために１つ以上のソリッドステートメモリセルを含むことができる一方で、ソリッドステートメモリは、記憶されたデータの精度およびアクセス速度を脅かす動作条件も経験し得る。
【０００６】
そのような条件の１つは、データを異なる抵抗状態として記憶するメモリセル内の抵抗変動であり得る。既定の閾値からの抵抗の偏差は、記憶された論理値を確認することなくメモリセルが繰り返し読み出されるため、データエラーおよびデータアクセス時間の増加をもたらす可能性がある。試験、エラー検出、およびエラー訂正符号（ＥＣＣ）が、リードソロモン、チェックサム、リード・マラー、パリティ、畳み込み、および２進ゴレイ等の様々な形態で提案されてきたが、そのような活動は、処理オーバーヘッドおよび一時的なメモリセル解除の点で費用がかかることがある。したがって、不注意の抵抗変動に由来するもののようなデータ記憶デバイス内の既存のおよび将来のエラーをより効率的に管理することに関連する継続的な業界目標が存在する。
【０００７】
したがって、様々な実施形態は、概して、少なくとも１つの可変抵抗メモリセル内の既定の閾値からの変動を識別し、その少なくとも１つの可変抵抗メモリセルに対する第１のエラー訂正符号（ＥＣＣ）レベルを第２のＥＣＣレベルに格上げするように構成される少なくとも１つのコントローラを備えて構築される、データ記憶デバイスを対象とし得る。既定の抵抗閾値の識別は、データアクセスの信頼性および速度に影響することなく、記憶デバイスの処理能力の最適化された使用を可能にする事前対策的または反応的な方法で行われ得る。データ有用性、アクセス速度、およびシステム処理オーバーヘッドに影響することなく徐々により強固なレベルのＥＣＣを効率的に管理する能力は、偏向した動作特性を伴うメモリセルの存在にかかわらず、持続的なパフォーマンスを提供することができる。
【０００８】
可変抵抗ソリッドステートメモリセルは、様々な非制限データ記憶環境において、多くの異なるＥＣＣスキームのうちの１つに利用され、割り当てられ得る。図１は、その中で種々の実施形態を実施することができる一例のデータ記憶デバイス１００のブロック表現を提供する。一部の実施形態においてソリッドステートドライブ（ＳＳＤ）として構成されるデバイス１００は、最上位コントローラ１０２および配線、インターフェース、バス、およびマルチプレクサ等の無制限に様々な電気的相互接続を介して接続され得る不揮発性データ記憶アレイ１０４を有する。コントローラ１０２は、記憶アレイ１０４と、記憶デバイス１００の内部または外部にあるホストデバイスとの間のユーザデータの伝達を促進するために使用されることができる。
【０００９】
一部の実施形態において、コントローラ１０２は、アレイ１０４とホストデバイスとの間の伝達を保留している少なくとも１つのインターフェース回路内でデータをバッファリングすることができるプログラム可能なマイクロコントローラである。コントローラ１０２および記憶アレイ１０４の位置は、記憶デバイス１００の種々の動作の態様を同時に制御する一方で、記憶デバイス１００要素のうちのどの部分も物理的にまたは論理的に不在であり得るため、図１に図示される同時的な存在に限定されない。すなわち、コントローラ１０２および記憶アレイ１０４の物理的存在は、記憶アレイ１０４の中の所定のおよび所定外の動作を促進する一方で、どちらかの要素が、適切なプロトコルでアクセスされるネットワークを通じる等、記憶デバイス１００の外部に位置付けられることができるため、必要とされない。同様に、追加の外部コントローラおよび記憶アレイは、所定のおよび所望の通りに選択的に利用されるように、記憶デバイス１００の内部または外部に存在してもよい。
【００１０】
図２は、図１のデバイス１００等のデータ記憶デバイス内で使用され得る不揮発性記憶アレイ１２０の一例部分のブロック表現を大まかに図示する。いくつかの不揮発性メモリセル１２２が、ビットおよびソース線といった電気路１２４および１２６の重なりに対応する行および列に、クロスポイントアレイとして特徴付けられることが可能な向きで配列される。１つ以上の書き込み／読み出し回路１２８および１３０は、セクタ１３２、ページ１３４、ブロック、およびガーベジコレクションユニット内に配列される選択されたメモリセル１２２に書き込まれている、あるいはそこから読み出されているデータを個別にまたは同時に制御する。
【００１１】
複数のメモリセル１２２が、制御線１２６を介してＸ（行）書き込み／読み出し回路１２８に、および制御線１２４を介してＹ（列）書き込み／読み出し回路１３０に連結され、これは書き込み、書き替え、および読み出し操作が、個別にまたは集合的に既定の数のメモリセル１２２上で実施されることを可能にする。一部の実施形態において、書き込み／読み出し回路１２８および１３０は、１つを超える種類のソリッドステートメモリセルに応じる電圧、抵抗、およびパルス幅等の参照パラメータを提供するように構成され得る。言い換えれば、異なるページ１３４またはメモリのブロックといった異なるメモリの区分は、それぞれがデータを記憶するが、読み出しまたは書き込み出力を論理状態に正確に変換するために書き込み／読み出し回路１２８および１３０によって提供される異なる参照パラメータに対応するように動作する、物理的および論理的に異なる種類のメモリセルと構成され得る。
【００１２】
非制限的動作例において、書き込み／読み出し回路１２８および１３０は、所定のまたは所定外のユーザおよびオーバーヘッドのシステム操作のための、メモリセルのページ１３４またはユニット１３２へのアクセスを同時に提供し得る。１つ以上の試験回路１３６および１３８は、評価回路１４０によって監視され、記録され、および評価される行および列の試験機能を提供し得る。試験回路１３６および１３８は、１つ以上のメモリセル１２２およびメモリのページ１３４を一般的な論理値および抵抗値といった既定の状態に置くように構成されることができ、これらは１つ以上の異なる種類のセル異常、動作パラメータ、およびメモリの種類を識別および区別するために、選択されたメモリセル１２２を流れる１つ以上の静止電流の通過によって特徴付けられる試験モードにおいて、ユーザアクセスのためにオンラインであってもよく、そうでなくてもよい。言い換えれば、単一のメモリセル１２２、またはより多くのセルが同時にまたは連続して、オフラインで入手され、評価回路１４０内でログとして記録されて評価された様々な伝記的、動作的、および欠陥のある特性を判定するために、複数の試験電流がセル１２２を通過することを可能にするように、試験回路１３６および１３８によって試験モードに設定され得る。
【００１３】
そのため、評価回路１４０は、データ記憶デバイス１２０内でメモリセル１２２が何を、そしてどのように動作するかを判定するように、試験回路１３６および１３８、ならびに書き込み／読み出し回路１２８および１３０の動作を指示することができる。一部の実施形態において、評価回路１４０は、ユーザデータが常時書き込まれる前に、一部のまたはすべてのメモリセル１２２の評価および試験を行い、これは後に使用され得る基準データを提供することができる。種々の実施形態は、種々のメモリセル１２２の動作特性の試験および評価を定期的におよび散発的にさらに行うことができる。かかる定期的な試験は、抵抗変動のような種々の動作条件を識別するために、低いシステム処理時間およびアイドル時間といった既定時および緊急時中に行うことができる。
【００１４】
種々のメモリセル１２２およびセル群１３２を試験する能力を用いて、評価回路１４０は、メモリセル性能の識別された静的および動的変動に適合することができる。しかし、ＥＣＣ割り当てを介する１つ以上のメモリセル１２２の性能を試験および訂正するシステムリソースの使用は、特に、一秒間に何万回および何十万回とＥＣＣにアクセス可能な最新のデータ記憶システムにおいて、膨大な量のシステムリソースを消費し得る。また、メモリセル１２２の変動に対する訂正の反応特性は、高いデータ信頼性およびアクセス速度を保証するほどには早く行われない可能性がある。このため、評価回路１４０は、識別された切迫した変動へのメモリセル１２２の予測的適合を可能にする様々な機能とともに構成され得る。
【００１５】
図３は、様々な実施形態に従って、データ記憶デバイスの一例の制御部１５０のブロック表現を例示する。制御部１５０は、制御回路１５８を介して個別におよび集合的に動作される複数の異なるメモリ階層１５２、１５４、および１５６を有する。種々の実施形態において、種々のメモリ階層は異なるメモリセルの種類に対応する。第１のメモリ階層１５２は、例示されるプログラマブル金属化セル（ＰＭＣ）要素１４０のいずれかとともに構築され、動作され得る。ＰＭＣ要素１６０は、最上位１６２および最下位１６４電極、金属層１６６、電解質層１６８、および誘電体層１７０とともに形成され得る。制御回路１５８は、第１の電極１６２と第２の電極１６４との間の相対電圧電位差を調節するために使用されることができ、セルの抵抗を高抵抗から低抵抗へと変化させるフィラメント１７４を形成するための書き込み電流１７２のＰＭＣ要素１６０への通過をもたらし、これは１といった第１の既定の論理状態に対応することができる。
【００１６】
フィラメント１７４は、金属層１６６からイオンの移動、ならびに最下位電極１６４から電子の移動によって、金属層１６６と最下位電極１６４との間に導電経路を確立する。誘電体層１７０は、生じるフィラメント１７４の位置を制御するために、最下位電極１６４からの電子移動の狭い面積に集中する。ＰＭＣ要素１６０を通る反対の第２の方向への書き込み電流の後続の適用は、ＰＭＣ要素１６０を０等の異なる第２の既定の論理状態に対応するその初期高電気抵抗にリセットするために、イオンおよび電子の移動を各々の電極１６２および１６４へと戻す。１６０で示すものに類似の構造を持つＰＭＣ要素は、制御回路１５８によって選択的に提供される異なる振幅および／またはパルス幅の単極プログラミング電流を用いて代替的にプログラムされることができる。
【００１７】
第２のメモリ階層１５４は、一例の相変化ランダムアクセスメモリ（ＰＣＲＡＭ）要素１８０によって提供される様々な実施形態に従って、データ記憶アレイにおいて使用されることができる別の非排他的な種類のソリッドステートメモリとして示される。相変化要素１８０は、最上位電極１８４および最下位電極１８６の間に配置される相変化層１８２を有する。必要ではなく、また制限もされないが、相変化層１８２は、テルリウム（Ｔｅ）およびセレニウム（Ｓｅ）等の周期表のＶＩ群の多結晶カルコゲニド材料で形成されることができ、一方、一部の実施形態において、相変化層１８２はＧｅ２Ｓｂ２Ｔｅ５（ＧＳＴ）またはＩｎ−Ｇｅ−Ｔｅで形成される。
【００１８】
層１８２を比較的高い抵抗非晶相に置くために、層１８２をその融解温度より高い温度で加熱するように電極１８４および１８６にわたりかなり高電圧の電位が印加される。比較的著しい冷却推移を提供するため、電圧は速やかに除去され、これは急冷処理と称され得る。この場合、原子は緩和および結晶格子構造へと完全に配列するのに十分な時間がない場合があり、それにより準安定非晶相および高抵抗で終了する。
【００１９】
示されるように、相変化層１８２は、比較的低めの振幅および長めの持続時間を持つ好適な電流１８８の要素１８０への通過によって引き起こされるジュール加熱に応じて、結晶化相にプログラムされることができる。印加されるパルスは、その融解温度より低温になるように、および温度を徐々に下げて環境レベルまで戻すように、ガラス転移点温度より高温で層の温度を上昇させるように構成される。かかる温度勾配は、概して、材料が結晶化するのに十分な滞留時間を提供する。ＰＣＲＡＭ要素１８０のプログラミング動作に伴って、層１８２を各々の非晶相および結晶相に置くためのデータ書き込み電流は、両方とも共通の方向（一定極性）１８８に印加されることができ、これは一部のデータ記憶アレイにおいて最適化されたデータプログラミング性能を提供し得る。
【００２０】
複数の異なるメモリ階層において同一の種類のソリッドステートメモリが使用され得る一方、図３に表示される非制限的な実施形態は、単一でまたは第３のメモリ階層１５６において複数で利用される抵抗ランダムアクセスメモリ（ＲＲＡＭ（登録商標））要素１９０を有する。ＲＲＡＭ要素１９０は、介在する酸化物層１９６によって分離された、相反する金属または金属合金の電極層１９２および１９４を有する。第１の、高抵抗プログラム状態は、酸化物層１９６の公称電気抵抗によって確立される。要素１９０に渡る、選択された方向への好適な書き込み電圧電位および／または書き込み電流の適用は、電極層１９２からの金属移動および酸化物層１９６を通る１つ以上の導電性の金属化フィラメント１９８の形成を誘起する。
【００２１】
一部の実施形態において、酸化物層１９６は、漏れ電流およびより弱いプログラミング電流を軽減することができる異なる材料の積層として構成される。非制限的な例として、不斉ＴａＯ２−ｘおよびＴａ２Ｏ５−ｘは、異なる厚みを有し、および酸化物積層を形成することができる。かかる不斉酸化物積層は、測定可能であり、トランジスタのない、およびダイオードのない図２のアレイ１２０等のクロスポイントアレイにおいてアクセスされることができる、最適化された耐久性、データ保持、およびアクセス速度を提示することができる。
【００２２】
種々の実施形態は、ファンデルワールス力によって動かされて高いおよび低い抵抗状態を形成する不織布母材のカーボンナノチューブを使用する、ナノチューブランダムアクセスメモリ（ＮＲＡＭ）等の他の抵抗メモリの種類をもまた使用し得る。ＮＲＡＭのサイズおよび拡張可能性は、メモリが開閉デバイスおよびメモリセル等の様々な異なるメモリアレイ用途において使用されることを可能にする。そこからのデータの読み出しおよびそこへのデータの書き込みに関連する低いアクセス電流は、ＮＲＡＭを個別にまたは他の抵抗メモリの種類と組み合わせて、制御部１５０の種々のメモリ階層１５２、１５４、および１５６のための多様なデータ記憶機能を提供するために利用することをさらに可能にする。
【００２３】
かかるフィラメント１９８は、概して、要素１９０の特徴的な抵抗を低下させ、異なる論理状態に対応することができる、異なる高いおよび低い抵抗状態を提供するように動作する。要素１９０のプログラム状態を高抵抗状態に戻すため、適切な書き込み電圧電位および／または電流が、電極１９２と１９４との間にフィラメント１９８を無効にする方向で印加される。フィラメント１９８の作成および続く除去は、３０μＡ以下の書き込み電流で１０ｎｓ未満であってもよく、それは単体で、または他の種類のソリッドステートメモリと組み合わせて実装され、および要素１９０の比較的速いプログラミング時間および低いプログラミング電流を最大限にするユーザデータ、メタデータ、および予備のセル等の動作条件に割り当てられることによって、データ記憶アレイ性能を最適化し得る。
【００２４】
複数の異なるメモリ階層の構成は、制御回路１５８が、それぞれのメモリ階層１５２、１５４、および１５６が、ＲＲＡＭ、ＰＣＲＡＭ、およびＰＣＭ等の異なるメモリの種類であるが、メタデータ、およびデータ記憶性能を最適化するために制御回路１５８が選択的に利用することができるユーザデータの記憶といった類似のメモリセル関数を有する高度なデータ管理スキームを採用することを可能にする。例えば、相変化メモリセルとして構築される第１のメモリ階層１５２内に当初記憶されたデータは、冗長性または再配置のために、第２のメモリ階層１５４のＲＲＡＭメモリセルに移動され得る。
【００２５】
この種類のソリッドステートメモリセルデータを制御する能力は、抵抗変化等の反応的および事前対策的に識別されたメモリセル動作偏差に対して、種々のメモリ階層が適応的な手法で使用されることをさらに可能にするように記憶される。しかし、異なる種類のメモリセルの使用は、セル抵抗における変動に対するメモリアレイの適合性を最大限にするように、少なくとも制御回路１５８によって同時に管理される異なる試験および予測モデルに対応する異なる抵抗、読み出し、および書き込みプロファイルをセルにさらに提供し得るということに留意されたい。
【００２６】
図４は、一部の実施形態に従ってデータ記憶アレイ内で利用される一例のソリッドステートメモリセルからの動作データを描画する。種々の抵抗領域２０２、２０４、２０６、および２０８は、論理値１１、１０、０１、および００にプログラムされた複数のメモリセルについての抵抗分布にそれぞれ対応する。一部の実施形態において、データ記憶アレイの１つ以上のソリッドステートメモリセルは、マルチレベルセル（ＭＬＣ）として構成され、これは、図４に例示されるように、ｎ個のビットを２ｎ個の論理ビット値として同時に記憶することにより、単一のビットを論理値０または１のどちらかとして記憶するシングルレベルセルと対照をなす。
【００２７】
あらゆる数の異なる論理値指定が制約なしに利用され得る一方、種々の実施形態に従って論理値規則は、論理値１１を最も低い抵抗に、および論理値１０、０１、ならびに００を漸進的により高い抵抗に割り当てる。論理値指定にかかわらず、種々のメモリセル動作は、セグメント化された領域２１０、２１２、および２１４によって表示されるように、ソリッドステートメモリセルの抵抗における不注意なシフトの一因となることがある。一例として、しかしいかなる制限もせず、メモリセルの記憶された抵抗を増加および減少させる連続するプログラミングサイクルの数、高抵抗状態がメモリセル内に持続的に記憶される時間、データ記憶アレイの温度、ならびにメモリセルをプログラムするために使用されたプログラミング電流の量はすべて、シングルビットまたはマルチビットメモリセルの安定した抵抗状態における増加、または減少の一因となることがあり、それは正確なプログラミングおよびデータの検知を次第に複雑化する。
【００２８】
図３の要素１６０、１８０、および１９０等のソリッドステートメモリセルは、プログラミング電流に基づいて複数の特異的な抵抗を繰り返し提供する一助となる材料、層の厚さ、および全体寸法で構築され得る。３Ωおよび．６Ω等の論理状態閾値に渡って伸長する領域２１０、２１２、および２１４によって例示されるように、記憶された抵抗範囲内に不要なシフトがある場合、０１のような論理状態が００のように異なる状態として読み出されるため、論理状態の正確性が損なわれることがある。抵抗シフトは、多数の別個の抵抗を含み、そのうちの一部が様々な程度の抵抗シフトを有し得るメモリセルのページまたはブロックの同時読み出し中に、記憶された論理状態間の差別化を試みることによって、さらに悪化し得る。
【００２９】
抵抗シフトの原因がいまだ完全には理解されていないため、ＥＣＣを使用しても抵抗シフトの防止は信頼できない。したがって、様々な実施形態は、試験および予測回路のような適切なプロトコルを有する有線または無線ネットワークを通じる試験、観察、および評価を通した１つ以上の識別されたメモリセル内の抵抗シフトへの反応的および事前対策的なＥＣＣ管理を対象とする。
【００３０】
図５は、種々の実施形態によって構成され、動作するデータ記憶デバイスの一例の事前対策的部分２３０のブロック表現を提供する。評価エンジン２３２は、有線または無線ネットワークを通る等、別個でもよく、または図２の回路１４０のように評価回路の中に統合されてもよい。エンジン２３２がどこに位置付けられるかを問わず、複数の異なる種類のデータが、データを処理し、ならびに抵抗、論理状態、およびアクセス時間変動といった推定されおよび近接したメモリセル変動を識別することができるモデルジェネレータ２３４に渡されるために、エンジン２３２によって別個に記録され、評価され得る。限定しない例として、センサ、処理回路、およびタイマは、データ記憶アレイがどのように行っているかの多様なマップのために、少なくとも温度２３６、ビットエラー率２３８、読み出し／書き込みカウンタ２４０、データ経過時間２４２、およびブルームフィルタ２４４条件を評価エンジン２３２に提供することができる。
【００３１】
１つ以上の温度センサ２３６は、持続的におよび散発的に、データ記憶デバイスの周囲の大気温度、ならびにローカライズされたメモリセルの温度、メモリのページ、およびメモリページのダイを測定することができる。すなわち、デバイスの空気温度は、特に高温のまたは低温の位置を検出するために、同時にまたは連続して個別のメモリ領域の監視をもたらすことができる。一部の実施形態において、１５０°Ｆ等の閾値温度が設定され、および閾値を一旦上回ると、特定の部分のメモリアレイの調査をトリガする。かかる調査は、試験のために１つ以上のメモリセルをオフラインで採取し、既定の範囲の外にある温度に曝露されるセルの論理状態抵抗を予測的に変えることを伴い得る。調査は、１つ以上のメモリセルのための読み出しカウントに提供され得る追加的なインクリメントをもたらし得る。
【００３２】
１つ以上のメモリセルについてのビットエラー率（ＢＥＲ）２３８もまた、データ信頼性等の既定のパラメータの外で動作する、メモリセルの物理的および論理的可能性を予測するために、評価エンジン２３２によって監視され得る。例えば、メモリセルの高いビットエラー率は、識別されたセルに物理的に近接するセルならびに連続するデータアクセスを介して識別されたセルに論理的に接続されるセルのさらなる調査または調節をトリガし得る。ビットエラー率は、ブロックおよびページ等によって、メモリの階層内において監視されてもよく、これは、より高い階層におけるより高いＢＥＲが、より低いメモリ階層内におけるより少ないセルの分析に引き続いて対応することができるため、より効率のよい分析をもたらすことがある。
【００３３】
メモリの種々のセクタ、ページ、ブロック、およびダイは、評価エンジン２３２へのデータアクセスの数の読み出し／書き込みカウンタ２４０を提供するために、データ記憶デバイスの寿命等の長時間に渡り、および前の一時間および一週間等の短時間に渡り持続的に監視されることができる。高頻度にアクセスされるＰＣＲＡＭセル等のいくつかの種類のメモリおよび動作条件は、抵抗シフトを生じやすい傾向がある場合があり、これは予測され、事前に補正されることができる。カウンタ２４０は、一部の実施形態において、データを評価エンジン２３２に、および種々のメモリセルがどのようにアクセスされているかについての情報をモデルジェネレータ２３４に提供するために、読み出し、書き込み、および書き換えの数、ならびにメモリセルを通過する電流の量等の多数のデータアクセスをログとして記録することができる。
【００３４】
カウンタが１つ以上のメモリセルへのアクセスを監視し得る一方で、経過時間カウンタ２４２は、メモリセルが書き込まれ、読み出され、および変えられてから経過した全体の時間を記録するように動作することができる。読み出しディスターブおよび未発見の局所的な加熱および外傷等の、種々の環境的および動作的メモリセル条件を通じて、データの再配置は、事前対策的にデータ記憶の正確性を向上させることができる。経過時間カウンタ２４２は、評価エンジン２３２およびモデルジェネレータ２３４が、いつおよびどのメモリセルが抵抗状態等の既定の動作閾値から外れることになるかを予測する、長期および精密な動作モデルを作成することを可能にするための包括的なメモリセルマップを提供するために、測定および推定されたビットエラー率２５８および読み出し／書き込みカウンタ２４０によって補完されることができる。
【００３５】
ブルームフィルタ２４４は、温度２３６、読み出し／書き込みカウンタ２４０、およびデータ経過時間カウンタ２４２からのデータを追跡し、評価エンジン２３２に、メモリセル動作予測を構築するためにモデルジェネレータ２３４によって効率的に利用されることができるデータを提供するために、重み付けした要因の働きかけを提供するために使用されることができる。一部の実施形態において、重み付けした因数分解は、
Ｃｏｕｎｔ（Ａｄｊ）＝Ａｃｔｕａｌ  Ｒｅａｄｓ＋Ｋ１（Ｔｅｍｐ）＋Ｋ２（Ａｇｅ）＋Ｋ３（Ｄｅｌｔａ−Ｖ）  （１）
上式のような調節された読み出しカウントを提供してもよく、ここでＣｏｕｎｔ（Ａｄｊ）は調節されたカウント値であり、Ａｃｔｕａｌ  Ｒｅａｄｓは実際の読み出し動作を表し、Ｔｅｍｐは温度の読み出し／範囲／区域であり、Ａｇｅはブロックの経過時間を表し、Ｄｅｌｔａ−Ｖはデータアクセス動作中にセル抵抗において検出されたまたは予測された変更を表す。経過時間は、モジュール２４２を用いて、選択されたメモリ位置での書き込みおよび／または読み出しの合計数との関連等、様々な方式で追跡されることができる。Ｄｅｌｔａ−Ｖ値は、異なる読み出し電圧および抵抗閾値の適用に応答して利用されることができる。他の因数が使用され得ることは理解されよう。
【００３６】
モデルジェネレータ２３４を介した正確な動作モデルの作成は、データ記憶デバイス性能を最適化するための無制限に様々な事前対策の方策がとられることを可能にする。そのような事前対策的行動の１つは、ページ、ブロック、ダイ、および単一のメモリセルを処理する複数の異なるＥＣＣレベルのうちの１つを割り当て、符号化するための、評価エンジン２３２からの試験データの送信、ならびにモデルジェネレータ２３４からＥＣＣエンジン２４６への予測動作データの送信であり得る。
【００３７】
図６は、一部の実施形態に従って、データ記憶デバイスの一例のＥＣＣ部分２８０のブロック表現を例示する。単独で作動し得る、あるいは図５の評価エンジンおよびモデルジェネレータによって指示され得るＥＣＣエンジン２８２は、少なくとも４つの異なるレベルのＥＣＣを符号化および復号化することができる。必要とされる、あるいは制限するものでは決してないが、第１のＥＣＣレベル２８４は、多大なシステム処理時間を費やすことなく、基本エラーの検出および訂正を可能にするチェックサムのような簡易で最小の処理集約ＥＣＣスキームであり得る。抵抗中のシフトのような反応性または事前対策的なメモリセル動作偏差の識別は、ＥＣＣエンジン２８２が各メモリセルのＥＣＣレベルをより高く、より高度なＥＣＣスキームである第２のＥＣＣレベル２８６、第３のＥＣＣレベル２８８、および第４のＥＣＣレベル２９０に格上げすることをトリガすることができる。
【００３８】
様々な実施形態は、第２のＥＣＣレベル２８６をパリティチェックとして、第３のＥＣＣレベル２８８をリードソロモン符号として、および第４のＥＣＣレベルをハイブリッド自動再送要求（ＨＡＲＱ）符号として構成する。ＥＣＣエンジン２８２は、いつ、およびどのレベルに対してＥＣＣ格上げが行われるべきかを判定するための処理能力、計画的処理活動、およびチャネル品質のような種々のシステムパラメータを、持続的および散発的に監視することができる。一部の状況に対して、ＥＣＣ格上げは、単一のレベルであり得るが、他の状況においては、増大するエラー保護および訂正に伴って追加されるＥＣＣの大きさおよび処理費用の妥協に応じてより高いＥＣＣレベルへの格上げが保証される。
【００３９】
１つ以上のメモリセル内の抵抗シフトを予測する能力は、一部の実施形態において、識別され、抵抗シフトされたセルに論理的または物理的に隣接する他のメモリセルの事前対策的な格上げに対応することができる。つまり、ＥＣＣエンジン２８２は、識別された偏向したメモリセルだけではなく、欠陥のあるメモリセルの論理シーケンスに物理的に近いまたはその中にあるメモリセルもまた格上げするように、受信した試験およびモデルデータを解釈することができる。そのような事前対策的なＥＣＣ格上げは、識別されたセルにより近いメモリセルが、偏向したセルより遠位のセルと比較して、より大きいＥＣＣレベルの上昇を得ることができるように、階層内で行われ得る。
【００４０】
予測格上げは、ＥＣＣエンジン２８２によって経時的に、および既定の観察された動作データに応じて、さらに行われ得る。例えば、識別されたメモリセルに近位のセルの事前対策的なＥＣＣ格上げは即座に生じないことがあるが、代わりに、既定の温度、ＢＥＲ、または数データアクセスが観察される時に生じるように予定される。この方法において、ＥＣＣエンジン２８２は、所定のユーザデータ書き込み中に、効率的にＥＣＣレベルを格上げする高いデータ量および減少したシステムリソース等の変化するデータ記憶条件に適合することができる。
【００４１】
図７のロジカルマップ３００に提供されるように、ＥＣＣエンジン２８２はまた、既定の抵抗閾値から偏向するように識別されている、または識別されていないメモリセルのＥＣＣレベルを格上げするために、ユーザデータ読み出しを評価し、利用する。一例の論理ループ３００は、データ記憶デバイスの１つ以上の位置に記憶されたデータの読み出し要求３０２で開始し得る。読み出し要求３０２は、特定の論理ブロックアドレスおよび物理ブロックアドレス（ＬＢＡおよびＰＢＡ）からのユーザデータの検索、ならびにホストをユーザデータの最新バージョンに向け、データが正確であることを保証するために他の場所に記憶されたメタデータおよびＥＣＣ符号に対応することができる。
【００４２】
ステップ３０４は、ＥＣＣエンジン、評価エンジン、およびモデルジェネレータによって要求されるユーザデータに対応するための予測ＥＣＣを提供することができる。ＥＣＣの予測は、いくつもの動作パラメータの機能であり、ＥＣＣ検索の時間および処理費用を減少するために、観察および試験された情報を利用し得る。例えば、頻繁にアクセスされるメモリセルまたはメモリのページは、迅速なデータ検索を提供し、記憶されたＥＣＣが他のメモリセルに使用されることを可能にするＰＣＲＡＭといった種類のメモリに対応するＥＣＣのキャッシングをトリガし得る。
【００４３】
様々なメモリセルおよびメモリ群に対するＢＥＲの監視は、次いで、予測ＥＣＣの正確性を確認するために、ステップ３０６で予測ＥＣＣおよびユーザデータに対して観察されたＢＥＲと比較され得る。予測ＥＣＣが正しく、ならびに検索されるデータのＢＥＲがＢＥＲベンチマークと一致する場合、ループ３００は、次の読み出し要求に進むことができる。しかし、観察されたＢＥＲとベンチマークＢＥＲとの間の相違は、予測ＥＣＣのＥＣＣレベルおよび検索されたメモリセル（複数可）をベンチマークＢＥＲからの相違の大きさに等しい新規のレベルに格上げするためのステップ３０８を生じ得る。
【００４４】
種々の読み出しおよび書き込み動作を通して、１つ以上のメモリセルのＥＣＣは、様々な既存および予測動作条件を調整するために、評価され、試験され、および予測され得る。評価エンジン、モデルジェネレータ、およびＥＣＣエンジンの補完動作は、効率の良い正確なデータプログラミングおよび読み出しを提供するための既存および予測ＥＣＣを管理するために利用され得る。一例のＥＣＣ管理スキームは、ＥＣＣレベルが各集合の大きさに対応する場合、メモリセルの集合ページ、ブロック、およびダイのＥＣＣの階層の作成から成る場合がある。つまり、リードソロモン符号のような高まったＥＣＣレベルがダイ内に含有されるメモリのページに使用され得る一方で、予測チェックサムといった低いＥＣＣレベルが、メモリセルのダイへのデータの読み出しおよび書き込みに使用され得る。
【００４５】
メモリアレイユニットの大きさに基づく階層内へのＥＣＣの構成は、より処理費用のかかるＥＣＣレベルが、メモリのより小さいページおよびセクタに使用される前に、最小限のシステムリソースの高額なＥＣＣが最初に使用されることを可能にする。そのようなＥＣＣ階層は、データアクセス時間と正確なデータ読み出しおよび書き込みの均衡をとるように、メモリ領域の一部またはすべてのＥＣＣレベルを格上げすることによって、メモリのダイ、ブロック、ページ、およびセクタに含有される１つ以上のメモリセル内の動作偏差の予測を用いて最適化され得る。図８は、種々の実施形態に従って、どのようにＥＣＣレベルが、割り当てられ、調整され得るかを例示する一例の予測ＥＣＣ管理ルーチン３２０を提供する。
【００４６】
最初に、ルーチン３２０は、評価およびモデリングを受けた、温度、ビットエラー率、およびデータアクセスカウンターといった様々な処理データから評価された動作条件に基づいて、ステップ３２２において抵抗シフトを予測することができる。ステップ３２２は、現時点で既定の抵抗閾値から偏向していないセルに対する抵抗中の将来の偏差を識別するための１つ以上のメモリセルに関するログの動作および試験データの評価を含み得る。かかる識別は、不良セルの過去の評価および試験に基づいてもよく、あるいはメモリがユーザ制御に対して作動化される前に提案される、または最適化されるＥＣＣレベルとの比較に基づいて既定の閾値からのセル偏差を提案する識別された傾向に基づいてもよい。
【００４７】
ステップ３２２からの予測抵抗シフトに伴って、ステップ３２４は、書き込み動作中または所定の低システムオーバーヘッド時間中に、少なくとも識別されたメモリセルのＥＣＣレベルを続いて格上げする。上記で考察されるように、一部のシナリオにおいて、メモリの全セクタおよびページといった物理的におよび論理的に近位のメモリセルのＥＣＣレベルは、種々のＥＣＣレベルに事前対策的に格上げされ得る。ＥＣＣ管理ルーチン２３０は、持続した書き込み動作を伴うステップ３２２と３２４との間を継続的にループしてもよいが、読み出し動作が行われる時にいつでも既存または予測ＥＣＣを提供するためのステップ３２６に進んでもよい。
【００４８】
ステップ３２６から前もって記憶された、または事前対策的に生成されたＥＣＣの提示は、次いで、正確性に関して判定３２８において評価される。一部の実施形態において、メモリのページまたはブロックといった複数のメモリセルのＥＣＣが、収集され、同時に判定３２８を用いて評価される。判定３２８は、ＢＥＲの比較、パリティチェックの実施、およびデータ冗長性比較といった制限されない種々の決定論的および経験的技術を介して、正確性に関してＥＣＣおよび対応するユーザデータを評価し得る。判定３２８が、提供されるＥＣＣが正しいかをどのように判定するかにかかわらず、図６で例示されるように、ＥＣＣの失敗は、少なくとも単一の識別されたメモリセルに対するＥＣＣが、より高いＥＣＣレベルに関連付けられるより強固なＥＣＣスキームに格上げされるステップ３３０に進む。
【００４９】
判定３２８およびステップ３３０は、処理リソースおよびデータアクセス時間に影響することなく正確なデータ検索を提供するために、個別のメモリセルのＥＣＣレベル、メモリのページ、ページのブロック、ならびにブロックのダイを高めるように、引き続いて何度も実施される。ステップ３３０は、さらに、その中に格上げされたＥＣＣレベルに対応するユーザデータが存在する特定のブロック、ページ、またはセクタへの次の書き込み動作と同時にＥＣＣレベルを格上げするように予定を決めることができる。
【００５０】
正確なデータ読み出しを十分に提供する格上げされたデータのＥＣＣレベルに伴い、判定３２８は、読み出されたユーザデータに関連付けられるメタデータの更新の予定を立てるステップ３３２に進む。更新されたメタデータは、少なくとも任意の新規ＥＣＣデータおよび正方向ポインタの位置、ならびに再配置または冗長が格上げされたＥＣＣレベルの一部として用いられた場合、ユーザデータの新規のＰＢＡおよびＬＢＡを含み得る。最初のＥＣＣが正しく、ステップ３３０を通してＥＣＣレベルの調節が行われない場合、ステップ３３２は、メタデータを修正する代わりに、評価回路およびエンジン中の動作ログを更新することができる。ＥＣＣ管理ルーチン３２０は、表示されるステップに制限されず、ならびにルーチン３２０の任意の部分としての判定は、回転媒体およびソリッドステートメモリの両方を用いるハイブリッドデータ記憶デバイスといった多様なデータ記憶デバイス動作に適応させるために、修正、移動、および省略されてもよいことが理解され得る。
【００５１】
図８に示されるように、１つ以上のメモリセル内の抵抗シフトを予測することは、将来のメモリセル（複数可）の動作履歴および予測動作に提供されるＥＣＣのレベルを提供するＥＣＣ管理に対応し得る。観察された条件および傾向に基づいてＥＣＣを予測する能力は、過度のシステムパフォーマンスの劣化を伴わずに、正確なデータ読み出しおよび書き込みを保証するエラー検出および訂正のレベルを提供するように、ＥＣＣを管理するためにさらに使用され得る。さらに、種々のＥＣＣおよびユーザデータ記憶に対して多数の異なるメモリの種類を利用する能力は、既存および予測ＥＣＣを有するメモリセルが各メモリの種類の動作上の利点に従うメモリの種類に記憶されることを可能にすることによって、メモリセルおよびデータ記憶アレイの性能を最適化することができる。
【００５２】
特許請求される技術は、ネットワークおよびモバイルデータ記憶環境を含むあらゆる用途において、容易に利用されてもよいことが理解されるべきである。本開示の種々の実施形態の多くの特性が、上記の説明に種々の実施形態の構造および機能の詳細とともに記載されたが、この詳細な記載は単に説明的なものであり、特に、添付の請求項が示される条件における広範囲な趣旨によって最大限に示される本技術の原理の範囲内の部品の構造および配置について、詳細な変更がされてもよいということが理解されるべきである。
【図１】
2014164794.tif 000003
【図２】
2014164794.tif 000004
【図３】
2014164794.tif 000005
【図４】
2014164794.tif 000006
【図５】
2014164794.tif 000007
【図６】
2014164794.tif 000008
【図７】
2014164794.tif 000009
【図８】
2014164794.tif 000010