JPH09139052A - フアイル管理方法 - Google Patents

フアイル管理方法

Info

Publication number
JPH09139052A
JPH09139052A JP31747295A JP31747295A JPH09139052A JP H09139052 A JPH09139052 A JP H09139052A JP 31747295 A JP31747295 A JP 31747295A JP 31747295 A JP31747295 A JP 31747295A JP H09139052 A JPH09139052 A JP H09139052A
Authority
JP
Japan
Prior art keywords
node
tree
block
data
address
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.)
Pending
Application number
JP31747295A
Other languages
English (en)
Inventor
Tatsuya Inoguchi
達也 猪口
Osamu Udagawa
治 宇田川
Yasuyoshi Kaneko
康芳 金子
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP31747295A priority Critical patent/JPH09139052A/ja
Publication of JPH09139052A publication Critical patent/JPH09139052A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】論理アドレスと物理アドレスとの関係に変更が
あつた場合、当該関係を管理するB*Tree全体を書き換え
る必要があつた。 【解決手段】フアイルデータが格納されるブロツクの論
理アドレスと物理アドレスとの対応関係をB*Treeで管理
するのに加えて、B*Treeを構成する各ノードに格納され
るブロツクの論理アドレスと物理アドレスとの対応関係
をノード・テーブルで管理するようにする。これにより
B*Treeを構成するノードの一部に書き換えが生じた場合
にも、当該ノードに分割や分離が生じていない限り、当
該書き換えに係るノードとこれを管理するノード・テー
ブルだけを書き換えるだけで良くなる。

Description

