JPS59165162A - ボリューム回復方法 - Google Patents

ボリューム回復方法

Info

Publication number
JPS59165162A
JPS59165162A JP58039318A JP3931883A JPS59165162A JP S59165162 A JPS59165162 A JP S59165162A JP 58039318 A JP58039318 A JP 58039318A JP 3931883 A JP3931883 A JP 3931883A JP S59165162 A JPS59165162 A JP S59165162A
Authority
JP
Japan
Prior art keywords
index
data set
node
leaf
data
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.)
Granted
Application number
JP58039318A
Other languages
English (en)
Other versions
JPH0317142B2 (ja
Inventor
ジヨン・エ−・エイケン・ジユニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP58039318A priority Critical patent/JPS59165162A/ja
Priority to EP84102328A priority patent/EP0118861A3/en
Priority to EP19910103124 priority patent/EP0433269A3/en
Publication of JPS59165162A publication Critical patent/JPS59165162A/ja
Priority to US07/071,600 priority patent/US4750106A/en
Publication of JPH0317142B2 publication Critical patent/JPH0317142B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, 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)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の背景〕 本発明はワード・プロセシング・システムに係シ、更に
詳細に説明すればデータ・セットの更新中に媒体エラー
又はシステム電源の障害等が生じたとき直接アクセス記
憶デバイス(DASD)の記憶データを回復することに
係る。
本発明に関係する先行技術には、次のようなものがある
。 。
(a)  I B M  OS / 6システムは、デ
ィスケットに文書を記憶し且つディスケット上の文書を
探し出すために5非常に簡単なフォーマットを使用して
いる。各ディスケットでは正確に62個のデータ・セッ
ト(ジョブ)が常に利用可能であり、その割振りはディ
スケットのトラックに応じて”行われるようになってい
る。ディスケット上の文書を探し出すために使用される
ディスケット・インデックスの全体は十分に小さいので
、これをシステム・メ禿りに一度に保持することができ
る。IBM  O8/6システムのボリューム・インデ
ックスは、ディスケットに冗長的に記録されている。I
BM  O8/6システムのディスケット・インデック
スは、ディスケットがその駆動機構へ挿入されるとき、
システム・メモリへコピーされるようになっている。従
って、このインデックスを検索する動作は、性能上の問
題を惹起しない。 、 このアプローチの1つの問題は、1デイスケツトあたシ
正確に32個のジョブが利用可能でなければならないと
いう点にある。一般に、ワード・プロセシング・システ
ムは可変数のデータ・セットを所与のディスケット・ボ
リュームに記憶することを必要とするものであシ、従っ
て32個以上のデータ・セットが操作員に利用可能でな
ければならない。とのことは、1つの記憶ボリュームか
大容量の内部ノ・〜ド・ディスクであるようなワード・
プロセシング・システムについて特にあてはまる。
このアプローチの他の問題は、ディスケット上のスペー
スが各トラック単位で特定のデータ・セットへ割振られ
る、という点にある。つまシ、平均的な状況では、ディ
スケット上の無駄なスペース(割振られてはいるがデー
タを実際に記憶するように使用されていないスペース)
は実際に使用されている各ジョブあた51/21−ラッ
クにも達する。言いかえれば、所与のディスケットで利
用可能な70トラツクのうち最大16トラツクが無駄と
なるのである。  − (b)IBMディスプレイライター・システムは、拡張
ヘッダ・ラベル(EHL)と呼1ばれ−るディスケット
・インデックスとデータ・セット・ラベル(DSL)と
呼ばれるデータ・セット・インデックスから成る2レベ
ルのディスケット・インデックスを利用している。E 
H、Lはディスケット上にあるデータ・セットの位置を
示し、DSLは既存の各データ・セットごとに1つずつ
設けられる。
EHLは一定サイズであり%’ D S Lのサイズは
対応するデータ・セットのサイズに依存する。文書の成
るページを探し出すには、該当するDSLの開始点から
適当な点まで探索することによシ、このぺ°−ジがディ
スケットのどこに置かれているかを探し出すことが必要
である。
このアプローチの問題は、ディスケット上のEHL又は
DSL領域における媒体エラーに対し非常にもろい、と
いう点にある。もしEHLを保持する媒体セクタを適正
に読取ることかできなければ、このEHLブロックによ
ってアクセスされるすべてのデー5り・セット及び後続
のE HL フロックによってアクセスされるすべての
データ・セットが失われ、従って操作員はもはやこれら
のデータ・セットをアクセスすることができない。DS
Lについても、同様の問題が生ずる。すなわち、もし成
るDSLセクタをディスケットから適正に読出すことが
できなければ、このDSLブロック及びそのすべての後
続ブロックが失われるので、これらのDSLセクタによ
ってアクセスされるすべてのレコードも同様に失われる
ことになる。
前掲のI BM  O8/6シヌテム及びIBMディス
プレイライター・システムの他の問題は、ディスケット
上の成る物理セクタにエラーのないことが、ディスケッ
トを使用する際の不可欠の条件である、という点にある
。このことは、シリンダ0(ホーム位置にある読取/書
込ヘッドでアクセスされるディスケット・トラック)に
ついてあてはまシ、ここにはボリュームの残シの内容を
解釈するように標準アーキテクチャに従って構成された
成る種の情報を格納することか必要である。言いかえれ
ば、もし成るディスケットのトラックでエラーが検出さ
れれば、このディスケットをそれ以上使用することがで
きないのである。
(c)  I B M  3730は、データ・セット
・インデックスをデータとともに揮発性の作業記憶に分
散式に記憶させている。各データ・ブロックは制御領域
を有し、この制御領域には前のブロック及び次のブロッ
クの位置情報が保持されている。
このように現ブロックは常に前のブロック及び次ノフロ
ックを指定しているので、順次アクセスにつ、いてはこ
れを非常に高速に行うことができる。
このアプローチの問題は、(データ・セットの中間部に
置かれたブロックを直接的に参照するような°)ランダ
ム・アクセスが遅いという点にある。
というのは、そうするためには先行するすべてのブロッ
クを読取らねばならないからである。従って、ランダム
・アクセス時の性能を向上させるには、ランダム・アク
セス用に設定された他のデータ・セット・インデックス
を必要とすることになろう。
〔発明の概要〕
従って、本発明の目的は、データ・セット・インデック
スを保存することにより、媒体エラーのために失われや
すい操作データの量を減少させるとともに、媒体エラー
や電源の障害若しくは他の異常な条件に起因するデータ
・セット若しくはボリューム・インデックスの不完全な
更新の後に回復される操作データの量を増大させること
にある。
前記及び他の目的並びに利点は、本発明によって達成さ
れる。簡単に言えば、本発明に従った方法及び装置は、
情報をアクセスする際に、すなわちDASDから情報を
取出すか又はDASDへ情報を書込む−に、ボリューム
上の重要(クリチカル)情報を保護するように編成され
ている。ここで、重要情報とは、これを失うと相当量の
操作データが失われ、そしてかかるデータを再び作成す
るのに操作員が相当の時間を必要とする、そのような情
報である。本発明の目的は、次の2つの方法を通して達
成される。
第1に′、通常のシステム動作中に、データ・セット・
インデックス又はボリューム・インデックスが更新され
ねばならない場合、重要情報のセクタが2つのコピーの
形で記憶ボリュームへ書込まれる。第1のコピーは上位
レベルのインデックスによって指示された位置に置かれ
、第2のコピーは第1のコピーから一定距離だけ離れた
位置に置かれる。従って、もじ第1゛のコピーが置かれ
たボリューム上の位置が知られているならば、媒体エラ
ーのために第1のコピーを適正に取比すことができない
場合でも、第2のコピーを探し出すことができる。
第2に、たとえば成るデータ・セットの更新が終了“し
ていない場合にデータ・セット又はボリューム・インデ
ックスでエラーが検出されたときは、できるだけ多くの
情報を回復するようにすべてのボリューム及びデータ・
インデックスがスキャンされる。このスキャニング技法
は、データ・セット・インデックスに欠陥がないことを
仮定した通常の記憶アクセス方式(S”AM)の動作に
使用されるスキャニング技法よりも一層完全であり、イ
ンデックス構造中のエラーのために通常の高性能探索ル
ーチンが探し出すことができないようなデータであって
もこれを探し出すことができるのである。
(以下余白) 〔実施態様の説明〕 第1図を参照するに、図示され九ワード・プロセシング
・システム10はキーボード12會含み、これは入力さ
れたテキスト及び指令をチャネル14t−介してプロセ
ッサ16へ転送する。プロセッサ16はメモリ・バス1
8へ接続され、該メモリ・バスはCRTディスプレイ2
0、ディスケット又はハード・ディスクの如き1以上の
直接アクセス記憶デバイス(以下DA8Dと略す)22
、プリンタ24及びランダム・アクセス式qシステム・
メモリ(以下メモリと略す)26へ接続される。
操作員がキーボード12を介してテキスト・ストリーム
を入力すると、このテキストの各ページはメモリ2,6
に記憶され且つそこで処理される。
テキスト・ストリームがメモリ26に受取られる場合、
このストリームはディスプレイ20vcも供給される。
キーボード12vi−介して入力された後、テキストは
DASD  22に記憶されるか又はプリンタ24によ
って印刷されうる。
メ°モリ26は多数のデータ領域を含み、ま友記憶され
友テキストを処理するための複数の機能プログラムを含
んでいる。テキスト及びそれに関係する制御機能はテキ
スト記憶バッファ(以下T8Bと略す)28に配憶され
る。
TSB制御ブロック30はTSB  28のデータ領域
として使用され、チャネル52t−介してTSB  2
Bへ接続される。キーボード121に介して各文字が入
力される場合、この文字はキースト0− /・サービス
・ルーテンの集合54を介してメモリ26に受取られる
。キーストローク制御ブロック66は1つのデータ領域
であって、受取られた文字を処理する友めの所定のキー
ストローク・サービス・ルーチンを決定する。このため
、キーストローク制御ブロック制御ブロック36はチャ
ネル38を介してキーストローク・サービス・ルーテン
64へ連結される。さらにキーストローク・サービス・
ルーチン64はチャネル40を介してTS’8 28へ
連結され、そしてチャネル42を介してTSB制御ブロ
ック30へ連結される。
テキストが’I’8B  2Bへ移動されるか又はそと
から移動さnねばならないととt−T8B制御ブロック
60が指示する場合、この移動要求はチャネル46を介
して記憶アクセス方式(以下SAMと略す)ルーチン4
4へ通知される。SAMルーテン44は、DASD  
22とメモリ26との間のすべてのデータ移動全制御す
るために使用される。(キーボード12、ディスプレイ
20又はプリンタ24との通信が必要とされる場合には
、SAMルーテン44G代わりにそれぞれのアクセス方
式ルーチンが客用されるが、これらは本発明の要旨に関
係ないので以下省略する。)キーストローク・サービス
・ルーチン34は、チャネル48及び5Ah(インタフ
ェース制御ブロック50を介して、SAMルーチン44
へ他の制御情報及びデータを通信する。(キーボード1
2、ディスプレイ20又はプリンタ24との通信が必要
とされる場合には、SAMインタフェース制御ブロック
50の代わりにそれぞれのアクセス方式に対応するイン
タフェース制御ブロックが使用される。)この8゛A 
Mサービス要求を完了し穴場会、SAMインタフェース
制御ブロック50は処理を継続するためにキーストロー
ク・サー゛ビス・ルーテン34によって使用されるべき
他の情報及びデータ全保持している。SAMインタフェ
ース制御ブロック50はチャネル52を介してSAM/
I/−テン44へ接続される。
8AMブロック54はメモリ・バス1Bを介してDAS
’D’22と接続され、DASD  22とメモリ26
との間のデータ転送に対する転送点として使用される。
(キーボード12、ディスプレイ20又はプリンタ24
との通信が必要とされる場合には、sAMブロック54
の代わりにそれぞれのアクセス方式に対応するブロック
が使用される。)SAMブロック54はチャネル56t
−介してTSB28と接続される。SAMルーチン44
はチャネル58を介してRAMブロック54中のデータ
をアクセスすることができる。SAMブロック54はチ
ャネル60を介してSAMインタフ岑−ス制御ブロック
50へ連結されているが、これはキーストローク・サー
ビス・ルーチン54へ情報及びデータを通信するためで
ある。
SAM内部制御ブロック62は、DASD  22に関
する現在のステータス及び情報を保持するために設けら
れている。(キーボード12、ディスプレイ20又はプ
リンタ24との通信が必要とされる場合には、ブロック
62の代わりにそれぞれの対応ブロックが使用される。
)DASD  22と8AM内部制御ブロック62との
間の情報転送は、チャネル64及びSaMブロック54
を介して行われる。SAM内部制御ブロック62中の情
報はチャネル66を介してSAMルーチン44へ通信さ
れ、該ルーチンによって管理される。SAM内部制御ブ
ロック62は、SAMルーチン44及びSAMブロック
54の動作に必要なフラグ及びステ7タス情報を記憶す
るために使用される◇ことで、第1図全参照してワニド
・プロセシング・システム10の動作を簡単に説明する
と、操作員がキーボード12を介して各キーストローク
を入力する場合、これに対応する信号がチャネル14°
を介してプロセッサ16へ転送され、かくて該プロセッ
サはこのキーストローク指令をメモリ26へ記入する。
このようにしてキーストローク指令を受取ると、キース
トローク・サービス・ルーテン34のうちでこの特定の
指令を処理すべき所定のルーチンが選択される。当該キ
ーストローク指令はそれが制御指令又はグラフィック・
二ン′トリのどちらであるかに応じて処理され、そして
その処理結果はTUB  2Bへ記入される。これらの
グラフィック及び指令がT0n  2Bに順次に累積さ
れる間、テキスト情報はディスプレイ20に供給される
。TUB  2Bが必要なテキ、スト及び指令を保持す
るに十分でない危険がある場合、キーストローク・サー
ビス・ルーチン34は8AMインタフェース制御プロ・
ツク50に制御情報を記憶することにLす、SAMルー
チン44をしてDASD  22へ情報ブロック(レコ
ード)を転送させるようにする。
操作員は、制御指令を通して、メモリ26、ディスプレ
イ20、p入sp  22及びプリンタ24の間で情報
を転送させることができる。また選択され九ページ1D
AsD  22からメモリ26へ呼出すことができるの
で、操作員はテキスト1−変更及び訂正してこれ’1D
ASD  22へ再び記入し−fcり、プリンタ24で
印刷させることができる。
第2図には、プロセッサ16の代表的なハードワエア要
素が詳細に図示されている。プロセッサ′16は市販さ
れているものでよく:たとえばインテル社のマイクロプ
ロセッサ80Btl使用することができる。
このようなプロセッサ16は制御ユニット80を含み、
該ユニットはキーボード12、’DASD22又はプリ
ンタ、24からデバイス・バス82に生ぜられるような
割込信号に応答する。また、制御ユニット80はデータ
及びアドレス転送用の内部/(ス84へ接続され、該バ
スはプロセッサ16の他のユニットへ相互接続されてい
る。
制御ユニット80はメモリ26からの取出命令に応答し
て制御信号ft!′生じ、該制御信号をプロセッサ16
の他のユニットへ供給する。これらの制御信号は制御線
86を介して種々のユニットへ供給されるが、第2図で
は制御線86は演算論理ユニット(At、U)8Bへ直
接的に接続されるように図示されているに過ぎない。制
御ユニット80と他のユニットとの同期動作は、外部ク
ロック源(図示せず)からプロセッサ16へ供給される
クロック・パルス入力に1って達成される。外部クロν
り源によって発生されたクロック・パルスは、バス90
全介して他のユニットへそれぞれ転送される。
プロセッサ16で処理すべきデータ及び命令は、バス制
御ユニット92を介して人力される。また処理すべきデ
ータがプログラムI10制御ユニット94から入力され
ることもある。バス制御ユニ−ット92はメモリ26の
記憶要素を相互接続するとともに、I10制御ユニット
94又はメモリ26から受取られたデータを処理するた
めの命令を受取る。かくて、I10制御ユニット94は
キーボード12、DASD  22又はメモリ26から
のデータを受取るのに対し、バス制御ユニット92はメ
モリ26から命令及び/又はデータを受取る。しかしな
がら、メモリ26の互いに異なる七りションを命令メモ
リ及びデータ・メモリとして使用することも可能でおる
という点に注意すべきである。
プロセッサ16からのデバイス制御情報は、プログラム
I10制御ユニット94を介してI10データ・バス9
8に供給される。キーボード12又は他のデバイスから
I、10データ・バス98に供給される入力データは、
メモリ・バス18及び内部バス84t−介して制御ユニ
ット80へ供給される命令の制御下で、ALU88に工
って最初に処理される。ALo  8Bは線86上の制
御信号に応答してこの8令に従った演gt−遂行すると
ともに、その結果をスクラッチ・レジスタ102に記憶
することができる。
もちろん、ALU8Bと他のユニットとの間で他の種々
のデータ転送を行うことも可能である。
たとえは、ALU88をら内部バス84i1−介しプロ
グラム・カワンタ104、データ・ポインタ・レジスタ
106又はステータス・レジスタ110ヘデータを転送
することがOT能である。
プロセッサ16の特定の動作は、メモリ・バス18にあ
る命令及びデータと双方向性のI10データ・バス98
にある入力データとに工って決定される。たとえば、プ
ロセッサ16は受取られた命令に応答して、スクラッチ
・レジスタ102中の記憶データを、レジスタ106.
108又は110のうち任意のレジスタへ転送する。第
2図に図示されているプロセッサ16のかかる動作は当
業者には明らかであるし、またこれは本発明の要旨には
関係がないので、以下では各動作の説明を省略する。
DASD  22上の記憶媒体に記憶さ2′L、fcペ
ージは、複数のレコード(適当なサイズを有するテキス
ト単位)へ区分される。レコードは最大のサイズを有す
る。かくて、各ページは少くとも1つのレコードから成
り、多くの場合はそれ以上のレコードから成る。各ペー
ジ中のレコード数及び各文書中のページ数は不定であり
、当該データ・セットを記憶すべき記憶ボリュームの容
量に工Qて制限されるに過ぎない。゛ワード・プロセシ
ング・システム10では、各データ・セットはDASD
22中の単一のディスケットに記憶されるか又れハード
・ディスクに記憶される。もしワード・プロセシング・
システム10へ記入中の成る文書が単一のディスケット
に収まりきらなければ、操作員は現在のディスケット又
はハード・ディスクに対する記入動作を終了するととも
に、他のディスケット上の別のデータ・セットにこの文
書を継続して記入する工うにしなければならない。
DASD  22上の記憶媒体は、当技術分野では周知
のように、複数のセクタへ区分される。セクタの概念は
当技術°分野では周知であると考えられるので、本発明
を理解するのにその詳細な説明は不要であろう。ワード
・プロセシング・システム10では、記憶媒体上の各セ
クタは一意的な論理セクタ番号を割振られている。但し
、゛これらの論理セクタ番号はゼロから始まる連続的゛
な正の整数である。論理セクタ番号の各々が記憶ボリュ
ーム上にある唯1つの物理領域に対応する限9、特定の
論理セクタ番号が記憶媒体上のどの物理領域に対応する
かということは、本b8At理解する上で重要なことで
はない。複数の論理セクタ番号が連続的な整数である場
合は、これらの論理セクタは連続的であるとみなされる
第6園には、成るテキスト文書がDASD  22上の
1′)のデータ・セット120へ編成されている1つの
例が示されている。例示したデータ・セット120は、
データ・セット・−インデックス122と3つのテキス
ト・ページ、即チページ1(124)、ページ2 (1
26)及びページ3(128、)から成る。ページ1(
124)は3つのレコード、即ちレコード0(130)
、レコード1(152)及びレコード2(134)を有
する。
ページ2(126)は単一のレコード0(13,0)を
有するに過ぎない。ページ3(12B)は2つあレコー
ド、即チレコード0(156)及びレコード1(138
)を有する。
データ・セット・インデックス122は、データ・セッ
ト120の前記ページがrjItかれている記憶媒体上
の位置を決定する几めに第2−のSAMルーチン44に
よって使用される。データ・セット・インデックス12
2は文書の各ページごとに1つのインデックス・エント
リヲ含み、この例ではページ1ないしページ6にそれぞ
れ対応するインデックス・エントリ140,142及び
144を含んでいる。
所望のページを速ρ為に探し出すことができるように、
各ページ・インデックス・エントリは該エントリに工っ
て参照されるページを識別するための1つのページ・キ
ーを含む。がくて、この例では、ページトキー146、
ページ2°キー148及びページ3°キード5oが含ま
れている。たとえば、ページ2(126)?探し出すた
めには、そのキーとページトキー146會単に比較する
だけでページトインデックス・エントリ140が適切で
ないことがわかる。ワード・プロセシング・システム1
0では、各データ・セット・インデックス中のすべての
ページ・キーは一意的でなければならない。
成るページの各レコードは、そのインデックス・エント
リのレコード記述子全通して探し出される。各レコード
は、記憶ボリュームにある連続的な1組の論理セクタに
記憶される。成るレコードに割振られる論理セクタの数
は、このレコードを保持するに必要なセクタの最小の数
に対応する。
これらのセクタは全体としてそのまま割損られるのであ
る。レコード記述子は、当該レコードを保持する記憶媒
体上の論理セクタのうち、最小の論理セクタ番号を有す
る論理セクタ位置を指示する。
またレコード記述子は、当該レコードの長さも指示する
。たとえばI!3図では、ベージトレコード0(130
)に対するレコード記述子は、べ一ジトインデックス・
エントリ140においてレコード0・記述子152とし
て設けられでいる。
ページ1(124)の残りのレコートハ、レコードト記
述子154及びレコード2・記述子156によって記述
される。単一のレコードを保持するページ2(126)
の記憶媒体上の位置は、ページ2・インデックス・エン
トリ142に設けられたレコニド0・記述子158によ
って決定される。
前述と同様に、ページ3・インデックス・エントリ14
4はレコード0・記述子160及びレコードト記述子1
62を含み、これらによってページ3のレコード0(1
56)及びレコード1(168)全それぞれ探し出す。
ワード:、・プロセシング・システム10のDASD 
 22に記憶されたデータ・セットのデータ・セット・
インデックス122は、複数のノード(節)へ区分され
る。このようにして区分された各インデックス・ノード
は、それぞれ1つの論理セクタに記憶される。もし、当
該データ・セットへテキストi追加したとき1つのイン
デックス・ノードに置かれる情報の量が1つの論理セク
タに記憶可能なiを越えるようになれば、このインデッ
クス・ノードを2つ以上のインデックス・ノードへ分割
し、そして分割後の各インデックス・ノードをそれぞれ
1つの論理セクタに保持させるようにすることができる
。すべてのデータ・セットはそれぞれ少くとも1つのイ
ンデックス・ノードを有する。
各データ・セットごとに、ルート・ノード(根幹の節)
と呼ばれる一意的な1つのインデックス・ノードがある
。これに対し、リーフ・ノード(葉の節)と呼ばれるイ
ンデックス・ノードがあるが、このリーフ・ノードはそ
のインデックス・エントリに工ってページを直接的に参
照する工うなものである。第4A図に例示されたデータ
・セット・インデックスは十分に小さく、必要とされる
単一のリーフ・ノードとルート・ノードが同じノード士
するので、ルート/リーフ・ノード170と呼ばれる。
ルート/す′−フ・ノード170は、データ・セット・
プロフィル172とインデックス構成要素174t−含
む。データ・セット・プロフィル172は、全体として
当該データ・セットに関係する情報及びステータスを保
持する。データ・セット名176は、操作員がアクセス
すべき文書tm択することを可能にするようなテキスト
・グラフィック゛を保持する。データ・セット・コメン
z7814当咳文書に関する記述情報の追加スペースを
与えるので、操作員がデータ・セット名176の1部と
して記入し友くない情報をここに置く仁とができる。
第4B図では、ルート/リーフ・ノード170のインデ
ックス構成要素174に関する一層詳細な情報が示され
ている。リーフ・ノードのインデックス構成要素180
は、当該文書のページを直接的にポイントする工うな複
数のインデックス・エントリヲ含む。図示の例では、イ
ンデックス構成要素180は、ベージNトインデックス
・エントリ182及びページN2・インデックス・エン
トリ184を含む。但し、N1及びN2は当該文書にお
ける1対の連続ベージのページ番号?表わす。ベージN
トインデックス・エントリiB2は、ベージNトキー1
86とページN1中の各レコードごとに1つのレコード
記述子、即ちこの例ではレコード0・記述子188及び
レコードト記述子190を保持する。同様に、ページN
2・インデックス・エントリ177はページN2・キー
181を保持し、そしてレコードO・記述子182及び
レコードト記述子183を保持する。
゛所与のインデックス構成要素では、そのインデックス
・エン1りはページ・キーの昇順に記憶されている。従
って、もし当該文書中のページN1及びN2が同じリー
フ・ノードで参照され、そしてページN1の直後にペー
ジN2が続くのであれば、ページNトインデックス・エ
ントリ176の直後にページN2・インデックス・エン
トリ177が続くように配列される。
第4C図には、第4A図のノード・ヘッダ171が一層
詳細に図示されている。ノード・ヘッダ171は、デー
タ・セット・インデックスの一部として当該インデック
ス・ノードに関する情報を与える。第4C図に示したフ
ォーマットはすべてのインデックス・ノードに共通で−
あるが、各フィールドの内容はデータ・セットごとに異
なることがちシ、また同じデータ・セットでもインデッ
クス゛・ノードごとに異なることがある。ノード長18
4は当該インデックス・ノードで使用可能なデータの全
体的長さを保持する。ノード長の値とDASD  22
のセクタ・サイズとの差は、当該インデックス・ノード
が充満する前の残存スペース量を指示する。
オブジェクト識別子(■D) 185はこのインデック
ス・ノードが属するデータ・セットのタイプを示し、こ
れはオブジェクト属性186及びオブジェクト・タイプ
187がら成る。オブジェクト・タイプ187はデータ
・セットの一般的なタイプを示す。たとえば、すべての
テキスト文書は同じオブジェクト・タイプを有する。オ
ブジェクト属性186は、このインデックス・ノードが
成る下位レベルのデータ・セット又はデータ・セットの
インデックス(ディレクトリ)のどちらに属するのかと
いうことを示す。
ノード階層188は、インデックス・ノードのタイプを
示す。インデックス・ノードの種々のタイプには、ルー
ト・ノード(主要ナデータ・セット・ノード)、リーフ
・ノード(データ・セットのレコ−ドを直接的にポイン
トするノード)、ルート/リーフ・ノード(ルート′・
ノード及びリーフ・ノードの組合せ)及び中間ノードが
ある。第4A図は、/hさなデータ・セットに対するル
ート/リーフ・ノード170を示す。
ノード・レベル189は、当該ノードがデータ・セット
中で占めるレベルを示す。リーフ・ノードは常にノード
・レベル値と・して0を有し、このことはルート/リー
フ・ノードにもあてはまる。
というのは、当該ノードがルート・ノードであると同時
に、リーフ・ノードでもあるからである。
もし当該データ・セットが複数のインデックス・ノード
を必要とするような大きなものであれば、インデックス
中の任意のノードに対するノード・レベルはリーフ・レ
ベルからの距離を示す。かくて、ル「ト・ノードのノー
ド・レベルは常に当該データ・セットにおけるレベルの
最大数を示す。
なぜなら、SAMルーチン44はルート・ノードから任
意のリーフ・ノードへのレベル数が等しいことを保証す
るからである。
トリーID 190はノード・ヘッダの最終部分であシ
5.記憶ボリューム上の当該データ・セットについて一
意的であるようなデータ・セラ)IDを保持する。同じ
データ・セットにあるすべてのインデックス・ノードは
同じトリーIDを有し、異なるデータ・セットに属する
インデックス・ノードは異なるトリーIDを有する。ト
リーIDはデータ・セットの作成時に割振られ、同じD
ASD  22に同じデータ・セットが存在する限り再
び割振られることはない。
操作員が当該文書に多くのテキスト・レコード及びペー
ジ゛を追加する場合には、ルート/リーフ・ノード17
0のインデックス構成要素174は結果的にこれらのエ
ントリを保持することカーできなくなる。このよう゛な
場合、ルート/リーフ、・ノード170は適当に分割さ
れ、たとえば第5A図に示すように、1つのルート・ノ
ード2oo11つのリーフ・ノードA (、202)及
び1つのリーフ・ノードB(204)へ分割される。ル
ート・ノード200は、ルート/リーフ・ノード170
と同じデータ・セット・プロフィル172とルート/中
間インデックス構成要素205を含む。リーフ・ノード
A (2’0’2 )はリーフ・ノード・チ手−ン20
6及びインデックス構成要素208を含み、一方、リー
フ・ノードB (204’ )はリーフ・ノード・チェ
ーン210及びインデックス構成要素212を含む。第
4C図を参照するに、第5A図に示したルート・ノード
20’0のノード・レベル189は値1を有し、−リー
フ・ノード202及び204のノード・レベル189は
値Oを有する。       ゛ リーフ・ノードA(202)及びリーフ・ノードB(2
04)のインデックス構成要素208及び212は、第
4A図におけるルート/リーフ・ノード170のインデ
ックス構成要素174(詳細については第4B図のイン
デックス構成要素180を参照のこと)と同じ情報を保
持する。第5A図の例では、インデックス構成要素18
0は2つのインデックス構成要素208及び212に分
割されておシ、ページN’1及びその前にあるすべての
ページのインデックス・エントリがリーフ・ノードA 
< 2’ c+ 2 ’>のインデックス構成要素20
8に記憶されるのに対し、ページN2ないし2(当該文
書の最終ページ)のインデックス・エントリはリーフ・
ノードB(204)のインデックス構成要素212に記
憶される。−このことは、ページNトインデツクヌ・エ
ントリ182がインデックス構成要素208中の最後の
インデックス・エントリでアシ、そしてページN2・イ
ンデックス・エントリ184がインデックス構成要素2
12中の最初のインデックス・エントリであることを暗
示する。この例では、ページ2は当該文書の最終ページ
であるから、ページ2・インデックス・エントリ214
はインデックス構成要素212の最後のインデックス・
エントリである。
iSA図及び第5B図に示されたインデックス構造によ
れば、所望のページに対するリーフ・ノードを速やかに
選択することができる。ルート・ノードのインデックス
構成要素を探索し−Hつ所望のページのキーを各インデ
ックス・エントリのキーと比較する間、所望のページの
キーよりも大きいページ・キーを保持するルート・ノー
ド200中の棄初のインデックス・エントリは、所望の
ページ(但し、当該文書中に存在するものとする)を探
し出すに必要なインデックス・エントリを保持すべき特
定のリーフ・ノードを参照する。
一般にスクローリングと呼ばれるような文書の順次的な
表示又は訂正を容易にするために、リーフ・ノード・チ
ェーンが設けられている。これによれば、表示点又は訂
正点、が適切なリーフ・ノードのインデックス構成要素
の終りで参照されるレコードに到達する場合は、当該文
書のルート・ノードを参照することなく次位(又は前位
)のIJ−フ・ノードを探し出すことができる。リーフ
・ノードA(202)のリーフ・ノード・チェーン20
6は2つの論理セクタ番号(LSN)、すなわち前位リ
ーフ・LSN  216及び次位リーフ・LSN  2
1Bを含む。第5A図の例では、リー□フ・ノードA(
202)は当該文書の第1ページに対するインデックス
・エントリを保持するので、その前位リーフは存在しな
い。従って、その前位リーフ・LSN  216は、S
AMルーチン44によって無効な論理セクタ番号として
認識されるような値にセットされる。リーフ・ノードA
(202)i7)次位リーフ・LSN  218は、リ
ーフ・ノードB(204)の論理セクタ番号を保持する
。同様に、リーフ・ノードB < 204)のリーフ・
ノード・チェーン210にある前位リーフ・LSN  
22’0はリーフ−ノードA (’202 )の論理セ
クタ番号を保持する。また、リーフ・ノードB(204
)は当該文書の最終ベージに対するインデックス・エン
トリを保持しているので、次位リーフ・LSN  2’
22は無効な論理セクタ番号を保持する。・ ルート・/−)”200は、当該データ・セットのイン
デックスの開始点である。従って、ルート/中間インデ
ックス構成要素216のインデックス・エントリは、記
憶ボリュームに置がれたリーフ・ノードA (202’
 )及びリーフ・ノードB(204)を探し出すことを
