JP4221959B2 - ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体 - Google Patents

ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体 Download PDF

Info

Publication number
JP4221959B2
JP4221959B2 JP2002185681A JP2002185681A JP4221959B2 JP 4221959 B2 JP4221959 B2 JP 4221959B2 JP 2002185681 A JP2002185681 A JP 2002185681A JP 2002185681 A JP2002185681 A JP 2002185681A JP 4221959 B2 JP4221959 B2 JP 4221959B2
Authority
JP
Japan
Prior art keywords
file
file system
data
sub
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002185681A
Other languages
English (en)
Other versions
JP2004030232A (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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2002185681A priority Critical patent/JP4221959B2/ja
Publication of JP2004030232A publication Critical patent/JP2004030232A/ja
Application granted granted Critical
Publication of JP4221959B2 publication Critical patent/JP4221959B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体に係り、特に記録媒体にデータを記録再生する際の管理構造や管理方式を規定するブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体に関する。
【0002】
【従来の技術】
ファイルシステムは、記録媒体にデータを格納し、取り出すために、記録媒体上の記録領域をどのように使用するかを規定する。これまで様々なOS(オペレーションシステム)や組み込み機器のため多くのファイルシステムが開発されてきたが、その中でFATファイルシステムは、歴史的に殆どすべてのOSでサポートされてきた基本的なファイルシステムの一つで、汎用的でデータ交換性に優れることから、リムーバブルメディアのデファクトスタンダードとなっている。
【0003】
詳しくは後述するが、その特徴はクラスタと呼ばれる固定ブロック単位のデータ配置方式、ファイル・アロケーション・テーブル(File Allocation Table:FAT)でのクラスタチェインを用いた配置管理、階層ディレクトリによるファイル管理などである。その他、クラスタ単位のファイル管理を行うファイルシステムとしてはウィンドウズNTのファイルシステムであるNTFS(NT File System)などがある。なお,本明細書において、「ウィンドウズ」は登録商標である.
【0004】
クラスタ単位の管理方法を用いるファイルシステムは、詳しくは後述するが、ファイルサイズとクラスタサイズのミスマッチや、クラスタの分断などによるフラグメンテーションの問題があるため、特開平8−101783号公報では、2種類のクラスタを用意してファイルサイズによって記録する領域を選ぶ新しいファイルシステムを提案している。
【0005】
また、光ディスク系の媒体においては、ISO9660やISO9660をベースとしたファイルシステム、UDF等のファイルシステムが利用されている。DVD−Videoにおいては、新しいファイルシステムである UDFを採用するにあたり、従来のファイルシステムであるISO9660からも利用できるように、UDFとISO9660の2つのファイルシステムが共存するブリッジファイルシステムが採用され、利用者は特定のファイルにアクセスするのにどちらのファイルシステムでも利用できるようになっている。
【0006】
このように、ブリッジファイルシステムの採用は、情報交換用の記録媒体に新フォーマットを導入する際に利用者に受け入れやすい形式であるといえる。
【0007】
【発明が解決しようとする課題】
近年のディジタル画像処理技術の進歩により、AVストリームのリアルタイム記録再生を行う機器が発売されるようになった。AVストリームデータを記録媒体に記録再生するために、記録媒体上での配置や取り扱いを規定するためにファイルシステムが使用されるが、従来のファイルシステムは幾つかの課題を抱えており、AVストリームのリアルタイム記録再生にとっては必ずしも最適ではない。
【0008】
(1)FATファイルシステムとその一般的な課題
初めにFATファイルシステムについて簡単に説明した後、その問題点を述べる。記録媒体は一般にセクタと呼ばれる固定サイズの連続領域を最小単位としてデータの記録再生を行っている。データは記録再生に伴うエラーを回避するため、誤り訂正用の情報やそのほかの管理情報等を付加して記録再生されるが、有効データ部分については一般にそのサイズは2のべき乗で規定される。
【0009】
例えば、一般に用いられるサイズは、ハードディスクの場合512バイト(=2バイト)で、CDROMやDVDROM等の光ディスクの場合は一般に2048バイト(=211バイト)である(小容量のMOは512バイト)。ただし、ハードディスクの場合、512バイト以外の2のべき乗の論理セクタサイズをとることも可能だが、実質的に512バイト以外で用いられることは殆どない。
【0010】
大容量化した記録媒体においては、この論理セクタ数は膨大になり、効率良く管理するには不利なので、いくつかのファイルシステムでは複数の論理セクタを一定個数まとめて記録媒体を管理する手法をとっている。ウィンドウズNTのファイルシステムであるNTFS(NT File System)や、MS−DOSやウィンドウズ3.1/95で使用されるFATファイルシステムはこのようなファイルシステムの例である。
【0011】
図29はFATファイルシステムの構造を説明するための図で、全体は図29(a)に示すように、システム領域1、2つのFAT2、3、ルートディレクトリ領域4、データ領域5から構成される。
【0012】
データ領域5はクラスタと呼ばれる連続する複数セクタ単位に分割して使用され、クラスタと1対1に対応するエントリを持つ管理テーブルであるFATを使ってファイルの配置情報を管理する。各クラスタには、順番に番号(クラスタ番号)が振られる。
【0013】
図29(a)に2及び3で示すように、FATは2つあって、1つは予備である。また、システム領域1にはOSのブートコードやファイルシステム全体の管理情報などが格納されている。記録データはディレクトリ上でファイルとして記録され、ルートディレクトリを頂点とする任意の木構造からなる階層構造を構成する。
【0014】
ルートディレクトリ4以下のディレクトリはサブディレクトリと呼ばれ、1つの特殊なファイルとして管理される。ディレクトリの構造はルートディレクトリもサブディレクトリも同じで、ディレクトリエントリのテーブルになっている。
【0015】
1つのディレクトリエントリには、記録データの内容を表すファイル名等の情報とともに、データの先頭が格納されているクラスタのクラスタ番号をファイルのエントリ情報として記録する。
【0016】
FATはクラスタ番号のテーブルになっており、図29(b)に示すように、ファイルエントリで示されるクラスタ番号に対応するエントリには、ファイルデータの連結状態を示すために次のクラスタ番号が記録され、複数のクラスタに分散されたデータのつながり(クラスタチェイン)を管理することができる。ファイルの最後のクラスタには最終クラスタであることを示す識別子(FAT16の場合、FFFF)が記録される。このように、FATファイルシステムにおいては、ファイルはディレクトリとFATの2つを用いて管理される。
【0017】
なお、クラスタ内に欠陥セクタがあると、そのクラスタは使用不可能な領域であることを示す識別子がFATに記録されるので、このクラスタは使用しない。従って、たとえ1セクタでも不良の領域があった場合は、そのセクタが属するクラスタ全体が使用不可能となるため、クラスタサイズが大きいほど効率的な使用の妨げになる。
【0018】
FAT上のクラスタエントリの内容は、クラスタ番号を意味するので、そのエントリに与えるビット数によって、ファイルシステム全体で扱えるクラスタの数が決まる。FATファイルシステムには、そのビット数の違いで幾つかのバージョンがあり、FAT12、FAT16、FAT32ファイルシステムと呼ばれることがある。
【0019】
FAT12、FAT16、FAT32などの数字の部分はクラスタ番号のビット数を示し、それぞれ12ビット、16ビット、32ビットを意味している。従って、各ファイルシステムが扱えるクラスタの総数は、それぞれおよそ2の12乗、2の16乗、2の32乗個程度になる。実際には予約番号等があるためにこれらの数字より若干小さい値となる。図29(b)に示すFATは、FAT16の例である。
【0020】
FATファイルシステムの場合、クラスタサイズは記録媒体の容量によってある一定値に決定され、記録媒体の容量が大きくなるほど大きくなる。図30は代表的なファイルシステムの容量とクラスタサイズの関係を示す。
【0021】
しかし、上記のFATファイルシステムでは、クラスタと呼ぶ一定サイズの記録単位でファイルの記録再生を行うため、記録単位のサイズがファイルサイズにとって必ずしも最適とはならない。
【0022】
これを解決するための手段として、従来は特開平8−101783号公報では、通常のクラスタサイズのほかに、クラスタをさらにサブクラスタに分割して、2種類のクラスタサイズを用意しているファイルシステムが開示されている。これによって、大きいファイルは通常のクラスタの領域に、小さいファイルはサブクラスタの領域に、ファイルサイズに応じて選択して記録する。
【0023】
図31は上記の特開平8−101783号公報記載の従来のファイルシステムの一例の構成図を示す。このファイルシステムは、映像情報やオーディオ情報処理用のコンピュータ7に、キャッシュメモリ8を介して直接アクセス装置9としての磁気ディスク装置を接続して構成されており、磁気ディスク装置内の制御部は磁気ディスクに対するヘッダ部の制御と共に、コンピュータ7からの命令に従って、所定のファイルの読み書き制御をする。このとき、制御部は、磁気ディスクを、先頭番地からファイル・アロケーション・テーブルを格納する512kバイトのシステム領域R1と、個々のデータファイルを格納するデータ領域R2に分割して管理する。
【0024】
データ領域R2は、512kバイトの複数のクラスタC1、C2、・・・、Cxに分割され、更にクラスタは128kバイトの複数のサブクラスタSC1、SC2、・・・、SC5に細分割管理してあり、システム領域R1に設定されたファイル・アロケーション・テーブルにデータ領域R2に割り付けるべきファイル情報を格納して管理するようにされている。
【0025】
すなわち、この従来のファイルシステムでは、ファイルサイズの違いによる使用効率やアクセス効率の改善を図るために、記録媒体を、ファイル・アロケーション・テーブルを格納するシステム領域R1と、個々のデータファイルを格納するデータ領域R2に分割し、データ領域R2を大容量の複数のクラスタC1、C2、・・・、Cxに分割するとともに、このクラスタを複数のサブクラスタSC1、SC2、・・・、SC5に細分割できるようにしている。さらに、サブクラスタの先頭領域には、システム領域に格納されたファイル・アロケーション・テーブルに関連付ける第2のファイル・アロケーション・テーブルを配置し、サブクラスタ内のファイルの配置を管理している。
【0026】
従って、AVデータ等の大容量ファイルデータは、システム領域のファイル・アロケーション・テーブルの管理に従って、大容量のクラスタに割り付け、テキストデータ等の小容量のファイルデータはサブクラスタに割り付けることにより、記録媒体の使用効率を向上する。また、上記のサブクラスタSC1、SC2、・・・、SC5への分割は、取り扱うべき複数のテキストファイル等の容量に基づいて、システムの初期設定時に予め固定することにより、記録媒体の使用効率を向上する。
【0027】
なお、特開平8−101783号公報に記載の用語「ファイル・アロケーション・テーブル」は、FATファイルシステムにおけるFATの名称と同じであるが、内容は異なるので注意を要する。特開平8−101783号公報における「ファイル・アロケーション・テーブル」は、ファイル名とそのクラスタチェインのリスト構造であり、FATファイルシステムのようなクラスタエントリのテーブルは存在しない。
【0028】
【発明が解決しようとする課題】
しかし、前記FATファイルシステムにおけるクラスタによる記録領域の管理方法には一般に次のような弊害がある。
(a)外部フラグメンテーション
FATファイルシステムのように、クラスタ単位でデータ配置を管理する媒体の運用を続けていると、ファイルの削除、作成といったファイル操作の繰り返しによって、図32にXで示すように、媒体上のファイル配置がクラスタ単位でばらばらになっていく。これを外部フラグメンテーションと呼び、外部フラグメンテーションの発生個所では、機械構造を持つ記録デバイスにおいてはヘッドシークが発生するためアクセス速度の低下を招くという欠点がある。
【0029】
機械構造を持たないフラッシュメモリなどの電気的デバイスにおいては、中央処理装置(CPU)の処理能力やバスの転送速度などが十分な場合は、軽微な問題ではあるものの、データ転送手続きを分割する手間等の増加によるパフォーンスの低下という影響がある。
【0030】
この問題の解消のために、一般にはデフラグというツールを用い、クラスタ単位のデータの並び替えを行ってデータの連続化を行う方法がある。しかしデフラグの実行は膨大な時間とリソースの消費を招くため、アプリケーション実行時の重大な妨げになる。
【0031】
(b)内部フラグメンテーション
クラスタ単位でデータを扱うため、クラスタサイズ未満のファイルを記録すると、図32にYで示すように最終クラスタ内に未使用領域が発生する。これを内部フラグメンテーションまたはクラスタギャップと呼び、記録媒体の使用効率の低下を招く。ここでは、(a)の外部フラグメンテーションと対比する意味で内部フラグメンテーションという用語を用いる。一般に、記録容量が大きいほどクラスタサイズが大きくなるため、内部フラグメンテーションが増大し、記録媒体の使用効率が下がるという欠点がある。
【0032】
(c)欠陥領域
従来のFATファイルシステムでは、たとえ1セクタでも不良の領域があった場合は、そのセクタが属するクラスタ全体が使用不可能となるため、クラスタサイズが大きいほど効率的な使用の妨げになる。
【0033】
(d)交替領域
DVD−RAMのように、デバイスが欠陥領域を自動的に交替領域に割り当てるものがあるが、欠陥領域の管理単位がクラスタサイズと一致しないため、クラスタ内の論理アドレスが連続していても物理アドレスは不連続になり、実質的に外部フラグメンテーションが発生していることと同じ状況になってしまう場合がある。
【0034】
(e)テーブルサイズ
FATのテーブルサイズの最大値は、ほぼクラスタに与えるエントリのビット数とクラスタの数の積になるため、記録媒体の容量が大きい場合は膨大なサイズとなる。例えば、2GBのFAT16ファイルシステムの場合、FATのサイズは約120kバイトである。新しくファイルを記録する場合は、事前にFATを調査して未使用領域を探す必要がある。この場合、120kバイトものテーブルをサーチして空き領域を探す必要があるため効率が悪い。
【0035】
また、大きいサイズのテーブルをメモリ上に保持することは、システムリソースを圧迫し、特に組み込み用機器等、リソースが貧弱な機器にとっては甚だしく不利である。かといってメモリ上にテーブルを持たないと、上記データが必要になる度に、記録媒体にアクセスする必要があるため効率が低下するという問題がある。
【0036】
また、前記の特開平8−101783号公報には、ファイルサイズの違いによる使用効率やアクセス効率の改善を図るという、特定の用途に最適化するための新しいファイルシステムが開示されている。しかし、このように特定の用途に最適化するために新しいファイルシステムを導入すると、通常のコンピュータシステムでは、この媒体にアクセスできないという問題がある。
【0037】
この場合、新しいファイルシステム用のデバイスドライバ等をシステムに組み込む必要があるため、ユーザーにシステムの変更や手間を要求することになり、情報交換性という点ではあまり好ましくない。また、各種コンピュータシステムに対応するために多くの種類のドライバを配布し、それを適切に誤りなく組み込むことは難しい。
【0038】
(2)その他のファイルシステムについて(NTFS)
NTFSは、FATファイルシステムと同様にクラスタ単位のファイル配置を行うが、FATよりも比較的フラグメンテーションが発生しにくく、信頼性を向上させる仕組みや、より細かい属性設定が可能などのいくつかの特徴を持つ。従って、FATファイルシステムより、柔軟で高度な管理が可能である。
【0039】
NTFSの構造上の特徴は、パーティション内のすべてのファイルやディレクトリ毎に固定長の管理レコードを作成し、これを集中的に管理している。この管理レコード群はマスター・ファイル・テーブル(MFT:Master File Table)と呼ばれる1つのファイルである。
【0040】
各管理レコードは固定長であり、このサイズに納まるような小さいファイルは管理レコード内で完結するように保存される。一方、管理レコードのサイズを越える大きいファイルは、MFT以外の領域に一連の新しいクラスタが割り当てられ、そこへのインデックスが管理レコードに保存される。従って、このような大きいファイルではFATファイルシステムと同様にクラスタ単位のフラグメンテーションが発生する可能性がある。従って、この点については特にFATファイルシステムより優れているわけではない。
【0041】
また、MFT自体も一つのファイルであるため、MFTに最初に割り当てられるサイズを越えると、その度に32レコード分の拡張が行われ、フラグメンテーションが発生する。NTFSでは、MFTのフラグメンテーションは顕著な効率低下を招くので望ましくない。
【0042】
(3)その他のファイルシステムについて(ISO9660とUDF)
光ディスクではCD−ROMの標準論理フォーマットとして用いられているISO9660規格に対し、再生専用・追記・書き換え型の物理特性を持つ各ディスクに共通に適用可能で、汎用性や拡張性を重視したUDF(Universal Disk Format)ファイルシステムが開発されており、DVDやCD−RW等で採用されている。
【0043】
ISO9660とUDFのどちらも論理セクタの連続する塊としてファイル配置を表現するファイルシステムであるが、管理構造は異なっている。UDFのボリューム空間は、CD−ROMのボリューム構造を含むように構成できるようになっており、DVD−ROMディスクなどの再生専用ディスクでこのようなブリッジ構造を実現している。
【0044】
このようなブリッジ構造の採用により、既存のコンピュータシステムは新しいファイルシステムであるUDFファイルシステムを使用しなくても、標準的に搭載されているISO9660ファイルシステムを使用して、ディスク上に記録されたファイルにアクセスすることが可能になる。
【0045】
(4)特定用途に対する問題点
近年、ハードディスクドライブ(HDD)を用いて、AVストリームのリアルタイム記録再生を行う機器が発売されるようになった。このAVストリームは、高いビットレートでリアルタイムに伝送する必要があるため、外部フラグメンテーションによるアクセス効率の低下は、リアルタイムの記録再生に障害となる場合がある。
【0046】
そこで、クラスタ内の領域は連続領域に記録されることから、外部フラグメンテーションの影響を少なくするために、クラスタサイズを大きくする方法が考えられる。これによって、データに連続的にアクセスできるようになるため、アクセス速度の保証が可能になり、AVストリーム等のリアルタイム記録再生に有利である。たとえ、外部フラグメンテーションが発生しても、もともとクラスタサイズが大きいため、ヘッドシークによるアクセス速度の低下を無視できる程度に下げることができる。
【0047】
このようにクラスタサイズを大きくすると、外部フラグメンテーションの影響を最小化することが可能だが、その反面、サイズの小さなファイルに対して内部フラグメンテーションが増大し、ハードディスクの使用効率が低下するという問題がある。
【0048】
すなわち、AVストリームは一般にファイルサイズが大きくなるため、外部フラグメンテーションに関する問題は少ないが、これを管理するためのファイルや一般のファイルは、AVストリームと比較するとサイズが小さく、しかも数多く作成されるため、これらのファイルに対する内部フラグメンテーションがハードディスクの効率的な使用を妨げていた。
【0049】
(5)リムーバブルメディアの可換性の問題
前記(4)のような問題を解決するために新しいファイルシステムを導入する場合、組み込み型の記録媒体であれば、閉じたシステムであるため全く独自のファイルシステムを導入しても問題ない。
【0050】
しかし、リムーバブルのHDDや不揮発性メモリカード等を搭載したムービーで利用する場合、これらの記録媒体をパソコンなどの既存のコンピュータシステムで利用できれば優れた情報交換性を発揮できる。この時、記録媒体に対して独自のファイルシステムでファイルを記録していた場合、既存のコンピュータシステムは、そのままでは認識できない。このような場合はユーザーに対しそのファイルシステムのためのデバイスドライバを組み込むことが要求され、情報交換性を著しく阻害することになる。
【0051】
本発明は、以上の点に鑑みなされたもので、2つのファイルシステムを共存させ、どちらのファイルシステムからでも、記録された情報をアクセスし得るブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体を提供することを目的とする。
【0052】
また、本発明の他の目的は、サイズの大きなAVストリームデータから、サイズの小さなAVストリームの管理情報などのファイルまでを最適に記録し得るブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体を提供することにある。
【0053】
また、本発明の他の目的は、殆どすべてのコンピュータシステムに適用し得るブリッジファイルシステム及び記録媒体を提供することを目的とする。
【0054】
更に、本発明の他の目的は、FATシステムを使用する場合よりも高度な管理が可能なブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体を提供することにある。
【0055】
また、本発明の更に他の目的は、論理セクタ単位に管理し得るブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体を提供することにある。
【0056】
【課題を解決するための手段】
上記の目的を達成するために。第1の発明は、記録媒体上の連続する記録領域を複数の論理セクタから構成される一定サイズの基本ブロック毎に分割し、該基本ブロック単位でデータを配置して管理する第1の管理方法と、任意の前記基本ブロックを各々同一サイズの複数の論理セクタから構成される複数のサブブロックに分割し、そのサブブロック単位でデータを配置して管理する第2の管理方法を持ち、前記第1及び第2の管理方法のうち選択した管理方法でデータを記録再生する第1のファイルシステムと、前記記録領域を前記サブブロックと同一サイズのブロック単位でデータを配置して管理する第2のファイルシステムとが共存するブリッジファイルシステムであって、前記記録領域のデータファイルに対し、前記第1及び第2のファイルシステムの両方からアクセス可能な管理構造を有し、前記第1のファイルシステムは、前記記録領域内の前記基本ブロック毎の状態を表すフラグの集合とその管理情報が記録された第1のビットマップテーブルを前記記録領域上に配置し、前記サブブロックに分割された前記基本ブロックは、その基本ブロック内のサブブロック毎の状態を表すフラグの集合とその管理情報が記録された第2のビットマップテーブルを該当する基本ブロック毎に対応付けて前記記録領域上に配置し、前記第2のファイルシステムの管理情報のうち、前記第1のファイルシステムが参照可能な前記記録領域に配置される管理情報がある場合は、前記第1のファイルシステムの前記サブブロックのエリアに配置し、前記第2のファイルシステムは、前記第1及び第2のビットマップテーブルをファイルとして参照可能で、前記第2のファイルシステムにおけるブロック毎の使用状態とファイルの配置状態を管理する第3のテーブルを持つブリッジファイルシステムである。
【0057】
また、第2の発明は、第1のブリッジファイルシステムにおいて、前記第2のファイルシステムはFATファイルシステムであり、前記第3のテーブルはファイルアロケーションテーブル(FAT)である。
【0058】
また、第3の発明は、第1のブリッジファイルシステムにおいて、前記第2のファイルシステムはNTFSファイルシステムであり、前記第3のテーブルはマスターファイルテーブル(MFT)である。
【0059】
また、第4の発明は、第1のブリッジファイルシステムにおいて、前記第1のファイルシステムは、前記記録領域内の前記基本ブロック毎の状態を表すフラグの集合とその管理情報が記録された第1のビットマップテーブルを前記記録領域上に配置し、前記サブブロックに分割された前記基本ブロックは、その基本ブロック内の前記サブブロック毎の状態を表すフラグの集合とその管理情報が記録された第2のビットマップテーブルを該当する基本ブロック毎に対応付けて前記記録領域上に配置し、前記第2のファイルシステムは、前記第1及び第2のビットマップテーブルをファイルとして参照可能で、前記第2のファイルシステムの管理情報のうち、前記第1のファイルシステムのデータエリアに配置される管理情報がある場合は、前記第1のファイルシステムの前記サブブロックのエリアに配置し、前記記録領域のデータファイルに対し、前記第1及び第2のファイルシステムの両方からアクセス可能な管理構造を有する。
【0060】
また、第4の発明は、第4のブリッジファイルシステムにおいて、前記第2のファイルシステムは、ISO9660またはUDFである。
【0061】
また、第6の発明は、記録媒体上の連続する記録領域を複数の論理セクタから構成される一定サイズの基本ブロック毎に分割し、該基本ブロック単位でデータを配置して管理する第1の管理方法と、任意の前記基本ブロックを各々同一サイズの複数の論理セクタから構成される複数のサブブロックに分割し、そのサブブロック単位でデータを配置して管理する第2の管理方法を持ち、前記第1及び第2の管理方法のうち選択した管理方法でデータを記録再生する第1のファイルシステムと、前記記録領域を前記サブブロックと同一サイズのブロック単位でデータを配置して管理する第2のファイルシステムとが共存するブリッジファイルシステムをコンピュータに搭載したコンピュータシステムであって、前記記録領域のデータファイルに対し、前記第1及び第2のファイルシステムの両方からアクセス可能な管理構造を有し、前記第1のファイルシステムは、前記記録領域内の前記基本ブロック毎の状態を表すフラグの集合とその管理情報が記録された第1のビットマップテーブルを前記記録領域上に配置し、前記サブブロックに分割された前記基本ブロックは、その基本ブロック内のサブブロック毎の状態を表すフラグの集合とその管理情報が記録された第2のビットマップテーブルを該当する基本ブロック毎に対応付けて前記記録領域上に配置し、前記第2のファイルシステムの管理情報のうち、前記第1のファイルシステムが参照可能な前記記録領域に配置される管理情報がある場合は、前記第1のファイルシステムの前記サブブロックのエリアに配置し、前記第2のファイルシステムは、前記第1及び第2のビットマップテーブルをファイルとして参照可能で、前記第2のファイルシステムにおけるブロック毎の使用状態とファイルの配置状態を管理する第3のテーブルを持つブリッジファイルシステムをコンピュータに搭載したコンピュータシステムである。
【0062】
また、第7の発明は、記録媒体上の連続する記録領域を複数の論理セクタから構成される一定サイズの基本ブロック毎に分割し、該基本ブロック単位でデータを配置して管理する第1の管理方法と、意の前記基本ブロックを各々同一サイズの複数の論理セクタから構成される複数のサブブロックに分割し、そのサブブロック単位でデータを配置して管理する第2の管理方法を持ち、前記第1及び第2の管理方法のうち選択した管理方法でデータを記録再生する第1のファイルシステムと、前記記録領域を前記サブブロックと同一サイズのブロック単位でデータを配置して管理する第2のファイルシステムとが共存するブリッジファイルシステムを用いたデータ管理方法であって、前記第1及び第2のファイルシステムは、前記第1のファイルシステムに基づき前記記録領域に記録された第1のデータファイルと前記第2のファイルシステムに基づき前記記録領域に記録された第2のデータファイルのいずれに対しても、それぞれアクセス可能であり、前記第1のデータファイルを、前記基本ブロック毎の状態を表すフラグの集合とその管理情報とからなる第1のビットマップテーブル、又は前記サブブロック毎の状態を表すフラグの集合とその管理情報が記録された第2のビットマップテーブルが、前記基本ブロック単位又は前記サブブロック単位で記録されたテーブル領域と、データが前記基本ブロック単位又は前記サブブロック単位で記録されたデータ領域とが分離された構造とし、
前記第1及び第2のビットマップテーブルの前記フラグの集合には、そのビットマップテーブルにより管理する前記第1のデータファイル中のデータ領域に、専用のアクセス手段によってのみアクセス可能な一時削除ファイルが記録されていることを示す第1のフラグと、予め記録する領域を確保するために特別に設けられた予約領域ファイルが確保されていることを示す第2のフラグとを含み、前記第1及び第2のビットマップテーブルにより、前記データ領域に記録するデータを管理することを特徴するブリッジファイルシステムを用いたデータ管理方法である。
【0065】
【発明の実施の形態】
次に、本発明の一実施の形態について図面と共に説明する。図1は本発明になるブリッジファイルシステム及び記録媒体の一実施の形態の概略説明図を示す。同図において、記録媒体100上の連続する記録領域には、第1のファイルシステムの第1又は第2のビットマップテーブル101と、第2のファイルシステムの第3のテーブル102とが記録されている。また、第1のファイルシステムによるファイル103、104が記録媒体100上に記録されている。
【0066】
ここで、上記の第1のファイルシステムは、記録媒体100上の連続する記録領域を複数の論理セクタから構成される一定サイズの基本ブロック毎に分割し、基本ブロック単位でデータを配置して管理する第1の管理方法と、任意の前記基本ブロックを各々同一サイズの複数の論理セクタから構成される複数のサブブロックに分割し、そのサブブロック単位でデータを配置して管理する第2の管理方法を持ち、前記第1及び第2の管理方法のうち選択した管理方法でデータを記録再生する。
【0067】
この第1のファイルシステムは、上記の記録領域内の基本ブロック毎の状態を表すフラグの集合とその管理情報が記録された第1のビットマップテーブル101を記録媒体100上に配置し、サブブロックに分割された基本ブロックは、その基本ブロック内のサブブロック毎の状態を表すフラグの集合とその管理情報が記録された第2のビットマップテーブル101を該当する基本ブロック毎に対応付けて記録媒体100上に配置し、第2のファイルシステムの管理情報のうち、第1のファイルシステムのデータエリアに配置される管理情報がある場合は、第1のファイルシステムの前記サブブロックのエリアに配置する。
【0068】
また、上記の第2のファイルシステムは、上記の記録領域をサブブロックと同一サイズのブロック単位でデータを配置して管理する既存のファイルシステムである。この第2のファイルシステムは、第1及び第2のビットマップテーブルをファイルとして参照可能で、第2のファイルシステムにおけるブロック毎の使用状態とファイルの配置状態を管理する第3のテーブル102が記録されている。
【0069】
これにより、第1のファイルシステムに対応したコンピュータシステム105は、第1又は第2のビットマップテーブル101に基づいて、ファイル103や104の再生ができる。また、既存の第2のファイルシステムが搭載されているコンピュータシステム106においても、第3のテーブル102に基づいて記録されたファイル103及び104にアクセスできる。このように、本発明では第1及び第2のファイルシステムのどちらからもアクセスできるようにしたので、第2のファイルシステムとして、コンピュータシステムに標準的に搭載されているファイルシステムを採用すれば情報交換が容易になる。
【0070】
なお、第1のファイルシステムに対応したコンピュータシステム105が、第3のテーブル102に基づいて、ファイル103、104をアクセスすることは可能であるが、第1又は第2のビットマップテーブル101を参照した方が最大効率でファイル103、104をアクセスできるので、第3のテーブル102を用いてアクセスすることは特に必要ではない。
【0071】
次に、本発明のブリッジファイルシステムの一実施の形態のデータ領域の使用方法について説明する。nを2以上の自然数、mを任意の自然数とすると、複数の一定サイズの論理セクタで構成される記録媒体のデータ領域をmnセクタ毎の基本ブロックに分割し、識別番号として先頭から順番にブロック番号を振る(mnはm×nの意味)。
【0072】
各基本ブロックは、連続するmセクタからなる、n個のサブブロックに分割することができる。データを記録する場合は、基本ブロック単位またはサブブロック単位に記録する。
【0073】
図2は本発明の記録媒体の記録領域の先頭付近の利用状況の一実施の形態を示す。同図において、各ブロックのサイズはmnセクタ分のサイズであり、ブロック番号1,2,4が基本ブロック単位で使用され、ブロック番号0、3がn個のサブブロックに分割して使用されている。サブブロックへの分割は必要に応じて行うものとし、フォーマット時は分割されていない基本ブロックのみでもよい。
【0074】
記録媒体へのデータ配置をこのようにしておくことにより、一般に基本ブロックよりも大きいサイズのファイルは分割しないブロックにそのまま記録し、基本ブロックよりある程度小さいサイズのファイルは、サブブロックに記録することによって、2つのメリットが得られる。
【0075】
1つは、大きいファイルは基本ブロック単位でしか外部フラグメンテーションが発生しないので、HDD等に適用した場合、ヘッドシークの発生を最小限にでき、アクセス効率が向上する点である。もう1つは、小さいファイルはサブブロックに配置するため、内部フラグメンテーションによって発生する可能性のある無駄な領域をサブブロックのサイズ以下に抑えることができる点である。
【0076】
サブブロックへ分割する際のサイズの基準は、任意に設定できるが、基本ブロックに占めるデータの割合が大きい場合に、基本ブロックとして使用するのが一般的にはよい。例えば、基本ブロックサイズの80%を越える場合には基本ブロックとして扱い、そうでない場合はサブブロックに分割する。この設定によって、基本ブロックで発生する内部フラグメンテーションによる使用効率の低下は、最終基本ブロックサイズの20%以下に抑えることができる。
【0077】
また、基本ブロックより大きいファイルは、複数の基本ブロックに書き込まれることになるが、最終ブロックについては基本ブロックより小さいファイルと同等の状況になるので、このようなファイルに対しては、最終ブロック以外は基本ブロック単位で扱い、最終ブロックについては、前記基準を適用して、場合によってはサブブロックに分割するようにしてもよい。
【0078】
なお、この基準は絶対的なものではなく、0%から100%まで、システムやアプリケーションのポリシーによって自由に設定することができる。例えば、将来追加書き込みが予想されるファイルは、無条件に基本ブロックとして扱ったほうがよい。その理由は、サブブロックに分割した後で残りの領域に別なファイルが書き込まれた場合、追加書きこみデータを連続領域に書き込めないからである。逆に、アクセス性よりも使用効率の方が重要であるなら、サブブロックへの分割の優先度をあげ、必ず分割するようにしてもよい。
【0079】
次に、本発明において、前記2種類のデータ配置を効率良く管理する方法について説明する。
【0080】
本発明の特徴の1つは、データ領域の使用状況等を示す管理情報をデータの配置情報と分離して用意したことである。この管理情報は、データ領域の2種類の利用方法に対応した2種類のビットマップテーブルによって実現している。
各基本ブロックおよびサブブロックは、それぞれ自分のブロックに対応する数ビットのフラグを持ち、このフラグの組み合わせによって、ブロックの使用状態等を判断することができる。
【0081】
図3は本発明のブリッジファイルシステムにおけるブロック毎の管理情報を示すための各種フラグの定義例を示す。図3では、一つのブロックについて、ビット(bit)0〜3の4つのフラグを割り当てており、第1と第2のビットマップテーブルでほぼ共通に使用することができる。
【0082】
同図において、ビット0のスケール(scale)フラグは、基本ブロックを基本ブロック全体として使用しているか、サブブロックに分割して使用しているかを示すフラグで、0のときサブブロックに分割して使用していることを示す。このフラグは、第1のビットマップテーブルで使用するときのみ有効で、第2のビットマップテーブルでは、使用しない。あるいは、ここでは解説しない別な用途に用いてもよい。
【0083】
ビット1のユーザブル(usable)フラグは、そのブロックに利用可能な空き領域があるかどうかを示すフラグで、scaleフラグの内容によって若干意味が異なり、scaleフラグが1の時は、その基本ブロックが完全に未使用であるかどうかを示し、scaleフラグが0の時は、完全に未使用なサブブロックが存在するかどうかを示す。すなわち、どちらの場合も利用可能なブロックがある場合に1にする。
【0084】
従って、scaleフラグとusableフラグの2つのビットを検索することによって、基本ブロック又はサブブロック単位で未使用なブロックがあるかどうか簡単に判断することができる。
【0085】
ビット2のプリアロケーテッド(preallocated)フラグは、そのブロックを記録に先だって予約しておくためのフラグであり、1のときにそのブロックが予約領域であることを示す。更に、ビット3のディフェクト(defect)フラグは、1のときはそのブロックに欠陥領域があって使用できないことを示し、0のときはそのブロックに欠陥領域がなく使用可能であることを示す。
【0086】
なお、図3は一例であって、予約領域をサポートしない場合は、プリアロケーテッドフラグはなくてもよい。また、欠陥領域をサポートしない場合は、defectフラグはなくてもよい。また、図3に示す以外のその他の管理情報を示すフラグがあってもよい。
【0087】
また、第1のビットマップテーブルにおいては、scaleフラグとusableフラグの両方のビットが必要だが、第2のビットマップテーブルにおいては、usableフラグのビットのみ必要なので、ブロックに割り当てるビット数を前者は2ビット、後者は1ビットにしてもよい。構造を同じにすれば、処理を共通化できるメリットがあるので、同じビット数を割り当てて、第2のビットマップテーブルではscaleのフラグに相当するビットを使用せず、あるいは別な用途に用いるようにしてもよい。
【0088】
本実施の形態では、1つのブロックが持つ情報は図3に示すように高々数ビットであるため、ビットマップテーブル全体のサイズは極めて小さく、大容量の記録媒体であっても、媒体全体の使用状況等を高速に取得できる。また、サイズが小さいため、機器のメモリ上に読みこんでもシステムリソースを圧迫しないというメリットがある。
【0089】
例えば、FATファイルシステムでは、データ領域の使用状況等とデータの配置情報が分離されず一体となっており、クラスタチェインを記録した1つの巨大なテーブルとなってしまう。このため、記録時には媒体の空き領域を探すのに時間と手間がかかる欠点があり、再生時もクラスタのリンク情報を辿らなければならず、やはり時間と手間がかかり、いずれも効率的でない。また、FATのテーブルは、サイズが大きいためメモリ上でシステムのリソースを圧迫する。2GバイトのFAT16ファイルシステムでは、FATサイズは約120kバイトにもなる。
【0090】
これに対し、本実施の形態では、記録時はサイズの小さいビットマップテーブルをサーチして空き領域を探すだけなので、極めて高速に効率良く情報を取得でき、リソースも殆ど消費しない。また、再生時にはビットマップテーブルの参照は不要で、直接ファイルの管理情報から、配置状況を取得できる。
【0091】
前記2Gバイトの例で比較すると、基本ブロックサイズを1.5Mバイト、サブブロックサイズをFAT16ファイルシステムと同じ32Kバイトとした場合、1つのブロックの状態を表すのに4ビット使用すると仮定すると、第1のビットマップテーブルの本体部分は僅か680バイト程度となり、FATファイルシステムの180分の1である。第2のビットマップテーブルは、1つにつきテーブル部分が24バイトと、これも非常に小さい。
【0092】
本実施の形態においては、全体の使用状況を示すサイズの小さい第1のビットマップテーブルがあるため、全体の状況を素早く取得することが出来、必要に応じて参照される第2のビットマップテーブルは、まとめて配置することができるため、サブブロックの状況も素早く取得することができる。
【0093】
次に、本発明のブリッジファイルシステムの一実施の形態における第1及び第2のビットマップテーブルの一例について説明する。図4は第1のビットマップテーブルの一例を示し、図5は第2のビットマップテーブルの一例を示す。
【0094】
図4の第1のビットマップテーブルおいて、スペース・アロケーション・インフォメーション・デスクリプタ(Space_Allocation_Information_Descriptor)は、第1のビットマップテーブルの先頭に位置し、第1のビットマップテーブルであることを示す識別子の他、第1のビットマップテーブル全体のサイズなどの情報が格納されている。
【0095】
サイズオブLC(Size_of_LC)は、基本ブロックのサイズ、サイズオブマップ(Size_of_MAP)は、ビットマップ本体部分のサイズ、サイズオブDSC(Size_of_DSC)は、デフォルトのサブブロックサイズ、サイズオブDSCMAP(Size_of_DSCMAP)は、デフォルトの第2のビットマップテーブルのサイズ、ナンバー・オブ・ブロック(Number_of_Block:NB)は、基本ブロックの数、ナンバー・オブ・スモールブロック(Number_of_Small_Block)は、基本ブロックのうち、サブブロックに分割されている基本ブロックの数、SAIアラインメント(SAI_Alignment)は、第1のビットマップテーブルをスタッフィングデータによって、512バイトの倍数のサイズにした場合のサイズ、SBI_Dアラインメント(SBI_DAlignment)は、第2のビットマップテーブルをスタッフィングデータによって、512バイトの倍数のサイズにした場合のデフォルトサイズ、ベーシック・ブロック・ビットマップ(Basic_Block_Bitmap)は、サイズがNB/2バイトのビットマップ本体をそれぞれ示す。ベーシック・ブロック・ビットマップの要素の1つが、図3に示すフラグを表す。
【0096】
図5の第2のビットマップテーブルにおいて、スモール・ブロック・インフォメーション・デスクリプタ(Small_Block_Information_Descriptor)は、第2のビットマップテーブルの先頭に位置し、第2のビットマップテーブルであることを示す識別子の他、第2のビットマップテーブル全体のサイズなどの情報が格納されている。
【0097】
また、ベーシック・ブロック・ナンバー(Basic_Block_Number)は、所属する基本ブロックの識別番号、ブロックアドレス(Block_Address)は先頭ブロックの論理ブロックアドレス(パーティション先頭を0番地とする論理セクタ単位のアドレス番号)、SBIアラインメント(SBI_Alignment)は、スタッフィングデータによって、512バイトの倍数のサイズにした場合のサイズで、第1のビットマップテーブルにおける、SBI_DAlignmentと異なる場合、このSBI_Alignmentの方を優先する。
【0098】
サイズオブLC(Size_of_LC)は、対応する基本ブロックのサイズ、サイズオブSC(Size_of_SC)はサブブロックサイズで、第1のビットマップテーブルにおけるサイズオブDSCと異なる場合は、このサイズオブSCの方を優先する。サイズオブSCMAP(Size_of_SCMAP)は、第2のビットマップテーブルのサイズで、第1のビットマップテーブルにおけるサイズオブDSCMAPと異なる場合は、このサイズオブSCMAPの方を優先する。
【0099】
また、ナンバーオブSC(Number_of_SC:NSC)は、この基本ブロック内に含まれるサブブロックの数、スモール・クラスタ・ビットマップ(Small_Cluster_Bitmap)は、サイズがNSC/2バイトのビットマップ本体を示す。スモール・クラスタ・ビットマップの要素の1つ1つが、図3に示すフラグを表す。ただし、図3のScaleフラグは無効なフラグである。
【0100】
第1のビットマップテーブルは、媒体全体又は媒体がパーティションに分割されている場合はパーティション全体に対して1つ存在する。なお、安全性を高めるために、内容が同一なコピーを別に用意してもよい。第2のビットマップテーブルは、サブブロックに分割された基本ブロック毎に存在するので、0個から基本ブロックの個数までいろいろな場合がある。コピーを用意する場合は、コピーに応じた数だけ増加する。
【0101】
第1のビットマップテーブルには、第2のビットマップテーブルに関するデフォルトのサイズのパラメータがいくつか用意されており、サブブロックに分割する際のガイドラインとして使用することができる。第2のビットマップテーブルのパラメータを常にこのデフォルト値に従って作成することにより、第2のビットマップテーブルの管理がより容易になる。
【0102】
一方、すべてのパラメータをデフォルト値に合わせなくても、第2のビットマップテーブルのパラメータを優先するようにしたので、基本ブロック単位でサブブロックの利用方法を独自に設定することができ、記録するファイルの性質に応じたダイナミックな運用が可能である。例えば、ある基本ブロックと別な基本ブロックで、サブブロックのサイズを異なる値に設定することができる。どのような使い方をするかは、アプリケーションが自由に設定してよい。
【0103】
本発明によるブリッジファイルシステムは記録するデータを限定するものではないが、特定の用途のアプリケーションに関連するデータを記録するのに特に適している。このような例の1つとして、映像や音声をリアルタイムで記録し、プレイリストを使って通常再生し、サーチ情報を使って特殊再生するようなアプリケーションがある。
【0104】
AVのストリームデータは、一般にサイズが大きく、リアルタイム性が要求されるため、本発明における基本クラスタ単位での記録再生に最適である。また、プレイリストやサーチのための情報など、AVのストリーム以外のデータはAVデータと比較してサイズがはるかに小さいために、サブブロックに記録するのに最適である。また、基本ブロック単位に記録するファイルであっても、最終ブロックを有効に使用するため、最終ブロックのみサブブロックに分割してもよい。
【0105】
このようなアプリケーションでは、サイズの大きいデータと小さいデータが別に存在することが予めわかっているため、フォーマット時に記録媒体をいくつかの領域に分け、例えば基本ブロック単位で使用する領域とサブブロック単位で分割して使用する領域の2つに分けてもよい。このように、予め領域を定めて使用すると、基本ブロック中にサブブロックに分割されたエリアが存在しないため、混在した場合よりも基本ブロック単位の外部フラグメンテーションが発生しにくい。ただし、ファイルの最終部分が格納される。基本ブロックについては、元々データ境界であるため、基本ブロックとして利用する領域であっても、例外的にサブブロックに分割し、空き領域を効率的に使用してもよい。
【0106】
このように、予め領域を定める場合は、使用中に領域の過不足が生じる可能性があるので、任意の領域を拡大、縮小、移動、挿入、削除、コピーなどの操作によってダイナミックに変更できるようにするとよい。
【0107】
AVストリームデータは、データの信頼性よりもリアルタイム性が要求され、一方プレイリストやサーチのための情報などは、データの信頼性の方が重要なので、前記分割した領域に対して、予めエラー発生時のリカバリー方法を個別に設定するとよい。
【0108】
例えば、AVストリームデータを記録再生する基本ブロック単位の領域は、エラー発生時のリトライを行わないものとし、プレイリストやサーチのためのデータを記録再生するサブブロック領域は、ある程度のリトライを許すことによって、データの性質に応じた最適な記録再生が行える。
【0109】
このようなエラー発生時の対応方法を設定した情報は、管理情報としてフォーマット時に記録媒体に保存しておくか、後から必要に応じて設定変更する。また、記録媒体がハードウェア的にそのような仕組みに対応している場合は、その仕組みに合わせた手続によって対応方法の設定もしくは参照を行うことにより、エラー発生に対応すればよい。
【0110】
次に、本発明におけるサブブロックの活用方法について説明する。サブブロックの活用方法には、サイズの小さいファイルへの適用のほか、欠陥領域への適用がある。記録媒体は、一般に初期不良あるいは使用中の不良発生によって欠陥領域が発生することがある。FATファイルシステムにおいては、このような欠陥領域はクラスタ単位で欠陥であることを示し、使用しないようにする。従って、たとえ1セクタの不良であっても、クラスタ全体が使用不能になってしまう。このため、クラスタサイズが大きくなればなるほど、欠陥セクタのために無駄になる領域が増えてしまい、記録媒体の使用効率が下がってしまう。
【0111】
これに対して、本発明においては欠陥領域が存在する場合、これを含む基本ブロックをサブブロックに分割することで、無駄になる領域をサブブロック内にとどめることができる。さらに、サブブロックのサイズは基本ブロック毎に独自に設定することができるため、該当基本ブロックにおけるサブブロックのサイズを論理セクタサイズと等しくすることにより、無駄な領域を完全になくすことも可能である。
【0112】
また、基本ブロック全体が欠陥領域である場合は、その基本ブロックはサブブロックには分割せず、第1のビットマップテーブルの該当する基本ブロックに対応するdefectフラグをセットする。
【0113】
また、サブブロックに分割すると正常なサブブロックがある場合は、その基本ブロックはサブブロックに分割して使用し、第2のビットマップテーブル内でサブブロック毎に欠陥領域があるかどうかをdefectフラグに反映する。
【0114】
記録媒体によっては、DVD−RAMのようにデバイスが欠陥管理機能を持っていて、欠陥領域を正常領域に自動的にマッピングし直すものがある。このように正常領域にマッピングされた領域のことを交替領域と呼ぶ。交替領域の存在は一般にアプリケーションからは見えないため、連続領域にアクセスしているつもりでも物理的には不連続にアクセスしていることがある。
【0115】
本発明では、基本ブロックを物理的に連続する領域で構成することによってHDDなどにおけるヘッドシークを避け、AVストリームなどのリアルタイムアクセスが必要な用途に最適に使用できることを可能にしている。従って、AVストリームに使用する場合は、基本ブロック内に交替セクタが存在しない方がよい。サブブロックについては、そのような制約はないので交替領域があってもよい。
【0116】
従って、AVストリームの記録再生を目的とする場合は、記録媒体上に交替セクタがある時は、前記交替セクタを含む基本ブロックをサブブロックに分割して使用することで、基本ブロック単位で使用する場合には交替セクタが存在しないことを保証することができる。なお、基本ブロック全体が交替セクタになっていて、交替領域が連続しているならそのまま基本ブロックとして使用してもよい。
【0117】
次に、予約領域を設定できるという本発明の特徴について説明する。予約した領域であることを示すために、第1、第2のビットマップテーブルともにブロックに対応したプリアロケーテッドフラグを持ち、このフラグがセットされていると、対応する基本ブロックまたはサブブロックが予約領域であることがわかる。従って、別なプロセスが同じ記録媒体を共有して使用している場合であっても、別なプロセスが予約領域を使用することがない。
【0118】
また、予約領域は一種の特別なファイル(予約領域ファイルと呼ぶことにする)として登録し、その管理情報にそこに記録するファイルの識別情報(ファイルシステムが使用するファイルの識別番号、あるいはファイル名など)を格納できるようにしておくと、その予約領域がどのファイルの記録のために予約してあるのか判断できる。この管理情報は、領域予約時に指定してもよいし、予約時には単に領域だけ確保し、実際に記録する段階で記録するファイルの識別子をセットしてもよい。
【0119】
また、予約領域ファイルは他の通常ファイルと区別できるように、その管理情報として予約領域ファイルであることを示す識別情報をもつようにする。予約領域はファイルとして管理するようにしたので、複数の予約領域を区別して管理することができる。また、予約した領域は予約領域ファイルとして参照できるので、予約する時点ではそこに記録するデータを特定せず領域の確保だけを行い、後で実際にデータを記録する際に、既にある予約領域ファイルを参照することによって確保した予約領域を利用することができる。
【0120】
また、予約領域に記録するファイルの管理情報には、予約領域ファイルを特定するための識別情報を格納できるようにする。これによって、予約領域ファイルとそこに記録するファイルの間で相互に参照できるようになる。
【0121】
あるファイルにおいて予約領域をセットして記録する場合、基本ブロック単位に記録するファイルの場合は、基本ブロック単位に予約領域を確保し、サブブロック単位に記録するファイルの場合は、サブブロック単位に予約領域を確保する。予約領域のサイズは、予約領域を確保する際に同時に指定するようにする。
【0122】
あるいは、指定したサイズが基本ブロックより大きいか小さいかによってどの単位で予約領域を確保するかを決めてもよい。例えば、指定したサイズが基本ブロックより大きい場合には基本ブロック単位の予約領域とし、小さい場合はサブブロック単位の予約領域としてもよい。この時、予約したブロックに対応するプリアロケーテッドフラグを予約領域としてセットする。
【0123】
予約領域にデータを記録中に予約領域が足りなくなりそうな場合、予約領域の残りサイズが予め定めた量以下になると、予約領域を拡張する。予約領域を拡張する場合、拡張するサイズは予め定めたサイズ、または予約領域に作成時に決定したサイズ、または予約領域に記録するファイルをオープンした時点で決定したサイズのいずれかで拡張するものとし、そのサイズは基本ブロックまたはサブブロックの倍数とする。
【0124】
拡張する予約領域は、現在の予約領域の直後以降で利用可能な最初の基本ブロックまたはサブブロックから確保する。従って、基本ブロック単位で拡張する場合は、第1のビットマップテーブルを検索して、予約領域より後の利用可能な最初の基本ブロックを探す。
【0125】
サブブロック単位で拡張する場合は、予約領域が所属するサブブロックの第2のビットマップテーブル内に予約領域より後の利用可能なサブブロックがあるかを検索し、そこにない場合、あるいはそれでは不足する場合、次に利用可能な基本ブロックを第1のビットマップテーブルから検索し、そこをサブブロックに分割した上で先頭から順に予約領域として確保するか、サブブロックに分割した基本ブロックを第1のビットマップテーブルから探し、その中で利用可能な最初のサブブロックを探して確保する。
【0126】
もし、確保した領域よりも後に新たに確保する領域が見つからない場合は、媒体の先頭に戻って、空き領域を探す。予約領域ファイルは、後で予約領域を追加する場合の追加領域サイズを管理情報として持つことができる。追加領域サイズがない場合、あるいは特に指定しない場合は、基本ブロックまたはサブブロックの数倍のあらかじめ定めた単位で拡張するようにする。
【0127】
このように、本実施の形態では、予約領域にデータを記録している際に、予約領域が不足した場合、適切なサイズで予約領域を拡張できるようにしたので、最初の予約領域サイズが不充分であっても、外部フラグメンテーションの発生を最小限に抑えながら、動的に対応できる。
【0128】
他方、予約領域が余った場合、余った領域をそのまま残しておいてもよいし、解放してもよい。どちらにするかは、予め予約領域を作成する時点、あるいは、予約領域への記録を開始する時点で決めてもよいし、記録するファイルをクローズする時点で決めてもよい。
【0129】
解放する場合は、ビットマップ上のプリアロケーテッドフラグをリセットし、予約領域ファイルを削除する。そのまま残す場合は、ビットマップ上のプリアロケーテッドフラグと予約領域ファイルを残ったエリアに対応するように修正する。残った予約領域を利用して前記ファイルに追加書きこみをする場合は、前記ファイルには前記予約領域ファイルの識別情報があるので、これを参照することによって直ちに記録する場所の情報を取得できる。
【0130】
このように、本実施の形態では、予約領域にデータを記録している際に、記録終了時に予約領域が余った場合、その領域をそのまま予約領域として残しておくか、あるいは解放するかを、指定することができるので、例えば後から追加記録する可能性が大きい場合は、将来の記録に備えてそのまま予約領域を残し、追加記録する可能性が低い場合は、予約領域を開放して、媒体の空き領域を増やすような運用ができる。
【0131】
次に、本発明のAVストリームへの適用例として、MPEG2のトランスポートストリーム(TS)とプログラムストリーム(PS)の両方に適用可能な実施の形態について説明する。
【0132】
TSは主に放送系に使用される188バイトのパケットサイズのストリームである。TSはパケットの到着時刻によってデコーダのシステムクロックを管理するので、TSパケットを記録する場合は、到着時刻におけるシステムのカウンタの値をタイムスタンプとしてパケットに付加して記録する方法がDVHS等で一般に行われている。タイムスタンプやその他の付加情報を含めたパケットサイズは一般に192バイトである。
【0133】
一方、PSは主にDVD等の蓄積系に使用され、パケットサイズは可変であるが、DVDの場合、光ディスクのセクタサイズ(2048バイト)との親和性から2048バイトが一般に使用される。このサイズはHDDで一般に用いられるセクタサイズ512バイトの整数倍(4倍)であるため、HDDとも同様に親和性がよい。すなわち、光ディスクには1セクタに1パケット記録可能で、HDDには4セクタに1パケットを記録可能である。HDDの場合は4セクタをセットで扱うことによって容易に1パケットを扱うことが可能である。
【0134】
これに対し、TSは192=2×3より、因数に3を含んでいるため、HDDや光ディスクにTSパケットを記録すると、パケットが2つのセクタにまたがる個所が発生する。一つのパケットは連続して記録再生することが望ましいが、一般にはパケットが分割される場所で外部フラグメンテーションが発生する可能性がある。
【0135】
例えば、FATファイルシステムでは、連続しないクラスタにまたがってパケットが配置される可能性がある。FATファイルシステム以外のファイルシステム、例えば光ディスクに用いられるUDF(Universal Disk Format)などではクラスタという概念は無く、ディスク上の連続セクタ領域(エクステント)毎に記録しており、各エクステントのサイズには制約がないため、エクステントの境界で、パケットの分割が発生する可能性がある。
【0136】
これを避けるためには、PSの場合は1個のパケットを複数個の連続するセクタで記録し、TSの場合は複数個の連続するパケットを複数個の連続するセクタで記録するための制約を与える必要がある。
【0137】
そこで、TSとPSで一般的に用いられるパケットサイズ192バイトと2048バイトの最小公倍数である6144バイト(=6kバイト;1kバイトは1024バイト)の倍数を基本ブロックのサイズとすると、TS、PSいずれのパケットを記録する場合でもパケットが2つの基本ブロックをまたがることがないので、基本ブロック単位の外部フラグメンテーションが発生しても問題ない。
【0138】
次に、配置されたデータ(ファイル)を配置方法に関わり無く、共通の構造で管理する方法について説明する。前述したように、2種類のブロックサイズ(すなわち、基本ブロックとサブブロックの各ブロックサイズ)に応じた2種類のビットマップテーブルを持つことは、これによって記録媒体の使用状況を効率良く検索できるので、特に記録時に必要なブロックサイズの空き領域を素早く取得するのに有効である。以下では、再生時のファイルへのアクセス方法について説明する。
【0139】
本発明では、基本ブロックに格納されたファイルであっても、サブブロックに格納されたファイルであっても、あるいは、両者をどのように組み合わせて格納されたファイルであっても、同一の形式、手続きでアクセスすることができるため、サブブロックに格納されたファイルへのアクセスが不利になることはない。
【0140】
このため、本発明では、媒体上のデータを連続するセクタに配置されたデータの塊の集合として扱っている。このデータの一塊のことを一般にエクステントと呼び、一般に用いられているデータの管理形式の一つである。
【0141】
図6は本発明におけるファイル管理情報の一例を示す。ファイル管理情報は、ファイル本体と1対1に対応する一種のファイルである。同図において、ファイル・インフォメーション・ブロック・デスクリプタ(File_Information_Block_Descriptor)は、ファイル管理情報であることを示す識別子の他、ファイル管理情報全体のサイズなどの情報が格納されている。
【0142】
また、ファイル・インフォメーション(File_Information)は、ファイル名、タイムスタンプ、アクセス属性などの各種属性、ファイルサイズ等が格納される。また、ナンバーオブエクステント(Number_of_Extent:NE)はエクステントの数、ファイルエクステント(File_Extent)はNE個のエクステントの並びである。
【0143】
エクステントの表現形式はいろいろあるが、基本的にはエクステント先頭データの媒体上のアドレスと、エクステントのサイズの組み合わせで表す。本発明の一実施の形態では、エクステントの先頭アドレスとしてパーティション先頭からの論理ブロックアドレスを用いているが、論理セクタアドレス等、媒体上の位置を特定できるアドレス情報であれば何を用いてもよい。また、エクステントサイズは、論理ブロック単位に丸めた値を用いているが、実際に使用しているバイト数を用いてもよい。論理ブロック単位に丸めた値を用いる場合は、ファイル・インフォメーションに格納されたファイルサイズから正確なバイト数を得ることができる。
【0144】
図7は本発明になる記録媒体の一実施の形態の記録情報の説明図を示す。同図において、記録媒体は同一サイズの基本ブロック毎に論理的に分割されており、データ領域の先頭から昇順に識別番号が割り当てられている。図7はその一部を取り出した例で、丸数字で示す4から17までの基本ブロックと、その一部の拡大図を示している。基本ブロックのうち、丸数字の13と16はどちらも12個の同一サイズのサブブロックに分割してある。
【0145】
なお、サブブロック数は12個以外の数であってもよく、また基本ブロック毎に違う数であってもよい。また、サブブロックの取り扱いを容易にするために、基本ブロック内をすべて等サイズのサブブロックに分割することが望ましいが、基本ブロック内の最終ブロックのサイズが異なることを禁止するものではない。
識別情報としては、基本ブロックの位置が特定できれば十分であり、上記のように基本ブロック毎に昇順につけられた識別番号を利用する場合は、基本ブロックのサイズと識別番号の積で、基本ブロックの開始位置が特定できる。基本ブロックの開始セクタアドレスと終了セクタアドレス(またはサイズ)を直接用いれば計算しなくても直ちに位置を特定できる。
【0146】
また、図7において、ファイルaとファイルbは基本ブロック単位に記録した大きいサイズのデータである。このうち、ファイルaは3つの連続する基本ブロック(丸数字5、6、7)に配置されているため、1つのエクステントEa1で構成されているが、ファイルbは2つのエクステントEb1とEb2に分かれており、ここで基本ブロック単位の外部フラグメンテーションが発生している。なお、ファイルbの最終部分は、領域を有効活用するためにサブブロックに分割されている。
【0147】
ファイルcとファイルdは、サブブロック単位に記録した小さいサイズのデータである。ファイルcは丸数字13で示す基本ブロック中のサブブロックの識別番号7〜9の3つの連続するサブブロックに配置されているため、1つのエクステントEc1で構成されている。これに対し、ファイルdは丸数字16で示す基本ブロック中の識別番号0〜3までの連続するサブブロックからなるエクステントEd1と、識別番号7と8のサブブロックからなるエクステントEd2の計2つのエクステントに分かれて配置されているため、ここでサブブロック単位の外部フラグメンテーションが発生している。以上をまとめると、表1に示すようになる。
【0148】
【表1】
Figure 0004221959
【0149】
なお、図7の例では説明のためにファイルを分割して媒体上にばらばらに配置したが、通常の使用時に空き領域がある場合は、できるだけ連続する領域に配置するように運用する。
【0150】
一つのファイルの配置情報はエクステントによって管理する。ファイルが媒体上で複数のエクステントに分かれている場合は、エクステント情報の並び(リスト)によって、その配置状態を表す。エクステントの情報は、エクステント先頭データの媒体上のアドレスと、エクステントのサイズの組み合わせで表す。一般に媒体へのアクセスは論理ブロック単位で行われるため、ファイルの先頭は論理ブロックの先頭から配置される。
【0151】
従って、通常、前記アドレスは論理ブロックアドレスなどのブロック単位のアドレスで表記される。また、サイズについても同じ理由から論理ブロック単位で指定されることが多い。論理ブロックのサイズは媒体によって異なり、一般にHDDやメモリデバイス等では512バイト、光ディスク系では2048バイトが用いられる。実際のデータサイズは、論理ブロック以下の端数がでるため、最終論理ブロックについては、ファイル全体のサイズから有効データサイズを取得する。エクステントのサイズとしてバイト単位で指定するようにした場合は、全体のサイズ情報が無くても直接有効なデータサイズを取得することができる。
【0152】
図7において、4つのファイルa〜dの配置情報を取り出してまとめると、表2に示すようになる。
【0153】
【表2】
Figure 0004221959
表2において、S(=Sa、Sb、Sc、Sd)はそれぞれファイルa、b、c、dのファイルサイズ、N(=Na、Nb、Nc、Nd)はエクステントの数、(A,E)は1つのエクステント情報であり、Aがエクステントの先頭論理ブロックアドレスを示し、Eがエクステントの論理ブロック単位のサイズを示す。*はファイルの識別用に便宜的に付加したもので、a、b、c、dはそれぞれのファイルa、b、c、dに対応する。数字はエクステントの番号である。
【0154】
図6と対応付けると、Sはファイル・インフォメーション(File_Information)内に格納される情報、Nはナンバーオブエクステント(Number_of_Extent:NE)、(A,E)はファイル・エクステント(File_Extent)[NE]である。
【0155】
図6の別な例として、File_Extent[NE]の最後の要素の後に、最後のエクステントであることを示すターミネイト識別子を置いてもよい。この場合、ナンバーオブエクステントがなくてもすべてのエクステントがわかるので、ナンバーオブエクステントを省略してもよい。また、ファイル・インフォメーション・ブロック・デスクリプタ内に、この管理情報全体のサイズを格納しておけば、ナンバーオブエクステントも前記ターミネイト識別子も省略することができる。あるいは、すべての情報を省略することなく格納することで、管理情報全体の信頼性を向上させることもできる。
【0156】
ターミネイト識別子を置く場合、通常のエクステント情報と同じ構造で、通常のエクステントと区別できるものを予め決めておけば何でもよい。例えば、エクステントのサイズが0のエクステントは存在しないので、E=0のエクステント情報をターミネイト識別子とすることができる。あるいは、エクステント情報毎にフラグを用意して、最終エクステントかどうかを明示してもよい。
【0157】
このように、ファイルの配置情報は、ファイルの配置場所に関わり無く同じ形式で表現されるため、基本ブロックに配置されたファイルでも、サブブロックに配置されたファイルでも同じ手続きでアクセスすることができるため、どちらかのアクセス効率が不利になることはない。また再生時は、前記エクステント情報だけを用いてファイルの配置情報を取得でき、ビットマップテーブルを参照する必要はない。
【0158】
次に、配置済みのファイルが実際にどのように2つのビットマップテーブルで表現されているかを、図7の例を使って説明する。図8は図7に対応する第1のビットマップテーブルの例である。この例では、ブロックの状態を表す管理情報として、図3に示した例のうち、スケール(scale)とユーザブル(usable)の2ビットだけを用いた。この2ビットは第1のビットマップテーブルを構成するための最低必要な要素である。
【0159】
図8は各ブロックに対応する各フラグがどの状態になっているか分かり易いようにテーブルで表現してある。scaleフラグは1の時に基本ブロック単体として使用していることを示し、0の時にサブブロックに分割してあることを示す。従って、図8のscaleフラグより、図7に丸数字13と16で示した2つの基本ブロックがサブブロックに分割してあることがわかる。また、図8のusableフラグは、scaleフラグに対応する未使用のブロックがあるかどうか(使用可能かどうか)を示すフラグであって、1のときscaleフラグに対応した未使用のブロックがあることを示す。
【0160】
従って、例えば、ブロック4は基本ブロックとして割り当ててあり1バイトも使用していない。ブロック5は基本ブロックとして使用中であることを示している。また、図7では、ブロック7は基本ブロックとして使用しており、まだ空き領域はあるが、この部分はもう基本ブロックとしては新たに使用できない(既にあるデータへの追記録しかできない)ので、ブロック5と同じように扱われる(usable=0)。
【0161】
一方、ブロック13は基本ブロックに割り当てられたファイルbの最終部分が格納されるブロックであるが、ブロック7と異なりサブブロックに分割してある。図7の拡大図を見ると、この部分はサブブロックの先頭の3ブロックしか使用していないため、ブロック7と異なり残りの9個のサブブロックを他のデータの記録用に使用することができる。
【0162】
図7の例では、実際にサイズScのファイルcを基本ブロック13の中の7、8及び9番目のサブブロックに記録している。ファイルcを記録した後でも、基本ブロック13の中の3〜6番目と10、11番目のサブブロックは未使用なので、サブブロックとして利用可能なブロックが存在する(usable=1)。
【0163】
図9はサブブロックに分割した基本ブロック13の第2のビットマップテーブル(ビットマップ本体のみ)を示す。図7に示したように、基本ブロック13は、サブブロック0、1、2がファイルbの最終部分によって使用され、サブブロック7、8、9がファイルcによって使用されているので、図9に示す第2のビットマップテーブルは、サブブロック0、1、2、7、8、9が使用されていることを、usable=0で示している。
【0164】
図9ではサブブロックの状態を管理するフラグとしてはusableの1ビットだけを示した。この1ビットが第2のビットマップテーブルを構成するための最低必要な要素である。同様に、図10には基本ブロック16の第2のビットマップテーブルを示す。図7では、基本ブロック16は、サブブロック0〜3がファイルdの1番目のエクステントEd1によって使用され、サブブロック7、8がファイルdの2番目のエクステントEd2によって使用されているので、図10に示す基本ブロック16の第2ビットマップテーブルでは、サブブロック0〜3、7及び8が使用されていることを、usable=0で示している。
【0165】
ビットマップデータの実際のデータは、ブロック毎のフラグをブロック番号順に並べて求める。図11は第1のビットマップのデータの求め方を示している。ブロック毎に(bit1,bit0)=(usable,scale)とフラグを並べ、これを1バイトの中でLSB側からブロック順に詰めていってデータを作成する。図11ではバイト内でブロック順に詰める操作は、左側をMSBにしているため並べ替え操作になる。
【0166】
#を16進数を表すものとすると、最終的なデータは、順に♯FF,♯57,♯DF,♯F9,♯FE,・・・となる。第2のビットマップテーブルも同様に求めると、ブロック13は、♯78,♯FC、ブロック16は♯70,♯FEとなる。なお、2バイト目は下位4ビットのみ有効である。この例ではサブブロックは12に分割してあり、管理情報のフラグがブロックにつき1ビットしかないので基本ブロック1つにつき12ビットのテーブルサイズになる。
【0167】
図12は基本ブロック13、16のビットマップデータを取得する手順を示す。図6に示したフィル管理情報内の情報の1つであるファイルインフォメーション(File_Information)には、前記ファイルサイズ以外にもいくつかの情報がある。図13は、このファイルインフォメーションの一例である。同図において、ファイルID(File_ID)は、パーティション内でファイルまたはディレクトリに固有な識別番号である。本発明におけるファイルシステムは、ディレクトリはそのデータ構造が予め規定されたファイルとして扱うので、デイリクトリにもFile_IDがある。
【0168】
ルートディレクトリのFile_IDは予め定めた特定の値、例えば0に予約されているものとする。ルートディレクトリを初めとする、すべてのディレクトリには、そのディレクトリに所属するファイル又はディレクトリのFile_IDが格納されているので、ルートディレクトリ以下の階層構造を、ディレクトリの内容を辿ることによって取得できる。
【0169】
また、図13中、ディレクトリID(Directory_ID)は、このファイルまたはディレクトリが所属しているディレクトリのFile_IDを格納する。この情報を参照することによって、下位のディレクトリ階層にあるファイルからルートディレクトリまで逆に辿ることができる構造になっている。
【0170】
また、ターゲットID(Target_ID)は、このファイルが予約領域ファイルである場合、この予約領域に記録するファイルのFile_IDを格納する。また、このファイルが予約領域に記録する通常ファイルである場合、予約領域ファイルのFile_IDを格納する。
【0171】
また、ファイルフラグ(File_Flags)は、後述するファイルの各種属性を表すフラグ群である。タイムスタンプ(Time_Stamp)は、このファイルに関する各種時刻情報であり、作成日時、最終更新日時、最終アクセス日時、削除した日時などを格納する。ファイルサイズ(File_Size)は前記ファイルサイズである。更に、ファイルネーム(File_Name)は、このファイルを参照するための名称である。キャラクタコードやサイズについては本発明では特に規定しない。
【0172】
上記のFile_Flagsには、少なくとも表3に示す3つのフラグを持つ。すなわち、バリッド(Valid)、デリーテッドファイル(Deleted File)及びプリアロケーテッド・エリア(Preallocated Area)である。
【0173】
【表3】
Figure 0004221959
このほか、本発明では触れないが、ファイルの所有者やグループに対する、可視属性、書きこみ属性、実効属性などの各種ファイル属性などを持つ。
【0174】
表3に示したバリッドフラグは通常1で、そのファイルまたはディレクトリが有効であることを示す。あるファイルを消去する場合は、通常、そのエントリに対するファイル管理情報を完全に消去すると同時に、ビットマップテーブルで該当ファイルが占める領域を空き領域に変更する必要があるが、本発明では、ファイル管理情報を削除する際に、そのエントリを完全に消去してしまう以外の方法として、前記バリッドフラグを0にすることによって、この管理情報が無効であることを表すようにしている。これによって、管理情報のサイズが大きかった場合でも、前記フラグだけを0にすればよいので、ファイルの消去が容易に行える。
【0175】
また、ファイルを削除した後で削除を取り消したい場合があるので、表3に示したデリーテッドファイルというフラグをファイル管理情報に設け、一時削除/復活に対応できるようにした。すなわち、デリーテッドファイルが1の時は通常の状態のファイルだが、0にセットすることによって、このファイルが一時削除状態にあることを示す。
【0176】
一時削除状態にある場合は、このファイルに対するアクセスは禁止され、通常の手段では、その存在も見えないようにしておく。一時削除ファイルがあるかどうかは、専用のアクセス手段によってその存在が見えるようにしておき、専用の手段によって復活できるようにしておく。一時削除ファイルにアクセスしたい場合は、前記専用の手段によって、通常のファイルに復活してからアクセスするものとする。
【0177】
一時削除中のファイルは、それが占めている媒体上の記録スペースを他のファイルによって上書きされないように、その配置情報はそのまま保っておく必要がある。これは単に、第1と第2のビットマップテーブルを、一時削除前の状態のまま変更しないだけでよい。すなわち、一時削除前と後では、前記デリーテッドファイルフラグだけが変更されている。
【0178】
フラグを用いて永久に削除する場合の違いは、永久に削除する場合は、バリッドフラグの変更のほかに、ビットマップテーブルのファイル占有領域を開放する点である。永久削除を意味するバリッドフラグを用意することにより、エントリを完全に消去しなくてもこのバリッドフラグをクリアするだけで永久削除と同じ効果が得られ、高速な消去が可能である。
【0179】
なお、バリッドフラグを用いた削除の場合でも、削除した直後など、データが上書きされていない場合には、専用の手段を設ければファイルを復活することも可能である。
【0180】
プリアロケーテッド・エリアフラグは、このファイルが予約領域ファイルであることを示す。予約領域ファイルは、特定のファイルあるいは、将来何らかのファイルを記録するために予め記録する領域を確保するために設けられた特別なファイルである。プリアロケーテッド・エリアフラグは通常ファイルの場合は0で予約領域ファイルの時に1に設定する。
【0181】
予約領域ファイルの配置された領域は予約領域そのものであり、予約領域ファイル自体はデータをもたないため、予約領域ファイル自体はデータを書き込まない。予約領域に書き込むファイルが決まったら、そのファイルID(File_ID)を、図13のターゲットIDに格納し、予約領域ファイルの先頭からファイルデータの記録を開始する。
【0182】
予約領域ファイルの作成は、実際に書き込むファイルをオープンする直前に行ってもよく、この場合は、予約領域ファイルの作成と同時にターゲットIDに記録するファイルのファイルIDを書き込んでおく。これは、ファイルを書き込みオープンするときに、予約領域サイズを指定してオープンする専用の手続きによって実現することができる。また、予約領域に書き込むファイルのターゲットIDには、予約領域ファイルのファイルIDを格納し、両者が相互に参照できるようにする。
【0183】
予約領域ファイルが占有する領域は、ビットマップテーブル上では、図3のプリアロケーテッドフラグで示され、基本ブロックまたはサブブロック単位で予約領域かどうかを調べることができる。複数の予約領域ファイルや複数の一時削除ファイルを管理するために、例えばルートディレクトリの直下に専用のディレクトリを設け、このディレクトリ内でこれらのファイルを管理すると効率良く管理することができる。
【0184】
図14はディレクトリ内でファイルを管理する一例の説明図を示す。同図において、ルートディレクトリの直下に「prealloc.dir」という予約領域ファイルを配置する専用のディレクトリがある。このディレクトリには「area1.dat」、「area2.dat」という2つの予約領域ファイルがある。これらはそれぞれ、/avdata.dir/sample.dir/a.dirというディレクトリにある「a1.dat」と/avdata.dir/sample.dir/b.dirというディレクトリにある「b1.dat」というファイルに対応している。
【0185】
すなわち、「area1.dat」は予約領域ファイルであることを示す、プリアロケーテッド・エリアフラグが1にセットされ、ターゲットIDとして、/avdata.dir/sample.dir/a.dir/a1.datを特定するための情報が格納されており、「a1.dat」には「area1.dat」を特定するための情報が格納されている。
【0186】
また、「area2.dat」は予約領域ファイルであることを示す、プリアロケーテッド・エリアフラグが1にセットされ、ターゲットIDとして、/avdata.dir/sample.dir/b.dir/b1.datを特定するための情報が格納されており、「b1.dat」には「area2.dat」を特定するための情報が格納されている。
【0187】
一般に、階層ディレクトリ精造を持つファイルシステムでは、ファイルはディレクトリの木構造の中で分散してしまうため、それぞれのファイルが予約領域を持つ場合、予約領域の一元管理が難しい。本発明では、予約領域を予約領域ファイルに対応付けることによって複数の予約領域を区別して管理でき、さらにこれを1つのディレクトリでまとめて管理できるようにしたので効率の良い管理が可能になった。
【0188】
また、図14において、「delfiles.dat」は、一時削除したファイルを特定するための情報をテーブルとして持ち、/avdata、dir/2001.02.01.dirディレクトリにある、「file2.dat」と「file3.dat」に関する識別情報が記録されている。「file2.dat」と「file3.dat」はデリーテッドファイルフラグが0になっており、一時削除状態にある。従って、通常の手続きで/avdata.dir/2001.02.01.dirディレクトリを見ると、「file1.dat」しか見えない。
【0189】
なお、この例では、「delfiles.dat」は/deleted.dirというディレクトリにおいたが、他のディレクトリやルートディレクトリにおいてもよい。例えば、ディレクトリ毎に置くようにして、そのディレクトリ内の一時ファイルのみを管理するようにしてもよい。
【0190】
本発明では、このように一時削除ファイルをまとめて管理できるようにしたので、復活したいファイルを検索し、一時削除ファイルを永久に削除することによって記録領域を増やしたい場合など、簡単に一時ファイルを参照することができて都合がよい。
【0191】
一時削除したファイルを特定する識別情報のテーブルは、ディレクトリ毎に持ってもよい。図14の例では、/avdata.dir/2001.02.01.dirに「delfiles.dat」をおけばよい。
【0192】
着目しているディレクトリ内の一時削除ファイル情報を取得する場合、パーティション全体の一時削除ファイルのリストでは、一つ一つ該当ディレクトリのファイルかどうかをチェックする必要があるが、ディレクトリ毎に一時削除ファイル情報を用意しておけば、これを参照することによって直ちに取得することができる。なお、全体の一時削除ファイルとディレクトリ毎の削除ファイルが両方あってももちろんよい。
【0193】
次に、ビットマップテーブルのアラインメントについて説明する。
図15は第1のビットマップテーブルの記録媒体上の配置例を示す。第1のビットマップテーブル151は、その管理情報152とテーブル本体153から構成される。媒体上に記録する場合は、論理セクタ単位でアラインメントが取れるように、管理情報152の直後、またはテーブル本体153の直後にスタッフィングのためのダミーデータ154を挿入する。
【0194】
次に、第2のビットマップテーブルの記録媒体上の配置例について図16及び図17と共に説明する。第2のビットマップテーブルは、第1のビットマップテーブルよりサイズが小さく、複数個存在し、その数が使用時に変動するという特徴がある。
【0195】
図16は、1つの第2のビットマップテーブルサイズが論理セクタサイズよりも大きい場合の例であり、第1のビットマップテーブルと同様に第2のビットマップテーブル毎に論理セクタ単位でアラインメントをとるためのダミーデータを付加している。
【0196】
また、各ビットマップテーブルは図16(a)に示したように1個1個ばらばらに置いてもよいが、論理セクタ単位のアラインメントをとっているので、同図(b)に示したように隙間無く詰めて配置することができる。この時、第1のビットマップテーブルでの配置の順番に従って第2のビットマップテーブルを順番に並べればサブブロックをまとめて管理するのに都合がよい。
【0197】
図17は、第2のビットマップテーブルのサイズが論理セクタサイズより小さい場合の例で、(a)はその数が多くて合計のサイズが論理セクタサイズを超える場合、(b)はその数が少なくて、合計サイズが論理セクタサイズに満たない場合の例である。図17(a)、(b)のどちらの場合も複数個のビットマップテーブルを隙間無く詰めて配置しているが、その際に各ビットマップテーブルが2のべき乗の倍数のバイト数になるようにしておくと、アドレッシングが容易になる。特に2のべき乗の同一サイズに設定すれば、n個目のビットマップテーブルの位置をビットシフト演算だけで求めることができて効率が良い。
【0198】
次に、スタッフィングのためのダミーデータの配置方法について、図18及び図19と共に説明する。図18のビットマップテーブルの管理情報181には、図4と図5で説明したように先頭のデスクリプタ(Descriptor)の中にビットマップテーブル全体のサイズ184が格納されている。また、ビットマップテーブル本体182のサイズも同様に格納されている。管理情報部分のサイズは固定なので、ビットマップテーブル本体182の後にダミーデータ183を付加し、全体のサイズにダミーデータ183を含めたサイズを格納すればよい。
【0199】
あるいは、管理情報を可変長とし、図19に193で示すように管理情報内に管理情報部分のサイズを格納することにより、管理情報本体191の直後にダミーデータ192を付加することもできる。このようにすると、ビットマップテーブルの開始アドレスを都合のよい値に設定することができる。
【0200】
図18と図19の方法は組み合わせてもよく、この場合、ビットマップテーブルの開始アドレスを任意の値に設定すると同時に、ビットマップテーブルの全体サイズを論理セクタの倍数に設定することが可能になる。
【0201】
次に、FATファイルシステムとのブリッジについて説明する。図20は、FAT12またはFAT16ファイルシステムとのブリッジの例を示す。同図において、FATファイルシステムのデータ領域はルート(ROOT)ディレクトリの直後以降であり、ファイルシステム#1のデータ領域もここから始まる。FATファイルシステムの先頭クラスタ番号は”2”であり、以後昇順にクラスタ番号が振られている。ファイルシステム#1は6クラスタを1基本ブロックのサイズとしており、基本ブロック0から昇順に基本ブロックが割り当ててある。
【0202】
サブブロックのサイズはクラスタサイズと同じで、サブブロックに分割した基本ブロックについては、クラスタと同様に扱うことができる。同図で基本ブロック0、2、3がサブブロックに分割した基本ブロックである。
【0203】
同図では以下の4つの通常のファイルa〜dと管理情報ファイルがあり、ファイルシステム#1では図21に示すようにファイル管理情報filectr1で管理されている。このファイル管理情報filectr1は、データ領域の任意の位置に配置できて、図20では201に示すように、基本ブロック3のサブブロック3に格納されているものとする。また、第1のビットマップテーブルに続いて第2のビットマップテーブルが連続して配置され、これは基本ブロック3のサブブロック0に格納されている。なお、図21の情報は、記録媒体に記録されている図6に示したファイル管理情報を再生することにより直接に得られてメモリに展開される。
【0204】
また、ファイルシステム#1の全体を管理するためのシステム情報A、BがFATファイルシステムのシステム領域の最後202、または基本ブロック3のサブブロック25の領域203に配置されている。ここには、ボリューム全体の構造、このパーティションの構造、その他のシステム管理情報へのボインタ等が格納される。これらのデータ領域に配置された管理情報201は記録媒体であるディスク上の任意の位置に配置することができるので、記録領域にエラーが発生した場合などに、正常な領域に移動することができる。
【0205】
また、これらの管理情報は第2のファイルシステム(ここではFATファイルシステム)からファイルとして参照できるようになっている。図22に、FATファイルシステム上のファイル管理情報の1つであるディレクトリエントリから関係する情報だけを抜き出して示す。同図において、例えば、ファイルaはファイルサイズがSaで、クラスタエントリ(ファイルの先頭データが格納されているクラスタ番号)CEaが2であることを示す。つまり、ファイルaはクラスタ番号2番から格納されている。
【0206】
同様に、第1及び第2のビットマップテーブルは、ファイルサイズがSeで、クラスタエントリCEeが20であり、ファイル管理情報filectrlは、ファイルサイズがSfで、クラスタエントリCEfが23であり、ファイルシステム#1のシステム情報sysctrlは、ファイルサイズがSgで、クラスタエントリCEgが25である。
【0207】
図23は、FATファイルシステムのもう一つのファイル管理情報であるFATの例である。同図では、30個のクラスタエントリ(0〜29)からなるFATを示すために、3行10列の矩形領域で30個のクラスタエントリを模式的に示している。例えば、ファイルaはクラスタ番号2、3、4に記録されているので、ディレクトリエントリにファイル名と一緒に最初に2番であるという情報が書かれる。また、図23に示すように、FATの2番のエントリを見ると、3と書かれているので、2番に続くデータがクラスタ番号3のクラスタに記録されていることが示されている。
【0208】
同様に、FATの3番のエントリを見ると、4と書かれているので、3番に続くデータがクラスタ番号4のクラスタに記録されていることが示されており、更に、FATの4番のエントリを見ると、Eと書かれているので、ファイルaのデータは、このクラスタ番号4番のクラスタで終了することが示されている。このようにして、記録媒体上のファイル配置を知ることができる。コンピュータは、図22と図23から抽出した各ファイルのクラスタ番号やクラスタサイズなどに基づいて、図24に示すようなクラスタチェインを取得して、メモリ上に展開する。
【0209】
以上のように、ファイルシステム#1からは、図21の情報を介して、FATファイルシステムからは図24の情報を介して、同一のファイルにアクセスすることができる。
【0210】
また、FAT32ファイルシステムにおいては、ROOTディレクトリが通常のデータ領域に置かれる。通常はデータ領域の先頭(クラスタ2)から配置されるが、必須条件ではないので、図25に示すようにデータ領域の途中に配置してもよい。また、ROOTディレクトリのサイズが足りなくなったら増やすことができるため、フラグメントが発生する場合もある。
【0211】
図25に示すように、ROOTディレクトリがデータ領域に配置される場合は、クラスタ単位で任意の位置に境界がくる可能性があるため、ROOTディレクトリを含む基本ブロックでは、サブブロックに分割して使用することによって、余ったサブブロックの領域をデータ記録用に使用することができる。図25では、ROOTディレクトリを含む基本ブロック0、1をサブブロックに分割することによって、基本ブロック0のサブブロック0,1,2,3,4と基本ブロック1のサブブロック2,3,4,5を他のデータの記録に用いることができる。
【0212】
次に、NTFSとのブリッジについて説明する。第2のファイルシステムとしてNTFSを用いる場合も、FAT32ファイルシステムと同様な構成にすることができる。このとき、MFT(Master File Table)の扱いを、図25に示したROOTディレクトリの扱いと同じようにすればよい。
【0213】
次に、ISO9660、UDFとのブリッジについて説明する。ISO9660やUDFは特定のセクタを起点として、記述子(descriptor)の集合として管理構造が配置され、各記述子にボリュームやファイルの構造が格納されている。
【0214】
ISO9660では、図26に示すようにボリューム記述子集合(VD)に続いてパステーブル(PT)が配置される。VDにはボリューム構造に関する情報などが格納され、パステーブル(PT)にはすべての階層ディレクトリへのエントリが格納されている。これを参照することによって、ROOTディレクトリから辿らなくても下位のディレクトリに直接アクセスすることが可能になっている。ファイルの配置情報自体は、前記第1のファイルシステムと同じエクステントによる形式であるため、ブリッジ構造をとることは、比較的容易である。
【0215】
図27はUDFの概要を示す図である。UDFでは、ボリューム構造に関する情報などはメイン・ボリューム・ディスクリプタ・シーケンス(MVDS:Main Volume Descriptor Sequence)中に格納される。MVDSは、ポインタであるAVDP(Anchor Volume Descriptor Pointer)によって参照される。
【0216】
MVDSには、パーティションの位置やファイル集合記述子の場所などが格納されており、これを参照することによって、データエリアの場所とルートディレクトリの場所がわかる。ルートディレクトリにはファイル毎にFIDというファイルの識別情報を示す記述子がある。
【0217】
FIDにはファイルの配置情報が直接記述してあるわけではなく、代わりにICB(Information Control Block)と呼ばれる、ファイルのサイズ、配置、属性等の情報を記述したファイルを指している。実際のファイルへのアクセスはこのICBを通して間接的に行われる。これは、書換えを最小限にするために導入されたUDFの特徴の一つである。ファイルに対する変更が行われると、これに対応するICBだけを変更すればよく、このファイルを含んだディレクトリの情報は書換える必要がないので、書換えの影響が上位のディレクトリに波及しないという特徴がある。
【0218】
以上のように、UDFの場合はファイル構造を管理するために、ファイル毎にICBというファイルが必要である。これらはファイルサイズが小さく、パーティション内の任意の位置に配置できるという特徴があるので、第1のファイルシステムと共存させる場合はこれらの管理情報をできるだけまとめて、サブブロックに分割した領域に配置するとよい。
【0219】
図28は、第1のファイルシステムとISO9660、UDFの3つのファイルシステムを共存させた本発明のブリッジファイルシステムの一実施の形態を示す。この実施の形態では、ルートディレクトリ以外のICBを一ケ所に集めてサブブロックに配置している。また、ISO9660や、UDFにおけるファイル構造を管理するための情報である、PT(Path Table)や、ルートディレクトリ、ICBを含む基本ブロックはサブブロックに分割し、またサイズの小さいファイルもサブブロックに配置している。これらのISO9660やUDFの管理情報は、それぞれ又はいくつかをまとめて第1のファイルシステムからファイルとして参照することができる。
【0220】
同図において、基本ブロック0、1、2、4がサブブロックに分割した基本ブロックである。1つのサブブロックには、2個以上のファイルが入らないように運用する。ただし、ICBについてはサイズが小さく同じ形式のファイルであることから、同図に示したように、基本ブロック1のサブブロック0に連続して配置することによって、ファイルシステム#1から見た場合は1つのファイルのように扱ってもよい。各ICBはUDFから見るとたまたま連続して配置してあるだけであって、実際にはそれぞれ論理的に独立している。
【0221】
また、ファイルシステム#1の管理情報であるビットマップテーブルは第1のビットマップテーブルに続いて第2のビットマップテーブルを連続して配置し、同図では、基本ブロック1のサブブロック2に配置されており、ファイルシステム1からもUDF、ISO9660からも参照できる。同様に、ファイルシステム#1のファイル管理情報が基本ブロック1のサブブロック3に、ファイルシステム#1のシステム情報が基本ブロック1のサブブロック5に配置されており、どのファイルシステムからも参照できる。
【0222】
本発明は、記録領域のデータファイルに対し、第1と第2の両方のファイルシステムからアクセス可能にするブリッジファイルシステムであるが、すべてのデータファイルが両方のファイルシステムから参照できる必要はない。これは、他のファイルシステムからそのファイルに対してアクセスして欲しくない場合などに適用することができる。相互参照を行わないことによって、他のファイルシステムからはそのファイルの存在する隠蔽することができる。
【0223】
例えば、第1のファイルシステムからのみアクセスしたいファイルは、そのファイルの管理情報は第1のファイルシステムにのみ登録し、第2のファイルシステムには登録せず、その配置領域は少なくとも新たな記録には使用できないという情報を登録する。これによって、第2のファイルシステムがその領域を別なデータで上書きしてしまうことを避けることができる。逆の場合も同様である。
【0224】
データファイルだけでなく、ファイルシステムの管理情報についても相互に参照できるようにしてもよい。例えば、既に説明したように、第1のファイルシステムの管理情報を第2のファイルシステムからファイルとして参照できるだけでなく、第2のファイルシステムの管理情報を第1のファイルシステムからファイルとして参照できるようにすることもできる。
【0225】
管理情報を相互参照する場合、1つの管理情報を1つのファイルシステムに対応付けるのではなく、複数の管理情報をまとめて1つのファイルとして扱うようにしてもよい。管理情報についても、データファイルと同様に、相互参照が必須というわけではなく、参照する必要が無かったり、あるいは参照を禁止したい場合などは、特定の管理情報を相互参照できないようにしてもよい。
【0226】
【発明の効果】
以上説明したように、本発明によれば、以下の数々の特長を有する。
【0227】
(1)第1のファイルシステムを用意することで、リアルタイム記録再生が要求されるサイズの大きいAVストリームを基本ブロックに記録し、確実性が要求されるサイズの小さいAVストリームの管理情報などのファイルをサブブロックに記録するのに最適なファイルシステムを実現できる。
【0228】
(2)新しい第1のファイルシステムが搭載されていないコンピュータシステムにおいても、記録されたファイルにアクセスできるように、第2のファイルシステムを搭載して、第1及び第2のファイルシステムのどちらからもアクセスできるようにしたので、第2のファイルシステムとして、コンピュータシステムに標準的に搭載されているファイルシステムを採用すれば情報交換が容易にできる。
【0229】
(3)第2のファイルシステムとして、リムーバブルの記録媒体におけるデファクトスタンダードであるFATファイルシステムを採用したので、ほとんどすべてのコンピュータシステムで利用できる。
【0230】
(4)第2のファイルシステムとしてNTFSを採用したので、FATファイルシステムを使用する場合よりも高度な管理が可能になる。
【0231】
(5)第2のファイルシステムとして、サブブロック単位でなく論理セクタ単位に管理できる。
【図面の簡単な説明】
【図1】本発明のブリッジファイルシステム及び記録媒体の一実施の形態の概略説明図である。
【図2】 本発明の記録媒体の記録領域の先頭付近の利用状況の一実施の形態を示す図である。
【図3】 本発明のブリッジファイルシステムにおけるブロック毎の管理情報を示すための各種フラグの定義例を示す図である。
【図4】 第1のビットマップテーブルの一例を示す図である。
【図5】 第2のビットマップテーブルの一例を示す図である。
【図6】 本発明におけるファイル管理情報の一例を示す図である。
【図7】 本発明になる記録媒体の一実施の形態の記録情報の説明図である。
【図8】 図7に対応する第1のビットマップテーブルの例を示す図である。
【図9】サブブロックに分割した基本ブロックの第2のビットマップテーブル(ビットマップ本体のみ)を示す図である。
【図10】図7の基本ブロックの第2のビットマップテーブルを示す図である。
【図11】第1のビットマップのデータの求め方を示した図である。
【図12】図7の2つの基本ブロックのビットマップデータを取得する手順を示した図である。
【図13】 ファイルインフォメーションの一例を示す図である。
【図14】 ディレクトリ内でファイルを管理する一例の説明図である。
【図15】 第1のビットマップテーブルの記録媒体上の配置例である。
【図16】 ビットマップテーブルサイズが論理セクタサイズよりも大きい第2のビットマップテーブルの記録媒体上の配置例を示す図である。
【図17】 ビットマップテーブルサイズが論理セクタサイズよりも小さい第2のビットマップテーブルの記録媒体上の配置例を示す図である。
【図18】 スタッフィングのためのダミーデータの配置方法を説明するための図である。
【図19】 管理情報内に管理情報部分のサイズを格納できるようにした図である。
【図20】FAT12またはFAT16ファイルシステムとのブリッジの例を示す図である。
【図21】ファイルシステム#1のファイル配置情報の例である。
【図22】FATファイルシステム上のファイル管理情報の1つであるディレクトリエントリから関係する情報だけを抜き出して示した図である。
【図23】 FATファイルシステムのもう一つのファイル管理情報であるFATの例を示す図である。
【図24】図22と図23から抽出した各ファイルのクラスタチェインを示す図である。
【図25】FAT32ファイルシステムにおいて、ROOTディレクトリがデータ領域の途中に置かれることを示す図である。
【図26】ISO9660の概要を示した図である。
【図27】 UDFの概要を示した図である。
【図28】ISO9660とUDFとのブリッジを示した図である。
【図29】 FATファイルシステムの構造を説明するための図である。
【図30】 代表的なファイルシステムの容量とクラスタサイズの関係を示す図である。
【図31】 特開平8−101783号公報記載の従来のファイルシステムの一例の構成図である。
【図32】 外部フラグメンテーションと内部フラグメンテーションを示す図である。
【符号の説明】
100 記録媒体
181 ビットマップテーブルの管理情報
182 ビットマップテーブル本体
183、192 ダミーデータ
191 管理情報本体
193 管理情報全体のサイズ

Claims (7)

  1. 記録媒体上の連続する記録領域を複数の論理セクタから構成される一定サイズの基本ブロック毎に分割し、該基本ブロック単位でデータを配置して管理する第1の管理方法と、
    任意の前記基本ブロックを各々同一サイズの複数の論理セクタから構成される複数のサブブロックに分割し、そのサブブロック単位でデータを配置して管理する第2の管理方法を持ち、前記第1及び第2の管理方法のうち選択した管理方法でデータを記録再生する第1のファイルシステムと、前記記録領域を前記サブブロックと同一サイズのブロック単位でデータを配置して管理する第2のファイルシステムとが共存するブリッジファイルシステムであって、
    前記記録領域のデータファイルに対し、前記第1及び第2のファイルシステムの両方からアクセス可能な管理構造を有し、
    前記第1のファイルシステムは、前記記録領域内の前記基本ブロック毎の状態を表すフラグの集合とその管理情報が記録された第1のビットマップテーブルを前記記録領域上に配置し、前記サブブロックに分割された前記基本ブロックは、その基本ブロック内のサブブロック毎の状態を表すフラグの集合とその管理情報が記録された第2のビットマップテーブルを該当する基本ブロック毎に対応付けて前記記録領域上に配置し、前記第2のファイルシステムの管理情報のうち、前記第1のファイルシステムが参照可能な前記記録領域に配置される管理情報がある場合は、前記第1のファイルシステムの前記サブブロックのエリアに配置し、
    前記第2のファイルシステムは、前記第1及び第2のビットマップテーブルをファイルとして参照可能で、前記第2のファイルシステムにおけるブロック毎の使用状態とファイルの配置状態を管理する第3のテーブルを持つことを特徴するブリッジファイルシステム。
  2. 前記第2のファイルシステムはFATファイルシステムであり、前記第3のテーブルはファイルアロケーションテーブル(FAT)であることを特徴とする請求項1記載のブリッジファイルシステム。
  3. 前記第2のファイルシステムはNTFSファイルシステムであり、前記第3のテーブルはマスターファイルテーブル(MFT)であることを特徴とする請求項1記載のブリッジファイルシステム。
  4. 前記第1のファイルシステムは、前記記録領域内の前記基本ブロック毎の状態を表すフラグの集合とその管理情報が記録された第1のビットマップテーブルを前記記録領域上に配置し、前記サブブロックに分割された前記基本ブロックは、その基本ブロック内の前記サブブロック毎の状態を表すフラグの集合とその管理情報が記録された第2のビットマップテーブルを該当する基本ブロック毎に対応付けて前記記録領域上に配置し、
    前記第2のファイルシステムは、前記第1及び第2のビットマップテーブルをファイルとして参照可能で、前記第2のファイルシステムの管理情報のうち、前記第1のファイルシステムのデータエリアに配置される管理情報がある場合は、前記第1のファイルシステムの前記サブブロックのエリアに配置し、前記記録領域のデータファイルに対し、前記第1及び第2のファイルシステムの両方からアクセス可能な管理構造を有することを特徴とする請求項1記載のブリッジファイルシステム。
  5. 前記第2のファイルシステムは、ISO9660またはUDFであることを特徴とする請求項4記載のブリッジファイルシステム。
  6. 記録媒体上の連続する記録領域を複数の論理セクタから構成される一定サイズの基本ブロック毎に分割し、該基本ブロック単位でデータを配置して管理する第1の管理方法と、
    任意の前記基本ブロックを各々同一サイズの複数の論理セクタから構成される複数のサブブロックに分割し、そのサブブロック単位でデータを配置して管理する第2の管理方法を持ち、前記第1及び第2の管理方法のうち選択した管理方法でデータを記録再生する第1のファイルシステムと、前記記録領域を前記サブブロックと同一サイズのブロック単位でデータを配置して管理する第2のファイルシステムとが共存するブリッジファイルシステムをコンピュータに搭載したコンピュータシステムであって、
    前記記録領域のデータファイルに対し、前記第1及び第2のファイルシステムの両方からアクセス可能な管理構造を有し、
    前記第1のファイルシステムは、前記記録領域内の前記基本ブロック毎の状態を表すフラグの集合とその管理情報が記録された第1のビットマップテーブルを前記記録領域上に配置し、前記サブブロックに分割された前記基本ブロックは、その基本ブロック内のサブブロック毎の状態を表すフラグの集合とその管理情報が記録された第2のビットマップテーブルを該当する基本ブロック毎に対応付けて前記記録領域上に配置し、前記第2のファイルシステムの管理情報のうち、前記第1のファイルシステムが参照可能な前記記録領域に配置される管理情報がある場合は、前記第1のファイルシステムの前記サブブロックのエリアに配置し、
    前記第2のファイルシステムは、前記第1及び第2のビットマップテーブルをファイルとして参照可能で、前記第2のファイルシステムにおけるブロック毎の使用状態とファイルの配置状態を管理する第3のテーブルを持つブリッジファイルシステムをコンピュータに搭載したことを特徴とするコンピュータシステム。
  7. 記録媒体上の連続する記録領域を複数の論理セクタから構成される一定サイズの基本ブロック毎に分割し、該基本ブロック単位でデータを配置して管理する第1の管理方法と、
    任意の前記基本ブロックを各々同一サイズの複数の論理セクタから構成される複数のサブブロックに分割し、そのサブブロック単位でデータを配置して管理する第2の管理方法を持ち、前記第1及び第2の管理方法のうち選択した管理方法でデータを記録再生する第1のファイルシステムと、前記記録領域を前記サブブロックと同一サイズのブロック単位でデータを配置して管理する第2のファイルシステムとが共存するブリッジファイルシステムを用いたデータ管理方法であって、
    前記第1及び第2のファイルシステムは、前記第1のファイルシステムに基づき前記記録領域に記録された第1のデータファイルと前記第2のファイルシステムに基づき前記記録領域に記録された第2のデータファイルのいずれに対しても、それぞれアクセス可能であり、
    前記第1のデータファイルを、前記基本ブロック毎の状態を表すフラグの集合とその管理情報とからなる第1のビットマップテーブル、又は前記サブブロック毎の状態を表すフラグの集合とその管理情報が記録された第2のビットマップテーブルが、前記基本ブロック単位又は前記サブブロック単位で記録されたテーブル領域と、データが前記基本ブロック単位又は前記サブブロック単位で記録されたデータ領域とが分離された構造とし、
    前記第1及び第2のビットマップテーブルの前記フラグの集合には、そのビットマップテーブルにより管理する前記第1のデータファイル中のデータ領域に、専用のアクセス手段によってのみアクセス可能な一時削除ファイルが記録されていることを示す第1のフラグと、予め記録する領域を確保するために特別に設けられた予約領域ファイルが確保されていることを示す第2のフラグとを含み、
    前記第1及び第2のビットマップテーブルにより、前記データ領域に記録するデータを管理することを特徴するブリッジファイルシステムを用いたデータ管理方法。
JP2002185681A 2002-06-26 2002-06-26 ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体 Expired - Fee Related JP4221959B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002185681A JP4221959B2 (ja) 2002-06-26 2002-06-26 ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002185681A JP4221959B2 (ja) 2002-06-26 2002-06-26 ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体

Publications (2)

Publication Number Publication Date
JP2004030232A JP2004030232A (ja) 2004-01-29
JP4221959B2 true JP4221959B2 (ja) 2009-02-12

Family

ID=31181236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002185681A Expired - Fee Related JP4221959B2 (ja) 2002-06-26 2002-06-26 ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体

Country Status (1)

Country Link
JP (1) JP4221959B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4502375B2 (ja) * 2004-05-27 2010-07-14 キヤノン株式会社 ファイルシステムおよびその制御方法
WO2005124530A2 (en) 2004-06-21 2005-12-29 Kabushiki Kaisha Toshiba Method for controlling memory card and method for controlling nonvolatile semiconductor memory
JP5098145B2 (ja) * 2005-10-12 2012-12-12 ソニー株式会社 データ管理装置および記録媒体の管理方法
WO2007049742A1 (ja) * 2005-10-27 2007-05-03 Pioneer Corporation 情報記録装置及び方法、並びにコンピュータプログラム
US7599972B2 (en) * 2006-08-25 2009-10-06 Qnx Software Systems Gmbh & Co. Kg File system having variable logical storage block size
JP5052150B2 (ja) * 2007-01-29 2012-10-17 株式会社日立製作所 ストレージシステム
JP5041860B2 (ja) * 2007-04-20 2012-10-03 株式会社日立製作所 ストレージ装置及び管理単位設定方法
JP5335215B2 (ja) * 2007-10-02 2013-11-06 キヤノン株式会社 データ記憶装置、データ記憶方法及びプログラム
JP5374986B2 (ja) * 2008-09-17 2013-12-25 日本電気株式会社 携帯端末、サーバおよび保存データ管理方法ならびに通信システム
EP2189895A1 (en) * 2008-11-24 2010-05-26 Deutsche Thomson OHG Flash based memory comprising a Flash translation layer and method for storing a file therein
JP5848594B2 (ja) * 2011-12-14 2016-01-27 キヤノン株式会社 記録装置
JP6361130B2 (ja) 2013-12-24 2018-07-25 株式会社ソシオネクスト ファイルアクセスプログラム、ファイルアクセス方法

Also Published As

Publication number Publication date
JP2004030232A (ja) 2004-01-29

Similar Documents

Publication Publication Date Title
JP3607153B2 (ja) ファイル管理方法及び装置
JP4801314B2 (ja) 記憶媒体にデータを保存する又は記憶媒体からデータを読み込む方法及び装置並びに記憶媒体
JP2004520672A (ja) シーケンシャルな媒体にファイルを記録する方法及び装置、シーケンシャルな媒体からファイルを読み込む方法及び装置、並びにシーケンシャルな媒体
WO1997017652A1 (fr) Appareil et procede de traitement d'informations
WO2005066787A1 (ja) 情報記録媒体
JP2004013276A (ja) ファイルシステム及び記録媒体
US20080232210A1 (en) Data Recording/Reproduction for Write-Once Discs
KR20050118731A (ko) 유니버셜 드라이브장치용 포맷 매핑 방식
US7188147B2 (en) I/O method and apparatus for optical storage media
JP4221959B2 (ja) ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体
JP2000298608A (ja) コンピュータデータ記憶媒体及びメモリ管理方法
JP4256075B2 (ja) ファイルシステム及び記憶領域の管理方法
WO2001065374A1 (fr) Procede de gestion de fichiers, enregistreur de donnees l'utilisant, appareil de lecture de donnees, appareil d'enregistrement/lecture de donnees, et disque enregistre au moyen du procede de gestion de fichiers
KR100891088B1 (ko) 1회 기록 디스크 상에 데이터를 기록하는 방법 및 장치, 및반도체 집적 회로
KR102094786B1 (ko) 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법
JP4585052B2 (ja) データ記録システム
JP2008269520A (ja) 記録装置及び記録方法
US8095576B2 (en) Recording device
JP4211563B2 (ja) 再生記録装置
KR101149593B1 (ko) 범용 저장 장치를 위한 유연성 있는 포맷팅
JP2003173285A (ja) 情報記録方法及び情報記録再生装置
JP2006048926A (ja) 情報記録媒体、情報記録方法、情報記録装置、情報再生方法および情報再生装置
JPH0869400A (ja) 圧縮データ記録方法
JP4160334B2 (ja) 情報記録媒体、情報記録方法、情報記録装置、情報再生方法および情報再生装置
JP2005032283A (ja) 記録媒体及びファイル管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080829

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081008

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081028

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131128

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees