(57)【要約】【課題】  ファイルへのアクセスを確実に高速化できるようにする。【解決手段】  メディアＡとメディアＢを合わせて統合メディアとしてフォーマットする場合、統合デバイスドライバ４０１がメディアＡのメディアAの記録容量と、メディアＢの記録容量とを取得し、双方の記録容量に基づく合計セクタ数に対応するＭＢＲを、比較的高速に読み書き可能なメディアAのLBA＝０の位置に作成する。また、統合デバイスドライバ４０１は、メディアＡとメディアＢを統合メディアとしてフォーマットするとき、統合メディアにおける分岐点のＬＢＡを記憶し、以後、分岐点を基準にして、メディアＡまたはメディアＢに対するデータの読出しまたは書込みを行う。【選択図】      図１１
2007058671.tif 000002
【特許請求の範囲】
【請求項１】
複数の記録媒体に対して情報の読出しまたは書込みが可能な情報処理装置であって、
前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定するフォーマット判定手段と、
前記フォーマット判定手段による判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットする統合フォーマット手段と
を備える情報処理装置。
【請求項２】
前記統合フォーマット手段は、
複数の前記記録媒体のセクタ数を合計したセクタ数を、前記統合記録媒体のセクタ数として、前記統合記録媒体のMBR（Master Boot Record）を作成する
請求項１に記載の情報処理装置。
【請求項３】
前記統合フォーマット手段は、
複数の前記記録媒体のうち、他の記録媒体と比較してデータの高速な読み書きが可能な第１の記録媒体に前記統合記録媒体の先頭のセクタに前記MBRを配置し、前記統合記録媒体の管理情報を、前記MBRに続けて配置する
請求項２に記載の情報処理装置。
【請求項４】
前記管理情報には、前記統合記録媒体のFAT（File Allocation Table）が含まれる
請求項３に記載の情報処理装置。
【請求項５】
前記管理情報には、ディレクトリエントリが含まれる
請求項３に記載の情報処理装置。
【請求項６】
前記第１の記録媒体の最後のセクタを表すアドレスを、前記統合記録媒体における前記第１の記録媒体と、前記第１の記録媒体の記録容量を超えて存在するデータが記録される第２の記録媒体であって、前記第１の記録媒体に続いてデータが記録される第２の記録媒体との分岐点として記憶する分岐点記憶手段をさらに備える
請求項１に記載の情報処理装置。
【請求項７】
前記統合記録媒体に記録されているデータにアクセスする場合、前記データの記録位置を表すアドレスが、前記分岐点を超えているか否かを判定し、
前記データの記録位置を表すアドレスが、前記分岐点を超えているとき、前記第２の記録媒体にアクセスし、
前記データの記録位置を表すアドレスが、前記分岐点を超えていない場合、前記第１の記録媒体にアクセスする
請求項６に記載の情報処理装置。
【請求項８】
複数の記録媒体に対して情報の読出しまたは書込みが可能な情報処理装置の情報処理方法であって、
前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定し、
前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットする
ステップを含む情報処理方法。
【請求項９】
複数の記録媒体に対して情報の読出しまたは書込みが可能な情報処理装置に情報処理を実行させるプログラムであって、
前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かの判定を制御し、
前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてのフォーマットを制御する
ステップを含むコンピュータが読み取り可能なプログラム。
【請求項１０】
請求項９に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、プログラム、並びに記録媒体に関し、特に、ファイルへのアクセスを確実に高速化できるようにする情報処理装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
近年、カメラなどで撮影された画像をデジタルデータ化し、画像データとして編集などの処理を施すことが頻繁に行われている。この場合、撮影された画像のデータは、一旦記録媒体に記録されることが多い。記録媒体におけるデータの記録位置などの管理は、例えば、FAT１６またはFAT３２などのファイルシステムにより行われることが一般的である。FAT１６またはFAT３２などのファイルシステムにおいては、記録媒体の中で、個々のクラスタに分割されて記録されているデータの連鎖情報がFAT（File Allocation Table）により管理されており、例えば、記録媒体から１つのファイルが読み出される場合、ＦＡＴが参照されて一連のクラスタのデータが読み出される。
【０００３】
このように、記録媒体からファイルを読み出す場合、ＦＡＴの参照が頻繁に行われるので、より高速にファイルを読み出すためには、ＦＡＴに対するアクセスが高速に行えるようにすることが望ましい。そこで、出願人は、システムの初期化処理時に、ＨＤＤ（Hard Disk Drive）から、高速な読み書きが可能なＳＤＲＡＭ（Synchronous DRAM）などからなるバッファメモリにＦＡＴを読み出しておき、このバッファメモリに記憶されたＦＡＴを参照してファイルのアクセスを実行することで、ＦＡＴの参照に必要な時間を短縮し、高速なファイルアクセスを実現する技術を提案した（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開２００５−１４１３３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えば、30GB（ギガバイト）のHDDを、クラスタサイズを32KB（キロバイト）としてフォーマットした場合、FATのサイズは４MB（メガバイト）に近くなり、このように大きい容量のＳＤＲＡＭをバッファメモリとして備える装置は限られており、装置によってはＦＡＴを、バッファメモリに記憶することができない可能性があった。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、ファイルへのアクセスを確実に高速化できるようにするものである。
【課題を解決するための手段】
【０００７】
本発明の一側面は、複数の記録媒体に対して情報の読出しまたは書き込みが可能な情報処理装置であって、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定するフォーマット判定手段と、前記フォーマット判定手段による判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットする統合フォーマット手段とを備える情報処理装置である。
【０００８】
前記統合フォーマット手段は、複数の前記記録媒体のセクタ数を合計したセクタ数を、前記統合記録媒体のセクタ数として、前記統合記録媒体のMBR（Master Boot Record）を作成するようにすることができる。
【０００９】
前記統合フォーマット手段は、複数の前記記録媒体のうち、他の記録媒体と比較してデータの高速な読み書きが可能な第１の記録媒体に前記統合記録媒体の先頭のセクタに前記MBRを配置し、前記統合記録媒体の管理情報を、前記MBRに続けて配置するようにすることができる。
【００１０】
前記管理情報には、前記統合記録媒体のFAT（File Allocation Table）が含まれるようにすることができる。
【００１１】
前記管理情報には、ディレクトリエントリが含まれるようにすることができる。
【００１２】
前記第１の記録媒体の最後のセクタを表すアドレスを、前記統合記録媒体における前記第１の記録媒体と、前記第１の記録媒体の記録容量を超えて存在するデータが記録される第２の記録媒体であって、前記第１の記録媒体に続いてデータが記録される第２の記録媒体との分岐点として記憶する分岐点記憶手段をさらに備えるようにすることができる。
【００１３】
前記統合記録媒体に記録されているデータにアクセスする場合、前記データの記録位置を表すアドレスが、前記分岐点を超えているか否かを判定し、前記データの記録位置を表すアドレスが、前記分岐点を超えているとき、前記第２の記録媒体にアクセスし、前記データの記録位置を表すアドレスが、前記分岐点を超えていない場合、前記第１の記録媒体にアクセスするようにすることができる。
【００１４】
本発明の一側面は、複数の記録媒体に対して情報の読出しまたは書き込みが可能な情報処理装置の情報処理方法であって、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定し、前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするステップを含む情報処理方法である。
【００１５】
本発明の一側面は、複数の記録媒体に対して情報の読出しまたは書き込みが可能な情報処理装置に情報処理を実行させるプログラムであって、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かの判定を制御し、前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてのフォーマットを制御するステップを含むコンピュータが読み取り可能なプログラムである。
【００１６】
本発明の一側面においては、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かが判定され、前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体が合わせて統合記録媒体としてフォーマットされる。
【発明の効果】
【００１７】
本発明の一側面によれば、ファイルへのアクセスを確実に高速化できる。
【発明を実施するための最良の形態】
【００１８】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１９】
本発明の一側面の情報処理装置は、複数の記録媒体（例えば、フラッシュメモリ、HDDなど）に対して情報の読出しまたは書き込みが可能な情報処理装置であって、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定するフォーマット判定手段（例えば、図１３のステップS１０２の処理を実行する図１１のアプリケーション２０１）と、前記フォーマット判定手段による判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットする統合フォーマット手段（例えば、図１２のステップS１０３の処理を実行する図１１の統合デバイスドライバ４０１）とを備える。
【００２０】
この情報処理装置は、前記統合フォーマット手段が、複数の前記記録媒体のうち、他の記録媒体と比較してデータの高速な読み書きが可能な第１の記録媒体に前記統合記録媒体の先頭のセクタに前記MBRを配置し、前記統合記録媒体の管理情報（例えば、図９のPBR、FAT１、FAT２、ルートディレクトエントリなど）を、前記MBRに続けて配置するようにすることができる。
【００２１】
この情報処理装置は、前記管理情報には、ディレクトリエントリ（例えば、図８のディレクトリエントリ）が含まれるようにすることができる。
【００２２】
この情報処理装置は、前記第１の記録媒体の最後のセクタを表すアドレス（例えば、図９のLBA＝Xとなる位置）を、前記統合記録媒体における前記第１の記録媒体と、前記第１の記録媒体の記録容量を超えて存在するデータが記録される第２の記録媒体であって、前記第１の記録媒体に続いてデータが記録される第２の記録媒体との分岐点として記憶する分岐点記憶手段（例えば、図１３のステップS１３４の処理を実行する図１１の統合デバイスドライバ４０１）をさらに備えるようにすることができる。
【００２３】
この情報処理装置は、前記統合記録媒体に記録されているデータにアクセスする場合、前記データの記録位置を表すアドレスが、前記分岐点を超えているか否かを判定し（例えば、図１５のステップS２０３の処理により判定し）、前記データの記録位置を表すアドレスが、前記分岐点を超えているとき、前記第２の記録媒体にアクセスし、前記データの記録位置を表すアドレスが、前記分岐点を超えていない場合、前記第１の記録媒体にアクセスするようにすることができる。
【００２４】
本発明の一側面の情報処理方法は、複数の記録媒体（例えば、フラッシュメモリ、HDDなど）に対して情報の読出しまたは書き込みが可能な情報処理装置の情報処理方法であって、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定し（例えば、図１３のステップS１０２の処理により判定し）、前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットする（例えば、図１２のステップS１０３の処理によりフォーマットする）ステップを含む。
【００２５】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、本発明を適用した記録再生装置１００の一実施形態に係る構成例を示す図である。この記録再生装置１００は、例えば、デジタルスチルカメラ、デジタルビデオカメラなどとして構成され、撮影した画像（または音声）のデータを、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどの記録媒体に記録したり、記録媒体に記録された画像（または音声）のデータを再生したりする。
【００２６】
図１において、光学レンズ１０１は、カメラ機能部１０２の制御に基づいて、被写体の画像の光を集光し、集光した光を、光電変換部１０３に結像させる。
【００２７】
カメラ機能部１０２は、CPU（central processing unit）１６１の制御に基づいて、光学レンズ１０１による被写体の撮影動作を開始させたり、終了させたりする他、光学レンズ１０１のズーム率、取り込む光量などを適宜制御する。
【００２８】
光電変換部１０３は、例えば、CCD（charge-coupled device）C-MOS（Complementary-Metal Oxide Semiconductor）などの光電変換素子により構成され、光学レンズ１０１から供給される光を電気的信号に変換し、画像処理部１０４に供給する。
【００２９】
画像信号処理部１０４は、光電変換部１０３から供給される信号に基づいて、画像のデータを生成する。画像信号処理部１０４は、例えば、CPU１６１の制御に基づいて、被写体の画像に対応するアナログの信号を、A/D（Analog to Digital）変換して、デジタルの画像のデータとし、その画像のデータに対して、例えば、ホワイトバランスの調整、欠陥画素の補間などの画像処理を適用する。また、画像信号処理部１０４は、CPU１６１の制御に基づいて、MEPG（Motion Picture Experts Group）、JPEG（Joint Photographic Expert Group）などの方式による画像のデータの圧縮符号化を行ったり、圧縮符号化された画像のデータの復号を行ったりする。
【００３０】
また、画像信号処理部１０４は、被写体の画像に対応するアナログの信号を、A/D変換して、ホワイトバランスを調整し、または欠陥画素を補間した画像のデータを、ディスプレイ１０６および画像入出部１０５に供給する。より具体的には、画像信号処理部１０４は、その画像データを、ディスプレイ１０６の入力方式である、例えば、RGB（Red, Green, Blue）信号に変換して、ディスプレイ１０６に供給し、同様に、画像信号処理部１０４は、RGB信号を画像入出力部１０５にも供給する。
【００３１】
画像入出力部１０５は、例えば、外部の装置から供給される画像信号を、画像信号処理部１０４に供給し、また、画像信号処理部１０４から出力される画像のデータに対応する信号を、外部の装置に出力する。ディスプレイ１０６は、例えば、LCD（Liquid Crystal Display）などにより構成され、画像信号処理部１０４から出力される画像のデータに対応する信号に基づく画像を表示する。
【００３２】
音声入出力部１２１は、例えば、マイクロフォンなどにより集音された音声信号を、音声処理部１２２に供給し、また、音声処理部１２２から出力される音声のデータに対応する音声を、スピーカなどに出力する。音声処理部１２２は、CPU１６１の制御に基づいて、音声入出力部１２１から供給される音声の信号に基づいて、圧縮符号化された音声のデータを生成したり、圧縮符号化された音声のデータの復号を行ったりする。
【００３３】
RAM（Random Access Memory）１４１は、ドライブ１４５に装着される記録媒体から読み出されるプログラムなどのデータ、またはプログラムによる処理に伴って生成されるデータなどを記憶し、必要に応じてCPU１６１に供給する。ROM１４２は、予め記憶されているデータを、必要に応じてCPU１６１に供給する。
【００３４】
操作入力部１４３は、例えば、操作キーまたはボタンなどを有する構成とされ、ユーザにより入力された操作に対応する信号を、CPU１６１に出力する。
【００３５】
通信部１４４は、例えば、ネットワークカードなどにより構成され、Ethernet(登録商標)、USB（Universal Serial Bus）などの有線通信のインタフェース、または、IEEE８０２．１１a/b/g、Bluetoothなどの無線通信のインタフェースとして機能し、CPU１６１の制御に基づいて、ネットワークに接続される他の装置との通信を行う。
【００３６】
ドライブ１４５には、例えば、HDD（Hard Disk Drive）などの磁気ディスク、DVD（Digital Versatile Disk）などの光ディスク、MD（登録商標）（Mini-Disk））などの光磁気ディスク、フラッシュメモリ、メモリースティック（登録商標）などの半導体メモリなどで構成される各種の記録媒体が装着される。ドライブ１４５は、装着された記録媒体にアクセスし、データを記録したり、記録したデータを読み出したりする。
【００３７】
電源１４６は、記録再生装置１００を駆動させるために必要となる電力を供給する。
【００３８】
CPU１６１は、各種の演算を行ってデータの処理を行い、記録再生装置１００全体の動作を制御する。
【００３９】
図２は、記録再生装置１００における記録媒体２０４へのデータの記録、または記録媒体２０４からのデータの読出しの仕組みを説明する図である。同図において、アプリケーション２０１は、CPU１６１で実行されるソフトウェアの最上位のレイヤに属するソフトウェアであり、例えば、動画像の記録または再生の処理を制御する。アプリケーション２０１は、自身が行う処理に伴って、記録または再生が必要となるデータについて、例えば、所定の記録単位のデータで構成されるファイルを単位としてアクセスする。アプリケーション２０１は、所定のファイルにアクセスするとき、ファイルシステム２０２にアクセス要求を出力する。
【００４０】
ファイルシステム２０２は、記録媒体２０４のどこに何のファイルがあるのか、その情報を管理するためのソフトウェアであり、やはりCPU１６１により実行されるソフトウェアとされる。ファイルシステム２０２は、例えば、ＦＡＴ（ファット）１６またはＦＡＴ３２などにより構成される。なお、FAT32の詳細は、「Microsoft Extensible Firmware Initiative FAT32 File System Specification」に開示されている。
【００４１】
ファイルシステム２０２は、アプリケーション２０１からアクセス要求のあったファイルについて、所定のビット量で構成されるクラスタに分解し、クラスタ単位でアクセスする。例えば、アプリケーション２０１からファイルシステム２０２に対して、ファイルの読み出しが要求された場合、ファイルシステム２０２は、そのファイルの実データが記録されているクラスタを該当クラスタとして検索する。また例えば、アプリケーション２０１からファイルシステム２０２に対してファイルの書き込みが要求された場合、ファイルシステム２０２１は、ファイルの実データを書き込み可能な空きクラスタを該当クラスタとして検索する。
【００４２】
そして、ファイルシステム２０２は、検索された該当クラスタをLBA(Logical Block Addressing)に変換し、デバイスドライバ２０３に対して、セクタ単位でアクセスを要求する。また、ファイルシステム２０２は、自身が出力したアクセス要求に基づいてデバイスドライバ２０３から供給された応答に基づいて、ファイルのアクセス要求に対する応答をアプリケーション２０１に出力する。
【００４３】
デバイスドライバ２０３は、ドライブ１４５の動作を制御するためのソフトウェアであり、やはりCPU１６１により実行されるソフトウェアとされる。デバイスドライバ２０３は、ファイルシステム２０３からのアクセス要求に基づいて、ドライブ１４５を制御してドライブ１４５に装着される記録媒体２０４にセクタ単位でアクセスする。これにより、ドライブ１４５が、自身に装着された記録媒体２０４の要求されたセクタにアクセスする。ここでセクタは、クラスタよりさらに細かい記録単位であり（複数のセクタによりクラスタが構成される）、LBAによりアクセスすべきセクタが指定される。また、自身が出力したセクタ単位のアクセス要求に基づいて記録媒体２０４（実際にはドライブ１４５）から供給された応答に基づいて、クラスタのアクセス要求に対する応答をファイルシステム２０２に出力する。
【００４４】
記録媒体２０４（ドライブ１４５）は、デバイスドライバ２０３からのアクセス要求に基づいて、アクセス要求のあったセクタにデータを書き込み（記録し）、またはアクセス要求のあったセクタからデータを読み出す処理を行い、その処理結果を、セクタのアクセス要求に対する応答としてデバイスドライバ２０３に出力する。例えば、記録媒体２０４は、デバイスドライバ２０３からセクタ単位での読み出しが要求された場合、セクタ毎に記録されているデータをデバイスドライバ２０３に供給する。
【００４５】
次に、ファイルシステム２０２により管理されるデータの詳細な構成について、図３と図４を参照して説明する。
【００４６】
図３は、ファイルシステム２０２がＦＡＴ１６により構成される場合、記録媒体２０４に記録されるデータの詳細な構成例を示す図である。図３と図４においては、記録媒体２０４に記録されるデータが、それぞれ記録媒体２０４の中で配置される順番に従って、先頭のデータから順に図中上から下に向かって記載されている。
【００４７】
図３において、記録媒体２０４のデータの先頭セクタであるLBA（(Logical Block Addressing)＝０のセクタには、起動コード、記録媒体２０４に記録されるデータの記録単位であるパーティションについて、各パーティションの先頭のセクタおよび終了セクタ、並びにサイズなどの情報を含むMBR(Master Boot Record)が配置されている。
【００４８】
MBRに続く所定の空き領域に続いて配置される、PBR（Partition Boot Record）、FAT（File Allocation Table）１、FAT２、ルートディレクトエントリ、クラスタは、記録媒体２０４のデータにおいて１つのパーティションとして記録される。
【００４９】
PBRは、記録媒体２０４のクラスタ数、パーティションの起動コードなどを含む情報とされ、例えば、オペレーティングシステムの起動時にメモリに読み込まれる。
【００５０】
FAT１およびFAT２は、それぞれ、ファイルを構成するクラスタの連鎖情報を有するテーブルであり、ファイルシステム２０３がファイルの読出しまたは書き込みを行うとき、FAT１またはFAT２が参照される。なお、通常FAT１とFAT２の記録内容は同様のものとされる（同じテーブルのコピーとされる）。
【００５１】
ルートディレクトリエントリには、記録媒体２０４のルートディレクトリに記録されるファイルに対応するディレクトリエントリが格納される。例えば、記録媒体２０４のルートディレクトリに複数のファイルが記録される場合、ルートディレクトリエントリには、個々のファイルに関係する情報からなるディレクトリエントリが、複数のファイルのそれぞれに対して形成される。ディレクトリエントリのそれぞれには、対応するファイルの名称、そのファイルの作成日、そのファイルのサイズ、および、そのファイルの先頭クラスタ番号などの情報が格納される。
【００５２】
１つのパーティションの中において、PBR乃至ルートディレクトリエントリに記録されるデータは、このパーティションのデータの管理情報であるが、ルートディレクトリエントリに続く、複数のクラスタには実データ（例えば、画像のデータ）が記録される。通常複数のクラスタにより１つのファイルが構成されるが、このファイルを構成する複数のクラスタの連鎖情報が上述したFAT１またはFAT２に記録されることになる。すなわちFAT１またはFAT２には、「当該パーティションに存在する複数のクラスタのうち、あるファイルの先頭が第何番目のクラスタであり、その次のクラスタは、第何番目のクラスタであり、・・・ファイルの最後のクラスタが第何番目のクラスタである」のような情報が記録される。
【００５３】
図４は、ファイルシステム２０２がＦＡＴ３２により構成される場合、記録媒体２０４に記録されるデータの詳細な構成例を示す図である。
【００５４】
図４においては、図３と異なりルートディレクトリエントリが配置されておらず、記録媒体２０４の中の空き容量を高速に計算するための空きクラスタ数が記録された情報などを含むデータであるFSInfoが配置されており、その他は、図３の場合と同様の構成とされる。なお、図３のFAT１６によれば、最大２GB（ギガバイト）までの領域を、１つのパーティションとして管理でき、図４のFAT３２によれば、最大２TB（テラバイト）までの領域を１つのパーティションとして管理できる。
【００５５】
図５は、図３または図４のMBRの構成例を示す図である。同図は、図中横軸方向に第０番目乃至第１５番目までの１６バイトのデータが示されており、合計５１２バイト（第000バイト乃至第01FFバイト）のデータとされる。MBRである５１２バイトのデータからなる先頭クラスタには、４４６バイトの起動コード領域２５１、続いて６４バイトのパーティションテーブル２５２、および２バイトの情報２６１が配置される。起動コード領域２５１は、クラスタの先頭の０バイト目から始まる第４４５バイトまでの領域であり、アクティブなパーティションから起動用のプログラムを読み込むためのマスタブートコード（Master Boot Code(Initial Program Loaderとも呼ばれる)）が記録されている。さらに第４４６バイトから始まる６４バイト分の領域からなるパーティションテーブル２５２、およびパーティションテーブル２５２の終端を示す情報である最後の２バイトの情報２６１（「55h」、および「AAh」）が記録されている。
【００５６】
パーティションテーブル２５２は、個々のパーティションに対応するパーティション情報（パーティションの開始アドレスとサイズ）を記録する。例えば、１つのパーティションが登録されている場合、パーティションテーブル２５２は図６に示されるように構成される。
【００５７】
図６は、パーティションテーブル２５２の詳細な構成例を示す図である。記録媒体２０４に１つのパーティションが記録されている場合、１６バイトのパーティション情報（パーティションテーブル２５２のエントリ）２７１が、パーティションテーブル２５２に保存される。パーティション情報２７１には、先頭から順に、１バイトのフラグ２８１，３バイトの開始セクタ（CHS（Cylinder/Head/Sector））２８２，１バイトのタイプ２８３，３バイトの終了セクタ（CHS）２８４，４バイトの開始セクタ（LBA）２８５、および４バイトのパーティションサイズ２８６が格納されている。
【００５８】
フラグ２８１は、パーティションがアクティブであるか否かを示す、いわゆる起動フラグである。例えば、“00h”であるフラグ２８１は、そのパーティションがノンアクティブである（いわゆる起動パーティションでない）ことを示し、“80h”であるフラグ２８１は、そのパーティションがアクティブである（いわゆる起動パーティションである）ことを示す。なお、“00h”や“80h”の「h（hexadecimal number）」は、“00”や“80”が１６進数で表現されていることを示している。以下、同様に、「h」が付加されている値は、１６進数で表現されていることを示す。
【００５９】
開始セクタ２８２は、シリンダ／ヘッド／セクタという３つのパラメータで、パーティションの先頭のセクタのアドレスを示す。タイプ２８３は、そのパーティションがフォーマットされているファイルシステムの方式を示す。例えば、“80h”であるタイプ２８３は、FAT32であることを示す。
【００６０】
終了セクタ２８４は、シリンダ／ヘッド／セクタという３つのパラメータで、パーティションの最後のセクタのアドレスを示す。開始セクタ２８５は、LBAによる、パーティションの先頭のセクタのアドレスを示す。パーティションサイズ２８６は、パーティションに含まれるセクタの総数を示す。
【００６１】
図７は、上述したFATの例を示す図である。図７において、上から２行目乃至５行目における、左から２列目乃至１７列目の個々の四角は、それぞれ１つのエントリを表しており、図中の上から第１行目および左から第１列目に示される数値の組み合わせがそのエントリのアドレスとなる。
【００６２】
例えば、FAT32の場合、エントリの中の数字は、次のエントリの番号を表している。なお、図７において、「00000000h」または「00000001h」のアドレスのエントリに格納されている「RSV」は、「00000000h」または「00000001h」のクラスタ番号のクラスタがWindows（登録商標）において使用される領域であり、予め予約されていることを示す。また、同図の「00000003h」のアドレス他のエントリに格納されているEOF(End Of File)は、ファイルの終点を表し、「00000002h」のアドレス他のエントリに格納されている「−」は、「00000000h」を意味し、当該エントリが「未使用」であることを表している。
【００６３】
FAT３２においては、各ファイルを記録するとき、後述するディレクトリエントリが作成され、そのディレクトリエントリの中に、ファイル名や作成日時、ファイルサイズなどの情報とともに、そのファイルの先頭クラスタ番号が格納される。ファイルにアクセスするときは、ディレクトリエントリの先頭クラスタ番号を参照し、そこから、FATを参照し次のクラスタ番号を見つけながら、ファイルにアクセスしていくことになる。図７で示されるFATの例において、４つのファイルが格納される実データが記録されているクラスタのアドレスが示されている。
【００６４】
１つのファイルに対応するディレクトリエントリにおいて、先頭クラスタ番号として、「00000007h」が示されている場合、「00000007h」のアドレスのエントリには「00000008h」が格納され、「00000008h」のアドレスのエントリには「00000009h」が格納され、「00000009h」のアドレスのエントリには「EOF」が格納されているので、「00000007h」のクラスタ番号のクラスタ、「00000008h」のクラスタ番号のクラスタ、および「00000009h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「00000007h」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
【００６５】
また、１つのファイルに対応するディレクトリエントリにおいて、先頭クラスタ番号として、「0000000Ah」が示されている場合、「0000000Ah」のアドレスのエントリには「0000001Fh」が格納され、「0000001Fh」のアドレスのエントリには「00000025h」が格納され、「00000025h」のアドレスのエントリには「00000031h」が格納され、「00000031h」のアドレスのエントリには「00000030h」が格納され、「00000030h」のアドレスのエントリには「EOF」が格納されているので、「0000000Ah」のクラスタ番号のクラスタ、「0000001Fh」のクラスタ番号のクラスタ、「00000025h」のクラスタ番号のクラスタ、「00000031h」のクラスタ番号のクラスタ、および「00000030h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「0000000Ah」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
【００６６】
さらに、１つのファイルに対応するディレクトリエントリにおいて、先頭クラスタ番号として、「0000001Bh」が示されている場合、「0000001Bh」のアドレスのエントリには「00000011h」が格納され、「00000011h」のアドレスのエントリには「00000012h」が格納され、「00000012h」のアドレスのエントリには「00000013h」が格納され、「00000013h」のアドレスのエントリには「00000014h」が格納され、「00000014h」のアドレスのエントリには「00000003h」が格納され、「00000003h」のアドレスのエントリには、「EOF」が格納されているので、「0000001Bh」のクラスタ番号のクラスタ、「00000011h」のクラスタ番号のクラスタ、「00000012h」のクラスタ番号のクラスタ、「00000013h」のクラスタ番号のクラスタ、「00000014h」のクラスタ番号のクラスタ、および「00000003h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「0000001Bh」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
【００６７】
また、１つのファイルに対応するディレクトリエントリにおいて、先頭クラスタ番号として、「0000002Ch」が示されている場合、「0000002Ch」のアドレスのエントリには「0000002Dh」が格納され、「0000002Dh」のアドレスのエントリには「0000002Eh」が格納され、「0000002Eh」のアドレスのエントリには「0000002Fh」が格納され、「0000002Fh」のアドレスのエントリには「00000038h」が格納され、「00000038h」のアドレスのエントリには「00000039h」が格納され、「00000039h」のアドレスのエントリには、「0000003Ah」が格納され、「0000003Ah」のアドレスのエントリには「0000003Bh」が格納され、「0000003Bh」のアドレスのエントリには「EOF」が格納されているので、「0000002Ch」のクラスタ番号のクラスタ、「0000002Dh」のクラスタ番号のクラスタ、「0000002Eh」のクラスタ番号のクラスタ、「0000002Fh」のクラスタ番号のクラスタ、「00000038h」のクラスタ番号のクラスタ、「00000039h」のクラスタ番号のクラスタ、「0000003Ah」のクラスタ番号のクラスタ、および「0000003Bh」のクラスタ番号のクラスタに、先頭クラスタ番号として、「0000002Ch」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
【００６８】
図８は、FAT32におけるファイルに関係するディレクトリエントリの構造の例を示す図である。なお、図中上側に横一列に記述された数値０乃至１Ｆは、０を始点としてディレクトリエントリにおけるバイト数を表わす１６進数である。
【００６９】
ディレクトリエントリの先頭に配置される、７バイトの名前３３１は、ファイル名を示す。名前３３１に続く、３バイトの拡張名３３２は、いわゆる、ファイルの拡張子（例えば、MPEG2（Moving Picture Experts Group phase 2）フォーマットの場合は「mpg」、MP3（MPEG Audio Layer-3）フォーマットの場合は「mp3」)を示す。また、拡張名３３２に続く、１バイトの属性３３３は、ファイルの属性を示す。ファイルの属性は、例えば、読み取り専用ファイルまたは隠しファイルなどを示す。属性３３３に続く、１バイトの予約領域３３４は、未使用の領域である。
【００７０】
予約領域３３４に続く、３バイトの作成時刻３３５は、ファイルが作成された時刻を示す。作成時刻３３５に続く、２バイトの作成日付３３６は、ファイルが作成された日付を示す。作成日付３３６に続く、２バイトの最終アクセス日付３３７は、ファイルにアクセスされた最終の日付を示す。
【００７１】
先頭クラスタの番号(位置)は、先頭クラスタの番号の上位を示す２バイトの先頭クラスタ番号(High)３３８と、先頭クラスタの番号の下位を示す２バイトの先頭クラスタ番号（Low）３４１とに、分けて配置される。すなわち、先頭クラスタの番号（位置）は、３２ビットで示される。そのファイルのサイズは、４バイトのファイルサイズ３４２に記憶される。
【００７２】
２バイトの記録時刻３３９は、ファイルが記録された時刻、すなわち、ファイルが最後に更新された時刻（最後に書き込まれた時刻）を示す。２バイトの記録日付３４０は、ファイルが記録された日付、すなわち、ファイルが最後に更新された日付（最後に書き込まれた日付）を示す。
【００７３】
ディレクトリエントリにおいて、最終アクセス日付３３７に続いて、先頭クラスタ番号（High）３３８、記録時刻３３９、記録日付３４０、先頭クラスタ番号（Low）３４１、およびファイルサイズ３４２が順に配置される。
【００７４】
上述したように、FAT３２などのファイルシステム２０２によるファイルへのアクセスは、FATを参照して行われる。例えば、ファイルを読み出す場合、ＦＡＴの参照が頻繁に行われるので、より高速にファイルを読み出すためには、ＦＡＴに対するアクセスが高速に行えるようにすることが望ましく、近年ではシステムの初期化処理時に、ＨＤＤ（Hard Disk Drive）から、高速な読み書きが可能なRAM、ＳＤＲＡＭ（Synchronous DRAM）などで構成されるバッファメモリにＦＡＴを読み出しておき、このバッファメモリに記憶されたＦＡＴを参照してファイルのアクセスを実行することで、ＦＡＴの参照に必要な時間を短縮するなどの工夫がなされている。
【００７５】
しかしながら、例えば、30GB（ギガバイト）のHDDを、クラスタサイズを32KB（キロバイト）としてフォーマットした場合、FATのサイズは４MB（メガバイト）に近くなる。例えば、記録再生装置１００を、小型で安価に製造するためには、RAM１４１などのバッファメモリの記憶容量は、おのずと限られたものになり、サイズの大きいFATを記憶させることは難しい。
【００７６】
一方で、記録再生装置１００のドライブ１４５には、上述したように複数の種類の記録媒体（メディア）が装着可能であり、例えば、フラッシュメモリ（半導体メモリ）などの記録媒体は、通常、HDD（磁気ディスク）などの記録媒体と比較してデータの高速な読み書きが可能であり、記録再生装置１００が処理する動画像のデータなどのファイルをFATとともにファイルシステム２０２で管理してフラッシュメモリに記録すれば、ファイルを読み出すときにフラッシュメモリに記録されたFATが参照され、HDDに動画像のデータなどのファイルなどを記録した場合と比較して、ファイルの読み出し処理を高速化することが可能になる。
【００７７】
しかし、通常のフラッシュメモリの記録容量は、数百メガバイト程度であり、例えば、動画像などの大量のデータを記録するためには、数十ギガバイトの記録容量をもつHDDなどの記録媒体が必要となる。
【００７８】
そこで、本発明においては、ドライブ１４５に装着される複数の種類（例えば、２種類）の記録媒体（メディア）を、あたかも１つのメディアとして利用する。
【００７９】
例えば、ドライブ１４５にフラッシュメモリと、HDDの２種類のメディアが装着されている場合、図９に示されるように２つのメディアを、あたかも１つのメディアとしてファイルシステム２０２で管理し、図３を参照して上述したように構成されるデータを記録する。なお、図９に示されるように、複数のメディアをあたかも１つのメディアとして管理する方式を、本発明においては統合メディアと称する。
【００８０】
図９は、ファイルシステム２０２がFAT１６である場合、フラッシュメモリとHDDのそれぞれに記録されるデータの構成例を示す図である。同図におけるデータの構成は図３と同様とされるが、図９の場合、データの先頭（図３においてLBA=0とされる部分）であるMBRから順に、フラッシュメモリに配置されており、フラッシュメモリのLBA＝０とされる部分から順に、フラッシュメモリの最後のセクタであるLBA＝Xとされる部分まで配置されている。すなわち、フラッシュメモリの先頭セクタ（LBA＝０とされる部分）から順に、MBR、所定の空き領域、PBR、FAT１、FAT２、ルートディレクトリエントリ、クラスタ、・・・が配置されている。
【００８１】
そして、フラッシュメモリの最後のセクタであるLBA＝Xとされる部分の後に続くデータ（いまの場合、複数のクラスタ）は、HDDに配置され、HDDのLBA＝０とされる部分から順に、複数のクラスタが配置されている。すなわち、すなわち、HDDの先頭セクタ（LBA＝０とされる部分）から順に、クラスタが複数配置されており、MBR、所定の空き領域、PBR、FAT１、FAT２、ルートディレクトリエントリなどのデータは、HDDには配置されていない。なお、この例では、HDDの最後のセクタであるLBA＝Yとされる部分までクラスタを配置することが可能である。
【００８２】
図９に示されるような統合メディアにおいては、ファイルを読み出すとき頻繁に参照されるFAT１またはFAT２を含む管理情報は、比較的高速に読み書きが可能なメディアであるフラッシュメモリに記録され、フラッシュメモリの記録容量を超えて存在する実データ、すなわちフラッシュメモリに記録しきれない実データは、比較的読み書きに時間を要する大容量のメディアであるHDDに記録されることになる。
【００８３】
このように、フラッシュメモリとHDDを統合メディアとして利用することで、全てのデータを、HDDに記録する場合と比較してより高速にファイルを読み出すことが可能となるとともに、全てのデータを、フラッシュメモリに記録する場合と比較してより大容量のデータを記録することが可能となる。
【００８４】
なお、ファイルシステム２０２がFAT３２である場合、フラッシュメモリとHDDのそれぞれに記録されるデータの構成例は、図１０に示されるようになる。同図におけるデータの構成は図４と同様とされ、やはり、FAT１またはFAT２を含む管理情報は、比較的高速に読み書きが可能なメディアであるフラッシュメモリに記録され、フラッシュメモリの記録容量を超えて存在する実データ、すなわちフラッシュメモリに記録しきれない実データは、比較的読み書きに時間を要する大容量のメディアであるHDDに記録されている。
【００８５】
複数のメディア（例えば、メディアAとメディアB）を統合メディアとして利用する場合、図１１に示されるようにデバイスドライバ２０３に含まれる統合デバイスドライバ４０１が、メディアAへのアクセスを制御するデバイスドライバAとメディアBへのアクセスを制御するデバイスドライバBとを制御し、ファイルシステム２０２からのアクセス要求に対して、メディアAとメディアBの２つのメディアからなる記録媒体２０４からデータを読み出したり書き込んだりする。従って、ファイルシステム２０２からみれば、メディアAとメディアBの２つのメディアがあたかも１つのメディアのようにみえることになる。
【００８６】
次に、図１２のフローチャートを参照して、記録再生装置１００におけるメディアフォーマット処理について説明する。この処理は、例えば、記録再生装置１００の操作入力部１４３を介して、ドライブ１４５に装着される記録媒体（メディア）のフォーマットの実行を指令するコマンドなどが入力されたとき実行される。
【００８７】
ここでは、記録再生装置１００のドライブ１４５に、フラッシュメモリであるメディアAとHDDであるメディアBの２つの記録媒体（メディア）が装着されているものとする。なお、処理に先立って、ドライブ１４５に装着されている複数のメディアがそれぞれどのような種類のメディアであるか（例えば、フラッシュメモリなのかＨＤＤなのか）を表す情報が、予め統合デバイスドライバ４０１により取得されており、統合デバイスドライバ４０１は、予め記憶されているメディアの種類と読出し（または書き込み）速度とを対応付けたテーブルなどを参照して、現在装着されているメディアのうち、比較的高速に読み書き可能なメディアがどのメディアであるのかを特定することが可能となるようになされているものとする。
【００８８】
ステップS１０１において、アプリケーション２０２に含まれるアプリケーションプログラムであって、メディアのフォーマットを実行するアプリケーションプログラムは、フォーマット方法の選択を受け付ける。このとき、例えば、操作入力部１４３を介して入力される情報に基づいて、複数のメディアを統合メディアとしてフォーマットするか、または個別にフォーマットするかが選択される。
【００８９】
ステップS１０２において、アプリケーションプログラムは、ステップS１０１で選択されたフォーマット方法は、「統合メディア」であるか否かを判定する。ステップS１０２において、フォーマット方法は、「統合メディア」であると判定された場合、処理は、ステップS１０３に進む。
【００９０】
ステップS１０３において、統合デバイスドライバ４０１は、図１３を参照して後述する統合メディアフォーマット処理を実行する。これにより、メディアAとメディアBが統合メディアとしてフォーマットされる。
【００９１】
ここで、図１３のフローチャートを参照して、図１２のステップS１０３の統合メディアフォーマット処理の詳細について説明する。
【００９２】
ステップS１３１において、統合デバイスドライバ４０１は、メディアAの記録容量を取得する。例えば、メディアA（フラッシュメモリ）が図９または図１０に示されるように、LBAとして「０」から「X」までの値を有する場合、メディアA（フラッシュメモリ）の記録容量は、「X+1」となる。
【００９３】
ステップS１３２において、統合デバイスドライバ４０１は、メディアBの記録容量を取得する。例えば、メディアB（HDD）が図９または図１０に示されるように、LBAとして「０」から「Y」までの値を有する場合、メディアB（HDD）の記録容量は、「Y+1」となる。
【００９４】
ステップS１３３において、統合デバイスドライバ４０１は、２つのメディアのうち、比較的高速に読み書き可能なフラッシュメモリであるメディアAのLBA＝０の位置に、MBRを作成する。上述したように、MBRは、各パーティションの先頭のセクタおよび終了セクタ、並びにサイズなどの情報を含んでおり、ここでは、先頭セクタから終了セクタまでの合計セクタ数が、ステップS１３１で取得されたメディアAの記録容量「X+1」と、ステップS１３２で取得されたメディアBの記録容量「Y+1」の和（「X+Y+２」）となるようにMBRが生成される。
【００９５】
なお、メディアAまたはメディアBのLBAの値「X」、「Y」などは、メディアAまたはメディアBのセクタを特定するアドレスとして利用することができ、メディアAのセクタ数は「X+1」、メディアBのセクタ数は「Y+1」と表現することができる。したがって、メディアAの記録容量とメディアBの記録容量の和「X+Y+２」を、統合メディアの合計セクタ数として置き換えることが可能である。
【００９６】
ステップS１３４において、統合デバイスドライバ４０１は、分岐点「X」を記憶する。ここで分岐点は、統合メディアにおいて、メディアAとメディアBの境界となるアドレスであり、いまの場合、フラッシュメモリであるメディアAの最後のセクタに対応するLBA＝Xが分岐点となる。なお、分岐点に関する情報は、例えば、メディアAまたはメディアBの中の予め設定された所定の領域などに記録（記憶）される。
【００９７】
ステップS１３５において、統合デバイスドライバ４０１は、統合メディアとしてメディアAとメディアBをフォーマットする。
【００９８】
このようにして、メディアAとメディアBとが統合メディアとしてフォーマットされる。その結果、図９または図１０に示されるように、２つのメディアがあたかも１つのメディアとして利用できるようになる。
【００９９】
図１２に戻って、ステップS１０２において、フォーマット方法は、「統合メディア」ではないと判定された場合、処理は、ステップS１０４に進む。
【０１００】
ステップS１０４において、統合デバイスドライバ４０１は、図１４を参照して後述する個別メディアフォーマット処理を実行する。これにより、メディアAとメディアBがそれぞれ個別に（統合メディアとしてではなく）フォーマットされる。
【０１０１】
ここで、図１４のフローチャートを参照して、図１２のステップS１０４の個別メディアフォーマット処理の詳細について説明する。
【０１０２】
ステップS１５１において、統合デバイスドライバ４０１は、メディアAの記録容量を取得する。例えば、メディアA（フラッシュメモリ）が図９または図１０に示されるように、LBAとして「０」から「X」までの値を有する場合、メディアA（フラッシュメモリ）の記録容量は、「X+1」となる。
【０１０３】
ステップS１５２において、統合デバイスドライバ４０１は、メディアAのLBA＝０の位置に、MBRを作成する。上述したように、MBRは、各パーティションの先頭のセクタおよび終了セクタ、並びにサイズなどの情報を含んでおり、ここでは、先頭セクタから終了セクタまでの合計セクタ数が、ステップS１５１で取得されたメディアAの記録容量「X+1」となるようにMBRが生成される。
【０１０４】
ステップS１５３において、統合デバイスドライバ４０１は、メディアAをフォーマットする。
【０１０５】
ステップS１５４において、統合デバイスドライバ４０１は、メディアBの記録容量を取得する。例えば、メディアB（HDD）が図９または図１０に示されるように、LBAとして「０」から「Y」までの値を有する場合、メディアB（HDD）の記録容量は、「Y+1」となる。
【０１０６】
ステップS１５５において、統合デバイスドライバ４０１は、メディアBのLBA＝０の位置に、MBRを作成する。ここでは、先頭セクタから終了セクタまでの合計セクタ数が、ステップS１５４で取得されたメディアBの記録容量「Y+1」となるようにMBRが生成される。
【０１０７】
ステップS１５６において、統合デバイスドライバ４０１は、メディアBをフォーマットする。
【０１０８】
このようにして、メディアAとメディアBがそれぞれ個別にフォーマットされる。
【０１０９】
次に、図１５のフローチャートを参照して、統合メディアとしてフォーマットされたメディアAとメディアBで構成される記録媒体２０４に対するデータ読出書込処理について説明する。
【０１１０】
ステップS２０１において、統合デバイスドライバ４０１は、ファイルシステム２０２からクラスタの読出しまたは書き込みの要求があったか否かを判定し、要求があったと判定されるまで待機する。
【０１１１】
ステップS２０２において、統合デバイスドライバ４０１は、ステップS２０１で読出しまたは書き込みの要求があったと判定されたクラスタのLBAをチェックする。ここでは、クラスタを構成するセクタのLBAがチェックされる。
【０１１２】
ステップS２０３において、統合デバイスドライバ４０１は、ステップS２０２の処理によりチェックされたクラスタのLBAの値は、ステップS１３４の処理で記憶された分岐点「X」を超えていないか否かを判定し、LBAの値が、「X」を超えていないと判定された場合、処理はステップS２０４に進む。
【０１１３】
ステップS２０４において、統合デバイスドライバ４０１は、当該LBAの値をデバイスドライバAに通知する。すなわち、LBAの値が、「X」を超えていない場合、そのクラスタは、フラッシュメモリであるメディアAに記録されているので、メディアAを制御するデバイスドライバAに当該LBAの値を通知する。
【０１１４】
ステップS２０５において、統合デバイスドライバ４０１は、デバイスドライバAを介してメディアAのクラスタの読出しまたは書き込みを行う。
【０１１５】
一方、ステップS２０３において、ステップS２０２の処理によりチェックされたクラスタのLBAの値が、「X」を超えていると判定された場合、処理はステップS２０６に進む。
【０１１６】
ステップS２０６において、統合デバイスドライバ４０１は、「当該LBAの値−Ｘ」の値をデバイスドライバＢに通知する。すなわち、LBAの値が、「X」を超えている場合、そのクラスタは、ＨＤＤであるメディアＢに記録されているので、メディアＢを制御するデバイスドライバＢに「当該LBAの値−Ｘ」の値を通知する。
【０１１７】
いまの場合、メディアＢはメディアＡとともに統合メディアとしてフォーマットされているので、ファイルシステム２０２は、統合メディアの合計セクタ数を、「X+Y+2」と認識しており、メディアAに記録されるクラスタも、メディアBに記録されるクラスタも連続したLBAにより指定されてアクセスされることになる。しかし、実際には、LBAの値が、「X」を超えている場合、そのクラスタにアクセスするためには、ＨＤＤであるメディアＢに固有のLBAの値によりクラスタを指定する必要がある。このため、ステップS２０６においては、メディアＢに固有のLBAの値として「当該LBAの値−Ｘ」の値がデバイスドライバＢに通知される。
【０１１８】
ステップS２０７において、統合デバイスドライバ４０１は、デバイスドライバＢを介してメディアＢのクラスタの読出しまたは書き込みを行う。
【０１１９】
ステップS２０５またはS２０７の処理の後、処理は、ステップS２０８に進み、統合デバイスドライバ４０１は、ファイルシステム２０２のアクセス要求に対する応答を出力する。
【０１２０】
このようにして、統合メディアに対するデータの読出しまたは書き込みなどのアクセスが制御される。
【０１２１】
以上においては、MBR、PBR、FSInfo、またはルートディレクトリエントリとともに、FAT１またはFAT２を含む管理情報が、比較的高速に読み書きが可能なメディアであるフラッシュメモリに記録され、フラッシュメモリの記録容量を超えて存在する実データ、すなわちフラッシュメモリに記録しきれない実データが、比較的読み書きに時間を要する大容量のメディアであるHDDに記録される例について説明したが、図８を参照して上述したディレクトリエントリも、ファイルの読み出しの際に頻繁に参照される情報であり、より高速なファイルアクセスを実現するためには、ディレクトリエントリも管理情報として、比較的高速に読み書きが可能なメディアであるフラッシュメモリに記録されることが望ましい。
【０１２２】
このような場合、ファイルを記録するときに、ディレクトリエントリをまとめてフラッシュメモリに記録するようにすればよい。図１６は、ディレクトリエントリをまとめてフラッシュメモリに記録する場合のファイル記録処理を説明するフローチャートである。
【０１２３】
図１６のステップＳ３０１において、アプリケーション２０１に含まれるアプリケーションプログラムであって、ファイルの記録処理を実行するアプリケーションプログラムは、ファイル名を指定して、新たなファイルを作成する作成コマンドをファイルシステム２０２に出力して、ステップＳ３０２に進む。
【０１２４】
ステップＳ３０２において、ファイルシステム２０２は、アプリケーションプログラムからのファイルの作成コマンドに応答して、新たなファイルのディレクトリエントリを記録するためのディレクトリエントリ領域の空き領域を、比較的高速に読み書きが可能なメディアであるフラッシュメモリ（メディアA）の中から検索して、ステップＳ３０３に進む。
【０１２５】
ステップＳ３０３において、ファイルシステム２０２は、ステップＳ２０２におけるディレクトリエントリ領域の空き領域の検索の結果、検出されたクラスタに新たなファイルのディレクトリエントリを記録して、ステップＳ３０４に進む。
【０１２６】
ステップＳ３０４において、ファイルシステム２０２は、新たなファイルの実データを記録するための、実データ領域の空きクラスタを、メディアAとは異なるメディアBの中から検索して、ステップＳ３０５に進む。
【０１２７】
ステップＳ３０５において、アプリケーションプログラムは、新たなファイルの実データ（例えば、画像のデータ）のファイルシステム２０２への出力を開始して、ステップＳ３０６に進む。
【０１２８】
ステップＳ３０６において、ファイルシステム２０２は、ステップＳ３０４における実データ領域の空きクラスタの検索の結果検出された空きクラスタに、実データを記録して、処理を終了する。
【０１２９】
このようにしてファイルが記録される。このようにすることで、ディレクトリエントリがまとめて、フラッシュメモリに記録され、例えば、ディレクトリエントリがHDDに記録されている場合と比較して、より高速なファイルアクセスを実現することができる。
【０１３０】
以上においては、メディアAとメディアBの２つのメディアが、統合メディアとしてフォーマットされる例について説明したが、３つ以上のメディアが統合メディアとしてフォーマットされるようにしてもよい。
【０１３１】
例えば、記録容量がそれぞれ、「X+1」であるメディアA、「Y＋1」であるメディアB、「Z+1」であるメディアC、・・・のように３つ以上（例えば、ｎ個）のメディアが統合メディアとしてフォーマットされる場合、図１３のステップS１３３の処理では、メディアAのLBA＝０の位置に、合計セクタ数が「X＋Y＋Z＋・・・＋ｎ」となるようにMBRが作成され、ステップS１３４の処理では、分岐点「X」、「Y」、「Z」、・・・が記憶されるようにすればよい。
【０１３２】
以上においては、本発明を記録再生装置１００に適用した例について説明したが、本発明を汎用のパーソナルコンピュータに適用することも可能である。図１７は、パーソナルコンピュータの構成例を示すブロック図である。
【０１３３】
図１７において、CPU（Central Processing Unit）５０１は、ROM（Read Only Memory）５０２に記憶されているプログラム、または記憶部５０８からRAM（Random Access Memory）５０３にロードされたプログラムに従って各種の処理を実行する。RAM５０３にはまた、CPU５０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１３４】
CPU５０１、ROM５０２、およびRAM５０３は、バス５０４を介して相互に接続されている。このバス５０４にはまた、入出力インタフェース５０５も接続されている。
【０１３５】
入出力インタフェース５０５には、キーボード、マウスなどよりなる入力部５０６、CRT(Cathode Ray Tube)、ＬＣＤ(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部５０７、ハードディスクなどより構成される記憶部５０８、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部５０９が接続されている。通信部５０９は、インターネットを含むネットワークを介しての通信処理を行う。
【０１３６】
入出力インタフェース５０５にはまた、必要に応じてドライブ５１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア５１１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部５０８にインストールされる。
【０１３７】
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア５１１などからなる記録媒体からインストールされる。
【０１３８】
なお、この記録媒体は、図１７に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フロッピディスク（登録商標）を含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア５１１により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM５０２や、記憶部５０８に含まれるハードディスクなどで構成されるものも含む。
【０１３９】
本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１４０】
【図１】本発明を適用した記録再生装置の一実施形態に係る構成例を示す図である。
【図２】図１の、記録再生装置における記録媒体へのデータの記録、または記録媒体からのデータの読出しの仕組みを説明する図である。
【図３】図２の記録媒体に記録されるデータの構成例を示す図である。
【図４】図２の記録媒体に記録されるデータの別の構成例を示す図である。
【図５】図３または図４のMBRの構成例を示す図である。
【図６】図５のパーティションテーブルに記録されるデータの例を示す図である。
【図７】図３または図４のFATの構成例を示す図である。
【図８】ディレクトリエントリの構成例を示す図である。
【図９】統合メディアとして管理される記録媒体に記録されるデータの構成例を示す図である。
【図１０】統合メディアとして管理される記録媒体に記録されるデータの別の構成例を示す図である。
【図１１】図１のCPUで実行されるソフトウェアの機能的構成例を示すブロック図である。
【図１２】メディアフォーマット処理を説明するフローチャートである。
【図１３】統合メディアフォーマット処理を説明するフローチャートである。
【図１４】個別メディアフォーマット処理を説明するフローチャートである。
【図１５】データ読出書込処理を説明するフローチャートである。
【図１６】ファイル記録処理を説明するフローチャートである。
【図１７】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１４１】
１００  記録再生装置，  １４４  通信部，  １４５  ドライブ，  ２０１  アプリケーション，  ２０２  ファイルシステム，  ２０３  デバイスドライバ，  ２０４  記録媒体，  ４０１  統合デバイスドライバ
【図１】
2007058671.tif 000003
【図２】
2007058671.tif 000004
【図３】
2007058671.tif 000005
【図４】
2007058671.tif 000006
【図５】
2007058671.tif 000007
【図６】
2007058671.tif 000008
【図７】
2007058671.tif 000009
【図８】
2007058671.tif 000010
【図９】
2007058671.tif 000011
【図１０】
2007058671.tif 000012
【図１１】
2007058671.tif 000013
【図１２】
2007058671.tif 000014
【図１３】
2007058671.tif 000015
【図１４】
2007058671.tif 000016
【図１５】
2007058671.tif 000017
【図１６】
2007058671.tif 000018
【図１７】
2007058671.tif 000019