説明

デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム

【課題】アクセスのバックグラウンドで実行するフォーマットにおいて、デバイスへのアクセス性能を確保しつつ、フォーマットの所要時間を短縮すること。
【解決手段】ストレージ21,22内のデバイスに対するフォーマット進捗状況をクイックフォーマットビットマップ32dで管理し、ビットマップの1ビット分のフォーマット毎にコントローラモジュール11に進捗状況を通知する通常クイックフォーマットと、所定ビット分のフォーマット毎にコントローラモジュール11に進捗状況を通知する高速クイックフォーマットとを設け、フォーマット動作切替部42aがアクセスの発生状況やデバイスの動作状態に基づいて通常クイックフォーマットと高速クイックフォーマットとを切り替える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザデータを格納するデバイスに対する初期化処理をデバイスに対するアクセスのバックグラウンドで行なうデバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステムに関する。
【背景技術】
【0002】
ユーザデータを格納するデバイスとして、磁気ディスク、光磁気ディスク、光ディスクなどの記録媒体などを用いる場合、実際にユーザデータを書き込む前に予め初期化、いわゆるフォーマットを実行することが求められる。
【0003】
従来は、デバイス全体のフォーマットが完了するまではそのデバイスは使用できず、フォーマット完了までに要する時間の長さが問題となっていた。そこで、初期化処理をデバイスへのアクセスのバックグラウンドで行なうクイックフォーマットが利用されている。
【0004】
クイックフォーマットでは、初期化の開始直後からアクセスを可能とする為、初期化の進捗状況をビットマップなどを用いて管理する。そして、未フォーマット領域に対してアクセス要求が行われた場合には、その領域を優先的にフォーマットした上でアクセスを処理する。
【0005】
ここで、デバイスへのアクセスを管理するデバイス管理装置を複数有し、デバイスへのアクセスを二重化したデバイスシステムでは、初期化の進捗状況の管理についても二重化することが求められる。そこで従来のクイックフォーマットでは、ビットマップの1ビット分に対応する初期化が完了したタイミングで、ビットマップを更新処理し、デバイス管理装置間でビットマップの二重化を行なっていた。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3617631号公報
【特許文献2】特許第3617632号公報
【特許文献3】特開2003−241904号公報
【特許文献4】特開2003−108316号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、フォーマット進捗状況の二重化に要する時間を考慮すると、進捗状況の二重化を行なう回数が少ないほうが、フォーマットが完了するまでに要する時間が短くなる。
【0008】
すなわち、フォーマット中のデバイスに対するアクセスの発生頻度よりも進捗状況の二重化の頻度が高すぎると、二重化処理によってフォーマットにかかる時間が長くなるという問題点があった。一方、フォーマット中のデバイスに対するアクセスの発生頻度よりも進捗状況の二重化の頻度が低すぎると、多数のアクセスを待たせることになり、アクセス応答性の低下や、タイムアウト発生の原因となる。さらに、アクセスの発生頻度は一定ではないので、フォーマット進捗状況の二重化を行なうタイミングについて最適な一つの値を求めることは困難であった。
【0009】
開示の技術は、上記に鑑みてなされたものであって、デバイスへのアクセス性能を確保しつつ、フォーマットの所要時間を短縮するデバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本願の開示するデバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステムは、初期化処理の処理単位分の初期化を実行する毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第1の初期化処理と、所定数の処理単位の初期化を行なう毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第2の初期化処理とを、デバイスに対するアクセスの発生状況やデバイスの動作状態に基づいて切り替える。
【発明の効果】
【0011】
本願の開示するデバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステムの一つの態様によれば、デバイスへのアクセス性能を確保しつつ、フォーマットの所要時間を短縮するデバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステムを得ることができるという効果を奏する。
【図面の簡単な説明】
【0012】
【図1】図1は、デバイスシステムの実施例であるストレージシステムの概要構成を示す概要構成図である。
【図2】図2は、フォーマット処理部42によるフォーマット処理の具体的な処理動作について説明する説明図である。
【図3】図3は、クイックフォーマットの切り替えの具体例について説明する説明図である。
【図4】図4は、フォーマット処理部42の処理動作を説明するフローチャートである。
【図5】図5は、通常クイックフォーマット処理部42bによる通常クイックフォーマットの処理動作について説明するフローチャートである。
【図6】図6は、高速クイックフォーマット処理部42cによる高速クイックフォーマットの処理動作について説明するフローチャートである。
【図7】図7は、ローカルな進捗状況管理をビットマップ以外で行なう場合の処理動作を示すフローチャートである。
【図8】図8は、図4に示した書き戻し処理について詳細に説明するフローチャートである。
【発明を実施するための形態】
【0013】
以下に、本願の開示するデバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【0014】
図1は、デバイスシステムの実施例であるストレージシステムの概要構成を示す概要構成図である。図1に示したストレージシステムは、デバイス管理装置であるコントローラモジュール10,11を有する。コントローラモジュール10は、ユーザデータを格納するデータデバイスを複数備えたストレージ21,22と接続されている。同様に、コントローラモジュール20もストレージ21,22に接続されており、さらにコントローラモジュール10とコントローラモジュール11とはルータ20を介して接続されている。
【0015】
コントローラモジュール10とコントローラモジュール11とは、それぞれ図示しないホストと接続しており、ストレージ21,22に対するアクセスを二重化している。
【0016】
コントローラモジュール10は、その内部に主制御部31、メモリ32、ホストインターフェース33およびデバイスインターフェース34を有する。さらに主制御部31は、その内部にアクセス処理部41、フォーマット処理部42、デバイス監視部43を有する。主制御部31が有する各処理部は、それぞれワイヤードロジックやPLD(Programmable Logic Device)などで実現してもよいし、CPU(Central Processing Unit)などの演算装置で主制御部31を実現し、各処理をソフトウェアで実現してもよい。
【0017】
アクセス処理部41は、ホストインターフェース33を介してホストからストレージに対するアクセス要求を受け付け、デバイスインターフェース34を介してストレージ21,22に対するアクセスを処理する。
【0018】
フォーマット処理部42は、ストレージ21,22が有するデバイスの初期化処理を行なう処理部であり、その内部にフォーマット動作切替部42a、通常クイックフォーマット処理部42bおよび高速クイックフォーマット処理部42cを有する。
【0019】
通常クイックフォーマット処理部42bと高速クイックフォーマット処理部42cは、それぞれストレージ21,22に対するクイックフォーマットを行う。ここでクイックフォーマットとは、当該デバイスに対するアクセスのバックグラウンドで初期化処理を行うフォーマット方式をいう通常クイックフォーマット処理部42bは、初期化処理の処理単位分の初期化を実行する毎に、当該初期化の進捗状況を他のデバイス管理装置であるコントローラモジュール11に通知して、初期化の進捗状況を二重化する通常クイックフォーマットを実行する。これに対し、高速クイックフォーマット処理部42cは、2以上の所定数の処理単位の初期化を行なう毎に、当該初期化の進捗状況を他のデバイス管理装置であるコントローラモジュール11に通知して、初期化の進捗状況を二重化する高速クイックフォーマットを実行する。フォーマット動作切替部42aは、デバイス状態監視部43による監視結果に基づいて通常クイックフォーマットと高速クイックフォーマットとを切り替える。
【0020】
デバイス状態監視部43は、ストレージ21,22に対するアクセスの発生状況やストレージ21,22の動作状態を監視する処理部である。
【0021】
メモリ12は、コントローラモジュール10が内部で使用する各種データを保持する記憶部であり、その内部にキャッシュ32a 、IO状況管理テーブル32b、クイックフォーマット管理テーブル32c、クイックフォーマットビットマップ32dを有する。
【0022】
キャッシュ32aは、アクセス処理部41がストレージ21,22に対するアクセスを処理する際に使用する。具体的には、アクセス処理部41は、ホストからストレージに対する書き込み要求を受けた場合に、書き込み先のアドレスと書き込む内容をキャッシュ32aに保持し、ホストに対して書き込み応答を返す。その後、キャッシュ32aに保持した内容を実際にストレージ21,22に対して書き込む書き戻しを行なうことで、ホストからの書き込み要求をストレージ21,22に反映させる。
【0023】
IO処理状況管理テーブル32bは、デバイス状態監視部43の監視結果、具体的には、ストレージ21,22が有する各デバイスの種別、応答時間、スループット、アクセスの発生頻度などを保持する。
【0024】
クイックフォーマット管理テーブル32cは、フォーマット処理部42がクイックフォーマットを実行中である場合に、どのデバイスがフォーマットの対象であるか、初期化処理の処理単位、すなわちクイックフォーマットビットマップ32dでの1ビットがデバイス上でどれだけの容量に対応しているか、クイックフォーマットビットマップ32dの各ビットがデバイス上のどのアドレスに対応しているか、などの情報を保持する。なお、ビットマップ32dでの1ビットがデバイス上でどれだけの容量に対応するかは適宜設定可能であり、一例としてデバイス上の1メガビットをビットマップ32dの1ビットに対応させる。
【0025】
クイックフォーマットビットマップ32dは、クイックフォーマットの進捗状況を保持する。ビットマップ上の1ビットは、初期化処理の処理単位であり、1ビットがデバイス上でどれだけの容量に対応しているか、また、各ビットとデバイス上の実アドレスとの対応関係は、クイックフォーマット管理テーブル32cに規定されている。
【0026】
なお、ここではキャッシュ32a 、IO状況管理テーブル32b、クイックフォーマット管理テーブル32c、クイックフォーマットビットマップ32dを同一のメモリ32上に保持する場合を例に説明を行なったが、情報毎に異なる記憶手段を設けても良いし、任意の組み合わせで複数の記憶手段に分散して記憶するようにしても良いことは言うまでも無い。
【0027】
コントローラモジュール11は、コントローラモジュール10と同様の内部構成を有する。また、ここではコントローラモジュールが2つの場合を例としているが、コントローラモジュールを3以上有する構成としても良い。
【0028】
図2は、フォーマット処理部42によるフォーマット処理の具体的な処理動作について説明する説明である。まず、フォーマット処理部42がストレージ21に対してフォーマット要求を送る。このフォーマット要求は、具体的には、初期データの書き込み要求である。初期データとしては、任意のデータパターンを用いることができる。
【0029】
ストレージ21は、フォーマット要求、具体的には1bitに対応する領域への初期データの書き込み指示を実行し、1bitに対応する領域が終わったあとにフォーマット応答をフォーマット処理部42に返す。
【0030】
フォーマット処理部42は、このフォーマット応答を受け、クイックフォーマットビットマップ32dを更新する。その後、フォーマット処理部42は、ビットマップ更新内容をコントローラモジュール11に送信する。コントローラモジュール11の主制御部51は、受信した更新内容を自身のメモリ52に有するクイックフォーマットビット52dに反映させることで、ビットマップを二重化する。
【0031】
通常クイックフォーマットでは、通常クイックフォーマット処理部42bは、クイックフォーマットビットマップ32dの1ビット分ごとにフォーマット要求、ビットマップ更新、ビットマップ二重化を行なう。
【0032】
高速クイックフォーマットでは、高速クイックフォーマット処理部42cは、ビットマップ二重化の頻度を通常クイックフォーマットに対して低くする。すなわち、高速クイックフォーマット処理部42cは、複数ビット分のフォーマットを行なってからビットマップ二重化を行なう。したがって、高速クイックフォーマットでは、コントローラモジュール10側だけでフォーマットの進捗状況を把握している状態が発生することとなる。
【0033】
なお、高速フォーマットにおけるフォーマット要求は、1ビットずつ行なってもよいし、数ビット分をまとめて実行しても良い。また、コントローラモジュール10側でのローカルな進捗状況の管理はクイックフォーマットビットマップ32dを用いてもよいし、クイックフォーマット管理テーブル32cなどに保持しても良い。
【0034】
フォーマットの実行中のデバイスに対してホストからの書き込み要求が発生した場合、アクセス処理部41は、書き込み要求の内容、すなわち書き込み先のアドレスと書き込む内容をキャッシュ32aに保持し、ホストに対して書き込み応答を返す。つぎに、アクセス処理部41は、書き込み先のアドレスをキーにクイックフォーマット管理テーブル32cを参照して対応するビットを特定し、クイックフォーマットビットマップ32dを参照して書き込み先に対応するビットがフォーマット済みであるか否かを判定する。
【0035】
その結果、書き込み先がフォーマット済みである場合にはそのままキャッシュ上のデータを書き込む。また、書き込み先が未フォーマットである場合には、その書き込み先を含むビットマップで管理される単位領域に対して先にフォーマットしてから、キャッシュ上のデータを書き込む。
【0036】
このように、フォーマット中であってもホストからの書き込み要求を処理することができるが、書き込み要求先のアドレスがフォーマット済みであるか否かを判定する際には、フォーマットの進捗状況が二重化されていることが前提となる。
【0037】
そのため、書き込みキャッシュの書き込みを行なう場合には、フォーマットの進捗状況を二重化の完了を待つことになる。通常クイックフォーマットでは、高い頻度でビットマップの二重化を行なっているため、書き戻しの待機時間は短くてすむが、書き戻しの発生頻度が低ければ、ビットマップの二重化自体にかかる時間が余分な時間となる。高速クイックフォーマットでは、ビットマップの二重化の頻度が低いため、フォーマット全体の時間を短縮することができるが、書き戻しの待機時間は長くなる。また、多数のアクセスを待たせることになり、アクセス応答性の低下や、タイムアウト発生の原因となる。
【0038】
そこで、フォーマット動作切替部42aは、ストレージ21,22に対するアクセスの発生状況やストレージ21,22の動作状態に基づいて通常クイックフォーマットと高速クイックフォーマットとを切り替える。
【0039】
具体的には、フォーマット動作切替部42aは、通常のクイックフォーマットを実行中に、一定時間、例えば数秒から数分の間、ホストからのアクセスが無かった場合に、高速クイックフォーマットに切り替える。
【0040】
そして、高速クイックフォーマット中、フォーマット動作切替部42aは、一定時間、例えば数秒から数分の間、ホストからの書き込み要求をキャッシュ32a上に蓄積し、デバイスへの書き戻しを待機させる。また、フォーマット動作切替部42aは、書き込みキャッシュがキャッシュ32a全体の一定割合に達した場合、通常クイックフォーマットに切り替えることもできる。
【0041】
また、フォーマット動作切替部42aは、通常クイックフォーマット中、ホストからデバイスへのアクセス量が一定値以下の場合には高速クイックフォーマットによるホストアクセスへの影響は少ないと判断し、高速クイックフォーマットに移行することもできる。
【0042】
さらに、フォーマット動作切替部42aは、高速クイックフォーマット中であってもストレージの応答時間やスループットなどが一定値以上の性能を示せば、高速クイックフォーマットを継続し、性能悪化が見られた場合に通常クイックフォーマットに移行させることもできる。具体的には、コントローラモジュール間のインタフェースよりも、コントローラモジュールとストレージとの間のインタフェースがボトルネックになる場合、コントローラ間の通信による二重化処理を行なっても問題は無く、また二重化処理によって信頼性を確保することができるため、ストレージに対する処理に性能悪化が見られるまでは高速クイックフォーマットを継続することが有効である。
【0043】
このように、フォーマット動作切替部42aは、外部からのアクセス性能を落とすことなく、かつ信頼性を損なわずに装置内部のリソースの最適化を諮っている。
【0044】
図3は、クイックフォーマットの切り替えの具体例について説明する説明図である。図3に示した例では、フォーマット処理部42は、まず通常クイックフォーマットでフォーマットを開始する。通常クイックフォーマットでは、ビットマップの更新は随時二重化されるので、コントローラモジュール10のクイックフォーマットビットマップ32dとコントローラモジュール10のクイックフォーマットビットマップ52dとは常に同一内容となる。
【0045】
その後、フォーマット処理部42は、一定時間ホストからの入出力が無かった場合に、通常クイックフォーマットから高速フォーマットに切り替える。高速クイックフォーマットでは、フォーマットの進捗状況をコントローラモジュール10だけがローカルで管理する一重化フォーマットとなる。このローカルな進捗状況の管理をクイックフォーマットビットマップ32dを用いて行なう場合、クイックフォーマットビットマップ32dとクイックフォーマットビットマップ52dの内容にはタイムラグが発生する。また、ローカルな進捗状況管理をクイックフォーマットビットマップ32d以外で行なう場合、クイックフォーマットビットマップ32dとクイックフォーマットビットマップ52dの内容は一致するが、実際のフォーマットの進捗状況に対してタイムラグが発生する。
【0046】
フォーマット処理部42は、フォーマットが所定量進捗するごとに、ビットマップの更新と二重化を行なう。また、高速クイックフォーマット中に、ホストからのアクセスを検出した場合、フォーマット処理部42は、その時点でフォーマットが完了している部分についてビットマップの更新と二重化を行なったうえで、通常フォーマットに切り替える。
【0047】
つぎに、図4を参照し、フォーマット処理部の処理動作についてさらに説明する。図4は、フォーマット処理部42の処理動作を説明するフローチャートである。クイックフォーマットを開始する場合、フォーマット処理部42は、まず、通常クイックフォーマット処理部42bにクイックフォーマットを実行させる(S101)。その後、フォーマット処理部42は、デバイス全体のフォーマットが完了したか否かを判定し(S102)、フォーマットが完了していれば(S102,Yes)、処理を終了する。
【0048】
一方、デバイスに未フォーマットの領域が残っている場合(S102,No)、フォーマット動作切替部42aがキャッシュ32aを参照し、キャッシュ32aに書き込みキャッシュが存在するか否か、すなわち書き込み要求が発生した否かを判定する(S103)。キャッシュ32aに書き込みキャッシュが存在する場合(S103,Yes)、フォーマット動作切替部42aはタイマーをリセットし(S107)、アクセス処理部41に書き戻し処理を実行させて(S108)、再び通常クイックフォーマットを行なう(S101)。
【0049】
一方、書き込みキャッシュが存在しない場合(S103,No)、フォーマット動作切替部42aは、タイマーを加算し(S104)、タイマーの値が所定値未満であれば(S105,No)、通常クイックフォーマットに戻る(S101)。
【0050】
そして、タイマーの値が所定値以上となった場合(S105,Yes)、フォーマット動作切替部42aは、タイマーをリセットし(S106)、高速クイックフォーマット処理部42cによる高速クイックフォーマットに移行する(S110)。その後、フォーマット処理部42は、デバイス全体のフォーマットが完了したか否かを判定し(S111)、フォーマットが完了していれば(S111,Yes)、処理を終了する。
【0051】
一方、デバイスに未フォーマットの領域が残っている場合(S111,No)、フォーマット動作切替部42aがキャッシュ32aを参照し、キャッシュ32a内の書き込みキャッシュ量を所定の閾値と比較する(S112)。その結果、キャッシュ量が所定値未満であれば(S112,No)、高速クイックフォーマット処理部42cが再度高速クイックフォーマットを実行する(S110)。そして、キャッシュ量が所定値以上である場合(S112,Yes)、フォーマット処理部42はフォーマットの進捗状況を二重化し(S113)、キャッシュ上のデータの書き戻し処理を行なって(S114)、通常クイックフォーマットに戻る(S101)。
【0052】
図5は、通常クイックフォーマット処理部42bによる通常クイックフォーマットの処理動作について説明するフローチャートである。通常クイックフォーマット処理部42bは、まず、1ビット分のフォーマットを実行し(S201)、自コントローラ内のクイックフォーマットビットマップ32dを更新する(S202)。その後、通常クイックフォーマット処理部42bは、ビットマップを二重化し(S203)、通常クイックフォーマット処理を終了する。
【0053】
図6は、高速クイックフォーマット処理部42cによる高速クイックフォーマットの処理動作について説明するフローチャートである。高速クイックフォーマット処理部42cは、まず、所定ビット分のフォーマットを実行し(S301)、自コントローラ内のクイックフォーマットビットマップ32dを更新する(S302)。このビットマップの更新によって、二重化していないフォーマットの進捗が所定量に達した場合(S303,Yes)、高速クイックフォーマット処理部42cは、ビットマップを二重化して(S304)、高速クイックフォーマット処理を終了する。また、二重化していないフォーマットの進捗が所定量に達していなければ(S303,No)、高速クイックフォーマット処理部42cは、そのまま高速クイックフォーマット処理を終了する。
【0054】
図6に示した処理動作は、ローカルな進捗状況の管理にビットマップを用いる場合の動作例であるが、ローカルな進捗状況の管理をビットマップ以外で行なうこともできる。図7はローカルな進捗状況管理をビットマップ以外で行なう場合の処理動作を示すフローチャートである。
【0055】
図7に示した例では、高速クイックフォーマット処理部42cは、まず、所定ビット分のフォーマットを実行し(S401)、ローカルでの進捗情報を更新する(S402)。このローカルでの進捗情報は、例えばクイックフォーマット管理テーブル32cなどに作成しておけばよい。
【0056】
つぎに、高速クイックフォーマット処理部42cは、ローカルでの進捗が所定量に達したか否かを判定する(S403)。ローカルでの進捗が所定量に達している場合(S403,Yes)、高速クイックフォーマット処理部42cは、自コントローラ内のクイックフォーマットビットマップ32dを更新し(S404)、ビットマップを二重化して(S404)、高速クイックフォーマット処理を終了する。また、二重化していないフォーマットの進捗が所定量に達していなければ(S403,No)、高速クイックフォーマット処理部42cは、そのまま高速クイックフォーマット処理を終了する。
【0057】
図8は、図4に示した書き戻し処理について詳細に説明するフローチャートである。まず、フォーマット処理部42は、書き込みキャッシュの書き込み要求先がフォーマット済みであるか否かを判定する(S501)。その結果、書き込み要求先が未フォーマットである場合には、書き込み要求先を含むビットを通常クイックフォーマットでフォーマットする(S502)。
【0058】
ステップS502の後、もしくは、書き込み要求先がフォーマット済みであった場合(S501,Yes)、アクセス処理部41が書き込みキャッシュをデバイスに反映させるライトバックを実行し(S503)、書き戻し処理を終了する。
【0059】
上述してきたように、本実施例では、クイックフォーマット中のデバイスへのアクセスが一定時間無かった場合には、クイックフォーマットの進捗管理をコントローラモジュール10側で一重化して実施し、クイックフォーマットが一定量完了したところで、コントローラモジュール11に進捗状況を通知して二重化する。このように、アクセスの発生状況やデバイスの状態に基づいて、進捗状況の二重化処理の実行頻度を変更することでフォーマットの所要時間を短縮することができる。
【0060】
また、アクセスの頻度に応じて通常のクイックフォーマットに戻すので、クイックフォーマットを実行中のデバイスへのアクセス性能を確保することができる。
【0061】
また、ローカルでの進捗状況の管理をビットマップとは独立して行なえば、処理をさらに高速化することができる。
【0062】
同様に、高速クイックフォーマット時には、デバイスに対するフォーマット要求をまとめ実行すれば、1回あたりのフォーマット範囲が大きくなるので、コントローラモジュールとストレージとの間でのコマンド処理回数が減少し、デバイス内部動作のシーケンシャル性が向上して、フォーマット処理のさらなる高速化が実現できる。
【0063】
なお、本実施例では、進捗状況の管理にビットマップを使用する場合を例に説明を行なったが、開示の技術はこれに限定されるものではなく、たとえば、順次実行したフォーマットの最終アドレスと、ホストアクセスによって優先的にフォーマットしたアドレスとを保持することで、フォーマットの進捗状況を管理するなど、任意の進捗管理を適用することができる。
【0064】
同様に、通常クイックフォーマットと、高速クイックフォーマットとの切り替えについては、ホストからのアクセスの発生頻度や発生間隔、デバイスの動作状態などを適宜組み合わせて私用することができる。
【0065】
さらに、本実施例では、デバイス管理装置であるコントローラモジュールが初期化方法を実行する場合を例に説明を行なったが、開示の技術をコントローラモジュールとして機能するコンピュータが実行するデバイス初期化プログラムとして実施しても良い。
【0066】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0067】
(付記1)ユーザデータを格納するデバイスに対する初期化処理をデバイスに対するアクセスのバックグラウンドで行なうデバイス管理装置であって、
前記デバイスに対して前記初期化処理の処理単位分の初期化を実行する毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第1の初期化処理を行なう第1初期化処理部と、
前記デバイスに対して所定数の処理単位の初期化を行なう毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第2の初期化処理を行なう第2初期化処理部と、
前記デバイスに対するアクセスの発生状況および/または前記デバイスの動作状態を監視する監視部と、
前記監視部の監視結果に基づいて前記第1の初期化処理と前記第2の初期化処理とを切り替える切替部と、
を備えたことを特徴とするデバイス管理装置。
【0068】
(付記2)前記第2初期化処理部は、前記二重化された進捗状況と、前回の二重化後の進捗状況とを個別に管理することを特徴とする付記1に記載のデバイス管理装置。
【0069】
(付記3)前記第2初期化処理部は、前記デバイスに対して前記初期化処理の処理単位分の初期化を実行する毎に前記初期化の進捗状況を更新し、2以上の所定数の処理単位の初期化を実行する毎に当該初期化の進捗状況を他のデバイス管理装置に通知することを特徴とする付記1に記載のデバイス管理装置。
【0070】
(付記4)前記初期化処理の処理単位を1ビットとするビットマップを更に備え、前記第1初期化処理部および第2初期化処理部は、前記ビットマップを用いて前記初期化処理の進捗状況を管理することを特徴とする付記1〜3のいずれか一つに記載のデバイス管理装置。
【0071】
(付記5)前記切替部は、前記ディスクへのアクセス要求間隔に基づいて前記第1初期化処理部による前記第1の初期化処理と前記第2初期化処理部による前記第2初期化処理とを切り替えることを特徴とする付記1〜4のいずれか一つに記載のデバイス管理装置。
【0072】
(付記6)前記切替部は、前記ディスクへの書き込みキャッシュの蓄積量に基づいて前記第1初期化処理部による前記第1の初期化処理と前記第2初期化処理部による前記第2初期化処理とを切り替えることを特徴とする付記1〜5のいずれか一つに記載のデバイス管理装置。
【0073】
(付記7)前記切替部は、前記ディスクの処理能力の状態に基づいて前記第1初期化処理部による前記第1の初期化処理と前記第2初期化処理部による前記第2初期化処理とを切り替えることを特徴とする付記1〜6のいずれか一つに記載のデバイス管理装置。
【0074】
(付記8)ユーザデータを格納するデバイスに対する初期化処理をデバイスに対するアクセスのバックグラウンドで行なうデバイス管理装置によるデバイス初期化方法であって、
前記デバイスに対して前記初期化処理の処理単位分の初期化を実行する毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第1の初期化処理を行なう第1初期化処理ステップと、
前記デバイスに対して2以上の所定数の処理単位の初期化を行なう毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第2の初期化処理を行なう第2初期化処理ステップと、
前記デバイスに対するアクセスの発生状況および/または前記デバイスの動作状態を監視する監視ステップと、
前記監視ステップによる監視結果に基づいて前記第1の初期化処理と前記第2の初期化処理とを切り替える切替ステップと、
を備えたことを特徴とするデバイス初期化方法。
【0075】
(付記9)ユーザデータを格納するデバイスに対する初期化処理をデバイスに対するアクセスのバックグラウンドで行なうデバイス管理装置が実行する初期化プログラムであって、
前記デバイスに対して前記初期化処理の処理単位分の初期化を実行する毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第1の初期化処理を行なう第1初期化処理ステップと、
前記デバイスに対して2以上の所定数の処理単位の初期化を行なう毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第2の初期化処理を行なう第2初期化処理ステップと、
前記デバイスに対するアクセスの発生状況および/または前記デバイスの動作状態を監視する監視ステップと、
前記監視ステップによる監視結果に基づいて前記第1の初期化処理と前記第2の初期化処理とを切り替える切替ステップと、
をデバイス管理装置に実行させることを特徴とするデバイス初期化プログラム。
【0076】
(付記10)ユーザデータを格納するデータを記憶するデバイスと、
すくなくとも前記デバイスに対する初期化処理をデバイスに対するアクセスのバックグラウンドで行なう複数のデバイス管理装置と、
を備え、
前記デバイス管理装置は、
前記デバイスに対して前記初期化処理の処理単位分の初期化を実行する毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第1の初期化処理を行なう第1初期化処理部と、
前記デバイスに対して2以上の所定数の処理単位の初期化を行なう毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第2の初期化処理を行なう第2初期化処理部と、
前記デバイスに対するアクセスの発生状況および/または前記デバイスの動作状態を監視する監視部と、
前記監視部の監視結果に基づいて前記第1の初期化処理と前記第2の初期化処理とを切り替える切替部と、
を備えたことを特徴とするデバイスシステム。
【符号の説明】
【0077】
10,11 コントローラモジュール
20 ルータ
21〜22 ストレージ
31,51 主制御部
32,52 メモリ
32a キャッシュ
32b IO処理状況管理テーブル
32c クイックフォーマット管理テーブル
32d,52d クイックフォーマットビットマップ
33 ホストインターフェース
34 デバイスインターフェース
41 アクセス処理部
42 フォーマット処理部
42a フォーマット動作切替部
42b 通常クイックフォーマット処理部
42c 高速クイックフォーマット処理部
43 デバイス状態監視部