可能にする。リーフ・ノー゛ドA(20’2)では、さ
−ジNトインデックス・ニジトリ182はリーフ・ノー
ドA(202)Kよって参照さ゛れる最終ページを参照
する。
このことは、ベージN1今一186(第4B図)がイン
デックス構成要素208中で量大のキーであることを意
味する。従って、これはリーフ・ノードA(202)の
ハイ・キーと呼ばれる。同様に、リーフ・ノードB(2
04)のベージZ・インデックス・エントリ214に置
かれたキーはそのインデックス構成要素212中のいず
れのキーよシも大きいので、このベージ2・キーがリー
フ・ノードB(204)のハイ・キーとなる。
第5B図は、ルート・ノード200のルート/中間イン
デックス構成要素216を一層詳細に示す。第5A図の
例では2つのリーフ・ノードが存在するから、ルート/
中間インデックス構成要素216にも2つのインデック
ス・エントリが存在する。リーフ・ノードAのインデッ
クス・エントリ224はページNトキー186及びリー
フ・  □ノードAのLSN  j’6を含み、後者は
リーフ・ノードA(202)の論理セクタ番号を保持す
る。同様に、リーフ・ノーにBのインデックス・エント
リ232には、ベージ2・キー228及びリーフ・ノー
ドBのLSN 、23.、[:ilK含まれる。
ここで、リーフ・ノードA及びBのインデックス・エン
トリ224及び232は第6図のレコード記述子とは異
なり、レコードに関する情報やインデックス・ノードの
長さを保持していない、ということを注意すべきである
。インデックス・ノードは常Kl−の論理セクタであり
、そしてルート/中間インデックス構成要素216は常
にインデックス・ノード(第5A図のリーフ・ノード)
を参照するから、これらのインデックス・ノードの長さ
は常に同じであり、従って前述のような情ノトリから省
略す名ことが できる。
所与のリーフ・ノー□ドでは、既存のインデックス・エ
ントリへ新しいベージ又はレコードのインデックス・エ
ントリを挿入したシ又は追加することが頻繁に起こる。
従って、新しいレコード又はペー゛ジを追加する場合に
は、既存のリーフ・ノードのスペースが不足することが
ある。このようにスペースが不足するリーフ・ノードは
、分割と呼ばれるSAM動作によって2つのリーフ・ノ
ードと置換されることになる。ルート・ノードのインデ
ックス構成要素は、分割前にはリーフ・ノードごとに1
つのインデックス・エントリ(たとえば、リーフ・ノー
ドBのインデックス・エントリ232)を保持する。分
割後には、このインデックス・エントリは2つのインデ
ックス・エントリ、す゛なわち新しい2つのリーフ・ノ
ードの各々ごとに1つのインデックス・エントリによっ
て置換されねばならない。この動作は1つのルート・ノ
ードを1つのルート・ノードと2つのリーフ・ノードへ
分割する動作の単なる拡張にすぎないので、以下ではそ
の説明を省略する。
操作員が非常に大きな文書を作成するためにグラフィッ
ク文字及び指令を記入すると、相当量のリーフ・ノード
が追加されることがある力S2 このような場合にはル
ート・ノードのインデックス構成要素216におけるス
ペースが足シな−くなって、他のリーフ・ノードのイン
デックス・エントリを収容しきれなくなる。従って、こ
の時点でルート・ノード200を再び分割しなければな
らない。
なぜナラ、ルート・ノード200はリーフ・ノードを参
照しているので、新しいリーフ・ノードを作成すること
かできないからである(リーフ・ノードはそのリーフ・
ノード・チェーンの外部にある他のリーフ・ノードを参
照しない)。そのかわシに、中間メートと呼ばれる他の
タイプのノードが作成されるのである。
第6図を参照するに、図示されたルート・ノード240
は第5A図のルート・ノード200に置・換わったもの
であシ、これは第5B図のものと同じ構造のルート/中
間インデックス構成要素2d2を含んでいる。しかしな
がら、このインデックス構成要素242のインデックス
・エントリはリーフ・ノードの論理セクタ番号を維持す
るかわりに、中間ノードI(244)及び中間ノードJ
(246)の論理セクタ番号を保持している。中間ノー
°ド((2,dd)にはインデックス構成要素248が
ちシ、これはリーフ・ノードB、 (256、)リーフ
・ノードC(’2.58)及びリーフ・ノードD(26
0)を参照するためのリーフ・インデックス・エントリ
250.252及び254をそれぞれ含んでいる。かく
て、第6図は6レベルのインデックス・トリーを例示し
てお9、そこではルート・ノード240のメート・レベ
ル値は2であシ、中間ノードI(244)及びJ(21
6)のノード・レベル値は1であり、そしてすべてのリ
ーフ・ノードのノード・レベル値は依然として0である
。インデックス構成要素248中のインデックス・エン
トリは、第5B図に示したリーフ・ノードAのインデッ
クス・エントリ224と同じ構造を有する。中間ノード
J ’(246)中のインデックス構成要素262は、
インデックス構成要素24.8と同様の構造を有する。
第6図の隣接するリーフ・ノード間の接続264は、第
5A図の206及び2.10の如きリーフ・ノード・チ
ェーンを表わす。
従って、第6図に示された一般的なインデックス構造に
よれば、SA’Mルーチン44は2つの異なる方法で、
すなわち文書の表示又は訂正方法に応じて、所望のペー
ジ又はレコードを探し出すことができる。たとえば、リ
ーフ・ノードD(260)で参照される伐るページの最
初のレコードを探し出すために、SAMルーチン44は
DASD22からルート・ノード240を取出し且つそ
のインデックス構成要素242を探索することにょシ、
中間ノードI(,244)が核当する中間ノードである
ことを決定する。次いで、中間ノードエ(244)が記
憶媒体から取出され、そしてリーフ・ノードD(260
)が前述と同様に適切なリーフ・ノードとして選択され
る。記憶媒体がらり−7・ノードI)(260)を取出
した後、所望のページのキーを探し出すためにリーフ・
ノードD(260)のインデックス構成要素が探索され
る。
一方、もし操作へかリーフ・ノードC(258)で参照
される量終レコードの終シにあって、テキストの次のレ
コード(リーフ・ノードDで参照される゛)へのスクロ
ールを望んでいれば、記憶媒体上のリーフ・ノードD’
(26() )を直接探し出すためにリーフ・ノードC
(258)中のリーフ・ノード・チェーンを使用するこ
とができる。すなわち、この場合にはルート、・ノード
及び中間ノードを再び取出したり、探索することは全く
必要ないのである。
第4A図ないし第6図に例示されたインデックス構造は
、ボリュームを複数のインデックスの階層として構成す
ることによって、単一のデータ・セットからボリューム
全体まで一般化することができる。第7図は、ボリュー
ム・インデックスをブロック図の形式で例示する。この
例では、記憶ボリュームは3つのデータ・セントを有し
、そのうち2つのデータ・セットは同じタイプ(たとえ
ば、テキスト文書)のものであり、残りのデータ・セッ
トはそれとは異なるタイプのものである。
媒体制御レコード280は各記憶ボリュームごとに設け
られ、ボリューム・ラベル(ボリューム名)の如き対応
ボリュームの全体に関する情報を保持する。媒体制御レ
コード280には、ボリューム上のデータに関する情報
を与えるために、ヘッダ1フイー゛ルド281カ磯けら
れる。特に5ヘツダ1フイールド281は(媒体制御レ
コード280からアンカー284への矢印によって示さ
れるような)アンカー装置ポインタ282を含み、これ
はボリューム上のアンカー284の位置を示す。
アンカー284は第ルベルのボリュ7ム・インデックス
情報で泰る。アンカー2840機能は、データ処理シス
テムのDASD記憶ボリュームに置かれたボリューム目
録に似ている。ワード・プロセシング・システム1oで
、ハ、アンカー284・セット幸インデックヌとして購 成される。特に、アンカーの?オーマットはルート/リ
ーフ・ノードのフォーマット(第4A図参照)と同じで
ある。しかしながら、第4A図のように文書のレコード
及びぺ−゛ に、アンカー284はボリュ、ム情報又は他のデータ・
セットを参照する。他のインデックス・ノード°と同様
に、アイカー284は下位レベルのデータを参照するた
めのインデックス構成要素285を含んでいる。
アンカー284のインデックス構成要素285は、第4
B図に示したインデックス構成要素176と同様のフォ
ーマットを有する。アンカー284では、そのインデッ
クス・エントリのキーは(ベージNトキー178と同様
に)データ・セット・タイプから構成される。かぐて、
アンカー284には、記憶ボリューム上の一意的なデー
タ・セット・タイプごとに1つのインデックス・エント
リが存在する。
媒体割振マツプ286は、゛記憶媒体上の各セクタの割
振ステータスを示す。ワー ド・プロセシング・システ
ム10では、媒体割振マツプ286は媒体上の各セクタ
ごとに1つの指示を・保持する。
この指示は、成るデータ・セットへ割振るために対応す
るセクタが利用できるか否かを示す。既存のインデック
ス・ノード及びデータ・セット・レコードに対するこれ
らの指示は、対応するセクタが既に割撮られておシ′、
従って利用できないととを示す。この種の媒体割振技法
は当該技術分野では周知であると考えられるので、ワー
ド・プロセシング・システム10の媒体割損マツプを管
理するために実際に使用される技法については、その説
明を省略する。アンカー・インデックス構成要素285
中の媒体割嘔マツプ286に対するインデックス・エン
トリはそのキーとして該媒体割振マツプ286へ割4辰
られた一意的なデータ・セット・タイプを有し、そして
(たとえば第4B図のレコード記述子179の如き)レ
コード記述子として論理セクタ番号287及びボリュー
ム上の媒体割振マツプ28乙の長さを有する。
第7図の例では、データ・セラ)A(288)がそのタ
イプを有するボリューム上の唯1つのデー!・セットで
あると仮定する。従って、アンカー・インデックス構、
成要素285中のインデックス・エントリは、データ・
セットA(28B)のデータ・セット・タイプから構成
され殖キーと、データ・セラ)A(2’8B)のルー外
・ノニド゛の論理セクタ番号を示す論理セクタ番号28
9から成る。
しかしながら、データ・セットB(289)及びデータ
・セラ)、C(29’O’)は、mじデータ・セット・
タイプを有するものと仮定する。成るインデックス構成
要素中のキーは一意的でなければならず、そしてデータ
・セットB(289)及びデータ・セットC(290)
のデータ・主ット・タイプから構成されるキーは同等で
あるから、この要件のために他のレベルのインデックス
が導がれる。ディレクトリ291は下位レベルのデータ
・セットに対するデータ・セット・インデックスである
。ディレクトリ291のデータ・セット・タイプは、該
ディレクトリが参照するすべてのデータ・セラ1ト・タ
イプと同じである。従って、アンカー・インデックス構
成要素285中のインデックス・エントリはディレクト
リ291のデータ・セット・タイプから導かれたキーを
使用し、そ     −して論理セクタ番号を介してデ
ィレクトリ・ルート・ノードを参照する。
ディレクトリ・インデックス構成要素293はデータ・
セットのルート・ノードを参照する。インデックス構成
要素296中のインデックス・エントリに対するキーは
、(第4A図における各データ・セットのルート・ノー
ドのデータ・セット・プロフィル172に保持される如
き)データ・セット名である。ワード・プロセシング・
システム10では、単一の記憶媒体上のデータ・セット
、は一意的なデータ・セット名を有さなければならない
。従って、ディレクト、す・インデックス構成要素29
3中のキーは一意的である。
他のすべてのデータ・セット・インデックスと同様に、
データー・セットの数が増加してこれと同じデータ・セ
ット・タイプのすべてのデータ・セットに対するインデ
ックス・エントリが単一のルート/リーフ・ノードに収
iりきらなくなった場合には、ディレクトリ291を複
数のレベルへ拡張することができる。しかしながら、ワ
ード・プロセシング・システム゛10における一意的な
データ・セット・タイプの数は限られているので、ルー
ト/リーフ・ノードより大きくなるようにアンカー28
4や拡張す、□ゆぶ。
第8図に7は、第1図に示したSAM内部制御ブロック
62の一部が詳細に図示されている。ユニット制御ブロ
ック/記憶(以下UC8’と略す)300はデバイス・
ステータス、動作ステータス及び制御情報を保持すると
ともに、データ・セット及びボリューム・インデックス
をアクセス及び更すュームトハ、ワード・プロセシング
−システム10へ接続された単一のディスケット又はハ
ード・ディスクの如きDASD  22を意味する。ワ
ード・プロセシング・システム10の処理に利用を有す
る。
デバイス・ステータス嶺域602は、DASD22に対
する実際のI10動作を制御するために、SAMルーチ
ン44によって使用されるデータ及び制御情報を保持す
る。また、この領域392は、キーストローク・サービ
ス・ルーチン34からの要求を処理している間にアクセ
スすべき利用可能なボリュームを決定するために、SA
Mルーチン444によって使用される。
ボリュームのデータ・セット・インデックス・バックア
ロ04は、アンカーと呼ばれる第ルベルのボリューム・
インデックスを保持する。このバッファはDASD  
22中のボリュームに対するアンカー284(第7図)
を保持する。アンカーはメモリ26に維持されるが、こ
れはボリューム上で伐るデータ・セットを探し出さねば
ならない場合にDASD2−2からの入力動作を排除す
るためである。ボリューム・インデックス中のキーがデ
ータ・セットのタイプ(たとえば、テキスト文書)及び
データ・セット名(第4A図の176を参照)から成る
場合には、ボリューム上の成るデータ・セットを探し出
す動作はデータ・セット中の成るページを探し出す動作
に非常に似ている。
参照番号306.308及び610によって識別される
インデックス・ノード・バラシア1ない・し3はバッフ
ァ領域であって、DASD  22との転送が行われて
いる間にデータ・セット・インデックス・ノード又はボ
リューム・インデックス・ノードを処理するために使用
される。インデックス・ノード・バッファ1ないし乙の
各々は、1つのインデックス・ノードを保持することが
できる。1以上のインデックス・ノード・バッファが設
けられているのは、インデックスの探索及び分割動作を
容易にするためである。
媒体割振マツプ・バッファ312は、記憶ボリュームに
対する媒体割振マツプのスペースを与える。このバッフ
ァは、DAS、D  −22中の媒体割振マツプ286
(第7図参照)のコピーを保持する。
UC,5300の残りの領域は内部ステータス及び制御
情報を保持するとともに1中間的な種々の計算結果等を
保持するために使用される。この種の動作は本発明の要
旨に関係ないので、以下ではその説明を省略す、る。
第8′図には、第1図のSAMインタフェース制制ブロ
ック50が詳細に示されている。84Mルーチン44に
よって与えられる動作のうち本発明に関係する動作は、
アクセスに際しデータ・セットをオープンする事、DA
SD  22からメモリ26へ1以上のレコードを読取
る事、そしてメモリ26からDASD  22へ1以上
のレコードを書込むことである。
キーストローク・サービス・ルーチン34KJ:って要
求されるSAMルーチン44の各サービス毎に、1つの
記憶事象制御ブロック(以下5ECBと略す)660が
必要である。実際に5ECB300に割撮られるメモリ
26中の領域は、要求を行うキーストローク・サービス
・ルーチン34によって決定される。第1図のチャネル
46は、このようにして割撮られた5ECB  330
の領域をSAMルーチン44へ渡すために使用される。
5ECB  330では、要求された特定の動作を開始
するためにSAMルーチン44に必要なすべての情報を
見出すことができる。指令及びオプション指示領域33
2は要求された主要な動作指令(たとえば、ボリューム
回復)を指示するとともに、当該要求を修正しうる指令
オプションを指示する。指令及びオプション指示領域3
62は、特定の指令を処理すべきSAMサービス・ルー
チンを生ずるために使用される。
回復バッファ位置領域304は、メモリ26におけるグ
ローバル回復バッファ640の位置を保持する。5EC
B  ’330と同様に、グローバル回復バツZア34
0へ実際に割振られるメモリ26中の領域はキーストロ
ーク・サービス・ルーチン34によって選択される。グ
ローバル回復バッファ340は、エラー検出後にボリュ
ーム及びデータ・セット・インデックスを検査又は再構
成することが必要な場合に、SAMルーチン44によっ
て使用される。
記憶ボリューム上にあるデータ・セット及びデータ・レ
コードの保護及び回復には、2つの段−階゛がある。す
なわち、媒体エラーに起因するデータの損失を防止する
ために行われる予防段階と、可能なエラーが検出された
場合に行われるデータ・セット及びボリューム・インデ
ックスのスキャン  ゛段階とがある。
媒体エラーが検出されるのは、データの取出時にこのデ
ータがワード・プロセシング・システムによって有効と
して認識されないような場合である。ワード・プロセシ
ング・システム10におけム媒体エラーには、DASD
  22に共通のエラーがあり、これらのエラーは媒体
