JPS6115246A - 可変長ビット列生成装置 - Google Patents

可変長ビット列生成装置

Info

Publication number
JPS6115246A
JPS6115246A JP60089859A JP8985985A JPS6115246A JP S6115246 A JPS6115246 A JP S6115246A JP 60089859 A JP60089859 A JP 60089859A JP 8985985 A JP8985985 A JP 8985985A JP S6115246 A JPS6115246 A JP S6115246A
Authority
JP
Japan
Prior art keywords
binary number
block
binary
memory
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
JP60089859A
Other languages
English (en)
Other versions
JPH0827703B2 (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.)
Wang Laboratories Inc
Original Assignee
Wang Laboratories Inc
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 Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of JPS6115246A publication Critical patent/JPS6115246A/ja
Publication of JPH0827703B2 publication Critical patent/JPH0827703B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、メモリを含む計算機ベースシステムに関し、
より詳細には、斯かるシステムにおけるスペースの割当
て及びデータの圧縮に関する。
発明の背景 大型小型を問わず、コンピュータシステムは全て、その
ゴ部としてメモリを有している。このメモリは、静的及
び動的形式をとる。動的メモリの内容は、斯かるメモリ
への電力が遮断された時に失なわれる。静的メモリの内
容は、電力が遮断されても失われず、例えばROM (
読出し専用メモリ)、フロッピィディスケット磁気メモ
リ、大容量・・−ドディスク磁気メモリ、及び・ミブル
メモリ等の様々な形を静的メモリはとる。し・−ドディ
スク磁気メモリはコンピュータシステムに用いられるこ
とが多く、且つファイル記憶に用いられる。
一般的にファイルは割当てられた記憶ス投−スである。
先行技術に於ては、特定のデータを記憶するための与え
られた量のメモリスに一スが割当てられるのが一般的で
あり、このスペースの量には融通性がないため、全ての
ス投−スが必要でない場合、残りのスペースが浪費され
てしまう。従って、これらの融通性のないブロックセグ
メントに記憶されている2進情報を圧縮する実質的な必
要は何ら存在しない。当技術に於ては、ディスクに記憶
され得るデータの量を最大化するために、・・−ト9デ
ィスクメモリに記憶されているデータを圧縮する技術が
必要である。
発明の概要 本発明の教示によると、次のノ・−1デイスクメモリフ
アイル管理システムが開示されている。即ち、当技術に
おいて公知の多くのファイル管理機能を実行し、更にデ
ィスクファイル管理システムに記憶されたデータの圧縮
を実行し、これにより、そこに記憶され得る情報の量を
最大化する・・−ドディスクメモリファイル管理システ
ムである。
記憶されるべきデータは、記憶される前に、32ビット
2進数の形をとる特定の数を2進情報即ちデータから減
算することによって圧縮される。これにより、記憶され
るべき2進数の2進ビットの数に於ける対応する減少が
行なわれる。圧縮を解くことによって元の情報即ちデー
タを再構成することができるよう圧するためには、保存
されている圧縮数の2ビットが2進数の形をとる元の情
報即ちデータから減算された数を示す。これは、この時
点で、これを圧縮数に加え、これにより圧縮されない数
を復元するためである。これらの2つのビットはまた、
この数の圧縮されたサイズの合計を示す。
実施例の詳細な説明 第8図には、大量のデータ及びファイルを記憶するため
の大容量記憶手段として)・−ドディスクメモリ86を
含む現行技術の処理装置システムのブロック図が示され
ている。このシステムは、複数のキーボード付ビデオ端
末装置81及び82を含んでいる。これらのビデオ端末
装置は、データ及び指令を処理装置に入力し且つ処理の
結果であるあるいはシステムのメモリ85ある℃・は8
6に記憶されているデータを視覚的に表示するための入
力/出力デバイスとして用いられる。この処理装置はま
た、中央処理装置83を含んでおり、この中央処理装置
83には、バス84を経由して端末装置81及び82が
当技術において公知の方法でもって接続されている。こ
れらの端末装置はまた、内蔵プロセッサを有している。
この内蔵プロセッサは図示されてはいないが、表示技術
に於ては公知である。中にオ投レーティング・システム
及び応用プログラムが記憶されており且つプロセッサ8
3によってバッファ記憶装置として用いられるメモリ8
5が配設されている。ノ・−ドディスクメモリ86も配
設されており、このメモリは、データ等のファイルの記
憶に用いられる大容量記憶デバイスである。ノ\−ドデ
ィスク86は、ディスクファイル管理システムの制御下
でプロセッサ83によって作動され、端末装置8】及び
82を利用している処理装置のユーザの要求に応じて情
報を記憶したり検索する。当技術に於てよく知られてい
るようにデータをフロッピィディスクから読み出したり
フロッピィディスクに書き込んだりするためにフロッピ
0イデイスクユニツト87も配設すしている。フロッピ
ィディスクは当技術に於てよ(知られているようにプロ
グラム及びデータの代替のメモリ記憶装置として利用さ
れている。
端末装置81及び82の一方に於けるユーザの要求に応
じて、ビデオ表示装置10に表示されている表示のハー
ドコピ− クメモリ86のファイルからのハードコピー出力を得る
ためにプリンタ89を配設されている。第8図に示され
ているこの処理装置はまた、このシステムを他のシステ
ム及び記憶手段と通信せしめデータを転送し且つ当技術
では公知の他の機能を実行する通信インターフェース8
9を有している。
上記のパラグラフに全体的に述べた型式の処理装置は、
「管理通信端末システム」として登録されている米国特
許出願第440,668号に記載されている。この特許
出願は、本明細書に参考として引用されている。本発明
を用いることのできるディスクファイル管理システムが
、本発明の詳細な説明と共に以下に述べられている。
ディスクファイル管理システムが必要とされるのは、当
技術に於てよく理解されているようにハート5デイスク
メモリ86に情報を記憶し且つこのメモリから情報を検
索することに関する監視機能を実行するためである。メ
モリの諸部分を特定のシステムユーザに割り当てること
、どんなデータがディスクのどこに記憶されているかと
いうことにつ見・てのインデックスを保持すること、及
びディスクから情報を読み出し且つディスクに情報を書
き込むこと等の機能はディスクオ投レーティングシステ
ムによって実行される機能の例である。
しカルながら、ユーザがそれらに割当てられたメモリの
量を満たすと、割当てられたメモリの量を拡張すること
はかなり困難になる。先行技術に於ける代替手段は、特
定のシステムユーザにメモリの量を割当てて、このメモ
リを先着順に使わせることではない。このことは、ユー
ザを1つのディスクのファイルにまとめ且つ/又はその
ディスクの与えられた領域にまとめたい場合は問題を生
ずる。ファイルが与えられたディスクに且つ多くのディ
スクにわたって広がれば広がる程、検索時間は許容不可
能なしRル迄増大する可能性がある。
従って、特定のユーザに割当てられたハードディスクメ
モリの諸部分を有することが好都合であり、前に割当て
られた量のハードディスクメモリが−ばいになろうとし
ている時に容易に増大する量の割当てられたメモリを有
することが切に望まれる。
ハードディスクメモリを含む任意のメモリに記憶され得
る情報即ちデータの量を最大にするために、記憶する前
にデータに対してデータ圧縮技術を用いることが好まし
い。当技術では多くのデータ圧縮技術が公知であり用い
られており、これらの技術はいろいろな利点及び欠点を
有しているが、それらは全て斯かる技術を選択する上で
相殺されてしまうにちがいない。1つの技術を用いてデ
ータを圧縮し、次に別の技術を用いてこのデータを更に
圧縮するために再処理することは、あるとしても、非常
に少ない。本明細書ではそれ自身良好なデータ圧縮を行
うディスクファイル管理システムファイルに記憶するた
めのデータ圧縮方法が教示されているが、このファイル
からの圧縮データ出力は、他の技術を用いて更に圧縮し
、より高いデータ圧縮を達成することができる。
ハート5デイスクメモリ86に記憶された2進情報即ち
2進データは、階層木構造フォーマットに記憶されてい
る。斯かる形の記憶様式の場合、情報を記憶するのに固
定された量のメモリ即ちメモリのブロックが用いられる
。そして、情報を記憶するのに必要な多数のブロックが
用いられる。例えばあるドキュメントを表わし得る1組
の2進情報を記憶している複数のブロックは1本の電気
的連糸のビードのように全て互いに関連して結び合って
いる。これは、1つのブロックがアクセスされた時に、
論理的なブロック数の直前及び直後のブロックを含み、
これにより直前のブロック及び直後のブロックもまたア
クセスされるようにするためである。この論理的なブロ
ック数とは、上の・ξラグラフに簡単に述べられた且つ
本明細書に更に詳細に述べられる後続のブロックの2進
情報のためのアトゞt/スがそれから得られるメモリ中
の位置の論理的数である。ヘッダを含む2進語の各グル
ープは、ハート9デイスクメモリ86の5】2バイトブ
ロツクのメモリに記憶される。ハードディスクメモリ8
6の各ファイルはまた、このファイルに関する管理情報
を記憶するための多数の512バイトブロツクのメモリ
を用いている。この管理情報は、とりわけ、ディスクメ
モリ中の関連ドキュメント及び論理アドレスの識別を示
している。
ハードディスクメモリ86に記憶されるべきドキュメン
トを表わしている2進情報は、それぞれが16個の2進
ビットからなる512個の2進語の多数のグループに分
解される。斯かる16ビット2進語のグループの各々は
、ト9キュメントを表わす2進情報のための識別タグの
1つの形であるヘッダと結合し、これによりできるだけ
512バイトに近い複合グループのデータを構成する。
このヘッダはまた、メモリの隣接ブロックの論理アドレ
スを含んでいる。このシステムはまた、ファイルに関す
る管理情報を記憶するために多数の512ブロツクのメ
モリを用いている。この管理情報は、関連ドキュメント
と及びこの情報のための第1ブロツクのデータが記憶さ
れているディスクメモリ中の論理アドレスの識別を示し
ている。
更に、ハードディスクメモリに関する他の2進情報を記
憶するために他のブロックのメモリがこのディスクファ
イル管理システムによって用−・られる。他の2進情報
とは、例えば、各ファイルのうちどの位のメモリが用い
られたかということ、各特定ノンアイル中のどの位のメ
モリがまだ記憶するために用いられるかということ、1
つのファイルが自己拡張する時にこのVTOCファイル
に加えられるべきハードディスクの使用していないメモ
リの増分量、及び任意のファイルに割当てられていない
ディスクメモリス深−スの量及び論理アトゞレス等であ
る。
スパース配列ビットマツプ使用データR−スの名称を有
する米国特許出願第490,814号が本明細書に参考
として引用されており、この特許出願は、データベース
組織に用いられる木構造を教示している。
第1図に示されるように、メモリの各ブロックは、ヘッ
ダ20を有し且つインデックスを記憶する目的のために
用いられる場合は、インデックスブロック30あるいは
データを記憶する目的のために用いられる場合は、デー
タブロック40のどちらかを含むために包括的に構成さ
れている。ヘッダ20の構成の詳細については、第2図
に示されており、以下に述べられる。インデックスブロ
ック30の詳細については第3図に述べられており、以
下に説明される。データブロック40の詳細については
第4図に示されており、以下に説明される。
第2図には、ヘッダ20内の2進データの組織が示され
ている。第2図に示されるように、ヘッダ20は、本明
細書に於て以下ブロックセグメントと呼ばれるブロック
状に配置されている4つの基本成分を有している。これ
らのブロックセグメントはまた、当業者によってフィー
ルドと呼ばれることもある。これらのブロックセグメン
トは、情報がブロックのメモリに記憶されている組織即
ち順序を表わしている。ブロックセグメント21は2バ
イト即ち全部で16個の2進ビットを含んでおり、この
ブロックセグメント21は関連バイトブロックのメモリ
に記憶されている8ビットバイトの数を示す2進数を記
憶するのに用いられる。
これは本質的に、このシステムにこのブロックがどの位
−ばいになっているかを示している。これは、このシス
テムがブロックの空のバイト中のゼロを読み出して2進
語な有する情報と解釈しないようにするためである。全
てのゼロがブロックセグメント21に記憶されると、デ
ィスクファイル管理システムに、このブロックはその中
に何も記憶していない[空いて」いるブロックであるこ
とを示す。インデックス又はデータ情報を表わす2進情
報の後続の記憶のために1つの「空き」ブロックが用い
られる。ブロックセグメント21に記憶されているこの
2つの8ビット2進語がそこに記憶されている全てのゼ
ロ以外のものを有する時は、このシステムは、このブロ
ックがインデックス又はデータ情報の記憶のために用い
られていることを知り、この場合は、このブロックに記
憶されているバイト数以外のその中に記憶された2進数
からの情報を得る。上に述べた目的のために最高順位ビ
ットの16ビットが用(・られる。この最高順位のビッ
トがゼロである時は、システムは、このビットが読み出
されるメモリのブロックがインデックスブロックである
ことを知る。同様にして、この最高順位のビットが1で
ある場合、システムは、このビットが読み出されるメモ
リのブロックがデータブロックであることを知る。
ブロックセグメント22はまた、2つのバイト、即ち全
部で16個の2進ビットを含んでおり、このブロックセ
グメント22は、このヘッダが記憶されているメモリブ
ロックの論理ブロック遂を示す2つの8ビット2進数を
記憶するのに用いられる。この論理ブロック数はディス
クメモリ86に於ける論理アビレスであり、この論理ブ
ロック数はメモリ中のブロックを突き止めるのに用いら
れる。次のブロックセグメント23は、2つの8ビット
バイト、即ち全部で16個の2進ビットを含んでおり、
このセグメント23は、メモリ木構造に於て同一レベル
にあるブロックのメモリの論理ブロック数を示す2進数
を記憶するのに用いられる。ヘッダ20中の最終のブロ
ックセグメントは、これもまた2つのバイト、即ち全部
で16個の2進ビットを含むブロック24であり、この
ブロック24は、関連メモリ木構造に於て同一レベルに
あるメモリの前のブロックの論理ブロック数を示す2進
数を記憶するのに用いられる。ヘッダが取り付けられて
いるメモリ86のブロックが同一レベルにある第1ブロ
ツクである場合、ブロックセグメント24には全てのゼ
ロが記憶されている。
そうでない場合は、同一レベルにあるメモリの先行する
ブロックの論理アドレスである2進数がそこに記憶され
る。メモリ86に於けるデータの記憶に関する木構造に
於ける「レイル」の概念は、第7図の説明によって更に
理解される。今述べたヘッダ20は、ハート9デイスク
メモリ86に於けるメモリのブロックに記憶される2進
語のグループに構成するためにインデックス情報又はデ
ータ情報の前端に予め固定される。
第3図には、4つのブロックセグメントからなるインデ
ックスブロック30が示されている。ブロックセグメン
ト31.32及び33は、1つ以上のブロックのメモリ
に記憶されるドキュメントの識別を記憶するのに用いら
れる。しがし、この識別は圧縮された状態で記憶される
。ブロックセグメント31は、共通キー長と呼ばれ、ブ
ロックセグメント32は、非共通キー長と呼ばれる。多
数のドキュメントが記憶されているファイル中には、イ
ンデックスヘッダが英数字の順序で記憶されている。例
えば、「ワンド(WAND)Jと呼ばれるトゞキュメン
トが既にハードディスクメモリ86の与えられたファイ
ルに記憶されており、このシステムは、[ソング(WA
NG月と呼ば゛れる別のドキュメントを同一のファイル
に記憶しようとしていると仮定しよう。これらの2つの
ト5キュメントの各々の記憶は、インデックスヘッダ2
0をブロック30と共に且つデータヘッダ20をデータ
ノロツク40と共に記憶するための多数のメモリブロッ
クを必要とする。ディスクファイル管理システムは先ず
、記憶されるべき新しいト9キュメントの名称「ソング
」を見て次にこの「ワンド」ドキュメントのためのイン
デックスヘッダ及びブロックを突き止める。このシステ
ムは、最初の3つの文字WANがこれらの2つのドキュ
メントの間では共通であることを決定する。従って、こ
の「ソング」”ドキュメントに対するブロックセグメン
ト31は、先行する「ワンド」ファイルと共通する3つ
の文字[WANJを示す3の共通キー長をそこに記憶し
ている。非共通キー長と呼ばれるインデックスノロツク
30のブロックセグメント32には、「ワンド」 ドキ
ュメントと「ソング」 ドキュメントの間には1つの英
数字文字だけが異なっていることを示す2進数1が記憶
されている。次に、この1つの非共通文字rGJに対す
る2進法表示がブロックセグメント33に記憶される。
この様にして、ドキュメントの名称「ソング」が圧縮さ
れた状態で記憶され、従って、このシステムはメモリ8
6中のトゞキュメントを突き止めることができる。
インデックスブロック30中の4番目のブロックセグメ
ントは、次ブロック数?5:/Rルと呼ばれ、同一キー
(「ソング」)から始まる次の低いレベルのブロックの
論理ブロック数を示す。メモリ86に於けるデータの記
憶に関する木構造に於けるルベル」の概念は、第7図の
説明によってよりよく理解されよう。
第4図には、5個のブロックセグメント41乃至45か
らなるデータブロック40が示されている。ブロックセ
グメント41.42及び43は、1つ以上のブロックの
メモリに記憶されるドキュメントの識別を記憶するのに
用いられる。しかし、この識別は圧縮された状態で記憶
される。ブロックセグメント41は、共通キー長と呼ば
れ、ブロックセグメント42は非共通キー長と呼ばれ、
ブロックセグメント43は、非共通キー値と呼ばれる。
これらのブロックセグメントは、上のインデックスブロ
ック30の所で述べたブロックセグメントと同等である
ため、ここでは改めて述べることはしない。データ長と
呼ばれるブロックセグメント44には、この特定のデー
タブロック40に記憶されているドキュメントの1部あ
るいは全てを表わしているデータの2進語の数を示す2
進数が記憶されている。ブロックセグメント45には、
2進形式でト9キュメントの全て又は1部分を表わして
いる実際のデータが記憶されている。以下に更に詳しく
述べる理由によって、ブロックセグメント45に記憶さ
れている2進情報は基本的に二重に記憶されている。即
ち、データがディスクメモリから読み出されて編集され
る時は、ブロックセグメント45の半分から読み出され
て、次に編集され、次にブロックセグメント45の他の
半分に戻されて記憶される。データが読み出されて例え
ば編集される毎に、このデータが読み出されるブロック
セグメント45の半分は交代する。斯くして、このデー
タの直前のデータはシータの損失に備えて節約され、こ
れによりデータの全損失が防止される。前に述べたよう
に、メモリの1つのブロックに於ける全ての8ビットバ
イトは満たされない。これが、データブロック40の前
端に付けられているヘッダ20のブロックセグメント2
1に2進数、即ち″ブロック中の使用バイトの数′″を
記憶することの目的である。
このディスクファイル管理システムはまた、ディスク上
の全てのメモリブロックを追跡してそれらがファイルに
割当てられているが否か及びそれらがインデックス、デ
ータブロックあるいは空きブロックであるかを記憶する
という管理タスクを有している。更に1デイスク上の各
ファイルに関する管理情報も記憶される。これらの管理
機能は、それ自身のVTOC(Volume Tabl
e Of Contents )ファイルを用いるディ
スクファイル管理システムによって達成される。第5図
、第6図及び第7図は、このVTOCファイルの組織を
示しており、これらの図面は以下に詳しく説明される。
ディスクファイル管理システムに於て、VTOCファイ
ルは前に述べた管理機能を達成する上で用いられるメモ
リの多数のブロックである。これらのブロックはインデ
ックス、データあるいはフリディプロック(buddy
 block )構成に全て組織される。このバブイノ
ロック構成の場合、1つのインデックスブロックあるい
はメモリブロックの内容は本質的に二重にされ、隣接の
メモリブロックに記憶される。VTOCファイル中のバ
ブイブロックのメモリがアクセスされると、記憶された
情報即ちデータはこのバブイノロックの最初の512バ
イト部分から読み出され、編集等の処理をされ、修正さ
れた新しい情報即ちデータは次にメモリ中の同一のバブ
イブロック対の第2の512バイトブロツクに記憶され
る。この時点に於て、前の情報即ちデータは、このバブ
イノロックの最初の部分にあり、新しい情報即ちデータ
はこのバブイノロックの第2の部分にある。情報即ちデ
ータが読み出されて編集あるいは更新される次の時点で
は、この情報即ちデータはこのバブイブロックの第2の
部分から読み出され、更新された後、このバブイノロッ
クの最初の部分に記憶される。どの時点に於てもシステ
ムがクラッシュし且つ読み出されているあるいは読み出
されて来たデータが損失を得けるかあるいは破壊される
場合、少なくとも前の情報即ちデータは依然として存在
する。
データブロックを用いてVTOCファイルに記憶される
管理データ・レコードには5つの型がある。
それらは、1.使用可能インデック玉・レコード、2 
空きエクステント・レコニド、3 使用されたエクステ
ントデータ・レコード、4 連鎖レコード、及び5.属
性データ・レコードである。これらのデータ・レコード
は各々、これらのブロックが読み出される時にディスク
ファイル管理システムに上に挙げられた型のブロックを
示す識別子をデータブロックに記憶している。
前に述べたようく、VTOCファイルを誉む・・−ドデ
ィスクメモリ上の全てのファイルは、このファイルにデ
ータ/情報を記憶するのに用いられる割当てられた51
2バイトブロツクのメモリを有しており、各ファイル中
の割当てられたメモリの空いている即ち未使用のブロッ
クのリストが、データ即ち情報をファイルに記憶するの
に必要になる時に、この割当てられたメモリのブロック
を選択し且つ突き止める目的のために維持される。
VTOCに割当てられた空いている即ち未使用メモリブ
ロックのリストは以下に詳細に述べられるブータブロッ
クインデックス60 a、  60 bに維持される。
VTOCファイル以外のもの九割当てられたブロックの
メモリに対しては、記録は以下により詳細に述べられる
使用されたエクステントデー−タ、レコードに維持され
る。
VTOCファイル中の1つのブロックのメモリが使用可
能インデックスレコードであることをこのシステムが知
るためには、使用可能インデックス・レコードゝのデー
タブロック40のブロックセグメント41.42及び4
3に記憶されている「キー」は次のように構成される。
この「キーJは値X(01であり、この後に開始インデ
ックス番号が続く。このX (01は、このブロックが
VTOCファイル中で得られるインデックス・レコード
であることをこのシステムに系し、これに対して、開始
インデックス番号は、ファイル管理システムにファイル
識別名に割当てられ得る範囲の数の初めを示す。
即ち、1つのファイルのASCII識別名にはVTOC
ファイルシステムに用いられた数値識別名が割当てられ
る。
ファイル管理システムはまた。VTOCファイルを含む
如何なるファイルにも割当てられなかった空いている即
ち未割当ブロックを追跡する。これは、ディスクファイ
ル管理システムが空いているメモリブロックを突き止め
てこの空きメモリブロックを、ブロックをもつと必要と
し自動的にこれを要求する如何なるファイルにも割当て
ることかできるようにするように行なわれる。この空き
メモリブロック即ち未割当メモリブロック情報は、空き
エクステント・レコード9を用いてVTOCファイル中
に維持される。実際のオRレーションの場合は、この空
いている即ち未使用ブロックのメモリは隣接ブロックの
可変サイズ・グループ中のメモリに位置する。隣接メモ
リブロックの斯かるグループの各々には空きエクステン
ト・レコードが用いられる。VTOCファイル中のメモ
リの1ブロツクが空きエクステント・レコードであるこ
とをこのシステムが知るためには、データブロック40
のブロックセグメン)41.42及び43に記憶されて
いる「キー」は次のように構成される。この「キー」は
、値X゛02であり、開始ブロック番号が後に続く。こ
のXO2は、このブロックが空きエクステント・レコー
ドであることをこのシステムに示し、これに対し、この
開始ブロック番号は、この空きエクステント・レコード
が関連する隣接メモリブロックの範囲に於けるメモリの
渚初のブロックのメモリ中の論理ア]・9レスをファイ
ル管理システムに示す。このXO2型「キー」に於ける
開始ブロック番号は、ブロックセグメント41゜42及
び43の所で前に述べたように更に圧縮される前に本発
明の教示に従って初期的に圧縮され得る。XO2型空き
エクステント・レコードのデータブロック40のブロッ
クセグメント44にはある数が記憶されており、この数
の値は、同一のデータブロックのブロックセグメント4
5に記憶されているデータの量をシステムに示す。この
ブロック数は、このデータブロックのブロックセグメン
ト45に記憶されている数であり、この数は、この「キ
ー」に於て識別された空きブロックの範囲即ちエクステ
ントに於ける最初の空きメモリブロックの論理アドレス
に続くメモリブロックの範囲に於けるメモリの空きブロ
ックの数をこのシステムに示す。このようにして、空き
エクステント・レコードによって識別されたブロックの
範囲即ちエクステントに於けるメモリの、最後の使用可
能ブロックが決定可能である。インデックス記録に於て
識別されたメモリの幾つかが使用されるために選択され
た後データブロックセグメント45に記憶されている数
はこの空きエクステント・レコードによって網羅される
残りの空いているメモリのみを反映するように変化する
。ブロックセグメント45に於ける使用可能数もまた本
発明の教示に従って圧縮され得る。
使用されたエクステント・データ・レコー白ま、ハード
ディスクメモリに於て論理的に互いに隣接している且つ
VTOCファイルを除くこのディスク上の任意のファイ
ルに於けるメモリブロックとして実際に用いられている
メモリブロックのエクステント即ち範囲に関する情報を
記憶するのに用いられる。この型の記憶に対する「キー
」は、値X03であり、この後にファイル識別及びエク
ステント識別が続く。このXO3は、VTOCファイル
を含むこのディスク上の任意のファイルに於けるインデ
ックス即ちデータブロックとして実際に用いられている
メモリブロックのエクステント即ち範囲に関する情報を
記憶するためにこのブロックが用いられることをこのシ
ステムに示す。このファイル識別は、このファイルを識
別する数即ち、このファイルのメモリブロックの範囲は
識別されたファイルと関連しており、使用可能インデッ
クス・レコードから得られ、連鎖レコードに記憶される
。エクステント識別もまた、識別されたファイル内のメ
モリブロックの範囲即ちエクステントの1つの数をこの
システムに示す数である。即ち、各ファイルに於けるメ
モリブロックの各範囲即ちエクステントは、エクステン
ト識別である別々の数を有している。1つのファイル中
に5つの範囲即ちエクステントがある場合、そのファイ
ルに対しては5つの使用済エクステント・チーターレコ
ードゞがあり、その各々は「キー」のエクステント識別
部に記憶された数1乃至5を有している。任意のファイ
ル中の隣接するメモリブロックの範囲即ちエクステント
の合計の数は、本明細書に於て更に述べられるようにこ
の管理記録のどこか他に記憶される。このXO3記録「
キー」に於けるファイル識別及びエクステント識別は、
プロックセグメン)41.42及び430所で前に述べ
たように更に圧縮される前に、本発明の教示に従って初
期的に圧縮され得る。1つの使用されたエクステント・
レコードゞのデータブロック40のブロックセグメント
44に記憶された数は、開始ブロック、及びブロック数
を記憶するブロックセグメント45に記憶されている情
報の量を示す。この開始ブロックは、この使用されたエ
クステント・レコードに関連するメモリブロックの範囲
即ちエクステントに於ける最初の使用ブロックのメモリ
の論理アドレスをこのシステムに示す数であり、このブ
ロック数は、このシステムがこの範囲に於ける全てのブ
ロックの論理アドレスを決定できるようにするために、
このメモリに於て互いに隣接しているブロックの範囲即
ちエクステントに於けるメモリブロックの数を示す数で
ある。今述べた開始ブロック及びブロック数もまた本明
細書に教示されるように圧縮され得る。
連鎖レコードは、データブロックに記憶される第4の型
のレコードであり、この記録は、ファイル名、ライブラ
リ記録に関する識別情報及びファイル名、ライブラリ記
録に関する連鎖情報を記憶するのに用(・られる。即ち
、上記の各々のASCII名と識別数の間には対応があ
り、この数がファイル、ライブラリ及びドキュメントを
識別するために全てのVTOC記録にわたって使用され
る。ファイル又はライブラリあたりこれらの連鎖レコー
ドが1つ存在する。この型の記録に対するキーは、XO
4であり、この後にノートゝ識別及びノード名が続く。
この値XO4は、それが連鎖レコードであることをこの
システムに示している。ノード識別は、記憶されたドキ
ュメントがその一部であるライブラリを識別する数であ
る。ドキュメント、がライブラリに記憶されていない場
合、ゼロがここに入る。このXO4記録「キー」に於け
るノード識別は、ブロックセグメン)41.42及び4
30所で前に述べたように更に圧縮される前に、本発明
の教示に従って初期的に圧縮され得る。ノート5名は、
この連鎖レコードが関連するファイル、ライブラリ又は
ドキュメントのASCI工名である。
前に述べたように、このデータブロックのブロックセグ
メント44には、同一ノロツクのブロックセグメント4
5に記憶されているデータの長さを示すデータ・レング
ス数が記憶されている。ブロックセグメント45に記憶
されているデータ自身は、1つの数を上記のASCII
識別に等しくするのに用いられる。ブロックセグメント
45に記憶されているデータは、1つのプレフィックス
(接頭部)であり、この後に、ディレクトリ識別あるい
はファイル識別が続(。このプレフィックスは、この連
鎖レコードゝがライブラリに割当てられている場合はX
00であり、連鎖レコードがファイルに割当てられてい
る場合&JXO1である。このX00あるいはXOIの
どちらかの後には、上記のようにこのシステムによって
ASCII名称に等しくされる割当てられた数が続く。
現時点に於てこのライブラリあるいはファイルをディス
クファイル管理システムに対して識別する割当て数は、
属性又は範囲/エクステント記録に連鎖するのに用−・
ラレ、且つ次のレベルのエレメントの位置を突き止める
のに用いられる。この記録には、後方の連鎖は何も記憶
されておらず、後方連鎖は、必要に応じてシステムによ
って引き出される。この識別数は、使用可能インデック
ス・レコードから割当てられる。データブロック中のデ
ィレクトリ識別及びファイル識別もまた本発明に従って
圧縮され得る。
第5の型のデータ・レコードは、属性データ・レコード
9であり、このデータ・レコードはデータブロックのキ
一部に於て識別されるファイル又はライブラリの属性情
報を記憶するのに用いられる。
ファイル、ライブラリ及びドキュメントに関する管理情
報、例えば、ファイルの作成者の識別、保護のクラス、
作成された8附、修正された8附、ファイルに於て用い
られるメモリブロックの数、及びファイルに於ける使用
可能メモリブロックの数は、この型のデータ・レコード
・ブロックに記憶される。この型のデータレコード8の
キーには、値XO5があり、この後にはディレクトリ識
別あるいはファイル識別のどちらかが続き、次に属性識
別が続く。このディレクトリ識別は、前に述べた連鎖レ
コードに於ける同一名のフィールドに割当てられ且つ入
力されたものと同一の数であるディレクトリ識別数ある
いは、前に述べた連鎖レコードに於ける同一名のフィー
ルビに割り当てられ且つ入力された同一数のファイル識
別数からなる。
このXO5キーに於て、ディレクトリ識別あるいはファ
イル識別及び属性識別は、前もって圧縮され、次にブロ
ックセグメント41.42及び430所で前に述べたよ
うに圧縮される状態で更に圧縮され得る。ブロックセグ
メント44に記憶されているデータ長はデータブロック
のブロックセグメント45に記憶されているデータの長
さである。
ノロツクセグメント45には、この属性データ・レコー
ド9が関連するファイル、ライブラリィあるいはドキュ
メントに関する、上記及びその他の属性を識別する数で
ある属性値が記憶されている。
この属性値情報も本明細書に教示されるように本発明を
用いて圧縮可能である。
第5図には、本明細書において前記した)?ディ・ブロ
ック対のオはレーションを示す制御ブロック50が示さ
れている。前に述べたように、バデイ・ブロックを用い
ると、ディスクファイル管理システムの管理情報の損失
に対するシステムクラッシュM岬が行なわれる。ブロッ
ク60,53゜54及び55は、バデイ・ブロックとし
て用いられ、従って、ブロック60a及び60b、53
a及び53b、54a及び54b並びに55a及び55
bとして示されている。このバブイブロック構成の場合
、1つのメモリブロックの内容は、完全に複写されてお
り、別のメモリブロックに記憶されている。
第5図のバデイ・ブロック54及び550間の破線は、
ディスクファイル管理システムの要求に応じて、多数の
バディ・ブロック1乃至nが存在することを表わしいて
る。使用され得るバディ・ブロックの正確な数は、ブロ
ックセグメント51に記憶されるバブイブロックマツプ
内のビットの数によって制限されるだけである。このバ
ブイブロックマツプは次のパラグラフに述べられる。バ
ブイブロック53.54及び55として用いられるメモ
リのブロックは、必ずしもハードディスクメモリ86に
於て互いに隣接して記憶されず、且つ、ブロックセグメ
ント51及び52に用いられるメモリのIKブロックに
隣接して記憶される必要はない。ブロックセグメント5
1乃至55並びに60は、ハート9デイスクメモリ86
上のどこにあってもよい。更に、全てのバブイブロック
は、データ記憶に現在用いられていないデータブロック
、インデックスブロックあるいは空きブロックであり得
る。全てのバブイブロックは、制御ブロック50によっ
て表わされるように論理的にのみ関連している。
ブロックセグメント51は、メモリの512バイトのブ
ロックであって、VTOCファイルに管理情報を記憶す
るバブイブロックとしてディスクファイル管理システム
によって用いられるメモリの各IKブロックに対する1
つの2進ビットを含むバブイブロックマツプとして用い
られる。バブイブロック対の最初のブロックである、メ
モリの1つのブロックが最近書き込まれた部分である時
は、このブロックマツプに於ける関連ビットは、「1」
をその中に書き込んでいる。ここで銘記されるように、
バブイブロックは1グループとして更新され、このバブ
イブロックマツプ自体は、一連の記録更新の後にのみ更
新される。1つのバブイブロック対の第2ブロツクが最
近書き込まれた部分である時は、このバブイブロックマ
ツプに於ける関連ビットは「0」をその中に書き込んで
いる。ノミディブロックを読み出す前に、ディスクファ
イル管理システムは最初にブロックセグメント5]に於
けるバブイブロックマツプを調査し、このバブイブロッ
ク対のどのブロックが最新の形の記憶データを有してい
るかを決定し、次にこの最新データを読み出す。読み出
されたデータが編集されあるいは他の処理を施された後
、このデータは上記のようにこのバブイブロック対の他
のノロツクに戻って復元する。このバブイブロックマツ
プは、更新され、前のゼロは1に変化する。あるいはそ
の逆も同じである。このようにして、このシステムは常
に、1つのバブイブロック対のどの部分が読み出される
べき最新の材料を有しているかを知る。システムクラッ
シュがある場合は、データの完全な損失はない。管理デ
ータの任意のデータの前の形は常に、バブイノロックの
他方の部分に於て使用可能である。
制御ブロック50に於けるブロックセグメント60a及
び60bは、バブイブロック対であり、その中には、第
6図に於て更に詳細に示され且つ次のパラグラフに於て
より詳細に説明されるブロックインデックスが記憶され
ている。前に述べられたように、バブイブロック1乃至
nを表わすブロックセグメント53乃至55はインデッ
クスブロック及びデータブロックとして用いられ、ある
いは管理情報の記憶にまだ用いられていない空きブロッ
クであり得る。
第6図には、VTOCファイルメモリブロックを追跡す
る管理タスクのためにディスクファイル管理システムに
よって用いられるブロックインデックス60が示されて
いる。ブロックインデックス60を用いて達成される1
つの主な管理タスクは、VTOCファイルに於いて空い
ている即ち使用可能フロックのメモリの数を追跡するこ
とにある。更に、ハードディスクメモリ86上の各ファ
イルに関する管理情報は、第5図に於てブロックセグメ
ント53乃至55として示されているバブイブロックl
乃至nに記憶されている。第6図に於て、ブロックセグ
メントは表示を簡単にするために二列で示されている。
ブロックインデックス60のブロックセグメント61は
、それがVTOCファイルの一部であることを識別する
ためにエントリr]107VTOCJを含んでいる。ブ
ロックセグメント62は、「バージョン数」と呼ばれ、
ディスクファイル管理システムの現在のバージョンを識
別するエントリを含んでいる。ブロックセグメント63
は、「ファイル中のブロックの数」と呼ばれ、現在VT
OCファイルに割当てられてt・るディスク上のメモリ
ブロックの数を識別する数を含んでいる。ブロックセグ
メント64は、[マツプ中のビットの数」と呼ばれ、ブ
ロックセグメント51に於けるバブイブロックマツプの
メモリのビット数を示す数を含んでいる。この数は、各
バブイブロック対がこのバブイノロックマツプの中に1
ビットを有していなければならな℃・ためにVTOCフ
ァイルに割当てられ得るバブイブロック対の最大数を示
している。
ブロックセグメント65は、[バブイブロックの数」と
呼ばれ、その中には、インデックス即ちデータ情報の記
憶のためにまだ用いられていないVTOCファイルに割
当てられたハードディスクに於ける、空い−(いる即ち
使用可能メモリブロックの数を示す数が記憶されている
。VTOCファイルに割当てられた空きブロックが用い
られると、ブロックセグメント65に記憶された数が更
新され、これによりVTOCファイル中の空きメモリブ
ロックの現在の数を正しく反映する。ブロックセグメン
ト66は、「拡張されたブロック・サイズ」と呼ばれ、
この中には、このファイルがそれに割当てられたメモリ
の未使用のブロックの殆んど全てを使用しそうになった
時、ハードディスクメモリ86上のVTOCファイルに
加えられるべき、如何なるファイルにも割当てられてい
ないメモリの未使用ブロックの数を示す数が記憶されて
いる。これは、このファイルが満たされる時にバー1デ
イスクメモリ86におけるVTOCファイルのサイズの
自己拡張に用いられる。ブロックセグメント67は、[
第1データブロツクのブロック数」ト呼ばれ、データを
記憶するのに用いられるVTOCファイルに於ける最初
のバブイブロック対の位置を識別する論理アドレスであ
る。これは、第5図のバブイブロック53乃至55の1
つである。ブロックセグメント68は、1第1空きブロ
ックのブロック数」と呼ばれ、VTOCファイルにイン
デックス即ちデータを記憶するのに未使用のVTOCフ
ァイルに於ける最初の空きバブイブロック対の位置を識
別する論理アドレスである。VTOCファイルに於ける
これらの空きブロックは、最初の空きブロックのアト9
レスを用いて、このシステムが全ての空きブロックを見
い出すことができるように共に連鎖される。ブロックセ
グメント69は、「最後の空きブロックのブロック数」
ト呼ばれ、VTOCファイルにインデックス即ちデータ
を記憶するのに未使用のVTOCファイルに於ける最後
の空きバブイノロック対の位置を識別する論理アドレス
である。ブロックセグメント69には、ファイルに割当
てられるように使用可能なブロックの範囲の最後のブロ
ック数が記憶されている。ブロック68及び69に記憶
されている数によって、ているかを知る。ブロックセグ
メント91は、「ファイルに於けるインデックスレベル
の数」と呼ばれ、VTOCファイル構造に於けるインデ
ックスレベルの数を識別する数である。これは第7図を
見るとよく理解される。第7図は、VTOCファイルに
於けるインデックスブロック及びデータブロックの例示
的な組織を示している。1つのブロックメモリから読み
出されたデータをインデックス又はデータであると正し
く解釈するためにインデックスブロックのレベルが幾つ
あるかをディスクファイル管理システムが知るために、
この情報がディスクファイル管理システムに必要になる
第7図には、二列のインデックスブロックがアル。
第10)列、即ち上の列は根インデンクス記憶ブロック
11を示し、これに対して2査目の即ち中間列は、2つ
のインデックス記憶ブロック12を示している。第1即
ち根レベルを除(木構造の各レベルには2つより多いブ
ロックが存在し得る。
この根インデックス記憶ブロックは、計数されず、従っ
て斯かる例に対してブロックセグメント91に記憶され
る数は数1である。根インデックス記憶ブロックを含む
3列のインデックスブロックがあった場合は、数2が第
6図のフロックセグメント91に入る。初期的には、即
ちVTOCファイルが大きくなる前には、根インデック
ス記憶ブロックIILかなくインデックス記憶ブロック
12は存在せず、従ってブロックセグメン)91に於け
る数は上に与えられた例につきゼロとなる。
第6図に於けるズロックインデックス6oの残りのブロ
ックセグメントは、各々2つのブロックセグメントから
なる組にまとめられる。ブロックセグメント対92及び
93、あるいは94及び95は実例であり、反復される
。即ち、バブイノロック対あるいはバブイブロックマツ
プが記憶されているメモリのブロックの各エクステント
即ち範囲に対しては一対となっている。各対のプロック
セク゛メントリ最初のブロックセグメント92あるいは
94は「アドレスエクステントの最初のブロック」と呼
ばれ、その中には、バブイブロックマツプ及びバブイブ
ロック対が記憶されている隣接ブロックのメモリのエク
ステント即ち範囲のハードディスクメモリ86に於ける
開始論理アドレスが記憶されている。ブロックセグメン
ト93及び95は[アドレスファイルの長さ」と呼ばれ
、ブロックセグメント92及び94の関連対に於けるア
ドレスから開始するバブイブロックとして用いられる隣
接メモリブロックのエクステント即ち数を記憶するのに
用いられる。VTOCファイリング構成にはこれらのブ
ロックセグメント対が64エクステントまで存在する。
第7図には、VTOC7アイリング構成に於けるインデ
ックスレコードゞとデータ・レコードとの相関関係及び
連鎖が示されている。これは基本的な木記憶構造である
。これらの記録は、ヘッダ20、インデックスブロック
30、及びデータブロック40からなっている。これら
のものは全て前に述べられており、これらのインデック
ス・レコードゝ及びデータ・レコードを形成するための
基本的なエレメントである。木のトップには、根インデ
ックス記憶ブロック11がある。VTOCファイルに於
ける任意のものを探紫するにあたり、ディスクファイル
管理システムはブロック11から開始しなげればならな
い。最も単純な形の場合、根インデックス記憶ブロック
11は、1つのメモリ記憶ブロックに於けるヘッダ20
及び1つのインデックスブロック30からなる。これは
このブロックのメモリを満たさないので、第7図に示す
ようなインデックスブロック30を1つ以上加えて拡張
する余裕がある。この最も単純な例の場合、ブロック1
1に於けるヘッダ20のブロックセグメント23及び2
4は、インデックスブロックが1つだけしかないためそ
こにゼロを記憶しており、木構造に於てそれと同一レベ
ルにある他の論理ブロックはあり得ない。ブロック11
に於けるインデックスブロック30のブロックセグメン
ト34に記憶された論理アドレスは、第7図に示すよう
な木構造に於ける第2層にある別のインデックス記憶ブ
ロック12の代わりに、第7図の1つのデータ記憶ブロ
ック13に直接指し示している。データ記憶ブロック1
3の数が大きくなると、中間インデックス記憶ブロック
]2が必要になり、根インデックス記憶ブロック11内
のインデックスブロック30に於けるブロックセグメン
ト34に記憶されている「次のブロック数−下位しRル
」はこの最初の中間インデックス記憶ブロック12の論
理ア1’レスを有する。
中間インデックス記憶ブロック12の構成は、根インデ
ックス記憶ブロック110)構成と類似している。第2
図に示された型及び本明細書に於て前に述べられた型の
ヘッダ20が存在し、第3図に示された同−型及び本明
細書に於て前に説明された同−型の多数のインデックス
ブロック30が存在する。第7図に示す各データ記憶ブ
ロック13に対しては中間しRルインデックス記憶ブロ
ック12に於てインデックスノロツク30が存在する各
中間レベルインデックス記憶ブロック12は、1つのブ
ロックのメモリであり、そのメモリのブロックを使いき
るまでヘッダ20及び多数のインデックスブロック30
を記憶することができる。
この後、データブロック40が更に形成されると、その
メモリのブロックを使いきるまで多数のインデックスブ
ロック30を他にまた取り扱うことのできる第2の中間
レベルインデックス記憶ブロック12が必要になる。し
かしながら、第2の中間レベルインデックス記憶ブロッ
ク12に対しては、第7図に示すように別のインデック
ス3oが1ブロツクBに対するインデックス」として根
インデックス記憶ブロック11に必要になる。各々の付
加的な中間レベルインデックス記憶ブロック12に対し
ては、ブロック110)構成要素であるブロックのメモ
リが満たされるまで別のインデックス30が根インデッ
クス記憶ブロック11に必要になる。中間レベルインデ
ックス記憶ブロック12の場合、その中の各インデック
スブロック30(1,2乃至n)に於て、1次のブロッ
ク数−下位レベル」と呼ばれるブロックセグメント34
は、第7図に示すように関連のデータブロック40を指
し示している論理アドレスをそこに記憶している。例え
ば、インデックス記憶ブロックA(12)に於けるイン
デックスブロックn(30)Gi、データ記憶ブロック
(13)に於けるデータブロックn(40)のインデキ
シングを与えている。各データ記憶ブロック13も、メ
モリの1つのブロックであり、満たされると、別のデー
タ記憶ブロック13が更に記憶されるために必要となる
。各後続のブロック13は、前のブロック13と後続の
ブロック13に連鎖される。
VTOCファイルメモリ木構造が第7図に示す例示的な
形である時、2つのインデックス記憶ブロック(12)
即ち、ブロックA及びBが存在する。
これらはこの木構造に於て同一中間レベルである。
更に、第7図に示すように、6つのデータ記憶ブロック
13が存在する。尚、この内3つは1つのインデックス
記憶ブロック12に関連し、他の3つは他方のインデッ
クス記憶ブロック12に関連している。これらの6つの
データ記憶ブロック12は、全て記憶木構造に於て同一
の下位レイルにある。1つより多いメモ°リブロックが
木構造の中間レベル及び下位レベルの各々にあるため、
これらのブロックの水平連鎖が必要になる。この水平連
鎖は、インデックス記憶ノロツク12とデータ記憶ブロ
ック13の両方の先頭にあるヘッダ20によって行なわ
れる。あ2図を見ると、インデックス記憶ブロックA 
(12)の先頭にあるヘッダ20は、「同一レベルにあ
る次のブロックの論理ブロック数」と呼ばれるブロック
セグメント23と「同一レベルにある前のブロックの論
理ブロック数」と呼ばれるブロックセグメント24を有
している。第7図に示す木構造に於ける中間レベルの場
合、インデックス記憶ブロックA (12) Vc於ケ
るヘッダ20のブロックセグメント23は、インデック
ス記憶ブロックB (12)に対する論理ブロック数を
そこに記憶している。前のインデックス記憶ブロック1
2が存在しないため、インデックス記憶ノロツクA (
12)に於けるヘッダ2oのブロックセグメント24に
は全てのゼロが記憶される。斯くして、インデックス記
憶ブロックA(12)は水平レベルに於て前方にインデ
ックス記憶ブロックE (12)と連鎖される。
同様にして、インデックス記憶ブロックB(12)は、
後方にインデックス記憶ブロックA (12)に対して
連鎖されるが、後続のブロック12が存在しないため前
方には連鎖されない。より詳細に説明すると、インデッ
クス記憶ブロックB (12)に於けるヘッダ2oのブ
ロックセグメント23は、第7図に次の即ち後続のブロ
ック12が存在しないためそこに全てのゼロを記憶して
いる。しかしながら、インデックス記憶ブロックB (
12)に於けるヘッダ2oのブロックセグメント24は
、後方連鎖を達成するためにインデックス記憶ブロック
A (12)の論理アドレスをそこに記憶している。
斯くして、インデックス記憶ブロックB (12)は、
水平レベルに於て後方にインデックス記憶ブロックA 
(12)に対して連鎖される。
第7図に示される木構造の底のレベルに於て、全てのデ
ータ記憶ブロック】3は、インデックス記憶ブロックと
同じように前方に及び後方に連鎖される。データ記憶ブ
ロック13に対しては既に述べられているため詳細には
立ち入らないが、データブロック1 (50)は、後方
連鎖を有しておらず、しかしデータブロック2 (40
)に対して前方に連鎖される。データブロック2 (4
0)は、データブロックn (40)に対して前方に且
つデータブロック1 (50)に対して後方に連鎖され
る。最後に、データブロックn (40)は、前方には
連鎖されないが、データブロック2 (40)に対して
後方に連鎖される。データブロック1,2.及びnは、
データブロックn+1.n+2.及びn十xに対しては
全熱連鎖されない。データブロックn+1゜n+2.及
びn+xは今述べたように、同様にして前方及び後方に
互いに連鎖されるが、データ記憶ブロックl、2.及び
nに対しては連鎖されな()。
自己拡張ファイルの特徴を与えるためのディスクファイ
ル管理システムのオRレーションは、本明細書の説明の
各所に記載され、従っである特定の場所には集中されて
いない。従って、読者は本発明を完全に理解するところ
までは至っていないかもしれない。ここで、前に行った
説明から本発明の簡潔な復習を行うことにする。第6図
のブロックインデックス60のところでは、VTOCフ
ァイルの排他的使用に割当てられたメモリのノロツクの
合計数がブロックセグメント63に記憶されている状態
が述べられていた。ブロックセグメント65には、デー
タを記憶するのにまだ用いられていなかったVTOCフ
ァイルに於けるメモリのブロックの合計数が記憶されて
いる。これらの2つの数の差はデータを記憶するのに既
に用(・られているVTOCファイルに於けるメモリの
ブロックの数である。ブロックセグメント65に於て識
別された空きメモリブロックの数が所定数を下回ると、
ディスクファイル管理システムは、フロックセグメント
66に記憶された数をとり、これによりいかなるファイ
ルにも排他的に割当てられていなし・メモリのフロック
の量を得てそれらをVTOCファイルに於ける排他的使
用のために転送する。フロックセグメント63及び65
に記憶された数はこのようにして更新される。VTOC
ファイルにおける排他的使用又はその他ファイルに対し
転送するハードディスクメモリ86上の使用可能ノロツ
クを突き止めるために、ディスクファイル管理システム
は、これまで述べてきた空きエクステント・レコード8
であってその中に)・−トゝディスクメモリ86上のメ
モリの空きブロックの論理アトゞレス及び数量に関する
情報が記憶されている空きエクステント・レコードに進
む。VTOCファイル以外ノ以外ノルアイルては、各フ
ァイルに割当てられたIKメモリブロックの数及びデー
タを各ファイルに記憶するのに既に用−・られたメモリ
ブロックの数を含む各特定のファイルに関する情報が属
性データ・レコー1に記憶されている。これらの2つの
数の差は、各特定のファイルに割当てられた空きメモリ
ブロックの残りの数である。このシステムがVTOCフ
ァイルに割当てられた空きブロックの数も少なすぎると
決定すると、ファイルの自己拡張が開始される。属性デ
ータ・レコードには、そのメモリ容量が自己拡張される
時にファイルに加えられるべきメモリのブロックの数を
示す数も記憶されて〜・る。このシステムは、このエク
ステント数を用い、前に述べられた空きエクステント・
レコードに再び進み、如何なる特定のファイルにも排他
的に割り当てられて(・ない空きメモリブロックを識別
する。これらの空きブロックの特定の数は、拡張されて
いるファイルの排他的使用のために転送され、この空き
エクステント・レコードゝ及び属性データレコード9は
修正されて、特定ファイルの排他的使用のためのメモリ
のフロックの転送を反映する。
本明細書のあらゆる所に指摘されたように特定の情報即
ちデータが圧縮される。これらの例は、VTOCファイ
ルに於て用いられた5つの型のレコードで特に指摘され
た。先行技術に於ては、特定データを記憶するための与
えられた量のスペースが割当てられるのが一般的であり
、このス投−スの量は融通性のないものであるため、た
とえ全てのスペースが必要でなくても、残りのス樗−ス
が浪費される。従って、これらの硬直したブロックセグ
メントに記憶された2進情報を圧縮する実際の必要性は
何ら存在しない。本発明の技術を用(・ると、この浪費
されたスペースは最小化され、ブロックセグメントのビ
ット又はバイトのサイズは未使用メモリスは−スの量を
減らすために可変となっている。2進情報を記憶するの
に実際に必要となる食のメモリスイースのみが用いられ
て(・る。
本発明の教示に従ってvToC記録における圧縮を達成
するために、ディスクファイル管理システムは任意の種
類の情報を表わし得る、圧縮され且つ記憶されるべき2
進数を分析して、これにより4つの2進数のサイズの範
囲のどれにこの数が入るかを決定する。これらの範囲は
、ゼロ乃至63゜64乃至16447.1644乃至4
210751 。
及び4210752乃至1077952575となって
いる。更に、ディスクファイル管理システムは、この数
が入る上記の範囲に応じて、記憶されるべき情報から与
えられた数を減算する。ゼロ乃至63の最下位範囲に入
る、記憶されるべき小さい2進数字に対しては、この2
進数からゼロが引かれ、2つの数字OOがこの圧縮され
ない数の先頭に立つ。プレフィックス00を有する未圧
縮数は、次に8ビットバイトとして記憶される。後の時
間に於て読み出される際に、ディスクファイル管理シス
テムは先ず最初の2ビットを読み出し、それらが00で
あることからこの数が8ビットとして記憶されたことを
決定し、従ってそのまま読み出された2進数を即ちプレ
フィックス00が引かれた数を用いる。
64乃至16447の次の範囲に入る、記憶されるべき
少し大きい2進数字に対しては、数量64がこの2進数
字から減算され、これによりこれを圧縮し、2つのビッ
ト01が圧縮された数の先頭に立つ。このプレフィック
01を南する圧縮数は、次に2つの8ビットバイトとし
て記憶される。後の時点に於て読み出される際に、ディ
スクファイル管理システムは最初に、最初の2つのビッ
トを読み出し、それらが01であることからこの数が数
量64を減算することによって圧縮されたことを決定し
、次にこの数量64を読み出された数に戻して加えて、
これにより圧縮プロセスを逆に行なう。次にこのシステ
ムはプレフィック01を引かれた、圧縮を解かれた数を
用(・る。
16448乃至42]07510)次の範囲に入る、記
憶されるべき更に大きな2進数に対しては、量1644
8が2進数から減算され、これによりこれを圧縮し、2
つのビット10が圧縮数の先頭に立つ。このプレフィッ
クス10を有する圧縮数は次に3つの8ビットバイトと
して記憶される。後の時点に於て読み出される際、ディ
スクファイル管理システムは先ず最初の2つのビットを
読み出し、それらが10であることから数量16448
を減算することによってこの数が圧縮されたことを決定
し、次にこの数量を読み出された数に戻して加え、これ
によりこの圧縮プロセスを逆に行なう。次にこのシステ
ムはこのプレフィックスl。
を引いた圧縮を解かれた数を使用する。
4210752乃至1077952575の次の範囲に
入る、記憶されるように期待された最大の2進数に対し
ては、数量4210752がこの2進数から減算され、
これを圧縮し、2つのピッl−1]が圧縮数の前に置か
れる。このプレフィックス11を有する圧縮数は次に、
3つの8ビットバイトとして記憶される。後の時点に於
て読み出される際、ディスクファイル管理システムは先
ず最初の2つのビットを読み出し、それらが11である
ことから数量4210752を減算することによってこ
の数が圧縮されたことを決定し、次にこの数量を読み出
された数に戻して加え、これによりこの圧縮プロセスを
逆にする。次にこのシステムは、プレフィックス11を
引き圧縮を解かれた数を使用する。
上記の様式に従って、ハードディスクファイルシステム
はまた、ハート5デイスクメモリに記憶されるべき他の
(・かなる2進情報をも圧縮し、これによりそこに記憶
できる情報を最大化する。
今迄述べてきたのは本発明に係る好ましい実施例である
力瓢当業者にとっては、本発明の教示が本発明の精神及
び範囲から逸脱することなく多くの異なった方法で応用
できることが明白である。
【図面の簡単な説明】
第1図は、ディスクファイルシステムに情報を記憶する
ために用いられる一般的な記憶エレメントの全体の組織
図。第2図は、本発明を用(・ているディスクファイル
管理システムを実施するのに用いられる記憶エレメント
のヘッダに対する情報の組織図。第3図は、本発明を用
いているデイスクツアイル管理システムによって用いら
れるインデックス記憶エレメントのためのヘッダと結合
されるインデックスブロックの情報の組織図。第4図は
、本発明を用いているディスクファイル管理システムに
よって用いられるデータ記憶エレメントを構成するため
にヘッダと結合されるデータブロックのための情報の組
織図。第5図は、本発明を用いているディスクファイル
管理システムを表わす制御ブロック中の情報の組織図。 第6図は、本発明を用℃・ているファイル管理システム
によって用いられる制御ブロック中のブロックインデッ
クスの情報の組織図。第7図は、本発明を用いているフ
ァイル管理システム中のインデックスとデータ記憶ブロ
ックとの相関関係を示す図。第8図は、本発明を用℃・
ることかできるノ・−ドディスクメモリを含む計算機ベ
ースシステムの略ブロック図。 20・・ヘッダ”、21・・ブロック中の使用バイトの
数、22・・・このブロックの論理ブロック数、23・
・・同一 レベルにある次のブロックの論理ブロック数
、24・・同一しはルにある前のブロックの論理ブロッ
ク数、30・・・インデックスブロック又はデータブロ
ック、31・・・共通キー長、32・・・非共通キー長
、33・・・非共通キー値、34・・・次ブロック数下
位レベル、40・・データブロック、41・・・共通キ
ー長、42・・非共通キー長、43・・非共通キー値、
44・・・データ長、45・・データ、50・・・制御
ブロック、51・・・ハテイブロックマッフ、60・・
・ブロックインデックス、81.82・・・キーボード
付ビデオ端末装置、 83・・・プロセッサ、85・・
・メモリ、86・・ハートゞディスクメモリ、87・・
・フロッピィディスクユニット、88・・・プリンタ、
89・・・通信インターフェース。 (外5名)

Claims (1)

  1. 【特許請求の範囲】 1)任意の形のデータを表わす2進数をメモリに記憶す
    る前に上記2進数を圧縮するためにコンピュータシステ
    ムにおいて用いられる方法において、 圧縮され次に記憶されるべき第1の2進数の大きさが多
    数の連続している数のどの範囲に入るかを決定するため
    に上記第1の2進数の大きさを分析する工程と、 上記第1の2進数から第2の2進数を減算する工程であ
    つて、上記第2の2進数の大きさは上記第1の2進数の
    大きさが上記連続している数のどの範囲に入るかに依存
    し、上記第2の2進数の大きさは上記第1の2進数が入
    ると定められた数の範囲の中の最小数の大きさであり、
    上記減算の結果は上記第1の2進数より実質的に少ない
    ビットを有する第3の2進数であり、これにより上記第
    1の2進数のビットサイズの圧縮を達成する工程と、 記憶される第5の2進数を構成するために上記第3の2
    進数に第4の2進数を付加する工程であつて、上記第2
    の2進数の大きさを示すのに同一のものを用いている上
    記コンピュータシステムに上記第4の2進数が記憶され
    ている上記付加工程と、 を含むことを特徴とする上記方法。 2)上記第3の数が圧縮から解かれ、且つ 上記メモリから上記第5の2進数を読み出す工程と、 上記第5の2進数から上記第4の2進数を読み出してこ
    れから上記第2の2進数の値を求める工程と、 上記第1の2進数を得るために上記第3の2進数に上記
    第2の2進数を加算する工程と、を含むことを特徴とす
    る特許請求の範囲第1項に記載の方法。 3)第1の部分及び第2の部分を含む圧縮された2進数
    から、問題の第1の2進数を検索する方法であつて、上
    記第1の部分が圧縮を示す上記方法において、 上記の圧縮された2進数の上記第1の部分を読出す工程
    と、 上記の圧縮された2進数の上記第1の部分に応答する第
    2の2進数を調べる工程と、 問題の上記第1の2進数を得るために上記の圧縮された
    2進数の上記第2の部分に上記第2の2進数を加算する
    工程と、 を含むことを特徴とする上記方法。 4)第1の2進数から第2の2進数を減算して第3の2
    進数を得て、次に上記第2の2進数の値を示す2進ビッ
    トを上記第3の2進数に付加して、圧縮された形式にあ
    る上記第1の2進数である第4の2進数を得ることによ
    り、達成されたその圧縮された2進形式から第1の2進
    数を検索する方法において、 上記第4の2進数から上記の付加された2進ビットを読
    み出す工程と、 上記の付加された2進ビットに応答する上記第2の2進
    数を調べる工程と、 上記第1の2進数を得るために上記第3の2進数に上記
    第2の2進数を加算する工程と、を含むことを特徴とす
    る上記方法。 5)任意の形のデータを表わす第1の2進数を圧縮する
    ための方法において、 上記第1の2進数から第2の2進数を減算する工程であ
    つて、上記減算の結果は、上記第1の2進数より少ない
    ビットを有する第3の2進数であり、これにより上記第
    1の2進数のビットサイズの圧縮を達成する工程を含む
    ことを特徴とする上記方法。 6)上記第1の2進数を得るために、第5の2進数の一
    部である上記第3の2進数の圧縮を解くのに用いられる
    べき上記第2の2進数の値を示す第4の2進数を上記第
    3の2進数に付加して上記第5の2進数を構成する工程
    を更に含むことを特徴とする特許請求の範囲第5項に記
    載の方法。 7)上記第5の2進数の一部である上記第3の2進数は
    上記第1の2進数を得るために圧縮を解かれ、且つ 上記第5の2進数から上記第4の2進数を読み出し、こ
    れから上記第2の2進数の値を求める工程と、 上記第1の2進数を得るために上記第3の2進数に上記
    第2の2進数を加算する工程と、を含むことを特徴とす
    る特許請求の範囲第6項に記載の方法。 8)任意の形のデータを表わす第1の2進数を圧縮する
    ための方法において、 第2の2進数を用いて上記第1の2進数に数学的機能を
    実行する工程であつて、上記数学的機能の結果が、上記
    第1の数より少ないビットを有する第3の2進数であり
    、これにより上記第1の2進数のビットサイズの圧縮を
    達成する工程を含むことを特徴とする上記方法。 9)上記第1の2進数を得るために、第5の2進数の一
    部である上記第3の2進数の圧縮を解くのに用いられる
    べき上記第2の2進数の値を示す第4の2進数を上記第
    3の2進数に付加して上記第5の2進数を構成する工程
    を更に含むことを特徴とする特許請求の範囲第8項に記
    載の方法。 10)上記第5の2進数の一部である上記第3の2進数
    は上記第1の2進数を得るために圧縮を解かれ、且つ、 上記第5の2進数から上記第4の2進数を読出し、これ
    から上記第2の2進数の値を求める工程と、 上記第3の2進数の圧縮を解き、上記第1の2進数を得
    るために上記第2の2進数でもつて上記第3の2進数を
    数学的に演算する工程と、を含むことを特徴とする特許
    請求の範囲第9項に記載の方法。
