JPH0644218B2 - ミラー化された記憶装置の管理方法および装置 - Google Patents

ミラー化された記憶装置の管理方法および装置

Info

Publication number
JPH0644218B2
JPH0644218B2 JP3268933A JP26893391A JPH0644218B2 JP H0644218 B2 JPH0644218 B2 JP H0644218B2 JP 3268933 A JP3268933 A JP 3268933A JP 26893391 A JP26893391 A JP 26893391A JP H0644218 B2 JPH0644218 B2 JP H0644218B2
Authority
JP
Japan
Prior art keywords
physical
status
request
status information
vgsa
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.)
Expired - Lifetime
Application number
JP3268933A
Other languages
English (en)
Other versions
JPH05134812A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05134812A publication Critical patent/JPH05134812A/ja
Publication of JPH0644218B2 publication Critical patent/JPH0644218B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】本特許文書の開示内容の一部は著作権保護
を受ける題材を含む。著作権者は、特許庁の特許ファイ
ルまたは記録に現れる特許の開示のいずれかによるファ
クシミリ再生にに対しては異議申立てはしないが、他の
如何なる形態であっても全ての著作権を留保するもので
ある。
【0002】
【産業上の利用分野】本発明は、記憶装置における物理
的格納スペースを管理するデータ処理システムにおいて
使用されるデータ処理方法に関し、特にかかる記憶装置
における冗長データを保持する改善された方法に関す
る。
【0003】
【従来の技術】従来技術は、システムにより使用される
データを格納するディスク記憶装置を使用する多くのデ
ータ処理システムを開示している。これらの装置は、マ
イクロプロセッサが作動するオペレーティング・システ
ム、システムにより実行される異なるアプリケーション
・プログラム、および種々のアプリケーション・プログ
ラムにより生成され操作される情報の如き色々な形式の
情報を格納する。
【0004】ディスク記憶装置は、一般に、セクターま
たはブロックに分割される複数の同心トラックを備えた
1つ以上の磁気または光ディスクを含む。一般にディス
クの各面は情報を記憶し、ディスク・ドライブは多重デ
ィスクおよび多重ヘッドで構成され、1つのアクセス機
構が複数のヘッドを幾つかの同心記録トラックの1つへ
位置決めすることを可能にする。大半の現在のディスク
・ドライブは、シリンダ番号(CC)、磁気ヘッド番号
(H)およびセクター番号(S)によって物理的記憶場
所を指定するアドレス指定規則を採用している。シリン
ダ番号はまた、多数のヘッドが用いられ、ヘッド数が多
重ディスク構成におけるディスク面に等しい場合のトラ
ック番号でもある。存在し得るどんな構成でもアドレス
指定が可能であるため、ディスク・ファイルの容量とは
独立的に「CCHS」アドレス指定フォーマットが使用
される。
【0005】バイトで測定されたディスク記憶装置の容
量は、使用される記録法、トラック密度、ディスク・サ
イズおよびディスク数に依存している。その結果、ディ
スク・ドライブは、色々な容量、データ速度およびアク
セス回数で製造されている。
【0006】多くのデータ処理システムは、一般に、デ
ータを記憶するため多数のディスク・ドライブを採用す
る。各装置は障害に対して独立の装置であるため、1つ
の大きな容量の装置を持つよりも、多数の小さな容量の
ドライブに記憶されるデータを分散することがしばしば
有利となる。このような構成は、重要なデータのコピー
を1次コピーが得られない場合にアクセス可能な他の装
置に格納することを可能にする。
【0007】参考のため引用される「Mirrorin
g of Data on a partition
basis(31514)」(ResearchDis
closure 第315号、1990年7月発行)
(データがパーティション(物理的に連続するバイト集
合)に基いてミラー処理即ち複写される)に記載される
ように、媒体の障害からの複写および復旧をサポートす
るため、ミラー操作として知られる概念を用いることが
できる。これは、複写される記憶域の定義における更に
細かな粒状性の故に、重要なデータのバックアップおよ
び復旧における更に大きな柔軟性を提供する。
【0008】システムにおいてディスクの記憶スペース
を割付けるタスクは、一般に、オペレーティング・シス
テムの責務である。IBM社のRiscシステム/60
00(IBM社の商標)エンジニアリング・ワークステ
ーションで使用されるIBM社のAIX(IBM社の商
標)の如きユニックス(UNIXシステム・ラボラトリ
社の商標)型のオペレーティング・システムは、ファイ
ルを構成するための高度に開発されたシステムを有す
る。ユニックスの取決め(parlance)において
は、「ファイル」とは、システムで使用される情報を格
納するため使用される基本的構造である。例えば、ファ
イルは、単にシステムにおける他のファイルのリストで
あるディレクトリ、またはデータ・ファイルである。各
ファイルは、一義的な識別子を持たねばならない。ユー
ザは、ファイルにネームを割当て、オペレーティング・
システムはアイノード(inode)番号を割当て、ネ
ームを番号に翻訳するためテーブルが保持される。ファ
イル・ネームは単なる一連の文字である。ファイルは、
同じディレクトリに関連するファイルを割当てることに
より構成することができ、このディレクトリはあるネー
ムを持つ別のファイルであることを特徴とし、このディ
レクトリに格納されたファイルのネームおよびアイノー
ド番号を単にリストする。
【0009】AIXオペレーティング・システムはま
た、ファイル・ディレクトリをファイル・ネームを与え
られるグループに構成するが、これらディレクトリもま
たファイルと見做されるためである。結果として得る構
成は、頂部にルート・ディレクトリを持ち、ルートから
下方に多重レベルの分岐構造を有する逆ツリー構造に似
た階層的ファイル・システムとして知られる。ディレク
トリおよび非ディレクトリの両タイプのファイルが各レ
ベルに格納することができる。1つのレベルのディレク
トリにネームによりリストされるファイルは、次に低い
レベルに置かれる。ファイルは、階層的ファイル・シス
テムにおいて、ルート・レベルからネームを付したファ
イルへトレースされる経路の記述が先行するそのネーム
を指定することによって識別される。経路の記述子は、
経路がたどるディレクトリ・ネームによる。現ディレク
トリがルート・ディレクトリであるならば、完全な経路
が表記される。現ディレクトリがある中間のディレクト
リならば、経路の記述は、更に短い経路を定義するため
短縮することができる。
【0010】オペレーティング・システムの種々のファ
イルは、それ自体階層的ファイル・システムに構成され
る。例えば、多数のサブディレクトリがルート・ディレ
クトリに帰属し、関連するファイルをリストする。サブ
ディレクトリは、AIXのカーネル・ファイルを格納す
る/、AIXユーティリティを格納する/bin、一時
的ファイルを格納する/tmp、およびユーザ・ファイ
ルを格納する/uの如きネームを有する。
【0011】先に述べたように、AIXファイルをディ
スク・ドライブ上の特定のアドレス指定可能な記憶ユニ
ットに割当てるタスクはオペレーティング・システムの
責務である。ファイルをディスク・ブロックに実際に割
当てる前に、各領域が同じ一般機能を持つファイルを記
憶することができるように、記憶サブシステムの使用可
能なディスク記憶スペースを多くの異なる領域に分割す
るための決定がなされる。これらの割当てられた領域
は、しばしば仮想ディスクあるいは論理ボリュームと呼
ばれる。用語「ミニディスク」はIBM社のRTシステ
ムにおいて用いられ、用語「A−ディスク」はIBM社
のVMシステムにおいて用いられる。用語「論理ボリュ
ーム」はIBM社のAIXシステムにおいて使用され
る。
【0012】同じ特性を持つファイルがディスク・ドラ
イブの1つの定義された領域に格納される時、管理およ
び記憶場所の観点から幾つかの利点が得られる。例え
ば、ファイルのあるグループはある期間全く変更されな
いが、他のグループは非常に迅速に変更され、それらは
異なる時点でバックアップされ得る。管理者にとって
は、これらのファイルをその機能に従って仮想ディスク
あるいは論理ボリュームへ割当てて、1つのグループの
全てのファイルを同一に管理できることも簡単である。
これらは、仮想ディスク/論理ボリュームの提供が記憶
サブシステムにおけるファイルの格納のオペレーティン
グ・システムによる管理および制御を簡単にする多くの
ものの僅かに2例である。
【0013】データ処理システムにおけるデータ保全性
を保護するための従来の方法は、論理ボリューム環境で
は有効でない。エンド・ユーザがデータの1つのボリュ
ームであると認識するものは、実際には多数の物理ボリ
ューム全体に分散されたデータであることもあり得る。
参考のため本文に引用されるGawlick等の米国特
許第4,507,751号は、従来のデータベースにお
いて使用される従来のログ先書込み法について記載して
いる。
【0014】データ保全性を仮想ディスク・システムに
拡張するための方法は、参考のため本文に引用された共
に本願と同じ譲受人に譲渡されたBaker等の米国特
許第4,498,145号、およびElliott等の
同第4,4945,474号、および参考のため本文に
引用されたSuzuki等の米国特許第4,930,1
28号に示されている。しかし、これらの方法は、エラ
ー・ログおよび復旧手順を維持する際にかなりのオーバ
ーヘッドをもたらす。これらのシステムは更に、データ
における障害またはエラーが単にデータの古いバージョ
ンに復元される結果となりこれにより更新されたデータ
を失うという制約がある。
【0015】他の方法はデータの冗長性を生じ、この場
合データの新旧のコピーが保持される。一旦データの新
しいコピーが妥当であると検証されると、これは古いコ
ピーとなり、以前に古いコピーであったものがこの時新
しいデータにより重ね書きされ得る。このため、古いコ
ピーと新しいコピーが新旧のデータを保有する役割にお
いて交替する。この方法の下では物理データ・ボリュー
ム数が増加するため、重大なオーバーヘッドがシステム
性能およびこの方法の保持における処理能力に影響を及
ぼす。
【0016】このため、システム性能に対する影響が最
小限である、エラー回復に対するデータ冗長性を有する
仮想ディスク/論理ボリューム・データ・システムを備
えたデータ処理システムを提供することが望ましい。
【0017】
【発明の概要】本発明は、データの多重コピーを保持す
るシステムにおいて生じる上記の性能上の問題に対する
ものである。新しいデータ処理方法によれば、複数の物
理的に連続するディスク・ブロック即ちセクターを含む
物理パーティションがスペースの割付けの基本的単位と
して確立されるが、このディスク・ブロックはディスク
・ファイルのアドレス指定可能性の基本的単位として保
持される。複数の物理パーティションが一緒にグループ
化され、物理ボリュームと呼ばれる。一緒にグループ化
される複数の物理ボリュームは、ボリューム・グループ
と呼ばれる。各物理パーティションに含まれる物理的ブ
ロックの数および各物理ボリュームにおける物理パーテ
ィションの数は、物理ボリュームがボリューム・グルー
プに組込まれる時固定される。換言すれば、1つの物理
ボリューム・グループにおける全ての物理パーティショ
ンは同じサイズである。異なるボリューム・グループ
は、異なるパーティション・サイズを持ち得る。
【0018】AIXファイル・システム、即ち関連する
ファイルのグループがシステムに組込まれる時、ファイ
ル・システムを格納するため必要なディスク上の最小数
の物理パーティションのみを含む論理ボリュームが生成
される。更に多くのスペースがファイル・システムによ
り必要とされるため、論理ボリューム・マネージャが別
の物理パーティションを論理ボリュームに割付ける。論
理ボリュームの個々の物理パーティションが異なるディ
スク・ドライブ上にあり得る。
【0019】ディスク・ファイルにおける実アドレスへ
の、システムにより与えられる論理アドレスの関連付け
を助けるため、装置アドレスおよび該装置上のブロック
番号に照らして各物理パーティションの初めの物理アド
レスを指定するパーティション・マップが論理ボリュー
ム・マネージャによって保持される。
【0020】システム内に格納されるデータをミラー化
することができ、この場合データの冗長コピーは別個の
物理パーティションに格納される。ミラー化操作は、論
理ボリュームと物理パーティション間に別の構成機構を
付加することにより行われる。論理ボリュームは、先に
述べた物理パーティションの代わりにそれと同じように
機能する論理パーティションからなっている。従って、
これらの論理パーティションは、1つ以上の物理パーテ
ィションからなっている。1つ以上の物理パーティショ
ンが1つの論理パーティションと関連する時、論理パー
ティションはミラー状態にあると言われる。論理パーテ
ィションがミラー化される時、論理パーティションから
の読出し要求はどの物理パーティションからでも読出す
ことができる。これらの多数の物理パーティションは、
データの冗長コピーが格納される場所である。このた
め、論理パーティションのデータはこれと関連するどん
な数の物理パーティションにおいてもミラー状態にする
ことができる。
【0021】論理ボリュームに対する書込み要求が受取
られると、論理パーティションの全ての物理的コピー即
ち物理パーティションの全てのコピーにおけるデータ
は、書込み要求が呼出し側即ち要求側へ戻すことができ
る前に書込まれねばならない。論理ボリュームにおける
データが更新あるいは書込みされる時は常に、システム
の誤動作あるいは物理ボリュームの使用不能により、特
定の物理的コピーが書込み障害を有することがあり得
る。この障害は、この特定の物理的コピーにおけるデー
タを不適性なものとし、同じデータの他のコピーとの同
期からの逸脱を生じる。このような状態が生じると、こ
の物理的コピーは陳腐化したとされ、以後の読出し要求
を満たすために使用することはできない。
【0022】陳腐化データに関する状態の情報は、情報
がシステム破壊/再ブートあるいは停電中でも維持され
るように永久記憶装置に格納されなければならない。こ
の陳腐化情報は、ボリューム・グループにおける全ての
アクティブな物理ボリュームに書込まれる状況領域(V
GSA)に記憶される。ミラー化操作においては、この
ボリューム・グループは、論理ボリュームの論理パーテ
ィションを構成するように物理パーティションが割付け
される物理ボリュームの集まりである。各物理ボリュー
ムは、ボリューム・グループにおける任意の論理ボリュ
ームに対して割付けられた任意の物理パーティションの
状態を決定するためどの物理ボリュームでも使用できる
ように、VGSAのコピーを保有する。1つのボリュー
ム・グループは多数の物理ボリュームを含み、任意の物
理パーティションの状況の変化は各物理ボリュームにお
けるVGSAの更新をもたらす結果となる。望ましい本
実施態様においては、ボリューム・グループ当たり32
という物理ボリュームの制限がある。
【0023】ある物理パーティションが障害を起こした
書込み要求により陳腐化すると、開始した要求は、呼出
し側へ戻されることを許容される前に、全てのVGSA
が新しい状況情報により更新されるのを待機しなければ
ならない。最初の要求がVGSAをアクティブに更新中
で、2番目の要求がVGSAの更新を要求するならば、
最初の要求が完了するまで待機しなければならず、シス
テム性能の低下を生じる。例えば、2番目の要求が最初
の要求の直後である最悪の場合の状況においては、最初
の要求はN×Q時間(Nは更新されるVGSAの数、Q
はVGSA当たり要する時間)を要し、2番目の要求は
同様にN×Q時間を要して、2番目の要求が要求側へ戻
るには2N×Qの遅れをもたらす結果となる。
【0024】1つの可能な解決法は、VGSAを並行し
て書込むことである。しかし、これは、書込み中の停電
の如きシステムの重大な障害により大半のVGSAを失
う可能性を許容し、全てのVGSAを損ない、従って全
ての物理パーティションに対する陳腐化状況情報を失う
おそれがある。従って、VGSAはこのようなあり得る
損失を防止するため逐次に書込まれねばならない。
【0025】本発明は、多数のVGSAを逐次更新する
時、以下本文において「ホイール」と呼ばれる概念を用
いることによりこのようなシステムの劣化の問題に対す
るものである。このホイールは、与えられた要求に対し
てボリューム・グループ中の全ての物理ボリュームにお
けるVGSAを維持し更新する。ホイールは、要求を受
入れ、この要求に関するVGSAのメモリー・バージョ
ンを修正し、VGSA書込みを開始し、全てのVGSA
がこの要求に対して更新された時最終的にこの要求をそ
の要求側に戻す。ホイールはまた、2NのVGSAの書
込みに要する時間程度の長さを要し得る他の方法とは対
照的に、要求が(N+1)のVGSA(再び、NはVG
SAおよびボリューム・グループにおける物理ボリュー
ムの数)の書込みに要する時間より長く保持されないこ
とを保証する。
【0026】従って、本発明の目的は、改善されたデー
タ記憶システムの提供にある。
【0027】本発明の別の目的は、データ記憶システム
におけるシステムの処理能力を改善することにある。
【0028】本発明の更に別の目的は、データ記憶シス
テムを管理するための記憶階層を提供することにある。
【0029】本発明の他の目的は、冗長なデータ記憶シ
ステムを管理するための記憶階層の提供にある。
【0030】本発明の更に目的は、エラーの回復を助け
るためデータの多くのコピーが格納されるコンピュータ
・システムにおけるシステム処理能力を改善することに
ある。
【0031】本発明の上記および他の目的、特質および
利点については、以下に列記する図面に関して以降の本
発明の最善の実施例から更によく理解されるであろう。
【0032】
【実施例】図1は、記憶スペースを管理するための本発
明の方法を実施する典型的なデータ処理システム10を
機能的に示している。図1に示されるように、システム
のハードウエア10は、マイクロプロセッサ12と、メ
モリー・マネージャ・ユニット13と、主システム・メ
モリー14と、I/Oチャンネル・コントローラ16
と、I/Oバス21とを含む。ディスク・ドライブ17
を含む多数の異なる機能I/Oユニットが、バス21と
接続された状態で示される。システムに格納される情報
は、図1においてブロック11により機能的に示され、
一般に多数のアプリケーション・プログラム22、本例
においてはAIXオペレーティング・システムとされる
オペレーティング・システム・カーネル24を含んでい
る。また、他のプログラムを開発するプロセスの間プロ
グラム開発スタッフにより使用されるツールであるアプ
リケーション開発プログラムのグループ23も示され
る。
【0033】図1により示される市販システムの一例
は、AIXオペレーティング・システムを採用するIB
M社のRiscシステム/6000エンジニアリング・
ワークステーションである。AIXオペレーティング・
システムは、Unixタイプのオペレーティング・シス
テムであり、システム・コールおよびファイル編成を含
むその特徴の多くをもちいる。
【0034】図2は、AIXオペレーティング・システ
ムのファイル編成構造を示している。格納される情報の
基本単位は、「ファイル」と呼ばれる。各ファイルは
「my file.001」のようなネームを有する。複
数のファイルはグループ化することができ、グループ内
の全てのファイル・ネームのリストが生成される。この
リストはディレクトリと呼ばれ、それ自体が「my
irect.010」の如きネームを有する1つのファ
イルである。図2に示される構成は、ファイル編成の根
(ルート)が頂部にあるため、逆ツリー構造と呼ばれ
る。この構成のルート・レベルは、ディレクトリ・ファ
イルおよび他のタイプのファイルを含む。図2に示され
るように、ルート・ディレクトリ・ファイルは、他のフ
ァイル00A、00B、00C、00Dおよび00Eの
ネームをリストする。ディレクトリ・ファイルに1つの
レベルでリストされるファイルは、次に低いレベルのフ
ァイルとして見える。ファイル・ネームは、ユーザが割
当てたネームと経路の定義を含む。経路の定義は、ルー
ト・ディレクトリで始まり、これは通常「スラッシュ記
号」(/)により指示され、その後にネームを付したフ
ァイルに達するようにトレースされねばならない経路に
あるファイル・ネームまたはディレクトリ・ネームが続
く。
【0035】図1のブロック11に示される各プログラ
ム領域は、図2に示される方法で構成される多数の個々
のファイルを含む。用語「ファイル・システム」は、1
つの共通の多レベル経路またはその各々の多レベル経路
の一部を共用するファイルのグループを識別するため使
用される。
【0036】本発明の方法は、図1のブロック11に示
される全てのファイル、および図2に示した階層的記憶
システムに示されるファイルに対して図1に示したディ
スク・ドライブ17における格納スペースを管理するよ
うに機能する。
【0037】実際のディスク・ドライブ17は、複数の
個々のディスク・ドライブを含む。このような装置の1
つは、図3に略図的に示される。図3に示される如き装
置は、モータ32により一定速度で回転される軸31上
に取付けられた複数の円形磁気ディスク30を含む。デ
ィスク30の面33および34の各々は、磁気材料で被
覆され、複数の同心円状の磁気トラックを有する。他の
実施態様は、データの光学的記憶を可能にする材料で被
覆されたディスク30を有する。
【0038】ディスク・ドライブ17は更に、各々がキ
ャリッジ38を移動させるため取付けられたアクチュエ
ータに対して送られるアドレス信号39に応答して共に
同心円状に記録するトラック位置の1つに対する、1つ
の面と関連する複数のトランスジューサ36を位置決め
する機構35を含む。各ディスクの各面上の1つの記録
トラックは、各トラック位置に存在する複数の記録トラ
ックの仮想的なシリンダに帰属する。
【0039】ディスク・ドライブに対する物理アドレス
は、「CCHS」で示される5バイトのアドレスの形態
をとり、ここでCCはシリンダ即ちトラック番号を表わ
し、Hは、1つの面当たり1つのヘッドがあるためディ
スク面とも対応する磁気ヘッド即ちトランスジューサに
割当てられた番号を表わし、Sはトラックの一部である
セクター番号即ちブロック番号を表わす。このブロック
は、装置においてアドレス指定され得るデータの最も小
さな単位として確立される。他の実施態様は、ディスク
構成に対する他の物理的ヘッドを支持することもでき、
依然として本発明の範囲および趣旨内にある。例えば、
各ディスク面と対応する単一のヘッド即ちトランスジュ
ーサの代わりに、所要のトラック位置に達するために必
要なシーク時間を最小限に抑えるため多数のヘッド即ち
トランスジューサを使用することができる。
【0040】プログラミングの観点から、ディスク・ド
ライブは時に物理ボリューム(PV)と呼ばれ、一連の
ディスク・ブロックとして見做される。1つの物理ボリ
ュームは、1つの装置アドレスを有し、各装置が個々の
アクセス機構を有して一義的なアドレスを必要とするた
め、2つの個々のディスク装置は含み得ない。
【0041】図4は、ほとんどが工業的に略々標準化さ
れているディスク・ドライブのアドレス指定アーキテク
チャに含まれる種々の記憶要素の物理的関係を示してい
る。
【0042】各バイト位置40は1バイトのデータを記
憶する。セクター即ちブロック41は、普通512であ
る指定された複数の順次の即ち連続するバイト位置を含
み、アドレス指定可能な要素の最も低いレベルである。
セクター即ちブロック41はトラック42に組合わさ
れ、このトラックは面33および34に組合わされ、面
33および34は図1のディスク・ドライブ即ちディス
ク記憶装置17に組合わされるディスク31、3
2、、、に組合わされる。もし1つ以上のディスク記憶
装置17が使用されるならば、2つ以上の装置の組合わ
せはディスク・ドライブの物理的ストリング即ちディス
ク・ファイルと呼ばれる。実際には、ディスクまたはデ
ィスク・トラック42は、ブロックを使用不能にするに
充分な多くの欠陥を持つ1つ以上のセクター41を含み
得る。
【0043】物理ボリュームのレイアウトが図5に示さ
れる。各物理ボリューム、例えば、各個のディスク・ド
ライブは、電源が最初に投入された時システムにより使
用される情報を格納するためのボリュームの領域を留保
する。このことは、現在は当産業における標準的規則で
あり、これにおいては、例えばトラック即ちシリンダ0
〜4が特別な情報のため保留される。
【0044】各物理ボリュームは、特別な用途のため少
なくとも2つのシリンダを保留する。診断ソフトウエア
またはオペレーティング・システムのカーネルのロード
のため使用することができるブート・コードは通常の論
理ボリュームに保持され、もはや特別な物理ボリューム
場所を必要としない。
【0045】最初に保持されるシリンダはシリンダ0で
あり、即ち任意の物理ボリュームにおける最初のシリン
ダである。各物理ボリュームは、システムに取付けられ
る直接アクセス記憶装置(DASD)についての色々な
形式の構成および作動情報を格納するため、シリンダ0
の最初の4つのトラックを使用する。この情報の幾つか
は、物理ボリュームの製造者によってシリンダ上に置か
れ、またそのあるものはオペレーティング・システムに
よってシリンダ0の最初の4トラック上に書込まれる。
【0046】物理ボリュームの第2の保留されるシリン
ダは、カストマー・エンジニアの専用であり、CEシリ
ンダと呼ばれる。これは、常に物理ボリュームにおける
最後のシリンダであり、診断目的のため使用される。C
Eシリンダは、ユーザのデータに使用することはできな
い。ブート・コード領域および非保留領域は、構成レコ
ードの内容のコンテキストで解釈されるIPLレコード
の内容により指示される。
【0047】1つのブロックからなるIPLレコード
は、システムがブート・コード(もしあれば)を読出し
て物理ボリュームを初期化することを許す情報を含む。
このIPLレコードは、4つの論理セクションへ分割す
ることができ、即ち、第1のセクションはIPLレコー
ドIDである。第2のセクションは、物理ボリュームに
ついてのフォーマット情報を含んでいる。第3のセクシ
ョンは、ブート・コード(もしあれば)が配置される場
所およびその長さについての情報を保有する。第4のセ
クションは、物理ボリュームの非保留領域が置かれる場
所およびその長さについての情報を保有する。
【0048】1つのトラックが、システムの初期化中メ
モリーに生成されるパワーオン・システム・テスト(P
OST)制御ブロックに対しても保留される。
【0049】1つの物理ボリュームの非保留領域の第1
の部分は、論理ボリューム・マネージャ領域を保有す
る。以下本文に開示される発明は、主としてこの論理ボ
リューム・マネージャ領域の管理と関連する。図6は、
論理ボリューム・マネージャ領域の分解図であり、ボリ
ューム・グループ状況領域およびボリューム・グループ
・データ領域を有する。これらの領域の二次コピーがま
た一次コピーの直後に続く。物理ボリュームにおけるス
ペースを節減するため、この論理ボリューム・マネージ
ャ領域のサイズは可変である。これは、ボリューム・グ
ループに許される物理ボリュームの大きさおよび論理ボ
リュームの数に依存する。
【0050】先に述べたように、各物理ボリュームは1
つのボリューム・グループ状況領域(VGSA)を含
む。状況領域は、物理ボリュームにおける各物理パーテ
ィションの状況を表示する。1つのボリューム・グルー
プ内の各物理ボリュームは、状況領域の同じコピーを保
有する。この状況領域は、同じ物理ボリューム上に複写
することができ、物理パーティション内には保有され
ず、図7に示されるフォーマットを有する。状況領域
は、その両方のコピーを抹消するよう単一の障害の可能
性を減少するようにDASD上に割付けされねばならな
い。
【0051】状況領域の詳細が図7に示される。状況領
域内の種々のフィールドは下記の如く解釈される。即ち
「初めのタイムスタンプ」および「終りのタイムスタン
プ」は、VGSAを検証し最新のVGSAの復元を制御
するためVGが変更される時使用される。各タイムスタ
ンプは8バイトの長さである。復元および検証プロセス
については後で論述する。
【0052】「パーティション状況フラッグ」は、VG
SAの残部を占める。このフラッグは、VGにおいて最
大32のPVに均等に分割される。このことは、各PV
が状況フラッグの127バイトを持つことを意味する。
これは、各VGSAにおいて4096の24バイトを不
使用のままに残す。これはまた、任意のPVにおけるP
Pの数を127×8即ち、1016パーティションに制
限する。これは、パーティションのサイズが因数ではな
く単なる量に過ぎないため、いずれかのディスクの部分
の使用を制限することはない。
【0053】先に述べたように、各物理ボリュームは1
つのボリューム・グループ・データ領域(VGDA)を
含む。このデータ領域は、論理および物理ボリュームと
物理パーティション間の相互関係を示す。データ領域
は、同じ物理ボリューム上に複写することができ、いず
れかの物理パーティション内には含まれず、図8に示さ
れるフォーマットを有する。このデータ領域は、その両
方のコピーを抹消する単一の障害の可能性を減少するよ
うにDASD上に割付けられねばならない。データ領域
の詳細は図8に示される。データ領域内の種々のフィー
ルドは、この明細書の最後に添付された表1に示された
Cコード中の定義部分に記載されている。VGDAは、
ボリューム・グループが生成される時にユーザが定義す
る可変サイズのオブジェクトである。
【0054】再び図5において、ユーザ領域は、論理ボ
リューム・マネージャ領域に続き、通常のユーザ・デー
タ領域を含む。
【0055】使用不能として診断されたユーザ領域ブロ
ックに対する代替ブロックを提供する図5の不良ブロッ
ク・プール領域もまた提供される。残りの記述において
は、ディスク上に不良ブロックがないものとし、もし存
在すれば、これらは周知の従来技術の手法のいずれかに
よって取扱われる。
【0056】図9は、ブロック番号が10進数である論
理ボリュームのレイアウトを示す。示された論理パーテ
ィションのサイズは64キロバイト(128論理ブロッ
ク)である。
【0057】望ましい実施態様においては、本発明の方
法は、論理ボリューム・マネージャと呼ばれる/dev
/lumと名付けられたファイルによって実現される。
【0058】論理ボリューム・マネージャ(LVM)
は、論理ボリューム、物理ボリュームおよびボリューム
・グループを生成し、修正し、照会する能力を提供す
る。LVMは、更にスペースを必要とする時、論理ボリ
ュームを指定された最大サイズまで動的に自動的に拡張
する。論理ボリュームは、同じボリューム・グループ内
の複数の物理ボリュームにわたり得、また高い信頼度、
可用度および性能に対してミラー化が可能である。論理
ボリューム、ボリューム・グループおよび物理ボリュー
ムは全て、任意のシステムにおける形式の他の装置から
一義的に識別するIDを有する。
【0059】LVMは、SYSCONFIGシステム・
コールの呼出しにより行われる多くの操作を含む。これ
らのSYSCONFIG呼出しは、ボリュームの状況情
報を持つ内部データ構造を生成して保持するためのプロ
セスを含む。これらのシステム・コールについては、I
BM社のマニュアル「RISCシステム/6000用A
IXバージョン3、呼出しおよびサブルーチン・レファ
レンス・マニュアル:基本オペレーティング・システ
ム」第2巻に更に詳細に記載されており、参考のため本
文に引用する。
【0060】論理ボリューム・マネージャ疑似デバイス
・ドライバ64は図10に示され、3つの概念的層から
なっている。戦略層65は、ファイル・システムI/O
要求68とインターフェースし、スケジューラ層66に
ついては以後に述べる。物理層67は、通常システムの
ディスク・デバイス・ドライバ69と物理的および論理
的にインターフェースする。この疑似デバイス・ドライ
バ64は、ディスク・デバイス・ドライバ69に出入り
するファイル・システムI/O要求68を横取りし、ミ
ラー操作、陳腐化パーティション処理、状況領域の管
理、およびミラー書込み一貫性の諸機能を行うが、これ
ら全ての操作および機能については次にのべる。
【0061】ミラー操作 ミラー操作は、媒体の障害からの回復のためデータの複
写をサポートするため使用される。通常、ユーザは不可
欠であってその喪失が重大事となる特定ファイルまたは
ファイル・システムを有する。完全にディスクのみに基
くミラー操作のサポートは、かなりの量のディスク・ス
ペースの無駄を生じて、必要以上に大きなオーバーヘッ
ドを結果として生じることがある。
【0062】1つのパーティションは、1つのディスク
上の固定サイズの物理的に隣接するバイトの集合であ
る。図11において、論理ボリューム70は、1つ以上
の論理パーティション71からなる動的に拡張可能な論
理ディスクである。各論理パーティションは、72、7
4および76の如き1つ以上の物理パーティションによ
りバックアップされている。論理パーティションは、パ
ーティションがミラー化されなければ1つのパーティシ
ョン(72)により、パーティションが単独でミラー化
されるならば2つのパーティション(72および74)
により、またパーティションが2重ミラー化されるなら
ば3つのパーティション(72、74および76)によ
ってバックアップされる。
【0063】ミラー操作は、各論理ボリューム毎に下記
の方法で選択することができる。即ち、(i)1つの論
理ボリュームにおける論理パーティションが全くミラー
化できないか、(ii)1つの論理ボリュームにおける全
ての論理パーティションがミラー化できるか、あるいは
(iii)1つの論理ボリュームにおける選択された論理
パーティションがミラー化できる。
【0064】陳腐化パーティション処理 ミラー操作が適正に機能するためには、ミラー化された
データの全ての物理パーティションのコピーが同じでな
い時を検出する方法が必要である。陳腐化した物理パー
ティション(PP)の検出および陳腐化物理パーティシ
ョン処理の開始は、図10においてドライバ64におけ
るスケジューラ層66で行われる。このスケジューラ層
は、2つのI/O要求ポリシー、即ち、初期要求および
事後要求を有する。初期要求ポリシーは、戦略層65か
らの要求を受取り処理し、図15に示される。事後要求
ポリシーは、物理層67とインターフェースし、図16
に示される。これらのポリシー内の機能を以下に説明す
る。
【0065】初期要求ポリシー:通常 唯一のコピーを無効化し、あるいは目標PPが減少しつ
つあること、あるいは目標PVが無いことの要求に対し
てEIOを戻す。もし要求が特別なVGSA書込み即
ち、b オプションにセットされたREQ VGSAで
あれば、フリー・プールからpbufを割付ける代わり
に、volgrp構造に埋込まれる特別なpbuf(s
pbuf)が使用される。
【0066】逐次 全てのアクティブなコピー(ミラー)を無効化する要求
に対してEIOを戻す。読出し要求が、一次、二次、三
次の順序で読出すパーティションを選択する。書込み要
求が、最初のアクティブ・コピーを選択し、書込みを開
始する。残りのコピーは、前のパーティションが書込ま
れた後、逐次に、一次、二次、三次の順に書込まれる。
「逐次」は、単に最初の物理的操作を開始する。読出し
エラーのため、以降の操作または多重書込みは、事後要
求ポリシーによって取扱われる。「逐次」は、陳腐化し
たかあるいは喪失の状況でPV上にあるパーティション
に対しては書込まない。
【0067】並行 全てのアクティブなコピー(ミラー)を無効化する要求
に対してEIOを戻す。読出し要求は、PVに対する最
後の待ち行列の要求に基くPVヘッド運動の最小量を要
求するアクティブなパーティションからの読出しを行
う。書込み要求は、全てのアクティブなパーティション
に対する書込みを同時に、即ち並行に生じる。「並行」
は、陳腐化したかあるいは喪失の状況でPV上にあるパ
ーティションに対しては書込みを行わない。
【0068】無効化 ミラー化されたポリシーに対する無効化マスクを形成す
る。このマスクは、どのパーティションを無効化、即ち
使用しないかのスケジューリング・ポリシーを通知す
る。以下は、ミラーが無効化されるべき時の説明であ
る。
【0069】一般:読出しおよび書込みの両要求に適応
する。
【0070】i)論理パーティションにおける存在しな
いパーティション即ち穴 ii)要求により明瞭に無効化される。(読出し要求のみ
に用いられる)コピーを明瞭に無効化する要求のb
プション・フィールドにおけるビット(AVOID
1、2、3)が存在する。
【0071】読出し:読出し要求のみに適応する。
【0072】i)喪失の状況でPV上におかれるパーテ
ィション ii)減少あるいは排除されつつある過程にあるパーティ
ション iii)陳腐化の状況を持つパーティション 書込み:書込み要求のみに適応する。
【0073】i)減少あるいは排除されつつある過程に
あるパーティション ii)陳腐化の状況を持ち、状況がアクティブから陳腐化
への過渡にないパーティション iii)パーティションの進行における再同期操作が存在
し、書込み要求が再同期操作のその時の位置の後にある
ならば、例えパーティションの状況が陳腐化であっても
書込みを許容する。
【0074】もし要求が再同期操作あるいはミラー書込
み一貫性回復操作であれば、同期マスクもまたセットさ
れる。この同期マスクは、その時どのパーティションが
陳腐化し、従って良好なデータが使用可能なら、どれを
書込む試みを行うかの再同期pp事後要求ポリシーを通
知する。
【0075】事後要求ポリシー:完了 一般に、スケジューラ層からの出口が再び戦略層へ戻
る。与えられたpbufからlbufへ状況を動かす責
務がある。もしpbufがVGSA書込み、bオプショ
ンにセットされたREQ VGSAと関連しなければ、
pbufは再びフリー・リストへ戻される。
【0076】ミラー操作 要求が読出しである時、逐次および並行の両ポリシーに
より使用される。これは、物理的操作の状況を調べる責
務を有する。1つの誤りが検出されると、これは別のア
クティブなミラーを選択する。これは、一次、二次、三
次の順序で最初に使用可能なミラーを選択する。良好な
読出しが完了し、他のミラーに読出しエラーがあった
時、「ミラー操作」は「修復」を介して修復を開始す
る。
【0077】逐次書込み 書込み要求と同時に逐次ポリシーにより使用される。こ
れは、各書込みの状況を調べて次のミラーに対する書込
み要求を開始する責務を有する。書込みは、一次、二
次、三次の順序で行われる。全てのアクティブなミラー
が書込まれると、失敗したどのミラーもWHEEL(以
下本文に述べる)により陳腐化とマークされる。
【0078】並行書込み 書込み要求と同時に並行ポリシーによって使用される。
初期の並行ポリシーは物理的要求を並行に全てのミラー
に対して発する。「並行書込み」は、完了した物理的要
求の各々の状況を調べる。「並行書込み」は、書込みエ
ラーが生じたか生じなかったかのみを記憶する。「並行
書込み」は、要求が完了するとpbufを再びフリーリ
ストに置き、この状況を未済の同類にまとめる。従っ
て、最後に完了する物理的要求が、それ自体を含む全て
の同類のパス/失敗の状況を保持する。もし書込みエラ
ーが検出されると、与えられた論理的要求に対する全て
の物理的要求が完了した後にのみ、影響を受けたミラー
が(WHEELによって)陳腐化とマークされる。
【0079】修復 1つの破壊したミラー、即ち一方のミラーが成功裏に読
出された後読出しエラーのある他方を修復するため使用
される。
【0080】再同期PP 論理パーティションLPの再同期化のため使用される。
逐次あるいは並行の如何を問わず初期ポリシーが、陳腐
化しないかあるいは喪失PVにあるアクティブなミラー
を選択して最初のものから読出す。「再同期PP」は、
読出しの状況を調べる。もしエラーが検出されると、
「再同期PP」は、一方が使用可能であれば他方のミラ
ーを選択する。一旦良好な読出しが行われると、再同期
PPはこのデータをLPの陳腐化した物理パーティショ
ンへ書込む。「再同期PP」は、破壊したミラー即ち初
期読出しを失敗したものを修復しようと試みない。「再
同期PP」はまた、ミラー書込み一貫性回復(MWC
R)操作を行うためにも使用される。MWCR操作の
間、書込みがパーティションにおいて失敗するならば、
「再同期PP」は陳腐化したパーティションをマークす
る。
【0081】SEQNEXT 既に使用されたもの、陳腐化したパーティションおよび
喪失したPVを勘案して次のアクティブなミラーを選択
するため使用される。
【0082】次に図11において、ボリューム・グルー
プで定義された各PP72は、パーティション構造で状
況情報を有する。各PPは、2つの内の1つの恒久的パ
ーティション状況になければならない。これは、全ての
I/Oに対して使用可能であるアクティブであるか、あ
るいは全てのI/Oに対して使用できない陳腐化であ
る。更に、減少および変更と呼ばれる2つの中間的な状
況がある。ボリューム・グループ84における各PPの
恒久的状況はまた、図12に示されるように、状況領域
(VGSA)82に保持される。VGSA82のコピー
は、ボリューム・グループ84の各物理ボリューム80
に駐在する。
【0083】これは、各パーティションの状況を、シス
テムの破壊の前後にわたり、またVGがオンラインでな
い時に保持させる。ドライバ64は、VGSAを維持し
て更新する責務を有する。陳腐化したPPの処理は、全
てのVGSAが更新されるまでは完了しない。VGSA
は、以下本文においてWHEELと呼ばれる、後で説明
される機構により更新され、表示要求が図13に示され
るVGSAWHEEL90へ進みあるいはこれから戻り
つつあることを参照する。VGSAWHEEL要求の目
的は、物理的要求(PR)またはpbuf構造である。
これは、全てのVGSAが更新された時、PRに対する
ポインタを受入れて、これらを同じ構造のpb she
dフィールドを介して戻す。
【0084】以下は、各PP状況の説明である。
【0085】アクティブ このパーティションは、全てのI/Oに対して使用可能
である。LPに対する読出し要求はこのPPから読出す
ことができる。LPに対する書込みはこのPPに対して
書込まなければならない。
【0086】陳腐化 このパーティションは、通常のI/Oに対して使用する
ことができない。このパーティションにおけるデータ
は、その仲間のデータと一致しない。このデータは、通
常のI/Oに対して用いられるように再同期されなけれ
ばならない。これは、LPから減じるかあるいは取除く
ことができる。
【0087】減少 パーティションは、構成ルーチンによりLPから減じる
かあるいは取除かれている。その時アクティブである読
出しあるいは書込みは、構成ルーチンがこの状況にパー
ティションを入れた後でLVを取除かねばならないた
め、完了することができる。PPがこの状態にある時読
出し要求が受取られるならば、初期要求ポリシーはこの
PPを無効にせねばならない。構成ルーチンはまた、あ
る条件下で陳腐化フラッグをオンにして、受取ることが
できる書込み要求を制御する。これらの構成ルーチンに
ついては、以下において更に記述する。
【0088】変更 パーティションは、状態をアクティブから陳腐化へ変更
し、この変更を生じた初期要求はVGSA WHEEL
から戻されなかった。変更中のPPを有するLPに対す
る読出し要求は、このPPを無効にせねばならない。こ
のLPに対する書込み要求は、WHEELが前記状態の
変更を生じた初期要求を戻すまでは戻すことができな
い。これは、PRを実際に形成することにより、次いで
これをVGSA WHEELへ渡すことによって行われ
る。WHEELは、同じパーティションに対して複写操
作を処理し、初期要求が戻されるときこれらを戻す。
【0089】論理的要求(LR)およびPPが陳腐化P
P処理に遭遇するとき、これらに適応する幾つかの一般
規則がある。第1に、一旦あるパーティションが陳腐化
すると、これは、システム破壊あるいはエラーにより偶
発的に再びアクティブ状態になることはできない。もし
VGが強制定数フラッグによりオンに強制されたなら
ば、これに対して1つの例外があり、選択されたVGS
Aは最後のPPの状態情報を含まない。ユーザがVGを
強制するならば、これらはその機会を得る。第2に、全
ての陳腐化PP処理が完了するまでは、LRは戻される
ことはない。このことは、全てのVGSAが更新された
ことを意味する。
【0090】ある論理パーティション(LP)の全ての
コピーが陳腐化とマークされるのは違法状態である。少
なくとも1つのアクティブなパーティションがなければ
ならない。この1つのアクティブなパーティションは、
無くなったPV上にあり得る。このLPに対する全ての
書込みは、PVが再びオンラインに戻されるまではでき
ない。無論、LP全体をLVから減じる(取除く)こと
ができる。
【0091】もしあるLPの全てのコピーが書込み失敗
となるならば、LRがエラーにより戻される前に、1つ
を除く全てのコピーが陳腐化としてマークされる。全て
の書込みが複数のPRにおける同じ相互オフセット時に
失敗したことの保証がないため、コピー間には何か不一
致が存在するとの仮定が行われなければならない。同じ
論理スペースの2つの異なる読出しが異なる結果を戻す
こと(即ち、異なるコピーを使用すること)を防止する
ため、多数のアクティブなパーティションがこのLPに
対して1つに減じられなければならない。これに対する
唯一の例外は、全てのコピーが失敗することの検出前に
PRが発されない時であり、これはもし論理ボリューム
(LV)が以下に述べる並行書込みポリシーを用いるな
らば生じることがある。
【0092】PPが陳腐化し得る3つの仕方がある。第
1は、妥当なデータが既にこのLPに対する少なくとも
1つのPPに存在する時、あるいはPPが減じられ(取
除かれ)つつある時、LPを水平に拡張するシステム管
理機構による。これは、構成法と呼ばれる。
【0093】パーティションは、その各LPに対する書
込みが発されてPPが置かれるPVが逸失状態となる時
に陳腐化となり得る。この種の陳腐化は、物理的要求が
PVに対して発される前に検出される。これは、ミッシ
ングPV法と呼ばれる。
【0094】最後に、PPに対する書込みがエラーによ
り戻される時、PPは陳腐化となり得る。これは、書込
みエラー法と呼ばれる。
【0095】各法に対する作動およびタイミングの更に
詳細な論議は以下に行う。
【0096】構成法 構成法は、スケジューラ層を通る読出しおよび書込み要
求の通常のフローから完全に外れている。PPの状態が
変化しつつある時、ドライバおよび構成ルーチンが相互
に同期状態にあることが重要である。これが如何にして
行われるかを包含する1組の手順が後で定義される。
【0097】ミッシングPV法 PRが逸失状態にあるPVに対する目標となることの検
出は、図16に示されるように、要求が発される前に行
われなければならない。全てのミラー化された書込みポ
リシー96、100、122および124は、より低い
レベル106に対するPRの発行前に目標PVの状況を
調べなければならない。もしこの状況が検出されるなら
ば、PRはVGSA WHEEL90へ送られる。PR
はコード化された適正な事後ポリシー、b flagフ
ィールドにリセットされたB DONEフラッグ、および
このPPを陳腐化状態であるとマークすることを要求す
るタイプ・フィールドを持たねばならない。図16の事
後要求ポリシーは、VGSA WHEELがPRを戻す
時どんな動作がこのLRに対して次にあるかを判定す
る。これに対する1つの例外は、初期要求の並行ポリシ
ーにある。もしこれが全てのアクティブなパーティショ
ンが逸失状態のPVにあることを検出するならば、これ
はエラーEIOを持つLRを戻し、どのパーティション
にも陳腐化をマークしない。これは、データが依然とし
てこの要求に対する全てのコピーに対して一貫する故に
前記動作を行うことができる。
【0098】書込みエラー法 ある要求がエラーを伴って物理層108から図16に示
される事後要求ポリシーへ戻される時、このポリシー
は、パーティションが陳腐化のマークを付されるかどう
かを判定しなければならない。ミラー陳腐化のマークを
判定する時に含まれる幾つかの要因がある。一部は、図
16に関して以下に述べる。
【0099】もし事後ポリシーが逐次96であり、これ
がこのLRに対して最後のPRであり、他の全ての前の
PRが失敗した(そのパーティションが陳腐化とマーク
された)ならば、このパーティションは陳腐化とマーク
することができない。もしこれが陳腐化とマークされる
ならば、このLPの全てのコピーは陳腐化とマークさ
れ、これは違法の状態である。
【0100】再同期操作102は、ミラーを陳腐化とマ
ークしないが、もし再同期操作の書込み部分が失敗する
ならば、失敗したパーティションはアクティブな状態に
は入れることができない。
【0101】ミラー書込み一貫性回復操作は、ミラーに
対する書込みが失敗すればミラーを陳腐化とマークす
る。
【0102】いずれにしても、パーティションが陳腐化
とマークされるならば、PRはVGSA WHEELへ
送られるようにセットアップされねばならない。このこ
とは、適正な事後ポリシーがコード化され、B DON
Eフラッグが(b flagフィールドで)リセットさ
れ、このPPが陳腐化とマークされることを要求するよ
うにタイプ・フィールドがセットされる結果を生じる。
PRがVGSA WHEELにより戻されると、事後ポ
リシーを受取ることは、このPRおよび親のLRに対し
てどの動作が次に行われるかを判定することになる。
【0103】物理層108およびVGSA WHEEL
90の双方からPRを受取る事後要求ポリシーは、PR
の起源を決定するためb flagフィールドにおける
DONEフラッグに質疑しなければならない。事後要
求ポリシーは物理層とVGSA WHEELの双方から
PRを取扱うため、要求に対する動作のスケジューリン
グ、およびLR要求が完了する時に関する全ての判定を
行う。
【0104】PPの状態が定義されると、これらの状態
との関係における要求の取扱いのための手順が定義され
なければならない。また、構成ルーチンおよびドライバ
がシステム管理要求に応答して状態を変更するために従
う手順が定義される。
【0105】ドライバ専用手順 1)状態はアクティブである 読出し要求はパーティションから読出すことができる。
【0106】初期要求ポリシーにおける書込み要求はパ
ーティションに対して書込まねばならない。
【0107】エラーにより戻される図16における事後
要求ポリシーにおける書込み要求は、次のように作用さ
れねばならない。即ち、 i)変更フラッグおよび陳腐化フラッグをオンにしなけ
ればならない。パーティションは状態を変更したばかり
である。
【0108】ii)PRが失敗したことを記憶する。
【0109】iii)PRをVGSA WHEEL90へ
渡す。
【0110】iv)PRがWHEEL90から戻される
時、変更フラッグはオフにされねばならない。パーティ
ションは再び状態を変更したばかりである。
【0111】2)状態は陳腐化状態である 初期要求ポリシーにおける読出し要求は、パーティショ
ンを無効化しなければならない。
【0112】初期要求ポリシーにおける書込み要求は、
パーティションを無効化することになる。
【0113】エラーにより戻される事後要求ポリシーに
おける書込み要求は、 i)PRが障害を生じたことを記憶しなければならな
い。変化状態フラッグがオンでないため、これがこの時
点で必要な全ての動作である。パーティションが既に陳
腐化とマークされているため、この要求をWHEEL9
0へ送る必要がない。この条件は、要求がディスク・デ
バイス・ドライバへ渡された時パーティションがアクテ
ィブ状態にあったが、別の要求が既に障害を生じて戻さ
れた時、VGSA WHEELを介してパーティション
を陳腐化としてマークし、WHEELから戻されている
故に生じ得る。従って、この要求は陳腐化したPP処理
に関して行うべきことがない。
【0114】3)アクティブ状態から陳腐化状態へ変化
する状態 図15の初期要求ポリシーにおける読出し要求は、パー
ティション全てを無効化せねばならない。
【0115】図15の初期要求ポリシーにおける書込み
要求は、あたかもパーティションが状態を変えなかった
如くデバイス・ドライバへ送られねばならない。図16
の事後要求ポリシーは、戻される時要求を取扱うことに
なる。
【0116】エラーにより戻される図16の事後要求ポ
リシーにおける書込み要求は、次のように処理されねば
ならない。即ち、 i)PRが障害を生じたことを記憶する。
【0117】ii)PRをVGSA WHEELに渡す。
【0118】iii)PRがWHEELから戻される時、
変化フラッグがオフにされていなければならない。この
要求はこの時進行できる。
【0119】注:読出し要求が失敗したことを見出す事
後要求ポリシーは、ただ別のアクティブ状態のパーティ
ションを選択して読出しを再試行する。読出しエラーは
通常データの不一致を生じないが、通例の如く1つの例
外がある。修復100と呼ばれる事後要求ポリシーがあ
る。このポリシーは、破壊したミラー即ち読出しエラー
を持ったものを修復しようと試みる。このポリシーは、
別のミラーからの成功した読出しが一旦完了すると、こ
れらの破壊したミラーを再び書込むことにより修復す
る。破壊したミラーの再書込みが失敗すると、このパー
ティションは、データがミラー間で不一致となり得るた
め、陳腐化としてマークされねばならない。
【0120】構成−ドライバ手順 1)陳腐化を生じたパーティション 既に有効データを含むLPが水平に拡張されると、結果
として生じるドライバ構造およびVGSAは、パーティ
ションが陳腐化していることを表示しなければならな
い。これは、構成操作が完了したと見做される前に、V
GSAが全て更新されねばならないことを意味する。更
に詳細な手順は、以降のVGSAの論議において見出す
ことができる。
【0121】i)構成ルーチンが、VGSA WHEE
Lを介して割付けられる各PPの恒久的状態をセットア
ップする。このステップでなされねばならないものの更
に詳細な内容についてはVGSAの論議を参照された
い。
【0122】ii)構成ルーチンが、ドライバ構造をセッ
トアップして、これらを存在するドライバ情報へリンク
する。もしパーティションがアクティブ状態であれば、
これは直ちに使用することができる。もし陳腐化状態な
らば、これは使用される前に再同期されねばならない。
このステップは、構成ルーチンがドライバ構造に関わる
間どの新しい要求もスケジュールされることを禁止され
るように、INTIODONEに使用不能化されねばな
らない。
【0123】2)アクティブ状態または陳腐化状態のパ
ーティションの減少 以下の手順が、アクティブ状態のパーティションおよび
陳腐化状態のパーティションの双方を減じるために働
く。これは非常に高いレベルである。更に詳細な手順
は、VGSAの論議において見出すことができる。
【0124】i)構成ルーチンが減じられ(排除され)
つつある各PP毎に状態フラッグをセットして、VGS
Aの更新を開始する。これは、構成/VGSA WHE
ELインターフェースを介して行われる。
【0125】注:減じられつつある全てのPPがすでに
陳腐化状態ならば、これは不必要である。
【0126】ii)各パーティションの状態がその時陳腐
化状態であり恒久的に記録されると、LVは捨てられね
ばならない。LVの廃棄は、その時のLV作業待ち行列
の全ての要求が完了するのを待つことを意味する。注:
減じられつつある全てのPPがすでに陳腐化状態である
ならば、これは不要となる。
【0127】iii)INTIODONEに使用不能化さ
れると、構成ルーチンはこの時排除されつつあるPPと
関連するドライバ構造を取除くことができる。
【0128】3)陳腐化状態のPPの再同期化 これまでは、論議はパーティションの陳腐化のマーキン
グに集中した。この問題には別の面がある。データが全
てのコピー間でどのように一致させられて使用可能とな
るのか、また再びアクティブ状態になるのか? この操
作は、再同期操作と呼ばれる。LP全体の再同期化は、
LVの文字デバイス・ノードを介して、LPの初めで開
始する多くの再同期化要求を生じ逐次その終りに進むア
プリケーション・プロセスによって行われる。これは、
sys/lvdd.h.で定義される如きRESYNC
OPと等価のextパラメータをもつreadxシス
テム・コールを生じることにより行われなければならな
い。各要求は、論理的トラック・グループ(LTG)境
界上で始動し、1つのLTGの長さを持たねばならな
い。1つのLTGは128Kバイトの長さである。従っ
て、1メガバイトLPを再同期させるには、一連の8つ
のこれらの要求がなされなければならない。8番目の再
同期操作の後、再同期または通常の書込みのいずれの操
作によってもパーティションに書込みエラーが存在しな
ければ、VGSAが更新されて新たに同期されたパーテ
ィションがこの時新しくなりアクティブ状態であること
を表示する。
【0129】各再同期要求は、幾つかの物理的操作から
なっている。最初の操作は読出しであり、これは図15
の初期要求ポリシーによって開始される。図16の再同
期PPの事後要求ポリシーは、読出しがエラーなしに行
われたことを検証する。もしエラーが戻されると、別の
アクティブ状態のミラーが読出しのため選択される。他
のアクティブ状態のミラーがなければ、再同期要求がエ
ラーと共に戻され、LPの再同期が打切られる。これ
は、最初から再起動されなければならない。
【0130】再同期要求の次の操作は、ちょうど読出さ
れたばかりのデータを、逐次の書込みタイプ・ポリシー
を用いて陳腐化パーティションへ書込むことである。も
しエラーが戻されると、パーティションの状況が更新さ
れてパーティションが同期エラーを持つことを表示す
る。
【0131】全ての陳腐化パーティションが同期エラー
の状況を有するならば、LPの再同期は打切られる。も
し1つのPPの全てのLTGが成功裏に再同期されるな
らば、このPPは状況を陳腐化状態からアクティブ状態
へ変更することになる。
【0132】下記は、LPの再同期に関わる動作および
判定のリストである。
【0133】i)LPの同期は、パーティションの最初
のLTGにおいて再同期要求を発して開始され、逐次に
パーティションにおける最後のLTGまで進行する。L
Pは陳腐化したミラーを持つか、あるいはこの初期要求
はエラーにより戻される。各PPの同期エラー状態はク
リアされ、ドライバにより保持される内部の再同期位置
(LTG番号)が0にセットされることになる。この内
部再同期位置は、同期トラックと呼ばれる。OxFFF
Fでない同期トラック値は、このLPが再同期されつつ
あること、およびどのトラックがその時操作中である
か、あるいは最後に操作されたかを表示する。同期トラ
ック値を識別するフラッグがPP状態フィールドに存在
し、これはResync−In−Process(RI
P)フラッグと呼ばれる。RIPフラッグがオンである
と、同期トラック値はその時操作中であるLTGを表わ
す。もしRIPフラッグがリセットされると、同期トラ
ック値は操作されるべき次のLTGを表わす。これは、
どのようにドライバが再同期プロセスの位置を記憶して
いるか、また通常の読出し/書込み操作をLPの再同期
と同時に進行させるかを示す。
【0134】ii)パーティションが陳腐化しているなら
ばLTGが再同期され、同期エラー・フラッグがリセッ
トされる。
【0135】iii)再同期されているLTGにおける書
込みエラーは、このパーティションに同期エラーの状況
を生じさせることになる。同期トラックの後に生じたL
Pにおける書込みは、例えこれらが陳腐化していても、
全てのPPに対して書込みを行う。この操作の例外は、
パーティションの同期エラー・フラッグがオンである場
合である。その結果、書込みエラーは、コピーを再び不
一致にさせる。従って、これらの書込みエラーは、誤り
がその後このパーティションに生じたことを再同期プロ
セスに知らせるため、同期エラー・フラッグをオンにし
なければならない。
【0136】iv)その時再同期されつつあるLTGの少
なくとも1つがエラーなく完了するならば、個々の再同
期要求は成功したと見做される。
【0137】v)LPにおける全ての陳腐化状態のパー
ティションが同期エラーの状況を生じるならば、LPの
再同期は打切られる。これは、LPの初めから再始動し
なければならない。
【0138】VGのvaryon時間におけるVGSA
の回復は、VGSAおよびVGSAWHEELの論議に
より処理される。
【0139】ボリューム・グループの状況領域(VGS
A) ボリューム・グループ(VG)における各物理パーティ
ション(PP)は2つの恒久的状態、即ちアクティブ状
態または陳腐化状態を有する。これらの状態は、状況領
域(VGSA)に保持される。VGの各PVには、図1
2に示される如くVGSAのコピーがある。幾つかのP
Vは1つ以上のコピーを持ち得る。全てのPVにおける
VGSAコピーは、メモリー・バージョンと共に、図1
0においてスケジューラ層66で作動するドライバ64
のソフトウエアにより維持される。このソフトウエア
は、図15および図16のスケジューリング・ポリシー
からの要求を受入れ、あるいは構成ルーチンを受入れて
パーティションの陳腐化またはアクティブ状態をマーク
する。このソフトウエアは、これがVGのアクティブ状
態のVGSAを制御して更新る方法の故にWHEELと
呼ばれる。WHEELについての以降の論議は図13を
参照されたい。
【0140】WHEELの基本的目的は、VGにおける
全てのVGSAが与えられたWHEEL要求に対する新
しい状態情報で更新されることを保証することである。
全てのVGSAに対して同時に書込み要求を発すること
は容易であり、かつ比較的早い。しかし、これはまた、
この方法によりVGにおける全てのVGSAの喪失の原
因となる重大エラーを生じることがあり得るため、非常
に危険でもある。これは、WHEELの一般規則の最初
の規則をもたらす。
【0141】一般規則1)一時に唯1つのVGSA書込
みが実行可能である。
【0142】図13においては、WHEELにより要求
が受取られると、VGSAのメモリー・バージョンが要
求により更新される。次いで、VGSA 1が書込まれ
る。この書込みが完了すると、VGSA 2に対する書
込みが出される。この状態は、VGSA 8が書込まれ
るまで続行する。そこで、WHEELはこれが開始した
VGSA 1に戻る。この時、図16に示されるよう
に、要求はドライバの通常フローへ戻され、その次のス
テップに続くことができるようにする。第2の一般規則
は、一般規則2)VGにおける全てのVGSAが要求の
操作により更新されるまでは戻すことができない。
【0143】これが何故WHEELと呼ばれるかは明ら
かであろう。WHEEL上の要求が暫時滞留することも
同様に明らかであろう。上記の事例においては、要求が
8つの完全なディスク操作を待たねばならなかった。も
しVGが32のPVを含むならば、要求は32のディス
ク操作を待たねばならないことになる。次に、要求がV
GSA 1に対する書込みを完了するのを待つ間に別の
要求が生じてVGSAを更新することを欲したものとし
よう。もし第2の要求が最初の要求がWHEELから離
れるのを待たねばならなかったならば、これは継続し得
る前に16回のディスク操作を待たねばならないことに
なる。8回の操作は最初の要求に対するものであり、8
回はそれ自体に対するものである。この待機時間は、V
Gが多数のPVを含むならば非常に大きくなり得る。幸
運にも、WHEELはこの待機を短縮する幾つかの最適
化を有する。
【0144】WHEELは、これが受取る要求を管理し
て、望むならば要求がVGにおけるVGSAの合計数プ
ラス1を書込むのに要する時間より長く待機する、即ち
WHEEL上に滞留する必要がないようにする。これ
は、要求がVGSA書込みの間にWHEELに達するこ
とを可能にすることにより行われ。その時、WHEEL
が要求がWHEELに達した場所へ戻るまで、要求はW
HEEL上に滞留する。一旦WHEELが始動すると、
これは回転していると言われる。一旦回転すると、どれ
だけ多くの要求がWHEELをオン/オフしたか、ある
いはどれだけ多くの回転を要したかの如何に拘わらず、
VGの全てのVGSAが同じ情報を保持するまで、WH
EELは次のVGSAを書込み続けることになる。これ
は、時にフリーホイーリングと呼ばれる。
【0145】上記の2つの要求の事情に関して、下記の
ことが生起する。要求#1は、図15および図16に示
されるように、初期要求ポリシーまたは事後要求ポリシ
ーから生じ、VGSA 1に対して書込むことによりW
HEELの回転を開始させる。要求#2が生じて、VG
SA 1への書込みが完了するのを待つ。この書込みが
完了すると、要求#2がVGSAのメモリー・バージョ
ンを更新する。これが行われると、VGSA 2が書込
まれる。これが完了すると、VGSA 3が書込まれ
る。これは、VGSA 1が次に書込まれるものとなる
まで継続する。この時、全てのVGSAが要求#1によ
り要求される状況の変化を反映するため、要求#1はド
ライバ64の通常のフローへ戻される。この時、このV
GSAがVGSA 8のイメージと一致しないため、V
GSA 1への書込みが開始される。この書込みが完了
すると、要求#2がドライバの通常のフローへ戻され
る。これは、WHEELが要求#2がオンとなった場所
へ戻るよう回転した故に行われる。次に、次に書込まれ
るべきVGSA 2および最後に書込まれたVGSA1
が同じものであるため、WHEELが停止する。次の要
求が、VGSA 2においてWHEELを始動する。
【0146】1つの他の主なWHEELの最適化が存在
する。これは、ピギーバックと呼ばれる。ディスク・ド
ライブの性格が与えられ、幾つかのディスク要求が同じ
パーティションにおいて失敗することが非常によく生じ
る。このことは、その全てが前記パーティションの状態
を変えようと欲する結果となる。これらの同様な失敗の
間の時間長さに応じて、これらの同様な状態変更が種々
の位置においてWHEELに入ることを要求することが
あり得る。これが、ピギーバックが生じる場合である。
要求がWHEELに置かれる前に、同様な要求が既にW
HEEL上にあるかどうかを知るため検査が行われる。
もし要求が見出されれば、新しい要求が既にそこにある
ものに対してピギーバック状に相乗りされる。最初の要
求がWHEELからオフする時間となると、相乗りされ
た要求もまたオフとなる。このため、同様な状態変更が
要求を早くオフに変えて、WHEELが不必要な書込み
を行わないようにする。
【0147】このことは、第2の一般規則が全てのVG
SAが戻される前に要求の情報で更新されなければなら
ないことを記載するため、第2の一般規則に矛盾しな
い。全てのピギーバック状況の要求が同じことを行う故
に、ピギーバック操作はこの要求を満たす。従って、オ
ンとなった場所の如何に拘わらず、これらは全て同じ場
所においてWHEELからオフとなることができる。し
かし、初期要求ポリシーおよび事後要求ポリシーは、状
態を変更しつつあるPPを知っていなければならない。
さもなければ、これらのポリシーは、実際には実行中の
以前の要求がWHEEL上にある時パーティションが既
に陳腐化としてマークされたと考えて、要求を早期に戻
すこともある。この第2の要求は、その時WHEEL上
にあるものに相乗りされねばならない。このような別の
中間的状態は比較的長くなり得る。PPは、要求がWH
EELからオフとなる時間まで、状態を変化させる決定
が行われた時から変化状態にあると考えられる。この
間、状態を変化しつつあるパーティションの目標とされ
るI/O要求は、陳腐化したPP処理の論議において述
べた規則に従わねばならない。
【0148】如何にしてWHEELが1つのパーティシ
ョンの状態を変化させつつある個々のPRを取扱うかを
調べた。しかし、パーティションの状態の方法論につい
ては別の主要な特質が存在する。これは、構成ルーチン
である。これらのルーチンは、LVが開かれて使用中に
拡張されるか縮減される時、多くのパーティションの状
態をセットしようと欲する。これを行うためには、構成
ルーチンが下記の動作を行うことを許容する使用可能な
機構および定義された手順がなければならない。即ち、 i)回転中ならばWHEELを停止させ、さもなけれ
ば、始動しないようにする。
【0149】ii)多数のパーティションの状態をセット
する。
【0150】iii)WHEELを再び始動して、全ての
VGSAが更新されるのを待機する。
【0151】これは全て、例えシステムの破壊の後で
も、作動の継続中LVの保全性を維持する方法で行われ
なければならない。
【0152】次に、下記のWHEEL手順について図1
7を参照する。
【0153】ボリューム・グループの状況領域START パーティションの状態を変化させるため呼出される。こ
れは、2つの異なる機構によって生起され得る。第1
は、ミラーの論理パーティションLPにおける書込み失
敗。第2に、現在のLPが拡張され、広げられ、有効デ
ータがオリジナルに存在する。この場合、新たに生成さ
れたパーティションがオリジナルとの関係において陳腐
化状態となる。STARTは常に、新しい要求を保持リ
ストSA HLD LSTに置く。次いで、WHEELが
回転中でなければ、これを始動する。
【0154】SA CONT このブロックは、幾つかの責務を有する。第1に、構成
動作が未済であるかどうかを知るため検査する。一旦始
動されると、VGSA WHEELがフリーホイール動
作中であるため、構成動作は、VGSAのメモリー内バ
ージョンに対する変更が可能になる前にWHEELが停
止点に達するまで待機しなければならない。物理ボリュ
ームに対する書込みの間の修正のための停止点が存在す
る。WHEELは、構成プロセスによりVGSAのメモ
リー・バージョンに対する更新が完了するまで再び始動
されない。その後、構成プロセスはWHEELを再始動
する。第2の主な機能は、保持リストSA HLD
STに対する要求を取除き、同様な操作に対して、アク
ティブ状態のリストSA ACT LSTを走査するこ
とである。もし同様な操作が見出されると、この要求を
前の要求と関連させる。これにより、既にアクティブ状
態のリストにある要求と同じ時点で新しい要求をWHE
ELからオフにさせる。もし同様な操作がアクティブ・
リストに見出されなければ、この要求によりVGSAの
メモリー・バージョンを更新する。もし(以下に述べ
る)定数の喪失が検出されれば、WHEEL上の全ての
要求をフラッシュする。
【0155】WHL ADV WHEELを次のVGSAへ進める。
【0156】REQ STOP アクティブ・リストSA ACT LSTの初めから開
始し、このリストにちょうどなかった各要求を調べる。
もしこれが要求がWHEELに置かれたWHEEL位置
であれば、これをアクティブ・リストから取除いてこれ
をその通常の経路へ戻す。アクティブ・リストが完了し
た要求に対して走査された後、VGSAのメモリー・バ
ージョンがPV上の目標VGSAへ書込まれたかどうか
を調べるため検査する。もしメモリーVGSAシーケン
ス番号がPV VGSAシーケンス番号と一致しなけれ
ば、VGSAに対する書込みが開始される。
【0157】注:一旦WHEELが始動されると、メモ
リーVGSAシーケンス番号が次に書込まれるPV V
GSAと一致するまでVGSAの書込みを続行する。ま
た、もし次に書込まれるVGSAが見失ったPV上にあ
るならば、WHEELが次のVGSAへ進められ、アク
ティブ・リストが再び走査される。アクティブ状態のV
GSAが最後に見出されると、このVGSAのWHEE
L位置がSA CONTによりアクティブ・リストに置
かれた新しい要求に入れられる。これは、WHEELが
この場所付近に戻る時新しい要求がオフにされる場所を
示す。従って、アクティブでないVGSAにおいてはW
HEELに要求が置かれることはない。しかし、要求は
WHEEL上にある間アクティブでなくなった位置でオ
フとなることができる。
【0158】WRITE SA 要求バッファを構成し、VGSAをPVに書込むため通
常ポリシーを呼出す(図15)。
【0159】SA IODONE WRITE SAにより生成される要求に対する戻る
点。もし書込みが失敗すると、PVが見失われた旨宣言
され、定数検査が行われる。もし書込み失敗により定数
が失われるならば、SA IODONEのみがフラッグ
をセットする。WHEELを停止しアクティブ・リスト
をフラッシュする実際の作業は、SA CONTにおい
て行われる。
【0160】LOST QUORUM ボリューム・グループ(VG)がVGSAの定数を失っ
ている。VGを介してフラッグをセットしてI/Oを遮
断する。WHEEL上の全ての要求をエラーとして戻
す。
【0161】先に述べた望ましい実施態様の詳細におい
て、本発明の趣旨および頭書の特許請求の範囲から逸脱
することなく種々の変更を行うことができる。
【0162】以下は、種々の構成管理機能がWHEEL
と共働する時、VGを維持するため使用されるこれら機
能に対する高レベルの手順である。
【0163】EXTENDING A LV LVの拡張の際、例えLPにミラーが存在しない場合で
も、恒久的な状態はVGSAにおいて初期化されなけれ
ばならない。LVを拡張する時、割付けされるパーティ
ションがその時使用中でないこと、またVGSAがこの
パーティションがその時割付けされることを表示するた
め更新されなかったという一般的前提がある。更にま
た、事故の復旧が必要とされる場合LVが保全状態を維
持するように、VGDAの書込みが全操作の略々終りで
あることが前提とされる。この手順に対して行うことが
できる幾つかの最適化があり、これらについて記述す
る。
【0164】i)WHEELの制御を取得する。これ
は、WHEELが回転中ならばこれを停止することを意
味する。もしWHEELが回転中でなければ、これが始
動することを禁止する。
【0165】ii)VGSAのメモリー・バージョンを修
正する。
【0166】iii)WHEELの再始動または始動。完
全な1回転を完了するまで待機する。
【0167】注:WHEELが回転中でなく、VGSA
のメモリー・バージョンに状態の変化がなければ、WH
EELを再始動してこれが完全な1回転を完了するのを
待機する必要はない。
【0168】注:WHEELが回転中であり、VGSA
のメモリー・バージョンに状態の変更がなければ、WH
EELを再始動するが、これが1回転を完了するのを待
機する必要はない。
【0169】iv)INTIODONE禁止。新しいパー
ティション構造をドライバの階層にリンクする。割込み
レベルを再び使用可能にする。この時、読出し/書込み
操作はPPがアクティブ状態にあればこれに進むことが
できる。
【0170】注:新しいパーティション構造がVGSA
においてちょうど初期化されたものと同じ恒久的状態を
含むものとする。
【0171】REDUCING A LV アクティブ状態のLVを減じることは注意して行わなけ
ればならない。対応されねばならない保全性問題に加え
て、取除かれるPPにおいてその時アクティブ状態のI
/Oが存在する可能性がある。
【0172】i)WHEELの制御を取得する。このこ
とは、もしWHEELが回転中ならばこれを停止するこ
とを意味する。もし回転中でなければ、WHEELが始
動することを禁止する。
【0173】ii)INTIODONEの禁止。減少され
る全てのLPに対して、LPの減少が進行し得る前に、
少なくとも1つのアクティブ状態のPPがLPに残され
ることを保証するため検査を行わなければならない。こ
れに対する唯一の例外は、もし全てのPPがLPから減
少されつつあり、これによりこれを排除する場合であ
る。もしアクティブでないPPにLPが残されるなら
ば、LV減少操作全体はできないはずである。減少され
る各PPがに対して、その各パーティション構造におけ
る減少フラッグをオンにする。また、これは大掛かりで
あり、また事故復旧面における保全性とも関係があるた
め、もしPPが多数のコピーを持つLPの一部であり、
このLPの全てのPPが除去されるのではなく、除去さ
れるPPが陳腐化状態になければ、変更および陳腐化フ
ラッグもまたオンにされねばならない。もし陳腐化フラ
ッグがオンにされると、VGSAのメモリー・バージョ
ンもまた更新されねばならない。従って、割込みレベル
を再び可能状態にする。
【0174】これはやや複雑であるが、VGDAが破壊
前に更新されなければ、システム破壊後にPPが再びア
クティブ状態にならないこと、また破壊前に書込みがL
Pにおいて生じたことを保証するような方法で行わなけ
ればならない。もしLPの全てのPPが除去されるなら
ば、減少フラッグが新しい要求をLP外に保つようにす
る。システムが破壊しても、回復と同時にデータは依然
として全てのコピー間で一致することになる。
【0175】iii)もしVGSAのメモリー・バージョ
ンが修正されたならば、WHEELを始動/再始動し
て、これが1回転を完了するのを待つ。VGSAのメモ
リー・バージョンが修正されなければ、WHEELにお
ける禁止を解除し、これが始めに回転中であったならば
再始動する。
【0176】iv)LVを廃棄する。これは、その時LV
作業待ち行列にある全ての要求が完了するのを待つこと
を意味する。
【0177】v)INTIODONEの禁止。この時、
パーティション構造を除去されるPPに対するドライバ
階層から除去する。割込みレベルを再び可能状態にす
る。
【0178】vi)VGDAは書込み可能である。
【0179】注:VGDAが書込みできず、減少操作が
失敗ならば、PPはその時の減少状態のままあるいはド
ライバ階層から除去され、従って、I/Oに使用できな
い。
【0180】ADDING A PV TO AN E
XISTING VG PVがVGに加えられると、PV上のVGSAはWHE
ELに加えられねばならない。加えられるPVがアクテ
ィブ状態のPPを持ち得ないため、VGSAの活動化は
容易となる。唯一の実際問題は事故復旧であり、これさ
えも簡素化される。
【0181】i)構成ルーチンは、活動化されるディス
クVGSAを初期化しなければならない。構成ルーチン
は、2進数0の内容を持つVGSAを定めることがで
き、あるいはIOCTLを介してVGSAのメモリー・
バージョンのその時のイメージを得ることができる2つ
の選択肢を有する。唯一の重大な問題は、PVの付加が
完了する前にシステムが破壊するならば、この新しいV
GSAがvaryonvgにより使用されないことを保
証するためタイムスタンプがゼロでなければならないこ
とである。
【0182】ii)WHEELの制御取得。これは、もし
WHEELが回転中ならばこれを停止することを意味す
る。もし回転中でなければ、これが始動することを禁止
する。
【0183】iii)INTIODONEの禁止。物理ボ
リューム構造をボリューム・グループ構造に挿入する。
【0184】WHEELが回転中ならば、少なくともこ
れを加えられた位置まで戻すように回転させる。これ
は、既にその時のVGSAを有するPVに対するある余
分な書込みを生じるが、これは顕著な遅れを生じるほど
頻繁ではない。
【0185】もしWHEELが回転中でなければ、WH
EELの制御を新たに加えられた位置の直前の位置へ戻
す。これは、WHEELを完全に1回転させることにな
らない。この制御は、WHEELに新しい位置がこの回
転と同時に書込まれた最後の位置であると信じさせるよ
うにセットアップされねばならない。これは、新しいV
GSAが書込まれ、その時WHEEL上にある他の全て
が既に持っている同じデータで再書込みされない唯一の
方法である。VGSAのメモリー・バージョンが加入に
より変更されることがないため、その時のバージョンが
新しいディスクへ書込まれることが唯一の重要事であ
る。同じ情報を他の全てのディスクのVGSAに再び書
込むことは重要ではない。
【0186】iv)割込みレベルの再可能化 WHEELの始動/再始動 注:WHEELが停止するか、あるいは構成ルーチンか
らの要求がWHEELからオフにされる時、VGSAが
アクティブ状態となり、PPが状態を変化させるならば
更新されることになる。VGSAが活動化されたやや後
にVGDAが書込まれるものとする。例え新しいPVに
おけるVGDAの書込みが失敗しても、LVMのカーネ
ル部分まで戻ってこれを取除く規定された機構がなけれ
ば、VGSAはアクティブ状態を維持することになる。
【0187】v)ボリューム・グループ構造における定
数カウントの増加 DELETING A PV FROM AN EXI
STING VG WHEELからのVGSAの削除は、おそらくはその全
ての最も簡単な操作である。これは、PVがアクティブ
なPPを持たないという事実による。
【0188】i)VGDAは、PVがもはやVGにないこ
とを表示するため更新されなければならない。
【0189】ii)WHEELの制御を取得。これは、W
HEELが回転中であればこれを停止することを意味す
る。もしWHEELが回転中でなければ、始動を禁止す
る。
【0190】iii)INTIODONEの禁止。WHE
ELの位置を検査する。もしWHEELが除去される位
置に静止するならば、制御を進めて物理ボリューム構造
をボリューム・グループ構造から取除く。もしWHEE
Lが回転中であり、書込まれる次の位置が除去される位
置であるならば、これをスキップするようにWHEEL
の制御を調整して、物理ボリューム構造をボリューム・
グループ構造から除去する。もしWHEELが回転中で
ないか、あるいは位置が上記の状態のいずれでもなけれ
ば、物理ボリューム構造をボリューム・グループ構造か
ら除去する。
【0191】iv)もしWHEELが回転中だったなら
ば、これを再始動する。WHEELが回転中でなかった
ならば、禁止を解除する。
【0192】VGSAにおける情報が変更されないた
め、WHEELの1回転を待つ必要はない。逸失の状況
を持つPVを削除する時、この同じ手順に従う。
【0193】REACTIVATING A PV PVの再付勢は、実際に規定されたPVが逸失状態から
アクティブ状態へ状態を変えつつあることを意味する。
これは、PVが戻されるかあるいはre−varyon
vg操作によって時に生じる。PVの追加に使用される
同じ手順がここでも使用することができる。ここでは、
この条件が存在すること、およびVGSAの再付勢のた
め規定されたPV追加手順の他に何ら特別な処理を必要
としないことを認識するため述べるに止める。
【0194】VARYING ON A VG VGにおける変更は、WHEELに関する限り実際には
構成および復旧操作である。これら両操作については以
後に論述する。しかし、ここでVGにおいて通常のLV
が開かれるまで、WHEELがアクティブ状態にならな
いことに注意することが重要である。このことは、va
ryonvg操作が完了した後までWHEELがアクテ
ィブ状態にならないことを意味する。
【0195】VARYING OFF A VG VGをvaryoffする唯一の方法があるが、通常お
よび強制の2つのモードがある。これらの間の唯一の実
際の相違は、強制モードがVGFORCEDフラッグを
セットすることである。このフラッグは、ドライバに対
してこのVGが強制的に遮断されることを知らせる。強
制オフが新しいI/Oが始動することを停止する。更
に、WHEELが回転中ならば、次のVGSA書込みの
完了時に停止し、WHEEL上の全ての要求をエラーと
して戻す。もしWHEELが回転中でなければ、始動を
禁止される。通常のvaryoffに対しては同じ手順
に従うが、如何なる問題にも遭遇しない。これは、継続
する前に通常のvaryoffがVGにおいてNO O
PEN LV戦略を実行する故である。そのため、もし
VGに開いたLVが存在しなければ、VGにはI/Oが
存在し得ない。もしVGにI/Oが存在しなければ、W
HEELは回転中ではあり得ない。両方の事例の取扱い
のため唯1つの手順が設計されている。
【0196】i)もしこれが通常のvaryoffであ
れば、NO OPEN LVを実行する。もしこれが強
制オフであれば、VGFORCEDフラッグをセットす
る。
【0197】ii)VGを静止状態にする。これは、全て
のその時アクティブ状態の要求が戻されるまで待機する
ことになる。これはVGにおいてその時アクティブなI
/Oを有するかもしれないため、実際には、強制オフ・
モードに適用するに過ぎない。
【0198】注:この時間中、例え1つのパーティショ
ンが正しく働いても、任意のミラー化されたLPパーテ
ィションにおける失敗を有する任意の書込み要求がエラ
ーとして戻されねばならない。これは、PPがこの時陳
腐化状態であることを示すためVGSAが更新され得な
い故である。VGが強制オフされるため、ミラー書込み
の一貫性キャッシュ(以下本文で記述する)がちょうど
VGSAのように凍結されている。従って、ミラー書込
み一貫性キャッシュのディスク・バージョンは、この書
込みがアクティブ状態であったことを記憶する。VGが
再びオンに変更される時、ミラー書込み一貫性復元操作
が、VGが強制オフされた時未済の書込みを持つLTG
を再同期させようと試みる。ミラー書込み一貫性復元操
作がマスターとなるミラーを選択するため、強制された
varyoffの時点で失敗したものを拾うことがあ
る。もしそうであり、かつこれが読出し可能であるなら
ば、この書込みの目標領域におけるデータは書込み以前
の状態に戻ることになる。従って、VGがオフに強制さ
れる時各々の物理的操作のいずれかにおけるエラーを得
る論理的要求のためエラーが戻され、VGSAはその時
PPが陳腐化状態にあることを表示するため更新するこ
とができない。正確性対一貫性に関するこれ以上の詳細
については、ミラー書込み一貫性に関する論議を参照さ
れたい。
【0199】iii)このVGに対するドライバの階層は
この時除去することができ、システムの資源をシステム
に戻すことができる。
【0200】VGSAに関してまだ言及すべき僅かな領
域がある。これらは、初期構成、VGSA回復、および
最後にVGSAの定数である。初期構成に最初に言及す
る。
【0201】ドライバは、構成ルーチンがVGSAのメ
モリー・コピーのためメモリーの割付けを行い、これに
対するポインタをボリューム・グループ構造に置くと仮
定する。構成ルーチンは、有効VGSAを選択して、ミ
ラー操作されたLVが開かれる前に選択されたVGSA
のイメージを前記メモリーVGSAへロードする。更
に、ボリューム・グループ構造に保留されたbuf構造
およびpbuf構造が組込まれているため、ボリューム
・グループ構造には初期化される必要がある幾つかの他
のフィールドがある。これらの構造は、VGSAのI/
O操作のためにのみ保留されている。これは、VGSA
操作に対して論理的要求により使用されるbuf構造お
よび物理的要求により使用されるpbuf構造があるこ
とを保証し、従って、汎用プールからpbuf構造が使
用できない場合にあり得るデッドロック状態を排除す
る。構成ルーチンはまた、どのPVがアクティブなVG
SAを有するか、またこれらがPVに置かれる場所を制
御する。これらのフィールドは、物理ボリューム構造に
あり、これもセットアップされなければならない。
【0202】VGSAに関する次のトピックは、その回
復および(または)VGvaryon時間における妥当
性である。VG中のPVで得られるものから1つのVG
SAを選択することは、構成ルーチンの責務である。こ
の選択プロセスは、ちょうど有効VGDAを選択するた
めの選択プロセスの如くである。これは、VGSAの初
めおよび終りに存在する図7のタイムスタンプを使用す
る。VGSAのメモリー・バージョンが変化される毎
に、これらタイムスタンプはシステム時間を反映するよ
うに更新される。構成ルーチンは、初めと終りのタイム
スタンプが一致しかつ他の使用可能なVGSAより時間
的に後であるVGSAを選択しなければならない。VG
SA全体がエラーなしに読出されねばならないことは言
うまでもないことである。一旦VGSAが選択される
と、構成ルーチンはドライバのパーティション構造を初
期化するため状態フラッグを使用しなければならない。
もし構成ルーチンが選択されたものと比して古いVGS
Aを見出すか、あるいは読出しエラーがあるならば、V
Gが通常のI/Oアクティビティを行うことを許される
前に、構成ルーチンはVGSAを書直す(復旧する)こ
とになる。もしVGSAがエラーなしに書直すことがで
きなければ、PVは使用されずに逸失と宣言される。
【0203】最後のVGSAが当面する問題は、VGS
Aの定数である。VGDAと同様に、ボリューム・グル
ープがオンライン上であるためのVGSA定数がなけれ
ばならない。もしVGSA書込みが失敗するならば、P
Vは逸失と宣言され、従って、このPV上の全てのアク
ティブなVGSAもまた逸失する。この時、その時の全
てのアクティブなVGSAについてカウントが行われ、
もしこのカウントが構成ルーチンによりセットアップさ
れた定数カウントより小さければ、VGは強制的にオフ
ラインとされる。もしVGがオフラインに強制される
と、その時WHEEL上の全ての要求は、もしこれらが
既にエラーを持たなかったならば、エラー(SIO)と
して戻される。WHEELは停止され、新しい要求を受
入れない。VGを再び活動化するためには、このVGは
オフに変更され、次いで再びオンラインに変更されねば
ならない。
【0204】WHEELを構成する可能なコードについ
ては、この明細書の末尾に添付した表1を参照された
い。
【0205】ミラー書込みの一貫性 異なる位置における同じデータの多数のコピーを有する
システムにおけるはるかに大きな問題は、これらコピー
が相互にミラー・イメージを呈することを保証すること
である。望ましい実施態様においては、LVMでは1
つ、2つあるいは更に3つの物理ボリュームにわたって
延びた同じデータの3つまでのコピーがあり得る。そこ
で、特定の論理的書込みが開始される時、全てのコピー
が書込まれる前にシステムが破壊するならば、この時点
から各々の下にあるコピーが相互に一致しないことがほ
とんど確実である。不都合にも、非同期なディスク操作
の場合にはこの問題を阻止する方法がない。好都合なこ
とには、基礎的な全ての物理的操作が完了するまでLV
Mが論理的要求を戻さないため、全てが失われることは
ない。これは、不良ブロックの置換や陳腐化PP処理を
含む。従って、ユーザは、特定の書込みの要求がエラー
・フラッグをオンにすることなく戻されるまでは、この
書込みが成功したと解釈することはできない。この時、
またこの時にのみ、ユーザは読出しが書込まれたデータ
そのものを読出すものと見做すことができる。これが意
味することは、LVMがミラー間のデータの一貫性に集
中し、データの正しさには集中しないことである。この
ことは更に、システム破壊後に復旧すると同時に、シス
テムが停止した時論理的書込みが書込みつつあったデー
タはLPの物理的コピーに反映されたりされなかったり
することを意味する。LVMは、システム破壊後に、L
Pの全てのアクティブなPP間のデータが一致すること
を保証する。これは古いデータであったり新しいデータ
であり得るが、全てのコピーは同じデータを含むことに
なる。これが、ミラー書込み一貫性即ちMWCと呼ばれ
る。
【0206】一貫性の保証には1つの制約がある。ボリ
ューム・グループは、定数なしではオンラインにするこ
とができない。ユーザは、例えVGDAおよびVGSA
の定数が得られなくても、VGオンラインを強制する能
力を有する。この強制された定数が使用されるならば、
ユーザは、1つのLPの複数のコピー間にデータの不一
致が存在し得る事実を受入れる。
【0207】PPが陳腐化してないかもしれないため、
通常の再同期を用いることができない。その代わりに、
全てのコピーの一貫性を生じるためには、同じ論理アド
レスに対する書込みが直後に続くLPからの単純な読出
し機能で充分である。これはバックグラウンドあるいは
フォアグラウンドで実行することができるが、いずれの
場合も時間がかかる。
【0208】ミラー書込み一貫性は、書込みが開始され
たこと、およびこれが書込みつつある場所を記憶するこ
とによって達成される。書込みが開始したこと、および
これが書込みつつあった場所を記憶することは非常に重
要であるが、これが完了するときはそれほど重要ではな
い。この情報は、ミラー書込み一貫性キャッシュ即ちM
WCCに記憶される。そのため、もしシステムが破壊す
ると、書込まれつつあるLP内のPPの復旧は、MWC
Cにおけるエントリの解釈、およびLV文字デバイス・
ノードを介してLPの影響を受けた領域に対してミラー
書込み一貫性回復(MWCR)I/O操作を発生する機
能となる。これらのMWCR操作は、LVが通常のI/
Oに対して使用可能となる前に行われなければならな
い。MWCCの詳細にについては以下に記述する。
【0209】VG当たり1つのMWCCが存在し、これ
は2つの部分からなっている。時にディスク部分、また
時には単に部分1と呼ばれる第1の部分は、物理ボリュ
ームに対して書込まれる部分である。従って、復旧の間
MWCR操作を制御するため使用されるのはこの部分で
ある。部分1の詳細は、後で論述される。MWCCの第
2の半部はメモリー部即ち部分2である。MWCCの部
分2は、メモリーにのみ駐在する。これは、VGがオン
ラインに置かれる時生じる。ミラーにおけるデータの復
元とは関係のない、従って、ディスクあるいは永久記憶
装置に対して書込む必要がないハッシュ操作、順序付
け、エントリの解放、等の如きキャッシュの制御に対す
る多くのものが存在する。これが、MWCCに対して2
つの部分がある理由である。部分1即ちディスク部は、
ディスクに対して書込まれるが部分2はそうでない。各
PVは、MWCCの1つのコピーを保持する。MWCC
の各部分の更に詳細な内容は下記の如くである。即ち、 部分1−ディスク部 MWCCの部分1は、長さが512バイトのディスク・
ブロックである。PVディスク・ブロック2は、コピー
のため保留されている。部分1は3つの基本的部分を有
する。
【0210】i)初めのタイムスタンプ ii)キャッシュ・エントリ iii)終りのタイムスタンプ このタイムスタンプは、MWCCを検証して、VGにお
いて使用可能な全てのPVから最後のコピーを選択する
ため復元中に使用される。タイムスタンプは、それぞれ
長さが8バイトである。全てがVGによりアクティブ状
態で使用されることはないだろうが、タイムスタンプの
間には62のキャッシュ・エントリが存在する。アクテ
ィブ状態のキャッシュの大きさは、1エントリと62エ
ントリ間で変化し得る。アクティブ状態のキャッシュの
大きさは、システム破壊後にVGの復元のため要する時
間長さと正比例する。この復元時間については、後で論
述する。このシステムは、現在は32のキャッシュ・エ
ントリを使用するように構成されている。別の実施態様
は、調整可能なようにコマンド・ライン・オプションを
提供する。
【0211】各々の部分1のキャッシュ・エントリは2
つのフィールドを有する。
【0212】i)論理トラック・グループ(LTG)番
号 キャッシュ・ラインのサイズは1つのLTG、即ち12
8Kバイトである。これは、LTG境界に整列される。
例えば、MWCCにおけるアクティブ状態のキャッシュ
・エントリの数が32であるとすれば、VGにおける任
意の時点において書込まれる32以下の異なるLTGが
あり得る。
【0213】ii)少数のLV LTGが帰属する少数のLV 部分2−メモリー部 MWCCの部分2のエントリの各々は、幾つかのフィー
ルドからなっている。部分2はメモリーに駐在するた
め、そのサイズはここでは重要ではない。部分1のキャ
ッシュ・エントリと直接1対1の対応が存在することを
知ることが重要である。従って、部分1で32のキャッ
シュ・エントリが使用されるならば、部分2もまた32
のエントリを有する。
【0214】i)ハッシュ待ち行列ポインタ このハッシュ待ち行列における次のキャッシュ・エント
リに対するポインタ。現在、ボリューム・グループ構造
には、8つのハッシュ待ち行列アンカーが存在する。
【0215】ii)状態フラッグ 変化なし−最後のキャッシュ書込み操作以後、キャッシ
ュ・エントリが変化しない。
【0216】変更した−最後のキャッシュ書込み操作以
後、キャッシュ・エントリが変化した。
【0217】クリーン−最後のクリーンアップ操作以
後、エントリが使用されなかった。
【0218】iii)対応する部分1のエントリに対する
ポインタ この部分2のエントリと対応する部分1のエントリに対
するポインタ。
【0219】iv)I/Oカウント このキャッシュ・エントリが存在するLTGにおけるア
クティブ状態のI/O要求の数のカウント。
【0220】v)次の部分2エントリに対するポインタ チェーン上の次の部分2エントリに対するポインタ。
【0221】vi)前の部分2エントリに対するポインタ チェーン上の前の部分2エントリに対するポインタ。
【0222】各キャッシュ・エントリに対して2つの部
分が存在するが、この点から、キャッシュ・エントリへ
の参照が部分1からのエントリにより形成される実体
(エンティティ)および部分2からの対応するエントリ
を意味することを知ることが重要である。
【0223】MWCCの概念は一見簡単であるが、その
構成および復元はそうでない。この複雑さの一部は、V
Gがその全てのPVなしにオンラインに置くことができ
るという事実によって生じる。実際に、システム破壊の
後、システムが停止した時存在したPVなしにVGを置
くことができる。
【0224】MWCCに関する論議には2つの主な領域
がある。ドライバが種々のシステム構成要素から要求を
受取る時、キャッシュの保守、更新および書込みの機能
が存在する。これは操作の前面である。これは、LTG
がある任意の時点において不一致であるかも知れないこ
とが知られているので行われる。従って、操作の裏面が
存在する。これは、システムの破壊が生じた時、または
不規則な停止があった時であり、PVに駐在するMWC
キャッシュは、事物を再び一致させるために使用されな
ければならない。そこで、本論の焦点を、最初のステッ
プとしても生じる操作の前面に置く。
【0225】ドライバは、メモリーの割付けを行い、こ
れを最初のLVがVGにおいて開かれる時、キャッシュ
の両方の部分に対して初期化する。ドライバは、LTG
を一致させるためディスク上に駐在するMWCCが既に
復元プロセスにより使用され、またこれらのディスク・
ブロックがデータを失うことなく重ね書きすることがで
きるものと仮定する。MWCR(ミラー書込み一貫性回
復)操作は、実際には書込みが後に続く読出しである。
MWCCが書込みを監視するため、MWCR操作は、M
WCCのディスク・コピーを修正することなくvary
onタイムスリップで行われる。
【0226】MWCCは要求が受取られる時管理されね
ばならないエンティティであるため、ミラー書込み一貫
性管理(MWCM)が存在する。MWCMは、スケジュ
ーラ層と戦略層間のスケジューラ層の頂部に位置してい
る。このMWCMは、その唯一の問題がミラー化された
パーティション要求に関するためそれ自体で層全体は持
たないが、そこに置けば理解が更に容易である。
【0227】初期要求ポリシーが要求を受取ると、この
要求がMWCMへ渡されるべきかどうかを調べるため幾
つかの初期検査を行う。下記は、要求をMWCMへ渡さ
せない条件のリストである。これは、MWCMへ渡され
る要求が要求毎にキャッシュされることを意味しない。
用語キャッシュは、本文ではそれほど厳密でなく使用さ
れる。要求は従来の意味ではキャッシュされず、要求が
継続することを許される前に永久記憶に書込まれるその
操作に関する情報を待たねばならないという意味におい
てキャッシュされる。そこで、MWCMは要求をポリシ
ーへ戻してこの要求が進行し得ることを表示する。
【0228】i)要求が読出しである。
【0229】ii)LVオプションは、ミラー書込み一貫
性フラッグをオンにしない。
【0230】iii)要求は、拡張パラメータを介してミ
ラー書込み一貫性を特に要求しない。
【0231】iv)このLPには唯一のアクティブなパー
ティションが存在し、再同期はこのパーティションでは
進行中でない。これは、唯一のコピーが存在し、あるい
は他の全てが陳腐化状態であることを意味し得る。
【0232】先に述べたように、各PVはMWCCに対
して保留されたブロックを有する。しかし、これらが全
て異なるものであり得ることも述べた。MWCCのメモ
リー・イメージは、その時アクティブな書込みを有する
VGにおけるLTGの全体的な展開である。しかし、M
WCCのディスク・コピーは実際には、前記PVにPP
を持つLPに対する書込みに関するキャッシュにおける
情報のみと関連する。与えられた論理的書込み要求で
は、MWCCはこの論理的書込み要求に対するPPが割
付けられたPVに対して書込まれる。
【0233】一例として、もしLPが異なるPVに1つ
ずつ3つのコピーを持つならば、MWCCのコピーは、
実際のデータ書込みが開始される前に各PVへ書込まれ
ることになる。MWCCのディスク・コピーに対する全
ての書込みは、並行して行われる。例えPPの1つが陳
腐化していても、アクティブなパーティションで書込み
が進行することを許される前に、このディスクにおける
MWCCが書込まれねばならない。アクティブなミラー
を含むPVがvaryonの間失ったことが判る場合、
MWCCは陳腐化したミラーによりPVに対して書込ま
れねばならない。無論、PVが失われたならば、MWC
Cをこれに書込むことはできない。これは復元以上の問
題であり、以降において論議される。
【0234】一旦MWCCが要求を受取ると、要求の最
終的な処理前に行われねばならない他の幾つかのテスト
が存在する。MWCCは、要求毎に下記の1つを実施す
る。即ち、注:これらの判定はLTGのキャッシュ・ラ
インのサイズ即ち128Kに基くものであり、物理パー
ティションのサイズに基くものではない。また、本文の
用語キャッシュは、専らメモリー・バージョンに関する
もので、従ってVGにおけるLVに対して大域的なもの
である。
【0235】(目標LTGがキャッシュにはない)か、
あるいは(目標LTGがキャッシュにあり、かつ変化し
つつある)ならば、 i)キャッシュの修正−要求をキャッシュへ加えるか、
あるいはI/Oカウントをバンプ(bump)する ii)キャッシュ・エントリを、使用されたリストの先頭
に移動する iii)必要に応じて、PVに対するキャッシュの書込み
を開始する iv)要求をキャッシュ書込みの完了を待つ待ち行列に置
く v)この要求に対する全てのキャッシュ書込みが完了す
ると、要求をスケジューリング・ポリシーへ戻す。
【0236】(目標LTGがキャッシュにあり、かつ変
化しつつない)ならば、 i)I/Oカウントをバンプする ii)キャッシュ・エントリを、使用されたリストの先頭
へ移動する iii)要求をスケジューリング・ポリシーへ戻す。
【0237】しかし、上記のロジックに対して幾つかの
例外がある。キャッシュは有限のエンティティであるた
め、これが一杯になることがある。この状態が生じる
と、キャッシュ・エントリが可能となるまで要求は保留
待ち行列へ行く。ドライバの非同期性、およびMWCC
書込みを含むディスクのI/O操作の冗長性の故に、問
題を取除くのではなく避けるため特別な特徴がディスク
・ドライバに加えられる。この特徴は、ドライバがディ
スク・ドライバに対してページを隠さないように通知す
ることを可能にする。これは、例えハードウエアがその
時データをメモリーから得ていてもドライバがMWCC
を参照できることを意味する。この故に、MWCCが任
意のPVに対して移動中、ドライバはハードウエア・メ
モリー・キャッシュのコヒーレンス性を維持するため注
意しなければならない。
【0238】従って、第1のテストにおいて、いずれか
一方の条件が真でありMWCCが移動中で書込まれつつ
あるならば、要求はMWCCがもはや移動中でなくなる
まで保留待ち行列へ進まねばならない。最後のMWCC
書込みが完了すると、即ちMWCCがもはや移動中でな
くなると、この保留待ち行列上の要求はMWCMを介し
て進行することができる。実際の書込みが生起するより
もはるか前にハードウエアがMWCCデータをアダプタ
・ハードウエア・バッファへ転送することを想起された
い。このハードウエア転送後およびデータが書込まれた
ことの確認の受取り前にキャッシュにおける情報が変更
されるならば、ディスク上にあると確認されるものが実
際にあるものと異なることを示すウインドウが現れる。
この場合、要求が継続するならば、MWCCのディスク
・バージョンが、この書込みがアクティブであることを
知っているかどうか判らない。このような不確実さは許
されない。
【0239】最初のテストにおいて第2の条件が真であ
り、MWCCが進行中であるならば、何故I/Oカウン
トをバンプしないか、また要求をキャッシュ書込みを待
つ待ち行列に置かないか不審に思うであろう。この条件
は、依然としてアクティブである変化状態により示され
る如く、以前の要求がエントリをキャッシュに置きこれ
がキャッシュ書込みを始動したがその全てが完了しなか
った故に生じる。問題は、第1の要求がキャッシュ書込
みを開始した時、それと、それらのキャッシュが更新さ
れるため必要な全てのPVとの間に関連が生じたことで
ある。第2の要求がMWCMに入る時点においては、存
在するにしてもこれらキャッシュ書込みが幾つ完了した
かを知る方法がない。従って、これらのキャッシュ書込
みが完了する時この要求が進行できるように、この第2
の要求に対してどれだけの関連がなされたかが判らな
い。そのため、この要求はキャッシュ保留待ち行列にも
入れられる。これは、全てのキャッシュ書込みが完了し
た時、この保留待ち行列が再び調べられる故に、要求に
多くの時間を浪費させることがない。これが行われる
と、この要求はキャッシュにこれを取らせて、直ちにス
ケジュールされるように進行することになる。
【0240】上記の2つのテスト条件において、ステー
トメントがキャッシュ・エントリがリストの先頭へ移動
されることを表示した。全てのキャッシュ・システムに
おける如く、事物を取扱うためのアルゴリズムがキャッ
シュにある。MWCCは、最近使用頻度/最低使用頻度
(MRU/LRU)アルゴリズムを使用する。MWCC
が初期化されると、キャッシュ・エントリは部分2にお
けるポインタを介して一緒にリンクされる。これらのポ
インタは、次および前のキャッシュ・エントリを指示す
る。これは、ボリューム・グループ構造にアンカーを有
する、2重にリンクされた循環リストである。このアン
カーは、最初のキャッシュ・エントリ、即ち最近使用ま
たは修正されたものを指す。このエントリの次ポインタ
は、最初のエントリの前に修正されたエントリを指す。
このことは、キャッシュにおける最低使用または修正頻
度の最後のエントリに達するまで継続し、その次ポイン
タが再び最初のエントリ即ちアンカーが指示する同じも
のを指す。前ポインタが同じことを逆の順序で行う。そ
のため、最初のエントリの前ポインタは、リストにおけ
る最後のエントリ、即ち最低使用頻度のエントリを指示
する。
【0241】この形式の機構を用いることにより、幾つ
かのことが得られる。第1に、フリー・リストが存在し
ない。キャッシュ・エントリが必要な時、リストにおけ
る最後のもの(LRU)が採られる。もしそのI/Oカ
ウントがゼロでなければ、LRUチェーンを介してキャ
ッシュ・エントリを走査してゼロのI/Oカウントを持
つエントリを見出す。もし見出されなければ、キャッシ
ュは一杯である。これは、カウンタがその時使用してい
るエントリの数を保持する必要を無くす。
【0242】しかし、I/OカウントがLRUエントリ
においてゼロでない時、キャッシュが一杯であるとする
ことができないことに注意されたい。LRUエントリが
キャッシュにおいて最長であることは判るが、判るのは
これが全てである。もしシステムが多数のディスク・ア
ダプタを持つか、あるいはディスク・ドライバがその待
ち行列の先頭の最適化を行うならば、要求はどんな順序
にも戻り得る。従って、LRUエントリ後に始められた
要求は、LRU要求前に終了し得、これによりLRUチ
ェーンの中間においてキャッシュ・エントリを使用でき
るようにする。従って、一杯であるキャッシュのために
書込み要求を保持しなければならない回数をカウントす
る変数を持つことが望ましい。
【0243】キャッシュが一杯である時MWCMが保留
待ち行列を走査しつつあるならば、MWCMは、保留待
ち行列から加えられたばかりの要求と同じLTGにある
かも知れない要求を探して保留待ち行列を走査し続けな
ければならない。もし何かが見出されれば、これらは保
留待ち行列から取除いて適当なI/Oカウントを増加し
た後キャッシュ書込み待ち行列へ移動することができ
る。
【0244】先に述べたように、ボリューム・グループ
構造にはハッシュ待ち行列アンカー(8)がある。キャ
ッシュ探索時間を短縮するため、要求のLTGによりエ
ントリはこれらのアンカーに対してハッシュされる。こ
のハッシュ動作は、従来技術において公知の方法によっ
て行われる。特定のハッシュ待ち行列におけるエントリ
は、キャッシュ・エントリの部分2におけるハッシュ・
ポインタを介して前方向にリンクされる。
【0245】キャッシュのクリーンアップ操作が行われ
ねばならない時がある。最も明らかなのは、LV閉鎖時
である。この時、キャッシュはゼロのI/Oカウントを
有するエントリに対して走査されねばならない。エント
リが見出されると、これはクリアされてLRUチェーン
の終りへ移動されねばならない。一旦全キャッシュがが
走査されると、このエントリが帰属するPVもまた書込
まれねばならない。キャッシュのクリーンアップ操作の
別の時期は、IOCTLを介するシステム管理の要求時
である。
【0246】本文に述べるに値する他の1つのことがあ
る。もしディスク上のMWCCブロックが媒体の欠陥に
より不良となるとどうなるか?もしこの条件が見出され
ると、MWCMはこのブロックのハードウエアの置換え
を行おうと試みる。もしこの置換えが失敗するか、ある
いはMWCCにおいて媒体でない種類のエラーに遭遇す
るならば、PVが逸失を宣言される。
【0247】MWCCの復元 次に、MWCCの前面がどのように働くかを検討しよ
う。MWCCの全目的が、システム破壊の事象におい
て、書込み要求がアクティブなミラー状態のLTGを見
出し一致させることができるように、充分な要素を残す
ことであることを想起しよう。この論議は、MWCCの
裏面あるいは復元措置に向けられる。
【0248】復元は初期のvaryon操作によっての
み行われる。これは、復元措置の進行中に、VGにおけ
る通常のユーザI/Oを禁止する必要による。
【0249】この復元操作は、VGのvaryon操作
の最終の局面である。これは、例え移動中の全てのLT
Gが一致させられるまでVGにおける通常のI/Oを許
容しないように注意しねばならない復元操作中でも、I
/Oが生じる前にVG全体がまとめてカーネルに構成さ
れねばならない故である。
【0250】復元プロセスにおける最初ステップは、使
用可能な全てのPVから最後のMWCCを選択すること
である。一旦これが行われると、選択されたMWCCに
おけるLTGの復元は、キャッシュにおけるエントリを
有するLV/LP/LTGに対してミラー書込み一貫性
復元(MWCR)I/O要求を発するという簡単なタス
クとなる。この方法は、復元操作の最大数がMWCCの
大きさに制限される故に、高速経路法と呼ばれる。これ
は、作用において、VGに対する最大復元時間がどれだ
けかをセットする。換言すれば、親のLPが1つ以上の
陳腐化しないPPコピーを有するならば、選択されたM
WCCを用いることがLTGにおける復元を行う。
【0251】これらのMWCR要求の間、もしミラーが
書込み失敗となるか、あるいは逸失PV上にあるなら
ば、これはドライバによりWHEELを介して陳腐化状
態とマークされることになる。
【0252】PVを失うことがvaryon時間におけ
る復元操作の時間を増すことはないが、ミラーを後でP
Vがオンラインに戻る時再同期される必要がある陳腐化
状態にすることができる。3つのタイプの逸失PVがあ
る。第1のタイプは、VGSAにおいて逸失としてマー
クされるPVである前に失ったPVである。これらの前
に失ったPVは、最後のvaryonで失われ得るか、
あるいはVGがオンラインにある間ドライバが見出して
これらを失ったと宣言し得る。第2のタイプの失われた
PVは、新たに発見された逸失PVである。これらのP
Vは、この時使用できないvaryon操作により見出
されが、VGSAにおけるPVの状態は、VGがオンラ
インにあった最後にこれらがオンラインにあったことを
示している。これは、定数の喪失を生じてVGが強制的
にオフラインにされた、ドライブまたはアダプタの障害
によって生じ得る。新たに発見された逸失PVの別の原
因は、varyonvg指令が出された時にPVがva
ryonに対するPVのリストに含まれなかった時であ
る。PVが新たに発見された逸失カテゴリに該当する別
の1つの方法があり、これは何らかの種類の読出しエラ
ーによりMWCCが読出すことができないが、PVがV
GDA読出しおよび書込みに応答する時である。
【0253】前に失われたPVと新たに発見された逸失
PVは最後のタイプの逸失PV、現在失われているPV
に合成される。現在失われているPVは、本論にとって
重要なものである。復元のシナリオの最初の局面、即ち
得られるPVからMWCCを選択して高速経路法の復元
を行った後、第2の局面が行われる。この第2の局面
は、現在失われているPVが生じる場合にのみ行われ
る。
【0254】逸失PVにおけるLTGの実際の復元は、
幾つかの理由から不可能である。この理由の最も大きな
理由は、PVが失われたことであり、従って如何なるI
/Oも受入れられないことである。逸失PVの別の問題
は、LP/LTGの全てのコピーが逸失PVに完全に含
まれる時である。これは、復元プロセスで使用可能なこ
れらのLTGについての情報が一切ない故に問題であ
る。書込みI/OがこれらLP/LTGに対して進行過
程にあったかどうかについては判らない。
【0255】従って、未済のI/Oが存在することが仮
定されねばならず、PVが再びオンラインに戻される
時、復元プロセスがデータの一貫性を保証するため然る
べきことを行わねばならない。この場合にするべき正し
いことは、1つを除く全ての陳腐化状態でないミラーを
陳腐化としてマークすることであり、即ち、VG内の各
LPに対して、もしLPが現在失われているPVに完全
に含まれるならば、1つを除く全てのミラーを陳腐化状
態とマークする。PVが再びオンラインに戻る時、生じ
たLPは再同期されねばならない。
【0256】尚、次に示すのは図14に示したPBUF
データ構造中の各データの説明である。
【0257】フラッグ−基本的情報−読出し/書込み、
バッファ使用中、エラー識別子 ポインタ−これらPBUFを種々のチェーンにリンクし
てフロー制御のため使用する IODONE−要求が完了する時、PBUFを渡す機能
に対するPTR、即ち、低いレベルのディスク・デバイ
ス・ドライバがこのフィールドにより指示された機能を
呼出して、それらが要求を終了した時要求をLVMへ戻
す デバイス番号−転送が行われる物理デバイス番号 ディスク・ブロック番号−転送が開始するディスク・ブ
ロック番号 メモリー・アドレス−データがやり取りされるメモリー
・アドレス 転送カウント−転送するバイト数。LVMの場合、ディ
スク・ブロック(512バイト)の倍数でなければなら
ない。
【0258】エラー・タイプ−エラー表示子がフラッグ
・フィールドにおいてオン(真)である時、このフィー
ルドはエラーのタイプを表示する。事例:媒体エラー、
不当要求、、、残留転送カウント−転送にエラーが生じ
ると、このフィールドは転送されなかったバイト数を含
む。
【0259】元の要求に対するPTR−LVMが戦略層
より上の層から要求を受取る。これら論理的要求は1つ
以上の物理的要求(PBUF)に変換される。与えられ
た論理的要求に対する全ての物理的要求が完了する時、
論理的要求はその起源へ戻すことができる。これは、論
理的要求の起源に対する逆戻りリンクである。
【0260】スケジューリング・ルーチンに対するPR
T−物理的要求がディスク・ドライバからIODONE
フィールドを介してLVMの物理層へ戻される。この物
理層は不良ブロック処理に対する責務を有する。もし要
求が完了すると、物理層は要求をこのポインタを介して
スケジューリング層へ戻す。スケジューリング層・は、
論理的要求の計算のため次に何をしなければならないか
の判定を行う。
【0261】ミラー−このPBUF、0、1または2と
関連するミラー番号 無効ミラー−どのミラーが無効化されるべきか、即ち論
理的要求を満たすため使用されないか、即ちミラーが破
壊されるか、あるいは使用できない物理ボリューム上に
あるか、を表示するビット・マスク(3ビット) 不良ミラー−どのミラーが故障したか、あるいは破壊し
たかを表示するビット・マスク(3ビット) 完了ミラー−どのミラーが転送を完了したかを表示する
ビット・マスク(3ビット) SW再試行−ソフトウエア再試行カウント;このブロッ
クが何回ソフトウエア置換えを試みたか、1回または2
回 タイプ−PBUFのタイプ、WHEELによるエラー処
理および不良ブロック処理において使用される。WHE
ELに対してこれがPP要求陳腐化、PV逸失マーク、
あるいはPP再生のいずれであるかを通知する。
【0262】不良ブロック状況−全ての物理ボリューム
の保留領域に駐在する不良ブロック・ディレクトリの更
新を制御するため使用される。
【0263】WHEEL停止−このPBUFがWHEE
L上にある時、WHEELからオフとなる位置
【0264】
【表1】
【0265】
【0266】
【0267】
【0268】
【0269】
【0270】
【0271】
【0272】
【0273】
【0274】
【0275】
【0276】
【0277】
【0278】
【0279】
【0280】
【0281】
【0282】
【0283】
【0284】
【0285】
【0286】
【0287】
【0288】
【0289】
【0290】
【0291】
【0292】
【0293】
【0294】
【0295】
【0296】
【0297】
【0298】
【0299】
【0300】
【0301】
【0302】
【0303】
【0304】
【0305】
【0306】
【0307】
【0308】
【0309】
【0310】
【0311】
【0312】
【0313】
【0314】
【0315】
【0316】
【0317】
【0318】
【0319】
【0320】
【0321】
【0322】
【0323】
【0324】
【0325】
【0326】
【0327】
【0328】
【0329】
【0330】
【0331】
【0332】
【0333】
【0334】
【0335】
【0336】
【0337】
【0338】
【0339】
【0340】
【0341】
【0342】
【0343】
【0344】
【0345】
【0346】
【0347】
【0348】
【0349】
【0350】
【0351】
【0352】
【0353】
【0354】
【0355】
【0356】
【0357】
【0358】
【0359】
【0360】
【0361】
【0362】
【0363】
【0364】
【0365】
【0366】
【0367】
【0368】
【0369】
【0370】
【0371】
【0372】
【0373】
【0374】
【0375】
【0376】
【0377】
【0378】
【0379】
【0380】
【0381】
【0382】
【0383】
【0384】
【0385】
【0386】
【0387】
【0388】
【0389】
【0390】
【0391】
【0392】
【0393】
【0394】
【0395】
【0396】
【0397】
【0398】
【0399】
【0400】
【0401】
【0402】
【0403】
【0404】
【0405】
【0406】
【0407】
【0408】
【0409】
【0410】
【0411】
【0412】
【0413】
【0414】
【0415】
【0416】
【0417】
【0418】
【0419】
【0420】
【0421】
【0422】
【0423】
【0424】
【0425】
【0426】
【0427】
【0428】
【0429】
【0430】
【0431】
【0432】
【0433】
【0434】
【0435】
【0436】
【0437】
【0438】
【0439】
【0440】
【0441】
【0442】
【0443】
【0444】
【図面の簡単な説明】
【図1】本発明の方法が有効に使用できるデータ処理シ
ステムを示す機能ブロック図である。
【図2】図1に示されるシステムに格納される情報を含
むファイルの階層的なファイル・システム構成を示す概
略図である。
【図3】図1に機能的に示されるディスク・ファイル記
憶装置を示す概略図である。
【図4】ディスク・ファイルの実アドレス指定アーキテ
クチャにおいて使用される種々の物理的記憶構成要素の
物理的関係を示す図である。
【図5】物理ボリュームの全体的レイアウトを示す図で
ある。
【図6】論理ボリューム・マネージャ領域の全体的レイ
アウトを示す図である。
【図7】ボリューム・グループ状況領域構造の詳細を示
す図である。
【図8】ボリューム・グループ・データ領域構造の詳細
を示す図である。
【図9】論理ボリュームのレイアウトを示す図である。
【図10】論理ボリューム・マネージャ疑似デバイス・
ドライバとのシステムの関係を示す図である。
【図11】論理ボリューム、論理パーティションおよび
物理パーティション間相互の関係を示す図である。
【図12】物理パーティション、物理ボリュームおよび
ボリューム・グループ間相互の関係を示す図である。
【図13】ボリューム・グループ状況領域のホイール概
念を示す図である。
【図14】PBUFデータ構造を示す図である。
【図15】論理ボリューム・デバイス・ドライバ・スケ
ジューラの初期要求ポリシーを示す図である。
【図16】論理ボリューム・デバイス・ドライバ・スケ
ジューラの事後要求ポリシーを示す図である。
【図17】論理ボリューム・デバイス・ドライバのボリ
ューム・グループ状況領域の処理を示す図である。
【符号の説明】
10 陰極線管(CRT) 11 ブロック(22 アプリケーション・プログラ
ム、23 アプリケーション開発プログラム、24 オ
ペレーティング・システム・カーネル) 12 マイクロプロセッサ 13 メモリー・マネージャ・ユニット 14 主システム・メモリー(RAM) 15 バス 16 I/Oチャンネル・コントローラ 17 ディスク記憶装置 18 表示ターミナル 19 コプロセッサ 20 他のI/O 21 I/Oバス 30 磁気ディスク 31 軸 32 モータ 33、34 ディスク面 35 位置決め機構 36 トランスジューサ 37 アクチュエータ 38 移動キャリッジ 39 アドレス 40 バイト位置 41 セクター(ブロック) 42 ディスク・トラック 64 論理ボリューム・マネージャ疑似デバイス・ドラ
イバ 65 戦略層 66 スケジューラ層 67 物理層 68 ファイル・システムI/O要求 69 ディスク・デバイス・ドライバ 70 論理ボリューム 71 論理パーティション 72、74、76 物理ボリューム

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 第1の物理ボリュームおよび後続の複数
    の物理ボリュームを有し、1つ以上の論理ボリュームに
    仕切られる複数の記憶装置を管理する方法であって、該
    論理ボリュームの各々が更に、各々が前記記憶装置の1
    つ以上の物理パーティションを含む1つ以上の論理パー
    ティションに仕切られる方法において、 コンピュータ・メモリーに前記物理パーティションの各
    々に対する状況情報を保持し、 前記状況情報を前記記憶装置の各々に存在する状況領域
    に記録し、 前記物理パーティションのいずれかに対して書込み要求
    が生成される時、更新された状況情報を生成し、 前記第1の物理ボリュームにおける前記状況領域を、前
    記更新された状況情報で更新し、 前記記憶装置内の各後続物理ボリュームの前記状況領域
    を、前記更新された状況情報で順次更新することを含
    み、以前の書込み要求の結果として前記記憶装置の状況
    領域の各々の更新を完了する前に、第2の即ち次の書込
    み要求が受取られるならば、前記状況情報が前記コンピ
    ュータ・メモリーにおいて即時更新されて、前記次に続
    く物理ボリュームの状況領域の更新において使用される
    ことを特徴とする方法。
  2. 【請求項2】 与えられた論理パーティションと対応す
    る前記物理パーティションの各々が、複写のデータ情報
    を含むことを特徴とする請求項1記載の方法。
  3. 【請求項3】 第1の物理ボリュームおよび後続の複数
    の物理ボリュームとを有し、1つ以上の論理ボリューム
    に仕切られる複数の記憶装置を管理する装置であって、
    該論理ボリュームの各々が更に、各々が前記記憶装置の
    1つ以上の物理パーティションを含む1つ以上の論理パ
    ーティションに仕切られる装置において、 コンピュータ・メモリーに前記物理パーティションの各
    々に対する状況情報を保持する保持手段と、 前記状況情報を前記記憶装置の各々に存在する状況領域
    に記録する記録手段と、 前記物理パーティションのいずれかに対して書込み要求
    が生成される時、更新された状況情報を生成する生成手
    段と、 前記第1の物理ボリュームにおける前記状況領域を、前
    記更新された状況情報で更新する第1の更新手段と、 前記記憶装置内の各後続物理ボリュームの前記状況領域
    を、前記更新された状況情報で順次更新する後続更新手
    段とを設け、以前の書込み要求の結果として前記記憶装
    置の状況領域の各々の更新を完了する前に、第2の即ち
    次の書込み要求が受取られるならば、前記状況情報が前
    記コンピュータ・メモリーにおいて即時更新されて、前
    記次に続く物理ボリュームの状況領域の更新において使
    用されることを特徴とする装置。
  4. 【請求項4】 第1の物理ボリュームおよび後続する複
    数の物理ボリュームとを有し、1つ以上の論理ボリュー
    ムに仕切られる複数の記憶装置を管理するシステムであ
    って、該論理ボリュームの各々が更に、各々が前記記憶
    装置の1つ以上の物理パーティションを含む1つ以上の
    論理パーティションに仕切られるシステムにおいて、 プロセッサと、 メモリー管理ユニットと、 ランダム・アクセス・メモリーと、 I/Oチャンネル・コントローラと、 表示ターミナルと、 ディスク・ドライブと、 コンピュータ・メモリーに前記物理パーティションの各
    々に対する状況情報を保持する保持手段と、 前記状況情報を前記記憶装置の各々に存在する状況領域
    に記録する記録手段と、前記物理パーティションのいず
    れかに対して書込み要求が生成される時、更新された状
    況情報を生成する生成手段と、 前記第1の物理ボリュームにおける前記状況領域を、前
    記更新された状況情報で更新する第1の更新手段と、 前記記憶装置内の各後続物理ボリュームの前記状況領域
    を、前記更新された状況情報で順次更新する後続更新手
    段とを設け、以前の書込み要求の結果として前記記憶装
    置の状況領域の各々の更新を完了する前に、第2の即ち
    次の書込み要求が受取られるならば、前記状況情報が前
    記コンピュータ・メモリーにおいて即時更新されて、前
    記次に続く物理ボリュームの状況領域の更新において使
    用されることを特徴とするシステム。
  5. 【請求項5】 第1の物理ボリュームおよび後続の複数
    の物理ボリュームを有する複数の記憶装置に状況情報を
    保持する方法であって、前記記憶装置の各々が状況領域
    に記録された前記状況情報の同一のコピーを有する方法
    において、 前記記憶装置のいずれかにおける状況変化に応答して、
    前記第1の物理ボリュームにおける前記状況情報を修正
    し、 前記記憶装置内の前記各後続物理ボリュームにおける前
    記状況領域における前記状況情報を前記状況の変化を反
    映するように順次に修正することを含み、以前の状況の
    変化の結果として前記記憶装置の状況領域の各々の更新
    を完了する前に、次の状況変化が受取られるならば、前
    記以前の状況変化の結果生じる状況情報を記録する間前
    記次の状況変化が記録されることを特徴とする方法。