表面の汚れ、媒体の磨滅、等が原因で牟することがある
ワード・プロセシング・システム10でハ、媒体エラー
に起因するデータの致命的な損失を防止するために、ボ
リューム上にある重要(クリチカル)データを重複して
記録するようにしている。
これは冗長又は重複記録として知られている。もちろん
あらゆるデータの2つのコピーを記憶ポリ1   ニー
ムに記録することも可能であるが、このアプローチは記
憶ボリュームの実効容量を実際の容量の半分に減少させ
るという欠点を有する。従って、ワード・プロセシング
・システム10では、記録される全情報のうちのサブセ
ットを重要情報として指定し、これを冗長記録すること
によって保護する°ようにしている。ここで重要情報と
は、再び作成したシ又はワード・プロセシング・システ
ム10へ再び記入するのに操作員が多大の労力を必要と
する、そのよう゛な情報をいう。
ボリュームの実効容量を減少させないようにするにはす
べての情報を重要情報として指定することはできないの
で、ワード・プロセシング・システム10で適用される
最初の規則は、データ・セット中のデータ・レコードが
重要情報ではない、とするものである。個別的なデータ
・レコードが失われたとしても、これを回復するKは′
キーボード12を介してデータを再び記入するだけで済
むからである。従って、データ・セット・インデックス
・ノード又はボリューム・インデックス・メートだけが
重要情報であるとみなされる。
第7図を参照するに、もし媒体制御レコード280を正
しく取出すことができなければ、アンカー及びすべての
データ・セットを探し出すことができない。従って、媒
体制御レコード280は重要情報であるとみなされる。
ワード・プロセシング・システム10では、媒体制御レ
コード280は常に論理セクタ番号0及び論理セクタ番
号17に記録される。これらの論理セクタ番号はデバイ
ス・タイプ(ディスケット又は)・−ド・ディスク22
)とは無関係である。媒体制御レコード280の2つの
コピーの内容は同じである。
媒体制御レコード280と同様に、アンカー284も重
要情報であるとみなされる。なぜなら、アンカー284
を読取ることができなければ、い□かなるデータ・セッ
トをも探し出すことができないからである。従って、各
記憶ボリュームにはアンカー28402つのコピーか記
憶される。アンカー28402つのコピーの内容は同じ
である。
媒体制御レコード280を読取る前に、ワード・プロセ
シング・システム1Dはこの媒体制御レコード280の
1次及び2次コピーの位置(論理セクタ番号)を知って
いなければならない。媒体制御レコード280はアンカ
ーLSN  2B2を保持しているので、このアンカー
゛を記憶ボリューム上の欠陥がない任意の論理セクタに
記憶することができ、また元の論理セクタに更新された
コピーを正しく記憶することができなければ、そこから
移動することもできる。このような場合は、アンカーの
最終位置を反映するように媒体制御レコードを変更する
ことだけが必要である。
システム性能を改良するためには、冗長的に記録される
情報の両コピーを互いに物理的に接近してボリューム上
に置くことによシ、DASD  2    −2の読取
シ/書込みヘッドがこれらの間を移動するに要する時間
を慢小にすることが望ましい。一方、単一の欠陥又は障
害によシこれらの両コピーに対するアクセスが妨げられ
ないようにするためには、これらのコピーを互いに離れ
て配置することが望ましい。さらK、これらのファクタ
(性能、リスクの減少)の相対的重要度は、ボリューム
の内容に応じて、ボリュームごとに異なる、ということ
がある。
媒体制御レコード280はまれにしかアクセスされない
ので、かかる柔軟性はワード・プロセシング・′システ
ム10ではさほど重要ではない。従つて、システム論理
が複雑になることを避けるために、本発明の実施態様で
はすべての記憶ボリュームについて一定の位置が選択さ
れた。アンカーの第2:2ピーの位置を柔軟に設定する
ことができるように、媒体制御レコード280へ第2位
置領域を追加し、これによシ記憶ボリュームにおけるア
ンカー284の第2コピーの位置を規定するよにした。
第10A図には、第7図の媒体制御レコード28oおよ
びアンカー284に夫々第2コピーを設けたものが示さ
れている。媒体制御レコードの1次コピー360は論理
セクタOに記録され、その2次コピーろ62は論理セク
タ17に記録される。
1次コピー・ヘツダトフィールド664及び2次コピー
・ヘツダトフィールド566は、両者共に1次アンカー
368の媒体位置を保持する。媒体制御レコードの各コ
ピーには、2次アンカー・ポインタ(以下BUAPと略
す)と呼ばれるフイールルドが追加される。これらのフ
ィールド、即ち1次コピーBUAP’572及び2次コ
ピーBUAP374は、アン:カー370の2次コピー
の装置を保持する。
第4図ないし第7図を参照するに、もし成るデニタ・セ
ットのルート・メートをワード・プロセシング・システ
ム10によって正しく暇出すことができなければ、この
データ・セット中のデータ・レコードを記憶ボリューム
で探し出すことはできず、かくてこのデータは操作員か
らすれば失われること釦なる。従って、すべてのデータ
・セット・ノードは重要であると考えられるので、記憶
ボリュームに冗長的に記録されねばならない。このこと
は特にディレクトリのルート・ノードにあてはまる。と
いうのは、ディレクトリ・ルート・ノードをアクセスす
ることができなければ、このディレクトリによって参照
されるすべてのデータ・セット(特定のデータ・セット
・タイプを有するすべて、のデータ・セット)はワード
・プロセシング・システム10及び操作員に対し失われ
ることになるからである。
たとえば、第7図のポインタ)、1.1291について
説明すると、もし同じタイプを有するデータ・セット力
相当あってディレクトリ29M)i(第5A図又は第6
図に示すように)複数レベルになれば、ディレクトリ・
インデック2におけるリーフ・ノードの消失は幾つかの
データ・セットのルート・ノードをもはや探し出すこと
ができないことを意味する。かくて、ワード・プロセシ
ング・システム10では、ディレクトリのリーフ・ノー
ドも、また重要なインデックス・メートとみなされる。
第4B図及び第5B図に関連する前述の説明、特にレコ
ード記述子179’&びリーフ・ノードLSN  22
6の説明を参照するに、下位レベル(データ・レコード
又はインデックス・ノード)の位置は論理セクタ番号に
よって与えられる。前述の重要ノードのうち成るノード
の1次コピーがエラーなしで取出される場合は、2茨コ
ピーが探し出されねばならない。成るデータ・セット・
インデックスを探索する動作の性能は当該データ・セッ
ト中のレベルの数に関係しており、そして該レベルの数
は当該データ・セット中のデータ・レコードの数及び個
別的なインデックス・エントリめサイ°ズによって決定
される。もし重要セクタを参照するようなインデックス
・エントリの各々に余分の論理セクタ番号が追加される
ならば、このこ□とは所与のレベル数を有するデータ・
セット中に一層数の少ないレコードを記憶しうろことを
意味する。これらのインデックス・エントリは、既に1
次コピーの論理セクタ番号を保持する。ワード  □・
プロセシング・システム10では、2次コピーは1次コ
ピーから一定数の論理セクダだけ、離れて置かれるよう
に規定されている。言いかえれば、2次コピーの論理セ
クタ番号と1次コピーの論理セクタ番号との間の差は、
この記憶ボリュームについては一定である。
第jOA図を参照するに、アンカーのインデックス構成
要素37乙にはシャドウ・オフセット・フィールド37
8が設けられている。シャドウ・オフセット67Bは、
1次コピーの論理セクタ番号と2次コピーの論理セクタ
番号との間の差を示す。かくて、もしボリューム・アン
カーをアクセスナ為ことができれば、当該ボリュームに
対するシャドウ・オフセットを1次コピーの論理セクタ
番号と加算することによって重要なインデックス・ノー
ドの2次コピーの論理セクタ番号を計算することができ
る。こうすることにより、ワード・プロセシング・シス
テム10は、種々のボリュームに対するボリューム内容
に基づいて(性能及びリスクの減少に基づいて)、最良
のオフセットを選択することができる。メモリ26に設
けられたUC8300のボリューム・データ・セット・
インデックス・バッファ304ではアンカーのコピーが
利用可能であるから、SAMルーチン44は必要に応じ
て重要情報の2次コピーを常に探し出すことができる。
前述のように、すべてのルート・ノードは重要なセクタ
であるとみなされ、冗長的に記録される。
また、ディレクトリのリーフ・ノードも重要なセクタと
みなされる。他のリーフ・ノードは、データ・セットの
タイプに応じて、重要であるとみなされる。たとえば、
テキスト文書のリーフ・ノードは文書中の多くのテキス
ト・ヘーシを参照するのでこかかるリーフ・ノードを重
要であるとみなすことができる。一方、ワード・プロセ
シング・システム10のプログラム・ディスケットに置
かれたプログラム・データ・セットのリーフ・ノードは
重要であるとはみなされない。というのは、任意のプロ
グラム・デニタの消失はそのプログラム・ディスケット
を無効にし、そして他のプログラム・ディスケットをそ
の販売元から簡mに入手することができるからである。
かくて、当該データ・セットの内容に応じて、成るリー
フ・ノードは重要であるとみなされ、他のリーフ・ノー
ドは重要であるとはみなされない。
第10B図は、第4B図に示したルート・ノード170
のデータ・セット・プロフィル172を一層詳細に示す
。データ・セット・プロフィル390には、4うの構成
要素、すなわちデータ及びインデックス属性392、デ
ータ・セット名693、データ・セット・コメント39
4及びデータ・セット・名データス395がある。デー
タ及びインデックス属性392は、データ・セット・イ
ンデツクス及び当該インデックス・ノードのインデック
ス構成要素におけるインデックス・エントリのシ造に関
する完全な記述を、SAMルニチン44のために含んで
いる。特に、リーフ・シャドウ指示は、当該データ・セ
ットに対するリーフ・ノードが冗長的に記録さるべきか
否かを指定する。
従って、リーフ・ノードが重要であるか否かは特定のデ
ータ・セットごとに指定することができる。
ワード・プロセシング・システム1oでハ、キー、スト
ローク・サービス・ルーチン64は一般に同じデータ・
タット・タイプを有するデータ・セットを同等に扱う。
かくて、すべてのテキスト文書はそれらのリーフ・ノー
ドをシャドウ化、すなわち2重化される。84Mルーチ
ン44では、すべてのデータ・セットのルート・ノード
はリーフ・ノードをシャドウ化すべきか否かを指定する
第11A図には、インデックス・ノード読取シに関係す
る本発明の論理的動作が流れ図の形式で示されている。
この手順はインデックス・ノード読取サービス・ルーチ
ン・ステップ4ooで開始する。ステップ402では、
このインデックス・ノード読取手順を遂行せしめるよう
な他の手順によって供給される論理セクタ番号を使用し
て、当該インデックス・ノードの1次コピーが読取られ
る。もしステップ403のテストによυこのイン、デツ
クス・ノードがDASD  22から正常に取出された
ことがわかれば、インデックス・ノード読取完了がステ
ップAO5の戻シコードを介して通知され、かくてこの
手順は次のインデックス・ノード読取シが必要となるま
でステップ407で終了する。戻シコードは当該技術分
野では周知であるばかりか、本発明の要旨とも関係がな
いので、以下ではその説明を省略する。
もしステップ406でエラーが検出されたならば、予測
されたインデックス・ノードのタイプがステップ409
で調べられる。もしルート・ノードが予測されたならば
、このルート・ノードは最初に冗長的に記録されたので
、ステップ411でボリューム・シャドウ・オフセット
を1次コピーの論理セクタ番号へ加算することに、よっ
て2次コピーの論理セクタ番号が計算され、続いてステ
ップ416でこの2次コピーが読取られる。もしステッ
プ414で2次コピーの取出エラーが検出されなければ
、読取完了がステップ405の戻シコードを介して通知
され、そしてこの手順は前述のようにステップ407で
終了する。もしステップ414でエラーが検出されたな
らば、ステップ416の戻シコードを介して蒜取エラー
が通知され、そしてとの手順は前述のようにステップ4
97で終了する。
もしステップ409で予測されたインデックス・ノード
がルート・ノードでないことがわかれば、リーフ・ノー
ドが予測されたか否かを決定するために、この予測ノー
ドはステップ418で調べられる。もし予測されたイン
デックス・ノードがリーフ・ノードでなければ(中間ノ
ードが予測された場合)、これは1次コピーがステップ
402で正常に読取られなかったことを1意味するから
、前述のようにステップ416を介して読取エラーが通
知される。これと同じごとは、予測されたり−7・シー
ドが(第10B図のデータ・セット・プロフィル390
におけるリーフ・シャドウ指示6?7に従って)2重化
されていないことがステップ420で判明した場合にも
あてはまる。予測されたリーフ・ノードが2重化されて
いることがステップ420でわかれば、これは予測され
たルート・ノードと同様にステップ411及び413を
通して処理される。
第11BINには、インデックス・ノード書込みに関係
する本発明の論理的動作が流れ図の形式で示されている
。この手順はインデックス・ノード書込サービス・ルー
チン・ステップ425で開始する。ステップ427では
、このインデックス・ノード書込手順を行わしめる他の
手順によって供給された論理セクタ番号を使用して、尚
核インデックス・ノードの1次コピーが書込まれや。も
しステップ429のテストによシ尚該インデックス・ノ
ードがルート・ノードであることがわかるか、又はステ
ップ431及び433のテストによシ当該イン′デツク
ス・ノードがリーフ・ノードであシ・ 且つこのリーフ
・ノードが2重化されるべきことがわかれば、ろテップ
435ではボリュー、ム・シャドウ・オフセットを1次
コピーの論理セクタ番号へ加算することによって2次コ
ピーの論理セクタ番号が計算され、続くステップ436
ではこの2次コピーが書込まれる。次いで、この手順は
次のインデックス・ノード書込要求が受取られるまでス
テップ438で終了する。
もしステップ429及び461で当該インデックス・ノ
ードがルート・ノードではなくリーフ・ノードであるこ
とがわかるか、又はステップ433でリーフ・ノードを
現データ・セットにおいて2重化すべきでないことがわ
かれば、ステップ427では1次コピーだけが書込まれ
たことになるので、この手順は前述のようにステップ4
68で一終了する。
第10A図〜第1’ OB図に示した構造及び第11A
図〜第11B図に示した手順は、記憶ボリュームの記憶
容量を若干余分に利用するだけで、操作員に対する相当
量のデータが一消失するリスクを減少゛させるとともに
、記憶媒体上の任意の物理セクタにおけるエラーのない
動作に完全に依存することを排眸するために、ワード・
プロセシング・システム10がどのように柔軟に利用さ
れるか、ということを示している。
ワード・プロセシング・システム10の通常の動作中、
SAMルーチン44はデータ・セット・インデックス構
造が尭全で且つ正しいことを仮定する。もし記憶媒体エ
ラーが存在せず、しかも異常なシステム終了が存在しな
ければ、この仮定はDASD  22上で利用可能な任
意のデータ・セットに対する適正なアクセスを保証する
に十分である。
しかしながら、DASD  22で使用される記憶媒体
については、記憶ボリュームに正常に記憶されたデータ
を(媒体エラーのために)アク1セスできないことがあ
る。第6図を参照するに、リーフ・ノードC(258)
のインデックス構成要素中にあるインデックス・エント
リによって参照されるよ′うなデータ・レコードをアク
セスしなければならない場合には、一般に、記憶ボリュ
ーム上のデータ・レコードを探し出してアクセスする前
に、ルート・ノードをスキャンすること、中間ノードI
(244)を探し出し、取出し且つスキャンすること、
そしてリーフ・ノードC(258)を探し出し、取出し
且つスキャンすることが必要である。
第10図及び第11図に示した構造及び手順は、媒体エ
ラーのためにルート・ノード又はリーフ・ノードをアク
セスすることができないような状況を著しく減少させる
。しかしながら、中間ノードは2重化によっては保護さ
れない。ここで注意すべきは、もし任意のリーフ・ノー
ドを探し出すことができるならば、他の任意のリーフ・
ノードも第6図のリーフ・ノード・チェーン264を介
して探し出すことができる、という点である。もし中間
ノードI(244)の取出中に読取エラーが検出された
ならば、中間ノードJ(246)を取出し、次いでリー
フ1ノードF(266’)を取出し、さらにリーフ・ノ
ードC(258)が探し出されるまで、第5A図に示し
たりニフ・ノード・チェーン206の前位リーフLsN
 216を介して前位リーフ・ノードを順次に探し出す
