(57)【特許請求の範囲】
【請求項１】
システムによる使用のために記憶装置に記憶空間を追加する際に、前記記憶装置への書き込みのための初期化データを生成する初期化ルーチンを有する記憶装置アダプタを介して、接続された前記記憶装置の設定を行う方法であって、
前記システムに対して記憶空間を追加する要求を受信するステップと、
前記記憶装置アダプタによる前記初期化ルーチンの実行を禁止することが可能な前記記憶装置アダプタに対して命令を送信するステップと、
前記記憶空間のための初期化データを生成するステップと、
前記記憶空間を初期化するために前記記憶空間に対する書き込みのために、前記記憶装置アダプタに対して初期化データを送信するステップと、
を有することを特徴とする方法。
【請求項２】
前記記憶装置アダプタに送信された前記初期化データは、前記記憶空間でのデータ保全作業とエラー訂正及びエラー回復作業とを可能とすることを特徴とする請求項１に記載の方法。
【請求項３】
前記初期化データは第１のフォーマット状態であり、前記初期化ルーチンを実行する際に前記記憶装置アダプタによって書き込まれた前記初期化データは第２のフォーマット状態にあり、さらに、
前記第１のフォーマット状態にある前記初期化データによって前記記憶空間が初期化された場合、前記記憶装置アダプタはデータ保全作業及びエラー回復作業を実行することができないことを特徴とする請求項２に記載の方法。
【請求項４】
前記記憶空間は複数のセクタに分割されており、初期化データが各セクタに対して生成されるとともに、各セクタに対するエラー訂正コードを有しており、さらに、
前記セクタ初期化データからの完全な書き込みストライプのための初期化データを提供するステップと、
前記完全な書き込みストライプに含ませるために前記提供された初期化データに対してパリティ・データを生成するステップとを有し、
前記完全な書き込みストライプが前記記憶装置アダプタに送信されて完全な書き込みストライプとして前記記憶空間に適用されることを特徴とする請求項１に記載の方法。
【請求項５】
前記記憶空間は複数のセクタに分割されており、前記初期化データは各セクタ用のエラー訂正コードを含み、該エラー訂正コードは前記セクタ上でエラー訂正を実行するために使用されることを特徴とする請求項１に記載の方法。
【請求項６】
前記要求された記憶空間は、ＲＡＩＤランクを有することを特徴とする請求項１に記載の方法。
【請求項７】
記憶装置を設定するための記憶装置システムであって、
前記記憶装置に接続され、前記記憶装置に記憶空間を追加する際に、前記記憶装置への書き込みのための初期化データを生成する初期化ルーチンを実現する記憶装置アダプタと、
記憶空間を追加する要求を受信する手段と、
前記記憶装置アダプタによる前記初期化ルーチンの実行を禁止することが可能な前記記憶装置アダプタに対して命令を送信する手段と、
前記記憶空間のための初期化データを生成する手段と、
前記記憶空間を初期化するために前記記憶空間に対する書き込みのために、前記記憶装置アダプタに対して初期化データを送信する手段と、
を備えることを特徴とする記憶装置システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶空間を初期化するためのシステム、方法、及びプログラムに関する。
【０００２】
【従来の技術】
ハイ・エンドの記憶制御装置は、ネットワークで結ばれたホストから１つ以上の記憶装置、例えば直接アクセス記憶装置（ＤＡＳＤ）、独立したディスクからなる冗長アレイ（ＲＡＩＤアレイ）、及びJust a Bunch of Disks （ＪＢＯＤ）に対する入出力（Ｉ／Ｏ）要求を管理する。記憶制御装置は、ネットワークを介して１つ以上のホストと通信するための１つ以上のホスト・バス・アダプタ（ＨＢＡ）と、複数の記憶装置と通信するための複数のアダプタとを有する。ハイ・エンド記憶制御装置の多くのベンダは、専有のハードウェアを提供する。このことは、ユーザがネットワーク・システムを設計する際に、ベンダ専有アダプタ及びその他のコンポーネントを購入することを必要とする。
【０００３】
産業界では、オープン・システム環境で動作する記憶制御装置を開発する傾向がある。ある点に関しては、このことは、記憶制御装置が他のベンダから提供されるコンポーネントを利用することができ、かつ該コンポーネントと互換性があることから、専有のハードウェア及びソフトウェア・ソリューションを事前に用いる必要がないことを意味している。
【０００４】
オープン・システムの産業界で使用されるドライブであるにもかかわらず、サード・パーティであるベンダのコンポーネントの動作が記憶制御装置の動作とコンフリクトする場合もある。
【０００５】
【発明が解決しようとする課題】
これらの理由から、オープン・システム環境での動作を最適化するために、記憶制御装置と他のシステム・コンポーネントとの統合を改善する技術を提供することが当該技術分野において求められている。
【０００６】
【課題を解決するための手段】
したがって、本発明は上記課題を解決し、記憶装置アダプタを介して取り付けられた記憶装置を構成するための方法、システム、及びプログラムを提供することを目的とする。記憶装置アダプタは、システムによる使用のために記憶装置に記憶空間を追加する際に、記憶装置への書き込みのための初期化データを生成する初期化ルーチンを有する。要求を受信することで、システムに対して記憶空間を追加する。命令は、記憶装置アダプタによる初期化ルーチンの実行を禁止することが可能な記憶装置アダプタに対して送信される。記憶空間のための初期化データが生成され、さらに記憶空間を初期化するために前記記憶空間に対する書き込みのために、記憶装置アダプタに対して初期化データが送信される。
【０００７】
また、記憶装置アダプタに送信された初期化データは、記憶空間でのデータ保全作業とエラー訂正及びエラー回復作業とを可能とする。
【０００８】
さらに別の実施形態では、初期化データは第１のフォーマット状態であり、初期化ルーチンを実行する際に記憶装置アダプタによって書き込まれた初期化データは第２のフォーマット状態にある。また、第１のフォーマット状態にある初期化データによって記憶空間が初期化された場合、記憶装置アダプタはデータ保全作業及びエラー回復作業を実行することができない。
【０００９】
特定の実施形態では、要求された記憶空間は、ＲＡＩＤランクを有する。
【００１０】
さらに、接続された記憶装置を設定するための方法、システム、及びプログラムを提供する。接続された記憶装置内の記憶空間の要求された設定と、第１の状態を設定する命令とを受信する。命令の受信に応答して前記第１の状態を指示する。第１の状態又は第２の状態のいずれが指示されているかを判断する。第２の状態が指示されている場合は、要求された設定を実現するために、記憶空間に対して初期化データを生成及び書き込みするための初期化ルーチンを実行する。もし初期化ルーチンの実行なしに第１の状態が指示されている場合は、要求された設定を実行するために記憶空間に対して書き込みを行うための初期化データを受信する。
【００１１】
記述した実施形態によって、記憶空間の個々の初期化を実行するための初期化ルーチンを含む記憶装置アダプタによる記憶空間の初期化及び設定のための技術が提供される。記述した実施形態によって、記憶装置アダプタは、初期化データの生成及び外部コンポーネントからの、例えば記憶装置アダプタがインストールされる記憶装置サブシステム制御装置からの適用を可能とする初期化ルーチンの実行を禁止され、それによって記憶装置アダプタが冗長な初期化作業を実行するのを避ける。
【００１２】
【発明の実施の形態】
サード・パーティのコンパートメントと記憶制御装置システムとの統合
記憶制御装置とともにサード・パーティのコンパートメント（例えば、International Business Machines Corporation （ＩＢＭ（商標））のEnterprise Storage Server（商標）（ＥＳＳ）を用いた場合に観察される一つの問題は、サード・パーティ製コンパートメントおよび制御装置を初期化中、それらの設定作業が協調して行われない場合があるということである。このような協調性の欠如によって、互いに矛盾した動作および／または冗長な動作が生ずる。例えば、ＩＢＭ（商標）のＥＳＳ記憶制御装置とサード・パーティ・ベンダ製の記憶装置アダプタ（ＰＣＩ・ＲＡＩＤアダプタ・カード）を用いた場合、ＰＣＩ・ＲＡＩＤアダプタ・カード及びＥＳＳ制御装置の両方が別々に記憶装置を初期化する。バイト・セクタを有するＲＡＩＤアレイ内のハード・ディスク・ドライブを設定するために、ＰＣＩ・ＲＡＩＤアダプタ・カードは初期５２２バイトのゼロ・データを各セクタに書き込むことによって各セクタの初期化を行い、ＰＣＩ・ＲＡＩＤアダプタ・カードによるエラー・リカバリ及びデータ完全性照合を目的として水平冗長コード（ＬＲＣ）が用いられる。ＬＲＣコードは、セクタ番号またはセクタの論理ブロック・アドレス（ＬＢＡ）によってシードされてもよい。ゼロ・データによって各セクタを初期化し、シードされたＬＢＡで２バイトのＬＲＣコードを初期化するＰＣＩ・ＲＡＩＤ・アダプタ・カードのそのようなプロセスは、数時間を要する。
【００１３】
ＰＣＩ・ＲＡＩＤアダプタ・カードの初期化に続いて、ＥＳＳ記憶制御装置もまたエラー・リカバリ及び訂正のためにデータ及びコードによって生成された論理ボリュームのセクタも初期化するであろう。特に、ＥＳＳ記憶制御装置は、セクタの開始位置に８バイトのヘッダを含ませるために各セクタを初期化し、続いてセクタの終了位置で物理的セクタ番号（ＬＢＡ）によってシードされた２バイトＬＲＣと２バイト・シーケンス番号の論理セクタ番号とを初期化する。さらに、ＥＳＳ記憶制御装置は、ヘッダ及びシーケンス番号とシードされたＬＲＣコードとの間の５１２バイトのデータに対してすべてゼロを書き込むことも行う。
【００１４】
したがって、サード・パーティ・ベンダのＰＣＩ・ＲＡＩＤアダプタ・カードとＥＳＳ記憶装置サブシステムとの統合による一つの問題は、冗長な初期化作業である。実行にかなりの時間がかかるＰＣＩ・ＲＡＩＤアダプタ・カード初期化は、ＥＳＳ記憶制御装置によって実行される初期化によって最終的に上書きされる。記述した実施形態は、この問題に対処するための技術を提供する。
【００１５】
図１は、本発明の態様が実現されたコンピュータ環境を例証する。ホスト・システム２は、記憶装置４に対するアクセスを管理する記憶装置サブシステム６を介して入出力（Ｉ／Ｏ）要求を記憶装置４へ送信する。記憶装置４は、当業者に知られているＲＡＩＤアレイ記憶装置にもとづいて複数のハード・ディスク・ドライブ８ａ〜８ｅから構成されている。記憶装置サブシステム６は、ホスト・システム２と周辺機器コンポーネント相互接続（ＰＣＩ）ＲＡＩＤアダプタ・カード１２との通信を可能とするホスト・バス・アダプタ（ＨＢＡ）１０を有し、それによって記憶装置４内のハード・ディスク・ドライブ８ａ〜８ｅへのアクセスを可能とする。さらに、ＰＣＩ・ＲＡＩＤアダプタ・カード１２は、当業者に周知の方法でハード・ディスク・ドライブ８ａ〜８ｅの設定及び初期化と該ハード・ディスク・ドライブ８ａ〜８ｅに対するデータのストライピングとが可能である。
【００１６】
記述した実施形態では、異なるホストおよび記憶装置サブシステムでＰＣＩ・ＲＡＩＤアダプタ・カード１２を使用することができる。ＰＣＩ・ＲＡＩＤアダプタ・カード１２は、ＰＣＩ制御装置１４からなるプロセッサと、不揮発性記憶装置（不図示）に格納されたコード１６とから構成される。ここで、不揮発性記憶装置は、プログラム可能読取り専用記憶装置（ＰＲＯＭ）、電気的消去可能読取り専用記憶装置（EＥＰＲＯＭ）、読取り専用記憶装置（ＲＯＭ）、または当業者に周知の任意の他の不揮発性記憶装置である。ＰＣＩ制御装置１４は、記憶装置４内のハード・ディスク・ドライブ８ａ〜８ｅの初期化を行うためにオール・ゼロまたは他の初期化データをセクタのデータ・セクションに書き込むことによって、コード１６を実行し、続いて当業者に周知の方法で該セクタのＬＲＣコードを実行する。記憶装置４を初期化して該記憶装置４がＲＡＩＤ装置として機能するようにした後、ＰＣＩ・ＲＡＩＤアダプタ・カード１２によって設定情報２０が更新される。図１では、設定情報２０が記憶装置４に保存されているように図示されている。また、設定情報２０をＰＣＩ・ＲＡＩＤアダプタ・カード１２内の揮発性または不揮発性記憶装置（例えば、バッテリでバック・アップされたＲＡＭ）等の記憶装置に保存しておいてもよい。記憶装置の設定情報２０が取りうる可能性のある３通りの状態を以下に示す。
【００１７】
利用不可：記憶装置４がまだ設定および初期化されていないことを示す。この状態の検出によってＰＣＩ・ＲＡＩＤアダプタ・カード１２が設定モードに入ることで当業者に周知の方法でＲＡＩＤ装置としてのハード・ディスク・ドライブ８ａ〜８ｅの初期化および設定が行われる。
【００１８】
初期化済：ハード・ディスク・ドライブ８ａ〜８ｅがデータおよびＬＲＣコードによって設定および初期化されており、使用可能な状態になっていることを示す。アレイ状態２０がひとたび「初期化済」を示すと、ＰＣＩ・ＲＡＩＤアダプタ・カード１２は当業者に周知の方法により記憶装置４上でエラー・リカバリを実行することが可能である。もしアレイ状態２０が初期化済を示していない場合は、ＰＣＩ・ＲＡＩＤアダプタ・カード１２は記憶装置４内のハード・ディスク・ドライブ８ａ〜８ｅの設定および初期化を試みる。
【００１９】
初期化オーバライド：ＰＣＩ・ＲＡＩＤアダプタ・カード１２がハード・ディスク・ドライブ８ａ〜８ｅに対してデータの完全ストライプ書き込みを実行し、ストライプ全体のデータおよびパリティの書き込みを一度にすることを示す。
【００２０】
上記状態情報に加えて、設定情報２０はさらにＲＡＩＤレベル、書き込みキャッシュ方法、ストライプ・サイズ、設定にかかわるハード・ディスク・ドライブ８ａ〜８ｅ、およびＲＡＩＤアレイを保守するために必要な他の任意のＲＡＩＤ情報を示すものであってもよい。
【００２１】
記憶装置サブシステム６は制御装置３０を有し、ＲＯＭ、ＰＲＯＭ、ＥＥＰＲＯＭ等の不揮発性記憶装置（不図示）にあるコード３２を実行することで、当業者に周知の方法で記憶装置サブシステム作業を実行させる。さらに、コード３２はＰＣＩ・ＲＡＩＤアダプタ・カード１２はＲＡＩＤアダプタ１２と通信する場合に該ＰＣＩ・ＲＡＩＤアダプタ・カード１２が設定情報２０に示される「初期化オーバライド」状態にする自己初期化命令３４を含む。この状態では、ＰＣＩ・ＲＡＩＤアダプタ・カードはＲＡＩＤアダプタ・コード１６に定められた初期化作業を実行せず、そのかわりに記憶装置サブシステム制御装置３０によって供給された初期化データの完全ストライプ書き込みを実行する。
【００２２】
図２は、記憶装置４内のＲＡＩＤランクを生成する要求を処理するために記憶装置サブシステム・コード３２で実現された論理を例証する。記述した実施形態では、付加される論理ボリュームを記憶装置４に割り当てるために、アドミニストレータがＲＡＩＤランクを生成してもよい。記載した一定の実施形態では、ハード・ディスク・ドライブ８ａ〜８ｅは５２４バイトのセクタ・ブロックとして最初にフォーマットされる。記憶装置４内のＲＡＩＤランクを初期化するための要求を受信する制御装置３０によって、ブロック１００で制御が開始される。記憶装置サブシステム６は、ＲＡＩＤレベル、ライト・バックやライト・スルー等の書き込みキャッシュ方法、ストライプ・サイズ、設定で使用するディスク、その他を示すＲＡＩＤ設定情報を有する自己初期化命令をＰＣＩ・ＲＡＩＤアダプタ・カード１２へ送信する（ブロック１０２）。
【００２３】
図３は、図２の論理によって生成されたＲＡＩＤランクの論理ボリュームを初期化するために制御装置３０に実現された論理を示す。制御はブロック１１０で制御装置３０が論理ボリュームを生成するための要求を受信することによって開始される。次に、制御装置３０は図２の論理によって生成されたＲＡＩＤランクのセクタ等のＲＡＩＤランク・セクタに対して、生成すべき論理ボリュームをマップする。ブロック１１４乃至１３０で、制御装置３０はＲＡＩＤランクにある各セクタｉについてブロック１１６乃至１２８を実行して新たな論理ボリュームのための初期化を行う。ブロック１１６では、セクタｉについて、制御装置３０は８バイト・ヘッダ、５１２データ・バイトをゼロにするための５１２バイトのゼロ・データ、ＲＡＩＤアレイのセクタｉの論理シーケンス番号を示す２バイト・シーケンス番号、及び該シーケンス番号によってシードされたＬＲＣコードを生成する。つぎに、制御装置３０はセクタｉについて生成された初期化データ及びすでにバッファリングされたセクタ初期化データによって完全なストライプからなるデータ・ストライプ・ユニットを構築する（ブロック１１８）。制御装置３０は、完全なストライプに含まれないセクタｉに対する任意の初期化データをバッファリングし（ブロック１２０）、また完全なストライプに含まれたデータに対するパリティ・データを計算する（ブロック１２２）。つぎに、制御装置３０はセクタ・データの完全なストライプ及びそのパリティをＰＣＩ・ＲＡＩＤアダプタ・カード１２へ送信し、ＲＡＩＤ設定に含まれたハード・ディスク・ドライブ８ａ〜８ｅの全てに対して初期化データの完全書き込みストライプを実行する（ブロック１２４）。
【００２４】
もし完全なストライプを満たすのに十分なバッファ・セクタ初期化データが存在しない場合（ブロック１２６）、制御３０はバッファ・データによって別の完全なストライプを構築して該ストライプに対するパリティの計算及び追加を行い、データ及びパリティを含む完全なストライプをＰＣＩ・ＲＡＩＤアダプタ・カード１２へ送る（ブロック１２８）。もし、完全なストライプ全体を構築するのに十分なバッファ・データが存在しなければ、制御はブロック１０４へ戻り、ＲＡＩＤランク内の新たな論理ボリュームに全てのセクタが割り当てられるまで、新たな論理ボリュームに対して次のセクタを初期化する（ブロック１３０）。
【００２５】
図４は記憶装置サブシステム４の制御下で自己初期化を実行するためにＰＣＩ・ＲＡＩＤアダプタ・コード１６に実現された論理を例証する。記憶装置サブシステム制御装置３０から設定情報を有する自己初期化命令を受信すると、制御が開始される（ブロック１５０）。次に、ＰＣＩ制御装置１４は、ＲＡＩＤレベル、書き込みキャッシュ方法、ストライプ・サイズ、設定で使用するディスク、その他を示すＲＡＩＤ設定情報を有する自自己初期化命令が与えられた設定情報によって設定情報２０を更新する（ブロック１５２）。ＰＣＩ制御装置１４は、ＲＡＩＤ設定情報２０を使用して、生成されているＲＡＩＤアレイに対して選択されたハード・ディスク・ドライブ８ａ〜８ｅをまたがるデータをストライピングするかを決定する。もし状態が「初期化オーバライド」である場合（ブロック１５６）、ＰＣＩ制御装置１４はなんら初期化を実行せず、ＲＡＩＤランク生成が完了する（ブロック１５８）。さもなければ、ＰＣＩ制御装置１４は当業者に周知の方法でＲＡＩＤ設定情報２０を用いてＲＡＩＤランクを初期化する通常の初期化処理を実行する（ブロック１６０）。
【００２６】
ＲＡＩＤランクが図２及び図４の論理によって生成された後、記憶装置サブシステム制御装置３０は新たなＲＡＩＤランク内のセクタを初期化して図３の論理に基づいて１つ以上の論理ボリュームを割り当てることができる。
【００２７】
図２、図３、及び図４に示すプロセスによって、記憶装置サブシステム６は、記憶装置サブシステム制御装置３０がデータ統合性、エラー訂正、及びエラー・リカバリ作業のために使用可能であるヘッダ及びセクタ情報を加えることで記憶装置４のＲＡＩＤランク内のデータ・セクタの初期化を処理する。記述した実施形態によって、ＰＣＩ・ＲＡＩＤアダプタ・カード１２は数時間かかると思われる個別の初期化を実行することが抑制されていることから、初期化作業に要する範囲及び時間が実質的に少なくなる。記述した実施形態は、それ自身の高レベルなセクタ初期化を実行しなければならない記憶装置サブシステムとともにサード・パーティのＰＣＩ・ＲＡＩＤアダプタ・カードが使用される場合に特に有用である。
【００２８】
ＰＣＩ・ＲＡＩＤアダプタ・カードが初期化を行うことを抑制されている上記の実施形態なしで、ＲＡＩＤアダプタは、記憶装置サブシステム６が使用してデータ統合性を保ち、かつエラー・リカバリ及び訂正を提供する初期化情報によって記憶装置サブシステム６が最終的にオーバライドしなければならないデータで新たなＲＡＩＤアレイにあるハード・ディスク・ドライブ８ａ〜８ｅのセクタ全てを別々に初期化する。したがって、別々の初期化パターンで実現した記憶装置サブシステムによってサード・パーティのＰＣＩ・ＲＡＩＤアダプタを統合する場合に、記述した実施形態によって設定及び初期化作業が最適化される。さらに、記述した実施形態によって、記憶装置サブシステム初期化データとＰＣＩ・ＲＡＩＤアダプタ・カード１２が付加する初期化データとが異なるという点で、記憶装置サブシステム６のみがデータ統合及びエラー訂正作業を実行することができる。なぜなら、記憶制御装置サブシステムによって生成されたセクタの初期化フォーマットはＰＣＩ・ＲＡＩＤアダプタ・カード１２によって生成された初期化とは異なるからである。
【００２９】
以下、いくつかの別の実施形態について説明する。
【００３０】
好ましい実施形態は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせを作るための標準的なプログラミング及び／又は工学的技術を用いた方法、装置、または製品として実現してもよい。ここで使用される用語「製品」とは、ハードウェア論理に実現されたコード又は論理（例えば、集積回路チップ、フィールド・プログラム可能ゲート・アレイ（ＦＰＧＡ）、アプリケーション特異的集積回路（ＡＳＩＣ）等）又はコンピュータ読取り可能媒体（例えば、磁気記憶媒体（例：ハード・ディスク装置、フロッピ・ディスク、テープ等）、光記憶媒体（例：ＣＤ−ＲＯＭ、光ディスク等）、揮発性又は不揮発性記憶装置（例：ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、ファームウェア、プログラム可能論理等）。コンピュータ読み取り可能媒体にあるコードは、プロセッサによってアクセス及び実行される。好ましい実施形態が実現されたコードは、ネットワーク全体にわたって送信媒体を介して、又はファイル・サーバからアクセス可能なものであってもよい。そのような場合、コードが実現された製品は、送信媒体、例えばネットワーク送信ライン、ワイヤレス送信媒体、空間を伝わる信号、電波、赤外線信号等を含む。もちろん、当業者は本発明の範囲から逸脱することなくこの構成に対して多くの変更を加えることが可能であることを容易に理解することであろう。
【００３１】
図２乃至図４に示す好ましい論理は、特定の順番で生ずる特定の作業を説明するものである。別の実施形態では、ある一定の論理作業が異なる順番で行われたり、変更又は除去される。さらに、上記の論理にステップを加えて、説明した実施形態をさらに確認してもよい。さらに、ここで説明した作業は順次行われるものであってもよく、または一定の作業が平行して実施されてもよい。
【００３２】
説明した実施形態では、データはセクタに転送される。別の実施形態では、データのブロックがセクタよりもむしろ記憶装置からなるユニットへ転送される。
【００３３】
説明した実施形態では、記憶装置サブシステム６はＲＡＩＤ記憶装置を設定するために自己初期化命令を提示していた。また、上記の設定及び初期化作業はＲＡＩＤ型ではない記憶装置にも使用することができる。そのような場合、設定情報は非ＲＡＩＤの属性及びプロパティを記載するだろう。
【００３４】
記述した実施形態では、ＰＣＩ・ＲＡＩＤアダプタ・カード１２及び記憶装置サブシステム６は異なる初期化データ・フォーマットで記憶装置４を初期化した。別の実施形態では、記憶装置サブシステム及びＰＣＩ・ＲＡＩＤアダプタ・カードはここで記載したものとは異なるフォーマットでセクタを初期化するものであってもよい。
【００３５】
記憶装置サブシステム６が制御するアダプタはＰＣＩ・ＲＡＩＤアダプタから構成されるものである。しかし、ここに記載した記憶装置サブシステム初期化技術もまた他の種類の記憶装置アダプタ、例えば小型コンピュータ用周辺機器インターフェイス（ＳＣＳ）、ファイバ・チャンネル等のアダプタとともに利用することもできる。そのような場合、記憶装置サブシステム６が究極的に記憶装置アダプタ初期化を上書きする場合に記憶装置４の冗長な設定を記憶装置アダプタが実行するのを防ぐために、自己初期化命令をサブミットするだろう。
【００３６】
記述した実施形態では、ＰＣＩ・ＲＡＩＤアダプタ・カードは記憶装置サブシステムで使用される。また、記憶制御サブシステムは、接続した記憶装置を設定するためにアダプタを使用する任意の装置、例えばホスト・コンピュータ等から構成されるものであってもよい。
【００３７】
記述した実施形態では、ハード・ディスク・ドライブ８ａ〜８ｅが磁気ハード・ディスク装置から構成された。別の実施形態では、記憶装置４は光ディスク、テープ等、当業者に周知の任意の記憶装置から構成されるものであってもよい。
【００３８】
まとめとして、本発明の構成に関して以下の事項を開示する。
（１）システムによる使用のために記憶装置に記憶空間を追加する際に、前記記憶装置への書き込みのための初期化データを生成する初期化ルーチンを有する記憶装置アダプタを介して、接続された前記記憶装置の設定を行う方法であって、
前記システムに対して記憶空間を追加する要求を受信するステップと、
前記記憶装置アダプタによる前記初期化ルーチンの実行を禁止することが可能な前記記憶装置アダプタに対して命令を送信するステップと、
前記記憶空間のための初期化データを生成するステップと、
前記記憶空間を初期化するために前記記憶空間に対する書き込みのために、前記記憶装置アダプタに対して初期化データを送信するステップと、
を有することを特徴とする方法。
（２）前記記憶装置アダプタに送信された前記初期化データは、前記記憶空間でのデータ保全作業とエラー訂正及びエラー回復作業とを可能とすることを特徴とする上記（１）に記載の方法。
（３）前記初期化データは第１のフォーマット状態であり、前記初期化ルーチンを実行する際に前記記憶装置アダプタによって書き込まれた前記初期化データは第２のフォーマット状態にあり、さらに、
前記第１のフォーマット状態にある前記初期化データによって前記記憶空間が初期化された場合、前記記憶装置アダプタはデータ保全作業及びエラー回復作業を実行することができないことを特徴とする上記（２）に記載の方法。
（４）前記記憶空間は複数のセクタに分割されており、前記初期化データは各セクタ用のエラー訂正コードを含み、該エラー訂正コードは前記セクタ上でエラー訂正を実行するために使用されることを特徴とする上記（１）に記載の方法。
（５）前記要求された記憶空間は、ＲＡＩＤランクを有することを特徴とする上記（１）に記載の方法。
（６）前記記憶空間は複数のセクタに分割されており、初期化データが各セクタに対して生成されるとともに、各セクタに対するエラー訂正コードを有しており、さらに、
前記セクタ初期化データからの完全な書き込みストライプのための初期化データを提供するステップと、
前記完全な書き込みストライプに含ませるために前記提供された初期化データに対してパリティ・データを生成するステップとを有し、
前記完全な書き込みストライプが前記記憶装置アダプタに送信されて完全な書き込みストライプとして前記記憶空間に適用されることを特徴とする上記（５）に記載の方法。
（７）接続された記憶装置を設定するための方法であって、
前記接続された記憶装置内の記憶空間の要求された設定を受信するステップと、
第１の状態を設定する命令を受信するステップと、
前記命令の受信に応答して前記第１の状態を指示するステップと、
前記第１の状態又は第２の状態のいずれが指示されているかを判断するステップと、
前記第２の状態が指示されている場合は、前記要求された設定を実現するために、前記記憶空間に対して初期化データを生成及び書き込みするための初期化ルーチンを実行するステップと、
もし初期化ルーチンの実行なしに前記第１の状態が指示されている場合は、前記要求された設定を実行するために前記記憶空間に対して書き込みを行うための初期化データを受信するステップと、
を有することを特徴とする方法。
（８）前記第１の状態を設定する前記命令を受信した後に命令を受信するステップと、
前記命令の受信に応答して前記初期化が完了していることを指示するステップと、
をさらに有することを特徴とする上記（７）に記載の方法。
（９）前記受信された初期化データは前記記憶空間に対するデータ保全作業とエラー訂正及び回復作業とを可能とすることを特徴とする上記（７）に記載の方法。
（１０）前記受信された初期化データは、第１のフォーマット状態であり、前記初期化ルーチンの実行中に生成された前記初期化データは第２のフォーマット状態にあることを特徴とする上記（９）に記載の方法。
（１１）前記記憶空間は複数のセクタに分割されており、前記初期化データは各セクタ用のエラー訂正コードを含み、該エラー訂正コードは前記セクタ上でエラー訂正を実行するために使用されることを特徴とする上記（７）に記載の方法。
（１２）前記要求された記憶空間は、ＲＡＩＤランクを有することを特徴とする上記（７）に記載の方法。
（１３）前記記憶空間は複数のセクタに分割されており、初期化データが各セクタに対して生成されるとともに、各セクタに対するエラー訂正コードを有しており、第１の状態が設定された場合、さらに、
前記完全な書き込みストライプのためのパリティ・データを含む完全なストライプのための初期化データを受信するステップと、
前記記憶空間に対して前記受信した完全なストライプの書き込みを行うために前記完全な書き込みストライプを実行するステップと、
をさらに有することを特徴とする上記（１２）に記載の方法。
（１４）記憶装置を設定するための記憶装置システムであって、
前記記憶装置に接続され、前記記憶装置に記憶空間を追加する際に、前記記憶装置への書き込みのための初期化データを生成する初期化ルーチンを実現する記憶装置アダプタと、
記憶空間を追加する要求を受信する手段と、
前記記憶装置アダプタによる前記初期化ルーチンの実行を禁止することが可能な前記記憶装置アダプタに対して命令を送信する手段と、
前記記憶空間のための初期化データを生成する手段と、
前記記憶空間を初期化するために前記記憶空間に対する書き込みのために、前記記憶装置アダプタに対して初期化データを送信する手段と、
を備えることを特徴とする記憶装置システム。
（１５）前記記憶装置アダプタに送信された前記初期化データは、前記記憶空間でのデータ保全作業とエラー訂正及びエラー回復作業とを可能とすることを特徴とする上記（１４）に記載の記憶装置システム。
（１６）前記初期化データは第１のフォーマット状態であり、前記初期化ルーチンを実行する際に前記記憶装置アダプタによって書き込まれた前記初期化データは第２のフォーマット状態にあり、さらに、
前記第１のフォーマット状態にある前記初期化データによって前記記憶空間が初期化された場合、前記記憶装置アダプタはデータ保全作業及びエラー回復作業を実行することができないことを特徴とする上記（１５）に記載の記憶装置システム。
（１７）前記記憶空間は複数のセクタに分割されており、前記初期化データは各セクタ用のエラー訂正コードを含み、該エラー訂正コードは前記セクタ上でエラー訂正を実行するために使用されることを特徴とする上記（１４）に記載の記憶装置システム。
（１８）前記要求された記憶空間は、ＲＡＩＤランクを有することを特徴とする上記（１４）に記載の記憶装置システム。
（１９）前記記憶空間は複数のセクタに分割されており、初期化データが各セクタに対して生成されるとともに、各セクタに対するエラー訂正コードを有しており、さらに、
前記セクタ初期化データからの完全な書き込みストライプのための初期化データを提供する手段と、
前記完全な書き込みストライプに含ませるために前記提供された初期化データに対してパリティ・データを生成する手段とを有し、
前記完全な書き込みストライプが前記記憶装置アダプタに送信されて完全な書き込みストライプとして前記記憶空間に適用されることを特徴とする上記（１８）に記載の記憶装置システム。
（２０）記憶装置を設定するためのシステムであって、
前記接続された記憶装置内の記憶空間の要求された設定を受信する手段と、
第１の状態を設定する命令を受信する手段と、
前記命令の受信に応答して前記第１の状態を指示する手段と、
前記第１の状態又は第２の状態のいずれが指示されているかを判断する手段と、
前記第２の状態が指示されている場合は、前記要求された設定を実現するために、前記記憶空間に対して初期化データを生成及び書き込みするための初期化ルーチンを実行する手段と、
もし初期化ルーチンの実行なしに前記第１の状態が指示されている場合は、前記要求された設定を実行するために前記記憶空間に対して書き込みを行うための初期化データを受信する手段と、
を備えることを特徴とするシステム。
（２１）前記第１の状態を設定する前記命令を受信した後に命令を受信する手段と、
前記命令の受信に応答して前記初期化が完了していることを指示する手段と、をさらに備えることを特徴とする上記（２０）に記載のシステム。
（２２）前記受信された初期化データは前記記憶空間に対するデータ保全作業とエラー訂正及び回復作業とを可能とすることを特徴とする上記（２０）に記載のシステム。
（２３）前記受信された初期化データは、第１のフォーマット状態であり、前記初期化ルーチンの実行中に生成された前記初期化データは第２のフォーマット状態にあることを特徴とする上記（２２）に記載のシステム。
（２４）前記記憶空間は複数のセクタに分割されており、前記初期化データは各セクタ用のエラー訂正コードを含み、該エラー訂正コードは前記セクタ上でエラー訂正を実行するために使用されることを特徴とする上記（２２）に記載のシステム。
（２５）前記要求された記憶空間は、ＲＡＩＤランクを有することを特徴とする上記（２０）に記載のシステム。
（２６）前記記憶空間は複数のセクタに分割されており、初期化データが各セクタに対して生成されるとともに、各セクタに対するエラー訂正コードを有しており、第１の状態が設定された場合、さらに、
前記完全な書き込みストライプのためのパリティ・データを含む完全なストライプのための初期化データを受信する手段と、
前記記憶空間に対して前記受信した完全なストライプの書き込みを行うために前記完全な書き込みストライプを実行する手段と、
をさらに備えることを特徴とする上記（２５）に記載のシステム。
（２７）システムによる使用のために記憶装置に記憶空間を追加する際に、前記記憶装置への書き込みのための初期化データを生成する初期化ルーチンを有する記憶装置アダプタを介して、接続された前記記憶装置の設定を行う製品であって、
該設定は、
前記システムに対して記憶空間を追加する要求の受信と、
前記記憶装置アダプタによる前記初期化ルーチンの実行を禁止することが可能な前記記憶装置アダプタに対する命令の送信と、
前記記憶空間のための初期化データの送信と、
前記記憶空間を初期化するために前記記憶空間に対する書き込みのために、前記記憶装置アダプタに対する初期化データの送信と、
によって行われることを特徴とする製品。
（２８）前記記憶装置アダプタに送信された前記初期化データは、前記記憶空間でのデータ保全作業とエラー訂正及びエラー回復作業とを可能とすることを特徴とする上記（２７）に記載の製品。
（２９）前記初期化データは第１のフォーマット状態であり、前記初期化ルーチンを実行する際に前記記憶装置アダプタによって書き込まれた前記初期化データは第２のフォーマット状態にあり、さらに、
前記第１のフォーマット状態にある前記初期化データによって前記記憶空間が初期化された場合、前記記憶装置アダプタはデータ保全作業及びエラー回復作業を実行することができないことを特徴とする上記（２８）に記載の製品。
（３０）前記記憶空間は複数のセクタに分割されており、前記初期化データは各セクタ用のエラー訂正コードを含み、該エラー訂正コードは前記セクタ上でエラー訂正を実行するために使用されることを特徴とする上記（２７）に記載の製品。
（３１）前記要求された記憶空間は、ＲＡＩＤランクを有することを特徴とする上記（２７）に記載の製品。
（３２）前記記憶空間は複数のセクタに分割されており、初期化データが各セクタに対して生成されるとともに、各セクタに対するエラー訂正コードを有しており、さらに、
前記セクタ初期化データからの完全な書き込みストライプのための初期化データを提供する手段と、
前記完全な書き込みストライプに含ませるために前記提供された初期化データに対してパリティ・データを生成する手段とを有し、
前記完全な書き込みストライプが前記記憶装置アダプタに送信されて完全な書き込みストライプとして前記記憶空間に適用されることを特徴とする上記（３１）に記載の製品。
（３３）接続された記憶装置を設定するための製品であって、
該設定は、
前記接続された記憶装置内の記憶空間の要求された設定の受信と、
第１の状態を設定する命令の受信と、
前記命令の受信に応答した前記第１の状態の指示と、
前記第１の状態又は第２の状態のいずれが指示されているかの判断と、
前記第２の状態が指示されている場合は、前記要求された設定を実現するために、前記記憶空間に対して初期化データを生成及び書き込みするための初期化ルーチンの実行と、
もし初期化ルーチンの実行なしに前記第１の状態が指示されている場合は、前記要求された設定を実行するために前記記憶空間に対して書き込みを行うための初期化データの受信と、
によって行われることを特徴とする製品。
（３４）前記第１の状態を設定する前記命令を受信した後に命令を受信する手段と、
前記命令の受信に応答して前記初期化が完了していることを指示する手段と、
をさらに有することを特徴とする上記（３３）に記載の製品。
（３５）前記受信された初期化データは前記記憶空間に対するデータ保全作業とエラー訂正及び回復作業とを可能とすることを特徴とする上記（３３）に記載の製品。
（３６）前記受信された初期化データは、第１のフォーマット状態であり、前記初期化ルーチンの実行中に生成された前記初期化データは第２のフォーマット状態にあることを特徴とする上記（３５）に記載の製品。
（３７）前記記憶空間は複数のセクタに分割されており、前記初期化データは各セクタ用のエラー訂正コードを含み、該エラー訂正コードは前記セクタ上でエラー訂正を実行するために使用されることを特徴とする上記（３３）に記載の製品。
（３８）前記要求された記憶空間は、ＲＡＩＤランクを有することを特徴とする上記（３３）に記載の製品。
（３９）前記記憶空間は複数のセクタに分割されており、初期化データが各セクタに対して生成されるとともに、各セクタに対するエラー訂正コードを有しており、第１の状態が設定された場合、さらに、
前記完全な書き込みストライプのためのパリティ・データを含む完全なストライプのための初期化データを受信するステップと、
前記記憶空間に対して前記受信した完全なストライプの書き込みを行うために前記完全な書き込みストライプを実行するステップと、
をさらに有することを特徴とする上記（３７）に記載の製品。
【図面の簡単な説明】
【図１】  本発明の実施形態が実現されるコンピュータ環境を説明するための模式図である。
【図２】  本発明の実施形態にもとづいて、ＲＡＩＤランクを生成するために記憶装置サブシステムに実現された論理を説明するためのフローチャートである。
【図３】  本発明の実施形態にもとづいて、接続された記憶装置アダプタ・カードを介した記憶空間のデータの初期化を行うために記憶装置サブシステムに実現された論理を説明するためのフローチャートである。
【図４】  本発明の実施形態にもとづいて、記憶空間のデータを初期化するために記憶装置サブシステムにインストールされた記憶装置アダプタ・カードに実装された論理を説明するためのフローチャートである。
【符号の説明】
２    ホスト・システム
４    記憶装置
６    記憶装置サブシステム
８ａ，８ｂ，８ｃ，８ｄ，８ｅ    ハード・ディスク・ドライブ
１２  ＰＣＩ・ＲＡＩＤアダプタ・カード
１４  ＰＣＩ制御装置
１６  コード
２０  設定情報（アレイ状態）
３０  記憶装置サブシステム制御装置
【図１】
0003777132.tif 000002
【図２】
0003777132.tif 000003
【図３】
0003777132.tif 000004
【図４】
0003777132.tif 000005