JP60089859A 1984-06-28 1985-04-25 可変長ビット列生成装置 Expired - Lifetime JPH0827703B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/625,877 US4630030A (en) 1984-06-28 1984-06-28 Compression of data for storage
US625877 1984-06-28

Publications (2)

Publication Number Publication Date
JPS6115246A true JPS6115246A (ja) 1986-01-23
JPH0827703B2 JPH0827703B2 (ja) 1996-03-21

Family

ID=24507993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60089859A Expired - Lifetime JPH0827703B2 (ja) 1984-06-28 1985-04-25 可変長ビット列生成装置

Country Status (6)

Country Link
US (1) US4630030A (ja)
EP (1) EP0166936B1 (ja)
JP (1) JPH0827703B2 (ja)
AU (1) AU589354B2 (ja)
CA (1) CA1234633A (ja)
DE (1) DE3586447T2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644714B2 (ja) * 1985-02-16 1994-06-08 ソニー株式会社 コ−ド変換装置
GB8630887D0 (en) * 1986-12-24 1987-02-04 Philips Electronic Associated Encoding & displaying pictures
DE69023803T2 (de) * 1989-04-27 1996-08-08 Matsushita Electric Ind Co Ltd Daten-Kompandierungsverfahren und Daten-Kompressor/Dehner.
US5490260A (en) * 1990-12-14 1996-02-06 Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
JPH05207442A (ja) * 1992-01-30 1993-08-13 Matsushita Electric Ind Co Ltd 動画像信号の符号化装置
US5363098A (en) * 1993-10-25 1994-11-08 Digital Equipment Corporation Byte aligned data compression
JP3561002B2 (ja) * 1994-05-18 2004-09-02 富士通株式会社 ディスク装置
US5818368A (en) * 1997-04-18 1998-10-06 Premier Research, Llc Method and apparatus for lossless digital data compression
US6105076A (en) * 1999-04-23 2000-08-15 International Business Machines Corporation Method, system, and program for performing data transfer operations on user data
US6668092B1 (en) * 1999-07-30 2003-12-23 Sun Microsystems, Inc. Memory efficient variable-length encoding/decoding system
US6910214B1 (en) 1999-08-25 2005-06-21 International Business Machines Corporation Method, system, and program for converting an input parameter list into an output parameter list
US20030145199A1 (en) * 2002-01-31 2003-07-31 Miller Layne B. Data pool with validity detection
US7348903B2 (en) * 2005-09-26 2008-03-25 Samsung Electronics Co., Ltd. Method and apparatus for enhancing performance of entropy coding, and video coding method and apparatus using the entropy coding performance enhancing method
US20090210617A1 (en) * 2008-02-19 2009-08-20 Ibm Corporation Multi-level volume table of contents
US10296235B2 (en) 2016-06-27 2019-05-21 International Business Machines Corporation Partial volume reorganization to increase data availability

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3945002A (en) * 1974-10-25 1976-03-16 Bell Telephone Laboratories, Incorporated Block digital processor for use with nonuniformly encoded digital words
US4700360A (en) * 1984-12-19 1987-10-13 Extrema Systems International Corporation Extrema coding digitizing signal processing method and apparatus

