JP5016027B2 - 最終期を計算する不揮発性メモリシステム - Google Patents

最終期を計算する不揮発性メモリシステム Download PDF

Info

Publication number
JP5016027B2
JP5016027B2 JP2009511165A JP2009511165A JP5016027B2 JP 5016027 B2 JP5016027 B2 JP 5016027B2 JP 2009511165 A JP2009511165 A JP 2009511165A JP 2009511165 A JP2009511165 A JP 2009511165A JP 5016027 B2 JP5016027 B2 JP 5016027B2
Authority
JP
Japan
Prior art keywords
memory
memory system
host
remaining life
expected amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009511165A
Other languages
English (en)
Other versions
JP2009537904A (ja
Inventor
アナトリエヴィッチ ゴロベッツ,セルゲイ
エム. コンレー,ケビン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/383,384 external-priority patent/US7523013B2/en
Priority claimed from US11/383,397 external-priority patent/US7778077B2/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2009537904A publication Critical patent/JP2009537904A/ja
Application granted granted Critical
Publication of JP5016027B2 publication Critical patent/JP5016027B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、一般的には大容量デジタルデータ記憶システムに関し、特に、不揮発性メモリシステムがその残存寿命に関する情報を決定してユーザに供給する方法に関する。
フラッシュメモリ記憶システムのような不揮発性メモリシステムの使用は、そのようなメモリシステムのコンパクトな物理的サイズと、不揮発性メモリが繰り返し再プログラム可能であることとの故に、増大しつつある。フラッシュメモリ記憶システムのコンパクトな物理的サイズは、装置におけるそのようなシステムの使用を容易にし、それらはますます一般的となってきている。フラッシュメモリ記憶システムを使用する装置は、デジタルカメラ、デジタルキャムコーダー、デジタルミュージックプレーヤ、ハンドヘルド形パーソナルコンピュータ、および全地球測位装置(GPS)を含むが、これらに限定されるものではない。フラッシュメモリ記憶システムに含まれる不揮発性メモリを繰り返し再プログラムできることは、フラッシュメモリ記憶システムを使用し、また再使用することを可能にする。
フラッシュメモリシステム内の不揮発性メモリ、あるいはより具体的には不揮発性メモリ記憶セルは、繰り返しプログラムされ消去され得るけれども、各セル、すなわち物理的位置は、このセルが損耗し尽くす前に一定回数消去され得るにすぎない。或るシステムでは、セルが使用できないと考えられるようになる前に約1万回までセルは消去され得る。他のシステムでは、セルが損耗しつくしたと考えられるようになる前に約10万回まで、あるいは百万回も、セルは消去され得る。或るセルが損耗し尽くし、それによってフラッシュメモリシステムの記憶ボリューム全体のうちの一部分を使用不能にするかあるいは顕著な性能低下をきたしたとき、フラッシュメモリシステムのユーザは、例えば記憶されていたデータが失われ、あるいはデータを記憶させられなくなるなどして、不利な影響を受けるかもしれない。
フラッシュメモリシステム内のセル、すなわち物理的位置の損耗は、それらのセルの各々がどのくらい頻繁にプログラムされるかによって異なる。セルが、より一般的には記憶素子が、一度プログラムされ、その後実際上まったく再プログラムされなければ、そのセルに関連する損耗は一般的には割合に少ない。しかし、セルが繰り返し書き込まれ消去されるならば、そのセルに関連する損耗は一般的には割合に多い。例えば、フラッシュメモリシステムに記憶されているデータにアクセスするためにフラッシュメモリシステムにアクセスしあるいはこれを使用するシステムなどのホストによって論理的ブロックアドレス(LBA)が使用されるとき、ホストがデータを書き込み、またデータを上書きするために同じLBAを繰り返し使用すれば、当業者には理解できるように、フラッシュメモリシステム内の同じ物理的位置あるいはセルが繰り返し書き込まれ、また消去される。
或るセルが実際上損耗し尽くし、他のセルが比較的に損耗していないとき、損耗し尽くしたセルの存在は一般にフラッシュメモリシステムの総合的性能を低下させ、そのことが、プログラムあるいは消去できないか(そしてシステムは、結局、データを記憶するために必要とされるブロックを使い果たし得る)、あるいは読み出しに関して信頼できないデータを有するブロックにおいて明らかにされ得る。エラー訂正技術が使用され得るけれども、エラー訂正には時間がかかり、また、或るポイントで、システムは、訂正不能なエラーあるいは過度のコマンド(読み出しおよび書き込みの両方)の実行待ち時間を生じさせるハイレベルの訂正可能なエラーのためにデータ記憶の信頼性が容認できなくなるポイントに達し得る。システムは、プログラムまたは消去ブロックの故障のために予備のブロックを使い尽くす前にこの状態に到達する可能性がある。損耗し尽くしたセル自体と関連する性能低下に加えて、所望のデータを記憶させるために利用し得る損耗し尽くしていないセルの数が不十分であるときにはフラッシュメモリシステムの総合的性能に悪影響がおよび得る。しばしば、或る限界の数の損耗し尽くしたセルがフラッシュメモリシステムに存在するときには、たとえそのフラッシュメモリシステム内の他の多くのセルが割合に損耗していなくても、そのフラッシュメモリシステムは使用に適さないと見なされ得る。
そのようなメモリの寿命を増大させる方法がいくつかあるけれども、メモリが損耗し尽してデータが失われあるいはこのメモリが読み出し専用モードに陥る前にこのメモリがどれほどの寿命を残しているかを知ることはユーザにとって有益である。米国公開特許出願第2003/0002366号(特許文献1)は、予備記憶域の数が所定値より少ない時に警報を生成するメモリを記述しているが、この警報は、この状態に達した後で与えられるに過ぎなくて、その時点で残っている予備記憶域の数にだけ基づくものである。これは、線形に増大する損耗の大きさに基づく評価も、時間としての残存寿命の示度も提供しない。従って、メモリの状態とその残存寿命とに関する情報をユーザに提供することに関して改善の余地がある。
米国公開特許出願第2003/0002366号 米国特許出願第10/841,379号 米国特許出願第10/686,399号 米国特許第5,532,962号 米国特許第6,456,528号 米国特許出願第11/321,217号 米国特許出願第11/320,916号 米国特許出願第10/990,189号 米国特許第5,890,192号 米国特許第5,430,859号 米国公開特許出願第2005−0144360号 米国公開特許出願第2005−0141313号 米国公開特許出願第2005−0141312号 米国公開特許出願第2005−0166087号 米国公開特許出願第2005−0144365号 米国特許第6,230,233号 米国特許出願第10/281,739号
本発明は、限られた寿命を有するメモリのために残っている寿命の量に関する情報を提供するためのシステムおよび方法に関する。フラッシュメモリカードのようなメモリのためのこのような最終期表示機能は、様々な形を持つことができる。例えば、メモリの予想される残存寿命の量を実時間単位(例えば、時間数または日数)でユーザに提供することができる。代わりに、あるいはそれに加えて、装置の予想される残存寿命は、見積もられた総寿命の割合として表現され得る。いずれの場合にも、システムは最終期警報も提供して、カードまたは装置が、例えばその寿命の80%あるいは95%が過ぎたときなど、損耗に関して割合に進んだ或る状態に達していることを示すことができる。システムはこの情報をステータスバーまたは他の警報によってユーザに伝えることができ、さらに、この警報は、バックアップ手続きの起動あるいはアプリケーションのシャットダウンのような種々の処置を取るようにホストを作動させることができる。
第1の態様に従って、本発明のメモリカード(または他の装置)は、その損耗レベルについてパラメータまたは他の何らかの示度を維持する。代表的な実施形態では、これはメモリセルが再書き込みサイクルを何回経験したかを示す“ホットカウント”または“経験総数”に関連付けられ得る。例えば、消去ブロック構造を有するメモリではパラメータはブロックあたりの平均消去回数であることができ、あるいは、循環損耗レベリングポインタを有するメモリでは、これはポインタがラップアラウンドした回数(あるいは、より一般的には、このパラメータの関数)であり得る。単独でまたは再書き込みの回数と組み合わされて使用され得る他のパラメータは、予備メモリブロックの数である。調整は、セル挙動(ブロック故障率など)、ECC結果(データ単位あたりのエラーの数または大きさまたはそのようなECCエラー検出の頻度など)、プログラムまたは消去時間、またはセル年齢に関連する他の特性に基づくこともできる。1つの特定の実施形態では、(割合としてまたは実時間単位での)残存寿命の量は、ブロックあたりの平均消去回数に基づくことができるけれども、残存寿命の予想される量が一定レベルより下がるかあるいは予備ブロックの数が安全レベルより下がったならば最終期警報が与えられるように、予備ブロックの数または他のパラメータにより強化され得る。一実施形態では、予備消去ブロックが残っていなければ、あるいは他の最終期基準が満たされたならば、装置は読み出し専用モードに陥るかあるいは別様にその挙動を変更することができる。
他の態様のセットに従って、本発明は、使用パターンまたは他の情報に基づいて、その残存寿命の推定値を更新することができる。例えば、カードは残っている寿命の第1の推定値を決定することができるけれども、カードが使用され続けているとき、この推定値は変更され得る。1セットの実施形態では、カードの使用が(例えば、ホストにより)監視され、そして、カードが当初推定されたよりも速くエージングしているかあるいは遅くエージングしているかを判定するために使用パターンが使用され得る。(これは、時間ベースの推定のためにだけ必要とされる。)
別の実施形態のセットにおいて、ホストはカードの寿命を較正することができる。この構成では、ホストは時間値をカードに送ることができ、割合としてこのカードにおいて維持されている残存寿命の量と組み合わされたとき、残存寿命の量を実時間単位で推定するために使用され得る。これは、メモリ装置内の実時間システムクロックへの依存を除去する。他の実施形態では、割合としての損耗量がホストに送られ、これはそれ自身で残存寿命を実時間単位で計算する。
本発明の付加的な態様、利点および特徴は、その代表的な例についての以下の記述に含まれている。本願明細書において参考文献として挙げられた全ての特許、特許出願、論文、特許刊行物および他の刊行物は、その全体が本願明細書において参照によりあらゆる目的のために援用されている。
本発明は、添付図面と関連させて以下の記述を参照することにより最善に理解され得る。
本発明は、メモリカードまたは他の有限の寿命の記憶装置について残存寿命の情報と最終期 (End of Life (EOL))情報とをユーザに提供することに関する。本願明細書に記載されている実施形態は不揮発性のEEPROMベースのメモリシステムを記載するけれども、本発明の種々の態様は、“損耗”する任意のタイプの記憶媒体に適用できる。例えば、1つの新興のタイプの不揮発性メモリ技術は相変化メモリ(phase-change memory) である。情報は、所与の材料の相を変化させることにより記憶される。そのようなシステムのいくつかの他の例が米国特許出願第10/841,379号(特許文献2)において与えられている。そのようなシステムも“損耗”する可能性があって、記憶媒体が循環された回数が増えるに連れて記憶媒体は情報を記憶しにくくなってゆく。本発明は、そのような技術にも容易に応用できる。
“より穏やかな”動作値またはアルゴリズムを使用すること(インテリジェントな消去あるいはプログラミングプロセスでのような)、損耗レベリング(例えば、米国特許出願第10/686,399号(特許文献3)などに記載されている)、マージン値を使用すること(例えば、米国特許第5,532,962号(特許文献4)に記載されている)、マルチレベルメモリをバイナリモードで動作させること(例えば、米国特許第6,456,528号(特許文献5)に記載されている)、あるいは(米国特許出願第11/321,217号(特許文献6)および第11/320,916号(特許文献7)に記載されているような)データを符号化して記憶させる方法のような、メモリ寿命を改善するいくつかの方法が知られている。これらの技術および他の技術は、メモリがどれだけ長くもつかを改善できるけれども、依然として、結局、容認できない残存使用可能容量(ブロック故障に起因して)または性能(速度、信頼性)のポイントに到達する。いつそうなりそうかということについて何らかの示度を持ち、それに応じて計画を立てられれば、ユーザにとっては大いに有益である。
本発明は、いくつかの態様および実施形態を有する。これらのうちの第1のものに従って、メモリカードまたは他の記憶装置はユーザに残存寿命の量を時間単位(時間数、日数)で提供することができる。他の実施形態では、カードは、その残存寿命の量を、その残っている初期のものの割合で提供することができる。いずれのオプションでもメモリはEOL警報を提供することもでき、例えば寿命の80または95%が過ぎたなど、カードが或る相対年齢に達したという表示である。議論は主としてメモリカード形の実施形態を用いて与えられるけれども、本発明の種々の態様は、ホストに取り外し可能に接続され得るメモリシステム(メモリカード、USB装置など)、組み込み形メモリシステムなどのために実行され得る。
本発明は、相対最終期を計算するためのいくつかの方法を提供する。例えば、残存寿命の割合は、メモリブロックあたりの消去回数に基づくことができ、あるいは、予備ブロックの数が余りに少なくなったならば調整可能である。前述したように、他の実施形態では、この調整は、読み出し時のエラー率、プログラムおよび消去時間、ブロック故障率などに従って行われ得る。これらの方法は、EOL警報フラグに配慮することもできる。他の方法もあるが、メモリの残存寿命の実時間単位での計算は、ホストからの較正情報に基づいてあるいはホストにより行われる測定に基づいて行われ得る。本発明の他の態様では、最終期情報を表示するいくつかの方法が与えられる。
A.メモリ構成および基本的定義
初めに図1aを参照して、例えばコンパクトフラッシュメモリカードのようなメモリカードなどの不揮発性記憶装置を含む一般的なホストシステムが説明される。ホストまたはコンピュータシステム100は、一般的に、マイクロプロセッサ108、ランダムアクセスメモリ(RAM)112、および入出力回路116が通信することを可能にするシステムバス104を含む。ホストシステム100が一般的に表示装置およびネットワーキング装置などの他のコンポーネントを含み得ることが認められるべきであるが、図解の目的のためには示されていない。
一般に、ホストシステム100は、静止画像情報、オーディオ情報、ビデオ画像情報あるいは他のタイプのデータを含むがこれらに限定されない情報を捕捉しあるいは記憶することができる。そのような情報は、実時間で捕捉され、またホストシステム100に無線で伝えられ得る。ホストシステム100は実質的にはどのようなシステムであってもよいが、ホストシステム100は、一般的に、デジタルカメラ、ビデオカメラ、セルラ通信装置、携帯形コンピュータ、オーディオプレーヤ、あるいはビデオプレーヤのようなシステムである。しかし、ホストシステム100は一般的にデータあるいは情報を記憶し、データあるいは情報を検索する実質的に任意のシステムであり得ることが認められるべきである。単にデータを捕捉するだけあるいは単にデータを検索するだけのシステムでもあり得る。すなわち、ホストシステム100はデータを記憶する専用システムであり、あるいはホストシステム100はデータを読み出す専用システムであり得る。例を挙げると、ホストシステム100は、データを単に書き込むかあるいは格納するために構成されたメモリライタであり得る。あるいは、ホストシステム100は、一般に、データを読み出しあるいは取り出すように構成されていて、データを捕捉するようには構成されていないMP3プレーヤのような装置であり得る。
不揮発性記憶装置120は、情報を記憶するためにバス104とインターフェイスするように構成されている。オプションのインターフェイス回路ブロック130は、不揮発性記憶装置120がバス104と通信することを可能にすることができる。存在するとき、例えばインターフェイス回路ブロック130とインターフェイスとは、バス104へのローディングを減少させるのに役立つ。不揮発性記憶装置120は、不揮発性メモリ124とメモリ制御システム128とを含む。一実施形態では、不揮発性記憶装置120は単一のチップまたはダイの上に実装され得る。あるいは、不揮発性記憶装置120は、マルチチップモジュールの上に、または複数の別々のコンポーネントとして、実装され得る。不揮発性記憶装置120の一実施形態が以下で図1bに関してより詳しく記述される。不揮発性記憶装置120は、例えば取り外し可能なメモリカードあるいは組み込み形サブシステムなど、実質的に任意の適切な不揮発性記憶装置であり得る。
不揮発性メモリ124は、必要に応じてデータがアクセスされ読み出され得るように、データを記憶するべく構成される。データを格納し、データを読み出し、データを消去するプロセスは、一般に、メモリ制御システム128によって制御される。一実施形態では、メモリ制御システム128は、不揮発性メモリ124の動作を、本質的に不揮発性メモリ124の異なるセクションを実質的に同じ速度で損耗させることによってその寿命が実質的に最大にされるように、管理する。例えば、メモリコントローラは、損耗の少ないブロックを活発な損耗を経験している領域のものとリサイクルするなどの、多くの損耗レベリング技術のうちの1つを実行することができる。損耗レベリング技術のいくつかの例が、2004年11月15日に出願された米国特許出願第10/990,189号(特許文献8)において与えられている。
不揮発性記憶装置120は、一般的に、メモリ制御システム128すなわちコントローラを含むものとして記述されている。特に、不揮発性記憶装置120は不揮発性メモリ124の機能およびコントローラ128の機能のために別々のチップを含むことができる。例を挙げると、PCカード、コンパクトフラッシュカード、マルチメディアカード、およびセキュアデジタルカードを含むがこれらに限定されない不揮発性記憶装置は別のチップ上に実装され得るコントローラを含むけれども、他の不揮発性記憶装置は別のチップ上に実装されるコントローラを含まないかもしれない。不揮発性記憶装置120が別々のメモリチップとコントローラチップとを含まない実施形態では、メモリ機能とコントローラ機能とは単一のチップに統合され得る。さらに、コントローラはホストシステム上に置かれることができ、不揮発性記憶装置120はコネクタまたは他の任意のタイプのインターフェイスを通してホスト上のコントローラに接続され得る。それでも、本発明の範囲はメモリシステムのあらゆる異なる形と組み合わせとを含み、そこでは記憶媒体内の損耗のレベルは制御システムによって制御される。例えば、コントローラは、ホストシステムのマイクロプロセッサ上のソフトウェアの中で実現され得る。
図1bと関連して、不揮発性記憶装置120の一例がより詳しく記述される。図1bは単一のフラッシュメモリチップ124と別のコントローラ128とを含む不揮発性記憶装置120の実施形態を示すものであるということが認められるべきである。メモリ124は、半導体基板上に形成された適切なアドレス指定および制御回路を伴うメモリセルのアレイであり、そこでは、電荷の2つ以上のレベルまたは分布のうちの1つをメモリセルの個々の記憶素子に記憶させることによって1ビット以上のデータが個々のメモリセルに格納される。不揮発性のフラッシュ形の電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)は、そのようなシステムのための一般的なタイプのメモリの例である。
記述されている実施形態では、コントローラ128は、バス15を介して、データを格納するためにメモリシステムを使用しているホストコンピュータまたは他のシステムと連絡する。バス15は一般に図1aのバス104の一部である。制御システム128は、ホストにより提供されたデータを書き込み、ホストにより要求されたデータを読み出し、メモリ124を動作させるときの種々のハウスキーピング機能を実行するために、メモリセルアレイ11を含み得るメモリ124の動作をも制御する。制御システム128は、関連するメモリ、種々の論理回路等を有する汎用マイクロプロセッサまたはマイクロコントローラを含むことができる。特定のルーチンの性能を制御するために、1つ以上の状態マシンもしばしば含まれる。
メモリセルアレイ11は、通常、制御システム128によってアドレスデコーダ17を通してアドレス指定される。デコーダ17は、制御システム128によりアドレス指定されているメモリセルのグループにデータをプログラムし、メモリセルのグループからデータを読み出し、あるいはメモリセルのグループを消去するために、アレイ11のワード線およびビット線に正しい電圧を加えることができる。付加的な回路19は、読み出されるかまたは書き込まれるデータを一時的に記憶するデータレジスタと、アドレス指定されたセルのグループにプログラムされるデータに依存するアレイの素子に加えられる電圧を制御するプログラミングドライバと、種々の電圧および制御信号の順序付けを制御する状態マシンとを含むことができる。これらのサポートおよび制御回路19は、カウンタまたは他の制御情報のための或る量の不揮発性メモリを含むこともできる。回路19は、アドレス指定されたメモリセルのグループからデータを読み出すために必要なセンス増幅器および他の回路も含むことができる。アレイ11にプログラムされるべきデータ、あるいはアレイ11から最近読み出されたデータは、通常、制御システム128内のバッファメモリ21に格納される。制御システム128は、普通、コマンドおよびステータスデータ等を一時的に格納するために種々のレジスタも含む。制御システム128は、パワーダウンされているときにもそれが維持することを望む種々の制御データを格納することのできる或る量の不揮発性メモリ25も含むことができる。他の場合には、制御システム128は任意のそのような永久的レコードを不揮発性メモリ124において維持することができる。
1つの特定の実施形態では、アレイ11はメモリセルの多数のブロック0−Nに分割される。好ましい実施形態では、ブロックは消去の単位、一緒に消去される最小数のメモリセルである。やはり図1bに示されているように、各ブロックは通常いくつかのページに分割される。ページはプログラミングの最小単位であり、各ページ内に1セクタ以上のユーザデータが格納される。セクタは、ホストがアドレス指定しあるいは不揮発性メモリへまたは不揮発性メモリから転送する最小単位の論理データである。ディスクドライブの用途では、これは通常512バイトである。或る不揮発性メモリは部分的なページプログラミングを可能にし、このプログラミングでは、第1のプログラミング後に消去済みの状態に留まっている個々のビットが後のページプログラム動作時に始めにページを消去することなくプログラムされ得る。或る多状態メモリは、より下側のプログラムされた状態に既にプログラムされているビットが後のページプログラム動作でより高い状態にプログラムされることさえも可能にすることができる。これらのメモリでは、複数のセクタあるいはセクタの一部さえも、異なる時にプログラムされ得る。それにもかかわらず、1ページが依然としてプログラミングの基本単位である。単に、いくつかのビットがマスクされて、後にプログラムされ得るということである。本発明は、消去、読み出しおよび/または書き込みの単位の物理的な実施例に関わらず任意の適切なメモリシステムに適用され得る。
記述される実施形態の図1bに示されているように、1ページはユーザデータとオーバーヘッドデータとの両方を含むことができる。オーバーヘッドデータは、通常、そのページに含まれているユーザデータから計算された誤り訂正符号(ECC)を含み、ECCはオーバーヘッドデータの一部または全部を含むことができる。制御システム128の一部分23は、データがアレイ11にプログラムされているときにECCを計算し、また、データがアレイ11から読み出されているときにECCを検査する。オーバーヘッドデータは、ユーザデータの論理アドレス、ページおよび/またはブロックの物理アドレス、アドレスマップ情報、物理的ブロックが経験した消去サイクルの数、暗号情報および/または他の統計量あるいはデータをも含むこともできる。オーバーヘッドデータの一部または全部が、図1bに示されているように各ページに格納され得る。その代わりに、オーバーヘッドデータの一部または全部が各ブロック内の特定の位置に格納されてよく、あるいはユーザデータとは別のブロックに格納されてもよい。オーバーヘッドデータに格納されているECCは、誤っているビットの数を示すことによって、読み出された関連するデータの信頼性の或る示度を与えるために使用され得る。メモリシステムコントローラは、そのようなエラーの頻度と大きさとを追跡することができる。この情報は、セルのグループの損耗をそれによって推測できるところのパラメータを提供する。
非常に一般的に1セクタのデータが各ページに含まれるけれども、その代わりに2つ以上のセクタが1つのページを形成することができ、あるいは1つのページが1つのセクタより小さくてもよい。例えば、米国特許第5,890,192号(特許文献9)および第5,430,859号(特許文献10)はチャンクを単位とするデータのプログラミングおよび読み出しを記述し、チャンクは1つのセクタの部分である。或るメモリシステムでは、1セクタが1ページに含まれ、1ページが1つのブロックを形成することができる。より一般的には、NANDメモリシステムでは、1つ以上のセクタが各ページに含まれ、8ページ、16ページ、あるいは32ページが1つのブロックを形成する。他のメモリシステムでは、ブロックは、例えば512ページ、1,024ページ、あるいはもっと多くのページなど、割合に多くのページから形成される。ブロックの数は、メモリシステムのために所望のデータ記憶容量を提供するように選択される。アレイ11は通常いくつかのサブアレイ(図示せず)に分割され、その各々は一部のブロックを含み、それらは種々のメモリ動作の実行の並列性の程度を高めるために互いに幾分独立に動作する。複数のサブアレイの使用の例が、前に参考文献として挙げられた米国特許第5,890,192号(特許文献9)に記載されている。
以下のセクションでより詳しく記述されるトラッキングアルゴリズムと種々の最終期技術とは、そのCPU(明示的に示されてはいない)を用いるコントローラ128に置かれるが、動作のうちのいくつかはメモリ124で、それが包含している能力に依存して、実行され得る。ECCハードウェアおよびソフトウェア23は、例えばBCHまたはリードソロモン方法に基づいてエラーに関する量情報(エラーの数と大きさ、あるいはエラービットの数)を提供する。カードインターフェイスは、種々のEOL情報がホストに報告されることを可能にし、またそれが必要とされる実施例において、時間がホストから記憶装置に伝えられることを可能にする。
B.相対最終期計算:主要原理
相対EOL計算方法は、総寿命の割合で表現された、カードのおおよその残存寿命を与える。メモリは、普通、メモリが経験した消去プログラムサイクル数を表わす“経験カウント”あるいは“ホットカウント”を維持する。平均ホットカウントは、単に消去動作の全てを数え、その値をブロックの数で割ることによって計算され得る。例えば、米国公開特許出願第2005−0144360号(特許文献11)、第2005−0141313号(特許文献12)、第2005−0141312号(特許文献13)、第2005−0166087号(特許文献14)、および第2005−0144365号(特許文献15)に記載されている、以下の記述において、代表的な実施形態と見なされ得るメモリシステムでは、これはMMLスペースにおけるブロックの数である。あるいは、損耗レベリング循環ポインタを用いるシステムでは、これは、損耗レベリング循環ポインタがカードをラップアラウンドした回数を数えることによって行われ得る。例えば、米国特許第6,230,233号(特許文献16)、米国特許出願第10/990,189号(特許文献8)、第10/686,399号(特許文献3)、および第10/281,739号(特許文献17)に記載されている循環損耗レベリング方法では、全てのカウントが1つにつきX平均消去の関数(通常、線形)であり、ここでXは損耗レベリング交換動作間に実行される消去の数である。予備メタブロックの現在の数、または消去の他の論理的単位または物理的単位も考慮され得る。劇的にスペアの数(またはプログラム時間もしくは消去時間)が低下したならば(あるいはエラー率が上がったならば)、平均ホットカウントに基づいて計算された“寿命の割合”は調整され得る。
最終期(EOL)計算の主要原理のうちのいくつかが図2a〜cおよび3に示され、図2a〜cは代表的な最終期の場合を示し、図3はメモリブロックが予想より速く劣化する状況を示す。この特定の例では、調整は、ブロック故障の数および予備ブロックの数だけに基づいて行われる。より一般的には、他のパラメータ(エラー率、プログラムまたは消去時間など)が考慮され得る。代表的な場合には、ブロック故障率(図2a)は平均的ブロック消去サイクルの数にバスタブ形に依存し、ここで上昇する急傾斜はメモリのタイプ(フローティングゲートEEPROM、誘電体など)と、動作電圧および温度のような条件とに特有である。初期段階では、弱いあるいは欠陥のあるセルが割合に速やかに故障し、その後は装置の寿命の大部分にわたって確率は大体平らなままである。メモリセルが損耗し始めると、最終期に近づくに連れて確率は急勾配になって警報ゾーンに入る。EOL計算方法はこの依存性の使用に基づき、故障したブロックの数の平均的ブロック消去サイクル数に対する依存性として、他の形でも与えられ得る(図2b)。全ての所与の製品について、現実的なEOL計算を行うために代表的なあるいは最悪の場合の依存性が知られるべきである。
図2cは、この同じ情報を、装置において残っている予備ブロックの数で示す。経過した寿命の割合(ここでは、80%)に基づいて警報ゾーンを示しているほかに、図2cは利用し得る予備ブロック数が危険なほど少なくなる範囲(“少数スペア”)をも示す。
図2a〜cは、記憶装置が予想される劣化パターンに従う場合を示す。しかし、より一般的には、装置が使われるに連れて劣化の速度は予想されるレベルと違ってくるかあるいは変化する可能性がある。例えば、その寿命の途中で、装置はより厳しい動作条件で使用されて、劣化の速度が増すかもしれない。これは図3に示されている。実線は図2cに示されているのと同じであり、破線はより速い劣化に起因して変化した値である。見られるとおり、劣化速度は予想通りに始まるが、その後、ちょうど標準の予想消去サイクル数に基づいて予想されるよりも急速に増大する。
EOL計算は現在の平均的ブロック消去数nとブロック消去の最大数Nとの比較に基づき、ここでNはカード上の平均的ブロックが耐えられる消去サイクルの予想される現実的、すなわち最悪の場合の数である。Nは、特にメモリのタイプ、電圧範囲、動作温度範囲、アクセスパターン、および初期予備ブロック数などに大いに依存する。主な問題は、パラメータの関数としての適度に正確なブロック故障依存性を得ることである。カードの残存寿命は、通常、Nに関してパーセントで
残存寿命、%=(N−n)/N*100%
と計算される。例えば、nが0.8Nならば、残存寿命=20%である。
EOLを示す他の1つの方法は、カードが或る損耗レベルに達したという表示であり得る。この例では、カードが80パーセント損耗していてカードが“警報”動作ゾーンにあると考えられるときにEOL警報がフラグされる。警報フラグは内部でセットされて、特別のコマンドが発せられたならば、ホストに対して示される。消去サイクルの平均数がNに達したならば、0%の残存寿命が示されるべきであり、同時にカードは予備ブロックを使い果たすまで完全に働き続けるべきである。カードが予備ブロックを使い果たしたとき、カードは読み出し専用モードになるべきである。
消去サイクルに基づく計算に加えて、カード上のブロックの進行中の劣化が、図3に示されているように予想されるブロック故障分布から逸れたならば、EOL計算は調整され得る。図3は、この場合にはブロックあたりの消去サイクルの大きな数によってではなくて残存している予備ブロックの低いレベルによって警報がトリガされ得ることを示している。このように、カードの実際の状態に合うように、消去サイクル数に基づくEOL計算が訂正される。最も簡単な実施例は、例えば5%などの低いEOL値を単にセットし、そして残っている予備ブロックが1つだけならば警報を出すことであり得る。この場合、EOL計算は図4の表において要約されているルールに従う。
図4は、メモリが経た消去サイクルの数と予備ブロックの数との両方を考慮する最終期計算の1つの特定の実施形態を示す。消去サイクルの数はアクセスの数とともに連続的に増大し、予備ブロックの数は断続的に減少する。行は、予想される寿命Nに関して表現された消去サイクルの数に対応し、ここでNは装置が使用されるに連れて更新され、使用に応じて増減され得る。第1の行は0.8N未満の安全範囲であり、第2の行は0.8N〜Nの警報ゾーンであり、下の行は予想される寿命に達しているときのものである。第1の列は、より多くの予備ブロックが残っているときのものであり、この場合には寿命は予想される残存の割合として表現される。第2の列は予備ブロックが1つだけ残っているときのものであり、この場合にはNに達していなければ寿命は5%のデフォルト値にセットされ、Nに達している場合にはこの値は無効にされて0%にセットされる。最後の列は予備ブロックが残っていないときのものであり、この場合には寿命は0%と見なされて、装置は、代表的な実施形態では、読み出し専用モードに陥る。左上隅は安全動作ゾーンであり、第1の列の残りと第2の列の全部とがEOLフラグがセットされる警報ゾーンであり、装置はさらに最後の列で読み出し専用モードに移る。
より一般的には、1つ以上の最終期基準が満たされたことあるいはそれに近づいたことに基づいて、記述されている種々の実施形態のメモリはその動作を1つ以上の仕方で変更することができる。読み出し専用モードに入るかあるいはその動作を変更することに加えて、メモリは種々の動作の速度を落とす、そのアルゴリズムを変える、(米国公開特許出願第2005−0144365号(特許文献15)の代表的な実施形態における更新ブロックのような)特殊な目的のブロックの数を減らすなどすることができる。
最終期情報を受け取ると、システムはいくつかの仕方でユーザに知らせるかあるいは警告を与えることができる。例えば、ステータスバーを通してユーザにこの情報を提供し、最終期見積もりが更新されるときにこの表示を更新することができる。この情報に基づいてユーザがとることのできる処置に加えて、実施形態に応じてホスト自体が処置を取ることができる。例えば、警告はホストのオペレーティングシステムの側あるいは種々のアプリケーションに渡され得る。これは、その後、バックアッププロセスの起動あるいはアプリケーション、ホストシステムの一部または全部のシャットダウンに至ることができる。
前述したように、前の実施形態は消去の数、予備ブロックの数、またはこれらの組み合わせを使用するが、年齢の測定基準としてこれらのパラメータと結合してあるいはこれらのパラメータの代わりに他のパラメータも使用され得る。例えば、ブロック故障率(例えば、プログラム故障間および/または消去故障間の間隔に基づく)、ECC結果、プログラム時間もしくは消去時間、またはセル年齢を示す他の特性のようなものを組み入れることによって調整の基礎をメモリセルの動作に置くこともできる。使用され得るECC結果は、エラーの最大数またはデータの単位あたりのエラーの数、これらのエラーの大きさ(使用されるECC方法がそれらを供給するならば)、そのようなエラーの頻度、あるいはこれらの何らかの組み合わせを含むことができる。
通常の条件下で読み出しエラーがないときでも、データ保存品質を推定するために(米国特許第5,532,962号(特許文献4)に記載されているもののような)マージン読み出しを採用することができ、その場合、種々の実施形態に従って種々の基準電圧がコントローラ、メモリチップ自体、他のメモリチップあるいはホストからさえも提供され得る。これらの種々の調整パラメータは、EOLのための唯一の推定パラメータとして、個々別々に使用され得る。例えば、予備ブロックの数だけがEOLを判定するために単独で使用され得る。種々のパラメータ間にはしばしば相関が、あるいはオーバーラップさえもがあるけれども、より多くのパラメータを考慮に入れることによってより良い結果がしばしば得られる。例えば、予備ブロックが多数あるがプログラミング速度が遅いということがあり得るが、EOLが近いことを示す。全く同じセルという仮想の場合には、これらの理想的なセルの全てが同時に故障し、データ読み出し時に同じエラー率を示す。また、予備があるかもしれなくてプログラム時間が余り長くないけれどもエラー率が高い。これは、同様に、データ保存が良くないためにEOLが近いことを示す。
C.時間単位での最終期計算−主原理
時間数、日数、および週数のような時間単位でのEOL計算は、カードの使用パターンおよびアクセス頻度に基づくことができる。一様な使用パターンの場合には、システムクロックがあってカードの使用率が測定されるならば、残存寿命の時間単位での計算が行われ得る。以下の例では、時間単位での残存寿命は、現在のブロックあたりの消去サイクル数nと現在の日あたりのブロックあたり消去数との関数が、
残存寿命(時間)=(N−n)/(N*時間あたりのブロックあたり消去数)
として計算され得る。この場合、図5に示されている時間Tは、カードがブロックあたり平均消去数Nのレベルに達するときの状態に対応するカード全体の寿命である。同様に、寿命の20%がなお残っているレベルは、カードの残存寿命が0.2Tであることを意味する。
図5は、一様な使用およびむらのない動作条件に起因するかあるいはより複雑な状態の近似としての一定速度のエージングという状態を示す。図5の上の部分は、寿命全体にわたって一様であると見なされる使用率を示し、ここで警報ゾーンはカードの寿命の80%(0.8T)が経過したときと見なされる。上側のグラフは一様な損耗を示す直線であり、下側のグラフは予備ブロックの数を示す。
カードの使用が一様でなければ、現在の使用率に基づくEOL計算は、使用率の変化に調和するように調整され得る。図6は、カードの使用率が増大し、そして、カードがブロックあたり消去数Nのレベルに遥かに速く達すると予想されるので最終期時間Tの計算が新しい値T’に計算しなおされる場合を示す。
図6の上の部分に示されているように、この例における使用レベル(日あたりの消去数で表された)は、予想される寿命の始めの約三分の一の間は第1のレベルで一定であると解されるが、その後はより高い使用率まで増大する。使用率(日あたりのブロックあたり消去数)が増大するので、残存寿命の割合はより速やかに減少する。これは残存寿命グラフに反映され、始めは第1の一定の傾斜から始まる。使用が一様なままであれば、これは破線で示されているように続く。代わりに、消去数の増大により、傾斜は急になって、より短い予想される寿命を表す。警報ゾーンは再び0.8Tでトリガされる。これはより早いけれども、図6の下のグラフに示されているように、予備ブロックの数は一様な使用の場合と同じ率で減少するかもしれない。
残存寿命の量を実時間単位で表現するために、前述した方法は、現在の使用率を測定するためにシステムクロックのような何らかの時間基準を必要とする。カードの使用が周期的パターンを有する場合には、カードがそのパターンを認識して正確なEOL計算を行うのは困難であるかもしれない。以下のセクションは、システムクロックを持っていないカードにおいて残存寿命を時間単位で計算する1つの実施形態を記述する。
D.ホストによる較正
ホストによる較正の実施形態では、実時間システムクロックを有するホストは、現在の時間値をカードに送る特別のコマンドを使用することができる。また、標準的な作業モードにおいてタイミング情報が存在するならば(例えば、ファイル属性がファイル自体におけるおよび/またはファイルのためのディレクトリレコードにおける最後の更新の時間を含むならば)、この情報は特別のコマンドなしでシステムにより抽出され得る。最も簡単な例は、ディレクトリ更新を監視してファイル項目のための時間/日情報を検査することである。そのときカードはこれらの値を使用して現在の使用率を計算し、その後に残っているカードの寿命を計算することができる。図7はカードの使用が周期的なパターンを有する場合における方法を示し、例えば、使用パターンが日または週の間に特定の高水準および低水準を有するネットワークハブなどの、多くの用途についての代表的な場合である。正確な測定を行うために、ホストは現在の時間値を少なくとも2回、例えば時間t1 およびt2 に送る。カードは、相応して、時間t1 およびt2 までにカードが経験したブロックあたりの平均消去サイクル数n1 およびn2 を時間値自体とともに記憶しなければならない。その後、残存寿命は、
残存寿命(日)=T−t2 =(N−n2 )*(t2 −t1 )/(n2 −n1
として計算され、ここでNはブロックあたりの予想された最大消去数であり、Tは予想された最終期時間である。その後、残っているカードの寿命についての推定がホストにより特別のコマンドで読み出され得る。簡単な実施例は、新しい現在の時間値を送りかつ残存寿命の新しい推定を読み出すために単一のコマンドを使用することである。
図7は、使用を表すために数回調整された推定された寿命を示す。この更新がどのようにして正確に、また不正確に、使用され得るかをも示す。代表的な実施形態では、2つのコマンド間の基準時間間隔は、カードの使用の少なくとも1つの代表的な期間を含む。2つのコマンド間の期間が短すぎれば、計算は不正確であり得る。図7に示されているように、それらのコマンドが高水準使用の間(t’1 およびt’2 )または低水準使用の間(t”1 およびt”2 )に発せられたならば、最終期計算(相応してT’およびT”)は正しいもの(T)から遥かに遠くなり得る。ホストアプリケーションがコマンドを、例えば1週間に1回同じ時間に発するならば、EOL計算はより正確になり得る。時間t1 およびt2 の使用は、サンプル期間のより正確な選択肢を表す選択肢を表す。ここでの想定は、ホストが代表的な使用パターンについて、あるいは少なくともそのパターンの周期についての何らかの知識をカードより良好に持っているということである。
E.ホストによる“実時間”EOL測定とさらなる改良
代わりの方法は使用率測定をホスト自体によって行うことに基づくことができる。この場合、ホストは定期的にパーセントでの相対残存寿命値l1 およびl2 を時間t1 およびt2 にカードから読み出す。ホストアプリケーションは、これらの値と時間とを用いて、
残存寿命(日)=l2 *(t2 −t1 )/(l2 −l1
の計算を行う。従って、パーセントでのEOL計算を伴うカードは、時間単位でのEOL計算を提供するために使用され得るだけである。
本発明の種々の態様は、いくつかのさらなる改良を含むように拡張され得る。例えば、カードまたは他の記憶装置は異なる用途で使用され得るので、これらの方法のうちのいずれかに基づく“実時間”EOL測定は特別のホストユーティリティによりサポートされ得る。このホストユーティリティは、時間値を出すことができ、あるいはEOL計算自体を実行することができる。そのようなユーティリティは、例えば何らかのIDによって識別可能な複数のカードをサポートすることができる。例えば、写真のプロは、そのようなユーティリティを週ベースで使用して自身のカードから残存寿命値を読み出すことができる。
さらに、前の議論は、消去サイクル数のほかには予備のブロックまたはメタブロックの現在の数だけが考慮される場合を考察したけれども、EOL計算に影響を及ぼす他の態様も包含され得る。例えば、ホストのピーク書き込み率もEOL計算に包含され得る。さらに、前述したように、エラー率(特別のマージンがあるかまたはない)、プログラム/消去時間、ECC結果のような他のパラメータ、または他の方法が組み込まれ得る。装置の年齢のこれらの種々の表示は、その使用に従って装置の残存寿命の正確な表示を提供するために単独で、あるいは様々に組み合わされて使用され得る。
従って、本願の例は実例と解されるべきであって、限定をするものと解されるべきではなく、本発明は本願明細書で与えられた詳細に限定されるべきではなくて、添付されている特許請求の範囲内で改変され得る。
不揮発性記憶装置を含む一般的なホストシステムの線図表示である。 例えば図1aの記憶装置120などのメモリシステムの線図表示である。 最終期計算の代表的な場合を示す。 メモリブロックの劣化が予想より速い場合を示す。 最終期計算についての代表的な具体例を示す。 記憶装置の一様な使用を示す。 記憶装置の一様でない使用を示す。 時間単位での較正および最終期計算を示す。

Claims (25)

  1. ホストとともに用いられる、複数の再書き込み可能なメモリセルを有するメモリシステムを動作させる方法であって、
    前記メモリシステムを第1の期間にわたって動作させるステップと、
    前記第1の期間の間の前記メモリセルの損耗を示すパラメータを維持するステップと、
    前記第1の期間の間の前記メモリセルの損耗を示す前記パラメータの値に基づいて前記メモリシステムの残存寿命の予想される量を判定するステップと、
    その後に、前記メモリシステムを第2の期間にわたって動作させるステップと、
    前記第2の期間の間の前記メモリセルの損耗を示すパラメータを維持するステップと、 前記メモリシステムの残存寿命の予想される量を、前記第2の期間の間の前記メモリセルの損耗を示す前記パラメータの値に基づいて修正するステップと、
    前記第1および第2の期間の間に前記メモリシステムの使用パターンを監視するステップと、を含み、
    前記メモリシステムの残存寿命の予想される量を修正するステップは、さらに前記使用パターンに基づく方法。
  2. 請求項1記載の方法において、
    前記メモリシステムは、前記ホストに取り外し可能に接続可能である方法。
  3. 請求項1記載の方法において、
    前記メモリシステムは、組み込み形メモリシステムである方法。
  4. 請求項1記載の方法において、
    前記メモリセルの損耗を示す前記パラメータは、前記メモリセルが前記期間の間に受けた再書き込みの数である方法。
  5. 請求項1記載の方法において、
    前記メモリセルの損耗を示す前記パラメータは、前記期間の間のブロック故障率である方法。
  6. 請求項1記載の方法において、
    前記メモリセルの損耗を示す前記パラメータは、前記期間の間のデータエラーの示度である方法。
  7. 請求項6記載の方法において、
    前記データエラーの示度は、ECC訂正の大きさおよび頻度である方法。
  8. 請求項1記載の方法において、
    前記メモリセルの損耗を示す前記パラメータは、前記期間の間のプログラム時間である方法。
  9. 請求項1記載の方法において、
    前記メモリセルの損耗を示す前記パラメータは、前記期間の間の消去時間である方法。
  10. 請求項1記載の方法において、
    前記メモリセルは複数の物理的消去構造に物理的に配列され、前記方法は予備消去構造の数を監視するステップをさらに含み、前記メモリシステムの残存寿命の予想される量は付加的に予備消去構造の数に基づく方法。
  11. 請求項1記載の方法において、
    前記メモリセルは複数の物理的消去構造に物理的に配列され、前記メモリセルの損耗を示す前記パラメータは予備消去構造の数である方法。
  12. 請求項記載の方法において、
    前記使用パターンを監視するステップは、前記メモリシステムのシステムクロックを用いて行われる方法。
  13. 請求項記載の方法において、
    前記メモリシステムは前記ホストに取り付けられ、前記使用パターンを監視するステップは前記ホストからのクロック値を用いて行われる方法。
  14. 請求項1記載の方法において、
    前記メモリセルの損耗を示す前記パラメータが所定値に達したならば、警報を提供するステップをさらに含む方法。
  15. 請求項1記載の方法において、
    前記メモリシステムは前記ホストに取り付けられ、前記メモリシステムの残存寿命の予想される量は前記メモリシステムへの前記ホストのピーク書き込み率に付加的に基づく方法。
  16. 請求項1記載の方法において、
    前記残存寿命の予想される量の示度は、前記メモリシステムの総予想寿命の割合として提供される方法。
  17. 請求項1記載の方法において、
    前記残存寿命の予想される量の示度は、実時間単位で提供される方法。
  18. 請求項17記載の方法において、
    前記残存寿命の予想される量を修正するステップは、前記予想される寿命を実時間単位で計算するために前記メモリシステムのシステムクロックを使用するステップを含む方法。
  19. 請求項17記載の方法において、
    前記メモリシステムは前記ホストに取り付けられ、前記残存寿命の予想される量を修正するステップは、前記予想される寿命を実時間単位で計算するために前記ホストからのクロック値を使用するステップを含む方法。
  20. 請求項19記載の方法において、
    前記メモリシステムの残存寿命の予想される量は、前記クロック値を含む前記ホストからのコマンドに応答して前記ホストに提供される方法。
  21. 請求項1記載の方法において、
    前記残存寿命の予想される量を修正するステップは、前記残存寿命の予想される量が所定値に達したならば、警報を提供するステップを含む方法。
  22. 請求項1記載の方法において、
    前記残存寿命の予想される量が所定値に達したことに応答して、前記メモリが動作挙動を変えるステップをさらに含む方法。
  23. 請求項22記載の方法において、
    前記残存寿命の予想される量が所定値に達したことに応答して、前記メモリは読み出し専用モードで動作する方法。
  24. 請求項22記載の方法において、
    前記残存寿命の予想される量が所定値に達したことに応答して、前記メモリは動作速度を変える方法。
  25. 請求項22記載の方法において、
    前記残存寿命の予想される量が所定値に達したことに応答して、前記メモリはメモリブロックの使用方法を変える方法。
JP2009511165A 2006-05-15 2007-05-09 最終期を計算する不揮発性メモリシステム Active JP5016027B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/383,384 US7523013B2 (en) 2006-05-15 2006-05-15 Methods of end of life calculation for non-volatile memories
US11/383,397 2006-05-15
US11/383,397 US7778077B2 (en) 2006-05-15 2006-05-15 Non-volatile memory system with end of life calculation
US11/383,384 2006-05-15
PCT/US2007/068605 WO2007134133A2 (en) 2006-05-15 2007-05-09 Non-volatile memory system with end of life calculation

Publications (2)

Publication Number Publication Date
JP2009537904A JP2009537904A (ja) 2009-10-29
JP5016027B2 true JP5016027B2 (ja) 2012-09-05

Family

ID=38694685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009511165A Active JP5016027B2 (ja) 2006-05-15 2007-05-09 最終期を計算する不揮発性メモリシステム

Country Status (4)

Country Link
EP (1) EP2024839B1 (ja)
JP (1) JP5016027B2 (ja)
TW (1) TWI431476B (ja)
WO (1) WO2007134133A2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183133B2 (en) * 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
JP4743905B2 (ja) * 2008-03-25 2011-08-10 Necインフロンティア株式会社 フラッシュメモリ・ストレージ寿命監視装置
CN101625901A (zh) * 2008-07-10 2010-01-13 深圳市朗科科技股份有限公司 半导体存储介质的寿命预警方法、系统及装置
TWI381391B (zh) * 2008-08-05 2013-01-01 Transcend Information Inc 可自我檢測使用狀態的儲存裝置及其檢測方法
JP5319985B2 (ja) * 2008-08-22 2013-10-16 株式会社バッファローメモリ ストレージ機器の使用限界予想方法又はその使用限界予想装置若しくはその使用限界予想時間解析用プログラム
FR2935504B1 (fr) * 2008-09-02 2010-12-10 Oberthur Technologies Systeme de gestion d'usure d'une memoire non volatile reinscriptible.
JP5306745B2 (ja) * 2008-09-05 2013-10-02 ハギワラソリューションズ株式会社 フラッシュメモリの管理方法及びフラッシュメモリデバイス
JP2010061578A (ja) * 2008-09-05 2010-03-18 Jds:Kk 半導体記憶装置の使用限界予想解析用プログラム又はシステム
KR101038167B1 (ko) 2008-09-09 2011-05-31 가부시끼가이샤 도시바 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법
US8255773B2 (en) 2009-06-29 2012-08-28 Sandisk Technologies Inc. System and method of tracking error data within a storage device
JP2011186553A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置
US8516166B2 (en) * 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
JP2011175377A (ja) * 2010-02-23 2011-09-08 Renesas Electronics Corp フラッシュメモリ制御装置及び方法
JP5002719B1 (ja) 2011-03-10 2012-08-15 株式会社東芝 情報処理装置、外部記憶装置、ホスト装置、中継装置、制御プログラム及び情報処理装置の制御方法
FR2977047B1 (fr) * 2011-06-22 2013-08-16 Starchip Procede de gestion de l'endurance de memoires non volatiles.
WO2013094914A1 (ko) * 2011-12-23 2013-06-27 한양대학교 산학협력단 플래시 메모리의 수명 인디케이터를 제공하는 장치 및 장치
KR101404260B1 (ko) 2011-12-23 2014-06-05 한양대학교 산학협력단 플래시 메모리의 수명 인디케이터를 제공하는 장치 및 장치
JP6116119B2 (ja) * 2012-01-04 2017-04-19 矢崎エナジーシステム株式会社 記録媒体寿命監視システム
TWI455140B (zh) * 2012-02-21 2014-10-01 Fluiditech Ip Ltd Flash memory usage period assessment method
KR101480424B1 (ko) * 2013-03-06 2015-01-13 서울시립대학교 산학협력단 하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법
JP6226830B2 (ja) * 2014-07-24 2017-11-08 株式会社東芝 情報処理装置、データアクセス方法およびプログラム
JP6541369B2 (ja) * 2015-02-24 2019-07-10 キヤノン株式会社 メモリのデータ処理を行なうデータ処理装置、データ処理方法、及びプログラム
JP6432499B2 (ja) * 2015-12-18 2018-12-05 京セラドキュメントソリューションズ株式会社 電子機器及びメモリー寿命警告プログラム
JP6515799B2 (ja) * 2015-12-18 2019-05-22 京セラドキュメントソリューションズ株式会社 電子機器及びメモリー寿命警告プログラム
JP6493355B2 (ja) * 2016-10-14 2019-04-03 京セラドキュメントソリューションズ株式会社 メモリーシステム及び画像形成装置
FR3090920B1 (fr) * 2018-12-19 2022-03-04 Continental Automotive France Procede de gestion de memoire flash
WO2020240231A1 (en) * 2019-05-31 2020-12-03 Micron Technology, Inc. Improved safety and correctness data reading and programming in a non-volatile memory device
US10996862B2 (en) * 2019-06-17 2021-05-04 Western Digital Technologies, Inc. Adaptive read trim for second read data retention
US11301343B2 (en) * 2020-06-12 2022-04-12 Taiwan Semiconductor Manufacturing Company Limited Memory block age detection

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512137A (ja) * 1991-06-28 1993-01-22 Fuji Xerox Co Ltd 情報処理装置
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5532962A (en) 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
JP3557511B2 (ja) * 1997-08-27 2004-08-25 沖電気工業株式会社 半導体ディスク装置の寿命算出方法
JP3544859B2 (ja) 1998-05-11 2004-07-21 富士通株式会社 不揮発性半導体メモリを使用した2次記憶装置
JP3065991B2 (ja) * 1998-06-29 2000-07-17 松下電送システム株式会社 フラッシュメモリ制御装置及び方法
JP3242890B2 (ja) * 1998-12-16 2001-12-25 株式会社ハギワラシスコム 記憶装置
US6249838B1 (en) 1998-12-28 2001-06-19 Cisco Technology Inc. Physical medium information in file system header
JP2001154922A (ja) * 1999-11-29 2001-06-08 Murata Mach Ltd メモリ制御装置
JP2003085054A (ja) * 2001-06-27 2003-03-20 Mitsubishi Electric Corp フラッシュメモリを搭載した半導体記憶装置における装置寿命警告発生システムとその方法
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7246268B2 (en) 2002-01-16 2007-07-17 Sandisk Corporation Method and apparatus for dynamic degradation detection
CN100483552C (zh) 2002-10-28 2009-04-29 桑迪士克股份有限公司 在非易失性存储系统中执行自动磨损平衡的方法
US6985992B1 (en) 2002-10-28 2006-01-10 Sandisk Corporation Wear-leveling in non-volatile storage systems
US6830938B1 (en) * 2003-06-24 2004-12-14 Texas Instruments Incorporated Method for improving retention reliability of ferroelectric RAM
US7032087B1 (en) 2003-10-28 2006-04-18 Sandisk Corporation Erase count differential table within a non-volatile memory system
US20050251617A1 (en) 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
JP2005267761A (ja) * 2004-03-19 2005-09-29 Meidensha Corp フラッシュメモリの劣化監視方法
US8402325B2 (en) 2004-08-02 2013-03-19 St-Ericsson Sa Data storage and replay apparatus
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US7447944B2 (en) * 2005-04-29 2008-11-04 Freescale Semiconductor, Inc. Predictive methods and apparatus for non-volatile memory
US20070150644A1 (en) 2005-12-28 2007-06-28 Yosi Pinto System for writing non-volatile memories for increased endurance
US7245556B1 (en) 2005-12-28 2007-07-17 Sandisk Corporation Methods for writing non-volatile memories for increased endurance

Also Published As

Publication number Publication date
TW200819980A (en) 2008-05-01
WO2007134133A2 (en) 2007-11-22
WO2007134133A3 (en) 2008-04-10
EP2024839A2 (en) 2009-02-18
JP2009537904A (ja) 2009-10-29
EP2024839B1 (en) 2014-07-02
TWI431476B (zh) 2014-03-21

Similar Documents

Publication Publication Date Title
JP5016027B2 (ja) 最終期を計算する不揮発性メモリシステム
US7778077B2 (en) Non-volatile memory system with end of life calculation
US7523013B2 (en) Methods of end of life calculation for non-volatile memories
US7596656B2 (en) Memory cards with end of life recovery and resizing
EP2069939B1 (en) End of life recovery and resizing of memory cards
US20080082725A1 (en) End of Life Recovery and Resizing of Memory Cards
US8799747B2 (en) Data hardening to compensate for loss of data retention characteristics in a non-volatile memory
US8452913B2 (en) Semiconductor memory device and method of processing data for erase operation of semiconductor memory device
US8495283B2 (en) Nonvolatile memory device, memory system comprising nonvolatile memory device, and wear leveling method for nonvolatile memory device
TWI459391B (zh) Memory system
US8719660B2 (en) Apparatus and methods for indicating the health of removable storage devices
USRE47946E1 (en) Method for determining the exhaustion level of semiconductor memory
US8407559B2 (en) Monitoring memory
US20110066899A1 (en) Nonvolatile memory system and related method of performing erase refresh operation
JP2004118407A (ja) 不揮発性半導体記憶装置
US8402204B2 (en) Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
WO2003063176A1 (en) Method and apparatus for dynamic degradation detection
WO2005052947A1 (en) Compressed event counting technique and application to a flash memory system
JP2008310948A (ja) 不揮発性メモリ装置、それを含むメモリシステム、そのプログラム方法及び読み出し方法
US7590001B2 (en) Flash memory with optimized write sector spares
US10650879B2 (en) Device and method for controlling refresh cycles of non-volatile memories
CN118349187B (zh) 系统模式控制方法及存储装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120515

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120607

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5016027

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250