(57)【要約】【課題】情報処理装置の信頼性を向上させる。【解決手段】主電源の電力供給停止時に副電源から電力の供給を受けて第１の記憶装置からのデータを第２の記憶装置８に書き込ませる制御装置７は、副電源が電力を供給可能な残供給時間を取得する残供給時間取得部２６と、データの書き込み時にエラーが発生した際に、残供給時間取得部２６が取得した残供給時間に基づいて、第１の記憶装置から第２の記憶装置８へのデータの書き込みのリトライ回数を設定するリトライ回数設定部２５と、をそなえる。【選択図】図２
2015115051.tif 000002
【特許請求の範囲】
【請求項１】
主電源の電力供給停止時に副電源から電力の供給を受けて第１の記憶装置からのデータを第２の記憶装置に書き込ませる制御装置であって、
前記副電源が電力を供給可能な残供給時間を取得する残供給時間取得部と、
前記データの書き込み時にエラーが発生した際に、前記残供給時間取得部が取得した前記残供給時間に基づいて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みのリトライ回数を設定するリトライ回数設定部と、
をそなえることを特徴とする制御装置。
【請求項２】
前記第２の記憶装置は、該第２の記憶装置への電源切断前にパワーオフシーケンスが実行される記憶装置であり、
前記リトライ回数設定部は、前記第２の記憶装置の前回のパワーオフシーケンスに要した所要時間にさらに基づいて前記リトライ回数を設定する
ことを特徴とする請求項１記載の制御装置。
【請求項３】
前記主電源の前回の電力供給停止時の前記第１の記憶装置から前記第２の記憶装置へのデータ転送時間を記録する記録部をさらにそなえ、
前記リトライ回数設定部は、前記データ転送時間にさらに基づいて前記リトライ回数を設定する
ことを特徴とする請求項１又は２記載の制御装置。
【請求項４】
前記第１の記憶装置内のデータについて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みの優先度を記憶する優先度情報をそなえ、
前記リトライ回数設定部は、前記優先度情報をさらに基づいて前記リトライ回数を設定する
ことを特徴とする請求項１〜３のいずれか１項に記載の制御装置。
【請求項５】
前記リトライ回数設定部は、前記優先度情報に基づいて前記第１の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定することを特徴とする請求項４記載の制御装置。
【請求項６】
前記リトライ回数設定部は、前記第１の記憶装置と前記第２の記憶装置との間で利用可能なデータ転送リンク数にも基づいて前記リトライ回数を設定することを特徴とする請求項１〜５のいずれか１項に記載の制御装置。
【請求項７】
主電源の電力供給停止時に副電源から電力の供給を受けて第１の記憶装置からのデータを第２の記憶装置に書き込ませる制御方法であって、
前記副電源が電力を供給可能な残供給時間を取得し、
前記データの書き込み時にエラーが発生した際に、取得した前記残供給時間に基づいて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みのリトライ回数を設定する、
ことを特徴とする制御方法。
【請求項８】
主電源の電力供給停止時に副電源から電力の供給を受けて第１の記憶装置からのデータを第２の記憶装置に書き込ませる制御プログラムであって、
前記副電源が電力を供給可能な残供給時間を取得し、
前記データの書き込み時にエラーが発生した際に、取得した前記残供給時間に基づいて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みのリトライ回数を設定する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
ストレージ装置にそなえられているControl Module（ＣＭ）等の情報処理装置では、停電等の発生時に、Central Processing Unit（ＣＰＵ）配下のキャッシュメモリ内のデータを、System Capacitor Unit（ＳＣＵ）と呼ばれる停電時給電ユニットからの電力を用いて不揮発性メモリに退避させる。そして、次に情報処理装置を起動する際に、不揮発性メモリに退避（バックアップ）させたデータがキャッシュメモリに戻され、情報処理装置の処理が再開される。なお、以下の説明では、停電など、情報処理装置への電力供給が絶たれる状況を総称して「停電」と呼ぶ。
【０００３】
キャッシュメモリのデータのバックアップ）先のメモリとして、ＮＡＮＤ型フラッシュメモリが使用されてきたが、最近では、Serial Advanced Technology Attachment（ＳＡＴＡ）準拠のSolid State Drive（ＳＳＤ）（以下、ＳＡＴＡ−ＳＳＤと呼ぶ）が多く用いられるようになっている。
ＳＡＴＡ−ＳＳＤは、電源の切断前に、Ｓｔａｎｄｂｙ、Ｓｔａｎｄｂｙ  Ｉｍｍｅｄｉａｔｅ、Ｓｌｅｅｐ等のコマンドが実行され、パワーオフ（Ｐ−ＯＦＦ）シーケンス（ＳＥＱ）を実行する必要がある。パワーオフシーケンスを実行せずに電力供給が絶たれると、期待外のパワーオフが発生して、ＳＡＴＡ−ＳＳＤが故障する可能性がある。ここで、ＳｔａｎｄｂｙコマンドはＳＡＴＡ−ＳＳＤをスタンドバイモードに移行させるコマンドであり、Ｓｔａｎｄｂｙ  ＩｍｍｅｄｉａｔｅコマンドはＳＡＴＡ−ＳＳＤを即時にスタンドバイモードに移行させるコマンである。又、Ｓｌｅｅｐコマンドは、ＳＡＴＡ−ＳＳＤスリープモードに移行させるコマンドである。これらのコマンドやパワーオフシーケンスはＡＴＡにおいて一般的な概念であるため、その詳細な説明は省略する。
【０００４】
図１４は、従来の情報処理装置１０１の構成を示す図である。
情報処理装置１０１は、ＣＰＵ１０２、メモリコントローラ１０３、キャッシュメモリ１０４、電源供給部１０５、停電時給電部１０６、バックアップ制御部１０７、及びＳＡＴＡ−ＳＳＤ１０８をそなえる。
ＣＰＵ１０２は、種々の制御や演算を行なう処理装置であり、Operating System（ＯＳ）やプログラムを実行することにより、種々の機能を実現する。
【０００５】
メモリコントローラ１０３は、ＣＰＵ１０２と後述するキャッシュメモリ１０４との間、及びＣＰＵ１０２と後述するバックアップ制御部１０７との間、及びキャッシュメモリ１０４とバックアップ制御部１０７との間のデータの転送を制御する。
キャッシュメモリ１０４は、ＣＰＵ１０２に対して読み書きされるデータ（ユーザデータ）を、一時的に記憶する高速のメモリである。キャッシュメモリ１０４は、ＣＰＵ１０２内部に設けられることが多い。
【０００６】
ＳＡＴＡ−ＳＳＤ１０８は、停電等の発生時に、キャッシュメモリ１０４に記憶されているデータをバックアップする先のメモリである。以下、ＳＡＴＡ−ＳＳＤ１０８をＳＳＤ１０８とも呼ぶ。
電源供給部１０５は、外部からＡＣ電力を供給されて、ＣＰＵ１０２、メモリコントローラ１０３、キャッシュメモリ１０４、停電時給電部１０６、バックアップ制御部１０７、及びＳＳＤ１０８にＤＣ電力を供給する電源である。
【０００７】
停電時給電部１０６は、コンデンサ１１４をそなえるＳＣＵである。停電時給電部１０６は、電源供給部１０５からＤＣ電力の供給を受け、コンデンサ１１４に蓄電を行なう。停電時に、停電時給電部１０６は、コンデンサ１１４に蓄電されている電力を、メモリコントローラ１０３、キャッシュメモリ１０４、バックアップ制御部１０７、及びＳＳＤ１０８に供給する。
【０００８】
バックアップ制御部１０７は、停電時に、停電時給電部１０６からＤＣ電力の給電を受けて、キャッシュメモリ１０４に格納されているデータをＳＳＤ１０８にバックアップするための制御を行なう。
バックアップ制御部１０７は、Peripheral Component Interconnect Express（ＰＣＩｅ）インタフェース（ＩＦ）制御部１２１、ＳＡＴＡ  ＩＦ部１２２、非データDirect Memory Access（ＤＭＡ）部１２３、ライトＤＭＡ部１２４、及び停電シーケンス（ＳＥＱ）部１２５をそなえる。
【０００９】
情報処理装置１０１において、メモリコントローラ１０３とバックアップ制御部１０７とは、４レーンのＰＣＩｅリンク１１１によって接続されている。このＰＣＩｅリンク１１１を介して、キャッシュメモリ１０４からＳＳＤ１０８にバックアップされるユーザデータが、キャッシュメモリ１０４からメモリコントローラ１０３経由でバックアップ制御部７に送られる。
【００１０】
又、バックアップ制御部１０７とＳＳＤ１０８とは、ＳＡＴＡリンク１１２を介して接続されている。このＳＡＴＡリンク１１２を介して、キャッシュメモリ１０４からＳＳＤ１０８にバックアップされるユーザデータが、バックアップ制御部１０７からＳＳＤ１０８に送られる。
ＰＣＩｅ  ＩＦ制御部１２１は、情報処理装置１０１のメモリコントローラ１０３とバックアップ制御部１０７との間のＰＣＩｅリンク１１１を介した通信を制御する処理部である。
【００１１】
ＳＡＴＡ  ＩＦ部１２２は、バックアップ制御部１０７とＳＳＤ１０８との間のＳＡＴＡリンク１１２を介した通信を制御する処理部である。
非データＤＭＡ部１２３は、情報処理装置１０１のメモリコントローラ１０３とＳＳＤ１０８との間で、コマンド等の非データの転送を行なう処理部である。例えば、非データＤＭＡ部１２３は、バックアップデータのＳＳＤ１０８へのライト完了後に、ＳＳＤ１０８にパワーオフシーケンスを実行させるために、ＳＳＤ１０８にＳｔａｎｄｂｙ  Ｉｍｍｅｄｉａｔｅコマンドを実行する。
【００１２】
ライトＤＭＡ部１２４は、メモリコントローラ１０３とＳＳＤ１０８との間で、ユーザデータのダイレクトメモリアクセスによるライトを行なう処理部である。例えば、ライトＤＭＡ部１２４は、キャッシュメモリ１０４からＳＳＤ１０８にバックアップするデータを、キャッシュメモリ１０４からメモリコントローラ１０３経由でＳＳＤ１０８にライトする。
【００１３】
停電シーケンス部１２５は、情報処理装置１０１において停電が発生した際に、停電シーケンスを実行する。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開平６−３０９２３４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
ところで、停電時給電部１０６は、バックアップが行なわれる情報処理装置のライフタイム（例えば５年）が終了するまで、停電処理の間電力を給電可能であればよい。ただし、コンデンサ１１４の給電可能時間は、一般に、経年による劣化が大きいため、情報処理装置１０１の出荷時には、コンデンサ１１４の容量が、ライフタイム終了後にバックアップ可能な容量、例えば、停電処理時間の２倍程度の時間、電力を供給可能な容量に選定される。
【００１６】
このため、情報処理装置１０１の出荷から２〜３年程度は、停電時に停電時給電部１０６が供給可能な電力には大きなマージンがある。このため、キャッシュメモリ１０４からＳＳＤ１０８へのデータのバックアップ時にＳＳＤ１０８へのライトエラーが発生した場合でも、リトライを何度も実行して、データを確実にバックアップすることができる。
しかし、従来の情報処理装置１０１においては、キャッシュメモリ１０４からＳＳＤ１０８へのバックアップデータのライト時のエラーリトライ回数は固定値（例えば８回）に設定されている。このため、停電時給電部１０６に蓄電されている電力を、バックアップデータのライトリトライを多く実行するために使用することができない。このため、停電時給電部１０６が新しいうちにコンデンサ１１４に多く蓄電されている電力を、バックアップデータのライトリトライに有効活用することができない。
【００１７】
一方で、前述のように、ＳＳＤ１０８は、パワーオフシーケンスを実行せずに電力供給が絶たれると、期待外のパワーオフが発生し、ＳＳＤ１０８が故障する可能性がある。運良くＳＳＤ１０８が故障を免れたとしても、情報処理装置１０１に次に電源が投入された際に、ＳＳＤ１０８の起動時間が異常に長くなったり、ＳＳＤ１０８への初回のライト時間が異常に増加してしまう。
【００１８】
例えば、期待外パワーオフ後のＳＳＤ１０８のパワーオン（Ｐ−ＯＮ）は、通常のＳＳＤ１０８のパワーオン時間の１００倍以上遅くなる。又、ＳＳＤ１０８への初回ライト時間は、正常時の数百ミリ秒が、数十秒と異常に長くなってしてしまう。
つまり、停電時給電部１０６のコンデンサ１１４が古くなった場合には、コンデンサ１１４の給電可能時間が短くなるため、停電時のバックアップデータのライトリトライ中に、停電時給電部１０６からの給電が終了するおそれがある。この場合、ＳＳＤ１０８のパワーオフシーケンスが実行される前にＳＳＤ１０８がパワーオフされ、上述の如く、ＳＳＤ１０８の期待外のパワーオフが発生し、ＳＳＤ１０８が故障する可能性がある。
【００１９】
このため、情報処理装置において、ＳＡＴＡ−ＳＳＤへのデータバックアップ時のリトライ回数を最適な値に設定することにより、情報処理装置の信頼性を向上させることが望ましい。
上記課題に鑑みて、１つの側面では、本発明は、情報処理装置の信頼性を向上させることを目的とする。
【００２０】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００２１】
このため、主電源の電力供給停止時に副電源から電力の供給を受けて第１の記憶装置からのデータを第２の記憶装置に書き込ませる制御装置は、前記副電源が電力を供給可能な残供給時間を取得する残供給時間取得部と、前記データの書き込み時にエラーが発生した際に、前記残供給時間取得部が取得した前記残供給時間に基づいて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みのリトライ回数を設定するリトライ回数設定部と、をそなえる。
【００２２】
又、主電源の電力供給停止時に副電源から電力の供給を受けて第１の記憶装置からのデータを第２の記憶装置に書き込ませる制御方法は、前記副電源が電力を供給可能な残供給時間を取得し、前記データの書き込み時にエラーが発生した際に、取得した前記残供給時間に基づいて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みのリトライ回数を設定する。
【００２３】
さらに、主電源の電力供給停止時に副電源から電力の供給を受けて第１の記憶装置からのデータを第２の記憶装置に書き込ませる制御プログラムは、前記副電源が電力を供給可能な残供給時間を取得し、前記データの書き込み時にエラーが発生した際に、取得した前記残供給時間に基づいて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みのリトライ回数を設定する、処理をコンピュータに実行させる。
【発明の効果】
【００２４】
本発明によれば、情報処理装置の信頼性を向上させることができる。
【図面の簡単な説明】
【００２５】
【図１】実施形態の一例としての情報処理装置のハードウェア構成を示す図である。
【図２】第１実施形態の一例としてのバックアップ制御部の構成を示す図である。
【図３】第１実施形態の一例としての情報処理装置の停電処理を示す図である。
【図４】第１実施形態の一例としての情報処理装置における停電処理を示すフローチャートである。
【図５】第１実施形態の一例としての情報処理装置における停電処理を示すフローチャートである。
【図６】第１実施形態の一例としての停電シーケンス部によるリトライ算出処理を示すフローチャートである。
【図７】第１実施形態の一例としての停電シーケンス部によるリトライ回数の算出例を示す図である。
【図８】第２実施形態の一例としてのバックアップ制御部の構成を示す図である。
【図９】第２実施形態の一例としての優先度テーブルを例示する図である。
【図１０】第２実施形態の一例としての情報処理装置における停電処理を示すフローチャートである。
【図１１】第２実施形態の一例としての情報処理装置における停電処理を示すフローチャートである。
【図１２】第２実施形態の一例としての停電シーケンス部によるリトライ算出処理を示すフローチャートである。
【図１３】第２実施形態の一例としての停電シーケンス部によるリトライ回数の算出例を示す図である。
【図１４】従来の情報処理装置の構成を示す図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照して、本実施の形態の一例としての制御装置、制御方法、及び制御プログラムについて説明する。
ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形（実施形態及び各変形例を組み合わせる等）して実行することができる。
（Ａ）第１実施形態
最初に、第１実施形態の一例としての情報処理装置１の構成を説明する。
【００２７】
図１は、第１実施形態の一例としての情報処理装置１のハードウェア構成を示す図である。
情報処理装置１は、例えば不図示のストレージ装置にそなえられるストレージ制御装置（Control Module；ＣＭ）などである。
情報処理装置１は、ＣＰＵ２、メモリコントローラ３、キャッシュメモリ（第１の記憶装置）４、電源供給部（主電源）５、停電時給電部（副電源）６、バックアップ制御部（制御装置、コンピュータ）７、ＳＡＴＡ−ＳＳＤ（第２の記憶装置）８、及びMagnetoresistive Random Access Memory（ＭＲＡＭ）９をそなえる。
【００２８】
ＣＰＵ２は、種々の制御や演算を行なう処理装置であり、後述するＭＲＡＭ９等に格納されたＯＳやプログラムを実行することにより、種々の機能を実現する。ＣＰＵ２は、例えば、公知のＣＰＵを使用して実装することができる。
メモリコントローラ３は、ＣＰＵ２と後述するキャッシュメモリ４との間、ＣＰＵ２と後述するバックアップ制御部７との間、及びキャッシュメモリ４とバックアップ制御部７との間のデータの転送を制御する。
【００２９】
キャッシュメモリ４は、ＣＰＵ２に対して読み書きされるデータ（ユーザデータ）を、一時的に記憶する高速のメモリである。キャッシュメモリ４は、ＣＰＵ２内部に設けられることが多い。キャッシュメモリ４としては、例えば、Static Random Access Memory（ＳＲＡＭ）を用いることができる。
ＳＡＴＡ−ＳＳＤ８は、停電等の発生時に、キャッシュメモリ４に記憶されているデータをバックアップする先のメモリである。ＳＡＴＡ−ＳＳＤ８としては、公知のＳＡＴＡ−ＳＳＤを使用することができる。以降簡潔を期するために、ＳＡＴＡ−ＳＳＤ８を単にＳＳＤ８とも称する。又、以下の説明では、停電など、情報処理装置１への電力供給が絶たれる状況を総称して「停電」と呼ぶ。
【００３０】
電源供給部５は、外部からＡＣ電力を供給されて、ＣＰＵ２、メモリコントローラ３、キャッシュメモリ４、停電時給電部６、バックアップ制御部７、ＳＳＤ８、ＭＲＡＭ９、及び後述する監視部１０（図２参照）にＤＣ電力を供給する電源である。
停電時給電部６は、コンデンサ１４をそなえるＳＣＵである。停電時給電部６は、電源供給部５からＤＣ電力の供給を受け、コンデンサ１４に蓄電を行なう。停電時に、停電時給電部６は、コンデンサ１４に蓄電されているＤＣ電力を、メモリコントローラ３、キャッシュメモリ４、バックアップ制御部７、ＳＳＤ８、ＭＲＡＭ９、及び監視部１０に供給する。
【００３１】
コンデンサ１４は、電源供給部５から供給されるＤＣ電力を蓄電可能なコンデンサである。コンデンサ１４は、経年による劣化を受けるため、コンデンサ１４が供給可能な電力の持続時間は、コンデンサ１４の使用期間によって変化する。情報処理装置１の工場出荷時には、コンデンサ１４の給電可能時間は、情報処理装置１のライフタイム（例えば５年）の間、キャッシュメモリ４のデータのバックアップ及びＳＳＤ８のパワーオフシーケンスを実行可能な時間の２倍程度の時間に設定される。なお、以下の説明においては、キャッシュメモリ４のデータのバックアップ及びＳＳＤ８のパワーオフシーケンスを総称して「停電処理」と呼ぶ。
【００３２】
バックアップ制御部７は、停電時に停電処理を行なうField-Programmable Gate Array（ＦＰＧＡ）である。詳細には、バックアップ制御部７は、停電時給電部６からＤＣ電力の給電を受けて、キャッシュメモリ４に格納されているデータをＳＳＤ８にバックアップし、その後ＳＳＤ８のパワーオフシーケンスを実行する。本第１実施形態においては、バックアップ制御部７は、停電時のＳＳＤ８へのバックアップの際に、停電時給電部６のコンデンサ１４の経年劣化に伴う給電時間や性能値に基づいて、データのライトエラー発生時のリトライ回数を決定する。バックアップ制御部７の詳細な構成及び機能については、図２を用いて後述する。
【００３３】
ＭＲＡＭ９は、磁気を利用した不揮発性メモリであり、情報処理装置１の電源切断後も保持される管理用の各種データの保持に使用される。本実施形態においては、ＭＲＡＭ９は、後述するＳＳＤ８のライト性能値２７及びＳＳＤ前回Ｐ−ＯＦＦ  ＳＥＱ時間２８（図２参照）を記憶するために使用される。
情報処理装置１において、メモリコントローラ３とバックアップ制御部７とは、４レーンのＰＣＩｅリンク１１によって接続されている。このＰＣＩｅリンク１１を介して、キャッシュメモリ４からＳＳＤ８にバックアップされるユーザデータが、キャッシュメモリ４からメモリコントローラ３経由でバックアップ制御部７に送られる。
【００３４】
又、バックアップ制御部７とＳＳＤ８とは、ＳＡＴＡリンク１２を介して接続されている。このＳＡＴＡリンク１２を介して、キャッシュメモリ４からＳＳＤ８にバックアップされるユーザデータが、バックアップ制御部７からＳＳＤ８に送られる。
図２は、第１実施形態の一例としてのバックアップ制御部７の構成を示す図である。
バックアップ制御部７は、ＰＣＩｅ  ＩＦ制御部２１、ＳＡＴＡ  ＩＦ部２２、非データＤＭＡ部２３、ライトＤＭＡ部２４、停電シーケンス（ＳＥＱ）部（リトライ回数設定部）２５、及び性能モニタ（残供給時間取得部，記録部）２６をそなえる。
【００３５】
又、バックアップ制御部７には監視部１０がリンク１３を介して接続されている。
監視部１０は、情報処理装置１の電源供給部５及び停電時給電部６の監視及び制御を行なうＦＰＧＡである。本実施形態においては、監視部１０は、停電時給電部６のコンデンサ１４によって停電発生時に給電可能な時間を監視している。
ＰＣＩｅ  ＩＦ制御部２１は、メモリコントローラ３とバックアップ制御部７との間のＰＣＩｅリンク１１を介した通信を制御する処理部である。ＰＣＩｅ  ＩＦ制御部２１は、例えば回路として実施することができる。
【００３６】
ＳＡＴＡ  ＩＦ部２２は、バックアップ制御部７とＳＳＤ８との間のＳＡＴＡリンク１２を介した通信を制御する処理部である。ＳＡＴＡ  ＩＦ部２２は、例えば回路として実施することができる。
非データＤＭＡ部２３は、メモリコントローラ３とＳＳＤ８との間で、コマンド等の非データの転送を行なう処理部である。例えば、非データＤＭＡ部２３は、バックアップデータのＳＳＤ８へのライト完了後に、ＳＳＤ８にパワーオフシーケンスを実行させるために、ＳＳＤ８にＳｔａｎｄｂｙ  Ｉｍｍｅｄｉａｔｅを実行する。非データＤＭＡ部２３は、例えば回路として実施することができる。
【００３７】
ライトＤＭＡ部２４は、メモリコントローラ３とＳＳＤ８との間で、ユーザデータのダイレクトメモリアクセスによるライトを行なう処理部である。例えば、ライトＤＭＡ部２４は、キャッシュメモリ４からＳＳＤ８にバックアップするデータを、キャッシュメモリ４からメモリコントローラ３経由でＳＳＤ８にライトする。ライトＤＭＡ部２４は、例えば回路として実施することができる。
【００３８】
性能モニタ２６は、停電の処理に関わる各種モニタを行なう処理部である。性能モニタ２６は、情報処理装置１において停電が発生すると、ＣＰＵ２によって起動される。
詳細には、性能モニタ２６は、ＣＰＵ２によって起動されると、停電発生時点からの経過時間のカウントアップを開始する。又、停電シーケンス部２５がライトＤＭＡ部２４を起動する。又、性能モニタ２６は、ＰＣＩｅリンク１１の総レーン数（図２の例では４レーン）のうち、使用可能なレーン数を監視する。
【００３９】
さらに、性能モニタ２６は、情報処理装置１の停電発生時に実行される停電処理が正常終了すると、キャッシュメモリ４からＳＳＤ８へのバックアップに要した時間と、バックアップしたバックアップデータ量とから、ライト性能値（例えばＭＢ／ｓ）を算出する。そして、性能モニタ２６は、算出したライト性能値を、ＭＲＡＭ９内にライト性能値２７として記録する。このライト性能値２７は、次に停電が発生した際に、停電シーケンス部２５によるリトライ回数の算出に用いられる。
【００４０】
又、性能モニタ２６は、ＳＳＤ８のパワーオフシーケンスに要した時間を測定し、ＭＲＡＭ９内にＳＳＤ前回Ｐ−ＯＦＦ  ＳＥＱ時間２８として記録する。このＳＳＤ前回Ｐ−ＯＦＦ  ＳＥＱ時間２８も、停電シーケンス部２５によるリトライ回数の算出に用いられる。
性能モニタ２６は、例えば回路として実施することができる。
【００４１】
停電シーケンス部２５は、情報処理装置１において停電が発生した際に、停電シーケンスを実行する。その際、停電シーケンス部２５は、図６を用いて後述するリトライ算出処理を実行して、キャッシュメモリ４からＳＳＤ８へのバックアップデータのライトエラー時のリトライ回数を設定する。詳細には、停電シーケンス部２５は、監視部１０からコンデンサ１４の残給電時間の通知を受け、その時間内で、ＳＳＤ８のパワーオフシーケンスの実行のための時間を残して、ＳＳＤ８へライトのリトライ可能回数を算出する。
【００４２】
ここで、図３を参照して、情報処理装置１の停電発生時に実行される停電処理について説明する。
図３は、第１実施形態の一例としての情報処理装置１の停電処理を示す図である。
一般に、情報処理装置１内でのデータ転送においては、転送するデータ量が大きい場合、転送するデータを複数のかたまりに分割して、分割したかたまり単位でデータ転送が複数回に分けて行なわれる。このため、停電発生時のキャッシュメモリ４からＳＳＤ８へのデータバックアップも、数回に分けて行なわれる。ここでは、キャッシュメモリ４からＳＳＤ８への１回のデータバックアップを「１アクセス」又は「１転送」と呼ぶ。
【００４３】
前述のように、情報処理装置１において停電が発生すると、キャッシュメモリ４からＳＳＤ８へのデータバックアップが複数アクセス（転送）で行なわれる。図３の例では、３回のデータ転送（転送１〜転送３）が行なわれた後に、４回目のデータ転送（転送４）において、エラーが発生する。
エラーが発生すると、停電シーケンス部２５が、図６を用いて後述するリトライ算出処理を実行して、前回のＳＳＤ８のパワーオフシーケンス時間と、１転送あたりに使用できる時間とから、１転送あたりのリトライ回数を算出する。つまり、停電シーケンス部２５は、ＳＳＤ８のパワーオフシーケンス時間が残されるように、リトライ回数を算出する。
【００４４】
停電シーケンス部２５は、このリトライ算出処理をバックアップデータ転送中、エラーが発生する毎に実行する。
図４，図５は、第１実施形態の一例としての情報処理装置１における停電処理を示すフローチャート（ステップＳ１〜Ｓ２４）である。図４はステップＳ１〜Ｓ８，Ｓ１７〜Ｓ２４を、図５はステップＳ９〜Ｓ１６をそれぞれ示す。
【００４５】
停電等が発生し、情報処理装置１において電源供給部５へのＡＣ電力の供給が絶たれると、ステップＳ１において、ＣＰＵ２が、キャッシュメモリ４からＳＳＤ８にバックアップするデータのデータサイズ及びデータのアドレスを設定して、停電シーケンス部２５を起動する。その後、ＣＰＵ２は、省電力のため、情報処理装置１が再起動されるまでスリープ状態に入る。
【００４６】
次に、ステップＳ２において、ステップＳ１で起動された性能モニタ２６が、停電発生時点からの経過時間のカウントアップを開始する。又、性能モニタ２６は、ＰＣＩｅリンク１１の全レーン数のうち使用可能なレーン数を監視（特定）する。
次にステップＳ３において、停電シーケンス部２５は、ライトＤＭＡ部２４を起動する。
【００４７】
ステップＳ４において、ライトＤＭＡ部２４が、バックアップするキャッシュメモリ４のデータをＳＳＤ８にライトする。
ステップＳ５において、ライトＤＭＡ部２４は、バックアップデータのライトにおいてエラーが発生しているかどうかを判定する。
エラーが発生していない場合（ステップＳ５のＮＯルート参照）、ステップＳ６において、ライトＤＭＡ部２４は、キャッシュメモリ４からバックアップする全データをＳＳＤ８に転送したかどうかを判定する。その際、例えば、ライトＤＭＡ部２４は、バックアップする全データのサイズ（総バックアップデータサイズ）を、ＳＳＤ８に転送済みのデータのサイズ（転送済みデータサイズ）と比較することによってこの判定を行なう。
【００４８】
まだ全てのデータを転送していない場合（ステップＳ６のＮＯルート参照）、ライトＤＭＡ部２４はステップＳ４に戻りデータの転送を続行する。
一方、全データの転送が完了した場合（ステップＳ６のＹＥＳルート参照）、ステップＳ７において、性能モニタ２６が、ステップＳ４のキャッシュメモリ４からＳＳＤ８へのライト転送に要した時間と、総バックアップデータ量とから、ライト性能値を算出する。そして、性能モニタ２６は、算出したライト性能値２７をＭＲＡＭ９に記録する。
【００４９】
次にステップＳ８において、ライトＤＭＡ部２４は、停電シーケンス部２５に、バックアップデータ転送の完了を通知する。
一方、ステップＳ５でエラーが発生している場合（ステップＳ５のＹＥＳルート参照）、ライトリトライ処理を開始する。詳細には、図５のステップＳ９において、ライトＤＭＡ部２４が停電シーケンス部２５にエラーを通知する。さらに、ライトＤＭＡ部２４は、エラー発生前にＳＳＤ８に転送が完了しているデータのサイズを、停電シーケンス部２５に通知する。
【００５０】
次に、ステップＳ１０において、停電シーケンス部２５は、停電シーケンス部２５によってリトライ回数が算出済みであるかどうかを判定する。
リトライ回数が算出済みである場合（ステップＳ１０のＹＥＳルート参照）、ステップＳ１１において、停電シーケンス部２５は、リトライが可能（すなわち、リトライ回数が１以上）であるかどうかを判定する。
【００５１】
リトライが可能な場合（ステップＳ１１のＹＥＳルート参照）、処理が後述するステップＳ１４に移る。
一方、リトライが可能ではない場合（ステップＳ１１のＮＯルート参照）、ステップＳ１５において、停電シーケンス部２５は、全アクセスが完了した（全ての転送が終了した）かどうかを判定する。
【００５２】
全アクセスが完了していない場合（ステップＳ１５のＮＯルート参照）、ステップＳ１６において、停電シーケンス部２５は、次のアクセス（次に転送するデータのかたまり）に移行する。
全アクセスが完了している場合（ステップＳ１５のＹＥＳルート参照）、処理が前述のステップＳ７に移る。
【００５３】
一方、ステップＳ１０でリトライ回数をまだ算出していない場合（ステップＳ１０のＮＯルート参照）、ステップＳ１２において、停電シーケンス部２５は、図６を用いて後述するリトライ算出処理を実行する。
次に、ステップＳ１３において、停電シーケンス部２５は、リトライが可能であるかどうかを判定する。
【００５４】
リトライが可能ではない場合（ステップＳ１３のＮＯルート参照）、処理は前述のステップＳ１５に移る。
一方、リトライが可能な場合（ステップＳ１３のＹＥＳルート参照）、ステップＳ１４において、停電シーケンス部２５は、図４のステップＳ４でエラーとなったデータのリトライを開始し、リトライ回数を１デクリメント（−１）する。その後、処理は前述の図４のステップＳ３に移る。
【００５５】
ここまでがデータバックアップ処理である。データバックアップ処理が完了すると、ＳＳＤ８のパワーオフシーケンス（Ｐ−ＯＦＦ  ＳＥＱ）処理が実行される。まず、ステップＳ１７において、性能モニタ２６が、ＳＳＤ８のパワーオフシーケンスにかかる時間の測定を開始する。
次に、ステップＳ１８において、停電シーケンス部２５は、非データＤＭＡ部２３を起動する。
【００５６】
ステップＳ１９において、非データＤＭＡ部２３は、ＳＳＤ８にパワーオフシーケンスを実行させるために、ＳＳＤ８にＳｔａｎｄｂｙ  Ｉｍｍｅｄｉａｔｅコマンドを実行する。
ステップＳ２０において、停電シーケンス部２５は、Ｓｔａｎｄｂｙ  Ｉｍｍｅｄｉａｔｅコマンドでエラーが発生しているかどうかを判定する。
【００５７】
エラーが発生している場合（ステップＳ２０のＹＥＳルート参照）、ステップＳ２１において、非データＤＭＡ部２３は、停電シーケンス部２５にＳｔａｎｄｂｙ  Ｉｍｍｅｄｉａｔｅのエラーを通知する。
次に、ステップＳ２２において、停電シーケンス部２５は、非データＤＭＡ部２３を再起動して本処理を終了する。
【００５８】
一方、ステップＳ２０でエラーが発生していない場合（ステップＳ２０のＮＯルート参照）、ステップＳ２３において、非データＤＭＡ部２３は、停電シーケンス部２５にＳｔａｎｄｂｙ  Ｉｍｍｅｄｉａｔｅの完了を通知する。
ステップＳ２４において、性能モニタ２６が、ＳＳＤ８のパワーオフシーケンスに要した時間を、ＭＲＡＭ９にＳＳＤ前回Ｐ−ＯＦＦ  ＳＥＱ時間２８として記録して、本処理を終了する。
【００５９】
図６は、第１実施形態の一例としての停電シーケンス部２５によるリトライ算出処理を示すフローチャート（ステップＳ３１〜Ｓ４１）である。
ステップＳ３１において、停電シーケンス部２５が、監視部１０から、停電時給電部６のコンデンサ１４によって給電可能な時間である残給電時間ＴＲＥＭＡＩＮを受信する。
ステップＳ３２において、停電シーケンス部２５は、性能モニタ２６から、前回の停電時のライト性能値２７（ＷＰ）を受信する。
【００６０】
次にステップＳ３３において、停電シーケンス部２５は、ＳＳＤ８の前回のパワーオフシーケンスに要したパワーオフシーケンス時間ＴＰ−ＯＦＦを、性能モニタ２６に問い合わせて受信する。
ステップＳ３４において、停電シーケンス部２５は、性能モニタ２６から、使用ＰＣＩｅレーン数ＬＣを受信する。
【００６１】
ステップＳ３５において、停電シーケンス部２５は、キャッシュメモリ４からＳＳＤ８にバックアップするデータの合計サイズである、総バックアップデータサイズＳＴＯＴＡＬを取得する。
次にステップＳ３６において、停電シーケンス部２５は、キャッシュメモリ４からＳＳＤ８に既にバックアップが行なわれている転送済みデータサイズＳＳＥＮＴを取得する。
【００６２】
ステップＳ３７において、停電シーケンス部２５は、ステップＳ３５で取得したＳＴＯＴＡＬとステップＳ３６で取得したＳＳＥＮＴとから、ＳＳＤ８にバックアップする残りのデータのサイズである残バックアップデータサイズＳＲＥＭＡＩＮを以下の式（１）により計算する。
ＳＲＥＭＡＩＮ＝ＳＴＯＴＡＬ−ＳＳＥＮＴ                              …（１）
ステップＳ３８において、停電シーケンス部２５は、ステップＳ３７で求めたＳＲＥＭＡＩＮから、残りのデータをバックアップするためにＳＤＤ８に何回アクセスするかを示す残アクセス数ＡＲＥＭＡＩＮを以下の式（２）により計算する。
【００６３】
ＡＲＥＭＡＩＮ＝ＳＲＥＭＡＩＮ／１アクセスのデータサイズ              …（２）
次にステップＳ３９において、停電シーケンス部２５は、ステップＳ３２，Ｓ３４で取得したＷＰとＬＣとから、１アクセスに要する時間ＴＡＣＣＥＳＳを以下の式（３）により計算する。
【００６４】
ＴＡＣＣＥＳＳ＝１アクセスのデータサイズ／（ＷＰ×ＬＣ／総レーン数） …（３）
ステップＳ４０において、停電シーケンス部２５は、ステップＳ３１，Ｓ３３でそれぞれ取得したＴＲＥＭＡＩＮ及びＴＰ−ＯＦＦと、ステップＳ３８で求めたＡＲＥＭＡＩＮから、１アクセスに割り当てられる時間ＴＡＬＬＯＣを以下の式（４）により計算する。
【００６５】
ＴＡＬＬＯＣ＝（ＴＲＥＭＡＩＮ−ＴＰ−ＯＦＦ）／ＡＲＥＭＡＩＮ      …（４）
ステップＳ４１において、停電シーケンス部２５は、ステップＳ３９で求めたＴＡＣＣＥＳＳと、ステップＳ４０で求めたＴＡＬＬＯＣとから、１アクセスにおいてライトをリトライできる回数ＲＣを以下の式（５）により計算して、本処理を終了する。
【００６６】
ＲＣ＝ＴＡＬＬＯＣ／ＴＡＣＣＥＳＳ                                   …（５）
図７は、第１実施形態の一例としての停電シーケンス部２５によるリトライ回数の算出例を示す図である。
本例においては、コンデンサ１４の総給電時間が８０秒、ライト性能値ＷＰが２５０ＭＢ／ｓ、１アクセスのデータサイズが１ＭＢ、ＰＣＩｅの総レーン数のうちの使用レーン数ＬＣが４レーン、総バックアップサイズＳＴＯＴＡＬが８ＧＢ、前回のパワーオフシーケンス時間ＴＰ−ＯＦＦが１秒とする。このとき、停電から３０秒後（残り給電時間が５０秒）、７ＧＢのデータを転送済みの時点で、ライトエラー発生が発生したとする。
【００６７】
図６のステップＳ３７において、停電シーケンス部２５は、残バックアップデータサイズＳＲＥＭＡＩＮを、ＳＲＥＭＡＩＮ＝総バックアップデータサイズ８ＧＢ−転送済みデータサイズ７ＧＢ＝１ＧＢと算出する。
次に、ステップＳ３８において、停電シーケンス部２５は、残アクセス数ＡＲＥＭＡＩＮを、残バックアップデータサイズ１ＧＢ／１アクセスのデータサイズ１ＭＢ＝１０２４アクセスと算出する。
【００６８】
ステップＳ３９において、停電シーケンス部２５は、１アクセスに要する時間ＴＡＣＣＥＳＳを、１アクセスのデータサイズ１ＭＢ／（ライト性能２５０ＭＢ／ｓ×リンク数４／４レーン）＝４ｍｓと算出する。
次に、ステップＳ４０において、停電シーケンス部２５は、１アクセスに割り当てられる時間ＴＡＬＬＯＣを、（残り給電時間５０秒−パワーオフシーケンス時間）１秒／残アクセス数１０２４アクセス＝４７ｍｓと算出する。
【００６９】
ステップＳ４１において、停電シーケンス部２５は、１アクセスにライトをリトライできる回数ＲＣを、リトライに使用できる時間４７ｍｓ／１アクセスに要する時間４ｍｓ＝１１回と算出する。
このように、第１実施形態の一例によれば、停電シーケンス部２５が、ＳＳＤ８のパワーオフシーケンス、停電時給電部６のコンデンサ１４の給電時間、及びライト性能値２７から、ＳＳＤ８へのデータバックアップ時のライトエラーのリトライの回数を算出する。このように、停電シーケンス部２５は、ＳＳＤ８のパワーオフシーケンスの時間を確保した上でライトエラーのリトライ回数が算定されるので、停電時にＳＳＤ８のパワーオフシーケンスを実行できる確率が上がる。これにより、ＳＳＤ８の期待外パワーオフを防止して、ＳＳＤ８の故障を防止でき、情報処理装置１の次回の自動時に、ＳＳＤ８の起動時間や初回ライト時間の増加を防止することができる。
【００７０】
又、停電シーケンス部２５は、ライトエラー時のリトライ回数として、停電時給電部６のコンデンサ１４の給電可能時間内で最大値にリトライ回数を設定するため、停電時給電部６のコンデンサ１４に蓄電されている電力を有効活用して、情報処理装置１の信頼性を向上させることができる。
さらに、停電シーケンス部２５は、ＰＣＩｅリンク１１の総レーンのうち、現在使用可能なレーン数に基づいてライトエラーのリトライの回数を算出するため、ＰＣＩｅリンク１１の一部が使用できない場合にも、リトライの回数を正確に算出することができる。
（Ｂ）第２実施形態
ところで、情報処理装置においては、全てのデータが等しく重要であるケースは少なく、通常は、情報処理装置には優先度が高いデータと優先度が低いデータとが存在する。このため、停電発生時においては、優先度の高いデータを確実にバックアップすることが望ましい。
【００７１】
このため、第２実施形態の一例の情報処理装置１′は、上記の第１実施形態のバックアップ制御部７に代えて、バックアップ制御部７′をそなえる。このバックアップ制御部７′は、バックアップ制御部７に記載のようにリトライ回数を算出すると共に、データの優先度に応じてリトライ回数を調整する。
なお、第２実施形態の一例の情報処理装置１′は、図１に示した第１実施形態の一例の情報処理装置１と同様のハードウェア構成をそなえるため、その説明並びに図示を省略する。
【００７２】
図８は、第２実施形態の一例としてのバックアップ制御部７′の構成を示す図である。
第２実施形態の一例としての情報処理装置１′は、ライト性能値２７及びＳＳＤ前回Ｐ−ＯＦＦ  ＳＥＱ時間２８を格納するＭＲＡＭ９、バックアップ制御部７′、ＳＡＴＡ−ＳＳＤ（以下ＳＳＤとも呼ぶ）８、及び監視部１０をそなえる。
バックアップ制御部７′は、ＰＣＩｅ  ＩＦ制御部２１、ＳＡＴＡ  ＩＦ部２２、非データＤＭＡ部２３、ライトＤＭＡ部２４、停電シーケンス部２５′、及び性能モニタ２６をそなえる。
【００７３】
又、本第２実施形態の一例においては、バックアップ制御部７′の不図示の内部メモリ等に、優先度テーブル（優先度情報）２９と所定割合３０とが格納されている。  なお、本第２実施形態の一例では、優先度テーブル２９は、実際には、バックアップ制御部７′が、その不図示の内部メモリに格納されている優先度情報を読み出して展開する際に、図９に例示するようにテーブル化する。すなわち、優先度テーブル２９は、テーブルの状態で内部メモリに格納されているわけではない。しかし、以下、図８においては、優先度テーブル２９がバックアップ制御部７′に格納されている状態を示す。
【００７４】
或いは、優先度テーブル２９自体が、バックアップ制御部７′の内部メモリに記憶されており、優先度テーブル２９がこれを読み出してもよい。
第２実施形態の一例としての情報処理装置１′のＭＲＡＭ９、ＳＳＤ８、監視部１０、ＰＣＩｅ  ＩＦ制御部２１、ＳＡＴＡ  ＩＦ部２２、非データＤＭＡ部２３、ライトＤＭＡ部２４、性能モニタ２６、ライト性能値２７、及びＳＳＤ前回Ｐ−ＯＦＦ  ＳＥＱ時間２８は、上記の第１実施形態の一例と同じ機能及び構成を有するため、その説明を省略する。
【００７５】
停電シーケンス部２５′は、情報処理装置１において停電が発生した際に、図１２を用いて後述するリトライ算出処理を実行して、キャッシュメモリ４からＳＳＤ８へのバックアップデータのライトエラー時のリトライ回数を設定する。詳細には、停電シーケンス部２５′は、監視部１０からコンデンサ１４の残給電時間の通知を受け、その時間内で、ＳＳＤ８のパワーオフシーケンスの実行のための時間を残して、ＳＳＤ８へライトのリトライ可能回数を算出する。
【００７６】
次に、停電シーケンス部２５′は、ＣＰＵ２によって事前に設定され、ＭＲＡＭ９に記憶されている所定割合３０（Ｘ％）と、後述する優先度テーブル２９とに基づいて、データの優先度に応じて、リトライ回数を調整する。この所定割合３０は、優先度の低いデータについて、通常の優先度のデータのリトライ数から減算する値ＳＵＢのうち、優先度の高いデータに加算する値ＡＤＤに割り当てる割合を示す。
【００７７】
例えば、Ｘ＝５０％の場合、優先度の低いデータについて、通常優先度のデータのリトライ数から減算する値ＳＵＢが６のとき、優先度の高いデータに加算する値ＡＤＤは、ＳＵＢ×Ｘ％＝６×５０％＝３となる。この場合、通常の優先度のデータのリトライ回数が１０であるとすると、優先度の低いデータのリトライ回数は１０−６＝４、優先度の高いデータのリトライ回数は１０＋３＝１３となる。
【００７８】
優先度テーブル２９は、キャッシュメモリ４内のデータのアドレス毎に、当該データの優先度と、当該バックアップが完了したかどうかを示す情報とを格納している。
図９は、第２実施形態の一例としての優先度テーブル２９を例示する図である。
優先度テーブル２９は、アドレスフィールド２９１、優先度フィールド２９２、及び完了フラグ２９３を有する。
【００７９】
アドレスフィールド２９１は、キャッシュメモリ４内のデータのアドレスを格納している。例えば、アドレスフィールド２９１は、キャッシュメモリ４内のデータの１ＭＢ単位のアドレスが格納されており、後述の停電処理時には、キャッシュメモリ４内のデータが１ＭＢ単位でＳＳＤ８にバックアップされる。
優先度フィールド２９２は、キャッシュメモリ４内の当該データの優先度を示す値を格納している。例えば、優先度フィールド２９２には、１（優先度高）、２（優先度低）、及び３（通常）の３種類の値が格納される。
【００８０】
完了フラグフィールド２９３は、停電時に、キャッシュメモリ４内の当該データのＳＳＤ８へのバックアップが完了したかどうかを示す値が格納される。例えば、完了フラグフィールド２９３には、１（バックアップ済み）及び０（未バックアップ）の２種類の値が格納される。
なお、図９に示す優先度テーブル２９に登録される情報が優先度情報であり、バックアップ制御部７′の不図示の内部メモリにはこれらの情報が関連付けられて格納される。なお、本第２の実施形態の一例では、優先度情報を優先度テーブル２９として説明したが、優先度情報は必ずしもテーブルでなくてもよく、優先度情報が他の形態でバックアップ制御部７′に格納されてもよい。
【００８１】
図１０，図１１は、第２実施形態の一例としての情報処理装置１′における停電処理を示すフローチャート（ステップＳ５１〜Ｓ７５）である。図１０はステップＳ５１〜Ｓ５９，Ｓ６８〜Ｓ７５を、図１１はステップＳ６０〜Ｓ６７をそれぞれ示す。
停電等が発生し、情報処理装置１′において電源供給部５へのＡＣ電力の供給が絶たれると、ステップＳ５１において、ＣＰＵ２が、キャッシュメモリ４からＳＳＤ８にバックアップするデータのデータサイズ及びデータのアドレスを設定して、停電シーケンス部２５′を起動する。その後、ＣＰＵ２は、省電力のため、情報処理装置１′が再起動されるまでスリープ状態に入る。
【００８２】
次に、ステップＳ５２において、ステップＳ５１で起動された性能モニタ２６が、停電発生時点からの経過時間のカウントアップを開始する。又、性能モニタ２６は、ＰＣＩｅリンク１１の全レーン数のうち使用可能なレーン数を監視（特定）する。
次にステップＳ５３において、停電シーケンス部２５′は、ライトＤＭＡ部２４を起動する。
【００８３】
ステップＳ５４において、ライトＤＭＡ部２４が、バックアップするキャッシュメモリ４のデータをＳＳＤ８にライトする。
ステップＳ５５において、ライトＤＭＡ部２４は、バックアップデータのライトにおいてエラーが発生しているかどうかを判定する。
エラーが発生していない場合（ステップＳ５５のＮＯルート参照）、ステップＳ５６において、ライトＤＭＡ部２４は、優先度テーブル２９の、転送が完了したデータの完了フラグフィールド２９３に、バックアップの完了を示す値“１”を設定する。
【００８４】
次にステップＳ５７において、ライトＤＭＡ部２４は、キャッシュメモリ４からバックアップする全データをＳＳＤ８に転送したかどうかを判定する。その際、例えば、ライトＤＭＡ部２４は、バックアップする全データのサイズ（総バックアップデータサイズ）を、ＳＳＤ８に転送済みのデータのサイズ（転送済みデータサイズ）と比較することによってこの判定を行なう。
【００８５】
まだ全てのデータを転送していない場合（ステップＳ５７のＮＯルート参照）、ライトＤＭＡ部２４はステップＳ５４に戻りデータの転送を続行する。
一方、全データの転送が完了した場合（ステップＳ５７のＹＥＳルート参照）、ステップＳ５８において、性能モニタ２６が、ステップＳ５４のキャッシュメモリ４からＳＳＤ８へのライト転送に要した時間と、総バックアップデータ量とから、ライト性能値を算出する。そして、性能モニタ２６は、算出したライト性能値２７をＭＲＡＭ９に記録する。
【００８６】
次にステップＳ５９において、ライトＤＭＡ部２４は、停電シーケンス部２５′に、バックアップデータ転送の完了を通知する。
一方、ステップＳ５５でエラーが発生している場合（ステップＳ５５のＹＥＳルート参照）、ライトリトライ処理を開始する。詳細には、図１１のステップＳ６０において、ライトＤＭＡ部２４が停電シーケンス部２５′にエラーを通知する。さらに、ライトＤＭＡ部２４は、エラー発生前にＳＳＤ８に転送が完了しているデータのサイズを、停電シーケンス部２５′に通知する。
【００８７】
次に、ステップＳ６１において、停電シーケンス部２５′は、停電シーケンス部２５′によってリトライ回数が算出済みであるかどうかを判定する。
リトライ回数が算出済みである場合（ステップＳ６１のＹＥＳルート参照）、ステップＳ６２において、停電シーケンス部２５′は、リトライが可能（すなわち、リトライ回数が１以上）であるかどうかを判定する。
【００８８】
リトライが可能な場合（ステップＳ６２のＹＥＳルート参照）、処理が後述するステップＳ６５に移る。
一方、リトライが可能ではない場合（ステップＳ６２のＮＯルート参照）、ステップＳ６６において、停電シーケンス部２５′は、全アクセスが完了した（全ての転送が終了した）かどうかを判定する。
【００８９】
全アクセスが完了していない場合（ステップＳ６６のＮＯルート参照）、ステップＳ６７において、停電シーケンス部２５′は、次のアクセス（次に転送するデータのかたまり）に移行する。
全アクセスが完了している場合（ステップＳ６６のＹＥＳルート参照）、処理が前述のステップＳ５８に移る。
【００９０】
一方、ステップＳ６１でリトライ回数をまだ算出していない場合（ステップＳ６１のＮＯルート参照）、ステップＳ６３において、停電シーケンス部２５′は、図１２を用いて後述するリトライ算出処理を実行する。
次に、ステップＳ６４において、停電シーケンス部２５′は、リトライが可能であるかどうかを判定する。
【００９１】
リトライが可能ではない場合（ステップＳ６４のＮＯルート参照）、処理は前述のステップＳ６６に移る。
一方、リトライが可能な場合（ステップＳ６４のＹＥＳルート参照）、ステップＳ６５において、停電シーケンス部２５′は、図１０のステップＳ５４でエラーとなったデータのリトライを開始し、リトライ回数を１デクリメント（−１）する。その後、処理は前述の図１０のステップＳ５３に移る。
【００９２】
ここまでがデータバックアップ処理である。データバックアップ処理が完了すると、ＳＳＤ８のパワーオフシーケンス処理が実行される。まず、ステップＳ６８において、性能モニタ２６が、ＳＳＤ８のパワーオフシーケンスにかかる時間の測定を開始する。
次に、ステップＳ６９において、停電シーケンス部２５′は、非データＤＭＡ部２３を起動する。
【００９３】
ステップＳ７０において、非データＤＭＡ部２３は、ＳＳＤ８にパワーオフシーケンスを実行させるために、ＳＳＤ８にＳｔａｎｄｂｙ  Ｉｍｍｅｄｉａｔｅコマンドを実行する。
ステップＳ７１において、停電シーケンス部２５′は、Ｓｔａｎｄｂｙ  Ｉｍｍｅｄｉａｔｅコマンドでエラーが発生しているかどうかを判定する。
【００９４】
エラーが発生している場合（ステップＳ７１のＹＥＳルート参照）、ステップＳ７２において、非データＤＭＡ部２３は、停電シーケンス部２５′にＳｔａｎｄｂｙ  Ｉｍｍｅｄｉａｔｅのエラーを通知する。
次に、ステップＳ７３において、ステップ２０で停電シーケンス部２５′は、非データＤＭＡ部２３を再起動して本処理を終了する。
【００９５】
一方、ステップＳ７１でエラーが発生していない場合（ステップＳ７１のＮＯルート参照）、ステップＳ７４において、非データＤＭＡ部２３は、停電シーケンス部２５′にＳｔａｎｄｂｙ  Ｉｍｍｅｄｉａｔｅの完了を通知する。
ステップＳ７５において、性能モニタ２６が、ＳＳＤ８のパワーオフシーケンスに要した時間を、ＭＲＡＭ９にＳＳＤ前回Ｐ−ＯＦＦ  ＳＥＱ時間２８として記録して、本処理を終了する。
【００９６】
図１２は、第２実施形態の一例としての停電シーケンス部２５′によるリトライ算出処理を示すフローチャート（ステップＳ８１〜Ｓ９６）である。
ステップＳ８１において、停電シーケンス部２５′が、監視部１０から、停電時給電部６のコンデンサ１４によって給電可能な時間である残給電時間ＴＲＥＭＡＩＮを受信する。
【００９７】
ステップＳ８２において、停電シーケンス部２５′は、性能モニタ２６から、前回の停電時のライト性能値２７（ＷＰ）を受信する。
次にステップＳ８３において、停電シーケンス部２５′は、ＳＳＤ８の前回のパワーオフシーケンスに要したパワーオフシーケンス時間ＴＰ−ＯＦＦを、性能モニタ２６に問い合わせて受信する。
【００９８】
ステップＳ８４において、停電シーケンス部２５′は、性能モニタ２６から、使用ＰＣＩｅレーン数ＬＣを受信する。
ステップＳ８５において、停電シーケンス部２５′は、キャッシュメモリ４からＳＳＤ８にバックアップするデータの合計サイズである、総バックアップデータサイズＳＴＯＴＡＬを取得する。
【００９９】
次にステップＳ８６において、停電シーケンス部２５′は、キャッシュメモリ４からＳＳＤ８に既にバックアップが行なわれている転送済みデータサイズＳＳＥＮＴを取得する。
ステップＳ８７において、停電シーケンス部２５′は、ステップＳ８５で取得したＳＴＯＴＡＬとステップＳ８６で取得したＳＳＥＮＴとから、ＳＳＤ８にバックアップする残りのデータのサイズである残バックアップデータサイズＳＲＥＭＡＩＮを以下の式（１）により計算する。
【０１００】
ＳＲＥＭＡＩＮ＝ＳＴＯＴＡＬ−ＳＳＥＮＴ                             …（１）
ステップＳ８８において、停電シーケンス部２５′は、ステップＳ８７で求めたＳＲＥＭＡＩＮから、残りのデータをバックアップするためにＳＤＤ８に何回アクセスするかを示す残アクセス数ＡＲＥＭＡＩＮを以下の式（２）により計算する。
【０１０１】
ＡＲＥＭＡＩＮ＝ＳＲＥＭＡＩＮ／１アクセスのデータサイズ              …（２）
次にステップＳ８９において、停電シーケンス部２５′は、ステップＳ８２，Ｓ８４で取得したＷＰとＬＣとから、１アクセスに要する時間ＴＡＣＣＥＳＳを以下の式（３）により計算する。
【０１０２】
ＴＡＣＣＥＳＳ＝１アクセスのデータサイズ／（ＷＰ×ＬＣ／総レーン数）  …（３）
ステップＳ９０において、停電シーケンス部２５′は、ステップＳ８１，Ｓ８３でそれぞれ取得したＴＲＥＭＡＩＮ及びＴＰ−ＯＦＦと、ステップＳ８８で求めたＡＲＥＭＡＩＮから、１アクセスに割り当てられる時間ＴＡＬＬＯＣを以下の式（４）により計算する。
【０１０３】
ＴＡＬＬＯＣ＝（ＴＲＥＭＡＩＮ−ＴＰ−ＯＦＦ）／ＡＲＥＭＡＩＮ       …（４）
ステップＳ９１において、停電シーケンス部２５′は、ステップＳ８９で求めたＴＡＣＣＥＳＳと、ステップＳ９０で求めたＴＡＬＬＯＣとから、１アクセスにおいてライトをリトライできる回数ＲＣを以下の式（５）により計算する。
【０１０４】
ＲＣ＝ＴＡＬＬＯＣ／ＴＡＣＣＥＳＳ                                   …（５）
次に、ステップＳ９２において、停電シーケンス部２５′は、例えばＭＲＡＭ９から、ＣＰＵ２によって事前に設定され、バックアップ制御部７′に記憶されている所定割合３０（Ｘ％）と優先度テーブル２９とを読み出す。
【０１０５】
次に、ステップＳ９３において、停電シーケンス部２５′は、ステップＳ９２で読み出した優先度テーブル２９を参照して、ＳＳＤ８にバックアップするデータのうち、未転送の優先高データのアクセス数ＡＨＩＧＨと優先度低のデータのアクセス数ＡＬＯＷとを得る。
ステップＳ９４において、停電シーケンス部２５′は、ステップＳ９１で読み出したＸ（％）に基づいて、優先度が低いデータのリトライ回数から減算する回数ＳＵＢを以下の式（６）により算出する。
【０１０６】
ＳＵＢ＝ＲＣ×（Ｘ／１００）                                          …（６）
ステップＳ９５において、停電シーケンス部２５′は、ステップＳ９３で得たＡＨＩＧＨ及びＡＬＯＷと、ステップＳ９４で求めたＳＵＢとを使用して、優先度の高いデータのリトライ回数に加算する回数ＡＤＤを以下の式（７）により算出する。
ＡＤＤ＝（ＳＵＢ×ＡＬＯＷ）／ＡＨＩＧＨ                             …（７）
ステップＳ９６において、停電シーケンス部２５′は、ステップＳ９１で求めたＲＣと、ステップＳ９４，Ｓ９５でそれぞれＳＵＢ及びＡＤＤとを使用して、データの優先度毎のリトライ回数を以下の式（８）〜（１０）により算出する。
【０１０７】
優先度の高いデータのリトライ回数＝ＲＣ＋ＡＤＤ                        …（８）
優先度の低いデータのリトライ回数＝ＲＣ−ＳＵＢ                        …（９）
通常の優先度のデータのリトライ回数＝ＲＣ                            …（１０）
その後停電シーケンス部２５′は本処理を終了する。
図１３は、第２実施形態の一例としての停電シーケンス部２５′によるリトライ回数の算出例を示す図である。
【０１０８】
本例においては、コンデンサ１４の総給電時間が８０秒、ライト性能値ＷＰが２５０ＭＢ／ｓ、１アクセスのデータサイズが１ＭＢ、ＰＣＩｅの総レーン数のうちの使用レーン数ＬＣが４レーン、総バックアップサイズＳＴＯＴＡＬが８ＧＢ、前回のパワーオフシーケンス時間ＴＰ−ＯＦＦが１秒とする。又、所定割合Ｘ＝５０％である。このとき、停電から３０秒後（残り給電時間が５０秒）、７ＧＢのデータを転送済みの時点で、ライトエラー発生が発生したとする。このとき、未転送の優先度高データのアクセス数ＡＨＩＧＨが１００、未転送の優先度低データのアクセスＡＬＯＷが２００であるとする。
【０１０９】
図１２のステップＳ８７において、停電シーケンス部２５′は、残バックアップデータサイズＳＲＥＭＡＩＮを、ＳＲＥＭＡＩＮ＝総バックアップデータサイズ８ＧＢ−転送済みデータサイズ７ＧＢ＝１ＧＢと算出する。
次に、ステップＳ８８において、停電シーケンス部２５′は、残アクセス数ＡＲＥＭＡＩＮを、残バックアップデータサイズ１ＧＢ／１アクセスのデータサイズ１ＭＢ＝１０２４アクセスと算出する。
【０１１０】
ステップＳ８９において、停電シーケンス部２５′は、１アクセスに要する時間ＴＡＣＣＥＳＳを、１アクセスのデータサイズ１ＭＢ／（ライト性能２５０ＭＢ／ｓ×リンク数４／４レーン）＝４ｍｓと算出する。
次に、ステップＳ９０において、停電シーケンス部２５′は、１アクセスに割り当てられる時間ＴＡＬＬＯＣを、（残り給電時間５０秒−パワーオフシーケンス時間）１秒／残アクセス数１０２４アクセス＝４７ｍｓと算出する。
【０１１１】
ステップＳ９１において、停電シーケンス部２５′は、１アクセスにライトをリトライできる回数ＲＣを、リトライに使用できる時間４７ｍｓ／１アクセスに要する時間４ｍｓ＝１１回と算出する。この値は、優先度が通常のデータ（通常データ）のリトライ回数である。
ステップＳ９４において、停電シーケンス部２５′は、優先度が低いデータのリトライ回数から減算する回数ＳＵＢを、ＳＵＢ＝１１×（５０／１００）＝５（小数点以下切り捨て）として求める。
【０１１２】
次に、ステップＳ９５において、停電シーケンス部２５′は、優先度の高いデータのリトライ回数に加算する回数ＡＤＤを、ＡＤＤ＝（５×ＡＬＯＷ２００アクセス）／ＡＨＩＧＨ１００アクセス＝１０と求める。
ステップＳ９６において、停電シーケンス部２５′は、データの優先度毎のリトライ回数を以下のように求める。
【０１１３】
優先度の高いデータのリトライ回数＝１１＋１０＝２１
優先度の低いデータのリトライ回数＝１１−５＝６
通常の優先度のデータのリトライ回数＝１１
このように、第２実施形態の一例によれば、停電シーケンス部２５′が、前述の第１実施形態の処理を実行することに加え、優先度テーブル２９内のデータの優先度に基づいて、ライトエラーのリトライ回数を調整する。詳細には、停電シーケンス部２５′は、優先度の低いデータのリトライ回数を低く設定し、優先度の高いデータのリトライ回数は多く設定する。
【０１１４】
キャッシュメモリ４内のデータのうち、重要度の高いデータに対し、優先度テーブル２９の優先度フィールド２９２に、高優先度を示す値（例えば“１”）を設定することで、低優先度のデータのリトライ回数を高優先度のデータに回すことができる。これにより、このため、第２実施形態の一例は、上記の第１実施形態の一例の作用・効果に加え、停電発生時に、情報処理装置１′内の重要なデータがバックアップされる確率をさらに高めることができるという効果を奏する。
（Ｃ）その他
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【０１１５】
例えば、上記の実施形態の一例においては、性能値２７、前回のＳＳＤ前回Ｐ−ＯＦＦ  ＳＥＱ時間２８、及びＰＣＩｅリンク１１の使用レーン数に基づいてライトリトライエラー回数を算出しているが、ほかのパラメータが使用されてもよい。
例えば、上記の実施形態の一例においては、キャッシュメモリ４のデータのバックアップ先としてＳＡＴＡ−ＳＳＤ８を使用していたが、バックアップ先として他のタイプの不揮発性メモリも使用可能である。
【０１１６】
上記の第２実施形態の一例においては、通常、優先度高及び優先度低の３段階の優先度を設定していたが、優先度の範囲を任意に設定することができる。
又、上記の実施形態の一例においては、バックアップ制御部７，７′及び監視部１０をＦＰＧＡとして実施し、ＰＣＩｅ  ＩＦ制御部２１、ＳＡＴＡ  ＩＦ部２２、非データＤＭＡ部２３、ライトＤＭＡ部２４、停電シーケンス部２５，２５′、及び性能モニタ２６を回路として実施する例を取り上げた。
【０１１７】
しかし、バックアップ制御部７，７′、監視部１０、ＰＣＩｅ  ＩＦ制御部２１、ＳＡＴＡ  ＩＦ部２２、非データＤＭＡ部２３、ライトＤＭＡ部２４、停電シーケンス部２５，２５′、及び性能モニタ２６を、ソフトウェアとして実施してもよい。
その場合、情報処理装置１，１′のＣＰＵ２が、制御プログラムを実行することにより、上述したパバックアップ制御部７，７′、監視部１０、ＰＣＩｅ  ＩＦ制御部２１、ＳＡＴＡ  ＩＦ部２２、非データＤＭＡ部２３、ライトＤＭＡ部２４、停電シーケンス部２５，２５′、及び性能モニタ２６として機能するようになっている。
【０１１８】
なお、上述したバックアップ制御部７，７′、監視部１０、ＰＣＩｅ  ＩＦ制御部２１、ＳＡＴＡ  ＩＦ部２２、非データＤＭＡ部２３、ライトＤＭＡ部２４、停電シーケンス部２５，２５′、及び性能モニタ２６としての機能を実現するための制御プログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から、不図示の媒体リーダーを用いてプログラムを読み取って内部記憶装置又は外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【０１１９】
上述したバックアップ制御部７，７′、監視部１０、ＰＣＩｅ  ＩＦ制御部２１、ＳＡＴＡ  ＩＦ部２２、非データＤＭＡ部２３、ライトＤＭＡ部２４、停電シーケンス部２５，２５′、及び性能モニタ２６としての機能を実現する際には、内部記憶装置（本実施形態ではＭＲＡＭ９等）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ２）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【０１２０】
（Ｄ）付記
以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）
主電源の電力供給停止時に副電源から電力の供給を受けて第１の記憶装置からのデータを第２の記憶装置に書き込ませる制御装置であって、
前記副電源が電力を供給可能な残供給時間を取得する残供給時間取得部と、
前記データの書き込み時にエラーが発生した際に、前記残供給時間取得部が取得した前記残供給時間に基づいて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みのリトライ回数を設定するリトライ回数設定部と、
をそなえることを特徴とする制御装置。
【０１２１】
（付記２）
前記第２の記憶装置は、該第２の記憶装置への電源切断前にパワーオフシーケンスが実行される記憶装置であり、
前記リトライ回数設定部は、前記第２の記憶装置の前回のパワーオフシーケンスに要した所要時間にさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記１記載の制御装置。
【０１２２】
（付記３）
前記主電源の前回の電力供給停止時の前記第１の記憶装置から前記第２の記憶装置へのデータ転送時間を記録する記録部をさらにそなえ、
前記リトライ回数設定部は、前記データ転送時間にさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記１又は２記載の制御装置。
【０１２３】
（付記４）
前記第１の記憶装置内のデータについて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みの優先度を記憶する優先度情報をそなえ、
前記リトライ回数設定部は、前記優先度情報をさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記１〜３のいずれか１項に記載の制御装置。
【０１２４】
（付記５）
前記リトライ回数設定部は、前記優先度情報に基づいて前記第１の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定することを特徴とする付記４記載の制御装置。
（付記６）
前記リトライ回数設定部は、前記第１の記憶装置と前記第２の記憶装置との間で利用可能なデータ転送リンク数にも基づいて前記リトライ回数を設定することを特徴とする付記１〜５のいずれか１項に記載の制御装置。
【０１２５】
（付記７）
主電源の電力供給停止時に副電源から電力の供給を受けて第１の記憶装置からのデータを第２の記憶装置に書き込ませる制御方法であって、
前記副電源が電力を供給可能な残供給時間を取得し、
前記データの書き込み時にエラーが発生した際に、取得した前記残供給時間に基づいて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みのリトライ回数を設定する、
ことを特徴とする制御方法。
【０１２６】
（付記８）
前記第２の記憶装置は、該第２の記憶装置への電源切断前にパワーオフシーケンスが実行される記憶装置であり、
前記第２の記憶装置の前回のパワーオフシーケンスに要した所要時間にさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記７記載の制御方法。
【０１２７】
（付記９）
前記主電源の前回の電力供給停止時の前記第１の記憶装置から前記第２の記憶装置へのデータ転送時間を記録し、
前記データ転送時間にさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記７又は８記載の制御方法。
【０１２８】
（付記１０）
前記第１の記憶装置内のデータについて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みの優先度情報を記憶し、
前記優先度情報にさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記７〜９のいずれか１項に記載の制御方法。
【０１２９】
（付記１１）
前記優先度情報に基づいて前記第１の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定することを特徴とする付記１０記載の制御方法。
（付記１２）
前記第１の記憶装置と前記第２の記憶装置との間で利用可能なデータ転送リンク数にも基づいて前記リトライ回数を設定することを特徴とする付記７〜１１のいずれか１項に記載の制御方法。
【０１３０】
（付記１３）
主電源の電力供給停止時に副電源から電力の供給を受けて第１の記憶装置からのデータを第２の記憶装置に書き込ませる制御プログラムであって、
前記副電源が電力を供給可能な残供給時間を取得し、
前記データの書き込み時にエラーが発生した際に、取得した前記残供給時間に基づいて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みのリトライ回数を設定する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【０１３１】
（付記１４）
前記第２の記憶装置は、該第２の記憶装置への電源切断前にパワーオフシーケンスが実行される記憶装置であり、
前記第２の記憶装置の前回のパワーオフシーケンスに要した所要時間にさらに基づいて前記リトライ回数を設定する
処理を前記コンピュータに実行させることを特徴とする付記１３記載の制御プログラム。
【０１３２】
（付記１５）
前記主電源の前回の電力供給停止時の前記第１の記憶装置から前記第２の記憶装置へのデータ転送時間を記録し、
前記データ転送時間にさらに基づいて前記リトライ回数を設定する
処理を前記コンピュータに実行させることを特徴とする付記１３又は１４記載の制御プログラム。
【０１３３】
（付記１６）
前記第１の記憶装置内のデータについて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みの優先度情報を記憶し、
前記優先度情報にさらに基づいて前記リトライ回数を設定する
処理を前記コンピュータに実行させることを特徴とする付記１３〜１５のいずれか１項に記載の制御プログラム。
【０１３４】
（付記１７）
前記優先度情報に基づいて前記第１の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定する処理を前記コンピュータに実行させることを特徴とする付記１６記載の制御プログラム。
（付記１８）
前記第１の記憶装置と前記第２の記憶装置との間で利用可能なデータ転送リンク数にも基づいて前記リトライ回数を設定する処理を前記コンピュータに実行させることを特徴とする付記１３〜１７のいずれか１項に記載の制御プログラム。
【０１３５】
（付記１９）
情報処理装置であって、
主電源と、
副電源と、
第１の記憶装置と、
第２の記憶装置と、
前記情報処理装置への電力供給停止時に前記副電源から電力の供給を受けて前記第１の記憶装置のデータを前記第２の記憶装置に送信する制御装置と、をそなえ、
前記制御装置は、
前記副電源が電力を供給可能な残供給時間を取得する残供給時間取得部と、
前記データの書き込み時にエラーが発生した際に、前記残供給時間取得部が取得した前記残供給時間に基づいて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みのリトライ回数を設定するリトライ回数設定部と、
をそなえることを特徴とする情報処理装置。
【０１３６】
（付記２０）
前記制御装置は、前記第１の記憶装置内のデータについて、前記第１の記憶装置から前記第２の記憶装置への前記データの書き込みの優先度を記憶する優先度情報をそなえ、
前記リトライ回数設定部は、前記優先度情報をさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記１９記載の情報処理装置。
【符号の説明】
【０１３７】
１                    情報処理装置
２                    ＣＰＵ
３                    メモリコントローラ
４                    キャッシュメモリ（第１の記憶装置）
５                    電源供給部（主電源）
６                    停電時給電部（副電源）
７                    バックアップ制御部（制御装置、コンピュータ）
８                    ＳＡＴＡ−ＳＳＤ（第２の記憶装置）
９                    ＭＲＡＭ
１０                  監視部
１４                  コンデンサ
２１                  ＰＣＩｅ  ＩＦ制御部
２２                  ＳＡＴＡ  ＩＦ部
２３                  非ＤＭＡ部
２４                  ライトＤＭＡ部
２５                  停電シーケンス部（リトライ回数設定部）
２６                  性能モニタ（残供給時間取得部，記録部）
２７                  ライト性能値（データ転送時間）
２８                  ＳＳＤパワーオフ時間（所要時間）
２９                  優先度テーブル（優先度情報）
【図１】
2015115051.tif 000003
【図２】
2015115051.tif 000004
【図３】
2015115051.tif 000005
【図４】
2015115051.tif 000006
【図５】
2015115051.tif 000007
【図６】
2015115051.tif 000008
【図７】
2015115051.tif 000009
【図８】
2015115051.tif 000010
【図９】
2015115051.tif 000011
【図１０】
2015115051.tif 000012
【図１１】
2015115051.tif 000013
【図１２】
2015115051.tif 000014
【図１３】
2015115051.tif 000015
【図１４】
2015115051.tif 000016