(57)【要約】      （修正有）【課題】既に書込みデータが存在する使用可能なＳＳＤ同士の保守交換可能とする。【解決手段】情報記憶装置は、フラッシュメモリを含み、各々が交換可能な単位である複数のフラッシュモジュールと、前記複数のフラッシュモジュールのうち、書き込み済みデータ量が最も少ない第一のフラッシュモジュールに優先的にデータを書き込む、フラッシュコントローラと、を含む第一のＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）ユニットと、前記第一のＳＳＤユニットの代替用の第二のＳＳＤユニットに接続し、前記第二のＳＳＤユニットにおける書き込み済みデータ量が、前記第一のＳＳＤユニットのそれに比べ少なくなるように、前記第二のＳＳＤユニットにおける交換対象のフラッシュモジュールの最小の数量を算出する、制御手段と、を包含する。【選択図】図１
2015135586.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリを含み、各々が交換可能な単位である複数のフラッシュモジュールと、
前記複数のフラッシュモジュールのうち、書き込み済みデータ量が最も少ない第一のフラッシュモジュールに優先的にデータを書き込む、フラッシュコントローラと、
を含む第一のＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）ユニットと、
前記第一のＳＳＤユニットの代替用の第二のＳＳＤユニットに接続し、前記第二のＳＳＤユニットにおけるフラッシュモジュールへの書き込み済みデータ量が、前記第一のＳＳＤユニットのそれに比べ少なくなるように、前記第二のＳＳＤユニットにおける交換対象の前記フラッシュモジュールの最小の数量を算出する、制御手段と、を包含する、情報記憶装置。
【請求項２】
前記第一のＳＳＤユニット、及び、前記第二のＳＳＤユニットの前記書き込み済みデータ量を格納する、書込みデータ量格納手段を更に備え、
前記制御手段が、前記書込みデータ量格納手段に格納された前記書き込み済みデータ量を基に、前記書き込み済みのデータ量が、前記第一のＳＳＤユニットに比べ、前記第二のＳＳＤユニットで少なくなるように、前記第二のＳＳＤユニットで前記交換対象の前記フラッシュモジュールの前記最小の数量を算出する、請求項１記載の情報記憶装置。
【請求項３】
前記フラッシュコントローラが、前記第一のフラッシュモジュールにおけるデータ量が他の第二のフラッシュモジュールにおける各書き込み済みデータ量のうちの最小値を超えるまで、または同じになるまで、前記第一のフラッシュモジュールに優先的にデータを書き込む、請求項１または２記載の情報記憶装置。
【請求項４】
請求項１乃至請求項３のいずれかの情報記憶装置と、
前記ＳＳＤ装置へアクセスする、ホスト装置と、を包含する、情報処理システム。
【請求項５】
フラッシュメモリを含み、各々が交換可能な単位である複数のフラッシュモジュールと、前記複数のフラッシュモジュールのうち、書き込み済みデータ量が最も少ない第一のフラッシュモジュールに優先的にデータを書き込む、フラッシュコントローラと、を含む第一のＳＳＤユニットと、前記第一のＳＳＤユニットの代替用の第二のＳＳＤユニットに接続し、
前記第二のＳＳＤユニットにおける書き込み済みデータ量が、前記第一のＳＳＤユニットのそれに比べ少なくなるように、前記第二のＳＳＤユニットにおける交換対象のフラッシュモジュールの最小の数量を算出する、方法。
【請求項６】
前記第一のＳＳＤユニット、及び、前記第二のＳＳＤユニットの前記書き込み済みデータ量を格納し、
格納された前記書き込み済みデータ量を基に、前記書き込み済みのデータ量が、前記第一のＳＳＤユニットに比べ、前記第二のＳＳＤユニットで少なくなるように、前記第二のＳＳＤユニットで前記交換対象の前記フラッシュモジュールの前記最小の数量を算出する、請求項５記載の方法。
【請求項７】
前記フラッシュコントローラが、前記第一のフラッシュモジュールにおけるデータ量が他の第二のフラッシュモジュールにおける各書き込み済みデータ量のうちの最小値を超えるまで、または同じになるまで、前記第一のフラッシュモジュールに優先的にデータを書き込む、請求項５または６記載の方法。
【請求項８】
フラッシュメモリを含み、各々が交換可能な単位である複数のフラッシュモジュールと、前記複数のフラッシュモジュールのうち、書き込み済みデータ量が最も少ない第一のフラッシュモジュールに優先的にデータを書き込む、フラッシュコントローラと、を含む第一のＳＳＤユニットと、前記第一のＳＳＤユニットの代替用の第二のＳＳＤユニットに接続する処理と、
前記第二のＳＳＤユニットにおける書き込み済みデータ量が、前記第一のＳＳＤユニットのそれに比べ少なくなるように、前記第二のＳＳＤユニットにおける交換対象のフラッシュモジュールの最小の数量を算出する処理と、をコンピュータに実行させるプログラム。
【請求項９】
前記第一のＳＳＤユニット、及び、前記第二のＳＳＤユニットの前記書き込み済みデータ量を格納する処理と、
格納された前記書き込み済みデータ量を基に、前記書き込み済みのデータ量が、前記第一のＳＳＤユニットに比べ、前記第二のＳＳＤユニットで少なくなるように、前記第二のＳＳＤユニットで前記交換対象の前記フラッシュモジュールの前記最小の数量を算出する処理と、をコンピュータに実行させる請求項８のプログラム。
【請求項１０】
前記フラッシュコントローラが、前記第一のフラッシュモジュールにおけるデータ量が他の第二のフラッシュモジュールにおける各書き込み済みデータ量のうちの最小値を超えるまで、または同じになるまで、前記第一のフラッシュモジュールに優先的にデータを書き込む、請求項８または９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報記憶装置、方法、及び、そのためのプログラムに関する。
【背景技術】
【０００２】
特許文献１は、フラッシュメモリを使用したドライブ装置に外部メモリを実装するメモリスロットを設けた情報記憶装置を開示する。また、特許文献1は、そのメモリスロットに、着脱可能なフラッシュメモリを実装し、ドライブ装置の書き換え制限回数を向上する技術について記載している。
【０００３】
特許文献２は、半導体メモリで構成する半導体メモリユニットの活線保守を行うことが可能な半導体メモリの交換技術について記載している。
【０００４】
特許文献３は、フラッシュメモリを用いたストレージの寿命を予測する技術について記載している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１４０３４２号公報
【特許文献２】特開平０７−３２５６７４号公報
【特許文献３】特開２００９−２３０６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記文献の技術を用いた情報記憶装置は、フラッシュメモリを用いたＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を使用し、ＳＳＤを分割して交換可能な構造にしている。しかし、交換可能な対象は、故障もしくは寿命に達したＳＳＤであり、既に書込みデータが存在する使用可能なＳＳＤ同士の保守交換は考慮されていない、という課題がある。
【０００７】
特許文献１は、本体のフラッシュメモリとは別に、外部メモリにフラッシュメモリを実装し着脱可能にしているが、既に書込みデータが存在する使用可能なＳＳＤ同士の保守交換は考慮されていない。
【０００８】
特許文献２は、半導体メモリの交換技術（半導体メモリユニットの活線保守）について記載しているが、既に書込みデータが存在する使用可能なＳＳＤ同士の保守交換は考慮されていない。
【０００９】
特許文献３は、フラッシュメモリの寿命の予測について記載しているが、寿命に達したフラッシュメモリを交換することが目的であり、既に書込みデータが存在する使用可能なＳＳＤ同士の保守交換は考慮されていない。
【００１０】
本発明の目的は、保守時のＳＳＤの交換による書き込み可能なデータ量の減少を防止し、既に書き込みデータが存在するＳＳＤも交換に使用することを可能にすることである。
【課題を解決するための手段】
【００１１】
本発明の情報記憶装置は、フラッシュメモリを含み、各々が交換可能な単位である複数のフラッシュモジュールと、前記複数のフラッシュモジュールのうち、書き込み済みデータ量が最も少ない第一のフラッシュモジュールに優先的にデータを書き込む、フラッシュコントローラと、を含む第一のＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）ユニットと、前記第一のＳＳＤユニットの代替用の第二のＳＳＤユニットに接続し、前記第二のＳＳＤユニットにおける書き込み済みデータ量が、前記第一のＳＳＤユニットのそれに比べ少なくなるように、前記第二のＳＳＤユニットにおける交換対象のフラッシュモジュールの最小の数量を算出する、制御手段と、を包含する。
【００１２】
本発明の方法は、フラッシュメモリを含み、各々が交換可能な単位である複数のフラッシュモジュールと、前記複数のフラッシュモジュールのうち、書き込み済みデータ量が最も少ない第一のフラッシュモジュールに優先的にデータを書き込む、フラッシュコントローラと、を含む第一のＳＳＤユニットと、前記第一のＳＳＤユニットの代替用の第二のＳＳＤユニットに接続し、前記第二のＳＳＤユニットにおける書き込み済みデータ量が、前記第一のＳＳＤユニットのそれに比べ少なくなるように、前記第二のＳＳＤユニットにおける交換対象のフラッシュモジュールの最小の数量を算出する。
【００１３】
本発明のコンピュータプログラムは、フラッシュメモリを含み、各々が交換可能な単位である複数のフラッシュモジュールと、前記複数のフラッシュモジュールのうち、書き込み済みデータ量が最も少ない第一のフラッシュモジュールに優先的にデータを書き込む、フラッシュコントローラと、を含む第一のＳＳＤユニットと、前記第一のＳＳＤユニットの代替用の第二のＳＳＤユニットに接続する処理と、前記第二のＳＳＤユニットにおける書き込み済みデータ量が、前記第一のＳＳＤユニットのそれに比べ少なくなるように、前記第二のＳＳＤユニットにおける交換対象のフラッシュモジュールの最小の数量を算出する処理と、をコンピュータに実行させる。
【発明の効果】
【００１４】
本発明によれば、保守時のＳＳＤの交換による書き込み可能なデータ量の減少を防止し、既に書き込みデータが存在するＳＳＤも交換に使用することを可能にする。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の第一の実施形態に係る、情報処理システムの構成の一例を示すブロック図である。
【図２】図２は、フラッシュモジュールの一つを書き込みが行われていないものに交換した場合の書込み済みのデータ量の変化の第１の例を示す。
【図３】図３は、フラッシュモジュールの一つを書き込みが行われていないものに交換した場合の書込み済みのデータ量の変化の第２の例を示す。
【図４】図４は、フラッシュモジュールの一つを書き込みが行われていないものに交換した場合の書込み済みのデータ量の変化の第３の例を示す。
【図５】図５は、フラッシュモジュールの一つを書き込みが行われていないものに交換した場合の書込み済みのデータ量の変化の第４の例を示す。
【図６】図６は、フラッシュコントローラの動作の一例を示すフローチャートである。
【図７】図７は、ＳＳＤユニットの交換のための制御部の動作の一例について説明するための図である。
【図８】図８は、制御部の動作を示すフローチャートである。
【図９】図９は、第二の実施形態に係る、ＳＳＤ装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１６】
発明を実施するための第一の形態について、図面を参照して詳細に説明する。
【００１７】
図１は、本発明の第一の実施形態に係る、情報処理システム４０の構成の一例を示すブロック図である。
【００１８】
情報処理システム４０は、ＳＳＤ装置２０、及び、ホスト装置３０を包含する。
【００１９】
ＳＳＤ装置２０は、ＳＳＤユニット１０−Ａ、１０−Ｂ、制御部２１、書込みデータ量格納部２２、及び、表示部２３を包含する。ＳＳＤ装置２０は、本発明に係わる情報記憶装置の一実施形態である。ＳＳＤユニット１０−Ａ、１０−Ｂは、説明のためにＳＳＤユニット１０とも記載する。
【００２０】
ＳＳＤユニット１０は、フラッシュモジュール１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄおよび書込みカウンタ１２−Ａ、１２−Ｂ、１２−Ｃ、１２−Ｄを含む。フラッシュモジュール１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄおよび書込みカウンタ１２−Ａ、１２−Ｂ、１２−Ｃ、１２−Ｄは、それぞれ説明のためにフラッシュモジュール１１および書込みカウンタ１２とも記載する。さらに、ＳＳＤユニット１０は、フラッシュコントローラ１３、インタフェース部１４、及び、キャッシュメモリ１５を包含する。
【００２１】
なお、ＳＳＤユニット１０は、同一構成の２台、すなわちＳＳＤユニット１０−Ａ及びＳＳＤユニット１０−Ｂにより構成されるが、その個数は２台に限定されるものではない。
【００２２】
フラッシュモジュール１１は、書き込みデータを書き込む。また、フラッシュモジュール１１は、フラッシュメモリ等のＳＳＤで構成される記憶装置である。
【００２３】
書き込みカウンタ１２は、各々のフラッシュモジュール１１におけるデータの書き込み回数を格納する。書き込みカウンタ１２は、半導体メモリ等の記憶装置でもよい。
【００２４】
なお、フラッシュモジュール１１は、同一構成の複数のフラッシュモジュール１１により構成される。本実施形態では、４台のフラッシュモジュール１１、すなわち、フラッシュモジュール１１−Ａ、フラッシュモジュール１１−Ｂ、フラッシュモジュール１１−Ｃ、及び、フラッシュモジュール１１−Ｄによる構成を例に説明するが、その個数は４台に限定されるものではない。
【００２５】
また、書き込みカウンタ１２についても同様に、書き込みカウンタ１２−Ａ、書き込みカウンタ１２−Ｂ、書き込みカウンタ１２−Ｃ、及び、書き込みカウンタ１２−Ｄによる構成を例に説明するが、その個数は４つに限定されるものではない。
【００２６】
フラッシュコントローラ１３は、フラッシュモジュール１１にデータを書き込む。フラッシュコントローラ１３は、ＳＳＤユニット１０の内部バスを通じて、インタフェース部１４とキャッシュメモリ１５に接続される。
【００２７】
インタフェース部１４は、上位の制御部２１に接続し、フラッシュコントローラ１３とのデータの送受信を行う。
【００２８】
キャッシュメモリ１５は、フラッシュモジュール１１に書き込まれる書き込みデータを一時的に格納する。キャッシュメモリ１５は、半導体メモリで構成される。
【００２９】
制御部２１は、各ＳＳＤユニット１０に接続し、各書き込みカウンタ１２の数値、及び、それら数値を合計した値であり、各ＳＳＤユニット１０での書き込み済みデータ量の合計値を受け取る。さらに、制御部２１は、それら数値及び書き込み済みデータ量の合計値を書込みデータ量格納部２２に格納する。
【００３０】
書込みデータ量格納部２２は、各書き込みカウンタ１２の数値（後述の書き込み回数）、及び、各ＳＳＤユニット１０での書き込み済みデータ量の合計値を格納する。書き込みデータ量格納部２２は、ディスク装置、半導体メモリ等の記憶装置である。
【００３１】
表示部２３は、制御部２１の算出した結果を表示する。表示部２３は、例えば、ディスプレイで構成される。
【００３２】
ホスト装置３０は、ＳＳＤ装置２０と接続し、ＳＳＤ装置２０へアクセスする。
【００３３】
ところで、各ＳＳＤユニット１０では、使用されているフラッシュメモリ（以下、単に「フラッシュ」とも言う）が、複数のフラッシュモジュール１１に分割される。
【００３４】
ここで、フラッシュは、その特性上、書き込み回数の上限が決められている。そのため、フラッシュコントローラ１３は、各々のフラッシュモジュール１１で書き込みが行われる回数が均等になるように分散してデータの書き込みを行う。この均等に分散して書込みを行う機能は、ウェアレベリングと呼ばれている。
【００３５】
書き込みカウンタ１２は、ウェアレベリングを実施するために備えたデバイスであり、各々のフラッシュモジュール１１の書き込みカウンタ１２は、各々を構成するフラッシュにおける書込み回数を格納する。
【００３６】
また、フラッシュコントローラ１３は、フラッシュへ書込みを行うたびに、そのフラッシュが属しているフラッシュモジュール１１に対応する書き込みカウンタ１２の情報（書き込み回数）もアップデート（カウントアップ）する。
【００３７】
フラッシュコントローラ１３は、新たなデータを書き込む際には、書き込みカウンタ１２の情報を読み取って確認し、最も書き込み回数が少ないフラッシュモジュール１１へデータの書き込みを実施する。この機能（ウェアレベリング）により、各フラッシュモジュール１１に対する書き込み回数は、平準化される。
【００３８】
また、フラッシュモジュール１１全体の書き込み回数は、書き込みカウンタ１２に格納されている書き込み回数の総和となる。制御部２１は、インタフェース回路１４を介して、その総和を定期的に読み出し、書き込みデータ量格納部２２に書き込み済みデータ量として格納しておく。
【００３９】
ここで、フラッシュコントローラ１３、インタフェース部１４、及び、制御部２１は、論理回路等のハードウェアで構成される。
【００４０】
また、フラッシュコントローラ１３、インタフェース部１４、及び、制御部２１は、コンピュータである情報処理システム４０のプロセッサが、図示されないメモリ上のプログラムを実行することで実現されてもよい。
【００４１】
なお、各ＳＳＤユニット１０、及び、各フラッシュモジュール１１は、交換単位であるＦＲＵ（Ｆｉｅｌｄ  Ｒｅｐｌａｃｅａｂｌｅ  Ｕｎｉｔ）とする。
【００４２】
図２、図３、図４、及び、図５は、フラッシュモジュール１１の一つを、書き込みが行われていないものに交換した場合の書き込み済みデータ量の変化の一例（第１乃至第４の例）を示す図である。
【００４３】
まず、図２に示す第１の例では、書き込みデータは、ウェアレベリングにより、各フラッシュモジュール１１に均等に書き込まれている。
【００４４】
なお、フラッシュモジュール１１の数量は、例えば、「４」を仮定し、以下の説明では、この値を用いる。
【００４５】
したがって、フラッシュモジュール１１全体で書込みデータ量「a」まで書き込んでいる場合、各々のフラッシュモジュール１１には、データ量が「ａ／４」のデータが書き込まれることになる。
【００４６】
なお、書き込みデータのサイズの最小の単位によっては、厳密には、「ａ／４」に比べ、多少の値の差異が発生する場合も考えられるが、以下では、各々のフラッシュモジュール１１のデータ量が全て「ａ／４」として説明する。
【００４７】
次に、図３に示すように、図２の状態で、ＦＲＵとなっているフラッシュモジュール１１の１つ、例えば、フラッシュモジュール１１−Ａが、書き込みが行われていないもの（書き込みカウンタ１２−Ａの値が「０」）に交換されたと仮定する。この場合、フラッシュモジュール１１全体の書き込み済みのデータ量は、「ａ×３／４」に減少する。
【００４８】
次に、図４に示すように、図３の状態で、フラッシュモジュール１１に書き込みが行われると仮定する。この場合、書き込みカウンタ１２−Ａの値は他の書き込みカウンタ１２の値よりも少ないため、フラッシュコントローラ１３は、しばらくは優先的にフラッシュモジュール１１−Ａ（第一のフラッシュモジュールとも言う）への書込みを行う。フラッシュモジュール１１−Ａの書き込みデータ量は、「ｂ」であるとする。
【００４９】
さらに、図５に示すように、書き込みカウンタ１２−Ａの値が他の書き込みカウンタ１２（第二のフラッシュモジュールとも言う）と同じになった（ｂ＝ａ／４）以降は、フラッシュコントローラ１３は、図２のように各フラッシュモジュール１１に平準化してデータを書き込む。
【００５０】
図６は、フラッシュコントローラ１３の動作の一例を示すフローチャートである。
【００５１】
まず、フラッシュコントローラ１３は、ウェアレベリングにより、各フラッシュモジュール１１に均等にデータを書き込む（ステップＳ０１）。フラッシュモジュール１１全体で「ａ」まで書き込んでいる場合、各々のフラッシュモジュール１１には、「ａ／４」のデータが書き込まれている。
【００５２】
次に、この状態で、ＦＲＵとなっているフラッシュモジュール１１の１つを書き込みが行われたことのないフラッシュモジュール１１（フラッシュモジュール１１−Ａ）に交換する（ステップＳ０２）。この場合、フラッシュモジュール１１全体の書き込み済みのデータ量は、「ａ×３／４」に減少する。
【００５３】
さらに、この状態で、フラッシュモジュール１１−Ａに書き込みを行う場合、書き込みカウンタ１２−Ａの値は他の書き込みカウンタ１２の値よりも少ないため、フラッシュコントローラ１３は、しばらくは優先的にフラッシュモジュール１１−Ａへの書き込みを行う（ステップＳ０３）。
【００５４】
また、書き込みカウンタ１２−Ａの値が他の書き込みカウンタ１２と同じになった（ｂ＝ａ／４）以降は、フラッシュコントローラ１３は、元のように各フラッシュモジュール１１に平準化してデータを書き込む（ステップＳ０４）。
【００５５】
図７は、ＳＳＤユニット１０の交換のための制御部２１の動作の一例について説明するための図である。
【００５６】
ＳＳＤユニット１０（交換前のＳＳＤユニット１０−Ａ）を交換する必要が生じた場合には、別のＳＳＤユニット１０（代替用のＳＳＤユニット１０−Ｂ）が交換部材として使用される。
【００５７】
ここで、ＳＳＤユニット１０に使用されているフラッシュメモリは、その特性上、書込み回数の制限が明確に決められている。
【００５８】
また、フラッシュメモリを使用したＳＳＤは高価であり、保守時には、書き込み済みの部材を交換しながら使用する場合がある。
【００５９】
したがって、保守などの目的でＳＳＤユニット１０を交換する際に、交換前に比べて、残っている書き込み可能な回数を減らさないようにするためには、書き込み済みの回数が少ない代替用のＳＳＤユニット１０−Ｂを用意しておく必要がある。
【００６０】
本発明の実施形態では、使用しているＳＳＤユニット１０を交換する場合、ＳＳＤユニット１０に使用しているフラッシュメモリ（フラッシュモジュール１１）を部分的に新規のフラッシュメモリ（新規のフラッシュモジュール１１）へ交換することにより、交換前に比べて残りの書き込み可能なデータ量が多い交換部材を容易に準備することが可能となる。
【００６１】
まず、図７に示すように、書き込み済みのデータ量「ｘ」である交換前のＳＳＤユニット１０−Ａを交換するため、書き込み済みのデータ量「ｙ」である代替用のＳＳＤユニット１０―Ｂ、及び、ＦＲＵである未使用のフラッシュモジュール１１を複数、用意する。
【００６２】
なお、各々のＳＳＤユニット１０の最大の書き込み可能なデータ量は、全て同一とする。
【００６３】
次に、交換に先立ち、制御部２１は、交換前のＳＳＤユニット１０−Ａ（第一のＳＳＤユニット１０−Ａとも言う）の書き込み済みのデータ量「ｘ」を取得し、書込みデータ量格納部２２に格納する。
【００６４】
ここで、「ｘ」の値は、ＳＳＤユニット１０−Ａの各書き込みカウンタ１２の値の合計値である。
【００６５】
次に、制御部２１は、代替用のＳＳＤユニット１０−Ｂ（第二のＳＳＤユニット１０−Ｂとも言う）を接続する。ここで、接続とは、例えば、アクセス可能な状態にすること、等とする。
【００６６】
そして、制御部２１は、代替用のＳＳＤユニット１０−Ｂの書き込み済みのデータ量「ｙ」を取得し、書込みデータ量格納部２２に格納する。
【００６７】
ここで、「ｙ」の値は、ＳＳＤユニット１０−Ｂの各書き込みカウンタ１２の値の合計値とする。
【００６８】
また、「ｙ」の値は、第二のＳＳＤユニット１０−Ｂを接続する前に、事前に書き込みカウンタ１２の値を確認したものを用いてもよい。
【００６９】
なお、制御部２１が、「ｘ」、及び、「ｙ」の値を取得した後、ＳＳＤユニット１０−Ａの交換までの間に、ＳＳＤユニット１０−Ａの各フラッシュモジュール１１へのデータの書き込みが進行する場合があるが、この追加の書き込みの量は「ｘ」に比べ十分に小さく、制御部２１の判断に影響を与えないものとする。
【００７０】
次に、制御部２１は、書込みデータ量格納部２２に格納されたデータ量「ｘ」および「ｙ」を読み出し、比較する。ｘ＞ｙ、または、ｘ＝ｙである場合は、交換を行っても書き込み可能なデータ量は減らない（増加する）ので、そのまま、代替用のＳＳＤユニット１０−Ｂと交換する。
【００７１】
一方、ｘ＜ｙである場合は、そのまま交換すると書き込み可能なデータ量が減ってしまう（図７）。
【００７２】
このため、例えば、フラッシュモジュール１１が４個で構成されている場合、下記の式（１）が成り立つ最少のｎ枚の未使用のフラッシュモジュール１１に差し替えた代替用のＳＳＤユニット１０−Ｂに交換することにより、交換前よりも書き込み済みのデータ量が増加してしまうことを防止することが可能となる。
2015135586.tif 000003
【００７３】
なお、式（１）は、「書き込み済みのデータ量が増加してしまう分量＝（ｙ−ｘ）」に比べて、「新規のフラッシュメモリに置き換える分量＝（ｙ／４×ｎ）」が大きいことを意味する、下記の式（２）を変形して導出する（式の変形の詳細は省略する）。
2015135586.tif 000004
【００７４】
また、式（２）は、フラッシュモジュール１１の数量を「４」として記述したが、フラッシュモジュール１１の数量を「Ｎ」として一般化すると、式（３）となり、これを使用してもよい。
2015135586.tif 000005
【００７５】
なお、交換後のフラッシュモジュール１１−Ａの書き込みカウンタ１２−Ａの値は当初「０」であるが、前述のウェアレベリング機能により、交換していないフラッシュモジュール１１と同等の書き込みカウンタ１２の値になるまで書き込みに使用される。上記式（１）または式（３）は、制御部２１において導出される。また、制御部２１は、導出される数量ｎ（フラッシュモジュール１１の交換数量）を表示部２３に出力し、それを表示してもよい。また、制御部２１は、交換前のＳＳＤユニット１０−Ａを、代替用のＳＳＤユニット１０―Ｂに、そのまま交換可能であるか否かを、表示部２３に表示してもよい。
【００７６】
この後、例えば、制御部２１が、フラッシュモジュール１１の交換を完了した第二のＳＳＤユニット１０−Ｂを接続し動作させた後に、第一のＳＳＤユニット１０−Ａの接続を外し、ＳＳＤユニット１０の交換を可能にする、等としてもよい。
【００７７】
図８は、ＳＳＤユニット１１を交換する場合の制御部２１の動作を示すフローチャートである。なお、交換の指示は、ホスト装置３０から制御部２１に送信され、それを受けて制御部２１が動作するものとする。
【００７８】
制御部２１は、交換前のＳＳＤユニット１０−Ａの書き込み済みのデータ量「ｘ」、及び、代替用のＳＳＤユニット１０−Ｂの書き込み済みのデータ量「ｙ」の値を書込みデータ量格納部２２から取得する（ステップＳ１１）。
【００７９】
制御部２１は、ｘ＞ｙを満たすか判定する（ステップＳ１２）。
【００８０】
ステップＳ１２でＮｏの場合、式（１）または（３）に基づき、制御部２１は、フラッシュモジュール１１の交換の数量ｎを算出する（ステップＳ１３）。ステップＳ１２でＹｅｓの場合、交換を行っても書き込み可能なデータ量は減らない（増加する）ので、制御部２１は、そのまま、代替用のＳＳＤユニット１０−Ｂへの交換を示唆する情報を発生し、それを表示部２３に表示してもよい。
【００８１】
この後、ステップＳ１３の算出結果に基づき、対象のフラッシュモジュール１１の未使用のフラッシュモジュール１１への交換が行われる。たとえば、（１）が成り立つ最少のｎ枚の未使用のフラッシュモジュール１１に差し替えた代替用のＳＳＤユニット１０−Ｂに交換する。
【００８２】
なお、ＳＳＤユニット１０の交換後は、対象のＳＳＤユニット１０（ＳＳＤユニット１０−Ｂ）に対して、フラッシュコントローラ１３が、図２〜図５に示した手順でデータの書き込みを行う。
【００８３】
本実施形態に係る情報処理システム４０、ＳＳＤ装置１０は、以下に記載するような効果を奏する。
【００８４】
その効果は、保守時のＳＳＤの交換による書き込み可能なデータ量の減少を防止し、既に書き込みデータが存在するＳＳＤも交換に使用することを可能にすることである。
【００８５】
その理由は、書き込み済みのデータ量が、第一のＳＳＤユニット１０−Ａに比べ、第二のＳＳＤユニット１０−Ｂで少なくなるように、第二のＳＳＤユニット１０−Ｂで交換対象のフラッシュモジュール１１の最小の数量を算出するからである。
【００８６】
また、ＳＳＤユニットが、各々が交換可能な単位である複数のフラッシュモジュールと、複数のフラッシュモジュールのうち、書き込み済みデータ量が最も少ない第一のフラッシュモジュールに優先的にデータを書き込む、フラッシュコントローラと、を含むことで、平準化して書き込みを行うことができる。
＜第二の実施形態＞
次に、本発明の第二の実施形態について図面を参照して詳細に説明する。
【００８７】
図９は、第二の実施形態に係る、情報記憶装置５０の構成の一例を示すブロック図である。
【００８８】
情報記憶装置５０は、ＳＳＤユニット１０（第一のＳＳＤユニット１０−Ａ、第二のＳＳＤユニット１０−Ｂ）、及び、制御部２１を包含する。
【００８９】
ＳＳＤユニット１０は、フラッシュモジュール１１（１１−Ａ、１１−Ｂ、・・・）、及び、フラッシュコントローラ１３を包含する。
【００９０】
なお、ＳＳＤユニット１０は、同一構成の２台、すなわちＳＳＤユニット１０−Ａ、及びＳＳＤユニット１０−Ｂにより構成される。ＳＳＤユニット１０は、同一構成の２台以上であってもよい。
【００９１】
また、フラッシュモジュール１１は、複数で構成され、図９には、例えば、フラッシュモジュール１１−Ａ、及び、フラッシュモジュール１１−Ｂにより構成される例を示す。
【００９２】
フラッシュモジュール１１は、フラッシュメモリを含み、複数のフラッシュモジュール１１の各々が交換可能な単位である。
【００９３】
フラッシュコントローラ１３は、書き込み済みデータ量が最も少ないフラッシュモジュール１１（第一のフラッシュモジュール）に優先的にデータを書き込む。
【００９４】
制御部２１は、複数のフラッシュモジュール１１、及び、フラッシュコントローラ１３を含み、各々が交換可能な単位である、第一のＳＳＤユニット１０−Ａ、及び、第二のＳＳＤユニット１０−Ｂに接続し、書き込み済みのデータ量が、第一のＳＳＤユニット１０−Ａに比べ、第二のＳＳＤユニット１０−Ｂで少なくなるように、第二のＳＳＤユニット１０−Ｂで交換対象のフラッシュモジュール１１の最小の数量を算出する。
【００９５】
本実施形態に係る情報記憶装置５０は、以下に記載するような効果を奏する。
【００９６】
保守時のＳＳＤの交換による書き込み可能なデータ量の減少を防止し、既に書き込みデータが存在するＳＳＤも交換に使用することを可能にする。
【００９７】
その理由は、書き込み済みのデータ量が、第一のＳＳＤユニット１０−Ａに比べ、第二のＳＳＤユニット１０−Ｂで少なくなるように、第二のＳＳＤユニット１０−Ｂで交換対象のフラッシュモジュール１１の最小の数量を算出するからである。
【００９８】
以上、図面を参照して本発明の実施形態を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００９９】
１０    ＳＳＤユニット
１１    フラッシュモジュール
１２    書き込みカウンタ
１３    フラッシュコントローラ
１４    インタフェース部
１５    キャッシュメモリ
２０    ＳＳＤ装置
２１    制御部
２２    書込みデータ量格納部
２３    表示部
３０    ホスト装置
４０    情報処理システム
５０    情報記憶装置
【図１】
2015135586.tif 000006
【図２】
2015135586.tif 000007
【図３】
2015135586.tif 000008
【図４】
2015135586.tif 000009
【図５】
2015135586.tif 000010
【図６】
2015135586.tif 000011
【図７】
2015135586.tif 000012
【図８】
2015135586.tif 000013
【図９】
2015135586.tif 000014