(57)【要約】【課題】SSDを利用したバックアップにおける負荷が増加するという問題を解決すること。【解決手段】SSD（Solid State Drive）に所定のデータを記憶するとともに、記憶した当該データを格納した記憶領域の物理アドレスと当該記憶領域の更新回数とをSSD更新情報として、データを識別するデータ識別情報に対応付けてSSDに記憶するSSD記憶制御手段と、SSDに記憶されたデータの複製データと、SSD更新情報を複製した複製更新情報と、データ識別情報と、を対応付けてバックアップ記憶部に記憶するバックアップ記憶制御手段と、SSDからSSD更新情報を取得するとともに、取得したSSD更新情報に対応付けられたデータ識別情報と同じデータ識別情報が対応付けられた複製更新情報をバックアップ記憶部から取得する取得手段と、取得したSSD更新情報と複製更新情報とに基づいて、バックアップ記憶部に記憶するデータを決定する決定手段とを備える。【選択図】図２９
2014119948.tif 000002
【特許請求の範囲】
【請求項１】
SSD（Solid State Drive）に所定のデータを記憶するとともに、記憶した当該データを格納した記憶領域の物理アドレスと当該記憶領域の更新回数とをSSD更新情報として、前記データを識別するデータ識別情報に対応付けて前記SSDに記憶するSSD記憶制御手段と、
前記SSDに記憶された前記データの複製データと、前記SSD更新情報を複製した複製更新情報と、前記データ識別情報と、を対応付けてバックアップ記憶部に記憶するバックアップ記憶制御手段と、
前記SSDから前記SSD更新情報を取得するとともに、取得した前記SSD更新情報に対応付けられた前記データ識別情報と同じ前記データ識別情報が対応付けられた前記複製更新情報を前記バックアップ記憶部から取得する取得手段と、
前記取得手段にて取得した前記SSD更新情報と前記複製更新情報とに基づいて、前記バックアップ記憶部に記憶する前記データを決定する決定手段と、
を備える情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記決定手段は、前記取得手段にて取得した前記SSD更新情報と前記複製更新情報とが一致するか否かを判定し、前記SSD更新情報と前記複製更新情報とが一致しないと判定した場合に、当該SSD更新情報に対応付けられた前記データを、前記バックアップ記憶部に記憶する前記データとして決定する、
情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記決定手段は、前記SSD更新情報に含まれる前記物理アドレスと、前記複製更新情報に含まれる前記物理アドレスと、が一致するか否かを判定するとともに、前記SSD更新情報に含まれる前記更新回数と、前記複製更新情報に含まれる前記更新回数と、が一致するか否かを判定し、前記物理アドレスの判定結果と前記更新回数の判定結果とのうち少なくとも一方が一致しない場合に、当該SSD更新情報に対応付けられた前記データを、前記バックアップ記憶部に記憶する前記データとして決定する、
情報処理装置。
【請求項４】
請求項１乃至３のいずれかに記載の情報処理装置であって、
前記SSD記憶制御手段は、前記データ識別情報に対応付けられた前記データの内容を更新する場合に、前記更新回数が最小になる記憶領域を検出し、検出した当該記憶領域に更新する前記データの内容を記憶するとともに、検出した前記記憶領域の物理アドレスと、当該記憶領域に対応付けられた更新回数に１を加えた更新回数と、を新たなSSD更新情報として、前記データ識別情報に対応付けて記憶する、
情報処理装置。
【請求項５】
請求項１乃至４のいずれかに記載の情報処理装置であって、
前記取得手段は、前記決定手段にて決定した前記バックアップ記憶部に記憶する前記データを前記SSDから取得し、
前記バックアップ記憶制御手段は、前記取得手段にて取得した前記データの複製データと、当該データに対応付けられたSSD更新情報を複製した複製更新情報と、取得した前記データを識別する前記データ識別情報と、を対応付けて前記バックアップ記憶部に記憶する、
情報処理装置。
【請求項６】
請求項１乃至５のいずれかに記載の情報処理装置であって、
前記情報処理装置が複数の前記SSDを１つの記憶装置として制御する場合に、
前記バックアップ記憶制御手段は、前記データと前記SSD更新情報とが記憶された前記SSDを特定するSSD特定情報に対応付けて、当該データを複製した前記複製データと当該SSD更新情報を複製した前記複製更新情報とを前記バックアップ記憶部に記憶し、
前記取得手段は、前記SSD毎に記憶された全ての前記SSD更新情報に含まれる前記更新回数と、前記バックアップ記憶部に記憶された前記SSD毎の全ての前記複製更新情報に含まれる前記更新回数と、の少なくとも一方を前記各SSD全体の更新回数として取得し、
前記決定手段は、前記取得手段にて取得した前記各SSD全体の更新回数に基づいて、前記複製データを記憶する前記SSDを決定する、
情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記決定手段は、前記取得手段にて取得した前記各SSD全体の更新回数のうち特定の前記SSD全体の更新回数が、取得した複数の前記SSD全体の更新回数の平均値に近づくように、前記複製データを記憶する前記SSDの組を決定し、
前記SSD記憶制御手段は、前記決定手段にて決定した一方のSSDに対応付けられた複製データを他方のSSDに記憶するとともに、前記他方のSSDに対応付けられた複製データを前記一方のSSDに記憶する、
情報処理装置。
【請求項８】
情報処理装置に、
SSD（Solid State Drive）に所定のデータを記憶するとともに、記憶した当該データを格納した記憶領域の物理アドレスと当該記憶領域の更新回数とをSSD更新情報として、前記データを識別するデータ識別情報に対応付けて前記SSDに記憶するSSD記憶制御手段と、
前記SSDに記憶された前記データの複製データと、前記SSD更新情報を複製した複製更新情報と、前記データ識別情報と、を対応付けてバックアップ記憶部に記憶するバックアップ記憶制御手段と、
前記SSDから前記SSD更新情報を取得するとともに、取得した前記SSD更新情報に対応付けられた前記データ識別情報と同じ前記データ識別情報が対応付けられた前記複製更新情報を前記バックアップ記憶部から取得する取得手段と、
前記取得手段にて取得した前記SSD更新情報と前記複製更新情報とに基づいて、前記バックアップ記憶部に記憶する前記データを決定する決定手段と、
を実現するためのプログラム。
【請求項９】
請求項８に記載のプログラムであって、
前記決定手段は、前記取得手段にて取得した前記SSD更新情報と前記複製更新情報とが一致するか否かを判定し、前記SSD更新情報と前記複製更新情報とが一致しないと判定した場合に、当該SSD更新情報に対応付けられた前記データを、前記バックアップ記憶部に記憶する前記データとして決定する、
プログラム。
【請求項１０】
SSD（Solid State Drive）に所定のデータを記憶するとともに、記憶した当該データを格納した記憶領域の物理アドレスと当該記憶領域の更新回数とをSSD更新情報として、前記データを識別するデータ識別情報に対応付けて前記SSDに記憶し、
前記SSDに記憶された前記データの複製データと、前記SSD更新情報を複製した複製更新情報と、前記データ識別情報と、を対応付けてバックアップ記憶部に記憶し、
前記SSDから前記SSD更新情報を取得するとともに、取得した前記SSD更新情報に対応付けられた前記データ識別情報と同じ前記データ識別情報が対応付けられた前記複製更新情報を前記バックアップ記憶部から取得し、
取得した前記SSD更新情報と前記複製更新情報とに基づいて、前記バックアップ記憶部に記憶する前記データを決定する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置にかかり、特に、記憶装置に記憶されたデータをバックアップする情報処理装置に関する。
【背景技術】
【０００２】
SSD（Solid State Drive）等の記憶装置では、故障や誤操作等により記憶されたデータを失うことがある。そこで、失ったデータを復元するために、記憶装置に記憶されたデータを所定のタイミングで他の記憶装置に複製するバックアップが一般的に行われている（例えば特許文献１参照）。これにより、故障や誤操作等により記憶されたデータを失った場合でも、他の記憶装置に記憶された複製データを用いて、失ったデータを復元することができる。
【０００３】
ところで、SSDでは、データを更新する場合に一度データを消去してから更新データを書き込む必要があり、書き込み、消去のたびに記憶素子が劣化するため、書き込みや消去が頻繁に行われると、SSDの寿命が短くなることがある。このため、SSDでは、データの書き込み等をSSDの記憶素子にできるだけ均等に分散させるウェアレべリングの技術が利用されている（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２３３９６１
【特許文献２】特開２００５−３１６７９３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、特許文献１には、前回のバックアップを行ったバックアップジョブのバージョン番号を含む管理情報を記憶し、記憶した管理情報に基づいてバックアップをすべきデータを決定し、データのバックアップを行うことが記載されている。
【０００６】
しかしながら、上記した特許文献１では、データのバックアップ処理とは別に管理情報を生成し、管理する必要があった。このため、上記した特許文献１では、バックアップを行う際に管理情報を更新する必要があり、SSDを利用したバックアップにおける負荷が増加するという問題があった。
【０００７】
このため、本発明の目的は、SSDを利用したバックアップにおける負荷が増加するという問題を解決することができる情報処理装置を提供させることにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため本発明の一態様における情報処理装置は、
SSD（Solid State Drive）に所定のデータを記憶するとともに、記憶した当該データを格納した記憶領域の物理アドレスと当該記憶領域の更新回数とをSSD更新情報として、前記データを識別するデータ識別情報に対応付けて前記SSDに記憶するSSD記憶制御手段と、
前記SSDに記憶された前記データの複製データと、前記SSD更新情報を複製した複製更新情報と、前記データ識別情報と、を対応付けてバックアップ記憶部に記憶するバックアップ記憶制御手段と、
前記SSDから前記SSD更新情報を取得するとともに、取得した前記SSD更新情報に対応付けられた前記データ識別情報と同じ前記データ識別情報が対応付けられた前記複製更新情報を前記バックアップ記憶部から取得する取得手段と、
前記取得手段にて取得した前記SSD更新情報と前記複製更新情報とに基づいて、前記バックアップ記憶部に記憶する前記データを決定する決定手段と、
を備えるという構成を取る。
【０００９】
また、本発明の他の形態である情報処理方法は、
SSD（Solid State Drive）に所定のデータを記憶するとともに、記憶した当該データを格納した記憶領域の物理アドレスと当該記憶領域の更新回数とをSSD更新情報として、前記データを識別するデータ識別情報に対応付けて前記SSDに記憶し、
前記SSDに記憶された前記データの複製データと、前記SSD更新情報を複製した複製更新情報と、前記データ識別情報と、を対応付けてバックアップ記憶部に記憶し、
前記SSDから前記SSD更新情報を取得するとともに、取得した前記SSD更新情報に対応付けられた前記データ識別情報と同じ前記データ識別情報が対応付けられた前記複製更新情報を前記バックアップ記憶部から取得し、
取得した前記SSD更新情報と前記複製更新情報とに基づいて、前記バックアップ記憶部に記憶する前記データを決定する、という構成を取る。
【００１０】
また、本発明の他の形態であるプログラムは、
情報処理装置に、
SSD（Solid State Drive）に所定のデータを記憶するとともに、記憶した当該データを格納した記憶領域の物理アドレスと当該記憶領域の更新回数とをSSD更新情報として、前記データを識別するデータ識別情報に対応付けて前記SSDに記憶するSSD記憶制御手段と、
前記SSDに記憶された前記データの複製データと、前記SSD更新情報を複製した複製更新情報と、前記データ識別情報と、を対応付けてバックアップ記憶部に記憶するバックアップ記憶制御手段と、
前記SSDから前記SSD更新情報を取得するとともに、取得した前記SSD更新情報に対応付けられた前記データ識別情報と同じ前記データ識別情報が対応付けられた前記複製更新情報を前記バックアップ記憶部から取得する取得手段と、
前記取得手段にて取得した前記SSD更新情報と前記複製更新情報とに基づいて、前記バックアップ記憶部に記憶する前記データを決定する決定手段と、
を実現させるためのプログラムである。
【発明の効果】
【００１１】
本発明によれば、SSDを利用したバックアップおよびリストアにおける負荷が低減することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態における情報処理装置の構成の概略を示すブロック図である。
【図２】マップテーブルの一例を示す図である。
【図３】データ記憶情報の一例を示す図である。
【図４】データ記憶情報の一例を示す図である。
【図５】マップテーブルの一例を示す図である。
【図６】バックアップ情報の一例を示す図である。
【図７】バックアップ情報の一例を示す図である。
【図８】マップテーブルの一例を示す図である。
【図９】データ記憶情報の一例を示す図である。
【図１０】バックアップ処理を説明するためのフローチャートである。
【図１１】SSD更新処理を説明するためのフローチャートである。
【図１２】リストア処理を説明するためのフローチャートである。
【図１３】本発明の第２実施形態における情報処理装置の構成の概略を示すブロック図である。
【図１４】RAIDシステムの構成の概略を示すブロック図である。
【図１５】SSD特定テーブルの一例を示す図である。
【図１６】マップテーブルの一例を示す図である。
【図１７】データ記憶情報の一例を示す図である。
【図１８】バックアップ情報の一例を示す図である。
【図１９】マップテーブルの一例を示す図である。
【図２０】データ記憶情報の一例を示す図である。
【図２１】バックアップ情報の一例を示す図である。
【図２２】SSD特定テーブルの一例を示す図である。
【図２３】マップテーブルの一例を示す図である。
【図２４】データ記憶情報の一例を示す図である。
【図２５】SSD特定処理を説明するためのフローチャートである。
【図２６】バックアップ処理を説明するためのフローチャートである。
【図２７】リストア処理を説明するためのフローチャートである。
【図２８】リストア処理を説明するためのフローチャートである。
【図２９】本発明の第３実施形態における情報処理装置の構成の概略を示すブロック図である。
【発明を実施するための形態】
【００１３】
＜第１実施形態＞
【００１４】
まず、本発明の第１実施形態を、図１乃至図１２を参照して説明する。図１乃至図９は、第１実施形態における情報処理装置の構成を説明するための図である。図１０乃至図１２は、情報処理装置の動作を説明するための図である。
【００１５】
［構成］
図１は、本発明の第１実施形態にかかる情報処理装置１の構成を示すブロック図である。図１に示すように、情報処理装置１は、演算部１１と、SSD１２と、バックアップ記憶部１３と、を備えている。情報処理装置１は、SSD１２に記憶されたデータをバックアップ記憶部１３にバックアップする。また、情報処理装置１は、SSD１２に障害等が発生した場合に、バックアップ記憶部１３に記憶されたデータに基づいてSSD１２のデータを復元（リストア）する。
【００１６】
演算部１１は、例えば、CPU（Central Processing Unit）により構成される。演算部１１は、記憶装置（図示せず）またはバックアップ記憶部１３に予め記憶されたプログラムを読み込み、当該プログラムを実行することにより、取得部２１（取得手段）と、決定部２２（決定手段）と、SSD記憶制御部２３（SSD記憶制御手段）と、バックアップ記憶制御部２４（バックアップ記憶制御手段）と、を有する。なお、SSD記憶制御部２３とバックアップ記憶制御部２４とは、１つの記憶制御部により講成されてもよい。以下に、演算部１１の各機能について説明する。
【００１７】
最初に、SSD１２の更新処理について説明する。ここでは、SSD１２に、図２のマップテーブル４１Ａと図３のデータ記憶情報４２Ａとが予め記憶されているものとする。マップテーブル４１Ａには、データを識別するための論理アドレス（データ識別情報）と、データが実際に記憶された記憶領域（データブロック）の物理アドレスと、を対応付けた情報が格納される。データ記憶情報４２Ａには、物理アドレスにて示される記憶領域に記憶されたデータと、当該記憶領域の消去カウントと、が格納される。SSD１２では、データを更新する際にデータを消去してから新たに更新するデータ（更新データ）を書き込むので、消去カウントの値は、データが更新される際にカウントアップ（１だけインクリメント）される。
【００１８】
まず、SSD１２の更新処理では、取得部２１は、入力インタフェース（図示せず）等を介して更新データを取得する。例えば、取得部２１は、「データＡ」を更新する更新データとして「データＡ＋」を取得する。更新データを取得すると、取得部２１は、図３のデータ記憶情報４２Ａを参照して、消去カウントの最小値を検出し、検出した消去カウントに対応付けられた物理アドレスを取得する。例えば、取得部２１は、消去カウントが最小になる「物理アドレスＺ」を取得する。
【００１９】
続いて、SSD記憶制御部２３は、取得した「物理アドレスＺ」により示される記憶領域に、「データＡ＋」を記憶する。そして、SSD記憶制御部２３は、消去カウントを１だけインクリメントする。例えば、SSD記憶制御部２３は、「物理アドレスＺ」に対応付けられた消去カウントに１を加えた「消去カウントＺ」を、「物理アドレスＺ」に対応付けて記憶する（例えば図４のデータ記憶情報４２Ｂ参照）。
【００２０】
次に、取得部２１は、更新対象が「データＡ」であるので、データ記憶情報４２Ａを参照して、「データＡ」に対応付けられた「物理アドレスＡ」を取得する。そして、取得部２１は、図２のマップテーブル４１Ａを参照して、「物理アドレスＡ」に対応付けられた「論理アドレスＡ」を取得する。そして、SSD記憶制御部２３は、「論理アドレスＡ」と「物理アドレスＺ」とを対応付けて、マップテーブル４１Ａに記憶する（例えば図５のマップテーブル４１Ｂ参照）。
【００２１】
このように、SSD１２に記憶されたデータを更新する場合に、消去カウント（更新回数）が最小になる記憶領域（データブロック）を検出し、検出した記憶領域に更新データを記憶するので、同じ記憶領域に書き込みが集中しSSD１２の記憶素子が劣化することを防ぐことができる。
【００２２】
次に、SSD１２に記憶されたデータをバックアップ記憶部１３にバックアップする場合の処理について説明する。ここでは、SSD１２を更新する前の図２のマップテーブル４１Ａと図３のデータ記憶情報４２Ａとのバックアップデータが、図６のバックアップ情報５１Ａに示すように、バックアップ記憶部１３に予め記憶されているものとする。そして、図５のマップテーブル４１Ｂと図４のデータ記憶情報４２Ｂとに示される更新後のSSD１２のデータを、バックアップ記憶部１３に記憶する場合について説明する。
【００２３】
まず、取得部２１は、図５のマップテーブル４１Ｂを参照して、バックアップ対象になるデータを識別するための論理アドレス（例えば最初のデータブロックを示す「論理アドレスＡ」）を取得する。続いて、取得部２１は、図５のマップテーブル４１Ｂを参照して、取得した「論理アドレスＡ」に対応付けられた「物理アドレスＺ」を取得するとともに、図４のデータ記憶情報４２Ｂを参照して、「物理アドレスＺ」に対応付けられた「消去カウントＺ」とを取得する。
【００２４】
次に、決定部２２は、図６のバックアップ情報５１Ａを参照して、バックアップがあるか否かを判定する。例えば、決定部２２は、「論理アドレスＡ」に対応付けられたバックアップデータが記憶されているか否かを判定する。図６の例では、バックアップ記憶部１３に、「論理アドレスＡ」に対応付けられたバックアップのデータ（複製データ）が記憶されているので、決定部２２はバックアップがあると判定し、取得部２１は、バックアップ情報５１Ａから、「論理アドレスＡ」に対応付けられた「物理アドレスＡ」と「消去カウントＡ」とを取得する。
【００２５】
そして、決定部２２は、SSD１２から取得した「物理アドレスＺ」と、バックアップ記憶部１３から取得した「物理アドレスＡ」と、を比較する（一致するか否かを判定する）。また同様に、決定部２２は、SSD１２から取得した「消去カウントＺ」と、バックアップ記憶部１３から取得した「消去カウントＺ」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致しないと判定し、「論理アドレスＡ」に対応付けられたデータをバックアップ対象として決定する。なお、決定部２２は、物理アドレスと消去カウントとのうち一方が一致しないと判定した場合も、「論理アドレスＡ」に対応付けられたデータをバックアップ対象として決定する。このように、決定部２２は、SSD１２に記憶された物理アドレスと消去カウントと、バックアップ記憶部１３に記憶された物理アドレスと消去カウントと、に基づいて、バックアップ対象を決定する。一方、決定部２２は、論理アドレスに対応付けられた物理アドレスと消去カウントとの両方が一致すると判定した場合には、次のバックアップ対象があるか否かを判定する。この処理については後述して説明する。
【００２６】
次に、取得部２１は、図４のデータ記憶情報４２Ｂを参照して、「物理アドレスＺ」に対応付けられた「データＡ＋」（バックアップ対象になるデータ）を取得する。続いて、バックアップ記憶制御部２４は、バックアップ記憶部１３に、バックアップ対象になる「物理アドレスＺ」と「消去カウントＺ」と「データＡ＋」とを、「論理アドレスＡ」に対応付けて記憶する（例えば図７のバックアップ情報５１Ｂの１行目）。
【００２７】
次に、決定部２２は、次のバックアップ対象があるか否かを判定する。例えば、図５のマップテーブル４１Ｂには、２番目のデータブロックに「論理アドレスＢ」が格納されているので、決定部２２は、次のバックアップ対象があると判定し、取得部２１は、次の論理アドレス（例えば「論理アドレスＢ」）を取得する。そして、「論理アドレスＢ」を取得した後、上述した処理を繰り返す。例えば、取得部２１は、「論理アドレスＢ」に対応付けられた「物理アドレスＢ」と「消去カウントＢ」とを取得し、決定部２２は、図６のバックアップ情報５１Ａを参照して、「論理アドレスＢ」に対応付けられたバックアップがあるか否かを判定し、バックアップがあると判定する。
【００２８】
続いて、取得部２１は、バックアップ記憶部１３のバックアップ情報５１Ａから、「論理アドレスＢ」に対応付けられた「物理アドレスＢ」と「消去カウントＢ」とを取得する。そして、決定部２２は、SSD１２から取得した「物理アドレスＢ」と、バックアップ記憶部１３から取得した「物理アドレスＢ」と、を比較するとともに、SSD１２から取得した「消去カウントＢ」と、バックアップ記憶部１３から取得した「消去カウントＢ」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致すると判定するので、「論理アドレスＢ」に対応付けられたデータをバックアップ対象として決定せずに、次のバックアップ対象があるか否かを判定する。そして、上述した処理が繰り返される。
【００２９】
この結果、「論理アドレスＣ」、「論理アドレスＤ」、「論理アドレスＥ」、…の順に、図５のマップテーブル４１Ｂに格納された全てのバックアップ対象がバックアップ記憶部１３に記憶される（例えば図７参照）。このように、SSD１２に記憶された物理アドレスと消去カウント（SSD更新情報）と、バックアップ記憶部１３に記憶された物理アドレスと消去カウント（複製更新情報）と、に基づいて、バックアップ対象になるデータを決定し、バックアップを行うので、独自に管理情報等を生成し記憶する必要がなく、バックアップを行う際の負荷を低減することができる。
【００３０】
次に、バックアップ記憶部１３に記憶されたデータに基づいて、SSD１２のデータをリストアする場合の処理について説明する。ここでは、SSD１２に記憶された図５のマップテーブル４１Ｂと図４のデータ記憶情報４２Ｂとを、図６のバックアップ情報５１Ａに基づいてリストアする場合について説明する。
【００３１】
まず、取得部２１は、図６のバックアップ情報５１Ａを参照し、リストア対象になるデータを識別するための論理アドレス（例えば最初のデータブロックを示す「論理アドレスＡ」）を取得する。続いて、取得部２１は、バックアップ情報５１Ａから、「論理アドレスＡ」に対応付けられた「物理アドレスＡ」と「消去カウントＡ」とを取得する。
【００３２】
次に、取得部２１は、図５のマップテーブル４１Ｂを参照し、「論理アドレスＡ」に対応付けられた「物理アドレスＺ」を取得する。さらに、取得部２１は、図４のデータ記憶情報４２Ｂを参照して、「物理アドレスＺ」に対応付けられた「消去カウントＺ」を取得する。
【００３３】
そして、決定部２２は、物理カウントと消去カウントとが一致するか否かを判定する。例えば、決定部２２は、バックアップ記憶部１３から取得した「物理アドレスＡ」と、SSD１２から取得した「物理アドレスＺ」と、を比較する。また同様に、決定部２２は、バックアップ記憶部１３から取得した「消去カウントＡ」と、SSD１２から取得した「消去カウントＺ」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致しないと判定し、「論理アドレスＡ」に対応付けられたデータをリストア対象として決定する。なお、決定部２２は、物理アドレスと消去カウントとのうち一方が一致しないと判定した場合も、「論理アドレスＡ」に対応付けられたデータをリストア対象として決定する。
【００３４】
続いて、情報処理装置１は、上述したSSD１２の更新処理を行う。具体的には、まず、取得部２１は、図６のバックアップ情報５１Ａを参照して、「物理アドレスＡ」に対応付けられた「データＡ」を更新データとして取得する。次に、取得部２１は、SSD１２から消去カウントが最小になる物理アドレスを取得する。具体的には、取得部２１は、図４のデータ記憶情報４２Ｂを参照して、消去カウントの最小値を検出し、検出した消去カウントに対応付けられた物理アドレスを取得する。例えば、取得部２１は、消去カウントが最小になる「物理アドレスＡＡ」を取得する。続いて、SSD記憶制御部２３は、「物理アドレスＡＡ」により示される記憶領域に「データＡ」を記憶する。また、SSD記憶制御部２３は、「物理アドレスＡＡ」に対応付けられた消去カウントに１を加えた「消去カウントＡＡ」を、「物理アドレスＡＡ」に対応付けて記憶する（例えば図９のデータ記憶情報４２Ｃ参照）。
【００３５】
次に、取得部２１は、更新対象の論理アドレスを取得する。例えば、取得部２１は、上述したように「論理アドレスＡ」を更新対象の論理アドレスとして取得する。そして、SSD記憶制御部２３は、取得した「論理アドレスＡ」と「物理アドレスＡＡ」とを対応付けて、マップテーブル４１に記憶する（例えば図８のマップテーブル４１Ｃの１行目参照）。
【００３６】
次に、決定部２２は、次のリストア対象があるか否かを判定する。例えば、決定部２２は、図６のバックアップ情報５１Ａを参照して、２番目のデータブロックに所定の情報（例えば物理アドレス等）が格納（記憶）されているか否かを判定する。図６のバックアップ情報５１Ａには、２番目のデータブロックに所定の情報が格納されているので、決定部２２は、次のリストア対象があると判定し、取得部２１は、次の論理アドレス（例えば「論理アドレスＢ」）を取得する。
【００３７】
「論理アドレスＢ」を取得した後、上述した処理を繰り返す。例えば、取得部２１は、バックアップ記憶部１３（図６のバックアップ情報５１Ａ）から、「論理アドレスＢ」に対応付けられた「物理アドレスＢ」と「消去カウントＢ」とを取得し、SSD１２から「論理アドレスＢ」に対応付けられた「物理アドレスＢ」と「消去カウントＢ」とを取得する。そして、決定部２２は、バックアップ記憶部１３から取得した「物理アドレスＢ」と、SSD１２から取得した「物理アドレスＢ」と、を比較するとともに、バックアップ記憶部１３から取得した「消去カウントＢ」と、SSD１２から取得した「消去カウントＢ」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致すると判定するので、「論理アドレスＢ」に対応付けられたデータをリストア対象として決定せずに、次のバックアップ対象があるか否かを判定する。そして、上述した処理が繰り返される。
【００３８】
この結果、「論理アドレスＣ」、「論理アドレスＤ」、「論理アドレスＥ」、…の順に、図６のバックアップ情報５１Ａに基づいて、全てのリストア対象がSSD１２に記憶される（例えば図８と図９参照）。このように、SSD１２に記憶された物理アドレスと消去カウント（SSD更新情報）と、バックアップ記憶部１３に記憶された物理アドレスと消去カウント（複製更新情報）と、に基づいて、リストア対象になるデータを決定し、データのリストアを行うので、バックアップ処理と同様に、独自に管理情報等を生成し記憶する必要がなく、リストアを行う際の負荷を低減することができる。
【００３９】
［動作］
次に、図１０乃至図１２を参照して、情報処理装置１の動作について説明する。図１０は、情報処理装置１のバックアップ処理を説明するフローチャートである。図１１は、情報処理装置１のSSD更新処理を説明するフローチャートである。図１２は、情報処理装置１のリストア処理を説明するフローチャートである。
【００４０】
図１０のバックアップ処理では、最初に、SSD１２に記憶された図２のマップテーブル４１Ａと図３のデータ記憶情報４２Ａとをバックアップ記憶部１３に記憶する場合について説明する。なお、図１０のバックアップ処理は、例えば、SSD１２のバックアップが要求された場合、または、所定のタイミング（例えば定期的）に開始する。
【００４１】
まず、取得部２１は、バックアップ対象になるデータを識別するための論理アドレスを取得する（ステップＳ１）。例えば、取得部２１は、図２のマップテーブル４１Ａを参照し、最初のデータブロックを示す「論理アドレスＡ」を取得する。続いて、取得部２１は、SSD１２から物理アドレスを取得する（ステップＳ２）。例えば、取得部２１は、マップテーブル４１Ａを参照し、ステップＳ１の処理にて取得した「論理アドレスＡ」に対応付けられた「物理アドレスＡ」を取得する。さらに、取得部２１は、SSD１２から消去カウントを取得する（ステップＳ３）。例えば、取得部２１は、図３のデータ記憶情報４２Ａを参照して、ステップＳ２の処理にて取得した「物理アドレスＡ」に対応付けられた「消去カウントＡ」を取得する。
【００４２】
次に、決定部２２は、バックアップ記憶部１３を参照して、バックアップがあるか否かを判定する（ステップＳ４）。ここでは、最初のバックアップを行うので、決定部２２は、全てのバックアップ対象についてバックアップがないと判定する。このため、決定部２２は、バックアップがないと判定し（ステップＳ４：Ｎｏ）、ステップＳ５，Ｓ６の処理を省略して、処理はステップＳ７に進む。なお、ステップＳ５，Ｓ６の処理については後述して説明する。
【００４３】
次に、ステップＳ７において、取得部２１は、SSD１２からデータを取得する（ステップＳ７）。例えば、取得部２１は、図３のデータ記憶情報４２Ａを参照して、ステップＳ２の処理にて取得した「物理アドレスＡ」に対応付けられた「データＡ」を取得する。続いて、バックアップ記憶制御部２４は、バックアップ記憶部１３に、バックアップ対象になる物理アドレスと消去カウントとデータとを記憶する（ステップＳ８）。例えば、バックアップ記憶制御部２４は、ステップＳ２，Ｓ３，Ｓ７の処理にてそれぞれ取得した「物理アドレスＡ」と「消去カウントＡ」と「データＡ」とを、ステップＳ１の処理にて取得した「論理アドレスＡ」に対応付けて記憶する（例えば図６のバックアップ情報５１Ａの１行目）。
【００４４】
次に、決定部２２は、次のバックアップ対象があるか否かを判定する（ステップＳ９）。例えば、決定部２２は、図２のマップテーブル４１Ａを参照して、２番目のデータブロックに論理アドレスが格納（記憶）されているか否かを判定する。図２の例では、２番目のデータブロックに「論理アドレスＢ」が格納されているので、決定部２２は、次のバックアップ対象があると判定する（ステップＳ９：Ｙｅｓ）。そして、取得部２１は、次の論理アドレスを取得する（ステップＳ１０）。例えば、取得部２１は、次の論理アドレスとして、２番目のデータブロックを示す「論理アドレスＢ」を取得する。
【００４５】
ステップＳ１０の処理の後、処理はステップＳ２に戻り、それ以降の処理が繰り返される。この結果、「論理アドレスＢ」、「論理アドレスＣ」、「論理アドレスＤ」、…の順に、マップテーブル４１Ａに格納された全てのバックアップ対象がバックアップ記憶部１３に記憶される（例えば図４参照）。このように、SSD１２に対するバックアップを作成することができる。
【００４６】
次に、図１１を参照して、SSD１２の一部のデータを更新するSSD更新処理について説明する。SSD更新処理では、まず、取得部２１は、入力インタフェース（図示せず）等を介して更新データを取得する（ステップＳ２１）。例えば、取得部２１は、「データＡ」を更新する更新データとして「データＡ＋」を取得する。
【００４７】
更新データを取得すると、取得部２１は、消去カウントが最小になる物理アドレスを取得する（ステップＳ２２）。具体的には、取得部２１は、図３のデータ記憶情報４２Ａを参照して、消去カウントの最小値を検出し、検出した消去カウントに対応付けられた物理アドレスを取得する。例えば、取得部２１は、消去カウントが最小になる物理アドレスとして「物理アドレスＺ」を取得する。
【００４８】
続いて、SSD記憶制御部２３は、更新データを記憶する（ステップＳ２３）。例えば、SSD記憶制御部２３は、ステップＳ２２の処理にて取得した「物理アドレスＺ」により示される記憶領域に、ステップＳ２１の処理にて取得した「データＡ＋」を記憶する。また、SSD記憶制御部２３は、消去カウントを１だけインクリメントする（ステップＳ２４）。例えば、SSD記憶制御部２３は、「物理アドレスＺ」に対応付けられた消去カウントに１を加えた「消去カウントＺ」を、「物理アドレスＺ」に対応付けて記憶する。
【００４９】
次に、取得部２１は、更新対象の論理アドレスを取得する（ステップＳ２５）。例えば、取得部２１は、更新対象が「データＡ」であるので、データ記憶情報４２Ａを参照して、「データＡ」に対応付けられた「物理アドレスＡ」を取得する。そして、取得部２１は、図２のマップテーブル４１Ａを参照して、「物理アドレスＡ」に対応付けられた「論理アドレスＡ」を取得する。そして、SSD記憶制御部２３は、ステップＳ２５の処理にて取得した論理アドレスと、ステップＳ２２の処理にて取得した物理アドレスと、を対応づけて記憶する（ステップＳ２６）。例えば、SSD記憶制御部２３は、「論理アドレスＡ」と「物理アドレスＺ」とを対応付けて、マップテーブル４１Ａに記憶する（例えば図５参照）。ステップＳ２６の処理の後、図１１のSSD更新処理は終了する。
【００５０】
このように、SSD１２に記憶されたデータを更新する場合に、更新回数（消去カウント）が最小になる記憶領域（データブロック）を検出し、検出した記憶領域に更新データを記憶するので、同じ記憶領域に書き込みが集中しSSDの記憶素子が劣化することを防ぐことができる。また、検出した記憶領域の物理アドレスと、当該領域の更新回数に１を加えた更新回数と、を新たなSSD更新情報として論理アドレス（データ識別情報）に対応付けて記憶するので、バックアップ対象を決定する際に、SSD更新情報を再度利用することができる。なお、SSD更新処理は、上述した動作に限られず、物理アドレスと消去カウントとの少なくとも一方を変化させて、何度SSD更新処理を行っても同じ物理アドレスと消去カウントの組合せが生じないように動作すればよい。
【００５１】
ここで、更新後のSSD１２の例を図５と図６とに示す。例えば、図１１のSSD更新処理を実行することで、図５のマップテーブル４１Ｂに示すように、「論理アドレスＡ」と「論理アドレスＣ」と「論理アドレスＥ」とが更新されたとする。具体的には、図４のデータ記憶情報４２Ｂに示すように、「論理アドレスＡ」に対応付けられた「物理アドレスＡ」が「物理アドレスＺ」に更新され、「データＡ」が「データＡ＋」に更新され、「消去カウントＡ」が「消去カウントＺ」に更新されたものとする。また、「論理アドレスＣ」に対応付けられた「物理アドレスＣ」が「物理アドレスＹ」に更新され、「データＣ」が「データＣ＋」に更新され、「消去カウントＣ」が「消去カウントＹ」に更新されたものとする。さらに、「論理アドレスＥ」に対応付けられた「物理アドレスＥ」が「物理アドレスＸ」に更新され、「データＥ」が「データＥ＋」に更新され、「消去カウントＥ」が「消去カウントＸ」に更新されたものとする。
【００５２】
このように、SSD１２が更新された後に、再度、バックアップ処理を行う場合の動作について以下に説明する。まず、取得部２１は、バックアップ対象になるデータを識別するための論理アドレス（例えば「論理アドレスＡ」）を取得し（ステップＳ１）、取得した論理アドレスに対応付けられた物理アドレス（例えば「物理アドレスＺ」）と消去カウント（例えば消去カウントＺ）とを取得する（ステップＳ２，Ｓ３）。
【００５３】
次に、決定部２２は、バックアップ記憶部１３を参照して、バックアップがあるか否かを判定する（ステップＳ４）。例えば、図６のバックアップ情報５１Ａには、「論理アドレスＡ」に対応付けられた情報が記憶されているので、決定部２２は、バックアップがあると判定する（ステップＳ４：Ｙｅｓ）。
【００５４】
続いて、取得部２１は、バックアップ記憶部１３から物理アドレスと消去カウントとを取得する（ステップＳ５）。例えば、取得部２１は、バックアップ情報５１Ａから、ステップＳ１にて取得した「論理アドレスＡ」に対応付けられた「物理アドレスＡ」と「消去カウントＡ」とを取得する。そして、決定部２２は、物理カウントと消去カウントとが一致するか否かを判定する（ステップＳ６）。例えば、決定部２２は、ステップＳ２の処理にて取得した「物理アドレスＺ」と、ステップＳ５の処理にて取得した「物理アドレスＡ」と、を比較する。また同様に、決定部２２は、ステップＳ３の処理にて取得した「消去カウントＺ」と、ステップＳ５の処理にて取得した「消去カウントＺ」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致しないと判定し（ステップＳ６：Ｎｏ）、処理はステップＳ７に進む。なお、決定部２２が物理アドレスと消去カウントとのうち一方が一致しないと判定した場合も、ステップＳ６の処理にてＮｏと判定され、処理はステップＳ７に進む。このように、決定部２２は、SSD１２に記憶された物理アドレスと消去カウントと、バックアップ記憶部１３に記憶された物理アドレスと消去カウントと、に基づいて、バックアップ対象を決定する。
【００５５】
そして、ステップＳ７において、取得部２１は、SSD１２からデータ（バックアップ対象になるデータ）を取得する（ステップＳ７）。例えば、取得部２１は、図４のデータ記憶情報４２Ｂを参照して、ステップＳ２の処理にて取得した「物理アドレスＺ」に対応付けられた「データＡ＋」を取得する。続いて、バックアップ記憶制御部２４は、バックアップ記憶部１３に、バックアップ対象になる物理アドレスと消去カウントとデータとを記憶する（ステップＳ８）。例えば、バックアップ記憶制御部２４は、ステップＳ２，Ｓ３，Ｓ７の処理にてそれぞれ取得した「物理アドレスＺ」と「消去カウントＺ」と「データＡ＋」とを、ステップＳ１の処理にて取得した「論理アドレスＡ」に対応付けて記憶する（例えば図７のバックアップ情報５１Ｂの１行目）。
【００５６】
次に、決定部２２は、次のバックアップ対象があるか否かを判定する（ステップＳ９）。例えば、図５のマップテーブル４１Ｂには、２番目のデータブロックに「論理アドレスＢ」が格納されているので、決定部２２は、次のバックアップ対象があると判定する（ステップＳ９：Ｙｅｓ）。そして、取得部２１は、次の論理アドレス（例えば「論理アドレスＢ」）を取得する（ステップＳ１０）。
【００５７】
「論理アドレスＢ」を取得した後、処理はステップＳ２に戻り、それ以降の処理を繰り返す。例えば、「論理アドレスＢ」に対応付けられた「物理アドレスＢ」と「消去カウントＢ」とを取得する（ステップＳ２，Ｓ３）。次に、決定部２２は、図６のバックアップ情報５１Ａを参照して、「論理アドレスＢ」に対応付けられたバックアップがあるか否かを判定し（ステップＳ４）、バックアップがあると判定する（ステップＳ４：Ｙｅｓ）。
【００５８】
続いて、取得部２１は、バックアップ記憶部１３から、「論理アドレスＢ」に対応付けられた「物理アドレスＢ」と「消去カウントＢ」とを取得する（ステップＳ５）。そして、決定部２２は、ステップＳ２の処理にて取得した「物理アドレスＢ」と、ステップＳ５の処理にて取得した「物理アドレスＢ」と、を比較するとともに、ステップＳ３の処理にて取得した「消去カウントＢ」と、ステップＳ５の処理にて取得した「消去カウントＢ」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致すると判定し（ステップＳ６：Ｙｅｓ）、処理はステップＳ９に進む。そして、上述したようにステップＳ９以降の処理が繰り返される。
【００５９】
この結果、「論理アドレスＣ」、「論理アドレスＤ」、「論理アドレスＥ」、…の順に、図５のマップテーブル４１Ｂに格納された全てのバックアップ対象がバックアップ記憶部１３に記憶される（例えば図７参照）。このように、SSD１２に記憶された物理アドレスと消去カウント（SSD更新情報）と、バックアップ記憶部１３に記憶された物理アドレスと消去カウント（複製更新情報）と、に基づいて、バックアップ対象になるデータを決定し、バックアップを行うので、独自に管理情報等を生成し記憶する必要がなく、バックアップを行う際の負荷を低減することができる。
【００６０】
次に、図１２を参照してリストア処理について説明する。このリストア処理では、SSD１２に記憶された図５のマップテーブル４１Ｂと図４のデータ記憶情報４２Ｂとを、図６のバックアップ情報５１Ａに基づいてリストアする場合について説明する。なお、図１２のリストア処理は、例えば、SSD１２へのリストアが要求された場合、または、所定のタイミング（例えば定期的）に開始する。
【００６１】
まず、取得部２１は、リストア対象になるデータを識別するための論理アドレスを取得する（ステップＳ４１）。例えば、取得部２１は、図６のバックアップ情報５１Ａを参照し、最初のデータブロックを示す「論理アドレスＡ」を取得する。続いて、取得部２１は、バックアップ記憶部１３から物理アドレスと消去カウントとを取得する（ステップＳ４２）。例えば、取得部２１は、バックアップ情報５１Ａから、ステップＳ４１にて取得した「論理アドレスＡ」に対応付けられた「物理アドレスＡ」と「消去カウントＡ」とを取得する。
【００６２】
次に、取得部２１は、SSD１２から物理アドレスを取得する（ステップＳ４３）。例えば、取得部２１は、図５のマップテーブル４１Ｂを参照し、ステップＳ４１の処理にて取得した「論理アドレスＡ」に対応付けられた「物理アドレスＺ」を取得する。さらに、取得部２１は、SSD１２から消去カウントを取得する（ステップＳ４４）。例えば、取得部２１は、図４のデータ記憶情報４２Ｂを参照して、ステップＳ４３の処理にて取得した「物理アドレスＡ」に対応付けられた「消去カウントＺ」を取得する。
【００６３】
そして、決定部２２は、物理カウントと消去カウントとが一致するか否かを判定する（ステップＳ４５）。例えば、決定部２２は、ステップＳ４２の処理にて取得した「物理アドレスＡ」と、ステップＳ４３の処理にて取得した「物理アドレスＺ」と、を比較する。また同様に、決定部２２は、ステップＳ４２の処理にて取得した「消去カウントＡ」と、ステップＳ４４の処理にて取得した「消去カウントＺ」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致しないと判定し（ステップＳ４５：Ｎｏ）、処理はステップＳ４６に進む。なお、決定部２２が物理アドレスと消去カウントとのうち一方が一致しないと判定した場合も、ステップＳ４５の処理にてＮｏと判定され、処理はステップＳ４６に進む。このように、決定部２２は、SSD１２に記憶された物理アドレスと消去カウントと、バックアップ記憶部１３に記憶された物理アドレスと消去カウントと、に基づいて、リストア対象を決定する。
【００６４】
続いて、ステップＳ４６において、情報処理装置１は、図１１のSSD更新処理を行う（ステップＳ４６）。ステップＳ４６のSSD更新処理では、まず、取得部２１は、バックアップ記憶部１３から更新データを取得する（ステップＳ２１）。例えば、取得部２１は、図６のバックアップ情報５１Ａを参照して、図１２のステップＳ４２の処理にて取得した「物理アドレスＡ」に対応付けられた「データＡ」を更新データとして取得する。
【００６５】
次に、取得部２１は、SSD１２から消去カウントが最小になる物理アドレスを取得する（ステップＳ２２）。例えば、取得部２１は、消去カウントが最小になる「物理アドレスＡＡ」を取得する。続いて、SSD記憶制御部２３は、ステップＳ２１の処理にて取得した更新データを記憶する（ステップＳ２３）。例えば、SSD記憶制御部２３は、ステップＳ２２の処理にて取得した「物理アドレスＡＡ」により示される記憶領域に、ステップＳ２１の処理にて取得した「データＡ」を記憶する。また、SSD記憶制御部２３は、消去カウントを１だけインクリメントする（ステップＳ２４）。例えば、SSD記憶制御部２３は、「物理アドレスＡＡ」に対応付けられた消去カウントに１を加えた「消去カウントＡＡ」を、「物理アドレスＡＡ」に対応付けて記憶する（例えば図９のデータ記憶情報４２Ｃ参照）。
【００６６】
次に、取得部２１は、更新対象の論理アドレスを取得する（ステップＳ２５）。ここでは、図１２のステップＳ４１（または後述するステップＳ４８）の処理にて取得した「論理アドレスＡ」を取得する。なお、更新対象の論理アドレスは、ステップＳ４１（Ｓ４８）の処理にて取得するので、リストア処理ではステップＳ２５の処理を省略してもよい。そして、SSD記憶制御部２３は、ステップＳ２５（Ｓ４１，Ｓ４８）の処理にて取得した論理アドレスと、ステップＳ２２の処理にて取得した物理アドレスと、を対応づけて記憶する（ステップＳ２６）。例えば、SSD記憶制御部２３は、「論理アドレスＡ」と「物理アドレスＡＡ」とを対応付けて、マップテーブル４１に記憶する（例えば図８のマップテーブル４１Ｃの１行目参照）。ステップＳ２６の処理の後、図１１のSSD更新処理は終了し、処理は図１２のステップＳ４７に進む。
【００６７】
次に、決定部２２は、次のリストア対象があるか否かを判定する（ステップＳ４７）。例えば、決定部２２は、図６のバックアップ情報５１Ａを参照して、２番目のデータブロックに所定の情報（例えば物理アドレス等）が格納（記憶）されているか否かを判定する。図２の例では、２番目のデータブロックに所定の情報が格納されているので、決定部２２は、次のリストア対象があると判定する（ステップＳ４７：Ｙｅｓ）。そして、取得部２１は、次の論理アドレスを取得する（ステップＳ４８）。例えば、取得部２１は、次の論理アドレスとして、２番目のデータブロックを示す「論理アドレスＢ」を取得する。
【００６８】
「論理アドレスＢ」を取得した後、処理はステップＳ４２に戻り、それ以降の処理を繰り返す。例えば、取得部２１は、バックアップ記憶部１３（図６のバックアップ情報５１Ａ）から、「論理アドレスＢ」に対応付けられた「物理アドレスＢ」と「消去カウントＢ」とを取得する（ステップＳ４２）。また、取得部２１は、SSD１２から「論理アドレスＢ」に対応付けられた「物理アドレスＢ」と「消去カウントＢ」とを取得する（ステップＳ４３，Ｓ４４）。
【００６９】
そして、決定部２２は、ステップＳ４２の処理にて取得した「物理アドレスＢ」と、ステップＳ４３の処理にて取得した「物理アドレスＢ」と、を比較するとともに、ステップＳ４２の処理にて取得した「消去カウントＢ」と、ステップＳ４４の処理にて取得した「消去カウントＢ」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致すると判定し（ステップＳ４５：Ｙｅｓ）、ステップＳ４６のSSD更新処理は省略され、処理はステップＳ４７に進む。そして、上述したようにステップＳ４７以降の処理が繰り返される。
【００７０】
この結果、「論理アドレスＣ」、「論理アドレスＤ」、「論理アドレスＥ」、…の順に、図６のバックアップ情報５１Ａに基づいて、全てのリストア対象がSSD１２に記憶される（例えば図８と図９参照）。このように、SSD１２に記憶された物理アドレスと消去カウント（SSD更新情報）と、バックアップ記憶部１３に記憶された物理アドレスと消去カウント（複製更新情報）と、に基づいて、リストア対象になるデータを決定し、データのリストアを行うので、バックアップ処理と同様に、独自に管理情報等を生成し記憶する必要がなく、リストアを行う際の負荷を低減することができる。
【００７１】
＜第２実施形態＞
次に、本発明の第２実施形態を、図１３乃至図２８を参照して説明する。図１３乃至図２４は、情報処理装置の構成を説明するための図である。図２５乃至図２８は、情報処理装置の動作を説明するための図である。第２実施形態では、情報処理装置１０１が、複数のSSD１２を制御するRAID（Redundant Arrays of Inexpensive Disks）システムを備える点が第１実施形態と異なり、他の構成は第１実施形態と同様である。
【００７２】
［構成］
まず、図１３を参照して第２実施形態における情報処理装置１０１の構成について説明する。なお、第１実施形態における情報処理装置１と同様の構成を有するものには同じ符号が付されている。すなわち、図１３の情報処理装置１０１は、RAIDシステム１１１を有する点が図１の情報処理装置１と異なり、それ以外の構成については図１の情報処理装置１と同様である。従って、情報処理装置１と異なる構成について具体的に説明する。
【００７３】
RAIDシステム１１１は、RAID制御部１２１と、SSD１２２ａ，１２２ｂ，…，１２２ｎの複数のSSD１１２と、を備えている。RAIDシステム１１１は、例えば図１４に示すように、RAID０の構成を有している。SSD制御部１２１は、図１４に示すように、ｎ（ｎは自然数）個のSSD１２２を制御する場合、連続するデータ（例えば３ｎ個のデータブロックに記憶されたデータ）をｎ個に分割して、それぞれのSSD１２２へ順番に書き込み、管理する。このため、複数のSSD１２２を１つの記憶装置として管理することができる。なお、RAIDの構成はRAID０に限らず、RAID５やRAID１０等の他のRAIDの構成でもよい。
【００７４】
RAID制御部１２１は、RAID制御部１２１が管理するRAIDの論理アドレスと、RAIDシステム１１１内のSSD１２２を管理するためのSSD１２２のリストと、アクセスするSSD１２２を特定するためのSSD特定テーブル（例えば図１５の特定テーブル１３１Ａ）と、を有する。なお、RAID制御部１２１が有する情報は、例えば記憶装置（図示せず）に記憶され、RAID制御部１２１により管理される。また、RAID制御部１２１は、RAIDの論理アドレスと、RAID制御部１２１が管理するSSD１２２の数と、に基づいて、SSD１２２の番号とSSDの論理アドレスとを算出する。具体的には、RAID制御部１２１は、RAIDの論理アドレスをSSD１２２の数で割り、その商をアクセスするSSD１２２の論理アドレスとして算出するとともに、その余りをSSD１２２の番号として算出する。そして、RAID制御部１２１は、SSD１２２を特定するための特定テーブル（例えば図１５のSSD特定テーブル１３１Ａ）を参照して、SSD１２２の番号からSSD１２２を特定する。これにより、RAID制御部１２１は、アクセスするSSD１２２を特定することができる。
【００７５】
SSD１２２ａ，１２２ｂ，…，１２２ｎ（各SSD）は、図１６のマップテーブル１４１ａ，１４１ｂ，…，１４１ｎのそれぞれと、図１７のデータ記憶情報１４２ａ，１４２ｂ，…，１４２ｎのそれぞれと、を対応付けて記憶する。また、バックアップ記憶部１３は、図１８に示すように、各SSD１２２（具体的には各SSD１２２を特定するためのSSD特定情報）に対応付けてバックアップ情報１５１を記憶する。
【００７６】
また、情報処理装置１０１は、リストア処理を行う場合に、リストア先のSSD１２２を各SSD１２２の消去カウントに基づいて変更する処理を行う。これにより、RAIDシステム１１１内のSSD１２２の寿命を平準化することができる。
【００７７】
具体的には、取得部２１は、各SSD１２２全体の消去カウントを取得する。例えば、取得部２１は、後述する図２０のデータ記憶情報１４２ａ’，１４２ｂ’，…，１４２ｎ’のそれぞれから全ての消去カウントを取得するとともに、図１８のバックアップ情報１５１ａ，１５１ｂ，…，１５１ｎのそれぞれからSSD１２２毎の全ての消去カウントを取得する。なお、取得部２１は、SSD１２２とバックアップ記憶部１３のうちの少なくとも一方から消去カウントを取得すればよい。
【００７８】
続いて、決定部２２は、取得したSSD１２２毎の全ての消去カウントに基づいて、各SSD１２２の平均消去カウントを算出する。例えば、決定部２２は、SSD１２２ａ，１２２ｂ，…，１２２ｎのそれぞれの平均消去カウントとして、「1.4，2.25，…，10.0」を算出する。また同様に、決定部２２は、バックアップ情報１５１ａ，１５１ｂ，…，１５１ｎのそれぞれに基づくSSD１２２ａ，１２２ｂ，…，１２２ｎの平均消去カウント「1.0，2.0，…，9.9」を算出する。なお、決定部２２は、消去カウントの平均値を算出するが、SSD１２２では消去カウントに偏りができないように管理するので、消去カウントの最大値や中央値等の他の統計値を用いてもよいし、最初の物理アドレスに対応付けられた消去カウント等の特定の消去カウントの値を用いてもよい。
【００７９】
そして、決定部２２は、算出した平均消去カウントに基づいて、入れ替え対象のSSDの組を決定する。具体的には、決定部２２は、SSD１２２に記憶された消去カウントに基づく平均消去カウント「1.4，2.25，…，10.0」と、バックアップ記憶部１３に記憶された消去カウントに基づく平均消去カウント「1.0，2.0，…，9.9」と、を比較し、平均消去カウントの差が大きい順に予め設定された閾値（例えば５）を超えるSSD１２２の組を入れ替え対象として決定する。つまり、決定部２２は、平均消去カウントの小さい方と、平均消去カウントの大きい方と、のそれぞれを順番に比較し、平均消去カウントの差が閾値を超えている場合に入れ替え対象として決定する。
【００８０】
例えば、決定部２２は、SSD１２２ｎの平均消去カウント「10.0」と、バックアップ記憶部１３に記憶されたSSD１２２ａの平均消去カウント「1.0」と、の差「9.0」が最大になり、かつ、閾値「５」も超えるため、SSD１２２ａとSSD１２２ｎの組を入れ替え対象として決定する。続いて、例えば決定部２２は、SSD１２２ａ，１２２ｎの平均消去カウントを除いた平均消去カウントのうち最少になる（すなわち２番目に小さい）バックアップ記憶部１３に記憶されたSSD１２２ｂの平均消去カウント「2.0」と、２番目に大きいSSD１２２ｃの平均消去カウント（例えば「6.0」）と、を比較する。この場合、２番目に大きい平均消去カウントの差「4.0」は閾値「５」を超えないので、決定部２２は、入れ替え対象の決定処理を終了する。なお、仮に２番目に大きいSSD１２２ｃの平均消去カウントが「7.5」である場合、２番目に大きい平均消去カウントの差「5.5」は、閾値「５」を超えるため、決定部２２は、SSD１２２ｂとSSD１２２ｃの組を入れ替え対象として決定する。そして、決定部２２は、上記と同様に、３番目に小さい平均消去カウントと、３番目に大きい平均消去カウントと、の比較を行う。
【００８１】
なお、SSD１２２とバックアップ記憶部１３のうちのいずれか一方だけから消去カウントを取得した場合には、SSD１２２に記憶された消去カウントに基づく平均消去カウント「1.4，2.25，…，10.0」と、バックアップ記憶部１３に記憶された消去カウントに基づく平均消去カウント「1.0，2.0，…，9.9」と、のいずれか一方の中からSSD１２２の組を決定する。例えば、決定部２２は、SSD１２２ａの平均消去カウント「1.4」と、SSD１２２ｎの平均消去カウント「10.0」と、を比較し、入れ替え対象を決定してもよい。また同様に、決定部２２は、バックアップ記憶部１３に記憶されたSSD１２２ａの平均消去カウント「1.0」と、バックアップ記憶部１３に記憶されたSSD１２２ｎの平均消去カウント「9.9」と、を比較し、入れ替え対象を決定してもよい。
【００８２】
そして、SSD記憶制御部２３は、決定した入れ替え対象に基づいて、例えば図２２に示すように、SSDの番号の「１」と「ｎ」とを入れ替えたSSD特定テーブル１３１Ｂを、RAID制御部１２１に記憶（更新）する。この結果、リストア処理が更新したSSD特定テーブル１３１Ｂに基づいて行われるので、リストア先のSSD１２２を各SSD１２２の消去カウントに基づいて変更することができる。
【００８３】
［動作］
次に、図２５乃至図２８を参照して、情報処理装置１０１の動作について説明する。図２５は、情報処理装置１のSSD特定処理を説明するフローチャートである。図２６は、情報処理装置１０１のバックアップ処理を説明するフローチャートである。図２７と図２８は、情報処理装置１０１のリストア処理を説明するフローチャートである。
【００８４】
まず、図２５を参照して、RAIDシステム１１１内の複数のSSD１２２から１つのSSD１２２を特定するSSD特定処理について説明する。SSD特定処理では、まず、RAID制御部１２１は、RAID制御部１２１が管理するRAIDの論理アドレスを取得する（ステップＳ６１）。続いて、RAID制御部１２１は、SSD１２２の数を取得する（ステップＳ６２）。図１４の例では、RAID制御部１２１が管理するSSD１２２の数「ｎ」を取得する。
【００８５】
そして、RAID制御部１２１は、SSD１２２の番号とSSD１２２の論理アドレスとを算出する。具体的には、まずRAID制御部１２１は、ステップＳ６１の処理にて取得したRAIDの論理アドレスを、ステップＳ６２の処理にて取得したSSD１２２の数で割り、その商をアクセスするSSD１２２の論理アドレスとして算出するとともに、その余りをSSD１２２の番号として算出する。続いて、RAID制御部１２１は、予め記憶されたSSD１２２を特定するためのSSD特定テーブル（例えば図１５のSSD特定テーブル１３１Ａ）を参照して、算出したSSD１２２の番号からSSD１２２を特定する（ステップＳ６４）。これにより、RAID制御部１２１は、アクセスするSSD１２２を特定することができる。
【００８６】
次に、図２６を参照して、情報処理装置１０１のバックアップ処理について説明する。図２６のバックアップ処理では、SSD１２２に記憶された図１６のマップテーブル１４１と図１７のデータ記憶情報１４２とをバックアップ記憶部１３に記憶する場合について説明する。なお、図２６のバックアップ処理は、例えば、SSD１２２のバックアップが要求された場合、または、所定のタイミング（例えば定期的）に開始する。
【００８７】
まず、取得部２１は、RAID制御部１２１からSSD１２２のリストを取得する（ステップＳ８１）。例えば、取得部２１は、「SSD１２２ａ，SSD１２２ｂ，…SSD１２２ｎ」をSSD１２２のリストとして取得する。続いて、取得部２１は、RAID制御部１２１からSSD特定テーブル１３１（例えば図１５のSSD特定テーブル１３１Ａ）を取得する（ステップＳ８２）。そして、バックアップ記憶制御部２４は、ステップＳ８２の処理にて取得したSSD特定テーブル１３１をバックアップ記憶部１３に記憶する（例えば図１８参照）（ステップＳ８３）。
【００８８】
次に、取得部２１は、バックアップ対象になるデータを識別するための論理アドレスを取得する（ステップＳ８４）。例えば、取得部２１は、ステップＳ８１の処理にて取得したリストからSSD１２２ａを選択し、図１６のマップテーブル１４１ａを参照して、最初のデータブロックを示す論理アドレス「0ｘ000」を取得する。続いて、取得部２１は、SSD１２２から物理アドレスを取得する（ステップＳ８５）。例えば、取得部２１は、マップテーブル１４１ａを参照し、ステップＳ８４の処理にて取得した論理アドレス「0ｘ000」に対応付けられた物理アドレス「0ｘ101」を取得する。さらに、取得部２１は、SSD１２２から消去カウントを取得する（ステップＳ８６）。例えば、取得部２１は、図１７のデータ記憶情報１４２ａを参照して、ステップＳ８５の処理にて取得した物理アドレス「0ｘ101」に対応付けられた消去カウント「１」を取得する。
【００８９】
次に、決定部２２は、バックアップ記憶部１３を参照して、バックアップがあるか否かを判定する（ステップＳ８７）。ここでは、最初のバックアップを行うので、決定部２２は、全てのバックアップ対象についてバックアップがないと判定する。このため、決定部２２は、バックアップがないと判定し（ステップＳ８７：Ｎｏ）、ステップＳ８８，Ｓ８９の処理を省略して、処理はステップＳ９０に進む。なお、ステップＳ８８，Ｓ８９の処理については後述して説明する。
【００９０】
次に、ステップＳ９０において、取得部２１は、SSD１２２からデータを取得する（ステップＳ９０）。例えば、取得部２１は、図１７のデータ記憶情報１４２ａを参照して、ステップＳ８５の処理にて取得した物理アドレス「0ｘ101」に対応付けられたデータ「ＡＡＡ」を取得する。続いて、バックアップ記憶制御部２４は、バックアップ記憶部１３に、バックアップ対象になる物理アドレスと消去カウントとデータとを記憶する（ステップＳ９１）。例えば、バックアップ記憶制御部２４は、ステップＳ８５，Ｓ８６，Ｓ９０の処理にてそれぞれ取得した物理アドレス「0ｘ101」と消去カウント「１」とデータ「ＡＡＡ」とを、ステップＳ８４の処理にて取得した論理アドレス「0ｘ000」に対応付けて記憶する（例えば図１８のバックアップ情報１５１ａの１行目）。
【００９１】
次に、決定部２２は、次のバックアップ対象があるか否かを判定する（ステップＳ９２）。例えば、決定部２２は、図１６のマップテーブル１４１ａを参照して、２番目のデータブロックに論理アドレスが格納（記憶）されているか否かを判定する。図１６の例では、２番目のデータブロックに論理アドレス「0ｘ001」が格納されているので、決定部２２は、次のバックアップ対象があると判定する（ステップＳ９２：Ｙｅｓ）。そして、取得部２１は、次の論理アドレスを取得する（ステップＳ９３）。例えば、取得部２１は、次の論理アドレスとして、２番目のデータブロックに格納された論理アドレス「0ｘ001」を取得する。
【００９２】
ステップＳ９３の処理の後、処理はステップＳ８５に戻り、それ以降の処理が繰り返される。この結果、論理アドレス「0ｘ001」，「0ｘ002」，…の順に、マップテーブル１４１ａに格納された全てのバックアップ対象がバックアップ記憶部１３に記憶される（例えば図１８参照）。このように、SSD１２２ａに対するバックアップを作成することができる。
【００９３】
一方、ステップＳ９２において、次のバックアップ対象がないと判定された場合（ステップＳ９２：Ｎｏ）、決定部２２は、ステップＳ８１の処理にて取得したSSD１２２のリストを参照して、次のSSD１２２があるか否かを判定する（ステップＳ９４）。ステップＳ８１の処理にて取得したSSD１２２のリストには、２番目のSSD１２２ｂが格納されているので、決定部２２は、次のバックアップ対象があると判定する（ステップＳ９４：Ｙｅｓ）。そして、取得部２１は、次のSSD１２２を取得する（ステップＳ９５）。例えば、取得部２１は、次のSSD１２２としてSSD１２２ｂを取得する。ステップＳ９５の処理の後、処理はステップＳ８４に戻り、それ以降の処理が繰り返される。
【００９４】
そして、上述した処理を最後まで繰り返すと、ステップＳ９４において、次のSSD１２２がないと判定され（ステップＳ９４：Ｎｏ）、図２６のバックアップ処理は終了する。これにより、複数のSSD１２２がある場合でも、バックアップ対象のデータをバックアップすることができる。
【００９５】
次に、RAIDシステム１１１の一部のデータが更新された場合のバックアップ処理について説明する。例えば、図１１のSSD更新処理と同様の処理を各SSD１２２において実行することで、図１９のマップテーブル１４１ａ’に示すように、論理アドレス「0ｘ000」，「0ｘ002」とに示されるデータが更新されたものとする。具体的には、図２０のデータ記憶情報１４２ａ’に示すように、論理アドレス「0ｘ000」に対応付けられた物理アドレス「0ｘ101」が「0ｘ201」に更新され、データ「ＡＡＡ」が「ＡＡＡ＋」に更新され、消去カウント「１」が「２」に更新されたものとする。また、論理アドレス「0ｘ002」に対応付けられた物理アドレス「0ｘ103」が「0ｘ202」に更新され、データ「ＣＣＣ」が「ＣＣＣ＋」に更新され、消去カウント「１」が「２」に更新されたものとする。
【００９６】
また、同様に、図１９のマップテーブル１４１ｂ’に示すように、論理アドレス「0ｘ001」に示されるデータが更新されたものとする。具体的には、図２０のデータ記憶情報１４２ｂ’に示すように、論理アドレス「0ｘ001」に対応付けられた物理アドレス「0ｘ102」が「0ｘ201」に更新され、データ「ＢＣＤ」が「ＢＣＤ＋」に更新され、消去カウント「２」が「３」に更新されたものとする。
【００９７】
さらにまた、図１９のマップテーブル１４１ｎ’に示すように、論理アドレス「0ｘ000」に示されるデータが更新されたものとする。具体的には、図２０のデータ記憶情報１４２ｎ’に示すように、論理アドレス「0ｘ000」に対応付けられた物理アドレス「0ｘ101」が「0ｘ201」に更新され、データ「ＺＺＺ」が「ＺＺＺ＋」に更新され、消去カウント「９」が「１０」に更新されたものとする。同様に、図１９のマップテーブル１４１ｎ’に示すように、論理アドレス「0ｘ001」に示されるデータが更新されたものとする。具体的には、図２０のデータ記憶情報１４２ｎ’に示すように、論理アドレス「0ｘ001」に対応付けられた物理アドレス「0ｘ102」が「0ｘ202」に更新され、データ「ＹＹＹ」が「ＹＹＹ＋」に更新され、消去カウント「９」が「１０」に更新されたものとする。
【００９８】
上述したように、SSD１２２が更新された後に、再度、バックアップ処理を行う場合の動作について以下に説明する。なお、ステップＳ８１乃至Ｓ８３の処理は上述した動作と同様であるので省略する。まず、取得部２１は、バックアップ対象になるデータを識別するための論理アドレス（例えばSSD１２２ａの論理アドレス「0ｘ000」）を取得し（ステップＳ８４）、図１９のマップテーブル１４１ａ’と図２０のデータ記憶情報１４２ａ’とのそれぞれを参照して、取得した論理アドレスに対応付けられた物理アドレス（例えば物理アドレス「0ｘ201」）と消去カウント（例えば消去カウント「２」）とを取得する（ステップＳ８５，Ｓ８６）。
【００９９】
次に、決定部２２は、バックアップ記憶部１３を参照して、バックアップがあるか否かを判定する（ステップＳ８７）。例えば、図１８のバックアップ情報１５１ａには、論理アドレス「0ｘ000」に対応付けられた情報が記憶されているので、決定部２２は、バックアップがあると判定する（ステップＳ８７：Ｙｅｓ）。
【０１００】
続いて、取得部２１は、バックアップ記憶部１３から物理アドレスと消去カウントとを取得する（ステップＳ８８）。例えば、取得部２１は、バックアップ情報５１Ａから、ステップＳ８４にて取得した論理アドレス「0ｘ000」に対応付けられた物理アドレス「0ｘ101」と消去カウント「１」とを取得する。そして、決定部２２は、物理カウントと消去カウントとが一致するか否かを判定する（ステップＳ８９）。例えば、決定部２２は、ステップＳ８５の処理にて取得した物理アドレス「0ｘ201」と、ステップＳ８８の処理にて取得した物理アドレス「0ｘ101」と、を比較する。また同様に、決定部２２は、ステップＳ８６の処理にて取得した消去カウント「１」と、ステップＳ８８の処理にて取得した消去カウント「２」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致しないと判定し（ステップＳ８９：Ｎｏ）、処理はステップＳ９０に進む。なお、決定部２２が物理アドレスと消去カウントとのうち一方が一致しないと判定した場合も、ステップＳ８９の処理にてＮｏと判定され、処理はステップＳ９０に進む。このように、決定部２２は、SSD１２２に記憶された物理アドレスと消去カウントと、バックアップ記憶部１３に記憶された物理アドレスと消去カウントと、に基づいて、バックアップ対象を決定する。
【０１０１】
そして、ステップＳ９０において、取得部２１は、SSD１２２からデータ（バックアップ対象になるデータ）を取得する（ステップＳ９０）。例えば、取得部２１は、図２０のデータ記憶情報１４２ａ’を参照して、ステップＳ８５の処理にて取得した物理アドレス「0ｘ201」に対応付けられたデータ「ＡＡＡ＋」を取得する。続いて、バックアップ記憶制御部２４は、バックアップ記憶部１３に、バックアップ対象になる物理アドレスと消去カウントとデータとを記憶する（ステップＳ９１）。例えば、バックアップ記憶制御部２４は、ステップＳ８５，Ｓ８６，Ｓ９０の処理にてそれぞれ取得した物理アドレス「0ｘ201」と消去カウント「２」とデータ「ＡＡＡ＋」とを、ステップＳ８４の処理にて取得した論理アドレス「0ｘ000」に対応付けて記憶する（例えば図２１のバックアップ情報１５１ａ’の１行目）。
【０１０２】
次に、決定部２２は、次のバックアップ対象があるか否かを判定する（ステップＳ９２）。例えば、図１９のマップテーブル１４１ａ’には、２番目のデータブロックに論理アドレス「0ｘ001」が格納されているので、決定部２２は、次のバックアップ対象があると判定する（ステップＳ９２：Ｙｅｓ）。そして、取得部２１は、次の論理アドレス（例えば論理アドレス「0ｘ001」）を取得する（ステップＳ９３）。
【０１０３】
論理アドレス「0ｘ001」を取得した後、処理はステップＳ８５に戻り、それ以降の処理を繰り返す。例えば、論理アドレス「0ｘ001」に対応付けられた物理アドレス「0ｘ102」と消去カウント「１」とを取得する（ステップＳ８５，Ｓ８６）。次に、決定部２２は、図１８のバックアップ情報１５１ａを参照して、論理アドレス「0ｘ001」に対応付けられたバックアップがあるか否かを判定し（ステップＳ８７）、バックアップがあると判定する（ステップＳ８７：Ｙｅｓ）。
【０１０４】
続いて、取得部２１は、バックアップ記憶部１３から、論理アドレス「0ｘ001」に対応付けられた物理アドレス「0ｘ102」と消去カウント「１」とを取得する（ステップＳ８８）。そして、決定部２２は、ステップＳ８５の処理にて取得した物理アドレス「0ｘ102」と、ステップＳ８８の処理にて取得した物理アドレス「0ｘ102」と、を比較するとともに、ステップＳ８６の処理にて取得した消去カウント「１」と、ステップＳ８８の処理にて取得した消去カウント「１」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致すると判定し（ステップＳ８９：Ｙｅｓ）、処理はステップＳ９２に進む。そして、上述したようにステップＳ９２以降の処理が繰り返される。
【０１０５】
この結果、論理アドレス「0ｘ002」，…の順に、図１９のマップテーブル１４１ａ’に格納された全てのバックアップ対象がバックアップ記憶部１３に記憶される（例えば図２１のバックアップ情報１５１ａ’参照）。一方、ステップＳ９２において、次のバックアップ対象がないと判定された場合（ステップＳ９２：Ｎｏ）、決定部２２は、ステップＳ８１の処理にて取得したSSD１２２のリストを参照して、次のSSD１２２があるか否かを判定し（ステップＳ９４）、次のバックアップ対象がある場合、次のSSD１２２を取得する（ステップＳ９５）。例えば、取得部２１は、次のSSD１２２としてSSD１２２ｂを取得する。ステップＳ９５の処理の後、処理はステップＳ８４に戻り、それ以降の処理が繰り返される。
【０１０６】
そして、上述した処理を最後まで繰り返すと、ステップＳ９４において、次のSSD１２２がないと判定され（ステップＳ９４：Ｎｏ）、図２６のバックアップ処理は終了する。
このように、SSD１２２に記憶された物理アドレスと消去カウント（SSD更新情報）と、バックアップ記憶部１３に記憶された物理アドレスと消去カウント（複製更新情報）と、に基づいて、バックアップ対象になるデータを決定し、バックアップを行うので、独自に管理情報等を生成し記憶する必要がなく、バックアップを行う際の負荷を低減することができる。
【０１０７】
次に、図２７と図２８とを参照してリストア処理について説明する。このリストア処理では、SSD１２２に記憶された図１９のマップテーブル１４１ａ’，１４１ｂ’，…，１４１ｎ’と、図２０のデータ記憶情報１４２ａ’，１４２ｂ’，…，１４２ｎ’とを、図１８のバックアップ情報１５１ａ，１５１ｂ，…，１５１ｎに基づいてリストアする場合について説明する。なお、図２７のリストア処理は、例えば、SSD１２２へのリストアが要求された場合、または、所定のタイミング（例えば定期的）に開始する。
【０１０８】
まず、取得部２１は、RAID制御部１２１からSSD１２２のリストを取得する（ステップＳ１１１）。例えば、取得部２１は、「SSD１２２ａ，SSD１２２ｂ，…SSD１２２ｎ」をSSD１２２のリストとして取得する。続いて、取得部２１は、RAID制御部１２１からSSD特定テーブル１３１（例えば図１５のSSD特定テーブル１３１Ａ）を取得する（ステップＳ１１２）。また、取得部２１は、バックアップ記憶部１３に記憶されたSSD特定テーブル１３１（例えば図１８のSSD特定テーブル１３１Ａ）を取得する（ステップＳ１１３）。
【０１０９】
そして、決定部２２は、SSD特定テーブル１３１の情報が一致しないSSD１２２をマークする（ステップＳ１１４）。具体的には、決定部２２は、ステップＳ１１２の処理にて取得した図１５のSSD特定テーブル１３１Ａと、ステップＳ１１３の処理にて取得した図１８のSSD特定テーブル１３１Ａと、を比較し、一致しない情報を検出して記憶する（マークする）。ここでは、図１５のSSD特定テーブル１３１Ａと図１８のSSD特定テーブル１３１Ａとは一致するので、マークされるSSD１２２は無いものとする。
【０１１０】
次に、取得部２１は、各SSD１２２から消去カウントを取得する（ステップＳ１１５）。例えば、取得部２１は、図２０のデータ記憶情報１４２ａ’，１４２ｂ’，…，１４２ｎ’のそれぞれから消去カウントを取得するとともに、図１８のバックアップ情報１５１ａ，１５１ｂ，…，１５１ｎのそれぞれから消去カウントを取得する。
【０１１１】
続いて、決定部２２は、ステップＳ１１５の処理にて取得した消去カウントに基づいて、各SSD１２２の平均消去カウントを算出する（ステップＳ１１６）。例えば、決定部２２は、SSD１２２ａ，１２２ｂ，…，１２２ｎのそれぞれの平均消去カウントとして、「1.4，2.25，…，10.0」を算出する。また同様に、決定部２２は、バックアップ情報１５１ａ，１５１ｂ，…，１５１ｎのそれぞれに基づくSSD１２２ａ，１２２ｂ，…，１２２ｎの平均消去カウント「1.0，2.0，…，9.9」を算出する。
【０１１２】
そして、決定部２２は、ステップＳ１１６の処理にて算出した平均消去カウントに基づいて、入れ替え対象のSSDの組を決定する（ステップＳ１１７）。具体的には、決定部２２は、SSD１２２に記憶された消去カウントに基づく平均消去カウント「1.4，2.25，…，10.0」と、バックアップ記憶部１３に記憶された消去カウントに基づく平均消去カウント「1.0，2.0，…，9.9」と、を比較し、平均消去カウントの差が大きい順に予め設定された閾値（例えば５）を超えるSSD１２２の組を入れ替え対象として決定する。
【０１１３】
例えば、決定部２２は、SSD１２２ｎの平均消去カウント「10.0」と、バックアップ記憶部１３に記憶されたSSD１２２ａの平均消去カウント「1.0」と、の差が最大になり、かつ、閾値「５」も超えるため、SSD１２２ａとSSD１２２ｎの組を入れ替え対象として決定する。
【０１１４】
次に、SSD記憶制御部２３は、ステップＳ１１７の処理にて決定された入れ替え対象に基づいて、SSD特定テーブルを更新する（ステップＳ１１８）。例えば、SSD記憶制御部２３は、図２２に示すように、SSDの番号の「１」と「ｎ」とを入れ替えたSSD特定テーブル１３１Ｂを更新する。
【０１１５】
続いて、図２８のステップＳ１２１において、論理アドレスを取得する（ステップＳ１２１）。例えば、取得部２１は、図２２のSSD特定テーブル１３１Ｂに基づいて図１８のバックアップ情報１５１ｎ（入れ替えが発生したため）を参照し、最初のデータブロックを示す論理アドレス「0ｘ000」を取得する。そして、決定部２２は、リストア対象が入れ替え対象のSSD１２２、または、ステップＳ１１４の処理にてマークされたSSD１２２であるか否かを判定する（ステップＳ１２２）。ここでは、リストア対象がバックアップ情報１５１ｎになるので、決定部２２は、SSD１２２ｎは入れ替え対象であると判定する（ステップＳ１２２：Ｙｅｓ）。この場合、ステップＳ１２３乃至Ｓ１２６の処理は省略され、処理はステップＳ１２７に進む。なお、ステップＳ１２３乃至Ｓ１２６の処理については後述して説明する。
【０１１６】
ステップＳ１２７において、情報処理装置１０１は、図１１のSSD更新処理を行う（ステップＳ１２７）。ステップＳ１２７のSSD更新処理では、まず、取得部２１は、バックアップ記憶部１３から更新データを取得する（ステップＳ２１）。例えば、取得部２１は、図１８のバックアップ情報１５１ｎを参照して、ステップＳ１２１の処理にて取得した論理アドレス「0ｘ000」に対応付けられたデータ「ＺＺＺ」を更新データとして取得する。
【０１１７】
次に、取得部２１は、SSD１２２から消去カウントが最小になる物理アドレスを取得する（ステップＳ２２）。ここでは、SSD１２２ｎとSSD１２２ａとが入れ替えられているので、取得部２１は、図２０のSSD１２２ａのデータ記憶情報１４２ａ’を参照して、消去カウントの最小値を検出し、検出した消去カウントに対応付けられた物理アドレスを取得する。例えば、取得部２１は、消去カウントが最小になる物理アドレス「0ｘ301」を取得する。続いて、SSD記憶制御部２３は、ステップＳ２１の処理にて取得した更新データを記憶する（ステップＳ２３）。例えば、SSD記憶制御部２３は、ステップＳ２２の処理にて取得した物理アドレス「0ｘ301」により示される記憶領域（SSD１２２ａの記憶領域）に、ステップＳ２１の処理にて取得した更新データ「ＺＺＺ」（SSD１２２ｎのバックアップデータ）を記憶する。また、SSD記憶制御部２３は、消去カウントを１だけインクリメントし（ステップＳ２４）、消去カウント「２」を記憶する。（例えば図２４のデータ記憶情報１４２ａ’’参照）。
【０１１８】
次に、取得部２１は、更新対象の論理アドレスを取得する（ステップＳ２５）。ここでは、図２８のステップＳ１２１（または後述するステップＳ１２９）の処理にて取得した論理アドレス「0ｘ000」を取得する。なお、更新対象の論理アドレスは、ステップＳ１２１（Ｓ１２９）の処理にて取得するので、リストア処理ではステップＳ２５の処理を省略してもよい。そして、SSD記憶制御部２３は、ステップＳ２５（Ｓ１２１，Ｓ１２９）の処理にて取得した論理アドレスと、ステップＳ２２の処理にて取得した物理アドレスと、を対応づけて記憶する（ステップＳ２６）。例えば、SSD記憶制御部２３は、論理アドレス「0ｘ000」と物理アドレス「0ｘ301」とを対応付けて、マップテーブル１４１に記憶する（例えば図２３のマップテーブル１４１ａ’’の１行目参照）。ステップＳ２６の処理の後、図１１のSSD更新処理は終了し、処理は図２８のステップＳ１２８に進む。
【０１１９】
次に、決定部２２は、次のリストア対象があるか否かを判定する（ステップＳ１２８）。例えば、決定部２２は、図１８のバックアップ情報１５１ｎを参照して、２番目のデータブロックに所定の情報（例えば物理アドレス等）が格納（記憶）されているか否かを判定する。図１８の例では、２番目のデータブロックに所定の情報が格納されているので、決定部２２は、次のリストア対象があると判定する（ステップＳ１２８：Ｙｅｓ）。そして、取得部２１は、次の論理アドレスを取得する（ステップＳ１２９）。例えば、取得部２１は、次の論理アドレスとして、２番目のデータブロックを示す論理アドレス「0ｘ102」を取得する。ステップＳ１２９の処理の後、処理はステップＳ１２３に戻りそれ以降の処理が繰り返される。
【０１２０】
この結果、SSD１２２ｎのバックアップ情報１５１ｎに基づいて、SSD１２２ａのデータがリストアされる（例えば図２４のデータ記憶情報１４２ａ’’参照）。このように、更新回数（消去カウント）の多いSSD１２２のデータと、更新回数の少ないSSD１２２のデータと、を入れ替えてリストアするので、RAIDシステム１１１全体の更新回数をほぼ均等にすることができ、複数のSSD１２２から構成されるRAIDシステム１１１全体の寿命を延ばすことができる。
【０１２１】
一方、ステップＳ１２８において、次のリストア対象がないと判定された場合（ステップＳ１２８：Ｎｏ）、決定部２２は、図２７のステップＳ１１１の処理にて取得したSSD１２２のリストと、ステップＳ１１２の処理にて取得したSSD特定テーブル１３１（例えば図２２のSSD特定テーブル１３１Ｂ）を参照して、次のSSD１２２があるか否かを判定する（ステップＳ１３０）。ステップＳ１１１の処理にて取得したSSD１２２のリストには、例えばSSD特定テーブル１３１Ｂの２番目のデータブロックには、SSD１２２ｂを示す情報（SSDの番号）が格納されているので、決定部２２は、次のバックアップ対象があると判定する（ステップＳ１３０：Ｙｅｓ）。そして、取得部２１は、次のSSD１２２を取得する（ステップＳ１３１）。例えば、取得部２１は、次のSSD１２２としてSSD１２２ｂを取得する。ステップＳ１３１の処理の後、処理はステップＳ１２１に戻り、それ以降の処理が繰り返される。
【０１２２】
例えば、取得部２１は、図１８のバックアップ情報１５１ｂを参照し、最初のデータブロックを示す論理アドレス「0ｘ000」を取得する（ステップＳ１２１）。そして、決定部２２は、リストア対象が入れ替え対象のSSD１２２、または、ステップＳ１１４の処理にてマークされたSSD１２２であるか否かを判定する（ステップＳ１２２）。ここでは、リストア対象がバックアップ情報１５１ｂになるので、決定部２２は、SSD１２２ｂは入れ替え対象でない、かつ、マークされていないと判定し（ステップＳ１２２：Ｎｏ）、処理はステップＳ１２３に進む。
【０１２３】
ステップＳ１２３において、取得部２１は、バックアップ記憶部１３から物理アドレスと消去カウントとを取得する（ステップＳ１２３）。例えば、取得部２１は、図１８のバックアップ情報１５１ｂから、ステップＳ１２１にて取得した論理アドレス「0ｘ000」に対応付けられた物理アドレス「0ｘ101」と消去カウント「２」とを取得する。
【０１２４】
次に、取得部２１は、SSD１２２から物理アドレスを取得する（ステップＳ１２４）。例えば、取得部２１は、図１９のマップテーブル１４１ｂ’を参照し、ステップＳ１２１の処理にて取得した論理アドレス「0ｘ000」に対応付けられた物理アドレス「0ｘ101」を取得する。さらに、取得部２１は、SSD１２２から消去カウントを取得する（ステップＳ１２５）。例えば、取得部２１は、図２０のデータ記憶情報１４２ｂ’を参照して、ステップＳ１２４の処理にて取得した物理アドレス「0ｘ101」に対応付けられた消去カウント「２」を取得する。
【０１２５】
そして、決定部２２は、物理カウントと消去カウントとが一致するか否かを判定する（ステップＳ１２６）。例えば、決定部２２は、ステップＳ１２３の処理にて取得した物理アドレス「0ｘ101」と、ステップＳ１２４の処理にて取得した物理アドレス「0ｘ101」と、を比較するとともに、ステップＳ１２３の処理にて取得した消去カウント「２」と、ステップＳ１２５の処理にて取得した消去カウント「２」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致すると判定し（ステップＳ１２６：Ｙｅｓ）、ステップＳ１２７のSSD更新処理は省略され、処理はステップＳ１２８に進む。そして、上述したようにステップＳ１２８以降の処理が繰り返される。
【０１２６】
例えば、取得部２１は、図１８のバックアップ情報１５１ｂを参照し、次のデータブロックを示す論理アドレス「0ｘ001」を取得する（ステップＳ１２９）。そして、決定部２２は、リストア対象が入れ替え対象のSSD１２２、または、ステップＳ１１４の処理にてマークされたSSD１２２であるか否かを判定する（ステップＳ１２２）。ここでは、リストア対象がバックアップ情報１５１ｂになるので、決定部２２は、SSD１２２ｂは入れ替え対象でない、かつ、マークされていないと判定し（ステップＳ１２２：Ｎｏ）、処理はステップＳ１２３に進む。なお、一度ステップＳ１２２の処理にてＮｏと判定された場合には、同じSSD１２２内の処理を行う際にステップＳ１２２の処理は省略してもよい。
【０１２７】
次に、取得部２１は、バックアップ記憶部１３から物理アドレスと消去カウントとを取得する（ステップＳ１２３）。例えば、取得部２１は、バックアップ情報１５１ｂから、ステップＳ１２９にて取得した論理アドレス「0ｘ001」に対応付けられた物理アドレス「0ｘ102」と消去カウント「２」とを取得する。
【０１２８】
次に、取得部２１は、SSD１２２から物理アドレスを取得する（ステップＳ１２４）。例えば、取得部２１は、図１９のマップテーブル１４１ｂ’を参照し、ステップＳ１２１の処理にて取得した論理アドレス「0ｘ001」に対応付けられた物理アドレス「0ｘ201」を取得する。さらに、取得部２１は、SSD１２２から消去カウントを取得する（ステップＳ１２５）。例えば、取得部２１は、図２０のデータ記憶情報１４２ｂ’を参照して、ステップＳ１２４の処理にて取得した物理アドレス「0ｘ201」に対応付けられた消去カウント「３」を取得する。
【０１２９】
そして、決定部２２は、物理カウントと消去カウントとが一致するか否かを判定する（ステップＳ１２６）。例えば、決定部２２は、ステップＳ１２３の処理にて取得した物理アドレス「0ｘ102」と、ステップＳ１２４の処理にて取得した物理アドレス「0ｘ201」と、を比較する。また同様に、決定部２２は、ステップＳ１２３の処理にて取得した消去カウント「２」と、ステップＳ１２５の処理にて取得した消去カウント「３」と、を比較する。ここでは、決定部２２は、物理アドレスと消去カウントとの両方が一致しないと判定し（ステップＳ１２６：Ｎｏ）、処理はステップＳ１２７に進む。なお、決定部２２が物理アドレスと消去カウントとのうち一方が一致しないと判定した場合も、ステップＳ１２６の処理にてＮｏと判定され、処理はステップＳ１２７に進む。このように、決定部２２は、SSD１２２に記憶された物理アドレスと消去カウントと、バックアップ記憶部１３に記憶された物理アドレスと消去カウントと、に基づいて、リストア対象を決定する。
【０１３０】
続いて、ステップＳ１２７において、情報処理装置１０１は、図１１のSSD更新処理を行う（ステップＳ１２７）。ここでは、まず、取得部２１は、バックアップ記憶部１３から更新データを取得する（ステップＳ２１）。例えば、取得部２１は、図１８のバックアップ情報１５１ｂを参照して、図２８のステップＳ１２３の処理にて取得した物理アドレス「0ｘ102」に対応付けられたデータ「ＢＣＤ」を更新データとして取得する。
【０１３１】
次に、取得部２１は、SSD１２２から消去カウントが最小になる物理アドレスを取得する（ステップＳ２２）。例えば、取得部２１は、消去カウントが最小になる物理アドレス「0ｘ301」を取得する。続いて、SSD記憶制御部２３は、ステップＳ２１の処理にて取得した更新データを記憶する（ステップＳ２３）。例えば、SSD記憶制御部２３は、ステップＳ２２の処理にて取得した物理アドレス「0ｘ301」により示される記憶領域に、ステップＳ２１の処理にて取得したデータ「ＢＣＤ」を記憶する。また、SSD記憶制御部２３は、消去カウントを１だけインクリメント（ステップＳ２４）した消去カウント「３」を、物理アドレス「0ｘ301」に対応付けて記憶する（例えば図２４のデータ記憶情報１４２ｂ’’）。
【０１３２】
次に、取得部２１は、更新対象の論理アドレスを取得する（ステップＳ２５）。ここでは、図２８のステップＳ１２９の処理にて、図１８のバックアップ情報１５１ｂを参照して取得した論理アドレス「0ｘ001」を取得する。そして、SSD記憶制御部２３は、ステップＳ２５（Ｓ１２９）の処理にて取得した論理アドレスと、ステップＳ２２の処理にて取得した物理アドレスと、を対応づけて記憶する（ステップＳ２６）。例えば、SSD記憶制御部２３は、論理アドレス「0ｘ001」と物理アドレス「0ｘ301」とを対応付けて、マップテーブル１４１に記憶する（例えば図２３のマップテーブル１４１b’’の２行目参照）。ステップＳ２６の処理の後、図１１のSSD更新処理は終了し、処理は図２８のステップＳ１２８に進む。そして、同様にステップＳ１２８以降の処理が繰り返される。
【０１３３】
この結果、図１８のバックアップ情報１５１に基づいて、全てのリストア対象がSSD１２２に記憶される（例えば図２３と図２４参照）。このように、SSD１２２に記憶された物理アドレスと消去カウントと、バックアップ記憶部１３に記憶された物理アドレスと消去カウントと、に基づいて、リストア対象になるデータを決定し、データのリストアを行うので、バックアップ処理と同様に、独自に管理情報等を生成し記憶する必要がなく、リストアを行う際の負荷を低減することができる。
【０１３４】
＜第３実施形態＞
次に、本発明の第３実施形態にかかる情報処理システムについて図２９を参照して説明する。
第３実施形態に係る情報処理システム２０１は、
SSD（Solid State Drive）２１１に所定のデータを記憶するとともに、記憶した当該データを格納した記憶領域の物理アドレスと当該記憶領域の更新回数とをSSD更新情報として、データを識別するデータ識別情報に対応付けてSSD２１１に記憶するSSD記憶制御部２２１（SSD記憶制御手段）と、
SSD２１１に記憶されたデータの複製データと、SSD更新情報を複製した複製更新情報と、データ識別情報と、を対応付けてバックアップ記憶部２１２に記憶するバックアップ記憶制御部２２２（バックアップ記憶制御手段）と、
SSD２１１からSSD更新情報を取得するとともに、取得したSSD更新情報に対応付けられたデータ識別情報と同じデータ識別情報が対応付けられた複製更新情報をバックアップ記憶部２１２から取得する取得部２２３（取得手段）と、
取得部２２３にて取得したSSD更新情報と複製更新情報とに基づいて、バックアップ記憶部２１２に記憶するデータを決定する決定部２２４（決定手段）と、
を備える。
【０１３５】
上記構成により、SSD記憶制御部２２１は、SSD２１１に所定のデータと、当該データを格納した記憶領域の物理アドレスおよび当該記憶領域の更新回数（SSD更新情報）とをデータ識別情報に対応付けて記憶する。また、バックアップ記憶制御部２２２は、SSD２１１に記憶されたデータの複製データと、SSD更新情報を複製した複製更新情報と、データ識別情報と、を対応付けてバックアップ記憶部２１２に記憶する。そして、取得部２２３は、同じデータ識別情報が対応付けられたSSD更新情報と複製更新情報とを取得し、決定部２２４は、取得したSSD更新情報と複製更新情報とに基づいて、バックアップ記憶部２１２に記憶するデータを決定する。このように、SSD２１１に記憶されたSSD更新情報と、バックアップ記憶部２１２に記憶された複製更新情報と、に基づいて、バックアップ対象になるデータを決定するので、独自に管理情報等を生成し記憶する必要がなく、SSD２１１を利用してバックアップを行う際の負荷を低減することができる。
【０１３６】
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
【０１３７】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置等の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【０１３８】
（付記１）
SSD（Solid State Drive）に所定のデータを記憶するとともに、記憶した当該データを格納した記憶領域の物理アドレスと当該記憶領域の更新回数とをSSD更新情報として、前記データを識別するデータ識別情報に対応付けて前記SSDに記憶するSSD記憶制御手段と、
前記SSDに記憶された前記データの複製データと、前記SSD更新情報を複製した複製更新情報と、前記データ識別情報と、を対応付けてバックアップ記憶部に記憶するバックアップ記憶制御手段と、
前記SSDから前記SSD更新情報を取得するとともに、取得した前記SSD更新情報に対応付けられた前記データ識別情報と同じ前記データ識別情報が対応付けられた前記複製更新情報を前記バックアップ記憶部から取得する取得手段と、
前記取得手段にて取得した前記SSD更新情報と前記複製更新情報とに基づいて、前記バックアップ記憶部に記憶する前記データを決定する決定手段と、
を備える情報処理装置。
【０１３９】
上記構成により、SSD記憶制御手段は、SSDに所定のデータと、当該データを格納した記憶領域の物理アドレスおよび当該記憶領域の更新回数（SSD更新情報）とをデータ識別情報に対応付けて記憶する。また、バックアップ記憶制御手段は、SSDに記憶されたデータの複製データと、SSD更新情報を複製した複製更新情報と、データ識別情報と、を対応付けて記憶する。そして、取得手段は、同じデータ識別情報が対応付けられたSSD更新情報と複製更新情報とを取得し、決定手段は、取得したSSD更新情報と複製更新情報とに基づいて、バックアップ記憶部に記憶するデータを決定する。このように、SSDに記憶されたSSD更新情報と、バックアップ記憶部に記憶された複製更新情報と、に基づいて、バックアップ対象になるデータを決定するので、独自に管理情報等を生成し記憶する必要がなく、SSDを利用してバックアップを行う際の負荷を低減することができる。
【０１４０】
（付記２）
付記１に記載の情報処理装置であって、
前記決定手段は、前記取得手段にて取得した前記SSD更新情報と前記複製更新情報とが一致するか否かを判定し、前記SSD更新情報と前記複製更新情報とが一致しないと判定した場合に、当該SSD更新情報に対応付けられた前記データを、前記バックアップ記憶部に記憶する前記データとして決定する、
情報処理装置。
【０１４１】
上記構成により、決定手段は、SSD更新情報と複製更新情報とが一致しない場合に、SSD更新情報に対応付けられたデータを、バックアップ記憶部に記憶するデータとして決定する。この結果、独自に管理情報等を生成し参照する必要がなく、簡単な構成でバックアップ対象になるデータを決定することができる。
【０１４２】
（付記３）
付記２に記載の情報処理装置であって、
前記決定手段は、前記SSD更新情報に含まれる前記物理アドレスと、前記複製更新情報に含まれる前記物理アドレスと、が一致するか否かを判定するとともに、前記SSD更新情報に含まれる前記更新回数と、前記複製更新情報に含まれる前記更新回数と、が一致するか否かを判定し、前記物理アドレスの判定結果と前記更新回数の判定結果とのうち少なくとも一方が一致しない場合に、当該SSD更新情報に対応付けられた前記データを、前記バックアップ記憶部に記憶する前記データとして決定する、
情報処理装置。
【０１４３】
上記構成により、決定手段は、SSD更新情報と複製更新情報とのそれぞれに含まれる物理アドレスと、更新回数と、が一致するか否かを判定し、物理アドレスと更新回数との判定結果のうち少なくとも一方が一致しない場合に、SSD更新情報に対応付けられたデータを、バックアップ記憶部に記憶するデータとして決定する。この結果、独自に管理情報等を生成し参照する必要がなく、簡単な構成で確実にバックアップ対象になるデータを決定することができる。
【０１４４】
（付記４）
付記１乃至３のいずれかに記載の情報処理装置であって、
前記SSD記憶制御手段は、前記データ識別情報に対応付けられた前記データの内容を更新する場合に、前記更新回数が最小になる記憶領域を検出し、検出した当該記憶領域に更新する前記データの内容を記憶するとともに、検出した前記記憶領域の物理アドレスと、当該記憶領域に対応付けられた更新回数に１を加えた更新回数と、を新たなSSD更新情報として、前記データ識別情報に対応付けて記憶する、
情報処理装置。
【０１４５】
上記構成により、SSD記憶制御手段は、データ識別情報に対応付けられたデータの内容を更新する場合に、更新回数が最小になる記憶領域を検出し、検出した記憶領域に更新するデータの内容を記憶する。そして、SSD記憶制御手段は、検出した記憶領域の物理アドレスと、更新回数に１を加えた更新回数と、を新たなSSD更新情報として、データ識別情報に対応付けて記憶する。この結果、更新データを記憶する記憶領域をほぼ均等に分散させるので、SSDの寿命を延ばすことができる。また、新たなSSD更新情報を記憶するので、バックアップ対象を決定する際に、SSD更新情報を再度利用することができる。
【０１４６】
（付記５）
付記１乃至４のいずれかに記載の情報処理装置であって、
前記取得手段は、前記決定手段にて決定した前記バックアップ記憶部に記憶する前記データを前記SSDから取得し、
前記バックアップ記憶制御手段は、前記取得手段にて取得した前記データの複製データと、当該データに対応付けられたSSD更新情報を複製した複製更新情報と、取得した前記データを識別する前記データ識別情報と、を対応付けて前記バックアップ記憶部に記憶する、
情報処理装置。
【０１４７】
上記構成により、バックアップ記憶制御手段は、決定手段にて決定し、取得手段にて取得したデータの複製データと、当該データに対応付けられたSSD更新情報を複製した複製更新情報と、を対応付けて記憶する。この結果、バックアップ記憶部に新たに複製更新情報が記憶されるので、再度、決定手段がバックアップ対象になるデータを決定するための複製更新情報を簡単な構成で記憶することができる。
【０１４８】
（付記６）
付記１乃至５のいずれかに記載の情報処理装置であって、
前記情報処理装置が複数の前記SSDを１つの記憶装置として制御する場合に、
前記バックアップ記憶制御手段は、前記データと前記SSD更新情報とが記憶された前記SSDを特定するSSD特定情報に対応付けて、当該データを複製した前記複製データと当該SSD更新情報を複製した前記複製更新情報とを前記バックアップ記憶部に記憶し、
前記取得手段は、前記SSD毎に記憶された全ての前記SSD更新情報に含まれる前記更新回数と、前記バックアップ記憶部に記憶された前記SSD毎の全ての前記複製更新情報に含まれる前記更新回数と、の少なくとも一方を前記各SSD全体の更新回数として取得し、
前記決定手段は、前記取得手段にて取得した前記各SSD全体の更新回数に基づいて、前記複製データを記憶する前記SSDを決定する、
情報処理装置。
【０１４９】
上記構成により、複数のSSDを１つの記憶装置として制御する場合に、バックアップ記憶制御手段は、データとSSD更新情報とが記憶されたSSDを特定するSSD特定情報に対応付けて、複製データと複製更新情報とを記憶する。そして、取得手段は、SSD毎に記憶された全てのSSD更新情報に含まれる更新回数と、バックアップ記憶部に記憶されたSSD毎の全ての複製更新情報に含まれる更新回数と、の少なくとも一方を各SSD全体の更新回数として取得し、決定手段は、取得した各SSD全体の更新回数に基づいてSSDに記憶する複製データを決定する。このように、複数のSSDが存在する場合にリストア対象のデータを記憶するSSDを決定するので、例えば複数のSSDのそれぞれの更新回数を均等にし、１つの記憶装置としての寿命を延ばすことができる。
【０１５０】
（付記７）
付記６に記載の情報処理装置であって、
前記決定手段は、前記取得手段にて取得した前記各SSD全体の更新回数のうち特定の前記SSD全体の更新回数が、取得した複数の前記SSD全体の更新回数の平均値に近づくように、前記複製データを記憶する前記SSDの組を決定し、
前記SSD記憶制御手段は、前記決定手段にて決定した一方のSSDに対応付けられた複製データを他方のSSDに記憶するとともに、前記他方のSSDに対応付けられた複製データを前記一方のSSDに記憶する、
情報処理装置。
【０１５１】
上記構成により、決定手段は、取得した特定のSSD全体更新回数が複数のSSD全体の更新回数の平均値に近づくように複製データを記憶するSSDの組を決定する。そして、SSD記憶制御手段は、決定した一方のSSDに対応付けられた複製データを他方のSSDに記憶するとともに、他方のSSDに対応付けられた複製データを一方のSSDに記憶する。このように、検出したSSDの組を入れ替えてデータの復元を行うので、各SSDの使用頻度がほぼ均等になるように制御することができる。この結果、各SSDの寿命が平準化され、各SSDをほぼ同じタイミングで交換することができるので、SSDの管理の負担を低減することができる。
【０１５２】
（付記８）
情報処理装置に、
SSD（Solid State Drive）に所定のデータを記憶するとともに、記憶した当該データを格納した記憶領域の物理アドレスと当該記憶領域の更新回数とをSSD更新情報として、前記データを識別するデータ識別情報に対応付けて前記SSDに記憶するSSD記憶制御手段と、
前記SSDに記憶された前記データの複製データと、前記SSD更新情報を複製した複製更新情報と、前記データ識別情報と、を対応付けてバックアップ記憶部に記憶するバックアップ記憶制御手段と、
前記SSDから前記SSD更新情報を取得するとともに、取得した前記SSD更新情報に対応付けられた前記データ識別情報と同じ前記データ識別情報が対応付けられた前記複製更新情報を前記バックアップ記憶部から取得する取得手段と、
前記取得手段にて取得した前記SSD更新情報と前記複製更新情報とに基づいて、前記バックアップ記憶部に記憶する前記データを決定する決定手段と、
を実現するためのプログラム。
【０１５３】
（付記９）
付記８に記載のプログラムであって、
前記決定手段は、前記取得手段にて取得した前記SSD更新情報と前記複製更新情報とが一致するか否かを判定し、前記SSD更新情報と前記複製更新情報とが一致しないと判定した場合に、当該SSD更新情報に対応付けられた前記データを、前記バックアップ記憶部に記憶する前記データとして決定する、
プログラム。
【０１５４】
（付記１０）
SSD（Solid State Drive）に所定のデータを記憶するとともに、記憶した当該データを格納した記憶領域の物理アドレスと当該記憶領域の更新回数とをSSD更新情報として、前記データを識別するデータ識別情報に対応付けて前記SSDに記憶し、
前記SSDに記憶された前記データの複製データと、前記SSD更新情報を複製した複製更新情報と、前記データ識別情報と、を対応付けてバックアップ記憶部に記憶し、
前記SSDから前記SSD更新情報を取得するとともに、取得した前記SSD更新情報に対応付けられた前記データ識別情報と同じ前記データ識別情報が対応付けられた前記複製更新情報を前記バックアップ記憶部から取得し、
取得した前記SSD更新情報と前記複製更新情報とに基づいて、前記バックアップ記憶部に記憶する前記データを決定する、
情報処理方法。
【符号の説明】
【０１５５】
１      情報処理装置
１１    演算部
１２    SSD
１３    バックアップ記憶部
２１    取得部
２２    決定部
２３    SSD記憶制御部
２４    バックアップ記憶制御部
１０１  情報処理装置
１１１  RAIDシステム
１２１  RAID制御部
１２２  SSD
２０１  情報処理装置
２１１  SSD
２１２  バックアップ記憶部
２２１  SSD記憶制御部
２２２  バックアップ記憶制御部
２２３  取得部
２２４  決定部
【図１】
2014119948.tif 000003
【図２】
2014119948.tif 000004
【図３】
2014119948.tif 000005
【図４】
2014119948.tif 000006
【図５】
2014119948.tif 000007
【図６】
2014119948.tif 000008
【図７】
2014119948.tif 000009
【図８】
2014119948.tif 000010
【図９】
2014119948.tif 000011
【図１０】
2014119948.tif 000012
【図１１】
2014119948.tif 000013
【図１２】
2014119948.tif 000014
【図１３】
2014119948.tif 000015
【図１４】
2014119948.tif 000016
【図１５】
2014119948.tif 000017
【図１６】
2014119948.tif 000018
【図１７】
2014119948.tif 000019
【図１８】
2014119948.tif 000020
【図１９】
2014119948.tif 000021
【図２０】
2014119948.tif 000022
【図２１】
2014119948.tif 000023
【図２２】
2014119948.tif 000024
【図２３】
2014119948.tif 000025
【図２４】
2014119948.tif 000026
【図２５】
2014119948.tif 000027
【図２６】
2014119948.tif 000028
【図２７】
2014119948.tif 000029
【図２８】
2014119948.tif 000030
【図２９】
2014119948.tif 000031