【特許請求の範囲】
【請求項1】
ユーザデータを格納するデバイスに対する初期化処理をデバイスに対するアクセスのバックグラウンドで行なうデバイス管理装置であって、
前記デバイスに対して前記初期化処理の処理単位分の初期化を実行する毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第1の初期化処理を行なう第1初期化処理部と、
前記デバイスに対して所定数の処理単位の初期化を行なう毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第2の初期化処理を行なう第2初期化処理部と、
前記デバイスに対するアクセスの発生状況および/または前記デバイスの動作状態を監視する監視部と、
前記監視部の監視結果に基づいて前記第1の初期化処理と前記第2の初期化処理とを切り替える切替部と、
を備えたことを特徴とするデバイス管理装置。
【請求項2】
前記初期化処理の処理単位を1ビットとするビットマップを更に備え、前記第1初期化処理部および第2初期化処理部は、前記ビットマップを用いて前記初期化処理の進捗状況を管理することを特徴とする請求項1に記載のデバイス管理装置。
【請求項3】
前記切替部は、前記ディスクへのアクセス要求間隔に基づいて前記第1初期化処理部による前記第1の初期化処理と前記第2初期化処理部による前記第2初期化処理とを切り替えることを特徴とする請求項1または2に記載のデバイス管理装置。
【請求項4】
前記切替部は、前記ディスクへの書き込みキャッシュの蓄積量に基づいて前記第1初期化処理部による前記第1の初期化処理と前記第2初期化処理部による前記第2初期化処理とを切り替えることを特徴とする請求項1〜3のいずれか一つに記載のデバイス管理装置。
【請求項5】
前記切替部は、前記ディスクの処理能力の状態に基づいて前記第1初期化処理部による前記第1の初期化処理と前記第2初期化処理部による前記第2初期化処理とを切り替えることを特徴とする請求項1〜4のいずれか一つに記載のデバイス管理装置。
【請求項6】
ユーザデータを格納するデバイスに対する初期化処理をデバイスに対するアクセスのバックグラウンドで行なうデバイス管理装置によるデバイス初期化方法であって、
前記デバイスに対して前記初期化処理の処理単位分の初期化を実行する毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第1の初期化処理を行なう第1初期化処理ステップと、
前記デバイスに対して2以上の所定数の処理単位の初期化を行なう毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第2の初期化処理を行なう第2初期化処理ステップと、
前記デバイスに対するアクセスの発生状況および/または前記デバイスの動作状態を監視する監視ステップと、
前記監視ステップによる監視結果に基づいて前記第1の初期化処理と前記第2の初期化処理とを切り替える切替ステップと、
を備えたことを特徴とするデバイス初期化方法。
【請求項7】
ユーザデータを格納するデバイスに対する初期化処理をデバイスに対するアクセスのバックグラウンドで行なうデバイス管理装置が実行する初期化プログラムであって、
前記デバイスに対して前記初期化処理の処理単位分の初期化を実行する毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第1の初期化処理を行なう第1初期化処理ステップと、
前記デバイスに対して2以上の所定数の処理単位の初期化を行なう毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第2の初期化処理を行なう第2初期化処理ステップと、
前記デバイスに対するアクセスの発生状況および/または前記デバイスの動作状態を監視する監視ステップと、
前記監視ステップによる監視結果に基づいて前記第1の初期化処理と前記第2の初期化処理とを切り替える切替ステップと、
をデバイス管理装置に実行させることを特徴とするデバイス初期化プログラム。
【請求項8】
ユーザデータを格納するデータを記憶するデバイスと、
すくなくとも前記デバイスに対する初期化処理をデバイスに対するアクセスのバックグラウンドで行なう複数のデバイス管理装置と、
を備え、
前記デバイス管理装置は、
前記デバイスに対して前記初期化処理の処理単位分の初期化を実行する毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第1の初期化処理を行なう第1初期化処理部と、
前記デバイスに対して2以上の所定数の処理単位の初期化を行なう毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第2の初期化処理を行なう第2初期化処理部と、
前記デバイスに対するアクセスの発生状況および/または前記デバイスの動作状態を監視する監視部と、
前記監視部の監視結果に基づいて前記第1の初期化処理と前記第2の初期化処理とを切り替える切替部と、
を備えたことを特徴とするデバイスシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−211318(P2010−211318A)
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2009−54188(P2009−54188)
【出願日】平成21年3月6日(2009.3.6)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】