(57)【要約】【課題】ハードディスク装置の代替として、現実的な利用が可能な半導体記憶装置を実現するための半導体記憶装置管理システム等を提供する。【解決手段】データを記憶する半導体メモリ領域１５と、当該半導体メモリ領域１５内の不良ブロックを代替する不良ブロック代替領域１６と、を有する半導体記憶装置１０の装置寿命を管理する半導体記憶装置管理システムＳＹであって、不良ブロック代替領域１６の消費ブロック数を検出する記憶装置側コントローラ１２と、その検出結果に基づいて半導体記憶装置１０の装置寿命を予測し、当該予測結果を報知するホスト側コントローラ３１と、を備えたものである。【選択図】図１
2008009594.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する半導体メモリ領域と、当該半導体メモリ領域内の不良ブロックを代替する不良ブロック代替領域と、を有する半導体記憶装置の装置寿命を管理する半導体記憶装置管理システムであって、
前記不良ブロック代替領域の消費ブロック数を検出する消費ブロック数検出手段と、
前記消費ブロック数検出手段の検出結果に基づいて、前記半導体記憶装置の装置寿命を予測し、当該予測結果を報知する寿命報知手段と、
を備えていることを特徴とする半導体記憶装置管理システム。
【請求項２】
前記消費ブロック数検出手段の検出結果から得られる前記不良ブロック代替領域の消費率または残存率を段階的に報知する段階報知手段をさらに備えていることを特徴とする請求項１に記載の半導体記憶装置管理システム。
【請求項３】
前記半導体メモリ領域内の各ブロックに対する書替え回数を平滑化する平滑化手段をさらに備えていることを特徴とする請求項２に記載の半導体記憶装置管理システム。
【請求項４】
前記半導体メモリ領域および前記不良ブロック代替領域は、不揮発性メモリにより構成されていることを特徴とする請求項３に記載の半導体記憶装置管理システム。
【請求項５】
前記寿命報知手段および／または前記段階報知手段は、画面表示、音声出力、電子メール送信、コマンド送信、電話のいずれかの手段を用いて、報知を行うことを特徴とする請求項３または４に記載の半導体記憶装置管理システム。
【請求項６】
前記寿命報知手段は、前記不良ブロック代替領域の単位時間における後天性不良ブロック発生数の最悪値、平均値または現在値のいずれかまたは組み合わせに基づいて、前記装置寿命を予測することを特徴とする請求項３ないし５のいずれか１項に記載の半導体記憶装置管理システム。
【請求項７】
前記半導体記憶装置管理システムは、
前記半導体記憶装置と、
前記半導体記憶装置にアクセスするホスト装置と、から成り、
前記半導体記憶装置は、
前記消費ブロック数検出手段と、前記平滑化手段と、を実現するための記憶装置側コントローラを有し、
前記ホスト装置は、
前記寿命報知手段と、前記段階報知手段と、を実現するためのホスト側コントローラを有していることを特徴とする請求項３ないし６のいずれか１項に記載の半導体記憶装置管理システム。
【請求項８】
前記ホスト側コントローラは、前記記憶装置側コントローラにポーリングして、前記消費ブロック数検出手段の検出結果を取得することを特徴とする請求項７に記載の半導体記憶装置管理システム。
【請求項９】
請求項１ないし８のいずれか１項に記載の半導体記憶装置管理システムに適用される半導体記憶装置。
【請求項１０】
請求項７または８に記載の半導体記憶装置管理システムに適用されるホスト装置。
【請求項１１】
コンピュータを、請求項１ないし８のいずれか１項に記載の半導体記憶装置管理システムにおける各手段として機能させるためのプログラム。
【請求項１２】
データを記憶する半導体メモリ領域と、当該半導体メモリ領域内の不良ブロックを代替する不良ブロック代替領域と、を有する半導体記憶装置の管理方法であって、
前記不良ブロック代替領域の消費履歴に基づいて、前記半導体記憶装置の装置寿命を予測し、当該予測結果を報知することを特徴とする半導体記憶装置の管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
装置寿命のある半導体記憶装置を管理する半導体記憶装置管理システム、半導体記憶装置、ホスト装置、プログラム、半導体記憶装置の管理方法に関するものである。
【背景技術】
【０００２】
近年、ＮＡＮＤ型フラッシュメモリを代表とする不揮発性メモリを記憶媒体とした半導体記憶装置（シリコンディスク）は、ハードディスク装置の代替として注目されている。その理由としては、ハードディスク装置と比較して、回転機構等の故障要素がないこと、低消費電力であること、２４時間連続使用できること、稼動音がないこと、振動等に対する耐衝撃性があることなどが挙げられる。しかしながら、この種の半導体記憶装置は、データの書替え回数に制限があり、通常数万回から数十万回程度で装置寿命となってしまうといった欠点がある。しかも、特定の領域（記憶素子）に書替えが集中すると、さらに寿命が短くなってしまう。このような問題を解消する技術として、特許文献１に記載のものが知られている。
【特許文献１】特開平０５−２０４５６１号公報
【０００３】
特許文献１には、フラッシュメモリ内に、データを記憶するデータメモリ領域と、当該データメモリ領域内のエラー領域を代替する代替メモリ領域と、データメモリのうちエラーとなったデータメモリの代替メモリのアドレスをエラー情報として有するエラーメモリ領域と、を設けると共に、これら各領域への読み書きを行なうメモリコントローラを有する半導体記憶装置（半導体ディスク）が記載されている。このような構成において、メモリコントローラは、エラーメモリ領域のエラー情報を読み取り、データメモリ領域が正常なときはデータメモリ領域、異常なときは代替メモリ領域へ読み書きを行う。書き込み時において、エラーが発生した場合は、不良ブロック代替領域の空き領域を捜し、空き領域へデータを書き込むと共に、エラーのあったメモリ領域のエラー情報を更新する、といった制御を行うことにより、フラッシュメモリの書替えによるエラーを救済し、半導体記憶装置の延命を図るものである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、特許文献１に記載の技術は、半導体記憶装置の延命を図ることができるものの、寿命を無くすことはできない。この他、装置寿命を回避するための種々の技術（特定の領域への書替え集中を回避する平滑化処理（ウェアレベリング）など）が提案されているが、いずれも寿命を無限にできるものではない。
【０００５】
したがって、従来技術では、現実的に半導体記憶装置をハードディスク装置の代替として用いることができない。もちろん、書替えを禁止または制限する組み込み機器や、書替え回数がある程度推測可能なオーディオ機器等の記憶装置として利用することは可能であるが、アプリケーションや運用に制限が生じてしまう。また、事前に寿命を計算して用いたり、定期的に交換するといった方法も考えられるが、前者の場合は信頼性に乏しく、後者の場合は装置寿命前に交換が必要になるためユーザに不利益が生じるなど、いずれも現実的な運用に耐えられるものではない。
【０００６】
このような問題点に鑑み、ハードディスク装置の代替として、現実的な利用が可能な半導体記憶装置を実現するための半導体記憶装置管理システム、半導体記憶装置、ホスト装置、プログラム、半導体記憶装置の管理方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
本発明の半導体記憶装置管理システムは、データを記憶する半導体メモリ領域と、当該半導体メモリ領域内の不良ブロックを代替する不良ブロック代替領域と、を有する半導体記憶装置の装置寿命を管理する半導体記憶装置管理システムであって、不良ブロック代替領域の消費ブロック数を検出する消費ブロック数検出手段と、消費ブロック数検出手段の検出結果に基づいて、半導体記憶装置の装置寿命を予測し、当該予測結果を報知する寿命報知手段と、を備えていることを特徴とする。
【０００８】
また、本発明の半導体記憶装置の管理方法は、データを記憶する半導体メモリ領域と、当該半導体メモリ領域内の不良ブロックを代替する不良ブロック代替領域と、を有する半導体記憶装置の管理方法であって、不良ブロック代替領域の消費履歴に基づいて、半導体記憶装置の装置寿命を予測し、当該予測結果を報知することを特徴とする。
【０００９】
これらの構成によれば、半導体メモリ領域内の不良ブロックを代替する不良ブロック代替領域の消費ブロック数（消費履歴）に基づいて、半導体記憶装置の装置寿命を予測し、当該予測結果を報知するため、ユーザは、半導体記憶装置の装置寿命を把握することができる。これにより、半導体記憶装置を消耗品と捉えて適切な時期に交換することができるため、ユーザの意に反して半導体記憶装置が装置寿命に達してしまい、データの信頼性が失われたり損失してしまったりすることがない。
また、不良ブロック代替領域の消費ブロック数（消費履歴）に基づいて装置寿命を予測するため、書替え回数を計数して装置寿命を予測する場合と比べて、より正確に寿命予測を行うことができる。また、書替え回数をカウントする必要がないため、カウンタなどの回路構成やカウント数を記憶するためのメモリを不要とすることができる。
【００１０】
上記の半導体記憶装置管理システムにおいて、消費ブロック数検出手段の検出結果から得られる不良ブロック代替領域の消費率または残存率を段階的に報知する段階報知手段をさらに備えていることが好ましい。
【００１１】
この構成によれば、ユーザは、段階的に不良ブロック代替領域の消費率または残存率を把握することができる。すなわち、ユーザは半導体記憶装置が装置寿命に至るまでの経緯を確認できるため、安心して半導体記憶装置を利用することができる。
【００１２】
上記の半導体記憶装置管理システムにおいて、半導体メモリ領域内の各ブロックに対する書替え回数を平滑化する平滑化手段をさらに備えていることが好ましい。
【００１３】
この構成によれば、平滑化処理により、装置寿命を延ばすことができる。
【００１４】
上記の半導体記憶装置管理システムにおいて、半導体メモリ領域および不良ブロック代替領域は、不揮発性メモリにより構成されていることが好ましい。
【００１５】
この構成によれば、不揮発性メモリを用いるため、電源遮断後でも、データを保持しておくことができる。つまり、揮発性メモリを用いた場合に必要となる煩わしい処理（電源遮断前に半導体メモリ領域および不良ブロック代替領域内のデータを他の不揮発性メモリに一旦書き込んでおくなどの処理）や、バックアップ電池等を必要としない。
【００１６】
上記の半導体記憶装置管理システムにおいて、寿命報知手段および／または段階報知手段は、画面表示、音声出力、電子メール送信、コマンド送信、電話のいずれかの手段を用いて、報知を行うことが好ましい。
【００１７】
この構成によれば、画面表示、音声出力、電子メール送信、コマンド送信、電話といった手段を用いて、ユーザに対し、装置寿命や不良ブロック代替領域の消費ブロック数を報知することができる。
【００１８】
上記の半導体記憶装置管理システムにおいて、寿命報知手段は、不良ブロック代替領域の単位時間における後天性不良ブロック発生数の最悪値、平均値または現在値のいずれかに基づいて、装置寿命を予測することが好ましい。
【００１９】
この構成によれば、不良ブロック代替領域の単位時間における後天性不良ブロック発生数（不良ブロック代替領域の消費ブロック数（不良ブロック総数）から工場出荷時における先天性不良ブロック数を差し引いた値）に基づいて装置寿命を予測するため、先天性不良ブロック数の影響をなくしたより正確な予測ができる。また、最悪値を用いて予測することにより、装置寿命となる前に確実に装置寿命を報知することができる。また、平均値を用いて予測することにより、後天性不良ブロック発生数が均一に増加しない場合でも、装置寿命を報知することができる。また、現在値を用いて予測することにより、過去に取得した後天性不良ブロック数を保存しておく必要がなく、後天性不良ブロック発生数が均一に増加すると想定される場合、実使用環境に適した報知を行うことができる。
【００２０】
上記の半導体記憶装置管理システムにおいて、半導体記憶装置管理システムは、半導体記憶装置と、半導体記憶装置にアクセスするホスト装置と、から成り、半導体記憶装置は、消費ブロック数検出手段と、平滑化手段と、を実現するための記憶装置側コントローラを有し、ホスト装置は、寿命報知手段と、段階報知手段と、を実現するためのホスト側コントローラを有していることが好ましい。
【００２１】
この構成によれば、ホスト側コントローラが、寿命報知手段および段階報知手段を実現するため、記憶装置側コントローラは、消費ブロック数検出手段および平滑化手段を実現するだけでよい。すなわち、半導体記憶装置の制御負荷軽減および低廉化を図ることができる。
【００２２】
上記の半導体記憶装置管理システムにおいて、ホスト側コントローラは、記憶装置側コントローラにポーリングして、消費ブロック数検出手段の検出結果を取得することが好ましい。
【００２３】
この構成によれば、ホスト側コントローラが、記憶装置側コントローラにポーリングして、消費ブロック数検出手段の検出結果（不良ブロック代替領域の消費ブロック数）を取得することができるため、記憶装置側コントローラは、それに対してレスポンスするだけでよい。これにより、記憶装置側コントローラ（半導体記憶装置側）の制御負荷をより軽減することができる。
【００２４】
本発明の半導体記憶装置は、上記の半導体記憶装置管理システムに適用されることを特徴とする。
【００２５】
本発明のホスト装置は、上記の半導体記憶装置管理システムに適用されることを特徴とする。
【００２６】
本発明のプログラムは、コンピュータを、上記の半導体記憶装置管理システムにおける各手段として機能させるためのものであることを特徴とする。
【００２７】
これらを用いることにより、ハードディスク装置の代替として、現実的な利用が可能な半導体記憶装置を実現するための半導体記憶装置管理システムを提供することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の一実施形態に係る半導体記憶装置管理システム、半導体記憶装置、ホスト装置、プログラム、半導体記憶装置の管理方法について説明する。図１は、半導体記憶装置管理システムＳＹのシステム構成を示すブロック図である。半導体記憶装置管理システムＳＹは、ハードディスク装置の代替として利用される半導体記憶装置（例えば、シリコンディスク）１０と、当該半導体記憶装置１０にアクセスするホスト装置（例えば、パーソナルコンピュータ）３０と、当該ホスト装置３０の周辺機器であるディスプレイ３６およびスピーカ３７と、により構成されている。
【００２９】
半導体記憶装置１０は、Ｉ／Ｆブロック１１、記憶装置側コントローラ１２、ＲＯＭ１３、ＲＡＭ１４およびＮＡＮＤ型フラッシュメモリ２０を備え、これらは不図示の内部バスにより接続されている。また、ＮＡＮＤ型フラッシュメモリ２０は、記憶媒体としてデータを記憶する半導体メモリ領域１５、および当該半導体メモリ領域１５内の不良ブロックを代替する不良ブロック代替領域１６を有している。
【００３０】
ＮＡＮＤ型フラッシュメモリ２０は、ビット単価と容量の面で有利であるため、ストレージデバイス用途として多く用いられるメモリである。
【００３１】
なお、ＮＡＮＤ型フラッシュメモリ２０には、通常ＳＬＣ(シングルレベルセル)と称される1セルあたり1ビットのフラッシュメモリが用いられるが、本実施形態では寿命管理ができることから書替え回数の制限や信頼性が劣るＭＬＣ（マルチレベルセル）と称される１セルあたりのビット数を増やしたフラッシュメモリを用いることも可能である。このように、ＭＬＣを用いることで、大容量化且つコストメリットの向上を図ることができる。
【００３２】
また、ＮＡＮＤ型フラッシュメモリ２０以外にも、ＡＮＤ型フラッシュメモリやバックアップ電池付きのＳＲＡＭで、半導体メモリ領域１５および不良ブロック代替領域１６を構成することも可能である。
【００３３】
Ｉ／Ｆブロック１１は、ホスト装置３０とのデータ転送を行うものであり、そのデータ転送速度を高速化するため、ホスト装置３０からの読み出し／書き込みデータ、およびコマンドをバッファリングするためのメモリ（バッファ，図示省略）を有している。なお、Ｉ／Ｆブロック１１は、用途にあわせて、ＩＤＥ、ＳＣＳＩ、シリアルＡＴＡ等のデータ転送規格を採用することができる。
【００３４】
記憶装置側コントローラ１２は、ＣＰＵ２１の他、当該ＣＰＵ２１により読み書きされるアドレス変換テーブル２２、代替領域管理テーブル２３および代替領域情報２４を有している。
【００３５】
アドレス変換テーブル２２は、ＣＰＵ２１が、ホスト装置３０とやり取りするための論理ブロックアドレスと、実際に半導体記憶装置１０内にデータを書き込むための物理ブロックアドレスとの関連付けを行う際に参照する対応リストである。
【００３６】
上記のとおり、本実施形態の半導体記憶装置１０は、ＮＡＮＤ型フラッシュメモリ２０を採用しているが、当該ＮＡＮＤ型フラッシュメモリ２０は、データの上書きができないため、データの書替えを行う場合、消去済みブロックに新規データを書き込み、書替え前のデータが書き込まれていたブロックを消去するといった処理を行う。ＣＰＵ２１は、データの書替え毎に、アドレス変換テーブル２２の内容にしたがって該当ブロックのデータを書替える（アドレス変換テーブルはホスト装置３０からの論理ブロックアドレスと半導体記憶装置１０の物理ブロックアドレスとの対応関係を定義している）。その際、ＣＰＵ２１は、ブロック（物理ブロックアドレス）毎に書替え回数または消去回数をカウントし、それらがある設定数以上になると、書替え回数の少ないブロックにデータを入れ替える。すなわち、半導体メモリ領域１５内の各ブロックへの書替え回数が平滑化するように、ブロックのデータを別ブロックに移動させ、該当するアドレス変換テーブル２２を書替える平滑化処理を行う（平滑化手段）。
【００３７】
また、書替え回数の増加によって、半導体メモリ領域１５に書き込みエラーが発生する場合があるが、そのような書き込みエラーが生じた場合、ＣＰＵ２１は、該当する半導体メモリ領域１５内の不良ブロックのアドレスを、不良ブロック代替領域１６内の代替ブロックに割り当て、以降は不良ブロック代替領域１６にアクセスするような処理を行う。なお、このように、稼動時（通常使用時）において書き込みエラーが発生した不良ブロック（以降、「後天性不良ブロック」と称する）のアドレスは、代替領域管理テーブル２３に書き込み、以降のアクセスを禁止する。これに対し、ＮＡＮＤ型フラッシュメモリ２０には、工場出荷時において既に不良ブロックが存在する場合があるが、代替領域管理テーブル２３には、この先天性不良ブロックのアドレスも書き込まれている。
【００３８】
代替領域情報２４は、半導体記憶装置１０の装置寿命を管理するためのデータであり、具体的には、不良ブロック代替領域１６の不良ブロック総数（Ａ）、工場出荷時の先天性不良ブロック数（Ｂ）、稼動時に不良となった後天性不良ブロック数（Ｃ）、単位時間における後天性不良ブロックの発生数（Ｄ）に関するデータである（図３参照）。
【００３９】
不良ブロック総数（Ａ）は、予め半導体メモリ領域１５内の不良ブロックを代替するために用意された不良ブロック代替領域１６のブロック総数である。また、先天性不良ブロック数（Ｂ）は、メーカーの検出仕様にそって工場出荷時に検出し、登録した値である。また、後天性不良ブロック数（Ｃ）は、不良ブロック代替領域１６を取得する度にＣＰＵ２１が取得したブロック数を加算して書替える値である。さらに、単位時間における後天性不良ブロックの発生数（Ｄ）は、例えば１０分毎に後天性不良ブロックの発生数をカウントし、前回のカウント値との差分に基づいて算出する。なお、装置寿命の詳細な算出方法等については、後述する。
【００４０】
その他、ＣＰＵ２１は、本実施形態の半導体記憶装置１０が、ハードディスクの代替として用いられることから、ハードディスク用のコマンドを解析してＮＡＮＤ型フラッシュメモリ２０に割り当てるなどの処理を行う。
【００４１】
なお、アドレス変換テーブル２２、代替領域管理テーブル２３および代替領域情報２４は、いずれも不揮発に記憶されていればよく、必ずしも記憶装置側コントローラ１２がこれらを有する構成でなくてもよい。すなわち、これらを記憶するための汎用メモリチップ（ＥＥＰＲＯＭなど）を搭載しても良い。
【００４２】
一方、ＲＯＭ１３は、記憶装置内ファームウェア２６を有している。この記憶装置内ファームウェア２６には、記憶装置側コントローラ１２（ＣＰＵ２１）が上記の各処理を実現するための制御プログラムの他、通常処理（ホスト装置３０とのリード／ライトや、ホスト装置３０からのコマンド送信に対するステータスの返信、電源投入時初期化（電源遮断時の退避処理など）を行うための制御プログラムが記録されている。
【００４３】
また、ＲＡＭ１４は、ＣＰＵ２１の処理時におけるワークエリアとして用いられ、各種フラグ等を記憶する。例えば、ＣＰＵ２１は、後天性不良ブロックが単位時間内に急激に増加した場合や、半導体記憶装置１０に異常が生じた場合、それらのエラー情報を示すフラグをＲＡＭ１４に反映させると共に、ホスト装置３０に通知する。ホスト装置３０は、当該エラー情報の通知を受けると半導体記憶装置１０への書き込みを禁止し、その旨をユーザに対して報知する。
【００４４】
半導体メモリ領域１５は、先天性不良ブロックおよび後天性不良ブロックが発生することを前提に、その書き込みアルゴリズムが組まれている。また、エラー検出には、パリティではなく、訂正機能のあるＥＣＣが使用される。
【００４５】
不良ブロック代替領域１６は、上記のとおり半導体メモリ領域１５内の不良ブロックを代替するものであるが、ほぼ全領域を消費した時点でホスト装置３０により装置寿命と判定される。言い換えれば、装置寿命を判定するための指標としても用いられる。
【００４６】
続いて、ホスト装置３０側の構成を説明する。ホスト装置３０は、ホスト側コントローラ３１およびホスト側管理プログラム３２を備えている。ホスト側コントローラ３１は、ホスト側管理プログラム３２に基づいて、記憶装置側コントローラ１２に定期的にポーリングし、これに対する記憶装置側コントローラ１２のレスポンスにより、上記の代替領域情報２４や各種エラー情報を取得する。また、取得した情報に基づいて、半導体記憶装置１０の装置寿命を予測（算出）し、当該予測結果を報知する（寿命報知手段）。また、同じく取得した情報に基づいて、不良ブロック代替領域１６の消費率または残存率を算出し、当該消費率または残存率を段階的に報知する（段階報知手段）。
【００４７】
なお、「消費率または残存率を段階的に報知する」とは、消費率または残存率がある所定値を超えたときに所定の報知を行うのではなく、これらの値の大小によらず、値が変化していく経緯をユーザが判断できるように定期的に報知を行うことを指す（例えば、百分率のバー表示や円表示など）。また、「装置寿命や、不良ブロック代替領域１６の消費率または残存率を報知する」とは、ディスプレイ上３６に、それらの値を表示したり、スピーカ３７により音声出力（音声ガイダンスや所定の電子音の発生）を行うことを指す。また、ホスト装置３０がインターネット接続機能を有している場合は、電子メール送信により、その送信対象となるパーソナルコンピュータや各種情報端末に対して報知を行ったり、コマンド送信により、ネットワーク接続されたサーバ等に報知を行ったりしても良い（サーバからの遠隔監視でも良い）。さらに、ホスト装置３０が電話接続機能を有している場合は、電話により、その通話対象となる相手に対して報知を行っても良い。
【００４８】
また、ホスト側コントローラ３１は、半導体記憶装置１０から取得した代替領域情報２４を、記憶装置管理データ４１として記録し、ポーリングする度に更新する。例えば、ユーザが、不図示の操作手段（キーボードやマウス等）を用いて、半導体記憶装置１０の装置寿命や、不良ブロック代替領域１６の消費率または残存率を問い合わせた場合、この記憶装置管理データ４１に基づいて、画面表示や音声出力等によりそれらの値を報知する。
【００４９】
ホスト側管理プログラム３２は、ホスト側コントローラ３１が上記の各種処理や、半導体記憶装置１０との通常処理を行うための制御プログラムを記憶している。また、半導体記憶装置１０の装置寿命や、不良ブロック代替領域１６の消費率または残存率を報知したり、これらに関する各種設定を行うための管理ツールも、ホスト側管理プログラム３２に含まれる。
【００５０】
図２は、その管理ツールによる報知例（表示例）５０を示したものである。ここでは、不良ブロック代替領域１６の合計サイズ５１、不良ブロック代替領域１６の消費領域および残存領域、並びにそれらの割合を示す円表示（消費率および残存率）５２、半導体記憶装置１０（シリコンディスク）の交換を促す警告表示５３、装置寿命の算出結果５４を表示している。
【００５１】
なお、警告表示５３は、不良ブロック代替領域１６の消費率が６０％〜９０％と判断した場合に表示するものである。不良ブロック代替領域１６の消費率が９０％を超えた場合は、警告表示５３に代えて、半導体記憶装置１０への書き込みを禁止する旨の危険表示を行う。但し、不良ブロック代替領域１６の消費率が９０％を超えた場合に書き込みを禁止するか否かについては、管理ツールにより設定可能となっている。
【００５２】
また、図２の表示例では、装置寿命５４について、２年〜０日までを表示しているが、時間単位や日数単位など、表示する装置寿命５４の単位を管理ツールにより設定可能としても良い。また、装置寿命５４が、１ヶ月以下となったときから表示させるなど、装置寿命５４を表示する基準も、設定可能としても良い。
【００５３】
また、図２に示した管理ツールによる表示５０は、ホスト装置３０の起動時にＯＳ（図示省略）に常駐させて、タスクバーに格納しても良いし、ホスト側管理プログラム３２（管理ツール）の起動によって表示させても良い。さらに、管理ツールには、警告表示や危険表示を行うための閾値の設定機能や、報知手段（半導体記憶装置管理システムＳＹの管理会社へのサービスコール、管理者への電子メール、リモート通信、電話など）の選択機能を搭載しても良い。さらに、半導体記憶装置１０の交換ガイド機能（動画による画面表示、音声出力など）や、半導体記憶装置１０の交換のためのコピー機能（メモリ経由でのセイブ／リカバリ）を搭載しても良い。
【００５４】
次に、図３を参照し、上記のホスト側コントローラ３１による、半導体記憶装置１０の消費率、残存率および装置寿命の算出処理について説明する。なお、以下（ａ）および（ｂ）に示す算出アルゴリズムは、ホスト側管理プログラム３２に含まれるものである。また、以下（ｃ）に示す算出アルゴリズムは、記憶装置内ファームウェア２６に含まれるものである。
【００５５】
また、不良ブロック代替領域１６の不良ブロック総数（Ａ）、工場出荷時の先天性不良ブロック数（Ｂ）、稼動時に不良となった後天性不良ブロック数（Ｃ）、単位時間における後天性不良ブロックの発生数（Ｄ）の各値は、上記のとおり、ホスト側コントローラ３１が半導体記憶装置１０から取得した代替領域情報２４に含まれるデータである。
【００５６】
図３（ａ）に示すように、不良ブロック代替領域１６の消費ブロック数は、先天性不良ブロック数（Ｂ）＋後天性不良ブロック数（Ｃ）によって算出できる。また、不良ブロック代替領域１６の消費率は、不良ブロック代替領域１６の消費ブロック数を、不良ブロック代替領域１６の不良ブロック総数（Ａ）で除した値、すなわち、計算式（Ｂ＋Ｃ）／Ａ＊１００により算出できる。さらに、不良ブロック代替領域１６の残存率は、計算式（Ａ−Ｂ−Ｃ）／Ａ＊１００により算出できる。
【００５７】
また、同図（ｂ）に示すように、装置寿命、すなわち半導体記憶装置１０が使用不能状態となるまでの残時間は、Ｅ＝１時間あたりの後天性不良ブロックの発生数とすると、計算式（Ａ−Ｂ−Ｃ）／Ｅにより算出できる。なお、１時間あたりの後天性不良ブロックの発生数（Ｅ）は、単位時間における後天性不良ブロックの発生数（Ｄ）＊後天性不良ブロックの発生数を記録する単位時間を１時間に変換する定数（α）により算出できる。例えば、後天性不良ブロックの発生数を記録する単位時間を１０分とすると、α＝１時間／１０分＝６であり、Ｅ＝６＊Ｄとなる。
【００５８】
また、単位時間における後天性不良ブロックの発生数（Ｄ）は、最悪値（Ｄ１）、平均値（Ｄ２）、現在値（集計した最新値，Ｄ３）のいずれかを採用できる。本実施形態では、半導体記憶装置１０の記憶媒体としてＮＡＮＤ型フラッシュメモリ２０を用いており、そのメモリ特性および平滑化処理の影響により、後天性不良ブロックは均一的に増加すると予測できる。したがって、実使用環境に適した現在値（Ｄ３）を採用する。
【００５９】
なお、最悪値（Ｄ１）を用いて装置寿命を算出した場合は、装置寿命となる前に確実に装置寿命を報知することができる。また、平均値（Ｄ２）を用いて算出した場合は、後天性不良ブロック発生数が均一に増加しない場合でも、大凡の装置寿命を報知することができる。したがって、Ｄ１〜Ｄ３のいずれの値を採用するか、またはＤ１〜Ｄ３のいずれかの組み合せを採用するかは、メモリ特性や使用用途に応じて決定されることが好ましい。また、管理ツールに、選択する機能を搭載しても良い。
【００６０】
また、同図（ｃ）に示すように、単位時間における後天性不良ブロックの発生数（Ｄ）は、Ｄ＝前回の後天性不良ブロック数（Ｃ）−今回の後天性不良ブロック数（Ｃ）により算出できる。但し、同図（ｃ）に示す算出処理は記憶装置側コントローラ１２が行い、算出結果であるＤの値を、代替領域情報２４としてホスト装置３０に提供するものである。
【００６１】
次に、図４を参照し、上記のホスト側コントローラ３１による半導体記憶装置１０の管理処理フローを説明する。ホスト側コントローラ３１は、ホスト装置３０の電源投入時、および管理ツールにより設定されたポーリング間隔（カウンタ設定値）に基づいて、記憶装置側コントローラ１２にポーリングし、代替領域情報２４（上記のＡ〜Ｄのデータ）を取得する（Ｓ０１）。
【００６２】
続いて、取得した代替領域情報２４と、図３（ａ）および（ｂ）に示した計算式に基づいて、不良ブロック代替領域１６の残存率および装置寿命を算出する（Ｓ０２）。そして、不良ブロック代替領域１６の残存率が１０％未満であるか否か（危険状態であるか否か）を判別し（Ｓ０３）、１０％未満でない場合は（Ｓ０３：Ｎｏ）、まだ危険状態ではないと判定する。
【００６３】
危険状態ではないと判定した場合は、さらに不良ブロック代替領域１６の残存率が４０％未満であるか否か（警告状態であるか否か）を判別し（Ｓ０４）、４０％以上である場合は（Ｓ０４：Ｙｅｓ）、警告状態と判定し、警告報知５３と共に装置寿命等（不良ブロック代替領域１６の消費領域、残存領域およびそれらの割合５２、並びに装置寿命５４）を報知する（Ｓ０５，図２参照）。また、不良ブロック代替領域１６の残存率が４０％以上である場合は（Ｓ０４：Ｎｏ）、まだ警告状態にもなっていないと判定し、警告報知以外の装置寿命等を報知する（Ｓ０６）。
【００６４】
報知後は、カウンタ設定値を参照し（Ｓ０７）、カウンタの値が設定値未満である場合はポーリング待ち状態となる。また、カウンタの値が設定値以上である場合は、記憶装置管理データ４１を更新し（Ｓ０８）、再度記憶装置側コントローラ１２にポーリングする（Ｓ０１）。
【００６５】
一方、Ｓ０３において、危険状態であると判定した場合（不良ブロック代替領域１６の残存率が１０％未満である場合）は（Ｓ０３：Ｙｅｓ）、危険報知と共に装置寿命等を報知する（Ｓ０９）。ここでは、危険報知として（例えば管理ツールによる表示５０において）、半導体記憶装置１０への書き込みを禁止する旨や保障不可能である旨を報知する。また、管理ツールにより、危険状態において書き込み禁止を行うように設定されている場合は（Ｓ１０：Ｙｅｓ）、書き込み禁止のための処理を行った後（Ｓ１１）、半導体記憶装置１０の管理処理を終了する。
【００６６】
以上、説明したとおり、本実施形態によれば、不良ブロック代替領域１６の消費ブロック数（消費履歴）に基づいて、半導体記憶装置１０の装置寿命を予測し、当該予測結果を報知するため、ユーザは、半導体記憶装置１０の装置寿命を把握することができる。これにより、ユーザの意に反して半導体記憶装置１０が装置寿命に達してしまい、データの信頼性が失われたり損失してしまったりすることがない。また、消費ブロック数（消費履歴）に基づいて装置寿命を予測することにより、書替え回数を計数して装置寿命を予測する場合と比べて、より正確に寿命予測を行うことができる。また、書替え回数をカウントする必要がないため、カウンタなどの回路構成やカウント数を記憶するためのメモリを不要とすることができ、装置構成を簡素化できる。
【００６７】
また、不良ブロック代替領域１６の消費率または残存率を段階的に報知するため、ユーザは半導体記憶装置１０が装置寿命に至るまでの経緯を確認でき、安心して利用することができる。
【００６８】
また、装置寿命は、不良ブロック代替領域１６の単位時間における後天性不良ブロック発生数に基づいて算出するため、より正確に装置寿命を予測することができる。さらに、単位時間における後天性不良ブロック発生数の現在値（Ｄ３）を用いて予測するため、過去に取得した後天性不良ブロック数を保存しておく必要がなく、ＮＡＮＤ型フラッシュメモリ２０のように後天性不良ブロック発生数が均一に増加すると想定される場合、実使用環境に適した報知を行うことができる。
【００６９】
また、ＮＡＮＤ型フラッシュメモリ２０に、ＭＬＣ（マルチレベルセル）を採用すれば、１セルに多値を書き込むことができ、大容量化且つコストメリットの向上を図ることができる。また、ＭＬＣは、ＳＬＣ（シングルレベルセル）と比較して、読み書き電圧や温度に関するマージンが少ないので、エラー率が高く、装置寿命（耐久性）に劣るといった欠点があるが（現在の技術水準では、ＳＬＣが１０万回の書換え回数保証値であるのに対しＭＬＣは１万回以下）、本実施形態によれば、装置寿命を予測できるため、そのような欠点をカバーすることができる。
【００７０】
また、不良ブロック代替領域１６の消費率や半導体記憶装置１０の装置寿命についての報知を、ホスト装置３０側で実行するため、半導体記憶装置１０側は、消費ブロック数を検出するだけでよく、制御負荷の軽減および低廉化を図ることができる。
【００７１】
なお、上記の実施形態では、ホスト装置３０側において、不良ブロック代替領域１６の消費率等を算出するものとしたが、半導体記憶装置１０側で行っても良い。この場合、図５に示すように、記憶装置側コントローラ１２内のＣＰＵ２１は、不良ブロック代替領域１６を参照して、不良ブロック総数を検出し、不良ブロック代替領域１６の消費率を算出する。また、算出した消費率に関する情報（図示の例では、２０％）を、記憶装置側コントローラ１２内のステータスレジスタ２５に書き込む。一方、ホスト側コントローラ３１は、定期的に記憶装置側コントローラ１２をポーリングして、不良ブロック代替領域１６の消費率に関するデータを取得し、その値から不良ブロック代替領域１６の残存率を求めて、ディスプレイ３６上に反映（表示）させる。
【００７２】
このように、半導体記憶装置１０側に、不良ブロック代替領域１６の消費率を算出する機能を搭載することも可能である。また、消費率だけでなく、半導体記憶装置１０側で残存率を算出したり、装置寿命を算出したりすることも可能である。さらに、それらの算出結果に基づいて、半導体記憶装置１０側で報知を行う機能を搭載することも可能である。このように、半導体記憶装置１０側で装置寿命の算出および報知を行う構成とすれば、半導体記憶装置１０だけで本発明の半導体記憶装置管理システムＳＹを実現できるため、ホスト装置３０側に特別な構成（ホスト側管理プログラム３２（管理ツール））を必要としない。
【００７３】
また、上記の実施形態に示した、半導体記憶装置管理システムＳＹの各構成要素（各機能）をプログラムとして提供することも可能である。また、そのプログラムを各種記録媒体（ＣＤ−ＲＯＭ、フラッシュメモリ等）に格納して提供することも可能である。すなわち、半導体記憶装置管理システムＳＹの各構成要素（各機能）をプログラム化したもの、およびそれを記録した記録媒体も、本発明の権利範囲に含まれるものである。
【００７４】
また、上記の実施形態によらず、半導体記憶装置１０およびホスト装置３０の装置構成や処理工程など、本発明を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の一実施形態に係る半導体記憶装置管理システムのシステム構成を示すブロック図である。
【図２】管理ツールによる表示例を示す図である。
【図３】半導体記憶装置の消費率、残存率および装置寿命の算出処理を説明する図である。
【図４】半導体記憶装置の管理処理を示すフローチャートである。
【図５】半導体記憶装置側で不良ブロック代替領域の消費率を算出する場合を説明する図である。
【符号の説明】
【００７６】
１０：半導体記憶装置，１１：Ｉ／Ｆブロック，１２：記憶装置側コントローラ，１３：ＲＯＭ，１４：ＲＡＭ，１５：半導体メモリ領域，１６：不良ブロック代替領域，２０：ＮＡＮＤ型フラッシュメモリ，２１：ＣＰＵ，２２：アドレス変換テーブル，２３：代替領域管理テーブル，２４：代替領域情報，３０：ホスト装置，３１：ホスト側コントローラ，３２：ホスト側管理プログラム，３６：ディスプレイ，３７：スピーカ，４１：記憶装置管理データ
【図１】
2008009594.tif 000003
【図２】
2008009594.tif 000004
【図３】
2008009594.tif 000005
【図４】
2008009594.tif 000006
【図５】
2008009594.tif 000007