ことができる。
このような代替的スキャニングを達成するための一般的
手順をSAMルーチン44に追加すると、通常の処理ル
ーチンが著しく複雑になる。また、メモリ26の記憶要
件も著しく厳しくなる。とい5のは、メモリ、26の全
容量は制限されてお9、従ってSAMルーチン44のサ
イズ及び複雑さを制限することが一層望ましいからであ
る。
ワード・プロセシング・システム1oで採用された媒体
エラー・アプローチの全容は、次のとおシである。第1
0B図を参照するに、各データ・セットのルート・ノー
ドはデータ・セット・プロフィル390を含んでおシ、
該プロフィルの1構成要素はデータ・セット・ステータ
ス395である。ワード・プロセシング・システム10
’71j:、データ・セット・ステータスは6種類の状
態(クローズ、更新オープン、損傷)のうち1つをとシ
うる。
当該技術分野におけるDASDに対する殆んどの記憶ア
クセス方式と同様に、キーストローク・サービス・ルー
チン64は成るデータ・セットのレコードに対するアク
セス要求を発する前′に該データ・セットのオープン要
求を記憶ナクセス方式へ与えなければならない。第12
A図には、オープン・ステータス検査に関係する本発明
の論理的動作が流れ図の形式で示されている。
この手順はオープン・ステータス検査サービス・ルーチ
ン・ステップA50で開始する。ステップ451では、
データ・セット・ルートを読取るためにインデックス・
ノード読取手順が行われ、続くステップ453では、デ
ータ・セット・プロフィル中のデータ・セット・ステー
タスが探しWされる。むしステップ454のテストによ
シ当診データ・セットがクローズされていないことがわ
かれば、このデータ・セットは正しいことが保証される
。従って、このデータ・セットの利用不能性がステップ
458の戻シコ“−ドを介して通知され、゛そしてこの
手順は次のオープン・ステータス検査が要求されるまで
ステップ45Bで終了する。
もしステップ454のテストによp当該データ・セット
の現ステータスがアクセスを許容スルモのであることが
わかれば、ステップ460ではこのアクセス要求のタイ
プがテストされる。もしこの要求が更新タイプ(データ
・セット・インデックス及び/又はレコードの追加、置
換又は削除)のものでなければ、このデータ・セントの
利用可能性がステップ462の戻シコードを介して通知
され、そしてこの手順は前述のようにステップ458で
終了する。一方、もしこの要求が更新タイプ−のもので
あれば、ステップ464で当該データ・セットの現ステ
ータスは更新オープンへ変更され、そしてステップ46
6ではインデックス・ノード書込手順が行われる。− かくて、当該データ・セットに未解決の問題又はエラー
が検出されなかった場合にのみ、オープンを行うための
SAMルーチン44がこのデータ・セットをアクセスす
ることができるのである。
成るデータ・セットの、?−プンに成功した後C全ての
データ・セット・インデックスが正しいこと及びすべて
のインデックス・ノードeはラーなしで読取られうるこ
と(第11A図及び第1.IB図の手順によシ、通常の
処理中に重要セクタの読取シェラ−を回復する場合を含
む)を仮定して、ワニド・プロセシング・システム10
の通常の動作が進行する。もし通常のSAMルーチン4
4の処理中に要求されたインデックス・ノード又は論理
セクタが媒体エラーのためにオリ用不能であることがわ
かれば、キーストローク・サービス・ルーチン34/ ヘエラー指示が戻される。キーストローク・サービス・
ルーチン34がクローズ要求を発した場合、このエラー
指示は、プログラム状況が解決さqるまで後のアクセス
から保護するために、記憶ボリューム上に保存されねば
ならない6 第12B図には、クローズ・ステータスに関係する本発
明の論理的動作が流れ図の形式で示されている。この手
順はクローズ・ステータス・サービス・ルーチン・ステ
ップ475で開始スる。スーテゾプ476では、ルート
・ノードにあるデータ・セット・プロフィル690(第
10.B図参照)のデータ・セット・ステータス695
が探し出される。もしステップ478で当該データ・セ
ットの前のエラー指示が検出されるならば、このデータ
・セット・ステータスはステップ480で損傷状態ヘセ
ットされ、そしてステップ481ではこのルート・ノー
ドを記憶ボリュームへ書込むためにインデックス・ノー
ド書込手順が行なわれる。
然る後、この手順は次のクローズ・ステータスが要求さ
れるまでステップ483で終了する。
もしステップ478で前のエラーが検出されなければ、
ステップ485では当該データ・セットの現ステータス
が検査される。もし現アクセス・タイプが更新でなけれ
ば、この手順は前述のようにステップ486で終了する
。もし現アクセス・多イブが更新であれば、ステップ4
87では当該データ・セットのステータスがクローズ状
態へ変更され、続くステップ488では当該ルート・ノ
ードを記憶ボリュームへ書込むためにインテルりス・ノ
ード書込手順・が行われ、そして前述のようにステップ
483でこの手順が終了する。
第12A図及び第12B図、に明達して詳述したこれら
の手順によれば、SAMルーチン44は、未解決の問題
を有していそうなデータ・セットへのアクセスを禁止し
、通常の処理手順によっては解決できない問題(媒体上
に冗長的に記録された重複コピーをアクセスする;こと
によっても解決できないエラー)を検出するとともに、
データ・セットで検出された未解決の開明の指−示を記
憶ボリュームに保存する。
ワード・プロセシング・システム100通常の動作環境
では、予測不能な電源障害が不正なデータ・セット・イ
ンデックスに結びつくことがある。
もし成るインデックスの更新中にワード・プロセシング
・システム10へ供給される外部電源が故゛障すれば、
不正なデータ・セット又はボリューム・ブンデツクス構
造が生ずることがある。
第16図には、第6図に示したものと類似するデータ・
セット・インデックスの一部が例示され′てい゛る。ル
ート・ノード500は、中間ノード■′(s’ o’ 
2.’)を参照する処のインデックス・エントリを含む
。中間ノードI(,502)は、リーフ・ノードB <
、 504)、リーフ・ノードC(及びリーフ・ノード
D ’(50B )を参照する。リーフ・ノード・チェ
ーン510及び512は、第6図のリーフ・ノード・チ
ェーン264と同じ機能を有する。
もしリーフ・ノードC(506)にインデックス・エン
トリを記憶さるべきデータ・セットへレコードが追加さ
れ、そしてリーフ・ノードC(506)がこれらの追加
レコードのインデックス・エン) IJを保持するに十
分なスペースを有していなければ、リーフ・ノードC(
506)に置換わるべき2つの新しいリーフ・ノード、
すなわちリーフ・ノードC1(51,!I)及びリーフ
・ノードC2(516)を作成しなければならない。I
J 。
フ・ノードB(504)及びリーフ・ノードC(10は
; リーフ・ノード・チェーン518と対応するように
リーフ・ノードB(51ml)で変更されねばならない
。同様に、リーフ・ノードD(508)は、リーフ・ノ
ード・チェーン512をリーフ・ノード・チェーン52
0で置換えるように変更されねばならない。さらに、中
間ノード■(502)中のり一部C・インデックス・エ
ントリ522け、2つの新しいインデックス・エントリ
、すなわちリーフ・ノードC1(514)及びリーフ・
ノードC2(51(S)の各々ごとに1つの新しいイン
デックス・エントリで置換えられねばならない。
データ・レコードを記憶ボリュームへ書込んだシ、イン
デックス・ノードの読取り及び書込みを行うプロセスは
、瞬時的なものではない。従って、インデックス更新プ
ロセスの任意のステップで、ワード・プロセシング・シ
ステム1oの外部電源が故障することがある。
たとえば、リーフ・メートC1(514)及びリーフ・
ノードC2< s 1”(S )が記憶ボリュームに記
憶され且つリーフ・ノードB(5−(1,!l)及びリ
ー°フ・ノードD ’(5[]’ 、8 ’)の11−
7・ノード・チェーンが更新された場合、中間ノー)”
I(502)を変更して記憶ボリュームに書戻す前に、
ワード・プロセシング・システム10の外部電源が故障
することがある。
この外部電源が復元される場合、ルート・ノード500
のデータ・七ツrに対応して記憶ボリュームに置かれた
データ・セット・インデックスは正しくない。リーフ・
ノードB(50’4)及びリーフ・ノードD(508)
はリーフ・ノードC1(511)及びリーフ・ノードC
2(516)へそれぞれ連鎖される。中間ノードI(5
02)はリーフ・ノードC(506)に対するインデッ
クス・エントリを保持するが、これはもはや当該データ
・セット・インデックスの一部ではない。中間ノードI
(502)は、当該データ・セット・インデックスの一
部であるべきリーフ・ノードC1(514)及びリーフ
・ノードC2(516)に対するインデックス・エント
リを含んでいない。
かくて、当該データ・セットは未解決の問題を含むこと
になる。
このような未解決の問題の検出は、第12A図に関連し
て説明した構造及び手順に既に包含されている。第13
図に示したデータ・セットが(当該データ・セットに新
しいレコードを挿入する前に必要、とされるような)更
新アクセスのために選択された場合、第12A図に示し
たオープン・ステータス検査千頭によシデータ・セント
・ステータスを更新状態ヘセットされた当該データ・セ
ットのルート・ノード500が記憶ボリュームへ書・込
まれる。ワード・プロセシング・システム10への電源
が復元した後は、このデータ・セット・インデックスに
関する未解決の問題が書込まれるまで、オープン・ステ
ータス手順によって以後のアクセスが禁止される。これ
は現データ・セット・ステータスが更新状態ヘセットさ
れているためである。
第13図に関連して説明した外部電源の故障後は、記憶
ボリューム上に他の未解決の部層が存在する。第7図は
、ボリューム上に置かれた媒体割振マ゛ツブを示す。性
能上の理由で、UC8,3’00(第8図)に置かれた
媒体割振マツプのコピーは割振りが変更されるたびにボ
リューム上に記憶されるのではなく、インデックス及び
データ・セット・レコードの変更が完了したとき離散的
なインターバルで記憶される。
第13図の例では、記憶ボリュームに置かれた媒体割部
マツプ中の割振指゛示のうちリーフ・ノードC1(51
4)及びリーフ・ノードC2(516)を保持する論理
セクタに対する割振指示は、依然としてこれらの論理セ
クタが将来の割振りのために利用可能であることを示す
。もしこれらの論理セクタがボリューム上の割振要求を
満足させるように後で使用されるなら?げ、異なる情報
かリーフ・ノード(1(514)、リーフ・ノードC2
(516)又はその両方に置換わることがある。
この場合、リーフ・ノードC1(514)及びリーフ・
ノー)”C2(516)にインデックス・エントリを有
していたすべてのレコードは、操作員から見れば失われ
てしまうことになる。
リーフ・ノードC(’506)を保持する論理セクタの
場合は、記憶ボリューム上の媒体割振マツプにおいてこ
の論理セクタ枦既に割撮られたものとして指示されてい
るという点で、それほど重要でない問題が存在する。リ
ーフ・ノードC(506)中の情報はもはや必要ないか
ら、リーフ・ノードC(506)を保持する論理セクタ
は将来の割振りに利用可能でなければならない。
前述の媒体側根マツプの開明は、全体として記憶ボリュ
ームにす′、1系する。新しいリーフ・ノードC1(5
14)及びC2(516)の損失を防ぐために、この問
題が解決されるまでボリューム(に対する更新アクセス
は全体として禁止されねばならない。というのは、ボリ
ューム上にある論理セクタの新しい割振要求は、単一の
媒体割振マツプについて行われるからである。
潜在的な問題の検出はボリューム・アンカー中のボリュ
ーム更新指示によって行われるが、これはデータ・セッ
トのルート・ノードに置かれたデータ・セット・ステー
タスと似ている゛。成るデータ・“セットがタイプ更新
のためにオープンを要求した場合、アンカー中のステー
タスはこの事実を反映するようにセットされる。任意の
データ・セットが更新のためにオープンされている場合
、たとえ元のデータ・セットがクローズのために要求さ
れたとしても、アンカー・ステータスは更新ステータス
を反映する。更新アクセスのためにオープンされた最後
のデータ・セットがクローズされる場合にのみ、アンカ
ー・ステータスは、ボリューム・インデックス(媒体割
部マツプを含む)が検出された未解決の問題を含まない
ことを反映するように、更新されるのである。
検出された未解決の問題全前述の機構を通して解決する
ことは、回復手順によって行わ庇る。この回復手順は、
媒体エラー罠よって生ぜられたデータ・セット又はボリ
ューム・インデックス中の未解決の問題を解決するとと
もに、外部電源の故障に起因するシステム処理の異常終
了によって生ぜられるような問題をも解決することがで
きなければならない。所与の記憶ボリュームでは、前述
のすべでの問題が同時に生ずることがありうる。
論理セクタの現在の割振状態を正確に反映するように当
該ボリュームに対する媒体割振マツプを構成するために
は、成るデータ・セット又はボリューム・インデックス
へ実際に割振られたすべてのセクタを探し出す必要があ
る。このことは、システム・アンカーを起・魚として直
接的又は間接的に到達することができる各インデックス
・ノード中のすべてのインデックス・エントリを調べる
ことを意味する。第7図を参照するに、このことは次の
もの、すなわちアレカー284、媒体割振マツプ286
、データ・セットA(28B)、ディレクトリ291、
データ・セットB(289)又はデータ・セットC(2
90)へ割振られたすべての論理セクタを探し出すこと
を意味する。第13図を参照するに、このことは成るデ
ータ・セットの有効なインデックス・ノード及びデータ
・レコードのみが割振られたものとみなされ、そしてリ
ーフ・ノードCは有効なインデックス・ノードとはみな
されないことを意味する。第6図を参照するに、中間ノ
ードJ(246)、リーフ・ノードF(266)及びリ
ーフ・ノード・チェーン264の存在は、たとえ中間ノ
ードj(26,4)が回復中に適正にアクセスできない
としても、リーフ・ノードC(25,8,)を間接的に
探し出すことができるということを意味する。中間ノー
ドエ(244)とともに失われたインデックス・千ント
リは、回復の一部として、1つ又はそれ以上の醍存の又
は新しい中間ノードで再構成されねばならない。
ワード・プロセシング・システム10にとって非常に重
要な回復の1側面は、性能である。すなわち、第4図な
いし第7図に示したボリューム・インデックス構造によ
って利用可能にされるすべての情報源を使用して、でき
るだけ多くの操作データを回復することが肝要である。
一方、操作員が通常のワード処理タスクを継続すること
ができるように、回復手順はできるだけ速やかに完了さ
れねばならない。特に、DASD’、22で行われるI
10100数は最小でなければならない。媒体側根マツ
プを再構成するためにはすべてのボリューム及びデータ
・セット・インデックス・ノードを少くとも1回アクセ
スすることが必要であるから、最良の場合ですら成るイ
ンデックス・ノードの読取シ及び書込みを1回行わねば
ならない。
ワード・プロセシング・システム1o中のSAMルーチ
ン44は、種々のデータ・セット及びデータ・タイプを
処理するように設計された一般的なアクセス方式手順か
ら成る。各データ・セット・タイプのデータ・レコード
を処理するための一意的なキーストローク・サービス・
ルーチンが既に存在するので、SAMルーチン44中の
回復手順は実際のデータ・レコードを処理する必要はな
い。ボリューム上の成るデータ・レコードを探し出した
9、該レコードへ割振られた論理セクタ番号を決定する
には、当該データ・セットのインデックス・ノード(リ
ーフ・ノード)をアクセスするだけでよく、データ・レ
コードを実際にアクセスする必要はない。従って、SA
Mルーチン44中の回復手順はデータ・レコードを読取
シ又は書込み゛のためにアクセスしない。キーストロー
ク・サービス・ルーチン34は、ボリューム上に置が゛
れたボリュームへびデータ・セット・インデックス中の
すべての問題をSAMルーチン44が解決した後、損傷
を受けたデータ・セット中のデータ・レコードを調べな
ければならない。しかしながら、損傷を受けた可能性が
あるデータ・セット中のデータ・レコードのみが調べら
れねばならない。
言いかえれば、SAMルーチン44中の回復手順を開始
する際に、ルート・ノードのデータ・セット・ステータ
スがクローズ状態にセットされているようなデータ・セ
ットのデータ・レコードは、キーストローク・サービス
・ルーチン34によって調べる必要はない。通常の場合
、成るボリュームにはとのような損傷をうけたデータ・
セットか1つ又は2つあるKすぎない。このことは操作
員に対する全体的なデータ回復手順の性能を著しく改善
する。
第14図には、SAMルーチン44の回復部分を構成゛
する複数の手順と、宅れらの手順の間の関係が示されて
いる。
ボリューム/アンカー回復手順525は、ボリューム回
復のためにキーストローク・サービス・ルーチン′54
からSAMルーチン44へ与えられる要求に応答して行
われる。この手順525は、グローバル回復バッファに
すべての回復内部ノくラメータを初期設定し、アンカー
の回復を制御するとともに、回復の結果”e’U、cs
  300(第8図)又は記憶ボリュームに分散記憶さ
せ仝。アンカーを回復するためには、インデックス構成
要素中の各インデックス・エントリは一度に1つずつ処
理される。アンカー中の各インデックス・エントリは1
つのデータ・セットを参照するから(但し、ボリューム
/アンカー回復手順で処理される棹体マツプ・エントリ
を除り)、このプロセスは線527によって示されるよ
うにデニタ・セット/ル−ト・ノード回復手順526へ
要求を発する。
データ・セット/ルート・ノード回復手順526、は、
単一のデータ・セットの回復を制御する。
この手順の主たる機能は、データ・セット名を含むごと
もあるデータ・セット・ルートの有効性を検査すること
、データ・セット・プロフィル中の無効な値にワード・
プロセシング・システム10によって実際にサポートさ
れているルート・ノード又はデータ・セットではない論
理セクタの指示として検査すること、残シのデータ・セ
ット・インデックスを回復するために他の回復手順へ要
求を発すること、そしてデータ・セット・インデックス
中にある下位レベルのインデックス・ノードの回復の結
果としてルート・ノードを更新することである。
第4図ないし第6図の例によって示されるようニ、デー
タ・セット・インデックスは単一レベル7(ルート/リ
ーフ・ノード)から成ることもあるし、2レベル(ルー
ト・ノード及びリーフ・ノード)又は3レベル以上(ル
ート・ノード、ルベル以上の中間ノード、リーフ・ノー
ド)から成る   ゛こともある。これらの6つのケー
スに対する回復手順は若干相違している。
ルート/リーフ・ノードの場合は、単一ノードのみを考
えればよく、リーフ・チェーンは関係ない。この場合、
データ・セット/ルート回復は、ルート/リーフ・ノー
ドのインデックス構成要素中のインデックス・エントリ
を処理するために、線528.によって示すように単一
リーフ回復手順529へ要求を発する。
データ・セットが2以上のレベルを有する場合は、リー
フ・ノードが直近上位レベルのインデックス・エントリ
によって正確に参照されないことがある。成るリーフ・
ノードを2つのリーフ・ノードへ分割するプロセスの間
に行われるノード作成及び更新の順序は注意深く管理さ
れておシ、がくてリーフ・ノード・チェーン2o6(第
5A図)中の次位リーフLSN  218は記憶ボリュ
ームに置かれた当該データ・セットのすべてのリーフ・
ノードについて正しい。第13図を参照するに、リーフ
・ノードB(504)中の次位リーフLSNは、リーフ
・ノードC1(514)及びリーフ・ノードC2(51
6)がボリュームへ書込まれた後にだけ、記憶ポリ、ニ
ーム上で更新される。
リーフ・レベル回復手順532は、リーフ・ノードを回
復する際の順序づけを制御する。この手順は、リーフ・
ノード・チェーンの前位リーフLSN及び次位リーフL
SNを使用することにより、リーフ・ノード・チェーン
を介して探し出すことができるデータ・セット・インデ
ックス中のすべてのリーフ・ノードが正しいシーケンス
で回復に含まれるこバを保証する。たとえば、データ・
セット/ルート・ノード回復手順から線533を介して
リーフ・レベル回復手順5′52へ要求が発せられる場
合、指定されたリーフ・ノードが開始点として使用され
る。リーフ・レベル回復手順532は、リーフ・ノード
・チェーンの前位リーフLSNi使用することにより、
左端のリーフ・ノードが(当該デ、−タ・セットについ
てリーフ・レベル回復手順552へ与えられる量初の要
求のため・に)見出されるか又は既に回復されたリーフ
・ノードが探し出されるまで、前位リーフ・ノードを順
次にスキャンする。リーフ・ノードはこの点から回復′
され、そして元の要求のリーフ・ノードに到達するまで
上位レベルのインデックス・ノードへ追加される。
当該データ・セットがルベル以上の中間インデックス・
ノードを有する場合、データ・セット/ルート・ノード
回復手順526はそのインデックス・エントリの各々ご
とに線536を介して中間ノード回復手順535へ要求
を発する。中間ノード回復手順5650機能は、要求を
発したノードのインデックス・エントリを線537を介
してリーフ・レベル回復手順532へ順次に与えること
である。中間ノードにはチェーンは存在しないから、中
間メート回復手順535は要求された中間ノードだけを
考慮する。
ワード・プロセシング・システム1(In;j、、2レ
ベル以上の中間ノードを有するデータ・セットを許容す
る。このようなデータ・セットでは、最上位レベルの中
間ノードは他の中間ノードを参照するインデックス・エ
ントリを保持する。このことが生ずる場合、中間ノード
回復手順565は線568を介してそれ自体へ再帰的要
求を発するが、この再帰的要求はそれとは異なる中間ノ
ードを参照するものである。
第7図に示したように、アンカーのインデックス・エン
トリはデータ・セットのルート・ノード及びディレクト
リのルート・ノードを参照する。
て−タ・セット・インデックスの構造とディレクトリ・
インデックスの構造は、同等である。従って、これらの
両インデックスについて同じ1組の回復手順が使用され
る。当該インデックスがデータ・セット・インデックス
である場合、単一リーフ回復手順529は、インデック
ス・エントリで参照される論理セクタが再構成中の媒体
割振マツプで割振られているものとして指示されること
を保証しなければならない。
しかしながら、ディレクトリ・インデックスについては
、各インデックス・エントリは同じデータ・セット・タ
イプを有するデータ・セットのルート・ノードを参照す
る。ディレクトリのリーフ・ノード・インデックス・エ
ントリの有効性を検査する′ことは、該エントリが参照
するデータ・セラl−回復することを必要とする。従っ
て、単一リーフ回復手順529は各データ・セットごと
に線540i介してデータ・セット/ルート・ノード回
復手順526へ再帰的要求を発するとともに、データ・
セット/ルート・ノード―復手順526によって戻され
仝有効性指示に基づいてディレクトリ・リーフ・ノード
を更新する。ワード・プロセシング・システム10では
、ルベルのディレクトリ・データ・セットが存在するに
すぎない。
ディレクトリ・リーフ・ノード中のインデックス要素で
参照される明白なディレクトリ・ルート・ノードは無効
データ・セットとみなされ、そしてディレクトリ・リー
フ中のインデックス要素は削除される。かくて、データ
・セット/ルート・ノード回復手順526へ与えられる
再帰的要求それ自体が、他の再帰的要求を生ぜしめるこ
とはない。
第15図には、ボリューム回復に関係する本発明の論理
的動作が流れ図の形式で示されている。
この手順は、ボリューム回復サービスバルーチン・ステ
ップ550ゼ終了する。ステップ551では、゛構文規
則及びルート・ノードで許容されるサポート値に従って
、アンカーが検査される。アンカーは既にメモリ26に
置かれておシ、一層婦細にはUO33,00”<第8図
)のボリューム・データ・セット・インデックス304
に置かれている。もしアンカーが無効であることがわか
れば、自咳ボリュームがサポートされていないことがス
テップ553の戻シコードを介して通知され、そして次
のボリューム回復要求が受取られるまでこの手順はステ
ップ555で終了する。
もしアンカーが有効であれば、ステップ557ではUO
3300中の媒体側根マツプ・バッファ612からグロ
ーバル回復バッファ340中の媒体割振マツプ・バッフ
ァ1 (342)へ元の媒体割振マツプがコピーされる
。媒体側根マツプ・バッファ2(34i4)は□、媒体
制御レコードの2コピーへ割振られる論理セクタを除き
、利用可能なすべての論理セクタを指示するように初期
設定される。最初のアンカー・インデックス・エントリ
は、′ステップ1558で探し出される。
もしステップ560のテストによシ現在のアンカー・イ
ンデックス要素が(アンカー又は媒体割振マツプではな
い)真のデータ・セットを参照するものであることがわ
かれば、ステップ562ではデータ・セット回復手順が
行われる。続くステップ566では、当該データ・セッ
トが有効なデータ・セットであるか否かを決定するため
に、ステップ562からの戻りコードがテストされる□
もし当該データ・セットが有効でなければ、ステップ5
65ではアンカーからそのインデックス・エントリが削
除される。
このインデックス・エントリがステップ560ないし5
65で処理された場合、ステップ567で次のアンカー
・インデックス・エントリが探し出される。もしステッ
プ568のテストによジアジカーの終りにまだ到達・し
ていないことがわかれば、次のインデックス・エントリ
についてステレプ560ないし567が再び行われる。
最後のアンカー・インデックス・エントリが処理された
場合、前述のようにステップ555でこの手順を終了す
る前にステップ570の戻シコードを介して回復完了が
通知される。
媒体割振マツプを再構成する場合には、次の3つの事項
が考慮でれる。すなわち、回復中に割振り済み(利用不
能)であることを見出されたすべての論理セクタをマー
クすること、複数のインデックス・エントリが同一の論
理セクタを参照するのを禁止すること、そして回復プロ
セス中に新しいインデックス・ノードが作成される場合
には新しい割ibを見つけること、がそれである。
第15図のステップ557では、2つの媒体割振マツプ
が準備される。グローバル回復バッファ340の媒体割
振マツプ・バッファ2(344)に置かれた媒体割振マ
ツプはすべての論理セクタが利用可能であるように初期
設定される。□回復中に遭遇した任意のインデックス・
エントリで成る論理セクタが参照される場合、まず媒体
割振マツプ・バッファ2(,344)中の現セクタ・ス
テータスが検査される。もしこ?セクタが既に割振゛ら
れていれば、このセクタは回復手順において以前に遭遇
したものであるから、それ以上の処理を行うことなく、
そのレコード記述子(リーフ・ノード)又はインデック
ス・エントリ(中間ノード若しくはルート・ノード)が
削除される。
このステップは、回復手順の終了時には、どの論理↓フ
タも記憶ボリューム上のボリューム又はデータ・セット
・インデックスにある1よシ多いインデックス・エント
リで参照されることはな、い、ということを保証する。
一方、もしこの論理セクタが以前に探し出されていなけ
れば(媒体割振マツプ・バッファ2中のステータスが側
根シのための利用可能性を示す場合)、このステータス
は媒体割部マツプ・バッファ1(342)及びバッファ
2(344)で側根状態へ変更される。回復手順の終了
時にすべてのデータ・セット及びボリューム・インデッ
クスが処理されている場合は、当該インデックスのイン
デックス要素で参照されるすべての論理セクタは71割
振マツプ・バッファ2(344)で割損状態ヘマークさ
れる。
成るデータ・セットを処理している間、特に当該手順が
読取エラーに遭遇する場合、又は第16図に示すように
成るインデックス・ノードの分割中に異常な外部電源の
故障に遭遇する場合は、当該インデックスの上位レベル
における分割プロセスを完了するために新しい論理セク
タの割振シが必要となることがある。UC8,300か
ら媒体割振マツプ・バッファ1(342)ヘコピーサし
た元の媒体割振マツプが、この新しい割釡シを見つける
ために使用される。
ワード・プロセシング・システム10で通常の動作を行
っている間に論理セクタの割振F)を行うには、まず媒
体割振マツプの始点←最小の論理セクタ番号)で探索を
開始し、ファースト・フィツト(first−fit 
’)アルゴリズムに従った割振シが満足されうるまで、
この探索を継続して行う。゛すべでの割振シは媒体割振
マツプの始点で開始するので、記憶ボリューム上で実際
に利用可能な任意のスペースは栗大の論理セクタ番号を
有する論理セフ゛りに集中する傾向がある。従って、利
用可能な1つの論理セクタ又は連続的な1組の論理セク
タを探し出すために、媒体割振マツプ・バッファ11d
2)はその媒体割部マツプの終りから逆方向に(すなわ
ち最大の論理セクタ番号から最小の論理セクタ番号の方
へ)探索される。回復は新しいインデックス・ノード(
個々の論理セクタ)を生成するにすぎないから、記憶ボ
リュームの断片化は問題ではない。もしこの探索中に利
用可能な成るセクタが見出されるならば、このセクタが
回復手順によってまだ処理されていないような成るイン
デックス・エントリへ実際に割振られている確率は低い
。かくて、記憶ボリュームにもはや余分のスペースがな
いという場合だけが、問題を生せしめるのである。丁度
割撮られたばかりのセクタを参照する後のインデックス
・エントリは、その遭遇時に前述のように削除される。
第16A図には、データ・セット回復に関係する本発明
の論理的動作が流れ図の形式で示されている。この手順
は、データ・セット回復サービス・ルーチン・ステップ
575で開始する。ステップぎ76では、このデータ・
セットを回復するために使用されるデータ・セット領域
バッファが適正に初期設定される。
次に、ルート・ノードの検査が行われる。ステップ57
8では、ルート・ノードの構文及びプロフィル中のサポ
ート値が検査される。もし当該データ・セットの回復を
要求する手順(単一リーフ回復手順のみ)によってデー
タ・セット名が供給されたならば、このデータ・セット
名はステップ580でルート・ノードのデータ・セット
・プロフィルに置かれたデータ・セット名と比較される
続くステップ582では、現ルートが無効な第2レベル
のディレクトリ(ディレクトリ・リーフ・ノードで参照
されるディレクトリ)であるか否かを決定するために、
現ルート及び現環境が検査される。もしステップ578
.580又は580のテスト結果に9いて問題があれば
、ステップ584の戻りコードを介して無効データ・セ
ットが通知され、そしてこの手順は次のデータ・セット
回復要求が受取られるまでステップ586で終了する。
もしルート・ノードの構文及び環境に対するすべての検
査に成功すれば、ステップ5F38でルート回復手順が
行われる。次いで、ステップ589の戻シコードを介し
て当該データ・セットの回復完了が通知され、そしてこ
の手順はステップ586で前述のように終了する。
第16B図には、第9図のグローバル回復バッファ34
0に設けられたデータ・セット領域1バツフア(346
)及びデータ・セット領域2バツフア(584)が一層
詳細に示されている。データ・セット領域バッファ60
0は、5種類のフィールドを・含む。
データ・セット情報領域600は、当該データ・セット
の回復を全体として順序づけるために、当該データ・セ
ットの現回復ステータスを保持する。またデータ・セッ
ト情報領域6.01は、当該データ・セット中の下位レ
ベルにあるインデックス・メートの有効性を検査するた
めに原インデックス・ノード・ヘッダを保持するととも
に、データ・セット・プロフィルのデータ及びインデッ
クス属性要素から与えられる使用頻度の大きいパラメー
タを保持する。
ルート・レベル・バッファ602バー 当該f −タ・
セットのルートを回復するための作業記憶域e与える。
中間レベル・バッファ1.(6,03)及の中間レベル
を向後するために割振られている。
リーフ・レベル・バッファ606は、リーフ・レベルを
回復するための作業記憶域を与える。ルート/リーフ・
ノードのデータ・セット・インデックスについては、デ
ータ・セット回復手順においてルート・レベル・くくツ
ファ602のみが実際に使用され、他のレベル・バッフ
ァは使用されない。
2レベルのデータ・セットについては、ルート・レベル
・バッファ602及びリーフ・レベル・バッファ606
だけが便用される。それ1′J、上のレベルを有するデ
ータ・セットの場合は、中間レベル・バッファ1<;b
ozr>及びバッファ2C6011)の少くとも一方が
必要となる。
第16C図には、第1<SB図のルート・レベル・バッ
ファ60,2が一層詳細に示されている。ルート・レベ
ル・バッファ610は、3種類の部分を含む。すなわち
、現エントリ・オフセット領域612は当該インデック
ス・ノード中の現インデックス・エントリに対するオフ
セット及び該エントリ中の種々のパラメータを保持し、
作業キー・バッファ領域613は後で使用したり又は成
るインデックス・エントリを作成するために2つ以下の
キーを一時的に保持し、ルート・ノード・バッファ61
5は回復中のデータ・セットに対するルート・ノードの
コピーを保持する。
(以下余白) 第゛16D図には、ルート回復に関係する本発明の論理
的動作が流°れ図の形式で示されている。この手順は、
ルート回復サービス・ルーテン・ステップ625で開始
する。ステップ626でハ、ルート・ノード及び2次コ
ピーに対する媒体割振マツプのステータス指示が更新さ
れる。なぜなら、データ・セットのルート・ノードは、
有効な構文を有し且つ有効な環境で存在するものとして
検査されるからである。もしステップ628のテストに
より当該ルート・ノードがルート/リーフ・ノードであ
ることがわかれば、ステップ630で単一リーフ回復手
順を行うことによってそのインデックス要素が回復され
る。この手順はルート/リーフ・ノード全体の回復を処
理するから、それ以上?ことは必要なく、従ってこの手
j:頁は次のルート回復要求が受取られるまでステップ
632で終了する。
もし当該インデックス中に下位レベルがあれば、ステッ
プ664でルート・ノード中の最初のインデックス・エ
ントリが探し出される。続くステンプー636では、下
位レベルのうちどのレベルの回復手順を行うべきかとい
うことが決定される。もし1Jニジ大きければ、最高の
中間レベルの回復を行うために指定された中間レベルバ
ッファ1(601)で中間レベル回復手順が行われる。
さもなければ、リーフ・レベル回復手順が行われる。続
くス4ツブ640では、選択された回復手順の終了時に
ルート・ノード中のインデックス・エントリが更新さ扛
る。
このようにして当該ルート・ノードの現インデックス・
エントリを処理した後、ステップ641では次のインデ
ックス・エントリが探し出される。
もしステップ642のテストにより当該ルート・ノード
の終りにまだ達していないことがわかれば、ステップ6
66乃至641が次のインデックス・エントリについて
再び行われる。一方、もし当該ルート・ノードの終りに
達したならば、この手順は前述のようにステップ652
で終了する。
第17A図には、リーフ・レベル回復に関係す゛る本発
明の論理的動作が流れ図の形式で示されている゛。この
手順は、リーフ・レベル回復サービス・ルーチン・ステ
ップ650で開始する。ステン7’6’51では、指定
されたリーフ・ノード、すなわち上位レベルのノードに
対する回復手順に工ってサービス要求が発せられたリー
フ・ノードが取出される。
次に、第16図に例示する如きイ、ンデツクス・エラー
の発生が検査される。もしステップ652のテストによ
り左端のリーフ・ノード(前位リーフLSNが無効であ
るようなリーフ・ノード)が探し出されなかったことが
わかれば、この左端のリーフ・ノードを見つけるために
ステップ653で逆方向スキャン手順が行われる。第6
図を参照するに、このことが生じうるのは、最初の中間
ノードI (244)の取出しが成功せず且つリーフ・
ノードF(266)が当該デーダセットで探、し出され
た最初のりごフ・ノードであるような場合である。逆方
向スキャンは、現リーフ・ノードよりもイ竺いキー値を
有するインデックス・エントリを保持する如きリーフ・
ノードを探し出すために、リーフ・ノード・チェーン2
06(第5A図)の前位リーフLSN  216’i使
用する。もし左端のリーフ・ノードが既に探し出され且
つ回復されているならば、回復に成功した最後のリーフ
・ノードが指定されたリーフ・ノードの直前にあるリー
フ・ノードであるか否かを決定するために、ステップ6
55でテストが行われる。この関係は次のように表わさ
れる。
回復された最後のリーフ・ノードのLSN=指定された
リーフ・ノードの前位リーフLSN回復された最後のリ
ーフ・ノードの次位リーフLSN=指定されたリーフ・
ノードのLSNもしステップ655のテストによりリー
フ・レベルで問題があることがわかれば、回復された最
後のリーフ・ノードについて逆方向スキャンが行われる
。もしすべてのチェーン値が矛盾を含まず、そしていか
なるインデックス・エラーも指示されなければ、指定さ
れたリーフ・ノードが回復すべき次のリーフ・ノードと
して維持される°。
ステップ658では1.現リーフ・ノードは単一リーフ
回復手順を行うことによって回復される。
続くステップ659では、丁度回復されたばかりのり一
層・ノードのリーフ・ノード・チェーンか    。
ら次位リーフLSNが取出される。もしステップ660
及び662のゲストによ゛り指定された元のリーフ・ノ
ードにまだ達していないことがわかれば、次のリーフ・
ノードが取出され、そしてステップ658及び659を
反復することにより前述のように回復される。もしステ
ップ660のテストにより指定されたリーフ・ノードが
回復されたことがわかれば、このサービス要求について
はそれ以上の回復動作は必要ない。もし、ステップ66
2でリーフ・ノードのハイ・キーをテストすることによ
り、当該インデックスにおける指定されたノードの回復
が既に終っていることがわかれば(第13図の例では、
リーフ・ノードCが指定)−ドであって、リーフ・ノー
ドC1及びC2を回復するような場合)、この指定され
たノードは媒体割振マツプでその論理セクタ割振り全解
除することに上って捨てられてしまう。
最後に、上位レベルのインデックス・ノードで挿入又は
置換を行うために置換インデックス・エントリが再構成
され、そしてこの手順は次のルート回復要求が受取られ
尿までステップ668で終了する。
第17B図には、逆方向スキャンに関係する本発明の論
理的動作が流れ図の形式で示されている。
この手順は、逆方向スキャン・サービス・ルーチン・ス
テップ675で開始する。ステップ677では、現リー
フ・ノードのリーフ・ノード・チェーンから前位リーフ
LSNが得られる。もしステップ679のテストにより
前位リーフLSNが無効であることがわかるか、又はス
テップ681のテストによりこの前位リーフLSNが最
後に回復されたリーフのLSNであることがわかれば、
この手順は次のルート回復要求が受取られるまでステッ
プ685で終了する。
2  もし左端リーフ又は回復きれた最後のリーフに到
達していなければ、ステラ1686寸前位リーフが取出
され、そしてこの新しく取出された前立リー゛フ・ノー
ドについてステップ677ないし681が反復される。
第17C図には、第16B図のデータ・セット領域バッ
ファ600にあるリーフ・レベル・バッファ606の内
容が一層詳細に示されている。リーフ・レベル・バッフ
ァ69o1d3種類のセクションヲ含む。すなわチ、現
エントリ・オフセット領域691は当該インデックス・
ノードの現インデックス・エントリに対するオフセット
及び該インデックス・エントリ中の種々のパラメータ全
保持し、作業キー・バッファ領域692は必要に応じて
後で使用したり又は成るインデックス・エントリヲ作成
するために2以下のキーを一時的に保持し、そして最後
に3つのリーフ・ノード・バッファ1ないし5(695
ないし695)が設けられている。す1−フ・ノード・
バッファの数ヲ除く、!:、第17C図のリーフ・レベ
ル・□バッファ690は第16C図のルート・レベル・
バッファ610と同じフォーマットi有する。
成るデータ・セットには唯1つのルート・ノードがある
にすぎないから、1つのルート・ノード・バッファが必
要となるにすぎない。しかしながら、第17A=ないし
第17C図に関連して説明したように、逆方向スキャン
の動作中は6つの異なるインデックス・ノード、すなわ
ち指定された元のリーフ・ノード、左端のリーフ・ノー
ド又は回復された最後のリーフ・ノード、そして前2者
の間に行われるスキャンの一部として読取られるリーフ
・ノードを検討しなければならないことがアル。リーフ
・レベルでは、インデックス・エントリが追加されるこ
とは々く、同じ論理セクタの重複割振シの問題に起因し
て削除されることがあるにすぎない。従って、回復手順
の間にはり−ブレベルで分割が行われることはない。
以上詳述したよ・うに、゛本発明によれば、DASD上
のセクタで記憶媒体エラーが検出された場合であっても
操作員に対する相当量のデータが失われないように、D
ASDに記憶されたデータ・セラ1に一保護することが
可能となる。また、可能なエラーを検出した場合には、
正しくなく且つ矛盾性を゛含むインデックスを有するよ
うなデータ・セット2通常の動作のためにアクセスする
の全禁止することができる。さらに、記憶媒体エラーが
生じたり、又はデータ・セット・インデックスの変更中
に電源が故障したためデータ・セット・インデックスの
更新が正常に完了しない場合には、これらの原因に応じ
て生じうるすべてのインデックス・エラーを解決するた
めにボリューム上のすべてのインデックス・ノードをス
キャンすることができる。これらのデータ保護及び回復
方式を導入しても、ワード・プロセシング・システム1
0の通常の動作の性能は極〈わずか低下するにすぎない
【図面の簡単な説明】
第1図は本発明全包含するワード・プロセシング・シス
テムを示すブロック函、第2図は第1図のプロセッサを
一層詳細に示すブロック図、第6図はディスケット又は
ハード・ディスクの如き直接アクセス記憶デバイス(D
ASD)にデータ・セット(文書)の形式で記憶された
テキスト’(示すブロック図、第4八図ないし第4c図
は比較的小さいデータ・セットに対するデータ・セット
・インデックスであって、1つのルート/リーフ・ノー
ドだけを含むデータ・セット・インデックスを例示する
ブロック図、第5A図及び第5B図は比較的大きいデー
タ・セットに対するデータ・セット・インデックスであ
って、1つのルート・ノード及び2つのリーフ・ノード
を含むデータ・セット・インデックスを例示するブロッ
ク数、第6図は1つのルート・ノード、2つの中間ノー
ド及び多くのリーフ・ノードを含むデータ・セット・イ
ンデックスを例示するブロック図、第7図はボリューム
及びデータ・セット・インデックス間の関係を例示する
ブロック図、第、8図は第1図の記憶アクセス方式(S
AM)内部制御ブロックk 一層詳細に示す図、第9図
は第1図のSAMインタフェース制御ブロックを一層詳
細に示す図、第10A図及び第10B図は冗長的に記録
された媒体制御レコード及びボリューム・アンカーを一
層詳細に示すブロック図、第11A図及び第11B図は
インデックス・ノードの読取9及び書込みに関係する本
発明の動作ステップを示す流れ図、第12A図及び第1
2B図はデータ・セット・ステータスを検査及び管理す
るために行われるデータ・セットのオープン及びクロー
ズに関係する本発明の動作ステップを示す流れ図、第1
6図は6レベルのデータ・セット・インデックスにおい
て、新しいリーフ・ノードを中間ノードに反映させるこ
とができる前に、電源の故障によってリーフ・レベルの
分割動作が中断されるような状況を例示するブロック図
、第14図はボリューム回復プロセスの主要な手順及び
これらの手順間の関係を示すブロック図、第15図はボ
リューム回復手順に関係する本発明の動作ステップを示
す流れ図、第16A図はデータ・セット回復手順に関係
する本発明の動作ステップを示す流れ図、第16B図は
第9図のデータ・セット領域を一層詳細に示すブロック
図、第1’6C図は第16B図のルート・レベル・バッ
ファを一層詳細に示すブロック図、第16D図はルート
回復手順に関係する本発明の動作ステップを示す流れ図
、第17A図及び第17B図はリーフ・レベル回復手順
及び逆方向スキャン手順に関係する本発明の動作ステッ
プをそれぞれ示す流れ図、第17C図は第16B図のリ
ーフ・しゝル・バッファを一層詳細に示す図である。 出 a 人 インターカショナノいビジネス・マシーン
ズ・コーポレークタン第4A図 第4B図 第40図 第7図 第8図 第10A図 第10B図 第11B図 第12A図 第12B図 第14図 第16A図

Claims (1)

  1. 【特許請求の範囲】 下記の段階(イ)ないしくへ)から成る、記憶媒体エラ
    ーに起因する記憶ボリューム上のデータの損失又はアク
    セス不能性を減少させるためのボリューム回復方式。 (イ)前記記憶ボリューム上の予定の位置に媒体制御レ
    コードの2つのコピーを記録する段階。この媒体制御レ
    コードはボリューム・アンカーの位置を識別するための
    情報を含む。 (ロ)前記ボリューム・アンカーの2らのコピーを前記
    記憶ボリュームに記録する段階。このポリ□ ューム・
    アンカーはすべての、データ・セット又はデータ・セッ
    ト・ディレクトリの位置を識別するための情報を含む。 (ハ)前記データ・セット又はデータ・セット・ディレ
    クトリの各ルート・メートの2つのコピーを前記記憶ボ
    リューム比記録する段階。前記データ・セット又はデー
    タ・セット・ディレクトリの各々をアクセスするkは、
    このルート・/−トiアクセスすることが必要である。 に)前記ボリューム・アンカーにシャドウ・オフセット
    を指定する段階。このシャドウ・オフセットは第1コピ
    ーを保持するセクタっ論理セクタ番号と第2コピーを保
    持するセクタの論理セクタ番号との間の差を表わす。 (ホ)各データ・セットに対する前記ルート・ノードの
    データ・セット・プロフィルにリーフ・シャドウ指示を
    指定する段階。このリーフ・シャドウ指示は当該データ
    ・セットに対するリーフ・ノードが第2コピーを有する
    ように冗長的に記録されるか否かを表わす情報を含む。 (へ)記録媒体エラーにより所与のデータ・セントに対
    する前記ルート・ノード又は前記リーフ・ノードの1次
    コピーを正常に取出すことができないときは前記第2コ
    ピーを自動的に取出すための段階。
