JP2007058671A - 情報処理装置および方法、プログラム、並びに記録媒体 - Google Patents
情報処理装置および方法、プログラム、並びに記録媒体 Download PDFInfo
- Publication number
- JP2007058671A JP2007058671A JP2005244610A JP2005244610A JP2007058671A JP 2007058671 A JP2007058671 A JP 2007058671A JP 2005244610 A JP2005244610 A JP 2005244610A JP 2005244610 A JP2005244610 A JP 2005244610A JP 2007058671 A JP2007058671 A JP 2007058671A
- Authority
- JP
- Japan
- Prior art keywords
- recording medium
- recording
- integrated
- media
- medium
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title description 46
- 230000010365 information processing Effects 0.000 claims description 32
- 238000003672 processing method Methods 0.000 claims description 6
- 230000010354 integration Effects 0.000 abstract 2
- 238000005192 partition Methods 0.000 description 40
- 230000008569 process Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 15
- 101000824299 Homo sapiens Protocadherin Fat 2 Proteins 0.000 description 12
- 102100022093 Protocadherin Fat 2 Human genes 0.000 description 12
- 101000824318 Homo sapiens Protocadherin Fat 1 Proteins 0.000 description 11
- 102100022095 Protocadherin Fat 1 Human genes 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 230000002950 deficient Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/40—Combinations of multiple record carriers
- G11B2220/41—Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
- G11B2220/412—Distributed storage methods, i.e. the system may autonomously determine for a storage device that provides enough storage capacity for recording
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 ファイルへのアクセスを確実に高速化できるようにする。
【解決手段】 メディアAとメディアBを合わせて統合メディアとしてフォーマットする場合、統合デバイスドライバ401がメディアAのメディアAの記録容量と、メディアBの記録容量とを取得し、双方の記録容量に基づく合計セクタ数に対応するMBRを、比較的高速に読み書き可能なメディアAのLBA=0の位置に作成する。また、統合デバイスドライバ401は、メディアAとメディアBを統合メディアとしてフォーマットするとき、統合メディアにおける分岐点のLBAを記憶し、以後、分岐点を基準にして、メディアAまたはメディアBに対するデータの読出しまたは書込みを行う。
【選択図】 図11
【解決手段】 メディアAとメディアBを合わせて統合メディアとしてフォーマットする場合、統合デバイスドライバ401がメディアAのメディアAの記録容量と、メディアBの記録容量とを取得し、双方の記録容量に基づく合計セクタ数に対応するMBRを、比較的高速に読み書き可能なメディアAのLBA=0の位置に作成する。また、統合デバイスドライバ401は、メディアAとメディアBを統合メディアとしてフォーマットするとき、統合メディアにおける分岐点のLBAを記憶し、以後、分岐点を基準にして、メディアAまたはメディアBに対するデータの読出しまたは書込みを行う。
【選択図】 図11
Description
本発明は、情報処理装置および方法、プログラム、並びに記録媒体に関し、特に、ファイルへのアクセスを確実に高速化できるようにする情報処理装置および方法、プログラム、並びに記録媒体に関する。
近年、カメラなどで撮影された画像をデジタルデータ化し、画像データとして編集などの処理を施すことが頻繁に行われている。この場合、撮影された画像のデータは、一旦記録媒体に記録されることが多い。記録媒体におけるデータの記録位置などの管理は、例えば、FAT16またはFAT32などのファイルシステムにより行われることが一般的である。FAT16またはFAT32などのファイルシステムにおいては、記録媒体の中で、個々のクラスタに分割されて記録されているデータの連鎖情報がFAT(File Allocation Table)により管理されており、例えば、記録媒体から1つのファイルが読み出される場合、FATが参照されて一連のクラスタのデータが読み出される。
このように、記録媒体からファイルを読み出す場合、FATの参照が頻繁に行われるので、より高速にファイルを読み出すためには、FATに対するアクセスが高速に行えるようにすることが望ましい。そこで、出願人は、システムの初期化処理時に、HDD(Hard Disk Drive)から、高速な読み書きが可能なSDRAM(Synchronous DRAM)などからなるバッファメモリにFATを読み出しておき、このバッファメモリに記憶されたFATを参照してファイルのアクセスを実行することで、FATの参照に必要な時間を短縮し、高速なファイルアクセスを実現する技術を提案した(例えば、特許文献1参照)。
しかしながら、例えば、30GB(ギガバイト)のHDDを、クラスタサイズを32KB(キロバイト)としてフォーマットした場合、FATのサイズは4MB(メガバイト)に近くなり、このように大きい容量のSDRAMをバッファメモリとして備える装置は限られており、装置によってはFATを、バッファメモリに記憶することができない可能性があった。
本発明はこのような状況に鑑みてなされたものであり、ファイルへのアクセスを確実に高速化できるようにするものである。
本発明の一側面は、複数の記録媒体に対して情報の読出しまたは書き込みが可能な情報処理装置であって、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定するフォーマット判定手段と、前記フォーマット判定手段による判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットする統合フォーマット手段とを備える情報処理装置である。
前記統合フォーマット手段は、複数の前記記録媒体のセクタ数を合計したセクタ数を、前記統合記録媒体のセクタ数として、前記統合記録媒体のMBR(Master Boot Record)を作成するようにすることができる。
前記統合フォーマット手段は、複数の前記記録媒体のうち、他の記録媒体と比較してデータの高速な読み書きが可能な第1の記録媒体に前記統合記録媒体の先頭のセクタに前記MBRを配置し、前記統合記録媒体の管理情報を、前記MBRに続けて配置するようにすることができる。
前記管理情報には、前記統合記録媒体のFAT(File Allocation Table)が含まれるようにすることができる。
前記管理情報には、ディレクトリエントリが含まれるようにすることができる。
前記第1の記録媒体の最後のセクタを表すアドレスを、前記統合記録媒体における前記第1の記録媒体と、前記第1の記録媒体の記録容量を超えて存在するデータが記録される第2の記録媒体であって、前記第1の記録媒体に続いてデータが記録される第2の記録媒体との分岐点として記憶する分岐点記憶手段をさらに備えるようにすることができる。
前記統合記録媒体に記録されているデータにアクセスする場合、前記データの記録位置を表すアドレスが、前記分岐点を超えているか否かを判定し、前記データの記録位置を表すアドレスが、前記分岐点を超えているとき、前記第2の記録媒体にアクセスし、前記データの記録位置を表すアドレスが、前記分岐点を超えていない場合、前記第1の記録媒体にアクセスするようにすることができる。
本発明の一側面は、複数の記録媒体に対して情報の読出しまたは書き込みが可能な情報処理装置の情報処理方法であって、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定し、前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするステップを含む情報処理方法である。
本発明の一側面は、複数の記録媒体に対して情報の読出しまたは書き込みが可能な情報処理装置に情報処理を実行させるプログラムであって、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かの判定を制御し、前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてのフォーマットを制御するステップを含むコンピュータが読み取り可能なプログラムである。
本発明の一側面においては、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かが判定され、前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体が合わせて統合記録媒体としてフォーマットされる。
本発明の一側面によれば、ファイルへのアクセスを確実に高速化できる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の情報処理装置は、複数の記録媒体(例えば、フラッシュメモリ、HDDなど)に対して情報の読出しまたは書き込みが可能な情報処理装置であって、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定するフォーマット判定手段(例えば、図13のステップS102の処理を実行する図11のアプリケーション201)と、前記フォーマット判定手段による判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットする統合フォーマット手段(例えば、図12のステップS103の処理を実行する図11の統合デバイスドライバ401)とを備える。
この情報処理装置は、前記統合フォーマット手段が、複数の前記記録媒体のうち、他の記録媒体と比較してデータの高速な読み書きが可能な第1の記録媒体に前記統合記録媒体の先頭のセクタに前記MBRを配置し、前記統合記録媒体の管理情報(例えば、図9のPBR、FAT1、FAT2、ルートディレクトエントリなど)を、前記MBRに続けて配置するようにすることができる。
この情報処理装置は、前記管理情報には、ディレクトリエントリ(例えば、図8のディレクトリエントリ)が含まれるようにすることができる。
この情報処理装置は、前記第1の記録媒体の最後のセクタを表すアドレス(例えば、図9のLBA=Xとなる位置)を、前記統合記録媒体における前記第1の記録媒体と、前記第1の記録媒体の記録容量を超えて存在するデータが記録される第2の記録媒体であって、前記第1の記録媒体に続いてデータが記録される第2の記録媒体との分岐点として記憶する分岐点記憶手段(例えば、図13のステップS134の処理を実行する図11の統合デバイスドライバ401)をさらに備えるようにすることができる。
この情報処理装置は、前記統合記録媒体に記録されているデータにアクセスする場合、前記データの記録位置を表すアドレスが、前記分岐点を超えているか否かを判定し(例えば、図15のステップS203の処理により判定し)、前記データの記録位置を表すアドレスが、前記分岐点を超えているとき、前記第2の記録媒体にアクセスし、前記データの記録位置を表すアドレスが、前記分岐点を超えていない場合、前記第1の記録媒体にアクセスするようにすることができる。
本発明の一側面の情報処理方法は、複数の記録媒体(例えば、フラッシュメモリ、HDDなど)に対して情報の読出しまたは書き込みが可能な情報処理装置の情報処理方法であって、前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定し(例えば、図13のステップS102の処理により判定し)、前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットする(例えば、図12のステップS103の処理によりフォーマットする)ステップを含む。
以下、図面を参照して、本発明の実施の形態について説明する。図1は、本発明を適用した記録再生装置100の一実施形態に係る構成例を示す図である。この記録再生装置100は、例えば、デジタルスチルカメラ、デジタルビデオカメラなどとして構成され、撮影した画像(または音声)のデータを、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどの記録媒体に記録したり、記録媒体に記録された画像(または音声)のデータを再生したりする。
図1において、光学レンズ101は、カメラ機能部102の制御に基づいて、被写体の画像の光を集光し、集光した光を、光電変換部103に結像させる。
カメラ機能部102は、CPU(central processing unit)161の制御に基づいて、光学レンズ101による被写体の撮影動作を開始させたり、終了させたりする他、光学レンズ101のズーム率、取り込む光量などを適宜制御する。
光電変換部103は、例えば、CCD(charge-coupled device)C-MOS(Complementary-Metal Oxide Semiconductor)などの光電変換素子により構成され、光学レンズ101から供給される光を電気的信号に変換し、画像処理部104に供給する。
画像信号処理部104は、光電変換部103から供給される信号に基づいて、画像のデータを生成する。画像信号処理部104は、例えば、CPU161の制御に基づいて、被写体の画像に対応するアナログの信号を、A/D(Analog to Digital)変換して、デジタルの画像のデータとし、その画像のデータに対して、例えば、ホワイトバランスの調整、欠陥画素の補間などの画像処理を適用する。また、画像信号処理部104は、CPU161の制御に基づいて、MEPG(Motion Picture Experts Group)、JPEG(Joint Photographic Expert Group)などの方式による画像のデータの圧縮符号化を行ったり、圧縮符号化された画像のデータの復号を行ったりする。
また、画像信号処理部104は、被写体の画像に対応するアナログの信号を、A/D変換して、ホワイトバランスを調整し、または欠陥画素を補間した画像のデータを、ディスプレイ106および画像入出部105に供給する。より具体的には、画像信号処理部104は、その画像データを、ディスプレイ106の入力方式である、例えば、RGB(Red, Green, Blue)信号に変換して、ディスプレイ106に供給し、同様に、画像信号処理部104は、RGB信号を画像入出力部105にも供給する。
画像入出力部105は、例えば、外部の装置から供給される画像信号を、画像信号処理部104に供給し、また、画像信号処理部104から出力される画像のデータに対応する信号を、外部の装置に出力する。ディスプレイ106は、例えば、LCD(Liquid Crystal Display)などにより構成され、画像信号処理部104から出力される画像のデータに対応する信号に基づく画像を表示する。
音声入出力部121は、例えば、マイクロフォンなどにより集音された音声信号を、音声処理部122に供給し、また、音声処理部122から出力される音声のデータに対応する音声を、スピーカなどに出力する。音声処理部122は、CPU161の制御に基づいて、音声入出力部121から供給される音声の信号に基づいて、圧縮符号化された音声のデータを生成したり、圧縮符号化された音声のデータの復号を行ったりする。
RAM(Random Access Memory)141は、ドライブ145に装着される記録媒体から読み出されるプログラムなどのデータ、またはプログラムによる処理に伴って生成されるデータなどを記憶し、必要に応じてCPU161に供給する。ROM142は、予め記憶されているデータを、必要に応じてCPU161に供給する。
操作入力部143は、例えば、操作キーまたはボタンなどを有する構成とされ、ユーザにより入力された操作に対応する信号を、CPU161に出力する。
通信部144は、例えば、ネットワークカードなどにより構成され、Ethernet(登録商標)、USB(Universal Serial Bus)などの有線通信のインタフェース、または、IEEE802.11a/b/g、Bluetoothなどの無線通信のインタフェースとして機能し、CPU161の制御に基づいて、ネットワークに接続される他の装置との通信を行う。
ドライブ145には、例えば、HDD(Hard Disk Drive)などの磁気ディスク、DVD(Digital Versatile Disk)などの光ディスク、MD(登録商標)(Mini-Disk))などの光磁気ディスク、フラッシュメモリ、メモリースティック(登録商標)などの半導体メモリなどで構成される各種の記録媒体が装着される。ドライブ145は、装着された記録媒体にアクセスし、データを記録したり、記録したデータを読み出したりする。
電源146は、記録再生装置100を駆動させるために必要となる電力を供給する。
CPU161は、各種の演算を行ってデータの処理を行い、記録再生装置100全体の動作を制御する。
図2は、記録再生装置100における記録媒体204へのデータの記録、または記録媒体204からのデータの読出しの仕組みを説明する図である。同図において、アプリケーション201は、CPU161で実行されるソフトウェアの最上位のレイヤに属するソフトウェアであり、例えば、動画像の記録または再生の処理を制御する。アプリケーション201は、自身が行う処理に伴って、記録または再生が必要となるデータについて、例えば、所定の記録単位のデータで構成されるファイルを単位としてアクセスする。アプリケーション201は、所定のファイルにアクセスするとき、ファイルシステム202にアクセス要求を出力する。
ファイルシステム202は、記録媒体204のどこに何のファイルがあるのか、その情報を管理するためのソフトウェアであり、やはりCPU161により実行されるソフトウェアとされる。ファイルシステム202は、例えば、FAT(ファット)16またはFAT32などにより構成される。なお、FAT32の詳細は、「Microsoft Extensible Firmware Initiative FAT32 File System Specification」に開示されている。
ファイルシステム202は、アプリケーション201からアクセス要求のあったファイルについて、所定のビット量で構成されるクラスタに分解し、クラスタ単位でアクセスする。例えば、アプリケーション201からファイルシステム202に対して、ファイルの読み出しが要求された場合、ファイルシステム202は、そのファイルの実データが記録されているクラスタを該当クラスタとして検索する。また例えば、アプリケーション201からファイルシステム202に対してファイルの書き込みが要求された場合、ファイルシステム2021は、ファイルの実データを書き込み可能な空きクラスタを該当クラスタとして検索する。
そして、ファイルシステム202は、検索された該当クラスタをLBA(Logical Block Addressing)に変換し、デバイスドライバ203に対して、セクタ単位でアクセスを要求する。また、ファイルシステム202は、自身が出力したアクセス要求に基づいてデバイスドライバ203から供給された応答に基づいて、ファイルのアクセス要求に対する応答をアプリケーション201に出力する。
デバイスドライバ203は、ドライブ145の動作を制御するためのソフトウェアであり、やはりCPU161により実行されるソフトウェアとされる。デバイスドライバ203は、ファイルシステム203からのアクセス要求に基づいて、ドライブ145を制御してドライブ145に装着される記録媒体204にセクタ単位でアクセスする。これにより、ドライブ145が、自身に装着された記録媒体204の要求されたセクタにアクセスする。ここでセクタは、クラスタよりさらに細かい記録単位であり(複数のセクタによりクラスタが構成される)、LBAによりアクセスすべきセクタが指定される。また、自身が出力したセクタ単位のアクセス要求に基づいて記録媒体204(実際にはドライブ145)から供給された応答に基づいて、クラスタのアクセス要求に対する応答をファイルシステム202に出力する。
記録媒体204(ドライブ145)は、デバイスドライバ203からのアクセス要求に基づいて、アクセス要求のあったセクタにデータを書き込み(記録し)、またはアクセス要求のあったセクタからデータを読み出す処理を行い、その処理結果を、セクタのアクセス要求に対する応答としてデバイスドライバ203に出力する。例えば、記録媒体204は、デバイスドライバ203からセクタ単位での読み出しが要求された場合、セクタ毎に記録されているデータをデバイスドライバ203に供給する。
次に、ファイルシステム202により管理されるデータの詳細な構成について、図3と図4を参照して説明する。
図3は、ファイルシステム202がFAT16により構成される場合、記録媒体204に記録されるデータの詳細な構成例を示す図である。図3と図4においては、記録媒体204に記録されるデータが、それぞれ記録媒体204の中で配置される順番に従って、先頭のデータから順に図中上から下に向かって記載されている。
図3において、記録媒体204のデータの先頭セクタであるLBA((Logical Block Addressing)=0のセクタには、起動コード、記録媒体204に記録されるデータの記録単位であるパーティションについて、各パーティションの先頭のセクタおよび終了セクタ、並びにサイズなどの情報を含むMBR(Master Boot Record)が配置されている。
MBRに続く所定の空き領域に続いて配置される、PBR(Partition Boot Record)、FAT(File Allocation Table)1、FAT2、ルートディレクトエントリ、クラスタは、記録媒体204のデータにおいて1つのパーティションとして記録される。
PBRは、記録媒体204のクラスタ数、パーティションの起動コードなどを含む情報とされ、例えば、オペレーティングシステムの起動時にメモリに読み込まれる。
FAT1およびFAT2は、それぞれ、ファイルを構成するクラスタの連鎖情報を有するテーブルであり、ファイルシステム203がファイルの読出しまたは書き込みを行うとき、FAT1またはFAT2が参照される。なお、通常FAT1とFAT2の記録内容は同様のものとされる(同じテーブルのコピーとされる)。
ルートディレクトリエントリには、記録媒体204のルートディレクトリに記録されるファイルに対応するディレクトリエントリが格納される。例えば、記録媒体204のルートディレクトリに複数のファイルが記録される場合、ルートディレクトリエントリには、個々のファイルに関係する情報からなるディレクトリエントリが、複数のファイルのそれぞれに対して形成される。ディレクトリエントリのそれぞれには、対応するファイルの名称、そのファイルの作成日、そのファイルのサイズ、および、そのファイルの先頭クラスタ番号などの情報が格納される。
1つのパーティションの中において、PBR乃至ルートディレクトリエントリに記録されるデータは、このパーティションのデータの管理情報であるが、ルートディレクトリエントリに続く、複数のクラスタには実データ(例えば、画像のデータ)が記録される。通常複数のクラスタにより1つのファイルが構成されるが、このファイルを構成する複数のクラスタの連鎖情報が上述したFAT1またはFAT2に記録されることになる。すなわちFAT1またはFAT2には、「当該パーティションに存在する複数のクラスタのうち、あるファイルの先頭が第何番目のクラスタであり、その次のクラスタは、第何番目のクラスタであり、・・・ファイルの最後のクラスタが第何番目のクラスタである」のような情報が記録される。
図4は、ファイルシステム202がFAT32により構成される場合、記録媒体204に記録されるデータの詳細な構成例を示す図である。
図4においては、図3と異なりルートディレクトリエントリが配置されておらず、記録媒体204の中の空き容量を高速に計算するための空きクラスタ数が記録された情報などを含むデータであるFSInfoが配置されており、その他は、図3の場合と同様の構成とされる。なお、図3のFAT16によれば、最大2GB(ギガバイト)までの領域を、1つのパーティションとして管理でき、図4のFAT32によれば、最大2TB(テラバイト)までの領域を1つのパーティションとして管理できる。
図5は、図3または図4のMBRの構成例を示す図である。同図は、図中横軸方向に第0番目乃至第15番目までの16バイトのデータが示されており、合計512バイト(第000バイト乃至第01FFバイト)のデータとされる。MBRである512バイトのデータからなる先頭クラスタには、446バイトの起動コード領域251、続いて64バイトのパーティションテーブル252、および2バイトの情報261が配置される。起動コード領域251は、クラスタの先頭の0バイト目から始まる第445バイトまでの領域であり、アクティブなパーティションから起動用のプログラムを読み込むためのマスタブートコード(Master Boot Code(Initial Program Loaderとも呼ばれる))が記録されている。さらに第446バイトから始まる64バイト分の領域からなるパーティションテーブル252、およびパーティションテーブル252の終端を示す情報である最後の2バイトの情報261(「55h」、および「AAh」)が記録されている。
パーティションテーブル252は、個々のパーティションに対応するパーティション情報(パーティションの開始アドレスとサイズ)を記録する。例えば、1つのパーティションが登録されている場合、パーティションテーブル252は図6に示されるように構成される。
図6は、パーティションテーブル252の詳細な構成例を示す図である。記録媒体204に1つのパーティションが記録されている場合、16バイトのパーティション情報(パーティションテーブル252のエントリ)271が、パーティションテーブル252に保存される。パーティション情報271には、先頭から順に、1バイトのフラグ281,3バイトの開始セクタ(CHS(Cylinder/Head/Sector))282,1バイトのタイプ283,3バイトの終了セクタ(CHS)284,4バイトの開始セクタ(LBA)285、および4バイトのパーティションサイズ286が格納されている。
フラグ281は、パーティションがアクティブであるか否かを示す、いわゆる起動フラグである。例えば、“00h”であるフラグ281は、そのパーティションがノンアクティブである(いわゆる起動パーティションでない)ことを示し、“80h”であるフラグ281は、そのパーティションがアクティブである(いわゆる起動パーティションである)ことを示す。なお、“00h”や“80h”の「h(hexadecimal number)」は、“00”や“80”が16進数で表現されていることを示している。以下、同様に、「h」が付加されている値は、16進数で表現されていることを示す。
開始セクタ282は、シリンダ/ヘッド/セクタという3つのパラメータで、パーティションの先頭のセクタのアドレスを示す。タイプ283は、そのパーティションがフォーマットされているファイルシステムの方式を示す。例えば、“80h”であるタイプ283は、FAT32であることを示す。
終了セクタ284は、シリンダ/ヘッド/セクタという3つのパラメータで、パーティションの最後のセクタのアドレスを示す。開始セクタ285は、LBAによる、パーティションの先頭のセクタのアドレスを示す。パーティションサイズ286は、パーティションに含まれるセクタの総数を示す。
図7は、上述したFATの例を示す図である。図7において、上から2行目乃至5行目における、左から2列目乃至17列目の個々の四角は、それぞれ1つのエントリを表しており、図中の上から第1行目および左から第1列目に示される数値の組み合わせがそのエントリのアドレスとなる。
例えば、FAT32の場合、エントリの中の数字は、次のエントリの番号を表している。なお、図7において、「00000000h」または「00000001h」のアドレスのエントリに格納されている「RSV」は、「00000000h」または「00000001h」のクラスタ番号のクラスタがWindows(登録商標)において使用される領域であり、予め予約されていることを示す。また、同図の「00000003h」のアドレス他のエントリに格納されているEOF(End Of File)は、ファイルの終点を表し、「00000002h」のアドレス他のエントリに格納されている「−」は、「00000000h」を意味し、当該エントリが「未使用」であることを表している。
FAT32においては、各ファイルを記録するとき、後述するディレクトリエントリが作成され、そのディレクトリエントリの中に、ファイル名や作成日時、ファイルサイズなどの情報とともに、そのファイルの先頭クラスタ番号が格納される。ファイルにアクセスするときは、ディレクトリエントリの先頭クラスタ番号を参照し、そこから、FATを参照し次のクラスタ番号を見つけながら、ファイルにアクセスしていくことになる。図7で示されるFATの例において、4つのファイルが格納される実データが記録されているクラスタのアドレスが示されている。
1つのファイルに対応するディレクトリエントリにおいて、先頭クラスタ番号として、「00000007h」が示されている場合、「00000007h」のアドレスのエントリには「00000008h」が格納され、「00000008h」のアドレスのエントリには「00000009h」が格納され、「00000009h」のアドレスのエントリには「EOF」が格納されているので、「00000007h」のクラスタ番号のクラスタ、「00000008h」のクラスタ番号のクラスタ、および「00000009h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「00000007h」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
また、1つのファイルに対応するディレクトリエントリにおいて、先頭クラスタ番号として、「0000000Ah」が示されている場合、「0000000Ah」のアドレスのエントリには「0000001Fh」が格納され、「0000001Fh」のアドレスのエントリには「00000025h」が格納され、「00000025h」のアドレスのエントリには「00000031h」が格納され、「00000031h」のアドレスのエントリには「00000030h」が格納され、「00000030h」のアドレスのエントリには「EOF」が格納されているので、「0000000Ah」のクラスタ番号のクラスタ、「0000001Fh」のクラスタ番号のクラスタ、「00000025h」のクラスタ番号のクラスタ、「00000031h」のクラスタ番号のクラスタ、および「00000030h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「0000000Ah」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
さらに、1つのファイルに対応するディレクトリエントリにおいて、先頭クラスタ番号として、「0000001Bh」が示されている場合、「0000001Bh」のアドレスのエントリには「00000011h」が格納され、「00000011h」のアドレスのエントリには「00000012h」が格納され、「00000012h」のアドレスのエントリには「00000013h」が格納され、「00000013h」のアドレスのエントリには「00000014h」が格納され、「00000014h」のアドレスのエントリには「00000003h」が格納され、「00000003h」のアドレスのエントリには、「EOF」が格納されているので、「0000001Bh」のクラスタ番号のクラスタ、「00000011h」のクラスタ番号のクラスタ、「00000012h」のクラスタ番号のクラスタ、「00000013h」のクラスタ番号のクラスタ、「00000014h」のクラスタ番号のクラスタ、および「00000003h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「0000001Bh」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
また、1つのファイルに対応するディレクトリエントリにおいて、先頭クラスタ番号として、「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」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
図8は、FAT32におけるファイルに関係するディレクトリエントリの構造の例を示す図である。なお、図中上側に横一列に記述された数値0乃至1Fは、0を始点としてディレクトリエントリにおけるバイト数を表わす16進数である。
ディレクトリエントリの先頭に配置される、7バイトの名前331は、ファイル名を示す。名前331に続く、3バイトの拡張名332は、いわゆる、ファイルの拡張子(例えば、MPEG2(Moving Picture Experts Group phase 2)フォーマットの場合は「mpg」、MP3(MPEG Audio Layer-3)フォーマットの場合は「mp3」)を示す。また、拡張名332に続く、1バイトの属性333は、ファイルの属性を示す。ファイルの属性は、例えば、読み取り専用ファイルまたは隠しファイルなどを示す。属性333に続く、1バイトの予約領域334は、未使用の領域である。
予約領域334に続く、3バイトの作成時刻335は、ファイルが作成された時刻を示す。作成時刻335に続く、2バイトの作成日付336は、ファイルが作成された日付を示す。作成日付336に続く、2バイトの最終アクセス日付337は、ファイルにアクセスされた最終の日付を示す。
先頭クラスタの番号(位置)は、先頭クラスタの番号の上位を示す2バイトの先頭クラスタ番号(High)338と、先頭クラスタの番号の下位を示す2バイトの先頭クラスタ番号(Low)341とに、分けて配置される。すなわち、先頭クラスタの番号(位置)は、32ビットで示される。そのファイルのサイズは、4バイトのファイルサイズ342に記憶される。
2バイトの記録時刻339は、ファイルが記録された時刻、すなわち、ファイルが最後に更新された時刻(最後に書き込まれた時刻)を示す。2バイトの記録日付340は、ファイルが記録された日付、すなわち、ファイルが最後に更新された日付(最後に書き込まれた日付)を示す。
ディレクトリエントリにおいて、最終アクセス日付337に続いて、先頭クラスタ番号(High)338、記録時刻339、記録日付340、先頭クラスタ番号(Low)341、およびファイルサイズ342が順に配置される。
上述したように、FAT32などのファイルシステム202によるファイルへのアクセスは、FATを参照して行われる。例えば、ファイルを読み出す場合、FATの参照が頻繁に行われるので、より高速にファイルを読み出すためには、FATに対するアクセスが高速に行えるようにすることが望ましく、近年ではシステムの初期化処理時に、HDD(Hard Disk Drive)から、高速な読み書きが可能なRAM、SDRAM(Synchronous DRAM)などで構成されるバッファメモリにFATを読み出しておき、このバッファメモリに記憶されたFATを参照してファイルのアクセスを実行することで、FATの参照に必要な時間を短縮するなどの工夫がなされている。
しかしながら、例えば、30GB(ギガバイト)のHDDを、クラスタサイズを32KB(キロバイト)としてフォーマットした場合、FATのサイズは4MB(メガバイト)に近くなる。例えば、記録再生装置100を、小型で安価に製造するためには、RAM141などのバッファメモリの記憶容量は、おのずと限られたものになり、サイズの大きいFATを記憶させることは難しい。
一方で、記録再生装置100のドライブ145には、上述したように複数の種類の記録媒体(メディア)が装着可能であり、例えば、フラッシュメモリ(半導体メモリ)などの記録媒体は、通常、HDD(磁気ディスク)などの記録媒体と比較してデータの高速な読み書きが可能であり、記録再生装置100が処理する動画像のデータなどのファイルをFATとともにファイルシステム202で管理してフラッシュメモリに記録すれば、ファイルを読み出すときにフラッシュメモリに記録されたFATが参照され、HDDに動画像のデータなどのファイルなどを記録した場合と比較して、ファイルの読み出し処理を高速化することが可能になる。
しかし、通常のフラッシュメモリの記録容量は、数百メガバイト程度であり、例えば、動画像などの大量のデータを記録するためには、数十ギガバイトの記録容量をもつHDDなどの記録媒体が必要となる。
そこで、本発明においては、ドライブ145に装着される複数の種類(例えば、2種類)の記録媒体(メディア)を、あたかも1つのメディアとして利用する。
例えば、ドライブ145にフラッシュメモリと、HDDの2種類のメディアが装着されている場合、図9に示されるように2つのメディアを、あたかも1つのメディアとしてファイルシステム202で管理し、図3を参照して上述したように構成されるデータを記録する。なお、図9に示されるように、複数のメディアをあたかも1つのメディアとして管理する方式を、本発明においては統合メディアと称する。
図9は、ファイルシステム202がFAT16である場合、フラッシュメモリとHDDのそれぞれに記録されるデータの構成例を示す図である。同図におけるデータの構成は図3と同様とされるが、図9の場合、データの先頭(図3においてLBA=0とされる部分)であるMBRから順に、フラッシュメモリに配置されており、フラッシュメモリのLBA=0とされる部分から順に、フラッシュメモリの最後のセクタであるLBA=Xとされる部分まで配置されている。すなわち、フラッシュメモリの先頭セクタ(LBA=0とされる部分)から順に、MBR、所定の空き領域、PBR、FAT1、FAT2、ルートディレクトリエントリ、クラスタ、・・・が配置されている。
そして、フラッシュメモリの最後のセクタであるLBA=Xとされる部分の後に続くデータ(いまの場合、複数のクラスタ)は、HDDに配置され、HDDのLBA=0とされる部分から順に、複数のクラスタが配置されている。すなわち、すなわち、HDDの先頭セクタ(LBA=0とされる部分)から順に、クラスタが複数配置されており、MBR、所定の空き領域、PBR、FAT1、FAT2、ルートディレクトリエントリなどのデータは、HDDには配置されていない。なお、この例では、HDDの最後のセクタであるLBA=Yとされる部分までクラスタを配置することが可能である。
図9に示されるような統合メディアにおいては、ファイルを読み出すとき頻繁に参照されるFAT1またはFAT2を含む管理情報は、比較的高速に読み書きが可能なメディアであるフラッシュメモリに記録され、フラッシュメモリの記録容量を超えて存在する実データ、すなわちフラッシュメモリに記録しきれない実データは、比較的読み書きに時間を要する大容量のメディアであるHDDに記録されることになる。
このように、フラッシュメモリとHDDを統合メディアとして利用することで、全てのデータを、HDDに記録する場合と比較してより高速にファイルを読み出すことが可能となるとともに、全てのデータを、フラッシュメモリに記録する場合と比較してより大容量のデータを記録することが可能となる。
なお、ファイルシステム202がFAT32である場合、フラッシュメモリとHDDのそれぞれに記録されるデータの構成例は、図10に示されるようになる。同図におけるデータの構成は図4と同様とされ、やはり、FAT1またはFAT2を含む管理情報は、比較的高速に読み書きが可能なメディアであるフラッシュメモリに記録され、フラッシュメモリの記録容量を超えて存在する実データ、すなわちフラッシュメモリに記録しきれない実データは、比較的読み書きに時間を要する大容量のメディアであるHDDに記録されている。
複数のメディア(例えば、メディアAとメディアB)を統合メディアとして利用する場合、図11に示されるようにデバイスドライバ203に含まれる統合デバイスドライバ401が、メディアAへのアクセスを制御するデバイスドライバAとメディアBへのアクセスを制御するデバイスドライバBとを制御し、ファイルシステム202からのアクセス要求に対して、メディアAとメディアBの2つのメディアからなる記録媒体204からデータを読み出したり書き込んだりする。従って、ファイルシステム202からみれば、メディアAとメディアBの2つのメディアがあたかも1つのメディアのようにみえることになる。
次に、図12のフローチャートを参照して、記録再生装置100におけるメディアフォーマット処理について説明する。この処理は、例えば、記録再生装置100の操作入力部143を介して、ドライブ145に装着される記録媒体(メディア)のフォーマットの実行を指令するコマンドなどが入力されたとき実行される。
ここでは、記録再生装置100のドライブ145に、フラッシュメモリであるメディアAとHDDであるメディアBの2つの記録媒体(メディア)が装着されているものとする。なお、処理に先立って、ドライブ145に装着されている複数のメディアがそれぞれどのような種類のメディアであるか(例えば、フラッシュメモリなのかHDDなのか)を表す情報が、予め統合デバイスドライバ401により取得されており、統合デバイスドライバ401は、予め記憶されているメディアの種類と読出し(または書き込み)速度とを対応付けたテーブルなどを参照して、現在装着されているメディアのうち、比較的高速に読み書き可能なメディアがどのメディアであるのかを特定することが可能となるようになされているものとする。
ステップS101において、アプリケーション202に含まれるアプリケーションプログラムであって、メディアのフォーマットを実行するアプリケーションプログラムは、フォーマット方法の選択を受け付ける。このとき、例えば、操作入力部143を介して入力される情報に基づいて、複数のメディアを統合メディアとしてフォーマットするか、または個別にフォーマットするかが選択される。
ステップS102において、アプリケーションプログラムは、ステップS101で選択されたフォーマット方法は、「統合メディア」であるか否かを判定する。ステップS102において、フォーマット方法は、「統合メディア」であると判定された場合、処理は、ステップS103に進む。
ステップS103において、統合デバイスドライバ401は、図13を参照して後述する統合メディアフォーマット処理を実行する。これにより、メディアAとメディアBが統合メディアとしてフォーマットされる。
ここで、図13のフローチャートを参照して、図12のステップS103の統合メディアフォーマット処理の詳細について説明する。
ステップS131において、統合デバイスドライバ401は、メディアAの記録容量を取得する。例えば、メディアA(フラッシュメモリ)が図9または図10に示されるように、LBAとして「0」から「X」までの値を有する場合、メディアA(フラッシュメモリ)の記録容量は、「X+1」となる。
ステップS132において、統合デバイスドライバ401は、メディアBの記録容量を取得する。例えば、メディアB(HDD)が図9または図10に示されるように、LBAとして「0」から「Y」までの値を有する場合、メディアB(HDD)の記録容量は、「Y+1」となる。
ステップS133において、統合デバイスドライバ401は、2つのメディアのうち、比較的高速に読み書き可能なフラッシュメモリであるメディアAのLBA=0の位置に、MBRを作成する。上述したように、MBRは、各パーティションの先頭のセクタおよび終了セクタ、並びにサイズなどの情報を含んでおり、ここでは、先頭セクタから終了セクタまでの合計セクタ数が、ステップS131で取得されたメディアAの記録容量「X+1」と、ステップS132で取得されたメディアBの記録容量「Y+1」の和(「X+Y+2」)となるようにMBRが生成される。
なお、メディアAまたはメディアBのLBAの値「X」、「Y」などは、メディアAまたはメディアBのセクタを特定するアドレスとして利用することができ、メディアAのセクタ数は「X+1」、メディアBのセクタ数は「Y+1」と表現することができる。したがって、メディアAの記録容量とメディアBの記録容量の和「X+Y+2」を、統合メディアの合計セクタ数として置き換えることが可能である。
ステップS134において、統合デバイスドライバ401は、分岐点「X」を記憶する。ここで分岐点は、統合メディアにおいて、メディアAとメディアBの境界となるアドレスであり、いまの場合、フラッシュメモリであるメディアAの最後のセクタに対応するLBA=Xが分岐点となる。なお、分岐点に関する情報は、例えば、メディアAまたはメディアBの中の予め設定された所定の領域などに記録(記憶)される。
ステップS135において、統合デバイスドライバ401は、統合メディアとしてメディアAとメディアBをフォーマットする。
このようにして、メディアAとメディアBとが統合メディアとしてフォーマットされる。その結果、図9または図10に示されるように、2つのメディアがあたかも1つのメディアとして利用できるようになる。
図12に戻って、ステップS102において、フォーマット方法は、「統合メディア」ではないと判定された場合、処理は、ステップS104に進む。
ステップS104において、統合デバイスドライバ401は、図14を参照して後述する個別メディアフォーマット処理を実行する。これにより、メディアAとメディアBがそれぞれ個別に(統合メディアとしてではなく)フォーマットされる。
ここで、図14のフローチャートを参照して、図12のステップS104の個別メディアフォーマット処理の詳細について説明する。
ステップS151において、統合デバイスドライバ401は、メディアAの記録容量を取得する。例えば、メディアA(フラッシュメモリ)が図9または図10に示されるように、LBAとして「0」から「X」までの値を有する場合、メディアA(フラッシュメモリ)の記録容量は、「X+1」となる。
ステップS152において、統合デバイスドライバ401は、メディアAのLBA=0の位置に、MBRを作成する。上述したように、MBRは、各パーティションの先頭のセクタおよび終了セクタ、並びにサイズなどの情報を含んでおり、ここでは、先頭セクタから終了セクタまでの合計セクタ数が、ステップS151で取得されたメディアAの記録容量「X+1」となるようにMBRが生成される。
ステップS153において、統合デバイスドライバ401は、メディアAをフォーマットする。
ステップS154において、統合デバイスドライバ401は、メディアBの記録容量を取得する。例えば、メディアB(HDD)が図9または図10に示されるように、LBAとして「0」から「Y」までの値を有する場合、メディアB(HDD)の記録容量は、「Y+1」となる。
ステップS155において、統合デバイスドライバ401は、メディアBのLBA=0の位置に、MBRを作成する。ここでは、先頭セクタから終了セクタまでの合計セクタ数が、ステップS154で取得されたメディアBの記録容量「Y+1」となるようにMBRが生成される。
ステップS156において、統合デバイスドライバ401は、メディアBをフォーマットする。
このようにして、メディアAとメディアBがそれぞれ個別にフォーマットされる。
次に、図15のフローチャートを参照して、統合メディアとしてフォーマットされたメディアAとメディアBで構成される記録媒体204に対するデータ読出書込処理について説明する。
ステップS201において、統合デバイスドライバ401は、ファイルシステム202からクラスタの読出しまたは書き込みの要求があったか否かを判定し、要求があったと判定されるまで待機する。
ステップS202において、統合デバイスドライバ401は、ステップS201で読出しまたは書き込みの要求があったと判定されたクラスタのLBAをチェックする。ここでは、クラスタを構成するセクタのLBAがチェックされる。
ステップS203において、統合デバイスドライバ401は、ステップS202の処理によりチェックされたクラスタのLBAの値は、ステップS134の処理で記憶された分岐点「X」を超えていないか否かを判定し、LBAの値が、「X」を超えていないと判定された場合、処理はステップS204に進む。
ステップS204において、統合デバイスドライバ401は、当該LBAの値をデバイスドライバAに通知する。すなわち、LBAの値が、「X」を超えていない場合、そのクラスタは、フラッシュメモリであるメディアAに記録されているので、メディアAを制御するデバイスドライバAに当該LBAの値を通知する。
ステップS205において、統合デバイスドライバ401は、デバイスドライバAを介してメディアAのクラスタの読出しまたは書き込みを行う。
一方、ステップS203において、ステップS202の処理によりチェックされたクラスタのLBAの値が、「X」を超えていると判定された場合、処理はステップS206に進む。
ステップS206において、統合デバイスドライバ401は、「当該LBAの値−X」の値をデバイスドライバBに通知する。すなわち、LBAの値が、「X」を超えている場合、そのクラスタは、HDDであるメディアBに記録されているので、メディアBを制御するデバイスドライバBに「当該LBAの値−X」の値を通知する。
いまの場合、メディアBはメディアAとともに統合メディアとしてフォーマットされているので、ファイルシステム202は、統合メディアの合計セクタ数を、「X+Y+2」と認識しており、メディアAに記録されるクラスタも、メディアBに記録されるクラスタも連続したLBAにより指定されてアクセスされることになる。しかし、実際には、LBAの値が、「X」を超えている場合、そのクラスタにアクセスするためには、HDDであるメディアBに固有のLBAの値によりクラスタを指定する必要がある。このため、ステップS206においては、メディアBに固有のLBAの値として「当該LBAの値−X」の値がデバイスドライバBに通知される。
ステップS207において、統合デバイスドライバ401は、デバイスドライバBを介してメディアBのクラスタの読出しまたは書き込みを行う。
ステップS205またはS207の処理の後、処理は、ステップS208に進み、統合デバイスドライバ401は、ファイルシステム202のアクセス要求に対する応答を出力する。
このようにして、統合メディアに対するデータの読出しまたは書き込みなどのアクセスが制御される。
以上においては、MBR、PBR、FSInfo、またはルートディレクトリエントリとともに、FAT1またはFAT2を含む管理情報が、比較的高速に読み書きが可能なメディアであるフラッシュメモリに記録され、フラッシュメモリの記録容量を超えて存在する実データ、すなわちフラッシュメモリに記録しきれない実データが、比較的読み書きに時間を要する大容量のメディアであるHDDに記録される例について説明したが、図8を参照して上述したディレクトリエントリも、ファイルの読み出しの際に頻繁に参照される情報であり、より高速なファイルアクセスを実現するためには、ディレクトリエントリも管理情報として、比較的高速に読み書きが可能なメディアであるフラッシュメモリに記録されることが望ましい。
このような場合、ファイルを記録するときに、ディレクトリエントリをまとめてフラッシュメモリに記録するようにすればよい。図16は、ディレクトリエントリをまとめてフラッシュメモリに記録する場合のファイル記録処理を説明するフローチャートである。
図16のステップS301において、アプリケーション201に含まれるアプリケーションプログラムであって、ファイルの記録処理を実行するアプリケーションプログラムは、ファイル名を指定して、新たなファイルを作成する作成コマンドをファイルシステム202に出力して、ステップS302に進む。
ステップS302において、ファイルシステム202は、アプリケーションプログラムからのファイルの作成コマンドに応答して、新たなファイルのディレクトリエントリを記録するためのディレクトリエントリ領域の空き領域を、比較的高速に読み書きが可能なメディアであるフラッシュメモリ(メディアA)の中から検索して、ステップS303に進む。
ステップS303において、ファイルシステム202は、ステップS202におけるディレクトリエントリ領域の空き領域の検索の結果、検出されたクラスタに新たなファイルのディレクトリエントリを記録して、ステップS304に進む。
ステップS304において、ファイルシステム202は、新たなファイルの実データを記録するための、実データ領域の空きクラスタを、メディアAとは異なるメディアBの中から検索して、ステップS305に進む。
ステップS305において、アプリケーションプログラムは、新たなファイルの実データ(例えば、画像のデータ)のファイルシステム202への出力を開始して、ステップS306に進む。
ステップS306において、ファイルシステム202は、ステップS304における実データ領域の空きクラスタの検索の結果検出された空きクラスタに、実データを記録して、処理を終了する。
このようにしてファイルが記録される。このようにすることで、ディレクトリエントリがまとめて、フラッシュメモリに記録され、例えば、ディレクトリエントリがHDDに記録されている場合と比較して、より高速なファイルアクセスを実現することができる。
以上においては、メディアAとメディアBの2つのメディアが、統合メディアとしてフォーマットされる例について説明したが、3つ以上のメディアが統合メディアとしてフォーマットされるようにしてもよい。
例えば、記録容量がそれぞれ、「X+1」であるメディアA、「Y+1」であるメディアB、「Z+1」であるメディアC、・・・のように3つ以上(例えば、n個)のメディアが統合メディアとしてフォーマットされる場合、図13のステップS133の処理では、メディアAのLBA=0の位置に、合計セクタ数が「X+Y+Z+・・・+n」となるようにMBRが作成され、ステップS134の処理では、分岐点「X」、「Y」、「Z」、・・・が記憶されるようにすればよい。
以上においては、本発明を記録再生装置100に適用した例について説明したが、本発明を汎用のパーソナルコンピュータに適用することも可能である。図17は、パーソナルコンピュータの構成例を示すブロック図である。
図17において、CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部508からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース505も接続されている。
入出力インタフェース505には、キーボード、マウスなどよりなる入力部506、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部507、ハードディスクなどより構成される記憶部508、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部509が接続されている。通信部509は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース505にはまた、必要に応じてドライブ510が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア511が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部508にインストールされる。
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア511などからなる記録媒体からインストールされる。
なお、この記録媒体は、図17に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フロッピディスク(登録商標)を含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア511により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部508に含まれるハードディスクなどで構成されるものも含む。
本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
100 記録再生装置, 144 通信部, 145 ドライブ, 201 アプリケーション, 202 ファイルシステム, 203 デバイスドライバ, 204 記録媒体, 401 統合デバイスドライバ
Claims (10)
- 複数の記録媒体に対して情報の読出しまたは書込みが可能な情報処理装置であって、
前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定するフォーマット判定手段と、
前記フォーマット判定手段による判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットする統合フォーマット手段と
を備える情報処理装置。 - 前記統合フォーマット手段は、
複数の前記記録媒体のセクタ数を合計したセクタ数を、前記統合記録媒体のセクタ数として、前記統合記録媒体のMBR(Master Boot Record)を作成する
請求項1に記載の情報処理装置。 - 前記統合フォーマット手段は、
複数の前記記録媒体のうち、他の記録媒体と比較してデータの高速な読み書きが可能な第1の記録媒体に前記統合記録媒体の先頭のセクタに前記MBRを配置し、前記統合記録媒体の管理情報を、前記MBRに続けて配置する
請求項2に記載の情報処理装置。 - 前記管理情報には、前記統合記録媒体のFAT(File Allocation Table)が含まれる
請求項3に記載の情報処理装置。 - 前記管理情報には、ディレクトリエントリが含まれる
請求項3に記載の情報処理装置。 - 前記第1の記録媒体の最後のセクタを表すアドレスを、前記統合記録媒体における前記第1の記録媒体と、前記第1の記録媒体の記録容量を超えて存在するデータが記録される第2の記録媒体であって、前記第1の記録媒体に続いてデータが記録される第2の記録媒体との分岐点として記憶する分岐点記憶手段をさらに備える
請求項1に記載の情報処理装置。 - 前記統合記録媒体に記録されているデータにアクセスする場合、前記データの記録位置を表すアドレスが、前記分岐点を超えているか否かを判定し、
前記データの記録位置を表すアドレスが、前記分岐点を超えているとき、前記第2の記録媒体にアクセスし、
前記データの記録位置を表すアドレスが、前記分岐点を超えていない場合、前記第1の記録媒体にアクセスする
請求項6に記載の情報処理装置。 - 複数の記録媒体に対して情報の読出しまたは書込みが可能な情報処理装置の情報処理方法であって、
前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かを判定し、
前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットする
ステップを含む情報処理方法。 - 複数の記録媒体に対して情報の読出しまたは書込みが可能な情報処理装置に情報処理を実行させるプログラムであって、
前記記録媒体をフォーマットするとき、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするか否かの判定を制御し、
前記判定の結果、複数の前記記録媒体を合わせて統合記録媒体としてフォーマットするものと判定された場合、複数の前記記録媒体を合わせて統合記録媒体としてのフォーマットを制御する
ステップを含むコンピュータが読み取り可能なプログラム。 - 請求項9に記載のプログラムが記録されている記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005244610A JP2007058671A (ja) | 2005-08-25 | 2005-08-25 | 情報処理装置および方法、プログラム、並びに記録媒体 |
US11/461,672 US7424573B2 (en) | 2005-08-25 | 2006-08-01 | Information processing apparatus, method, and program for formatting multiple recording media integrated as one |
CNA2006101214910A CN1920992A (zh) | 2005-08-25 | 2006-08-24 | 信息处理装置和方法及其所用程序和记录介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005244610A JP2007058671A (ja) | 2005-08-25 | 2005-08-25 | 情報処理装置および方法、プログラム、並びに記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007058671A true JP2007058671A (ja) | 2007-03-08 |
Family
ID=37778690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005244610A Abandoned JP2007058671A (ja) | 2005-08-25 | 2005-08-25 | 情報処理装置および方法、プログラム、並びに記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7424573B2 (ja) |
JP (1) | JP2007058671A (ja) |
CN (1) | CN1920992A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016162168A (ja) * | 2015-03-02 | 2016-09-05 | 株式会社メガチップス | キャッシュファイルシステム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114900A (zh) * | 2020-09-18 | 2020-12-22 | 北京金山云网络技术有限公司 | 一种格式化方法及相关设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778418A (en) * | 1991-09-27 | 1998-07-07 | Sandisk Corporation | Mass computer storage system having both solid state and rotating disk types of memory |
US5813025A (en) * | 1994-08-10 | 1998-09-22 | Unisys Corporation | System and method for providing variable sector-format operation to a disk access system |
JPH08129455A (ja) * | 1994-10-31 | 1996-05-21 | Toshiba Corp | ディスクドライブシステム |
TW304261B (en) * | 1996-03-12 | 1997-05-01 | Ibm | Tape pre-formatting with uniform data storage segments selectively mapped to fixed or variable sized independently addressable data storage partitions |
US5959795A (en) * | 1997-02-28 | 1999-09-28 | Adaptec, Inc. | Format calculator for headerless hard disk with embedded servo wedges |
JP2005141335A (ja) | 2003-11-04 | 2005-06-02 | Sony Corp | 情報記録再生装置とそのファイルアクセス方法 |
-
2005
- 2005-08-25 JP JP2005244610A patent/JP2007058671A/ja not_active Abandoned
-
2006
- 2006-08-01 US US11/461,672 patent/US7424573B2/en not_active Expired - Fee Related
- 2006-08-24 CN CNA2006101214910A patent/CN1920992A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016162168A (ja) * | 2015-03-02 | 2016-09-05 | 株式会社メガチップス | キャッシュファイルシステム |
Also Published As
Publication number | Publication date |
---|---|
CN1920992A (zh) | 2007-02-28 |
US20070050531A1 (en) | 2007-03-01 |
US7424573B2 (en) | 2008-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4561759B2 (ja) | 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム | |
JP5129156B2 (ja) | アクセス装置、および、ライトワンス記録システム | |
EP2117007A2 (en) | Managing the amount of data according to batch writing size and to update count, which increases with erase-block size and depends on the type of flash memory | |
US8977802B2 (en) | Access device, information recording device, controller, real time information recording system, access method, and program | |
JP4487954B2 (ja) | データ記録装置、データ記録方法、及びプログラム | |
KR100982118B1 (ko) | Fat 방식으로 포맷된 정보 기록 매체에 데이터 파일을 기록하는 기록 장치, 방법, 및 프로그램이 기록되어 있는 컴퓨터가 판독가능한 기록 매체 | |
JP4802791B2 (ja) | データ記憶装置及びデータアクセス方法 | |
US20050259542A1 (en) | Reproduction device and method, recording medium, and program | |
JP2007058671A (ja) | 情報処理装置および方法、プログラム、並びに記録媒体 | |
JP4577050B2 (ja) | 記録装置および方法、並びにプログラム | |
JP2007108853A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP5053945B2 (ja) | 記録媒体初期化方法及び記録媒体初期化装置 | |
JP2007059004A (ja) | 情報処理装置および方法、プログラム並びに記録媒体 | |
JP2006178633A (ja) | 情報処理装置、情報処理方法、プログラム | |
JP2005301885A (ja) | データ記憶媒体へのアクセス方法,情報処理装置,データ記憶媒体へのアクセスプログラム | |
JP2006155461A (ja) | 情報処理装置、情報処理方法、並びにプログラム | |
JP2008009754A (ja) | 情報処理装置および方法、並びにプログラム | |
JP4356011B2 (ja) | 記録装置および方法、撮像装置、記録媒体、並びにプログラム | |
JP2005165781A (ja) | 記録再生装置及び方法、並びに記録再生システム | |
JP2006164017A (ja) | 情報処理装置、情報処理方法、プログラム | |
JP2005339628A (ja) | 記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラム | |
JP4194583B2 (ja) | データ記憶装置 | |
JP2007059003A (ja) | 情報処理装置および方法、プログラム、並びに記録媒体 | |
JP4561323B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP4480592B2 (ja) | ファイルシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080805 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20090818 |