JP3557511B2 - 半導体ディスク装置の寿命算出方法 - Google Patents
半導体ディスク装置の寿命算出方法 Download PDFInfo
- Publication number
- JP3557511B2 JP3557511B2 JP24618097A JP24618097A JP3557511B2 JP 3557511 B2 JP3557511 B2 JP 3557511B2 JP 24618097 A JP24618097 A JP 24618097A JP 24618097 A JP24618097 A JP 24618097A JP 3557511 B2 JP3557511 B2 JP 3557511B2
- Authority
- JP
- Japan
- Prior art keywords
- sector
- sectors
- rewrites
- calculating
- life
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/02—Control of operating function, e.g. switching from recording to reproducing
- G11B19/04—Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、記憶媒体として書換回数制限を持つフラッシュメモリ(以降、単にメモりと呼ぶ)を使用した半導体ディスク(以降、単にSSDと呼ぶ)装置の制御に関するもので、特に、書換回数制限による寿命時期を算出する半導体ディスク装置の寿命算出方法に関する。
【0002】
【従来の技術】
SSD装置にて使用しているメモリは、一般に書換回数に制限を持っているため、制限を超えて書き込みを実行した場合、書き込みエラーが発生すると共に、以降、そのSSDに対する書き込みが不可能となる。このため、従来より、メモリ内を、ユーザ領域と、このユーザ領域が書換可能回数を超えた場合に書き込みを行う代替用の予備領域とを設けて書換回数を管理していた。
【0003】
図7は、従来のSSDへの書き込み処理のフローチャートである。
先ず、ホストからライトコマンドが送出されると、この受付処理を行う(ステップS301)。そして、ホストからSSD内部データバッファへのデータ転送処理が行われる(ステップS302)。SSD装置側のコントローラ部では、データの書き込み先のセクタアドレスを算出し(ステップS303)、そのセクタアドレスに対応したデータ書き込み先セクタのステータスをチェックする(ステップS304)。即ち、不良セクタでないかをチェックする。これにより、不良セクタではないと判定された場合は、そのままステップS306に進み、不良セクタと判定された場合は、代替先の予備領域のセクタを算出し(ステップS305)、その後、ステップS306に進む。
【0004】
ステップS306では、データ書き込み先セクタの書換回数をチェックする。即ち、そのセクタが書換回数範囲内であるか、書換回数を超えているかを判定する。これにより、書換回数範囲内であった場合はそのままステップS308に進み、書換回数を超えていた場合は、代替先セクタの登録を行い(ステップS307)、ステップS308に進む。
【0005】
ステップS308では、SSD内部データバッファからデータ書き込み先セクタへのデータ転送処理を行う。ここで、予備領域のセクタに代替した場合は、その予備領域のセクタに対してデータ転送処理を行う。
【0006】
そして、セクタ管理テーブルの書換回数を更新し(ステップS309)、以上のステップS302からステップS309までの処理をホストからの指定セクタ分繰り返す。これが終了すると正常終了となる(ステップS310)。
【0007】
【発明が解決しようとする課題】
しかしながら、以上のような制御を行っても、書換回数超えによる予備領域のセクタの使用が進み、最終的に予備セクタを使用し尽くした場合、書き込みエラーが発生し、データの書き込みが不可能になると共に、これ以降はSSD装置に対する書き込みが不可能となる。このような事態が発生しても、ユーザはSSD装置の寿命時期を知る手段がなかったため、突然寿命に到達し、重要データの保存ができなくなるといった問題点があった。
【0008】
また、このような問題点に対処するため、半導体ディスク装置の寿命を通知する構成も考えられているが、その構成は単に書換回数がある閾値を超えた場合に通知するといったものである。従って、ユーザ側では、その閾値に達するまでは、現在の書換回数がどのようになっているかは把握できなかった。また、閾値を超えてからも、あとどの程度の書き込みで限界に達するかといったことも知ることができず、このような寿命通知の構成であってもユーザにとって非常に使いにくいものであった。
【0009】
このような点から、ユーザが任意の時点で半導体ディスク装置の使用状態を認識することのできる構成が望まれていた。
【0010】
【課題を解決するための手段】
本発明は、前述の課題を解決するため次の構成を採用する。
〈請求項1の構成〉
書換制限を持ち、かつ、ユーザデータ格納領域と、このユーザデータ格納領域が書換限界回数に達した場合に書き込みを行うための予備領域を有するメモリを使用した半導体ディスク装置の寿命を算出する半導体ディスク装置の寿命算出方法において、予備領域における未使用セクタの数を算出するステップと、使用中のユーザデータ格納領域の全セクタを書換回数の多い順に配列するステップと、書換回数の多い順に配列したセクタのうち、(前記予備領域の未使用セクタ数+1)番目のセクタを算出するステップと、(予備領域の未使用セクタ数+1)番目のセクタの書換回数を算出するステップと、書換可能限界回数から、(予備領域の未使用セクタ数+1)番目のセクタの書換回数を減じた値を、寿命までの書換可能回数として算出するステップとを備えたことを特徴とする。
【0011】
〈請求項1の説明〉
請求項1の発明は、使用中のユーザデータ格納領域のセクタのうち、書換回数の多いものから順番に未使用セクタへの代替が発生すると仮定し、これらのセクタのうち、(予備領域の未使用セクタ数+1)番目に書換回数の多いセクタの書換回数を算出する。そして、この書換回数超えを寿命として、このセクタの残り書換可能回数を算出するようにしたものである。これにより、メモリの寿命を更に確実に認識可能となり、寿命限界まで有効に利用することができる。
【0012】
〈請求項2の構成〉
書換制限を持ち、かつ、ユーザデータ格納領域と、このユーザデータ格納領域が書換限界回数に達した場合に書き込みを行うための予備領域を有するメモリを使用した半導体ディスク装置の寿命を算出する半導体ディスク装置の寿命算出方法において、使用中のユーザデータ格納領域の書換回数を多い順に配列するステップと、予め設定した定数をnとし、書換回数の上位nセクタまでを書き込み集中セクタとしてこれら書き込み集中セクタの平均書換回数を算出するステップと、書換回数の上位(n+1)セクタ以降を通常セクタとして、これら通常セクタの平均書換回数を算出するステップと、書き込み集中セクタの平均書換回数と、通常セクタの平均書換回数の比率を算出するステップと、予備領域における未使用セクタの数を算出するステップと、予備領域における未使用セクタ数が、比率とnを掛けた数以上であった場合は、通常セクタの代替により書換可能限界に達すると判定し、未使用セクタ数が、比率とnを掛けた数未満であった場合は、書き込み集中セクタの代替により書換可能限界に達すると判定するステップと、通常セクタの代替により書換可能限界に達すると判定した場合は、通常セクタを予備領域に代替した場合に、予備領域への代替が不可となる通常セクタの書換回数を書換可能限界数から減じた回数を寿命までの書き込み可能回数として算出するステップと、書き込み集中セクタの代替により書換可能限界に達すると判定した場合は、(予備領域における未使用セクタ数)/(平均書換回数比率×n)により代替可能割合を算出するステップと、書換可能限界回数に前記代替可能割合を乗じた回数から、(n+1)番目のセクタの書換回数を、寿命までの書き込み可能回数として算出するステップとを備えたことを特徴とする。
【0013】
〈請求項2の説明〉
請求項2の発明は、現時点までの各セクタに対する書換回数を元に、今後の書き込みを推定し、この推定を元に未使用セクタへの代替を想定し、寿命時期を書換可能回数として算出するようにしたものである。これにより、システムの違い等、使用方法に差異があった場合でも確実に寿命時期の認識が可能となる。
【0014】
〈請求項3の構成〉
請求項1〜2のいずれかにおいて、ホストからのライトコマンドを受けた場合、寿命までの書き込み可能回数が上限値を超えたセクタがあるか否かを判定し、あった場合はウォーニングフラグをセットするステップと、ライトコマンド終了報告時にウォーニングフラグがセットされているかを判定し、セットされていた場合は、ホストに対して、ウォーニングステータスを付加して報告するステップとを備えたことを特徴とする半導体ディスク装置の寿命算出方法である。
【0015】
〈請求項3の説明〉
請求項3の発明は、書換可能回数が上限値を超えたセクタがあった場合は、ホストからのライトコマンドによって、これを報告するようにしたものである。これにより、上記請求項1〜3のいずれかの発明の効果に加えて、より確実に寿命時期を知ることができる効果がある。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて詳細に説明する。
図1は、本発明の具体例1における半導体ディスク装置の寿命算出方法を示すフローチャートであるが、この説明に先立ち、本発明の半導体ディスク装置の寿命算出方法が前提とする半導体ディスク装置の構成について説明する。
【0020】
図2は、一般的な半導体ディスク装置の回路ブロック図である。
図の装置は、マイクロコントローラ部1、ディスクコントローラ部2、フラッシュメモリ部3からなる。マイクロコントローラ部1は、半導体ディスクとして構成するための制御を行うモジュールである。ディスクコントローラ部2は、マイクロコントローラ部1の制御に基づき、フラッシュメモリ部3を実際に制御するモジュールである。また、フラッシュメモリ部3は、複数のフラッシュメモリチップ#0(3−0)〜#9(3−9)からなるメモリ部である。
【0021】
マイクロコントローラ部1は、マイクロCPU11とプログラムメモリ12からなり、ホストから見てSSDを磁気ディスク装置等と同様の制御が可能な構成とするための制御部である。マイクロCPU11は、マイクロコントローラ部1としての制御プロセッサであり、プログラムメモリ12は、制御用のプログラム等を格納するためのファームウェアである。
【0022】
ディスクコントローラ部2は、マイクロCPUインタフェース21、ホストインタフェース22、データバッファ23、データ転送制御部24、フラッシュメモリインタフェース25、ECC制御部26、セクタ管理テーブル27からなる。
【0023】
マイクロCPUインタフェース21は、マイクロコントローラ部1のマイクロCPU11のためのインタフェースである。ホストインタフェース22は、図示省略したホストとのインタフェースであり、このホストインタフェース22を介して、ホストからのコマンドやデータ等を受信するようになっている。データバッファ23は、ホストからのライトデータやフラッシュメモリ部3からのリードデータを一時格納するバッファメモリである。データ転送制御部24は、データバッファ23とフラッシュメモリ部3間のデータ転送制御を行う機能部である。フラッシュメモリインタフェース25は、フラッシュメモリ部3とのインタフェースである。ECC制御部26は、書き込みデータのエラー訂正演算を行うための制御部である。セクタ管理テーブル27は、フラッシュメモリ部3のセクタ管理を行うためのテーブルである。
【0024】
図3は、セクタ管理テーブルの説明図である。
図示のように、セクタ管理テーブル27は、各セクタ毎に、セクタフラグ、代替先セクタ番号、書換回数、領域名称を示している。セクタフラグとは、現在使用中であるか、あるいはそのセクタが不良であったり既に書換限界回数に達していて使用済であるといったように、使用していないセクタであるかを示すフラグである。代替先セクタ番号は、使用していないセクタの代替先セクタを示す番号である。書換回数は、各セクタの現在の書換回数である。領域名称とは、そのセクタがユーザデータ格納領域であるか、代替用予備領域であるかを示すものである。
【0025】
このように構成された半導体ディスクに対する寿命算出方法を、以下、各具体例毎に説明する
【0026】
《具体例1》
先ず、ホストからのライトコマンド処理の動作について説明する。
図4は、ライトコマンド処理の動作を示すフローチャートである。
本具体例のライトコマンド処理では、図7に示した従来のライトコマンド処理に対して、書換回数超えによる代替が発生した場合にウォーニングフラグをセットし(ステップS8)、また、ホストへの終了報告時にウォーニングフラグがセットされているかをチェックし(ステップS11)、セットされている場合は、そのウォーニングフラグをクリアする(ステップS13)と共に、終了ステータスにウォーニングフラグを付加してホストに報告する処理(ステップS14)が追加されている点が特徴である。
【0027】
即ち、本具体例では、ステップS1のライトコマンド受付処理からステップS7の代替先セクタ登録処理までは、従来と同様に行う。そして、ステップS7において、書換回数超えの発生したセクタを予備領域のセクタに代替した場合、ステップS8において、ウォーニングフラグをセットする。尚、このウォーニングフラグは、プログラムメモリ12において管理しているフラグである。その後は、ステップS9、S10は、従来のステップS308、S309と同様の処理であり、このようなステップS2からステップS10までの処理をホストからの指定セクタ分繰り返す。
【0028】
ホストからの指定セクタ分が終了すると、次に、ステップS11において、ウォーニングフラグをチェックし、フラグが設定されていない場合は、そのまま正常終了する(ステップS12)。一方、フラグが設定されている場合は、このウォーニングフラグをクリアして(ステップS13)、終了ステータスにウォーニングフラグを付加してホストに報告し、正常終了する(ステップS14)。
【0029】
次に、ホストからの寿命算出コマンドが送出された場合の動作を図1に沿って説明する。
【0030】
図1に示すように、ホストから寿命算出コマンドが発行されると、SSDでは、ホストインタフェース22を介してこのコマンドを受け取り、寿命算出コマンド受付処理(ステップS20)にて本コマンドを認識する。これにより、ステップS21〜ステップS23の使用状態算出のための処理を開始する。
【0031】
この使用状態算出のための処理とは、先ず、予備領域内の全有効セクタ数(α)を算出する。具体的には、マイクロコントローラ部1が、セクタ管理テーブル27を参照し、予備領域内のセクタフラグ部分が、使用中と使用済と未使用であるセクタ数を算出する。次に、ステップS21と同様の方法にて、予備領域内の使用中と使用済セクタ数(β)を算出する(ステップS22)。そして、これら使用中と使用済セクタ数(β)と全有効セクタ数(α)より、次式(1)に従い、使用率を算出する(ステップS23)。
{(使用中と使用済セクタ数)/(有効セクタ数)}×100 …(1)
【0032】
例えば、現在の使用状態が図3に示すようになっていた場合、その使用率は以下の通りになる。
・予備領域内有効セクタ数:α=6
・予備領域内使用中/使用済セクタ数:β=4
・使用率:(4/6)×100=66.7%
【0033】
〈効果〉
以上のように、具体例1によれば、ユーザは希望する任意の時点でSSD装置の使用率を知ることが可能となる。従って、ユーザはSSD装置の使用状態を常に把握しながら使用することができる。例えば、使用率85%程度までで使用を中止し、書換回数超えによる書き込みエラーの発生および書き込み不可能な状態を回避するといったことをユーザ自身が管理することができる。
【0034】
《具体例2》
具体例2は、寿命時期を、ユーザが残りの書換可能回数として知ることができるようにしたものである。
【0035】
〈構成〉
具体例2におけるSSDの構成およびセクタ管理テーブル27の構成は、図2および図3に示したものと同様であるため、ここでの説明は省略する。
【0036】
〈動作〉
具体例2におけるライトコマンド処理時の動作は具体例1と同様であり、寿命算出処理が異なる。
【0037】
図5は、具体例2の寿命算出処理を示すフローチャートである。
SSDでは、ホストから寿命算出コマンドを受け取ると、寿命算出コマンド受付処理(ステップS30)にて本コマンドを認識し、ステップS31〜ステップS35の書換可能回数算出処理を開始する。書換可能回数算出処理が完了すると、終了ステータスに書換可能回数を付加してホストへ報告する(ステップS36)。具体例1では、使用状態を使用率(パーセンテージ表現)しとして終了ステータスに付加していたが、本具体例では、書換可能回数を付加することが大きな相違点である。以降、書換可能回数算出処理の詳細について説明する。
【0038】
先ず、ステップS31にて、予備領域内の未使用セクタ数(a)を算出する。具体的には、セクタ管理テーブル27より予備領域内のセクタフラグ部分が未使用であるセクタ数を算出する。次に、ユーザ領域および予備領域内の全使用中セクタの書換回数を多い順(降順)に配列(b)する。具体的には、セクタ管理テーブル27よりセクタフラグ部分が使用中であるセクタに対する書換回数を読み出し、回数の多い順番にプログラムメモリ12にて記憶しておく。
【0039】
次に、上記ステップS32にて配列(b)した書換回数が多いセクタから順番に、ステップS31にて算出した未使用セクタへ代替が発生すると仮定し、代替ができなくなるセクタ、即ち、(未使用セクタ数(a)+1)番目に書換回数が多いセクタ(c)を算出する(ステップS33)。
【0040】
更に、ステップS33で算出した代替不可能セクタ(c)の書換回数(d)を算出する(ステップS34)。次に、代替不可能セクタ(c)の書換回数超え発生時を寿命として、このセクタの残り書換可能回数を次式(2)に従い算出する(ステップS35)。
(書換限界回数)−{(未使用セクタ数+1)番目セクタの書換回数}…(2)
【0041】
以上、具体例1に対し、未使用セクタへの代替を想定し、代替不可能となるセクタの書換回数を元に、寿命時期を書換可能回数として報告するようにしている。
【0042】
現在の使用状態が図3に示すようになっていたとすると、書換可能回数は以下の通りになる。
・予備領域内未使用セクタ数:a=2
・代替不可能セクタ番号:c=No.1001
・代替不可能セクタ(No.1001)の書換回数:d=3387回
・寿命までの書換可能回数:30000−3387=26613回
(但し、セクタの書換可能限界回数を30000回と仮定した場合)
【0043】
〈効果〉
以上のように具体例2によれば、ユーザは寿命時期を書換可能回数として知ることができるため、具体例1の効果に加えて寿命時期をより確実に認識可能となり、寿命限界まで有効に使用することができる。
【0044】
《具体例3》
具体例3は、現時点までの各セクタに対する書換回数を元に、今後の書き込みを推定し、この推定を元に未使用セクタへの代替を想定し、寿命時期を書換可能回数として報告するようにしたものである。
【0045】
〈構成〉
具体例3においても、そのSSDの構成およびセクタ管理テーブル27の構成は、それぞれ図2および図3に示したものと同様であるため、ここでの説明は省略する。
【0046】
〈動作〉
具体例3におけるライトコマンド処理時の動作は具体例1、2と同様であり、寿命算出処理が異なる。
【0047】
図6は、具体例3の寿命算出処理を示すフローチャートである。
ホストから寿命算出コマンドを受け取ると、寿命算出コマンド受付処理(ステップS40)にて、本コマンドを認識し、ステップS41〜ステップS51までの書換可能回数算出処理を開始する。そして、この書換可能回数算出処理が完了すると、終了ステータスに書換可能回数を付加してホストへ報告する(ステップS52)。具体例2では、未使用セクタ数を元に、単に書換回数の多いセクタから順番に代替されるという仮定に従い、以降に発生する代替を想定し、この想定に従って寿命までの書換可能回数を算出していたが、本具体例では、現時点までの各セクタに対する書換回数を元に、今後の書き込みを推定し、この推定を元に未使用セクタへの代替を想定し、寿命時期を書換可能回数として報告するようにした点が大きな相違点である。以降、ステップS41〜ステップS51の書換可能回数算出処理の詳細について説明する。
【0048】
先ず、ユーザ領域および予備領域内の全使用中セクタの書換回数を多い順番に配列(A)する(ステップS41)。具体的には、セクタ管理テーブル27より、セクタフラグ部分が使用中であるセクタに対する書換回数を読み出し、回数の多い順にプログラムメモリ12で記憶しておく。この時、代替先セクタ番号欄に代替先セクタ番号が記載されているセクタに関しては、ホストからは同一セクタと認識されて書き込みが実行されているので、全ての書換回数を加えた値をそのセクタの書き込み回数として取り扱う。即ち、図3の例で言えば、セクタ番号0005とセクタ番号1021は同一セクタと考え、書換回数は30119回として以降の処理に使用する。
【0049】
次に、ステップS41で求めた配列(A)において、予め設定しておいた定数(n)に従い、書換回数の多い上位nセクタを書き込み集中セクタとして、これらの書き込み集中セクタの平均書換回数(B)を算出する(ステップS42)。尚、ここで、引用する定数nはシステムにてSSD装置を使用する上で、特に書き込みが集中するセクタ数を指定することを目的とする。従って、具体例の数値の設定方法は、ファームウェア設計時の評価により決定することも可能であるが、ホストからのコマンドによりシステム毎に変更可能としておく方法が望ましい。
【0050】
次に、上記の配列(A)において、(n+1)番目以降のセクタの平均書換回数(C)を算出する(ステップS43)。更に、上記書き込み集中セクタの平均書換回数(B)と、通常セクタの平均書換回数(C)の比(D)を次式(3)に従って算出する(ステップS44)。
(書き込み集中セクタの平均書換回数)/(通常セクタの平均書換回数)…(3)
【0051】
この式(3)の結果により、現時点までの使用方法において、通常セクタの書き込み1回に対して書き込み集中セクタに何回書き込みが発生しているかを算出し、これを元に、以降の処理において代替の発生を想定する。
【0052】
次に、予備領域内の未使用セクタ数(E)を算出する(ステップS45)。具体的には、セクタ管理テーブル27より予備領域内のセクタフラグ部分が未使用であるセクタ数を算出する。そして、代替が、通常セクタの代替によって限界に到達するか、書き込み集中セクタの代替により限界に達するかを判断する(ステップS46)。即ち、通常セクタの書換回数超えによる代替1回に対して、書き込み集中セクタは平均書換回数比分多く代替が発生すると仮定し、予備領域内未使用セクタ数(E)が、(平均書換回数比(D)×n)以上の場合(E≧D×n)は、通常セクタの代替により限界に到達すると判定して、ステップS47に進む。一方、(平均書換回数比(D)×n)よりも予備領域内未使用セクタ数(E)が少ない場合(E<D×n)は、書き込み集中セクタの代替により限界に到達すると判定し、ステップS49に進む。
【0053】
通常セクタの代替により限界に到達すると判断された場合は、通常セクタを予備領域に代替した場合に、予備領域への代替が不可となるm番目の通常セクタの書換回数(G)を算出し(ステップS47)、書換可能限界回数からm番目のセクタの書換回数(G)を減じた回数を算出する(ステップS48)。これを寿命時期までの書き込み可能回数としてホストに報告する。
【0054】
一方、書き込み集中セクタの代替により限界に到達すると判断された場合は、次式(4)に従い、代替可能割合(I)を算出する(ステップS49)。
【0055】
(予備領域内未使用セクタ数E)/{(平均書換回数比率D)×n}…(4)
この値は、書き込み集中セクタ代替限界により、通常セクタの書換限界回数が何割に減少するかを算出可能とする。
【0056】
次に、上記配列(A)中の(n+1)番目のセクタの書換回数(J)を算出し(ステップS50)、書換可能限界回数に代替可能割合(I)を乗じた回数から(n+1)番目のセクタの書換回数(J)を減じた回数を算出する(ステップS51)。即ち、書換可能限界回数に代替可能割合(I)を乗じた回数とは、(n+1)番目のセクタが、本来の書換可能限界回数のうち、何回分を書換として使用できるかを示しており、この書換回数から(n+1)番目のセクタの現在の書換回数を減じることにより、(n+1)番目のセクタの書換可能回数を算出することができる。これを寿命時期までの書き込み可能回数としてホストへ報告する。
【0057】
以上、具体例2に対し、現時点までの各セクタへの書換回数を元に今後の各セクタの使用を予測し、この予測に従い代替を想定したうえで代替不可能となるセクタの書換回数を元に、寿命時期を書換可能回数として報告するようにしている。
【0058】
例えば、現時点が図3に示す状態であるとして、書き込み集中セクタの代替により限界に到達する場合の書換可能回数を算出すると、以下の通りになる。
・書換回数上位nセクタの平均書換回数:B={(30119+25869+9738)/3}=21905.7回(但し、n=3と仮定した場合)
・書換回数上位(n+1)以降のセクタの平均書換回数:C={(1339+1338+25+25+3387+26)/6}=1023.3回
・平均書換回数比率:D=21905.7/1023.3=21.4
・予備領域内未使用セクタ数:E=20(但し、予備領域内未使用セクタ数を20と仮定)
・代替可能数:E(=20)<21.4×3
・代替可能割合:I=20/(21.4×3)=0.31
・書換回数上位(n+1)セクタの書換回数:3387回
寿命までの書換可能回数:30000×0.31−3387=5913回(但し、セクタの書換可能限界回数を30000と仮定した場合)
尚、書換可能回数の5913回は、書換回数が上位のセクタにおいて、該書換上位セクタにおける平均的な寿命を示す。これにより、書換可能回数が30000回に達し、突然書換が出来なくなる不具合を未然に防止することができる。
【0059】
一方、通常セクタの代替により限界に到達する場合は次のようになる。この場合も、現時点が図3に示す状態であり、予備領域内未使用セクタ数を106と仮定する。
・予備領域内未使用セクタ数 E=106
・代替可能数 E(=106)>21.4×3
・n+1セクタが代替された後に残る予備領域内未使用セクタ
106−(21.4×3+1)=40
【0060】
即ち、上記の(21.4×3)が書き込み集中セクタの使用するセクタ数、1はn+1セクタの使用するセクタ数であり、これらの合計したセクタ数を予備領域内未使用セクタ(=106)から減じた値が、n+1セクタが代替された後に残る予備領域内未使用セクタ数となる。
【0061】
・n+1セクタが代替された時のn+2セクタ目の推定書換回数
30000:x=3387:1339 従って、x=11860
この場合、3387がn+1セクタの現時点の書換回数、1339がn+2セクタの現時点の書換回数であり、これらの比率で、n+1セクタが書換可能限界回数(30000回)に達した時点のn+1セクタに対するn+2セクタの書換回数(x回)が求められる。
【0062】
・n+2セクタが代替されるまでに書き込み集中セクタの代替にて使用されるセクタ数
(30000−11860)×21.4×3÷30000=39
・n+2セクタが代替されるまでにn+1セクタの推定書換回数
x:(30000−11860)=3387:1339 従って、x=45885
ここで、書換可能限界回数は30000回であるため、n+1セクタの代替は1回発生することになる。
【0063】
・n+2セクタの代替時点での予備領域内未使用セクタ数
40−39−1=0
従って、n+2番目のセクタが代替不可となるため、通常セクタを予備領域に代替した場合に、予備領域への代替が不可となるm番目の通常セクタはn+2となる。
・寿命までの書換可能回数
30000−1339=28661回
【0064】
このように、通常セクタの代替により限界に到達する場合は、そのm番目の通常セクタを求め、このm番目の通常セクタの現時点の書換回数を書換可能限界回数から減じた値を求めることによって、寿命算出を行うことができる。
【0065】
〈効果〉
以上のように、具体例3によれば、寿命算出コマンド受付時点迄の使用状況を元に、以降に発生する書換回数超えによる代替を想定し、寿命時期を算出しているため、具体例2の効果に加えシステムの違い等、使用方法に差異があった場合でも、ユーザは確実に寿命時期が認識可能となる。
【図面の簡単な説明】
【図1】本発明の具体例1による半導体ディスク装置の寿命算出方法を示すフローチャートである。
【図2】一般的な半導体ディスク装置の回路ブロック図である。
【図3】セクタ管理テーブルの説明図である。
【図4】本発明の半導体ディスク装置の寿命算出方法におけるライトコマンド処理のフローチャートである。
【図5】本発明の具体例2による半導体ディスク装置の寿命算出方法を示すフローチャートである。
【図6】本発明の具体例3による半導体ディスク装置の寿命算出方法を示すフローチャートである。
【図7】従来のライトコマンド処理のフローチャートである。
【符号の説明】
1 マイクロコントローラ部
2 ディスクコントローラ部
3 フラッシュメモリ部
27 セクタ管理テーブル
Claims (3)
- 書換制限を持ち、かつ、ユーザデータ格納領域と、このユーザデータ格納領域が書換限界回数に達した場合に書き込みを行うための予備領域を有するメモリを使用した半導体ディスク装置の寿命を算出する半導体ディスク装置の寿命算出方法において、
前記予備領域における未使用セクタの数を算出するステップと、
使用中のユーザデータ格納領域の全セクタを書換回数の多い順に配列するステップと、
前記書換回数の多い順に配列したセクタのうち、(前記予備領域の未使用セクタ数+1)番目のセクタを算出するステップと、
前記(予備領域の未使用セクタ数+1)番目のセクタの書換回数を算出するステップと、
書換可能限界回数から、前記(予備領域の未使用セクタ数+1)番目のセクタの書換回数を減じた値を、寿命までの書換可能回数として算出するステップとを備えたことを特徴とする半導体ディスク装置の寿命算出方法。 - 書換制限を持ち、かつ、ユーザデータ格納領域と、このユーザデータ格納領域が書換限界回数に達した場合に書き込みを行うための予備領域を有するメモリを使用した半導体ディスク装置の寿命を算出する半導体ディスク装置の寿命算出方法において、
使用中のユーザデータ格納領域の書換回数を多い順に配列するステップと、
予め設定した定数をnとし、書換回数の上位nセクタまでを書き込み集中セクタとしてこれら書き込み集中セクタの平均書換回数を算出するステップと、
書換回数の上位(n+1)セクタ以降を通常セクタとして、これら通常セクタの平均書換回数を算出するステップと、
前記書き込み集中セクタの平均書換回数と、通常セクタの平均書換回数の比率を算出するステップと、
前記予備領域における未使用セクタの数を算出するステップと、
前記予備領域における未使用セクタ数が、前記比率と前記nを掛けた数以上であった場合は、前記通常セクタの代替により書換可能限界に達すると判定し、前記未使用セクタ数が、前記比率と前記nを掛けた数未満であった場合は、前記書き込み集中セクタの代替により書換可能限界に達すると判定するステップと、
前記通常セクタの代替により書換可能限界に達すると判定した場合は、前記通常セクタを予備領域に代替した場合に、予備領域への代替が不可となる通常セクタの書換回数を書換可能限界数から減じた回数を寿命までの書き込み可能回数として算出するステップと、
前記書き込み集中セクタの代替により書換可能限界に達すると判定した場合は、
(予備領域における未使用セクタ数)/(平均書換回数比率×n)
により代替可能割合を算出するステップと、
書換可能限界回数に前記代替可能割合を乗じた回数から、(n+1)番目のセクタの書換回数を、寿命までの書き込み可能回数として算出するステップとを備えたことを特徴とする半導体ディスク装置の寿命算出方法。 - 請求項1〜2のいずれかにおいて、
ホストからのライトコマンドを受けた場合、寿命までの書き込み可能回数が上限値を超えたセクタがあるか否かを判定し、あった場合はウォーニングフラグをセットするステップと、
ライトコマンド終了報告時にウォーニングフラグがセットされているかを判定し、セットされていた場合は、前記ホストに対して、ウォーニングステータスを付加して報告するステップとを備えたことを特徴とする半導体ディスク装置の寿命算出方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP24618097A JP3557511B2 (ja) | 1997-08-27 | 1997-08-27 | 半導体ディスク装置の寿命算出方法 |
| US09/049,148 US6092221A (en) | 1997-08-27 | 1998-03-27 | Method for calculating remaining life of semiconductor disk device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP24618097A JP3557511B2 (ja) | 1997-08-27 | 1997-08-27 | 半導体ディスク装置の寿命算出方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1173378A JPH1173378A (ja) | 1999-03-16 |
| JP3557511B2 true JP3557511B2 (ja) | 2004-08-25 |
Family
ID=17144711
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP24618097A Expired - Fee Related JP3557511B2 (ja) | 1997-08-27 | 1997-08-27 | 半導体ディスク装置の寿命算出方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6092221A (ja) |
| JP (1) | JP3557511B2 (ja) |
Families Citing this family (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6609219B1 (en) * | 2000-01-24 | 2003-08-19 | Hewlett-Packard Development Company, L.P. | Data corruption testing technique for a hierarchical storage system |
| JP4651913B2 (ja) * | 2003-02-17 | 2011-03-16 | 株式会社日立製作所 | 記憶装置システム |
| DE10341616A1 (de) * | 2003-09-10 | 2005-05-04 | Hyperstone Ag | Verwaltung defekter Blöcke in Flash-Speichern |
| JP4527456B2 (ja) * | 2004-07-06 | 2010-08-18 | Necインフロンティア株式会社 | メモリ寿命警告装置、および情報処理方法 |
| US7778077B2 (en) * | 2006-05-15 | 2010-08-17 | Sandisk Corporation | Non-volatile memory system with end of life calculation |
| EP2024839B1 (en) * | 2006-05-15 | 2014-07-02 | SanDisk Technologies Inc. | Non-volatile memory system with end of life calculation |
| US7543192B2 (en) * | 2006-06-20 | 2009-06-02 | Sun Microsystems, Inc. | Estimating the residual life of a software system under a software-based failure mechanism |
| JP4487978B2 (ja) * | 2006-06-28 | 2010-06-23 | セイコーエプソン株式会社 | 半導体記憶装置管理システム、プログラム、半導体記憶装置の管理方法 |
| JP4645538B2 (ja) * | 2006-06-29 | 2011-03-09 | ソニー株式会社 | 記録装置および寿命情報算出方法 |
| JP2008046923A (ja) | 2006-08-17 | 2008-02-28 | Toshiba Corp | 半導体メモリカードシステムの制御方法 |
| JP5102299B2 (ja) * | 2006-09-28 | 2012-12-19 | サンディスク テクノロジィース インコーポレイテッド | メモリカードの寿命末期の回復およびサイズ変更 |
| JP5171840B2 (ja) * | 2006-11-24 | 2013-03-27 | サンドフォース インコーポレイテッド | メモリの寿命を縮める動作を遅延させる方法及びストレージシステム |
| JP2009122826A (ja) * | 2007-11-13 | 2009-06-04 | Seiko Epson Corp | 半導体記憶装置、半導体記憶装置の制御方法および制御プログラム |
| US8375160B2 (en) * | 2007-11-14 | 2013-02-12 | Panasonic Corporation | Memory controller, nonvolatile storage module, access module and nonvolatile storage system |
| US7903486B2 (en) * | 2007-11-19 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory |
| US20090161243A1 (en) * | 2007-12-21 | 2009-06-25 | Ratnesh Sharma | Monitoring Disk Drives To Predict Failure |
| JP5161560B2 (ja) * | 2007-12-28 | 2013-03-13 | 株式会社東芝 | 半導体記憶装置 |
| JP4743905B2 (ja) * | 2008-03-25 | 2011-08-10 | Necインフロンティア株式会社 | フラッシュメモリ・ストレージ寿命監視装置 |
| US20090271564A1 (en) * | 2008-04-25 | 2009-10-29 | Hitachi, Ltd. | Storage system |
| TWI381391B (zh) * | 2008-08-05 | 2013-01-01 | Transcend Information Inc | 可自我檢測使用狀態的儲存裝置及其檢測方法 |
| JP5399094B2 (ja) * | 2009-02-25 | 2014-01-29 | 株式会社日立情報通信エンジニアリング | 補助記憶装置用フィルタドライバ手段を備えた電子計算機、補助記憶装置用フィルタドライバプログラム、及び、補助記憶装置用フィルタドライバプログラムの記録媒体 |
| JP2010165364A (ja) * | 2010-02-18 | 2010-07-29 | Sony Corp | 記録装置および寿命情報算出方法 |
| KR102291507B1 (ko) | 2014-05-20 | 2021-08-20 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 |
| JP6554990B2 (ja) | 2015-08-11 | 2019-08-07 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0387000A (ja) * | 1989-08-30 | 1991-04-11 | Mitsubishi Electric Corp | 半導体記憶装置 |
| JPH0512137A (ja) * | 1991-06-28 | 1993-01-22 | Fuji Xerox Co Ltd | 情報処理装置 |
| JP3178909B2 (ja) * | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
| JPH07306239A (ja) * | 1994-05-16 | 1995-11-21 | Hitachi Ltd | 余寿命センサー付き電気製品 |
| JPH0863559A (ja) * | 1994-08-25 | 1996-03-08 | Hitachi Ltd | 携帯型メモリカードシステムおよび端末装置 |
| US5819100A (en) * | 1996-11-19 | 1998-10-06 | Dell Usa, L.P. | Operating system independent method and system for preserving hard disk drive life span in power managed computers |
-
1997
- 1997-08-27 JP JP24618097A patent/JP3557511B2/ja not_active Expired - Fee Related
-
1998
- 1998-03-27 US US09/049,148 patent/US6092221A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US6092221A (en) | 2000-07-18 |
| JPH1173378A (ja) | 1999-03-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH1173378A (ja) | 半導体ディスク装置の寿命算出方法 | |
| JP4031190B2 (ja) | メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置 | |
| US6058047A (en) | Semiconductor memory device having error detection and correction | |
| JP3544859B2 (ja) | 不揮発性半導体メモリを使用した2次記憶装置 | |
| JP5819610B2 (ja) | 異なる記憶装置にデータを書き込む方法及び装置 | |
| US7290097B2 (en) | Nonvolatile memory | |
| US9489303B2 (en) | Techniques for controlling recycling of blocks of memory | |
| JP3937214B2 (ja) | エラー訂正回数を記録する記憶装置 | |
| JPH05324489A (ja) | 記憶装置 | |
| JP4401954B2 (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 | |
| JP2011503741A5 (ja) | ||
| US20030135793A1 (en) | Method and apparatus for dynamic degradation detection | |
| JP2011503768A5 (ja) | ||
| JP2003532222A (ja) | 記憶媒体上のデータ管理のための方法、システム、及びコンピュータプログラム | |
| JP2019125109A (ja) | ストレージ装置、ストレージシステム、及びプログラム | |
| JP3541349B2 (ja) | キャッシュメモリ・バックアップシステム | |
| JP2003248631A (ja) | メモリ制御回路及びメモリ制御方法 | |
| JP4602387B2 (ja) | メモリカード、不揮発性メモリ、不揮発性メモリのデータ書込み方法及びデータ書込み装置 | |
| JP2000163322A (ja) | メモリパトロール方法と制御回路 | |
| JP2001282402A (ja) | 記録媒体制御装置 | |
| JPH11134075A (ja) | 情報処理装置 | |
| JP3573599B2 (ja) | ディスクアレイにおけるデータ回復方法 | |
| JP4645538B2 (ja) | 記録装置および寿命情報算出方法 | |
| JP2003345637A (ja) | バックアップ装置及びバックアップ方法並びにバックアップ評価プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20031209 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040302 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040325 |
|
| 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: 20040427 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040428 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080528 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090528 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090528 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 6 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 6 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110528 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110528 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120528 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120528 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140528 Year of fee payment: 10 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| 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 |
|
| LAPS | Cancellation because of no payment of annual fees |