(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-04
(45)【発行日】2022-04-12
(54)【発明の名称】不揮発性メモリのリフレッシュサイクルを制御する装置および方法
(51)【国際特許分類】
G11C 16/34 20060101AFI20220405BHJP
G06F 12/00 20060101ALI20220405BHJP
【FI】
G11C16/34 163
G06F12/00 550Z
G06F12/00 597U
(21)【出願番号】P 2019511897
(86)(22)【出願日】2017-08-30
(86)【国際出願番号】 EP2017071749
(87)【国際公開番号】W WO2018041885
(87)【国際公開日】2018-03-08
【審査請求日】2020-07-06
(32)【優先日】2016-09-01
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】311015001
【氏名又は名称】コミサリヤ・ア・レネルジ・アトミク・エ・オ・エネルジ・アルテルナテイブ
(74)【代理人】
【識別番号】110001173
【氏名又は名称】特許業務法人川口國際特許事務所
(72)【発明者】
【氏名】ゲルマン,バランタン
(72)【発明者】
【氏名】セフ,マルセリノ
【審査官】堀田 和義
(56)【参考文献】
【文献】米国特許第09165668(US,B1)
【文献】特開2014-216041(JP,A)
【文献】特開2010-165039(JP,A)
【文献】特開2000-11670(JP,A)
【文献】米国特許出願公開第2015/0186071(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 16/34
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
不揮発性メモリに保存されているデータをリフレッシュするリフレッシュサイクルを制御する装置であって、
-複数のメモリブロックを含んでいる少なくとも1個の不揮発性メモリの温度を測定すると共に、測定された温度を表す値を提供する温度センサと、
-前記温度センサに結合されていて、
-前記測定された温度を表す値を、前記少なくとも1個の不揮発性メモリの保持期間に及ぼす前記温度の影響に比例する値に変換する符号化器と、
-前記符号化器および1個の状態レジスタに結合されていて、前記符号化器の出力値および前記状態レジスタの状態値を入力として受信する加算器であって、前記状態レジスタが、前記状態レジスタに保存されている状態値が保持期間/n(nは2以上の整数)だけ増える毎に警報信号を生成すべく構成されている加算器とを含む制御モジュールと、
-制御モジュールに結合されていて、前記警報信号を受信して、前記少なくとも1個の不揮発性メモリの各メモリブロックについて、前記メモリブロックに対してデータリフレッシュサイクルを実行すべきか否かを、前記メモリブロックの残存保持期間の関数として決定するマイクロコントローラとを含む装置。
【請求項2】
前記制御モジュールが、
-前記保持期間の温度の関数としての変化のモデリングを表す値を保存するレジスタのバンクと、
-前記レジスタのバンクに結合されていて、前記レジスタのバンクの1個のレジスタを、前記温度センサから提供される温度情報の項目の関数として選択して、前記レジスタに保存されている値を提供するマルチプレクサと、
-前記マルチプレクサおよび1個の状態レジスタに結合されていて、前記マルチプレクサからの出力値および前記状態レジスタの状態値を入力として受信する加算器であって、前記状態レジスタが、前記状態レジスタに保存されている状態値が保持期間/n(nは2以上の整数)だけ増える毎に警報信号を生成すべく構成されている加算器とを含んでいる、請求項1に記載の装置。
【請求項3】
前記残存保持期間が、前記
メモリブロックに対して実行されるプログラミング/消去サイクルの回数の関数として計算される、請求項1または2に記載の装置。
【請求項4】
前記保持期間の温度の関数としての変化のモデリングがアレニウス則に基づいている、請求項1~3のいずれか1項に記載の装置。
【請求項5】
前記温度センサがアナログ/デジタルコンバータに結合されていて、前記温度情報の項目がアナログ/デジタルコンバータから提供される数値である、請求項
2に記載の装置。
【請求項6】
前記アナログ/デジタルコンバータが、「温度計」符号の形式で数値を提供すべく構成されたコンバータである、請求項5に記載の装置。
【請求項7】
前記制御モジュールが更にクロック生成器を含んでいる、請求項1~6のいずれか1項に記載の装置。
【請求項8】
前記クロック生成器が、前記状態レジスタに保存されている値の更新を調整すべく前記状態レジスタに結合されている、請求項7に記載の装置。
【請求項9】
マイクロコントローラおよび複数の不揮発性メモリを含んでいるSSDディス
クであって、前記複数の不揮発性メモリのデータリフレッシュサイクルを制御すべく請求項1~8のいずれか1項に記載の少なくとも1個の装置を更に含んでいるSSDディス
ク。
【請求項10】
マイクロコントローラおよび複数の不揮発性メモリを含んでいるメモリカードであって、前記複数の不揮発性メモリのデータリフレッシュサイクルを制御すべく請求項1~8のいずれか1項に記載の少なくとも1個の装置を更に含んでいるメモリカード。
【請求項11】
前記少なくとも1個の不揮発性メモリがフラッシュメモリである、請求項1~
10のいずれか1項に記載の装置。
【請求項12】
不揮発性メモリに保存されているデータをリフレッシュするリフレッシュサイクルを制御する方法であって、
-複数のメモリブロックを含んでいる少なくとも1個の不揮発性メモリの温度を測定すると共に、測定された温度を表す値を提供するステップと、
-前記測定された温度を表す値を、データ保持期間に及ぼす温度の影響のモデリングと共に用いて、前記測定された温度を表す値を、前記少なくとも1個の不揮発性メモリの保持期間に及ぼす温度の影響に比例する値に変換するステップと、
-前記少なくとも1個の不揮発性メモリの保持期間に及ぼす温度の影響に比例する前記値を、状態レジスタの状態値に加算するステップと、
-加算した結果生じた状態値が保持期間/n(nは2以上の整数)だけ増大したか否かを判定するステップと、
-判定結果が肯定的な場合、データの消失が切迫していることを警告する警報信号を生成するステップを含む方法。
【請求項13】
前記警報信号の生成後に、
-前記少なくとも1個の不揮発性メモリの各ブロックの残存保持期間を評価するステップと、
-前記残存保持期間が所定の閾値を下回る場合、前記少なくとも1個の不揮発性メモリの各ブロック内のデータのリフレッシュ動作を実行するステップを更に含んでいる、請求項
12に記載の方法。
【請求項14】
マイクロプロセッサ上でプログラムが実行されたならば請求項
12または
13に記載の方法のステップを実行する符号命令を含むプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリの分野に関し、特に不揮発性メモリに保存されたデータの保持期間およびリフレッシュサイクルに関する。
【背景技術】
【0002】
フラッシュメモリは、保存されたデータが電力遮断時に消失しない書き換え可能な不揮発性メモリ(MNV)である。この種のメモリは、その高速性、寿命および低電力消費により、例えばデジタル静止画カメラ、携帯電話、プリンタ、携帯情報端末(PDA)、ラップトップコンピュータ、または携帯音楽プレーヤー等の音声再生/録音装置、USBキーにおける様々な用途に魅力的である。
【0003】
英語で「ハードディスクドライブ(Hard-Disk Drive)」を意味する(HDD)ディスクの名で知られる従来のハードディスクを代替することを目的とする、英語で「ソリッドステートドライブ(Solid-State Drive)」を意味する(SSD)ディスクの名で知られる電子ディスクは静的記憶装置である。いくつかのSSDは、1メモリセル当たり2ビットを保存する英語で「マルチレベルセル(Multi Level Cell)」を意味する(MLC)型のフラッシュメモリ、または1メモリセル当たり3ビットを保存する英語で「トリプルレベルセル(Triple Level Cell)」を意味する(TLC)型のフラッシュメモリを、1メモリセル当たり1ビットを保存する英語で「シングルレベルセル(Single Level Cell)」を意味する(SLC)型のフラッシュメモリの代わりに用いる。1セル当たりのビット数を増大させることが、性能、消費、および耐衝撃性の観点からHDDに対するSSDの優位性を利用すべく、SSDとハードディスクHDDとの間における1ギガバイト(GB)当たりの価格差を縮める手段の一つである。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、フラッシュメモリの弱点の一つは、メモリセルに保存されたデータの保持期間、すなわちデータの最長保持期間に対応する時間が、メモリ内で上昇する温度の影響を受ける点である。この現象は、1セル当たり複数のビットが保存されている場合に顕著になる。特定のMLCメモリの最長保証保持期間は40℃で2ヶ月である。当該期間は、温度上昇に伴い保持期間が指数関数的に増大すると予測するアレニウス則を適用すれば70℃で2日間の保持期間に相当する。しかし、データセンター等の温度が制御された環境下であっても相当の動作負荷を伴うSSDがそのような温度に達することあり得る。
【0005】
保持期間が短くなる影響を軽減すべく、データを周期的にリフレッシュすることが知られている。このリフレッシュ動作は、固定位置リフレッシュ動作と称する、メモリセルのフローティングゲートで不足している電荷量だけを注入することにより、データの保存場所を変更せずに実行するか、または代替的に、再プログラミングによりデータを異なるアドレスに再書き込みすることによりリフレッシュ動作を行うことができる。固定位置リフレッシュ動作は、エネルギー消費および応答速度に及ぼす影響が少ない点が特徴的であり、実質的に、P/Eサイクルの持続時間に一切影響を及ぼさない。
【0006】
一般に保証プログラミング/消去(P/E)サイクルの回数として測定されるフラッシュメモリの耐久性は、メモリセルに保存されるビットが追加される毎に平均10年分低下する。この影響は、保証P/Eサイクルの回数の上限を緩めることにより緩和できるが、これは保証保持期間を犠牲にして実現される。
【0007】
フラッシュメモリの耐久性と保持期間とは相互依存しているため、データの周期的リフレッシュを利用する解決策はメモリの耐久性の向上にも用いることができる。これは、フラッシュメモリにおいて可能なP/Eサイクルの最大回数を増やす一方で、周期的リフレッシュ動作により、この増加の影響を緩和することにより実現できる。
【0008】
依然として残る短所として、頻度が一定のリフレッシュ動作には、環境条件の変化および/またはメモリの動作負荷に起因する温度変化の下で、応答待ち時間、エネルギー消費、および利用可能なP/Eサイクルの回数の観点から顕著な不都合が伴う場合がある。
【0009】
従って、公知の方式の短所を軽減する解決策に対するニーズが存在する。本発明は、このニーズに対応するものである。
【課題を解決するための手段】
【0010】
本発明の目的の一つは、不揮発性メモリの保持期間に及ぼす温度の影響の変化を追跡する装置を提案することである。
【0011】
本発明の別の目的は、保持期間に及ぼす温度の影響の変化に応じて不揮発性メモリのリフレッシュ頻度を適合させる装置を提案することである。
【0012】
本発明の装置は一般に、1個以上の不揮発性メモリの温度を測定する温度センサ、および測定された温度の変化のデータ保持期間に及ぼす影響を追跡する制御モジュールからなる。
【0013】
一実施形態において、本発明の装置は、データ消失が切迫していることを検出した際に警報を生成する手段を含んでいる。
【0014】
本発明の装置により、データのリフレッシュ動作を機械的かつ周期的にではなく、データ消失の切迫に関連して適切に起動することが可能になる。従って不揮発性メモリのリフレッシュサイクルの回数が大幅に減少する。
【0015】
本発明は、例えばデータセンターで用いられるSSD等、高温に晒される不揮発性メモリを集中的に使用する全ての環境において有利に適用できよう。
【0016】
求める結果を得るために、請求項に記載の装置および方法を提案する。
【0017】
本発明は、マイクロプロセッサ上でプログラムが実行されたならば請求項に記載の方法のステップを実行する符号命令を含むプログラム製品の形式で動作可能である。
【0018】
本発明の様々な態様および利点は、以下の図面を参照しながら、本発明の好適だが非限定的な実行モードの記述を精査することで明らかになろう。
【図面の簡単な説明】
【0019】
【
図1】本発明の装置を実装するホストSSDディスクまたはメモリカード通信システムのブロック図である。
【
図4】本発明の装置の動作モードに従い警報を生成する一連のステップを示す。
【
図5】データリフレッシュ動作を伴う、または伴わない、複数の警報信号の生成を時間軸上に示す。
【発明を実施するための形態】
【0020】
図1を参照するに、ホスト100とSSDディスクまたはメモリカード110との間の通信を司るシステムを模式的に示す。記述する例において、SSDディスク110は、複数のフラッシュメモリ112を含むものとして示す。一変型実装において、単一のフラッシュメモリがホストに接続されている。カード110は、ホストと接続するための接続インターフェースを含んでいる。当業者には公知の仕方で、このような外部カード(図示せず)用のインターフェースは、英語で「ユニバーサルシステムバス(Universal System Bus)」を意味する(USB)型の、または英語で「シリアルアドバンストテクノロジーアタッチメント(Serial Advanced Technology Attachment)」を意味する(SATA)型のコネクタであってよい。メモリカード110は従って、様々なプロトコル、例えばUSBまたはSATAプロトコル、またはホストのより特定のプロトコルに従いデータを交換すべくホスト100の対応するインターフェースにコネクタを介して接続することができる。一変型において、メモリカード110は、ホストが1個以上のメモリカードに対応すべく構成されているホストシステム内蔵カードであってよい。別の実装モードによれば、ホスト100およびメモリカード110は、英語で「ワイヤレスフィデリティ(Wireless Fidelity)」を意味する(Wi-Fi)プロトコルに従い無線通信およびデータ交換を行う。
【0021】
ホストは、メモリカード、SSDディスクを使用可能な、またはフラッシュメモリとデータ交換が可能な任意のシステムであってよい。従って、ホスト100は、非限定的に、タブレット、携帯電話、スマートフォンその他の携帯情報端末を含む据え置きまたは可搬パソコンであってよい。ホストはまた、サーバであってよく、1個以上のメモリカードまたはSSDディスクを収納する容器を含んでいる。
【0022】
SSDディスク110は、ホスト/メモリ通信インターフェースを介したフラッシュメモリ112とホスト100との間のデータおよび命令のやり取りを管理すると共にフラッシュメモリ内のデータを読み書きおよびリフレッシュ動作を管理する当業者には公知の要素を含む制御回路114を含んでいる。コントローラ114は、複数の通信バスまたはチャネル113を介してフラッシュメモリ112に結合されており、通信バスのうち1本は恐らく複数のフラッシュメモリに接続されている。フラッシュメモリ112は、SLCおよび/またはMLCおよび/またはTLC型のメモリであってよい。
【0023】
一実施形態において、制御回路114の要素の組は、英語で「特定用途向け集積回路(Application Specific Integrated Circuit)」を意味する(ASIC)等の専用モジュールとして実装することができる。
【0024】
本発明によれば、SSDディスク110は、フラッシュメモリの保持期間に及ぼすSSDディスク110の温度の影響を追跡すべく、以下で「A-タイマ」と称する少なくとも1個の装置116を含んでいる。
図1に記述する例において、A-タイマ装置116は各フラッシュメモリに関連付けられている。
【0025】
一変型実装において、単一のA-タイマ装置116には、同一の通信バスにより結合されていて内部温度が均一に分布しているフラッシュメモリの組に関連付けられていてよい。
【0026】
別の変型によれば、全てのフラッシュメモリに跨って温度が均一な場合、SSDディスク110は単一のA-タイマ装置116を含んでいてよい。
【0027】
一実装モードによれば、SSDディスク110に温度が異なる領域が存在する場合、各領域に位置するフラッシュメモリのグループに1個のA-タイマ装置116が割り当てられる。
【0028】
SSDディスクの領域分割は、ディスクに対して実行される事前温度測定に基づいて行われても、またはディスク110の以前のバージョンに適用された分割を参考にしてもよい。
【0029】
各A-タイマ装置116は、通信バス115を介して制御回路114と通信する。制御回路114は、A-タイマ装置の管理、および付随する1個以上のフラッシュメモリの各々とのやり取りを司る。
【0030】
図2に本発明のA-タイマ装置の第1の実施形態を示す。A-タイマ装置は、
-1個以上のフラッシュメモリの温度を測定する温度センサ210と、
-温度センサから提供された信号を数値に変換するアナログ/デジタルコンバータ(ADC)212と、
-ADCから提供された数値を、制御されたメモリの保持期間に及ぼす瞬間温度の影響に比例する数値に符号化する符号化器214と、
-符号化器により生成された数値を状態レジスタ218に保存されている値に加算する加算器216と、
-符号化器214により生成された値を時間経過に伴い加算器を介して累算して、状態レジスタに保存されている値が所定の閾値(219)を上回る量だけ増大した場合に警報信号220を生成する状態レジスタ218と、
-状態レジスタに保存されている値の更新タイミングを調整するクロック信号生成器222と、を含んでいる。
【0031】
一変型実装において、アナログ/デジタルコンバータ(ADC)212へ送られた信号を増幅すべく増幅器(図示せず)が温度センサの出力端に接続されている。
【0032】
温度センサ210は、自身が割り当てられたフラッシュメモリまたはフラッシュメモリのグループの温度を測定して、測定された温度に比例する電気信号を生成すべく構成されている。一変型によれば、温度センサは、アナログ/デジタルコンバータ212を含み、測定された温度を表す数値を出力として提供し、当該数値を加算器216または符号化器214が直接使用できる。
【0033】
符号化器214は、ADC212から提供された数値を、A-タイマ装置が監視するメモリの保持期間に及ぼす温度の影響に比例するように符号化すべく構成されている。
【0034】
別の実装変型において、アナログ/デジタルコンバータ(ADC)212は加算器216の入力を直接提供する。この場合、保持期間に及ぼす温度の影響に比例する数値に温度を変換するのはADC212である。
【0035】
一実装によれば、ADC212はフラッシュまたは並列変換器であって、以下の連鎖に従ういわゆる「温度計または単項」符号「000...0」、「100...0」、「110...0」、「111...0」、...、「111...1」の形式で数値を提供する。
【0036】
有利な特徴として、一実装によれば、符号化器214は、アレニウス則を表すモデルに記述されているように、フラッシュメモリの保持期間に及ぼす温度の影響と同様に指数関数的に増大する値を提供すべく温度計符号を変更するように適合されている。
【0037】
好適には、符号化器は、各状態に対して2進表現が一桁のみの値を用いて状態を表す、当分野で称する所のいわゆる「ワンホット」符号化を可能にする。
【0038】
従って、フラッシュADCの出力は、以下に例として与える表を参照して符号化され、ここにADCの出力のビット数は、用途に対応する温度区間で保持期間が二分割される回数に依存する。
【0039】
【0040】
本実装において、上述の配列に示す符号化器214から出力された値は、ADC212の対応する出力に値「1」を加算することにより得られる。本例では、符号化器214の出力は自身の入力よりも1ビット多く含んでいる。
【0041】
符号化器の出力は、状態レジスタ218に保存した最後の状態値を自身の入力として受信する加算器216の複数の入力のうちの1個となる。
【0042】
有利な特徴として、状態レジスタに保存されている値に周期的に加算された値が、フラッシュメモリの保持期間に及ぼす瞬間温度の影響に比例するため、状態レジスタの状態は保持期間に温度が及ぼす変化の全体的な影響に比例する。
【0043】
状態レジスタの状態は読み取られて、フラッシュメモリの各ブロックまたは各ページに関連付けられていて最後のプログラミング/消去(P/E)動作に対応する、当分野で称する所の時間ラベルすなわち「タイムスタンプ」として使用されてよい。メモリブロックのラベルは、当該ブロックに対する消去動作の後で第1のプログラミング中に保存される。
【0044】
状態レジスタ218は、状態レジスタに保存されている値が所定の閾値(219)を上回る量だけ増える毎に警報信号220を生成すべく適合されている。当該閾値は、複数のメモリブロックの最短保持期間、または当該時間の一部、例えば半分または三分の一に対応している。
【0045】
従って、状態レジスタ218による警報信号220の発信は、温度センサが監視するフラッシュメモリ内のデータ消失の切迫度を示している。
【0046】
警報信号は、対応する時間ラベルの関数として、各メモリブロックについてデータリフレッシュサイクルを実行すべきであるか否かを判定するSSDディスク110のマイクロコントローラ114へ渡される。
【0047】
一実施形態において、状態レジスタ218への保存は、2種類のメモリ技術、すなわちDRAMまたはSRAM型の第1の揮発性メモリ、およびEEPROMまたはフラッシュ型の第2の不揮発性メモリを同時に用いて実行することができる。
【0048】
状態レジスタ218の揮発性メモリは、A-タイマの動作中に周期的に更新される。システムが停止する毎に状態レジスタ218の揮発性メモリに保存されている値が不揮発性メモリへ転送され、システムが起動する毎に不揮発性メモリに保存されている値が揮発性メモリへ転送される。
【0049】
状態レジスタ218に保存されている値の更新タイミングはクロック生成器222により調整される。一実施形態において、クロック生成器222は、システムクロック信号により入力が駆動される周波数分割器として実装された低周波生成器である。一変型実装において、低周波生成器は、低周波発振器、例えばNE555型の回路等として実装されている。
【0050】
図3に、
図2に記述する本発明の装置の一変型実装を示しており、符号化器214がマルチプレクサ315に結合されたレジスタ314のバンクで代替されている。従って、
図3の装置は、アナログ/デジタルコンバータADC312に結合された温度センサ310、加算器316、状態レジスタ318、およびクロック生成器322を含んでいる。
【0051】
ADCの出力によりマルチプレクサ315が駆動されて、レジスタ314のバンクのレジスタ群の出力を入力として受信する。ADCから提供された値に従い、マルチプレクサはレジスタ314のバンクのレジスタ群の組から1個のレジスタを選択する。選択されたレジスタの値は加算器316へ入力として転送される。加算器はまた、状態レジスタに保存されている値を入力として受信する。
【0052】
状態レジスタ318は、状態レジスタに保存されている値が所定の閾値(319)を上回る量だけ増える毎に警報信号320を生成すべく適合されている。当該閾値は、監視された1個以上のメモリブロックの最短保持期間、または当該時間の一部、例えば半分または三分の一に対応している。
【0053】
従って、状態レジスタ318による警報信号320の発信は、温度センサが監視する1個以上のメモリ内のデータ消失の切迫度を示している。
【0054】
レジスタ314のバンクの各レジスタは、ADCの出力の関数として加算器へ転送可能な値を含んでいる。
図3の変型は、レジスタバンクのレジスタ群の値を変更可能にすることにより本発明の装置をプログラム可能にするものである。従って、有利な特徴として、レジスタ314のバンクの値の選択を通じて、本発明の装置を、温度の変化およびフラッシュメモリの保持期間に及ぼす影響を記述する他のモデル、例えば複数のアレニウス曲線の重ね合せにより構築されたモデルに容易に適合させることができる。
【0055】
有利な特徴として、本発明の装置は、抵抗メモリすなわちDRAMメモリ等の他の種類のメモリを監視すべく適合されていてよい。更に有利な特徴として、本発明の装置は、NAND型のMLCまたはTLCフラッシュメモリでも動作可能である。
【0056】
一実施形態によれば、レジスタ314のバンクは、2種類のメモリ技術、すなわちDRAMまたはSRAM型の揮発性メモリ技術、およびROM、EEPROMまたはフラッシュ型の不揮発性メモリ技術を同時に用いて実装することができる。動作モードにおいて、システムが起動する毎に所望の用途に応じてA-タイマ装置の動作に合わせて適合された値が、不揮発性メモリ域からレジスタのバンクの揮発性メモリ領域へ転送され、その後ADC312から提供された値に応じて選択されて加算器316へ送ることができる。
【0057】
A-タイマ装置のプログラム可能な別の変型において、ADCの読み取り、増分値の選択、状態レジスタへの値の加算の機能の組がマイクロプロセッサまたはマイクロコントローラにより実行される。マイクロプロセッサは、ADCの出力(または温度センサが数値を直接提供する場合はその出力)を周期的に読み取り、ADCの出力端での値の関数として増分値を選択して、当該増分値を状態レジスタに保存されている値に加算すべく適合されている。
【0058】
図4に、本発明の装置の動作モードに従い警報を生成する一連のステップ400を示す。方法400は、1個以上のメモリの温度を測定するステップ402から始まる。好適な実装において、1個以上のメモリがフラッシュメモリ型であり、温度測定は、SSDディスクまたはメモリカード110の1個以上のフラッシュメモリに割り当てられた温度センサにより行われる。後続ステップ(403~405)において、本方法によりデータ消失が切迫しているか否かを検出して、切迫していれば警報を生成し406、さもなければ最初に戻ることができる。
【0059】
データ消失が切迫していることを判定するステップは、本発明の装置の上述の実装の一つにより実行可能であり、測定された温度の値に基づいて、メモリの保持期間に瞬間温度が及ぼす影響に比例する値(AF)が決定されて(403)、状態レジスタに保存された最後の値(V)に加算(404)される。その結果得られた値(V’)はその後閾値(Th)と比較(405)されて、データ消失が切迫しているか否かを示す。結果的に得られた値が閾値を下回っていればデータ消失が切迫していないことが示され、本方法は最初に戻る。結果的に得られた値が閾値よりも大きい場合、監視対象の1個以上のメモリの1個においてデータ消失が切迫していることを示しており、本方法により警報を生成して、監視対象の1個以上のメモリブロックの最短保持期間(または当該時間の一部)に対応する値だけ閾値Thを増分することにより閾値Thを更新することが可能になる(406)。本方法は、新たなサイクルへ戻ることができる。
【0060】
警報信号を発信することで、本方法により注目する1個以上のメモリ内の各メモリブロックの残存保持期間の評価が可能になる。一実施形態によれば、残存保持期間の評価は、メモリカード110のマイクロコントローラ114等のマイクロコントローラにより行われる。所与のA-タイマの状態レジスタにより生成された警報信号は、有効なデータを有する1個以上のメモリの各メモリブロックまたはページの残存保持期間を評価するマイクロコントローラへ送られる。
【0061】
一実施形態において、マイクロコントローラは、警報を生成したA-タイマの状態レジスタの現在の状態を、当該A-タイマが監視するメモリ内の各ブロックのラベルと比較する。一実装によれば、各メモリブロックのラベルの記録は、直前に消去されたメモリブロック内でプログラムされた最初のページの後で実行することができる。
【0062】
状態レジスタの現在の状態とメモリブロックの注目するラベルの差違が所与の閾値よりも大きい場合、本方法は、データ消失が切迫しているか否かを検出すべく、考慮するメモリブロック内のデータに対するリフレッシュサイクルの実行を後続メモリブロックに渡すことができるようにする。データリフレッシュサイクルを起動させるための閾値は、注目するメモリ内の各メモリブロックに対して既に実行されたP/Eサイクルの回数に依存する。
【0063】
従って、有利な特徴として、本発明の装置は、正確な時点を示すラベルの提供、および保存されたデータのリフレッシュが必要なメモリブロックの識別を可能にする。
【0064】
図5に、データリフレッシュ動作を伴う、または伴わない、複数の警報信号の生成を時間軸上に示す。上述のように、A-タイマの状態レジスタの状態を、不揮発性メモリの各ブロックまたは各ページに関連付けられた時間ラベルとして用いることができる。警報に続いて、装置は、状態レジスタの現在の状態と各メモリブロックのラベルの差違を評価すべく構成されている。あるメモリブロックについて、差違が所与の閾値よりも大きい場合、考慮するメモリブロックのデータをリフレッシュする必要がある。しかし、警報が生成される都度全てのブロックのデータがリフレッシュされるのを防止すべく、警報間の期間「T」は、データの最短保持期間「τ」より短くなるように選ばれている。図示する例において、警報の間隔は、2個のメモリブロック(B1、B2)の保持期間が「τ」に等しい場合、「T=τ/2」である。2個のメモリブロックへのアクセスが、時点t(i)およびt(i+1)で生成された2個の連続的な警報間にプログラムされていれば、時点t(i+2)で生成された警報の直後にデータをリフレッシュする必要がある。メモリブロックB
1のデータが自身の保持期間が満了する直前にリフレッシュされるのに対し、メモリブロックB
2のデータは自身の保持期間が半分満了した時点直後にリフレッシュされる点に注意されたい。このことは、有効保存時間が保持期間よりも0~Tの値だけ短いことを示しており、警報間でなるべく短い期間Tを有する利点を正当化するものである。「T=τ/n」の場合、各メモリブロックをn警報毎にリフレッシュする必要がある。これにより、異なる消耗状態にある、すなわち多くのP/Eサイクルおよび異なる保持期間を有するメモリブロックを考慮に入れることができる。従って、本発明の装置および方法は、1個以上の不揮発性メモリの全てのブロックの保持期間の監視に、たとえこれらのブロックが時間経過に伴い相関しない時点で書かれた不均一なデータを含んでいても、またはこれらのブロックが異なる消耗レベル、例えば異なるプログラミング/消去(P/E)サイクルの回数を有している場合であっても適用することができる。特定のメモリブロックは
図5に示すように2個の警報毎にリフレッシュすべく構成されているのに対し、他のメモリブロックは3個以上の警報毎にリフレッシュすべく構成されている。有利な特徴として、A-タイマ装置は、(i)A-タイマの状態レジスタが一切ゼロにリセットされることなく常に増分され、かつ(ii)状態レジスタに保存されている値が、警報信号の生成後に再計算される所定の閾値を上回る量だけ増大される毎に警報信号が生成されるという事実に起因して、複数の警報に跨る持続期間にわたり監視およびリフレッシュポリシーを決定すべく構成されている。本明細書の記述は本発明の好適な実装を示すが本発明を限定するものではない。各種の例は本発明の原理および具体的な用途を正しく理解いただけるよう選択されているが、一切網羅的ではなく、当業者において同一原理を維持しながら変更および変型実装を導入できる筈である。
【0065】
本発明は、ハードウェアおよび/またはソフトウェア要素に基づいて実施できる。本発明はプログラム製品としても入手可能である。