JP3268933A 1990-10-22 1991-09-20 ミラー化された記憶装置の管理方法および装置 Expired - Lifetime JPH0644218B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60284590A 1990-10-22 1990-10-22
US602845 1990-10-22

Publications (2)

Publication Number Publication Date
JPH05134812A JPH05134812A (ja) 1993-06-01
JPH0644218B2 true JPH0644218B2 (ja) 1994-06-08

Family

ID=24413028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3268933A Expired - Lifetime JPH0644218B2 (ja) 1990-10-22 1991-09-20 ミラー化された記憶装置の管理方法および装置

Country Status (2)

Country Link
EP (1) EP0482853A3 (ja)
JP (1) JPH0644218B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7072951B1 (ja) * 2020-12-21 2022-05-23 株式会社エリム 発芽穀物の製造方法及び発芽穀物飯の製造方法、並びに発芽穀物用調理装置及びプログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0551009B1 (en) * 1992-01-08 2001-06-13 Emc Corporation Method for synchronizing reserved areas in a redundant storage array
US6138126A (en) 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
EP1197836A3 (en) * 1993-06-03 2009-06-17 Network Appliance, Inc. A method for allocating files in a file system integrated with a raid disk sub-system
US5675781A (en) * 1995-07-06 1997-10-07 Sun Microsystems, Inc. Augmenting volume management of information storage devices to handle direct access to storage devices
US5897661A (en) * 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US6654881B2 (en) 1998-06-12 2003-11-25 Microsoft Corporation Logical volume mount manager
KR100621614B1 (ko) * 1999-08-30 2006-09-06 삼성전자주식회사 컴퓨터 시스템의 파일 백업 방법
US6553387B1 (en) 1999-11-29 2003-04-22 Microsoft Corporation Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers
US6681310B1 (en) * 1999-11-29 2004-01-20 Microsoft Corporation Storage management system having common volume manager
US7188127B2 (en) 2003-10-07 2007-03-06 International Business Machines Corporation Method, system, and program for processing a file request
TW201022930A (en) * 2008-11-20 2010-06-16 Ibm Method to improve recovery time of mirrored disks when read stability is in doubt
US10031668B2 (en) 2016-02-29 2018-07-24 Red Hat Israel, Ltd. Determining status of a host operation without accessing the host in a shared storage environment
CN115062190B (zh) * 2022-06-15 2025-07-22 苏州轻棹科技有限公司 一种自动驾驶系统对采集数据进行回放的处理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0096199A2 (en) * 1982-06-21 1983-12-21 International Business Machines Corporation Method and apparatus for logging journal data in a computing apparatus
US4686620A (en) * 1984-07-26 1987-08-11 American Telephone And Telegraph Company, At&T Bell Laboratories Database backup method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7072951B1 (ja) * 2020-12-21 2022-05-23 株式会社エリム 発芽穀物の製造方法及び発芽穀物飯の製造方法、並びに発芽穀物用調理装置及びプログラム