【発明の詳細な説明】
【0001】
【目次】以下の順序で本発明を説明する。 発明の属する技術分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 発明の実施の形態 (1)デイスク状記録媒体 (1−1)CD−Rデイスクの論理構造(図1〜図5) (1−2)アドレス管理方法(図6) (2)光デイスク装置 (2−1)装置の全体構成(図7及び図8) (2−2)CD−Rフアイルシステム(CDRFS)に
よるアドレス管理機構 (2−2−1)基本構造(図9) (2−2−2)キヤツシユ・マネジヤー (2−2−3)シーケンス・マネジヤー (2−2−3−1)B*Tree(図10〜図13) (2−2−3−2)B*Tree管理機構(図14及び図1
5) (2−3)CD−Rフアイルシステム(CDRFS)を
用いる場合の記録データ構造 (2−3−1)概略構成 (2−3−2)プライマリー・ボリユーム・デイスクリ
プター(PVD )(図16〜図18) (2−3−3)スーパー・ブロツク(図19〜図21) (2−3−4)ノード・テーブル(図22) (2−3−5)B*Treeインデツクス・ノード(図23及
び図24) (2−3−6)Sequence B*Tree リーフ・ノード(図2
5及び図26) (3)実施例のフアイルシステムを用いる効果 (4)他の実施例 発明の効果
【0002】
【発明の属する技術分野】本発明は、例えば追記型デイ
スク(以下、CD−R(Compact Disc write once Read
memoey )デイスクという)のフアイル管理方法に適用
して好適なものである。
【0003】
【従来の技術】今日、画像や文書等を永久保存するのに
適した記録媒体としてCD−Rデイスクが注目され実用
化され始めている。ところでこのCD−Rデイスクは一
箇所に一度だけ書き込みが可能なデイスクであるため、
データの内容が更新された場合にも同一ブロツクに書か
れたデータを書き直すことができない。このためデータ
の内容を書き換える際には、書き換えたいデータを含ん
だブロツクのデータを未使用領域に書き直さなければな
らない。加えて、このようにブロツクの位置に移動があ
ると、移動したブロツクの位置を指し示すブロツクアド
レスについても移動先のブロツクアドレスに書き換えな
ければならなくなる。
【0004】ところがこの参照情報の書き換えは、ある
位置を変えたブロツクを参照するブロツクが20あれば20
個全てについて書き換えを行なわなければならなくな
る。なお書き換え対象であるかかる参照が格納されてい
るブロツクがさらに他のブロツクで参照されているので
あれば、さらにそのブロツクについても書き換え作業が
必要となる。このように参照の書き換えがさらに次の参
照の書き換えを引き起こし、書き換えは参照関係の整合
がとれるまで続くという問題があつた。
【0005】
【発明が解決しようとする課題】そこで一般にはブロツ
クへの参照情報をメデイア上の物理的な位置と切り離す
ことで、このような参照情報の書き換えに係るデータの
書き換え回数を最小限にとどめる工夫がなされている。
すなわち論理的な位置と物理的な位置との対応関係を表
によつて管理し、参照作業は論理的な空間上で行うよう
になされている。これにより実際にデータが書き込まれ
ているブロツクの物理的は位置が変化した場合にも対応
表のみを書き換えることで全ての参照関係のつじつまを
合わせることが可能となる。
【0006】このようにフアイルシステムのような構造
の変化が動的で複雑であるようなデータを扱うものを実
現するためには論理アドレスと物理アドレスの管理機構
が不可欠である。CD−Rフアイルシステム(以下、C
DRFSという)は、このアドレス管理機構をフアイル
システム側でもつことにより、この問題を解決してい
る。一般にこのような1対1の対応関係は配列を用いて
管理することが多いが、メデイア上に大きな連続領域を
必要とする。そこでB* Treeと呼ばれる管理手法を用い
ることによつて分散した領域に対応関係を記録すること
が考えられるが、かかるB* Treeはデータの更新のたび
に各ノード間の参照情報の修正を必要とし、沢山のブロ
ツクを書き換えなければならないという問題があつた。
【0007】本発明は以上の点を考慮してなされたもの
で、従来に比して論理アドレスと物理アドレスの対応関
係の書き換えが少なくて済むフアイル管理方法を提案し
ようとするものである。
【0008】
【課題を解決するための手段】かかる課題を解決するた
め本発明におけるフアイル管理方法においては、フアイ
ルデータが格納されるブロツクの論理アドレスと物理ア
ドレスとの対応関係をB*Treeで管理すると共に、当該B*
Treeを構成する各ノードに格納されるブロツクの論理ア
ドレスと物理アドレスとの対応関係をノード・テーブル
で管理するようにする。従つてB*Treeを構成するノード
の一部に書き換えが生じた場合にも、当該ノードに分割
や分離が生じていない限り、当該書き換えに係るノード
とこれを管理するノード・テーブルだけを書き換えるだ
けで済む。
【0009】
【発明の実施の形態】以下図面について、本発明の一実
施例を詳述する。
【0010】(1)デイスク状記録媒体 (1−1)CD−Rデイスクの論理構造 まず図1にCD−Rデイスクの論理構造を示す。このう
ち図1(A)は最上位の論理構造を表し、図1(B)、
(C)及び(D)はそれぞれさらにその下位に属する論
理構造を表している。さて図1(A)に示すように、C
D−Rデイスクにはデイスクの内周側から外周方向へ1
又は複数の記録領域を記録できるようになされている。
これら記録領域は最内周から外周方向に対して順に第1
セツシヨン、第2セツシヨン、第3セツシヨン……と呼
ばれる。
【0011】ここで各セツシヨンはリードインエリア
(Lead In Area)、プログラムエリア(Program Are
a)、リードアウトエリア(Lead Out Area)によつて構
成される。ただしCD−Rデイスクの場合、リードイン
エリアとリードアウトエリアとに関してはプログラムエ
リアについてデータの書き込みが終了した時点で書き込
みが開始される。このため全てのデータが書き込まれて
いない状態ではCD−ROMデイスク駆動装置で読むこ
とができない。
【0012】なお第1セツシヨンのさらに内周にはPC
A(Power Calibration Area)とPMA(Program Memo
ry Area )とが設けられている。これらはそれぞれレー
ザパワーの調整用及び各セツシヨンの管理用に使用され
る領域である。さて各セツシヨンのプログラムエリア
は、図1(B)に示すように、それぞれ1又は複数のト
ラツクによつて構成され、さらに各トラツクは図1
(C)に示すようにインデツクス領域と複数のパケツト
領域とで構成される。現在の規格では図1(C)に示す
インデツクス領域に「write method」と呼ばれるパケツ
トの種別を表す情報と、「paket length」と呼ばれるア
ドレス変換用の情報とを記録するようになされている。
【0013】ここでパケツトの種別には図2に示す固定
長パケツトの他、図3に示す単一パケツトや図4に示す
ように可変長パケツトがある。図2に示す固定長パケツ
トは「Addressing Method-II」に対応するパケツト構造
であり、図3や図4に示す単一パケツトや可変長パケツ
トはそれぞれ「Addressing Method-I 」に対応するパケ
ツト構造である。従つて「write method」に固定長パケ
ツトの記載があれば、読み出し対象であるトラツクがC
D−Rの規格に準拠したアドレス構造を採ることが分か
る。
【0014】また「paket length」に記載されるパケツ
ト長とは、図1(D)に示す各パケツト内のユーザデー
タ領域を構成するブロツク領域の個数のことであり、ア
ドレスを発生する際に使用される。なおこれらユーザデ
ータ領域の前後には図5に示すようにパケツト間の接続
用にリンク領域が設けられており、それぞれリンクブロ
ツク(Link Block)、ランインブロツク群(Run-in Blo
cks )、ランアウトブロツク群(Run-out Blocks)と呼
ばれている。この例ではリンク領域として7ブロツクが
割り当てられている。以上がCD−Rデイスクに用いら
れる論理構造である。
【0015】(1−2)アドレス管理方法 次に「Addressing Method-I 」及び「Addressing Metho
d-II」のそれぞれによるアドレスの与え方を図6を用い
て説明する。ただし図6において横軸(HA:Header A
ddress)は物理アドレスを表し、縦軸(LBN:Logica
l Block Number)はコンピユータ側が管理する論理アド
レスを表しているものとする。さて「Addressing Metho
d-I 」は物理アドレスと論理アドレスとの間に線形性が
認められる領域であり、図中では「02:02:00」までの領
域が該当する。
【0016】一方、「Addressing Method-II」は物理ア
ドレスと論理アドレスとの間に線形性が認められない領
域であり、図中では第2トラツクの固定パケツト群がこ
れに対応する。すなわち「Addressing Method-II」では
リンク領域のアドレスを論理アドレス上同じアドレスと
みなすように処理している。図中ではこのリンク領域の
部分で物理アドレスと論理アドレスとを対応付ける線分
が階段状になつている。なお先頭パケツトにはこれらリ
ンク領域がないので「Addressing Method-I 」であつて
も「Addressing Method-II」であつても論理アドレスに
対応する物理アドレスに差はなく、同じ物理アドレスが
対応する。
【0017】(2)光デイスク装置 (2−1)装置の全体構成 図7にデイスク駆動装置を外部記憶装置として用いる光
デイスク装置1の構成例を示す。光デイスク装置1は小
型コンピユータ2を中心に構成され、小型コンピユータ
2にモニタ3、入力装置4及びCD−Rデイスク駆動装
置5A、CD−ROMデイスク駆動装置5Bを接続して
構成されている。
【0018】ここでCD−Rデイスク駆動装置5A及び
CD−ROMデイスク駆動装置5Bは小型コンピユータ
2に対してインターフエース2E2を介して接続されて
おり、CPU2AはRAM2B上で実行されるソフトウ
エアプログラムに基づいてCD−Rデイスク駆動装置5
AやCD−ROMデイスク駆動装5Bを駆動するように
なされている。このときソフトウエアプログラムの構造
は図8に示すようになる。
【0019】さらにCPU2Aにはインターフエース2
E1を介して内蔵型のハードデイスク駆動装置2Fが接
続され、ここから各種周辺機器を駆動するプログラム等
が読み出されて実行されるようになされている。またR
OM2CにはBIOS(Basic In Out System )が記憶
されており、起動時に読み込まれるようになされてい
る。
【0020】(2−2)CD−Rフアイルシステム(C
DRFS)によるアドレス管理機構 (2−2−1)基本構造 次にCD−Rフアイルシステムについて説明する。CD
−Rフアイルシステムのアドレス管理機構は、図9に示
すように、シーケンス・マネジヤー(SequenceManage
r)とキヤツシユ・マネジヤー(Cache Manager )との
2つのモジユールによつて構成される。このうちシーケ
ンス・マネジヤーは論理アドレスと物理アドレスとの対
応表をB*Treeを用いて管理している。なおシーケンス・
マネジヤーの論理空間は64ビツトで表され、そのうち上
位32ビツトはフアイルの指定に、下位32ビツトはフアイ
ル内におけるブロツクの指定に使用されるようになされ
ている。すなわち64ビツトの論理空間は32ビツトの物理
空間に対応付けられるようになされている。
【0021】(2−2−2)キヤツシユ・マネジヤー キヤツシユ・マネジヤーはその名の通り、データのキヤ
ツシユ機構である。このCD−Rフアイルシステムでは
データのCD−Rデイスクからの読み出し及びCD−R
デイスクへの書き込みをこのキヤツシユ・マネジヤーを
通じて行なう。例えばキヤツシユ・マネジヤーは指定さ
れた物理アドレスのデータブロツクを返す。実際の物理
アドレスはそのブロツクがCD−Rデイスクに書き込み
終わるまで確定しないので、データの変更が生じたブロ
ツクや新たに生成されたブロツクに対して仮の物理アド
レスが割り当てられる。キヤツシユ・マネジヤーはデー
タがメデイアに書き込まれるまで仮物理アドレスによつ
てこれらのブロツクを管理する。
【0022】このときシーケンス・マネジヤーは物理ア
ドレスが実在の物か仮の物なのかは区別することなくデ
ータブロツクにアクセスすることができる。なおキヤツ
シユ・マネジヤーはブロツクをCD−Rデイスクに書き
込む直前に書き込み予定位置を決定する。決定された書
き込み予定位置は、シーケンス・マネジヤーの管理表に
も反映される。実際の書き込みが成功すると、予定位置
は実際の物理アドレスとなる。
【0023】(2−2−3)シーケンス・マネジヤー (2−2−3−1)B*Tree さてCD−Rフアイルシステムの論理空間はシーケンス
・キー(Sequence Key)と呼ばれる64ビツトの論理アド
レスによりブロツク単位で管理される。ここで1ブロツ
クは2048バイトでなる。このうちシーケンス・キーの上
位32ビツトはシーケンス番号(Sequence Number )と呼
ばれ、同じシーケンス番号をもつブロツクの集合はシー
ケンス(Sequence)と呼ばれる。さてフアイルには固有
のシーケンス番号が対応し、1つのフアイルは1つのシ
ーケンスとして管理される。
【0024】一方、シーケンス・キーの下位32ビツトは
シーケンス・ブロツク番号(Sequence Block Number )
と呼ばれ、シーケンス内のブロツクを指定するのに用い
られるようになされている。ここで1つのシーケンスが
持つことのできるブロツクの数は232 であるから、CD
−Rフアイルシステムが管理できるフアイルの大きさの
上段は8テラバイトとなる。このようにシーケンス・マ
ネジヤーは論理アドレスであるシーケンス・キーと物理
アドレスとの対応関係を図10に示すB*Treeを用いて管
理するモジユールである。ただし本発明に係るシーケン
ス・マネジヤーはさらにB*Treeを管理テーブルで管理す
ることにより書き込み回数の削減を実現している。
【0025】さてシーケンス・マネジヤーが管理するB*
Treeのノードは2048バイト、すなわち1ブロツクであ
る。これらノードは、図11及び図12において「D」
〜「G」で示すように、中間ノードであるインデツクス
・ノード(Index Node)と、実際に論理・物理アドレス
情報の入るリーフ・ノード(Leaf Node )との2種類か
らなる。ここでインデツクス・ノードはノードへの参照
をインデツクス(Index )という形式で170個持つこ
とができ、リーフ・ノードは論理・物理アドレス情報を
エクステント(Extent)と呼ばれる形式で145個持つ
ことができる。なおB*Treeの基本特性から各ノード内に
格納されているインデツクスやエクステントの個数は通
常2/3であり、最悪でも半分は埋まるようになされて
いる。
【0026】因にエクステントはデータブロツクの論理
アドレスであるシーケンス番号と物理アドレスであるL
BAとの対応を示すデータ構造であり、シーケンス番
号、LBA及び長さ(Length)からなる。ここで長さ
(Length)は、連続したシーケンス番号のデータブロツ
クがLBAで示される物理アドレスから何ブロツク連続
しているかを示している。これはエクステントの個数を
減らすための工夫である。例えばシーケンス番号が「 1
2345678h」、LBAが「 1000h」、長さが「 5」で与え
られるエクステントによつて図13に示す5つの対応関
係を1つのエクステントで表現することができる。
【0027】(2−2−3−2)B*Tree管理機構さてB*
Treeを構成しているデータもCD−Rデイスク上に記録
されているので データ内容の更新に伴う参照の書き換えが起きる。そこ
でB*Treeを構成しているデータブロツクについても論理
アドレスと物理アドレスとの対応表とその管理機構が必
要となる。このCD−RフアイルシステムではB*Treeを
構成するブロツクにノード番号(Node Number )と呼ば
れる32ビツトの論理アドレスを付け、これと物理アドレ
スとの対応表を論理アドレスを添字にした配列テーブル
によつて管理するようにする。この配列テーブルはノー
ド・テーブル(Node Table)と呼ばれ、本発明に係るフ
アイルシステムの中核になるテーブルである。この管理
表の例を図14に示す。
【0028】因に図14に示すノード・テーブルの場
合、「entry [0]=30」より、ノード番号「 0」のB*Tree
ブロツクは物理アドレスの「30LBA 」に記録されている
ことが分かる。なおノード・テーブルには配列テーブル
以外に2つのデータが付随している。また「number of
entry 」は配列の要素数を示し、「Free Entry」は配列
内における未使用要素リストの先頭を示している。ここ
で未使用要素リストとは、配列内で使われていない要素
の管理機構であり、配列要素の再利用を簡単にする効果
がある。
【0029】なお未使用要素の中身にはブロツクアドレ
スの代わりに次の未使用要素の添字が入つている。因に
最後の未使用要素の中身には配列の要素数「number of
entry 」が入つている。この例ではtable[2]が未使用要
素リストの先頭であり、以下、table[4]、table[1]とな
る。ところでノード・テーブルはデイスク上の連続領域
に記録する必要がある。なぜなら不連続領域に記録でき
るようにするには、さらに管理機構が必要となつてシス
テムが複雑になるからである。
【0030】なおB*Treeに変更が生じてB*Treeを構成す
るブロツクの書き換えがあつた場合には、やはりノード
・テーブルを更新してデイスクに書き込む必要が生じる
のであるが、このノード・テーブルの存在により書き換
えが必要になるブロツクの波及を最低限に抑えることが
できるといつた効果が得られる。これを次に説明する。
ここではB*Treeが1ギガバイトのデータを管理している
ものとし、その際に必要なブロツク数の最大値を求め
る。このとき最大値が得られるのは、各エクステントが
1つのブロツクを参照し、各ノードが半分しか使用され
ていないときである。
【0031】するとリーフ・ノードのブロツク数及び各
階層のインデツクス・ノードのブロツク数は図15に示
すように与えられ、B*Treeが管理するブロツク数は全体
で8095〔block 〕であることが分かる。なおB*Treeを構
成するブロツク1つにつき論理アドレスを添字にした配
列テーブルには4バイトが必要である。従つてB*Treeを
管理するノード・テーブルの大きさは、最悪の場合で
も、次式
【数1】 に示すように16〔block〕となる。すなわち1ギガバイ
トの空間を管理するB*Treeであつてもこれを管理する管
理テーブルに必要な連続領域はたかだか16ブロツクであ
ることが分かる。
【0032】因にこのCD−Rフアイルシステムの場
合、1パケツトは32ブロツクであつたからノード・テ
ーブルは1パケツトに納めることができる。なおCD−
Rフアイルシステムでは、フラツシユ動作時やイジエク
ト動作時、CD−Rデイスクに書き出す最後のパケツト
にその他の管理情報と共にこのノード・テーブルを納め
るようになされている。このように本発明に係るCD−
Rフアイルシステムのデータブロツクの論理・物理アド
レス管理機構においては、B*Treeとノード・テーブルと
の2重構造を採用した。
【0033】それはB*Treeを使わずに、ノード・テーブ
ルのような単純な配列テーブルだけを用いて論理・物理
アドレス管理機構を実現しようにすると、非常に大きな
連続領域が必要になつてしまうからである。例えば前述
の場合と同様、1ギガ空間を管理する場合の最悪条件を
考えると、1024ブロツクもその連続領域が必要になつて
しまう。またB*Treeのみで管理しようとすると、B*Tree
ノードをLBAで参照することになり、B*Treeノードの
更新の度に参照の書き換えが他のB*Treeノードに波及す
る問題があるからである。
【0034】(2−3)CD−Rフアイルシステム(C
DRFS)を用いる場合の記録データ構造 (2−3−1)概略構成 最後にCD−Rフアイルシステムに基づいてデイスク上
に記録されるデータ構造を説明する。このCD−Rフア
イルシステムではデータを、プライマリー・ボリユーム
・デイスクリプター(PVD:Primary Volume Descriptor
)、スーパー・ブロツク(Super Block )、ノード・
テーブル(Node Table)、B*Tree・インデツクス・ノー
ド、シーケンス・B*Tree・リーフノード、デイレクトリ
ー・B*Tree・リーフノードの6つによつて管理する。
【0035】なおノード・テーブル(Node Table)を除
く全てのデータ構造は1ブロツク(2048〔byte〕)の大
きさを有し、ブロツク境界に記録される。またノード・
テーブルは1ブロツク以上の大きさの可変長データ構造
をとり、その先頭はブロツク境界から始まる。
【0036】(2−3−2)プライマリー・ボリユーム
・デイスクリプター(PVD ) このデータは、図1に示した各セツシヨンの先頭から16
ブロツク目に記録される。なお先頭の1152バイトには
「ISO9660 」のPVD と同じデータが記録されており、11
53バイト目以降にCD−Rフアイルシステムに固有の情
報が格納されるようになされている。図16に、プライ
マリー・ボリユーム・デイスクリプターに書き込まれる
データ例を示す。
【0037】例えば「1152」〜「1156」の「File Syste
m Standard ID」には、用いられるフアイルシステムの
種別が記録される。「1157」の「File System Versio
n」にはバージヨン情報が記録され、「1174」の「Copyr
ight 」には権利者名が記録される。「1174」の「Super
Block Search Method 」には、最新の「Super Block
」がどこに格納されているかを示す情報が記録され
る。一例を図17に示す。
【0038】「1188」、「1189」の「File System Flag
s」にはトラツクのデータ構造が記録される。一例を図
18に示す。「1190」、「1191」の「Packet Size」に
は「Fixed Packet」を構成するユーザデータのブロツク
数が記録される。ただしこの情報は「File system Flag
s」の記述が「Adressing Method II 」のときのみ有効
である。「1192」〜「1195」の「Volume Capacity 」に
はフオーマツト後のメデイアに記録できるユーザデータ
の総ブロツク数が記録される。ただしこの値はOS(Op
erating System)に対してメデイアの総容量を返す際に
利用される参考値であり、必ずしも正確な値ではない。
【0039】(2−3−3)スーパー・ブロツク スーパー・ブロツクに記述されるデータ内容の例を図1
9に示す。ここで「 0」〜「63」の「Super Block Head
er」には文字列が記録され、当該ブロツクがスーパー・
ブロツクであるかどうか認識できるようになされてい
る。なお前項で述べたプライマリー・ボリユーム・デイ
スクリプター(PVD )に「Search Method= 1 」と記載
されている場合には、何らかの不具合で「Super Block
Header」を頼りに過去の「Super Block 」をサーチす
る。なお「64」、「65」の「Super Block Vresion 」に
ついては現時点で使用方が未定である。
【0040】また「66」、「67」の「Super Block Flag
s」には、「Virgin Session 0x0001」が記録され、セ
ツシヨンに有効なデータが記憶されていないこと分か
る。このとき「Current Super Block 」における「Supe
r Block Flags 」に「VirginSessionフラグ」がオン状
態になつているメデイアに対して、書き込み可能状態
(オープンセツシヨン)でのフリーズ動作を行なおうと
してもCDRFSはなにもしない。ただし書き込み禁止
(クローズセツシヨン)のためのフリーズ動作は有効で
ある。
【0041】「68」〜「71」の「Node Table LBA」は
「Node Table」が記録されているブロツクを示す。大き
さが2ブロツク以上の場合、「Node Table」は「Node T
able LBA」が示すブロツクから連続的に記録される。
「72」〜「75」の「Previous Super Block LBA」は前回
記録された「Super Block 」の位置を示す。CD−Rメ
デイアの場合、いつたん記録されたデータはメデイア上
から失われることがないため、「Previous Super Bloc
k」をたどることによつて過去の「Volume」の状態を知
ることができる。「76」〜「79」の「Suquence B*Tree
Root Node Number」は「Suquence Manger」が管理して
いる「Suquence B*Tree 」の「Root Node 」の「Node N
umber 」を示す。
【0042】「80」〜「83」の「Directory B*Tree Roo
t Node Number」は「File Manger 」が管理している「D
irectory B*Tree」の「Root Node 」の「Node Number」
を示す。「84」〜「87」の「Serial Number 」は「Supe
r Block 」の通し番号である。なおフオーマツト時に生
成される「Super Block 」の「Serial Number」は
「0」である。「88」〜「487」の「Super Block Lis
t」は過去50の「Previous Super BlockLBA」を集めた
テーブルであり、図20に示すような「Super Block Li
st Entry」の繰り返しである。
【0043】このうち「Super Block List」の最初のエ
ントリーは「Super Block List」を納めている「Super
Block 」の1つ前の「Super Block 」である。またエン
トリーは、「Super Block 」のSerial番号の降順に並ん
でいる。過去の「Super Block 」が50に満たない場
合、エントリーは先頭から詰められ、未使用のエントリ
は「0」で埋められる。
【0044】「488 」〜「2023」の「Super Block Tag
List」は過去の「Super Block 」の名称ラベル(Tag)の
テーブルであり、図21に示すような「Tag Entry 」の
繰り返しである。なおCD−Rフアイルシステムでは1
つのメデイアに最大24個の名称ラベル(Tag )を付け
ることができる。因に名称ラベル(Tag )の個数が24
個に満たないときは、エントリーは先頭から詰められ、
未使用のエントリは「0」で埋められる。
【0045】(2−3−4)ノード・テーブル ノード・テーブルは前述したように「Sequence B*Tre
e」のノードのノード番号と記録位置(LBA)の対応
表である。連続領域に図22に示すようなフオーマツト
で記録される。なお「Node Table」はデータブロツクの
先頭から連続的に記録され、もし1つのデータブロツク
に収まりきらない場合には次のデータブロツクに続きが
記録されるようになされている。
【0046】(2−3−5)B*Treeインデツクス・ノー
ド このノードは、B*Treeの「Leaf Node 」以外のノードで
ある。これは「Sequence B*Tree 」についても「Direct
ory B*Tree」についても共通である。一例を図23に示
す。なおここで「 4」の「Number of Records 」は「Le
af Node 」に格納される「Index Record」の数を示し、
図24に示すような構造をもつている。さらに「Index
Record」は「Key 」の昇順にソートされて「Index Reco
rd
〔0〕」から順に詰められて記録されるようになされ
ている。
【0047】(2−3−6)Sequence B*Tree リーフ・
ノード このノードは、「Sequence Key」と「 LBA」の対応関係
を格納するための「B*Tree Node 」であり、この一例を
図25に示す。なお「Index Node」内の「Extent」は
「Key 」順にソートされており、図26に示す「Extent
Record
〔0〕」から詰めて記録されている。またノー
ド内の「Extent」の数は「Number of Records 」に入つ
ている。
【0048】(3)実施例のフアイルシステムを用いる
効果 以上説明したように、CD−Rデイスク用のフアイルシ
ステムに、B*Treeとノード・テーブルとを組み合わせた
フアイル管理方法を採用したことにより、B*Treeを構成
するあるノードの内容に変更がある場合にもB*Treeを構
成する他のノードに書き換えが波及するおそれを低減で
き、最小限の書き換えで済ませるようにすることができ
る。
【0049】この様子を図10を例に説明する。従来の
ようにB*Treeだけで管理する場合には、インデツクス・
ノードFの書き換えがあると、互いにリンク関係のある
ノードD、E、G……に書き換えの必要が生じ、総数で
考えると多くの記憶領域を消費しなければならなかつ
た。一方、今回提案した手法の場合、特に書き換え後に
おけるインデツクス・ノードFのエクステントの個数が
格納可能な総数を越えず、ノードの分割も分離も生じな
いときにはある大きさのノードF及びノード・テーブル
Bを書き換えるだけで良い。この効果は書き換える記憶
容量が大きければ大きいほど有効である。
【0050】(4)他の実施例 なお上述の実施例においては、CD−Rデイスクのフア
イル管理方法について述べたが、本発明はこれに限ら
ず、他の記録媒体についてフアイルを管理するフアイル
管理方法に広く適用し得る。また記録媒体についてもC
D−Rに限定して説明したが、これに限らず、広く光デ
イスクに適用し得る。
【0051】
【発明の効果】上述のように本発明によれば、フアイル
データが格納されるブロツクの論理アドレスと物理アド
レスとの対応関係をB*Treeで管理すると共に、当該B*Tr
eeを構成する各ノードに格納されるブロツクの論理アド
レスと物理アドレスとの対応関係をノード・テーブルで
管理するようにしたことにより、B*Treeを構成するノー
ドの一部に書き換えが生じた場合にも、当該ノードに分
割や分離が生じていない限り、当該書き換えに係るノー
ドとこれを管理するノード・テーブルだけを書き換える
だけで済ませることができるフアイル管理方法を実現す
ることができる。
【図面の簡単な説明】
【図1】本発明に係るデイスクのデータ構造の説明に供
する略線図である。
【図2】固定長パケツト構造を示す略線図である。
【図3】単一パケツト構造を示す略線図である。
【図4】可変長パケツト構造を示す略線図である。
【図5】リンク領域部分のデータ構造を示す略線図であ
る。
【図6】2種類のアドレス管理方法を示す図表である。
【図7】光デイスク装置の構成を示すブロツク図であ
る。
【図8】ソフトウエア構造を示すブロツク図である。
【図9】本発明に係るフアイル管理方法で採用するシー
ケンス・マネジヤー及びキヤツシユ・マネジヤーの構造
を示す略線図である。
【図10】B*Treeのデータ構造を示す略線図である。
【図11】本発明に係るフアイル管理方法が管理するデ
ータ構造を示す略線図である。
【図12】本発明に係るフアイル管理方法が管理するデ
ータ構造を示す略線図である。
【図13】エクステントの構造を示す図表である。
【図14】ノード・テーブルの構造を示す図表である。
【図15】B*Treeを構成するブロツク数の求め方を表す
略線図である。
【図16】プライマリー・ボリユーム・デイスクリプタ
ーのデータ構造を示す図表である。
【図17】スーパー・ブロツク・サーチ・メソツドの欄
に記述される内容を示す図表である。
【図18】フアイル・システム・フラグの欄に記述され
る内容を示す図表である。
【図19】スーパー・ブロツクに記述される内容を示す
図表である。
【図20】スーパー・ブロツク・リスト・エントリーに
記述される内容を示す図表である。
【図21】タグ・エントリーに記述される内容を示す図
表である。
【図22】ノード・テーブルに記述される内容を示す図
表である。
【図23】B*Treeインデツクス・ノードを示す図表であ
る。
【図24】インデツクス・レコードを示す図表である。
【図25】B*Treeリーフ・ノードを示す図表である。
【図26】エクステント・レコードを示す図表である。
【符号の説明】
1……光デイスク装置、2……小型コンピユータ、3…
…モニタ、4……入力装置、5A……CD−Rデイスク
駆動装置、5B……CD−ROMデイスク駆動装置。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】フアイルデータが格納されるブロツクの論
    理アドレスと物理アドレスとの対応関係をB*Treeで管理
    すると共に、当該B*Treeを構成する各ノードに格納され
    るブロツクの論理アドレスと物理アドレスとの対応関係
    をノード・テーブルで管理するようにしたことを特徴と
    するフアイル管理方法。
  2. 【請求項2】上記フアイルデータは、追記型記録媒体に
    記憶されていることを特徴とする請求項1に記載のフア
    イル管理方法。
  3. 【請求項3】上記ノード・テーブルは記録媒体上の連続
    領域に記録されることを特徴とする請求項1に記載のフ
    アイル管理方法。
JP31747295A 1995-11-10 1995-11-10 フアイル管理方法 Pending JPH09139052A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31747295A JPH09139052A (ja) 1995-11-10 1995-11-10 フアイル管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31747295A JPH09139052A (ja) 1995-11-10 1995-11-10 フアイル管理方法

Publications (1)

Publication Number Publication Date
JPH09139052A true JPH09139052A (ja) 1997-05-27

Family

ID=18088619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31747295A Pending JPH09139052A (ja) 1995-11-10 1995-11-10 フアイル管理方法

Country Status (1)

Country Link
JP (1) JPH09139052A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2476536A (en) * 2009-12-22 2011-06-29 Intel Corp Modified B+ tree to map logical addresses to physical addresses in NAND flash memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2476536A (en) * 2009-12-22 2011-06-29 Intel Corp Modified B+ tree to map logical addresses to physical addresses in NAND flash memory
GB2476536B (en) * 2009-12-22 2012-02-29 Intel Corp Modified B+ tree to store nand memory indirection maps
US8412881B2 (en) 2009-12-22 2013-04-02 Intel Corporation Modified B+ tree to store NAND memory indirection maps

Similar Documents

Publication Publication Date Title
US4953122A (en) Pseudo-erasable and rewritable write-once optical disk memory system
US5210734A (en) Information management method for appendage type additional information recording medium
JP4085478B2 (ja) 記憶媒体及び電子機器システム
US7024534B2 (en) Information recording medium, information recording method, information recording apparatus, information reproduction method, and information reproduction apparatus
JP4076078B2 (ja) ファイル管理方法
US6501905B1 (en) File management apparatus and method, and recording medium including same
CN1774761B (zh) 用于从记录载体读取或者向其写入的驱动设备和方法
US6278678B1 (en) Editing apparatus, editing method, and recording medium
JPS63244145A (ja) ファイル管理装置
CZ296443B6 (cs) Zpusob zpracování informací a zarízení k jeho provádení
WO1997017657A1 (fr) Appareil et procede de traitement d'informations
WO1996033492A1 (fr) Procede et dispositif permettant de gerer les defauts d'un support d'enregistrement d'informations, et support d'enregistrement d'informations
JP2002074832A (ja) データ改竄チェック装置および方法、ならびに、記録媒体
US7188147B2 (en) I/O method and apparatus for optical storage media
US8239427B2 (en) Disk layout method for object-based storage devices
KR100709153B1 (ko) 기록 방법, 기록 장치, 및 기록 매체
JP4221959B2 (ja) ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体
JPH11232838A (ja) 光ディスク、光ディスク記録装置、及び光ディスク読取装置
JP3694501B2 (ja) 記憶装置
JPH09139052A (ja) フアイル管理方法
JP4585052B2 (ja) データ記録システム
US6108289A (en) Optical disc recording apparatus for overwriting information on a previously recorded packet of an optical disc
KR101149593B1 (ko) 범용 저장 장치를 위한 유연성 있는 포맷팅
JPS6254369A (ja) 文書フアイル検索方式
JP4122454B2 (ja) ディスク記録媒体への情報記録方法および装置