"冗長性を有するRAIDグループに対してアクセス制御を行うRAIDグループ制御装置であって、前記RAIDグループについてのアクセス頻度情報を取得する取得部と、指定された時間範囲の中で前後の時間帯よりもアクセス頻度が低い時間帯を、前記アクセス頻度情報に基づいて求め、求めた時間帯に基づいて、前記RAIDグループに属するドライブのファームウェアの書き換え処理の開始タイミングを決定するスケジューリング部と、決定した前記開始タイミングで、前記ドライブのファームウェアの書き換え処理を開始するファームウェア書き換え処理部と、を備えるRAIDグループ制御装置。前記スケジューリング部は、アクセス頻度が低い時間帯が求められなかったRAIDグループがある場合、当該RAIDグループの前記開始タイミングを、他のRAIDグループについて求められた時間帯とは異なる時間帯に決定することを特徴とする請求項1に記載のRAIDグループ制御装置。前記ファームウェア適用処理が行われているファームウェア適用中ドライブを含むRAIDグループに対するリード/ライト要求に応答する要求応答部を、さらに備え、前記要求応答部は、或るファームウェア適用中ドライブを含む或るRAIDグループに対するリード要求を、当該ファームウェア適用中ドライブを除いた当該RAIDグループ内のドライブを制御することにより処理し、或るファームウェア適用中ドライブを含む或るRAIDグループに対するライト要求を、当該ファームウェア適用中ドライブを除いた当該RAIDグループ内のドライブを制御すると共に、当該ファームウェア適用中ドライブに書き込むべきデータと、当該データを書き込むべき当該ファームウェア適用中ドライブの記憶領域及び当該ファームウェア適用中ドライブを示す書込位置情報とを情報格納領域に記憶することにより処理し、或るファームウェア適用中ドライブに対するファームウェア適用処理の完了後に、前記書込位置情報に基づき、前記情報格納領域に記憶されている当該ファームウェア適用中ドライブに書き戻すべき各データを当該ファームウェア適用中ドライブに書き戻してから、当該ファームウェア適用中ドライブに書き戻した各データと当該各データに対応する書込位置情報を前記情報格納領域上から消去することを特徴とする請求項1又は2に記載のRAIDグループ制御装置。前記スケジューリング部は、各ファームウェア適用中ドライブに対するファームウェア適用処理を行う際における前記情報格納領域の使用状況を予測して、前記各RAIDグループの前記開始タイミングを決定することを特徴とする請求項3に記載のRAIDグループ制御装置。前記取得部は、所定時間毎のアクセス回数を含むアクセス頻度情報を取得し、前記スケジューリング部は、前記アクセス頻度情報に基づき、アクセス頻度が前後の時間帯よりも低い,前記所定時間よりも短い時間帯を求め、求めた時間帯に基づいて、前記RAIDグループに属するドライブのファームウェアの書き換え処理の開始タイミングを決定することを特徴とする請求項1から4のいずれか一項に記載のRAIDグループ制御装置。そこで、本発明の課題は、RAIDグループの各構成ドライブのファームウェアを、安全に書き換えられるRAIDグループ制御装置を提供することにある。上記課題を解決するために、本発明の一態様の、冗長性を有するRAIDグループに対してアクセス制御を行うRAIDグループ制御装置は、RAIDグループについてのアクセス頻度情報を取得する取得部と、指定された時間範囲の中で前後の時間帯よりもアクセス頻度が低い時間帯を、前記アクセス頻度情報に基づいて求め、求めた時間帯に基づいて、前記RAIDグループに属するドライブのファームウェアの書き換え処理の開始タイミングを決定するスケジューリング部と、決定した前記開始タイミングで、ドライブのファームウェアの書き換え処理を開始するファームウェア書き換え処理部とを備える。本発明によれば、RAIDグループの各構成ドライブのファームウェアを安全に書き換えられるRAIDグループ制御装置を提供することが出来る。以下、本発明の実施の形態を、図面を参照して詳細に説明する。《第1実施形態》図1に、本発明の第1実施形態に係るディスクアレイ装置10の構成及び使用形態例を示す。この図1に示してあるように、本実施形態に係るディスクアレイ装置10は、複数のコントローラモジュールCM12を収容したコントローラエンクロージャCE11と、記憶部16とを、備える。記憶部16は、それぞれ、複数のドライブ150ハードディスドライブ又はSSDを収容した複数のドライブエンクロージャDE15を含む。各DE15には、通常、データを記憶するための複数のドライブ150と共に、故障したドライブ150の代わりに使用されるホットスペアドライブ155も収容される。ディスクアレイ装置10が備える各CM12は、FCスイッチ30を介してホスト40から受信した又は、ホスト40から直接受信したリード/ライト要求に応じた内容の制御を記憶部16に対して行う装置である。図1に示してあるように、各CM12は、ホスト40に対するインターフェースモジュールである2つのチャネルアダプタCA101と、DE15に対するインターフェースモジュールである2つのドライブアダプタDA104とを、備える。また、各CM12は、ROMReadOnlyMemory;図示略、当該ROMに記憶されているプログラムファームウェアに従って各種処理を行う2つのCPUCentralProcessingUnit102及び各種データを一時的に記憶しておくためのメモリ103を、備える。本実施形態に係るディスクアレイ装置10の各CM12は、記憶部16を、複数の冗長性を有するRAIDグループとして取り扱う。また、各CM12は、自身が制御を担当すべきものとして予め割り当てられている幾つかのRAIDグループのみを制御する。さらに、ディスクアレイ装置10内の特定のCM12は、他の各CM12以下、スレーブCM12とも表記するとは異なる機能を有するマスターCM12として動作する。図2A、図2Bに、それぞれ、マスターCM12、スレーブCM12の機能ブロック図を示す。図2Aに示してあるように、マスターCM12は、IO制御部21、システム制御部22、装置監視部23、ファームウェア管理制御部24、アクセス退避制御部25、アクセス監視部26、アクセスランク調整部27及びスケジュール制御部28を備える。また、図2Bに示してあるように、スレーブCM12は、IO制御部21、システム制御部22、装置監視部23、ファームウェア管理制御部24、アクセス退避制御部25、アクセス監視部26を備える。より具体的には、スレーブCM12は、IO制御部21、システム制御部22、装置監視部23、ファームウェア管理制御部24、アクセス退避制御部25、アクセス監視部26として機能するCM102を備える。また、マスターCM12図2Aは、IO制御部21、システム制御部22、装置監視部23、ファームウェア管理制御部24、アクセス退避制御部25、アクセス監視部26、アクセスランク調整部27及びスケジュール制御部28として機能するCM102を備える。各CM12マスター/スレーブCM12が備えるIO制御部21、システム制御部22及び装置監視部23は、既存のCMも備えるユニット機能ブロックである。そのため、各部の詳細な機能説明は省略するが、IO制御部21は、上位装置からのI/Oの制御を行う。また、システム制御部22は、電源制御、構成管理等を行い、装置監視部23は、装置状態記憶部16内の各ドライブ150の状態等を監視する。ファームウェア管理制御部24、アクセス退避制御部25、アクセス監視部26、アクセスランク調整部27及びスケジュール制御部28は、既存のCMが備えていないユニットである。以下、各部の機能を具体的に説明する。尚、以下の説明において、FW、RAID-Gとは、それぞれ、ファームウェア、RAIDグループのことである。ファームウェア管理制御部FWファームウェア管理制御部24は、自CM12が制御を担当している任意のRAIDグループに対して、FW適用処理を行えるユニットである。ここで、FW適用処理とは、処理対象となっているRAIDグループを構成している各ドライブ150に対して、ドライブ150内のFW記憶用の不揮発性メモリに他のFWを記憶させてから、ドライブ150をリブートする処理を、順次、実行する処理のことである。詳細については後述するが、マスターCM12のスケジュール制御部28は、所定条件が満たされた場合、FWを適用すべきRAID-Gの制御を担当しているCM12自/他CM12に対して、FW適用開始要求又は系列指定FW適用開始要求を送信する。FW適用開始要求は、FWを適用すべき1つ以上のRAID-G以下、FW適用対象RAID-Gと表記するの識別情報本実施形態では、RAID-G番号がパラメータとして含まれる要求である。FW管理制御部24は、FW適用開始要求を受信した場合、まず、装置監視部23と通信を行うことにより、受信したFW適用開始要求が示している各FW適用対象RAID-Gの中に冗長性が失われているものがあるか否かを判断する。そして、FW管理制御部24は、全FW適用対象RAID-Gが冗長性を有していた場合には、FW適用対象RAID-Gのそれぞれに対するFW適用処理を開始する。FW管理制御部24は、FW適用対象RAID-Gの中に、冗長性を有するものと冗長性が失われているものとがあった場合には、冗長性が失われている各FW適用対象RAID-Gに対するFW適用処理を行わない旨をスケジュール制御部28に通知する。その後、FW管理制御部24は、冗長性を有していることを確認できた各FW適用対象RAID-Gに対するFW適用処理を開始する。また、FW管理制御部24は、全てのFW適用対象RAID-Gの冗長性が失われていた場合には、各全FW適用対象RAID-Gに対するFW適用処理を行わない旨をスケジュール制御部28に通知する。そして、FW管理制御部24は、FW適用処理を開始することなく、受信したFW適用開始要求に対する処理を終了する。尚、FW管理制御部24は、或るFW適用対象RAID-Gに対するFW適用処理を開始する前に、そのFW適用対象RAID-Gの識別情報をアクセス退避制御部25に通知する。また、FW管理制御部24は、一台のドライブ150に対するFW適用処理が完了する度に、その旨を示す完了通知情報本実施形態では、FW更新が完了したドライブ150の識別情報を含む情報をアクセス退避制御部25に送信する。そして、FW管理制御部24は、当該完了通知情報を受信したアクセス退避制御部25がデータ書戻処理詳細は後述の完了を通知してきたときに、次のドライブ150に対するFW適用を開始する。また、FW管理制御部24は、或るFW適用対象RAID-Gに対するFW適用処理が完了した場合最後のドライブ150に対するデータ書戻処理の完了が通知された場合には、その旨をマスターCM12のスケジュール制御部28に通知する。系列指定FW適用開始要求の内容、系列指定FW適用開始要求に対するFW管理制御部24の動作については、スケジュール制御部28の動作と共に、後ほど説明する。アクセス退避制御部アクセス退避制御部25は、FW適用処理が行われているRAIDグループに対する,ホスト40からのリード/ライトアクセスリード/ライト要求を処理するユニットである。アクセス退避制御部25は、FW管理制御部24から通知される識別情報RAID-G番号により、どのRAID-GがFW適用中RAIDグループ200であるかを把握する。以下、図3、図4A、図4B及び図5を用いて、アクセス退避制御部25の動作を、状況別に説明する。尚、各図及び以下の説明において、FW適用中RAIDグループ又は、FW適用中RAID-G200とは、FW適用処理が行われているRAIDグループのことである。また、FW適用中ドライブ150aとは、FW適用中RAIDグループ200内の、実際にFWが適用されているドライブ150FWの書き換え中/リブート中のドライブ150のことである。まず、図3を用いて、FW適用中RAID-G200を構成している全ドライブ150が正常に機能している状況下、FW適用中RAID-G200に対するリードアクセスリード要求が発生した場合におけるアクセス退避制御部25の動作を説明する。この場合、アクセス退避制御部25は、図3に模式的に示してあるように、FW適用中ドライブ150a以外のドライブ150から、リードアクセスが読み出しを要求しているデータを読み出してホスト40に返送する。FW管理制御部24から複数のRAID-G番号が通知されている場合つまり、FW適用中RAID-G200が複数個ある場合、アクセス退避制御部25は、各FW適用中RAID-G200に対するリードアクセスについて、上記内容の処理を行う。次に、図4A及び図4Bを用いて、FW適用中RAID-Gを構成している全ドライブ150が正常に機能している状況下、FW適用中RAID-G200に対するライトアクセスライト要求が発生した場合におけるアクセス退避制御部25の動作を説明する。この場合、アクセス退避制御部25は、図4Aに模式的に示してあるように、FW適用中ドライブ150a以外の各ドライブ150に対しては、通常の制御処理を行う。ここで、通常の制御処理とは、FW適用を行っていない場合に書き込むものと同じデータライトデータを分割したデータ、パリティ等をドライブ150に書き込む処理のことである。また、上記場合、アクセス退避制御部25は、FW適用中ドライブ150aに書き込むべきデータと当該データの本来の格納位置を示す格納位置情報FW適用中ドライブ150aのドライブ名を含むものとを退避データ格納領域220に記憶する処理も行う。ここで、退避データ格納領域220とは、特定のホットスペアドライブ155内又は自CM12のメモリ103上に予め確保されている記憶領域のことである。この退避データ格納領域220のサイズは、アクセス頻度が高い状況下でFW適用を行った場合にFW適用が完了するまでの間に退避しておくことが通常必要となる量の情報を記憶できるように定められている。尚、アクセス退避制御部25は、退避データ格納領域220の一部を、格納位置情報記憶領域として使用し、退避データ格納領域220の残りの部分を、データ記憶領域として使用する。そして、アクセス退避制御部25は、FW適用中RAID-G200に対するライトアクセスが発生した場合には、FW適用中ドライブ150aに書き込むべきデータを、データ記憶領域に、前回、データ記憶領域に記憶したデータに続ける形で記憶する。また、アクセス退避制御部25は、FW適用中ドライブ150aに書き込むべきデータの,データ記憶領域内における記憶領域の先頭アドレス及びサイズを含む固定長の格納位置情報を格納位置情報記憶領域に記憶する。アクセス退避制御部25は、FW適用中ドライブ150aに対するFW適用処理が完了するまで、FW適用中RAIDグループ200に対するライトアクセスを上記のような形で処理する。アクセス退避制御部25は、FW適用中ドライブ150aに関する完了通知情報をFW管理制御部24から受信した際には、以下のように動作する。まず、アクセス退避制御部25は、図4Bに示してあるように、退避データ格納領域220上の各データをFW適用処理が完了したFW適用中ドライブ図4Bでは、FW適用完了ドライブ150aに書き込むデータ書戻処理を行う。このデータ書戻処理時、アクセス退避制御部25は、退避データ格納領域220上の格納位置情報から、各データの書き戻し先を把握する。その後、アクセス退避制御部25は、データ書戻処理の完了をFW管理制御部24に通知し、不要となったデータを退避データ格納領域220上から消去する図示略。そして、アクセス退避制御部25は、今回、FWが適用されたドライブ150150aに対する処理を終了する。尚、アクセス退避制御部25は、FW適用処理が完了する前に、退避データ格納領域220がフルになった場合には、FW適用中RAID-G200に対するアクセスを受け付けない状態に移行する。そして、アクセス退避制御部25は、FW適用処理が完了したときに、上記したデータ書戻処理を行ってから、FW適用中RAID-G200に対するアクセスを受け付ける状態に戻る。FW管理制御部24から複数のRAID-G番号が通知されている場合FW適用中RAID-G200が複数個存在する場合におけるアクセス退避制御部25の動作内容も、同様のものである。すなわち、FW管理制御部24から複数のRAID-G番号が通知されている場合、FW管理制御部24は、退避データ格納領域220上に、各FW適用中RAID-G200のFW適用中ドライブ150aに書き込むべきデータとそれに関する格納位置情報とを記憶する。そして、アクセス退避制御部25は、或るFW適用中ドライブ150aに対するFW適用処理が完了した際には、当該FW適用中ドライブ150aのドライブ名を含む各格納位置情報に対応付けられているデータのみを、FW適用完了ドライブ150aに書き戻すデータ書戻処理を行う。次に、図5を用いて、FW適用中RAID-G200に対するリード/ライトアクセスを上記のような形で処理している間に、FW適用中RAID-G200の非FW適用中ドライブ150が故障した場合におけるアクセス退避制御部25の動作を説明する。非FW適用中ドライブ150が故障すると、通常のRAIDレベルのFW適用中RAIDグループ200は、或るドライブ150のFW適用が失敗すると利用不可能な状態となる記憶装置として機能することになる。尚、通常のRAIDレベルとは、冗長性は有するが、複数のドライブ故障に対応できないRAIDレベルのことである。そのため、アクセス退避制御部25は、現FW適用中ドライブ150aに対するFW適用が完了した段階で、FW管理制御部24によるFW適用処理を中断させる。そして、FW管理制御部24は、中断したFW適用処理を、RAID-Gが冗長性を有する状態に戻った後ホットスペアドライブ155を、故障発生ドライブ150cの代わりのドライブ150として機能させるための処理等が完了した後に再開する。また、アクセス退避制御部25は、FW適用中ドライブ150aのFW適用が完了するまでの間は、FW適用中RAID-G200に対するアクセスを内部に保持し、各アクセスをFW適用中ドライブ150aのFW適用が完了した後に処理する状態で動作する。ただし、或るアクセスの受信後、一定時間内にFW適用中ドライブ150aに対するFW適用が完了しなかった場合、アクセス退避制御部25は、受信済みのアクセスを破棄して、ホスト40に対して当該アクセスのリトライ要求を送信する。要するに、アクセス退避制御部25は、或る非FW適用中ドライブ150150cが故障した場合、FW適用中ドライブ150aのFW適用が完了するまで、FW適用中RAID-G200に対するアクセスを全く行わない状態で動作する。FW管理制御部24から複数のRAID-G番号等が通知されている状況下、2つ以上のFW適用中RAID-G200内の非FW適用中ドライブ150が故障した場合も、アクセス退避制御部25は、同様に動作する。アクセス監視部各CM12のメモリ103上には、自CM12が制御を担当している各RAIDグループについてのアクセス数情報、アクセス履歴情報を記憶しておくための領域が確保されている。ここで、或るRAID-Gについてのアクセス数情報とは、当該RAID-Gに対する,過去の所定期間例えば、24時間前から現時点まで内の各単位時間例えば1分におけるアクセス数アクセス頻度を含む情報のことである。このアクセス数情報は、例えば図6に示したような形式のアクセス数情報50としてメモリ103上に記憶される。また、或るRAID-Gについてのアクセス履歴情報とは、例えば図7に示したような形式のアクセス履歴情報55としてメモリ103上に記憶される情報詳細は後述のことである。アクセス監視部26は、常時、自CM12が制御を担当している各RAIDグループに対するアクセス状況を監視している。そして、アクセス監視部26は、アクセス状況の監視結果に基づき、メモリ103上の、各RAID-Gについてのアクセス数情報50図6を、過去の所定期間内の各単位時間におけるアクセス数を含むものとなるように、随時、更新する。また、アクセス監視部26は、各RAID-Gについてのアクセス履歴情報55の内容を、同じRAID-Gについてのアクセス数情報50に基づき更新するアクセス履歴情報更新処理を、定期的に例えば24時間毎に、行う。アクセス履歴情報55は、図7に示してあるように、過去の所定時間本実施形態では、24時間内の各規定時間本実施形態では、30分毎のアクセス数とアクセスランクとを含む情報である。アクセス履歴情報更新処理時、アクセス監視部26は、各RAID-Gに関するアクセス数情報50図6に基づき、各RAID-Gに対する,各規定時間の時間帯におけるアクセス数を求める。そして、アクセス監視部26は、各RAID-Gに関するアクセス履歴情報55中の各時間帯についてのアクセス数を、求めた値に変更する。また、アクセス履歴情報更新処理時、アクセス監視部26は、各RAID-Gについて求めた各時間帯のアクセス数から、以下のアルゴリズムでアクセスランク以下、単にランクとも表記するを求める。そして、アクセス監視部26は、各RAID-Gに関するアクセス履歴情報55中の各時間帯についてのランクを、求めたランクに変更してから、アクセス履歴情報更新処理を終了する。アクセス数>AB境界アクセス数→ランク=AAB境界アクセス数≧アクセス数>BC境界アクセス数→ランク=BBC境界アクセス数≧アクセス数>CD境界アクセス数→ランク=CCD境界アクセス数≧アクセス数→ランク=Dここで、AB境界アクセス数とは、各ドライブ150のFW適用中に退避データ格納領域220のほぼ40が使用される図4A、図4B参照ことになる標準的なアクセス数として予め設定されている値のことである。BC境界アクセス数とは、各ドライブ150のFW適用中に退避データ格納領域220のほぼ20が使用されることになる標準的なアクセス数として予め設定されている値のことである。CD境界アクセス数とは、各ドライブ150のFW適用中に退避データ格納領域220が殆ど使用されない退避データ格納領域220のほぼ1が使用されることになる標準的なアクセス数として予め設定されている値のことである。アクセスランク調整部既に説明したように、アクセスランク調整部27は、マスターCM12のみが備えるユニット図2A及び図2B参照である。このアクセスランク調整部27は、ディスクアレイ装置10内の各CM12に対して同内容の処理を行うユニットとなっている。そのため、以下では、アクセスランク調整部27が、或るCM12含む自CM12:以下、注目CM12と表記するに対して行う処理のみを説明する。また、以下の説明では、注目CM12内のFW管理制御部24、アクセス監視部26のことを、注目FW管理制御部24、注目アクセス監視部26と表記する。アクセスランク調整部27は、注目アクセス監視部26によるアクセス履歴情報55図7の更新が完了する度に、注目アクセス監視部26から、注目CM12が制御を担当している各RAID-Gに関する,各時間帯についてのランクを取得する。換言すれば、アクセスランク調整部27は、注目アクセス監視部26により各RAID-Gに関するアクセス履歴情報55の内容が更新される度に、内容が更新された各アクセス履歴情報55中の一部の情報を取得する。そして、アクセスランク調整部27は、今回、取得した各RAID-Gに関する各時間帯のランクを、各時間帯になったときの実際のアクセス数に対応している可能性がより高いランクに更新調整するためのランク更新処理を行う。具体的には、ランク更新処理時、アクセスランク調整部27は、今回、取得した各ランク以下、算出ランクと表記するを、前回のランク更新処理による,同時間帯のランクの処理結果以下、旧ランクと表記すると比較する。そして、アクセスランク調整部27は、図8に示したように、旧ランクと同じ算出ランク、旧ランクとの違いが1ランクしかない算出ランクについては、算出ランクを、そのまま、更新調整後のランク以下、更新ランクと表記するとする。また、アクセスランク調整部27は、旧ランクとの差違が2ランク以上ある算出ランクつまり、特殊な事情の存在が疑われる算出ランクについては、算出ランクを、旧ランク側へ1ランク分近づけたランクを更新ランクとする。このような内容のランク更新処理により、各RAID-Gに関する各時間帯の更新ランクを求めたアクセスランク調整部27は、メモリ103上に図9に示したような内容のランクテーブル60を生成する。尚、このランクテーブル60の生成は、メモリ103上に存在するランクテーブル60前回のランク更新処理の処理結果を書き換える形で行われる。要するに、アクセスランク調整部27は、注目アクセス監視部26によるアクセス履歴情報55の更新が完了する度に、注目アクセス監視部26から、注目CM12が制御を担当している各RAID-Gに関する,各時間帯についてのランクを取得する。そして、アクセスランク調整部27は、取得した各ランクを実際のアクセス数に対応している可能性がより高いランクに更新し、更新した各時間帯のランクをRAID-G別に記憶したランクテーブル60をメモリ103上に用意する。スケジュール制御部スケジュール制御部28は、アクセスランク調整部27と同様に、マスターCM12のみが備えるユニット図2A及び図2B参照である。このスケジュール制御部28は、アクセスランク調整部27がメモリ103上にCM12毎に用意する各ランクテーブル60図9に対して、同内容の処理を行うユニットとなっている。そのため、以下では、アクセスランク調整部27が或るCM12以下、注目CM12と表記するについて用意したランクテーブル60以下、注目ランクテーブル60と表記するに対して、スケジュール制御部28が行う処理のみを説明する。また、以下の説明では、注目ランクテーブル60に、各時間帯のランクが記憶されているRAID-Gつまり、注目CM12が制御を担当しているRAID-Gのことを、単に、RAID-Gとも表記する。スケジュール制御部28は、第1及び第2FW適用制御処理を実行できる。第1、第2FW適用制御処理は、いずれも、注目ランクテーブル60上の情報に基づき、各RAID-GのFW適用を開始すべき時間を決定し、各RAID-GのFW適用を、決定した時間に開始させる処理である。また、各FW適用制御処理は、いずれも、ユーザにより、或るFWを、或る連続した時間範囲内に各RAID-Gに適用すべきことが指示された場合にスケジュール制御部28が実行する処理となっている。スケジュール制御部28は、ユーザにより、FW適用を行うべき時間範囲以下、指定時間範囲と表記するとして、連続した複数のランク算出対象時間帯からなる時間範囲が指定された場合に、第1FW適用制御処理を実行する。尚、ランク算出対象時間帯とは、アクセスランクが定められる時間帯図7参照;本実施形態では、長さが30分の時間帯のことである。また、スケジュール制御部28は、ユーザにより、指定時間範囲として、1つのランク算出対象時間帯が指定された場合に、第2FW適用制御処理を実行する。まず、指定時間範囲が連続した複数のランク算出対象時間帯からなる時間範囲である場合にスケジュール制御部28が実行する第1FW適用制御処理の内容を説明する。図10に、第1FW適用制御処理の流れ図を示す。この図10に示してあるように、第1FW適用制御処理を開始したスケジュール制御部28は、まず、作業用テーブル作成更新処理ステップS101を実行する。作業用テーブル作成更新処理は、図11に示した手順の処理である。すなわち、作業用テーブル作成更新処理を開始したスケジュール制御部28は、まず、注目ランクテーブル60に基づき、メモリ103上に作業用テーブル70を作成する処理ステップS201を行う。図12Aに、ステップS102の処理にてメモリ103上に作成される作業用テーブル70の一例を示す。尚、この図12Aに示した作業用テーブル70は、注目ランクテーブル60が図9に示した内容のものである場合にメモリ103上に作成されるものである。図12A及び図9から明らかなように、作業用テーブル70は、注目ランクテーブル60と同じ情報を保持したテーブルである。ただし、作業用テーブル70には、各RAID-Gについて状態情報図12Aにおける未決定を記憶するためのフィールドと、各RAID-Gの各時間帯について作業用フラグを記憶するためのフィールド作業用Fとが追加されている。この作業用テーブル70に記憶される状態情報は、対応するRAID-GのFW適用時間が決定済みであるか否かを示す情報である。作業用フラグは、各RAID-GのFW適用時間を決定するために使用される2値情報である。図12Aに示してあるように、ステップS201の処理時には、各状態情報として、対応するRAID-GのFW適用時間が決定済みでないことを示す未決定が設定され、各作業用フラグとして、0が設定された作業用テーブル70が作成される。図11に戻って、作業用テーブル作成更新処理の説明を続ける。作業用テーブル70を作成したスケジュール制御部28は、作業用テーブル70上に識別情報が記憶されているRAID-Gの中から、処理対象とするRAID-G以下、処理対象RAID-Gと表記するを選択するステップS202。次いで、スケジュール制御部28は、作業用テーブル70上の情報に基づき、指定時間範囲内の時間帯の中から、処理対象RAID-Gに関する,ランクが最も低い時間帯を特定するステップS203。その後、スケジュール制御部28は、作業用テーブル70上の,処理対象RAID-Gに関する,特定した各時間帯についての作業用フラグを、1に変更するステップS204。ステップS204の処理を終えたスケジュール制御部28は、作業用テーブル70上に識別情報が記憶されている全RAID-Gに対する処理が完了したか否かを判断するステップS205。処理が未完了のRAID-Gが残っていた場合ステップS205;NO、スケジュール制御部28は、処理対象RAID-Gを次のRAID-Gに変更ステップS206してから、ステップS203以降の処理を再び実行する。そして、スケジュール制御部28は、作業用テーブル70上に識別情報が記憶されている全RAID-Gに対する処理が完了したときにステップS205;YES、作業用テーブル作成更新処理を終了する。ここで、指定時間範囲が000000~020000であり、注目ランクテーブル60が図9に示した内容のものであった場合を例に、作業用テーブル作成更新処理の内容をより具体的に説明しておくことにする。上記場合、作業用テーブル作成更新処理では、まず、図12Aに示した内容の作業用テーブル70がメモリ103上に作成される。その後、各RAIDグループについて、ステップS203及びS204の処理が行われる。そのため、RAIDグループ1については、指定時間範囲内の、ランクが最も低い時間帯である003000~010000及び010000~013000が特定され、それらの作業用フラグが1に変更される。また、RAIDグループ4については、指定時間範囲内の、ランクが最も低い時間帯である010000~013000及び013000~020000が特定され、それらの作業用フラグが1に変更される。また、RAIDグループ2、3についての,指定時間範囲内の各時間帯のランクは、同ランクである。すなわち、RAIDグループ2、3についての、指定時間範囲内の各時間帯のランクは、全て最も低いランクとなっている。そのため、RAIDグループ2、3については、指定時間範囲内の各時間帯についての作業用フラグが全て1に変更される。指定時間範囲が000000~020000であり、注目ランクテーブル60が図9に示した内容のものであった場合、上記のような処理が行われる。従って、作業用テーブル作成更新処理が完了すると、メモリ103上に図12Bに示した内容の作業用テーブル70が存在する状態が形成されることになる。作業用テーブル作成更新処理図10;ステップS101が完了すると、スケジュール制御部28は、続くステップS102にて、図13に示した手順のFW適用順リスト作成処理を実行する。すなわち、FW適用順リスト作成処理を開始したスケジュール制御部28は、まず、FW適用順リストを空のリストに初期化するステップS300。次いで、スケジュール制御部28は、指定時間範囲内の最初の時間帯を、処理対象時間帯として選択するステップS301。その後、スケジュール制御部28は、作業用テーブル70上の処理対象時間帯に関する作業用フラグが1となっており、且つ、作業用テーブル70上の状態情報が未決定となっている各RAID-Gを特定する処理ステップS302を行う。上記条件を満たすRAID-Gが全く特定できなかった場合ステップS303;NO、スケジュール制御部28は、指定時間範囲内の全時間帯に対する処理が完了したか否かを判断するステップS308。そして、スケジュール制御部28は、未処理の時間帯が残っていた場合ステップS308;YESには、処理対象時間帯を次の時間帯に変更ステップS309から、ステップS302以降の処理を再び実行する。一方、上記条件を満たすRAID-Gを1つ以上特定できた場合ステップS303;YES、スケジュール制御部28は、特定できたRAID-G数以下、特定数と表記するが1であるか否かを判断するステップS304。特定数が1であった場合ステップS304;YES、スケジュール制御部28は、FW適用順リストに、特定したRAID-GのRAID-G番号と処理対象時間帯とを含むFW適用対象情報を追加するステップS305。次いで、スケジュール制御部28は、作業用テーブル70上の、FW適用順リストにFW適用対象情報を追加したRAID-Gに関する状態情報を決定済に変更するステップS306。その後、スケジュール制御部28は、未決定RAID-G状態情報が未決定となっているRAID-Gが残っているか否かを判断するステップS307。そして、スケジュール制御部28は、未決定RAID-Gが残っていた場合ステップS307;YESには、ステップS308以降の処理を開始する。作業用フラグが1となっているRAID-Gが2つ以上特定された場合ステップS304;NO、スケジュール制御部28は、特定された複数のRAID-Gが同時にFW適用可能なものであるか否かを判定するステップS311。より具体的には、スケジュール制御部28は、以下の判定用不等式が成立するか否かにより、特定された複数のRAID-Gが同時にFW適用可能なものであるか否かを判定する。NANB1/2NC1/4≦1尚、NA、NB、NCとは、それぞれ、同時にFW適用可能なものであるか否かの判定対象となっている複数のRAID-Gの中に含まれる,処理対象時間帯におけるランクがA、B、CとなっているRAID-G数のことである。ここで、上記判定用不等式で、複数のRAID-Gが、同時にFW適用可能なものであるか否かを判定できる理由を説明しておくことにする。既に説明したように、FW管理制御部24は、複数のRAID-GのそれぞれについてのFW適用処理を同時に実行することができる。ただし、FW適用中に多量のライトアクセスがなされた結果として退避データ記憶領域220がフルになると、FW管理制御部24は、各FW適用中RAID-G200に対するアクセスを受け付けない状態に移行してしまう。そのような状況が発生しないようにするためには、FW適用中に退避データ記憶領域220に記憶されることになるデータ量以下、退避データ量と表記するをRAID-G毎に推定し、当該データ量の総和が退避データ記憶領域のサイズ以下となるように、同時にFWを適用するRAID-Gの数、組み合わせを決定してやれば良い。そして、上記アルゴリズムAB境界アクセス数≧アクセス数>BC境界アクセス数→ランク=B等で求められているランクアクセスランクは、以下のことを示す情報となっている。ランク=A:最大退避データ量が、退避データ記憶領域220のサイズの1/2以上、退避データ記憶領域サイズ以下。ランク=B:最大退避データ量が、退避データ記憶領域220のサイズのほぼ1/240。ランク=C:最大退避データ量が、退避データ記憶領域220のサイズのほぼ1/420。ランク=D:最大退避データ量が、ほぼ0。従って、上記判定用不等式で、複数のRAID-Gが、FW適用中に退避データ記憶領域220がフルになる可能性が殆どないものつまり、同時にFW適用可能なものであるか否かを判定できることになる。特定された複数のRAID-Gが同時にFW適用可能なものであった場合ステップS311;YES、スケジュール制御部28は、FW適用順リストに、特定したRAID-Gのそれぞれについて、そのRAID-GのRAID-G番号と処理対象時間帯とを含むFW適用対象情報を追加するステップS305。尚、スケジュール制御部28は、処理対象時間帯を、割当完了時間帯用途は後述として記憶する処理も、このステップS305にて、行う。次いで、スケジュール制御部28は、FW適用対象情報をFW適用順リストに追加した各RAID-Gに関する作業用テーブル70上の状態情報を決定済に変更するステップS306。そして、スケジュール制御部28は、ステップS307以降の処理を開始する。一方、特定された複数のRAID-Gが同時にFW適用可能なものではなかった場合ステップS311;NO、スケジュール制御部28は、特定したRAID-Gの中から、処理対象時間帯におけるランクの昇順で同時にFW適用できる数のRAID-Gを選択するステップS312。次いで、スケジュール制御部28は、FW適用順リストに、選択したRAID-Gのそれぞれについて、そのRAID-GのRAID-G番号と処理対象時間帯とを含むFW適用対象情報を追加するステップS313。スケジュール制御部28は、このステップS313にて、処理対象時間帯を、割当完了時間帯として記憶する処理も行う。その後、スケジュール制御部28は、ステップS306以降の処理を開始する。上記のような処理を繰り返していると、通常、指定時間範囲内の何個目かの時間帯の処理完了時に、未決定RAID-GがなくなるステップS307;NOので、スケジュール制御部28は、このFW適用順リスト作成処理を終了する。ただし、指定時間範囲内の最後の時間帯の処理が完了しても、未決定RAID-Gが残っている場合ステップS307;YES、ステップS308;NOもあり得る。例えば、指定時間範囲が000000~020000であり、作業用テーブル作成更新処理完了時における作業用テーブル70の内容が図14に示したものであった場合、指定時間範囲内の最後の時間帯の処理が完了しても、未決定RAID-Gが残っていることになる。そのような場合ステップS308;NO、スケジュール制御部28は、作業用テーブル70上の、未決定RAID-Gについての,作業用フラグが0となっている最もランクが低い指定時間範囲内の時間帯に関する作業用フラグを1に変更するステップS315。そして、スケジュール制御部28は、ステップS301以降の処理を、指定時間範囲内の,割当完了時間帯ではない各時間帯のみを対象とした形で、実行する。図10に戻って、FW適用順リスト作成処理完了後のスケジュール制御部28の動作を説明する。ここまで説明した各処理の内容から明らかなように、指定時間範囲が000000~020000であり、ランクテーブル60が図9に示した内容のものであった場合、FW適用順リスト作成処理により、以下の内容のFW適用順リストが作成されることになる。2:000000~0030003:000000~0030001:003000~0100004:010000~013000FW適用順リスト作成処理を終えたスケジュール制御部28は、ステップS103の判断とS106の処理とを繰り返す状態となる。すなわち、スケジュール制御部28は、FW適用順リスト上のいずれかのFW適用対象情報内の時間帯の開始時間以下、FW適用処理実行時間と表記するになるのを監視している状態となる。FW適用処理実行時間になった場合ステップS103;YES、スケジュール制御部28は、そのFW適用処理実行時間にFW適用を開始すべき各RAID-GのRAID-G番号を含めたFW適用開始要求を注目CM12に対して送信するステップS104。その後、スケジュール制御部28は、FW適用開始要求を未送信のRAID-Gが残っているか否かを判断するステップS105。FW適用開始要求を未送信のRAID-Gが残っていた場合ステップS105;YES、スケジュール制御部28は、ステップS106以降の処理を開始する。そして、スケジュール制御部28は、FW適用開始要求を未送信のRAID-GがなくなったときステップS105;NOに、この第1FW適用制御処理を終了する。以下、第2FW適用制御処理の内容、系列指定FW適用開始要求の内容、及び、当該要求に対するFW管理制御部24の動作を、説明する。図15に、第2FW適用制御処理の流れ図を示す。尚、既に説明したように、第2FW適用制御処理とは、指定時間範囲が1つのランク算出対象時間帯であった場合にスケジュール制御部28が実行する処理のことである。まず、この第2FW適用制御処理のステップS410の処理時に生成される系列指定FW適用開始要求の内容と、当該要求に対するFW管理制御部24の動作とを、説明する。図16A、図16Bに、系列指定FW適用開始要求75の説明図を示す。図16Aに示してあるように、系列指定FW適用開始要求75は、基本的には、FWを適用すべき幾つかのRAID-Gの識別情報のリストである第1系列情報と、FWを適用すべき幾つかのRAID-Gの識別情報のリストである第2系列情報とを含む要求である。ただし、系列指定FW適用開始要求75は、図16Bに示したように、第2系列側の任意のRAID-Gの識別情報に、当該RAID-Gに対するFW適用の開始条件を設定できるものとなっている。一方、FW管理制御部24は、系列指定FW適用開始要求75を受信した場合、当該要求中の第1系列情報でFW適用が指示されている各RAID-Gに対するFW適用を、第1系列情報で指定されている順番に行う第1系列制御処理を開始する。また、FW管理制御部24は、受信した系列指定FW適用開始要求中の第2系列情報でFW適用が指示されている各RAID-Gに対するFW適用を、第2系列情報で指定されている順番に行う第2系列制御処理も開始する。ただし、この第2系列制御処理において、FW管理制御部24は、第2系列指定情報にて開始条件付きでFW適用を行うことが指定されている各RAID-Gに対するFW適用は、開始条件が満たされた後に開始する。要するに、FW管理制御部24は、図16Aに示した内容の系列指定FW適用開始要求75を受信した場合には、図17Aに示したような順番で、RAIDグループ1~4内の各ドライブ150にFWを適用する。また、FW管理制御部24は、図16Bに示した内容の系列指定FW適用開始要求75を受信した場合には、図17Bに示したような順番及びタイミングで、RAIDグループ1~4内の各ドライブ150にFWを適用する。図15に戻って、第2FW適用制御処理の内容を説明する。指定時間範囲が1つのランク算出対象時間帯以下、指定時間帯と表記するであったため、この第2FW適用制御処理を開始したスケジュール制御部28は、まず、第1系列リスト及び第2系列リストを初期化するステップS400。第1、第2系列リストは、第1、第2系列情報を用意するために使用されるリストメモリ103上の一記憶領域である。ステップS400の処理では、各系列リストが空のリスト有意な情報を記憶していないリストに初期化される。第1、第2系列リストの初期化を終えたスケジュール制御部28は、AランクRAID-Gが存在しているか否かを判断するステップS401。ここで、AランクRAID-Gとは、注目ランクテーブル60図9参照上の,指定時間帯のランクがAとなっているRAID-Gのことである。以下、注目ランクテーブル60上の,指定時間帯のランクがXX=B~DとなっているRAID-Gのことも、同様に、XランクRAID-Gと表記する。また、注目ランクテーブル60に識別情報が登録記憶されており、系列リストへの識別情報の登録が完了していないRAID-Gのことを、FW適用要RAID-Gと表記する。AランクRAID-Gが存在していた場合ステップS401;YES、スケジュール制御部28は、ステップS402にて、第1系列リストに、各AランクRAID-Gの識別情報本実施形態では、RAID-G番号を登録記憶する処理を行う。また、スケジュール制御部28は、ステップS402にて、第2系列リストに各DランクRAID-Gの識別情報を登録記憶する処理も行う。尚、この処理は、DランクRAID-Gが存在しなかった場合、第2系列リストに対して何も行わない処理である。ステップS402の処理を終えたスケジュール制御部28は、FW適用要RAID-Gが残っているか否かを判断するステップS403。そして、スケジュール制御部28は、FW適用要RAID-Gが残っていた場合ステップS403;YESには、第1系列のドライブ数が第2系列のドライブ数よりも少ないか否かを判断するステップS404。ここで、第Y系列Y=1、2のドライブ数とは、その時点における第Y系列リストに識別情報が登録されている各RAID-Gの構成ドライブ数の総和のことである。第1系列のドライブ数の方が少なかった場合ステップS404;YES、スケジュール制御部28は、各系列リストに、残っている各FW適用要RAID-Gの識別番号を、各系列のドライブ数が近づくように追加するステップS405。すなわち、このステップS405の処理が実行されるのは、AランクRAID-Gが存在するが故に、ステップS402が実行されている場合である。従って、ステップS405の処理時に残っているFW適用要RAID-Gは、BランクRAID-G又はCランクRAID-Gであることになる。また、第1系列のドライブ数<第2系列のドライブ数が成立している場合、第1系列に対するFW適用の方が早く完了することになるが、ステップS405の処理の実行時点において第2系列に属しているRAID-Gは、全てDランクRAID-Gである。従って、残っているどのFW適用要RAID-Gをどちらの系列リストに登録しても、第1系列AランクRAID-Gに対するFW適用完了後に同時にFWの適用対象となる2RAID-Gが、Bランク以下の2RAID-Gつまり、同時にFWを適用してもFW適用の完了前に退避データ記憶領域220がフルにならない2RAID-Gに限られることになる。そして、両系列のドライブ数が近づくようにしておいた方が、全てのドライブ150に対するFW適用が早く完了する。そのため、各系列リストに、残っている各FW適用要RAID-Gの識別番号を、各系列のドライブ数が近づくように、追加しているのである。ステップS405の処理を終えたスケジュール制御部28は、その時点の第1、第2系列リストに基づき、系列指定FW適用開始要求75を生成する処理ステップS410を行う。尚、指定時間帯が010000~013000であり、注目ランクテーブル60が図9に示したものであり、RAID-G1~4の構成ドライブ数が、それぞれ、8、8、2、4であった場合、このステップS410の処理により、図16Aに示してある系列指定FW適用開始要求75が生成されることになる。ステップS410の処理を終えたスケジュール制御部28は、指定時間帯の開始時間となったときに、系列指定FW適用開始要求75を注目CM12に対して送信するステップS411。そして、スケジュール制御部28は、この第2FW適用制御処理を終了する。一方、第1系列のドライブ数≧第2系列のドライブ数が成立していた場合ステップS404;NO、スケジュール制御部28は、残FW適用要RAID-Gを、総ドライブ数がほぼ一致するように、第1系列用のRAID-Gと第2系列用のRAID-Gとに分類するステップS406。続くステップS407において、スケジュール制御部28は、第1系列用の各RAID-Gの識別情報を第1系列に追加する処理を行う。また、スケジュール制御部28は、第2系列用の各RAID-Gの識別情報を、先頭の識別情報に、最後のAランクRAID-Gに対するFW適用の完了後にFWを適用する旨の開始条件を付加した形で、第2系列リストに追加する処理も行う。その後、スケジュール制御部28は、第1、第2系列リストに基づき、系列指定FW適用開始要求75図16B参照を生成するステップS410。そして、スケジュール制御部28は、指定時間帯の開始時間となったときに、系列指定FW適用開始要求75を注目CMに対して送信ステップS411してから、この第2FW適用制御処理を終了する。要するに、ステップS404の判断時点において、第1系列、第2系列に属しているRAID-Gは、それぞれ、AランクRAID-G、DランクRAID-GだけであるステップS402参照。そのため、第1系列のドライブ数≧第2系列のドライブ数が成立している場合、両系列に対するFW適用を同時に開始すると、第1系列AランクRAID-GのFW適用が完了する前に、第2系列DランクRAID-Gに対するFW適用が完了することになる。そして、FW適用要RAID-Gの中には、AランクRAID-Gと同時にFW適用を行えるDランクRAID-Gが残っていないステップS402参照。そのため、第2系列リストに、開始条件を付加した形でFW適用要RAID-Gの識別情報を追加することによって、AランクRAID-Gと同時に他のB,CランクRAID-GのFW適用が行われないようにしているのである。AランクRAID-Gが存在していなかった場合ステップS401;NO、スケジュール制御部28は、全FW適用要RAID-Gを、総ドライブ数がほぼ一致するように、第1系列用のRAID-Gと第2系列用のRAID-Gとに分類するステップS408。次いで、スケジュール制御部28は、第1系列リストに第1系列用の各RAID-Gの識別情報を追加し、第2系列リストに第2系列用の各RAID-Gの識別情報を追加する処理ステップS409を行う。そして、スケジュール制御部28は、第1、第2系列リストに基づき、系列指定FW適用開始要求75図16A参照を生成するステップS410。そして、スケジュール制御部28は、指定時間帯の開始時刻となったときに、系列指定FW適用開始要求を注目CMに対して送信ステップS411してから、この第2FW適用制御処理を終了する。すなわち、AランクRAID-Gが存在していないステップS401;NOということは、各FW適用要RAID-Gが、BランクRAID-G~DランクRAID-Gのいずれかであるということである。そして、Bランク以下の2つのRAID-Gは同時にFWを適用しても、原則として、FW適用の完了前に退避データ記憶領域220がフルにならない。また、各系列のドライブ数が近づくようにしておいた方が、全てのドライブ150に対するFW適用が早く完了する。そのため、上記のように、各FW適用要RAID-Gを第1、第2系列リストに振り分けることにより、系列指定FW適用開始要求75を生成して送信しているのである。尚、流れ図図15中への表記は省略したが、スケジュール制御部28は、ステップS411の処理を実行する前に、各系列のドライブ数に基づき、生成した系列指定FW適用開始要求75が、その完了に30分つまり、指定時間帯の長さ以上かかるものであるか否かを判断する。そして、スケジュール制御部28は、生成した系列指定FW適用開始要求75が、その完了に30分以上かかるものであった場合には、ステップS411の処理を行うことなく、その旨をユーザに通知してから、この第2FW適用制御処理を終了する。以上、詳細に説明したように、本実施形態に係るディスクアレイ装置10のCE11及びマスターCM12は、RAIDグループについてのアクセス頻度情報を取得し、指定された時間範囲の中で前後の時間帯よりもアクセス頻度が低い時間帯を、取得したアクセス頻度情報に基づいて求め、求めた時間帯に基づいて、RAIDグループに属するドライブ150のファームウェアの書き換え処理の開始タイミングを決定し、決定した開始タイミングで、ドライブ150のファームウェアの書き換え処理を開始する機能を有している。そして、FWの適用中にRAID-Gに問題ドライブ150の故障が発生した場合、通常、データロストが発生してしまい、RAID-Gに問題が発生する確率は、アクセス頻度が高くなるにつれ大きくなる。従って、アクセス頻度が前後の時間帯よりも低い時間帯を求めて予測して当該時間帯にRAID-Gのドライブ150のFW更新を行う本実施形態に係るCE11又はマスターCM12は、冗長性を有するRAID-Gの各構成ドライブ150のFWを、安全に書き換えられる装置となっていると言うことが出来る。さらに、上記したCE11又はマスターCM12は、可能である場合に2つ以上のRAID-Gに対するFW適用を同時に行う機能を有している。従って、本実施形態に係るCE11又はマスターCM12によれば、複数のRAIDグループに対するFW適用を短時間で完了させられることになる。《第2実施形態》本発明の第2実施形態に係るディスクアレイ装置は、スケジュール制御部28が、第2FW適用制御処理の代わりに図18A~図18Iに示した手順の分割FW適用制御処理を実行するように、第1実施形態に係るディスクアレイ装置10を変形した装置である。そのため、以下では、第1実施形態のディスクアレイ装置10の説明時に用いたものと同じ符号を用いて、分割FW適用制御処理関連の動作を中心に、第2実施形態に係るディスクアレイ装置10の動作を説明する。上記したように、分割FW適用制御処理は、第2FW適用制御処理の代わりに実行される処理である。すなわち、スケジュール制御部28は、1つのランク算出対象時間帯を指定した形でFW適用が指示された場合に、分割FW適用制御処理図18A~図18Iを実行する。この分割FW適用制御処理も、第2FW適用制御処理と同様に、各RAID-Gについてアクセス頻度が相対的に低い時間帯をアクセス履歴情報55に基づき求め、求めた時間帯に各RAID-GのFW適用が行われるように各部を制御する処理である。ただし、分割FW適用制御処理は、指定時間帯指定時間範囲、ユーザが指定した1つのランク算出対象時間帯を前半区間と後半区間とに分け、RAID-G毎にFW適用に適した区間を決定する処理となっている。すなわち、既に説明した処理内容から明らかなように、第2FW適用制御処理は、指定時間帯内の各時刻におけるアクセス頻度が同じであるとみなして、各RAID-GのFW適用タイミングを決定するものであった。これに対して、分割FW適用制御処理は、指定時間帯を前半区間と後半区間とに二分し、両区間のアクセス頻度をアクセス履歴情報55から推定した上で、RAID-G毎にFW適用に適した区間を決定する処理となっている。具体的には、図18Aに示してあるように、分割FW適用制御処理を開始したスケジュール制御部28は、まず、ステップS501にて、前半リスト及び後半リストを初期化する。また、スケジュール制御部28は、ステップS501にて、前半ドライブ数及び後半ドライブ数をそれぞれ0に初期化する。前半リストは、前半区間にFW適用を行うべきRAID-GのRAID-G番号を、そのRAID-Gの指定時間帯のランクと共に記憶しておくためのリストメモリ103上の一記憶領域である。後半リストは、後半区間にFW適用を行うべきRAID-GのRAID-G番号を、そのRAID-Gの指定時間帯のランクと共に記憶しておくためのリストである。ステップS501の処理では、前半リスト及び後半リストの双方が空のリストに初期化される。さらに、スケジュール制御部28は、ステップS501にて、ランクAテーブル80A、ランクBテーブル80B、ランクCテーブル80C、ランクDテーブル80Dを初期化する。図19A、図19B、図19C、図19Dに、それぞれ、ランクAテーブル80A、ランクBテーブル80B、ランクCテーブル80C、ランクDテーブル80Dの一例を示す。尚、図19A~図19Dに示したランクXテーブル80XX=A~Dは、初期化直後のものではなく、データの書き込みが行われた後のものである。図19A~図19Dから明らかなように、ランクXテーブル80Xは、RAID-G番号、前ランク指標値、現ランク指標値及び後ランク指標値を設定可能なレコードを記憶しておくためのテーブルである。ステップS501の処理では、各ランクXテーブル80Xが、空のテーブル有意なデータが設定されたレコードを保持していないテーブルに初期化される。尚、各ランク指標値の詳細については後述することにする。ステップS501図18Aの処理を終えたスケジュール制御部28は、注目ランクテーブル60図9上に識別情報が記憶されているRAID-Gの中から、処理対象RAID-Gを選択するステップS502。その後、スケジュール制御部28は、注目ランクテーブル60に記憶されている,処理対象RAID-Gに関する指定時間帯のランク以下、現ランクと表記するがAであるか否かを判断するステップS503。現ランクがAではなかった場合ステップS503;NO、スケジュール制御部28は、注目ランクテーブル60上に識別情報が記憶されている全RAID-Gに対する処理が完了したか否かを判断するステップS505。そして、スケジュール制御部28は、全RAID-Gに対する処理が完了していなかった場合ステップS505;NOには、処理対象RAID-Gを次のRAID-Gに変更ステップS506してから、ステップS503以降の処理を再び開始する。現ランクがAであった場合ステップS503;YES、スケジュール制御部28は、処理対象RAID-GのRAID-G番号、前ランク指標値、現ランク指標値及び後ランク指標値を設定したレコードをランクAテーブル80Aに追加するステップS504。ここで、処理対象RAID-Gの現ランク指標値とは、現ランク注目ランクテーブル60上の,処理対象RAID-Gの指定時間帯のランクを、A→0、B→1、C→2、D→3という変換規則によって数値化した値のことである。処理対象RAID-Gの前ランク指標値とは、注目ランクテーブル60上の,処理対象RAID-Gに関する指定時間帯の直前の時間帯のランク以下、前ランクと表記するを上記変換規則によって数値化した値のことである。同様に、処理対象RAID-Gの後ランク指標値とは、注目ランクテーブル60上の,処理対象RAID-Gに関する指定時間帯の直後の時間帯のランク以下、後ランクと表記するを上記変換規則によって数値化した値のことである。ステップS504の処理を終えたスケジュール制御部28は、ステップS505以降の処理を開始する。そして、スケジュール制御部28は、全RAID-Gに対する処理が完了した場合ステップS505;YESには、ランクAテーブル80Aから、処理対象レコードを選択する図18B:ステップS511。以下、処理対象レコードに設定されているRAID-G番号で識別されるRAID-Gのことを処理対象RAID-Gと表記する。また、処理対象レコードに設定されている前ランク指標値、現ランク指標値、後ランク指標値のことを、それぞれ、V前、V現、V後と表記する。ステップS512~S518の処理は、基本的には、ランク指標値の大小関係に基づき、前半区間、後半区間のいずれの区間のアクセス頻度の方が低いかを推定し、処理対象RAID-GのFW適用をアクセス頻度が低い方の区間で行うことを記憶する処理である。ステップS512~S515の処理が、ランク指標値の大小関係に基づき、前半区間、後半区間のいずれの区間のアクセス頻度の方が低いかを推定している部分である。ステップS512~S515の処理は、図20Aに示したような場合、すなわち、前時間帯のアクセス頻度が、後時間帯のそれよりも高い場合V前<V後が成立する場合に、後半区間のアクセス頻度の方が低いと判定する処理となっている。また、ステップS512~S515の処理は、図20B、図20Cに示したような場合、すなわち、前時間帯のアクセス頻度が、後時間帯のそれよりも高い場合V前>V後が成立する場合に、前半区間のアクセス頻度の方が後半区間よりも低いと判定する処理ともなっている。ステップS517図18Bの処理が、前半区間のアクセス頻度の方が低いと推定された場合ステップS515;NO、ステップS513;NO等に実行される処理である。このステップS517の処理では、処理対象RAIDグループのRAID-G番号とA処理対象RAIDグループの指定時間帯についてのランクとの組み合わせが前半リストに追加され、前半ドライブ数に、処理対象RAIDグループの構成ドライブ数が加算される。また、ステップS518の処理が、後半区間のアクセス頻度の方が低いと推定された場合ステップS515;NO、ステップS513;NO等に実行される処理である。このステップS518の処理では、処理対象RAIDグループのRAID-G番号とAとの組み合わせが後半リストに追加され、後半ドライブ数に、処理対象RAIDグループの構成ドライブ数が加算される。上記したように、ステップS512~S515の処理では、ランク指標値に基づき、アクセス頻度がより低い区間が推定されるのであるが、V前=V後が成立している場合、ランク指標値から各区間のアクセス頻度の大小関係を推定することは出来ない。従って、この場合、アクセス頻度という観点からは、処理対象RAID-GのRAID-G番号をどちらのテーブルに追加しても良いことになる。ただし、後半ドライブ数と前半ドライブ数が大きく異なるのは好ましくない。そのため、V前=V現=V後が成立している場合ステップS513;NO、ステップS516の判断が行われて、ドライブ数が少ない方のテーブルに処理対象RAID-GのRAID-G番号が追加されるようにしてあるのである。ステップS517又はS518の処理を終えたスケジュール制御部28は、ランクAテーブル80A内の全レコードに対する処理が完了したか否かを判断するステップS519。全レコードに対する処理が完了していなかった場合ステップS519;NO、スケジュール制御部28は、処理対象レコードを次レコードに変更ステップS520してから、ステップS512以降の処理を再び開始する。一方、全レコードに対する処理が完了していた場合ステップS519;YES、スケジュール制御部28は、図18Cに示した手順の処理を行う。すなわち、スケジュール制御部28は、ランクAテーブル80Aへのレコードの追加時の手順図18Aと同手順で、ランクBテーブル80Bへレコードを追加する処理ステップS602~S606を行う。ランクBテーブル80Bへのレコードの追加が完了した場合ステップS605;YES、スケジュール制御部28は、図18Dに示した手順の処理を実行する。すなわち、スケジュール制御部28は、ランクBテーブル80B内のレコード毎にステップS611,S620、いずれの区間のアクセス頻度の方が低いかを推定するステップS612~S616、S621、S622。尚、図18Bより、判断ステップの数が多くなっているのは、現ランクがBである場合、現ランクがAである場合には成立し得ない関係V前<V現等が成立し得るためである。また、スケジュール制御部28は、ランク指標値から各区間のアクセス頻度の大小関係を推定することが出来ない場合ステップS613;YES等には、前半ドライブ数と後半ドライブ数の大小関係から処理対象RAID-GのRAID-G番号を追加するテーブルを決定するステップS616。そして、スケジュール制御部28は、前半区間のアクセス頻度の方が低いと推定した場合ステップS615;>V後、等には、処理対象RAIDグループのRAID-G番号とBとの組み合わせを前半リストに追加するステップS617。さらに、スケジュール制御部28は、前半ドライブ数に、処理対象RAIDグループの構成ドライブ数を加算するステップS617。また、スケジュール制御部28は、前半ドライブ数と後半ドライブ数の大小関係から、処理対象RAID-GのRAID-G番号を追加するテーブルを前半テーブルに決定した場合ステップS616;YESにも、ステップS617の処理を行う。スケジュール制御部28は、後半区間のアクセス頻度の方が低いと推定した場合ステップS615;<V後、等には、処理対象RAIDグループのRAID-G番号とBとの組み合わせを後半リストに追加するステップS618。さらに、スケジュール制御部28は、後半ドライブ数に、処理対象RAIDグループの構成ドライブ数を加算するステップS618。また、スケジュール制御部28は、前半ドライブ数と後半ドライブ数の大小関係から、処理対象RAID-GのRAID-G番号を追加するテーブルを後半テーブルに決定した場合ステップS616;NOにも、ステップS618の処理を行う。そして、スケジュール制御部28は、ランクBテーブル80B内の全レコードに対する、ステップS617又はS618の処理が完了したときにステップS619;YES、図18Eに示した手順の処理を行う。要するに、スケジュール制御部28は、ランクAテーブル80AやランクBテーブル80Bへのレコードの追加時の手順図18A、図18Cと同手順で、ランクCテーブル80Cへレコードを追加する処理ステップS702~S706を行う。ランクCテーブル80Cへのレコードの追加が完了した場合ステップS705;YES、スケジュール制御部28は、図18Fに示した手順の処理を実行する。すなわち、スケジュール制御部28は、ランクCテーブル80C内のレコード毎にステップS711、S720に、いずれの区間のアクセス頻度の方が低いかを推定するステップS712~S715、S721、S722。また、スケジュール制御部28は、ランク指標値から各区間のアクセス頻度の大小関係を推定することが出来ない場合ステップS713;YES等には、前半ドライブ数と後半ドライブ数の大小関係から処理対象RAID-GのRAID-G番号を追加するテーブルを決定するステップS716。そして、スケジュール制御部28は、前半区間のアクセス頻度の方が低いと推定した場合ステップS715;>V後、等には、処理対象RAIDグループのRAID-G番号とCとの組み合わせを前半リストに追加すると共に、前半ドライブ数に処理対象RAIDグループの構成ドライブ数を加算するステップS717。また、スケジュール制御部28は、前半ドライブ数と後半ドライブ数の大小関係から、処理対象RAID-GのRAID-G番号を追加するテーブルを前半テーブルに決定した場合ステップS716;YESにも、ステップS717の処理を行う。スケジュール制御部28は、後半区間のアクセス頻度の方が低いと推定した場合ステップS716;<V後、等には、処理対象RAIDグループのRAID-G番号とCとの組み合わせを後半リストに追加するステップS718。さらに、スケジュール制御部28は、後半ドライブ数に、処理対象RAIDグループの構成ドライブ数を加算するステップS718。また、スケジュール制御部28は、前半ドライブ数と後半ドライブ数の大小関係から、処理対象RAID-GのRAID-G番号を追加するテーブルを後半テーブルに決定した場合ステップS716;NOにも、ステップS718の処理を行う。そして、スケジュール制御部28は、ランクCテーブル80C内の全レコードに対する、ステップS717又はS718の処理が完了した場合ステップS719;YESには、図18Gに示した手順の処理を行う。すなわち、スケジュール制御部28は、ランクAテーブル80A等へのレコードの追加時の手順図18A、図18C、図18Eと同手順で、ランクDテーブル80Dへレコードを追加する処理ステップS802~S806を行う。ランクDテーブル80Dへのレコードの追加が完了した場合ステップS805;YES、スケジュール制御部28は、図18Hに示した手順の処理を実行する。すなわち、スケジュール制御部28は、ランクDテーブル80D内のレコード毎にステップS811、S820に、いずれの区間のアクセス頻度の方が低いかを推定するステップS812~S815。また、スケジュール制御部28は、ランク指標値から各区間のアクセス頻度の大小関係を推定することが出来ない場合ステップS813;YES等には、前半ドライブ数と後半ドライブ数の大小関係から処理対象RAID-GのRAID-G番号を追加するテーブルを決定するステップS816。そして、スケジュール制御部28は、前半区間のアクセス頻度の方が低いと推定した場合ステップS815;NO、等には、処理対象RAIDグループのRAID-G番号とDとの組み合わせを前半リストに追加すると共に、前半ドライブ数に処理対象RAIDグループの構成ドライブ数を加算するステップS817。また、スケジュール制御部28は、前半ドライブ数と後半ドライブ数の大小関係から、処理対象RAID-GのRAID-G番号を追加するテーブルを前半テーブルに決定した場合ステップS816;YESにも、ステップS817の処理を行う。スケジュール制御部28は、後半区間のアクセス頻度の方が低いと推定した場合ステップS816;YES、等には、処理対象RAIDグループのRAID-G番号とDとの組み合わせを後半リストに追加するステップS818。さらに、スケジュール制御部28は、後半ドライブ数に、処理対象RAIDグループの構成ドライブ数を加算するステップS818。また、スケジュール制御部28は、前半ドライブ数と後半ドライブ数の大小関係から、処理対象RAID-GのRAID-G番号を追加するテーブルを後半テーブルに決定した場合ステップS816;NOにも、ステップS818の処理を行う。そして、スケジュール制御部28は、ランクDテーブル80D内の全レコードに対する、ステップS817又はS818の処理が完了した場合ステップS819;YESには、図18Iに示した手順の処理を実行する。すなわち、図18A~図18Hの処理を終えたスケジュール制御部28は、まず、前半リスト内の情報何組かのRAID-G番号とランクから、第1系列指定FW適用開始要求を生成する処理ステップS901を行う。このステップS901の処理は、処理対象とする情報が注目ランクテーブル60内の情報ではなく前半リスト内の情報であること及び生成される要求の名称が系列指定FW適用開始要求ではなく第1系列指定FW適用開始要求であることを除けば、ステップS400~S410図15と同手順の処理である。次いで、スケジュール制御部28は、後半リスト内の情報から、第2系列指定FW適用開始要求を生成する処理ステップS902を行う。このステップS902の処理も、処理対象とする情報が注目ランクテーブル60内の情報ではなく後半リスト内の情報であることを除けば、ステップS400~S410と同手順の処理である。そして、スケジュール制御部28は、指定時間帯の開始時刻前半区間の開始時刻に第1系列指定FW適用開始要求を注目CM12に対して送信する処理ステップS903と後半区間の開始時刻に第2系列指定FW適用開始要求を注目CM12に対して送信する処理ステップS904とを行ってから、この分割FW適用制御処理を終了する。尚、流れ図への表記は省略したが、ステップS901又はS902の処理で生成された系列指定FW適用開始要求が、その完了に15分以上かかるものであった場合、スケジュール制御部28は、ステップS903以降の処理を行うことなく、その旨をユーザに通知する。また、スケジュール制御部28は、第1系列指定FW適用開始要求でFW適用を指示した全RAID-GについてのFW適用が完了したことを後半区間の開始時刻までに確認できなかった場合、ステップS904の処理を行うことなく、その旨をユーザに通知する。以上、説明したように、第2実施形態に係るディスクアレイ装置10のCE11及びマスタCM12は、別のFWを適用すべき各RAID-Gについての、指定時間帯ユーザが指定した1つのランク算出対象時間帯とその前後の時間帯に関するアクセスランクから、RAID-G毎に、指定時間帯の前半区間、後半区間のいずれの方がアクセス頻度が少ないかを推定する。そして、CE11及びマスタCM12は、各RAID-GのFW適用を、アクセス頻度が低いと推定した方の区間時間帯内に行う。従って、この第2実施形態に係るCE11又はマスタCM12によれば、FW適用中に退避データ格納領域220がフルになる可能性が第1実施形態に係るCE11又はマスタCM12よりも低い形で、各RAID-GのFW適用を行えることになる。《変形形態》上記した各実施形態の技術は、各種の変形を行えるものである。例えば、各実施形態に係るディスクアレイ装置10を、各CM12が、独立して、自CM12が担当しているRAID-GのFW適用時期を決定する装置に変形することが出来る。また、各実施形態に係るディスクアレイ装置10を、特定数が2以上であった場合図13:S304;YESに、第2FW適用制御処理又は分割FW適用制御処理に相当する処理が行われる装置に変形することも出来る。また、各実施形態に係るディスクアレイ装置10を、ランクの調整図8が行われない装置や、上記したものとは具体的な形式が異なるテーブル/要求を生成する装置に変形しても良いことは当然のことである。以上、開示した技術に関し、更に以下の付記を開示する。付記1冗長性を有するRAIDグループに対してアクセス制御を行うRAIDグループ制御装置であって、前記RAIDグループについてのアクセス頻度情報を取得する取得部と、指定された時間範囲の中で前後の時間帯よりもアクセス頻度が低い時間帯を、前記アクセス頻度情報に基づいて求め、求めた時間帯に基づいて、前記RAIDグループに属するドライブのファームウェアの書き換え処理の開始タイミングを決定するスケジューリング部と、決定した前記開始タイミングで、前記ドライブのファームウェアの書き換え処理を開始するファームウェア書き換え処理部と、を備えるRAIDグループ制御装置。付記2前記スケジューリング部は、アクセス頻度が低い時間帯が求められなかったRAIDグループがある場合、当該RAIDグループの前記開始タイミングを、他のRAIDグループについて求められた時間帯とは異なる時間帯に決定することを特徴とする付記1に記載のRAIDグループ制御装置。付記3前記ファームウェア適用処理が行われているファームウェア適用中ドライブを含むRAIDグループに対するリード/ライト要求に応答する要求応答部を、さらに備え、前記要求応答部は、或るファームウェア適用中ドライブを含む或るRAIDグループに対するリード要求を、当該ファームウェア適用中ドライブを除いた当該RAIDグループ内のドライブを制御することにより処理し、或るファームウェア適用中ドライブを含む或るRAIDグループに対するライト要求を、当該ファームウェア適用中ドライブを除いた当該RAIDグループ内のドライブを制御すると共に、当該ファームウェア適用中ドライブに書き込むべきデータと、当該データを書き込むべき当該ファームウェア適用中ドライブの記憶領域及び当該ファームウェア適用中ドライブを示す書込位置情報とを情報格納領域に記憶することにより処理し、或るファームウェア適用中ドライブに対するファームウェア適用処理の完了後に、前記書込位置情報に基づき、前記情報格納領域に記憶されている当該ファームウェア適用中ドライブに書き戻すべき各データを当該ファームウェア適用中ドライブに書き戻してから、当該ファームウェア適用中ドライブに書き戻した各データと当該各データに対応する書込位置情報を前記情報格納領域上から消去することを特徴とする付記1又は2に記載のRAIDグループ制御装置。付記4前記スケジューリング部は、各ファームウェア適用中ドライブに対するファームウェア適用処理を行う際における前記情報格納領域の使用状況を予測して、前記RAIDグループの前記開始タイミングを決定することを特徴とする付記3に記載のRAIDグループ制御装置。付記5前記取得部は、所定時間毎のアクセス回数を含むアクセス頻度情報を取得し、前記スケジューリング部は、前記アクセス頻度情報に基づき、アクセス頻度が前後の時間帯よりも低い,前記所定時間よりも短い時間帯を求め、求めた時間帯に基づいて、前記RAIDグループに属するドライブのファームウェアの書き換え処理の開始タイミングを決定することを特徴とする付記1から4のいずれか一項に記載のRAIDグループ制御装置。付記6上位装置から入力されるリード/ライト要求に応じた内容の制御を、冗長性を有する複数のRAIDグループに対して行うRAIDグループ制御装置であって、複数のRAIDグループのそれぞれに関するアクセス頻度履歴を保持する保持部と、複数のRAIDグループのそれぞれに対するアクセス状況を監視し、各RAIDグループに対するアクセス状況の監視結果に基づき、前記保持部が保持している各RAIDグループに関するアクセス頻度履歴を更新する更新部と、前記保持部が保持している、新ファームウェアを適用すべき各RAIDグループに関する前記アクセス頻度履歴に基づき、新ファームウェアを適用すべき各RAIDグループについて、アクセス頻度が前後の時間帯よりも低くなる将来の時間帯を決定するスケジューリング部と、前記スケジューリング部が各RAIDグループについて決定した時間帯内に、各RAIDグループを構成している各ドライブに対して、ファームウェアを別のファームウェアに書き換えてから再起動をかけるファームウェア適用処理を順に行うファームウェア適用処理部と、前記ファームウェア適用処理が行われているドライブであるファームウェア適用中ドライブを含むRAIDグループに対するリード/ライト要求に、当該ファームウェア適用中ドライブを利用することなく応答する要求応答部と、を備えることを特徴とするRAIDグループ制御装置。付記7前記要求応答部は、或るファームウェア適用中ドライブを含む或るRAIDグループに対するリード要求を、当該ファームウェア適用中ドライブを除いた当該RAIDグループ内のドライブを制御することにより処理し、或るファームウェア適用中ドライブを含む或るRAIDグループに対するライト要求を、当該ファームウェア適用中ドライブを除いた当該RAIDグループ内のドライブを制御すると共に、当該ファームウェア適用中ドライブに書き込むべきデータと、当該データを書き込むべき当該ファームウェア適用中ドライブの記憶領域及び当該ファームウェア適用中ドライブを示す書込位置情報とを両者の対応関係が分かる形で所定の情報格納領域に記憶することにより処理し、或るファームウェア適用中ドライブに対するファームウェア適用処理の完了後に、前記所定の情報格納領域に記憶されている書込位置情報に基づき、前記所定の情報格納領域に記憶されている当該ファームウェア適用中ドライブに書き戻すべき各データを当該ファームウェア適用中ドライブに書き戻してから、当該ファームウェア適用中ドライブに書き戻した各データと各データに対応する書込位置情報を前記所定の情報格納領域上から消去することを特徴とする付記6に記載のRAIDグループ制御装置。付記8前記スケジューリング部は、各ファームウェア適用中ドライブに対するファームウェア適用処理の完了前に、前記所定の情報格納領域に空き記憶領域がなくならないように、各RAIDグループについての時間帯を決定することを特徴とする付記7に記載のRAIDグループ制御装置。付記9前記スケジューリング部は、複数のRAIDグループに関する同時間帯についてのアクセス頻度情報から、当該複数のRAIDグループが、同時に前記ファームウェア適用処理部の処理対象とした場合における前記情報格納領域の使用状況を予測し、同時に前記ファームウェア適用処理部の処理対象としても、各ファームウェア適用中ドライブに対するファームウェア適用処理の完了前に、前記所定の情報格納領域に空き記憶領域がなくならないと判定された複数のRAIDグループについての時間帯が一致するように、各RAIDグループについての前記タイミングを決定することを特徴とする付記7に記載のRAIDグループ制御装置。付記10前記保持部は、前記アクセス頻度履歴として、所定時間毎のアクセス回数を保持し、前記スケジューリング部は、前記保持部が保持している、新ファームウェアを適用すべき各RAIDグループに関する前記所定時間毎のアクセス回数に基づき、新ファームウェアを適用すべき各RAIDグループについて、アクセス頻度が前後の時間帯よりも低くなる将来の前記所定時間よりも短い時間帯を決定することを特徴とする付記6から9のいずれか一項に記載のRAIDグループ制御装置。"