JP58039318A 1983-03-11 1983-03-11 ボリューム回復方法 Granted JPS59165162A (ja)

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 true JPS59165162A (ja) 1984-09-18
JPH0317142B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6225319A (ja) * 1985-07-25 1987-02-03 Pioneer Electronic Corp 光学式記録再生方法

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59165161A (ja) * 1983-03-11 1984-09-18 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン ワード・プロセッシング・システムにおけるデータ・セットのボリューム回復方法
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
ATE158424T1 (de) * 1989-06-30 1997-10-15 Digital Equipment Corp Verfahren und anordnung zur steuerung von schattenspeichern
US5247618A (en) * 1989-06-30 1993-09-21 Digital Equipment Corporation Transferring data in a digital data processing system
US5239637A (en) * 1989-06-30 1993-08-24 Digital Equipment Corporation Digital data management system for maintaining consistency of data in a shadow set
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)

* Cited by examiner, † Cited by third party
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 デ−タ記録・再生方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6225319A (ja) * 1985-07-25 1987-02-03 Pioneer Electronic Corp 光学式記録再生方法
JPH054696B2 (ja) * 1985-07-25 1993-01-20 Pioneer Electronic Corp

Also Published As

Publication number Publication date
EP0118861A3 (en) 1988-12-21
US4750106A (en) 1988-06-07
EP0118861A2 (en) 1984-09-19
EP0433269A3 (en) 1991-12-04
JPH0317142B2 (ja) 1991-03-07
EP0433269A2 (en) 1991-06-19

