JP5102299B2 - メモリカードの寿命末期の回復およびサイズ変更 - Google Patents

メモリカードの寿命末期の回復およびサイズ変更 Download PDF

Info

Publication number
JP5102299B2
JP5102299B2 JP2009530485A JP2009530485A JP5102299B2 JP 5102299 B2 JP5102299 B2 JP 5102299B2 JP 2009530485 A JP2009530485 A JP 2009530485A JP 2009530485 A JP2009530485 A JP 2009530485A JP 5102299 B2 JP5102299 B2 JP 5102299B2
Authority
JP
Japan
Prior art keywords
memory
memory device
host
capacity
indication
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.)
Expired - Fee Related
Application number
JP2009530485A
Other languages
English (en)
Other versions
JP2010505193A (ja
Inventor
エルハミアス,リューベン
Original Assignee
サンディスク テクノロジィース インコーポレイテッド
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/536,192 external-priority patent/US7596656B2/en
Priority claimed from US11/536,158 external-priority patent/US20080082725A1/en
Application filed by サンディスク テクノロジィース インコーポレイテッド filed Critical サンディスク テクノロジィース インコーポレイテッド
Publication of JP2010505193A publication Critical patent/JP2010505193A/ja
Application granted granted Critical
Publication of JP5102299B2 publication Critical patent/JP5102299B2/ja
Expired - Fee Related 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、一般的には、大量デジタルデータ記憶システムに関し、より詳細には、そのようなメモリ素子の容量のサイズを変更することに関する。
フラッシュメモリ記憶システムなどの不揮発性メモリシステムの使用が、そのようなメモリシステムのコンパクトな物理的サイズや不揮発性メモリが繰り返し再プログラムされる能力に起因して増加している。フラッシュメモリ記憶システムのコンパクトな物理的サイズが装置におけるそのような記憶システムの使用を促進しているので、フラッシュメモリ記憶システムはますます普及してきている。フラッシュメモリ記憶システムを使用する装置としては、デジタルカメラ、デジタルビデオカメラ、デジタル音楽プレーヤ、ハンドヘルド形パーソナルコンピュータおよびグローバルポジショニング装置が挙げられるが、それらに限定されない。フラッシュメモリ記憶システムに含まれた不揮発性メモリを繰り返し再プログラムする能力によって、フラッシュメモリ記憶システムは使用され、再使用されることが可能である。
フラッシュメモリシステム内の不揮発性メモリ、すなわちより詳細には不揮発性メモリ記憶セルは、繰り返しプログラムされ、消去されてもよいが、各セルすなわち物理的位置は、セルが摩滅する前にある回数で消去されるだけでよい。いくつかのシステムでは、セルが使用不可能であると考えられる前に、セルは、約1万回まで消去されてもよい。他のシステムでは、セルが磨滅されたと考えられる前に、セルは、およそ10万回まで、または100万回まででさえ消去されてもよい。セルが磨滅され、それによって、フラッシュメモリシステムの全体の記憶量の一部に対して使用ロスまたは性能の顕著な低下をもたらす場合、フラッシュメモリシステムのユーザは、例えば、記憶されたデータのロスまたはデータの記憶不能によって悪影響を及ぼされる可能性がある。
フラッシュメモリシステム内のセル、すなわち物理的位置上の磨耗は、各セルがどれくらいの頻度でプログラムされるかに依存して変化する。セル、すなわちより一般的に記憶素子は、一度プログラムされ、次いで有効に再プログラムされないなら、そのセルに関連した磨耗は、一般的に比較的低くなる。しかし、セルが繰り返し書き込まれ、消去されれば、そのセルに関連した磨耗は、一般的に比較的高い。論理ブロックアドレス(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号
ホストは、フラッシュまたは他のメモリカードなどのメモリ素子の容量のサイズを変更する能力を備えることができる。例示的な実施形態では、サイズ変更は、使用可能な寿命を伸ばすことができるように、メモリ素子の低減された容量で、寿命末期(EOL)状況で使用されることができる。また、ホストは、この目的のための1セットのコマンドによってカードの容量のサイズを変更する能力を備えることができる。1つの実施形態では、メモリ素子の寿命を伸ばす1セットのコマンドは、メモリ素子のステータスを要求する第1のコマンド、カードが作動する論理ユニットのサイズをホストにメモリ素子が報告するための第2のコマンド、メモリ素子の容量のサイズを変更する第3のコマンドを含む。容量サイズ変更コマンドに応じて、カードまたはメモリ素子は、論理ユニットの指定数を消去する。従って、カードは、次いで、そのプロトコル用のそのデータベースを更新することとなる。カードは、このプロセスが完了する場合、ホストに示すことができ、カードは、次いで、論理的に再フォーマットすることができる。
本発明のさらなる態様、利点および特徴は、その例示の実施例の以下の説明に含まれている。本願明細書で参照されるすべての特許、特許出願、論文、本、仕様書、他の出版物、文献および事物は、あらゆる目的のためにその全体が本願明細書において参照により援用されている。援用されている出版物、文献または事物と本願明細書の本文との間の用語の定義または使用における矛盾または不一致がある場合には、本願明細書中の用語の定義または使用が優先する。
本発明は、添付図面と関連して以下の説明を参照することによって最も良く理解される。
不揮発性メモリ素子を含む一般的なホストシステムの図表示である。 メモリシステム、例えば、図1aのメモリ素子120の図表示である。 寿命末期計算の典型的な場合を示す。 メモリブロックの劣化が予想より速い場合を示す。 寿命末期計算のための例示的な実施形態を示す。 メモリ素子の均一な使用を示す。 メモリ素子の均一でない使用を示す。 タイムユニットにおける較正および寿命末期計算を示す。 EOL回復のホスト−カードネゴシエーションの例を示す。
本発明は、ユーザに、メモリカードまたは制限のある寿命の他のメモリ素子の残りの寿命情報および寿命末期(EOL)情報をもたらすことに関する。本願明細書に記載された実施形態は、不揮発性EEPROM系メモリシステムについて説明しているが、本発明の種々の態様は、「磨耗」の影響を受けやすい任意のタイプの記憶媒体に適用可能である。例えば、新たなタイプの不揮発性メモリ技術は、相変化メモリである。所定の材料の相を変化することにより情報が記憶される。そのようなシステムの他の多くの例が、米国特許出願第10/841,379号(特許文献2)に挙げられている。そのようなシステムは、さらに、「磨耗」する傾向がある可能性があり、記憶媒体は、媒体が繰り返される回数が増加するので、情報を記憶することができない。本発明は、容易にそのような技術に適用することができる。
「よりなだらかな」操作値またはアルゴリズム(知的消去またはプログラミングプロセスにおけるなど)、(例えば、米国特許出願第10/686,399号(特許文献3)に記載された)磨耗平滑化(wear leveling) を使用する、(例えば、米国特許第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は、典型的には、データを読み出すかまたは検索し、かつデータを保存しないように配置されたMP3プレーヤなどの装置であってもよい。
不揮発性メモリ素子120は、バス104と接続するように配置されて、情報を記憶する。任意のインターフェイス回路ブロック130は、不揮発性メモリ素子120がバス104と通信することを可能とする。インターフェイス、例えばインターフェイス回路ブロック130が存在する場合、インターフェイス回路ブロック130は、バス104上でのロードを低減する役目をする。不揮発性メモリ素子120は、不揮発性メモリ124およびメモリ制御システム128を含む。1つの実施形態では、不揮発性メモリ素子120は、単一チップまたは金型で実装することができる。または、不揮発性メモリ素子120は、マルチチップモジュールで、または多数の個別の部品として実装することができる。不揮発性メモリ素子120の1つの実施形態は、図1bについてより詳細に以下に説明される。不揮発性メモリ素子120は、実質的に、任意の適切な不揮発性メモリ素子、例えば、取り外し可能なメモリカードまたは組み込みサブシステムであってもよい。
不揮発性メモリ124は、必要に応じて、データがアクセスされ、読み出されるように、データを記憶するように配置されている。データを記憶し、データを読み出し、データを消去する方法は、一般的には、メモリ制御システム128によって制御される。1つの実施形態では、メモリ制御システム128は、不揮発性メモリ124の異なる部分が実質的に同じ割合で磨滅されることにより、その寿命が実質的に最大にされるように、不揮発性メモリ124の操作を管理する。例えば、メモリコントローラは、領域の部分が激しい磨耗を受ける状態で、低い磨耗のブロックを再利用するなどの多数の磨耗平滑化技術の1つを実行することができる。磨耗平滑化技術のいくつかの例が、2004年11月15日に出願された米国特許出願第10/990,189号(特許文献8)に挙げられている。
不揮発性メモリ素子120は、一般的には、メモリ制御システム128、つまりコントローラを含むように記載されている。具体的には、不揮発性メモリ素子120は、不揮発性メモリ124およびコントローラ128の機能のための個別チップを含んでいてもよい。一例として、これらに限定されないが、PCカード、コンパクトフラッシュカード、マルチメディアカードおよびセキュアデジタルカードを含む不揮発性メモリ素子が、個別のチップに実装することができるコントローラを含む一方で、他の不揮発性メモリ素子は、個別のチップに実装されるコントローラを含まなくてもよい。不揮発性メモリ素子120が個別のメモリおよびコントローラチップを含まない実施形態では、メモリおよびコントローラの機能は、単一チップに一体化されてもよい。さらに、コントローラは、ホストシステム上に位置してもよく、不揮発性メモリ素子120は、コネクタまたは他のタイプのインターフェイスを介してホスト上のコントローラに接続される。それとは関係なく、本発明の範囲は、メモリシステムの異なる形態および組み合わせをすべて包含し、メモリ媒体内の磨耗のレベルは、制御システムによって制御される。例えば、コントローラは、ホストシステムのマイクロプロセッサ上のソフトウェア内で実装されてもよい。
図1bを参照して、不揮発性メモリ素子120の1つの例がより詳細に説明される。当然のことながら、図1bは、単一フラッシュメモリチップ124および個別のコントローラ128を含む不揮発性メモリ素子120の1つの実施形態を示す。メモリ124は、半導体基板上に形成された適切なアドレス回路および制御回路と共に、メモリセルのアレイであってもよく、1ビット以上のデータが、メモリセルの個々の記憶素子に2つより多いレベルのうちの1つまたは電荷分布を記憶することにより、個々のメモリセルに記憶される。不揮発性でフラッシュ形の電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)は、そのようなシステム用メモリの普通のタイプの例である。
説明される実施形態では、コントローラ128は、データを記憶するためにメモリシステムを使用するホストコンピュータまたは他のシステムにバス15を介して通信する。バス15は、一般的に、図1aのバス104の一部である。制御システム128は、また、メモリ124の操作を制御し、メモリ124は、メモリセルアレイ11を含んでいてもよく、ホストによってもたらされるデータを書き込み、ホストによって要求されたデータを読み出し、メモリ124を操作する際に様々なハウスキーピング機能を行う。制御システム128は、関連したメモリ、様々な論理回路等を有する汎用マイクロプロセッサまたはマイクロコントローラを含んでいてもよい。1つまたは複数の状態マシンも、特殊ルーチンの性能を制御するためにしばしば含まれる。
メモリセルアレイ11は、典型的に、アドレスデコーダ17を介して、制御システム128によってアドレスされる。デコーダ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は、オーバーヘッドデータのうちのいくつかまたはすべてを含んでいてもよい。データがアレイ11にプログラムされる場合、制御システム128の一部23は、ECCを計算し、データがアレイ11から読み出される場合、ECCのチェックもする。また、オーバーヘッドデータは、ユーザデータの論理アドレス、ページおよび/またはブロックの物理アドレス、アドレス地図情報、物理ブロックによって受けた消去サイクルの数、暗号情報および/または他の統計値またはデータを含んでいてもよい。図1bに示されるように、オーバーヘッドデータの一部またはすべては、各ページに記憶されてもよい。または、オーバーヘッドデータの一部またはすべては、各ブロック内の特定位置に記憶されてもよく、あるいはユーザデータから離れたブロックにさらに記憶されてもよい。オーバーヘッドデータに記憶されたECCを、エラーにおけるビット数を示すことにより読み出された関連するデータの信頼性のある表示を付与するために使用することができる。メモリシステムコントローラは、そのようなエラーの頻度および大きさを追跡することができる。この情報は、セルのグループの磨耗を推測することができるパラメータを提供する。
データの1つのセクタは、各ページに最も一般的に含まれているが、2つ以上のセクタがその代わりにページを形成してもよく、あるいはページはセクタより小さくてもよい。例えば、米国特許第5,890,192号(特許文献9)および第5,430,859号(特許文献10)は、チャンクのユニットにおけるデータのプログラミングおよび読み出しについて説明し、チャンクは、セクタの一部分である。いくつかのメモリシステムでは、1つのセクタは、1つのページに含まれ、1つのページは、ブロックを形成してもよい。より一般的には、NANDメモリシステムでは、1つまたは複数のセクタが、各ページに含まれ、8、16または32ページがブロックを形成する。他のメモリシステムでは、ブロックは、512、1,024またはより多いページなどの比較的多数のページから形成される。ブロックの数は、メモリシステムに所望のデータ記憶容量を提供するために選択される。アレイ11は、典型的には、少数のサブアレイ(図示せず)に分割され、それぞれは、ブロックの一部を含み、それらは、様々なメモリ操作の実行において並列度を増加させるために多少互いに独立して作動する。多数のサブアレイの使用の例は、前に援用されている米国特許第5,890,192号(特許文献9)に記載されている。
メモリ124上での操作のいくつかを、それが有する能力に依存して実行することができるが、以下のセクションにより詳細に記載されたトラッキングアルゴリズムおよび様々な寿命末期技術を、そのCPU(明確には示されていない)を使用して、コントローラ128上で実行する。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)に記載された周期磨耗平滑化法では、すべての計算は、X平均消去の関数(典型的には線形)となり、Xは、磨耗平滑化変換操作間に行われる消去数である。スペアメタブロックの現在の数または消去の他の論理または物理ユニットを、さらに考慮に入れることもできる。スペア(またはプログラムまたは消去時間)の数が劇的に落ちる(または、エラー率が上がる)なら、平均ホットカウントに基づいて計算された「寿命の割合」を調節することができる。
寿命末期(EOL)計算の主要原理のいくつかが、図2a〜図2c、図3に示され、図2a〜図2cは、典型的な寿命末期の場合を示し、図3は、メモリブロックが予想されるより速く低下する状況を示す。特にこの例において、調節は、ブロック破壊の数およびスペアブロックの数のみに基づいてなされる。より一般的には、他のパラメータ(エラー率、プログラムまたは消去時間など)を考慮に入れることができる。典型的な場合では、ブロック破壊確率(図2a)は、平均ブロック消去サイクルの数にバスタブ依存性を有し、ここで、高くなる急勾配が、作業電圧や温度などのメモリタイプ(フローティングゲートEEPROM、誘電体など)および条件に特有である。初期段階では、弱いまたは不完全なセルは、比較的急速に故障し、その後、可能性は、装置の寿命のほとんどを通じて多かれ少なかれ平坦なままである。メモリセルが磨滅し始めるので、寿命末期が近づき、警告ゾーンに入ると可能性は険しくなる。EOL計算方法は、この依存性の使用に基づき、平均ブロック消去サイクルの数上の故障したブロックの数に依存して他の形態で示すこともできる(図2b)。すべての所定の製品に関して、典型的または最悪の場合の依存性は、現実的なEOL計算を行うために知られているべきである。
図2cは、装置に残るスペアブロックの数に関してこの同じ情報を示す。図2cは、経過した寿命の割合(ここでは、80%)に基づく警告ゾーンを示すことに加えて、さらに、利用可能なスペアブロックの数が危険なほど低くなる範囲(「下スペア」)を示す。
図2a〜図2cは、メモリ素子が、予想される低下パターンに従う場合を示す。しかし、より一般的に、装置が操作されるとともに、低下の割合は、予想レベルまたは変化と異なっていてもよい。例えば、その寿命のある程度まで、装置がより厳しい作動条件で使用されてもよく、その結果、劣化の割合が増大する。これは、図3に示されている。実線は、図2cに示されるものと同じであり、破線は、より速い劣化による変動値である。図に示すように、低下の割合は、予想通りに開始するが、次いで、ちょうど予想される消去サイクルの標準数に基づいて、予想されるより急速に増大する。
EOL計算は、ブロック消去の最大数Nに対する平均ブロック消去の現在の数nの比較に基づき、ここで、Nは、実際の予想される最悪の場合であり、カード上の消去サイクル平均ブロックの数とすることができる。Nは、高度に、メモリタイプ、電圧範囲、作動温度範囲、アクセスパターン、スペアブロックの最初の数などに依存する。主な問題は、パラメータの関数として、合理的に正確なブロック破壊依存性を得ることである。残りのカード寿命は、通常、Nに対する割合で計算される。

残りの寿命、%=(N−n)/N* 100%

例えば、nが0.8Nであるなら、そのとき、残りの寿命=20%である。
EOLを示す他の方法は、カードがあるレベルの磨耗に達したという表示になり得る。この例において、カードが80%磨滅していると考えられ、カードが「警告」作業ゾーンにある場合、EOL警告が与えられる。警告フラグは内部にセットすることができ、特有のコマンドが出されれば、ホストに示されることになる。消去サイクルの平均数がNに達するなら、そのとき、0%の残りの寿命が、スペアブロックを使い果たすまで、カードが完全に作業し続ける間示されるべきである。カードがスペアブロックを使い果たしている場合、読み出し専用モードに進むべきである。
消去サイクルに基づいた計算に加えて、カード上のブロックの進行中の低下が、図3に示されるように、予想されるブロック破壊分布と異なるなら、EOL計算は調節することができる。図3は、この場合、警告が、ブロック当たりの高い消去サイクル数ではなく、低レベルの残りのスペアブロックによって引き起こされることができることを示す。したがって、消去されたサイクル数に基づいたEOL計算は、カードの実際の状態と一致するために補正される。最も単純な実行が、低いEOL値を約5%にちょうど設定することができるとともに、1つのスペアブロックのみが残るなら警告することができる。EOL計算は、この場合、図4の表に要約された規則に従う。
図4は、メモリが終わった消去サイクルの数およびスペアブロックの数の両方を考慮に入れる寿命末期計算の1つの特有の実施形態を示す。消去サイクル数は、アクセス数につれて連続的に増大する一方で、スペアブロック数は不連続的に減少する。行は、予想される寿命Nに関して表された消去サイクル数に相当し、Nは、装置が操作されて、使用に依存して、増加または減少されるので更新することができる。第1行は、0.8N未満の安全範囲であり、第2行は、0.8N〜1Nの警告ゾーンであり、下部行は、予想される寿命が到達された場合のためである。第1列は、より多いスペアブロックが残る場合のためであり、その場合には、寿命は、残りの予想される割合として表される。第2列は、単一のスペアブロックのみが残る場合のためであり、その場合には、Nが到達されなければ、寿命は、5%の初期値に設定され、その場合には、この値は、無効にされ、0%に設定される。最後の列は、スペアブロックが残らない場合のためであり、その場合には、寿命は、0%として得られ、装置は、例示的な実施形態において、読み出し専用モードの状態になる。左上の角は、第1の列の残りおよび第2の列のすべてとともに、安全操作のゾーンであり、EOLフラグが最後の列の読み出し専用モードにさらに入る装置で設定される場合には警告ゾーンである。
より一般的に、説明される様々な実施形態のメモリは、1つまたは複数の寿命末期の基準が満たされるかまたは近似することに基づいて、1つまたは複数の方法でその挙動を変更することができる。メモリは、読み出し専用モードに入るかまたはその挙動を変更することに加えて、様々な操作を遅くし、それらのアルゴリズムを変え、特殊な目的のブロック数を低減することなどができる(米国公開特許出願第2005/0144365号(特許文献15)の例示的な実施形態の更新ブロックなど)。
システムは、寿命末期情報を受ける際、複数の方法でユーザに通知または警告することができる。例えば、システムは、状況バーを介して、ユーザにこの情報を提供し、寿命末期評価が更新されるので、このディスプレイを更新することができる。ユーザがこの情報に基づいて講ずる任意の行為に加えて、実施形態に依存して、ホスト自体は、方法自体をとることができる。例えば、警告は、ホストの操作システムで、または様々なアプリケーションに渡すことができる。次いで、バックアッププロセスの活性化またはアプリケーションのシャットダウン、ホストシステムの部分またはすべてをもたらすことができる。
前に説明したように、前述した実施形態は、消去数、スペアブロックの数またはこれらの組み合わせを使用するが、他のパラメータも、年齢の測定基準として、これらのパラメータと結合して、またはこれらのパラメータの代わりに使用することができる。例えば、調節も、ブロック破壊率(例えば、プログラムおよび/または消去故障の間の距離に基づいて)、ECC結果、プログラムまたは消去時間、またはセル年齢を示す他の特性などのものを組み込むことにより、メモリセル挙動に基づくことができる。使用可能なECC結果は、エラーの数、最大またはデータのユニットあたり、これらのエラーの大きさ(使用されるECC方法がこれらを供給するなら)、そのようなエラーの頻度、またはこれらのいくつかの組み合わせを含むことができる。
通常状態で読み出しエラーがない場合さえ、マージン読み出し(米国特許第5,532,962号(特許文献4)に記載されるものなど)は、データ保持品質を評価するために使用することができ、様々な実施形態による、コントローラ、メモリチップ自体、他のメモリチップ、またはホストから様々な基準電圧を提供することができる。これらの様々な調節パラメータは、個々に、EOL用の唯一の評価パラメータとして使用することができる。例えば、スペアブロックの数は、単独で、EOLを判断するために単独で使用することができる。また、多くの場合、様々なパラメータ間に相関性または重複さえあるが、より良好な結果が、多くの場合、より多くのパラメータを考慮に入れることによって達成することができる。例えば、複数のスペアブロックがあってもよいが、遅いプログラミング速度は、EOLが近いことを示す。同一のセルの仮想の場合では、これらの理想的なセルは、すべて同時に故障し、データ読み出し時に同じエラー率を示す。さらに、スペアがあってもよく、プログラム時間は、あまり長くないが、エラー率は高い。これは、同様に、EOLが、データ保持が劣っていることに起因して近いことを示す。
C.タイムユニットにおける寿命末期計算−主要原理
時間、日および週などのタイムユニットでのEOL計算は、カードの使用パターンおよびアクセス頻度に基づくことができる。さらなる使用パターンの場合には、システムクロックがあり、カードの使用率が測定される場合、タイムユニットにおける残りの寿命の計算を行うことができる。以下の例において、時間における残りの寿命は、ブロックn当たりの消去サイクルの現在の数および1日当たりのブロック当たりの消去の現在の数の関数として算出することができる。

残りの寿命(時間)=(N−n)/(N* #時間当たりのブロック当たりの消去)

この場合、図5に示すような時間Tは、カードがブロック当たりN平均消去のレベルに達する場合の状態に相当する全体のカード寿命である。同様に、残りの寿命が20%のレベルは、カードの残りの寿命が0.2Tであることを意味する。
図5は、均一な使用および一貫した作動状況に起因して、またはより複雑な状況の近似として、エージング状況の一定の割合を示す。図5の上部は、使用率を示し、寿命の間均一ととられ、警告ゾーンは、カードの寿命(0.8T)の80%が経過した場合としてとられる。上のグラフが均一な磨耗を表示する直線である一方で、下のグラフはスペアブロックの数を示す。
カードの使用が均一でない場合、現在の使用率に基づいたEOL計算は、使用率の変化と一致するように調節することができる。図6は、カードの使用率が増大し、寿命末期の時間Tの計算が、カードがブロック当たりのN消去のレベルに非常にすぐに達すると予想されるときに、新しい値T’に再計算される場合を示す。
図6の上部に示すように、この例における使用のレベル(1日当たりの消去数の観点から)は、そのとき、使用のより高い割合に増大する場合、予想される寿命の最初の1/3の間、第1のレベルで一定としてとられる。使用率(1日当たりのブロック当たり消去数)が増大するので、残りの寿命の割合はより急速に減少する。これは、残りの寿命グラフに反映され、第1の一定の傾斜で始まる。使用が均一のままなら、破線で示すように継続する。消去数の増大により、傾斜は、その代りに急勾配になり、より短い予想される寿命を反映する。警告ゾーンは、再び、0.8Tで引き起こされる。ここではより早いが、図6の下のグラフに示すように、均一使用の場合に関して同じ割合で数が減少してもよい。
リアルタイムユニットで残りの寿命量を表すために、前述した方法は、現在の使用率を測定するために、システムクロックなどのいくつかの時間参照を必要とする。カードの使用が周期的パターンを有する場合には、カードがパターンを認識し、正確なEOL計算を行うことは困難である可能性がある。以下のセクションでは、システムクロックを有さないカードにおいて、タイムユニットで残りの寿命を算出する1つの実施形態について説明する。
D.ホストによる較正
ホストによる較正の実施形態では、ホストは、リアルタイムシステムクロックを有し、カードに現在の時間値を送るために、特有のコマンドを使用することができる。また、タイミング情報が、標準作動モード(例えば、ファイル属性が、ファイル自体におよび/またはファイル用ディレクトリ記録に最後の更新の時間を含むなら)に存在するなら、この情報は、特有のコマンドなしでシステムによって抽出することができる。最も単純な例は、ディレクトリ更新をモニタし、ファイルエントリに関する時間/日付情報をチェックすることである。カードは、そのとき、現在の使用率、および残りのカードの寿命を算出するために、それらの値を使用することができる。図7は、カードの使用が、周期的パターンを有する場合での方法を示し、多くのアプリケーション、例えば、使用パターンが日または週の間に特定の最高値および最低値を有するネットワークハブのための典型的な場合である。ホストは、正確な測定を行うために、少なくとも2度、例えば、時間t1 およびt2 で現在の時間値を送る。カードは、時間値自体と同様に、時間t 1 および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)から遠くなり得る。ホストアプリケーションがコマンドを例えば、週に一度同時に出す場合、EOL計算は、より正確になり得る。時間t1 およびt2 の使用は、サンプル期間のより正確な選択を反映する選択を反映する。ここでの仮定は、ホストが、典型的な使用パターンについてのいくつかの認識、または少なくともパターンの期間を有し、そのとき、カードは良好であるということである。
E.ホストによる「リアルタイム」EOL測定およびさらなる改良
代替の方法は、ホスト自体による使用率測定を行うことに基づくことができる。この場合、ホストは、周期的に、時間t1 およびt2 でカードから割合l1 およびl2 で残りの寿命値を読み出す。ホストのアプリケーションはこれらの値および時間を使用し、以下の計算を行う。

残りの寿命(日)=l2 * (t2 −t1 )/(l2 −l1

したがって、割合でEOL計算を有するカードのみは、タイムユニットにおけるEOL計算を提供するために使用することができる。
本発明の種々の態様は、多くのさらに改良を含めるために広げることができる。例えば、カードまたは他のメモリ素子は、異なるアプリケーションで使用することができるので、これらの方法のいずれかに基づいた「リアルタイム」EOL測定は、特有のホストユーティリィティによってサポートすることができる。ホストユーティリィティは、時間値を出すか、またはEOL計算自体を行なうことができる。そのようなユーティリィティは、例えば、いくつかのIDによって特定可能な多数のカードをサポートすることができる。例えば、写真専門家は、週ベースでそのようなユーティリィティを使用し、カードから残りの寿命値を読み出すことができる。
さらに、前述した検討は、消去サイクル数に加えて、スペアブロックまたはメタブロックの現在の数のみを検討する場合を考慮したが、EOL計算に影響する他の態様も含めることができる。例えば、ホストのピーク書き込み割合もEOL計算に含めることができる。さらに、前述したように、エラー率(特有のマージンの有無に関わらず)などの他のパラメータ、プログラム/消去時間、ECC結果、または他の方法を組み込むことができる。装置年齢のこれらの様々な表示は、その使用による装置の残りの寿命の正確な表示を提供するために、単独でまたは種々に組み合わせて使用することができる。
F.寿命末期の回復およびカードサイズ変更
前のセクションで検討したように、フラッシュ(およびその他の)メモリが耐久限度を有するので、ホスト側で書き込み失敗をする前に、メモリが認めることができる書き込みサイクルのいくつかの最大数がある。一旦フラッシュカードが耐久限度に達すると、ホストは書き込みまたは消去の失敗に遭遇し始め、結局、自由な書き込みブロックを使い果たし、書き込みコマンドの拒絶をもたらす。結局、カードは、さらなる書き込み操作を可能とすることなく、読み出し専用モードの状態になり得る。このセクションでは、ホストは、カードの容量のサイズを変更する能力を備えている。例示的な実施形態では、この目的のためにホストに1セットのコマンドを備えることによって行われて、カードがさらなる書き込み操作に使用されることを可能にする。これらのコマンドは、寿命末期(EOL)の状況において、主として記載されるが、メモリのサイズを変更する目的のために、より一般的に使用することができる。如何なる物理ブロックをも解放しないので、論理フォーマット(DOS、FATなど)のカードの容量を低減するだけでは、十分ではないことに留意するべきである。
例示的な実施形態では、コマンドの以下のセットは、その容量の低減により当該分野におけるフラッシュメモリの寿命を伸ばすために使用することができる。

カード状況を得る
論理ユニットサイズを得る
容量のサイズを変更する

「カード状況を得る」コマンドは、前のセクションで説明されたEOL状況要求のいずれかとすることができる。これは、カードがその寿命末期に達したかどうか、またはそうすることにいかに近いかどうかをホストに示す。多くの変化によれば、前述したように、この状況は、カードが警告ゾーンに達する場合やカードが読み出し専用モードの状態になる場合など、特定の要求なしでカードからホストに送られてもよい。このコマンドは、また、状況の提供に加えて、カードが回復するために消去される必要のある論理ユニットの最小数を含むこともできる。他の実施形態では、残りの寿命量が、あるしきい値を下回る場合にこの情報を送りさえすればよく、または個別のコマンドに応じて送ることもある。カードが、寿命末期警告を自動的に送る場合、それは、また、論理ユニットの最小消去を供給して、自動的にまたは個別のコマンドに応じて回復することができる。
カードは、「論理ユニットサイズを得る」コマンドに応じて、例えば、カードが作動する各論理ユニットのセクタ数として、ホストにサイズを報告する。例えば、論理ユニットの実サイズは、メタブロック中のセクタの数とすることができる。ホストは、それが、カードの容量から解放するセクタの数を計算するためにこの数を使用し、これらのセクタを消去するために、「容量のサイズを変更する」コマンドを送ることができる。ホストは、論理ユニットサイズの認識を既に有するので、このコマンドは、必要ではない可能性がある。他の変形例では、この情報は、「カード状況を得る」コマンドに応じて、または自動的に、最小消去ユニット情報と一緒にホストに送ることができる。
カードは、次いで、「容量のサイズを変更する」コマンドに応じて、論理ユニットの指定された数を消去する。従って、カードは、次いで、そのプロトコル用のそのデータベースを更新する。例えば、SDカードの場合には、カード特定データ、すなわちCSD、レジスタ(ホストが、メモリ素子の容量を算出することができる)は更新される。カードは、このプロセスがいつ完了するかをホストに示す。カードの容量が変化したので、ホストは、次いで、新しいフォーマットにカードを論理的に再フォーマットする。例えば、ホストが、カードの低減された容量を設定するなら、ホストは、カードのさらなる使用の前に、新しいサイズで使用されるファイルシステムを次いで更新する責任を負うことができる。ホストは、任意の重要データをバックアップし、回復プロセスが完了した後、どのデータが書き込まれないかを決定する。図8は、例示的な実施形態のプロセスを示す。
メモリ素子の容量が低減されるので、ユーザ、ホストまたはいくつかの組み合わせは、論理ユニットのうちのいくつかを消去する必要がある。カードの容量および論理ユニットサイズから、論理ユニットの数を得ることができる。実施形態の1つのセットでは、ユーザは、メモリを解放するためにどの論理ユニットが消去されるかを決定することができる。「容量のサイズを変更する」コマンドは、次いで、コマンドの一部としてどの論理ユニットを消去するべきかの詳細を含めることにより、いくつかの論理ユニットを消去するようにカードに指示することができる。
寿命末期(EOL)状況で説明するが、そのようなカードのサイズ変更は、他のアプリケーションに利用することができる。例えば、ホストは、カード(最後の論理ユニットセグメントとして、論理用語で)の最後にデータを保存し、この論理ユニットのサイズによってカードの認められる容量を低減することによって、それを他のユーザから隠すことができ、その結果、セグメントが他のユーザに見えないので、それはアクセスされない。他の例では、明白なアドレス空間からかなりの数のセクタを有効に取り出すことによって、より小さな容量カードにより大きな容量カードを引き下げることにより、製造中にカード容量が低減される状況であってもよい。「容量のサイズを変更する」コマンドの導入は、ホストにEOL回復と他の目的との両方のためにこのプロセスに参加する能力を付与する。1つの用途(EOL状況で使用することができる)は、例えば、128Mバイトを64Mバイトと偽る実際の物理容量でカードを送り、システムに64Mバイトのみを使用させて、新たなメモリとして予備に残りの64Mバイトを維持することである。第1の64Mバイトがその使用可能な寿命末期に近づく場合、カードは、ホストに通知することができ、例えば、コマンドを出して第1のパーティションの内容を第2のパーティションにコピーすることによって、ホストに第2の新たな64Mバイトのパーティションの使用を開始させることができる。「長」時間(透明に隠すことができた時間量を大きく超える)がかかるので、カードによって自動的に実行されるのに対して、ホストがこれをすることは適切であり、ホストが決定することが好ましい。
したがって、これら実施例は、実例と考えられ、限定ではなく、また本発明は、本願明細書に記載された内容に限定されず、添付の特許請求の範囲内で変更されてもよい。

Claims (28)

  1. それぞれが複数の不揮発性メモリセルを有するとともに論理ユニットで構成された複数の物理メモリセグメントを有するメモリ素子を操作する方法であって、
    ホストからのアクセス要求に応じて、前記メモリ素子が第1のアクセス可能な物理メモリ容量を前記ホストにもたらす第1のモードで操作するステップと、
    前記メモリ素子の予想される残りの寿命量の表示を前記ホストに送信するステップと、
    前記メモリ素子の予想される残りの寿命量の表示を前記ホストに送信するステップに応じて、アクセス可能な物理メモリ容量を第1のアクセス可能な物理メモリ容量から第2のアクセス可能な物理メモリ容量に低減するために、前記メモリ素子でホストからコマンドを受けるステップと、
    前記コマンドを受けるステップに次いで、次のアクセス要求に応じて、前記メモリ素子が第2のアクセス可能な物理メモリ容量をもたらす第2のモードで操作するステップと、
    を含む方法。
  2. 請求項1記載の方法において、
    前記アクセス可能な物理メモリ容量を低減するためホストからメモリ素子へのコマンドに応じて、前記メモリ素子が前記不揮発性メモリセルの多くの論理ユニットを消去する方法。
  3. 請求項2記載の方法において、
    前記アクセス可能な物理メモリ容量を低減するためホストからメモリ素子へのコマンドに応じて、前記メモリ素子は、前記メモリ素子が作動するプロトコルを更新する方法。
  4. 請求項3記載の方法において、
    前記メモリ素子が作動するプロトコル更新することは、ホストによりアクセス可能であり、かつ前記メモリ素子の容量を示す1つまたは複数のレジスタ値をリセットすることを含む方法。
  5. 請求項3記載の方法において、
    前記プロトコル更新することは、前記論理ユニットの各々で構成された物理メモリセグメントの数を変更することを含む方法。
  6. 請求項3記載の方法において、
    前記不揮発性メモリセルの多くの論理ユニットを消去した後に、前記ホストが第2のアクセス可能な物理メモリ容量のアクセス可能な物理メモリ容量を有するメモリ素子にアクセスする前に、前記メモリ素子は、消去が完了している表示をホストに送る方法。
  7. 請求項2記載の方法において、
    アクセス可能な物理メモリ容量を低減するためのホストからメモリ素子へのコマンドの一部として、消去のために前記不揮発性メモリセルの多くの論理ユニットを受けるステップをさらに含む方法。
  8. 請求項1記載の方法において、
    前記ホストが第2のアクセス可能な物理メモリ容量のアクセス可能な物理メモリ容量を有するメモリ素子にアクセスするメモリシステムを操作する前に、前記メモリ素子を再フォーマットするステップをさらに含む方法。
  9. 請求項記載の方法において、
    ホストからの状況要求に応じて、前記メモリ素子の予想される残りの寿命量の表示を前記メモリ素子がホストにもたらすステップをさらに含む方法。
  10. 請求項記載の方法において、
    予想される残りの寿命量が所定の値未満であると前記メモリ素子が決定することに応じて、前記メモリ素子の予想される残りの寿命量の表示を前記メモリ素子がホストにもたらすステップをさらに含む方法。
  11. 請求項記載の方法において、
    前記メモリ素子の予想される残りの寿命量の表示は、メモリ素子が読み出し専用モードに移行することに応じて、メモリ素子からホストにもたらされる方法。
  12. 請求項記載の方法において、
    前記メモリ素子の予想される残りの寿命量の表示は、消去するために多くの論理ユニットを含む方法。
  13. 請求項1記載の方法において、
    前記ホストが第2のアクセス可能な物理メモリ容量のアクセス可能な物理メモリ容量を有するメモリ素子にアクセスするメモリシステムを操作する前に、前記ホストがメモリ素子に記憶されたデータをバックアップするステップをさらに含む方法。
  14. メモリ素子であって、
    それぞれが複数の不揮発性メモリセルを有するとともに論理ユニットで構成された複数の物理メモリセグメントを有するメモリと
    1のアクセス可能な物理メモリ容量を有するメモリに論理的にアクセスし、前記メモリの予想される残りの寿命量の表示をホストに送信し、前記予想される残りの寿命量の表示に応じてホストからコマンドを受け、前記コマンドを受けることに応じて、次いで、第1のアクセス可能な物理メモリ容量未満である第2のアクセス可能な物理メモリ容量を有するメモリに論理的にアクセスするように構成されるコントローラと、
    を備えるメモリ素子。
  15. 請求項14記載のメモリ素子において、
    前記メモリは、前記不揮発性メモリセルに取り付け可能な消去回路をさらに備え前記ホストからのコマンドに応じて、前記メモリ素子前記不揮発性メモリセルの多くの論理ユニットを消去するように構成されるメモリ素子。
  16. 請求項15記載のメモリ素子において、
    前記コントローラは、プロトコルにしたがって前記メモリ素子を操作し、かつ前記コマンドに応じて、前記メモリ素子が作動するプロトコルを更新するメモリ素子。
  17. 請求項16記載のメモリ素子において、
    前記メモリ素子は1つまたは複数のレジスタを備え前記プロトコル更新することは、ホストがメモリ素子の容量を決定することができる1つまたは複数のレジスタ値をリセットすることを含むメモリ素子。
  18. 請求項16記載のメモリ素子において、
    前記プロトコル更新することは、前記コントローラが前記論理ユニットの各々構成された物理メモリセグメントの数を変更することを含むメモリ素子。
  19. 請求項16記載のメモリ素子において、
    前記不揮発性メモリセルの多くの論理ユニットの消去が完了した後に、前記コントローラは、消去が完了している表示をホストに送るメモリ素子。
  20. 請求項16記載のメモリ素子において、
    前記コマンドは、消去するために前記不揮発性メモリセルの論理ユニットの数を供給するメモリ素子。
  21. 請求項14記載のメモリ素子において、
    不揮発性メモリセルは有限数の書き換えサイクルの寿命を有し、前記メモリ素子は前記不揮発性メモリセルに接続可能な書き換え回路をさらに含むことによって不揮発性メモリセルを書き換えることができ、前記コントローラは不揮発性メモリセルが受ける書き換え数を示すパラメータを維持し、前記パラメータの値に基づいてメモリシステムの予想される残りの寿命量の表示を決定し、かつ前記予想される残りの寿命量の表示をホストにもたらし、前記アクセス可能な物理メモリ容量を低減するためのホストからメモリ素子へのコマンドは前記メモリ素子の予想される残りの寿命量の表示に応じるメモリ素子。
  22. 請求項21記載のメモリ素子において、
    前記メモリ素子の予想される残りの寿命量の表示は、ホストからの状況要求に応じて、メモリ素子からホストにもたらされるメモリ素子。
  23. 請求項21記載のメモリ素子において、
    前記メモリ素子の予想される残りの寿命量の表示は、予想される残りの寿命量が所定の値未満であることに応じて、メモリ素子からホストにもたらされるメモリ素子。
  24. 請求項21記載のメモリ素子において、
    前記メモリ素子の予想される残りの寿命量の表示は、メモリ素子が読み出し専用モードに移行することに応じて、メモリ素子からホストにもたらされるメモリ素子。
  25. 請求項21記載のメモリ素子において、
    前記メモリ素子の予想される残りの寿命量の表示は、消去するために多くの論理ユニットを含むメモリ素子。
  26. 請求項14記載のメモリ素子において、
    メモリシステムは、ホストに取り外し可能に接続可能であるメモリ素子。
  27. 請求項14記載のメモリ素子において、
    メモリシステムは、ホストに内蔵されるメモリ素子。
  28. 請求項14記載のメモリ素子において、
    メモリシステムは、前記ホストと通信する無線インターフェイスをさらに備えるメモリ素子。
JP2009530485A 2006-09-28 2007-05-09 メモリカードの寿命末期の回復およびサイズ変更 Expired - Fee Related JP5102299B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/536,158 2006-09-28
US11/536,192 2006-09-28
US11/536,192 US7596656B2 (en) 2006-09-28 2006-09-28 Memory cards with end of life recovery and resizing
US11/536,158 US20080082725A1 (en) 2006-09-28 2006-09-28 End of Life Recovery and Resizing of Memory Cards
PCT/US2007/068606 WO2008042467A1 (en) 2006-09-28 2007-05-09 End of life recovery and resizing of memory cards

Publications (2)

Publication Number Publication Date
JP2010505193A JP2010505193A (ja) 2010-02-18
JP5102299B2 true JP5102299B2 (ja) 2012-12-19

Family

ID=38976611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009530485A Expired - Fee Related JP5102299B2 (ja) 2006-09-28 2007-05-09 メモリカードの寿命末期の回復およびサイズ変更

Country Status (5)

Country Link
EP (1) EP2069939B1 (ja)
JP (1) JP5102299B2 (ja)
KR (1) KR101287817B1 (ja)
TW (1) TWI428739B (ja)
WO (1) WO2008042467A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291152B2 (en) * 2009-01-07 2012-10-16 Silicon Motion, Inc. Method for operating non-volatile memory and data storage system using the same
IT1403899B1 (it) 2010-12-30 2013-11-08 Incard Sa Metodo e sistema per controllare la perdita di affidabilita' di una memoria non volatile
WO2013025540A1 (en) * 2011-08-12 2013-02-21 Sandisk Enterprise Ip Llc Cache management including solid state device virtualization
JP5853596B2 (ja) * 2011-10-31 2016-02-09 沖電気工業株式会社 半導体ディスク寿命監視装置
KR101404260B1 (ko) 2011-12-23 2014-06-05 한양대학교 산학협력단 플래시 메모리의 수명 인디케이터를 제공하는 장치 및 장치
WO2013094914A1 (ko) * 2011-12-23 2013-06-27 한양대학교 산학협력단 플래시 메모리의 수명 인디케이터를 제공하는 장치 및 장치
TWI492051B (zh) 2012-09-05 2015-07-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
TWI511035B (zh) * 2013-03-08 2015-12-01 Acer Inc 動態調整快取層級方法
CN104063182B (zh) * 2013-03-20 2017-04-12 宏碁股份有限公司 动态调整快取层级方法
JP6167067B2 (ja) * 2014-05-19 2017-07-19 京セラドキュメントソリューションズ株式会社 データ記憶装置及び画像処理装置
JP6515799B2 (ja) * 2015-12-18 2019-05-22 京セラドキュメントソリューションズ株式会社 電子機器及びメモリー寿命警告プログラム
JP6881330B2 (ja) * 2018-01-24 2021-06-02 京セラドキュメントソリューションズ株式会社 電子機器及びメモリー制御プログラム
JP7039361B2 (ja) * 2018-03-30 2022-03-22 キヤノン株式会社 記録装置
KR102291379B1 (ko) * 2020-01-31 2021-09-07 정기용 인공지능을 이용한 하드 디스크의 사용 기간 예측과 이레이징 및 디가우징 판단 방법
US11301343B2 (en) * 2020-06-12 2022-04-12 Taiwan Semiconductor Manufacturing Company Limited Memory block age detection
CN111696598B (zh) * 2020-06-12 2022-04-26 合肥沛睿微电子股份有限公司 存储装置及其低级格式化方法
KR20220167077A (ko) * 2021-06-11 2022-12-20 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3407317B2 (ja) * 1991-11-28 2003-05-19 株式会社日立製作所 フラッシュメモリを使用した記憶装置
US5524231A (en) 1993-06-30 1996-06-04 Intel Corporation Nonvolatile memory card with an address table and an address translation logic for mapping out defective blocks within the memory card
JP3557511B2 (ja) * 1997-08-27 2004-08-25 沖電気工業株式会社 半導体ディスク装置の寿命算出方法
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
JP2000112818A (ja) * 1999-09-03 2000-04-21 Matsushita Graphic Communication Systems Inc フラッシュメモリ制御装置及び方法
JP3741258B2 (ja) 2000-03-31 2006-02-01 シャープ株式会社 半導体記憶装置およびその救済方法
JP2003085054A (ja) * 2001-06-27 2003-03-20 Mitsubishi Electric Corp フラッシュメモリを搭載した半導体記憶装置における装置寿命警告発生システムとその方法
US6751766B2 (en) 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
KR100504401B1 (ko) 2005-02-01 2005-07-28 주식회사 하이스마텍 비휘발성 메모리의 제어 방법 및 시스템
JP4570891B2 (ja) 2004-03-30 2010-10-27 ルネサスエレクトロニクス株式会社 記憶装置
JP2006065384A (ja) * 2004-08-24 2006-03-09 Matsushita Electric Ind Co Ltd 半導体装置
JP2006085380A (ja) 2004-09-15 2006-03-30 Toshiba Corp ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法
JP2006107363A (ja) * 2004-10-08 2006-04-20 Toshiba Corp 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法

Also Published As

Publication number Publication date
JP2010505193A (ja) 2010-02-18
WO2008042467A1 (en) 2008-04-10
TWI428739B (zh) 2014-03-01
TW200821827A (en) 2008-05-16
EP2069939B1 (en) 2013-01-02
KR20090082365A (ko) 2009-07-30
KR101287817B1 (ko) 2013-07-26
EP2069939A1 (en) 2009-06-17

Similar Documents

Publication Publication Date Title
JP5102299B2 (ja) メモリカードの寿命末期の回復およびサイズ変更
US7596656B2 (en) Memory cards with end of life recovery and resizing
US7778077B2 (en) Non-volatile memory system with end of life calculation
US20080082725A1 (en) End of Life Recovery and Resizing of Memory Cards
US7523013B2 (en) Methods of end of life calculation for non-volatile memories
JP5016027B2 (ja) 最終期を計算する不揮発性メモリシステム
US10452283B2 (en) Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
KR101394845B1 (ko) 비휘발성 메모리 상태 정보를 획득하여 이용하기 위한 시스템들 및 방법들
TWI385669B (zh) 用於快閃記憶體的平均磨損方法、儲存系統與控制器
US10387062B2 (en) Storage system with cells changeable between two different level cell modes based on predicted lifetime
US8799747B2 (en) Data hardening to compensate for loss of data retention characteristics in a non-volatile memory
US8677057B1 (en) Initiating memory wear leveling
US20100185802A1 (en) Solid state memory formatting
US7934130B2 (en) System and method for managing non-volatile memory based on health
TW200532441A (en) Internal maintenance schedule request for non-volatile memory system
CN112015332A (zh) 控制器及其操作方法
CN110362423B (zh) 优化恢复性能的数据存储装置、操作方法以及存储系统
JP2012058770A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR20230023477A (ko) 메모리 시스템 및 그 동작 방법
TW202418090A (zh) 資料儲存裝置與寫入緩存器管理方法
TW202418092A (zh) 資料儲存裝置與寫入緩存器管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120530

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120606

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120615

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120629

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120803

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: 20120904

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: 20120927

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

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5102299

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees