JPS6115243A - メモリ割当て方法 - Google Patents

メモリ割当て方法

Info

Publication number
JPS6115243A
JPS6115243A JP60089858A JP8985885A JPS6115243A JP S6115243 A JPS6115243 A JP S6115243A JP 60089858 A JP60089858 A JP 60089858A JP 8985885 A JP8985885 A JP 8985885A JP S6115243 A JPS6115243 A JP S6115243A
Authority
JP
Japan
Prior art keywords
memory
block
file
blocks
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
JP60089858A
Other languages
English (en)
Other versions
JPH083798B2 (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 JPS6115243A publication Critical patent/JPS6115243A/ja
Publication of JPH083798B2 publication Critical patent/JPH083798B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、メモリを含む計算機ベース・システムに関し
、より詳細には、斯かるシステムのハードディスクメモ
リに於けるスは−スの割当て及びデータの圧縮に関する
発明の背景 大型小型を問わず、コン♂ユータシステムは全て、その
一部としてメモリを有している。このメモリは、静的及
び動的形式をとる。動的メモリの内容は、斯かるメモリ
への電力が遮断された時に失なわれる。静的メモリの内
容は、電力が遮断されても失われず、例えばROM (
読出し専用メモリ)、フロッピィディスケット磁気メモ
リ、大容量ハードディスク磁気メモリ、及びパズルメモ
リ等の様々な形を静的メモリはとる。ハードディスク磁
気メモリはファイル記憶のためにコン上0ユータシステ
ムに用いられることが多く、これらのファイルには通常
固定量の記憶スペースが割当てられている。当技術では
、他のファイルを追跡するメモリ中の管理ファイルがそ
れ自身を分析し、ハードディスクにもっと多くの遊休メ
モリスペースを割当て、必要に応じてそれを使用するよ
うな構成を必要とする。
先行技術に於ては、データを記憶するための与えられた
量のメモリスペースがファイルに割当てられるのが一般
的であり、そのメモリスペース量は、融通性がないため
、たとえ全てのスR−スが必要でなくても、残りのスば
一スが浪費されてしまう。従って、この融通性のないメ
モリスペースに記憶されている2進情報を圧縮する実質
的な必要性は何ら存在しない。従って、当技術に於ては
、ディスクに記憶され得るデータの量を最大にするため
に、ハート9デイスクメモリに記憶されているデータな
圧縮する技術が必要である。
発明の概要 本発明の教示によると、次のようなハードディスクメモ
リファイル管理システムが開示されている。即ち、当技
術に於て公知の多くのファイル管理機能を実行し、更に
ディスクファイル管理システムによって用いられる管理
ファイルの範囲即ちサイズを、それが満たされ更に多く
のメモリスR−スを必要とする時に拡張可能とし、また
ディスクファイル管理システムファイルに記憶されてい
るデータを圧縮して、これにより記憶され得る情報量を
最大にするハートゝディスクメモリファイル管理システ
ムである。この新規な自己拡張ファイル機能を実行する
ために、ディスクファイル管理システムは、各ファイル
に対して現在とられているメモリの合計量の記録を保持
し、各ファイルに対しC取っておかれている未使用の即
ち空いているメモリの量の記録を保持し、自己拡張によ
って自動的にディスクファイル管理システムファイルに
加えられるべき遊休ハードディスクメモリの量を示す数
を保存し、如何なるファイルにもまだ割当てられていな
いハードディスクメモリ上の使用可能な即ち空いている
スば一スの記録を保持する。
ファイル管理システムファイルが−ばいに近づくと、そ
のファイルに対して拡張されるべき旨の要求が発生する
。次に、このファイル管理システムはディスク上の使用
可能な即ち空いているメモリの所定量を突き止め且つこ
れを管理システムファイルに割当てる。この後、管理シ
ステムファイルのサイズ、そのファイルに於ける遊休即
ち空きメモリの量、及びディスク上の割当てられていな
いメモリの量に関して保存された情報が管理システムフ
ァイルへのディスクメモリスペースの追加を反映するた
めに、自動的に更新される。管理システムファイルが再
び−ばいになると、この新規の自己拡張ファイル機能は
繰返される。
これらの諸ファイルに記憶されるべきデータは、記憶さ
れる前に、32ビツトz進数の形をとる特定の数を2進
化情報即ちデータから減算することによって圧縮される
。これにより、記憶されるべき2進数の2進ビツトの数
は対応して減少する。
圧縮を解くことによって元の情報即ちデータを再構成す
ることができるようにするために、保存されている圧縮
された数の2ビツトが2進数の形をとる元の情報即ちデ
ータから減算された数を示す。
これは、この時点で、減算された数を圧縮された数に加
え、これにより圧縮されない数を復元するためである。
これらの2ビツトはまた、この数の圧縮されたサイズの
合計を示す。
第8図には、大量のデータ及びファイルを記憶するため
の大容量記憶手段として・・−ドディスクメモリ86を
含む現行技術の処理装置システムのブロック図が示され
ている。このシステムは、複数のキーボード付ビデオ端
末装置81及び82を含んでいる。これらのビデオ端末
装置は、データ及び指令を処理装置に入力し且つ処理の
結果であるあるいはシステムのメモリ85あるいは86
に記憶されているデータを視覚的に表示するための入力
/出力デバイスとして用いられる。この処理装置はまた
、中央処理装置83を含んでおり、この中央処理装置8
3には、ノミス84を経由して端末装置81及び82が
当技術において公知の方法でもって接続されている。こ
れらの端末装置はまた、内蔵プロセッサを有している。
この内蔵プロセッサは図示されてはいないが、表示技術
に於ては公知である。中にオRレーティング・システム
及び応用プログラムが記憶されており且つプロセッサ8
3によってバッファ記憶装置として用いられるメモリ8
5が配設されている。ハードディスクメモリ86も配設
されており、このメモリは、データ等のファイルの記憶
に用いられる大容量記憶デバイスである。バーl−9デ
イスク86は、ディスクファイル管理システムの制御下
でプロセッサ83によって作動され、端末装置81及び
82を利用している処理装置のユーザの要求に応じて情
報を記憶したり検索する。当技術に於てよく知られてい
るようにデータをフロッピィディスクから読み出したり
フロッピィディスクに書き込んだりするためにフロッピ
ィディスクユニット87も配設されている。フロッピィ
ディスクは当技術に於てよく知られているようにプログ
ラム及びデータの代替のメモリ記憶装置として利用され
ている。
端末装置81及び82の一方に於けるユーザの要求に応
じて、ビデオ表示装置10に表示されている表示のハー
トゝコピー出力あるいはノ・−トゞディスクメモリ86
のファイルからのノ・−トゝコピー出力を得るためにプ
リンタ89を配設されている。第8図に示されているこ
の処理装置はまた、このシステムを他のシステム及び記
憶手段と通信せしめデータを転送し且つ当技術では公知
の他の機能を実行する通信インターフェース89を有し
ている。
上記の、・クラグラフに全体的に述べた型式の処理装置
は、[管理通信端末システム]として登録されている米
国特許出願第44Q[68号に記載されている。この特
許出願は、本明細書に参考として引用されている。本発
明を用いることのできるディスクファイル管理システム
が、本発明の詳細な説明と共に以下に述べられている。
ディスクファイル管理システムが必要とされるのは、当
技術に於てよく理解されているように)・−ドディスク
メモリ86に情報を記憶し且つこのメモリから情報を検
索することに関する監視機能を実行するためである。メ
モリの諸部分を特定のシステムユーザに割当てること、
どんなデータがディスクのどこに記憶されているかとい
うことについてのインデックスを保持すること、及びデ
ィスクから情報を読み出し且つディスクに情報を書き込
むこと等の機能はディスクオ投レーティングシステムに
よって実行される機能の例である。しかしながら、ユー
ザがそれらに割当てられたメモリの量を満たすと5割当
てられたメモリの量を拡張することはかなり困難になる
。先行技術に於ける代替手段は、特定のシステムユーザ
にメモリの量を割当てて、このメモリを先着順に使わせ
ることではない。このことは、ユーザを1つのディスク
のファイルにまとめ且つ/又はそのディスクの与えられ
た領域にまとめたい場合は問題を生ずる。
ファイルが与えられたディスクに且つ多くのディスクに
わたって広がれば広がる程、検索時間は許容不可能なレ
ベル迄増大する可能性がある。従って、特定のユーザに
割当てられたノ・−ドディスクメモリの諸部分を有する
ことが好都合であり、前に割当てられた量のハート9デ
イスクメモリが−ばいになろうとしている時に容易に増
大する量の割当てられたメモリを有することが切に望ま
れる。
ハードディスクメモリを含む任意のメモリに記憶され得
る情報即ちデータの量を最大にするために、記憶する前
にデータに対してデータ圧縮技術を用いることが好まし
い。当技術では多くのデータ圧縮技術が公知であり用い
られており、これらの技術はいろいろな利点及び欠点な
有しているが、それらは全て斯かる技術を選択する上で
相殺されてしまうにちがいない。1つの技術を用いてデ
ータを圧縮し、次に別の技術を用いてこのデータを更に
圧縮するために再処理することは、あるとしても、非常
に少ない。本明細書ではそれ自身良好なデータ圧縮を行
うディスクファイル管理システムファイルに記憶するた
めのデータ圧縮方法が教示されているが、このファイル
からの圧縮データ出力は、他の技術を用いて更に圧縮し
、より高いデータ圧縮を達成することができる。
ハードディスクメモリ86に記憶された2進情報即ち2
進データは、階層木構造フォーマットに記憶されている
。斯かる形の記憶様式の場合、情報を記憶するのに固定
されfこ量のメモリ即ちメモリのブロックが用いられる
。そして、情報を記憶するのに必要な多数のブロックが
用いられる。例えばあるドキュメントを表わし得る1組
の2進情報を記憶している複数のブロックは1本の電気
的連糸のビードのように全て互いに関連して結び合って
いる。これは、1つのブロックがアクセスされた時に、
論理的なブロック数の直前且つ直後のブロックを含み、
これにより直前のブロック及び直後のブロックもまたア
クセスされるようにするためである。この論理的なブロ
ック数とは、上のパラグラフに簡単に述べられた且つ本
明細書に更に詳細に述べられる後続のブロックの2進情
報のためのアドレスがそれから得られるメモリ中の位置
の論理的数である。ヘッダを含む2進言語の各グループ
は、ハート9デイスクメモリ86の512バイトブロツ
クのメモリに記憶される。ノ・−トゝディスクメモリ8
6の各ファイルはまた、このファイルに関する管理情報
を記憶するための多数の512バイトブロツクのメモリ
を用いている。この管理情報は、とりわけ、ディスクメ
モリ中の関連トゞキュメント及び論理アトゝレスの識別
を示している。
ハードディスクメモリ86に記憶されるべきト8キュメ
ントを表わしている2進情報は、それぞれが161固の
2進ビツトからなる5121固の2進語ノ多数のグルー
プに分解される。斯かる16ビツト2進語のグループの
各々は、ドキュメントを表わす2進法情報のための識別
タグの1つの形であるヘッダと結合し、これによりでき
るだけ512バイトニ近い複合グループのデータを構成
する。
このヘッダはまた、メモリの隣接ブロックの論理アトゝ
レスを含んでいる。このシステムはまた、ファイルに関
する管理情報を記憶するために多数の512ブロツクの
メモリを用いている。この管理情報は、関連ドキュメン
トと及びこの情報のための第1ノロツクのデータが記憶
されているディスクメモリ中の論理アドレスの識別を示
している。
更に、ハードディスクメモリに関する他の2進情報を記
憶するために他のブロックのメモリがこのディスクファ
イル管理システムによって用いられる。他の2進情報と
は、例えば、各ファイルのうちどの位のメモリが用いら
れたかということ、各特定のファイル中のどの位のメモ
リがまだ記憶するために用いられるかということ、本発
明の教示に従ってVTOCファイルが自己拡張する時に
このVTOCファイルに加えられるべきハードディスク
の使用していないメモリの増分量、及び任意のファイル
に割当てられていないディスクメモリスペースの量及び
論理アドレス等である。
スパース配列ビットマツプ使用データベースの名称を有
する米国特許出願第49Q814号が本明細書に参考と
して引用されており、この特許出願は、データベース組
織に用いられる木構造を教示している。
第1図に示されるように、メモリの各ブロックは、ヘッ
ダ20を有し且つインデックスを記憶する目的のために
用いられる場合は、インデックスブロック30、あるい
はデータを記憶する目的のために用いられる場合は、デ
ータブロック4oのどちらかを含むために包括的に構成
されている。
ヘッダ20の組織の詳細については、第2図に示されて
おり、以下に述べられる。インデックスブロック30の
詳細については第3図に述べられており、以下に説明さ
れる。データブロック4oの詳細については第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は、関連メモリ木構造に於て同一し4ルに
あるメモリの前のブロックの論理ブロック数を示j2進
数を記憶するのに用いられ、る。ヘッダが取り付けられ
七いるメモリ86のブロックが同一レベルにある第1ブ
ロツクである場合、ブロックセグメント24には全ての
ゼロが記憶されている。
そうでない場合は、同一レベルにあるメモリの先行する
ブロックの論理アドレスである2進数がそこに記憶され
る。メモリ86に於けるデータの記憶に関する木構造に
於ける「レイル」の概念は、第7図の説明によって更に
理解される。今述べたヘッダ20は、ハート9デイスク
メモリ86に於けるメモリのブロックに記憶される2進
語のグループに構成するためにインデックス情報又はデ
ータ情報の前端に予め固定される。
第3図には、4つのブロックセグメントからなるインデ
ックスブロック30が示されている。プロックセグメン
)31.32及び33は、1つ以上のブロックのメモリ
に記憶されるドキュメントの識別を記憶するのに用いら
れる。しかし、この識別は圧縮された状態で記憶される
。ブロックセグメント31は、共通キー長と呼ばれ、ブ
ロックセグメント32は、非共通キー長と呼ばれる。多
数のドキュメントが記憶されているファイル中には、イ
ンデックスヘッダが英数字の順序で記憶されている。例
えば、「ワン)” (WAND) Jと呼ばれるドキュ
メントが既にノ\−ドディスクメモリ86の与えられた
ツギイルに記憶されており、このシステムは、「ソング
(WANG)Jと呼ばれる別のトゝキュメントを同一の
ファイルに記憶しようとしていると仮定しよう。これら
の2つのドキュメントの各々の記憶は、インデックスヘ
ッダ20をブロック30と共に且つデータヘッダ20を
データブロック40と共に記憶するだめの多数のメモリ
ブロックを必要とする。ディスクファイル管理システム
は先ず、記憶されるべき新しいドキュメントの名称「ソ
ング」を見て次にこの「ワンド」ドキュメントのための
インデックスヘッダ及びブロックを突き止める。このシ
ステムは、最初の3つの数字WANがこれらの2つのド
キュメントの間では共通であることを決定する。従って
、この「ソング」 ドキュメントに対するブロックセグ
メント31は、先行する「ワンド」ファイルと共通する
3つの文字j”WANJ f示す3の共通キー長をそこ
に記憶している。非共通キー長と呼ばれるインデックス
ブロック30のブロックセグメント32には、[ワンド
’J  )e−Vユメントと「ソング」ドキュメントの
間には1つの英数字文字だけが異なっていることな示す
2進数1が記憶されている。次に、この1つの非共通文
字rGJに対する2進法表示がブロックセグメント33
に記憶される。この様にして、ドキュメントの名称「ソ
ング」が圧縮された状態で記憶され、従って、このシス
テムはメモリ86中のト8キュメン)Y突き止めること
ができる。
同一キー(「ソング」)から始まる次の低いレベルのブ
ロックの論理ブロック数を示す。メモリ86に於けるデ
ータの記憶に関する木構造に於ける「レベル」の概念は
、第7図の説明によってよりよく理解されよう。
第4図には、5111i1のブロックセグメント41乃
至45からなるデータブロック40が示されている。ブ
ロックセグメント41.42及び43は、1つ以上のブ
ロックのメモリに記憶されるトゝキュメントの識別を記
憶するのに用いられる。しかし、この識別は圧縮された
状態で記憶される。ブロックセグメント41は、共通キ
ー長と呼ばれ、ブロックセグメント42は非共通キー長
と呼ばれ、ブロックセグメント43は、非共通キー値と
呼ばれる。これらのブロックセグメントは、上のインデ
ックスブロック30の所で述べたブロックセグメントと
同等であるため、ここでは改めて述べることはしない。
データ長と呼ばれるブロックセグメント44には、この
特定のデータブロック40に記憶されているドキュメン
トの1部あるいは全てを表わしているデータの2進語の
数を示!2進数が記憶されている。ブロックセグメント
45には、2進形式でドキュメントの全て又は1部分を
表わしている実際のデータが記憶されている。以下に更
に詳しく述べる理由によって、ブロックセグメント45
に記憶されている2進情報は基本的に二重に記憶されて
いる。即ち、データがディスクメモリから読み出されて
編集される時は、ブロックセグメント45の半分から読
み出されて、次に編集され1次にブロックセグメント4
5の他の半分に戻されて記憶される。データが読み出さ
れて例えば編集される毎に、このデータが読み出される
ブロックセグメント45の半分は交代する。斯くして、
このデータの直前のデータはデータの損失に備えて節約
され、これによりデータの全損失が防止される。前に述
べたように、メモリの1つのブロックに於ける全ての8
ビツトバイトは満たされない。これが、データブロック
4oの前端に付けられているヘッダ20のブロックセグ
メント21に2進数、即ち1ブロツク中の使用バイトの
数8を記憶することの目的である。
このディスクファイル管理システムはまた、ディスク上
の全てのメモリブロックを追跡してそれらがファイルに
割当てられているか否か及びそれらがインデックス、デ
ータブロックあるいは空きブロックであるかを記憶する
という管理タスクを有している。更に、ディスク上の各
ファイルに関する管理情報も記載される。これらの管理
機能はそれ自身のVTOC(Volume Table
 of Confents)ファイルを用いるディスク
ファイル管理システムによって達成される。第5図、第
6図及び第7図は、このVTOCファイルの組織な示し
ており、これらの図面は以下に詳しく説明される。
ディスクファイル管理システムに於て、 VTOCファ
イルは前に述べた管理機能を達成する上で用いられるメ
モリの多数のブロックである。これらのブロックはイン
デックス、データあるいはフリディブロック(budd
y b’1och)構成に全て組織される。このバデイ
プロック構成の場合、1つのインデックスブロックある
いはメモリブロックの内容は本質的に二重にされ、隣接
のメモリブロックに記憶される。VTOCファイル中の
バブイブロックのメモリがアクセスされると、記憶され
た情報即ちデータはこのバブイブロックの最初の512
バイト部分から読み出され、編集等の処理をされ、修正
された新しい情報即ちデータは次にメモリ中の同一の/
ζグイブロック対の第2の512ノ2イトブロック部分
に記憶される。この時点に於て、前の情報即ちデータは
、このバブイブロック対の最初のブロック部分にあり、
新しい情報即ちデータはこのバブイブロック対の第2の
ブロック部分にある。情報即ちデータが読み出されて編
集あるいは更新される次の時点では、この情報即ちデー
タはこのバブイブロック対の第2の部分から読み出され
、更新された後、このバブイブロック対の最初の部分に
記憶される。どの時点に於てもシステムがクラッシュし
且つ読み出されているあるいは読み出されて来たデータ
が損失を得けるかあるいは破壊される場合、少なくとも
前の情報即ちデータは依然として存在する。
データブロックを用いてVTOCフチイルに記憶される
管理データ・レコードには5つの型がある。
それらは、1 使用可能インデックス・レコード、2 
空きエクステント・レコード8.3  使用されたエク
ステントデータ・レコードゝ、4 連鎖レコード9、及
び5 属性データ・レコードである。これらのデータ・
レコードは各々、これらのブロックが読み出される時に
ディスクファイル管理システムに上に挙げられた型のブ
ロックを示す識別子をデータブロックに記憶している。
前に述べたように、VTOCファイルを含むハート9デ
イスクメモリ上の全てのファイルは、このファイルに!
−タ/情報を記憶するのに用いられる割当てられた51
2ノくイトブロックのメモリ含有しており、各ファイル
中の割当てられたメモリの空いている即ち未使用のブロ
ックのリストが、データ即ち情報をファイルに記憶する
のに必要になる時に、この割当てられたメモリのブロッ
クを選択し且つ突き止める目的のために維持される。
VTOCに割当てられた空いている即ち未使用メモリブ
ロックのリストは以下に詳細に述べられるデータブロッ
クインデックス60a、60bに維持される。VTOC
ファイル以外のものに割当てられたブロックのメモリに
対しては、記録は以下により詳細に述べられる使用され
たエクステントデータ・レコード9に維持される。
VTOCファイル中の1つのブロックのメモリが使用可
能インデックスレコードであることをこのシステムが知
るためには、使用可能インデックス・レコードゝのデー
タブロック40のブロックセグメント41.42及び4
3に記憶されている「キーjは次のように編成される。
この「キー」は値X杉1であり、この後に開始インデッ
クス番号が続く。
このX61 は、このブロックがVTOCファイル中で
得られるインデックス・レコードであることをこのシス
テムに示し、これに対して、開始インデックス番号は、
ファイル管理システムにファイル識別名に割当てられ得
る範囲の数の初めを示す。
即ち、1つのファイルのASCII識別名にはVTOC
ファイルシステムに用いられた数値識別名が割当てられ
る。
ファイル管理システムはまた。 VTOCファイルを含
む如何なるファイルにも割当てられなかった空いている
即ち未割当ブロックを追跡する。これは、ディスクファ
イル管理システムが空いているを要求する如何なるファ
イルにも割当てることができるようにするように行なわ
れる。この空きメモリブロック即ち未割当メモリブロッ
ク情報は、空きエクステント・レコー〜ドを用いてVT
OCファイル中に維持される。実際のオはレーションの
・場合は、この空いている即ち未使用ブロックのメモリ
Vi隣接ブロックの可変サイズ・グループ中のメモリに
位置する。隣接メモリブロックの斯かるグループの各々
には空きエクステント・レコードが用いられる。VTO
Cファイル中のメモリの1ブロツクカ空キエクステント
・レコードであることをこのシステムが知るためには、
データブロック40のブロックセグメント41.42及
び43に記憶されている「キー」は次のように編成され
る。
この「キー」は、値XO2であり、開始ブロック番号が
後に続く。このXO2は、このゾロツクが空きエクステ
ント・レコードであることをこのシステムに示し、これ
に対し、この開始ブロック番号は、この空きエクステン
ト・レコードが関連スる隣接メモリブロックの範囲に於
けるメモリの最初のブロックのメモリ中の論理アドレス
をファイル管理システムに示す。このXO2型「キーJ
K於ける開始ブロック番号は、ブロックセグメント41
.42及び43の所で前に述べたように更に圧縮される
前に初期的に圧縮され得る。XO2型空キエクステント
・レコードゞのデータブロック400ゾロツクセグメン
ト44にはある数が記憶されており、この数の値は、同
一のデータブロックのブロックセグメント45に記憶さ
れているデータの量をシステムに示す。このブロック数
は、このデータブロックのブロックセグメント45に記
憶されている数であシ、この数は、この「キーjに於て
識別された空きブロックの範囲即ちエクステントに於け
る最初の空きメモリブロックの論理アト9レスに続くメ
モリブロックの範囲に於けるメモリの空きブロックの数
をこのシステムに示す。
このようにして、空きエクステント・レコード8によっ
て識別されたブロックの範囲即ちエクステントに於ける
メモリの最後の使用可能ブロックが決。
定可能である。インデックス・レコード9に於て識別さ
れたメモリの幾つかが使用されるために選択された後デ
ータブロックセグメント45に記憶されている数はこの
空きエクステント・レコード8によって網羅される残り
の空いているメモリのみを反映するように変化する。ブ
ロックセグメント45に於ける使用可能数もまた圧縮さ
れ得る。
使用されたエクステントデータ・レコードゝは、ハード
ディスクメモリに於て論理的に互いに隣接している且つ
VTOCファイルを除くこのディスク上の任意のファイ
ルに於けるメモリブロックとして実際に用いられている
メモリブロックのエクステント即ち範囲に関する情報を
記憶するのに用いられる。この型の記録に対する「キー
」は、値XO3であり、この後にファイル識別及びエク
ステント識別が続く。このXO3は、 VTOCファイ
ルを含むこのディスク−トの任意のファイルに於けるイ
ンデックス即ちデータブロックとして実際に用いられて
いるメモリブロックのエクステント即ち範囲に関する情
報を記憶するためにこのブロノファイル識別は、このフ
ァイルを識別する数りち、このファイルのメモリブロッ
クの範囲は識別されたファイルと関連しており、使用可
能インデックス・レコードから得られ、連鎖レコードに
記憶される。エクステント識別もまた、識別されたファ
イル内のメモリブロックの範囲即ちエクステントの1つ
の数をこのシステムに示す数である。即ち、各ファイル
に於けるメモリブロックの各範囲即ちエクステントは、
エクステント識別である別々の数を有している。1つの
ファイル中に5つの範囲即ちエクステントがある場合、
そのファイルに対しては5つの使用されたエクステント
データ・レコードがあり、その各々は「キー」のエクス
テント識別部に記憶された数1乃至5な有している。
任意のファイル中の隣接するメモリゾロツクの範囲即ち
エクステントの合計の数は、本明細書に於て更に述べら
れるようにこの管理レコードのどこか他に記憶される。
このXO3記録「キー」に於けるファイル識別及びエク
ステント識別は、ブロックセグメント41.42及び4
3の所で前に述べたように更に圧縮される前に、初期的
に圧縮され得る。1つの使用されたエクステント・レコ
ードのデータブロック40のブロックセグメント44に
記憶された数は、開始ブロック、及びブロック数を記憶
するブロックセグメント45に記憶されている情報の量
を示す。この開始ブロックは、この使用されたエクステ
ント・レコードゞに関連するメモリブロックの範囲即ち
エクステントに於ける最初の使用ブロックのメモリの論
理アトゞレスをこのシステムに示す数であり、このブロ
ック数は、このシステムがこの範囲に於ける全てのブロ
ックの論理アドレスを決定できるようにするために、こ
のメモリに於て互いに隣接しているブロックの範囲即ち
エクステントに於けるメモリブロックの数を示す数であ
る。今述べた開始ブロック及びゾロツク数も1だ本明細
書に教示されるように圧縮され得る。
連鎖レコードは、データブロックに記憶される第4の型
のレコードであり、このレコードは、ファイル名、ライ
ブラリ記録に関する識別情報及びファイル名、ライブラ
リ記録に関する連鎖情報を記憶するのに用いられる。即
ち、上記の各々のASCII名と識別数の間には対応が
あり、この数がファイル、ライブラリ及びドキュメント
を識別するために全てのVTOC記録にわたって1吏用
される。ファイル又はライブラリあたりこれらの連鎖レ
コードが1つ存在する。この型の記録に対するキーは、
XO4であり、この後にノード識別及びノード名が続く
。この値XO4は、それが連鎖レコードゞであることを
このシステムに示している。
ノード識別は、記憶されたドキュメントがその一部であ
るライブラリを識別する数である。1・゛キュメントが
ライブラリに記憶されていない場合、ゼ口がここに入る
。このXO4記録「キー」に於けるノート″識別は、ブ
ロックセグメント41.42及び43の所で前に述べた
ように更に圧縮される前に、初期的に圧縮され得る。ノ
ード名は、この連鎖レコードが関連するファイル、ライ
ブラリ又はドキュメントのASCII名である。
前に述べたように、このデータブロックのブロックセグ
メント44には、同一ブロックのブロックセグメント4
5に記憶されているデータの長さを示すデータ・レンダ
ス数が記憶されている。ブロックセグメント45に記憶
されているデータ自身は、1つの数を上記のASCII
識別に等しくするのに用いられる。ブロックセグメント
45に記憶されているデータは、1つのプレフィックス
(接頭部)であり、この後に、ディレクトリ識別あるい
はファイル識別が続く。
このプレフィックスは、この連鎖レコード9がライブラ
リに割当てられている場合はXOOであり、連鎖レコー
ドがファイルに割当てられている場合はXOIである。
このxOOあるいはXOIのどちらかの後には、上記の
ようにこのシステムによってASCII名称に等しくさ
れる割当てられた数が続く。現時点に於てこのライブラ
リあるいはファイルをディスクファイル管理システムに
対して識別する割当て数は、属性又は範囲/エクステン
ト記録に連鎖するのに用いられ、且つ次のレベルのエレ
メントの位置を突き止めるのに用いられる。この記録に
は後方の連鎖は何も記憶されておらず、後方連鎖は、必
要に応じてシステムによって引き出される。この識別数
は、使用可能インデックス・レコードから割当てられる
。データブロック中のディレクトリ識別及びファイル識
別もまた圧縮され得る。
第5の型のデータ・レコード9は、属性データ・レコー
ドであり、このデータ・レコード9はデータブロックの
キ一部に於て識別されるファイル又はライブラリの属性
情報を記憶するのに用いられる。
ファイル、ライブラリ及びドキュメントに関する管理情
報、例えば、ファイルの作成者の識別、保護のクラス、
作成された日陰、修正された日陰、ファイルに於て用い
られるメモリブロックの数、及びファイルに於ける使用
可能メモリブロックの数は、この型のデータ・レコード
ブロックに記憶される。この型のデータレコードのキー
には5値XO5があシ、この後にはディレクトリ識別あ
るいはファイル識別のどちらかが続き、次に属性識別が
続く。このディレクトリ識別は、前に述べた連鎖レコー
ドに於ける同一名のフィールドに割当てられ且つ入力さ
れたものと同一の数であるブイレフ) IJ識別数ある
いは、前に述べた連鎖レコードに於ける同一名のフィー
ルド5に割当てられ且つ入力された同一数のファイル識
別数からなる。このXQ5キーに於て、ディレクトリ識
別あるいはファイル識別及び属性識別は、前もって圧縮
され、次にブロックセグメント41.42及び43の所
で前に述べたように圧縮される状態で更に圧縮され得る
。ブロックセグメント44に記憶されているデータ長は
データブロックのブロックセグメント45に記憶されて
いるデータの長さである。ブロックセグメント45には
、この属性データ・レコードが関連するファイル、ライ
ブラリィあるいはドキュメントに関する、上記及びその
他の属性を識別する数である属性値が記憶されている。
この属性値情報も本明細書に教示されるように圧縮可能
である。
第5図には、本明細書において前記したバデイ・ブロッ
ク対のオペレーションを示す制御ブロック50が示され
ている。前に述べたように、ノーディ・ブロックを用い
ると、ディスクファイル管理シス及び55は5バデイ・
グロックとして用いられ、従って、ブロック60a及び
60b、53a及び531+、54a及び54b並びに
55a及び55bとして示されている。このノ2ディグ
ロック構成の場合、1つのメモリブロックの内容は、完
全に複写されており、別のメモリブロックに記憶されて
いる。第5図のバブイブロック54及び55の間の破線
は、ディスクファイル管理システムの要求に応じて、多
数のバブイブロック1乃至nが存在することを表わして
いる。使用され得るバブイブロックの正確な数は、ブロ
ックセグメント51に記憶されるバグイブロックマツプ
内のビットの数によって制限されるだけである。このバ
グイブロックマツプは次のパラグラフに述べられる。バ
ブイブロック53.54及び55として用いられるメモ
リのブロックは、必ずしもハードディスクメモリ86に
於て互いに隣接して記憶されず、且つ、ブロックセグメ
ント51及び52に用いられるメモリのブロックに隣接
して記憶される必要はない。
ブロックセグメント51乃至55並びに60は、ハード
ディスクメモリ86上のどこにあってもよい。更に、全
てのバブイブロックは、データ記憶に現在用いられてい
ないデータブロック、インデックスブロックあるいは空
きブロックであり得る。
全ての72デイブロツクは、制御ブロック50によって
表わされるように論理的にのみ関連している。
ブロックセグメント51は、メモリの512バイトのブ
ロックであって、VTOCファイルに管理情報を記憶す
るバブイブロックとしてディスクファイル管理システム
によって用いられるメモリの各ブロックに対する1つの
2進ビツトを含むバグイブロックマツプとして用いられ
る。バブイブロック対の最初のブロックである、メモリ
の1つのブロックが最近書き込まれた部分である時は、
このブロックマツプに於ける関連ビットは、「1」をそ
の中に書き込んでいる。ここで銘記されるように、バブ
イブロックは1グループとして更新され、このバグイブ
ロックマツプ自体は、一連の記録更新の後にのみ更新さ
れる。1つのバブイブロック対の第2ブロツクが最近書
き込まれた部分である時は、このバグイブロックマツプ
に於ける関連ビットは「0」をその中に書き込んでいる
。バブイブロックを読み出す前に、ディスクファイル管
理システムは最初にブロックセグメント51に於けるバ
グイブロックマツプを調査し、このバブイブロック対の
どのブロックが最新の形の記憶データを有しているかを
決定し、次にこの最新データを読み出す。読み出された
データが編集されあるいは他の処理を施された後、この
データは上記のようにこのパブイブロック対の他のブロ
ックに戻って復元する。このバグイブロックマツプは、
更新され、前のゼロは1に変化する。あるいはその逆も
同じである。このようにして、このシステムは常に、1
つのバブイブロック対のどの部分が読み出されるべき最
新の材料を有しているかを知る。システムクラッシュが
ある場合は、データの完全な損失はない。管理データの
任意のデータの前の形は常に、バブイブロック対の1ブ
ロツクに於て使用可能である。
制御ブロック50に於けるブロックセグメント60a及
び60bは、パブイブロック対であり、その中には、第
6図に於て更に詳細に示され且つ次のパラグラフに於て
より詳細に説明されるブロックインデックスが記憶され
ている。前に述べられたように、バブイブロック1乃至
nを弄わすブロックセグメント53乃至55はインデッ
クスブロック及びデータブロックとして用いられ、ある
いは管理情報の記憶にまた用いられていない空きブロッ
クであり得る。
第6図には、 VTOCファイルメモリブロックを追跡
する管理タスクのためにディスクファイル管理システム
によって用いられるブロックインデックス60が示され
ている。ブロックインデックス60を用いて達成される
1つの主な管理タスクは、 VTOCファイルに於いて
空いている即ち使用可能ブロックのメモリの数を追跡す
ることにある。
更に、ハードディスクメモリ86上の各ファイルに関す
る管理情報は、第5図に於てブロックセグメント53乃
至55として示されているバブイブロック1乃至nに記
憶されている。第6図に於て、ブロックセグメントは表
示を藺単にするために二列で示されている。
ブロックインデックス60のブロックセグメント61は
、それがVTOCファイルの一部であることを識別する
ためにエントリrl 107VTOCJを含んでいる。
ブロックセグメント62は、「バージョン数」と呼ばれ
、ディスクファイル管理システムの現在のバージョンを
識別するエントリを含んでいる。ブロックセグメント6
3は、「ファイル中のブロックの数」と呼ばれ、現在V
TOCファイルに割当てられているディスク上のメモリ
ブロックの数を識別する数を含んでいる。ブロックセグ
メント64は、「マツプ中のビット数」と呼ばれ、/ロ
ックセグメント51に於けるバブイブロックマツプのメ
モリのビット数を示す数を含んでいる。この数は、各バ
ブイブロック対がこのバブイブロックマツプの中に1ビ
ツトを有していなければならないためにVTOCファイ
ルに割当てられ得るバブイブロック対の最大数を示して
いる。グロックセグメント65は、fバブイブロックの
数」と呼ばれ、その中には、インデックス即ちデータ情
報の記憶のためにまだ用いられていないVTOCファイ
ルに割当てられたハートゞディスクに於ける空いている
即ち使用可能メモリブロックの数を示す数が記憶されて
いる。VTOCファイルに割当てられた空きブロックが
用いられると、ブロックセグメント65に記憶された数
が更新され、これにより VTOCファイル中の空きメ
モリブロックの現在の数を正しく反映する。ブロックセ
グメント66は「拡張されたブロック寸法」と呼ばれ、
この中には、このファイルがそれに割当てられたメモリ
の未使用のブロックの殆んど全てを使用しそうになった
時、ハート8デイスクメモリ86上のVTOCファイル
に加えられるべき、如何なるツーアイルにも割当てられ
ていないメモリの未使用ブロックの数を示す数が記憶さ
れている。これは、本発明を実施する際、即ちハードデ
ィスクメモリ86上のVTOCファイルの自己拡張をこ
のファイルが満たされる時にする除用いられる。グロッ
クセグメント67は、「第1データブロツクのブロック
数」と呼ばれ、データを記憶するのに用いられるVTO
Cファイルに於ける最初のバブイブロック対の位置を識
別する論理アト8レスである。これは、第5図のバグイ
ブロック53乃至55の1つである。ブロックセグメン
ト68は、「第1空きブロックのブロック数」と呼ばれ
、 VTOCファイルにインデックス即ちデータを記憶
するのに未使用のVTOCファイルに於ける最初の空き
/:ディブロック対の位置を識別する論理アドレスであ
る。
VTOCファイルに於けるこれらの空きブロックは、最
初の空きブロックのアドレスを用いて、このシステムが
全ての空きブロックを見い出すことができるように共に
連鎖される。ブロックセグメント69は、「最後の空き
ブロックのブロック数」と呼ばれ、VTOCファイルに
インデックス即ちデータを記憶するのに未使用のVTO
Cファイルに於ける最後の空きバブイブロック対の位置
を識別する論理アドレスである。ブロックセグメント6
9には、゛ファイルに割当てられるように使用可能なブ
ロックの範囲の最後のブロック数が記憶されている。ブ
ロック68及び69に記憶されている数こに位置してい
るかを知る。ブロックセグメント91u、rファイルに
於けるインデックスレベルの数」と呼ばれ、VTOCフ
ァイル構造に於けるインデックスレベルの数を識別する
数である。これは第7図を見るとよく理解される。第7
図は、VTOCファイルに於けるインデックスブロック
及びデータゾロツクの例示的な組織を示している。
1つのブロックメモリから読み出されたデータをインデ
ックス又はデータであると正しく解釈するためにインデ
ックスブロックのレベルが幾つアルかをディスクファイ
ル管理システムが知るために、この情報がディスクファ
イル管理システムに必要ニする。第7図には、二列のイ
ンデックスブロックがある。第1の列、即ち上の列は根
インデックス記憶ブロック11を示し、これに対して2
番目の即ち中間列は、2つのインデックス記憶ブロック
12を示している。第1即ち根レベルを除く木構造の各
レベルには2つより多いブロックが存在し得る。この根
インデックス記憶ブロックは、計数されず、従って斯か
る例に対してブロックセグメント91に記憶される数は
数1である。根インデックス記憶ブロックを含む3列の
インデックスブロックがあった場合は、数2が第6図の
ブロックセグメント91に入る。初期的には、即ちVT
OCファイルが大きくなる前には、根インデックス記憶
ブロック11しかなくインデックス記憶プロツり12は
存在せず、従ってブロックセグメント91に於ける数は
上に与えられた例につきゼロとなる。
第6図に於けるブロックインデックス60の残りのブロ
ックセグメントは、各々2つのブロックセグメントから
なる組にまとめられる。ズロツクセグメント対92及び
93、あるいは94及び95は、実例であり、反復され
る。即ち、バブイブロック対あるいはバブイブロックマ
ツプが記憶されているメモリのブロックの各エクステン
ト即ち範囲に対しては一対となっている。6対のブロッ
クセグメントの最初のブロックセグメント92あるいは
94は「アトルスエクステットの最初のブロック」と呼
ばれ、その中には、バブイブロックマツプ及びバブイブ
ロック対が記憶されている隣接ブロックのメモリのエク
ステント即ち範囲のハードディスクメモリ86に於ける
開始論理アドレスが記憶されている。ブロックセグメン
ト93及び95は「アドレスファイルの長さ」と呼ばれ
、ブロックセグメント92及び94の関連対に於けるア
ドレスから開始するバブイブロックとして用いられる隣
接メモリブロックのエクステント即チ数を記憶するのに
用いられる。VTOCファイリング構成にはこれらのパ
ブイブロック対が64のエクステントまで存在する。
第7図には、 VTOCファイリング構成に於けるイン
デックスレコードとデータ・レコードとの相関関係及び
連鎖が示されている。これは基本的な木記憶構造である
。これらの記録は、ヘッダ20、インデックスブロック
30、及びデータブロック40からなっている。これら
のものは全て前に述べられており、これらのインデック
ス・レコード及びデータ・レコードを形成するための基
本的なエレメントである。木のトップには、根インデン
クス記憶ブロック11がある。VTOCファイルに於け
る任意のものを探索するにあたり、ディスクファイル管
理システムはブロック】1から開始しなければならない
。最も単純な形の場合、根インデックス記憶ブロック1
1は、1つのメモリ記憶ブロックに於けるヘッダ20及
び1つのインデックスブロック30からなる。これはこ
のブロックのメモリを満たさないので、第7図に示すよ
うなインデックスブロック30を1つ以上加えて拡張す
る余裕がある。この最も単純な例の場合、ブロックII
K於けるヘッダ20のブロックセグメント23及び24
は、インデックスブロックが1つだけしかないためそこ
にゼロを記憶しており、木構造に於てそれと同一レベル
にある他の論理ブロックはあり得ない。ブロック11に
於けるインデックスブロック30のブロックセグメント
34に記憶された論理アドレスは、第7図に示すような
木構造に於ける第2層にある別のインデックス記憶ブロ
ック120代わりに、第7図の1つのデータ記憶ブロッ
ク13に直接指し示している。データ記憶ブロック13
の数が大きくなると、中間インデックス記憶ブロック1
2が必要になり、根インデックス記憶ブロックll内の
インデックスブロック30に於けるブロックセグメント
34に記憶されている「次のブロック数−下位レベル」
はこの最初の中間インデックス記憶ブロック12の論理
アト3レスを有する。
中間インデックス記憶ブロック12の構成は、根インデ
ックス記憶ブロック11の構成と類似している。第2図
に示された型及び本明細書に於て前に述べられた型のヘ
ッダ20が存在し、第3図に示された同−型及び本明細
書に於て前に説明された同−型の多数のインデックスブ
ロック30が存在する。第7図に示す各データ記憶ブロ
ック13に対しては中間しはルインデックス記憶ブロッ
ク12に於てインデックスブロック30が存在する。
各中間しくルインデックス記憶ブロック12は、1つの
ブロックのメモリであり、そのメモリのブロックを使い
きるまでヘッダ20及び多数のインデックスズロック3
0を記憶することができる。
この後、データブロック40が更に形成されると、その
メモリのブロックを使いきるまで多数のインデックスブ
ロック30を他にまた取り扱うことのできる第2の中間
レベルインデックス記憶ブロック12が必要になる。し
かしながら、第2の中間レベルインデックス記憶ブロッ
ク12に対しては、第7図に示すように別のインデック
ス30が「ブロックBに対するインデックス」として根
インデックス記憶ブロック11に必要になる。各々の付
加的な中間レベルインデックス記憶ブロック12に対し
ては、ブロック11の構成要素であるブロックのメモリ
が満たされるまで別のインデックス30が根インデック
ス記憶ブロック11に必要になる。中間しくルインデッ
クス記憶ブロック12の場合、その中の各インデックス
ブロック30(1、(乃至n)に於て、「次のブロック
数−下位レベル」と呼ばれるブロックセグメント34は
、第7図に示すように関連のデータブロック40を指し
示している論理アドレスをそこに記憶している。例えば
、インデックス記憶フロックAHに於けるインデックス
ブロックn(31は データ記憶ブロック(131に於
けるデータブロックn(43のインデキシングを与えて
いる。各データ記憶ブロック13もメモリの1つのブロ
ックであり、満たされると、別のデータ記憶ブロック1
3が更に記憶されるために必要となる。各後続のブロッ
ク13は、前のブロック13と後続のブロック13Vc
連鎖される。
VTOCファイルメモリ木構造が第7図に示す例示的な
形である時、2つのインデックス記憶ブロックα2即ち
、ゾロツクA及びBが存在する。これらはこの木構造に
於て同一中間レベルである。更に、第7図に示すように
、6つのデータ記憶ブロック13が存在する。尚、この
内3つは1つのインデックス記憶ブロック12に関連し
、他の3つは他方のインデックス記憶ブロック12に関
連している。これらの6つのデータ記憶ブロック12は
、全て記憶木構造に於て同一の下位レベルにある。1つ
より多いメモリグロックが木構造の中間レベル及び下位
レベルの各々にあるため、これらのブロックの水平連鎖
が必要になる。この水平連鎖は、インデックス記憶ブロ
ック12とデータ記憶ブロック13の両方の先頭にある
ヘッダ20によって行なわれる。第2図を見ると、イン
デックス記憶ブロックA(12)の先頭にあるヘッダ2
0は、[同一レベルにある次のブロックの論理ブロック
数」と呼ばれるブロックセグメント23と「同一レベル
にある前のゾロツク論理ブロック数」と呼ばれるブロッ
クセグメント24を有している。第7図に示す木構造に
於ける中間レベルの場合、インデックス記憶ブロックA
(12に於けるヘッダ20のブロックセグメント23は
、インデックス記憶ブロックB(121に対する論理ブ
ロック数をそこに記憶している。前のインデックス記憶
ブロックI2が存在しないため、インデックス記憶ブロ
ックAα3に於けるヘッダ20のブロックセグメント2
4には全てのゼロが記憶される。斯くして、インデック
ス記憶ブロックA(12は水平しRルに於て前方にイン
デックス記憶ブロックBQZと連鎖される。
同様にして、インデックス記憶ブロックB(IZは、後
方にインデックス記憶ブロックA(L5に対して連鎖さ
れるが、後続のブロック12が存在しないため前方には
連鎖されない。より詳細に説明すると、インデックス記
憶フロックBQ21に於けるヘッダ20のブロックセグ
メント23は、第7図に次の即ち後続のブロック12が
存在しないためそこに全てのゼロを記憶している。しか
しながら、インデックス記憶フロックB(+2に於ける
ヘッダ20のブロックセグメント24は、後方連鎖を達
成するためにインデックス記憶ブロックAQ2の論理ア
ドレスをそこに記憶している。斯くして、インデックス
記憶ブロックBO3は、水平レベルに於て後方にインデ
ックス記憶ブロックA(12に対して連鎖される。
第7図に示される木構造の底のレベルに於て、全てのデ
ータ記憶ブロック13は、インデックス記憶ブロックと
同じように前方に及び後方に連鎖される。データ記憶ブ
ロック13に対しては既に述べられているため詳細には
立ち入らないが、データブロック160は、後方連鎖を
有しておらず、しかしデータブロック2(40に対して
前方に連鎖される。データブロック2(41は、データ
ブロックn(4t)に対して前方に且つデータブロック
tI5tnに対して後方に連鎖される。最後に、データ
ブロックn(40は、前方には連鎖されないが、データ
ブロック2(4■に対して後方に連鎖される。データブ
ロック1.2及びnは、ゲータグロックn+l、n+2
、及びn+Xに対しては全熱連鎖されない。データブロ
ックn+ l、n+2、及びn+Xは今述べたように、
同様にして前方に及び後方に互いに連鎖されるが、デー
タ記憶ブロック1.2、及びnに対しては連鎖されない
本発明の教示による自己拡張ファイルの特徴を与えるた
めのディスクファイル管理システムのオペレーションは
、本明細書の説明の各所に記載され、従っである特定の
場所には集中されていない。
従って、読者は本発明を完全に理解するところまでは至
っていないかもしれない。本発明をよりよく理解するた
めに前に行なった説明から本発明の簡潔な復習を行うこ
とにする。第6図のブロックインデックス60のところ
では、VTOCファイルの排他的使用に割当てられたメ
モリのブロックの合計数がブロックセグメント63に記
憶されている状態が述べられていた。ブロックセグメン
ト65には、データを記憶するのにまだ用いられていな
かったVTOCファイルに於けるメモリのブロックの合
計数が記憶されている。これらの2つの数の差はデータ
を記憶するのに既に用いられていルvTOCファイルに
於けるメモリのフロックの数である。グロツクセグメン
)65Vc於て識別これた空きメモリブロックの数が所
定数を下回ると、ディスクファイル管理システムは、ブ
ロックセグメント66に記憶された数をとり、これによ
りいかなるファイルにも排他的に割当てられていないメ
モリのブロックの量を得てそれらをVTOCファイルに
於ける排他的使用のために転送する。ブロックセグメン
ト63及び65に記憶された数はこのようにして更新さ
れる。VTOCファイルにおける排他的使用又はその他
のファイルに対し転送するハードディスクメモリ86上
の使用可能ブロックを突き止めるために、ディスクファ
イル管理システムは、これまで述べてきた空きエクステ
ント・レコードであってその中にハードディスクメモリ
86上のメモリの空きブロックの論理アドレス及び数量
に関する情報が記憶されている空きエクステント・レコ
ードに進む。VTOCファイル以外のファイルに対して
は、各ファイルに割当てられたメモリブロックの数及び
データを各ファイルに記憶するのに既に用いられたメモ
リブロックの数を含む各特定のファイルに関する情報が
属性データ・レコードニ記憶されている。これらの2つ
の数の差は、各特定のファイルに割当てられた空きメモ
リブロックの残りの数である。このシステムがVTOC
ファイルに割当てられた空きブロックの敬も少なすぎる
と決定すると、ファイルの自己拡張が開始される。^性
データ・レコードには、そのメモリ容量が自己拡張され
る時にVTOCファイルに加えられるべきメモリのプ占
ツクの数を示す数も記憶されている。このシステムは、
とのエクステント数を用い、前に述べられた空きエクス
テント・レコードに再び進み、如何なる特定のファイル
にも排他的に割当てられていない空きメモリブロックを
識別する。これらの空きブロックの特定の酢は、拡張さ
れているファイルの排他的使用のために転送され、この
空きエクステント・レコード及び属性データ・レコード
は修正されて、特定ファイルの排他的使用のためのメモ
リのブロックの転送を反映する。
本明細書のあらゆる所に指摘されたように特定の情報即
ちデータが圧縮される。これらの例は、VTOCファイ
ルに於て用いられた5つの型のレコードで特に指摘され
た。先行技術に於ては、特定データを記憶するための与
えられた量のスR−スが割当てられるのが一般的であり
、このスば一スの量は融通性のないものであるため、た
とえ全てのスR−スが必要でなくても、残ジのスペース
が浪費される。従って、これらの硬直したブロックセグ
メントに記憶された2進情報を圧縮する実際の必要性は
何ら存在しない。本発明の技術を用いると、この浪費さ
れたスペースは最小化され、ブロックセグメントのビッ
ト又はバイトのサイズは未使用メモリスは−スの量を減
らすために可変となっている。2進情報を記憶するのに
実際に必要となる量のメモリスは−スのみが用いられて
いる。
更に、記憶さ、れるべき2進情報が圧縮される。この圧
縮を達成するために、ディスクファイル管理システムは
任意の種類の情報を表わし得る、記憶されるべき2進数
を分析して、これにより4つの2進数のサイズの範囲の
どれにこの数が入るかを決定する。これらの範囲は、ゼ
ロ乃至63.64乃至16447.16448乃至42
10751、及び4210752 乃至1077952
575  となっている。
更に、ディスクファイル管理システムは、この数が入る
上記の範囲に応じて、記憶されるべき情報から与えられ
た数を減算する。ゼロ乃至63の最下位範囲に入る、記
憶されるべき小さい2進数字に対しては、この2進数か
らゼロが引かれ、2つの数字OOがこの圧縮されない数
の先頭に立つ。
プレフィックス00を有する未圧縮数は、次に8ビツト
バイトとして記憶される。後の時間に於て読み出される
際に、ディスクファイル管理システムは先ず最初の2ビ
ツトを読み出し、それらが00であることからこの数が
8ビツトとして記憶されたことを決定し、従ってその″
!、捷読み出された2進数を即ちプレフィックス00が
引かれた数を用いる。
64乃至16447 の次の範囲に入る、記憶されるべ
き少し大きい2進数字に対しては、数i64がこの2進
数字から減算され、これによりこれを圧縮し、2つのビ
ット01が圧縮された数の先頭に立つ。このプレフィッ
クス01を有する圧縮数は、次に2つの8ビツトバイト
として記憶される。
後の時点に於て読み出される際に、ディスクファイル管
理システムは最初に、最初の2つのビットを読み出し、
それらが01であることからこの数が量64を減算する
ことによって圧縮されたことを決定し、次にこの量64
を読み出された数に戻して加えて、これによシ圧縮プロ
セスを逆に行なう。次にこのシステムはプレフィックス
01を引かれた圧縮を解かれた数を用いる。
16448乃至4210751  の次の範囲に入る、
記憶されるべき更に大きな2進数に対しては、数量+6
448 が2進数から減算され、これによりこれを圧縮
し、2つのビットIOが圧縮数の先頭に立つ。このプレ
フィックス10を有する圧縮数は次に3つの8ビツトメ
イトとして記憶される。後の時点に於て読み出される際
、ディスクファイル管理システムは先ず最初の2つのビ
ットを読み出し、それらが10であることから数量16
448を減算することによってこの数が圧縮されたこと
を決定し、次にこの量を読み出された数に戻して加え、
これによりこの圧縮プロセスを逆に行なう。次にこのシ
ステムはこのプレフィックスIOを引いた圧縮を解かれ
た数を使用する。
4210752乃至1077952575の次の範囲に
入る。記憶されるように期待された最大の2進数に対し
ては、数量4210752 がこの2進数から減算され
、これを圧縮し、2つのピッ21が圧縮数の前に置かれ
る。このプレフィックス11を有スる圧縮数は次に、3
つの8ビツトバイトとして記憶される。後の時点に於て
読み出される際、ディスクファイル管理システムは先ず
最初の2つのビットを読み出し、それらが11であるこ
とから数量421052 を減算することによってこの
数が圧縮されたことを決定し、次にこの量を読み出され
1こ斂に戻して加え、これによυこの圧縮プロセスを逆
にする。次にこのシステムは、プレフィックス11を引
き圧縮を解かれた数を使用する。
上記の様式に従って、ディスクファイル管理システムは
また、ハードディスクメモリに記憶されるべき2進情報
を圧縮し、これによりそこに記憶できる情報を最大化す
る。
今迄述べてきたのは本発明に係る好ましい実施例ではあ
るが、当業者にとっては、Z本発明の教示が本発明の精
神及び範囲から逸脱することなく多くの異なった方法で
応用できることが明白である。
例えば、本発明の自己拡張ファイルは、与えられた量の
メモリが特定の記憶機能に割当てられる即ち専用される
場合の如何なるメモリの応用にも適用することができる
が、特定のファイリング機能は時々付加的な量の専用メ
モリを必要とする。更に、本明細書に教示されているデ
ータ圧縮技術は殆んど如何なるデータ記憶オはレーショ
ンにも適用され得る。
【図面の簡単な説明】
第1図は、本発明を用いているディスクファイルシステ
ムに情報を記憶するのに用いられる一般的な記憶エレメ
ントの全体の組織図。第2図は、本発明を用いているデ
ィスクファイル管理システムを実施するのに用いられる
記憶エレメントのヘッダに対する情報の組織図。第3図
は、本発明を用いているディスクファイル管理システム
によって用いられるインデックス記憶エレメントのタメ
のヘッダと結合されるインデックスブロックの情報の組
織図。第4図は、本発明を用いているディスクファイル
管理システムによって用いられるデータ記憶エレメント
を構成するためにヘッダと結合されるデータブロックの
ための情報の組織図。 第5図は1本発明を用いているディスクファイル管理シ
ステムファイルの全体を表わす制御/ロック中の情報の
組織図。第6図は、本発明を用いているファイル管理シ
ステムによって用いられる制御ブロック中のブロックイ
ンデックスの情報の組織図。第7図は、本発明な用いて
いるファイル管理システム中のインデックスとデータ記
憶ブロックとの相関関係を示す図。第8図は、本発明を
用いることができるハードディスクメモリを含む計算機
ベースシステムの略ブロック図。 20・・・ヘッダ、21・・・ブロック中の使用バイト
の数、22・・・このゾロツクの論理ブロック数、23
・・・同一レベルにある次のブロックの論理グロック数
、24・・・同一レイル1である前のブロックの論理グ
ロック数、30・・インデックスブロック又はデータブ
ロック、31・・・共通キー長、32・・非共通キー長
、33・非共通キー値、34・・・次のブロック数−下
位レベル、40・・・データブロック、41・・・共通
キー長、42・・・非共通キー長、43・・・非共通キ
ー値、44・・・データ長、45・・・データ、50・
・・制御ブロック、51・・バディプロックマップ、6
0・・・ブロックインデックス、81.82・キーボー
ド8付ビデオ端末装置、83・・・プロセッサ、85・
・・メモリ、86・・・ハードディスクメモリ、87・
・フロッピディスクユニット、88・・・プリンタ、8
9・・・通信インターフェース。 (外5名) S よ

Claims (1)

  1. 【特許請求の範囲】 1)メモリ構成に用いられるメモリ割当方法であつて、
    データが多数の個別メモリファイルの内の適当なファイ
    ルに記憶され、各ファイルがこのメモリファイルへのデ
    ータの記憶のためにそれと排他的に関連するメモリの割
    当てられた量のブロックを有しており、上記割当方法を
    用いて、如何なるファイルにも割当てられていないメモ
    リのブロックが必要に応じて自動的にメモリファイルに
    割当てられる上記メモリ割当方法に於て、 如何なるメモリファイルにも割当てられていないメモリ
    のブロックの第1の記録を保持する工程と、 各ファイルに於ける排他的使用に割当てられておりデー
    タの記憶にまだ用いられていないメモリのブロックの第
    2の記録を保持する工程と、排他的に関連しているメモ
    リの未使用ブロックの量が所定レベルを下回つている第
    1のメモリファイルを突き止めるために上記第2の記録
    を分析する工程と、 如何なるメモリファイルにも割当てられていないメモリ
    のブロックの上記第1の記録の中を探索して上記レベル
    を下回つている上記第1のメモリファイルの排他的使用
    に供すべきある量のメモリブロックを突き止める工程と
    、 上記の突き止められたメモリのブロックを上記第1のメ
    モリの排他的使用に供する工程と、を含むことを特徴と
    する上記メモリ割当方法。 2)上記第1のメモリファイルの排他的使用に供される
    べきメモリブロックの量を示す数を記憶する工程を更に
    含むことを特徴とする特許請求の範囲第1項に記載の方
    法。 3)如何なるメモリファイルにもまだ割当てられないメ
    モリのブロックの数が上記の記憶された数に等しいメモ
    リブロックの量だけ減少させられたという事実を反映す
    るために上記の突き止められたメモリのブロックが上記
    第1のメモリファイルに供された後上記第1の記録を修
    正する工程を更に含むことを特徴とする特許請求の範囲
    第2項に記載の方法。 4)上記第1メモリファイルに割当てられたメモリのブ
    ロックの数が上記の記憶された数に等しいメモリブロッ
    クの量だけ減少したという事実を反映するために上記の
    突き止められたメモリのブロックが上記第1のメモリフ
    ァイルに供させられた後上記第2の記録を修正する工程
    を更に含むことを特徴とする特許請求の範囲第2項に記
    載の方法。 5)上記個別メモリファイルの各々のファイルに於ける
    排他的使用に割当てられたメモリのブロックの第3の記
    録を保持する工程を更に含むことを特徴とする特許請求
    の範囲第4項に記載の方法。 6)上記第1のメモリファイルに割当てられたメモリブ
    ロックの数が上記の記憶する数に等しいメモリブロック
    の量だけ減少したという事実を反映するために上記の突
    き止められたメモリのブロックが上記第1のメモリファ
    イルに供された後上記第3の記録を修正する工程を更に
    含むことを特徴とする特許請求の範囲第5項に記載の方
    法。 7)上記第1のファイルの使用に排他的に供される未使
    用メモリブロックの数が上記所定レベルを下回つた時に
    上記第1のメモリファイルのメモリブロックサイズを拡
    張する要求を発生する工程を更に含み、如何なるメモリ
    ファイルにも割当てられていないメモリのブロックの上
    記第1の記録を探索して上記第1のメモリファイルの排
    他的使用に供されるべきある量のメモリブロックを突き
    止める上記工程が上記の発生させられた信号に応答して
    実行されることを特徴とする特許請求の範囲第1項に記
    載の方法。 8)メモリの各ブロックは、もしあれば、メモリの各ブ
    ロックが供されていたファイルに関する情報を記憶する
    ための第1のスペースを有していることを特徴とし、更
    に、上記の量の割当てられていないメモリブロックが上
    記第1のメモリファイルの排他的使用に供される時に上
    記第1のメモリの識別を上記の突き止められたメモリの
    ブロックの上記第1のスペースに書き込む工程を含むこ
    とを特徴とする特許請求の範囲第6項に記載の方法。
JP60089858A 1984-06-28 1985-04-25 メモリ割当て方法 Expired - Lifetime JPH083798B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62587684A 1984-06-28 1984-06-28
US625876 1984-06-28

Publications (2)

Publication Number Publication Date
JPS6115243A true JPS6115243A (ja) 1986-01-23
JPH083798B2 JPH083798B2 (ja) 1996-01-17

Family

ID=24507988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60089858A Expired - Lifetime JPH083798B2 (ja) 1984-06-28 1985-04-25 メモリ割当て方法

Country Status (6)

Country Link
US (1) US4849878A (ja)
EP (1) EP0166148B1 (ja)
JP (1) JPH083798B2 (ja)
AU (1) AU575182B2 (ja)
CA (1) CA1237530A (ja)
DE (1) DE3586956T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63187344A (ja) * 1987-01-30 1988-08-02 Nec Corp フアイル内空き領域管理方式

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113517A (en) * 1986-04-28 1992-05-12 Xerox Corporation Concurrent display of data from two different processors each having different display font and user interface for controlling transfer of converted font data therebetween
US5062042A (en) * 1986-04-28 1991-10-29 Xerox Corporation System for managing data which is accessible by file address or disk address via a disk track map
JPS6410353A (en) * 1987-07-03 1989-01-13 Hitachi Ltd Computer file system
US5237682A (en) * 1987-10-19 1993-08-17 International Business Machines Corporation File management system for a computer
US4888681A (en) * 1987-10-19 1989-12-19 International Business Machines Corporation Space management system for data files having shared access
US5021946A (en) * 1988-06-17 1991-06-04 Modular Computer Systems, Inc. Mostly contiguous file allocation technique involving file extension
US5161256A (en) * 1988-08-26 1992-11-03 Kabushiki Kaisha Toshiba Method and system for allocating file area in memory area of ic card
GB8829919D0 (en) * 1988-12-22 1989-02-15 Int Computer Limited File system
US5063499A (en) * 1989-01-09 1991-11-05 Connectix, Inc. Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing
US5305440A (en) * 1989-05-15 1994-04-19 International Business Machines Corporation File extension by clients in a distributed data processing system
US5235695A (en) * 1989-06-28 1993-08-10 International Business Machines Corporation Apparatus for efficient utilization of removable data recording media
DE69021143T2 (de) * 1989-06-28 1996-02-29 Ibm Verfahren zur wirksamen Verwendung von auswechselbaren Aufzeichnungsmedien für Daten.
US5900870A (en) * 1989-06-30 1999-05-04 Massachusetts Institute Of Technology Object-oriented computer user interface
US5247660A (en) * 1989-07-13 1993-09-21 Filetek, Inc. Method of virtual memory storage allocation with dynamic adjustment
DE69031031T2 (de) * 1990-05-29 1997-10-30 Hewlett Packard Ltd Bandspeicherung
WO1991019244A1 (en) * 1990-06-04 1991-12-12 3Com Corporation Method for optimizing software for any one of a plurality of variant architectures
US5339411A (en) * 1990-12-21 1994-08-16 Pitney Bowes Inc. Method for managing allocation of memory space
US5237681A (en) * 1991-05-24 1993-08-17 Bell Communications Research, Inc. Relational data base memory utilization analyzer
US5287500A (en) * 1991-06-03 1994-02-15 Digital Equipment Corporation System for allocating storage spaces based upon required and optional service attributes having assigned piorities
JP2962335B2 (ja) * 1991-06-24 1999-10-12 日本電気株式会社 空き領域検索方式
US5448728A (en) * 1991-08-08 1995-09-05 Sharp Kabushiki Kaisha Storage medium control system for controlling a write-once read-many storage medium
US5627764A (en) * 1991-10-04 1997-05-06 Banyan Systems, Inc. Automatic electronic messaging system with feedback and work flow administration
US5555346A (en) * 1991-10-04 1996-09-10 Beyond Corporated Event-driven rule-based messaging system
US5283856A (en) * 1991-10-04 1994-02-01 Beyond, Inc. Event-driven rule-based messaging system
US5369532A (en) * 1991-11-12 1994-11-29 Storage Technology Corporation Method and apparatus for managing data on rewritable media to define read/write operational status
US5822781A (en) * 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
US5546575A (en) * 1994-05-23 1996-08-13 Basil E. Potter & Associates, Inc. Encoding method for compressing a tabular database by selecting effective compression routines for each field and structure of partitions of equal sized records
US5574953A (en) * 1994-08-19 1996-11-12 Hewlett-Packard Company Storing compressed data in non-contiguous memory
DE4435902A1 (de) * 1994-10-07 1996-04-11 Siemens Nixdorf Inf Syst Permanentspeicher
US5852747A (en) * 1995-09-08 1998-12-22 International Business Machines Corporation System for awarding token to client for accessing first data block specified in client request without interference due to contention from other client
US5829013A (en) 1995-12-26 1998-10-27 Intel Corporation Memory manager to allow non-volatile memory to be used to supplement main memory
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US20030195848A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US6311290B1 (en) 1997-02-14 2001-10-30 Intel Corporation Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US5937434A (en) * 1997-02-14 1999-08-10 Intel Corporation Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6182188B1 (en) 1997-04-06 2001-01-30 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6088759A (en) * 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US5983239A (en) * 1997-10-29 1999-11-09 International Business Machines Corporation Storage management system with file aggregation supporting multiple aggregated file counterparts
US6105076A (en) * 1999-04-23 2000-08-15 International Business Machines Corporation Method, system, and program for performing data transfer operations on user data
JP4307121B2 (ja) * 2003-03-25 2009-08-05 三菱電機株式会社 地図データ処理装置
US7185029B1 (en) * 2003-06-27 2007-02-27 Unisys Corporation Method and apparatus for maintaining, and updating in-memory copies of the first and second pointers to reference the new versions of the first and second control structures that indicate available and allocated portions of usable space in the data file
US7610468B2 (en) * 2006-10-26 2009-10-27 Hewlett-Packard Development Company, L.P. Modified buddy system memory allocation
US9507827B1 (en) * 2010-03-25 2016-11-29 Excalibur Ip, Llc Encoding and accessing position data
US10789209B2 (en) * 2013-02-01 2020-09-29 Hitachi Vantara Llc Method and apparatus to enable finer-grained, scalable allocation of storage in a data storage system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57101939A (en) * 1980-12-18 1982-06-24 Nippon Telegr & Teleph Corp <Ntt> Dynamic control system of data base substance storage area
JPS57164352A (en) * 1981-03-25 1982-10-08 Ibm Memory space allotment controller

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE756243A (fr) * 1969-09-17 1971-03-01 Burroughs Corp Procede et appareil pour effectuer et desaffecter de petits espaces d'une memoire a un programme de calculateur.
US3593315A (en) * 1969-09-17 1971-07-13 Burroughs Corp Method and apparatus for deallocating small memory spaces assigned to a computer program
US3840864A (en) * 1971-11-01 1974-10-08 Burroughs Corp Multiple memory unit controller
US3803560A (en) * 1973-01-03 1974-04-09 Honeywell Inf Systems Technique for detecting memory failures and to provide for automatically for reconfiguration of the memory modules of a memory system
US4025903A (en) * 1973-09-10 1977-05-24 Computer Automation, Inc. Automatic modular memory address allocation system
US4025904A (en) * 1973-10-19 1977-05-24 Texas Instruments Incorporated Programmed allocation of computer memory workspace
US4435752A (en) * 1973-11-07 1984-03-06 Texas Instruments Incorporated Allocation of rotating memory device storage locations
CH604322A5 (ja) * 1975-02-10 1978-09-15 Siemens Ag
GB1548401A (en) * 1975-10-08 1979-07-11 Plessey Co Ltd Data processing memory space allocation and deallocation arrangements
US4035778A (en) * 1975-11-17 1977-07-12 International Business Machines Corporation Apparatus for assigning space in a working memory as a function of the history of usage
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
JPS58203558A (ja) * 1982-05-21 1983-11-28 Hitachi Ltd 計算機・記憶装置へのフアイル割り当て方式
US4536837A (en) * 1982-05-25 1985-08-20 Elxsi Improved disk file allocation and mapping system utilizing cylinder control blocks and file map having unbalanced tree structure
US4638424A (en) * 1984-01-12 1987-01-20 International Business Machines Corporation Managing data storage devices connected to a digital computer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57101939A (en) * 1980-12-18 1982-06-24 Nippon Telegr & Teleph Corp <Ntt> Dynamic control system of data base substance storage area
JPS57164352A (en) * 1981-03-25 1982-10-08 Ibm Memory space allotment controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63187344A (ja) * 1987-01-30 1988-08-02 Nec Corp フアイル内空き領域管理方式

Also Published As

Publication number Publication date
EP0166148A3 (en) 1989-09-13
JPH083798B2 (ja) 1996-01-17
EP0166148A2 (en) 1986-01-02
AU3940285A (en) 1986-01-02
CA1237530A (en) 1988-05-31
EP0166148B1 (en) 1993-01-07
AU575182B2 (en) 1988-07-21
DE3586956T2 (de) 1993-07-22
DE3586956D1 (de) 1993-02-18
US4849878A (en) 1989-07-18

Similar Documents

Publication Publication Date Title
JPS6115243A (ja) メモリ割当て方法
US10642515B2 (en) Data storage method, electronic device, and computer non-volatile storage medium
US5628007A (en) Methods for storing a database in extended attributes of a file system
US5819298A (en) File allocation tables with holes
JP4313323B2 (ja) サーチ可能なアーカイブ
US6850929B2 (en) System and method for managing file system extended attributes
KR100856245B1 (ko) 파일 시스템 장치 및 그 파일 시스템의 파일 저장 및 파일 탐색 방법
JPH0766347B2 (ja) データ・ベースにデータを記憶する方法およびデータ・ベース・システム
JPS6115246A (ja) 可変長ビット列生成装置
JPH06508456A (ja) 多重レベルを利用するデータ圧縮
US20060235910A1 (en) Apparatus and method for a managing file system
CN107451138A (zh) 一种分布式文件系统存储方法和系统
CN109582501B (zh) 文件恢复方法、装置、计算机设备及存储介质
US5398335A (en) Virtually updating data records by assigning the update fractional addresses to maintain an ordinal relationship without renumbering original records
JP4304746B2 (ja) ファイルの置き換え方法及び装置
US6697813B1 (en) Data structures and methods for imaging computer readable media
US7720805B1 (en) Sequential unload processing of IMS databases
US6625614B1 (en) Implementation for efficient access of extended attribute data
JP2001312517A (ja) インデクス生成装置及び文書検索装置
JP2874810B2 (ja) キーの記憶割り当て方法
JPS62287350A (ja) インデツクス一括更新方式
JPS595372A (ja) フアイル処理システム
JPS61160133A (ja) デ−タの入力管理方法
JPH0520146A (ja) 電子掲示板装置
JPS59218564A (ja) 情報の記憶方法