Similar Documents

Publication Publication Date Title
JPS59165162A (ja) ボリューム回復方法
JP4256851B2 (ja) ファイル・システム・スナップショットの永続性のための方法および装置
US6173291B1 (en) Method and apparatus for recovering data from damaged or corrupted file storage media
US4961134A (en) Method for minimizing locking and reading in a segmented storage space
CA2549917C (en) File system storing transaction records in a storage media
US6421767B1 (en) Method and apparatus for managing a storage system using snapshot copy operations with snap groups
US8880843B2 (en) Providing redundancy in a virtualized storage system for a computer system
US5403639A (en) File server having snapshot application data groups
US4601012A (en) Zone partitioning in volume recovery system
CA2818472C (en) Optimized startup verification of file system integrity
US7743227B1 (en) Volume restoration using an accumulator map
US8015155B2 (en) Non-disruptive backup copy in a database online reorganization environment
JP2005301497A (ja) ストレージ管理装置、リストア方法及びそのプログラム
WO2002046930A2 (en) Data storage system and method employing a write-ahead hash log
US4620295A (en) Method for accessing a data set in a word processing system
JP6156517B2 (ja) 書き込み情報記憶装置、方法、及び、プログラム
US11429498B2 (en) System and methods of efficiently resyncing failed components without bitmap in an erasure-coded distributed object with log-structured disk layout
US6715030B1 (en) Apparatus and method for storing track layout information for performing quick write operations
US7526622B1 (en) Method and system for detecting and correcting data errors using checksums and replication
JPH0358145A (ja) Smsのマツプ管理方法
JPS6365544A (ja) デ−タ削除方式
JP4390618B2 (ja) データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置
US7281188B1 (en) Method and system for detecting and correcting data errors using data permutations
US20240176489A1 (en) Priority based raid (redundant array of independent disks) rebuild for a data storage system
JPS62297948A (ja) デ−タベ−スの障害回復方式