JPH0317142B2 - - Google Patents
Info
- Publication number
- JPH0317142B2 JPH0317142B2 JP58039318A JP3931883A JPH0317142B2 JP H0317142 B2 JPH0317142 B2 JP H0317142B2 JP 58039318 A JP58039318 A JP 58039318A JP 3931883 A JP3931883 A JP 3931883A JP H0317142 B2 JPH0317142 B2 JP H0317142B2
- Authority
- JP
- Japan
- Prior art keywords
- index
- data set
- node
- leaf
- volume
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/123—Storage facilities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Description
【発明の詳細な説明】
〔発明の背景〕
本発明はワード・プロセシング・システムに係
り、更に詳細に説明すればデータ・セツトの更新
中に媒体エラー又はシステム電源の障害等が生じ
たとき直接アクセス記憶デバイス(DASD)の記
憶データを回復することに係る。
り、更に詳細に説明すればデータ・セツトの更新
中に媒体エラー又はシステム電源の障害等が生じ
たとき直接アクセス記憶デバイス(DASD)の記
憶データを回復することに係る。
本発明に関係する先行技術には、次のようなも
のがある。
のがある。
(a) IBM OS/6システムは、デイスケツトに
文書を記憶し且つデイスケツト上の文書を探し
出すために、非常に簡単なフオーマツトを使用
している。各デイスケツトでは正確に32個のデ
ータ・セツト(ジヨブ)が常に利用可能であ
り、その割振りはデイスケツトのトラツクに応
じて行われるようになつている。デイスケツト
上の文書を探し出すために使用されるデイスケ
ツト・インデツクスの全体は十分に小さいの
で、これをシステム・メモリーに一度に保持す
ることができる。IBM OS/6システムのボ
リユーム・インデツクスは、デイスケツトに冗
長的に記録されている。IBM OS/6システ
ムのデイスケツト・インデツクスは、デイスケ
ツトがその駆動機構へ挿入されるとき、システ
ム・メモリへコピーされるようになつている。
従つて、このインデツクスを検索する動作は、
性能上の問題を惹起しない。
文書を記憶し且つデイスケツト上の文書を探し
出すために、非常に簡単なフオーマツトを使用
している。各デイスケツトでは正確に32個のデ
ータ・セツト(ジヨブ)が常に利用可能であ
り、その割振りはデイスケツトのトラツクに応
じて行われるようになつている。デイスケツト
上の文書を探し出すために使用されるデイスケ
ツト・インデツクスの全体は十分に小さいの
で、これをシステム・メモリーに一度に保持す
ることができる。IBM OS/6システムのボ
リユーム・インデツクスは、デイスケツトに冗
長的に記録されている。IBM OS/6システ
ムのデイスケツト・インデツクスは、デイスケ
ツトがその駆動機構へ挿入されるとき、システ
ム・メモリへコピーされるようになつている。
従つて、このインデツクスを検索する動作は、
性能上の問題を惹起しない。
このアプローチの1つの問題は、1デイスケ
ツトあたり正確に32個のジヨブが利用可能でな
ければならないという点にある。一般に、ワー
ド・プロセシング・システムは可変数のデー
タ・セツトを所与のデイスケツト・ボリユーム
に記憶することを必要とするものであり、従つ
て32個以上のデータ・セツトが操作員に利用可
能でなければならない。このことは、1つの記
憶ボリユームが大容量の内部ハード・デイスク
であるようなワード・プロセシング・システム
について特にあてはまる。
ツトあたり正確に32個のジヨブが利用可能でな
ければならないという点にある。一般に、ワー
ド・プロセシング・システムは可変数のデー
タ・セツトを所与のデイスケツト・ボリユーム
に記憶することを必要とするものであり、従つ
て32個以上のデータ・セツトが操作員に利用可
能でなければならない。このことは、1つの記
憶ボリユームが大容量の内部ハード・デイスク
であるようなワード・プロセシング・システム
について特にあてはまる。
このアプローチの他の問題は、デイスケツト
上のスペースが各トラツク単位で特定のデー
タ・セツトへ割振られる、という点にある。つ
まり、平均的な状況では、デイスケツト上の無
駄なスペース(割振られてはいるがデータを実
際に記憶するように使用されていないスペー
ス)は実際に使用されている各ジヨブあたり1/
2トラツクにも達する。言いかえれば、所与の
デイスケツトで利用可能な70トラツクのうち最
大16トラツクが無駄となるのである。
上のスペースが各トラツク単位で特定のデー
タ・セツトへ割振られる、という点にある。つ
まり、平均的な状況では、デイスケツト上の無
駄なスペース(割振られてはいるがデータを実
際に記憶するように使用されていないスペー
ス)は実際に使用されている各ジヨブあたり1/
2トラツクにも達する。言いかえれば、所与の
デイスケツトで利用可能な70トラツクのうち最
大16トラツクが無駄となるのである。
(b) IBMデイスプレイライター・システムは、
拡張ヘツダ・ベル(EHL)と呼ばれるデイス
ケツト・インデツクスとデータ・セツト・ラベ
ル(DSL)と呼ばれるデータ・セツト・イン
デツクスから成る2レベルのデイスケツト・イ
ンデツクスを利用している。EHLはデイスケ
ツト上にあるデータ・セツトの位置を示し、
DSLは既存の各データ・セツトごとに1つず
つ設けられる。EHLは一定サイズであり、
DSLのサイズは対応するデータ・セツトのサ
イズに依存する。文書の或るページを探し出す
には、該当するDSLの開始点から適当な点ま
で探索することにより、このページがデイスケ
ツトのどこに置かれているかを探し出すことが
必要である。
拡張ヘツダ・ベル(EHL)と呼ばれるデイス
ケツト・インデツクスとデータ・セツト・ラベ
ル(DSL)と呼ばれるデータ・セツト・イン
デツクスから成る2レベルのデイスケツト・イ
ンデツクスを利用している。EHLはデイスケ
ツト上にあるデータ・セツトの位置を示し、
DSLは既存の各データ・セツトごとに1つず
つ設けられる。EHLは一定サイズであり、
DSLのサイズは対応するデータ・セツトのサ
イズに依存する。文書の或るページを探し出す
には、該当するDSLの開始点から適当な点ま
で探索することにより、このページがデイスケ
ツトのどこに置かれているかを探し出すことが
必要である。
このアプローチの問題は、デイスケツト上の
EHL又はDSL領域における媒体エラーに対し
非常にもろい、という点にある。もしEHLを
保持する媒体セクタを適正に読取ることができ
なければ、このEHLブロツクによつてアクセ
スされるすべてのデータ・セツト及び後続の
EHLブロツクによつてアクセスされるすべて
のデータ・セツトが失われ、従つて操作員はも
はやこれらのデータ・セツトをアクセスするこ
とができない。DSLについても、同様の問題
が生ずる。すなわち、もし或るDSLセクタを
デイスケツトから適正に読出すことができなけ
れば、このDSLブロツク及びそのすべての後
続ブロツクが失われるので、これらのDSLセ
クタによつてアクセスされるすべてのレコード
も同様に失われことになる。
EHL又はDSL領域における媒体エラーに対し
非常にもろい、という点にある。もしEHLを
保持する媒体セクタを適正に読取ることができ
なければ、このEHLブロツクによつてアクセ
スされるすべてのデータ・セツト及び後続の
EHLブロツクによつてアクセスされるすべて
のデータ・セツトが失われ、従つて操作員はも
はやこれらのデータ・セツトをアクセスするこ
とができない。DSLについても、同様の問題
が生ずる。すなわち、もし或るDSLセクタを
デイスケツトから適正に読出すことができなけ
れば、このDSLブロツク及びそのすべての後
続ブロツクが失われるので、これらのDSLセ
クタによつてアクセスされるすべてのレコード
も同様に失われことになる。
前掲のIBM OS/6システム及びIBMデイ
スプレイライター・システムの他の問題は、デ
イスケツト上の或る物理セクタにエラーのない
ことが、デイスケツトを使用する際の不可欠の
条件である、という点にある。このことはシリ
ンダ0(ホーム位置にある読取/書込ヘツドで
アクセスされるデイスケツト・トラツク)につ
いてあてはまり、ここにはボリユームの残りの
内容を解釈するように標準アーキテクチヤに従
つて構成された或る種の情報を格納することが
必要である。言いかえれば、もし或るデイスケ
ツトのトラツクでエラーが検出されれば、この
デイスケツトをそれ以上使用することができな
いのである。
スプレイライター・システムの他の問題は、デ
イスケツト上の或る物理セクタにエラーのない
ことが、デイスケツトを使用する際の不可欠の
条件である、という点にある。このことはシリ
ンダ0(ホーム位置にある読取/書込ヘツドで
アクセスされるデイスケツト・トラツク)につ
いてあてはまり、ここにはボリユームの残りの
内容を解釈するように標準アーキテクチヤに従
つて構成された或る種の情報を格納することが
必要である。言いかえれば、もし或るデイスケ
ツトのトラツクでエラーが検出されれば、この
デイスケツトをそれ以上使用することができな
いのである。
(c) IBM 3730は、データ・セツト・インデツク
スをデータとともに揮発性の作業記憶に分散式
に記憶させている。各データ・ブロツクは制御
領域を有し、この制御領域には前のブロツク及
び次のブロツクの位置情報が保持されている。
このように現ブロツクは常に前のブロツク及び
次のブロツクを指定しているので、順次アクセ
スについてはこれを非常に高速に行うことがで
きる。
スをデータとともに揮発性の作業記憶に分散式
に記憶させている。各データ・ブロツクは制御
領域を有し、この制御領域には前のブロツク及
び次のブロツクの位置情報が保持されている。
このように現ブロツクは常に前のブロツク及び
次のブロツクを指定しているので、順次アクセ
スについてはこれを非常に高速に行うことがで
きる。
このアプローチの問題は、(データ・セツト
の中間部に置かれたブロツクを直接的に参照す
るようなランダム・アクセスが遅いという点に
ある。というのは、そうするためには先行する
すべてのブロツクを読取らねばならないからで
ある。従つて、ランダム・アクセス時の性能を
向上させるには、ランダム・アクセス用に設定
された他のデータ・セツト・インデツクスを必
要とすることになろう。
の中間部に置かれたブロツクを直接的に参照す
るようなランダム・アクセスが遅いという点に
ある。というのは、そうするためには先行する
すべてのブロツクを読取らねばならないからで
ある。従つて、ランダム・アクセス時の性能を
向上させるには、ランダム・アクセス用に設定
された他のデータ・セツト・インデツクスを必
要とすることになろう。
従つて、本発明の目的は、データ・セツト・イ
ンデツクスを保存することにより、媒体エラーの
ために失われやすい操作データの量を減少させる
とともに、媒体エラーや電源の障害若しくは他の
異常な条件に起因するデータ・セツト若しくはボ
リユーム・インデツクスの不完全な更新の後に回
復される操作データの量を増大させることにあ
る。
ンデツクスを保存することにより、媒体エラーの
ために失われやすい操作データの量を減少させる
とともに、媒体エラーや電源の障害若しくは他の
異常な条件に起因するデータ・セツト若しくはボ
リユーム・インデツクスの不完全な更新の後に回
復される操作データの量を増大させることにあ
る。
前記及び他の目的並びに利点は、本発明によつ
て達成される。簡単に言えば、本発明に従つた方
法及び装置は、情報をアクセスする際に、すなわ
ちDASDから情報を取出すか又はDASDへ情報を
書込む際に、ボリユーム上の重要(クリチカル)
情報を保護するように編成されている。ここで、
重要情報とは、これを失うと相当量の操作データ
が失われ、そしてかかるデータを再び作成するの
に操作員が相当の時間を必要とする。そのような
情報である。本発明の目的は、次の2つの方法を
通して達成される。
て達成される。簡単に言えば、本発明に従つた方
法及び装置は、情報をアクセスする際に、すなわ
ちDASDから情報を取出すか又はDASDへ情報を
書込む際に、ボリユーム上の重要(クリチカル)
情報を保護するように編成されている。ここで、
重要情報とは、これを失うと相当量の操作データ
が失われ、そしてかかるデータを再び作成するの
に操作員が相当の時間を必要とする。そのような
情報である。本発明の目的は、次の2つの方法を
通して達成される。
第1に、通常のシステム動作中に、データ・セ
ツト・インデツクス又はボリユーム・インデツク
スが更新されねばならない場合、重要情報のセク
タが2つのコピーの形で記憶ボリユームへ書込ま
れる。第1のコピーは上位レベルのインデツクス
によつて指示された位置に置かれ、第2のコピー
は第1のコピーから一定距離だけ離れた位置に置
かれる。従つて、もし第1のコピーが置かれたボ
リユーム上の位置が知られているならば、媒体エ
ラーのために第1のコピーを適正に取出すことが
できない場合でも、第2のコピーを探し出すこと
ができる。
ツト・インデツクス又はボリユーム・インデツク
スが更新されねばならない場合、重要情報のセク
タが2つのコピーの形で記憶ボリユームへ書込ま
れる。第1のコピーは上位レベルのインデツクス
によつて指示された位置に置かれ、第2のコピー
は第1のコピーから一定距離だけ離れた位置に置
かれる。従つて、もし第1のコピーが置かれたボ
リユーム上の位置が知られているならば、媒体エ
ラーのために第1のコピーを適正に取出すことが
できない場合でも、第2のコピーを探し出すこと
ができる。
第2に、たとえば或るデータ・セツトの更新が
終了していない場合にデータ・セツト又はボリユ
ーム・インデツクスでエラーが検出されたとき
は、できるだけ多くの情報を回復するようにすべ
てのボリユーム及びデータ・インデツクスがスキ
ヤンされる。このスキヤニング技法は、データ・
セツト・インデツクスに欠陥がないことを仮定し
た通常の記憶アクセス方式(SAM)の動作に使
用されるスキヤニング技法よりも一層完全であ
り、インデツクス構造中のエラーのために通常の
高性能探索ルーチンが探し出すことができないよ
うなデータであつてもこれを探し出すことができ
るのである。
終了していない場合にデータ・セツト又はボリユ
ーム・インデツクスでエラーが検出されたとき
は、できるだけ多くの情報を回復するようにすべ
てのボリユーム及びデータ・インデツクスがスキ
ヤンされる。このスキヤニング技法は、データ・
セツト・インデツクスに欠陥がないことを仮定し
た通常の記憶アクセス方式(SAM)の動作に使
用されるスキヤニング技法よりも一層完全であ
り、インデツクス構造中のエラーのために通常の
高性能探索ルーチンが探し出すことができないよ
うなデータであつてもこれを探し出すことができ
るのである。
第1図を参照するに、図示されたワード・プロ
セシング・システム10はキーボード12を包
み、これは入力されたテキスト及び指令をチヤネ
ル14を介してプロセツサ16へ転送する。プロ
セツサ16はメモリ・バス18へ接続され、該メ
モリ・バスはCRTデイスプレイ20、デイスケ
ツト又はハード・デイスクの如き1以上の直接ア
クセス記憶デバイス(以下DASDと略す)22、
プリンタ24及びランダム・アクセス式のシステ
ム・メモリ(以下メモリと略す)26へ接続され
る。
セシング・システム10はキーボード12を包
み、これは入力されたテキスト及び指令をチヤネ
ル14を介してプロセツサ16へ転送する。プロ
セツサ16はメモリ・バス18へ接続され、該メ
モリ・バスはCRTデイスプレイ20、デイスケ
ツト又はハード・デイスクの如き1以上の直接ア
クセス記憶デバイス(以下DASDと略す)22、
プリンタ24及びランダム・アクセス式のシステ
ム・メモリ(以下メモリと略す)26へ接続され
る。
操作員がキーボード12を介してテキスト・ス
トリームを入力すると、このテキストの各ページ
はメモリ26に記憶され且つそこで処理される。
テキスト・ストリームがメモリ26に受取られる
場合、このストリームはデイスプレイ20にも供
給される。キーボード12を介して入力された
後、テキストはDASD22に記憶されるか又はプ
リンタ24によつて印刷されうる。
トリームを入力すると、このテキストの各ページ
はメモリ26に記憶され且つそこで処理される。
テキスト・ストリームがメモリ26に受取られる
場合、このストリームはデイスプレイ20にも供
給される。キーボード12を介して入力された
後、テキストはDASD22に記憶されるか又はプ
リンタ24によつて印刷されうる。
メモリ26は多数のデータ領域を含み、また記
憶されたテキストを処理するための複数の機能プ
ログラムを含んでいる。テキスト及びそれに関係
する制御機能はテキスト記憶バツフア(以下
TSBと略す)28に記憶される。
憶されたテキストを処理するための複数の機能プ
ログラムを含んでいる。テキスト及びそれに関係
する制御機能はテキスト記憶バツフア(以下
TSBと略す)28に記憶される。
TSB制御ブロツク30はTSB28のデータ領
域として使用され、チヤネル32を介してTSB
28へ接続される。キーボード12を介して各文
字が入力される場合、この文字はキーストロー
ク・サービス・ルーチンの集合34を介してメモ
リ26に受取られる。キーストローク制御ブロツ
ク36は1つのデータ領域であつて、受取られた
文字を処理するための所定のキーストローク・サ
ービス・ルーチンを決定する。このため、キース
トローク制御ブロツク制御ブロツク36はチヤネ
ル38を介してキーストローク・サービス・ルー
チン34へ連結される。さらにキーストローク・
サービス・ルーチン34はチヤネル40を介して
TSB28へ連結され、そしてチヤネル42を介
してTSB制御ブロツク3へ連結される。
域として使用され、チヤネル32を介してTSB
28へ接続される。キーボード12を介して各文
字が入力される場合、この文字はキーストロー
ク・サービス・ルーチンの集合34を介してメモ
リ26に受取られる。キーストローク制御ブロツ
ク36は1つのデータ領域であつて、受取られた
文字を処理するための所定のキーストローク・サ
ービス・ルーチンを決定する。このため、キース
トローク制御ブロツク制御ブロツク36はチヤネ
ル38を介してキーストローク・サービス・ルー
チン34へ連結される。さらにキーストローク・
サービス・ルーチン34はチヤネル40を介して
TSB28へ連結され、そしてチヤネル42を介
してTSB制御ブロツク3へ連結される。
テキストがTSB28へ移動されるか又はそこ
から移動されねばならないことをTSB制御ブロ
ツク30が指示する場合、この移動要求はチヤネ
ル46を介して記憶アクセス方式(以下SAMと
略す)ルーチン44へ通知される。SAMルーチ
ン44は、DASD22とメモリ26との間のすべ
てのデータ移動を制御するために使用される。
(キーボード12、デイスプレイ20又はプリン
タ24との通信が必要とされる場合には、SAM
ルーチン44の代わりにそれぞれのアクセス方式
ルーチンが使用されるが、これらは本発明の要旨
に関係ないので以下省略する。)キーストロー
ク・サービス・ルーチン34は、チヤネル48及
びSAMインタフエース制御ブロツク50を介し
て、SAMルーチンへ他の制御情報及びデータを
通信する。(キーボード12、デイスプレイ20
又はプリンタ24との通信が必要とされる場合に
は、SAMインタフエース制御ブロツク50の代
わりにそれぞれのアクセス方式に対応するインタ
フエース制御ブロツクが使用される。)このSAM
サービス要求を完了した場合、SAMインターフ
エース制御ブロツク50は処理を継続するために
キーストローク・サービス・ルーチン34によつ
て使用されるべき他の情報及びデータを保持して
いる。SAMインタフエース制御ブロツク50は
チヤネル52を介してSAMルーチン44へ接続
される。
から移動されねばならないことをTSB制御ブロ
ツク30が指示する場合、この移動要求はチヤネ
ル46を介して記憶アクセス方式(以下SAMと
略す)ルーチン44へ通知される。SAMルーチ
ン44は、DASD22とメモリ26との間のすべ
てのデータ移動を制御するために使用される。
(キーボード12、デイスプレイ20又はプリン
タ24との通信が必要とされる場合には、SAM
ルーチン44の代わりにそれぞれのアクセス方式
ルーチンが使用されるが、これらは本発明の要旨
に関係ないので以下省略する。)キーストロー
ク・サービス・ルーチン34は、チヤネル48及
びSAMインタフエース制御ブロツク50を介し
て、SAMルーチンへ他の制御情報及びデータを
通信する。(キーボード12、デイスプレイ20
又はプリンタ24との通信が必要とされる場合に
は、SAMインタフエース制御ブロツク50の代
わりにそれぞれのアクセス方式に対応するインタ
フエース制御ブロツクが使用される。)このSAM
サービス要求を完了した場合、SAMインターフ
エース制御ブロツク50は処理を継続するために
キーストローク・サービス・ルーチン34によつ
て使用されるべき他の情報及びデータを保持して
いる。SAMインタフエース制御ブロツク50は
チヤネル52を介してSAMルーチン44へ接続
される。
SAMブロツク54はメモリ・バス18を介し
てDASD22と接続され、PASD22とメモリ2
6との間のデータ転送に対する転送点として使用
される。(キーボード12、デイスプレイ20又
はプリンタ24との通信が必要とされる場合に
は、SAMブロツク54の代わりにそれぞれのア
クセス方式に対応するブロツクが使用される。)
SAMブロツク54はチヤネル56を介してTSB
28と接続される。SAMルーチン44はチヤネ
ル58を介してSAMブロツク54中のデータを
アクセスすることがきる。SAMブロツク54は
チヤネル60を介してSAMインタフエース制御
ブロツク50へ連結されているが、これはキース
トローク・サービス・ルーチン34へ情報及びデ
ータを通信するためである。
てDASD22と接続され、PASD22とメモリ2
6との間のデータ転送に対する転送点として使用
される。(キーボード12、デイスプレイ20又
はプリンタ24との通信が必要とされる場合に
は、SAMブロツク54の代わりにそれぞれのア
クセス方式に対応するブロツクが使用される。)
SAMブロツク54はチヤネル56を介してTSB
28と接続される。SAMルーチン44はチヤネ
ル58を介してSAMブロツク54中のデータを
アクセスすることがきる。SAMブロツク54は
チヤネル60を介してSAMインタフエース制御
ブロツク50へ連結されているが、これはキース
トローク・サービス・ルーチン34へ情報及びデ
ータを通信するためである。
SAM内部制御ブロツク62は、DASD22に
関する現在のステータス及び情報を保持するため
に設けられている。(キーボード12、デイスプ
レイ20又はプリンタ24との通信が必要とされ
る場合には、ブロツク62の代わりにそれぞれの
対応ブロツクが使用される。)DASD22とSAM
内部制御ブロツク62との間の情報転送は、チヤ
ネル64及びSAMブロツク54を介して行われ
る。SAM内部制御ブロツク62中の情報はチヤ
ネル66を介してSAMルーチン44へ通信され、
該ルーチンによつて管理される。SAM内部制御
ブロツク62は、SAMルーチン44及びSAMブ
ロツク54の動作に必要なフラグ及びステータス
情報を記憶するために使用される。
関する現在のステータス及び情報を保持するため
に設けられている。(キーボード12、デイスプ
レイ20又はプリンタ24との通信が必要とされ
る場合には、ブロツク62の代わりにそれぞれの
対応ブロツクが使用される。)DASD22とSAM
内部制御ブロツク62との間の情報転送は、チヤ
ネル64及びSAMブロツク54を介して行われ
る。SAM内部制御ブロツク62中の情報はチヤ
ネル66を介してSAMルーチン44へ通信され、
該ルーチンによつて管理される。SAM内部制御
ブロツク62は、SAMルーチン44及びSAMブ
ロツク54の動作に必要なフラグ及びステータス
情報を記憶するために使用される。
ここで、第1図を参照してワード・プロセシン
グ・システム10の動作を簡単に説明すると、操
作員がキーボード12を介して各キーストローク
を入力する場合、これに対応する信号がチヤネル
14を介してプロセツサ16へ転送され、かくて
該プロセツサはこのキーストローク指令をメモリ
26へ記入する。このようにしてキーストローク
指令を受取ると、キーストローク・サービス・ル
ーチン34のうちでこの特定の指令を処理すべき
所定のルーチンが選択される。当該キーストロー
ク指令はそれが制御指令又はグラフイツク・エン
トリのどちらであるかに応じて処理され、そして
その処理結果はTSB28へ記入される。これら
のグラフイツク及び指令がTSB28に順次に累
積されるる間、テキスト情報はデイスプレイ20
に供給される。TSB28が必要なテキスト及び
指令を保持するに十分でない危険がある場合、キ
ーストローク・サービス・ルーチン34はSAM
インタフエース制御ブロツク50に制御情報を記
憶することにより、SAMルーチン44をして
DASD22へ情報ブロツク(レコード)を転送さ
せるようにする。
グ・システム10の動作を簡単に説明すると、操
作員がキーボード12を介して各キーストローク
を入力する場合、これに対応する信号がチヤネル
14を介してプロセツサ16へ転送され、かくて
該プロセツサはこのキーストローク指令をメモリ
26へ記入する。このようにしてキーストローク
指令を受取ると、キーストローク・サービス・ル
ーチン34のうちでこの特定の指令を処理すべき
所定のルーチンが選択される。当該キーストロー
ク指令はそれが制御指令又はグラフイツク・エン
トリのどちらであるかに応じて処理され、そして
その処理結果はTSB28へ記入される。これら
のグラフイツク及び指令がTSB28に順次に累
積されるる間、テキスト情報はデイスプレイ20
に供給される。TSB28が必要なテキスト及び
指令を保持するに十分でない危険がある場合、キ
ーストローク・サービス・ルーチン34はSAM
インタフエース制御ブロツク50に制御情報を記
憶することにより、SAMルーチン44をして
DASD22へ情報ブロツク(レコード)を転送さ
せるようにする。
操作員は、制御指令を通して、メモリ26、デ
イスプレイ20、DASD22及びプリンタ24の
間で情報を転送させることができる。また選択さ
れたページをDASD22からメモリ26へ呼出す
ことができるので、操作員はテキストを変更及び
訂正してこれをDASD22へ再び記入したり、プ
リンタ24で印刷させることができる。
イスプレイ20、DASD22及びプリンタ24の
間で情報を転送させることができる。また選択さ
れたページをDASD22からメモリ26へ呼出す
ことができるので、操作員はテキストを変更及び
訂正してこれをDASD22へ再び記入したり、プ
リンタ24で印刷させることができる。
第2図には、プロセツサ16の代表的なハード
ウエア要素が詳細に図示されている。プロセツサ
16は市販されているものでよく、たとえばイン
テル社のマイクロプロセツサ8086を使用する
ことができる。
ウエア要素が詳細に図示されている。プロセツサ
16は市販されているものでよく、たとえばイン
テル社のマイクロプロセツサ8086を使用する
ことができる。
このようなプロセツサ16は制御ユニツト80
を含み、該ユニツトはキーボード12、DASD2
2又はプリンタ24からデバイス・バス82に生
ぜられるような割込信号に応答する。また、制御
ユニツト80はデータ及びアドレス転送用の内部
バス84へ接続され、該バスはプロセツサ16の
他のユニツトへ相互接続されている。
を含み、該ユニツトはキーボード12、DASD2
2又はプリンタ24からデバイス・バス82に生
ぜられるような割込信号に応答する。また、制御
ユニツト80はデータ及びアドレス転送用の内部
バス84へ接続され、該バスはプロセツサ16の
他のユニツトへ相互接続されている。
制御ユニツト80はメモリ26からの取出命令
に応答して制御信号を発生し、該制御信号をプロ
セツサ16の他のユニツトへ供給する。これらの
制御信号は制御線86を介して種々のユニツトへ
供給されるが、第2図では制御線86は演算論理
ユニツト(ALU)88へ直線的に接続されるよ
うに図示されているに過ぎない。制御ユニツト8
0と他のユニツトとの同期動作は、外部クロツク
源(図示せず)からプロセツサ16へ供給される
クロツク・パルス入力によつて達成される。外部
クロツク源によつて発生されたクロツク・パルス
は、バス90を介して他のユニツトへそれぞれ転
送される。
に応答して制御信号を発生し、該制御信号をプロ
セツサ16の他のユニツトへ供給する。これらの
制御信号は制御線86を介して種々のユニツトへ
供給されるが、第2図では制御線86は演算論理
ユニツト(ALU)88へ直線的に接続されるよ
うに図示されているに過ぎない。制御ユニツト8
0と他のユニツトとの同期動作は、外部クロツク
源(図示せず)からプロセツサ16へ供給される
クロツク・パルス入力によつて達成される。外部
クロツク源によつて発生されたクロツク・パルス
は、バス90を介して他のユニツトへそれぞれ転
送される。
プロセツサ16で処理すべきデータ及び命令
は、バス制御ユニツト92を介して入力される。
また処理すべきデータがプログラムI/O制御ユ
ニツト94から入力されることもある。バス制御
ユニツト92はメモリ26の記憶要素を相互接続
するとともに、I/O制御ユニツト94又はメモ
リ26から受取られたデータを処理するための命
令を受取る。かくて、I/O制御ユニツト94は
キーボード12、DASD22又はメモリ26から
のデータを受取るのに対し、バス制御ユニツト9
2はメモリ26から命令及び/又はデータを受取
る。しかしながら、メモリ26の互いに異なるセ
クシヨンを命令メモリ及びデータ・メモリとして
使用することも可能であるという点に注意すべき
である。
は、バス制御ユニツト92を介して入力される。
また処理すべきデータがプログラムI/O制御ユ
ニツト94から入力されることもある。バス制御
ユニツト92はメモリ26の記憶要素を相互接続
するとともに、I/O制御ユニツト94又はメモ
リ26から受取られたデータを処理するための命
令を受取る。かくて、I/O制御ユニツト94は
キーボード12、DASD22又はメモリ26から
のデータを受取るのに対し、バス制御ユニツト9
2はメモリ26から命令及び/又はデータを受取
る。しかしながら、メモリ26の互いに異なるセ
クシヨンを命令メモリ及びデータ・メモリとして
使用することも可能であるという点に注意すべき
である。
プロセツサ16からのデバイス制御情報は、プ
ログラムI/O制御ユニツト94を介してI/O
データ・バス98に供給される。キーボード12
又は他のデバイスからI/Oデータ・バス98に
供給される入力データは、メモリ・バス18及び
内部バス84を介して制御ユニツト80へ供給さ
れる命令の制御下で、ALU88によつて最初に
処理される。ALU88は線86上の制御信号に
応答してこの命令に従つた演算を遂行するととも
に、その結果をスクラツチ・レジスタ102に記
憶することができる。
ログラムI/O制御ユニツト94を介してI/O
データ・バス98に供給される。キーボード12
又は他のデバイスからI/Oデータ・バス98に
供給される入力データは、メモリ・バス18及び
内部バス84を介して制御ユニツト80へ供給さ
れる命令の制御下で、ALU88によつて最初に
処理される。ALU88は線86上の制御信号に
応答してこの命令に従つた演算を遂行するととも
に、その結果をスクラツチ・レジスタ102に記
憶することができる。
もちろん、ALU88と他のユニツトとの間で
他の種々のデータ転送を行うことも可能である。
たとえば、ALU88から内部バス84を介しプ
ログラム・カウンタ104、データ・ポインタ・
レジスタ106又はステータス・レジスタ110
へデータを転送することが可能である。
他の種々のデータ転送を行うことも可能である。
たとえば、ALU88から内部バス84を介しプ
ログラム・カウンタ104、データ・ポインタ・
レジスタ106又はステータス・レジスタ110
へデータを転送することが可能である。
プロセツサ16の特定の動作は、メモリ・バス
18にある命令及びデータと双方向性のI/Oデ
ータ・バス98にある入力データとによつて決定
される。たとえば、プロセツサ16は受取られた
命令に応答して、スクラツチ・レジスタ102中
の記憶データを、レジスタ106,108又は1
10のうち任意のレジスタへ転送する。第2図に
図示されているプロセツサ16のかかる動作は当
業者には明らかであるし、またこれは本発明の要
旨には関係がないので、以下では各動作の説明を
省略する。
18にある命令及びデータと双方向性のI/Oデ
ータ・バス98にある入力データとによつて決定
される。たとえば、プロセツサ16は受取られた
命令に応答して、スクラツチ・レジスタ102中
の記憶データを、レジスタ106,108又は1
10のうち任意のレジスタへ転送する。第2図に
図示されているプロセツサ16のかかる動作は当
業者には明らかであるし、またこれは本発明の要
旨には関係がないので、以下では各動作の説明を
省略する。
DASD22上の記憶媒体に記憶されたページ
は、複数のレコード(適当なサイズを有するるテ
キスト単位)へ区分される。レコードは最大のサ
イズを有する。かくて、各ページは少くとも1つ
のレコードから成り、多くの場合はそれ以上のレ
コードから成る。各ページ中のレコード数及び各
文書中のページ数は不定であり、当該データ・セ
ツトを記憶すべき記憶ボリユームの容量によつて
制限されるに過ぎない。ワード・プロセシング・
システム10では、各データ・セツトはDASD2
2中の単一のデイスケツトに記憶されるか又はハ
ード・デイスクに記憶される。もしワード・ブロ
セシング・システム10へ記入中の或る文書が単
一のデイスケツトに収まりきらなければ、操作員
は現在のデイスケツト又はハード・デイスクに対
する記入動作を終了するとともに、他のデイスケ
ツト上の別のデータ・セツトにこの文書を継続し
て記入するようにしなければならない。
は、複数のレコード(適当なサイズを有するるテ
キスト単位)へ区分される。レコードは最大のサ
イズを有する。かくて、各ページは少くとも1つ
のレコードから成り、多くの場合はそれ以上のレ
コードから成る。各ページ中のレコード数及び各
文書中のページ数は不定であり、当該データ・セ
ツトを記憶すべき記憶ボリユームの容量によつて
制限されるに過ぎない。ワード・プロセシング・
システム10では、各データ・セツトはDASD2
2中の単一のデイスケツトに記憶されるか又はハ
ード・デイスクに記憶される。もしワード・ブロ
セシング・システム10へ記入中の或る文書が単
一のデイスケツトに収まりきらなければ、操作員
は現在のデイスケツト又はハード・デイスクに対
する記入動作を終了するとともに、他のデイスケ
ツト上の別のデータ・セツトにこの文書を継続し
て記入するようにしなければならない。
DASD22上の記憶媒体は、当技術分野では周
知のように、複数のセクタへ区分される。セクタ
の概念は当技術分野では周知であると考えられる
ので、本発明を理解するのにその詳細な説明は不
要であろう。ワード・プロセシング・システム1
0では、記憶媒体上の各セクタは一意的な論理セ
クタ番号を割振られている。但し、これらの論理
セクタ番号はゼロから始まる連続的な正の整数で
ある。論理セクタ番号の各々が記憶ボリユーム上
にある唯1つの物理領域に対応する限り、特定の
論理セクタ番号が記憶媒体上のどの物理領域に対
応するかということは、本発明を理解する上で重
要なことではない。複数の論理セクタ番号が連続
的な整数である場合は、これらの論理セクタは連
続的であるとみなされる。
知のように、複数のセクタへ区分される。セクタ
の概念は当技術分野では周知であると考えられる
ので、本発明を理解するのにその詳細な説明は不
要であろう。ワード・プロセシング・システム1
0では、記憶媒体上の各セクタは一意的な論理セ
クタ番号を割振られている。但し、これらの論理
セクタ番号はゼロから始まる連続的な正の整数で
ある。論理セクタ番号の各々が記憶ボリユーム上
にある唯1つの物理領域に対応する限り、特定の
論理セクタ番号が記憶媒体上のどの物理領域に対
応するかということは、本発明を理解する上で重
要なことではない。複数の論理セクタ番号が連続
的な整数である場合は、これらの論理セクタは連
続的であるとみなされる。
第3図には、或るテキスト文書がDASD22上
の1つのデータ・セツト120へ編成されている
1つの例が示されている。例示したデータ・セツ
ト120は、データ・セツト・インデツクス12
2と3つのテキスト・ページ、即ちページ1(1
24)、ページ2(126)及びページ3(128)
から成る。ページ1(124)は3つのレコード、
即ちレコード0(130)、レコード1(132)
及びレコード2(134)を有する。ページ2(1
26)は単一のレコード0(130)を有するに
過ぎない。ページ3(128)はつのレコード、
即ちレコード0(136)及びレコード1(13
8)を有する。
の1つのデータ・セツト120へ編成されている
1つの例が示されている。例示したデータ・セツ
ト120は、データ・セツト・インデツクス12
2と3つのテキスト・ページ、即ちページ1(1
24)、ページ2(126)及びページ3(128)
から成る。ページ1(124)は3つのレコード、
即ちレコード0(130)、レコード1(132)
及びレコード2(134)を有する。ページ2(1
26)は単一のレコード0(130)を有するに
過ぎない。ページ3(128)はつのレコード、
即ちレコード0(136)及びレコード1(13
8)を有する。
データ・セツト・インデツクス122は、デー
タ・セツト120の前記ページが置かれている記
憶媒体上の位置を決定するために第2図のSAM
ルーチン44によつて使用される。データ・セツ
ト・インデツクス122は文書の各ページごとに
1つのインデツクス・エントリを含み、この例で
はページ1ないしページ3にそれぞれ対応するイ
ンデツクス・エントリ140,142及び144
を含んでいる。
タ・セツト120の前記ページが置かれている記
憶媒体上の位置を決定するために第2図のSAM
ルーチン44によつて使用される。データ・セツ
ト・インデツクス122は文書の各ページごとに
1つのインデツクス・エントリを含み、この例で
はページ1ないしページ3にそれぞれ対応するイ
ンデツクス・エントリ140,142及び144
を含んでいる。
所望のページを速かに探し出すことができるよ
うに、各ページ・インデツクス・エントリは該エ
ントリによつて参照されるページを識別するため
の1つのページ・キーを含む。かくて、この例で
は、ページ1・キー146、ページ2・キー14
8及びページ3・キー150が含まれている。た
とえば、ページ2(126)を探し出すためには、
そのキーとページ1・キー146を単に比較する
だけでページ1・インデツクス・エントリ140
が適切でないことがわかる。ワード・プロセシン
グ・システム10では、各データ・セツト・イン
デツクス中のすべてのページ・キーは一意的でな
ければならない。
うに、各ページ・インデツクス・エントリは該エ
ントリによつて参照されるページを識別するため
の1つのページ・キーを含む。かくて、この例で
は、ページ1・キー146、ページ2・キー14
8及びページ3・キー150が含まれている。た
とえば、ページ2(126)を探し出すためには、
そのキーとページ1・キー146を単に比較する
だけでページ1・インデツクス・エントリ140
が適切でないことがわかる。ワード・プロセシン
グ・システム10では、各データ・セツト・イン
デツクス中のすべてのページ・キーは一意的でな
ければならない。
或るページの各レコードは、そのインデツク
ス・エントリのレコード記述子を通して探し出さ
れる。各レコードは、記憶ボリユームにある連続
的な1組の論理セクタに記憶される。或るレコー
ドに割振られる論理セクタの数は、このレコード
を保持するに必要なセクタの最小の数に対応す
る。これらのセクタは全体としてそのまま割振ら
れるのである。レコード記述子は、当該レコード
を保持する記憶媒体上の論理セクタのうち、最小
の論理セクタ番号を有する論理セクタ位置を指示
する。またレコード記述子は、当該レコードの長
さも指示する。たとえば第3図では、ページ1・
レコード0(130)に対するレコード記述子は、
ページ1・インデツクス・エントリ140におい
てレコード0・記述子152として設けられてい
る。ページ1(124)の残りのレコードは、レ
コード1・記述子154及びレコード2・記述子
156によつて記述される。単のレコードを保持
するページ2(126)の記憶媒体上の位置は、
ページ2・インデツクス・エントリ142に設け
られたレコード0・記述子158によつて決定さ
れる。前述と同様に、ページ3・インデツクス・
エントリ144はレコード0・記述子160及び
レコード1・記述子162を含み、これらによつ
てページ3のレコード0(136)及びレコード
1(138)をそれぞれ探し出す。
ス・エントリのレコード記述子を通して探し出さ
れる。各レコードは、記憶ボリユームにある連続
的な1組の論理セクタに記憶される。或るレコー
ドに割振られる論理セクタの数は、このレコード
を保持するに必要なセクタの最小の数に対応す
る。これらのセクタは全体としてそのまま割振ら
れるのである。レコード記述子は、当該レコード
を保持する記憶媒体上の論理セクタのうち、最小
の論理セクタ番号を有する論理セクタ位置を指示
する。またレコード記述子は、当該レコードの長
さも指示する。たとえば第3図では、ページ1・
レコード0(130)に対するレコード記述子は、
ページ1・インデツクス・エントリ140におい
てレコード0・記述子152として設けられてい
る。ページ1(124)の残りのレコードは、レ
コード1・記述子154及びレコード2・記述子
156によつて記述される。単のレコードを保持
するページ2(126)の記憶媒体上の位置は、
ページ2・インデツクス・エントリ142に設け
られたレコード0・記述子158によつて決定さ
れる。前述と同様に、ページ3・インデツクス・
エントリ144はレコード0・記述子160及び
レコード1・記述子162を含み、これらによつ
てページ3のレコード0(136)及びレコード
1(138)をそれぞれ探し出す。
ワード・プロセシング・システム10のDASD
22に記憶されたデータ・セツトのデータ・セツ
ト・インデツクス122は、複数のノード(節)
へ区分される。このようにして区分された各イン
デツクス・ノードは、それぞれ1つの論理セクタ
に記憶される。もし、当該データ・セツトへテキ
ストを追加したとき1つのインデツクス・ノード
に置かれる情報の量が1つの論理セクタに記憶可
能な量を越えるようになれば、このインデツク
ス・ノードを2つ以上のインデツクス・ノードへ
分割し、そして分割後の各インデツクス・ノード
をそれぞれ1つの論理セクタに保持させるように
することができる。すべてのデータ・セツトはそ
れぞれ少くとも1つのインデツクス・ノードを有
する。
22に記憶されたデータ・セツトのデータ・セツ
ト・インデツクス122は、複数のノード(節)
へ区分される。このようにして区分された各イン
デツクス・ノードは、それぞれ1つの論理セクタ
に記憶される。もし、当該データ・セツトへテキ
ストを追加したとき1つのインデツクス・ノード
に置かれる情報の量が1つの論理セクタに記憶可
能な量を越えるようになれば、このインデツク
ス・ノードを2つ以上のインデツクス・ノードへ
分割し、そして分割後の各インデツクス・ノード
をそれぞれ1つの論理セクタに保持させるように
することができる。すべてのデータ・セツトはそ
れぞれ少くとも1つのインデツクス・ノードを有
する。
各データ・セツトごとに、ルート・ノード(根
幹の節)と呼ばれる一意的な1つのインデツク
ス・ノードがある。これに対し、リーフ・ノード
(葉の節)と呼ばれるインデツクス・ノードがあ
るが、このリーフ・ノードはそのインデツクス・
エントリによつてページを直接的に参照するよう
なものである。第4A図に例示されたデータ・セ
ツト・インデツクスは十分に小さく、必要とされ
る単一のリーフ・ノードとルート・ノードが同じ
ノードであるので、ルート/リーフノード170
と呼ばれる。ルート/リーフ・ノード170は、
データ・セツト・プロフイル172とインデツク
ス構成要素174を含む。データ・セツト・プロ
フイル172は、全体として当該データ・セツト
に関係する情報及びステータスを保持する。デー
タ・セツト名176は、操作員がアクセスすべき
文書を選択することを可能にするようなテキス
ト・グラフイツクを保持する。データ・セツト・
コメント178は当該文書に関する記述情報の追
加スペースを与えるので、操作員がデータ・セツ
ト名176の1部として記入したくない情報をこ
こに置くことができる。
幹の節)と呼ばれる一意的な1つのインデツク
ス・ノードがある。これに対し、リーフ・ノード
(葉の節)と呼ばれるインデツクス・ノードがあ
るが、このリーフ・ノードはそのインデツクス・
エントリによつてページを直接的に参照するよう
なものである。第4A図に例示されたデータ・セ
ツト・インデツクスは十分に小さく、必要とされ
る単一のリーフ・ノードとルート・ノードが同じ
ノードであるので、ルート/リーフノード170
と呼ばれる。ルート/リーフ・ノード170は、
データ・セツト・プロフイル172とインデツク
ス構成要素174を含む。データ・セツト・プロ
フイル172は、全体として当該データ・セツト
に関係する情報及びステータスを保持する。デー
タ・セツト名176は、操作員がアクセスすべき
文書を選択することを可能にするようなテキス
ト・グラフイツクを保持する。データ・セツト・
コメント178は当該文書に関する記述情報の追
加スペースを与えるので、操作員がデータ・セツ
ト名176の1部として記入したくない情報をこ
こに置くことができる。
第4B図では、ルート/リーフ・ノード170
のインデツクス構成要素174に関する一層詳細
な情報が示されている。リーフ・ノードのインデ
ツクス構成要素180は、当該文書のページを直
接的にポイントするような複数のインデツクス・
エントリを含む。図示の例では、インデツクス構
成要素180は、ページN1・インデツクス・エ
ントリ182及びページN2・インデツクス・エ
ントリ184を含む。但し、N1及N2は当該文
書における1対の連続ページのページ番号を表わ
す。ページN1・インデツクス・エントリ182
は、ページN1・キー186とページN1中の各
レコードごとに1つのレコード記述子、即ちこの
例ではレコード0・記述子188及びレコード
1・記述子190を保持する。同様に、ページN
2・インデツクス・エントリ177はページN
2・キー181を保持し、そしてレコード0・記
述子182及びレコード1・記述子183を保持
する。
のインデツクス構成要素174に関する一層詳細
な情報が示されている。リーフ・ノードのインデ
ツクス構成要素180は、当該文書のページを直
接的にポイントするような複数のインデツクス・
エントリを含む。図示の例では、インデツクス構
成要素180は、ページN1・インデツクス・エ
ントリ182及びページN2・インデツクス・エ
ントリ184を含む。但し、N1及N2は当該文
書における1対の連続ページのページ番号を表わ
す。ページN1・インデツクス・エントリ182
は、ページN1・キー186とページN1中の各
レコードごとに1つのレコード記述子、即ちこの
例ではレコード0・記述子188及びレコード
1・記述子190を保持する。同様に、ページN
2・インデツクス・エントリ177はページN
2・キー181を保持し、そしてレコード0・記
述子182及びレコード1・記述子183を保持
する。
所与のインデツクス構成要素では、そのインデ
ツクス・エントリはページ・キーの昇順に記憶さ
れている。従つて、もし当該文書中のページN1
及びN2が同じリーフ・ノードで参照され、そし
てページN1の直後にページN2が続くのであれ
ば、ページN1・インデツクス・エントリ176
の直後にページN2・インデツクス・エントリ1
77が続くように配列される。
ツクス・エントリはページ・キーの昇順に記憶さ
れている。従つて、もし当該文書中のページN1
及びN2が同じリーフ・ノードで参照され、そし
てページN1の直後にページN2が続くのであれ
ば、ページN1・インデツクス・エントリ176
の直後にページN2・インデツクス・エントリ1
77が続くように配列される。
第4C図には、第4A図のノード・ヘツダ17
1が一層詳細に図示されている。ノード・ヘツダ
171は、データ・セツト・インデツクスの一部
として当該インデツクス・ノードに関する情報を
与える。第4C図に示したフオーマツトはすべて
のインデツクス・ノードに共通であるが、各フイ
ードの内容はデータ・セツトごとに異なることが
あり、また同じデータ・セツトでもインデツク
ス・ノードごとに異なることがある。ノード長1
84は当該インデツクス・ノードで使用可能なデ
ータの全体的長さを保持する。ノード長の値と
DASD22のセクタ・サイズとの差は、当該イン
デツクス・ノードが充満する前の残存スペース量
を指示する。
1が一層詳細に図示されている。ノード・ヘツダ
171は、データ・セツト・インデツクスの一部
として当該インデツクス・ノードに関する情報を
与える。第4C図に示したフオーマツトはすべて
のインデツクス・ノードに共通であるが、各フイ
ードの内容はデータ・セツトごとに異なることが
あり、また同じデータ・セツトでもインデツク
ス・ノードごとに異なることがある。ノード長1
84は当該インデツクス・ノードで使用可能なデ
ータの全体的長さを保持する。ノード長の値と
DASD22のセクタ・サイズとの差は、当該イン
デツクス・ノードが充満する前の残存スペース量
を指示する。
オブジエクト識別子(ID)185はこのイン
デツクス・ノードが属するデータ・セツトのタイ
プを示し、これはオブジエクト属性186及びオ
ブジエクト・タイプ187から成る。オブジエク
ト・タイプ187はデータ・セツトの一般的なタ
イプを示す。たとえば、すべてのテキスト文書は
同じオブジエクト・タイプを有する。オブジエク
ト属性186は、このインデツクス・ノードが或
る下位レベルのデータ・セツトはデータセツトの
インデツクス(デイレクトリ)のどちらに属する
のはということを示す。
デツクス・ノードが属するデータ・セツトのタイ
プを示し、これはオブジエクト属性186及びオ
ブジエクト・タイプ187から成る。オブジエク
ト・タイプ187はデータ・セツトの一般的なタ
イプを示す。たとえば、すべてのテキスト文書は
同じオブジエクト・タイプを有する。オブジエク
ト属性186は、このインデツクス・ノードが或
る下位レベルのデータ・セツトはデータセツトの
インデツクス(デイレクトリ)のどちらに属する
のはということを示す。
ノード階層188は、インデツクス・ノードの
タイプを示す。インデツクス・ノードの種々のタ
イプには、ルート・ノード(主面なデータ・セツ
ト・ノード)、リーフ・ノード(データ・セツト
のレコードを直接的にポイントするノード)、ル
ート/リーフ・ノード(ルート・ノード及びリー
フ・ノードの組合せ)及び中間ノードがある。第
4A図は、小さなデータ・セツトに対するルー
ト/リーフ・ノード170を示す。
タイプを示す。インデツクス・ノードの種々のタ
イプには、ルート・ノード(主面なデータ・セツ
ト・ノード)、リーフ・ノード(データ・セツト
のレコードを直接的にポイントするノード)、ル
ート/リーフ・ノード(ルート・ノード及びリー
フ・ノードの組合せ)及び中間ノードがある。第
4A図は、小さなデータ・セツトに対するルー
ト/リーフ・ノード170を示す。
ノード・レベル189は、当該ノードがデー
タ・セツト中で占めるレベルを示す。リーフ・ノ
ードは常にノード・レベル値として0を有し、こ
のことはルート・リーフ・ノードにもあてはま
る。というのは、当該ノードがルート・ノードで
あると同時に、リーフ・ノードでもあるからであ
る。もし当該データ・セツトが複数のインデツク
ス・ノードを必要とするような大きなものであれ
ばインデツクス中の任意のノードに対するノー
ド・レベルはリーフ・レベルからの距離を示す。
かくて、ルート・ノードのノード・レベルは常に
当該データ・セツトにおけるレベルの最大数を示
す。なぜなら、SAMルーチン44はルート・ノ
ードから任意のリーフ・ノードへのレベル数が等
しいことを保証するからである。
タ・セツト中で占めるレベルを示す。リーフ・ノ
ードは常にノード・レベル値として0を有し、こ
のことはルート・リーフ・ノードにもあてはま
る。というのは、当該ノードがルート・ノードで
あると同時に、リーフ・ノードでもあるからであ
る。もし当該データ・セツトが複数のインデツク
ス・ノードを必要とするような大きなものであれ
ばインデツクス中の任意のノードに対するノー
ド・レベルはリーフ・レベルからの距離を示す。
かくて、ルート・ノードのノード・レベルは常に
当該データ・セツトにおけるレベルの最大数を示
す。なぜなら、SAMルーチン44はルート・ノ
ードから任意のリーフ・ノードへのレベル数が等
しいことを保証するからである。
トリーID190はノード・ヘツダの最終部分
であり、記憶ボリユーム上の当該データ・セツト
について一意的であるようなデータ・セツトID
を保持する。同じデータ・セツトにあるすべての
インデツクス・ノードは同じトリーIDを有し、
異なるデータ・セツトに属するインデツクス・ノ
ードは異なるトリーIDを有する。トリーIDはデ
ータ・セツトの作成時に割振られ、同じDASD2
2に同じデータ・セツトが存在する限り再び割振
られることはない。
であり、記憶ボリユーム上の当該データ・セツト
について一意的であるようなデータ・セツトID
を保持する。同じデータ・セツトにあるすべての
インデツクス・ノードは同じトリーIDを有し、
異なるデータ・セツトに属するインデツクス・ノ
ードは異なるトリーIDを有する。トリーIDはデ
ータ・セツトの作成時に割振られ、同じDASD2
2に同じデータ・セツトが存在する限り再び割振
られることはない。
操作員が当該文書に多くのテキスト・レコード
及びページを追加する場合には、ルート/リー
フ・ノード170のインデツクス構成要素174
は結果的にこれらのエントリを保持することがで
きなくなる。このような場合、ルート/リーフ・
ノード170は適当に分割され、たとえば第5A
図に示すように、1つのルート・ノード200、
1つのリーフ・ノードA(202)及び1つのリ
ーフ・ノードB(204)へ分割される。ルー
ト・ノード200は、ルート/リーフ・ノード1
70と同じデータ・セツト・プロフイル172と
ルート/中間インデツクス構成要素205を含
む。リーフ・ノードA(202)はリーフ・ノー
ド・チエーン206及びインデツクス構成要素2
08を含み、一方、リーフ・ノードB(204)
はリーフ・ノード・チエーン210及びインデツ
クス構成要素212を含む。第4C図を参照する
に、第5A図に示したルート・ノード200のノ
ード・レベル189は値1を有し、リーフ・ノー
ド202及び204のノード・レベル189は値
0を有する。
及びページを追加する場合には、ルート/リー
フ・ノード170のインデツクス構成要素174
は結果的にこれらのエントリを保持することがで
きなくなる。このような場合、ルート/リーフ・
ノード170は適当に分割され、たとえば第5A
図に示すように、1つのルート・ノード200、
1つのリーフ・ノードA(202)及び1つのリ
ーフ・ノードB(204)へ分割される。ルー
ト・ノード200は、ルート/リーフ・ノード1
70と同じデータ・セツト・プロフイル172と
ルート/中間インデツクス構成要素205を含
む。リーフ・ノードA(202)はリーフ・ノー
ド・チエーン206及びインデツクス構成要素2
08を含み、一方、リーフ・ノードB(204)
はリーフ・ノード・チエーン210及びインデツ
クス構成要素212を含む。第4C図を参照する
に、第5A図に示したルート・ノード200のノ
ード・レベル189は値1を有し、リーフ・ノー
ド202及び204のノード・レベル189は値
0を有する。
リーフ・ノードA(202)及びリーフ・ノー
ドB(204)のインデツクス構成要素208及
び212は、第4A図におけるルート/リーフ・
ノード170のインデツクス構成要素174(詳
細については第4B図のインデツクス構成要素1
80を参照のこと)と同じ情報を保持する。第5
A図の例では、インデツクス構成要素180は2
つのインデツクス構成要素208及び212に分
割されており、ページN1及びその前にあるすべ
てのページのインデツクス・エントリがリーフ・
ノードA(202)のインデツクス構成要素20
8に記憶されるのに対し、ページN2ないしZ
(当該文書の最終ページ)のインデツクス・エン
トリはリーフ・ノードB(204)のインデツク
ス構成要素212に記憶される。このことは、ペ
ージN1・インデツクス・エントリ182がイン
デツクス構成要素208中の最後のインデツク
ス・エントリであり、そしてページN2・インデ
ツクス・エントリ184がインデツクス構成要素
212中の最初のインデツクス・エントリである
ことを暗示する。この例では、ページZは当該文
書の最終ページであるから、ページZ・インデツ
クス・エントリ214はインデツクス構成要素2
12の最後のインデツクス・エントリである。
ドB(204)のインデツクス構成要素208及
び212は、第4A図におけるルート/リーフ・
ノード170のインデツクス構成要素174(詳
細については第4B図のインデツクス構成要素1
80を参照のこと)と同じ情報を保持する。第5
A図の例では、インデツクス構成要素180は2
つのインデツクス構成要素208及び212に分
割されており、ページN1及びその前にあるすべ
てのページのインデツクス・エントリがリーフ・
ノードA(202)のインデツクス構成要素20
8に記憶されるのに対し、ページN2ないしZ
(当該文書の最終ページ)のインデツクス・エン
トリはリーフ・ノードB(204)のインデツク
ス構成要素212に記憶される。このことは、ペ
ージN1・インデツクス・エントリ182がイン
デツクス構成要素208中の最後のインデツク
ス・エントリであり、そしてページN2・インデ
ツクス・エントリ184がインデツクス構成要素
212中の最初のインデツクス・エントリである
ことを暗示する。この例では、ページZは当該文
書の最終ページであるから、ページZ・インデツ
クス・エントリ214はインデツクス構成要素2
12の最後のインデツクス・エントリである。
第5A図及び第5B図に示されたインデツクス
構造によれば、所望のページに対するリーフ・ノ
ードを速やかに選択することができる。ルート・
ノードのインデツクス構成要素を探索し且つ所望
のページのキーを各インデツクス・エントリのキ
ーと比較する間、所望のページのキーよりも大き
いページ・キーを保持するルート・ノード200
中の最初のインデツクス・エントリは、所望のペ
ージ(但し、当該文書中に存在するものとする)
を探し出すに必要なインデツクス・エントリを保
持すべき特定のリーフ・ノードを参照する。
構造によれば、所望のページに対するリーフ・ノ
ードを速やかに選択することができる。ルート・
ノードのインデツクス構成要素を探索し且つ所望
のページのキーを各インデツクス・エントリのキ
ーと比較する間、所望のページのキーよりも大き
いページ・キーを保持するルート・ノード200
中の最初のインデツクス・エントリは、所望のペ
ージ(但し、当該文書中に存在するものとする)
を探し出すに必要なインデツクス・エントリを保
持すべき特定のリーフ・ノードを参照する。
一般にスクローリングと呼ばれるような文書の
順次的な表示又は訂正を容易にするために、リー
フ・ノード・チエーンが設けられている。これに
よれば、表示点又は訂正点が適切なリーフ・ノー
ドのインデツクス構成要素の終りで参照されるレ
コードに到達する場合は、当該文書のルート・ノ
ードを参照することなく次位(又は前位)のリー
フ・ノードを探し出すことができる。リーフ・ノ
ードA(202)のリーフ・ノード・チエーン2
06は2つの論理セクタ番号(LSN)、すなわち
前位リーフ・LSN216及び次位リーフ・LSN
218を含む。第5A図の例では、リーフ・ノー
ドA(202)は当該文書の第1ページに対する
インデツクス・エントリを保持するので、その前
位リーフは存在しない。従つて、その前位リー
フ・LSN216は、SAMルーチン44によつて
無効な論理セクタ番号として認識されるような値
にセツトされる。リーフ・ノードA(202)の
次位リーフ・LSN218は、リーフ・ノードB
(204)の論理セクタ番号を保持する。同様に、
リーフ・ノードB(204)のリーフ・ノード・
チエーン210にある前位リーフ・LSN220
はリーフ・ノードA(202)の論理セクタ番号
保持する。また、リーフ・ノードB(204)は
当該文書の最終ページに対するインデツクス・エ
ントリを保持しているので、次位リーフ・LSN
222は無効な論理セクタ番号を保持する。
順次的な表示又は訂正を容易にするために、リー
フ・ノード・チエーンが設けられている。これに
よれば、表示点又は訂正点が適切なリーフ・ノー
ドのインデツクス構成要素の終りで参照されるレ
コードに到達する場合は、当該文書のルート・ノ
ードを参照することなく次位(又は前位)のリー
フ・ノードを探し出すことができる。リーフ・ノ
ードA(202)のリーフ・ノード・チエーン2
06は2つの論理セクタ番号(LSN)、すなわち
前位リーフ・LSN216及び次位リーフ・LSN
218を含む。第5A図の例では、リーフ・ノー
ドA(202)は当該文書の第1ページに対する
インデツクス・エントリを保持するので、その前
位リーフは存在しない。従つて、その前位リー
フ・LSN216は、SAMルーチン44によつて
無効な論理セクタ番号として認識されるような値
にセツトされる。リーフ・ノードA(202)の
次位リーフ・LSN218は、リーフ・ノードB
(204)の論理セクタ番号を保持する。同様に、
リーフ・ノードB(204)のリーフ・ノード・
チエーン210にある前位リーフ・LSN220
はリーフ・ノードA(202)の論理セクタ番号
保持する。また、リーフ・ノードB(204)は
当該文書の最終ページに対するインデツクス・エ
ントリを保持しているので、次位リーフ・LSN
222は無効な論理セクタ番号を保持する。
ルート・ノード200は、当該データ・セツト
のインデツクスの開始点である。従つて、ルー
ト/中間インデツクス構成要素216のインデツ
クス・エントリは、記憶ボリユームに置かれたリ
ーフ・ノードA(202)及びリーフ・ノードB
(204)を探し出すことを可能にする。リー
フ・ノードA(202)では、ページN1・イン
デツクス・エントリ182はリーフ・ノードA
(202)によつて参照される最終ページを参照
する。このことは、ページN1キー186(第4
B図)がインデツクス構成要素208中で最大の
キーであることを意味する。従つて、これはリー
フ・ノードA(202)のハイ・キーと呼ばれる。
同様に、リーフ・ノードB(204)のページ
Z・インデツクス・エントリ214に置かれたキ
ーはそのインデツクス構成要素212中のいずれ
のキーよりも大きいので、このページZ・キーが
リーフ・ノードB(204)のハイ・キーとなる。
のインデツクスの開始点である。従つて、ルー
ト/中間インデツクス構成要素216のインデツ
クス・エントリは、記憶ボリユームに置かれたリ
ーフ・ノードA(202)及びリーフ・ノードB
(204)を探し出すことを可能にする。リー
フ・ノードA(202)では、ページN1・イン
デツクス・エントリ182はリーフ・ノードA
(202)によつて参照される最終ページを参照
する。このことは、ページN1キー186(第4
B図)がインデツクス構成要素208中で最大の
キーであることを意味する。従つて、これはリー
フ・ノードA(202)のハイ・キーと呼ばれる。
同様に、リーフ・ノードB(204)のページ
Z・インデツクス・エントリ214に置かれたキ
ーはそのインデツクス構成要素212中のいずれ
のキーよりも大きいので、このページZ・キーが
リーフ・ノードB(204)のハイ・キーとなる。
第5B図は、ルート・ノード200のルート/
中間インデツクス構成要素216を一層詳細に示
す。第5A図の2つのリーフ・ノードが存在する
から、ルート/中間インデツクス構成要素216
にも2つのインデツクス・エントリが存在する。
リーフ・ノードAのインデツクス・エントリ22
4はページN1・キー186及びリーフ・ノード
AのLSN226を含み、後者はリーフ・ノード
A(202)の論理セクタ番号を保持する。同様
に、リーフ・ノードBのインデツクス・エントリ
232には、ページZ・キー228及びリーフ・
ノードBのLSN230が含まれる。
中間インデツクス構成要素216を一層詳細に示
す。第5A図の2つのリーフ・ノードが存在する
から、ルート/中間インデツクス構成要素216
にも2つのインデツクス・エントリが存在する。
リーフ・ノードAのインデツクス・エントリ22
4はページN1・キー186及びリーフ・ノード
AのLSN226を含み、後者はリーフ・ノード
A(202)の論理セクタ番号を保持する。同様
に、リーフ・ノードBのインデツクス・エントリ
232には、ページZ・キー228及びリーフ・
ノードBのLSN230が含まれる。
ここで、リーフ・ノードA及びBのインデツク
ス・エントリ224及び232は第3図のレコー
ド記述子とは異なりり、レコードに関する情報や
インデツクス・ノードの長さを保持していない、
ということを注意すべきである。インデツクス・
ノードは常に単一の論理セクタであり、そしてル
ート/中間インデツクス構成要素216は常にイ
ンデツクス・ノード(第5A図のリーフ・ノー
ド)を参照するから、これらのインデツクス・ノ
ードの長さは常に同じであり、従つて前述のよう
な情報をインデツクス・エントリから省略するこ
とができる。
ス・エントリ224及び232は第3図のレコー
ド記述子とは異なりり、レコードに関する情報や
インデツクス・ノードの長さを保持していない、
ということを注意すべきである。インデツクス・
ノードは常に単一の論理セクタであり、そしてル
ート/中間インデツクス構成要素216は常にイ
ンデツクス・ノード(第5A図のリーフ・ノー
ド)を参照するから、これらのインデツクス・ノ
ードの長さは常に同じであり、従つて前述のよう
な情報をインデツクス・エントリから省略するこ
とができる。
所与のリーフ・ノードでは、既存のインデツク
ス・エントリへ新しいページ又はレコードのイン
デツクス・エントリを挿入したり又は追加するこ
とが頻繁に起こる。従つて、新しいコード又はペ
ージを追加する場には、既存のリーフ・ノードの
スペースが不足することがある。このようにスペ
ースが不足するリーフ・ノードは、分割と呼ばれ
るSAM動作によつて2つのリーフ・ノードと置
換されることになる。ルート・ノードのインデツ
クス構成要素は、分割前にはリーフ・ノードごと
に1つのインデツクス・エントリ(たとえば、リ
ーフ・ノードBのインデツクス・エントリ23
2)を保持する。分割後には、このインデツク
ス・エントリは2つのインデツクス・エントリ、
すなわち新しい2つのリーフ・ノードの各々ごと
に1つのインデツクス・エントリによつて置換さ
れねばならない。この動作は1つのルート・ノー
ドを1つのルート・ノードと2つのリーフ・ノー
ドへ分割する動作の単なる拡張にすぎないので、
以下ではその説明を省略する。
ス・エントリへ新しいページ又はレコードのイン
デツクス・エントリを挿入したり又は追加するこ
とが頻繁に起こる。従つて、新しいコード又はペ
ージを追加する場には、既存のリーフ・ノードの
スペースが不足することがある。このようにスペ
ースが不足するリーフ・ノードは、分割と呼ばれ
るSAM動作によつて2つのリーフ・ノードと置
換されることになる。ルート・ノードのインデツ
クス構成要素は、分割前にはリーフ・ノードごと
に1つのインデツクス・エントリ(たとえば、リ
ーフ・ノードBのインデツクス・エントリ23
2)を保持する。分割後には、このインデツク
ス・エントリは2つのインデツクス・エントリ、
すなわち新しい2つのリーフ・ノードの各々ごと
に1つのインデツクス・エントリによつて置換さ
れねばならない。この動作は1つのルート・ノー
ドを1つのルート・ノードと2つのリーフ・ノー
ドへ分割する動作の単なる拡張にすぎないので、
以下ではその説明を省略する。
操作員が非常に大きな文書を作成するためにグ
ラフイツク文字及び指令を記入すると、相当量の
リーフ・ノードが追加されることがあるが、この
ような場合にはルート・ノードのインデツクス構
成要素216におけるスペースが足りなくなつ
て、他のリーフ・ノードのインデツクス・エント
リを収容しきれなくなる。従つて、この時点でル
ート・ノード200を再び分割しなければならな
い。なぜなら、ルート・ノード200はリーフ・
ノードを参照しているので、新しいリーフ・ノー
ドを作成することができないからである。(リー
フ・ノードはそのリーフ・ノード・チエーンの外
部にある他のリーフ・ノードを参照しない)。そ
のかわりに、中間ノードと呼ばれる他のタイプの
ノードが作成されるのである。
ラフイツク文字及び指令を記入すると、相当量の
リーフ・ノードが追加されることがあるが、この
ような場合にはルート・ノードのインデツクス構
成要素216におけるスペースが足りなくなつ
て、他のリーフ・ノードのインデツクス・エント
リを収容しきれなくなる。従つて、この時点でル
ート・ノード200を再び分割しなければならな
い。なぜなら、ルート・ノード200はリーフ・
ノードを参照しているので、新しいリーフ・ノー
ドを作成することができないからである。(リー
フ・ノードはそのリーフ・ノード・チエーンの外
部にある他のリーフ・ノードを参照しない)。そ
のかわりに、中間ノードと呼ばれる他のタイプの
ノードが作成されるのである。
第6図を参照するに、図示されたルート・ノー
ド240は第5A図のルート・ノード200に置
換わつたものであり、これは第5B図のものと同
じ構造のルート/中間インデツクス構成要素24
2を含んでいる。しかしながら、このインデツク
ス構成要素242のインデツクス・エントリはリ
ーフ・ノードの論理セクタ番号を維持するかわり
に、中間ノードI(244)及び中間ノードJ(2
46)の論理セクタ番号を保持している。中間ノ
ードI(244)にはインデツクス構成要素24
8があり、これはリーフ・ノードB(256)リ
ーフ・ノードC(258)及びリーフ・ノード
(260)を参照するためのリーフ・インデツク
ス・エントリ250,252及び254をそれぞ
れ含んでいる。かくて、第6図は3レベルのイン
デツクス・トリーを例示しており、そこではルー
ト・ノード240のノード・レベル値は2であ
り、中間ノードI(244)及びJ(246)のノ
ード・レベル値は1であり、そしてすべてのリー
フ・ノードのノード・レベル値は依然として0で
ある。インデツクス構成要素248中のインデツ
クス・エントリは、第5B図に示したリーフ・ノ
ードAのインデツクス・エントリ224と同じ構
造を有する。中間ノードJ(246)中のインデ
ツクス構成要素262は、インデツクス構成要素
248と同様の構造を有する。
ド240は第5A図のルート・ノード200に置
換わつたものであり、これは第5B図のものと同
じ構造のルート/中間インデツクス構成要素24
2を含んでいる。しかしながら、このインデツク
ス構成要素242のインデツクス・エントリはリ
ーフ・ノードの論理セクタ番号を維持するかわり
に、中間ノードI(244)及び中間ノードJ(2
46)の論理セクタ番号を保持している。中間ノ
ードI(244)にはインデツクス構成要素24
8があり、これはリーフ・ノードB(256)リ
ーフ・ノードC(258)及びリーフ・ノード
(260)を参照するためのリーフ・インデツク
ス・エントリ250,252及び254をそれぞ
れ含んでいる。かくて、第6図は3レベルのイン
デツクス・トリーを例示しており、そこではルー
ト・ノード240のノード・レベル値は2であ
り、中間ノードI(244)及びJ(246)のノ
ード・レベル値は1であり、そしてすべてのリー
フ・ノードのノード・レベル値は依然として0で
ある。インデツクス構成要素248中のインデツ
クス・エントリは、第5B図に示したリーフ・ノ
ードAのインデツクス・エントリ224と同じ構
造を有する。中間ノードJ(246)中のインデ
ツクス構成要素262は、インデツクス構成要素
248と同様の構造を有する。
第6図の隣接するリーフ・ノード間の接続26
4は、第5A図の206及び210の如きリー
フ・ノード・チエーンを表わす。
4は、第5A図の206及び210の如きリー
フ・ノード・チエーンを表わす。
従つて、第6図に示された一般的なインデツク
ス構造によれば、SAMルーチン44は2つの異
なる方法で、すなわち文書の表示又は訂正方法に
応じて、所望のページ又はレコードを探し出すこ
とができる。たとえば、リーフ・ノードD(26
0)で参照される或るページの最初のレコードを
探し出すために、SAMルーチン44はDASD2
2からルート・ノード240を取出し且つそのイ
ンデツクス構成要素242を探索することによ
り、中間ノードI(244)が該当する中間ノー
ドであることを決定する。次いで、中間ノードI
(244)が記憶媒体から取出され、そしてリー
フ・ノードD(260)が前述と同様に適切なリ
ーフ・ノードとして選択される。記憶媒体からリ
ーフ・ノードD(260)を取出した後、所望の
ページのキーを探し出すためにリーフ・ノードD
(260)のインデツクス構成要素が探索される。
ス構造によれば、SAMルーチン44は2つの異
なる方法で、すなわち文書の表示又は訂正方法に
応じて、所望のページ又はレコードを探し出すこ
とができる。たとえば、リーフ・ノードD(26
0)で参照される或るページの最初のレコードを
探し出すために、SAMルーチン44はDASD2
2からルート・ノード240を取出し且つそのイ
ンデツクス構成要素242を探索することによ
り、中間ノードI(244)が該当する中間ノー
ドであることを決定する。次いで、中間ノードI
(244)が記憶媒体から取出され、そしてリー
フ・ノードD(260)が前述と同様に適切なリ
ーフ・ノードとして選択される。記憶媒体からリ
ーフ・ノードD(260)を取出した後、所望の
ページのキーを探し出すためにリーフ・ノードD
(260)のインデツクス構成要素が探索される。
一方、もし操作員がリーフ・ノードC(258)
で参照される最終レコードの終りにあつて、テキ
ストの次のレコード(リーフ・ノードDで参照さ
れる)へのスクロールを望んでいれば、記憶媒体
上のリーフ・ノードD(260)を直接探し出す
ためにリーフ・ノードC(258)中のリーフ・
ノード・チエーンを使用することができる。すな
わち、この場合にはルート・ノード及び中間ノー
ドを再び取出したり、探索することは全く必要な
いのである。
で参照される最終レコードの終りにあつて、テキ
ストの次のレコード(リーフ・ノードDで参照さ
れる)へのスクロールを望んでいれば、記憶媒体
上のリーフ・ノードD(260)を直接探し出す
ためにリーフ・ノードC(258)中のリーフ・
ノード・チエーンを使用することができる。すな
わち、この場合にはルート・ノード及び中間ノー
ドを再び取出したり、探索することは全く必要な
いのである。
第4A図ないし第6図に例示されたインデツク
ス構造は、ボリユームを複数のインデツクスの階
層として構成することによつて、単一のデータ・
セツトからボリユーム全体まで一般化することが
できる。第7図は、ボリユーム・インデツクスを
ブロツク図の形式で例示する。この例では、記憶
ボリユームは3つのデータ・セツトを有し、その
うち2つのデータ・セツトは同じタイプ(たとえ
ば、テキスト文書)のものであり、残りのデー
タ・セツトはそれとは異なるタイプのものであ
る。
ス構造は、ボリユームを複数のインデツクスの階
層として構成することによつて、単一のデータ・
セツトからボリユーム全体まで一般化することが
できる。第7図は、ボリユーム・インデツクスを
ブロツク図の形式で例示する。この例では、記憶
ボリユームは3つのデータ・セツトを有し、その
うち2つのデータ・セツトは同じタイプ(たとえ
ば、テキスト文書)のものであり、残りのデー
タ・セツトはそれとは異なるタイプのものであ
る。
媒体制御レコード280は各記憶ボリユームご
とに設けられ、ボリユーム・ラベル(ボリユーム
名)の如き対応ボリユームの全体に関する情報を
保持する。媒体制御レコード280には、ボリユ
ーム上のデータに関する情報を与えるために、ヘ
ツダ1フイールド281が設けられる。特に、ヘ
ツダ1フイールド281は(媒体制御レコード2
80かアンカー284への矢印によつて示される
ような)アンカー位置ポインタ282を含み、こ
れはボリユーム上のアンカー284の位置を示
す。
とに設けられ、ボリユーム・ラベル(ボリユーム
名)の如き対応ボリユームの全体に関する情報を
保持する。媒体制御レコード280には、ボリユ
ーム上のデータに関する情報を与えるために、ヘ
ツダ1フイールド281が設けられる。特に、ヘ
ツダ1フイールド281は(媒体制御レコード2
80かアンカー284への矢印によつて示される
ような)アンカー位置ポインタ282を含み、こ
れはボリユーム上のアンカー284の位置を示
す。
アンカー284は第1レベルのボリユーム・イ
ンデツクス情報である。アンカー284の機能
は、データ処理システムのDASD記憶ボリユーム
に置かれたボリユーム目録に似ている。ワード・
プロセシング・システム10では、アンカー28
4は1つのデータ・セツト・インデツクスとして
構成される。特に、アンカーのフオーマツトはル
ート/リーフ・ノードのフオーマツト(第4A図
参照)と同じである。しかしながら、第4A図の
ように文書のレコード及びページを参照するかわ
りに、アンカー284はボリユーム情報又は他の
データ・セツトを参照する。他のインデツクス・
ノードと同様に、アンカー284は下位レベルの
データを参照するためのインデツクス構成要素2
85を含んでいる。
ンデツクス情報である。アンカー284の機能
は、データ処理システムのDASD記憶ボリユーム
に置かれたボリユーム目録に似ている。ワード・
プロセシング・システム10では、アンカー28
4は1つのデータ・セツト・インデツクスとして
構成される。特に、アンカーのフオーマツトはル
ート/リーフ・ノードのフオーマツト(第4A図
参照)と同じである。しかしながら、第4A図の
ように文書のレコード及びページを参照するかわ
りに、アンカー284はボリユーム情報又は他の
データ・セツトを参照する。他のインデツクス・
ノードと同様に、アンカー284は下位レベルの
データを参照するためのインデツクス構成要素2
85を含んでいる。
アンカー284のインデツクス構成要素285
は、第4B図に示したインデツクス構成要素17
3と同様のフオーマツトを有する。アンカー28
4では、そのインデツクス・エントリのキーは
(ページN1・キー178と同様に)データ・セ
ツトタイプから構成される。かくて、アンカー2
84には、記憶ボリユーム上の一意的なデータ・
セツト・タイプごとに1つのインデツクス・エン
トリが存在する。
は、第4B図に示したインデツクス構成要素17
3と同様のフオーマツトを有する。アンカー28
4では、そのインデツクス・エントリのキーは
(ページN1・キー178と同様に)データ・セ
ツトタイプから構成される。かくて、アンカー2
84には、記憶ボリユーム上の一意的なデータ・
セツト・タイプごとに1つのインデツクス・エン
トリが存在する。
媒体割振マツプ286は、記憶媒体上の各セク
タの割振ステータスを示す。ワード・プロセシン
グ・システム10では、媒体割振マツプ286は
媒体上の各セクタごとに1つの指示を保持する。
この指示は、或るデータ・セツトへ割振るために
対応するセクタが利用できるか否かを示す。既存
のインデツクス・ノード及びデータ・セツト・レ
コードに対するこれらの指示は、対応するセクタ
が既に割振られており、従つて利用できないこと
を示す。この種の媒体割振技法は当該技術分野で
は周知であると考えられるので、ワード・プロセ
シング・システム10の媒体割振マツプをを管理
するために実際に使用される技法については、そ
の説明を省略する。アンカー・インデツクス構成
要素285中の媒体割振マツプ286に対するイ
ンデツクス・エントリはそのキーとして該媒体割
振マツプ286へ割振られた一意的なデータ・セ
ツト・タイプを有し、そして(たとえば第4B図
のレコード記述子179の如き)レコード記述子
として論理セクタ番号287及びボリユーム上の
媒体割振マツプ286の長さを有する。
タの割振ステータスを示す。ワード・プロセシン
グ・システム10では、媒体割振マツプ286は
媒体上の各セクタごとに1つの指示を保持する。
この指示は、或るデータ・セツトへ割振るために
対応するセクタが利用できるか否かを示す。既存
のインデツクス・ノード及びデータ・セツト・レ
コードに対するこれらの指示は、対応するセクタ
が既に割振られており、従つて利用できないこと
を示す。この種の媒体割振技法は当該技術分野で
は周知であると考えられるので、ワード・プロセ
シング・システム10の媒体割振マツプをを管理
するために実際に使用される技法については、そ
の説明を省略する。アンカー・インデツクス構成
要素285中の媒体割振マツプ286に対するイ
ンデツクス・エントリはそのキーとして該媒体割
振マツプ286へ割振られた一意的なデータ・セ
ツト・タイプを有し、そして(たとえば第4B図
のレコード記述子179の如き)レコード記述子
として論理セクタ番号287及びボリユーム上の
媒体割振マツプ286の長さを有する。
第7図の例では、データ・セツトA(288)
がそのタイプを有するボリユーム上の唯1つのデ
ータ・セツトであると仮定する。従つて、アンカ
ー・インデツクス構成要素285中のインデツク
ス・エントリは、データ・セツトA(288)の
データ・セツト・タイプから構成されたキーと、
データ・セツトA(288)のルート・ノードの
論理セクタ番号を示す論理セクタ番号289から
成る。
がそのタイプを有するボリユーム上の唯1つのデ
ータ・セツトであると仮定する。従つて、アンカ
ー・インデツクス構成要素285中のインデツク
ス・エントリは、データ・セツトA(288)の
データ・セツト・タイプから構成されたキーと、
データ・セツトA(288)のルート・ノードの
論理セクタ番号を示す論理セクタ番号289から
成る。
しかしながら、データ・セツトB(289)及
びデータ・セツトC(290)は、同じデータ・
セツト・タイプを有するものと仮定する。或るイ
ンデツクス構成要素中のキーは一意的でなければ
ならず、そしてデータ・セツトB(289)及び
データ・セツトC(290)のデータ・セツト・
タイプから構成されるキーは同等であるから、こ
の要件のために他のレベルのインデツクスが導か
れる。デイレクトリ291は下位レベルのデー
タ・セツトに対するデータ・セツト・インデツク
スである。デイレクトリ291のデータ・セツ
ト・タイプは、該デイレクトリが参照するすべて
のデータ・セツト・タイプと同じである。従つ
て、アンカー・インデツクス構成要素285中の
インデツクス・エントリはデイレクトリ291の
データ・セツト・タイプから導かれたキーを使用
し、そして論理セクタ番号を介してデイレクト
リ・ルート・ノードを参照する。
びデータ・セツトC(290)は、同じデータ・
セツト・タイプを有するものと仮定する。或るイ
ンデツクス構成要素中のキーは一意的でなければ
ならず、そしてデータ・セツトB(289)及び
データ・セツトC(290)のデータ・セツト・
タイプから構成されるキーは同等であるから、こ
の要件のために他のレベルのインデツクスが導か
れる。デイレクトリ291は下位レベルのデー
タ・セツトに対するデータ・セツト・インデツク
スである。デイレクトリ291のデータ・セツ
ト・タイプは、該デイレクトリが参照するすべて
のデータ・セツト・タイプと同じである。従つ
て、アンカー・インデツクス構成要素285中の
インデツクス・エントリはデイレクトリ291の
データ・セツト・タイプから導かれたキーを使用
し、そして論理セクタ番号を介してデイレクト
リ・ルート・ノードを参照する。
デイレクトリ・インデツクス構成要素293は
データ・セツトのルート・ノードを参照する。イ
ンデツクス構成要素293中のインデツクス・エ
ントリに対するキーは、(第4A図における各デ
ータ・セツトのルート・ノードのデータ・セツ
ト・プロフイル172に保持される如き)デー
タ・セツト名である。ワード・プロセシング・シ
ステム10では、単一の記憶媒体上のデータ・セ
ツトは一意的なデータ・セツト名を有さなければ
ならない。従つて、デイレクトリ・インデツクス
構成要素293中のキーは一意的である。
データ・セツトのルート・ノードを参照する。イ
ンデツクス構成要素293中のインデツクス・エ
ントリに対するキーは、(第4A図における各デ
ータ・セツトのルート・ノードのデータ・セツ
ト・プロフイル172に保持される如き)デー
タ・セツト名である。ワード・プロセシング・シ
ステム10では、単一の記憶媒体上のデータ・セ
ツトは一意的なデータ・セツト名を有さなければ
ならない。従つて、デイレクトリ・インデツクス
構成要素293中のキーは一意的である。
他のすべてのデータ・セツト・インデツクスと
同様に、データ・セツトの数が増加してこれと同
じデータ・セツト・タイプのすべてのデータ・セ
ツトに対するインデツクス・エントリが単一のル
ート/リーフ・ノードに収まりきらなくなつた場
合には、デイレクトリ291を複数のレベルへ拡
張することができる。しかしながら、ワード・プ
ロセシング・システム10における一意的なデー
タ・セツト・タイプの数は限られているので、ル
ート/リーフ・ノードより大きくなるようにアン
カー284を拡張する必要はない。
同様に、データ・セツトの数が増加してこれと同
じデータ・セツト・タイプのすべてのデータ・セ
ツトに対するインデツクス・エントリが単一のル
ート/リーフ・ノードに収まりきらなくなつた場
合には、デイレクトリ291を複数のレベルへ拡
張することができる。しかしながら、ワード・プ
ロセシング・システム10における一意的なデー
タ・セツト・タイプの数は限られているので、ル
ート/リーフ・ノードより大きくなるようにアン
カー284を拡張する必要はない。
第8図には、第1図にしたSAM内部制御ブロ
ツク62の一部が詳細に図示されている。ユニツ
ト制御ブロツク/記憶(以下UCSと略す)30
0はデバイス・ステータス、動作ステータス及び
制御情報を保持するとともに、データ・セツト及
びボリユーム・インデツクスをアクセス及び更新
するためのバツフア領域を与える。ここで、ボリ
ユームとは、ワード・プロセシング・システム1
0へ接続された単一のデイスケツト又はハード・
デイスクの如きDASD22を意味する。ワード・
プロセシング・システム10の処理に利用可能な
各ボリユームはそれ自体のUCS300を有する。
ツク62の一部が詳細に図示されている。ユニツ
ト制御ブロツク/記憶(以下UCSと略す)30
0はデバイス・ステータス、動作ステータス及び
制御情報を保持するとともに、データ・セツト及
びボリユーム・インデツクスをアクセス及び更新
するためのバツフア領域を与える。ここで、ボリ
ユームとは、ワード・プロセシング・システム1
0へ接続された単一のデイスケツト又はハード・
デイスクの如きDASD22を意味する。ワード・
プロセシング・システム10の処理に利用可能な
各ボリユームはそれ自体のUCS300を有する。
デバイス・ステータス領域302は、DASD2
2に対する実際のI/O動作を制御するために、
SAMルーチン44によつて使用されるデータ及
び制御情報を保持する。また、この領域302
は、キーストローク・サービス・ルーチン34か
らの要求を処理している間にアクセスすべき利用
可能なボリユームを決定するために、SAMルー
チン444によつて使用される。
2に対する実際のI/O動作を制御するために、
SAMルーチン44によつて使用されるデータ及
び制御情報を保持する。また、この領域302
は、キーストローク・サービス・ルーチン34か
らの要求を処理している間にアクセスすべき利用
可能なボリユームを決定するために、SAMルー
チン444によつて使用される。
ボリユームのデータ・セツト・インデツクス・
バツフア304は、アンカーと呼ばれる第1レベ
ルのボリユーム・インデツクスを保持する。この
バツフアはDASD22中のボリユームに対するア
ンカー284(第7図)を保持する。アンカーは
メモリ26に維持されるが、これはボリユーム上
で或るデータ・セツトを探し出さねばならない場
合にDASD22からの入力動作を排除するためで
ある。ボリユーム・インデツクス中のキーがデー
タ・セツトのタイプ(たとえば、テキスト文書)
及びデータ・セツト名(第4A図の176を参
照)から成る場合には、ボリユーム上の或るデー
タ・セツトを探し出す動作はデータ・セツト中の
或るページを探し出す動作に非常に似ている。
バツフア304は、アンカーと呼ばれる第1レベ
ルのボリユーム・インデツクスを保持する。この
バツフアはDASD22中のボリユームに対するア
ンカー284(第7図)を保持する。アンカーは
メモリ26に維持されるが、これはボリユーム上
で或るデータ・セツトを探し出さねばならない場
合にDASD22からの入力動作を排除するためで
ある。ボリユーム・インデツクス中のキーがデー
タ・セツトのタイプ(たとえば、テキスト文書)
及びデータ・セツト名(第4A図の176を参
照)から成る場合には、ボリユーム上の或るデー
タ・セツトを探し出す動作はデータ・セツト中の
或るページを探し出す動作に非常に似ている。
参照番号306,308及び310によつて識
別されるインデツクス・ノード・バツフア1ない
し3はバルフア領域であつて、DASD22との転
送が行われている間にデータ・セツト・インデツ
クス・ノード又はボリユーム・インデツクス・ノ
ードを処理するために使用される。インデツク
ス・ノード・バツフア1ないし3の各々は、1つ
のインデツクス・ノードを保持することができ
る。1以上のインデツクス・ノード・バツフアが
設けられているのは、インデツクスの探索及び分
割動作を容易するためである。
別されるインデツクス・ノード・バツフア1ない
し3はバルフア領域であつて、DASD22との転
送が行われている間にデータ・セツト・インデツ
クス・ノード又はボリユーム・インデツクス・ノ
ードを処理するために使用される。インデツク
ス・ノード・バツフア1ないし3の各々は、1つ
のインデツクス・ノードを保持することができ
る。1以上のインデツクス・ノード・バツフアが
設けられているのは、インデツクスの探索及び分
割動作を容易するためである。
媒体割振マツプ・バツフア312は、記憶ボリ
ユームに対する媒体割振マツプのスペースを与え
る。このバツフアは、DASD22中の媒体割振マ
ツプ286(第7図参照)のコピーを保持する。
ユームに対する媒体割振マツプのスペースを与え
る。このバツフアは、DASD22中の媒体割振マ
ツプ286(第7図参照)のコピーを保持する。
UCS300の残りの領域は内部ステータス及
び制御情報を保持するとともに、中間的な種々の
計算結果等を保持するために使用される。この種
の動作は本発明の要旨に関係ないので、以下では
その説明を省略する。
び制御情報を保持するとともに、中間的な種々の
計算結果等を保持するために使用される。この種
の動作は本発明の要旨に関係ないので、以下では
その説明を省略する。
第8図には、第1図のSAMインタフエース制
御ブロツク50が詳細に示されている。SAMル
ーチン44によつて与えられる動作のうち本発明
に関係する動作は、アクセスに際しデータ・セツ
トをオープンする事、DASD22からメモリ26
へ1以上のレコードを読取る事、そしてメモリ2
6からDASD22へ1以上のレコードを書込むこ
とである。
御ブロツク50が詳細に示されている。SAMル
ーチン44によつて与えられる動作のうち本発明
に関係する動作は、アクセスに際しデータ・セツ
トをオープンする事、DASD22からメモリ26
へ1以上のレコードを読取る事、そしてメモリ2
6からDASD22へ1以上のレコードを書込むこ
とである。
キーストローク・サービス・ルーチン34によ
つて要求されるSAMルーチン44の各サービス
毎に、1つの記憶事象制御ブロツク(以下SECB
と略す)330が必要である。実際にSECB30
0に割振られるメモリ26中の領域は、要求を行
うキーストローク・サービス・ルーチン34によ
つて決定される。第1図にチヤネル46は、この
ようにして割振られたSECB330の領域を
SAMルーチン44へ渡すために使用される。
つて要求されるSAMルーチン44の各サービス
毎に、1つの記憶事象制御ブロツク(以下SECB
と略す)330が必要である。実際にSECB30
0に割振られるメモリ26中の領域は、要求を行
うキーストローク・サービス・ルーチン34によ
つて決定される。第1図にチヤネル46は、この
ようにして割振られたSECB330の領域を
SAMルーチン44へ渡すために使用される。
SECB330では、要求された特定の動作を開
始するためにSAMルーチン44に必要なすべて
の情報を見出すことができる。指令及びオプシヨ
ン領域332は要求された主要な動作指令(たと
えば、ボリユーム回復)を指示するとともに、当
該要求を修正しうる指令オプシヨンを指示する。
指令及びオプシヨン指示領域332は、特定の指
令を処理すべきSAMサービス・ルーチンを生ず
ために使用される。
始するためにSAMルーチン44に必要なすべて
の情報を見出すことができる。指令及びオプシヨ
ン領域332は要求された主要な動作指令(たと
えば、ボリユーム回復)を指示するとともに、当
該要求を修正しうる指令オプシヨンを指示する。
指令及びオプシヨン指示領域332は、特定の指
令を処理すべきSAMサービス・ルーチンを生ず
ために使用される。
回復バツフア位置領域304は、メモリ26に
おけるグローバル回復バツフア340の位置を保
持する。SECB330と同様に、グローバル回復
バツフア340へ実際に割振られるメモリ26中
の領域はキーストローク・サービス・ルーチン3
4によつて選択される。グローバル回復バツフア
340は、エラー検出後にボリユーム及びデー
タ・セツト・インデツクスを検査又は再構成する
ことが必要な場合に、SAMルーチン44によつ
て使用される。
おけるグローバル回復バツフア340の位置を保
持する。SECB330と同様に、グローバル回復
バツフア340へ実際に割振られるメモリ26中
の領域はキーストローク・サービス・ルーチン3
4によつて選択される。グローバル回復バツフア
340は、エラー検出後にボリユーム及びデー
タ・セツト・インデツクスを検査又は再構成する
ことが必要な場合に、SAMルーチン44によつ
て使用される。
記憶ボリユーム上にあるデータ・セツト及びデ
ータ・レコードの保護及び復には、2つの段階が
ある。すなわち、媒体エラーに起因するデータの
損失を防止するために行われる予防段階と、可能
なエラーが検出された場合に行われるデータ・セ
ツト及びボリユーム・インデツクスのスキヤン段
階とがある。
ータ・レコードの保護及び復には、2つの段階が
ある。すなわち、媒体エラーに起因するデータの
損失を防止するために行われる予防段階と、可能
なエラーが検出された場合に行われるデータ・セ
ツト及びボリユーム・インデツクスのスキヤン段
階とがある。
媒体エラーが検出されるのは、データの取出時
にこのデータがワード・プロセシング・システム
によつて有効として認識されないような場合であ
る。ワード・プロセツシング・システム10にお
ける媒体エラーには、DASD22に共通のエラー
があり、これらのエラーは媒体表面の汚れ、媒体
の磨滅、等が原因で生ずることがある。
にこのデータがワード・プロセシング・システム
によつて有効として認識されないような場合であ
る。ワード・プロセツシング・システム10にお
ける媒体エラーには、DASD22に共通のエラー
があり、これらのエラーは媒体表面の汚れ、媒体
の磨滅、等が原因で生ずることがある。
ワード・プロセシング・システム10では、媒
体エラーに起因するデータの致命的な損失を防止
するために、ボリユーム上にある重要(クリチカ
ル)データを重複して記録するようにしている。
これは冗長又は重複記録として知られている。も
ちろんあらゆるデータの2つのコピーを記憶ボリ
ユームに記録することも可能であるが、このアプ
ローチは記憶ボリユームの実効容量を実際の容量
の半分に減少させるという欠点を有する。従つ
て、ワード・プロセシング・システム10では、
記録される全情報のうちのサブセツトを重要情報
として指定し、これを冗長記録することによつて
保護するようにしている。ここで重要情報とは、
再び作成したり又はワード・プロセシング・シス
テム10へ再び記入するのに操作員が多大の労力
を必要とする、そのような情報をいう。
体エラーに起因するデータの致命的な損失を防止
するために、ボリユーム上にある重要(クリチカ
ル)データを重複して記録するようにしている。
これは冗長又は重複記録として知られている。も
ちろんあらゆるデータの2つのコピーを記憶ボリ
ユームに記録することも可能であるが、このアプ
ローチは記憶ボリユームの実効容量を実際の容量
の半分に減少させるという欠点を有する。従つ
て、ワード・プロセシング・システム10では、
記録される全情報のうちのサブセツトを重要情報
として指定し、これを冗長記録することによつて
保護するようにしている。ここで重要情報とは、
再び作成したり又はワード・プロセシング・シス
テム10へ再び記入するのに操作員が多大の労力
を必要とする、そのような情報をいう。
ボリユームの実効容量を減少させないようにす
るにはすべての情報を重要情報として指定するこ
とはできないので、ワード・プロセシング・シス
テム10で適用される最初の規則は、データ・セ
ツト中のデータ・レコードが重要情報ではない、
とするものである。個別的なデータ・レコードが
失われたとしても、これを回復するにはキーボー
ド12を介してデータ再び記入するだけで済むか
らである。従つて、データ・セツト・インデツク
ス・ノード又はボリユーム・インデツクス・ノー
ドだけが重要情報であるとみなされる。
るにはすべての情報を重要情報として指定するこ
とはできないので、ワード・プロセシング・シス
テム10で適用される最初の規則は、データ・セ
ツト中のデータ・レコードが重要情報ではない、
とするものである。個別的なデータ・レコードが
失われたとしても、これを回復するにはキーボー
ド12を介してデータ再び記入するだけで済むか
らである。従つて、データ・セツト・インデツク
ス・ノード又はボリユーム・インデツクス・ノー
ドだけが重要情報であるとみなされる。
第7図を参照するに、もし媒体制御レコード2
80を正しく取出すことができなければ、アンカ
ー及びすべてのデータ・セツトを探し出すことが
できない。従つて、媒体制御レコード280は重
要情報あるとみなされる。ワード・プロセシン
グ・システム10では、媒体制御レコード280
は常に論理セクタ番号0及び論理セクタ番号17に
記録される。これらの論理セクタ番号はデバイ
ス・タイプ(デイスケツト又はハード・デイスク
22)とは無関係である。媒体制御レコード28
0の2つのコピーの内容は同じである。
80を正しく取出すことができなければ、アンカ
ー及びすべてのデータ・セツトを探し出すことが
できない。従つて、媒体制御レコード280は重
要情報あるとみなされる。ワード・プロセシン
グ・システム10では、媒体制御レコード280
は常に論理セクタ番号0及び論理セクタ番号17に
記録される。これらの論理セクタ番号はデバイ
ス・タイプ(デイスケツト又はハード・デイスク
22)とは無関係である。媒体制御レコード28
0の2つのコピーの内容は同じである。
媒体制御レコード280と同様に、アンカー2
84も重要情報であるとみなされるる。なぜな
ら、アンカー284を読取ることができなけれ
ば、いかなるデータ・セツトをも探し出すことが
できないからである。従つて、各記憶ボリユーム
にはアンカー284の2つのコピーが記憶され
る。アンカー284の2つのコピーの内容は同じ
である。
84も重要情報であるとみなされるる。なぜな
ら、アンカー284を読取ることができなけれ
ば、いかなるデータ・セツトをも探し出すことが
できないからである。従つて、各記憶ボリユーム
にはアンカー284の2つのコピーが記憶され
る。アンカー284の2つのコピーの内容は同じ
である。
媒体制御レコード280を読取る前に、ワー
ド・プロセシング・システム10はこの媒体制御
レコード280の1次及び2次コピーの位置(論
理セクタ番号)を知つていなければならない。媒
体制御レコード280はアンカーLSN282を
保持しているので、このアンカーを記憶ボリユー
ム上の欠陥がない任意の論理セクタに記憶するこ
とができ、また元の論理セクタに更新されたコピ
ーを正しく記憶することができなければ、そこか
ら移動することもできる。このような場合は、ア
ンカーの最終位置を反映するように媒体制御レコ
ードを変更することだけが必要である。
ド・プロセシング・システム10はこの媒体制御
レコード280の1次及び2次コピーの位置(論
理セクタ番号)を知つていなければならない。媒
体制御レコード280はアンカーLSN282を
保持しているので、このアンカーを記憶ボリユー
ム上の欠陥がない任意の論理セクタに記憶するこ
とができ、また元の論理セクタに更新されたコピ
ーを正しく記憶することができなければ、そこか
ら移動することもできる。このような場合は、ア
ンカーの最終位置を反映するように媒体制御レコ
ードを変更することだけが必要である。
システム性能を改良するためには、冗長的に記
録される情報の両コピーを互いに物理的に接近し
てボリユーム上に置くことにより、DASD22の
読取り/書込みヘツドがこれらの間を移動するに
要する時間を最小にすることが望ましい。一方、
単一の欠陥又は障害によりこれらの両コピーに対
するアクセスが妨げられないようにするために
は、これらのコピーを互いに離れて配置すること
が望ましい。さらに、これらのフアクタ(性能、
リスクの減少)の相対重要度は、ボリユームの内
容に応じて、ボリユームごとに異なる、というこ
とがある。
録される情報の両コピーを互いに物理的に接近し
てボリユーム上に置くことにより、DASD22の
読取り/書込みヘツドがこれらの間を移動するに
要する時間を最小にすることが望ましい。一方、
単一の欠陥又は障害によりこれらの両コピーに対
するアクセスが妨げられないようにするために
は、これらのコピーを互いに離れて配置すること
が望ましい。さらに、これらのフアクタ(性能、
リスクの減少)の相対重要度は、ボリユームの内
容に応じて、ボリユームごとに異なる、というこ
とがある。
媒体制御レコード280はまれにしかアクセス
されないので、かかる柔軟性はワード・プロセシ
ング・システム10ではさほど重要ではない。従
つて、システム論理が複雑になることを避けるた
めに、本発明の実施態様ではすべての記憶ボリユ
ームについて一定の位置が選択された。アンカー
の第2コピーの位置を柔軟に設定することができ
るように、媒体制御レコード280へ第2位置領
域を追加し、これにより記憶ボリユームにおける
アンカー284の第コピーの位置を規定するよう
にした。
されないので、かかる柔軟性はワード・プロセシ
ング・システム10ではさほど重要ではない。従
つて、システム論理が複雑になることを避けるた
めに、本発明の実施態様ではすべての記憶ボリユ
ームについて一定の位置が選択された。アンカー
の第2コピーの位置を柔軟に設定することができ
るように、媒体制御レコード280へ第2位置領
域を追加し、これにより記憶ボリユームにおける
アンカー284の第コピーの位置を規定するよう
にした。
第10A図には、第7図の媒体制御レコード2
80およびアンカー284に夫々第2コピーを設
けたものが示されている。媒体制御レコードの1
次コピー360は論理セクタ0に記録され、その
2次コピー362は論理セクタ17に記録され
る。1次コピー・ヘツダ1・フイールド364及
び2次コピー・ヘツダ1・フイールド366は、
両者共に1次アンカー368の媒体位置を保持す
る。媒体制御レコードの各コピーには、2次アン
カー・ポインタ(以下BUAPと略す)を呼ばれ
るフイールドが追加される。これらのフイール
ド、即ち1次コピーBUAP372及び2次コピ
ーBUAP374は、アンカー370の2次コピ
ーの位置を保持する。
80およびアンカー284に夫々第2コピーを設
けたものが示されている。媒体制御レコードの1
次コピー360は論理セクタ0に記録され、その
2次コピー362は論理セクタ17に記録され
る。1次コピー・ヘツダ1・フイールド364及
び2次コピー・ヘツダ1・フイールド366は、
両者共に1次アンカー368の媒体位置を保持す
る。媒体制御レコードの各コピーには、2次アン
カー・ポインタ(以下BUAPと略す)を呼ばれ
るフイールドが追加される。これらのフイール
ド、即ち1次コピーBUAP372及び2次コピ
ーBUAP374は、アンカー370の2次コピ
ーの位置を保持する。
第4図ないし第7図を参照するに、もし或るデ
ータ・セツトのルート・ノードをワード・プロセ
シング・システム10によつて正しく取出すこと
ができなければ、このデータ・セツト中のデー
タ・レコードを記憶ボリユームで探し出すことは
できず、かくてこのデータは操作員からすれば失
われることになる。従つて、すべてのデータ・セ
ト・ノードは重要であると考えられるので、記憶
ボリユームに冗長的に記録されねばならない。こ
のことは特にデイレクトリのルート・ノードにあ
てはまる。というのは、デイレクトリ・ルート・
ノードをアクセスすることができなければ、この
デイレクトリによつて参照されるすべてのデー
タ・セツト(特定のデータ・セツト・タイプを有
するすべてのデータ・セツト)はワード・プロセ
シング・システム10及び操作員に対し失われる
ことになるからである。
ータ・セツトのルート・ノードをワード・プロセ
シング・システム10によつて正しく取出すこと
ができなければ、このデータ・セツト中のデー
タ・レコードを記憶ボリユームで探し出すことは
できず、かくてこのデータは操作員からすれば失
われることになる。従つて、すべてのデータ・セ
ト・ノードは重要であると考えられるので、記憶
ボリユームに冗長的に記録されねばならない。こ
のことは特にデイレクトリのルート・ノードにあ
てはまる。というのは、デイレクトリ・ルート・
ノードをアクセスすることができなければ、この
デイレクトリによつて参照されるすべてのデー
タ・セツト(特定のデータ・セツト・タイプを有
するすべてのデータ・セツト)はワード・プロセ
シング・システム10及び操作員に対し失われる
ことになるからである。
たとえば、第7図のデイレクトリ291につい
て説明すると、もし同じタイプを有するデータ・
セツトが相当あつてデイレクトリ291が(第5
A図又は第6図に示すように)複数レベルになれ
ば、デイレクトリ・インデツクスにおけるリー
フ・ノードの消失は幾つかのデータ・セツトのル
ート・ノードをもはや探し出すことができないこ
とを意味する。かくて、ワード・プロセシング・
システム10では、デイレクトリのリーフ・ノー
ドもまた重要なインデツクス・ノードとみなされ
る。
て説明すると、もし同じタイプを有するデータ・
セツトが相当あつてデイレクトリ291が(第5
A図又は第6図に示すように)複数レベルになれ
ば、デイレクトリ・インデツクスにおけるリー
フ・ノードの消失は幾つかのデータ・セツトのル
ート・ノードをもはや探し出すことができないこ
とを意味する。かくて、ワード・プロセシング・
システム10では、デイレクトリのリーフ・ノー
ドもまた重要なインデツクス・ノードとみなされ
る。
第4B図及び第5B図に関連する前述の説明、
特にレコード記述子179及びリーフ・ノード
LSN226の説明を参照するに、下位レベル
(データ・レコード又はインデツクス・ノード)
の位置は論理セクタ番号によつて与えられる。前
述の重要ノードのうち或るノードの1次コピーが
エラーなしで取出される場合は、2次コピーが探
し出されねばならない。或るデータ・セツト・イ
ンデツクスを探索する動作の性能は当該データ・
セツト中のレベルの数に関係しており、そして該
レベルの数は当該データ・セツト中のデータ・レ
コードの数及び個別的なインデツクス・エントリ
のサイズによつて決定される。もし重要セクタを
参照するようなインデツクス・エントリの各々に
余分の論理セクタ番号が追加されるならば、この
ことは所与のレベル数を有するデータ・セツト中
に一層数の少ないレコードを記憶しうることを意
味する。これらのインデツクス・エントリは、既
に1次コピーの論理セクタ番号を保持する。ワー
ド・プロセシング・システム10では、2次コピ
ーは1次コピーから一定数の論理セクタだけ離れ
て置かれるように規定されている。言いかえれ
ば、2次コピーの論理セクタ番号と1次コピーの
論理セクタ番号との間の差は、この記憶ボリユー
ムについては一定である。
特にレコード記述子179及びリーフ・ノード
LSN226の説明を参照するに、下位レベル
(データ・レコード又はインデツクス・ノード)
の位置は論理セクタ番号によつて与えられる。前
述の重要ノードのうち或るノードの1次コピーが
エラーなしで取出される場合は、2次コピーが探
し出されねばならない。或るデータ・セツト・イ
ンデツクスを探索する動作の性能は当該データ・
セツト中のレベルの数に関係しており、そして該
レベルの数は当該データ・セツト中のデータ・レ
コードの数及び個別的なインデツクス・エントリ
のサイズによつて決定される。もし重要セクタを
参照するようなインデツクス・エントリの各々に
余分の論理セクタ番号が追加されるならば、この
ことは所与のレベル数を有するデータ・セツト中
に一層数の少ないレコードを記憶しうることを意
味する。これらのインデツクス・エントリは、既
に1次コピーの論理セクタ番号を保持する。ワー
ド・プロセシング・システム10では、2次コピ
ーは1次コピーから一定数の論理セクタだけ離れ
て置かれるように規定されている。言いかえれ
ば、2次コピーの論理セクタ番号と1次コピーの
論理セクタ番号との間の差は、この記憶ボリユー
ムについては一定である。
第10A図を参照するに、アンカーのインデツ
クス構成要素376にはシヤドウ・オフセツト・
フイールド378が設けられている。シヤドウ・
オフセツト378は、1次コピーの論理セクタ番
号と2次コピーの論理セクタ番号との間の差を示
す。かくて、もしボリユーム・アンカーをアクセ
スすることできれば、当該ボリユームに対するシ
ヤドウ・オフセツトを1次コピーの論理セクタ番
号と加算することによつて重要なインデツクス・
ノードの2次コピーの論理セクタ番号を計算する
ことができる。こうすることにより、ワード・プ
ロセシング・システム10は、種々のボリユーム
に対するボリユーム内容に基づいて(性能及びリ
スクの減少に基づいて)、最良のオフセツトを選
択することができる。メモリ26に設けられた
UCS300のボリユーム・データ・セツト・イ
ンデツクス・バツフア304ではアンカーのコピ
ーが利用可能であるから、SAMルーチン44は
必要に応じて重要情報の2次コピーを常に探し出
すことができる。
クス構成要素376にはシヤドウ・オフセツト・
フイールド378が設けられている。シヤドウ・
オフセツト378は、1次コピーの論理セクタ番
号と2次コピーの論理セクタ番号との間の差を示
す。かくて、もしボリユーム・アンカーをアクセ
スすることできれば、当該ボリユームに対するシ
ヤドウ・オフセツトを1次コピーの論理セクタ番
号と加算することによつて重要なインデツクス・
ノードの2次コピーの論理セクタ番号を計算する
ことができる。こうすることにより、ワード・プ
ロセシング・システム10は、種々のボリユーム
に対するボリユーム内容に基づいて(性能及びリ
スクの減少に基づいて)、最良のオフセツトを選
択することができる。メモリ26に設けられた
UCS300のボリユーム・データ・セツト・イ
ンデツクス・バツフア304ではアンカーのコピ
ーが利用可能であるから、SAMルーチン44は
必要に応じて重要情報の2次コピーを常に探し出
すことができる。
前述のように、すべてのルート・ノードは重要
なセクタであるとみなされ、冗長的に記録され
る。また、デイレクトリのリーフ・ノードも重要
なセクタとみなされる。他のリーフ・ノードは、
データ・セツトのタイプに応じて、重要であると
みなされる。たとえば、テキスト文書のリーフ・
ノードは文書中の多くのテキスト・ページを参照
するので、かかるリーフ・ノードを重要であると
みなすことができる。一方、ワード・プロセシン
グ・システム10のプログラム・デイスケツトに
置かれたプログラム・データ・セツトのリーフ・
ノードは重要であるとはみなされない。というの
は、任意のプログラム・データの消失はそのプロ
グラム・デイスケツトを無効にし、そして他のプ
ログラム・デイスケツトをその販売元から簡単に
入手することができるからである。かくて、当該
データ・セツトの内容に応じて、或るリーフ・ノ
ードは重要であるとみなされ、他のリーフ・ノー
ドは重要であるとはみなされない。
なセクタであるとみなされ、冗長的に記録され
る。また、デイレクトリのリーフ・ノードも重要
なセクタとみなされる。他のリーフ・ノードは、
データ・セツトのタイプに応じて、重要であると
みなされる。たとえば、テキスト文書のリーフ・
ノードは文書中の多くのテキスト・ページを参照
するので、かかるリーフ・ノードを重要であると
みなすことができる。一方、ワード・プロセシン
グ・システム10のプログラム・デイスケツトに
置かれたプログラム・データ・セツトのリーフ・
ノードは重要であるとはみなされない。というの
は、任意のプログラム・データの消失はそのプロ
グラム・デイスケツトを無効にし、そして他のプ
ログラム・デイスケツトをその販売元から簡単に
入手することができるからである。かくて、当該
データ・セツトの内容に応じて、或るリーフ・ノ
ードは重要であるとみなされ、他のリーフ・ノー
ドは重要であるとはみなされない。
第10B図は、第4B図に示したルート・ノー
ド170のデータ・セツト・プロフイル172を
一層詳細に示す。データ・セツト・プロフイル3
90には、4つの構成要素、すなわちデータ及び
インデツクス属性392、データ・セツト名39
3、データ・セツト・コメント394及びデー
タ・セツト・ステータス395がある。データ及
びインデツクス属性392は、データ・セツト・
インデツクス及び当該インデツクス・ノードのイ
ンデツクス構成要素におけるインデツクス・エン
トリの構造に関する完全な記述を、SAMルーチ
ン44のために含んでいる。特に、リーフ・シヤ
ドウ指示は、当該データ・セツトに対するリー
フ・ノードが冗長的に記録されるべきか否かを指
定する。従つて、リーフ・ノードが重要であるか
否かは特定のデータ・セツトごとに指定すること
ができる。ワード・プロセシング・システム10
では、キーストローク・サービス・ルーチン34
は一般に同じデータ・タツト・タイプを有するデ
ータ・セツトを同等に扱う。かくて、すべてのテ
キスト文書はそれらのリーフ・ノードをシヤドウ
化、すなわち2重化される。SAMルーチン44
では、すべてのデータ・セツトのルート・ノード
はリーフ・ノードをシヤドウ化すべきか否かを指
定する。
ド170のデータ・セツト・プロフイル172を
一層詳細に示す。データ・セツト・プロフイル3
90には、4つの構成要素、すなわちデータ及び
インデツクス属性392、データ・セツト名39
3、データ・セツト・コメント394及びデー
タ・セツト・ステータス395がある。データ及
びインデツクス属性392は、データ・セツト・
インデツクス及び当該インデツクス・ノードのイ
ンデツクス構成要素におけるインデツクス・エン
トリの構造に関する完全な記述を、SAMルーチ
ン44のために含んでいる。特に、リーフ・シヤ
ドウ指示は、当該データ・セツトに対するリー
フ・ノードが冗長的に記録されるべきか否かを指
定する。従つて、リーフ・ノードが重要であるか
否かは特定のデータ・セツトごとに指定すること
ができる。ワード・プロセシング・システム10
では、キーストローク・サービス・ルーチン34
は一般に同じデータ・タツト・タイプを有するデ
ータ・セツトを同等に扱う。かくて、すべてのテ
キスト文書はそれらのリーフ・ノードをシヤドウ
化、すなわち2重化される。SAMルーチン44
では、すべてのデータ・セツトのルート・ノード
はリーフ・ノードをシヤドウ化すべきか否かを指
定する。
第11A図には、インデツクス・ノード読取り
に関係するる本発明の論理的動作が流れ図の形式
で示されている。この手順はインデツクス・ノー
ド読取サービス・ルーチン・ステツプ400で開
始する。ステツプ402では、このインデツク
ス・ノード読取手順を遂行せしめるような他の手
順によつて供給される論理セクタ番号を使用し
て、当該インデツクス・ノードの1次コピーが読
取られる。もしステツプ403のテストによりこ
のインデツクス・ノードがDASD22から正常に
取出されたことがわかれば、インデツクス・ノー
ド読取完了がステツプ405の戻りコードを介し
て通知され、かくてこの手順は次のインデツク
ス・ノード読取りが必要となるまでステツプ40
7で終了する。戻りコードは当該技術分野では周
知であるばかりか、本発明の要旨とも関係がない
ので、以下ではその説明を省略する。
に関係するる本発明の論理的動作が流れ図の形式
で示されている。この手順はインデツクス・ノー
ド読取サービス・ルーチン・ステツプ400で開
始する。ステツプ402では、このインデツク
ス・ノード読取手順を遂行せしめるような他の手
順によつて供給される論理セクタ番号を使用し
て、当該インデツクス・ノードの1次コピーが読
取られる。もしステツプ403のテストによりこ
のインデツクス・ノードがDASD22から正常に
取出されたことがわかれば、インデツクス・ノー
ド読取完了がステツプ405の戻りコードを介し
て通知され、かくてこの手順は次のインデツク
ス・ノード読取りが必要となるまでステツプ40
7で終了する。戻りコードは当該技術分野では周
知であるばかりか、本発明の要旨とも関係がない
ので、以下ではその説明を省略する。
もしステツプ403でエラーが検出されたなら
ば、予測されたインデツクス・ノードのタイプが
ステツプ409で調べられる。もしルート・ノー
ドが予測されたならば、このルート・ノードは最
初に冗長的に記録されたので、ステツプ411で
ボリユーム・シヤドウ・オフセツトを1次コピー
の論理セクタ番号へ加算することによつて2次コ
ピーの論理セクタ番号が計算され、続いてステツ
プ413でこの2次コピーが読取られる。もしス
テツプ414で2次コピーの取出エラーが検出さ
れなければ、読取完了がステツプ405の戻りコ
ードを介して通知され、そしてこの手順は前述の
ようにステツプ407で終了する。もしステツプ
414でエラーが検出されたならば、ステツプ4
16の戻りコードを介して読取エラーが通知さ
れ、そしてこの手順は前述のようにステツプ40
7で終了する。
ば、予測されたインデツクス・ノードのタイプが
ステツプ409で調べられる。もしルート・ノー
ドが予測されたならば、このルート・ノードは最
初に冗長的に記録されたので、ステツプ411で
ボリユーム・シヤドウ・オフセツトを1次コピー
の論理セクタ番号へ加算することによつて2次コ
ピーの論理セクタ番号が計算され、続いてステツ
プ413でこの2次コピーが読取られる。もしス
テツプ414で2次コピーの取出エラーが検出さ
れなければ、読取完了がステツプ405の戻りコ
ードを介して通知され、そしてこの手順は前述の
ようにステツプ407で終了する。もしステツプ
414でエラーが検出されたならば、ステツプ4
16の戻りコードを介して読取エラーが通知さ
れ、そしてこの手順は前述のようにステツプ40
7で終了する。
もしステツプ409で予測されたインデツク
ス・ノードがルート・ノードでないことがわかれ
ば、リーフ・ノードが予測されたか否かを決定す
るために、この予測ノードはステツプ418で調
べられる。もし予測されたインデツクス・ノード
がリーフ・ノードでなければ(中間ノードが予測
された場合)、これは1次コピーがステツプ40
2で正常に読取られなかつたことを意味するか
ら、前述のようにステツプ416を介して読取エ
ラーが通知される。これと同じことは、予測され
たリーフ・ノードが(第10B図のデータ・セツ
ト・プロフイル390におけるリーフ・シヤドウ
指示397に従つて)2重化されていないことが
ステツプ420で判明した場合にもあてはまる。
予測されたリーフ・ノードが2重化されているこ
とがステツプ420でわかれば、これは予測され
たルート・ノードと同様にステツプ411及び4
13を通して処理される。
ス・ノードがルート・ノードでないことがわかれ
ば、リーフ・ノードが予測されたか否かを決定す
るために、この予測ノードはステツプ418で調
べられる。もし予測されたインデツクス・ノード
がリーフ・ノードでなければ(中間ノードが予測
された場合)、これは1次コピーがステツプ40
2で正常に読取られなかつたことを意味するか
ら、前述のようにステツプ416を介して読取エ
ラーが通知される。これと同じことは、予測され
たリーフ・ノードが(第10B図のデータ・セツ
ト・プロフイル390におけるリーフ・シヤドウ
指示397に従つて)2重化されていないことが
ステツプ420で判明した場合にもあてはまる。
予測されたリーフ・ノードが2重化されているこ
とがステツプ420でわかれば、これは予測され
たルート・ノードと同様にステツプ411及び4
13を通して処理される。
第11B図には、インデツクス・ノード書込み
に関係する本発明の論理的動作が流れ図の形式で
示されている。この手順はインデツクス・ノード
書込サービス・ルーチン・ステツプ425で開始
する。ステツプ427では、このインデツクス・
ノード書込手順を行わしめる他の手順によつて供
給された論理セクタ番号を使用して、当該インデ
ツクス・ノードの1次コピーが書込まれる。もし
ステツプ429のテストにより当該インデツク
ス・ノードがルート・ノードであることがわかる
か、又はステツプ431及び433のテストによ
り当該インデツクス・ノードがリーフ・ノードで
あり且つこのリーフ・ノードが2重化されるべき
ことがわかれば、ステツプ435ではボリユー
ム・シヤドウ・オフセツトを1次コピーの論理セ
クタ番号へ加算することによつて2次コピーの論
理セクタ番号が計算され、続くステツプ436で
はこの2次コピーが書込まれる。次いで、この手
順は次のインデツクス・ノード書込要求が受取ら
れるまでステツプ438で終了する。
に関係する本発明の論理的動作が流れ図の形式で
示されている。この手順はインデツクス・ノード
書込サービス・ルーチン・ステツプ425で開始
する。ステツプ427では、このインデツクス・
ノード書込手順を行わしめる他の手順によつて供
給された論理セクタ番号を使用して、当該インデ
ツクス・ノードの1次コピーが書込まれる。もし
ステツプ429のテストにより当該インデツク
ス・ノードがルート・ノードであることがわかる
か、又はステツプ431及び433のテストによ
り当該インデツクス・ノードがリーフ・ノードで
あり且つこのリーフ・ノードが2重化されるべき
ことがわかれば、ステツプ435ではボリユー
ム・シヤドウ・オフセツトを1次コピーの論理セ
クタ番号へ加算することによつて2次コピーの論
理セクタ番号が計算され、続くステツプ436で
はこの2次コピーが書込まれる。次いで、この手
順は次のインデツクス・ノード書込要求が受取ら
れるまでステツプ438で終了する。
もしステツプ429及び431で当該インデツ
クス・ノードがルート・ノードではなくリーフ・
ノードであることがわかるか、又はステツプ43
3でリーフ・ノードを現データ・セツトにおいて
2重化すべきでないことがわかれば、ステツプ4
27では1次コピーだけが書込まれたことになる
ので、この手順は前述のようにステツプ438で
終了する。
クス・ノードがルート・ノードではなくリーフ・
ノードであることがわかるか、又はステツプ43
3でリーフ・ノードを現データ・セツトにおいて
2重化すべきでないことがわかれば、ステツプ4
27では1次コピーだけが書込まれたことになる
ので、この手順は前述のようにステツプ438で
終了する。
第10A図〜第10B図に示した構造及び第1
1A図〜第11B図に示した手順は、記憶ボリユ
ームの記憶容量を若干余分に利用するだけで、操
作員に対する相当量のデータが消失するリスクを
減少させるとともに、記憶媒体上の任意の物理セ
クタにおけるエラーのない動作に完全に依存する
ことを排除するために、ワード・プロセシング・
システム10がどのように柔軟に利用されるか、
ということを示している。
1A図〜第11B図に示した手順は、記憶ボリユ
ームの記憶容量を若干余分に利用するだけで、操
作員に対する相当量のデータが消失するリスクを
減少させるとともに、記憶媒体上の任意の物理セ
クタにおけるエラーのない動作に完全に依存する
ことを排除するために、ワード・プロセシング・
システム10がどのように柔軟に利用されるか、
ということを示している。
ワード・プロセシング・システム10の通常の
動作中、SAMルーチン44はデータ・セツト・
インデツクス構造が完全で且つ正しいことを仮定
する。もし記憶媒体エーが存在せず、しかも異常
なシステム終了が存在しなければ、この仮定は
DASD22上で利用可能な任意のデータ・セツト
に対す適正なアクセスを保証するに十分である。
動作中、SAMルーチン44はデータ・セツト・
インデツクス構造が完全で且つ正しいことを仮定
する。もし記憶媒体エーが存在せず、しかも異常
なシステム終了が存在しなければ、この仮定は
DASD22上で利用可能な任意のデータ・セツト
に対す適正なアクセスを保証するに十分である。
しかしながら、DASD22で使用される記憶媒
体については、記憶ボリユームに正常に記憶され
たデータを(媒体エラーのために)アクセスでき
ないことがある。第6図を参照するに、リーフ・
ノードC(258)のインデツクス構成要素中に
あるインデツクス・エントリによつて参照される
ようなデータ・レコードをアクセスしなければな
らない場合には、一般に、記憶ボリユーム上のデ
ータ・レコードを探し出してアクセスする前に、
ルート・ノードをスキヤンすること、中間ノード
I(244)を探し出し、取出し且つスキヤンす
ること、そしてリーフ・ノードC(258)を探
し出し、取出し且つスキヤンすることが必要であ
る。
体については、記憶ボリユームに正常に記憶され
たデータを(媒体エラーのために)アクセスでき
ないことがある。第6図を参照するに、リーフ・
ノードC(258)のインデツクス構成要素中に
あるインデツクス・エントリによつて参照される
ようなデータ・レコードをアクセスしなければな
らない場合には、一般に、記憶ボリユーム上のデ
ータ・レコードを探し出してアクセスする前に、
ルート・ノードをスキヤンすること、中間ノード
I(244)を探し出し、取出し且つスキヤンす
ること、そしてリーフ・ノードC(258)を探
し出し、取出し且つスキヤンすることが必要であ
る。
第10図及び第11図に示した構造及び手順
は、媒体エラーのためにルート・ノード又はリー
フ・ノードをアクセスすることができないような
状況を著しく減少させる。しかしながら、中間ノ
ードは2重化によつては保護されない。ここで注
意すべきは、もし任意のリーフ・ノードを探し出
すことができるならば、他の任意のリーフ・ノー
ドも第6図のリーフ・ノード・チエーン264を
介して探し出すことができる、という点である。
もし中間ノードI(244)の取出中に読取エラ
ーが検出されたならば、中間ノードJ(246)
を取出し、次いでリーフ・ノードF(266)を
取出し、さらにリーフ・ノードC(258)が探
し出されるまで、第5A図に示したリーフ・ノー
ド・チエン206の前位リーフLSN216を介
して前位リーフ・ノードを順次に探し出すことが
できる。
は、媒体エラーのためにルート・ノード又はリー
フ・ノードをアクセスすることができないような
状況を著しく減少させる。しかしながら、中間ノ
ードは2重化によつては保護されない。ここで注
意すべきは、もし任意のリーフ・ノードを探し出
すことができるならば、他の任意のリーフ・ノー
ドも第6図のリーフ・ノード・チエーン264を
介して探し出すことができる、という点である。
もし中間ノードI(244)の取出中に読取エラ
ーが検出されたならば、中間ノードJ(246)
を取出し、次いでリーフ・ノードF(266)を
取出し、さらにリーフ・ノードC(258)が探
し出されるまで、第5A図に示したリーフ・ノー
ド・チエン206の前位リーフLSN216を介
して前位リーフ・ノードを順次に探し出すことが
できる。
このような代替的スキヤニングを達成するため
の一般的手順をSAMルーチン44に追加すると、
通常の処理ルーチンが著しく複雑になる。また、
メモリ26の記憶要件も著しく厳しくなる。とい
うのは、メモリ26の全容量は制限されており、
従つてSAMルーチン44のサイズ及び複雑さを
制限することが一層望ましいからである。
の一般的手順をSAMルーチン44に追加すると、
通常の処理ルーチンが著しく複雑になる。また、
メモリ26の記憶要件も著しく厳しくなる。とい
うのは、メモリ26の全容量は制限されており、
従つてSAMルーチン44のサイズ及び複雑さを
制限することが一層望ましいからである。
ワード・プロセシング・システム10で採用さ
れた媒体エラー・アプローチの全容は、次のとお
りである。第10B図を参照するに、各データ・
セツトのルート・ノードはデータ・セツト・プロ
フイル390を含んでおり、該プロフイルの1構
成要素はデータ・セツト・ステータス395であ
る。ワード・プロセシング・システム10では、
データ・セツト・ステータスは3種類の状態(ク
ローズ、更新オープン、損傷)のうち1つをとり
うる。
れた媒体エラー・アプローチの全容は、次のとお
りである。第10B図を参照するに、各データ・
セツトのルート・ノードはデータ・セツト・プロ
フイル390を含んでおり、該プロフイルの1構
成要素はデータ・セツト・ステータス395であ
る。ワード・プロセシング・システム10では、
データ・セツト・ステータスは3種類の状態(ク
ローズ、更新オープン、損傷)のうち1つをとり
うる。
当該技術分野におけDASDに対する殆んどの記
憶アクセス方式と同様に、キーストローク・サー
ビス・ルーチン34は或るデータ・セツトのレコ
ードに対するアクセス要求を発する前に該デー
タ・セツトのオープン要求を記憶アクセス方式へ
与えなければならない。第12A図には、オープ
ン・ステータス検査に関係する本発明の論理的動
作が流れ図の形式で示されている。
憶アクセス方式と同様に、キーストローク・サー
ビス・ルーチン34は或るデータ・セツトのレコ
ードに対するアクセス要求を発する前に該デー
タ・セツトのオープン要求を記憶アクセス方式へ
与えなければならない。第12A図には、オープ
ン・ステータス検査に関係する本発明の論理的動
作が流れ図の形式で示されている。
この手順はオープン・ステータス検査サービ
ス・ルーチン・ステツプ450で開始する。ステ
ツプ451では、データ・セツト・ルートを読取
るためにインデツクス・ノード読取手順が行わ
れ、続くステツプ453では、データ・セツト・
プロフイル中のデータ・セツト・ステータスが探
し出される。もしステツプ454のテストにより
当該データ・セツトがクローズされていないこと
がわかれば、このデータ・セツトは正しいことが
保証される。従つて、このデータ・セツトの利用
不能性がステツプ458の戻りコードを介して通
知され、そしてこの手順は次のオープン・ステー
タス検査が要求されるまでステツプ458で終了
する。
ス・ルーチン・ステツプ450で開始する。ステ
ツプ451では、データ・セツト・ルートを読取
るためにインデツクス・ノード読取手順が行わ
れ、続くステツプ453では、データ・セツト・
プロフイル中のデータ・セツト・ステータスが探
し出される。もしステツプ454のテストにより
当該データ・セツトがクローズされていないこと
がわかれば、このデータ・セツトは正しいことが
保証される。従つて、このデータ・セツトの利用
不能性がステツプ458の戻りコードを介して通
知され、そしてこの手順は次のオープン・ステー
タス検査が要求されるまでステツプ458で終了
する。
もしステツプ454のテストにより当該デー
タ・セツトの現ステータスがアクセスを許容する
ものであることがわかれば、ステツプ460では
このアクセス要求のタイプがテストされる。もし
この要求が更新タイプ(データ・セツト・インデ
ツクス及び/又はレコードの追加、置換又は削
除)のものでなければ、このデータ・セツトの利
用可能性がステツプ462の戻りコードを介して
通知され、そしてこの手順は前述のようにステツ
プ458で終了する。一方、もしこの要求が更新
タイプのものであれば、ステツプ464で当該デ
ータ・セツトの現ステータスは更新オープンへ変
更され、そしてステツプ466ではインデツク
ス・ノード書込手順が行われる。
タ・セツトの現ステータスがアクセスを許容する
ものであることがわかれば、ステツプ460では
このアクセス要求のタイプがテストされる。もし
この要求が更新タイプ(データ・セツト・インデ
ツクス及び/又はレコードの追加、置換又は削
除)のものでなければ、このデータ・セツトの利
用可能性がステツプ462の戻りコードを介して
通知され、そしてこの手順は前述のようにステツ
プ458で終了する。一方、もしこの要求が更新
タイプのものであれば、ステツプ464で当該デ
ータ・セツトの現ステータスは更新オープンへ変
更され、そしてステツプ466ではインデツク
ス・ノード書込手順が行われる。
かくて、当該データセツトに未解決の問題又は
エラーが検出されなかつた場合のみ、オープンを
行うためのSAMルーチン44がこのデータ・セ
ツトをアクセスすることができるのである。
エラーが検出されなかつた場合のみ、オープンを
行うためのSAMルーチン44がこのデータ・セ
ツトをアクセスすることができるのである。
或るデータ・セツトのオープンに成功した後、
全てのデータ・セツト・インデツクスが正しいこ
と及びすべてのインデツクス・ノードがエラーな
しで読取られうること(第11A図及び第11B
図の手順により、通常の処理中に重要セクタの読
取りエラーを回復する場合を含む)を仮定して、
ワード・プロセシング・システム10の通常の動
作が進行する。もし通常のSAMルーチン44の
処理中に要求されたインデツクス・ノード又は論
理セクタが媒体エラーのために利用不能であるこ
とがわかれば、キーストローク・サービス・ルー
チン34へエラー指示が戻される。キーストロー
ク・サービス・ルーチン34がクローズ要求を発
した場合、このエラー指示は、プログラム状況が
解決されるまで後のアクセスから保護するため
に、記憶ボリユーム上に保存されねばならない。
全てのデータ・セツト・インデツクスが正しいこ
と及びすべてのインデツクス・ノードがエラーな
しで読取られうること(第11A図及び第11B
図の手順により、通常の処理中に重要セクタの読
取りエラーを回復する場合を含む)を仮定して、
ワード・プロセシング・システム10の通常の動
作が進行する。もし通常のSAMルーチン44の
処理中に要求されたインデツクス・ノード又は論
理セクタが媒体エラーのために利用不能であるこ
とがわかれば、キーストローク・サービス・ルー
チン34へエラー指示が戻される。キーストロー
ク・サービス・ルーチン34がクローズ要求を発
した場合、このエラー指示は、プログラム状況が
解決されるまで後のアクセスから保護するため
に、記憶ボリユーム上に保存されねばならない。
第12B図には、クローズ・ステータスに関係
する本発明の論理的動作が流れ図の形式で示され
ている。この手順はクローズ・ステータス・サー
ビス・ルーチン・ステツプ475で開始する。ス
テツプ476では、ルート・ノードにあるデー
タ・セツト・プロフイル390(第10B図参
照)のデータ・セツト・ステータス395が探し
出される。もしステツプ478で当該データ・セ
ツトの前のエラー指示が検出されるならば、この
データ・セツト・ステータスはステツプ480で
損傷状態へセツトされ、そしてステツプ481で
はこのルート・ノードを記憶ボリユームへ書込む
ためにインデツクス・ノード書込手順が行なわれ
る。然る後、この手順は次のクローズ・ステータ
スが要求されるまでステツプ483で終了する。
する本発明の論理的動作が流れ図の形式で示され
ている。この手順はクローズ・ステータス・サー
ビス・ルーチン・ステツプ475で開始する。ス
テツプ476では、ルート・ノードにあるデー
タ・セツト・プロフイル390(第10B図参
照)のデータ・セツト・ステータス395が探し
出される。もしステツプ478で当該データ・セ
ツトの前のエラー指示が検出されるならば、この
データ・セツト・ステータスはステツプ480で
損傷状態へセツトされ、そしてステツプ481で
はこのルート・ノードを記憶ボリユームへ書込む
ためにインデツクス・ノード書込手順が行なわれ
る。然る後、この手順は次のクローズ・ステータ
スが要求されるまでステツプ483で終了する。
もしステツプ478での前のエラーが検出され
なければ、ステツプ485は当該データ・セツト
の現ステータスが検査される。もし現アクセス・
タイプが更新でなければ、この手順は前述のよう
にステツプ483で終了する。もし現アクセス・
タイプが更新であれば、ステツプ487では当該
データ・セツトのステータスがクローズ状態へ変
更され、続くステツプ488では当該ルート・ノ
ードを記憶ボリユームへ書込むためにインデツク
ス・ノード書込手順が行われ、そして前述のよう
にステツプ483でこの手順が終了する。
なければ、ステツプ485は当該データ・セツト
の現ステータスが検査される。もし現アクセス・
タイプが更新でなければ、この手順は前述のよう
にステツプ483で終了する。もし現アクセス・
タイプが更新であれば、ステツプ487では当該
データ・セツトのステータスがクローズ状態へ変
更され、続くステツプ488では当該ルート・ノ
ードを記憶ボリユームへ書込むためにインデツク
ス・ノード書込手順が行われ、そして前述のよう
にステツプ483でこの手順が終了する。
第12A図及び第12B図に関連して詳述した
これらの手術によれば、SAMルーチン44は、
未解決の問題を有していそうなデータ・セツトへ
のアクセスを禁止し、通常の処理手順によつては
解決できない問題(媒体上に冗長的に記録された
重複コピーをアクセスすることによつても解決で
きないエラー)を検出するとともに、データ・セ
ツトで検出された未解決の問題の指示を記憶ボリ
ユームに保存する。
これらの手術によれば、SAMルーチン44は、
未解決の問題を有していそうなデータ・セツトへ
のアクセスを禁止し、通常の処理手順によつては
解決できない問題(媒体上に冗長的に記録された
重複コピーをアクセスすることによつても解決で
きないエラー)を検出するとともに、データ・セ
ツトで検出された未解決の問題の指示を記憶ボリ
ユームに保存する。
ワード・プロセシング・システム10の通常の
動作環境では、予測不能な電源障害が不正なデー
タ・セツト・インデツクスに結びつくことがあ
る。もし或るインデツクスの更新中にワード・プ
ロセシング・システム10へ供給される外部電源
が故障すれば、不正なデータ・セツト又はボリユ
ーム・インデツクス構造が生ずることがある。
動作環境では、予測不能な電源障害が不正なデー
タ・セツト・インデツクスに結びつくことがあ
る。もし或るインデツクスの更新中にワード・プ
ロセシング・システム10へ供給される外部電源
が故障すれば、不正なデータ・セツト又はボリユ
ーム・インデツクス構造が生ずることがある。
第13図には、第6図に示したものと類似する
データ・セツト・インデツクスの一部が例示され
ている。ルート・ノード500は、中間ノードI
(502)を参照する処のインデツクス・エント
リを含む。中間ノードI(502)は、リーフ・
ノードB(504)、リーフ・ノードC(506)
及びリーフ・ノード(508)を参照する。リー
フ・ノード・チエーン510及び512は、第6
図のリーフ・ノード・チエーン264と同じ機能
を有する。
データ・セツト・インデツクスの一部が例示され
ている。ルート・ノード500は、中間ノードI
(502)を参照する処のインデツクス・エント
リを含む。中間ノードI(502)は、リーフ・
ノードB(504)、リーフ・ノードC(506)
及びリーフ・ノード(508)を参照する。リー
フ・ノード・チエーン510及び512は、第6
図のリーフ・ノード・チエーン264と同じ機能
を有する。
もしリーフ・ノードC(506)にインデツク
ス・エントリを記憶さるべきデータ・セツトへレ
コードが追加され、そしてリーフ・ノードC(5
06)がこれらの追加レコードのインデツクス・
エントリを保持するに十分なスペースを有してい
なければ、リーフ・ノードC(506)に置換わ
るべき2つの新しいリーフ・ノード、すなわちリ
ーフ・ノードC1(514)及びリーフ・ノード
C2(516)を作成しなければならない。リー
フ・ノードB(504)及びリーフ・ノードC(5
06)を結合するリーフ・ノード・チエーン51
0は、リーフ・ノード・チエーン518と対応す
るようにリーフ・ノードB(504)で変更され
ねばならない。同様に、リーフ・ノードD(50
8)は、リーフ・ノード・チエーン512をリー
フ・ノード・チエーン520で置換えるように変
更されねばならない。さらに、中間ノードI(5
02)中のリーフC・インデツクス・エントリ5
22は、2つの新しいインデツクス・エントリ、
すなわちリーフ・ノードC1(514)及びリー
フ・ノードC2(516)の各々ごとに1つの新
しいインデツクス・エントリで置換えられねばな
らない。
ス・エントリを記憶さるべきデータ・セツトへレ
コードが追加され、そしてリーフ・ノードC(5
06)がこれらの追加レコードのインデツクス・
エントリを保持するに十分なスペースを有してい
なければ、リーフ・ノードC(506)に置換わ
るべき2つの新しいリーフ・ノード、すなわちリ
ーフ・ノードC1(514)及びリーフ・ノード
C2(516)を作成しなければならない。リー
フ・ノードB(504)及びリーフ・ノードC(5
06)を結合するリーフ・ノード・チエーン51
0は、リーフ・ノード・チエーン518と対応す
るようにリーフ・ノードB(504)で変更され
ねばならない。同様に、リーフ・ノードD(50
8)は、リーフ・ノード・チエーン512をリー
フ・ノード・チエーン520で置換えるように変
更されねばならない。さらに、中間ノードI(5
02)中のリーフC・インデツクス・エントリ5
22は、2つの新しいインデツクス・エントリ、
すなわちリーフ・ノードC1(514)及びリー
フ・ノードC2(516)の各々ごとに1つの新
しいインデツクス・エントリで置換えられねばな
らない。
データ・レコードを記憶ボリユームへ書込んだ
り、インデツクス・ノードの読取り及び書込みを
行うプロセスは、瞬間的なものではない。従つ
て、インデツクス更新プロセスの任意のステツプ
で、ワード・プロセシング・システム10の外部
電源が故障することがある。
り、インデツクス・ノードの読取り及び書込みを
行うプロセスは、瞬間的なものではない。従つ
て、インデツクス更新プロセスの任意のステツプ
で、ワード・プロセシング・システム10の外部
電源が故障することがある。
たとえば、リーフ・ノードC1(514)及び
リーフ・ノードC2(516)が記憶ボリユーム
に記憶され且つリーフ・ノードB(504)及び
リーフ・ノードD(508)のリーフ・ノード・
チエーンが更新された場合、中間ノードI(50
2)を変更して記憶ボリユームに書戻す前に、ワ
ード・プロセシング・システム10の外部電源が
故障することがある。
リーフ・ノードC2(516)が記憶ボリユーム
に記憶され且つリーフ・ノードB(504)及び
リーフ・ノードD(508)のリーフ・ノード・
チエーンが更新された場合、中間ノードI(50
2)を変更して記憶ボリユームに書戻す前に、ワ
ード・プロセシング・システム10の外部電源が
故障することがある。
この外部電源が復元される場合、ルート・ノー
ド500のデータ・セツトに対応して記憶ボリユ
ームに置かれたデータ・セツト・インデツクスは
正しくない。リーフ・ノードB(504)及びリ
ーフ・ノードD(508)は、リーフ・ノードC
1(514)及びリーフ・ノードC2(516)
へそれぞれ連鎖される。中間ノードI(502)
はリーフ・ノードC(506)に対するインデツ
クス・エントリを保持するが、これはもはや当該
データ・セツト・インデツクスの一部ではない。
中間ノードI(502)は、当該データ・セツ
ト・インデツクスの一部であるべきリーフ・ノー
ドC1(514)及びリーフ・ノードC2(51
6)に対するインデツクス・エントリを含んでい
ない。かくて、当該データ・セツトは未解決の問
題を含むことになる。
ド500のデータ・セツトに対応して記憶ボリユ
ームに置かれたデータ・セツト・インデツクスは
正しくない。リーフ・ノードB(504)及びリ
ーフ・ノードD(508)は、リーフ・ノードC
1(514)及びリーフ・ノードC2(516)
へそれぞれ連鎖される。中間ノードI(502)
はリーフ・ノードC(506)に対するインデツ
クス・エントリを保持するが、これはもはや当該
データ・セツト・インデツクスの一部ではない。
中間ノードI(502)は、当該データ・セツ
ト・インデツクスの一部であるべきリーフ・ノー
ドC1(514)及びリーフ・ノードC2(51
6)に対するインデツクス・エントリを含んでい
ない。かくて、当該データ・セツトは未解決の問
題を含むことになる。
このような未解決の問題の検出は、第12A図
に関連して説明した構造及び手順に既に包含され
ている。第13図に示したデータ・セツトが(当
該データ・セツトに新しいレコードを挿入する前
に必要とされるような)更新アクセスのために選
択された場合、第12A図に示したオープン・ス
テータス検査手順によりデータ・セツト・ステー
タスを更新状態へセツトされた当該データ・セツ
トのルート・ノード500が記憶ボリユームへ書
込まれる。ワード・プロセシング・システム10
への電源が復元した後は、このデータ・セツト・
インデツクスに関する未解決の問題が書込まれる
まで、オープン・ステータス手順によつて以後の
アクセスが禁止される。これは現データ・セツ
ト・ステータスが更新状態へセツトされているた
めである。
に関連して説明した構造及び手順に既に包含され
ている。第13図に示したデータ・セツトが(当
該データ・セツトに新しいレコードを挿入する前
に必要とされるような)更新アクセスのために選
択された場合、第12A図に示したオープン・ス
テータス検査手順によりデータ・セツト・ステー
タスを更新状態へセツトされた当該データ・セツ
トのルート・ノード500が記憶ボリユームへ書
込まれる。ワード・プロセシング・システム10
への電源が復元した後は、このデータ・セツト・
インデツクスに関する未解決の問題が書込まれる
まで、オープン・ステータス手順によつて以後の
アクセスが禁止される。これは現データ・セツ
ト・ステータスが更新状態へセツトされているた
めである。
第13図に関連して説明した外部電源の故障後
は、記憶ボリユーム上に他の未解決の問題が存在
する。第7図は、ボリユーム上に置かれた媒体割
振マツプを示す。性能上の理由で、UCS300
(第8図)に置かれた媒体割振マツプのコピーは
割振りが変更されるたびにボリユーム上に記憶さ
れるのではなく、インデツクス及びデータ・セツ
ト・レコードの変更が完了したとき離散的なイン
ターバルで記憶される。
は、記憶ボリユーム上に他の未解決の問題が存在
する。第7図は、ボリユーム上に置かれた媒体割
振マツプを示す。性能上の理由で、UCS300
(第8図)に置かれた媒体割振マツプのコピーは
割振りが変更されるたびにボリユーム上に記憶さ
れるのではなく、インデツクス及びデータ・セツ
ト・レコードの変更が完了したとき離散的なイン
ターバルで記憶される。
第13図の例では、記憶ボリユームに置かれた
媒体割振マツプ中の割振指示のうちリーフ・ノー
ドC1(514)及びリーフ・ノードC2(51
6)を保持する論理セクタに対する割振指示は、
依然としてこれらの論理セクタが将来の割振りの
ために利用可能であることを示す。もしこれらの
論理セクタがボリユーム上の割振要求を満足させ
るように後で使用されるならば、異なる情報がリ
ーフ・ノードC1(514)、リーフ・ノードC
2(516)又はその両方に置換わることがあ
る。この場合、リーフ・ノードC1(514)及
びリーフ・ノードC2(516)にインデツク
ス・エントリを有していたすべてのレコードは、
操作員から見れば失われてしまうことになる。
媒体割振マツプ中の割振指示のうちリーフ・ノー
ドC1(514)及びリーフ・ノードC2(51
6)を保持する論理セクタに対する割振指示は、
依然としてこれらの論理セクタが将来の割振りの
ために利用可能であることを示す。もしこれらの
論理セクタがボリユーム上の割振要求を満足させ
るように後で使用されるならば、異なる情報がリ
ーフ・ノードC1(514)、リーフ・ノードC
2(516)又はその両方に置換わることがあ
る。この場合、リーフ・ノードC1(514)及
びリーフ・ノードC2(516)にインデツク
ス・エントリを有していたすべてのレコードは、
操作員から見れば失われてしまうことになる。
リーフノードC(506)を保持す論理セクタ
の場合は、記憶ボリユーム上の媒体割振マツプに
おいてこの論理セクタが既に割振られたものとし
て指示されているという点で、それほど重要でな
い問題が存在する。リーフ・ノードC(506)
中の情報はもはや必要ないからら、リーフ・ノー
ドC(506)を保持する論理セクタは将来の割
振りに利用可能でなければならない。
の場合は、記憶ボリユーム上の媒体割振マツプに
おいてこの論理セクタが既に割振られたものとし
て指示されているという点で、それほど重要でな
い問題が存在する。リーフ・ノードC(506)
中の情報はもはや必要ないからら、リーフ・ノー
ドC(506)を保持する論理セクタは将来の割
振りに利用可能でなければならない。
前述の媒体割振マツプの問題は、全体として記
憶ボリユームに関係する。新しいリーフ・ノード
C1(514)及びC2(516)の損失を防ぐ
ために、この問題が解決されるまでボリユームに
対する更新アクセスは全体として禁止されねばな
らない。というのは、ボリユーム上にある論理セ
クタの新しい割振要求は、単一の媒体割振マツプ
について行われるからである。
憶ボリユームに関係する。新しいリーフ・ノード
C1(514)及びC2(516)の損失を防ぐ
ために、この問題が解決されるまでボリユームに
対する更新アクセスは全体として禁止されねばな
らない。というのは、ボリユーム上にある論理セ
クタの新しい割振要求は、単一の媒体割振マツプ
について行われるからである。
潜在的な問題の検出はボリユーム・アンカー中
のボリユーム更新指示によつて行われるが、これ
はデータ・セツトのルート・ノードに置かれたデ
ータ・セツト・ステータスと似ている。或るデー
タ・セツトがタイプ更新のためにオープンを要求
した場合、アンカー中のステータスはこの事実を
反映するようにセツトされる。任意のデータ・セ
ツトが更新のためにオープンされている場合、た
とえ元のデータ・セツトがクローズのために要求
されたとしても、アンカー・ステータスは更新ス
テータスを反映する。更新アクセスのためにオー
プンされた最後のデータ・セツトがクローズされ
る場合にのみ、アンカー・ステータスは、ボリユ
ーム・インデツクス(媒体割振マツプを含む)が
検出された未解決の問題を含まないことを反映す
るように、更新されるのである。
のボリユーム更新指示によつて行われるが、これ
はデータ・セツトのルート・ノードに置かれたデ
ータ・セツト・ステータスと似ている。或るデー
タ・セツトがタイプ更新のためにオープンを要求
した場合、アンカー中のステータスはこの事実を
反映するようにセツトされる。任意のデータ・セ
ツトが更新のためにオープンされている場合、た
とえ元のデータ・セツトがクローズのために要求
されたとしても、アンカー・ステータスは更新ス
テータスを反映する。更新アクセスのためにオー
プンされた最後のデータ・セツトがクローズされ
る場合にのみ、アンカー・ステータスは、ボリユ
ーム・インデツクス(媒体割振マツプを含む)が
検出された未解決の問題を含まないことを反映す
るように、更新されるのである。
検出された未解決の問題を前述の機構を通して
解決することは、回復手順によつて行われる。こ
の回復手順は、媒体エラーによつて生ぜられたデ
ータ・セツト又はボリユーム・インデツクス中の
未解決の問題を解決するとともに、外部電源の故
障に起因するシステム処理の異常終了によつて生
ぜられるような問題をも解決することができなけ
ればならない。所与の記憶ボリユームでは、前述
のすべての問題が同時に生ずることがありうる。
解決することは、回復手順によつて行われる。こ
の回復手順は、媒体エラーによつて生ぜられたデ
ータ・セツト又はボリユーム・インデツクス中の
未解決の問題を解決するとともに、外部電源の故
障に起因するシステム処理の異常終了によつて生
ぜられるような問題をも解決することができなけ
ればならない。所与の記憶ボリユームでは、前述
のすべての問題が同時に生ずることがありうる。
論理セクタの現在の割振状態を正確に反映する
ように当該ボリユームに対する媒体割振マツプを
構成するためには、或るデータ・セツト又はボリ
ユーム・インデツクスへ実際に割振られたすべて
のセクタを探し出す必要がある。このことは、シ
ステム・アンカを起点として直接的又は間接的に
到達することができる各インデツクス・ノード中
のすべてのインデツクス・エントリを調べること
を意味する。第7図を参照するに、このことは次
のもの、すなわちアンカー284、媒体割振マツ
プ286、データ・セツトA(288)、デイレク
トリ291、データ・セツトB(289)又はデ
ータ・セツトC(290)へ割振られたすべての
論理セクタを探し出すことを意味する。第13図
を参照するるに、このことは或るデータ・セツト
の有効なインデツクス・ノード及びデータ・レコ
ードのみが割振られたものとみなされ、そしてリ
ーフ・ノードCは有効なインデツクス・ノードと
はみなされないことを意味する。第6図を参照す
るに、中間ノードJ(246)、リーフ・ノードF
(266)及びリーフ・ノード・チエーン264
の存在は、たとえ中間ノードI(264)が回復
中に適正にアクセスできないとしても、リーフ・
ノードC(258)を間接的に探し出すことがで
きるということを意味する。中間ノードI(24
4)とともに失われたインデツクス・エンントリ
は、回復の一部として、1つ又はそれ以上の既存
の又は新しい中間ノードで再構成されねばならな
い。
ように当該ボリユームに対する媒体割振マツプを
構成するためには、或るデータ・セツト又はボリ
ユーム・インデツクスへ実際に割振られたすべて
のセクタを探し出す必要がある。このことは、シ
ステム・アンカを起点として直接的又は間接的に
到達することができる各インデツクス・ノード中
のすべてのインデツクス・エントリを調べること
を意味する。第7図を参照するに、このことは次
のもの、すなわちアンカー284、媒体割振マツ
プ286、データ・セツトA(288)、デイレク
トリ291、データ・セツトB(289)又はデ
ータ・セツトC(290)へ割振られたすべての
論理セクタを探し出すことを意味する。第13図
を参照するるに、このことは或るデータ・セツト
の有効なインデツクス・ノード及びデータ・レコ
ードのみが割振られたものとみなされ、そしてリ
ーフ・ノードCは有効なインデツクス・ノードと
はみなされないことを意味する。第6図を参照す
るに、中間ノードJ(246)、リーフ・ノードF
(266)及びリーフ・ノード・チエーン264
の存在は、たとえ中間ノードI(264)が回復
中に適正にアクセスできないとしても、リーフ・
ノードC(258)を間接的に探し出すことがで
きるということを意味する。中間ノードI(24
4)とともに失われたインデツクス・エンントリ
は、回復の一部として、1つ又はそれ以上の既存
の又は新しい中間ノードで再構成されねばならな
い。
ワード・プロセシング・システム10にとつて
非常に重要な回復の1側面は、性能である。すな
わち、第4図ないし第7図に示したボリユーム・
インデツクス構造によつて利用可能にされるすべ
ての情報源を使用して、できるだけ多くの操作デ
ータを回復することが肝要である。一方、操作員
が通常のワード処理タスクを継続することができ
るように、回復手順はできるだけ速やかに完了さ
れねばならない。特に、、DASD22で行われる
I/O動作の数は最小でなければならない。媒体
割振マツプを再構成するためにはすべてのボリユ
ーム及びデータ・セツト・インデツクス・ノード
を少くとも1回アクセスすることが必要であるか
ら、最良の場合ですら或るインデツクス・ノード
の読取り及び書込みを1回行わねばならない。
非常に重要な回復の1側面は、性能である。すな
わち、第4図ないし第7図に示したボリユーム・
インデツクス構造によつて利用可能にされるすべ
ての情報源を使用して、できるだけ多くの操作デ
ータを回復することが肝要である。一方、操作員
が通常のワード処理タスクを継続することができ
るように、回復手順はできるだけ速やかに完了さ
れねばならない。特に、、DASD22で行われる
I/O動作の数は最小でなければならない。媒体
割振マツプを再構成するためにはすべてのボリユ
ーム及びデータ・セツト・インデツクス・ノード
を少くとも1回アクセスすることが必要であるか
ら、最良の場合ですら或るインデツクス・ノード
の読取り及び書込みを1回行わねばならない。
ワード・プロセシング・システム10中の
SAMルーチン44は、種々のデータ・セツト及
びデータ・タイプを処理するように設計された一
般的なアクセス方式手順から成る。各データ・セ
ツト・タイプのデータ・レコードを処理するため
の一意的なキーストローク・サービス・ルーチン
が既に存在するので、SAMルーチン44中の回
復手順は実際のデータ・レコードを処理する必要
はない。ボリユーム上の或るデータ・レコードを
探し出したり、該レコードへ割振られた論理セク
タ番号を決定するには、当該データ・セツトのイ
ンデツクス・ノード(リーフ・ノード)をアクセ
スするだけでよく、データ・レコードを実際にア
クセスする必要はない。従つて、SAMルーチン
44中の回復手順はデータ・レコードを読取り又
は書込みのためにアクセスしない。キーストロー
ク・サービス・ルーチン34は、ボリユーム上に
置かれたボリユーム及びデータ・セツト・インデ
ツクス中のすべての問題をSAMルーチン44が
解決した後、損傷を受けたデータ・セツト中のデ
ータ・レコードを調べなければならない。しかし
ながら、損傷を受けた可能性があるデータ・セツ
ト中のデータ・レコードのみが調べられねばなら
ない。言いかえれば、SAMルーチン44中の回
復手順を開始する際に、ルート・ノードのデー
タ・セツト・ステータスがクローズ状態にセツト
されているようなデータ・セツトのデータ・レコ
ードは、キーストローク・サービス・ルーチン3
4によつて調べる必要はない。通常の場合、或る
ボリユームにはこのような損傷をうけたデータ・
セツトが1つ又は2つあるにすぎない。このこと
は操作員に対する全体的なデータ回復手順の性能
を著しく改善する。
SAMルーチン44は、種々のデータ・セツト及
びデータ・タイプを処理するように設計された一
般的なアクセス方式手順から成る。各データ・セ
ツト・タイプのデータ・レコードを処理するため
の一意的なキーストローク・サービス・ルーチン
が既に存在するので、SAMルーチン44中の回
復手順は実際のデータ・レコードを処理する必要
はない。ボリユーム上の或るデータ・レコードを
探し出したり、該レコードへ割振られた論理セク
タ番号を決定するには、当該データ・セツトのイ
ンデツクス・ノード(リーフ・ノード)をアクセ
スするだけでよく、データ・レコードを実際にア
クセスする必要はない。従つて、SAMルーチン
44中の回復手順はデータ・レコードを読取り又
は書込みのためにアクセスしない。キーストロー
ク・サービス・ルーチン34は、ボリユーム上に
置かれたボリユーム及びデータ・セツト・インデ
ツクス中のすべての問題をSAMルーチン44が
解決した後、損傷を受けたデータ・セツト中のデ
ータ・レコードを調べなければならない。しかし
ながら、損傷を受けた可能性があるデータ・セツ
ト中のデータ・レコードのみが調べられねばなら
ない。言いかえれば、SAMルーチン44中の回
復手順を開始する際に、ルート・ノードのデー
タ・セツト・ステータスがクローズ状態にセツト
されているようなデータ・セツトのデータ・レコ
ードは、キーストローク・サービス・ルーチン3
4によつて調べる必要はない。通常の場合、或る
ボリユームにはこのような損傷をうけたデータ・
セツトが1つ又は2つあるにすぎない。このこと
は操作員に対する全体的なデータ回復手順の性能
を著しく改善する。
第14図には、SAMルーチン44の回復部分
を構成す複数の手順と、これらの手順の間の関係
が示されている。
を構成す複数の手順と、これらの手順の間の関係
が示されている。
ボリユーム/アンカー回復手順525は、ボリ
ユーム回復のためにキーストローク・サービス・
ルーチン34からSAMルーチン44へ与えられ
る要求に応答して行われる。この手順525は、
グローバル回復バツフアにすべての回復内部パラ
メータを初期設定し、アンカーの回復を制御する
とともに、回復の結果をUCS300(第8図)
又は記憶ボリユームに分散記憶させる。アンカー
を回復するためには、インデツクス構成要素中の
各インデツクス・エントリは一度に1つずつ処理
される。アンカー中の各インデツクス・エントリ
は1つのデータ・セツトを参照するから(但し、
ボリユーム/アンカー回復手順で処理される媒体
マツプ・エントリを除く)、このプロセスは線5
27によつて示されるようにデータ・セツト/ル
ート・ノード回復手順526へ要求を発する。
ユーム回復のためにキーストローク・サービス・
ルーチン34からSAMルーチン44へ与えられ
る要求に応答して行われる。この手順525は、
グローバル回復バツフアにすべての回復内部パラ
メータを初期設定し、アンカーの回復を制御する
とともに、回復の結果をUCS300(第8図)
又は記憶ボリユームに分散記憶させる。アンカー
を回復するためには、インデツクス構成要素中の
各インデツクス・エントリは一度に1つずつ処理
される。アンカー中の各インデツクス・エントリ
は1つのデータ・セツトを参照するから(但し、
ボリユーム/アンカー回復手順で処理される媒体
マツプ・エントリを除く)、このプロセスは線5
27によつて示されるようにデータ・セツト/ル
ート・ノード回復手順526へ要求を発する。
データ・セツト/ルート・ノード回復手順52
6は、単一のデータ・セツトの回復を制御する。
この手順の主たる機能は、データ・セツト名を含
むこともあるデータ・セツト・ルートの有効性を
検査すること、データ・セツト・プロフイル中の
無効な値をワード・プロセシング・システム10
によつて実際にサポートされているルート・ノー
ド又はデータ・セツトではない論理セクタの指示
として検査すること、残りのデータ・セツト・イ
ンデツクスを回復するために他の回復手順へ要求
を発すること、そしてデータ・セツト・インデツ
クス中にある下位レベルのインデツクス・ノード
の回復の結果としてルート・ノードを更新するこ
とである。
6は、単一のデータ・セツトの回復を制御する。
この手順の主たる機能は、データ・セツト名を含
むこともあるデータ・セツト・ルートの有効性を
検査すること、データ・セツト・プロフイル中の
無効な値をワード・プロセシング・システム10
によつて実際にサポートされているルート・ノー
ド又はデータ・セツトではない論理セクタの指示
として検査すること、残りのデータ・セツト・イ
ンデツクスを回復するために他の回復手順へ要求
を発すること、そしてデータ・セツト・インデツ
クス中にある下位レベルのインデツクス・ノード
の回復の結果としてルート・ノードを更新するこ
とである。
第4図ないし第6図の例によつて示されるよう
に、データ・セツト・インデツクスは単一レベル
(ルート/リーフ・ノード)から成ることもある
し、2レベル(ルート・ノード及びリーフ・ノー
ド)又は3レベル以上(ルート・ノード、1レベ
ル以上の中間ノード、リーフ・ノード)から成る
こともある。これらの3つのケースに対する回復
手順は若干相違している。
に、データ・セツト・インデツクスは単一レベル
(ルート/リーフ・ノード)から成ることもある
し、2レベル(ルート・ノード及びリーフ・ノー
ド)又は3レベル以上(ルート・ノード、1レベ
ル以上の中間ノード、リーフ・ノード)から成る
こともある。これらの3つのケースに対する回復
手順は若干相違している。
ルート/リーフ・ノードの場合は、単一ノード
のみを考えればよく、リーフ・チエーンは関係な
い。この場合、データ・セツト/ルート回復は、
ルート/リーフ・ノードのインデツクス構成要素
中のインデツクス・エントリを処理するために、
線528によつて示すように単一リーフ回復手順
529へ要求を発する。
のみを考えればよく、リーフ・チエーンは関係な
い。この場合、データ・セツト/ルート回復は、
ルート/リーフ・ノードのインデツクス構成要素
中のインデツクス・エントリを処理するために、
線528によつて示すように単一リーフ回復手順
529へ要求を発する。
データ・セツトが2以上のレベルを有する場合
は、リーフ・ノードが直近上位レベルのインデツ
クス・エントリによつて正確に参照されないこと
がる。或るリーフ・ノードを2つのリーフ・ノー
ドへ分割するプロセスの間に行われるノード作成
及び更新の順序は注意深く管理されており、かく
てリーフ・ノード・チエーン206(第5A図)
中の次位リーフLSN218は記憶ボリユームに
置かれた当該データ・セツトのすべてのリーフ・
ノードについて正しい。第13図を参照するに、
リーフ・ノードB(504)中の次位リーフLSN
は、リーフ・ノードC1(514)及びリーフ・
ノードC2(516)がボリユームへ書込まれた
後にだけ、記憶ボリユーム上で更新される。
は、リーフ・ノードが直近上位レベルのインデツ
クス・エントリによつて正確に参照されないこと
がる。或るリーフ・ノードを2つのリーフ・ノー
ドへ分割するプロセスの間に行われるノード作成
及び更新の順序は注意深く管理されており、かく
てリーフ・ノード・チエーン206(第5A図)
中の次位リーフLSN218は記憶ボリユームに
置かれた当該データ・セツトのすべてのリーフ・
ノードについて正しい。第13図を参照するに、
リーフ・ノードB(504)中の次位リーフLSN
は、リーフ・ノードC1(514)及びリーフ・
ノードC2(516)がボリユームへ書込まれた
後にだけ、記憶ボリユーム上で更新される。
リーフ・レベル回復手順532は、リーフ・ノ
ードを回復する際の順序づけを制御する。この手
順は、リーフ・ノード・チエーンの前位リーフ
LSN及び次位リーフLSNを使用することにより、
リーフ・ノード・チエーンを介して探し出すこと
ができるデータ・セツト・インデツクス中のすべ
てのリーフ・ノードが正しいシーケンスで回復に
含まれることを保証する。たとえば、データ・セ
ツト/ルート・ノード回復手順から線533を介
してリーフ・レベル回復手順532へ要求が発せ
られる場合、指定されたリーフ・ノードが開始点
として使用される。リーフ・レベル回復手順53
2は、リーフ・ノード・チエーンの前位リーフ
LSNを使用することにより、左端のリーフ・ノ
ードが(当該データ・セツトについてリーフ・レ
ベル回復手順532へ与えられる最初の要求のた
めに)見出されるか又は既に回復されたリーフ・
ノードが探し出されるまで、前位リーフ・ノード
を順次にスキヤンする。リーフ・ノードはこの点
から回復され、そして元の要求のリーフ・ノード
に到達するまで上位レベルのインデツクス・ノー
ドへ追加される。
ードを回復する際の順序づけを制御する。この手
順は、リーフ・ノード・チエーンの前位リーフ
LSN及び次位リーフLSNを使用することにより、
リーフ・ノード・チエーンを介して探し出すこと
ができるデータ・セツト・インデツクス中のすべ
てのリーフ・ノードが正しいシーケンスで回復に
含まれることを保証する。たとえば、データ・セ
ツト/ルート・ノード回復手順から線533を介
してリーフ・レベル回復手順532へ要求が発せ
られる場合、指定されたリーフ・ノードが開始点
として使用される。リーフ・レベル回復手順53
2は、リーフ・ノード・チエーンの前位リーフ
LSNを使用することにより、左端のリーフ・ノ
ードが(当該データ・セツトについてリーフ・レ
ベル回復手順532へ与えられる最初の要求のた
めに)見出されるか又は既に回復されたリーフ・
ノードが探し出されるまで、前位リーフ・ノード
を順次にスキヤンする。リーフ・ノードはこの点
から回復され、そして元の要求のリーフ・ノード
に到達するまで上位レベルのインデツクス・ノー
ドへ追加される。
当該データ・セツトが1レベル以上の中間イン
デツクス・ノードを有する場合、データ・セツ
ト/ルート・ノード回復手順526はそのインデ
ツクス・エントリの各々ごとに線536を介して
中間ノード回復手順535へ要求を発する。中間
ノード回復手順535の機能は、要求を発したノ
ードのインデツクス・エントリを線537を介し
てリーフ・レベル回復手順532へ順次に与える
ことである。中間ノードにはチエーンは存在しな
いから、中間ノード回復手順535は要求された
中間ノードだけを考慮する。
デツクス・ノードを有する場合、データ・セツ
ト/ルート・ノード回復手順526はそのインデ
ツクス・エントリの各々ごとに線536を介して
中間ノード回復手順535へ要求を発する。中間
ノード回復手順535の機能は、要求を発したノ
ードのインデツクス・エントリを線537を介し
てリーフ・レベル回復手順532へ順次に与える
ことである。中間ノードにはチエーンは存在しな
いから、中間ノード回復手順535は要求された
中間ノードだけを考慮する。
ワード・プロセシング・システム10は、2レ
ベル以上の中間ノードを有するデータ・セツトを
許容する。このようなデータ・セツトでは、最上
位レベルの中間ノードは他の中間ノードを参照す
るインデツクス・エントリを保持する。このこと
が生ずる場合、中間ノード回復手順535は線5
38を介してそれ自体へ再帰的要求を発するが、
この再帰的要求はそれとは異なる中間ノードを参
照するものである。
ベル以上の中間ノードを有するデータ・セツトを
許容する。このようなデータ・セツトでは、最上
位レベルの中間ノードは他の中間ノードを参照す
るインデツクス・エントリを保持する。このこと
が生ずる場合、中間ノード回復手順535は線5
38を介してそれ自体へ再帰的要求を発するが、
この再帰的要求はそれとは異なる中間ノードを参
照するものである。
第7図に示したように、アンカーのインデツク
ス・エントリはデータ・セツトのルート・ノード
及びデイレクトリのルート・ノードを参照する。
データ・セツト・インデツクスの構造とデイレク
トリ・インデツクスの構造は、同等である。従つ
て、これらの両インデツクスについて同じ1組の
回復手順が使用される。当該インデツクスがデー
タ・セツト・インデツクスである場合、単一リー
フ回復手順529は、インデツクス・エントリで
参照される論理セクタが再構成中の媒体割振マツ
プで割振られているものとして指示されることを
保証しなければならない。
ス・エントリはデータ・セツトのルート・ノード
及びデイレクトリのルート・ノードを参照する。
データ・セツト・インデツクスの構造とデイレク
トリ・インデツクスの構造は、同等である。従つ
て、これらの両インデツクスについて同じ1組の
回復手順が使用される。当該インデツクスがデー
タ・セツト・インデツクスである場合、単一リー
フ回復手順529は、インデツクス・エントリで
参照される論理セクタが再構成中の媒体割振マツ
プで割振られているものとして指示されることを
保証しなければならない。
しかしながら、デイレクトリ・インデツクスに
ついては、各インデツクス・エントリは同じデー
タ・セツト・タイプを有するデータ・セツトのル
ート・ノードを参照する。デイレクトリのリー
フ・ノード・インデツクス・エントリの有効性を
検査することは、該エントリが参照するデータ・
セツトを回復することを必要とする。従つて、単
一リーフ回復手順59は各データ・セツトごとに
線540を介してデータ・セツト/ルート・ノー
ド回復手順526へ再帰的要求をを発するととも
に、データ・セツト/ルート・ノード回復手順5
26によつて戻される有効性指示に基づてデイレ
クトリ・リーフ・ノードを更新する。ワード・プ
ロセシング・システム10では、1レベルのデイ
レクトリ・データ・セツトが存在するにすぎな
い。デイレクトリ・リーフ・ノード中のインデツ
クス要素で参照される明白なデイレクトリ・ルー
ト・ノードは無効データ・セツトとみなされ、そ
してデイレクトリ・リーフ中のインデツクス要素
は削除される。かくて、データ・セツト/ルー
ト・ノード回復手順526へ与えられる再帰的要
求それ自体が、他の再帰的要求を生ぜしめること
はない。
ついては、各インデツクス・エントリは同じデー
タ・セツト・タイプを有するデータ・セツトのル
ート・ノードを参照する。デイレクトリのリー
フ・ノード・インデツクス・エントリの有効性を
検査することは、該エントリが参照するデータ・
セツトを回復することを必要とする。従つて、単
一リーフ回復手順59は各データ・セツトごとに
線540を介してデータ・セツト/ルート・ノー
ド回復手順526へ再帰的要求をを発するととも
に、データ・セツト/ルート・ノード回復手順5
26によつて戻される有効性指示に基づてデイレ
クトリ・リーフ・ノードを更新する。ワード・プ
ロセシング・システム10では、1レベルのデイ
レクトリ・データ・セツトが存在するにすぎな
い。デイレクトリ・リーフ・ノード中のインデツ
クス要素で参照される明白なデイレクトリ・ルー
ト・ノードは無効データ・セツトとみなされ、そ
してデイレクトリ・リーフ中のインデツクス要素
は削除される。かくて、データ・セツト/ルー
ト・ノード回復手順526へ与えられる再帰的要
求それ自体が、他の再帰的要求を生ぜしめること
はない。
第15図には、ボリユーム回復に関係する本発
明の論理的動作が流れ図の形式で示されている。
この手順は、ボリユーム回復サービス・ルーチ
ン・ステツプ550で終了する。ステツプ551
では、構文規則及びルート・ノードで許容される
サポート値に従つて、アンカーが検査される。ア
ンカーは既にメモリ26に置かれており、一層詳
細にはUCS300(第8図)のボリユーム・デ
ータ・セツト・インデツクス304に置かれてい
る。もしアンカーが無効であることがわかれば、
当該ボリユームがサポートされていないことがス
テツプ553の戻りコードを介して通知され、そ
して次のボリユーム回復要求が受取られるまでこ
の手順はステツプ555で終了する。
明の論理的動作が流れ図の形式で示されている。
この手順は、ボリユーム回復サービス・ルーチ
ン・ステツプ550で終了する。ステツプ551
では、構文規則及びルート・ノードで許容される
サポート値に従つて、アンカーが検査される。ア
ンカーは既にメモリ26に置かれており、一層詳
細にはUCS300(第8図)のボリユーム・デ
ータ・セツト・インデツクス304に置かれてい
る。もしアンカーが無効であることがわかれば、
当該ボリユームがサポートされていないことがス
テツプ553の戻りコードを介して通知され、そ
して次のボリユーム回復要求が受取られるまでこ
の手順はステツプ555で終了する。
もしアンカーが有効であれば、ステツプ557
ではUCS300中の媒体割振マツプ・バツフア
312からグローバル回復バツフア340中の媒
体割振マツプ・バツフア1(342)へ元の媒体
割振マツプがコピーされる。媒体割振マツプ・バ
ツフア2(344)は、媒体制御レコードの2コ
ピーへ割振られる論理セクタを除き、利用可能を
すべての論理セクタを指示するように初期設定さ
れる。最初のアンカー・インデツクス・エントリ
は、ステツプ558で探し出される。
ではUCS300中の媒体割振マツプ・バツフア
312からグローバル回復バツフア340中の媒
体割振マツプ・バツフア1(342)へ元の媒体
割振マツプがコピーされる。媒体割振マツプ・バ
ツフア2(344)は、媒体制御レコードの2コ
ピーへ割振られる論理セクタを除き、利用可能を
すべての論理セクタを指示するように初期設定さ
れる。最初のアンカー・インデツクス・エントリ
は、ステツプ558で探し出される。
もしステツプ560のテストにより現在のアン
カー・インデツクス要素が(アンカー又は媒体割
振マツプではない)真のデータ・セツトを参照す
るものであることがわかれば、ステツプ562で
はデータ・セツト回復手順が行われる。続くステ
ツプ563では、当該データ・セツトが有効なデ
ータ・セツトであるか否かを決定するために、ス
テツプ562からの戻りコードがテストされる。
もし当該データ・セツトが有効でなければ、ステ
ツプ565ではアンカーからそのインデツクス・
エントリが削除されるる。
カー・インデツクス要素が(アンカー又は媒体割
振マツプではない)真のデータ・セツトを参照す
るものであることがわかれば、ステツプ562で
はデータ・セツト回復手順が行われる。続くステ
ツプ563では、当該データ・セツトが有効なデ
ータ・セツトであるか否かを決定するために、ス
テツプ562からの戻りコードがテストされる。
もし当該データ・セツトが有効でなければ、ステ
ツプ565ではアンカーからそのインデツクス・
エントリが削除されるる。
このインデツクス・エントリがステツプ560
ないし565で処理された場合、ステツプ567
で次のアンカー・インデツクス・エントリが探し
出される。もしステツプ568のテストによりア
ンカーの終りにまだ到達していないことがわかれ
ば、次のインデツクス・エントリについてステツ
プ560ないし567が再び行われる。最後のア
ンカー・インデツクス・エントリが処理された場
合、前述のようにステツプ555でこの手順を終
了する前にステツプ570の戻りコードを介して
回復完了が通知される。
ないし565で処理された場合、ステツプ567
で次のアンカー・インデツクス・エントリが探し
出される。もしステツプ568のテストによりア
ンカーの終りにまだ到達していないことがわかれ
ば、次のインデツクス・エントリについてステツ
プ560ないし567が再び行われる。最後のア
ンカー・インデツクス・エントリが処理された場
合、前述のようにステツプ555でこの手順を終
了する前にステツプ570の戻りコードを介して
回復完了が通知される。
媒体割振マツプを再構成する場合には、次の3
つの事項が考慮される。すなわち、回復中に割振
り済み(利用不能)であることを見出されたすべ
ての論理セクタをマークすること、複数のインデ
ツクス・エントリが同一の論理セクタを参照する
を禁止すること、そして回復プロセス中に新しい
インデツクス・ノードが作成される場合には新し
い割振りを見つけること、がそれである。
つの事項が考慮される。すなわち、回復中に割振
り済み(利用不能)であることを見出されたすべ
ての論理セクタをマークすること、複数のインデ
ツクス・エントリが同一の論理セクタを参照する
を禁止すること、そして回復プロセス中に新しい
インデツクス・ノードが作成される場合には新し
い割振りを見つけること、がそれである。
第15図のステツプ557では、2つの媒体割
振マツプが準備される。グローバル回復バツフア
340の媒体割振マツプ・バツフア2(344)
に置かれた媒体割振フツプはすべての論理セクタ
が利用可能であるように初期設定される。
振マツプが準備される。グローバル回復バツフア
340の媒体割振マツプ・バツフア2(344)
に置かれた媒体割振フツプはすべての論理セクタ
が利用可能であるように初期設定される。
回復中に遭遇した任意のインデツクス・エント
リで或る論理セクタが参照される場合、まず媒体
割振マツプ・バツフア2(344)中の現セク
タ・ステータスが検査される。もしこのセクタが
既り割振られていれば、このセクタは回復手順に
おいて以前に遭遇したものであるから、それ以上
の処理を行うことなく、そのレコード記述子(リ
ーフ・ノード)又はインデツクス・エントリ(中
間ノード若しくはルート・ノード)が削除され
る。このステツプは、回復手順の終了時には、ど
の論理セクタも記憶ボリユーム上のボリユーム又
はデータ・セツト・インデツクスにある1より多
いインデツクス・エントリで参照されることはな
い、ということを保証する。
リで或る論理セクタが参照される場合、まず媒体
割振マツプ・バツフア2(344)中の現セク
タ・ステータスが検査される。もしこのセクタが
既り割振られていれば、このセクタは回復手順に
おいて以前に遭遇したものであるから、それ以上
の処理を行うことなく、そのレコード記述子(リ
ーフ・ノード)又はインデツクス・エントリ(中
間ノード若しくはルート・ノード)が削除され
る。このステツプは、回復手順の終了時には、ど
の論理セクタも記憶ボリユーム上のボリユーム又
はデータ・セツト・インデツクスにある1より多
いインデツクス・エントリで参照されることはな
い、ということを保証する。
一方、もしこの論理セクタが以前に探し出され
ていなければ(媒体割振マツプ・バツフア2中の
ステータスが割振りのための利用可能性を示す場
合)、このステータスは媒体割振マツプ・バツフ
ア1(342)及びバツフア2(344)で割振
状態へ変更される。回復手順の終了時にすべての
データ・セツト及びボリユーム・インデツクスが
処理されている場合は、当該インデツクスのイン
デツクス要素で参照されるすべての論理セクタは
媒体割振マツプ・バツフア2(344)で割振状
態へマークされる。
ていなければ(媒体割振マツプ・バツフア2中の
ステータスが割振りのための利用可能性を示す場
合)、このステータスは媒体割振マツプ・バツフ
ア1(342)及びバツフア2(344)で割振
状態へ変更される。回復手順の終了時にすべての
データ・セツト及びボリユーム・インデツクスが
処理されている場合は、当該インデツクスのイン
デツクス要素で参照されるすべての論理セクタは
媒体割振マツプ・バツフア2(344)で割振状
態へマークされる。
或るデータ・セツトを処理している間、特に当
該手順が読取エラーに遭遇するる場合、又は第1
3図に示すように或るインデツクス・ノードの分
割中に異常な外部電源の故障に遭遇する場合は、
当該インデツクスの上位レベルにおける分割プロ
セスを完了するために新しい論理セクタの割振り
が必要となることがある。UCS300から媒体
割振マツプ・バツフア1(342)へコピーされ
た元の媒体割振マツプが、この新しい割振りを見
つけるために使用される。
該手順が読取エラーに遭遇するる場合、又は第1
3図に示すように或るインデツクス・ノードの分
割中に異常な外部電源の故障に遭遇する場合は、
当該インデツクスの上位レベルにおける分割プロ
セスを完了するために新しい論理セクタの割振り
が必要となることがある。UCS300から媒体
割振マツプ・バツフア1(342)へコピーされ
た元の媒体割振マツプが、この新しい割振りを見
つけるために使用される。
ワード・プロセシング・システム10で通常の
動作を行つている間に論理セクタの割振りを行う
には、まず媒体割振マツプの始点(最小の論理セ
クタ番号)で探索を開始し、フアースト・フイツ
ト(first−fit)アルゴリズムに従つた割振りが
満足されうるまで、この探索を継続して行う。す
べての割振りは媒体割振マツプの始点で開始する
ので、記憶ボリユーム上で実際に利用可能な任意
のスペースは最大の論理セクタ番号を有する論理
セクタに集中する傾向がある。従つて、利用可能
な1つの論理セクタ又は連続的な1組の論理セク
タを探し出すために、媒体割振マツプ・バツフア
1(342)はその媒体割振マツプの終りから逆
方向に(すなわち最大の論理セクタ番号から最小
の論理セクタ番号の方へ)探索される。回復は新
しいインデツクス・ノード(個々の論理セクタ)
を生成するにすぎないから、記憶ボリユームの断
片化は問題ではない。もしこの探索中に利用可能
な或るセクタが見出されるならば、このセクタが
回復手順によつてまだ処理されていないような或
るインデツクス・エントリへ実際に割振られてい
る確率は低い。かくて、記憶ボリユームにもはや
余分のスペースがないという場合だけが、問題を
生ぜしめるのである。丁度割振られたばかりのセ
クタを参照する後のインデツクス・エントリは、
その遭遇時に前述のように削除される。
動作を行つている間に論理セクタの割振りを行う
には、まず媒体割振マツプの始点(最小の論理セ
クタ番号)で探索を開始し、フアースト・フイツ
ト(first−fit)アルゴリズムに従つた割振りが
満足されうるまで、この探索を継続して行う。す
べての割振りは媒体割振マツプの始点で開始する
ので、記憶ボリユーム上で実際に利用可能な任意
のスペースは最大の論理セクタ番号を有する論理
セクタに集中する傾向がある。従つて、利用可能
な1つの論理セクタ又は連続的な1組の論理セク
タを探し出すために、媒体割振マツプ・バツフア
1(342)はその媒体割振マツプの終りから逆
方向に(すなわち最大の論理セクタ番号から最小
の論理セクタ番号の方へ)探索される。回復は新
しいインデツクス・ノード(個々の論理セクタ)
を生成するにすぎないから、記憶ボリユームの断
片化は問題ではない。もしこの探索中に利用可能
な或るセクタが見出されるならば、このセクタが
回復手順によつてまだ処理されていないような或
るインデツクス・エントリへ実際に割振られてい
る確率は低い。かくて、記憶ボリユームにもはや
余分のスペースがないという場合だけが、問題を
生ぜしめるのである。丁度割振られたばかりのセ
クタを参照する後のインデツクス・エントリは、
その遭遇時に前述のように削除される。
第16A図には、データ・セツト回復に関係す
る本発明の論理的動作が流れ図の形式で示されて
いる。この手順は、データ・セツト回復サービ
ス・ルーチン・ステツプ575で開始する。ステ
ツプ576では、このデータ・セツトを回復する
ために使用されるデータ・セツト領域バツフアが
適正に初期設定される。
る本発明の論理的動作が流れ図の形式で示されて
いる。この手順は、データ・セツト回復サービ
ス・ルーチン・ステツプ575で開始する。ステ
ツプ576では、このデータ・セツトを回復する
ために使用されるデータ・セツト領域バツフアが
適正に初期設定される。
次に、ルート・ノードの検査が行われる。ステ
ツプ578では、ルート・ノードの構文及びプロ
フイル中のサポート値が検査される。もし当該デ
ータ・セツトの回復を要求する手順(単一リーフ
回復手順のみ)によつてデータ・セツト名が供給
されたならば、このデータ・セツト名はステツプ
580でルート・ノードのデータ・セツト・プロ
フイルに置かれたデータ・セツト名と比較され
る。続くステツプ582では、現ルートが無効な
第2レベルのデイレクトリ(デイレクトリ・リー
フ・ノードで参照されるデイレクトリ)であるか
否かを決定するるために、現ルート及び現環境が
検査される。もしステツプ578,580又は5
80のテスト結果について問題があれば、ステツ
プ584の戻りコードを介して無効データ・セツ
トが通知され、そしてこの手順は次のデータ・セ
ツト回復要求が受取られるまでステツプ586で
終了する。
ツプ578では、ルート・ノードの構文及びプロ
フイル中のサポート値が検査される。もし当該デ
ータ・セツトの回復を要求する手順(単一リーフ
回復手順のみ)によつてデータ・セツト名が供給
されたならば、このデータ・セツト名はステツプ
580でルート・ノードのデータ・セツト・プロ
フイルに置かれたデータ・セツト名と比較され
る。続くステツプ582では、現ルートが無効な
第2レベルのデイレクトリ(デイレクトリ・リー
フ・ノードで参照されるデイレクトリ)であるか
否かを決定するるために、現ルート及び現環境が
検査される。もしステツプ578,580又は5
80のテスト結果について問題があれば、ステツ
プ584の戻りコードを介して無効データ・セツ
トが通知され、そしてこの手順は次のデータ・セ
ツト回復要求が受取られるまでステツプ586で
終了する。
もしルート・ノードの構文及び環境に対するす
べての検査に成功すれば、ステツプ588でルー
ト回復手順が行われる。次いで、ステツプ589
の戻りコードを介して当該データ・セツトの回復
完了が通知され、そしてこの手順はステツプ58
6で前述のように終了する。
べての検査に成功すれば、ステツプ588でルー
ト回復手順が行われる。次いで、ステツプ589
の戻りコードを介して当該データ・セツトの回復
完了が通知され、そしてこの手順はステツプ58
6で前述のように終了する。
第16B図には、第9図のグローバル回復バツ
フア340に設けられたデータ・セツト領域1バ
ツフア(346)及びデータ・セツト領域2バツ
フア(384)が一層詳細に示されている。デー
タ・セツト領域バツフア600は、5種類のフイ
ールドを含む。
フア340に設けられたデータ・セツト領域1バ
ツフア(346)及びデータ・セツト領域2バツ
フア(384)が一層詳細に示されている。デー
タ・セツト領域バツフア600は、5種類のフイ
ールドを含む。
データ・セツト情報領域600は、当該デー
タ・セツトの回復を全体として順序づけるため
に、当該データ・セツトの現回復ステータスを保
持する。またデータ・セツト情報領域601は、
当該データ・セツト中の下位レベルにあるインデ
ツクス・ノードの有効性を検査するために原イン
デツクス・ノード・ヘツダを保持するとともに、
データ・セツト・プロフイルのデータ及びインデ
ツクス属性要素から与えられる使用頻度の大きい
パラメータを保持する。
タ・セツトの回復を全体として順序づけるため
に、当該データ・セツトの現回復ステータスを保
持する。またデータ・セツト情報領域601は、
当該データ・セツト中の下位レベルにあるインデ
ツクス・ノードの有効性を検査するために原イン
デツクス・ノード・ヘツダを保持するとともに、
データ・セツト・プロフイルのデータ及びインデ
ツクス属性要素から与えられる使用頻度の大きい
パラメータを保持する。
ルート・レベル・バツフア602は、当該デー
タ・セツトのルートを回復するための作業記憶域
を与える。中間レベル・バツフア1(603)及
びバツフア2(604)は、当該データ・セツト
の中間レベルを回復するために割振られている。
リーフ・レベル・バツフア606は、リーフ・レ
ベルを回復するための作業記憶域を与える。ルー
ト・リーフ・ノードのデータ・セツト・インデツ
クスについては、データ・セツト回復手順におい
てルート・レベル・バツフア602のみが実際に
使用され、他のレベル・バツフアは使用されな
い。2レベルのデータ・セツトについては、ルー
ト・レベル・バツフア602及びリーフ・レベ
ル・バツフア606だけが使用される。それ以上
のレベルを有するデータ・セツトの場合は、中間
レベル・バツフア1(603)及びバツフア2
(604)の少くとも一方が必要となる。
タ・セツトのルートを回復するための作業記憶域
を与える。中間レベル・バツフア1(603)及
びバツフア2(604)は、当該データ・セツト
の中間レベルを回復するために割振られている。
リーフ・レベル・バツフア606は、リーフ・レ
ベルを回復するための作業記憶域を与える。ルー
ト・リーフ・ノードのデータ・セツト・インデツ
クスについては、データ・セツト回復手順におい
てルート・レベル・バツフア602のみが実際に
使用され、他のレベル・バツフアは使用されな
い。2レベルのデータ・セツトについては、ルー
ト・レベル・バツフア602及びリーフ・レベ
ル・バツフア606だけが使用される。それ以上
のレベルを有するデータ・セツトの場合は、中間
レベル・バツフア1(603)及びバツフア2
(604)の少くとも一方が必要となる。
第16C図には、第16B図のルート・レベ
ル・バツフア602が一層詳細に示されている。
ルート・レベル・バツフア610は、3種類の部
分を含む。すなわち、現エントリ・オフセツト領
域612は当該インデツクス・ノード中の現イン
デツクス・エントリに対するオフセツト及び該エ
ントリ中の種々のパラメータを保持し、作業キ
ー・バツフア領域613は後で使用したり又は或
るインデツクス・エントリを作成するために2つ
以下のキーを一時的に保持し、ルート・ノード・
バツフア615は回復中のデータ・セツトに対す
るルート・ノードのコピーを保持する。
ル・バツフア602が一層詳細に示されている。
ルート・レベル・バツフア610は、3種類の部
分を含む。すなわち、現エントリ・オフセツト領
域612は当該インデツクス・ノード中の現イン
デツクス・エントリに対するオフセツト及び該エ
ントリ中の種々のパラメータを保持し、作業キ
ー・バツフア領域613は後で使用したり又は或
るインデツクス・エントリを作成するために2つ
以下のキーを一時的に保持し、ルート・ノード・
バツフア615は回復中のデータ・セツトに対す
るルート・ノードのコピーを保持する。
第16D図には、ルート回復に関係する本発明
の論理的動作が流れ図の形式で示されている。こ
の手順は、ルート回復サービス・ルーチン・ステ
ツプ625で開始する。ステツプ626では、ル
ート・ノード及び2次コピーに対する媒体割振マ
ツプのステータス指示が更新される。なぜなら、
データ・セツトのルート・ノードは、有効な構文
を有し且つ有効な環境で存在するものとして検査
されるからである。もしステツプ628のテスト
により当該ルート・ノードがルート/リーフ・ノ
ードであることがわかれば、ステツプ630で単
一リーフ回復手順を行うことによつてそのインデ
ツクス要素が回復される。この手順はルート/リ
ーフ・ノード全体の回復を処理するから、それ以
上のことは必要なく、従つてこの手順は次のルー
ト回復要求が受取られるまでステツプ632で終
了する。
の論理的動作が流れ図の形式で示されている。こ
の手順は、ルート回復サービス・ルーチン・ステ
ツプ625で開始する。ステツプ626では、ル
ート・ノード及び2次コピーに対する媒体割振マ
ツプのステータス指示が更新される。なぜなら、
データ・セツトのルート・ノードは、有効な構文
を有し且つ有効な環境で存在するものとして検査
されるからである。もしステツプ628のテスト
により当該ルート・ノードがルート/リーフ・ノ
ードであることがわかれば、ステツプ630で単
一リーフ回復手順を行うことによつてそのインデ
ツクス要素が回復される。この手順はルート/リ
ーフ・ノード全体の回復を処理するから、それ以
上のことは必要なく、従つてこの手順は次のルー
ト回復要求が受取られるまでステツプ632で終
了する。
もし当該インデツクス中に下位レベルがあれ
ば、ステツプ634でルート・ノード中の最初の
インデツクス・エントリが探し出される。続くス
テツプ636では、下位レベルのうちどのレベル
の回復手順を行うべきかということが決定され
る。もし1より大きければ、最高の中間レベルの
回復を行うために指定された中間レベルバツフア
1(603)で中間レベル回復手順が行われる。
さもなければ、リーフ・レベル回復手順が行われ
る。続くステツプ640では、選択された回復手
順の終了時にルート・ノード中のインデツクス・
エントリが更新される。
ば、ステツプ634でルート・ノード中の最初の
インデツクス・エントリが探し出される。続くス
テツプ636では、下位レベルのうちどのレベル
の回復手順を行うべきかということが決定され
る。もし1より大きければ、最高の中間レベルの
回復を行うために指定された中間レベルバツフア
1(603)で中間レベル回復手順が行われる。
さもなければ、リーフ・レベル回復手順が行われ
る。続くステツプ640では、選択された回復手
順の終了時にルート・ノード中のインデツクス・
エントリが更新される。
このようにして当該ルート・ノードの現インデ
ツクス・エントリを処理した後、ステツプ641
では次のインデツクス・エントリが探し出され
る。もしステツプ642のテストにより当該ルー
ト・ノードの終りにまだ達していないことがわか
れば、ステツプ636乃至641が次のインデツ
クス・エントリについて再び行われる。一方、も
し当該ルート・ノードの終りに達したなば、この
手順は前述のようにステツプ632で終了する。
ツクス・エントリを処理した後、ステツプ641
では次のインデツクス・エントリが探し出され
る。もしステツプ642のテストにより当該ルー
ト・ノードの終りにまだ達していないことがわか
れば、ステツプ636乃至641が次のインデツ
クス・エントリについて再び行われる。一方、も
し当該ルート・ノードの終りに達したなば、この
手順は前述のようにステツプ632で終了する。
第17A図には、リーフ・レベル回復に関係す
る本発明の論理的動作が流れ図の形式で示されて
いる。この手順は、リーフ・レベル回復サービ
ス・ルーチン・ステツプ650で開始する。ステ
ツプ651では、指定されたリーフ・ノード、す
なわち上位レベルのノードに対する回復手順によ
つてサービス要求が発せられたリーフ・ノードが
取出される。
る本発明の論理的動作が流れ図の形式で示されて
いる。この手順は、リーフ・レベル回復サービ
ス・ルーチン・ステツプ650で開始する。ステ
ツプ651では、指定されたリーフ・ノード、す
なわち上位レベルのノードに対する回復手順によ
つてサービス要求が発せられたリーフ・ノードが
取出される。
次に、第13図に例示する如きインデツクス・
エラーの発生が検査される。もしステツプ652
のテストにより左端のリーフ・ノード(前位リー
フLSNが無効であるようなリーフ・ノード)が
探し出されなかつたことがわかれば、この左端の
リーフ・ノードを見つけるためにステツプ653
で逆方向スキヤン手順が行われる。第6図を参照
するに、このことが生じうるのは、最初の中間ノ
ードI(244)の取出しが成功せず且つリー
フ・ノードF(266)が当該データ・セツトで
探し出された最初のリーフ・ノードであるような
場合である。逆方向スキヤンは、現リーフ・ノー
ドよりも低いキー値を有するインデツクス・エン
トリを保持する如きリーフ・ノードを探し出すた
めに、リーフ・ノード・チエーン206(第5A
図)の前位リーフLSN216を使用する。もし
左端のリーフ・ノードが既に探し出され且つ回復
されているなば、回復に成功した最後のリーフ・
ノードが指定されたリーフ・ノードの直前にある
リーフ・ノードであるか否かを決定するために、
ステツプ655でテストが行われる。この関係は
次のように表わされる。
エラーの発生が検査される。もしステツプ652
のテストにより左端のリーフ・ノード(前位リー
フLSNが無効であるようなリーフ・ノード)が
探し出されなかつたことがわかれば、この左端の
リーフ・ノードを見つけるためにステツプ653
で逆方向スキヤン手順が行われる。第6図を参照
するに、このことが生じうるのは、最初の中間ノ
ードI(244)の取出しが成功せず且つリー
フ・ノードF(266)が当該データ・セツトで
探し出された最初のリーフ・ノードであるような
場合である。逆方向スキヤンは、現リーフ・ノー
ドよりも低いキー値を有するインデツクス・エン
トリを保持する如きリーフ・ノードを探し出すた
めに、リーフ・ノード・チエーン206(第5A
図)の前位リーフLSN216を使用する。もし
左端のリーフ・ノードが既に探し出され且つ回復
されているなば、回復に成功した最後のリーフ・
ノードが指定されたリーフ・ノードの直前にある
リーフ・ノードであるか否かを決定するために、
ステツプ655でテストが行われる。この関係は
次のように表わされる。
回復された最後のリーフ・ノードのLSN=指
定されたリーフ・ノードの前位リーフLSN 回復された最後のリーフ・ノードの次位リーフ
LSN=指定されたリーフ・ノードのLSN もしステツプ655のテストによりリーフ・レ
ベルで問題があることがわかれば、回復された最
後のリーフ・ノードについて逆方向スキヤンが行
われる。もしすべてのチエーン値が矛盾を含ま
ず、そしていかなるインデツクス・エラーも指示
されなければ、指定されたリーフ・ノードが回復
すべき次のリーフ・ノードとして維持される。
定されたリーフ・ノードの前位リーフLSN 回復された最後のリーフ・ノードの次位リーフ
LSN=指定されたリーフ・ノードのLSN もしステツプ655のテストによりリーフ・レ
ベルで問題があることがわかれば、回復された最
後のリーフ・ノードについて逆方向スキヤンが行
われる。もしすべてのチエーン値が矛盾を含ま
ず、そしていかなるインデツクス・エラーも指示
されなければ、指定されたリーフ・ノードが回復
すべき次のリーフ・ノードとして維持される。
ステツプ658では、現リーフ・ノードは単一
リーフ回復手順を行うことによつて回復される。
続くステツプ659では、丁度回復されたばかり
のリーフ・ノードのリーフ・ノード・チエーンか
ら次位リーフLSNが取出される。そもしステツ
プ660及び662のテストにより指定された元
のリーフ・ノードにまだ達していないことがわか
れば、次のリーフ・ノードが取出され、そしてス
テツプ658及び659を反復することにより前
述のように回復される。もしステツプ660のテ
ストにより指定されたリーフ・ノード回復された
ことがわかれば、このサービス要求についてはそ
れ以上の回復動作は必要ない。もし、ステツプ6
62でリーフ・ノードのハイ・キーをテストする
ことにより、当該インデツクスにおける指定され
たノードの回復が既に終つていることがわかれば
(第13図の例では、リーフ・ノードCが指定ノ
ードであつて、リーフ・ノードC1及びC2を回
復するような場合)、この指定されたノードは媒
体割振マツプでその論理セクタ割振りを解除する
ことによつて捨てられてしまう。
リーフ回復手順を行うことによつて回復される。
続くステツプ659では、丁度回復されたばかり
のリーフ・ノードのリーフ・ノード・チエーンか
ら次位リーフLSNが取出される。そもしステツ
プ660及び662のテストにより指定された元
のリーフ・ノードにまだ達していないことがわか
れば、次のリーフ・ノードが取出され、そしてス
テツプ658及び659を反復することにより前
述のように回復される。もしステツプ660のテ
ストにより指定されたリーフ・ノード回復された
ことがわかれば、このサービス要求についてはそ
れ以上の回復動作は必要ない。もし、ステツプ6
62でリーフ・ノードのハイ・キーをテストする
ことにより、当該インデツクスにおける指定され
たノードの回復が既に終つていることがわかれば
(第13図の例では、リーフ・ノードCが指定ノ
ードであつて、リーフ・ノードC1及びC2を回
復するような場合)、この指定されたノードは媒
体割振マツプでその論理セクタ割振りを解除する
ことによつて捨てられてしまう。
最後に、上位レベルのインデツクス・ノードで
挿入又は置換を行うために置換インデツクス・エ
ントリが再構成され、そしてこの手順は次のルー
ト回復要求が受取られるまでステツプ668で終
了する。
挿入又は置換を行うために置換インデツクス・エ
ントリが再構成され、そしてこの手順は次のルー
ト回復要求が受取られるまでステツプ668で終
了する。
第17B図には、逆方向スキヤンに関係する本
発明の論理的動作が流れ図の形式で示されてい
る。この手順は、逆方向スキヤン・サービス・ル
ーチン・ステツプ675で開始する。ステツプ6
77では、現リーフ・ノードのリーフ・ノード・
チエーンから前位リーフLSNが得られる。もし
ステツプ679のテストにより前位リーフLSN
が無効であることがわかるか、又はステツプ68
1のテストによりこの前位リーフLSNが最後に
回復されたリーフLSNであることがわかれば、
この手順は次のルート回復要求が受取られるまで
ステツプ685で終了する。
発明の論理的動作が流れ図の形式で示されてい
る。この手順は、逆方向スキヤン・サービス・ル
ーチン・ステツプ675で開始する。ステツプ6
77では、現リーフ・ノードのリーフ・ノード・
チエーンから前位リーフLSNが得られる。もし
ステツプ679のテストにより前位リーフLSN
が無効であることがわかるか、又はステツプ68
1のテストによりこの前位リーフLSNが最後に
回復されたリーフLSNであることがわかれば、
この手順は次のルート回復要求が受取られるまで
ステツプ685で終了する。
もし左端リーフ又は回復された最後のリーフに
到達していなければ、ステツプ683で前位リー
フが取出され、そしてこの新しく取出された前位
リーフ・ノードについてステツプ677ないし6
82が反復される。
到達していなければ、ステツプ683で前位リー
フが取出され、そしてこの新しく取出された前位
リーフ・ノードについてステツプ677ないし6
82が反復される。
第17C図には、第16B図のデータ・セツト
領域バツフア600にあるリーフ・レベル・バツ
フア606の内容が一層詳細に示されている。リ
ーフ・レベル・バツフア690は3種類のセクシ
ヨンを含む。すなわち、現エントリ・オフセツト
領域691は当該インデツクス・ノードの現イン
デツクス・エントリに対するオフセツト及び該イ
ンデツクス・エントリ中の種々のパラメータを保
持し、作業キー・バツフア領域692は必要に応
じて後で使用したり又は或るインデツクス・エン
トリを作成するために2以下のキーを一時的に保
持し、そして最後に3つのリーフ・ノード・バツ
フア1ないし3(693ないし695)が設けら
れている。リーフ・ノード・バツフアの数を除く
と、第17C図のリーフ・レベル・バツフア69
0は第16C図のルート・レベル・バツフア61
0と同じフオーマツトを有する。
領域バツフア600にあるリーフ・レベル・バツ
フア606の内容が一層詳細に示されている。リ
ーフ・レベル・バツフア690は3種類のセクシ
ヨンを含む。すなわち、現エントリ・オフセツト
領域691は当該インデツクス・ノードの現イン
デツクス・エントリに対するオフセツト及び該イ
ンデツクス・エントリ中の種々のパラメータを保
持し、作業キー・バツフア領域692は必要に応
じて後で使用したり又は或るインデツクス・エン
トリを作成するために2以下のキーを一時的に保
持し、そして最後に3つのリーフ・ノード・バツ
フア1ないし3(693ないし695)が設けら
れている。リーフ・ノード・バツフアの数を除く
と、第17C図のリーフ・レベル・バツフア69
0は第16C図のルート・レベル・バツフア61
0と同じフオーマツトを有する。
或るデータ・セツトには唯1つのルート・ノー
ドがあるにすぎないから、1つのルート・ノー
ド・バツフアが必要となるにすぎない。しかしな
がら、第17A図ないし第17C図に関連して説
明したように、逆方向スキヤンの動作中は3つの
異なるインデツクス・ノード、すなわち指定され
た元のリーフ・ノード、左端のリーフ・ノード又
は回復された最後のリーフ・ノード、そして前2
者の間に行われるスキヤンの一部として読取られ
るリーフ・ノードを検討しなければならないこと
がある。リーフ・レベルでは、インデツクス・エ
ントリが追加されることはなく、同じ論理セクタ
の重複割振りの問題に起因して削除されることが
あるにすぎない。従つて、回復手順の間にはリー
フ・レベルで分割が行われることはない。
ドがあるにすぎないから、1つのルート・ノー
ド・バツフアが必要となるにすぎない。しかしな
がら、第17A図ないし第17C図に関連して説
明したように、逆方向スキヤンの動作中は3つの
異なるインデツクス・ノード、すなわち指定され
た元のリーフ・ノード、左端のリーフ・ノード又
は回復された最後のリーフ・ノード、そして前2
者の間に行われるスキヤンの一部として読取られ
るリーフ・ノードを検討しなければならないこと
がある。リーフ・レベルでは、インデツクス・エ
ントリが追加されることはなく、同じ論理セクタ
の重複割振りの問題に起因して削除されることが
あるにすぎない。従つて、回復手順の間にはリー
フ・レベルで分割が行われることはない。
以上詳述したように、本発明によれば、DASD
上のセクタで記憶媒体エラーが検出された場合で
あつても操作員に対する相当量のデータが失われ
ないように、DASDに記憶されたデータ・セツト
を保護することが可能となる。また、可能なエラ
ーを検出した場合には、正しくなく且つ矛盾性を
含むインデツクスを有するるようなデータ・セツ
トを通常の動作のためにアクセスするのを禁止す
ることができる。さらに、記憶媒体エラーが生じ
たり、又はデータ・セツト・インデツクスの変更
中に電源が故障したためデータ・セツト・インデ
ツクスの更新が正常に完了しない場合には、これ
らの原因に応じて生じうるすべてのインデツク
ス・エラーを解決するためにボリユーム上のすべ
てのインデツクス・ノードをスキヤンすることが
できる。これらのデータ保護及び回復方式を導入
しても、ワード・プロセシング・システム10の
通常の動作の性能は極くわずか低下するにすぎな
い。
上のセクタで記憶媒体エラーが検出された場合で
あつても操作員に対する相当量のデータが失われ
ないように、DASDに記憶されたデータ・セツト
を保護することが可能となる。また、可能なエラ
ーを検出した場合には、正しくなく且つ矛盾性を
含むインデツクスを有するるようなデータ・セツ
トを通常の動作のためにアクセスするのを禁止す
ることができる。さらに、記憶媒体エラーが生じ
たり、又はデータ・セツト・インデツクスの変更
中に電源が故障したためデータ・セツト・インデ
ツクスの更新が正常に完了しない場合には、これ
らの原因に応じて生じうるすべてのインデツク
ス・エラーを解決するためにボリユーム上のすべ
てのインデツクス・ノードをスキヤンすることが
できる。これらのデータ保護及び回復方式を導入
しても、ワード・プロセシング・システム10の
通常の動作の性能は極くわずか低下するにすぎな
い。
第1図は本発明を包含するワード・プロセシン
グ・システムを示すブロツク図、第2図は第1図
のプロセツサを一層詳細に示すブロツク図、第3
図はデイスケツト又はハード・デイスクの如き直
接アクセス記憶デバイス(DASD)にデータ・セ
ツト(文書)の形式で記憶されたテキストを示す
ブロツク図、第4A図ないし第4C図は比較的小
さいデータ・セツトに対するデータ・セツト・イ
ンデツクスであつて、1つのルート/リーフ・ノ
ードだけを含むデータ・セツト・インデツクスを
例示するブロツク図、第5A図及び第5B図は比
較的大きいデータ・セツトに対するデータ・セツ
ト・インデツクスであつて、1つのルート・ノー
ド及び2つのリーフ・ノードを含むデータ・セツ
ト・インデツクスを例示するブロツク数、第6図
は1つのルート・ノード、2つの中間ノード及び
多くのリーフ・ノードを含むデータ・セツト・イ
ンデツクスを例示するブロツク図、第7図はボリ
ユーム及びデータ・セツト・インデツクス間の関
係を例示するブロツク図、第8図は第1図の記憶
アクセス方式(SAM)内部制御ブロツクを一層
詳細に示す図、第9図は第1図のSAMインタフ
エース制御ブロツクを一層詳細に示す図、第10
A図及び第10B図は冗長的に記録された媒体制
御レコード及びボリユーム・アンカーを一層詳細
に示すブロツク図、第11A図及び第11B図は
インデツクス・ノードの読取り及び書込みに関係
する本発明の動作ステツプを示す流れ図、第12
A図及び第12B図はデータ・セツト・ステータ
スを検査及び管理するために行われるデータ・セ
ツトのオープン及びクローズに関係する本発明の
動作ステツプを示す流れ図、第13図は3レベル
のデータ・セツト・インデツクスにおいて、新し
いリーフ・ノードを中間ノードに反映させること
ができる前に、電源の故障によつてリーフ・レベ
ルの分割動作が中断されるような状況を例示する
ブロツク図、第14図はボリユーム回復プロセス
の主要な手順及びこれらの手順間の関係を示すブ
ロツク図、第15図はボリユーム回復手順に関係
する本発明の動作ステツプを示す流れ図、第16
A図はデータ・セツト回復手順に関係する本発明
の動作ステツプを示す流れ図、第16B図は第9
図のデータ・セツト領域を一層詳細に示すブロツ
ク図、第16C図は第16B図のルート・レベ
ル・バツフアを一層詳細に示すブロツク図、第1
6D図はルート回復手順に関係する本発明の動作
ステツプを示す流れ図、第17A図及び第17B
図はリーフ・レベル回復手順及び逆方向スキヤン
手順に関係する本発明の動作ステツプをそれぞぞ
れ示す流れ図、第17C図は第16B図のリー
フ・レベル・バツフアを一層詳細に示す図であ
る。
グ・システムを示すブロツク図、第2図は第1図
のプロセツサを一層詳細に示すブロツク図、第3
図はデイスケツト又はハード・デイスクの如き直
接アクセス記憶デバイス(DASD)にデータ・セ
ツト(文書)の形式で記憶されたテキストを示す
ブロツク図、第4A図ないし第4C図は比較的小
さいデータ・セツトに対するデータ・セツト・イ
ンデツクスであつて、1つのルート/リーフ・ノ
ードだけを含むデータ・セツト・インデツクスを
例示するブロツク図、第5A図及び第5B図は比
較的大きいデータ・セツトに対するデータ・セツ
ト・インデツクスであつて、1つのルート・ノー
ド及び2つのリーフ・ノードを含むデータ・セツ
ト・インデツクスを例示するブロツク数、第6図
は1つのルート・ノード、2つの中間ノード及び
多くのリーフ・ノードを含むデータ・セツト・イ
ンデツクスを例示するブロツク図、第7図はボリ
ユーム及びデータ・セツト・インデツクス間の関
係を例示するブロツク図、第8図は第1図の記憶
アクセス方式(SAM)内部制御ブロツクを一層
詳細に示す図、第9図は第1図のSAMインタフ
エース制御ブロツクを一層詳細に示す図、第10
A図及び第10B図は冗長的に記録された媒体制
御レコード及びボリユーム・アンカーを一層詳細
に示すブロツク図、第11A図及び第11B図は
インデツクス・ノードの読取り及び書込みに関係
する本発明の動作ステツプを示す流れ図、第12
A図及び第12B図はデータ・セツト・ステータ
スを検査及び管理するために行われるデータ・セ
ツトのオープン及びクローズに関係する本発明の
動作ステツプを示す流れ図、第13図は3レベル
のデータ・セツト・インデツクスにおいて、新し
いリーフ・ノードを中間ノードに反映させること
ができる前に、電源の故障によつてリーフ・レベ
ルの分割動作が中断されるような状況を例示する
ブロツク図、第14図はボリユーム回復プロセス
の主要な手順及びこれらの手順間の関係を示すブ
ロツク図、第15図はボリユーム回復手順に関係
する本発明の動作ステツプを示す流れ図、第16
A図はデータ・セツト回復手順に関係する本発明
の動作ステツプを示す流れ図、第16B図は第9
図のデータ・セツト領域を一層詳細に示すブロツ
ク図、第16C図は第16B図のルート・レベ
ル・バツフアを一層詳細に示すブロツク図、第1
6D図はルート回復手順に関係する本発明の動作
ステツプを示す流れ図、第17A図及び第17B
図はリーフ・レベル回復手順及び逆方向スキヤン
手順に関係する本発明の動作ステツプをそれぞぞ
れ示す流れ図、第17C図は第16B図のリー
フ・レベル・バツフアを一層詳細に示す図であ
る。
Claims (1)
- 【特許請求の範囲】 1 直接アクセス記憶装置(DASD)ボリユーム
上の情報が、複数の階層的インデツクス・ノード
に従い配列された情報処理システムにおいて、媒
体セクタ上の記憶媒体エラーによる記憶媒体ボリ
ユームのアクセス不能、またはデータの遺失を軽
減するためのボリユーム回復方法において、 (a) 最高レベルのインデツクス・ノードに、当該
記憶ボリユームに対して一定のボリユーム・シ
ヤドウ・オフセツト値を格納する段階を有し、 (b) 上記ボリユーム・シヤドウーオフセツト値は
上記記憶ボリユーム上の全ての動作に対して一
定であり、 (c) さらに、上記記憶ボリユーム上の複数の媒体
セクタをもつ選択された複数のインデツクスに
ついて、2つのコピーを記録し、該コピーのう
ちの第1のものは、所定のインデツクス・ノー
ドのうちの1つによつて示される論理セクター
位置に配置され、該コピーのうちの第2のもの
は、該第1のコピーから、上記最高レベルのイ
ンデツクス・ノードに格納された上記ボリユー
ム・シヤドウ・オフセツト値に等しい一定距離
だけ離れた別の論理セクタに配置される段階
と、 (d) 記憶媒体エラーにより所与のデータ・セツト
に対するインデツクスを上記第1のコピーから
取り出すことができない場合に、上記ボリユー
ム・シヤドウ・オフセツト値に従い、上記第2
のコピーから、該所与のデータ・セツトに対す
るインデツクスを読み取る段階を有する、 ボリユーム回復方法。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58039318A JPS59165162A (ja) | 1983-03-11 | 1983-03-11 | ボリューム回復方法 |
| EP84102328A EP0118861A3 (en) | 1983-03-11 | 1984-03-05 | Volume recovery methodand apparatus |
| EP19910103124 EP0433269A3 (en) | 1983-03-11 | 1984-03-05 | Volume verification method and apparatus |
| US07/071,600 US4750106A (en) | 1983-03-11 | 1987-07-08 | Disk volume data storage and recovery method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58039318A JPS59165162A (ja) | 1983-03-11 | 1983-03-11 | ボリューム回復方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59165162A JPS59165162A (ja) | 1984-09-18 |
| JPH0317142B2 true JPH0317142B2 (ja) | 1991-03-07 |
Family
ID=12549756
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58039318A Granted JPS59165162A (ja) | 1983-03-11 | 1983-03-11 | ボリューム回復方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US4750106A (ja) |
| EP (2) | EP0433269A3 (ja) |
| JP (1) | JPS59165162A (ja) |
Families Citing this family (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59165161A (ja) * | 1983-03-11 | 1984-09-18 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | ワード・プロセッシング・システムにおけるデータ・セットのボリューム回復方法 |
| JPS6225319A (ja) * | 1985-07-25 | 1987-02-03 | Pioneer Electronic Corp | 光学式記録再生方法 |
| US4855907A (en) * | 1985-08-01 | 1989-08-08 | International Business Machines Corporation | Method for moving VSAM base clusters while maintaining alternate indices into the cluster |
| US4819156A (en) * | 1986-06-13 | 1989-04-04 | International Business Machines Corporation | Database index journaling for enhanced recovery |
| US4945475A (en) * | 1986-10-30 | 1990-07-31 | Apple Computer, Inc. | Hierarchical file system to provide cataloging and retrieval of data |
| JPS6458013A (en) * | 1987-08-20 | 1989-03-06 | Ibm | Method and data processing system for guaranteeing large area identification and management of data memory |
| US5051887A (en) * | 1987-08-25 | 1991-09-24 | International Business Machines Corporation | Maintaining duplex-paired storage devices during gap processing using of a dual copy function |
| JPH0770193B2 (ja) * | 1987-12-19 | 1995-07-31 | パイオニア株式会社 | 記録情報再生装置 |
| US5067107A (en) * | 1988-08-05 | 1991-11-19 | Hewlett-Packard Company | Continuous computer performance measurement tool that reduces operating system produced performance data for logging into global, process, and workload files |
| JPH02236668A (ja) * | 1989-03-10 | 1990-09-19 | Hitachi Ltd | 入出力処理方法 |
| US5210865A (en) * | 1989-06-30 | 1993-05-11 | Digital Equipment Corporation | Transferring data between storage media while maintaining host processor access for I/O operations |
| US5239637A (en) * | 1989-06-30 | 1993-08-24 | Digital Equipment Corporation | Digital data management system for maintaining consistency of data in a shadow set |
| US5247618A (en) * | 1989-06-30 | 1993-09-21 | Digital Equipment Corporation | Transferring data in a digital data processing system |
| DE69031443T2 (de) * | 1989-06-30 | 1998-04-23 | Digital Equipment Corp | Verfahren und Anordnung zur Steuerung von Schattenspeichern |
| EP0409808A3 (en) * | 1989-07-19 | 1991-11-27 | International Business Machines Corporation | Method for ensuring map integrity in a system-managed store of a computer |
| US5261088A (en) * | 1990-04-26 | 1993-11-09 | International Business Machines Corporation | Managing locality in space reuse in a shadow written B-tree via interior node free space list |
| JPH0540682A (ja) * | 1990-06-08 | 1993-02-19 | Internatl Business Mach Corp <Ibm> | アトミシテイを有する記憶装置の高可用性耐故障再配置 |
| US5166935A (en) * | 1990-09-28 | 1992-11-24 | International Business Machines Corporation | Method of determining correctness and contents of control data structures in moving media data storage systems |
| US5321824A (en) * | 1991-04-22 | 1994-06-14 | International Business Machines Corporation | Accessing last recorded data in a continuation chain |
| US5522031A (en) * | 1993-06-29 | 1996-05-28 | Digital Equipment Corporation | Method and apparatus for the on-line restoration of a disk in a RAID-4 or RAID-5 array with concurrent access by applications |
| US5634028A (en) * | 1994-12-15 | 1997-05-27 | International Business Machines Corporation | Compact track address translation mapping system and method |
| US5644696A (en) * | 1995-06-06 | 1997-07-01 | International Business Machines Corporation | Recovering multi-volume data sets during volume recovery |
| JPH11242566A (ja) | 1998-02-26 | 1999-09-07 | Hitachi Ltd | 多重化データ記憶システム |
| US6611901B1 (en) | 1999-07-02 | 2003-08-26 | International Business Machines Corporation | Method, system, and program for maintaining electronic data as of a point-in-time |
| US6772141B1 (en) | 1999-12-14 | 2004-08-03 | Novell, Inc. | Method and apparatus for organizing and using indexes utilizing a search decision table |
| US6895468B2 (en) | 2001-01-29 | 2005-05-17 | Seagate Technology Llc | Log-structured block system and method |
| US7215360B2 (en) * | 2001-04-06 | 2007-05-08 | Triveni Digital, Inc. | Error propagation tree technology |
| US6978345B2 (en) | 2001-05-15 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Self-mirroring high performance disk drive |
| US6782401B2 (en) * | 2001-07-02 | 2004-08-24 | Sepaton, Inc. | Method and apparatus for implementing a reliable open file system |
| US7188222B2 (en) * | 2003-09-29 | 2007-03-06 | International Business Machines Corporation | Method, system, and program for mirroring data among storage sites |
| US7664983B2 (en) | 2004-08-30 | 2010-02-16 | Symantec Corporation | Systems and methods for event driven recovery management |
| US20060047714A1 (en) * | 2004-08-30 | 2006-03-02 | Mendocino Software, Inc. | Systems and methods for rapid presentation of historical views of stored data |
| US7360113B2 (en) | 2004-08-30 | 2008-04-15 | Mendocino Software, Inc. | Protocol for communicating data block copies in an error recovery environment |
| US7552147B2 (en) * | 2005-09-02 | 2009-06-23 | International Business Machines Corporation | System and method for minimizing data outage time and data loss while handling errors detected during recovery |
| US20070177739A1 (en) * | 2006-01-27 | 2007-08-02 | Nec Laboratories America, Inc. | Method and Apparatus for Distributed Data Replication |
| US8527481B2 (en) * | 2010-03-29 | 2013-09-03 | International Business Machines Corporation | Methods and systems for obtaining and correcting an index record for a virtual storage access method keyed sequential data set |
| US8782360B2 (en) | 2010-05-13 | 2014-07-15 | International Business Machines Corporation | Preserving an existing volume map in re-initializing a data storage volume |
| US8732429B2 (en) | 2010-10-20 | 2014-05-20 | International Business Machines Corporation | Preserving a deleted data volume |
| US9471409B2 (en) | 2015-01-24 | 2016-10-18 | International Business Machines Corporation | Processing of PDSE extended sharing violations among sysplexes with a shared DASD |
| CN117076180B (zh) * | 2023-09-04 | 2024-05-28 | 深信服科技股份有限公司 | 一种信息处理方法、装置、设备及计算机可读存储介质 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3327294A (en) * | 1964-03-09 | 1967-06-20 | Gen Precision Inc | Flag storage system |
| US3331058A (en) * | 1964-12-24 | 1967-07-11 | Fairchild Camera Instr Co | Error free memory |
| US3689891A (en) * | 1970-11-02 | 1972-09-05 | Texas Instruments Inc | Memory system |
| US3761903A (en) * | 1971-11-15 | 1973-09-25 | Kybe Corp | Redundant offset recording |
| US3761883A (en) * | 1972-01-20 | 1973-09-25 | Ibm | Storage protect key array for a multiprocessing system |
| US4020466A (en) * | 1974-07-05 | 1977-04-26 | Ibm Corporation | Memory hierarchy system with journaling and copy back |
| US4150428A (en) * | 1974-11-18 | 1979-04-17 | Northern Electric Company Limited | Method for providing a substitute memory in a data processing system |
| JPS5721799B2 (ja) * | 1975-02-01 | 1982-05-10 | ||
| FR2379112A1 (fr) * | 1977-01-27 | 1978-08-25 | Cii Honeywell Bull | Mode d'ecriture d'informations concernant les defauts d'un support d'enregistrement magnetique |
| US4214280A (en) * | 1978-05-30 | 1980-07-22 | Xerox Corporation | Method and apparatus for recording data without recording on defective areas of a data recording medium |
| US4328580A (en) * | 1979-07-06 | 1982-05-04 | Soundstream, Inc. | Apparatus and an improved method for processing of digital information |
| US4420807A (en) * | 1981-08-31 | 1983-12-13 | International Business Machines Corporation | Selectively holding data in a buffer for defective backing store tracks |
| US4434487A (en) * | 1981-10-05 | 1984-02-28 | Digital Equipment Corporation | Disk format for secondary storage system |
| JPS58181163A (ja) * | 1982-04-16 | 1983-10-22 | Hitachi Ltd | 記憶装置の制御方式 |
| JPS58194143A (ja) * | 1982-05-07 | 1983-11-12 | Hitachi Ltd | デ−タ記録・再生方式 |
-
1983
- 1983-03-11 JP JP58039318A patent/JPS59165162A/ja active Granted
-
1984
- 1984-03-05 EP EP19910103124 patent/EP0433269A3/en not_active Withdrawn
- 1984-03-05 EP EP84102328A patent/EP0118861A3/en not_active Withdrawn
-
1987
- 1987-07-08 US US07/071,600 patent/US4750106A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0433269A3 (en) | 1991-12-04 |
| EP0118861A2 (en) | 1984-09-19 |
| EP0118861A3 (en) | 1988-12-21 |
| US4750106A (en) | 1988-06-07 |
| JPS59165162A (ja) | 1984-09-18 |
| EP0433269A2 (en) | 1991-06-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0317142B2 (ja) | ||
| US7363540B2 (en) | Transaction-safe FAT file system improvements | |
| JP4256851B2 (ja) | ファイル・システム・スナップショットの永続性のための方法および装置 | |
| US6629198B2 (en) | Data storage system and method employing a write-ahead hash log | |
| US7444360B2 (en) | Method, system, and program for storing and using metadata in multiple storage locations | |
| US6535994B1 (en) | Method and apparatus for identifying and repairing mismatched data | |
| US6421767B1 (en) | Method and apparatus for managing a storage system using snapshot copy operations with snap groups | |
| JPH0317141B2 (ja) | ||
| US6463573B1 (en) | Data processor storage systems with dynamic resynchronization of mirrored logical data volumes subsequent to a storage system failure | |
| US4620295A (en) | Method for accessing a data set in a word processing system | |
| US7266574B1 (en) | Identification of updated files for incremental backup | |
| US6233696B1 (en) | Data verification and repair in redundant storage systems | |
| US7743227B1 (en) | Volume restoration using an accumulator map | |
| US20070005874A1 (en) | File system storing transaction records in flash-like media | |
| JP6156517B2 (ja) | 書き込み情報記憶装置、方法、及び、プログラム | |
| US7487385B2 (en) | Apparatus and method for recovering destroyed data volumes | |
| JP2004213647A (ja) | データ記憶装置およびシステム用のログ構造の書込みキャッシュ | |
| CA2818472C (en) | Optimized startup verification of file system integrity | |
| US6167485A (en) | On-line data verification and repair in redundant storage systems | |
| US6715030B1 (en) | Apparatus and method for storing track layout information for performing quick write operations | |
| US4197588A (en) | Segmented storage logging and controlling for random entity selection | |
| US6363457B1 (en) | Method and system for non-disruptive addition and deletion of logical devices | |
| KR100224524B1 (ko) | 파티션 기록보관 상태 어레이와 파티션 맵 모두를 이용하여 주저장매체를 기록보관 저장매체로 증분적으로 기록보관하기 위한 방법 | |
| US4198681A (en) | Segmented storage logging and controlling for partial entity selection and condensing | |
| GB1592836A (en) | Word processing apparatus |