(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-29
(45)【発行日】2023-10-10
(54)【発明の名称】不揮発性半導体記憶装置の寿命予測装置、寿命予測方法、及び寿命予測プログラム
(51)【国際特許分類】
G06F 12/00 20060101AFI20231002BHJP
【FI】
G06F12/00 550Z
G06F12/00 597U
(21)【出願番号】P 2018045066
(22)【出願日】2018-03-13
【審査請求日】2020-10-30
【審判番号】
【審判請求日】2023-01-11
(73)【特許権者】
【識別番号】308036402
【氏名又は名称】株式会社JVCケンウッド
(72)【発明者】
【氏名】長瀬 芳伸
【合議体】
【審判長】須田 勝巳
【審判官】山崎 慎一
【審判官】脇岡 剛
(56)【参考文献】
【文献】特開2013-246533(JP,A)
【文献】特開2011-113493(JP,A)
【文献】特開2009-151414(JP,A)
【文献】特開2016-058063(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F12/00
(57)【特許請求の範囲】
【請求項1】
不揮発性半導体メモリおよびコントローラを含む不揮発性半導体記憶装置の寿命を予測する寿命予測装置であって、
不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出するアクセス時間算出部と、
寿命に達した後の固定された特定セクタ量の書き込み処理に対するアクセス時間
である寿命到達時アクセス時間が常に一定時間となる特性を用いて
、前記寿命到達時アクセス時間
に基づいて寿命到達安全閾値を設定し、前記アクセス時間算出部により算出された平均または最頻アクセス時間が前記設定した寿命到達安全閾値以下であるか否かを判定する比較処理部と、
前記比較処理部による判定結果に基づいて不揮発性半導体記憶装置の寿命を判断する寿命判断部と、
を備えることを特徴とする寿命予測装置。
【請求項2】
前記寿命判断部は、平均または最頻アクセス時間が前記寿命到達安全閾値以下となるケースをカウントし、規定値以上となったときに前記不揮発性半導体記憶装置が寿命に到達したと判断することを特徴とする請求項1に記載の寿命予測装置。
【請求項3】
前記寿命到達安全閾値は、前記不揮発性半導体記憶装置が寿命に到達した時のアクセス時間に安全係数を掛けた値に設定されていることを特徴とする請求項1または2に記載の寿命予測装置。
【請求項4】
不揮発性半導体メモリおよびコントローラを含む不揮発性半導体記憶装置の寿命を予測する寿命予測方法であって、
不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出するアクセス時間算出ステップと、
寿命に達した後の固定された特定セクタ量の書き込み処理に対するアクセス時間
である寿命到達時アクセス時間が常に一定時間となる特性を用いて
前記寿命到達時アクセス時間
に基づいて寿命到達安全閾値を設定し、前記アクセス時間算出部により算出された平均または最頻アクセス時間が前記設定した寿命到達安全閾値以下であるか否かを判定する比較処理ステップと、
前記比較処理ステップによる判定結果に基づいて不揮発性半導体記憶装置の寿命を判断する寿命判断ステップと、
を備えることを特徴とする寿命予測方法。
【請求項5】
不揮発性半導体メモリおよびコントローラを含む不揮発性半導体記憶装置の寿命を予測する寿命予測プログラムであって、
不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出するアクセス時間算出ステップと、
寿命に達した後の固定された特定セクタ量の書き込み処理に対するアクセス時間
である寿命到達時アクセス時間が常に一定時間となる特性を用いて
、前記寿命到達時アクセス時間
に基づいて寿命到達安全閾値を設定し、前記アクセス時間算出部により算出された平均または最頻アクセス時間が前記設定した寿命到達安全閾値以下であるか否かを判定する比較処理ステップと、
前記比較処理ステップによる判定結果に基づいて不揮発性半導体記憶装置の寿命を判断する寿命判断ステップと、
をコンピュータに実行させることを特徴とする寿命予測プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリカード等の不揮発性半導体記憶装置の寿命を予測する寿命予測装置、寿命予測方法、及び寿命予測プログラムに関する。
【背景技術】
【0002】
近年、メモリカード(SDカード等)、USBメモリ、ソリッドステートドライブ(SSD)といった不揮発性半導体記憶装置が普及している。不揮発性半導体記憶装置は、NAND型フラッシュメモリ等の不揮発性半導体メモリと、不揮発性半導体メモリのアクセス制御を行うコントローラを内蔵している。不揮発性半導体メモリの寿命を予測する方法として、不揮発性半導体メモリの読み出し電圧を内部でモニタすることにより、寿命を予測し、外部に報知する手法が提案されている(例えば特許文献1参照)。
【0003】
不揮発性半導体記憶装置に内蔵されている不揮発性メモリ及びコントローラの種類は多種多様であり、その組み合わせも多種多様である。上述のような寿命予測機能を搭載しない不揮発性半導体記憶装置も多く販売されている。
【0004】
また不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込み、単位記憶領域ごとのアクセス時間を測定し、測定したアクセス時間に基づき不揮発性半導体記憶装置の製品使用上の閾値を決定する手法が提案されている(例えば特許文献2参照)。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2013-122793号公報
【文献】特開2016-157227号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
メモリカード等の不揮発性半導体記憶装置は、デジタルカメラやスマートフォン等の電子機器にバンドルされて販売されることも多い。電子機器のメーカは、バンドルして販売する不揮発性半導体記憶装置の寿命を予測する必要性が高い。
【0007】
本発明はこうした状況に鑑みてなされたものであり、その目的は、不揮発性半導体記憶装置の寿命を外部から予測する技術を提供することにある。
【課題を解決するための手段】
【0008】
本発明のある態様の寿命予測装置は、不揮発性半導体メモリおよびコントローラを含む不揮発性半導体記憶装置の寿命を予測する寿命予測装置であって、不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出するアクセス時間算出部と、前記アクセス時間算出部により算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する比較処理部と、前記比較処理部による判定結果に基づいて不揮発性半導体記憶装置の寿命を判断する寿命判断部と、を備える。
【0009】
また本発明の別の態様は寿命予測方法である。この寿命予測方法は、不揮発性半導体メモリおよびコントローラを含む不揮発性半導体記憶装置の寿命を予測する寿命予測方法であって、不揮発性半導体記憶装置に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出するアクセス時間算出ステップと、前記アクセス時間算出ステップにより算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する比較処理ステップと、前記比較処理ステップによる判定結果に基づいて不揮発性半導体記憶装置の寿命を判断する寿命判断ステップと、を備える。
【発明の効果】
【0010】
本発明によれば、不揮発性半導体記憶装置の寿命を外部から予測する技術を提供することができる。
【図面の簡単な説明】
【0011】
【
図2】実施形態に係る寿命予測装置の構成を示すブロック図である。
【
図3】書き込み時のアクセスパターンを示す模式図である。
【
図4】寿命予測前の事前処理の手順を示すフローチャートである。
【
図5】寿命予測処理の手順を示すフローチャートである。
【
図6】寿命予測処理の手順を示すフローチャートである。
【
図7】閾値カウンターの内部構造を示す模式図である。
【発明を実施するための形態】
【0012】
以下、本発明を好適な実施の形態をもとに
図1から
図7を参照しながら説明する。各図面に示される同一または同等の構成要素、部材には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面における部材の寸法は、理解を容易にするために適宜拡大、縮小して示される。また、各図面において実施の形態を説明する上で重要ではない部材の一部は省略して表示する。
【0013】
本発明の実施形態に係る不揮発性半導体装置の寿命評価装置は、不揮発性半導体記憶装置に対して、規格に基づく外部インタフェースからアクセスし、アクセス時間を測定する。当該アクセス時間をもとに不揮発性半導体記憶装置の寿命を予測する。
【0014】
従来の不揮発性半導体記憶装置の寿命予測方法の一つに、内部のコントロールチップが、不揮発性半導体メモリ(以下、本明細書では不揮発性メモリという)の書き込み電圧を直接監視する構成を持つものがある。当該コントロールチップは、書き込み電圧をリアルタイムに監視することにより、不揮発性メモリの寿命予測を行い、不揮発性メモリにおいて障害が発生するであろう閾値を決定する。その閾値をもとに、障害が発生していると推測される不揮発性メモリへの書き込みを抑制することにより、システム運用に問題が発生しないようにしている。このように、コントロールチップで不揮発性メモリの書き込み時の電圧を直接監視することにより、不揮発性メモリの寿命を直接予測する手法は既に存在する。
【0015】
不揮発性半導体記憶装置のメーカは、内部の不揮発性メモリの延命を図るため、アクセスに対してウェアレベリングを行い、できるだけ同じ不揮発性メモリをアクセスしないようにチューニングしている。従って、不揮発性半導体記憶装置の外側からは、どの不揮発性メモリを何回アクセスしたかを正確に把握することが難しく、どの不揮発性メモリが寿命に達しているかを判断することは基本的にできない。
【0016】
また、市場に流通している不揮発性半導体記憶装置に内蔵されている不揮発性メモリ及びコントロールチップの多くは、寿命に達したときに何らかのレスポンスを外部に返すように設計されていない。従って、一般に市場に流通している不揮発性半導体記憶装置の寿命を外部から予測することは非常に難しい。
【0017】
本実施形態に係る寿命予測装置は、一般に市場に流通している、不揮発性メモリ及びコントロールチップを含む不揮発性半導体記憶装置全体の使用寿命を予測する。寿命予測装置は、規格に基づく外部インタフェースからのアクセスに対するアクセス時間を測定し、測定したアクセス時間により、不揮発性半導体記憶装置の製品使用上の寿命を予測する。寿命評価装置は、従来では寿命予測が困難であった使用時間がわからない不揮発性半導体記憶装置の寿命予測をも可能とする。
【0018】
以下、本実施形態に係る不揮発性半導体記憶装置の寿命予測の概要を説明する。本実施形態では、不揮発性半導体記憶装置に対し、特定セクタ量のデータの書き込み時のアクセス時間を測定する。測定された書き込み時のアクセス時間の変化から寿命を予測する。データ書き込み時のアクセス時間は、外部インタフェースから書き込みコマンドと書き込みデータを不揮発性半導体記憶装置に送信し、不揮発性半導体記憶装置から書き込み完了の応答コマンドを受信するまでの時間をいう。以下、単に「書き込み時間」と表記することもある。
【0019】
不揮発性半導体記憶装置が寿命に達するまでの書き込み回数が何回であるかは、回数を数え始めた時点で既に何回書き込みをしていたか判らない限り、使用途中からの寿命予測が困難であった。しかしながら、固定された特定セクタ量の書き込みに対するアクセス時間の変化は、初期状態から徐々に早くなり、最終的に寿命に達すると常に一定のアクセス時間となる特徴があることが判っている。
【0020】
書き込み回数が進むにつれて、固定された特定セクタ量の書き込みに対するアクセス時間が早くなるのは、書き込みによるNANDメモリの酸化膜の劣化から、NANDメモリに蓄積される電子が通りやすくなり、電子の蓄積判断が速くなることに起因する。また、書き込みが出来なくなるNANDメモリが増えるに伴い、コントロールチップによる書き込み処理は、書き込み出来ない処理が増え、本来の時間がかかるNANDメモリに書き込む処理よりも短くなり、内部処理時間そのものが短くなることによる。
【0021】
ここで、不揮発性半導体記憶装置が寿命に達するということは、ホストコントローラから送られる書き込みコマンドは受け付けるものの、書き込まれたデータをホストコントローラから正常に読み出すことができないことをいう。書き込まれた領域のデータを再度ホストコントローラから読み取ろうとしても、例えば、読み出しエラーが発生し、ホストコントローラがデータを正常に読み出すことができない。不揮発性半導体記憶装置が寿命に達した時に、不揮発性半導体記憶装置内のコントロールチップは、ホストコントローラから送られる書き込みコマンドに対し、NANDメモリへの書き込み処理を行う。しかし、コントロールチップは、不揮発性半導体記憶装置内のどのNANDメモリに対しても、同じNANDメモリが寿命に達した時の処理を行った後、ホストコントローラへ書き込み処理終了の応答を返す。このため不揮発性半導体記憶装置が寿命に達した後の固定された特定セクタ量の書き込み処理に対するアクセス時間は常に一定となり、固定された特定セクタ量の平均書き込みアクセス時間も一定となる。従って、ホストコントローラは、固定された特定セクタ量の書き込みに対するアクセス時間が寿命に達すると一定時間となることから、寿命に達したアクセス時間から逆算し、現状の固定された特定セクタ量の書き込みに対するアクセス時間に基づいて、後どの位の寿命かを判断することができる。
【0022】
特許文献2に示されるように、内部構成が同じ不揮発性半導体記憶装置は、固定された特定パターンの書き込みコマンドに対し、同じ特性のアクセス時間のパターンを示す特徴が有る。このため、初期値としてのアクセス時間のパターンを取得し、その特徴が同じ不揮発性半導体記憶装置は、同じアクセス時間で寿命に達するといえる。
【0023】
初期値としての書き込みアクセス時間は次の(1)から(3)に基づいて測定する。
(1)不揮発性半導体記憶装置に対し、固定された特定セクタ単位(例えば、256セクタ単位)でアクセスを連続して行い、その時間をミリ秒オーダで記録する。
(2)アクセスパターンはアドレスに対して最小LBA(Logical Block Address)から最大LBAへの正方向、または最大LBAから最小LBAへの逆方向とし、指定されたLBA単位でアクセスするパターンである。最小LBAは通常、0であり、最大LBAはシステムにより異なる。これにより、不揮発性半導体記憶装置ごとに、アクセス時間を導き出すことができる。
(3)この場合、記録方式における特徴は、アクセス時間ごとのデータを細かくプロットすることである。
【0024】
これまで、HDDの性能評価方法として、アプリケーションソフトを使用したベンチマーク試験が存在する。これは、相対的に大まかなHDDの性能評価を示す指標として使用されており、部分的なアクセスによりHDDの相対的な性能比較に用いられるものであって、寿命評価を考慮している物ではなかった。そのため、測定された個体がどのようなアクセス時間を有するかという大まかな違いは検出できるが、そのアクセス時間から、測定した各個体がどのような種類のものであるかを細かく分類することはできない。
【0025】
そこで、LBAにアクセスした時間を明確にするため、固定されたLBA単位でLBAが重複することなく、アクセス開始位置を増加またはアクセス開始位置を減少させるアクセスパターンを使用する。例えば、一般に公開されているIDEMA(The International Disk Drive Equipment and Materials Association)のHDD評価パターン(Command completion time measurement tool White Paper)を使用できる。
【0026】
このようなアクセスパターンを用い、アクセスする方向、アクセスするLBA、転送するデータ、アクセス手法を厳密に定め、不揮発性メモリの一部分の領域ではなく、全体領域にデータを書き込む。これより、評価対象の個体のアクセス性能の正確な特徴を抽出することができる。なお転送するデータは、不揮発性半導体記憶装置に最も負荷を与えるデータにするとよい。最も負荷を与えるデータは通常、24bitLBA方式で用意されている最大転送コマンド量では0xFFの256セクタとなり、全ビットが「1」のデータである。
【0027】
アクセスパターンは、厳密に評価すべき不揮発性メモリのLBAごとに、固定化された転送データに対して測定するものとし、LBAごとの測定データのプロットに意味を持たせ、アクセス時間ごとに何を行っているかを明確化できることを特徴とする。
図1は、アクセス時間の分布を示すグラフである。
図1において縦軸はアクセス時間、横軸はLBAを表している。
【0028】
アクセス時間をプロットする装置としてはオペレーティングシステム(OS)等による時間的に不適当なオーバーヘッドを持たない専用の治具を使用することが望ましいが、専用の治具を省略し、ソフトウェアで計測することも可能である。
【0029】
これにより、不揮発性メモリとコントロールチップを含めた不揮発性半導体記憶装置全体のアクセス性能を正確に把握することができる。アクセス性能は、上述のように内部構成が異なる不揮発性半導体記憶装置ごとに固有の性能を示すことが知られており、固有の性能として、
図1に示すように多くのアクセス時間が特定の時間に集中することがわかっている。従って、固定された特定セクタ量のデータの書き込みアクセス時間を平均化することで、アクセス時間が集中する特定時間を不揮発性半導体記憶装置固有の成分として表すことが出来る。
【0030】
この最初に不揮発性半導体記憶装置のアクセス性能を評価すべく、固定された特定セクタ単位の書き込みによって厳密に評価されたアクセス時間を平均化したものを仮に評価開始時アクセス時間と定義する。
【0031】
寿命に到達したときのアクセス時間は、最初に不揮発性半導体記憶装置のアクセス性能を評価すべく、固定された特定セクタ単位で連続して全面書き込みするアクセスパターンを実行し、実際に不揮発性半導体記憶装置が寿命に達した時のアクセス時間で示す。上述のように、故障に達した時の固定された特定セクタ単位のアクセス時間は常に同じになることから、固定された特定セクタ単位で平均化されたアクセス時間に等しい。この平均化されたアクセス時間は、不揮発性半導体記憶装置のコントロールチップが不揮発性メモリの全領域に対して、固定された特定セクタ単位書き込んだ時のNANDメモリが寿命に達した時の処理時間の総計の平均で表される。したがって、寿命に達するまでデータを書き込む方法以外にも、アクセス時間の平均時間または最頻時間を用いることによって、不揮発性半導体記憶装置が寿命に達した時のアクセス時間と比較し、寿命に達しているかどうかを評価することができる。
【0032】
例えば、事前に一定容量のアクセスを実行し、不揮発性半導体記憶装置のNANDメモリが寿命に達している時のコントロールチップの応答時間がわかれば、そのときの容量当たりのアクセス時間がわかる。最終的に不揮発性半導体記憶装置中の全てのNANDメモリが寿命に達した時の固定された特定セクタ単位でアクセスしたときのアクセス時間の平均を計算で導くことが出来る。このアクセス時間を寿命到達時アクセス時間と仮に定義する。この結果、ホストコントローラは、アクセスパターンを実行することによって、固定された特定セクタ単位での書き込み時のアクセス時間を平均化した評価開始時アクセス時間と寿命到達時アクセス時間の値を取得することができる。本発明は、この評価開始時アクセス時間が明確にされた内部構造を同じくする不揮発性半導体装置の寿命判断に有効であり、例えば型番、形式、記号等で内部構造が同じであることが判別できていることを前提とする。
【0033】
寿命予測の方法として、ホストコントローラは通常の処理によって要求されるアクセス処理の合間に、不揮発性半導体記憶装置の空き領域に固定された特定セクタ単位での書き込み処理を行う。ホストコントローラは、書き込み処理による固定された特定セクタ単位あたりのアクセス時間の平均時間または最頻時間と、評価開始時アクセス時間および寿命到達時アクセス時間の比較を行う。ホストコントローラは、現在の固定された特定セクタ単位あたりのアクセス時間の平均時間または最頻時間から寿命がどのくらい進行したかを知ることができる。
【0034】
書き込み処理におけるアクセス単位を、例えば、評価開始時アクセス時間の測定時における固定された特定セクタ単位のn倍とし、大きなデータを少ない回数で書き込むようにしてもよい。連続したコマンド出力の間隔が小さいときには、最小の固定された特定セクタ単位を頻繁に書き込むようにしてもよい。また、これらの書き込み処理を組み合わせてもよい。
【0035】
このとき、測定したアクセス時間を特定回数ため込み、固定された特定セクタ単位あたりの平均値または最頻値を計算し、この平均値と初期値登録データベースに記録された寿命到達時アクセス時間との比較を行う。不揮発性半導体記憶装置では、固定された特定セクタ単位のアクセス時間が特定時間に収束する特徴が有り、書き込み回数が増えると、収束時間から外れたアクセス時間も現れるが、概ねアクセス時間が収束していく傾向を示す。したがって、固定された特定セクタ単位のアクセス時間の平均値または最頻値を求めることにより、アクセス時間の多くが収束する時間を寿命到達時アクセス時間と比較すべき時間とすればよい。
【0036】
尚、ホストコントローラから見た不揮発性半導体記憶装置におけるデータが書き込まれていない空き領域のアドレスは、コントロールチップのウェアレベリングコントロールにより、不揮発性半導体記憶装置内部の絶対なアドレスではない。コントロールチップのウェアレベリングコントロールは、常に不揮発性半導体記憶装置全体のNANDメモリの書き込み回数を均一化するために動いている。このため、ホストコントローラから見た不揮発性半導体記憶装置の空き領域におけるNANDメモリの書き込み回数は、他のデータが書き込まれているNANDメモリの書き込み回数と大きく離れているものではない。従って、ホストコントローラから見て、データが書き込まれていない空き領域のコマンド応答時間を測定することによって、不揮発性半導体記憶装置全体の書き込み回数の進行具合を予測することができる。
【0037】
以上のように、ホストコントローラは、例えば、通常のアクセス指示に基づくアクセス動作の合間に、データが書き込まれていない空き領域に対し、固定された特定セクタ単位で書き込み、アクセス時間を取得する。ホストコントローラは、固定された特定セクタ単位あたりの平均または最頻アクセス時間の変化を寿命到達時アクセス時間と比較することにより、不揮発性半導体記憶装置の寿命を予測可能とするものである。
【0038】
内部構成が同等で、同じ特性のアクセス時間のパターンを有する不揮発性半導体記憶装置であれば、評価開始以前の書き込み回数が不明であっても、評価開始時アクセス時間および寿命到達時アクセス時間に基づいて残りの寿命を予測することができる。現在の平均または最頻アクセス時間を計測し、寿命到達時アクセス時間から逆算することによって、どの位の寿命にあるかを判断し、残りの寿命を予測することができる。
【0039】
以下、本発明の実施形態に係る寿命予測装置を具体的に説明する。
図2は、実施形態に係る寿命予測装置10の構成を示すブロック図である。評価対象の不揮発性半導体記憶装置30は不揮発性半導体メモリ31及びコントローラ32を含む。コントローラ32はコマンド実行部40から書き込みコマンド及び書き込みデータを受信すると当該データを不揮発性半導体メモリ31の指定された記憶領域に書き込む。当該データの書き込みが完了するとコマンド実行部40に応答信号を返す。またコントローラ32はコマンド実行部40から読み出しコマンドを受信すると、不揮発性半導体メモリ31の指定された記憶領域からデータを読み出し、コマンド実行部40に送信する。
【0040】
コマンド実行部40は、寿命予測装置10およびホストコントローラ50に接続されており、寿命予測装置10およびホストコントローラ50からのコマンドを受け付けて書き込み処理および読み出し処理を実行する。以下の説明では、不揮発性半導体記憶装置30としてメモリカードを想定する。
【0041】
ホストコントローラ50は、キーボード等の外部入力により、事前に不揮発性半導体記憶装置30の評価開始時アクセス時間と寿命到達時アクセス時間を初期値登録データベース52に記憶する。記憶する評価開始時アクセス時間と寿命到達時アクセス時間は、寿命を予測する不揮発性半導体記憶装置30に関するものであり、内部構造を同じくする同じアクセスパターンの不揮発性半導体記憶装置の寿命予測時にも変更することなく使用することができる。動作が開始されると、ホストコントローラ50はコマンド実行部40を通して、不揮発性半導体記憶装置30に対して通常の書き込みおよび読み出しの動作を行う。
【0042】
ホストコントローラ50は、通常の動作中において、コマンド実行部40に対して所定のコマンド命令を出力する。ホストコントローラ50は、コマンド実行部40に対して所定のコマンド命令を出力した後、次のコマンド命令を連続して出さない場合、寿命予測装置10に対して寿命予測の実行を指示する。
【0043】
寿命予測装置10は、書込処理部11、記憶処理部12、アクセス時間算出部13、比較処理部14および寿命判断部15を有する。寿命予測装置10は、例えばCPUなどによって構成され、メモリ(図示略)に格納されたコンピュータプログラム、およびコンピュータプログラムに用いる各種情報に従って、上述の各部による処理を実行する。寿命予測装置10は、ホストコントローラ50の一部として構成されていてもよく、例えばCPU等の演算処理回路などで構成されるホストコントローラ50における部分的なプログラムによる寿命予測処理部として機能するものであってもよい。
【0044】
書込処理部11は、不揮発性半導体記憶装置30の空き領域に対し、固定された特定セクタ単位の書き込み処理を実行し、書き込み処理によるアクセス時間を測定する。ホストコントローラ50が通常の動作によりコマンド実行部40を介して不揮発性半導体記憶装置30に読み書きする動作と、書込処理部11がコマンド実行部40を介して不揮発性半導体記憶装置30に書き込む動作とは、同時に実行されないものとする。
【0045】
図3は、書き込み時のアクセスパターンを示す模式図である。縦軸はLBAを示し、横軸はコマンド発行番号(コマンドの発行順序を示す番号)を示している。コマンド発行番号が小さい順に、各コマンドが発行される。
図3に示す書き込みパターンは、正方向へのアクセスを示しており、0LBAから最大LBAまで256セクタ単位でメディア全面に書き込みを行う。書き込むデータは任意の物でもよいが、データが0、1、2、からFまでの常に1を加算した連続したデータを書き込むと、書き込まれたデータに問題があった場合、どのデータで問題があったかを発見しやすい利便性がある。
【0046】
記憶処理部12は、特定回数の測定したアクセス時間を記憶部(図示略)に記憶させる処理を行う。アクセス時間算出部13は、記憶したアクセス時間に基づいて、固定された特定セクタ単位あたりの平均または最頻アクセス時間を計算する。以下、固定された特定セクタ単位あたりのアクセス時間を平均化した平均アクセス時間を用いて説明するが、最頻出のアクセス時間を算出した最頻アクセス時間を用いた処理とすることもできる。
【0047】
比較処理部14は、アクセス時間算出部13によって算出された平均アクセス時間と初期値登録データベース52に記録された寿命到達時アクセス時間との比較を行う。尚、寿命予測装置10から平均アクセス時間をホストコントローラ50へ出力し、ホストコントローラ50において平均アクセス時間と寿命到達時アクセス時間とを比較するようにしてもよい。
【0048】
比較処理部14は、平均アクセス時間を、寿命到達時アクセス時間に対して安全サイドであるといえる閾値(以下、寿命到達安全閾値という。)と比較する。寿命到達安全閾値は、例えば、寿命到達時アクセス時間に安全係数を掛けて得られる値に設定する。寿命到達安全閾値は、例えば、寿命到達時アクセス時間が10ミリ秒であり、これに安全係数を1.2として乗算した値12ミリ秒などに設定する。寿命判断部15は、平均アクセス時間が寿命到達安全閾値以下となる場合が多く発生する場合に寿命に到達したと判断し、不揮発性半導体記憶装置30に対する読み書きの動作を停止すべきである旨の寿命到達アラームを出力する。寿命判断部15は、寿命到達アラームを出力することによって不揮発性半導体記憶装置30が寿命に到達した旨を報知する。ホストコントローラ50は、寿命判断部15が出力する寿命到達アラームに基づいて、不揮発性半導体記憶装置30の交換やデータバックアップ等を指示する。
【0049】
次に寿命予測装置10の動作について、寿命予測前の事前処理、および寿命予測処理に基づき説明する。
図4は寿命予測前の事前処理の手順を示すフローチャートである。この事前処理は、寿命予測装置10以外の評価装置によって行うことができる。評価装置は、コマンド実行部40に相当する外部インタフェースを介して不揮発性半導体記憶装置に対して書き込みコマンドを出力する。評価装置は、不揮発性半導体記憶装置からの書き込み完了の応答コマンドを受信するまでの時間をアクセス時間として取得する。
【0050】
評価装置により、
図3に示すアクセスパターンに従って書き込んだときの応答時間を測定する(S1)。評価装置によって評価した不揮発性半導体記憶装置ごとの応答時間を評価開始時アクセス時間として初期値登録データベース52に登録する(S2)。壊れたNANDメモリを不揮発性半導体記憶装置内のコントローラがアクセスしたときの応答時間が算出できるか否かを判定する(S3)。ステップS3による判定は、例えば不揮発性半導体記憶装置の個体がメーカ型番等で判明しており、メーカ型番等に対応するデータベースに基づいて既知または算出できるかによって判定される。
【0051】
ステップS3による判定結果が、算出できるとなった場合(S3:YES)、コントローラの処理時間から寿命到達時のコマンド応答時間を算出し、寿命到達時アクセス時間を取得する(S4)。ステップS3による判定結果が、算出できないとなった場合(S3:NO)、評価装置によって不揮発性半導体記憶装置への書き込み動作を繰り返して書きつぶし、寿命到達時の応答時間を寿命到達時アクセス時間として取得する(S5)。
【0052】
ステップS4およびS5の後、取得した不揮発性半導体記憶装置ごとの寿命到達時アクセス時間を初期値登録データベース52に登録する(S6)。この事前処理によって、初期値登録データベース52には、不揮発性半導体記憶装置ごとの評価開始時アクセス時間および寿命到達時アクセス時間が登録される。
【0053】
図5および
図6は、寿命予測処理の手順を示すフローチャートである。ホストコントローラ50は、初期値登録データベース52にアクセスし、不揮発性半導体記憶装置30がデータベースに登録されている不揮発性半導体記憶装置であるか否かを判定する(S11)。不揮発性半導体記憶装置30が初期値登録データベース52に登録されている場合(S11:YES)、初期値登録データベース52から評価開始時アクセス時間および寿命到達時アクセス時間を読み出す(S13)。
【0054】
不揮発性半導体記憶装置30が初期値登録データベース52に登録されていない場合(S11:NO)、上述の事前処理に基づいて不揮発性半導体記憶装置30の名称、評価開始時アクセス時間および寿命到達時アクセス時間を初期値登録データベース52に登録する(S12)。ステップS12の後、ホストコントローラ50は、初期値登録データベース52から評価開始時アクセス時間および寿命到達時アクセス時間を読み出す(S13)。ホストコントローラ50は、読み出した評価開始時アクセス時間および寿命到達時アクセス時間を寿命予測装置10へ出力する。
【0055】
ホストコントローラ50は、通常の動作により不揮発性半導体記憶装置30への読み書きを開始する(S14)。ホストコントローラ50は、不揮発性半導体記憶装置30へ連続したコマンド出力中であるか否かを判定し(S15)、コマンド出力中である場合(S15:YES)、ステップS15による判定を繰り返す。
【0056】
ステップS15において否と判定された場合(S15:NO)、ホストコントローラ50からの通知に基づいて、寿命予測装置10の書込処理部11は、不揮発性半導体記憶装置30の空き領域に固定された特定セクタ単位の書き込みを行う(S16)。書込処理部11は、1回の固定された特定セクタ量のn倍のデータ、または最小の固定された特定セクタ単位のデータを複数回書き込む。
【0057】
データ量は次に連続するコマンド出力のパターンによって変更することができる。次に連続するコマンド出力までの間隔が大きいときは1回当たり、固定された特定セクタ単位のn倍のデータとした大きなデータを少ない回数で書き込んでもよいし、次に連続したコマンド出力までの間隔が小さいときには、1個の固定された特定セクタ単位を頻繁に書き込むようにしてもよい。また、これらの組み合わせであってもよい。
【0058】
寿命予測装置10の記憶処理部12は、測定したアクセス時間を特定回数記憶する処理を行い、アクセス時間算出部13は、固定された特定セクタ単位あたりの平均アクセス時間を算出する(S17)。尚、平均アクセス時間の代わりに最頻アクセス時間を算出して用いることもできる。比較処理部14は、平均アクセス時間が寿命到達安全閾値以下となったか否かを判定する(S18)。ステップS18における判定において、寿命の到来を予測する精度を上げるためには、特定回数として多くのアクセス時間を記憶させて平均を取り、1回でも寿命到達安全閾値以下となった場合に、寿命が到来したとすることが望ましい。
【0059】
しかし、
図1に示すように実際の不揮発性半導体記憶装置のアクセスパターンは、ある程度のばらつきを含んでいる。したがって、固定された特定セクタ単位のn倍のデータを少ない回数、例えば10個の固定された特定セクタ単位を1回で、書き込み、複数回分の平均アクセス時間を算出する。その結果、例えばこの1回でまとめて書かれた特定セクタ単位の最近得ることが出来た10回分の平均アクセス時間の内、7回が寿命到達安全閾値以下になることをもって寿命が到来したとする。
【0060】
ステップS18で平均アクセス時間が寿命到達安全閾値以下となった場合(S18:YES)、寿命判断部15は、閾値カウンターを1とし、平均アクセス時間が寿命到達安全閾値以下となったことをカウントする(S19)。
図7は閾値カウンターの内部構造を示す模式図である。閾値カウンターはFIFO(First In First Out)カウンターとなっている。ステップS18で平均アクセス時間が寿命到達安全閾値以下でない場合(S18:NO)、閾値カウンターを0とし(S20)、ステップS15に戻って処理を繰り返す。
【0061】
例えば、10回分の平均アクセス時間で寿命到達を判断する場合、この閾値カウンター内部を10個の区切りとし、このうち7個が1となれば寿命到達と判断する。ステップS19の後、寿命判断部15は、閾値カウンターによるカウント値が規定値を超えたか否かを判定する(S21)。ステップ21において、閾値カウンターによるカウント値が規定値を超えていない場合(S21:NO)、ステップS15に戻って処理を繰り返す。ステップS21において、閾値カウンターによるカウント値が規定値を超えたと判定された場合(S21:YES)、寿命判断部15は、寿命に到達したと判断し、寿命到達アラームを出力する(S22)。寿命判断部15は、寿命到達アラームを出力することによって不揮発性半導体記憶装置30が寿命に到達した旨を報知する。寿命到達アラームは、ランプやブザー等によって異常を知らせるものであってもよい。ホストコントローラ50は、寿命到達アラームに基づいて、不揮発性半導体記憶装置30の交換やデータバックアップ等を指示し(S23)、処理を終了する。
【0062】
別の判断方法として、不揮発性半導体記憶装置30への通常の連続コマンドが頻繁に出力され、大きなデータを書き込む余裕が無い場合でも、1個の固定された特定セクタ単位で書き込んだ時のアクセス時間を数多く記憶して同じ効果を得ることができる。例えば、最近得ることが出来た50回の1個の固定された特定セクタ単位で書き込んだ時のアクセス時間の内、35回のアクセス時間が寿命到達安全閾値以下となり寿命に到達するケースについて考える。この場合、閾値カウンター内部を50個の区切りとし、このうち35個が1となれば寿命に到達したとしてステップS22に移行すればよい。
【0063】
1回の書き込み量とFIFOカウンターの大きさの組み合わせは、不揮発性半導体記憶装置の本来の読み書きの連続コマンドがどのタイミングで出されるかと、不揮発性半導体記憶装置の空き領域がまとまった書き込みが出来るかどうかで判断される。このような判断が可能であるのは、
図1に示すように、不揮発性半導体記憶装置の場合、NANDデバイスストレージの特徴から、アクセス時間の成分として、内部のコントロールチップによる特定のアクセス時間の成分しか持たないことによる。
【0064】
以上説明したように実施形態によれば、寿命予測装置10は、不揮発性半導体記憶装置30の内部に特殊な寿命予測用の装置等を搭載することなく、外部からアクセス時間を計測して判断することで寿命を予測することができる。寿命予測装置10は、市場に流通する不揮発性半導体記憶装置30を不揮発性半導体メモリ31と、コントローラ32を込みにして、その寿命を予測することができる。
【0065】
また、寿命予測装置10は、平均アクセス時間が寿命到達安全閾値以下となったことを閾値カウンターによりカウントして規定値と比較することで、平均アクセス時間にばらつきがあることを考慮して、寿命を予測することができる。また寿命予測装置10は、寿命到達安全閾値を寿命到達時アクセス時間に安全係数を掛けた値に設定することで、寿命に到達して故障する前に、不揮発性半導体記憶装置30の寿命を予測することができる。
【0066】
また、寿命予測装置10は、書き込み時の応答時間についての評価開始時アクセス時間と寿命到達時アクセス時間に基づいて、寿命の経過や、残り寿命などを簡易に予測することもできる。
【0067】
次に、各実施形態に係る寿命予測装置10、寿命予測方法および寿命予測プログラムの特徴を説明する。
寿命予測装置10は、アクセス時間算出部13、比較処理部14および寿命判断部15を備え、不揮発性半導体メモリ31およびコントローラ32を含む不揮発性半導体記憶装置30の寿命を予測する。アクセス時間算出部13は、不揮発性半導体記憶装置30に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出する。比較処理部14は、アクセス時間算出部13により算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する。寿命判断部15は、比較処理部14による判定結果に基づいて不揮発性半導体記憶装置30の寿命を判断する。これにより、寿命予測装置10は、算出する平均または最頻アクセス時間と寿命到達安全閾値との比較処理に基づいて、不揮発性半導体記憶装置の寿命を外部から予測することができる。
【0068】
また寿命判断部15は、平均または最頻アクセス時間が寿命到達安全閾値以下となるケースをカウントし、規定値以上となったときに不揮発性半導体記憶装置30が寿命に到達したと判断する。これにより、寿命予測装置10は、平均または最頻アクセス時間のばらつきを考慮して、不揮発性半導体記憶装置30の寿命を予測することができる。
【0069】
また寿命到達安全閾値は、不揮発性半導体記憶装置30が寿命に到達した時のアクセス時間に安全係数を掛けた値に設定されている。これにより、寿命予測装置10は、不揮発性半導体記憶装置30が寿命に到達して故障する前に、不揮発性半導体記憶装置30の寿命を予測することができる。
【0070】
寿命予測方法は、アクセス時間算出ステップ、比較処理ステップおよび寿命判断ステップを備え、不揮発性半導体メモリ31およびコントローラ32を含む不揮発性半導体記憶装置30の寿命を予測する。アクセス時間算出ステップは、不揮発性半導体記憶装置30に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出する。比較処理ステップは、アクセス時間算出ステップにより算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する。寿命判断ステップは、比較処理ステップによる判定結果に基づいて不揮発性半導体記憶装置30の寿命を判断する。この寿命予測方法によれば、算出する平均または最頻アクセス時間と寿命到達安全閾値との比較処理に基づいて、不揮発性半導体記憶装置30の寿命を外部から予測することができる。
【0071】
寿命予測プログラムは、アクセス時間算出ステップ、比較処理ステップおよび寿命判断ステップをコンピュータに実行させ、不揮発性半導体メモリ31およびコントローラ32を含む不揮発性半導体記憶装置30の寿命を予測する。アクセス時間算出ステップは、不揮発性半導体記憶装置30に所定のアクセスパターンでデータを書き込む書込処理の応答時間に基づいて、平均または最頻アクセス時間を算出する。比較処理ステップは、アクセス時間算出ステップにより算出された平均または最頻アクセス時間が寿命到達安全閾値以下であるか否かを判定する。寿命判断ステップは、比較処理ステップによる判定結果に基づいて不揮発性半導体記憶装置30の寿命を判断する。この寿命予測プログラムによれば、算出する平均または最頻アクセス時間と寿命到達安全閾値との比較処理に基づいて、不揮発性半導体記憶装置30の寿命を外部から予測することができる。
【0072】
以上、本発明の実施の形態をもとに説明した。これらの実施の形態は例示であり、いろいろな変形および変更が本発明の特許請求範囲内で可能なこと、またそうした変形例および変更も本発明の特許請求の範囲にあることは当業者に理解されるところである。従って、本明細書での記述および図面は限定的ではなく例証的に扱われるべきものである。
【符号の説明】
【0073】
10 寿命予測装置、 13 アクセス時間算出部、 14 比較処理部、
15 寿命判断部、 30 不揮発性半導体記憶装置、
31 不揮発性半導体メモリ、 32 コントローラ。