(57)【要約】【課題】不揮発性半導体記憶装置の寿命を外部から予測する技術を提供する。【解決手段】寿命予測装置１０は、アクセス時間算出部１３、比較処理部１４および寿命判断部１５を備え、不揮発性半導体メモリ３１およびコントローラ３２を含む不揮発性半導体記憶装置３０の寿命を予測する。アクセス時間算出部１３は、不揮発性半導体記憶装置３０に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出する。比較処理部１４は、アクセス時間算出部１３により算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する。寿命判断部１５は、比較処理部１４による判定結果に基づいて不揮発性半導体記憶装置３０の寿命を判断する。【選択図】図２
2019159747.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性半導体メモリおよびコントローラを含む不揮発性半導体記憶装置の寿命を予測する寿命予測装置であって、
不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出するアクセス時間算出部と、
前記アクセス時間算出部により算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する比較処理部と、
前記比較処理部による判定結果に基づいて不揮発性半導体記憶装置の寿命を判断する寿命判断部と、
を備えることを特徴とする寿命予測装置。
【請求項２】
前記寿命判断部は、平均または最頻アクセス時間が前記寿命到達安全閾値以下となるケースをカウントし、規定値以上となったときに前記不揮発性半導体記憶装置が寿命に到達したと判断することを特徴とする請求項１に記載の寿命予測装置。
【請求項３】
前記寿命到達安全閾値は、前記不揮発性半導体記憶装置が寿命に到達した時のアクセス時間に安全係数を掛けた値に設定されていることを特徴とする請求項１または２に記載の寿命予測装置。
【請求項４】
不揮発性半導体メモリおよびコントローラを含む不揮発性半導体記憶装置の寿命を予測する寿命予測方法であって、
不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出するアクセス時間算出ステップと、
前記アクセス時間算出ステップにより算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する比較処理ステップと、
前記比較処理ステップによる判定結果に基づいて不揮発性半導体記憶装置の寿命を判断する寿命判断ステップと、
を備えることを特徴とする寿命予測方法。
【請求項５】
不揮発性半導体メモリおよびコントローラを含む不揮発性半導体記憶装置の寿命を予測する寿命予測プログラムであって、
不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出するアクセス時間算出ステップと、
前記アクセス時間算出ステップにより算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する比較処理ステップと、
前記比較処理ステップによる判定結果に基づいて不揮発性半導体記憶装置の寿命を判断する寿命判断ステップと、
をコンピュータに実行させることを特徴とする寿命予測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリカード等の不揮発性半導体記憶装置の寿命を予測する寿命予測装置、寿命予測方法、及び寿命予測プログラムに関する。
【背景技術】
【０００２】
近年、メモリカード（ＳＤカード等）、ＵＳＢメモリ、ソリッドステートドライブ（ＳＳＤ）といった不揮発性半導体記憶装置が普及している。不揮発性半導体記憶装置は、ＮＡＮＤ型フラッシュメモリ等の不揮発性半導体メモリと、不揮発性半導体メモリのアクセス制御を行うコントローラを内蔵している。不揮発性半導体メモリの寿命を予測する方法として、不揮発性半導体メモリの読み出し電圧を内部でモニタすることにより、寿命を予測し、外部に報知する手法が提案されている（例えば特許文献１参照）。
【０００３】
不揮発性半導体記憶装置に内蔵されている不揮発性メモリ及びコントローラの種類は多種多様であり、その組み合わせも多種多様である。上述のような寿命予測機能を搭載しない不揮発性半導体記憶装置も多く販売されている。
【０００４】
また不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込み、単位記憶領域ごとのアクセス時間を測定し、測定したアクセス時間に基づき不揮発性半導体記憶装置の製品使用上の閾値を決定する手法が提案されている（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１２２７９３号公報
【特許文献２】特開２０１６−１５７２２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
メモリカード等の不揮発性半導体記憶装置は、デジタルカメラやスマートフォン等の電子機器にバンドルされて販売されることも多い。電子機器のメーカは、バンドルして販売する不揮発性半導体記憶装置の寿命を予測する必要性が高い。
【０００７】
本発明はこうした状況に鑑みてなされたものであり、その目的は、不揮発性半導体記憶装置の寿命を外部から予測する技術を提供することにある。
【課題を解決するための手段】
【０００８】
本発明のある態様の寿命予測装置は、不揮発性半導体メモリおよびコントローラを含む不揮発性半導体記憶装置の寿命を予測する寿命予測装置であって、不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出するアクセス時間算出部と、前記アクセス時間算出部により算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する比較処理部と、前記比較処理部による判定結果に基づいて不揮発性半導体記憶装置の寿命を判断する寿命判断部と、を備える。
【０００９】
また本発明の別の態様は寿命予測方法である。この寿命予測方法は、不揮発性半導体メモリおよびコントローラを含む不揮発性半導体記憶装置の寿命を予測する寿命予測方法であって、不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出するアクセス時間算出ステップと、前記アクセス時間算出ステップにより算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する比較処理ステップと、前記比較処理ステップによる判定結果に基づいて不揮発性半導体記憶装置の寿命を判断する寿命判断ステップと、を備える。
【発明の効果】
【００１０】
本発明によれば、不揮発性半導体記憶装置の寿命を外部から予測する技術を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】アクセス時間の分布を示すグラフである。
【図２】実施形態に係る寿命予測装置の構成を示すブロック図である。
【図３】書き込み時のアクセスパターンを示す模式図である。
【図４】寿命予測前の事前処理の手順を示すフローチャートである。
【図５】寿命予測処理の手順を示すフローチャートである。
【図６】寿命予測処理の手順を示すフローチャートである。
【図７】閾値カウンターの内部構造を示す模式図である。
【発明を実施するための形態】
【００１２】
以下、本発明を好適な実施の形態をもとに図１から図７を参照しながら説明する。各図面に示される同一または同等の構成要素、部材には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面における部材の寸法は、理解を容易にするために適宜拡大、縮小して示される。また、各図面において実施の形態を説明する上で重要ではない部材の一部は省略して表示する。
【００１３】
本発明の実施形態に係る不揮発性半導体装置の寿命評価装置は、不揮発性半導体記憶装置に対して、規格に基づく外部インタフェースからアクセスし、アクセス時間を測定する。当該アクセス時間をもとに不揮発性半導体記憶装置の寿命を予測する。
【００１４】
従来の不揮発性半導体記憶装置の寿命予測方法の一つに、内部のコントロールチップが、不揮発性半導体メモリ（以下、本明細書では不揮発性メモリという）の書き込み電圧を直接監視する構成を持つものがある。当該コントロールチップは、書き込み電圧をリアルタイムに監視することにより、不揮発性メモリの寿命予測を行い、不揮発性メモリにおいて障害が発生するであろう閾値を決定する。その閾値をもとに、障害が発生していると推測される不揮発性メモリへの書き込みを抑制することにより、システム運用に問題が発生しないようにしている。このように、コントロールチップで不揮発性メモリの書き込み時の電圧を直接監視することにより、不揮発性メモリの寿命を直接予測する手法は既に存在する。
【００１５】
不揮発性半導体記憶装置のメーカは、内部の不揮発性メモリの延命を図るため、アクセスに対してウェアレベリングを行い、できるだけ同じ不揮発性メモリをアクセスしないようにチューニングしている。従って、不揮発性半導体記憶装置の外側からは、どの不揮発性メモリを何回アクセスしたかを正確に把握することが難しく、どの不揮発性メモリが寿命に達しているかを判断することは基本的にできない。
【００１６】
また、市場に流通している不揮発性半導体記憶装置に内蔵されている不揮発性メモリ及びコントロールチップの多くは、寿命に達したときに何らかのレスポンスを外部に返すように設計されていない。従って、一般に市場に流通している不揮発性半導体記憶装置の寿命を外部から予測することは非常に難しい。
【００１７】
本実施形態に係る寿命予測装置は、一般に市場に流通している、不揮発性メモリ及びコントロールチップを含む不揮発性半導体記憶装置全体の使用寿命を予測する。寿命予測装置は、規格に基づく外部インタフェースからのアクセスに対するアクセス時間を測定し、測定したアクセス時間により、不揮発性半導体記憶装置の製品使用上の寿命を予測する。寿命評価装置は、従来では寿命予測が困難であった使用時間がわからない不揮発性半導体記憶装置の寿命予測をも可能とする。
【００１８】
以下、本実施形態に係る不揮発性半導体記憶装置の寿命予測の概要を説明する。本実施形態では、不揮発性半導体記憶装置に対し、特定セクタ量のデータの書き込み時のアクセス時間を測定する。測定された書き込み時のアクセス時間の変化から寿命を予測する。データ書き込み時のアクセス時間は、外部インタフェースから書き込みコマンドと書き込みデータを不揮発性半導体記憶装置に送信し、不揮発性半導体記憶装置から書き込み完了の応答コマンドを受信するまでの時間をいう。以下、単に「書き込み時間」と表記することもある。
【００１９】
不揮発性半導体記憶装置が寿命に達するまでの書き込み回数が何回であるかは、回数を数え始めた時点で既に何回書き込みをしていたか判らない限り、使用途中からの寿命予測が困難であった。しかしながら、固定された特定セクタ量の書き込みに対するアクセス時間の変化は、初期状態から徐々に早くなり、最終的に寿命に達すると常に一定のアクセス時間となる特徴があることが判っている。
【００２０】
書き込み回数が進むにつれて、固定された特定セクタ量の書き込みに対するアクセス時間が早くなるのは、書き込みによるＮＡＮＤメモリの酸化膜の劣化から、ＮＡＮＤメモリに蓄積される電子が通りやすくなり、電子の蓄積判断が速くなることに起因する。また、書き込みが出来なくなるＮＡＮＤメモリが増えるに伴い、コントロールチップによる書き込み処理は、書き込み出来ない処理が増え、本来の時間がかかるＮＡＮＤメモリに書き込む処理よりも短くなり、内部処理時間そのものが短くなることによる。
【００２１】
ここで、不揮発性半導体記憶装置が寿命に達するということは、ホストコントローラから送られる書き込みコマンドは受け付けるものの、書き込まれたデータをホストコントローラから正常に読み出すことができないことをいう。書き込まれた領域のデータを再度ホストコントローラから読み取ろうとしても、例えば、読み出しエラーが発生し、ホストコントローラがデータを正常に読み出すことができない。不揮発性半導体記憶装置が寿命に達した時に、不揮発性半導体記憶装置内のコントロールチップは、ホストコントローラから送られる書き込みコマンドに対し、ＮＡＮＤメモリへの書き込み処理を行う。しかし、コントロールチップは、不揮発性半導体記憶装置内のどのＮＡＮＤメモリに対しても、同じＮＡＮＤメモリが寿命に達した時の処理を行った後、ホストコントローラへ書き込み処理終了の応答を返す。このため不揮発性半導体記憶装置が寿命に達した後の固定された特定セクタ量の書き込み処理に対するアクセス時間は常に一定となり、固定された特定セクタ量の平均書き込みアクセス時間も一定となる。従って、ホストコントローラは、固定された特定セクタ量の書き込みに対するアクセス時間が寿命に達すると一定時間となることから、寿命に達したアクセス時間から逆算し、現状の固定された特定セクタ量の書き込みに対するアクセス時間に基づいて、後どの位の寿命かを判断することができる。
【００２２】
特許文献２に示されるように、内部構成が同じ不揮発性半導体記憶装置は、固定された特定パターンの書き込みコマンドに対し、同じ特性のアクセス時間のパターンを示す特徴が有る。このため、初期値としてのアクセス時間のパターンを取得し、その特徴が同じ不揮発性半導体記憶装置は、同じアクセス時間で寿命に達するといえる。
【００２３】
初期値としての書き込みアクセス時間は次の（１）から（３）に基づいて測定する。
（１）不揮発性半導体記憶装置に対し、固定された特定セクタ単位（例えば、２５６セクタ単位）でアクセスを連続して行い、その時間をミリ秒オーダで記録する。
（２）アクセスパターンはアドレスに対して最小ＬＢＡ（Logical Block Address）から最大ＬＢＡへの正方向、または最大ＬＢＡから最小ＬＢＡへの逆方向とし、指定されたＬＢＡ単位でアクセスするパターンである。最小ＬＢＡは通常、０であり、最大ＬＢＡはシステムにより異なる。これにより、不揮発性半導体記憶装置ごとに、アクセス時間を導き出すことができる。
（３）この場合、記録方式における特徴は、アクセス時間ごとのデータを細かくプロットすることである。
【００２４】
これまで、ＨＤＤの性能評価方法として、アプリケーションソフトを使用したベンチマーク試験が存在する。これは、相対的に大まかなＨＤＤの性能評価を示す指標として使用されており、部分的なアクセスによりＨＤＤの相対的な性能比較に用いられるものであって、寿命評価を考慮している物ではなかった。そのため、測定された個体がどのようなアクセス時間を有するかという大まかな違いは検出できるが、そのアクセス時間から、測定した各個体がどのような種類のものであるかを細かく分類することはできない。
【００２５】
そこで、ＬＢＡにアクセスした時間を明確にするため、固定されたＬＢＡ単位でＬＢＡが重複することなく、アクセス開始位置を増加またはアクセス開始位置を減少させるアクセスパターンを使用する。例えば、一般に公開されているＩＤＥＭＡ(The International Disk Drive Equipment and Materials Association)のＨＤＤ評価パターン（Command completion time measurement tool White Paper）を使用できる。
【００２６】
このようなアクセスパターンを用い、アクセスする方向、アクセスするＬＢＡ、転送するデータ、アクセス手法を厳密に定め、不揮発性メモリの一部分の領域ではなく、全体領域にデータを書き込む。これより、評価対象の個体のアクセス性能の正確な特徴を抽出することができる。なお転送するデータは、不揮発性半導体記憶装置に最も負荷を与えるデータにするとよい。最も負荷を与えるデータは通常、２４ｂｉｔＬＢＡ方式で用意されている最大転送コマンド量では０ｘＦＦの２５６セクタとなり、全ビットが「１」のデータである。
【００２７】
アクセスパターンは、厳密に評価すべき不揮発性メモリのＬＢＡごとに、固定化された転送データに対して測定するものとし、ＬＢＡごとの測定データのプロットに意味を持たせ、アクセス時間ごとに何を行っているかを明確化できることを特徴とする。図１は、アクセス時間の分布を示すグラフである。図１において縦軸はアクセス時間、横軸はＬＢＡを表している。
【００２８】
アクセス時間をプロットする装置としてはオペレーティングシステム（ＯＳ）等による時間的に不適当なオーバーヘッドを持たない専用の治具を使用することが望ましいが、専用の治具を省略し、ソフトウェアで計測することも可能である。
【００２９】
これにより、不揮発性メモリとコントロールチップを含めた不揮発性半導体記憶装置全体のアクセス性能を正確に把握することができる。アクセス性能は、上述のように内部構成が異なる不揮発性半導体記憶装置ごとに固有の性能を示すことが知られており、固有の性能として、図１に示すように多くのアクセス時間が特定の時間に集中することがわかっている。従って、固定された特定セクタ量のデータの書き込みアクセス時間を平均化することで、アクセス時間が集中する特定時間を不揮発性半導体記憶装置固有の成分として表すことが出来る。
【００３０】
この最初に不揮発性半導体記憶装置のアクセス性能を評価すべく、固定された特定セクタ単位の書き込みによって厳密に評価されたアクセス時間を平均化したものを仮に評価開始時アクセス時間と定義する。
【００３１】
寿命に到達したときのアクセス時間は、最初に不揮発性半導体記憶装置のアクセス性能を評価すべく、固定された特定セクタ単位で連続して全面書き込みするアクセスパターンを実行し、実際に不揮発性半導体記憶装置が寿命に達した時のアクセス時間で示す。上述のように、故障に達した時の固定された特定セクタ単位のアクセス時間は常に同じになることから、固定された特定セクタ単位で平均化されたアクセス時間に等しい。この平均化されたアクセス時間は、不揮発性半導体記憶装置のコントロールチップが不揮発性メモリの全領域に対して、固定された特定セクタ単位書き込んだ時のＮＡＮＤメモリが寿命に達した時の処理時間の総計の平均で表される。したがって、寿命に達するまでデータを書き込む方法以外にも、アクセス時間の平均時間または最頻時間を用いることによって、不揮発性半導体記憶装置が寿命に達した時のアクセス時間と比較し、寿命に達しているかどうかを評価することができる。
【００３２】
例えば、事前に一定容量のアクセスを実行し、不揮発性半導体記憶装置のＮＡＮＤメモリが寿命に達している時のコントロールチップの応答時間がわかれば、そのときの容量当たりのアクセス時間がわかる。最終的に不揮発性半導体記憶装置中の全てのＮＡＮＤメモリが寿命に達した時の固定された特定セクタ単位でアクセスしたときのアクセス時間の平均を計算で導くことが出来る。このアクセス時間を寿命到達時アクセス時間と仮に定義する。この結果、ホストコントローラは、アクセスパターンを実行することによって、固定された特定セクタ単位での書き込み時のアクセス時間を平均化した評価開始時アクセス時間と寿命到達時アクセス時間の値を取得することができる。本発明は、この評価開始時アクセス時間が明確にされた内部構造を同じくする不揮発性半導体装置の寿命判断に有効であり、例えば型番、形式、記号等で内部構造が同じであることが判別できていることを前提とする。
【００３３】
寿命予測の方法として、ホストコントローラは通常の処理によって要求されるアクセス処理の合間に、不揮発性半導体記憶装置の空き領域に固定された特定セクタ単位での書き込み処理を行う。ホストコントローラは、書き込み処理による固定された特定セクタ単位あたりのアクセス時間の平均時間または最頻時間と、評価開始時アクセス時間および寿命到達時アクセス時間の比較を行う。ホストコントローラは、現在の固定された特定セクタ単位あたりのアクセス時間の平均時間または最頻時間から寿命がどのくらい進行したかを知ることができる。
【００３４】
書き込み処理におけるアクセス単位を、例えば、評価開始時アクセス時間の測定時における固定された特定セクタ単位のｎ倍とし、大きなデータを少ない回数で書き込むようにしてもよい。連続したコマンド出力の間隔が小さいときには、最小の固定された特定セクタ単位を頻繁に書き込むようにしてもよい。また、これらの書き込み処理を組み合わせてもよい。
【００３５】
このとき、測定したアクセス時間を特定回数ため込み、固定された特定セクタ単位あたりの平均値または最頻値を計算し、この平均値と初期値登録データベースに記録された寿命到達時アクセス時間との比較を行う。不揮発性半導体記憶装置では、固定された特定セクタ単位のアクセス時間が特定時間に収束する特徴が有り、書き込み回数が増えると、収束時間から外れたアクセス時間も現れるが、概ねアクセス時間が収束していく傾向を示す。したがって、固定された特定セクタ単位のアクセス時間の平均値または最頻値を求めることにより、アクセス時間の多くが収束する時間を寿命到達時アクセス時間と比較すべき時間とすればよい。
【００３６】
尚、ホストコントローラから見た不揮発性半導体記憶装置におけるデータが書き込まれていない空き領域のアドレスは、コントロールチップのウェアレベリングコントロールにより、不揮発性半導体記憶装置内部の絶対なアドレスではない。コントロールチップのウェアレベリングコントロールは、常に不揮発性半導体記憶装置全体のＮＡＮＤメモリの書き込み回数を均一化するために動いている。このため、ホストコントローラから見た不揮発性半導体記憶装置の空き領域におけるＮＡＮＤメモリの書き込み回数は、他のデータが書き込まれているＮＡＮＤメモリの書き込み回数と大きく離れているものではない。従って、ホストコントローラから見て、データが書き込まれていない空き領域のコマンド応答時間を測定することによって、不揮発性半導体記憶装置全体の書き込み回数の進行具合を予測することができる。
【００３７】
以上のように、ホストコントローラは、例えば、通常のアクセス指示に基づくアクセス動作の合間に、データが書き込まれていない空き領域に対し、固定された特定セクタ単位で書き込み、アクセス時間を取得する。ホストコントローラは、固定された特定セクタ単位あたりの平均または最頻アクセス時間の変化を寿命到達時アクセス時間と比較することにより、不揮発性半導体記憶装置の寿命を予測可能とするものである。
【００３８】
内部構成が同等で、同じ特性のアクセス時間のパターンを有する不揮発性半導体記憶装置であれば、評価開始以前の書き込み回数が不明であっても、評価開始時アクセス時間および寿命到達時アクセス時間に基づいて残りの寿命を予測することができる。現在の平均または最頻アクセス時間を計測し、寿命到達時アクセス時間から逆算することによって、どの位の寿命にあるかを判断し、残りの寿命を予測することができる。
【００３９】
以下、本発明の実施形態に係る寿命予測装置を具体的に説明する。
図２は、実施形態に係る寿命予測装置１０の構成を示すブロック図である。評価対象の不揮発性半導体記憶装置３０は不揮発性半導体メモリ３１及びコントローラ３２を含む。コントローラ３２はコマンド実行部４０から書き込みコマンド及び書き込みデータを受信すると当該データを不揮発性半導体メモリ３１の指定された記憶領域に書き込む。当該データの書き込みが完了するとコマンド実行部４０に応答信号を返す。またコントローラ３２はコマンド実行部４０から読み出しコマンドを受信すると、不揮発性半導体メモリ３１の指定された記憶領域からデータを読み出し、コマンド実行部４０に送信する。
【００４０】
コマンド実行部４０は、寿命予測装置１０およびホストコントローラ５０に接続されており、寿命予測装置１０およびホストコントローラ５０からのコマンドを受け付けて書き込み処理および読み出し処理を実行する。以下の説明では、不揮発性半導体記憶装置３０としてメモリカードを想定する。
【００４１】
ホストコントローラ５０は、キーボード等の外部入力により、事前に不揮発性半導体記憶装置３０の評価開始時アクセス時間と寿命到達時アクセス時間を初期値登録データベース５２に記憶する。記憶する評価開始時アクセス時間と寿命到達時アクセス時間は、寿命を予測する不揮発性半導体記憶装置３０に関するものであり、内部構造を同じくする同じアクセスパターンの不揮発性半導体記憶装置の寿命予測時にも変更することなく使用することができる。動作が開始されると、ホストコントローラ５０はコマンド実行部４０を通して、不揮発性半導体記憶装置３０に対して通常の書き込みおよび読み出しの動作を行う。
【００４２】
ホストコントローラ５０は、通常の動作中において、コマンド実行部４０に対して所定のコマンド命令を出力する。ホストコントローラ５０は、コマンド実行部４０に対して所定のコマンド命令を出力した後、次のコマンド命令を連続して出さない場合、寿命予測装置１０に対して寿命予測の実行を指示する。
【００４３】
寿命予測装置１０は、書込処理部１１、記憶処理部１２、アクセス時間算出部１３、比較処理部１４および寿命判断部１５を有する。寿命予測装置１０は、例えばＣＰＵなどによって構成され、メモリ（図示略）に格納されたコンピュータプログラム、およびコンピュータプログラムに用いる各種情報に従って、上述の各部による処理を実行する。寿命予測装置１０は、ホストコントローラ５０の一部として構成されていてもよく、例えばＣＰＵ等の演算処理回路などで構成されるホストコントローラ５０における部分的なプログラムによる寿命予測処理部として機能するものであってもよい。
【００４４】
書込処理部１１は、不揮発性半導体記憶装置３０の空き領域に対し、固定された特定セクタ単位の書き込み処理を実行し、書き込み処理によるアクセス時間を測定する。ホストコントローラ５０が通常の動作によりコマンド実行部４０を介して不揮発性半導体記憶装置３０に読み書きする動作と、書込処理部１１がコマンド実行部４０を介して不揮発性半導体記憶装置３０に書き込む動作とは、同時に実行されないものとする。
【００４５】
図３は、書き込み時のアクセスパターンを示す模式図である。縦軸はＬＢＡを示し、横軸はコマンド発行番号（コマンドの発行順序を示す番号）を示している。コマンド発行番号が小さい順に、各コマンドが発行される。図３に示す書き込みパターンは、正方向へのアクセスを示しており、０ＬＢＡから最大ＬＢＡまで２５６セクタ単位でメディア全面に書き込みを行う。書き込むデータは任意の物でもよいが、データが０、１、２、からＦまでの常に１を加算した連続したデータを書き込むと、書き込まれたデータに問題があった場合、どのデータで問題があったかを発見しやすい利便性がある。
【００４６】
記憶処理部１２は、特定回数の測定したアクセス時間を記憶部（図示略）に記憶させる処理を行う。アクセス時間算出部１３は、記憶したアクセス時間に基づいて、固定された特定セクタ単位あたりの平均または最頻アクセス時間を計算する。以下、固定された特定セクタ単位あたりのアクセス時間を平均化した平均アクセス時間を用いて説明するが、最頻出のアクセス時間を算出した最頻アクセス時間を用いた処理とすることもできる。
【００４７】
比較処理部１４は、アクセス時間算出部１３によって算出された平均アクセス時間と初期値登録データベース５２に記録された寿命到達時アクセス時間との比較を行う。尚、寿命予測装置１０から平均アクセス時間をホストコントローラ５０へ出力し、ホストコントローラ５０において平均アクセス時間と寿命到達時アクセス時間とを比較するようにしてもよい。
【００４８】
比較処理部１４は、平均アクセス時間を、寿命到達時アクセス時間に対して安全サイドであるといえる閾値（以下、寿命到達安全閾値という。）と比較する。寿命到達安全閾値は、例えば、寿命到達時アクセス時間に安全係数を掛けて得られる値に設定する。寿命到達安全閾値は、例えば、寿命到達時アクセス時間が１０ミリ秒であり、これに安全係数を１．２として乗算した値１２ミリ秒などに設定する。寿命判断部１５は、平均アクセス時間が寿命到達安全閾値以下となる場合が多く発生する場合に寿命に到達したと判断し、不揮発性半導体記憶装置３０に対する読み書きの動作を停止すべきである旨の寿命到達アラームを出力する。寿命判断部１５は、寿命到達アラームを出力することによって不揮発性半導体記憶装置３０が寿命に到達した旨を報知する。ホストコントローラ５０は、寿命判断部１５が出力する寿命到達アラームに基づいて、不揮発性半導体記憶装置３０の交換やデータバックアップ等を指示する。
【００４９】
次に寿命予測装置１０の動作について、寿命予測前の事前処理、および寿命予測処理に基づき説明する。図４は寿命予測前の事前処理の手順を示すフローチャートである。この事前処理は、寿命予測装置１０以外の評価装置によって行うことができる。評価装置は、コマンド実行部４０に相当する外部インタフェースを介して不揮発性半導体記憶装置に対して書き込みコマンドを出力する。評価装置は、不揮発性半導体記憶装置からの書き込み完了の応答コマンドを受信するまでの時間をアクセス時間として取得する。
【００５０】
評価装置により、図３に示すアクセスパターンに従って書き込んだときの応答時間を測定する（Ｓ１）。評価装置によって評価した不揮発性半導体記憶装置ごとの応答時間を評価開始時アクセス時間として初期値登録データベース５２に登録する（Ｓ２）。壊れたＮＡＮＤメモリを不揮発性半導体記憶装置内のコントローラがアクセスしたときの応答時間が算出できるか否かを判定する（Ｓ３）。ステップＳ３による判定は、例えば不揮発性半導体記憶装置の個体がメーカ型番等で判明しており、メーカ型番等に対応するデータベースに基づいて既知または算出できるかによって判定される。
【００５１】
ステップＳ３による判定結果が、算出できるとなった場合（Ｓ３：ＹＥＳ）、コントローラの処理時間から寿命到達時のコマンド応答時間を算出し、寿命到達時アクセス時間を取得する（Ｓ４）。ステップＳ３による判定結果が、算出できないとなった場合（Ｓ３：ＮＯ）、評価装置によって不揮発性半導体記憶装置への書き込み動作を繰り返して書きつぶし、寿命到達時の応答時間を寿命到達時アクセス時間として取得する（Ｓ５）。
【００５２】
ステップＳ４およびＳ５の後、取得した不揮発性半導体記憶装置ごとの寿命到達時アクセス時間を初期値登録データベース５２に登録する（Ｓ６）。この事前処理によって、初期値登録データベース５２には、不揮発性半導体記憶装置ごとの評価開始時アクセス時間および寿命到達時アクセス時間が登録される。
【００５３】
図５および図６は、寿命予測処理の手順を示すフローチャートである。ホストコントローラ５０は、初期値登録データベース５２にアクセスし、不揮発性半導体記憶装置３０がデータベースに登録されている不揮発性半導体記憶装置であるか否かを判定する（Ｓ１１）。不揮発性半導体記憶装置３０が初期値登録データベース５２に登録されている場合（Ｓ１１：ＹＥＳ）、初期値登録データベース５２から評価開始時アクセス時間および寿命到達時アクセス時間を読み出す（Ｓ１３）。
【００５４】
不揮発性半導体記憶装置３０が初期値登録データベース５２に登録されていない場合（Ｓ１１：ＮＯ）、上述の事前処理に基づいて不揮発性半導体記憶装置３０の名称、評価開始時アクセス時間および寿命到達時アクセス時間を初期値登録データベース５２に登録する（Ｓ１２）。ステップＳ１２の後、ホストコントローラ５０は、初期値登録データベース５２から評価開始時アクセス時間および寿命到達時アクセス時間を読み出す（Ｓ１３）。ホストコントローラ５０は、読み出した評価開始時アクセス時間および寿命到達時アクセス時間を寿命予測装置１０へ出力する。
【００５５】
ホストコントローラ５０は、通常の動作により不揮発性半導体記憶装置３０への読み書きを開始する（Ｓ１４）。ホストコントローラ５０は、不揮発性半導体記憶装置３０へ連続したコマンド出力中であるか否かを判定し（Ｓ１５）、コマンド出力中である場合（Ｓ１５：ＹＥＳ）、ステップＳ１５による判定を繰り返す。
【００５６】
ステップＳ１５において否と判定された場合（Ｓ１５：ＮＯ）、ホストコントローラ５０からの通知に基づいて、寿命予測装置１０の書込処理部１１は、不揮発性半導体記憶装置３０の空き領域に固定された特定セクタ単位の書き込みを行う（Ｓ１６）。書込処理部１１は、１回の固定された特定セクタ量のｎ倍のデータ、または最小の固定された特定セクタ単位のデータを複数回書き込む。
【００５７】
データ量は次に連続するコマンド出力のパターンによって変更することができる。次に連続するコマンド出力までの間隔が大きいときは１回当たり、固定された特定セクタ単位のｎ倍のデータとした大きなデータを少ない回数で書き込んでもよいし、次に連続したコマンド出力までの間隔が小さいときには、１個の固定された特定セクタ単位を頻繁に書き込むようにしてもよい。また、これらの組み合わせであってもよい。
【００５８】
寿命予測装置１０の記憶処理部１２は、測定したアクセス時間を特定回数記憶する処理を行い、アクセス時間算出部１３は、固定された特定セクタ単位あたりの平均アクセス時間を算出する（Ｓ１７）。尚、平均アクセス時間の代わりに最頻アクセス時間を算出して用いることもできる。比較処理部１４は、平均アクセス時間が寿命到達安全閾値以下となったか否かを判定する（Ｓ１８）。ステップＳ１８における判定において、寿命の到来を予測する精度を上げるためには、特定回数として多くのアクセス時間を記憶させて平均を取り、１回でも寿命到達安全閾値以下となった場合に、寿命が到来したとすることが望ましい。
【００５９】
しかし、図１に示すように実際の不揮発性半導体記憶装置のアクセスパターンは、ある程度のばらつきを含んでいる。したがって、固定された特定セクタ単位のｎ倍のデータを少ない回数、例えば１０個の固定された特定セクタ単位を１回で、書き込み、複数回分の平均アクセス時間を算出する。その結果、例えばこの１回でまとめて書かれた特定セクタ単位の最近得ることが出来た１０回分の平均アクセス時間の内、７回が寿命到達安全閾値以下になることをもって寿命が到来したとする。
【００６０】
ステップＳ１８で平均アクセス時間が寿命到達安全閾値以下となった場合（Ｓ１８：ＹＥＳ）、寿命判断部１５は、閾値カウンターを１とし、平均アクセス時間が寿命到達安全閾値以下となったことをカウントする（Ｓ１９）。図７は閾値カウンターの内部構造を示す模式図である。閾値カウンターはＦＩＦＯ（First In First Out）カウンターとなっている。ステップＳ１８で平均アクセス時間が寿命到達安全閾値以下でない場合（Ｓ１８：ＮＯ）、閾値カウンターを０とし（Ｓ２０）、ステップＳ１５に戻って処理を繰り返す。
【００６１】
例えば、１０回分の平均アクセス時間で寿命到達を判断する場合、この閾値カウンター内部を１０個の区切りとし、このうち７個が１となれば寿命到達と判断する。ステップＳ１９の後、寿命判断部１５は、閾値カウンターによるカウント値が規定値を超えたか否かを判定する（Ｓ２１）。ステップ２１において、閾値カウンターによるカウント値が規定値を超えていない場合（Ｓ２１：ＮＯ）、ステップＳ１５に戻って処理を繰り返す。ステップＳ２１において、閾値カウンターによるカウント値が規定値を超えたと判定された場合（Ｓ２１：ＹＥＳ）、寿命判断部１５は、寿命に到達したと判断し、寿命到達アラームを出力する（Ｓ２２）。寿命判断部１５は、寿命到達アラームを出力することによって不揮発性半導体記憶装置３０が寿命に到達した旨を報知する。寿命到達アラームは、ランプやブザー等によって異常を知らせるものであってもよい。ホストコントローラ５０は、寿命到達アラームに基づいて、不揮発性半導体記憶装置３０の交換やデータバックアップ等を指示し（Ｓ２３）、処理を終了する。
【００６２】
別の判断方法として、不揮発性半導体記憶装置３０への通常の連続コマンドが頻繁に出力され、大きなデータを書き込む余裕が無い場合でも、１個の固定された特定セクタ単位で書き込んだ時のアクセス時間を数多く記憶して同じ効果を得ることができる。例えば、最近得ることが出来た５０回の１個の固定された特定セクタ単位で書き込んだ時のアクセス時間の内、３５回のアクセス時間が寿命到達安全閾値以下となり寿命に到達するケースについて考える。この場合、閾値カウンター内部を５０個の区切りとし、このうち３５個が１となれば寿命に到達したとしてステップＳ２２に移行すればよい。
【００６３】
１回の書き込み量とＦＩＦＯカウンターの大きさの組み合わせは、不揮発性半導体記憶装置の本来の読み書きの連続コマンドがどのタイミングで出されるかと、不揮発性半導体記憶装置の空き領域がまとまった書き込みが出来るかどうかで判断される。このような判断が可能であるのは、図１に示すように、不揮発性半導体記憶装置の場合、ＮＡＮＤデバイスストレージの特徴から、アクセス時間の成分として、内部のコントロールチップによる特定のアクセス時間の成分しか持たないことによる。
【００６４】
以上説明したように実施形態によれば、寿命予測装置１０は、不揮発性半導体記憶装置３０の内部に特殊な寿命予測用の装置等を搭載することなく、外部からアクセス時間を計測して判断することで寿命を予測することができる。寿命予測装置１０は、市場に流通する不揮発性半導体記憶装置３０を不揮発性半導体メモリ３１と、コントローラ３２を込みにして、その寿命を予測することができる。
【００６５】
また、寿命予測装置１０は、平均アクセス時間が寿命到達安全閾値以下となったことを閾値カウンターによりカウントして規定値と比較することで、平均アクセス時間にばらつきがあることを考慮して、寿命を予測することができる。また寿命予測装置１０は、寿命到達安全閾値を寿命到達時アクセス時間に安全係数を掛けた値に設定することで、寿命に到達して故障する前に、不揮発性半導体記憶装置３０の寿命を予測することができる。
【００６６】
また、寿命予測装置１０は、書き込み時の応答時間についての評価開始時アクセス時間と寿命到達時アクセス時間に基づいて、寿命の経過や、残り寿命などを簡易に予測することもできる。
【００６７】
次に、各実施形態に係る寿命予測装置１０、寿命予測方法および寿命予測プログラムの特徴を説明する。
寿命予測装置１０は、アクセス時間算出部１３、比較処理部１４および寿命判断部１５を備え、不揮発性半導体メモリ３１およびコントローラ３２を含む不揮発性半導体記憶装置３０の寿命を予測する。アクセス時間算出部１３は、不揮発性半導体記憶装置３０に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出する。比較処理部１４は、アクセス時間算出部１３により算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する。寿命判断部１５は、比較処理部１４による判定結果に基づいて不揮発性半導体記憶装置３０の寿命を判断する。これにより、寿命予測装置１０は、算出する平均または最頻アクセス時間と寿命到達安全閾値との比較処理に基づいて、不揮発性半導体記憶装置の寿命を外部から予測することができる。
【００６８】
また寿命判断部１５は、平均または最頻アクセス時間が寿命到達安全閾値以下となるケースをカウントし、規定値以上となったときに不揮発性半導体記憶装置３０が寿命に到達したと判断する。これにより、寿命予測装置１０は、平均または最頻アクセス時間のばらつきを考慮して、不揮発性半導体記憶装置３０の寿命を予測することができる。
【００６９】
また寿命到達安全閾値は、不揮発性半導体記憶装置３０が寿命に到達した時のアクセス時間に安全係数を掛けた値に設定されている。これにより、寿命予測装置１０は、不揮発性半導体記憶装置３０が寿命に到達して故障する前に、不揮発性半導体記憶装置３０の寿命を予測することができる。
【００７０】
寿命予測方法は、アクセス時間算出ステップ、比較処理ステップおよび寿命判断ステップを備え、不揮発性半導体メモリ３１およびコントローラ３２を含む不揮発性半導体記憶装置３０の寿命を予測する。アクセス時間算出ステップは、不揮発性半導体記憶装置３０に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出する。比較処理ステップは、アクセス時間算出ステップにより算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する。寿命判断ステップは、比較処理ステップによる判定結果に基づいて不揮発性半導体記憶装置３０の寿命を判断する。この寿命予測方法によれば、算出する平均または最頻アクセス時間と寿命到達安全閾値との比較処理に基づいて、不揮発性半導体記憶装置３０の寿命を外部から予測することができる。
【００７１】
寿命予測プログラムは、アクセス時間算出ステップ、比較処理ステップおよび寿命判断ステップをコンピュータに実行させ、不揮発性半導体メモリ３１およびコントローラ３２を含む不揮発性半導体記憶装置３０の寿命を予測する。アクセス時間算出ステップは、不揮発性半導体記憶装置３０に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出する。比較処理ステップは、アクセス時間算出ステップにより算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する。寿命判断ステップは、比較処理ステップによる判定結果に基づいて不揮発性半導体記憶装置３０の寿命を判断する。この寿命予測プログラムによれば、算出する平均または最頻アクセス時間と寿命到達安全閾値との比較処理に基づいて、不揮発性半導体記憶装置３０の寿命を外部から予測することができる。
【００７２】
以上、本発明の実施の形態をもとに説明した。これらの実施の形態は例示であり、いろいろな変形および変更が本発明の特許請求範囲内で可能なこと、またそうした変形例および変更も本発明の特許請求の範囲にあることは当業者に理解されるところである。従って、本明細書での記述および図面は限定的ではなく例証的に扱われるべきものである。
【符号の説明】
【００７３】
１０  寿命予測装置、  １３  アクセス時間算出部、  １４  比較処理部、
１５  寿命判断部、  ３０  不揮発性半導体記憶装置、
３１  不揮発性半導体メモリ、  ３２  コントローラ。
【図１】
2019159747.tif 000003
【図２】
2019159747.tif 000004
【図３】
2019159747.tif 000005
【図４】
2019159747.tif 000006
【図５】
2019159747.tif 000007
【図６】
2019159747.tif 000008
【図７】
2019159747.tif 000009