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

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

Info

Publication number
JP4719801B2
JP4719801B2 JP2009054188A JP2009054188A JP4719801B2 JP 4719801 B2 JP4719801 B2 JP 4719801B2 JP 2009054188 A JP2009054188 A JP 2009054188A JP 2009054188 A JP2009054188 A JP 2009054188A JP 4719801 B2 JP4719801 B2 JP 4719801B2
Authority
JP
Japan
Prior art keywords
initialization
management apparatus
progress
processing
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009054188A
Other languages
English (en)
Other versions
JP2010211318A (ja
Inventor
和彦 池内
実希夫 伊藤
秀治郎 大黒谷
親志 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009054188A priority Critical patent/JP4719801B2/ja
Priority to US12/716,788 priority patent/US8429357B2/en
Publication of JP2010211318A publication Critical patent/JP2010211318A/ja
Application granted granted Critical
Publication of JP4719801B2 publication Critical patent/JP4719801B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Description

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

Claims (8)

  1. ユーザデータを格納するデバイスに対する初期化処理をデバイスに対するアクセスのバックグラウンドで行なうデバイス管理装置であって、
    前記デバイスに対して前記初期化処理の処理単位分の初期化を実行する毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第1の初期化処理を行なう第1初期化処理部と、
    前記デバイスに対して所定数の処理単位の初期化を行なう毎に、当該初期化の進捗状況を他のデバイス管理装置に通知して前記初期化の進捗状況を二重化する第2の初期化処理を行なう第2初期化処理部と、
    前記デバイスに対するアクセスの発生状況および/または前記デバイスの動作状態を監視する監視部と、
    前記監視部の監視結果に基づいて前記第1の初期化処理と前記第2の初期化処理とを切り替える切替部と、
    を備えたことを特徴とするデバイス管理装置。
  2. 前記初期化処理の処理単位を1ビットとするビットマップを更に備え、前記第1初期化処理部および第2初期化処理部は、前記ビットマップを用いて前記初期化処理の進捗状況を管理することを特徴とする請求項1に記載のデバイス管理装置。
  3. 前記切替部は、前記ディスクへのアクセス要求間隔に基づいて前記第1初期化処理部による前記第1の初期化処理前記第2初期化処理部による前記第2初期化処理切り替えることを特徴とする請求項1または2に記載のデバイス管理装置。
  4. 前記切替部は、前記ディスクへの書き込みキャッシュの蓄積量に基づいて前記第初期化処理部による前記第2の初期化処理前記第初期化処理部による前記第1の初期化処理切り替えることを特徴とする請求項1〜3のいずれか一つに記載のデバイス管理装置。
  5. 前記切替部は、前記第2の初期化処理中に、前記ディスクの応答時間および/またはスループットが一定値以上であるか否かに応じて、前記第2の初期化処理を継続させるか、または前記第2の初期化処理を前記第1の初期化処理に切り替えることを特徴とする請求項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の初期化処理とを切り替える切替部と、
    を備えたことを特徴とするデバイスシステム。
JP2009054188A 2009-03-06 2009-03-06 デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム Active JP4719801B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009054188A JP4719801B2 (ja) 2009-03-06 2009-03-06 デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム
US12/716,788 US8429357B2 (en) 2009-03-06 2010-03-03 Device management apparatus, device initialization method, and device system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009054188A JP4719801B2 (ja) 2009-03-06 2009-03-06 デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム

Publications (2)

Publication Number Publication Date
JP2010211318A JP2010211318A (ja) 2010-09-24
JP4719801B2 true JP4719801B2 (ja) 2011-07-06

Family

ID=42679238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009054188A Active JP4719801B2 (ja) 2009-03-06 2009-03-06 デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム

Country Status (2)

Country Link
US (1) US8429357B2 (ja)
JP (1) JP4719801B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5802283B2 (ja) * 2011-07-22 2015-10-28 株式会社日立製作所 ストレージシステム及びその論理ユニット管理方法
US20140244936A1 (en) * 2013-02-25 2014-08-28 Lsi Corporation Maintaining cache coherency between storage controllers
US9234757B2 (en) 2013-11-29 2016-01-12 Fedex Corporate Services, Inc. Determining node location using a variable power characteristic of a node in a wireless node network
US10453023B2 (en) * 2014-05-28 2019-10-22 Fedex Corporate Services, Inc. Methods and node apparatus for adaptive node communication within a wireless node network
KR20160043579A (ko) * 2014-10-13 2016-04-22 삼성전자주식회사 반도체 장치의 사용시간 매니징 방법 및 그에 따른 사용시간 매니징 부를 구비한 반도체 장치
CA3014870A1 (en) 2016-03-23 2017-09-28 Fedex Corporate Services, Inc. Systems, apparatus, and methods for self-adjusting a broadcast setting of a node in a wireless node network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230754A (ja) * 2001-01-30 2002-08-16 Ricoh Co Ltd 情報記録再生方法、情報記録再生装置、情報処理装置及びコンピュータ・プログラム
JP2003029934A (ja) * 2001-07-19 2003-01-31 Fujitsu Ltd ストレージ制御装置及びその制御方法
JP2003029933A (ja) * 2001-07-19 2003-01-31 Fujitsu Ltd Raid制御装置及びその制御方法
JP2005129120A (ja) * 2003-10-22 2005-05-19 Ricoh Co Ltd 情報記録装置と情報記録方法とプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108316A (ja) 2001-09-26 2003-04-11 Toshiba Corp ディスクアレイ装置およびホットスペア制御方法
US6976124B2 (en) * 2001-12-25 2005-12-13 Hitachi, Ltd. Control method of control device conducting data input and output to storage devices, and control device used therefor
JP2003241904A (ja) 2002-02-15 2003-08-29 Hitachi Ltd ディスクアレイ装置、及びその制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230754A (ja) * 2001-01-30 2002-08-16 Ricoh Co Ltd 情報記録再生方法、情報記録再生装置、情報処理装置及びコンピュータ・プログラム
JP2003029934A (ja) * 2001-07-19 2003-01-31 Fujitsu Ltd ストレージ制御装置及びその制御方法
JP2003029933A (ja) * 2001-07-19 2003-01-31 Fujitsu Ltd Raid制御装置及びその制御方法
JP2005129120A (ja) * 2003-10-22 2005-05-19 Ricoh Co Ltd 情報記録装置と情報記録方法とプログラム

Also Published As

Publication number Publication date
JP2010211318A (ja) 2010-09-24
US8429357B2 (en) 2013-04-23
US20100228917A1 (en) 2010-09-09

Similar Documents

Publication Publication Date Title
JP4041656B2 (ja) ストレージシステム及びストレージシステムにおけるデータ送受信方法
JP4788528B2 (ja) ディスク制御装置、ディスク制御方法、ディスク制御プログラム
US8321622B2 (en) Storage system with multiple controllers and multiple processing paths
JP4719801B2 (ja) デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム
US9940201B2 (en) Disk array having mirror configuration and rebuilding method therefor
US8078815B2 (en) Power-saving-backup management method
US10922175B2 (en) Method, apparatus and computer program product for failure recovery of storage system
JP2008269374A (ja) ストレージシステムおよびその制御方法
JP2006018689A (ja) ストレージ制御装置、そのクラスタ間データ通信方法、及びそのクラスタ間通信制御プログラム
JP4451687B2 (ja) ストレージシステム
JP6028415B2 (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
JP2007102436A (ja) ストレージ制御装置およびストレージ制御方法
JP4190859B2 (ja) 記憶装置の制御装置、及び記憶装置の制御装置の制御方法
JP2011008548A (ja) データ中継装置およびストレージシステム
JP2011238038A (ja) ディスクアレイ装置、ディスクアレイ装置制御方式、及び、ディスクアレイ装置制御プログラム
JPH11212728A (ja) 外部記憶サブシステム
WO2016098150A1 (ja) ストレージシステム
JP5505329B2 (ja) ディスクアレイ装置及びその制御方法
JP4936088B2 (ja) ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
WO2019043815A1 (ja) ストレージシステム
JP2005209055A (ja) ストレージの負荷分散方法
JP2012022645A (ja) データ記憶システムおよび非同期レプリケーション方法
JP2009199540A (ja) ストレージ装置とシステムと方法並びにプログラム
JP4714720B2 (ja) ストレージ装置及びその制御方法、並びにディスク装置
JP2007193839A (ja) ストレージシステム、ストレージシステムにおけるデータ送受信方法及びシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110404

R150 Certificate of patent or registration of utility model

Ref document number: 4719801

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3