Also Published As

Publication number Publication date
JPH05134812A (ja) 1993-06-01
EP0482853A3 (en) 1993-04-21
EP0482853A2 (en) 1992-04-29

Similar Documents

Publication Publication Date Title
JP2691120B2 (ja) 記憶管理サブシステムおよびブロックの高速書込みの方法
US6938135B1 (en) Incremental backup of a data volume
US6880102B1 (en) Method and system for managing storage systems containing multiple data storage devices
US6460054B1 (en) System and method for data storage archive bit update after snapshot backup
US6912669B2 (en) Method and apparatus for maintaining cache coherency in a storage system
EP0566966B1 (en) Method and system for incremental backup copying of data
US5596709A (en) Method and apparatus for recovering parity protected data
US7634594B1 (en) System and method for identifying block-level write operations to be transferred to a secondary site during replication
US6438661B1 (en) Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache
US8539150B2 (en) Storage system and management method of control information using a cache memory with multiple cache partitions
US6341341B1 (en) System and method for disk control with snapshot feature including read-write snapshot half
US7155586B1 (en) Method of allowing point-in-time view of data on a disk using a map on cache disk
JP3792258B2 (ja) ディスク記憶システムのバックアップ装置および方法
US7293048B2 (en) System for preserving logical object integrity within a remote mirror cache
US5809224A (en) On-line disk array reconfiguration
JP3505093B2 (ja) ファイル管理システム
US6542960B1 (en) System and method for parity caching based on stripe locking in raid data storage
JP2005276208A (ja) 通信リンク接続の永久メモリシステム
KR950014175B1 (ko) 데이타의 타임제로 백업 복사 방법과 수단
JPH0644218B2 (ja) ミラー化された記憶装置の管理方法および装置
US7197599B2 (en) Method, system, and program for managing data updates
US6629203B1 (en) Alternating shadow directories in pairs of storage spaces for data storage
WO2004059488A2 (en) Instant refresh of a data volume copy
JP2004127295A (ja) 仮想記憶システムおよびその動作方法
US7165160B2 (en) Computing system with memory mirroring and snapshot reliability