JP2005276288A - 不揮発性記憶装置の寿命管理方法 - Google Patents
不揮発性記憶装置の寿命管理方法 Download PDFInfo
- Publication number
- JP2005276288A JP2005276288A JP2004086240A JP2004086240A JP2005276288A JP 2005276288 A JP2005276288 A JP 2005276288A JP 2004086240 A JP2004086240 A JP 2004086240A JP 2004086240 A JP2004086240 A JP 2004086240A JP 2005276288 A JP2005276288 A JP 2005276288A
- Authority
- JP
- Japan
- Prior art keywords
- lifetime
- nonvolatile
- storage device
- host
- data
- 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.)
- Pending
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
【課題】不揮発性記憶装置の寿命を、ホスト機器から事前に検出する。
【解決手段】ホスト機器は、不揮発性装置に対して通常処理と寿命検出処理の2つの処理が実施で可能ある。この寿命検出処理は、所定の書き込み回数や所定の経過時間に基づき実行される。寿命検出処理では、通常処理で使用しない論理ブロックアドレスに対するダミーデータの書き込みを行う。この処理で、不良物理ブロックの増加によって、所定の論理ブロックアドレス分のデータを書き込むことが出来ない場合を不揮発性記憶装置の寿命として検出する。
【選択図】図4
【解決手段】ホスト機器は、不揮発性装置に対して通常処理と寿命検出処理の2つの処理が実施で可能ある。この寿命検出処理は、所定の書き込み回数や所定の経過時間に基づき実行される。寿命検出処理では、通常処理で使用しない論理ブロックアドレスに対するダミーデータの書き込みを行う。この処理で、不良物理ブロックの増加によって、所定の論理ブロックアドレス分のデータを書き込むことが出来ない場合を不揮発性記憶装置の寿命として検出する。
【選択図】図4
Description
本発明は、不揮発性の半導体メモリを使用した不揮発性記憶装置に係り、特にその耐久性を管理する寿命管理方法に関する。
近年、デジタルカメラや携帯電話等の携帯機器市場の拡大に伴い、メモリーカードの用途も拡大している。フラッシュメモリに代表される不揮発性メモリを搭載したメモリーカードは、その容量の増加に伴い、データファイル等を主に記憶する外部記憶から、システムの情報や実行ファイル等を記憶する内部記憶へとその用途が広がろうとしている。
また、従来の外部記憶としての使用においても、不揮発性メモリの寿命により記憶したデータが破壊したり、メモリーカードが使用できなくなったりとうという、不揮発性メモリ特有の課題があり、それに対応するために種々の対策が考えられてきた(例えば、特許文献1〜3を参照)。しかし、これらに共通した解決策としては、いずれも不揮発性メモリの側に何らかの工夫を施すものであった。例えば、特許文献1に記載の発明では、フラッシュメモリを含むメモリシステム内部に寿命検出回路を搭載することで、フラッシュメモリの寿命を検出している。しかし、この方法では、ホストシステムはこの寿命検出回路を搭載した不揮発性メモリのみでしか寿命を検出できなかった。
しかしも、今後、内部記憶としての使用を考えた場合に、ホスト側から検出でき、より容易で確度の高い寿命予測方法が必要である。
特開平6−52694号公報
特開平5−73433号公報
特開平11−250675号公報
上記の様に不揮発性メモリを使用しているシステムにおいて、その不揮発性メモリが寿命検出機能を搭載していなければ、ホスト機器は不揮発性メモリの寿命を認識することができず、その結果、突然の書き込み不良に見舞われてシステム破綻につながりかねない、という重要な課題が存在していた。
本発明は上記課題を解決するため、ホスト機器から不揮発性記憶装置の寿命を容易に予見でき、的確に管理可能な不揮発性記憶装置の寿命管理方法を提供することを目的とする。
上記課題を解決するために本発明は、不揮発性記憶装置に対してデータの書き込み読出しを実行するホスト機器における不揮発性記憶装置の寿命管理方法であって、ホスト機器は、不揮発性装置に対してデータの書き込み読出しを行う通常処理と、不揮発性記憶装置の残りの寿命を検出する寿命検出処理の2種類の処理方法を備え、不揮発性記憶装置に対して2種類の処理方法を選択的に実行するものである。
これにより、不揮発性記憶装置の寿命検出は、ホスト機器側のタイミングで行うことが可能となる。
これにより、ホスト機器は、不揮発性記憶装置の寿命を予め予見することができ、システムとして不揮発性記憶装置の書き込み不良等に至る前に適切な対応を講じることができるという効果が得られる。
本発明の請求項1記載の発明は、不揮発性記憶装置に対してデータの書き込み読出しを実行するホスト機器における前記不揮発性記憶装置の寿命管理方法であって、前記ホスト機器は、前記不揮発性装置に対してデータの書き込み読出しを行う通常処理と、前記不揮発性記憶装置の残りの寿命を検出する寿命検出処理の2種類の処理方法を備え、前記不揮発性記憶装置に対して前記2種類の処理方法を選択的に実行することを特徴とする。
また、請求項2記載の発明は、請求項1に係る発明において、前記寿命検出処理は、前記不揮発性記憶装置に対する書き込み回数に基づき実施することを特徴とする。
また、請求項3記載の発明は、請求項1に係る発明において、前記寿命検出処理は、前記ホスト機器によって一定時間毎に実施することを特徴とする。
また、請求項4記載の発明は、請求項1に係る発明において、前記寿命検出処理は、前記ホスト機器によって任意のタイミングで実行することを特徴とする。
これらにより、ホスト機器が不揮発性記憶装置に対して、所定の周期や所望のタイミングで寿命検出を実行することができるので、書き込み不良などを至る前に不揮発性記憶装置の状態を予見することできる。
また、請求項5記載の発明は、不揮発性記憶装置に対してデータの書き込み読出しを実行するホスト機器における前記不揮発性記憶装置の寿命管理方法であって、前記ホスト機器は、前記不揮発性装置に対してデータの書き込み読出しを行う通常処理と、前記不揮発性記憶装置の残りの寿命を検出する寿命検出処理の2種類の処理方法を備え、前記寿命検出処理による前記不揮発性記憶装置に対する書き込み読み出しは、前記通常処理で前記不揮発性記憶装置に対して書き込み読出しを実行できる領域以外の領域に対して実行できることを特徴とする。これにより、ホスト機器が検出した不揮発性記憶装置の寿命に関する情報を、通常処理とは異なる領域に書き込むことができるので、別のホスト機器などにおいても検出結果を共有することができる。
また、請求項6記載の発明は、請求項1〜5のいずれかに係る発明において、前記寿命検出処理は、前記不揮発性記憶装置の使用可能な物理ブロックが所定数未満である状態を寿命として検出することを特徴とする。これにより、不揮発性記憶装置の側に寿命を検出する回路を設けることなく、ホスト側の処理として不揮発性記憶装置の寿命を予見することができる。
以下、本発明の実施の形態による不揮発性記憶装置の寿命管理方法について、図面を用いて説明する。
(実施の形態)
図1は、本発明の実施の形態による不揮発性記憶装置の寿命管理方法を実現するための構成例を示すブロック図である。
図1は、本発明の実施の形態による不揮発性記憶装置の寿命管理方法を実現するための構成例を示すブロック図である。
図1において、101はメモリーカード、102はメモリーカードに対してデータの読み出しまたは書き込みを行うホスト機器(以下、単にホストと称す)である。
メモリーカード101において、103はメモリーカード101に搭載されてホスト102から書き込まれるデータが実際に書き込まれる不揮発性半導体メモリーとしてのフラッシュメモリであり、104はメモリーカード101内部に搭載されてホスト102からの書き込み読出し処理に対してフラッシュメモリ103へのデータの書き込み読出しを制御するコントローラであり、105はフラッシュメモリ103を構成する複数の物理ブロックの中で既に消去済であってデータ書き込み可能なブロックの場所を示すテーブルを格納する消去済テーブルであり、106はホスト102からのデータの読出し書き込み処理時の論理アドレスとフラッシュメモリ103の物理アドレスとを変換するテーブルを格納する論物変換テーブルである。
また、ホスト102において、110はメモリーカード101に読み書きするデータに係る処理を行うアプリケーション処理部であり、111はホスト102を制御するためのCPUであり、112はCPU112が実行するためのプログラムやデータを格納するRAMであり、これらはバス113を介して接続される。アプリケーション処理部110は、メモリーカード101と接続するためのカードインターフェース(カードI/F)114と、メモリーカード101に対して通常のデータの読み書きを実行するための通常処理手段115と、メモリーカード101に対して寿命検出の処理を実行するための寿命検出処理手段116とを備える。
図2は、メモリーカード101に内蔵されるフラッシュメモリ103の内部構造を示す概念図である。16MBのフラッシュメモリの場合、独立してデータの書き込み消去が可能な1024個の物理ブロック(PB0〜1023)からなり、ひとつの物理ブロックの容量は16kBである。なお、物理ブロックの数、物理ブロックの容量は、デバイスにより種々存在し、この限りではない。
メモリーカード101にホスト102がデータを書き込む場合、ホスト102はカードI/Fを介してメモリーカード101に対して書き込み命令と書き込みデータを送る。それに対してコントローラ104は、消去済テーブル105から消去済で書き込み可能なフラッシュメモリ103内の物理ブロックを検索し、当該物理ブロックに対してホスト102からのデータを書き込む。その後、論物変換テーブル106に、書き込みを行ったデータのホスト102から指定されたアドレス(論理ブロックアドレス:LBA)と、実際にフラッシュメモリ103に書き込んだアドレス(物理ブロックアドレス:PBA)との対応を登録する。この書き込みの際に、書き込むデータが既に書き込み済みである場合は上書き処理となり、上書きされたことによって古くなったデータが書き込まれていた物理ブロックの消去も行う。
ホスト102が、メモリーカード101からデータを読み出す場合、ホスト102はメモリーカード101に読出し命令を送り、それに対応してコントローラ104はホスト102が指定してきた論理アドレスに対応するフラッシュメモリ103の物理アドレスを論物変換テーブル106から得てデータを読み出す。
以上のようにして、ホスト102はメモリーカード101に対して、通常処理によるデータの書き込み読出しを行う。
一般的なフラッシュメモリでは、実際にフラッシュメモリに存在する物理ブロックが全て使用可能であると保証されているわけではない。例えば16MBの容量を持つNAND型フラッシュメモリ(16kB×1024ブロック)を例にとると、有効ブロック数の最小値として1004ブロックというように明記されているものがある。即ち、このフラッシュメモリが有する物理ブロックの総数は1024ブロックであるので、その差20個が保証できないブロックの最大値として示されている。
また、メモリーカード101には、ホスト102からはアクセスできない特殊なシステム領域や、書き換えに対応するためのワーク領域として、いくつかの物理ブロックを使用する必要があり、ホスト102がメモリーカード101に対して読出し書き込みできる領域はさらに限定される。
例えば、本実施の形態によるメモリーカード101のアクセスできる領域は、物理ブロック996個に相当する容量をアクセスできる領域と限定する。つまりフラッシュメモリ103の保証できる1004個の物理ブロックから、システム領域、ワーク領域として8個の物理ブロックを引いた残りが、外部からアクセス可能な領域である。この物理ブロック996個の容量は、16kB×996=15936kB=15.5625MB=16318464B、である。
従って、ホスト102は、メモリーカード101の全容量を16318464B、つまり論理ブロック0〜995としてデータの読出し書き込みを行う。
しかしまた、フラッシュメモリ103の書き換え回数は、例えば10万回とデータシートに記載され、一般的に使用される他のメモリーであるDRAMやSRAMの10の15乗回に比べて桁が少ないために、メモリーカード101を使用しているうちに、書き換え回数の10万回を越えて使用してしまい、有効ブロック数が1004個を下回ってしまう可能性を否定できない。そのためホスト102は、メモリーカード101の寿命である残りの書き換え回数が少なくなったことを検出して、適切に対応する必要がある。
そのためにホスト102は、通常処理手段115により実行される通常処理においては、メモリーカード101の全容量を使用することはしない。具体的には16318464Bよりも少ない16220160Bの容量つまり論理ブロック0〜989を持つメモリーカード101としてファイルシステムを構成して使用する。容量16220160Bは物理ブロック990個に相当する容量である。つまりフラッシュメモリ103の有効ブロック数が保証値の1004個よりも少なく998個(990+8(システム、ワーク用))になっても使用上の問題は発生しないようにして使用する。16220160Bよりも大きな領域を使用するのは、寿命検出処理手段116により寿命検出処理を行うときである。寿命検出処理は、ホスト102がメモリーカード101の書き換え回数をカウントして、例えば千回毎とか、二千回毎とか、いくつかの特定の回数を越えたら実行する。
従って、図3に示す様に、ホスト102で使用するアドレス空間としては、通常処理では、0〜989の990ブロック分であり、寿命検出処理では、990〜995の6ブロック分である。ここで、寿命検出処理に割り当てる6ブロックというのは、1004−(990+8)=1004―998=6として決定したものである。従って、ホスト102からメモリーカード101へ出力される論理アドレス(LBA)としては0〜995のいずれかを取ることになる。そして、論物変換テーブルで対応する物理アドレス(PBA)に変換され、フラッシュメモリ103内の物理ブロックが参照される。なお、同図中でBBと記されたブロックは、その使用が保証されない不良ブロックを示すものであり、この様な物理ブロックは、論物変換テーブルにエントリーされることはない。また、ホスト102で指定する論理ブロックアドレスが通常処理と寿命検出処理とでは重なりがなく、異なる領域にアクセスすることになるので、寿命検出処理によるメモリーカード101への書き込みや消去は自由に行うことが可能である。
図4は本実施の形態による寿命管理方法による寿命検出処理を示すフローチャートである。本処理は、寿命検出処理手段116をCPU111とRAM112により制御することで実行する。
同図において、ステップ301でホスト102はメモリーカード101に対する論理ブロックアドレスを990に設定する。その次にステップ302でデータが存在していないはずのメモリーカード101の論理ブロック990に対してダミーデータの書き込みを行う。ここで、論理ブロック990〜995は、通常処理では使用されないので、普通はデータが存在していないはずである。
次に、ステップ303の判定処理で書き込み結果の良否を判定し、正しく書き込めた場合はステップ304に遷移して論理ブロックを1インクリメントする。次に、ステップ305の判定処理で論理ブロックがメモリーカード101の使用できる領域を超えているかどうかの判断である論理ブロックが996以上であるか否かを判定し、メモリーカード101の使用できる領域であればステップ302に遷移して、続けてダミーデータの書き込みを行う。こうして論理ブロック990〜995に対してダミーデータの書き込みを行った後にステップ305の判定処理でメモリーカード101の使用できる領域外であると判定し、ステップ306で論理ブロック990〜995に対して消去を実行し、ダミーデータの書き込みを行ってきた論理ブロックの消去を行う。ここで、ステップ305の判断処理で、論理ブロックが996以上と判断された場合は、寿命検出処理が正常に終了した旨の表示などの処理を実行してもよい。
このフローにおいて、ステップ303の判定処理で正常終了できなかった場合というのは、有効ブロックが保証値の1004個以下にまで少なくなって、あと数個の不良ブロックが発生したらメモリーカード101はホスト102からの通常処理においても書き込みできなくなることがわかる。そのためステップ307へ遷移し、メモリーカード101の寿命が近いことを検出した旨の処理実行することができる。ステップ307の処理としては、警告表示や警告音出力など所望の処理を行うようにすればよい。ステップ307からはステップ306に遷移し、書き込んだダミーデータの消去を行う。
この寿命検出フローを実行することにより、寿命を検出しなかった場合はあと6個の不良ブロックが発生してもホスト102の通常処理において寿命とならないことがわかり、寿命を検出した場合には、後6個以下の不良ブロックが発生したらホスト102の通常処理においても書き込み不良を起こす場合があり、メモリーカード101が寿命であることがわかる。
この後ホスト102はメモリーカード101の交換を促すメッセージを使用者に対して発することにより、使用者はメモリーカード101の寿命を知り、書き込み不良等のシステム的に重大な課題が発生する前にメモリーカード101の交換等の適切な処置を講ずることができる。
なお、本実施の形態において、寿命検出処理はメモリーカード101に対する書き換え回数が特定回数を越えたら実行するとして説明したが、ホスト機器102が管理する一定時間毎、例えば1ヶ月に1回の間隔で実行しても構わない。また、この間隔や回数をホスト機器の使用者が設定できるようにしてもよいし、使用者の意図で寿命検出処理を適宜実行するように構成してもよい。
また、特定回数を越えて実行する場合でも、一定時間毎で実行する場合でも、通常処理を行わない期間に寿命検出処理を実行することにより通常処理の処理を妨げないようにすることができ、その通常処理の処理を確実に妨げないためにはホスト102の使用者により明示的に寿命検出処理の実行を指示できるようにすることにより確実に通常処理の処理時間外に寿命検出処理を行うことができる。
本発明に係る不揮発性記憶装置の寿命管理方法は、ホスト機器で実行することにより、不揮発性記憶装置の寿命を予め予見することができ、システムとして不揮発性記憶装置の書き込み不良等に至る前に適切な対応を講じることができるという効果を有し、不揮発性記憶装置を用いる各種電子機器等に適用可能なプログラム、プロセス等をとして有用である。
101 メモリーカード
102 ホスト
103 フラッシュメモリ
104 コントローラ
105 消去済テーブル
106 論物変換テーブル
110 アプリケーション処理部
111 CPU
112 RAM
113 バス
114 カードI/F
115 通常処理手段
116 寿命検出処理手段
102 ホスト
103 フラッシュメモリ
104 コントローラ
105 消去済テーブル
106 論物変換テーブル
110 アプリケーション処理部
111 CPU
112 RAM
113 バス
114 カードI/F
115 通常処理手段
116 寿命検出処理手段
Claims (6)
- 不揮発性記憶装置に対してデータの書き込み読出しを実行するホスト機器における前記不揮発性記憶装置の寿命管理方法であって、
前記ホスト機器は、前記不揮発性装置に対してデータの書き込み読出しを行う通常処理と、前記不揮発性記憶装置の残りの寿命を検出する寿命検出処理の2種類の処理方法を備え、前記不揮発性記憶装置に対して前記2種類の処理方法を選択的に実行することを特徴とする不揮発性記憶装置の寿命管理方法。 - 前記寿命検出処理は、前記不揮発性記憶装置に対する書き込み回数に基づき実施することを特徴とする請求項1に記載の不揮発性記憶装置の寿命管理方法。
- 前記寿命検出処理は、前記ホスト機器によって一定時間毎に実施することを特徴とする請求項1に記載の不揮発性記憶装置の寿命管理方法。
- 前記寿命検出処理は、前記ホスト機器によって決定される任意のタイミングで実行することを特徴とする請求項1に記載の不揮発性記憶装置の寿命管理方法。
- 不揮発性記憶装置に対してデータの書き込み読出しを実行するホスト機器における前記不揮発性記憶装置の寿命管理方法であって、
前記ホスト機器は、前記不揮発性装置に対してデータの書き込み読出しを行う通常処理と、前記不揮発性記憶装置の残りの寿命を検出する寿命検出処理の2種類の処理方法を備え、
前記寿命検出処理による前記不揮発性記憶装置に対する書き込み読み出しは、前記通常処理で前記不揮発性記憶装置に対して書き込み読出しを実行できる領域以外の領域に対して実行できることを特徴とする不揮発性記憶装置の寿命管理方法。 - 前記寿命検出処理は、前記不揮発性記憶装置の使用可能な物理ブロックが所定数未満である状態を寿命として検出することを特徴とする請求項1ないし5のいずれかに記載の不揮発性記憶装置の寿命管理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004086240A JP2005276288A (ja) | 2004-03-24 | 2004-03-24 | 不揮発性記憶装置の寿命管理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004086240A JP2005276288A (ja) | 2004-03-24 | 2004-03-24 | 不揮発性記憶装置の寿命管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2005276288A true JP2005276288A (ja) | 2005-10-06 |
Family
ID=35175799
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004086240A Pending JP2005276288A (ja) | 2004-03-24 | 2004-03-24 | 不揮発性記憶装置の寿命管理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2005276288A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100837826B1 (ko) * | 2006-10-31 | 2008-06-13 | 주식회사 퍼스터 | 시스템에 장착된 낸드 플래시 소자의 수명 측정 방법 |
| WO2013094914A1 (ko) * | 2011-12-23 | 2013-06-27 | 한양대학교 산학협력단 | 플래시 메모리의 수명 인디케이터를 제공하는 장치 및 장치 |
| US9513821B2 (en) | 2011-12-23 | 2016-12-06 | Industry-University Cooperation Foundation Hanyang University | Apparatus and method for indicating flash memory life |
-
2004
- 2004-03-24 JP JP2004086240A patent/JP2005276288A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100837826B1 (ko) * | 2006-10-31 | 2008-06-13 | 주식회사 퍼스터 | 시스템에 장착된 낸드 플래시 소자의 수명 측정 방법 |
| WO2013094914A1 (ko) * | 2011-12-23 | 2013-06-27 | 한양대학교 산학협력단 | 플래시 메모리의 수명 인디케이터를 제공하는 장치 및 장치 |
| US9513821B2 (en) | 2011-12-23 | 2016-12-06 | Industry-University Cooperation Foundation Hanyang University | Apparatus and method for indicating flash memory life |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI597605B (zh) | 用於資料儲存裝置的損耗平均方法 | |
| TWI436369B (zh) | 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統 | |
| EP1739565A1 (en) | Storage system using flash memory | |
| US20070211530A1 (en) | Data recording method of semiconductor integrated circuit device | |
| CN101770428A (zh) | 非易失性存储器操作方法及使用该方法的数据储存系统 | |
| US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
| US20080250188A1 (en) | Memory Controller, Nonvolatile Storage, Nonvolatile Storage System, and Memory Control Method | |
| CN113885808A (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
| JPWO2007000862A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
| CN101576859A (zh) | 非易失性存储器数据写入方法、存储系统及其控制器 | |
| JP2010086009A (ja) | 記憶装置およびメモリ制御方法 | |
| JP2008225672A (ja) | 半導体メモリ装置 | |
| JP2006323751A (ja) | 情報処理装置、寿命監視方法およびプログラム | |
| CN102073571B (zh) | 存储装置的使用寿命量测方法及其数据储存系统 | |
| CN106057246A (zh) | 一种非易失性存储器中坏点单元的替换方法 | |
| JP4177360B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
| JP2005276288A (ja) | 不揮発性記憶装置の寿命管理方法 | |
| JP4661369B2 (ja) | メモリコントローラ | |
| JP4645043B2 (ja) | メモリーコントローラ、不揮発性記憶装置および不揮発性メモリシステム | |
| JP4177292B2 (ja) | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
| JP4818453B1 (ja) | 電子機器およびデータ読み出し方法 | |
| JP4334331B2 (ja) | フラッシュメモリのアクセス制御方法 | |
| CN110442300B (zh) | 整理指令记录方法、存储器控制电路单元与存储装置 | |
| JP4177301B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
| JP2003263894A (ja) | 不揮発性半導体メモリ装置の制御方法 |