(57)【要約】【課題】フラッシュメモリの寿命となる時期が想定よりも早いか否かを診断する。【解決手段】  診断装置１０は、フラッシュメモリ２２における後天性不良ブロック数を取得する取得部３２と、取得部３２で取得された後天性不良ブロック数に基づき、後天性不良ブロック数が当該後天性不良ブロック数の過去値に対して所定割合以上増加しているか否かを判定する判定部３４と、判定部３４により後天性不良ブロック数が所定割合以上増加していると判定された場合に、フラッシュメモリ２２を構成する複数の物理ブロックに対してダミーデータを書き込む書き込み部３６とを備える。取得部３２は、ダミーデータの書き込み後のフラッシュメモリ２２における後天性不良ブロック数を取得し、判定部３４は、ダミーデータの書き込み後における後天性不良ブロック数が過去値に対して所定割合以上増加しているか否かを判定する。【選択図】図１
2020177715.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリにおける後天性不良ブロック数を取得する取得部と、
前記取得部で取得された後天性不良ブロック数に基づき、後天性不良ブロック数が当該後天性不良ブロック数の過去値に対して所定割合以上増加しているか否かを判定する判定部と、
前記判定部により後天性不良ブロック数が所定割合以上増加していると判定された場合に、前記フラッシュメモリを構成する複数の物理ブロックに対してダミーデータを書き込む書き込み部と、を備え、
前記取得部は、前記ダミーデータの書き込み後の前記フラッシュメモリにおける後天性不良ブロック数を取得し、
前記判定部は、前記ダミーデータの書き込み後における後天性不良ブロック数が前記過去値に対して所定割合以上増加しているか否かを判定することを特徴とする診断装置。
【請求項２】
前記判定部により前記ダミーデータの書き込み後における後天性不良ブロック数が所定割合以上増加していると所定回数以上判定された場合にアラームを出力する出力部を備えることを特徴とする請求項１記載の診断装置。
【請求項３】
前記取得部は、前記後天性不良ブロック数とともに前記フラッシュメモリの消去回数を取得し、
前記判定部は、前記取得部で取得された後天性不良ブロック数及びフラッシュメモリの消去回数と、当該後天性不良ブロック数の過去値及びフラッシュメモリの消去回数の過去値とに基づき、
後天性不良ブロック数の増加による寿命がフラッシュメモリの消去回数による寿命よりも早く到来すると予測した場合に、後天性不良ブロック数が所定割合以上増加していると判定することを特徴とする請求項１または請求項２記載の診断装置。
【請求項４】
前記フラッシュメモリの消去回数は、
当該フラッシュメモリを構成する複数の物理ブロックごとの消去回数の平均値、または当該複数の物理ブロックごとの消去回数の合計値であることを特徴とする請求項３記載の診断装置。
【請求項５】
現用系及び待機系の装置で構成される二重化システムであって、
前記各装置は、
フラッシュメモリにおける後天性不良ブロック数を取得する取得部と、
前記取得部で取得された後天性不良ブロック数に基づき、後天性不良ブロック数が当該後天性不良ブロック数の過去値に対して所定割合以上増加しているか否かを判定する判定部と、
前記判定部により後天性不良ブロック数が所定割合以上増加していると判定された場合に、前記フラッシュメモリを構成する複数の物理ブロックに対してダミーデータを書き込む書き込み部と、を備え、
現用系の装置において、前記取得部で取得された後天性不良ブロック数が、当該後天性不良ブロック数の過去値に対して所定割合以上増加していると判定された場合、
当該現用系の装置が待機系に切り替わるとともに、前記待機系の装置が現用系に切り替わり、
待機系に切り替わった装置において、
前記書き込み部が、前記フラッシュメモリを構成する複数の物理ブロックに対してダミーデータを書き込み、
前記取得部が、前記ダミーデータの書き込み後の前記フラッシュメモリにおける後天性不良ブロック数を取得し、
前記判定部が、前記ダミーデータの書き込み後における後天性不良ブロック数が前記過去値に対して所定割合以上増加しているか否かを判定することを特徴とする二重化システム。
【請求項６】
診断装置による診断方法であって、
取得部が、フラッシュメモリにおける後天性不良ブロック数を取得するステップと、
判定部が、前記取得部で取得された後天性不良ブロック数に基づき、後天性不良ブロック数が当該後天性不良ブロック数の過去値に対して所定割合以上増加しているか否かを判定するステップと、
書き込み部が、前記判定部により後天性不良ブロック数が所定割合以上増加していると判定された場合に、前記フラッシュメモリを構成する複数の物理ブロックに対してダミーデータを書き込むステップと、
前記取得部が、前記ダミーデータの書き込み後の前記フラッシュメモリにおける後天性不良ブロック数を取得するステップと、
前記判定部が、前記ダミーデータの書き込み後における後天性不良ブロック数が前記過去値に対して所定割合以上増加しているか否かを判定するステップと、を有することを特徴とする診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、フラッシュメモリの寿命となる時期が想定よりも早いかを診断する診断装置、二重化システム及び診断方法に関する。
【背景技術】
【０００２】
近年、ハードディスクドライブ装置に代わる記憶装置として半導体記憶装置が普及してきている。半導体記憶装置は、ハードディスクドライブ装置に比べてデータの書き込み及び読み出しが速く、小型軽量化が可能となるなどの点で優れている。このような半導体記憶装置としては、記憶媒体にフラッシュメモリを用いるソリッド・ステート・ドライブ（以下、ＳＳＤと称する）が知られている。
【０００３】
ＳＳＤをシステムストレージとして使用する際の問題として、フラッシュメモリの書き込み可能回数の問題がある。フラッシュメモリでは、書き込み回数が書き込み可能回数（上限値）を超えるとメモリが劣化した状態となり、データ保持能力が低下する。その結果、オペレーションシステムが動作不能になったり、保持しているデータが化けてアプリケーションに悪影響を及ぼしたりするなどの不具合が発生する場合がある。
【０００４】
また、ＳＳＤでは、フラッシュメモリを構成する複数の物理ブロックのうち、ＳＳＤの使用開始後に機械的な破損により不良となった物理ブロックは「後天性不良ブロック」と呼ばれ、そのブロックではデータ保持能力が著しく低下する。さらに、後天性不良ブロックが一定数に達するとＳＳＤそのものが使用できなくなるおそれもある。
【０００５】
なお、ＳＳＤでは、フラッシュメモリを構成する個々の物理ブロックにもブロック毎に書き込み回数の上限値が存在する。そこで、ＳＳＤでは、フラッシュメモリを構成する複数の物理ブロックの特定のブロックに対する書き込み回数の偏りが大きくなったときに、書き込み対象の物理ブロックを分散させてその偏りを抑制するウェアレベリングという技術が知られている（例えば特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２５０５３４号公報
【特許文献２】特開２００８−００９５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＳＳＤでは、フラッシュメモリの書き込み回数は概ね消去回数と同数となる。フラッシュメモリの消去回数及び上述の後天性不良ブロック数に関する情報はＳｍａｒｔ（Self-Monitoring, Analysis, and Reporting Technology）コマンドによって取得することができる。フラッシュメモリの消去回数については、Ｓｍａｒｔコマンドで取得した情報に基づいて上限値に達するおよその時期（寿命）を予測することは可能である。しかし、後天性不良ブロック数についてはフラッシュメモリの品質や特性等により発生の傾向が異なるため、上限値に達する時期（寿命）が想定より早い場合であってもそれを事前に知ることは困難である。
【０００８】
この発明は、上記のような課題を解決するためになされたもので、フラッシュメモリの寿命となる時期が想定よりも早いか否かを診断することを目的としている。
【課題を解決するための手段】
【０００９】
この発明に係る診断装置は、フラッシュメモリにおける後天性不良ブロック数を取得する取得部と、取得部で取得された後天性不良ブロック数に基づき、後天性不良ブロック数が当該後天性不良ブロック数の過去値に対して所定割合以上増加しているか否かを判定する判定部と、判定部により後天性不良ブロック数が所定割合以上増加していると判定された場合に、フラッシュメモリを構成する複数の物理ブロックに対してダミーデータを書き込む書き込み部とを備え、取得部は、ダミーデータの書き込み後のフラッシュメモリにおける後天性不良ブロック数を取得し、判定部は、ダミーデータの書き込み後における後天性不良ブロック数が過去値に対して所定割合以上増加しているか否かを判定することを特徴とする。
【発明の効果】
【００１０】
この発明によれば、上記のように構成したので、フラッシュメモリの寿命となる時期が想定よりも早いか否かを診断することができる。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１に係る診断装置の構成例を示す図である。
【図２】この発明の実施の形態１に係る診断装置の動作例を示すフローチャートである。
【図３】この発明の実施の形態１における不良増加予知開始基準を説明するためのグラフである。
【図４】この発明の実施の形態２に係る二重化システムの構成例を示す図である。
【図５】この発明の実施の形態２に係る二重化システムの動作例を示すイメージ図である。
【発明を実施するための形態】
【００１２】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１は、この発明の実施の形態１に係る診断装置の構成例を示している。診断装置１０は、図１に示すように、半導体記憶装置（ＳＳＤ）２０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０、及び揮発性メモリ４０を備えている。
【００１３】
ＳＳＤ２０は、記憶媒体としてフラッシュメモリを用いている。ここでは、ＳＳＤ２０がＮＡＮＤフラッシュメモリ２２を用いる例を説明する。ＮＡＮＤフラッシュメモリ２２は記憶領域として複数の物理ブロックを備えており、ＳＳＤ２０の記憶領域はこれら複数の物理ブロックから構成されている。
【００１４】
ＣＰＵ３０は、予めＳＳＤ２０に記憶されている所定のプログラムを実行することにより、取得部３２、判定部３４、書き込み部３６、及び出力部３８として機能する。
【００１５】
取得部３２は、定期的（例えば一週間ごと）にＳｍａｒｔコマンドを発行し、ＳＳＤ２０からＮＡＮＤフラッシュメモリ２２における後天性不良ブロック数を取得する。後天性不良ブロックは、ＮＡＮＤフラッシュメモリ２２を構成する複数の物理ブロックのうち、ＳＳＤ２０の使用開始後に機械的な破損により不良となった物理ブロックである。取得部３２は、取得したＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数を揮発性メモリ４０内に構成された記憶部４２に記憶する。
【００１６】
判定部３４は、記憶部４２からＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数を読み出す。そして、判定部３４は、読み出したＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数に基づき、後天性不良ブロック数が当該後天性不良ブロック数の過去値に対して所定割合以上増加しているか否かを判定する。以下、後天性不良ブロック数が当該後天性不良ブロック数の過去値に対して所定割合以上増加しているか否かの判定を、「予知開始基準」に基づく判定と称する。予知開始基準については、後述する診断装置１０の動作例において詳しく説明する。
【００１７】
書き込み部３６は、判定部３４により後天性不良ブロック数が当該後天性不良ブロック数の過去値に対して所定割合以上増加している、すなわち予知開始基準を満たすと判定された場合に、ＮＡＮＤフラッシュメモリ２２を構成する複数の物理ブロックに対してダミーデータを書き込む。ダミーデータは、ＮＡＮＤフラッシュメモリ２２に含まれる潜在的な不良ブロックを抽出することを目的として書き込まれるもので、ＮＡＮＤフラッシュメモリ２２の各物理ブロックへの書き込みと読み出しが可能な内容であれば、その内容は限定されない。
【００１８】
ダミーデータの書き込みから所定期間（例えば一週間）経過後、取得部３２は、再度Ｓｍａｒｔコマンドを発行し、ＳＳＤ２０からダミーデータ書き込み後のＮＡＮＤフラッシュメモリ２２における後天性不良ブロック数を取得する。取得部３２は、取得したダミーデータ書き込み後の後天性不良ブロック数を記憶部４２に記憶する。
【００１９】
判定部３４は、記憶部４２からダミーデータ書き込み後のＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数を読み出す。そして、判定部３４は、読み出したダミーデータ書き込み後の後天性不良ブロック数が、当該後天性不良ブロック数の過去値に対して所定割合以上増加しているか否かを判定する。以下、ダミーデータ書き込み後の後天性不良ブロック数が当該後天性不良ブロック数の過去値に対して所定割合以上増加しているか否かの判定を、「アラーム出力基準」に基づく判定と称する。アラーム出力基準については、後述する診断装置１０の動作例において詳しく説明する。
【００２０】
出力部３８は、判定部３４によりダミーデータ書き込み後の後天性不良ブロック数が当該後天性不良ブロック数の過去値に対して所定割合以上増加している、すなわちアラーム出力基準を満たすと判定された場合に、アラームを出力する。
【００２１】
次に、実施の形態１に係る診断装置１０の動作例について、図２のフローチャートに基づき説明する。実施の形態１では、前述した予知開始基準及びアラーム出力基準に基づく判定の具体例として、一週間ごとに発行するＳｍａｒｔコマンドにより、後天性不良ブロック数と併せてＮＡＮＤフラッシュメモリ２２の消去回数を取得し、これらの値を用いて予知開始基準及びアラーム出力基準に基づく判定を行う例を説明する。
【００２２】
まず、取得部３２は、予め設定された時期になるとＳｍａｒｔコマンドを発行し、ＳＳＤ２０からＮＡＮＤフラッシュメモリ２２における後天性不良ブロック数とＮＡＮＤフラッシュメモリ２２の消去回数とを取得する（ステップＳＴ１）。取得部３２は、取得した後天性不良ブロック数と消去回数とを記憶部４２に記憶する。
【００２３】
次に、判定部３４は、記憶部４２からＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数と消去回数とを読み出し、これらの値を用いて予知開始基準に基づく判定を行う（ステップＳＴ２）。
【００２４】
予知開始基準について、図３を参照して詳述する。
図３は、ＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数と消去回数との関係を示すグラフである。このグラフにおいて、横軸は消去回数を示し、縦軸は後天性不良ブロック数を示している。ここで、ＮＡＮＤフラッシュメモリ２２の消去回数は、例えばＮＡＮＤフラッシュメモリ２２を構成する複数の物理ブロックごとの消去回数の平均値、または当該複数の物理ブロックごとの消去回数の合計値である。
【００２５】
横軸のＭａｘ（Ｅ）は、ＳＳＤ２０が寿命を迎えるＮＡＮＤフラッシュメモリ２２の消去回数である。すなわち、ＮＡＮＤフラッシュメモリ２２の消去回数がＭａｘ（Ｅ）に達するとＳＳＤ２０は寿命となる。以下、ＮＡＮＤフラッシュメモリ２２の消去回数がＭａｘ（Ｅ）に達することによる寿命を「消去回数による寿命」と称する。
【００２６】
縦軸のＭａｘ（Ｂ）は、ＳＳＤ２０が寿命を迎える後天性不良ブロック数である。すなわち、ＳＳＤ２０では、ＮＡＮＤフラッシュメモリ２２に後天性不良ブロックが発生すると、予め確保しておいた予備領域を代替領域としてデータを記憶する。したがって、予備領域に余剰がある間は後天性不良ブロックの発生を許容できるが、予備領域を使い果たしてしまうと後天性不良ブロックに代替する領域がなくなるため、それ以上の後天性不良ブロックの発生を許容することができなくなり、ＳＳＤ２０は寿命となる。以下、後天性不良ブロック数がＭａｘ（Ｂ）に達することによる寿命を「後天性不良ブロック数の増加による寿命」と称する。
【００２７】
図３のグラフには、後天性不良ブロック数及び消去回数の過去値として、取得部３２が所定期間前（例えば一週間前）に取得したＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数と消去回数とに対応する点Ｔ１がプロットされている。これに対し、判定部３４は、ステップＳＴ１で取得部３２が取得した後天性不良ブロック数と消去回数とに対応する点Ｔ２をプロットする。
【００２８】
そして、判定部３４は、点Ｔ１及び点Ｔ２より、ＮＡＮＤフラッシュメモリ２２の消去回数の増加に対する後天性不良ブロック数の増加の割合（Ｔ１とＴ２とを結ぶ線分の傾き）を算出し、この増加の割合から、後天性不良ブロック数がＭａｘ（Ｂ）に達する点Ｔ３を求め、予測値としてプロットする。
【００２９】
ここで、点Ｔ３の横軸方向の位置が、図３の直線Ｌ１に示すようにＭａｘ（Ｅ）よりも右側にある場合、すなわち消去回数による寿命の方が後天性不良ブロック数の増加による寿命よりも先に到来すると予測された場合、判定部３４は後天性不良ブロック数が所定割合以上増加していない、すなわち予知開始基準を満たしていない（正常）と判定する（ステップＳＴ３におけるＮＯ）。この場合、処理はステップＳＴ８に移り、所定期間（例えば一週間）待機した後ステップＳＴ１に戻り、再びＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数と消去回数とを取得する。
【００３０】
一方、点Ｔ３の横軸方向の位置が、図３の直線Ｌ２に示すようにＭａｘ（Ｅ）よりも左側にある場合、すなわち消去回数による寿命よりも後天性不良ブロック数の増加による寿命の方が先に到来すると予測された場合、判定部３４は後天性不良ブロック数が所定割合以上増加している、すなわち予知開始基準を満たしている（異常）と判定する（ステップＳＴ３におけるＹＥＳ）。この場合、処理はステップＳＴ４に移り、不良増加予知が開始される。
【００３１】
不良増加予知では、まず、書き込み部３６がダミーデータの書き込みの際に使用される使用可能領域（ＳＳＤ２０の記憶容量の数％程度）をシステム内で確保する。
【００３２】
次に、書き込み部３６は、ＮＡＮＤフラッシュメモリ２２を構成する複数の物理ブロックに対してダミーデータを書き込み、書き込んだダミーデータが正常に読み出せるかの認証（ベリファイ）を行う。認証に失敗した物理ブロックは、そのブロックに機械的な破損等の異常が発生したとみなされて後天性不良ブロックとなる。
【００３３】
ダミーデータの書き込みは、できるだけ多くの物理ブロックに書き込まれると後天性不良ブロックを広範囲で抽出できるので望ましい。例えば、ウェアレベリングによりＮＡＮＤフラッシュメモリ２２のすべての物理ブロックに対してダミーデータが書き込まれるようにするとよい。その場合、すべての物理ブロックにダミーデータが書き込まれたか否かは、例えばダミーデータの書き込み前後におけるＮＡＮＤフラッシュメモリ２２の消去回数の増分に基づいて判断すればよい。
【００３４】
これにより、ＮＡＮＤフラッシュメモリ２２で既に使用されている物理ブロックだけでなく、未だ使用されていない未使用の物理ブロックに対しても広くダミーデータが書き込まれる。したがって、仮に未使用の物理ブロックに潜在的な不良ブロックが存在する場合でも、当該不良ブロックに対するダミーデータの書き込み及び読み出しを行うことで、当該不良ブロックを後天性不良ブロックとして抽出することができる。
【００３５】
ダミーデータの書き込みから所定期間（例えば一週間）経過後、判定部３４は、アラーム出力基準に基づく判定を行う（ステップＳＴ５）。
【００３６】
アラーム出力基準は、基本的には前述した予知開始基準と同じ考え方に基づいている。すなわち、取得部３２はステップＳＴ４でダミーデータが書き込まれてから所定期間（例えば一週間）経過後にＳｍａｒｔコマンドを発行し、ＳＳＤ２０からダミーデータ書き込み後の後天性不良ブロック数と消去回数とを取得する。取得部３２は、取得したダミーデータ書き込み後の後天性不良ブロック数と消去回数とを記憶部４２に記憶する。
【００３７】
次に、判定部３４は、図３で説明した予知開始基準に基づく判定と同様に、記憶部４２からダミーデータ書き込み後の後天性不良ブロック数と消去回数とを読み出し、これらの値に対応する点Ｔ２と点Ｔ１とにより、ＮＡＮＤフラッシュメモリ２２の消去回数の増加に対する後天性不良ブロック数の増加の割合を算出する。そして、判定部３４はこの増加の割合から、後天性不良ブロック数がＭａｘ（Ｂ）に達する点Ｔ３を求める。
【００３８】
その結果、消去回数による寿命の方が後天性不良ブロック数の増加による寿命よりも先に到来すると予測された場合、判定部３４は後天性不良ブロック数が所定割合以上増加していない、すなわちアラーム出力基準を満たしていない（正常）と判定する（ステップＳＴ６におけるＮＯ）。この場合、処理はステップＳＴ８に移り、所定期間（例えば一週間）待機した後ステップＳＴ１に戻り、再びＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数と消去回数とを取得する。
【００３９】
一方、消去回数による寿命よりも後天性不良ブロック数の増加による寿命の方が先に到来すると予測された場合、判定部３４は後天性不良ブロック数が所定割合以上増加している、すなわちアラーム出力基準を満たしている（異常）と判定する（ステップＳＴ６におけるＹＥＳ）。そして、ステップＳＴ７において、出力部３８がアラームを出力して処理を終了する。
【００４０】
アラームは、音声出力や画面表示、ネットワークを介したメール送信など種々の態様が考えられるが、診断装置１０の管理者に通知できる態様であればどのようなものでもよい。管理者は、アラームにより、ＮＡＮＤフラッシュメモリ２２において後天性不良ブロック数の増加が著しいことを確実に把握することができ、例えばＳＳＤ２０の交換などの対応が可能となる。
【００４１】
以上のように、実施の形態１によれば、診断装置１０は、ＮＡＮＤフラッシュメモリ２２における後天性不良ブロック数を取得する取得部３２と、取得部３２で取得された後天性不良ブロック数に基づき、後天性不良ブロック数が当該後天性不良ブロック数の過去値に対して所定割合以上増加しているか否かを判定する判定部３４と、判定部３４により後天性不良ブロック数が所定割合以上増加していると判定された場合に、ＮＡＮＤフラッシュメモリ２２を構成する複数の物理ブロックに対してダミーデータを書き込む書き込み部３６とを備える。取得部３２は、ダミーデータの書き込み後のＮＡＮＤフラッシュメモリ２２における後天性不良ブロック数を取得し、判定部３４は、ダミーデータの書き込み後における後天性不良ブロック数が過去値に対して所定割合以上増加しているか否かを判定する。これにより、診断装置１０では、ＮＡＮＤフラッシュメモリ２２が寿命となる時期が想定よりも早いかを診断することができる。
【００４２】
また、診断装置１０は、判定部３４によりダミーデータの書き込み後における後天性不良ブロック数が所定割合以上増加していると所定回数以上判定された場合にアラームを出力する出力部３８を備える。これにより、管理者は、ＮＡＮＤフラッシュメモリ２２において後天性不良ブロック数の増加が著しいことを確実に把握することができ、ＳＳＤ２０を交換するなどしてＳＳＤ２０が突然使用できなくなる事態を回避することができる。
【００４３】
また、診断装置１０では、取得部３２が後天性不良ブロック数とともにＮＡＮＤフラッシュメモリ２２の消去回数を取得し、判定部３４は、取得部３２で取得された後天性不良ブロック数及びＮＡＮＤフラッシュメモリ２２の消去回数と、後天性不良ブロック数の過去値及びＮＡＮＤフラッシュメモリ２２の消去回数の過去値とに基づき、後天性不良ブロック数の増加による寿命がＮＡＮＤフラッシュメモリ２２の消去回数による寿命よりも早く到来すると予測した場合に、後天性不良ブロック数が所定割合以上増加していると判定する。これにより、診断装置１０では、ＮＡＮＤフラッシュメモリ２２が後天性不良ブロック数の増加により寿命となる時期が想定よりも早いかを消去回数による寿命との関係において診断することができる。
【００４４】
また、診断装置１０では、ＮＡＮＤフラッシュメモリ２２の消去回数は、ＮＡＮＤフラッシュメモリ２２を構成する複数の物理ブロックごとの消去回数の平均値、または当該複数の物理ブロックごとの消去回数の合計値である。これにより、診断装置１０では、ＮＡＮＤフラッシュメモリ２２が後天性不良ブロック数の増加により寿命となる時期が想定よりも早いかを物理ブロックごとの消去回数の平均値または合計値との関係において診断することができる。
【００４５】
また、診断装置１０では、予知開始基準を満たすと判定された場合にのみ、ＮＡＮＤフラッシュメモリ２２の複数の物理ブロックに対してダミーデータが書き込まれる。これにより、診断装置１０では、予知開始基準を満たさない場合にダミーデータを書き込んでしまい、ＮＡＮＤフラッシュメモリ２２の消去回数をいたずらに消費してしまうことを回避できる。
【００４６】
なお、実施の形態１では、取得部３２が一度取得した後天性不良ブロック数と消去回数とに基づき、予知開始基準及びアラーム出力基準を満たすか否かを判定したが、例えばＳｍａｒｔコマンドを複数回発行してＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数を複数回取得し、それらの平均値と、後天性不良ブロック数の過去値とに基づいて、予知開始基準及びアラーム出力基準を満たすか否かを判定するようにしてもよい。これにより、後天性不良ブロック数の瞬間的な増加をとらえて予知開始基準及びアラーム出力基準を満たすと判定してしまうことを回避することができる。
【００４７】
または、判定部３４による予知開始基準及びアラーム出力基準に基づく判定を複数回行い、基準を満たすと所定回数以上判定された場合にのみ、真に各基準を満たすと判定するようにしてもよい。この場合でも、後天性不良ブロック数の瞬間的な増加をとらえて予知開始基準及びアラーム出力基準を満たすと判定してしまうことを回避できる。
【００４８】
また、実施の形態１では、取得部３２が一週間ごとに発行するＳｍａｒｔコマンドによりＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数と消去回数とを取得する例を説明したが、取得部３２は少なくとも後天性不良ブロック数を取得していれば消去回数は必ずしも取得しなくともよい。また、Ｓｍａｒｔコマンドの発行は一週間ごとに限らず、例えば一か月ごとでもよい。
また、実施の形態１では、図３のグラフの横軸を消去回数とする場合について説明したが、横軸の尺度としてはこれに限らない。例えば、ＳＳＤ２０の使用開始からの経過時間に基づいてＳＳＤ２０の寿命が予測できる場合、横軸をＳＳＤ２０の使用開始からの経過時間としてもよい。
【００４９】
また、実施の形態１では、フラッシュメモリとしてＮＡＮＤフラッシュメモリ２２を例に説明したが、フラッシュメモリとしてはこれに限らず、例えばＮＯＲフラッシュメモリであってもよい。
【００５０】
実施の形態２．
次に、この発明の実施の形態２に係る二重化システムについて、図４を参照して説明する。
【００５１】
二重化システムは、例えばビルの熱源管理、空調管理等を行う施設監視システムにおいて、ビル内に敷設される各種デバイスの監視及び各種デバイスからのデータ収集等を行う中央制御装置（コントローラ）に適用される。コントローラは、ひとたびダウンすると影響が広範囲に及ぶため、同一の構成からなるコントローラを２台接続し、少なくともいずれか一方のコントローラが稼働できるように冗長化しておくことが好ましい。
【００５２】
図４に示すように、二重化システム１００は、現用系の装置１０Ａ及び待機系の装置１０Ｂから構成される。装置１０Ａ及び１０Ｂは、システムバス１５０を介して相互に通信可能に接続されており、信号を送受信し合うことで互いの稼働状態を随時確認している。また、装置１０Ａ及び１０Ｂは、システムバス１５０を介してビル内に敷設されている管理対象の機器（デバイス）２００とも通信可能に接続されており、システムバス１５０を介して各種デバイス２００の稼働状態の監視やデータの収集等の同一の処理を実行する。
【００５３】
装置１０Ａ及び１０Ｂは、実施の形態１で説明した診断装置１０と同一の構成を備えている。すなわち、装置１０Ａ及び１０Ｂは、半導体記憶装置（ＳＳＤ）２０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０、及び揮発性メモリ４０を備えている。ＳＳＤ２０は、記憶媒体としてＮＡＮＤフラッシュメモリ２２を用いている。ＣＰＵ３０は、予めＳＳＤ２０に記憶されている所定のプログラムを実行することにより、取得部３２、判定部３４、書き込み部３６、及び出力部３８として機能する。
【００５４】
次に、二重化システム１００の動作例について、図５を参照して説明する。
図５Ａにおいて、１０Ａは現在稼働している現用系（アクティブ）の装置であり、１０Ｂは装置１０Ａの不具合に備えて待機している待機系（スタンバイ）の装置である。
【００５５】
装置１０Ａ及び１０Ｂでは、取得部３２が定期的（例えば一週間ごと）にＳｍａｒｔコマンドを発行し、ＳＳＤ２０からＮＡＮＤフラッシュメモリ２２の後天性不良ブロック数と消去回数とを取得する。そして、装置１０Ａ及び装置１０Ｂでは、判定部３４において、取得部３２により取得された後天性不良ブロック数及び消去回数と、後天性不良ブロック数の過去値及び消去回数の過去値とに基づき、ＮＡＮＤフラッシュメモリ２２の消去回数の増加に対する後天性不良ブロック数の増加の割合を算出し、後天性不良ブロック数が所定割合以上増加しているか否か、すなわち予知開始基準を満たしているか否かを判定する。ここでは図５Ｂに示すように、現用系の装置１０Ａにおいて予知開始基準を満たしていると判定されたとする。
【００５６】
すると、二重化システム１００では図５Ｃに示すように、現用系の装置１０Ａが強制的に待機系（スタンバイ）に切り替えられるとともに、待機系の装置１０Ｂが現用系（アクティブ）に切り替わる。
【００５７】
その後、待機系に切り替えられた装置１０Ａでは、書き込み部３６が前述の要領でＮＡＮＤフラッシュメモリ２２を構成する複数の物理ブロックに対してダミーデータを書き込み、書き込んだダミーデータを正常に読み出せるか否かの認証（ベリファイ）を行う。
【００５８】
そして、装置１０Ａでは、取得部３２がダミーデータ書き込み後の後天性不良ブロック数と消去回数とをＳＳＤ２０から取得する。そして、判定部３４がダミーデータ書き込み後の後天性不良ブロック数と消去回数とに基づいて、後天性不良ブロック数が所定割合以上増加しているか否か、すなわちアラーム出力基準を満たしているか否かを判定する。判定部３４にてアラーム出力基準を満たしていると判定された場合、図５Ｄに示すように出力部３８がアラームを出力する。装置１０Ａからのアラームを確認した二重化システム１００の管理者は、装置１０ＡのＳＳＤ２０を交換するなどの必要な処置を行う。
【００５９】
なお、図５Ｂにおいて、待機系の装置１０Ｂが予知開始基準を満たしたと判定した場合は、装置１０Ａを現用系（アクティブ）、装置１０Ｂを待機系（スタンバイ）に維持したまま、装置１０ＢにてＮＡＮＤフラッシュメモリ２２の複数の物理ブロックにダミーデータを書き込む。そして、装置１０Ｂがアラーム出力基準を満たしたと判定した場合、装置１０Ｂからアラームを出力する。
【００６０】
このように、実施の形態２によれば、二重化システム１００は、現用系の装置１０Ａ及び待機系の装置１０Ｂで構成され、各装置は、ＮＡＮＤフラッシュメモリ２２における後天性不良ブロック数を取得する取得部３２と、取得部３２で取得された後天性不良ブロック数が後天性不良ブロック数の過去値に対して所定割合以上増加しているか否かを判定する判定部３４と、後天性不良ブロック数が所定割合以上増加していると判定された場合に、ＮＡＮＤフラッシュメモリ２２を構成する複数の物理ブロックに対してダミーデータを書き込む書き込み部３６とを備える。
【００６１】
そして、現用系の装置１０Ａにおいて、取得部３２で取得された後天性不良ブロック数が、当該後天性不良ブロック数の過去値に対して所定割合以上増加していると判定された場合、現用系の装置１０Ａが待機系に切り替わるとともに、待機系の装置１０Ｂが現用系に切り替わる。
【００６２】
そして、待機系に切り替わった装置１０Ａにおいて、書き込み部３６がＮＡＮＤフラッシュメモリ２２を構成する複数の物理ブロックに対してダミーデータを書き込み、取得部３２がダミーデータ書き込み後の後天性不良ブロック数と消去回数とを取得し、判定部３４が、ダミーデータ書き込み後の後天性不良ブロック数が過去値に対して所定割合以上増加しているか否かを判定する。これにより、二重化システム１００では、特に安定した稼働が求められる現用系の装置１０Ａにおいて、ＮＡＮＤフラッシュメモリ２２の寿命となる時期が想定よりも早いかを診断することができる。
【００６３】
また、現用系の装置１０Ａにおいて予知開始基準を満たす、すなわち後天性不良ブロック数の増加によりＮＡＮＤフラッシュメモリ２２が寿命となる時期が想定よりも早いと判定された場合、待機系の装置１０Ｂが装置１０Ａに代わって現用系として稼働する。これにより、二重化システム１００では全体として正常な稼働が継続するため、システムの信頼性が向上する。
【００６４】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００６５】
１０  診断装置
１０Ａ  現用系の装置
１０Ｂ  待機系の装置
２０  半導体記憶装置（ＳＳＤ）
２２  ＮＡＮＤフラッシュメモリ
３０  ＣＰＵ
３２  取得部
３４  判定部
３６  書き込み部
３８  出力部
４０  揮発性メモリ
４２  記憶部
１００  二重化システム
１５０  システムバス
２００  デバイス
【図１】
2020177715.tif 000003
【図２】
2020177715.tif 000004
【図３】
2020177715.tif 000005
【図４】
2020177715.tif 000006
【図５】
2020177715.tif 000007