(57)【要約】【課題】コンピュータ・システム構成の更新中にクラッシュが起こったときでも誤りなくシステムを回復する方法を提供する。【解決手段】記憶空間内の記憶割振りのシステム構成内の変化に関連する記憶割振り情報（１６２）と、システム構成を更新する前に記憶割振り情報を保存することによりシステム構成を更新する手段（１６４）とを含むデータ記憶装置（１１０）を提供する。回復記録（１６０）は記憶割振りのシステム構成内の変化に関連する記憶割振り情報（１６２）を含み、完了標識（１６４）は、記憶割振り情報がシステム構成要素以内に含まれるときは第１の値を含み、記憶割振り情報がシステム構成要素以内に含まれないときは第２の値を含む。【選択図】図５
2006114008.tif 000002
【特許請求の範囲】
【請求項１】
メモリ内に記憶される回復記録であって、
記憶空間の記憶割振りのシステム構成内の変化に関連する結果のデータを定義する記憶割振り情報と、
前記記憶割振り情報が前記システム構成内に含まれるときは第１の値を含み、前期記憶割振り情報が前記システム構成内に含まれないときは第２の値を含む完了標識と、
で構成する回復記録。
【請求項２】
前記記憶割振り情報が前記システム構成内に含まれるときは、前記記憶割振り情報は複数の割振り可能なデータ記憶単位を表す記憶割振りマップの一部を定義する、請求項１記載の回復記録。
【請求項３】
前記記憶割振り情報は各データ記憶単位の割振りへの利用可能性を示す、請求項２記載の回復記録。
【請求項４】
前記記憶割振り情報は割振りに利用可能な多数のデータ記憶単位を更に示す、請求項２記載の回復記録。
【請求項５】
前記記憶割振りマップは第１のゾーンと第２のゾーンとを含み、また前記記憶割振り情報は前記ゾーンに関してデータ記憶単位の利用可能性を示す、請求項２記載の回復記録。
【請求項６】
前記記憶割振り情報は論理装置への割振り可能なデータ記憶単位の割当てを指定する、請求項２記載の回復記録。
【請求項７】
前記システム構成の等べき更新に適した記憶割振り情報を備えさせて、前記記憶割振り情報を含めるようにした、請求項１記載の回復記録。
【請求項８】
記憶空間の記憶割振りのシステム構成内の変化に関連する結果のデータを定義する記憶割振り情報を記憶し、
前記記憶割振り情報が前記システム構成内に含まれないことを示す第１の値を完了標識に割り当てる、
ことを含む方法。
【請求項９】
前記記憶割振り情報を含む前記システム構成を更新し、
前記記憶割振り情報が前記システム構成要素内に含まれることを示す、前記第１の値とは異なる第２の値を前記完了標識に割り当てる、
ことを含む、請求項８記載の方法。
【請求項１０】
前記記憶空間内に前記記憶割振り情報のコピーを保存することを含む、請求項８記載の方法。
【請求項１１】
前記コピーをライト・バック・キャッシュ内にミラーリングすることを含む、請求項１０記載の方法。
【請求項１２】
前記記憶割振り情報と共にデータ記憶単位の割振りへの利用可能性を示すことを含む、請求項８記載の方法。
【請求項１３】
前記更新するステップは等べきとして特徴づけられる、請求項９記載の方法。
【請求項１４】
前記システム構成は第１のゾーンと第２のゾーンとを含み、また前記記憶するステップは前記ゾーンに関してデータ記憶単位の利用可能性を記憶することを含む、請求項８記載の方法。
【請求項１５】
データ記憶装置であって、
システム構成内の変化に関連するシステム構成変化情報と、
前記システム構成を更新する前に前記システム構成変化情報を保存することにより前記システム構成を更新するための手段と、
を備えるデータ記憶装置。
【請求項１６】
更新するための前記手段は、記憶空間の記憶割振りのシステム構成内の変化に関連する結果のデータを定義する記憶割振り情報を保存することにより特徴づけられる、請求項１５記載のデータ記憶装置。
【請求項１７】
更新するための前記手段は前記システム構成の等べき更新により特徴づけられる、請求項１５記載のデータ記憶装置。
【請求項１８】
更新するための前記手段は前記システム構成変化情報が前記システム構成内に含まれるかどうかを示す標識手段により特徴づけられる、請求項１５記載のデータ記憶装置。
【請求項１９】
更新するための前記手段は前記システム構成割振り可能性をマッピングするための手段により特徴づけられる、請求項１６記載のデータ記憶装置。
【請求項２０】
更新するための前記手段は前記システム構成の割振り可能性を示すための手段により特徴づけられる、請求項１７記載のデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にコンピュータ・システムに関するもので、特に記憶割振りに関連する更新中のシステム構成の完全性を保持することに関するが、これに限定されるものではない。
【背景技術】
【０００２】
コンピュータ・システムは、入力装置、出力装置、一個以上のＣＰＵ、記憶媒体（半導体ＲＡＭ、ＥＥＰＲＯＭ、ディスク・ドライブ、ＣＤドライブ、その他の記憶媒体など）で構成してよい。オペレーティング・システムはアプリケーション環境と、ファイルを作成し変更し削除するときに記憶容量の割振り（および割振りの解除）を行うためのファイル・システムとを提供する。例えば、サーバやストレージアレイなどの特殊なコンピュータ・システムは、ネットワークやその他の接続によりアクセスされる記憶容量を割り振るためのファイル・システムも用いる。サーバやストレージアレイは、例えばＲＡＩＤレベルなどの望ましい記憶フォーマットに従って、複数のディスク・ドライブにまたがってファイルを記憶する。ユーザ・データ・ファイルは１個以上のディスク・ドライブの１つ以上の領域にマップされる。マッピングはミラー・データまたはパリティ・データの記憶を含む。データ・ファイルを１個以上のディスク・ドライブにマップする方法を記述する構成情報はメタデータと呼ばれる表または他のデータ構造に含まれる。ファイルを作成し変更し削除するときはメタデータを更新して、記憶容量の割振りまたは割振り解除を反映する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
システムをマルチスレッド化およびマルチタスク化して、多数のプロセスを同時に実行することができる。１つのプロセス（システム・プロセスまたはユーザ・アプリケーションなど）の実行が異常になると、１つ以上プロセスが未完状態で終了することがある。オペレーティング・システムは、１つのアプリケーションの実行が異常になったときに他のアプリケーションに影響を与えない動作環境を与えるよう努めるが、バス故障、記憶誤り、コード誤り、停電、電力サージ、その他の状態、などによりシステム・クラッシュが起こることがある。クラッシュによりシステムの実行が停止したとき記憶容量の割振りまたは割振り解除のプロセスが作動して、割振りまたは割振り解除の誤りやデータの消失を生じる可能性がある。
【課題を解決するための手段】
【０００４】
ここで示しまた後でクレームするように、本発明は一般にコンピュータ・システム構成情報を更新するための装置とこれに関連する方法とを提供するものである。
【０００５】
或る実施の形態では、記憶空間内に記憶される回復記録が与えられる。回復記録は、記憶空間の記憶割振りのシステム構成内の変化に関連する記憶割振り情報と、記憶割振り情報がシステム構成内に含まれるときは第１の値を含み、記憶割振り情報がシステム構成内に含まれないときは第２の値を含む完了標識とで構成する。
【０００６】
別の実施の形態では、記憶空間の記憶割振りのシステム構成内の変化に関連する記憶割振り情報を記憶し、また完了標識に第１の値を割り当てて記憶割振り情報がシステム構成内に含まれないことを示すことを含む方法が与えられる。
【０００７】
別の実施の形態では、システム構成内の変化に関連するシステム構成変化情報と、システム構成を更新する前にシステム構成変化情報を保存することによりシステム構成を更新するための手段とを備えるデータ記憶装置が与えられる。
【０００８】
本発明の実施の形態を特徴づけるこれらの機能と利点は、以下の詳細な説明を読み、関連する図面を参照することにより明らかになる。
【実施例】
【０００９】
本発明の現在好ましいと考えられる実施の形態を実行するのに適した例示的な環境を示すために、図１に大容量記憶を用いるワイド・エリア・ネットワーク（ＷＡＮ）として特徴づけられるコンピュータ・ベースのシステム１００を示す。
【００１０】
システム１００は、それぞれホストＡ，Ｂ，Ｃで示す多数のホスト・コンピュータ１０２を含む。ホスト・コンピュータ１０２はファブリック１０６を介して相互に対話し、また１対のデータストレージアレイ１０４（それぞれＡ，Ｂで示す）と対話する。ファブリック１０６は好ましくはファブリック・チャンネル・ベースのスイッチング・ネットワークでよいが、インターネットを含む他の構成を用いてもよい。
【００１１】
各アレイ１０４は１対のコントローラ１０８（Ａ１，Ａ２およびＢ１，Ｂ２で示す）と、好ましくはＲＡＩＤ（独立ディスクの冗長アレイ）として動作するハード・ディスク・ドライブの特徴を有する一組のデータ記憶装置１１０とを含む。コントローラ１０８とデータ記憶装置１１０とは好ましくはフォールトトレラント構造を用いるので、種々のコントローラ１０８は並列の冗長リンクを用い、システム１００が記憶する少なくともいくつかのユーザ・データを少なくとも一組のデータ記憶装置１１０内に冗長フォーマットで記憶する。
【００１２】
更に考えられるのは、Ａホスト・コンピュータ１０２とＡデータストレージアレイ１０４とを物理的に第１のサイトに置き、Ｂホスト・コンピュータ１０２とＢ記憶配列１０４とを物理的に第２のサイトに置き、Ｃホスト・コンピュータ１０２を別の第３のサイトに置いてよい。ただしこれは単なる例であって、これに限定されるわけではない。
【００１３】
図２は選択された１つのコントローラ１０８の詳細を示す。コントローラ１０８は単一の集積回路で実現してもよいし、必要に応じて多数の離散的回路に分散してもよい。主プロセッサ１１２は好ましくはプログラム可能なコンピュータ・プロセッサであって、不揮発性記憶１１４（フラッシュ・メモリなど）やダイナミックＲＡＭ（ＤＲＡＭ）１１６内に記憶されているプログラミング・ステップと処理データとに従ってトップ・レベルの制御を行う。
【００１４】
ファブリック・インターフェース（Ｉ／Ｆ）回路１１８はファブリック１０６を介して他のコントローラ１０８やホスト・コンピュータ１０２と通信し、装置Ｉ／Ｆ回路１２０は記憶装置１１０と通信する。Ｉ／Ｆ回路１１８，１２０と経路コントローラ１２２とは、キャッシュ・メモリ１２４を用いるなどして、ストレージアレイ１０４とホスト１０２の間にパスコマンドやデータを送る通信経路を形成する。離散的に図示したが、理解されるように、経路コントローラ１２２とＩ／Ｆ回路１１８，１２０とは一体で構築してよい。
【００１５】
所定のアレイ１０４内のデータ記憶装置１１０の範囲で定義される配列１０４のデータ記憶容量は、アレイ１０４との間で書込みおよび読取りを行うことのできる順序付きファイルに編成される。システム構成情報は、関連するパリティ・データおよびミラー・データを含んでそれぞれの記憶位置を持つユーザ・データ・ファイルの間の関係を定義する。システム構成は更に、ユーザ・ファイルに割り振られた記憶容量のブロックの間の関係と、論理ブロック・アドレスなどのメモリ記憶位置とを識別する。システム構成は更に、論理ブロック・アドレスにマップされる仮想ブロック・アドレスを定義することによる仮想化を含んでよい。
【００１６】
新しいファイルを保存しまたは既存のファイルを拡張するなどして記憶容量が割り振られたとき、またはファイルを削除しまたは既存のファイルのサイズを小さくするなどして記憶容量の割振りが解除された後は、システム構成情報が変わる。システム・メタデータはファイル割振り情報や、割振りプロセスを支援する他のデータ構造を定義する。
【００１７】
図３は、ビット配列の形のメタデータ構造１３０を示す簡単な図である。この図では、メタデータ１３０の列（ａ，ｂ，ｃ，ｄ，．．．）はアレイ１０４内の１つ以上のデータ記憶装置１１０に関係してよい。メタデータ１３０の行（１，２，３，４，．．．）は１つ以上のドライブの予め選択された記憶容量を表してよい。したがって、各行と列との交点にある、配列１３０内の各ビットは記憶容量の割振り可能な１単位を表す。配列１３０内のビットは、記憶容量の各単位にすでに割り振られている場合は第１の値に設定し、記憶容量のその単位に割振り可能な場合は第２の値に設定する。
【００１８】
このようにメタデータ１３０は記憶容量使用に関するシステム構成の概要を表す。メタデータ１３０を更新することは、標識ビット・データを変えて、割振りの前（例えば、時刻ｔ0）の状態から割振りの後（例えば、ｔ1）の状態への割振りの変化を反映することを含む。好ましくは、更新は図４の流れ図に示すような１パス・プロセスで行われる。更新プロセス１４０はブロック１４１で開始して、ブロック１４２で割振り要求が起こるまでコンピュータ・システム１００は正常動作を行う。ブロック１４６でシステム１００は関連する記憶を割り振り、これに従ってメタデータを更新する。継続する動作の間および次の割振り要求１４２の間、システム１００は更新されたメタデータを参照することができる。
【００１９】
更新ステップ１４６中にシステム１００のクラッシュなどによりシステム１００内で誤りが発生した場合は、システム１００は部分的に更新されたメタデータをかかえたまま再開しようとすることがある。本発明の実施の形態は、メタデータ１３０の２パス回復プロセスを行えるようにすることによりこの問題を解決する。
【００２０】
図５は、１パスのメタデータ更新プロセス１４０（図４）と、２パスのメタデータ更新プロセス１５２との違いを示す簡単な図である。システム構成は、割振り要求１４２の前の時刻ｔ0と割振り要求１４２の後の時刻ｔ1でのメタデータで定義される。割振り要求１４２の前のメタデータの状態をブロック１５４にＭＥＴＡＤＡＴＡt0で表す。割振り要求１４２があって更新に成功した後のメタデータの状態をブロック１５６にＭＥＴＡＤＡＴＡt1で表す。
【００２１】
２パス・プロセス１５２では、記憶割振り情報１６２（ＭＡＩ）という記憶された記録を含む回復記録１６０を作成する。ＭＡＩ１６２は、割振り要求１４２により生じるシステム構成内の変化に関連する情報を含む。また回復記録１６０は完了標識１６４を含む。これは、ＭＡＩ１６２がシステム構成に含まれる場合は第１の値１６８を含み、ＭＡＩ１６２がシステム構成に含まれない場合は第２の値１６６を含む。すなわち、２パス・プロセス１５２では、システム構成はＭＥＴＡＤＡＴＡtとＭＡＩ１６２との組合せで定義され、両者は別個にメモリ内に記憶される。好ましくは瞬時停電が起こった場合の回復に備えて、両者を不揮発性メモリ（例えば、前記の図３に示す構造と同様のもの）内に記憶する。完了標識１６４の変化で示すようにＭＥＴＡＤＡＴＡtとＭＡＩ１６２とをうまく組み合わせると、この組合せが割振り要求１４２の後のシステム１００構成の状態をＭＥＴＡＤＡＴＡt1１５６として定義する。
【００２２】
図３に戻ると、メタデータ１３０は記憶割振りマップと特徴づけることができる。その中のＭＡＩ１６２は、割振り要求１４２のために変化した部分だけ定義する。本発明の種々の実施の形態で、ＭＡＩ１６２は、各データ記憶単位１３２の割振りへの利用可能性、割振りに利用可能なデータ記憶単位の総数、ゾーン化された記憶容量を用いるマッピング配列でのゾーン当たりの利用可能なデータ記憶単位の数など（これに限定されない）の有用な情報を報告するようしてよい。別の実施の形態では、指定された論理装置にＭＡＩ１６２を割り当ててよい。更に別の実施の形態では、回復記録１６０はＭＡＩ１６２を含むシステム構成を自動的に更新するコード（限定されないが、実行可能なコードなど）を更に含む。
【００２３】
図６は、本発明の実施の形態に係る、２パス更新プロセス１５２を示す流れ図である。ブロック１４１で正常動作を行っているとき、ブロック１４２で割振り要求を受ける。割振り要求へのシステム１００の応答に基づいて、ブロック１７０でＭＡＩ１６２を決定して記憶する。ブロック１７２で、システム構成をＭＡＩ１６２で更新する。流れはブロック１７４に進み、ブロック１７２でのシステム構成の更新が首尾よく完了したかどうか判定する。或る実施の形態では、これは完了標識１６４の状態をチェックして決定することができる。更新に成功した場合は、ブロック１７６でＭＡＩを消去して、流れはブロック１４１に戻って正常動作を行う。ブロック１７２の更新ステップ中にシステム１００がクラッシュした場合などにより更新に成功しなかった場合は、ブロック１７８でＭＡＩ１６２を呼び戻し、流れは更新ステップ１７２に戻る。
【００２４】
ブロック１７０でＭＡＩ１６２を記憶するステップは、好ましくはバックアップの目的でＭＡＩ１６２のコピーを記憶することを含む。詳しく述べると、或る実施の形態では、ライトバック・キャッシュ・メモリ内にＭＡＩ１６２のミラーを作るとよい。上に説明したように、ブロック１７０でＭＡＩ１６２を記憶するステップは、種々の情報（例えば、或るデータ記憶単位の割振りへの利用可能性、割振りに利用可能なデータ記憶単位の総数、ゾーン化された記憶容量のマップされた配列内のゾーン当たりの利用可能なデータ記憶単位の総数など）も含むとよい。
【００２５】
認識されるように、本発明の種々の好ましい実施の形態は一般に、記憶割振りのシステム１００構成内の変化に関連する記憶割振り情報１６２と、システム構成を更新する前に記憶割振り情報１６２を保存することによりシステム１００構成を更新するための手段とを含む、データ記憶システム１００を考える。これは一般に、まず記憶割振り情報１６２を保存し、次にシステム構成を更新するという２パス・プロセスで定義される。
【００２６】
更新するための手段は、記憶割振り情報１６２がシステム１００構成内に含まれるかどうかを示す完了標識１６４（これに限定されない）などの標識手段により特徴づけられる。更新するための手段は、メタデータ１３０（これに限定されない）などのシステム１００構成の割振り可能性をマッピングする手段により特徴づけられる。更新するための手段は、或るデータ記憶単位１３２の割振り可能性（これに限定されない）などの、システム１００構成の割振り可能性を示すための手段により特徴づけられる。指示する手段は代替的に、割振りに利用可能なデータ記憶単位の総数と、ゾーン化された記憶配列内で割振りに利用可能なゾーン当たりのデータ記憶単位の数とを指示してよい。
【００２７】
図７は、グリッド・ベース型のデータ記憶装置の更に詳細な例を示す。記憶容量は複数のグリッド２００に編成され、各グリッド２００は複数の行２０２と複数の列２０４とを有する。グリッド２００内の列２０４は複数のデータ記憶装置１１０(図１)のそれぞれに対応し、グリッド２００の各行２０２は複数のストライプに対応する。各データ記憶装置１１０(図１)内に１つのストライプがある。ストライプは或る論理ブロック・アドレスで始まる予め定められた容量の量である。
【００２８】
引き続き図７と図３とを参照するが、グリッド２００をグループ化して、それぞれが予め定められた数のグリッド２００を有する複数のグリッド・グループ２０６を作ることができる。グリッド２００内の１つ以上のストライプは割当て可能な単位を含んでよい。ストライプは、ユーザ情報、ミラー・データ、パリティ・データを含むものとして示してよい。例えば、ミラー・データ・ストライプはユーザ情報ストライプのコピーである。パリティ・ストライプは２つ以上のユーザ情報ストライプから計算されたパリティ・データを含む。一組のユーザ情報ストライプと、関連するミラー・データ・ストライプまたはパリティ・データ・ストライプとで、データ記憶単位１３２を定義する。
【００２９】
例えば、ＲＡＩＤレベルなどの記憶フォーマットに従って、グリッド２００は異なる数のデータ記憶単位１３２を含んでよい。或るグリッド２００内の全てのデータ記憶単位１３２を同じ記憶フォーマットにし、グリッド２００内の全てのデータ記憶単位１３２を同じ論理装置に割り振ると、メタデータ１３０配列の処理が簡単になる。グリッド・グループ２０６を或る論理装置に割り当て、そのグリッド・グループ２０６内のグリッド２００を必要に応じてその論理装置に割り当ててよい。複数のグリッド２００の各グリッド２００に１つの番号を割り当ててよく、グリッド２００はグリッド番号（一連番号でよいが、これに限定されない）に従って論理装置に割り当ててよい。グリッド・グループ２０６内の最初のグリッド２００の番号をグリッド・グループ２０６の識別子としてよい。または他の番号または識別子をグリッド・グループに割り当ててよい。
【００３０】
図８は図７のグリッド・ベースの記憶装置１００のメタデータの図を示す。グリッド・グループ・メタデータはグリッド・グループ割振りマップ（ＧＧＡＭ）２１０とグリッド・グループ割振り要約表（ＧＧＡＳＴ）２１２とを含んでよい。ＧＧＡＭ２１０はシステム１００内のグリッド・グループ２０６毎に１ビットを有する記憶割振りマップであり、ＧＧＡＭ内のビットは、対応するグリッド・グループ２０６がフリーの場合は第１の値に設定され、対応するグリッド・グループ２０６がすでに割り振られている場合は第２の値に設定される。フリー・グリッド・グループ２０６の位置がどこかはＧＧＡＳＴ２１２により簡単に知ることができる。ＧＧＡＳＴ２１２は、グリッド・グループの全数のカウント２１４、フリー・グリッド・グループの数のカウント２１６、ＧＧＡＭのゾーン内のフリー・グリッド・グループ２１６の数のカウント２１８，２２０を含んでよい。例えば、ゾーン１フリー・グリッド・グループ２１８はＧＧＡＭ２１０の第１のゾーン２２２内のフリー・グリッド・グループの数を含む。同様にゾーン２フリー・グリッド・グループ２２０はＧＧＡＭ２１０の第２のゾーン２２６内のフリー・グリッド・グループの数を含む。ゾーン２２２，２２６内のフリー・グリッド・グループの数をチェックすることにより、ＧＧＡＭ２１０を解析するよりもフリー記憶容量の位置をより早く識別することができる。グリッド・グループ２０６に割振りまたは割振り解除を行うと、ＧＧＡＭ２１０およびＧＧＡＳＴ２１２は更新される。
【００３１】
図９は図７のグリッド・ベースのデータ記憶装置内の論理装置割振りのためのメタデータを示す。このメタデータは、論理装置毎の論理装置グリッド表（ＬＤＧＴ）２４２を有する論理装置割振りマップ（ＬＤＡＭ）２４０を含む。ＬＤＧＴ２４２はその論理装置に割り当てられたグリッド２００および／またはグリッド・グループ２０６のリストであって、例えばＲＡＩＤレベルなどの他の情報を含んでよい。論理装置番号または論理装置番号に所定の値を掛けた番号をＬＤＡＭ２４０へのオフセットとして用いることにより、或る論理装置のＬＤＡＭ２４０内のＬＤＧＴ２４２の位置にアクセスできるようにＬＤＡＭ２４０を編成することができる。言い換えると、論理装置番号を用いてＬＤＡＭ２４０およびＬＤＧＴ２４２にアクセスすることができる。他のアドレス指定方法も用いることができる。
【００３２】
好ましくは、割振り要求１４２(図６)は論理装置番号と、割振りまたは割振り解除を行うべき記憶容量の量とを指定する。現在のシステム構成は、ＧＧＡＭ２１０とＧＧＡＳＴ２１２とにアクセスするなどしてメタデータにアクセスすることにより決定される。割振り解除のためにまたは既存の論理装置のサイズを増やすために指定するなどのように、割振り要求１４２が既存の論理装置を指定する場合は、指定された論理装置番号のＬＤＡＭ２４０とＬＤＧＴ２４２とにアクセスしてよい。
【００３３】
割振り要求１４２を満たすために選択される記憶容量を決定するには、要求された容量のＧＧＡＳＴ２１２を評価し、各ゾーン内のフリーグリッド・グループのカウントを評価してどこに十分なフリー・グリッド・グループが存在するかを識別する。次にＧＧＡＭ２１２を用いて１つ以上のフリー・グリッド・グループを選択して、要求された記憶容量を与えることができる。また割振り要求１４２が既存の論理装置のサイズを増やすことを指定する場合は、ＧＧＡＭ２１２を用いて、既存のボリュームに割り振られた他の記憶に隣接または近接する記憶を選択してよい。
【００３４】
割振りが決まると、それぞれの変化をシステム１００構成に反映しなければならない。これを行うには、ＭＡＩ１６２(図５)を定義するときに割振りの変化により影響されるＧＧＡＭ２１０のその部分をコピーする。ＭＡＩ１６２内の標識ビットなどの標識は、対応するグリッド・グループが割り振られている場合は第１の値に設定し、対応するグリッド・グループの割振りが解除されている場合は第２の値に設定してよい。優れている点は、更新されたメタデータ値をＭＡＩ１６２(図５)に記憶することにより、システム構成を増分的にまたは減分的に変化させるのとは異なり、同じＭＡＩ１６２を用いて何度でも更新することができるし、または部分的に更新しておいて（システム１００クラッシュにより中断されることがあるので）、後で完全に更新することができる。
【００３５】
注意すべきであるが、ＭＡＩ１６２は結果のデータだけを含み、導出過程のデータ(formulaic data)を含まないので、システム構成の更新中にこれを用いて何らかのプロセスを再開することはない点が優れている。したがって、回復記録１６０はクラッシュ回復のための知能すなわち意思決定を必要としない。つまり、クラッシュ回復にはアドレス決定や書込みなどの機械的な計算だけを行えばよい。回復記録１６０の回復コードは、どの高レベルの動作が中断されたのかを知る必要がない。クラッシュ回復に関して、回復される動作が割振りか割振り解除かは問題ではなく、更新されたメタデータ値をそれぞれの位置に記憶するだけである。
【００３６】
この方法により、回復コードは簡単で信頼性の高いものになる。或る更新されたメタデータ値を書き込む実際のアドレスは、回復記録１６０内のその値の位置により間接的に、他の構造（すなわち、論理装置番号）を参照することにより間接的に、または回復記録１６０内の実際のアドレスにより直接的に、示すことができる。特に優れている点は、これにより回復記録１６０をシステム構成の等べき更新(idempotent updating)のコードに用いて、最も早く回復できることである。システム１００構成内の位置を識別するアドレスは、更新すべきマップ、表、またはその他のデータ構造毎にＭＡＩ１６２に書き込んでよい。または、ＭＡＩ１６２内の情報（論理装置番号やグリッド番号など）は、メタデータ・アドレスを生成するための情報を与える。また、ＭＡＩ１６２内の更新情報の位置を用いて、更新すべきデータ構造を示すことができる。例えば、フリー・グリッド・グループのカウントはＭＡＩ１６２内の予め定められた位置を占めてよい。
【００３７】
ＭＡＩ１６２内にデータを記憶するためのフォーマットの例を図１０に示す。同じ項目は同じ参照番号を有し、ダッシュは割振りの変化に関連するＭＡＩ１６２の値を示す。有効性標識２５０（チェックサムまたはその他の符号化法など）はＭＡＩ１６２の有効性をチェックするのに用いてよい。完了標識１６４はフラグまたはその他のデータ要素を含み、予め定めた値にこれを設定して、ＭＡＩ１６２内に含まれる更新がシステム１００構成にまだ適用されていないことを示してよい。完了応答情報２５２は、割振り要求演算コード、回答メッセージ、復帰コード、割振り要求を識別するその他のデータ要素を含んでよく、これをＭＡＩ１６２に書き込んでよい。実行可能コード２５４を生成すると、ＭＡＩ１６２はシステム１００構成を更新する実行可能な要素になる。例えば、リブートすなわち再起動に関係する自動実行（autoexec）ファイルは、実行可能なＭＡＩ１６２記録を呼び出すことができる。
【００３８】
図１０のＭＡＩ１６２記録は、更新されたＧＧＡＭ値２１０’、全フリー・グリッド・グループの更新されたカウント２１４’、ＧＧＡＭ２１０の少なくとも１つのゾーンのためのフリー・グリッド・グループの更新されたカウント２２２’，２２６’、論理装置番号のための新しいまたは更新されたＬＤＧＴ２４２’を含む。或る実施の形態では、更新されるＧＧＡＭ２１０の部分とフリー・グリッド・グループ・カウントが更新されるゾーンとを、ＬＤＧＴ２４２内に含まれるグリッド番号から決定することができる。または、ＭＡＩ１６２記録は、更新を書き込むべきＧＧＡＭ２１０内の開始位置を指定するＧＧＡＭアドレス２５６、ＧＧＡＳＴ２１２内の全フリー・グリッド・グループ・カウントのアドレスを指定するフリー・グリッド・グループ・カウント・アドレス２５８、１つのゾーンの１つのフリー・グリッド・グループ・カウントのＧＧＡＳＴ２１２内のアドレスを指定するＧＧＡＭゾーン・フリー・グリッド・グループ・カウント・アドレス２６０、１つの論理装置のＬＤＧＴ２４２のアドレスを指定するＬＤＡＭアドレス２６２を含む。
【００３９】
上の説明はグリッド・ベースの記憶構造を用いたが、本発明の実施の形態は特定の記憶構造に限定されるものではない。割振り可能な単位は論理装置に割り振られる記憶容量の量を表す。上の例は割振り可能な単位としてグリッド・グループを用いたが、本発明の実施の形態は割振り可能な単位の編成やサイズについて限定されるものではなく、また割振り可能な単位として例えばストライプを含んでよい。
【００４０】
上の例はデータ記憶装置の構成を述べた（また、ディスク・ドライブ、ウァーム・ドライブ、書込み可能なＣＤ  ＲＯＭ、ＤＶＤ、ＥＥＰＲＯＭ、半導体ＲＡＭ、ＥＥＰＲＯＭを含むがこれらに限定されない任意の媒体を用いる記憶装置に適用することができる）が、本発明の実施の形態は、構成要素や接続構成（ネットワーク・インターフェースやグラフィック・アダプタなど）を含むコンピュータ・システムの他のハードウエアおよびソフトウエアで構成可能な要素や、アプリケーション環境設定、レジスタ設定、パスワードなどのソフトウエア構成に適用することができる。例えば、本発明の方法をパスワードの設定に適用することにより、パスワードの変更中にクラッシュが発生してパスワードが破壊された場合に、回復記録を用いて、破壊されてないパスワードを書き込むことができる。このように、メタデータ更新要求はシステムの構成情報を更新する全ての要求を表す。
【００４１】
理解されるように、本発明の種々の実施の形態の種々の特徴と利点とを上の説明に述べ、また本発明の種々の実施の形態の構造と機能の詳細を述べたが、この詳細な説明は単なる例であって、詳細については、特に特許請求の範囲に示されている用語の広い一般的な意味で示す全範囲にわたる本発明の原理内の部分の構造と配列については、変更を行ってよい。例えば、特定の要素を特定のメタデータ構造に従って変更しても、本発明の精神と範囲から逸れることはない。
【図面の簡単な説明】
【００４２】
【図１】大容量記憶を用いるワイド・エリア・ネットワークとして特徴づけられるコンピュータ・ベースのシステムのトップ・レベルの機能ブロック図である。
【図２】図１の選択された１つのコントローラを示す機能的ブロック図である。
【図３】メタデータ構造を示す図である。
【図４】本発明の実施の形態に係る、システム構成情報の１パス更新を行うステップを示す流れ図である。
【図５】本発明の実施の形態に係る、システム構成情報を更新するための１パス・プロセスと２パス・プロセスを示す図である。
【図６】本発明の実施の形態に係る、システム構成情報の２パス更新を行うステップを示す流れ図である。
【図７】本発明の実施の形態で用いるのに適したメタデータ構造と記憶割振り情報記録とを示す図である。
【図８】本発明の実施の形態で用いるのに適したメタデータ構造と記憶割振り情報記録とを示す図である。
【図９】本発明の実施の形態で用いるのに適したメタデータ構造と記憶割振り情報記録とを示す図である。
【図１０】本発明の実施の形態で用いるのに適したメタデータ構造と記憶割振り情報記録とを示す図である。
【符号の説明】
【００４３】
１１０  データ記憶装置
１６０  回復記録
１６２  記憶割振り情報
１６４  完了標識
【図１】
2006114008.tif 000003
【図２】
2006114008.tif 000004
【図３】
2006114008.tif 000005
【図４】
2006114008.tif 000006
【図５】
2006114008.tif 000007
【図６】
2006114008.tif 000008
【図７】
2006114008.tif 000009
【図８】
2006114008.tif 000010
【図９】
2006114008.tif 000011
【図１０】
2006114008.tif 000012