Also Published As

Publication number Publication date
AU589354B2 (en) 1989-10-12
AU3950185A (en) 1986-01-02
EP0166936B1 (en) 1992-08-05
JPH0827703B2 (ja) 1996-03-21
DE3586447D1 (de) 1992-09-10
DE3586447T2 (de) 1993-03-18
EP0166936A3 (en) 1988-07-27
EP0166936A2 (en) 1986-01-08
CA1234633A (en) 1988-03-29
US4630030A (en) 1986-12-16

Similar Documents

Publication Publication Date Title
JPS6115243A (ja) メモリ割当て方法
US5819298A (en) File allocation tables with holes
US5813000A (en) B tree structure and method
US7496586B1 (en) Method and apparatus for compressing data in a file system
JP4034331B2 (ja) ディスク記憶装置への流れデータの記憶方法
US5649181A (en) Method and apparatus for indexing database columns with bit vectors
US7243110B2 (en) Searchable archive
JPS6115246A (ja) 可変長ビット列生成装置
US5678043A (en) Data compression and encryption system and method representing records as differences between sorted domain ordinals that represent field values
JPH0766347B2 (ja) データ・ベースにデータを記憶する方法およびデータ・ベース・システム
EP0798656A2 (en) File system level compression using holes
US8504541B2 (en) File management method
CN105027071B (zh) 管理对存储数据单元的操作
JP3416502B2 (ja) 配列維持方法
EP0627697B1 (en) Indexing/compression scheme for supporting graphics and data selection
US11663207B2 (en) Translation of tenant identifiers
US5481704A (en) Indexing/compression scheme for supporting graphics and data selection
KR102227912B1 (ko) 최적화된 데이터 콘덴서 및 방법
US5398335A (en) Virtually updating data records by assigning the update fractional addresses to maintain an ordinal relationship without renumbering original records
CN109582501B (zh) 文件恢复方法、装置、计算机设备及存储介质
JPS62287350A (ja) インデツクス一括更新方式
JP2001312517A (ja) インデクス生成装置及び文書検索装置
JPS595372A (ja) フアイル処理システム
JPH0785079A (ja) 情報ファイルの管理装置
CN115905259A (zh) 一种支持行级并发控制的纯列式更新方法及装置