(57)【要約】  １つの具現化において、メモリ動作を実行する方法は、１つ以上の不揮発性メモリセルからデータを読み取る要求をメモリ装置で受信し、そして不揮発性メモリセルに関連した記憶された温度情報を検索することを含み、その温度情報は、おおよそ、不揮発性メモリセルにデータが書き込まれたときの温度に関連したものである。この方法は、更に、不揮発性メモリセルからデータをメモリ装置によって読み取ることを含む。又、この方法は、少なくとも検索された温度情報に基づいて読み取られたデータを処理し、そしてその処理されたデータを与えることを含む。【選択図】      図１
2014509769.tif 000002
【特許請求の範囲】
【請求項１】
メモリ動作を実行する方法において、
１つ以上の不揮発性メモリセルからデータを読み取る要求をメモリ装置で受信する段階と、
不揮発性メモリセルに関連した記憶された温度情報を検索する段階であって、前記温度情報は、おおよそ、不揮発性メモリセルにデータが書き込まれたときの温度に関連したものである段階と、
不揮発性メモリセルからデータをメモリ装置によって読み取る段階と、
少なくとも前記検索された温度情報に基づいて前記読み取られたデータを処理する段階と、
前記処理されたデータを与える段階と、
を備えた方法。
【請求項２】
検索された温度情報に基づいて不揮発性メモリセルから読み取られたデータを処理する前記段階は、前記検索された温度情報に基づいて不揮発性メモリセルに記憶されたデータを解釈するのに使用される１つ以上の電圧スレッシュホールドを調整することを含む、請求項１に記載の方法。
【請求項３】
前記電圧スレッシュホールドは、温度に基づいて不揮発性メモリセルの電圧ドリフトをマップするアルゴリズムを使用して調整される、請求項２に記載の方法。
【請求項４】
前記不揮発性メモリセルから読み取られたデータに対してエラーチェック動作を遂行する段階と、
前記エラーチェック動作に基づいて、電圧スレッシュホールドに対する調整でデータの受け容れられる解釈が生じたかどうか決定する段階と、
前記調整で正しく解釈されるデータが生じたかどうかの決定に基づいて前記アルゴリズムを更新する段階と、
を更に備えた請求項３に記載の方法。
【請求項５】
前記不揮発性メモリセルに関連した現在温度を指示する現在温度情報を１つ以上の温度センサから受信する段階、
を更に備え、前記データは、前記現在温度情報に更に基づいて前記不揮発性メモリセルから読み取られる、請求項１に記載の方法。
【請求項６】
前記現在温度と、前記不揮発性メモリセルにデータが書き込まれたときの温度との間の差を決定する段階、
を更に備え、前記不揮発性メモリセルから読み取られたデータは、前記現在温度と、前記不揮発性メモリセルにデータが書き込まれたときの温度との間の前記決定された差に基づいて処理される、請求項５に記載の方法。
【請求項７】
前記不揮発性メモリセルは、フラッシュメモリセルを含む、請求項１に記載の方法。
【請求項８】
メモリ動作を実行する方法において、
１つ以上の不揮発性メモリセルにデータを書き込む要求をメモリ装置において受信する段階と、
不揮発性メモリセルに関連した現在温度を指示する温度情報を１つ以上の温度センサからメモリ装置により得る段階と、
温度情報に基づいて書き込み動作に対して行う調整を決定する段階と、
温度情報に基づいて書き込み動作に対して決定された調整を使用して不揮発性メモリセルへデータを書き込む段階と、
を備えた方法。
【請求項９】
前記書き込み動作に対する調整は、前記不揮発性メモリセルに記憶されたデータ値の表現を定義する１つ以上の電圧スレッシュホールドに対する調整を含む、請求項８に記載の方法。
【請求項１０】
前記電圧スレッシュホールドに対する調整は、前記不揮発性メモリセルに関連した現在温度に基づいて前記不揮発性メモリセルの電圧ドリフトをマップするアルゴリズムを使用して決定される、請求項９に記載の方法。
【請求項１１】
前記書き込み動作に対する調整は、前記温度情報により指示された現在温度がスレッシュホールドレベルを越えたときにデータを冗長に書き込むことを含む、請求項８に記載の方法。
【請求項１２】
前記書き込み動作に対する調整は、前記書き込み動作を、（ｉ）メモリセル当たり２ビット以上のデータを書き込むことから、メモリセル当たり１ビットのデータを書き込むことへ、或いは（ii）メモリセル当たり１ビットのデータを書き込むことから、メモリセル当たり２ビット以上のデータを書き込むことへ、切り換えることを含む、請求項８に記載の方法。
【請求項１３】
前記書き込み動作は、その書き込み動作が現在温度におけるスレッシュホールド精度レベルより低いと決定されたときに、メモリセル当たり２ビット以上のデータを書き込むことから、メモリセル当たり１ビットのデータを書き込むことへ切り換えられる、請求項１２に記載の方法。
【請求項１４】
前記書き込み動作に対する調整は、現在温度が期間にわたって少なくともスレッシュホールド量だけ変化するまで書き込み動作の遂行を待機することを含む、請求項８に記載の方法。
【請求項１５】
前記不揮発性メモリセルは、メモリダイ上に配置され、そして少なくとも１つの温度センサが同じメモリダイ上に配置される、請求項８に記載の方法。
【請求項１６】
前記不揮発性メモリセルは、メモリダイ上に配置され、前記温度センサは、メモリ装置の一部分であるが、メモリダイ上に配置されず、
前記方法は、更に、不揮発性メモリセルの温度をメモリ装置の他の部分からの温度測定値に基づいてモデリングする１つ以上の温度特性に基づき不揮発性メモリセルに関連した現在温度を推定することを含む、請求項８に記載の方法。
【請求項１７】
少なくとも１つの温度センサは、メモリコントローラの温度測定値を与えるようにメモリ装置に配置される、請求項１６に記載の方法。
【請求項１８】
少なくとも１つの温度センサは、周囲温度測定値を与えるようにメモリ装置に配置される、請求項１６に記載の方法。
【請求項１９】
１つ以上の不揮発性メモリセルと、
その不揮発性メモリセルに関連した温度測定値を与えるように構成された１つ以上の温度センサと、
不揮発性メモリセルに対してメモリ動作を遂行するように構成されたコントローラと、
を備え、前記メモリ動作は、温度センサにより与えられる温度測定値に基づいて調整される、メモリ装置。
【請求項２０】
メモリセルの少なくとも一部分からデータを読み取るためのメモリ動作に対して、前記コントローラは、不揮発性メモリセルの一部分にデータがプログラムされたときの不揮発性メモリセルの一部分に関連した温度を示す温度情報を検索するように構成され、
不揮発性メモリセルの一部分から読み取られたデータを解釈するために前記コントローラにより使用される１つ以上の電圧スレッシュホールドは、前記検索された温度情報に基づいて調整される、請求項１９に記載のメモリ装置。
【請求項２１】
前記不揮発性メモリセルの一部分に関連して温度情報を記憶する不揮発性メモリを更に備えた、請求項２０に記載のメモリ装置。
【請求項２２】
不揮発性メモリセル少なくとも一部分にデータを書き込むための動作に対して、前記コントローラは、不揮発性メモリセルの一部分に関連した現在温度測定値を得、そしてその現在温度測定値に基づき書き込み動作を調整するように構成された、請求項１９に記載のメモリ装置。
【請求項２３】
前記書き込み動作を調整することは、次のこと、即ち、
不揮発性メモリセルに記憶されたデータ値の表現を定義する１つ以上の電圧スレッシュホールドを調整すること、
現在温度測定値がスレッシュホールドレベルを越えたときにデータを冗長に書き込みすること、
書き込み動作を、メモリセル当たり２ビット以上のデータを書き込むことから、メモリセル当たり１ビットのデータを書き込むことへ切り換えること、
書き込み動作を、メモリセル当たり１ビットのデータを書き込むことから、メモリセル当たり２ビット以上のデータを書き込むことへ切り換えること、又は
現在温度の測定値が期間にわたって少なくともスレッシュホールド量だけ変化するまで書き込み動作の遂行を待機すること、
の１つ以上を含む、請求項２２に記載のメモリ装置。
【請求項２４】
前記不揮発性メモリセルは、フラッシュメモリセルを含む、請求項１９に記載のメモリ装置。
【請求項２５】
１つ以上の不揮発性メモリセルと、
前記不揮発性メモリセルに関連した温度測定値を与えるように構成された１つ以上の温度センサと、
前記不揮発性メモリセルに対してメモリ動作を遂行するように構成されたコントローラと、
を備え、前記メモリ動作は、前記温度センサにより与えられる温度測定値に基づいて調整される、システム。
【請求項２６】
メモリセルの少なくとも一部分からデータを読み取るためのメモリ動作に対して、前記コントローラは、不揮発性メモリセルの一部分にデータがプログラムされたときの不揮発性メモリセルの一部分に関連した温度を示す温度情報を検索するように構成され、
不揮発性メモリセルの一部分から読み取られたデータを解釈するために前記コントローラにより使用される１つ以上の電圧スレッシュホールドは、前記検索された温度情報に基づいて調整される、請求項２５に記載のシステム。
【請求項２７】
前記不揮発性メモリセルの一部分に関連して温度情報を記憶する不揮発性メモリを更に備えた、請求項２６に記載のシステム。
【請求項２８】
不揮発性メモリセル少なくとも一部分にデータを書き込むための動作に対して、前記コントローラは、不揮発性メモリセルの一部分に関連した現在温度測定値を得、そしてその現在温度測定値に基づき書き込み動作を調整するように構成された、請求項２５に記載のシステム。
【請求項２９】
前記書き込み動作を調整することは、次のこと、即ち、
不揮発性メモリセルに記憶されたデータ値の表現を定義する１つ以上の電圧スレッシュホールドを調整すること、
現在温度測定値がスレッシュホールドレベルを越えたときにデータを冗長に書き込みすること、
書き込み動作を、メモリセル当たり２ビット以上のデータを書き込むことから、メモリセル当たり１ビットのデータを書き込むことへ切り換えること、
書き込み動作を、メモリセル当たり１ビットのデータを書き込むことから、メモリセル当たり２ビット以上のデータを書き込むことへ切り換えること、又は
現在温度の測定値が期間にわたって少なくともスレッシュホールド量だけ変化するまで書き込み動作の遂行を待機すること、
の１つ以上を含む、請求項２８に記載のシステム。
【請求項３０】
前記不揮発性メモリセルは、フラッシュメモリセルを含む、請求項２５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、温度情報を使用してメモリ動作を遂行することに関する。
【背景技術】
【０００２】
フラッシュメモリ（例えば、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ）のような種々の形式の不揮発性メモリ（ＮＶＭ）は、大量記憶に使用することができる。例えば、消費者向け電子装置（例えば、ポータブルメディアプレーヤ）は、フラッシュメモリを使用して、音楽、ビデオ、画像、及び他のメディア又はタイプの情報を記憶する。
【０００３】
ラップトップコンピュータシステムのような種々のシステムに関連して温度センサを使用して、プロセッサのようなシステムコンポーネントへダメージを及ぼし得るそのようなシステムの温度条件を識別している。例えば、プロセッサ内又はその周囲に温度センサを配置しそして温度センサを使用して、プロセッサにダメージを及ぼし得る温度条件を識別し、及び／又は冷却システム（例えば、ファン）又はシステム動作（例えば、プロセッサの速度又は活動レベル）をコントロールしている。
【発明の概要】
【０００４】
本発明は、一般的に、ＮＶＭに関連した温度情報を使用してメモリ動作を遂行する技術に関する。ＮＶＭに関連した温度情報は、ＮＶＭ内及びその周囲に配置された（例えば、ＮＶＭダイに埋め込まれた）温度センサからの温度測定値、及び／又はメモリ装置の他のコンポーネント（例えば、メモリコントローラ、周囲温度センサ）に関連した他の温度センサからの温度測定値を含む。
【０００５】
温度情報は、メモリ動作を遂行するためにメモリ装置により種々の仕方で使用することができる。例えば、ＮＶＭへデータがプログラムされるときＮＶＭの温度を指示する情報を記憶し、そして後でそれを使用して、プログラムされたデータを読み取るための適当な技術を選択することができる。例えば、温度情報を使用して、ＮＶＭからデータを読み取るための１つ以上の電圧スレッシュホールドを調整することができる。別の例では、温度情報を使用してデータをどのように記憶するか調整することができ、例えば、単一の記憶位置ではなく複数の記憶位置にデータを冗長に書き込むことができる。メモリ動作に温度情報を使用することに関する種々の他の特徴を以下に述べる。
【０００６】
１つの具現化において、メモリ動作を実行する方法は、１つ以上の不揮発性メモリセルからデータを読み取る要求をメモリ装置で受信し、そして不揮発性メモリセルに関連した記憶された温度情報を検索することを含み、前記温度情報は、おおよそ、不揮発性メモリセルにデータが書き込まれたときの温度に関連したものである。この方法は、更に、不揮発性メモリセルからデータをメモリ装置によって読み取ることを含む。又、この方法は、少なくとも前記検索された温度情報に基づいて前記読み取られたデータを処理し、そしてその処理されたデータを与えることも含む。
【０００７】
別の具現化において、メモリ動作を実行する方法は、１つ以上の不揮発性メモリセルにデータを書き込む要求をメモリ装置で受信し、そして不揮発性メモリセルに関連した現在温度を指示する温度情報を１つ以上の温度センサからメモリ装置により得ることを含む。又、この方法は、温度情報に基づいて書き込み動作に対して行う調整を決定することも含む。更に、この方法は、温度情報に基づいて書き込み動作に対して決定された調整を使用して不揮発性メモリセルへデータを書き込むことも含む。
【０００８】
別の具現化において、メモリ装置は、１つ以上の不揮発性メモリセルと、その不揮発性メモリセルに関連した温度測定値を与えるように構成された１つ以上の温度センサとを備えている。又、この装置は、不揮発性メモリセルに対してメモリ動作を遂行するように構成されたコントローラも備え、そのメモリ動作は、温度センサにより与えられる温度測定値に基づいて調整される。
【０００９】
別の具現化において、システムは、１つ以上の不揮発性メモリセルと、その不揮発性メモリセルに関連した温度測定値を与えるように構成された１つ以上の温度センサとを備えている。又、このシステムは、不揮発性メモリセルに対してメモリ動作を遂行するように構成されたコントローラも備え、そのメモリ動作は、温度センサにより与えられる温度測定値に基づいて調整される。
【００１０】
本明細書に述べる要旨の特定実施形態は、次の効果の１つ以上を実現するように具現化することができる。ＮＶＭの温度が変化してもＮＶＭに記憶されたデータの完全性を保存することができる。別の例では、ＮＶＭの温度は、ＮＶＭ内及びその周囲に配置された温度センサを使用することにより正確に決定することができる。更に別の例では、ＮＶＭ内の現在温度条件に基づいてメモリ動作を変更し（例えば、冗長なプログラミングデータへスイッチし）、ＮＶＭに記憶されるデータの完全性を高めることができる。
【００１１】
１つ以上の実施形態の細部を添付図面に示して以下に詳細に説明する。本発明の他の特徴、目的、及び効果は、以下の説明、添付図面及び特許請求の範囲から明らかとなろう。種々の添付図面において同様の要素は同じ参照番号で示されている。
【図面の簡単な説明】
【００１２】
【図１】ホストコントローラと、温度情報を使用してメモリ動作を遂行するように構成されたＮＶＭパッケージとを備えた規範的なシステムを示す図である。
【図２】温度情報を使用してメモリ動作を遂行するように構成されたメモリ装置を備えた規範的なシステムを示す図である。
【図３Ａ】単一レベルセルモードにおいてメモリセルのセル電圧とデジタルデータ値との間の規範的なマッピングを示す。
【図３Ｂ】多レベルセルモードにおいてメモリセルのセル電圧とデジタルデータ値との間の規範的なマッピングを示す。
【図４】規範的なメモリ温度特性を示すグラフである。
【図５】温度情報に基づいてメモリ装置からデータを読み取るための規範的なプロセスを示すフローチャートである。
【図６】温度情報に基づいてメモリ装置へデータを書き込むための規範的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【００１３】
メモリ動作は、ＮＶＭに関連した温度情報を使用して遂行することができる。温度情報は、ＮＶＭの温度を示す。ＮＶＭの温度情報は、ＮＶＭで遂行されるメモリ動作を調整するのに使用される。温度情報は、ＮＶＭ内又はその周囲に配置された（例えば、ＮＡＮＤフラッシュメモリダイ上に配置された）温度センサを含めて、メモリ装置の周囲に配置された温度センサから得ることができる。
【００１４】
ＮＶＭに記憶されるデータの完全性は、ＮＶＭの温度の影響を受ける。例えば、ＮＶＭからデータを読み取る精度は、ＮＶＭの温度上昇と共に低下する。例えば、メモリセルに記憶される電圧は、ＮＶＭの温度が変化するにつれて上方又は下方にドリフトする。これは、ＮＶＭに記憶された電圧を、その記憶された電圧の種々の範囲に対応するデジタルデータ値へ変換するときに問題となる。例えば、「単一レベルセル」（ＳＬＣ）は、単一のデータビットを記憶し、第１の電圧範囲は、データ値‘１’に対応し、そして第２の電圧範囲は、データ値‘０’に対応する。記憶された電圧がＮＶＭの温度変化のために第１の範囲から第２の範囲へドリフトする場合には、メモリセルからのデータ値が‘１’としてではなく‘０’として誤って読み取られることがある。
【００１５】
これら及び他の問題に対処するため、ＮＶＭの温度情報を得、記憶しそしてメモリ動作の調整に使用することができる。ＮＶＭの温度情報は、ＮＶＭ自体内又はその周囲に配置された（例えば、ＮＶＭダイ上に配置された）温度センサを含めて、メモリ装置全体にわたり配置された種々の温度センサを使用して得ることができる。ＮＶＭ以外に配置された温度センサ（例えば、メモリコントローラ内に配置された温度センサ）については、その温度特性を使用して、ＮＶＭ外にあるそのような温度センサからの測定値に基づきＮＶＭの温度を推測することができる。温度特性は、メモリ装置内及び／又はメモリ装置外の１つ以上の温度センサ、例えば、メモリコントローラ内の温度センサからの温度測定値と、ＮＶＭのようなメモリ装置の他のコンポーネントの近似温度との間の関係をマップする。
【００１６】
ＮＶＭの温度情報は、ＮＶＭをプログラミングするときに得て、プログラミング動作の調整に使用することができる。例えば、プログラミング時又はほぼその時のメモリセルの温度情報は、プログラミング動作のための電圧スレッシュホールドを調整するのに使用でき、データは、複数の記憶位置へ冗長に書き込むことができ、及び／又はメモリセルは、ＳＬＣモードから「多レベルセル」（ＭＬＣ）モード（複数のデータビットがメモリセルに記憶される）へ或いはそれとは逆に切り換えることができる。
【００１７】
プログラミング時又はその近辺でのＮＶＭセルの温度情報を記憶して、後でＮＶＭセルの読み取り動作の遂行に使用することができる。例えば、ＮＶＭからデータを読み取るコマンドを受け取るのに応答して、要求されたデータがプログラムされたときのＮＶＭの温度を検索し、そしてＮＶＭの現在温度と比較することができる。そのような比較を使用して、ＮＶＭの電圧ドリフトを近似し、そしてもし適切であれば、ＮＶＭに記憶されたデータ値を読み取って解釈するのに使用される電圧スレッシュホールドを調整することができる。これら及び他の技術を使用して、ＮＶＭのデータ完全性の改善といったＮＶＭの種々の改善を提供することができる。
【００１８】
図１は、ホストコントローラ１０２と、温度情報を使用してメモリ動作を遂行するよう構成されたＮＶＭパッケージ１０４とを備えた規範的なシステム１００を示す図である。例えば、ＮＶＭパッケージ１０４は、ＮＶＭの温度を示す温度情報を使用して、データ完全性に影響する温度変動に適応するようにＮＶＭへのデータをプログラムし、且つＮＶＭからデータを読み取ることができる。ホストコントローラ１０２及び／又はＮＶＭパッケージ１０４は、幾つか挙げると、ポータブルメディアプレーヤ、セルラー電話、ポケットサイズパーソナルコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、デスクトップコンピュータ、ラップトップコンピュータ、及び／又はタブレットコンピューティング装置、等の種々のホスト装置及び／又はシステム（ホスト）のいずれかに含まれるものである。
【００１９】
ホストコントローラ１０２は、ソフトウェア及び／又はファームウェアインストラクションの実行に基づいて動作を遂行するように構成された１つ以上のプロセッサ及び／又はマイクロプロセッサを含む。それに加えて及び／又はそれとは別に、ホストコントローラ１０２は、種々の動作を遂行するように構成されたＡＳＩＣのようなハードウェアベースのコンポーネントを含む。ホストコントローラ１０２により遂行される動作は、ＮＶＭパッケージ１０４のＮＶＭからデータを検索し及び／又はそこにデータを書き込むことを含む。例えば、ホストコントローラ１０２は、メディアファイル（例えば、オーディオファイル）に対する要求をＮＶＭパッケージ１０４に与える。ホストコントローラ１０２によって与えられるそのような要求は、メディアファイルに対応する１つ以上の論理的アドレスを含む。
【００２０】
ホストコントローラ１０２は、ホストコントローラ１０２内又はその周囲に配置されてホストコントローラ１０２の温度測定値を与える１つ以上の温度センサ１０６を備えている。例えば、温度センサ１０６は、ホストコントローラ１０２がホストコントローラ１０２の許容温度範囲（例えば、ホストコントローラ１０２のプリセット温度仕様）内で動作するかどうか決定するために（ホストコントローラ１０２及びホストシステムの別のコンポーネントにより）使用される温度測定値を与える。
【００２１】
又、ホストコントローラ１０２は、ホストシステム内又はその周りに配置された１つ以上の周囲温度センサ１０８からホストシステムの温度測定値を得ることもできる。例えば、周囲温度センサ１０８は、基板上のようなホストシステムの種々の位置に配置され及び／又はホストシステムのハウジングに固定され、そしてホストコントローラ１０２（又はホストシステムの他のコンポーネント）によって使用されて、ホスト装置の外部の温度を決定し、及び／又はシステムが許容温度範囲（例えば、ホストシステムのプリセット温度仕様）内で動作しているかどうか決定することができる。
【００２２】
ホストコントローラ１０２は、ホスト通信チャンネル１１０を経てＮＶＭパッケージ１０４と通信することができる。ホストコントローラ１０２とＮＶＭパッケージ１０４との間のホスト通信チャンネル１１０は、固定することもできるし（例えば、固定通信チャンネル）及び／又は取り外し可能にすることもできる（例えば、ユニバーサルシリアルバス（ＵＳＢ）ポート）。ＮＶＭパッケージ１０４との相互作用は、ＮＶＭパッケージ１０４に記憶されたデータを検索し及び／又はＮＶＭパッケージ１０４にデータを記憶する要求のようなメモリ関連要求をＮＶＭパッケージ１０４に与えることを含む。又、ホストコントローラ１０２は、温度センサ１０６−１０８から得た温度測定値、及び／又は図示されていない他の温度センサからの測定値を、メモリ動作遂行のためにＮＶＭパッケージ１０４により使用するためにＮＶＭパッケージ１０４に与えることもできる。
【００２３】
ＮＶＭパッケージ１０４は、ホストインターフェイス１１２及びメモリコントローラ１１４を使用してホスト通信チャンネル１１０を経てホストコントローラ１０２と相互作用する。ホストコントローラ１０２と同様に、メモリコントローラ１１４は、ソフトウェア及び／又はファームウェアインストラクションの実行に基づき動作を遂行するように構成された１つ以上のプロセッサ及び／又はマイクロプロセッサ１１６を備えている。それに加えて及び／又はそれとは別に、メモリコントローラ１１４は、種々の動作を遂行するように構成されたＡＳＩＣのようなハードウェアベースのコンポーネントを含む。メモリコントローラ１１４は、ホストコントローラ１０２により要求されるメモリ動作を含む種々の動作を遂行することができる。例えば、検索されるメディアファイルのローカルアドレスを指定する要求を受け取るのに応答して、メモリコントローラ１１４は、１つ以上の対応する物理的アドレス（例えば、ダイ、ブロック、及び／又はページを識別する情報）を識別し、その識別された物理的アドレスを使用して要求されたデータを検索し、そしてホストインターフェイス１１２を使用してホスト通信チャンネル１１０を経てホストコントローラ１０２へ要求されたデータを送信することができる。
【００２４】
ウェアレベリングのような種々のメモリ管理機能は、ホストコントローラ１０２及びメモリコントローラ１１４により、単独で又は組み合わせで、遂行することができる。メモリコントローラ１１４が少なくとも幾つかのメモリ管理機能を遂行するように構成される具現化では、ＮＶＭパッケージ１０４は、「管理型ＮＶＭ」（又はＮＡＮＤフラッシュメモリのための「管理型ＮＡＮＤ」）と称される。これは、ＮＶＭパッケージ１０４の外部のホストコントローラ１０２がＮＶＭパッケージ１０４のメモリ管理機能を遂行する「ロー(raw)ＮＶＭ」（又はＮＡＮＤフラッシュメモリのための「ローＮＡＮＤ」）とは対照的である。
【００２５】
ホストコントローラ１０２及びＮＶＭパッケージ１０４は、同じメモリ装置の一部分である。ある程度重畳するが、ホストコントローラ１０２及びＮＶＭパッケージ１０４は、メモリ装置に対して異なる役割を果たすことができる。例えば、ホストコントローラ１０２は、メモリ装置のためのユーザに面する機能、例えば、ユーザインターフェイス（例えば、グラフィックユーザインターフェイス、テキストベースユーザインターフェイス、オーディオユーザインターフェイス）を与えるための動作を遂行し、及びユーザ入力（例えば、特定のメディアファイルを再生する要求）に応答する、等の機能を遂行し果たすことができる。ＮＶＭパッケージ１０４は、メモリ装置のためのメモリベース機能、例えば、ホストコントローラ１０２からのメモリアクセス要求（例えば、論理的アドレスから物理的アドレスへの変換）を実行し、メモリ管理動作を遂行し、及び／又はエラー修正動作を遂行する、等の機能を遂行し果たすことができる。これらの役割の幾つかを分担することができ、例えば、ホストコントローラ１０２は、メモリ管理動作のような幾つかのメモリ動作を遂行する。
【００２６】
規範的なシステム１００において、メモリコントローラ１１４は、１つ以上の温度センサ１１８、揮発性メモリ１２０、及び不揮発性メモリ１２２を含むものとして描かれている。温度センサ１１８は、メモリコントローラ１１４内又はその周りに配置され、そしてメモリコントローラ１１４に対する温度測定値を与えることができる。これらの温度測定値は、メモリコントローラ１１４及び／又はＮＶＭパッケージ１０４の別のコンポーネントにより使用されて、メモリコントローラ１１４（又は１つ以上の他のコンポーネント）が許容温度範囲（例えば、メモリコントローラ１１４の温度仕様）内で動作しているかどうか決定することができる。メモリコントローラ１１４は、以下に詳細に述べるように、温度センサ１１８からの温度測定値を使用して、ＮＶＭパッケージ１０４のメモリ動作を遂行し及び調整することができる。
【００２７】
揮発性メモリ１２０は、キャッシュメモリ及びランダムアクセスメモリ（ＲＡＭ）のような種々の揮発性メモリのいずれかである。揮発性メモリ１２０は、メモリコントローラ１１４により使用されて、メモリ動作（メモリ動作に対する温度ベースの調整を含む）を遂行し、ＮＶＭから読み取られ及び／又はＮＶＭに書き込まれるデータを記憶し、そしてＮＶＭに関連した温度情報を記憶することができる。
【００２８】
ＮＶＭ１２２は、種々のタイプのＮＶＭのいずれかであり、以下に更に詳細に述べるように、メモリ動作に対する温度ベースの調整を含む種々の動作を遂行するためにメモリコントローラ１１４が使用するインストラクション１２４を記憶する。又、ＮＶＭ１１２は、ＮＶＭに関連したメタデータ１２６も記憶する。メタデータは、ＮＶＭパッケージ１０４のＮＶＭに記憶されるデータを種々の仕方で記述する情報を含む。例えば、メタデータ１２６は、メモリセルがプログラムされたときの１つ以上のメモリセル（例えば、メモリセルのブロック）の温度を示す温度情報１２８を含む。温度情報１２８、及び／又はメタデータ１２６の他の部分は、ＮＶＭパッケージ１０４のＮＶＭに関する種々の付加的な情報、例えば、タイムスタンプ情報（例えば、メモリセルが以前にプログラムされた時刻）及び／又はウェア情報（例えば、ＮＶＭの種々の部分がプログラムされた回数を示す情報）を含む。温度情報１２８は、種々の温度目盛、例えば、ファーレンハイト、セルシウス、ケルビン、及びローデジタル／アナログ温度センサ出力を使用して記憶することができる。
【００２９】
又、メモリコントローラ１１４のＮＶＭ１２２は、温度アルゴリズム１３０及び／又はメモリ温度特性１３２も含む。温度アルゴリズム１３０は、ＮＶＭの温度（又は温度変化）（及びおそらくは他の入力データ）を、ＮＶＭに記憶される電荷のレベル又は変化へとマップするアルゴリズムである。例えば、温度アルゴリズム１３０は、ＮＶＭメモリセルにおける電圧ドリフトの量及び方向をＮＶＭメモリセルの温度変化へとマップする。温度アルゴリズム１３０は、温度情報（例えば、プログラミング時のＮＶＭの温度、ＮＶＭの現在温度、プログラミングからの経過時間）及び他の検出された状態及び／又はメタデータを入力として取り上げ、そしてとりわけ、メモリ動作に対して行うべき種々の調整（例えば、読み取り及び／又は書き込み電圧スレッシュホールドの調整、ＭＬＣモードからＳＬＣモードへの切り換え、データの冗長なプログラム）を示す情報を出力として与えることができる。
【００３０】
又、メモリコントローラ１１４のＮＶＭ１２２は、温度アルゴリズム１３０に関連して使用できるメモリ温度特性１３２も含む。このメモリ温度特性１３２は、温度センサ１０６、１０８、１１８、等の種々の温度センサからの温度測定値に基づいてＮＶＭの一部分（例えば、ＮＶＭダイ、ＮＶＭページ、ＮＶＭブロック、１つ以上のＮＶＭセル）の温度を推測するのに使用される。メモリ温度特性は、１つ以上の温度センサからの温度測定値をＮＶＭの一部分の温度へマップすることができる。ＮＶＭの一部分に対する推測された温度は、メタデータ（例えば、温度情報１２８）として記憶され、及び／又は温度アルゴリズム１３０の入力として使用される。ある具現化では、以下に詳細に述べるように、温度センサは、ＮＶＭ内又はその周りに配置され、そして温度特性を使用してそのようなＮＶＭの温度を推測する必要はなく、むしろ、そのような温度センサからの測定値がそのようなＮＶＭの温度の充分に正確な指示を与える。
【００３１】
メモリコントローラ１１４は、共有内部バス１３４を使用して、集積回路（ＩＣ）ダイである複数のメモリダイ１３６ａ−ｎにアクセスする。ＮＶＭパッケージ１０４に関して１つの共有バス１３４しか描かれていないが、ＮＶＭパッケージは、２つ以上の共有内部バスを含むことができる。各内部バスは、複数のメモリダイ１３６ａ−ｎで示された複数（例えば、２、３、４、８、３２、等）のメモリダイに接続される。メモリダイ１３６ａ−ｎは、物理的に種々の構成で配列される（例えば、スタックされる）。メモリダイ１３６ａ−ｎは、ＮＶＭ１３８ａ−ｎを含むものとして描かれている。ＮＶＭ１３８ａ−ｎは、種々の異なる形式のＮＶＭのいずれかであり、例えば、フローティングゲート又は電荷トラップ技術に基づくＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、消去可能なプログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、強誘電性ＲＡＭ（ＦＲＡＭ（登録商標））、磁気抵抗性ＲＡＭ（ＭＲＡＭ）、位相変化メモリ（ＰＣＴ）又はその組み合わせである。ある具現化において、ＮＶＭ１２２は、１つ以上のメモリダイ１３６ａ−ｎで具現化される。
【００３２】
ＮＶＭ１３８ａ−ｎは、ブロック１４０及びページ１４２のような１つ以上のサブユニットへ編成される（物理的に及び／又はバーチャルに）。規範的なシステム１００に描かれたように、各ブロック１４０は、複数のページ１４２を含む。ブロック１４０及び／又はページ１４２は、一緒にプログラムされ、読み取られ及び／又は消去されるＮＶＭ１３８ａ−ｎの部分に対応する。例えば、ＮＡＮＤフラッシュメモリ（ＮＶＭ１３８ａ−ｎの一例）では、ページ１４２は、一緒に（同時に）読み取られ及び／又はプログラムされるメモリセルのグループに対応し、そしてブロック１４０は、一緒に消去されるページのグループに対応する。ブロック１４０及びページ１４２のサイズ及び構成は、変化し得る。例えば、各ブロック１４０は、多数のページ（例えば、３２ページ、６４ページ、数千ページ）を含み、そして各ページは、数バイト（例えば、５１２バイト）以上の関連記憶容量を有する。ＮＶＭ１３８ａ−ｎの、サブユニットへの他の分割も考えられる。
【００３３】
又、メモリダイ１３６ａ−ｎの各々は、ＮＶＭ１３８ａ−ｎ内又はその周りに配置される１つ以上の温度センサ１４４ａ−ｎも含む。例えば、メモリダイ１３６ａは、ダイ１３６ａ内又はその上に含まれ又はその全体にわたって離間されていてＮＶＭ１３８ａ−ｎに対応する温度測定値を与える１つ以上の温度センサを含む。温度センサ１４４ａ−ｎからの温度測定値は、メモリダイ１３６ａ−ｎとメモリコントローラ１１４との間の内部バス１３４及び／又は１つ以上の他の内部チャンネル（図示せず）を経てメモリコントローラ１１４へ送られる。温度センサ１４４ａ−ｎからの温度測定値は、例えば、温度情報１２８を記憶し、及び／又はメモリ動作（例えば、プログラム、読み取り、消去）の種々のパラメータ（例えば、スレッシュホールド電圧レベル）を調整するために種々の仕方で使用されるＮＶＭの一部分の温度を決定するのに使用される。
【００３４】
温度情報１２８は、ＮＶＭ１３８ａ−ｎ、ブロック１４０、ページ１４２、及び／又は個々のメモリセルのようなメモリダイ１３６ａ−ｎの種々の部分の温度を指示するデータを含む。例えば、ＮＶＭ１３８ａのページの１つがプログラムされる間にそのページの温度が９０°Ｆ（例えば、温度センサ１４４ａにより指示される）の場合には、メモリコントローラ１１４は、そのような温度情報を、プログラムされるページに対応するメタデータ１２８として記録する。例えば、プログラムされるページの温度情報１２８は、温度（９０°Ｆ）、プログラムされるページの識別子（例えば、ページの物理的アドレス、ページに対応する論理的アドレス範囲）、及び／又はページがプログラムされた時刻に対応するタイムスタンプを含む。
【００３５】
又、ＮＶＭパッケージ１０４は、メモリコントローラ１１４及び／又はメモリダイ１３６ａ−ｎとの特定の関連なしに、パッケージ１０４の一部分である１つ以上の温度センサ１４６も含む。温度センサ１４６は、ＮＶＭパッケージ１０４の他のコンポーネントに関連され、及び／又はＮＶＭパッケージ１０４の周囲温度センサとして働く。ＮＶＭ１３８ａ−ｎに特に関連しない他の温度センサ（例えば、周囲温度センサ１０８、温度センサ１０６、温度センサ１１８）からの温度測定値と同様に、温度センサ１４６からの温度測定値を使用して、例えば、温度情報１２８を記憶し及び／又はメモリ動作（例えば、プログラム、読み取り、消去）の種々のパラメータ（例えば、スレッシュホールド電圧レベル）を調整するために種々の仕方で使用されるＮＶＭの一部分の温度を決定することができる。
【００３６】
又、ＮＶＭパッケージ１０４は、ＮＶＭ１３８ａ−ｎから読み取られたデータのエラーを修正するエラー修正エンジン１４８（例えば、エラー修正コードエンジン）も含む。このエラー修正エンジン１４８は、ハードウェア及び／又はソフトウェアで具現化され、そしてメモリコントローラ１１４の一部分でもよいし、それとは個別のものでもよい。又、エラー修正エンジン１４８は、ＮＶＭ１３８ａ−ｎで検出される電圧レベルを解釈するのに使用される電圧スレッシュホールドに対して温度アルゴリズム１３０が正確な温度ベースの調整を与えるかどうか決定するのに使用される。メモリコントローラ１１４は、エラー修正エンジン１４８によりエラーが検出されるかどうかに基づいて温度アルゴリズム１３０を調整することができる。ある具現化において、エラー修正エンジン１４８（又は個別のエラー修正エンジン）を使用して、他の形式のエラー修正動作を遂行することもできる。
【００３７】
例えば、ＮＶＭ１３８ａのページが第１の温度においてプログラムされ、次いで、第２の温度において読み取られる場合には、メモリコントローラ１１４は、デジタルデータ値（例えば、０、１）としてページに記憶される電圧レベルを解釈するのに使用される１つ以上の電圧スレッシュホールドを、温度アルゴリズム１３０の１つ以上、並びに第１及び第２の温度に基づいて調整することができる。エラー修正エンジン１４８は、電圧スレッシュホールドに対する調整を使用してページに記憶された電圧の解釈から得られるデジタルデータ値にエラーがあるかどうか決定することができる。少なくともスレッシュホールド数のエラーがあり（例えば、ロー番号、パーセンテージ）、及び／又は修正不能のエラーがある（例えば、エラー修正エンジン１４８が正しいデータ値を決定できないエラー）場合には、メモリコントローラ１１４は、ページを読み取るのに使用される温度アルゴリズム１３０の１つ以上を調整し（例えば、検出された値に対する調整量を、メモリへデータをプログラミングするときと、メモリからデータを読み取るときとの間の温度変動に基づいて変更し）、次いで、読み取り及びエラーチェック動作を再び遂行して、遭遇したエラーが解明されるかどうか決定する。温度アルゴリズム１３０のこの動的な調整は、少なくともスレッシュホールド数の検出エラーが解明されるまで、及び／又はスレッシュホールド数の繰り返しに到達するまで、繰り返し遂行される。
【００３８】
図示されていないが、メモリコントローラ１１４に関連して述べた種々の技術及び／又はコンポーネントは、ホストコントローラ１０２により遂行され及び／又はホストコントローラ１０２に含まれる。例えば、メタデータ１２６及び／又は温度情報１２８の幾つか又は全部をホストコントローラ１０２に関連したＮＶＭ（図示せず）に記憶することができる。そのような具現化において、ホストコントローラ１０２は、メモリ動作（例えば、プログラム、読み取り、消去）に関連して当該温度情報をＮＶＭパッケージ１０４に与え及び／又はそこから受け取ることができる。
【００３９】
図２は、温度情報を使用してメモリ動作を遂行するように構成されたメモリ装置２０２を備えた規範的なシステム２００を示す図である。メモリ装置２０２は、種々のメモリ装置のいずれかであり、例えば、ポータブルメディアプレーヤ、セルラー電話、ポケットサイズのパーソナルコンピュータ、パーソナルデジタルアシスタント、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティング装置、及び／又は取り外し可能／ポータブル記憶装置（例えば、フラッシュメモリカード、ＵＳＢフラッシュメモリドライブ）である。
【００４０】
規範的なメモリ装置２０２は、ホストコントローラ２０４及びＮＶＭ２０６を含むものとして示されている。ホストコントローラ２０４は、図１を参照して上述したホストコントローラ１０２と同様である。ホストコントローラ２０４は、１つ以上のプロセッサ２０８、揮発性メモリ２１０、及び１つ以上の温度センサ２１１を含む。プロセッサ２０８は、種々のプロセッサのいずれかであり、例えば、マイクロプロセッサ、中央処理ユニット（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、又はその組み合わせである。揮発性メモリ２１０は、図１を参照して上述した揮発性メモリ１２０と同様である。揮発性メモリ２１０は、プロセッサ２０８によって使用されて、ＮＶＭ２０６に記憶されたデータの検索及び処理のような種々の動作を遂行する。温度センサは、図１を参照して上述した温度センサ１０６と同様である。
【００４１】
ＮＶＭ２０６は、１つ以上のＮＶＭパッケージ２１２ａ−ｂを含む。ＮＶＭパッケージ２１２ａ−ｂは、各々、図１を参照して上述したＮＶＭパッケージ１０４と同様である。例えば、ＮＶＭパッケージ２１２ａ−ｂは、各々、ＮＶＭを伴う複数のメモリダイ（例えば、メモリダイ１３８ａ−ｎ及びＮＶＭ１４０ａ−ｎ）と、ＮＶＭパッケージ２１２ａ−ｂに関連した温度情報を使用してメモリ動作を遂行するように構成された１つ以上のコントローラ（例えば、メモリコントローラ１１４）とを備えている。ＮＶＭパッケージ２１２ａ−ｂの各々は、（単独で、或いは互いに及び／又はホストコントローラ２０４と関連して）温度情報を収集し、維持し、及び使用して、各パッケージに関連したメモリ動作を遂行する。ＮＶＭ２０６は、多数（例えば、２、３、４、８、１６、等）のＮＶＭパッケージを含む。
【００４２】
図１を参照して上述したように、ＮＶＭの管理は、ホストコントローラ２０４、及び／又はＮＶＭパッケージ２１２ａ−ｂのコントローラにより遂行される。例えば、ホストコントローラ２０４は、ホストコントローラ２０４により与えられ及び／又は記憶される温度情報に基づいてＮＶＭパッケージ２１２ａ−ｂの動作を調整する（例えば、ＭＬＣモードからＳＬＣモードへ切り換える）ように構成される。ＮＶＭパッケージ２１２ａ−ｂのコントローラがメモリ管理動作（例えば、エラー修正、ウェアレベリング、等）の少なくとも一部分をコントロールする実施形態では、ＮＶＭパッケージ２１２ａ−ｂは、「管理型」ＮＶＭであると考えられる。
【００４３】
又、メモリ装置２０２は、１つ以上の周囲温度センサ２１３も備えている。周囲温度センサ２１３は、図１を参照して上述した周囲温度センサ１０８と同様である。
【００４４】
又、システム２００は、メモリ装置２０２へ（直接的及び／又は間接的に）通信接続できる外部装置２１４も含むものとして示されている。外部装置２１４とメモリ装置２０２との間の通信は、２つの装置間にデータ及び／又はインストラクションを送信することを含む。外部装置２１４は、種々の電子装置のいずれかであり、例えば、デスクトップコンピュータ、ラップトップコンピュータ、及びメディアコンピューティング装置（例えば、メディアサーバー、テレビ、ステレオシステム）である。メモリ装置２０２は、外部装置インターフェイス２１６（例えば、ワイヤレスチップ、ＵＳＢインターフェイス、等）を使用して物理的及び／又はワイヤレス接続を通して外部装置２１４と通信する。
【００４５】
例えば、１つの規範的実施形態では、メモリ装置２０２は、ポータブルメディアプレーヤであり、そして外部装置２１４は、物理的接続（例えば、ＵＳＢケーブル）を経て互いにメディアファイル（例えば、オーディオファイル、ビデオファイル、等）を送信できるデスクトップコンピュータである。
【００４６】
図３Ａ−Ｂは、各々、ＳＬＣモード及びＭＬＣモードにおいてセル電圧とメモリセルのデジタルデータ値との間の規範的なマッピングを示す。図１について上述したように、温度情報を使用して、ＳＬＣモードとＭＬＣモードとの間でメモリセルをスイッチすべきかどうか決定することができる。
【００４７】
図３Ａは、ＳＬＣモード（メモリセルごとに１ビットのデータが記憶される）で動作するメモリセルの規範的なデジタルデータ値分布３００を示す。この例では、電圧分布曲線３０２は、デジタル値０を表わし、そして電圧分布曲線３０４は、デジタル１を表わす。例えば、電圧分布曲線３０２により境界定めされる範囲内に入るメモリセルから読み取られた電圧は、デジタルデータ値０と解釈される。電圧スレッシュホールドを使用して分布曲線３０２及び３０４の境界を決定することができる。例えば、分布曲線３０２は、低電圧スレッシュホールド（分布曲線３０２の最小電圧を定義する）と、高電圧スレッシュホールド（分布曲線３０２の最大電圧を定義する）とによって境界定めされる。
【００４８】
分布曲線３０２及び３０４間のエリアは、グレイスペース３０６として示されている。グレイスペース３０６内に入る電圧は、不確実なデータ値を有するものとして解釈され、エラー修正コード（ＥＣＣ）を使用する等の種々の技術を使用して正しいデータ値を決定することができる。
【００４９】
図３Ａに示す規範的メモリセルに記憶される電圧は、メモリセルの温度の変動に応答してドリフト（変化）する。電圧分布曲線３０８及び３１０は、各々、電圧分布曲線３０２及び３０４に対応する規範的な電圧ドリフトを示す。例えば、分布曲線３０４内に元々入る電圧値がメモリセルの温度変化（例えば、温度上昇、温度低下）に基づいて上方にドリフトし、それらの電圧値が今度は分布曲線３１０内に入っている。この例の電圧ドリフトは、ΔＶ0（３１２）及びΔＶ1（３１４）として示されている。電圧ドリフトは、メモリセルに記憶される電圧範囲にわたって均一及び／又は非均一である。この例では、電圧ドリフトは、非均一であるとして示され、即ちΔＶ1（３１４）は、ΔＶ0（３１２）より大きい。電圧分布曲線のシフトに加えて、この例のグレイスペース３０６は、グレイスペース’３１６へドリフトする。
【００５０】
温度に基づく電圧ドリフトに鑑み、分布曲線３０２及び３０４に対応する電圧スレッシュホールドが各々分布曲線３０８及び３１０に（スレッシュホールド余裕内で）対応するように調整されない場合には、この例のメモリセル内の記憶された電圧レベルは、誤って解釈される。例えば、記憶された電圧３１８が電圧３２０へとドリフトすることがあり、分布曲線３０２及び３０４を定義する電圧スレッシュホールドを使用すると、電圧３２０は、不確実なデータ値として解釈されることになる。この不確実性が、エラー修正のような種々の動作をトリガーし、これは、関連プロセッサ／マイクロプロセッサ（例えば、プロセッサ／マイクロプロセッサ３１６）からサイクルを消費する。しかしながら、本書に記載した技術を使用すると、プログラミング時の温度の知識、読み取り時の温度の知識、及び／又は電圧３１８がプログラムされたときの温度と電圧３２０を読み取るときの温度との比較で、分布曲線３０２及び３０４に対応する電圧スレッシュホールドを、各々、分布曲線３０８及び３１０に対応させるように調整することができる。
【００５１】
図３Ｂは、ＭＬＣモード（メモリセルごとに２つ以上のデータビットが記憶される）で動作するメモリセルの規範的なデジタルデータ値分布３５０を示す。この例では、メモリセルは、分布曲線３５２−３６２で示すように、４ビットのデータを記憶するように構成される。ＭＬＣモードでの電圧分布曲線３５２−３６２は、図３Ａに示すＳＬＣモードでの電圧分布曲線３０２−３０４より小さく、即ち少量の電圧ドリフトでは、データ値を誤って読み取ることがＳＬＣモードよりＭＬＣモードの方が起き易い。温度情報は、ＭＬＣモードとＳＬＣモードとの間をいつ切り換えるべきか決定するのに使用される。例えば、ＭＬＣモードにおいてメモリセルに対して大きな温度変化が検出され、そしてその温度変化を入力として取り込む対応温度アルゴリズム（例えば、温度アルゴリズム１３０）が、メモリセルに記憶された電圧がおそらく少なくともスレッシュホールド量だけドリフトすることを示す出力を発生する場合には、メモリセルがＭＬＣモードからＳＬＣモードへスイッチされる。
【００５２】
図４は、規範的なメモリ温度特性４０２−４０６を示すグラフ４００である。図１及びメモリ温度特性１３２に関して上述したように、メモリ温度特性４０２−４０６は、ＮＶＭの部分内、その周り及びその外部に配置された温度センサからの温度測定値に基づいてＮＶＭの部分（例えば、ＮＶＭダイ、ＮＶＭブロック、ＮＶＭページ）の温度を推定するのに使用される。
【００５３】
例えば、温度特性４０２は、ＮＶＭパッケージ１０４の一部分である温度センサ１４６に対応し、そしてＮＶＭ１３８ａ−ｎの温度、ＮＶＭ１３８ａ−ｎ間の異なる温度、又はブロック１４０及びページ１４２のようなＮＶＭ１３８ａ−ｎの種々のサブユニットの異なる温度を、温度センサ１４６からの温度測定値に基づいて推測するのに使用される。
【００５４】
温度特性４０２−４０６は、種々の温度センサ測定値とＮＶＭ温度を相関させる経験的な証拠を分析する等の種々の技術を通して開発される。各ＮＶＭ１３８ａ−ｎの振舞いは、プログラミング時の温度、読み取り時の温度、及び／又はプログラミング時と読み取り時との間の温度差に基づいてデータを解釈するのに使用される温度アルゴリズムによってモデリングされるか又は表現される仕方で、測定温度又は推定温度に基づいて変化する。
【００５５】
図５は、温度情報に基づいてメモリ装置からデータを読み取るための規範的なプロセス５００を示すフローチャートである。このプロセス５００は、図１を参照して上述したＮＶＭパッケージ１０４のような種々のメモリ装置、及び／又はホストコントローラ１０２、及び／又は図２を参照して上述したメモリ装置２０２によって遂行される。
【００５６】
５０２において、ＮＶＭからデータを読み取る要求が受け取られる。例えば、ホストコントローラ１０２は、ＮＶＭ１３８ａ−ｎからデータを読み取るためのコマンドを、ホスト通信チャンネル１１０を経てＮＶＭパッケージ１０４へ送信する。そのようなコマンドは、ＮＶＭ１３８ａ−ｎから読み取るべき１つ以上の論理的アドレスを含み、ＮＶＭパッケージ１０４がそれをＮＶＭ１３８ａ−ｎの対応する物理的アドレスへ変換する。
【００５７】
その要求を受け取るのに応答して、５０４において、その要求されたデータ及びＮＶＭに関連した記憶された温度情報が検索される。図１を参照して述べたように、記憶された温度情報は、ＮＶＭの部分にデータが最も最近書き込まれたとき又はほぼそのときのＮＶＭの１つ以上の部分（例えば、ダイ、ブロック、ページ、メモリセル）の温度を示すメタデータである。例えば、メモリコントローラ１１４は、温度情報１２８から、要求されたデータを記憶するＮＶＭの部分に関連した温度情報を検索する。
【００５８】
５０６において、ＮＶＭの現在温度情報が１つ以上の温度センサから受け取られる。例えば、要求されたデータがＮＶＭ１３８ａに記憶された場合には、ＮＶＭ１３８ａ内又はその周りに配置された温度センサ１４４ａから温度測定値を得ることができる。別の例では、ＮＶＭパッケージ１０４の一部分である温度センサ１４８及び／又は周囲温度センサ１０８のような他の温度センサから温度測定値を得ることができる。温度測定値は、メモリ温度特性（例えば、メモリ温度特性１３２）に関連して使用され、これは、種々の温度センサの温度測定値をＮＶＭの部分の温度値へマップし、受け取られた温度測定値からＮＶＭの現在温度を決定する。
【００５９】
５０８において、ＮＶＭに記憶された電圧レベルを解釈するのに使用される電圧スレッシュホールドは、記憶された温度情報及び現在温度情報に基づいて調整される。そのような調整は、温度変化をＮＶＭの電圧ドリフトへマップする１つ以上の温度アルゴリズム（例えば、温度アルゴリズム１３０）を使用して行われる。
【００６０】
例えば、図３Ａを参照すれば、メモリセルは、それが第１の温度にある間にデータ値０（電圧分布３０２及び３０４を使用して解釈される）に対応する電圧レベル３１８へ荷電される。メモリセルの温度が変化するとき、その記憶された電圧レベル３１８は、アップ方向又はダウン方向にドリフトする。図３Ａの例に示すように、温度の変化は、電圧３１８を、グレイスペース３０６の電圧３２０へドリフトさせる（電圧分布３０２及び３０４を使用するとき）。１つ以上の温度アルゴリズムは、メモリセルの温度変化とメモリセル内の電圧ドリフトとの間の相関関係を使用して、電圧分布３０２及び３０４に対する電圧スレッシュホールドをどのように調整するか決定し、メモリセル内に記憶されたデータ値を適切に解釈できるようにする。そのようなアルゴリズムをメモリセルの状態（例えば、プログラミング時の以前の温度、読み取り時の現在温度）に適用することに基づき、電圧スレッシュホールドを調整して電圧分布３０８及び３１０を生じさせる。そのような温度アルゴリズムは、プログラミング時のメモリセルの温度、読み取り時のメモリセルの温度、２つの温度間の差、メモリセルのウェア（例えば、プログラム、消去及び読み取りされた回数）、メモリセルの形式（例えば、ＮＯＲフラッシュメモリセル、ＮＡＮＤフラッシュメモリセル）、及び／又はセルに関連した以前のエラー、等の種々の情報を入力として取り込む。
【００６１】
５１０において、要求されたデータは、調整された電圧スレッシュホールドを使用して読み取られる。例えば、図３Ａを参照すれば、調整された電圧スレッシュホールド（電圧分布３０８及び３１０の境界を定義する）を使用して、記憶された電圧３２０を読み取りそして解釈することができる。
【００６２】
５１２において、読み取られたデータに対して１つ以上のエラーチェック動作が行われる。例えば、ＮＶＭパッケージ１０４は、エラー修正エンジン１４８を使用して、読み取られたデータにエラーがあるかどうか決定する。データが正しく読み取られたと決定された場合には（５１４）、読み取られたデータは、５１６において、要求側エンティティにより使用され及び／又は要求側エンティティへ送られる。例えば、ホストコントローラ１０２がＮＶＭパッケージ１０４からデータを要求する場合には、正しく読み取られたデータがホストコントローラ１０２へ送られる。
【００６３】
データが正しく読み取られない場合には（５１４）、電圧スレッシュホールドを調整するのに使用される温度アルゴリズムが５２０において変更される（例えば、温度と電圧ドリフトとの間の関係を定義する係数を調整する異なるアルゴリズムに置き換えられる）。変更されたアルゴリズムでは、ＮＶＭの現在温度を得（５０６）、電圧スレッシュホールドを調整し（５０８）、調整されたスレッシュホールドを使用してデータを読み取り（５１０）、及び／又はエラーチェック動作を遂行する（５１２）という別の繰り返しを行うことができる。この繰り返しプロセスは、要求されたデータが５１４において正しく読み取られる（例えば、正しいというスレッシュホールド余裕内）まで、及び／又は５１８においてスレッシュホールド繰り返し数に到達するまで、続けられる。温度アルゴリズムに対するこのような繰り返し調整は、温度アルゴリズムを時間に伴う劣化のようなＮＶＭの変化に動的に適応させられるようにする。
【００６４】
記憶されたデータ値を正しく識別せずにスレッシュホールド繰り返し数に到達した場合には、５２２において、エラーが報告され及び／又はログされる。例えば、メモリコントローラ１１４は、そのようなエラーを、ＮＶＭ１３８ａ−ｎの１つ以上の部分に関連したメタデータ１２６の部分としてログする。別の例では、データに対するホストコントローラ１０２からの要求に応答してホストコントローラ１０２へ読み取りエラーが送られる。
【００６５】
図６は、温度情報に基づいてメモリ装置へデータを書き込むための規範的なプロセス６００を示すフローチャートである。このプロセス６００は、図１を参照して上述したＮＶＭパッケージ１０４のような種々のメモリ装置、及び／又はホストコントローラ１０２、及び／又は図２を参照して上述したメモリ装置２０２によって遂行される。
【００６６】
６０２において、ＮＶＭにデータを書き込む要求が受け取られる。例えば、ホストコントローラ１０２は、ホスト通信チャンネル１１０を経てＮＶＭパッケージ１０４へ書き込みコマンドを送信する。
【００６７】
６０４において、要求されたデータが書き込まれるＮＶＭに関連した温度情報が得られる。例えば、ＮＶＭ１３８ａに充分に利用できる記憶容量があることがメモリコントローラ１１４で決定されると、ＮＶＭ１３８ａに関連した温度情報が得られる。例えば、ＮＶＭパッケージ１０４の温度センサ１４６と同様に、温度センサ１４４ａ及び／又は他の温度センサから温度測定値が受け取られる。
【００６８】
６０６において、得られた温度情報に基づいて要求された書き込み動作を調整すべきかどうかについて決定がなされる。書き込み動作に対して種々の調整が行われる。例えば、データ値に対応する電圧分布を定義するのに使用される電圧スレッシュホールドを、得られた温度情報に基づいて調整することができる。図５及びステップ５０８に関して上述した調整と同様に、１つ以上の温度アルゴリズムを使用して、電圧スレッシュホールドに対する調整を決定する。
【００６９】
別の例では、得られた温度情報がスレッシュホールドレベルを越える（又はスレッシュホールドレベル未満である）場合には、ＮＶＭの複数の位置にデータを冗長に書き込むことができる。例えば、ＮＶＭの温度がＮＶＭのプログラミングを潜在的に不正確なものにするほど高い場合には、ＮＶＭの複数の位置にデータを冗長に書き込んで、１つ以上の位置が正確にプログラムされる見込みを改善することができる。
【００７０】
更に別の例において、データは、得られた温度に基づきＳＬＣモード又はＭＬＣモードで書き込まれる。例えば、それを越えるとＭＬＣモードの信頼性が低くなるところのスレッシュホールドレベルをＮＶＭの温度が越えた場合には、データがＳＬＣモードで書き込まれる。対照的に、ＮＶＭの温度がスレッシュホールドレベルより低くて、ＭＬＣのプログラミングが充分信頼できる場合には、データがＭＬＣモードで書き込まれる。
【００７１】
別の例では、データが書き込まれるＮＶＭの温度がスレッシュホールドレベルより降下し及び／又はそれより上昇するまで、要求されたデータのプログラミングを遅らせることができる。例えば、ＮＶＭの温度が高くて、データがおそらく正確にプログラムされない場合には、温度がスレッシュホールドレベルより下がって、プログラミングの精度が受け容れられるレベルに改善するまで、書き込み動作が遅延される。更に別の例では、電流及び／又はタイミングのような種々のプログラミングパラメータを調整することで、要求されたデータのプログラミングを変更することができる。
【００７２】
６０８において、要求されたデータは、調整された書き込み動作を使用してＮＶＭに書き込まれる。６１０において、プログラミング時のＮＶＭの温度情報が記憶される。そのような記憶された温度情報は、図５を参照して上述したように、後で検索されて、プログラムされたメモリセルからデータを読み取るのに使用される。
【００７３】
本書に述べる要旨及び動作の実施形態は、本書に開示された構造体及びそれらの構造上の等効物を含めて、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア又はハードウェアにおいて、或いはそれらの１つ以上の組み合わせにおいて、具現化することができる。本書に述べる要旨の実施形態は、データ処理装置によって実行するために又はデータ処理装置の動作をコントロールするためにコンピュータ記憶媒体にエンコードされた１つ以上のコンピュータプログラム、即ちコンピュータプログラムインストラクションの１つ以上のモジュール、として具現化することができる。それとは別に又はそれに加えて、プログラムインストラクションは、人為的に発生される伝播信号、例えば、データ処理装置により実行するために適当な受信装置へ送信される情報をエンコードするべく発生されるマシン発生型の電気的、光学的、又は電磁的信号においてエンコードされる。コンピュータ記憶媒体は、コンピュータ読み取り可能な記憶装置、コンピュータ読み取り可能な記憶基板、ランダム又はシリアルアクセスメモリアレイ又は装置、或いはその１つ以上の組み合わせでもよいし、又はそれらに含まれてもよい。更に、コンピュータ記憶媒体は、伝播信号ではないが、コンピュータ記憶媒体は、人為的に発生される伝播信号にエンコードされるコンピュータプログラムインストラクションのソース又は行先である。又、コンピュータ記憶媒体は、１つ以上の個別の物理的コンポーネント又は媒体（例えば、複数のＣＤ、ディスク、又は他の記憶装置）でもよいし、又はそれらに含まれてもよい。
【００７４】
本書に述べる動作は、１つ以上のコンピュータ読み取り可能な記憶装置に記憶されるか或いは他のソースから受け取られるデータに対してデータ処理装置により遂行される動作として具現化することができる。
【００７５】
「データ処理装置」という語は、例えば、プログラム可能なプロセッサ、コンピュータ、システムオンチップ、複数のそれらの要素又はその組み合わせを含めて、データを処理する全ての種類の装置、デバイス、及びマシンを包含する。装置は、特殊目的の論理回路、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（特定用途向け集積回路）を含む。又、装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットホームランタイム環境、バーチャルマシン、又はそれらの１つ以上の組み合わせを構成するコードも含む。装置及び実行環境は、ウェブサービス、分散型コンピューティング及びグリッドコンピューティングインフラストラクチャーのような種々の異なるコンピューティングモデルインフラストラクチャーを実現することができる。
【００７６】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト又はコードとしても知られている）は、コンパイル型又は解釈型言語、宣言型又は手続き型言語を含む任意の形式のプログラミング言語で書かれ、そしてスタンドアローンプログラム、又はコンピューティング環境に使用するのに適したモジュール、コンポーネント、サブルーチン、オブジェクト又は他のユニットを含めて、任意の形態で展開される。コンピュータプログラムは、ファイルシステムのファイルに対応するが、そうでなくてもよい。プログラムは、他のプログラム又はデータ（例えば、マークアップ言語ドキュメントに記憶された１つ以上のスクリプト）を保持するファイルの一部分、当該プログラム専用の単一ファイル、又は複数の整合されたファイル（例えば、１つ以上のモジュール、サブプログラム、又はコードの部分を記憶するファイル）に記憶される。コンピュータプログラムは、１つのコンピュータにおいて実行されるか、又は１つのサイトに配置され又は複数のサイトにわたって分散されて通信ネットワークにより相互接続された複数のコンピュータにおいて実行されるように展開される。
【００７７】
本書に述べるプロセス及び論理フローは、入力データに作用して出力を発生することによりアクションを遂行するように１つ以上のコンピュータプログラムを実行する１つ以上のプログラム可能なプロセッサにより遂行される。又、プロセス及び論理フローは、特殊目的の論理回路、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（特定用途向け集積回路）により遂行され、そして装置もそのような論理回路として具現化される。
【００７８】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用及び特殊目的の両マイクロプロセッサと、任意の種類のデジタルコンピュータの１つ以上のプロセッサとを含む。一般的に、プロセッサは、リードオンリメモリ又はランダムアクセスメモリ又はその両方からインストラクション及びデータを受け取る。コンピュータの本質的な要素は、インストラクションに基づいてアクションを遂行するプロセッサと、インストラクション及びデータを記憶する１つ以上のメモリ装置である。一般的に、コンピュータは、データを記憶するための１つ以上の大量記憶装置、例えば、磁気ディスク、磁気光学ディスク、又は光学ディスクを備え、或いはそこからデータを受け取又はそこへデータを転送し又はその両方を行うように作動的に結合される。しかしながら、コンピュータは、そのような装置をもたなくてもよい。更に、コンピュータは、別の装置、例えば、幾つか挙げると、移動電話、パーソナルデジタルアシスタント（ＰＤＡ）、移動オーディオ又はビデオプレーヤ、ゲームコンソール、グローバルポジショニングシステム（ＧＰＳ）受信器、又はポータブル記憶装置（例えば、ユニバーサルシリアルバス（ＵＳＢ）フラッシュドライブ）に埋め込まれる。コンピュータプログラムインストラクション及びデータを記憶するのに適した装置は、例えば、半導体メモリ装置、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ装置を含む全ての形態の不揮発性メモリ、媒体及びメモリ装置；磁気ディスク、例えば、内部ハードディスク又は取り外し可能なディスク；磁気光学ディスク；及びＣＤ  ＲＯＭ、ＤＶＤ−ＲＯＭディスクを含む。プロセッサ及びメモリは、特殊目的の論理回路により補足され、又はそれに合体される。
【００７９】
同様に、動作は、特定の順序で図面に示されたが、そのような動作を図示された特定の順序又は順次の順序で遂行すること、又は図示された全ての動作を遂行して希望の結果を得ることが要求されると理解してはならない。ある状況では、マルチタスク及び並列処理が効果的である。更に、上述した実施形態における種々のシステムコンポーネントの分離は、そのような分離が全ての実施形態に要求されるものと理解してはならず、且つ上述したプログラムコンポーネント及びシステムは、一般的に、単一のソフトウェア製品に一緒に一体化でき又は複数のソフトウェア製品へとパッケージできることを理解されたい。
【００８０】
従って、本発明の要旨の特定の実施形態が説明された。他の実施形態も、特許請求の範囲内に包含される。更に、温度情報を使用してメモリ動作を遂行するための他のメカニズムが使用されてもよい。あるケースでは、特許請求の範囲に記載された動作は、異なる順序で遂行されても、依然、希望の結果を達成することができる。更に、添付図面に示すプロセスは、必ずしも、望ましい結果を達成するために、図示された特定の順序又は順次の順序を要求するものではない。ある具現化においては、マルチタスク及び並列処理が効果的である。
【符号の説明】
【００８１】
１００：規範的なシステム
１０２：ホストコントローラ
１０４：ＮＶＭパッケージ
１０６：温度センサ
１０８：周囲温度センサ
１１２：ホストインターフェイス
１１４：メモリコントローラ
１１６：プロセッサ／マイクロプロセッサ
１１８：温度センサ
１２０：揮発性メモリ
１２２：不揮発性メモリ（ＮＶＭ）
１２４：インストラクション
１２６：メタデータ
１２８：温度情報
１３０：温度アルゴリズム
１３２：メモリ温度特性
１３６ａ−ｎ：メモリダイ
１３８ａ−ｎ：ＮＶＭ
１４０：ブロック
１４２：ページ
１４４ａ−ｎ：温度センサ
１４６：温度センサ
１４８：エラー修正エンジン
２００：システム
２０２：メモリ装置
２０４：ホストコンピュータ
２０６：不揮発性メモリ
２０８：プロセッサ
２１０：揮発性メモリ
２１１：温度センサ
２１２ａ、ｂ：装置パッケージ
２１３：周囲温度センサ
２１４：外部装置
２１６：外部装置インターフェイス
【図１】
2014509769.tif 000003
【図２】
2014509769.tif 000004
【図３Ａ】
2014509769.tif 000005
【図３Ｂ】
2014509769.tif 000006
【図４】
2014509769.tif 000007
【図５】
2014509769.tif 000008
【図６】
2014509769.tif 000009
【手続補正書】
【提出日】平成25年11月1日(2013.11.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリ動作を実行する方法において、
１つ以上の不揮発性メモリセルからデータを読み取る要求をメモリ装置で受信する段階と、
不揮発性メモリセルに関連した記憶された温度情報を検索する段階であって、前記温度情報は、おおよそ、不揮発性メモリセルにデータが書き込まれたときの温度に関連したものである段階と、
不揮発性メモリセルからデータをメモリ装置によって読み取る段階と、
少なくとも前記検索された温度情報に基づいて前記読み取られたデータを処理する段階と、
前記処理されたデータを与える段階と、
を備えた方法。
【請求項２】
検索された温度情報に基づいて不揮発性メモリセルから読み取られたデータを処理する前記段階は、前記検索された温度情報に基づいて不揮発性メモリセルに記憶されたデータを解釈するのに使用される１つ以上の電圧スレッシュホールドを調整することを含む、請求項１に記載の方法。
【請求項３】
前記電圧スレッシュホールドは、温度に基づいて不揮発性メモリセルの電圧ドリフトをマップするアルゴリズムを使用して調整される、請求項２に記載の方法。
【請求項４】
前記不揮発性メモリセルから読み取られたデータに対してエラーチェック動作を遂行する段階と、
前記エラーチェック動作に基づいて、電圧スレッシュホールドに対する調整でデータの受け容れられる解釈が生じたかどうか決定する段階と、
前記調整で正しく解釈されるデータが生じたかどうかの決定に基づいて前記アルゴリズムを更新する段階と、
を更に備えた請求項３に記載の方法。
【請求項５】
メモリ動作を実行する方法において、
１つ以上の不揮発性メモリセルにデータを書き込む要求をメモリ装置において受信する段階と、
不揮発性メモリセルに関連した現在温度を指示する温度情報を１つ以上の温度センサからメモリ装置により得る段階と、
温度情報に基づいて書き込み動作に対して行う調整を決定する段階と、
温度情報に基づいて書き込み動作に対して決定された調整を使用して不揮発性メモリセルへデータを書き込む段階と、
を備えた方法。
【請求項６】
前記書き込み動作に対する調整は、前記不揮発性メモリセルに記憶されたデータ値の表現を定義する１つ以上の電圧スレッシュホールドに対する調整を含む、請求項５に記載の方法。
【請求項７】
前記電圧スレッシュホールドに対する調整は、前記不揮発性メモリセルに関連した現在温度に基づいて前記不揮発性メモリセルの電圧ドリフトをマップするアルゴリズムを使用して決定される、請求項６に記載の方法。
【請求項８】
前記書き込み動作に対する調整は、前記温度情報により指示された現在温度がスレッシュホールドレベルを越えたときにデータを冗長に書き込むことを含む、請求項５に記載の方法。
【請求項９】
前記書き込み動作に対する調整は、前記書き込み動作を、（ｉ）メモリセル当たり２ビット以上のデータを書き込むことから、メモリセル当たり１ビットのデータを書き込むことへ、或いは（ii）メモリセル当たり１ビットのデータを書き込むことから、メモリセル当たり２ビット以上のデータを書き込むことへ、切り換えることを含む、請求項５に記載の方法。
【請求項１０】
前記書き込み動作は、その書き込み動作が現在温度におけるスレッシュホールド精度レベルより低いと決定されたときに、メモリセル当たり２ビット以上のデータを書き込むことから、メモリセル当たり１ビットのデータを書き込むことへ切り換えられる、請求項９に記載の方法。
【請求項１１】
前記書き込み動作に対する調整は、現在温度が期間にわたって少なくともスレッシュホールド量だけ変化するまで書き込み動作の遂行を待機することを含む、請求項５に記載の方法。
【請求項１２】
１つ以上の不揮発性メモリセルと、
その不揮発性メモリセルに関連した温度測定値を与えるように構成された１つ以上の温度センサと、
不揮発性メモリセルに対してメモリ動作を遂行するように構成されたコントローラと、
を備え、前記メモリ動作は、温度センサにより与えられる温度測定値に基づいて調整される、メモリ装置。
【請求項１３】
メモリセルの少なくとも一部分からデータを読み取るためのメモリ動作に対して、前記コントローラは、不揮発性メモリセルの一部分にデータがプログラムされたときの不揮発性メモリセルの一部分に関連した温度を示す温度情報を検索するように構成され、
不揮発性メモリセルの一部分から読み取られたデータを解釈するために前記コントローラにより使用される１つ以上の電圧スレッシュホールドは、前記検索された温度情報に基づいて調整される、請求項１２に記載のメモリ装置。
【請求項１４】
前記不揮発性メモリセルの一部分に関連して温度情報を記憶する不揮発性メモリを更に備えた、請求項１３に記載のメモリ装置。
【請求項１５】
不揮発性メモリセル少なくとも一部分にデータを書き込むための動作に対して、前記コントローラは、不揮発性メモリセルの一部分に関連した現在温度測定値を得、そしてその現在温度測定値に基づき書き込み動作を調整するように構成された、請求項１２に記載のメモリ装置。
【請求項１６】
前記書き込み動作を調整することは、次のこと、即ち、
不揮発性メモリセルに記憶されたデータ値の表現を定義する１つ以上の電圧スレッシュホールドを調整すること、
現在温度測定値がスレッシュホールドレベルを越えたときにデータを冗長に書き込みすること、
書き込み動作を、メモリセル当たり２ビット以上のデータを書き込むことから、メモリセル当たり１ビットのデータを書き込むことへ切り換えること、
書き込み動作を、メモリセル当たり１ビットのデータを書き込むことから、メモリセル当たり２ビット以上のデータを書き込むことへ切り換えること、又は
現在温度の測定値が期間にわたって少なくともスレッシュホールド量だけ変化するまで書き込み動作の遂行を待機すること、
の１つ以上を含む、請求項１５に記載のメモリ装置。
【請求項１７】
１つ以上の不揮発性メモリセルと、
前記不揮発性メモリセルに関連した温度測定値を与えるように構成された１つ以上の温度センサと、
前記不揮発性メモリセルに対してメモリ動作を遂行するように構成されたコントローラと、
を備え、前記メモリ動作は、前記温度センサにより与えられる温度測定値に基づいて調整される、システム。
【請求項１８】
メモリセルの少なくとも一部分からデータを読み取るためのメモリ動作に対して、前記コントローラは、不揮発性メモリセルの一部分にデータがプログラムされたときの不揮発性メモリセルの一部分に関連した温度を示す温度情報を検索するように構成され、
不揮発性メモリセルの一部分から読み取られたデータを解釈するために前記コントローラにより使用される１つ以上の電圧スレッシュホールドは、前記検索された温度情報に基づいて調整される、請求項１７に記載のシステム。
【請求項１９】
前記不揮発性メモリセルの一部分に関連して温度情報を記憶する不揮発性メモリを更に備えた、請求項１８に記載のシステム。
【請求項２０】
不揮発性メモリセル少なくとも一部分にデータを書き込むための動作に対して、前記コントローラは、不揮発性メモリセルの一部分に関連した現在温度測定値を得、そしてその現在温度測定値に基づき書き込み動作を調整するように構成された、請求項１７に記載のシステム。
【国際調査報告】
2014509769.tif 000010