(57)【特許請求の範囲】
【請求項１】
データを格納する不揮発性メモリを有する情報記録モジュールにアクセスするアクセスモジュールであって、
所定のデータ種別のデータが格納される論理空間領域の位置情報を予め前記情報記録モジュールに通知するアドレス管理情報設定処理部と、
前記情報記録モジュールに記録するファイルデータにおける有効データのサイズが記録処理単位の所定の倍数長未満であった場合に、該ファイルデータに任意のデータを付加して前記記録処理単位の所定の倍数長サイズのデータに変更し、前記情報記録モジュールにファイルデータを記録するデータ整形処理部と、
を備えるアクセスモジュール。
【請求項２】
前記データ整形処理部は、
複数ファイルのファイルデータを並行して前記情報記録モジュールに記録する場合に、前記記録処理単位の所定の倍数長の連続領域サイズ内で連続したアドレスになるよう、前記複数ファイルのファイルデータを順番に並べながら前記情報記録モジュールに記録する、
請求項１記載のアクセスモジュール。
【請求項３】
前記所定のデータ種別は、
記録対象ファイルデータの名前、ファイルサイズのいずれかの情報を含むファイルシステム管理情報である、
請求項１記載のアクセスモジュール。
【請求項４】
前記所定のデータ種別は、
記録対象ファイルデータの名前、ファイルサイズのいずれかの情報を含むファイルシステム管理情報であり、
前記アドレス管理情報設定処理部は、複数個の前記ファイルシステム管理情報を格納する領域の位置情報を、予め前記情報記録モジュールに通知する、
請求項２記載のアクセスモジュール。
【請求項５】
前記アクセスモジュールは、
前記情報記録モジュールに記録するファイルデータに任意のデータを付加した場合、前記ファイルサイズの情報を含むファイルシステム管理情報に、データ付加前の有効データの大きさをファイルサイズとして設定する、
請求項１記載のアクセスモジュール。
【請求項６】
前記所定の連続領域サイズは、
前記情報記録モジュールに含まれる不揮発性メモリの物理的なデータ消去処理単位サイズの倍数長である、
請求項２記載のアクセスモジュール。
【請求項７】
データを格納する不揮発性メモリと、
外部のアクセスモジュールから予め指定される、所定のデータ種別のデータが格納される論理空間領域の位置情報を格納するアドレス管理情報と、
前記アドレス管理情報に基づき前記所定のデータ種別のデータが記録されると認識した場合に、前記不揮発性メモリ内の特定の領域に該データを格納するエントリ格納制御部と、
を備える情報記録モジュール。
【請求項８】
前記所定のデータ種別は、
記録対象ファイルの名前、ファイルサイズの情報のいずれかを含むファイルシステム管理情報である、
請求項７記載の情報記録モジュール。
【請求項９】
前記アドレス管理情報は、前記ファイルシステム管理情報を格納する領域の位置情報を複数保持する、
請求項８記載の情報記録モジュール。
【請求項１０】
前記エントリ格納制御部は、
前記アドレス管理情報に保持された、複数のファイルシステム管理情報を格納する領域の位置情報のそれぞれに特定の領域を割り当て、該ファイルシステム管理情報を格納する、
請求項９記載の情報記録モジュール。
【請求項１１】
前記アドレス管理情報は、
前記所定のデータ種別とは異なる第２のデータ種別のデータを格納する領域の位置情報を更に含み、
前記エントリ格納制御部は、
前記アドレス管理情報に基づき前記第２のデータ種別のデータが記録されると認識した場合に、前記不揮発性メモリ内の前記所定のデータ種別のデータを格納する領域とは異なる特定の領域にデータを格納する処理を更に含む、
請求項７記載の情報記録モジュール。
【請求項１２】
前記第２のデータ種別は、
ファイルシステムが使用する領域管理情報である、
請求項１１記載の情報記録モジュール。
【請求項１３】
データを格納する不揮発性メモリを有する情報記録モジュールを制御するコントローラであって、
外部のアクセスモジュールから予め指定される、所定のデータ種別のデータを格納する論理空間領域の位置情報を格納するアドレス管理情報を参照し、前記所定のデータ種別のデータが記録されると認識した場合に、前記不揮発性メモリ内の特定の領域に該データを格納するエントリ格納制御部、
を備えるコントローラ。
【請求項１４】
情報記録モジュールと、前記情報記録モジュールにアクセスするアクセスモジュールとを備える情報記録システムであって、
前記情報記録モジュールは、
データを格納する不揮発性メモリと、
前記アクセスモジュールから予め指定される、所定のデータ種別のデータを格納する論理空間領域の位置情報を格納するアドレス管理情報と、
前記アドレス管理情報に基づき前記所定のデータ種別のデータが記録されると認識した場合に、前記不揮発性メモリ内の特定の領域に該データを格納するエントリ格納制御部と、
を有し、
前記アクセスモジュールは、
前記所定のデータ種別のデータを格納する論理空間領域の位置情報を予め前記情報記録モジュールに通知するアドレス管理情報設定処理部と、
前記情報記録モジュールに記録するファイルデータにおける有効データのサイズが記録処理単位の所定の倍数長未満であった場合に、該ファイルデータに任意のデータを付加して前記記録処理単位の所定の倍数長サイズのデータに変更し、前記情報記録モジュールにファイルデータを記録するデータ整形処理部と、
を有する、
情報記録システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを不揮発性メモリに格納し、ファイルとして管理するアクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システムに関する。
【背景技術】
【０００２】
音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の内、記録素子にＦｌａｓｈＲＯＭ等の半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、ＦｌａｓｈＲＯＭ等の半導体メモリを機器に内蔵してハードディスクの代わりに使用する等、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。
【０００３】
このようなメモリカードや機器内蔵ストレージには、主にＮＡＮＤ型フラッシュメモリと呼ばれる半導体素子が使用されている。ＮＡＮＤ型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子であり、従来のハードディスクと同様に、複数回書き換え可能な情報記録装置を構成することが可能である。
【０００４】
従来、メモリカードや機器内蔵ストレージに格納されたデータはファイルシステムにより管理されている。データをファイルシステムにより管理することで、同一のファイルシステムを解釈する機器間でデータをファイルとして共有することが可能となり、ユーザは自分の格納したデータを複数の機器間で容易に参照したり、コピーしたりすることが可能となる。
【０００５】
従来最も広く使用されているファイルシステムは、ＦＡＴファイルシステムと呼ばれるものである。ＦＡＴファイルシステムは、領域管理をファイルアロケーションテーブル（ＦＡＴ）と呼ばれるテーブルで一元管理するという特徴を持っており、比較的構造がシンプルで実装が容易なことから、フロッピー（登録商標）ディスクやＰＣのハードディスク、メモリカード等のファイルシステムとして広く使用されている。
【０００６】
図２にＦＡＴファイルシステムの構成を示す。ＦＡＴファイルシステムではファイルアロケーションテーブル内の管理単位のビット幅の違いにより、ＦＡＴ１２、ＦＡＴ１６、ＦＡＴ３２等の種類が存在するが、ファイルアロケーションテーブルによる領域管理方法はほぼ同じであり、以下ではＦＡＴ１６を例に説明する。
【０００７】
同図に示すように、論理アドレス空間の先頭には、領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域３０１が存在する。このファイルシステム管理情報領域３０１には、マスターブートレコード・パーティションテーブル（ＭＢＲ）３０３、パーティションブートセクタ（ＰＢＳ）３０４、ＦＡＴ（３０５、３０６）、ルートディレクトリエントリ（ＲＤＥ）３０７と呼ばれるファイルシステムの管理情報が含まれ、ユーザデータ領域３０２を管理するために必要な情報が各々格納されている。
【０００８】
マスターブートレコード・パーティションテーブル３０３は、ファイルシステムが管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。パーティションブートセクタ３０４は、パーティション内の領域管理単位の大きさ等、１つのパーティション内の管理情報が格納される領域である。
【０００９】
ＦＡＴ（３０５、３０６）は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ２つのＦＡＴ（３０５、３０６）が存在し、一方のＦＡＴ（３０５、３０６）が破損したとしても他方のＦＡＴ（３０５、３０６）によりファイルにアクセスできるよう二重化されている。ルートディレクトリエントリ３０７は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報（ディレクトリエントリ）が格納される領域である。
【００１０】
またＦＡＴファイルシステムでは、このファイルシステム管理情報領域３０１に引き続く領域にファイル本体のデータ等を格納するユーザデータ領域３０２が存在する。ユーザデータ領域３０２は、５１２バイトから３２ＫＢ程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタにはファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、ＦＡＴ（３０５、３０６）に格納されたリンク情報により管理されている。また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報（ディレクトリエントリ）は、このユーザデータ領域３０２の一部を利用して格納される。
【００１１】
図３は、ＦＡＴ１６のディレクトリエントリの構成を示した図である。ディレクトリエントリ３０８は１つのファイル、ディレクトリ毎に３２バイトのディレクトリエントリ３０８が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、１つのファイルやディレクトリが追加される度に３２バイトのディレクトリエントリ３０８の情報が新規に作成され、ルートディレクトリエントリ３０７の領域、あるいはユーザデータ領域３０２に記録される。
【００１２】
ディレクトリエントリ３０８の先頭８バイトにはファイルやディレクトリの名称が格納される。続く３バイトには拡張子が格納される。続く１バイトにはファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。また、ファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。
【００１３】
このようにディレクトリエントリ３０８ではファイルの先頭データを格納したクラスタの位置に関する情報しか保持しないため、ファイルデータが複数クラスタに跨って格納される場合には、その位置情報はＦＡＴ（３０５、３０６）に保持される。すなわち、ファイルを更新する場合にはファイルデータを書き込むと共に、ディレクトリエントリ３０８、ＦＡＴ（３０５、３０６）の情報も書き込む必要がある。
【００１４】
続いて、図４を用いて、ＦＡＴファイルシステムにおけるファイルデータ書き込み処理手順について説明する。
【００１５】
（Ｓ４０１）：
対象ファイルのディレクトリエントリ３０８を読み出す。
【００１６】
（Ｓ４０２）：
読み出したディレクトリエントリ３０８に格納された開始クラスタ番号を取得し、ファイルデータの先頭位置を確認する。
【００１７】
（Ｓ４０３）：
ＦＡＴ（３０５、３０６）をアクセスモジュールのＲＡＭ上に読み出し、Ｓ４０２で取得したファイルデータの先頭位置から順にＲＡＭ上のＦＡＴ（３０５、３０６）内でリンクを辿り、書き込み位置のクラスタ番号を取得する。
【００１８】
（Ｓ４０４）：
ファイルデータ書き込みに際し、ファイルに新たに空き領域を割り当てる必要があるか判定する。空き領域の割り当てが必要な場合Ｓ４０５の処理に進む。空き領域の割り当てが不要な場合Ｓ４０８の処理に進む。
【００１９】
（Ｓ４０５）：
ＲＡＭ上のＦＡＴ（３０５、３０６）内で空き領域を検索し、１クラスタの空き領域を取得する。ＦＡＴ（３０５、３０６）では値が０ｘ００００に設定されているＦＡＴエントリが空きクラスタを意味するため、空き領域を取得する処理は、ＦＡＴ（３０５、３０６）上で０ｘ００００の値を持つＦＡＴエントリを取得するという処理になる。具体的にはＲＡＭ上のＦＡＴ（３０５、３０６）内のＦＡＴエントリを順次参照し、値が０ｘ００００に設定されているＦＡＴエントリを見つけ、該ＦＡＴエントリの対応クラスタ番号の値を求める。ＦＡＴエントリの検索処理は例えばＦＡＴ（３０５、３０６）の先頭から終端まで順に処理を実施しても良いし、前回空き領域を割り当てたＦＡＴエントリの次のＦＡＴエントリから処理を開始してＦＡＴ（３０５、３０６）の終端まで到達したらＦＡＴ（３０５、３０６）の先頭に折り返し、前回空き領域を割り当てたＦＡＴエントリまで処理を実施しても良い。このようにＦＡＴエントリの検索処理手順はＦＡＴ（３０５、３０６）領域の全面に対して空き領域を検索する処理を実現できるものであれば良く、特に限定はされない。
【００２０】
（Ｓ４０６）：
Ｓ４０５で取得した空きクラスタの番号に対応するＦＡＴエントリの値を、リンク終端を意味する値に設定する。ＦＡＴ（３０５、３０６）では値が０ｘＦＦＦＦに設定されているＦＡＴエントリがリンク終端を意味するため、Ｓ４０６では該当ＦＡＴエントリの値をＲＡＭ上で０ｘＦＦＦＦに設定する処理を実施する。
【００２１】
（Ｓ４０７）：
現在のリンク終端のクラスタ番号に対応するＦＡＴエントリの値を０ｘＦＦＦＦからＳ４０５で取得した空きクラスタの番号にＲＡＭ上で設定する。空き領域を取得する必要がある場合は、ファイル終端への追記を意味し、その場合Ｓ４０３でのリンクを辿る処理においてファイル終端までリンクが辿られている。そのため、現在のリンク終端のクラスタ番号に対応するＦＡＴエントリの値はリンク終端を意味する０ｘＦＦＦＦが設定されている。そのため、Ｓ４０７の処理により、Ｓ４０５で新たに取得した空きクラスタへリンクを接続することによりファイルのリンクが１クラスタ分長くなり、ファイルデータを追記することが可能となる。
【００２２】
（Ｓ４０８）：
現在参照している書き込み位置のクラスタ内にファイルデータを書き込む。Ｓ４０４で空き領域取得が必要と判断した場合は、現在参照している書き込み位置はＳ４０５で取得した空きクラスタとなる。またＳ４０４で空き領域取得が不要と判断した場合は、現在参照している書き込み位置はＳ４０３でリンクを辿った結果到達したクラスタとなる。
【００２３】
（Ｓ４０９）：
全ファイルデータの書き込みが完了したか判定する。まだファイルデータが残っている場合Ｓ４０４の処理に戻る。全ファイルデータの書き込みが完了した場合Ｓ４１０の処理に進む。
【００２４】
（Ｓ４１０）：
ディレクトリエントリ３０８内に格納されたファイルサイズや最終更新日時等の情報を更新し、情報記録モジュールの不揮発性メモリ内に格納されたディレクトリエントリ３０８を上書きする。
【００２５】
（Ｓ４１１）：
情報記録モジュールの不揮発性メモリ内に格納されたＦＡＴ（３０５、３０６）に、アクセスモジュールのＲＡＭ上のＦＡＴ（３０５、３０６）のデータを上書きし、処理を完了する。
【００２６】
このファイルデータ書き込み処理により、図５に示された６００００バイトのデータを持つＦＩＬＥ１．ＴＸＴに１００００バイトのデータを追記した場合、図６に示されるような７００００バイトのデータを持つファイルに変化する。すなわち、空きクラスタとしてクラスタ番号６のクラスタが取得されてファイルデータが追記され、ＦＡＴ（３０５、３０６）上のリンクにクラスタ番号６が接続される。その結果、ＦＩＬＥ１．ＴＸＴのリンクは、クラスタ番号２〜５の４クラスタからなる状態から、クラスタ番号２〜６の５クラスタからなる状態に更新される。
【００２７】
このようにＦＡＴファイルシステムでは、ファイルの管理情報がＦＡＴ（３０５、３０６）とディレクトリエントリ３０８の両方に格納されていることから、ファイルを更新する場合には、これらの情報も共に更新する必要がある。すなわち、アクセスモジュールが情報記録モジュールに格納されたファイルを更新する場合、図７に示すようにファイルデータ（ＤＡＴＡ）、ディレクトリエントリ３０８（ＤＩＲ）、ＦＡＴ（３０５、３０６）（ＦＡＴ１、ＦＡＴ２）のような一連の書き込み処理を実施することになる。
【００２８】
一方、ＮＡＮＤ型フラッシュメモリは、データを記録する前に一旦データを消去しなければならないという特徴を持つ。そのため、データ消去単位であるブロックの大きさ以下の書き込みを実施する場合、該当するブロックに直接上書きをすることができないため、別の未使用ブロックを取得してブロック内のデータを一旦消去し、そのブロックに対して新しいデータを書込む必要がある。この際、古いブロックに含まれている有効なデータを新しいブロックにコピーする必要があり、記録速度が低下する。このコピー量は、データ書き込みサイズが小さい程大きくなり、データ書き込みサイズがブロックサイズに近くなる程小さくなることから、一般にＮＡＮＤ型フラッシュメモリに対しては、ブロックサイズ単位でのデータ書き込みを実施した場合、記録速度が最速になることが知られている。
【００２９】
従来、ＮＡＮＤ型フラッシュメモリに対する記録速度を高速化し、且つ上記コピー処理による記録速度の低下を防ぎ、動画コンテンツ等のリアルタイム記録を実現する方法が提案されている（例えば、特許文献１参照）。この方法では、フラッシュメモリ内の領域をブロック単位で区切った場合に、１ブロック内に含まれる空き領域（空きクラスタ）の数が多いブロックのみを取得して、動画コンテンツ等のデータを記録するようにしている。このようにすることで、１ブロック内のデータコピー量を削減し、記録速度の低下を防いでいる。
【先行技術文献】
【特許文献】
【００３０】
【特許文献１】国際公開第０５／０５５０６４号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【００３１】
しかしながら、ＦＡＴ（３０５、３０６）やディレクトリエントリ３０８等の更新をする際においては、記録アドレスが複数のブロック間に跨って移動する可能性があるため、上記の従来技術では速度低下を防ぐことができない。例えば、ムービー等の記録機器では、ファイルデータ記録中に電源断が生じ、ディレクトリエントリ３０８やＦＡＴ（３０５、３０６）を更新できなかった場合、それまで記録していたファイルデータが消失してしまうことから、数秒間隔等、定期的にディレクトリエントリ３０８やＦＡＴ（３０５、３０６）を更新するようにしている。このような機器では、図７のように１ファイルのデータ（ＤＡＴＡ）、ディレクトリエントリ３０８（ＤＩＲ）、ＦＡＴ（３０５、３０６）（ＦＡＴ１、ＦＡＴ２）を記録する場合に、データ記録の合間にディレクトリエントリ３０８やＦＡＴ（３０５、３０６）の更新記録が発生するため、この時点で速度低下が生じることになる。
【００３２】
また、動画記録中に静止画ファイルを記録する場合等、複数のファイルを並行して記録する場合には、記録アドレスが複数のブロック間に跨って移動する可能性があり、同様に記録速度の低下を防ぐことができなくなる。例えば、図８のように、１つ目のファイルのデータ（ＤＡＴＡ１）と、２つ目のファイルのデータ（ＤＡＴＡ２）が記録された場合に記録アドレスが複数のブロック間に跨って移動する可能性がある。更にこの場合、各々のファイルのディレクトリエントリ３０８（ＤＩＲ１、ＤＩＲ２）も異なるアドレスに格納される場合があることから、同様に記録アドレスが複数のブロック間に跨って移動する可能性がある。
【００３３】
本発明では上記問題点に鑑み、複数のファイルを並行してＮＡＮＤ型フラッシュメモリに記録する場合等においても速度低下を防ぎ、リアルタイム記録を実現するアクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システムを提供することを目的とする。
【課題を解決するための手段】
【００３４】
本発明のアクセスモジュールは、データを格納する不揮発性メモリを有する情報記録モジュールにアクセスするアクセスモジュールであって、所定のデータ種別のデータを格納する領域の位置情報を前記情報記録モジュールに通知するアドレス管理情報設定処理部と、前記情報記録モジュールに記録するファイルデータにおける有効データが所定の記録処理単位サイズ未満であった場合に、任意のデータを付加して前記所定の記録処理単位サイズに変更し、前記情報記録モジュールにファイルデータを記録するデータ整形処理部とを備える。
【００３５】
また、複数ファイルのファイルデータを並行して前記情報記録モジュールに記録する場合には、所定の連続領域サイズ内で連続したアドレスになるよう、複数ファイルのファイルデータを任意の順番で並べながら前記情報記録モジュールに記録するようにすると効果的である。
【００３６】
また、前記所定のデータ種別は、記録対象ファイルの名前やファイルサイズ等の情報を含むファイルシステム管理情報であっても良い。
【００３７】
更に、前記所定のデータ種別は、記録対象ファイルの名前やファイルサイズ等の情報を含むファイルシステム管理情報であって、前記アドレス管理情報設定処理部は、該ファイルシステム管理情報を格納する領域の位置情報を複数前記情報記録モジュールに通知するようにしても良い。
【００３８】
また、前記情報記録モジュールに記録するファイルデータに任意のデータを付加した場合、該ファイルの名前やファイルサイズ等の情報を含むファイルシステム管理情報に、データ付加前の有効データの大きさをファイルサイズとして設定するようにすると良い。
【００３９】
また、前記所定の記録処理単位サイズは、前記情報記録モジュールに含まれる不揮発性メモリの物理的なデータ記録処理単位サイズの倍数長であると良い。
【００４０】
更に、前記所定の連続領域サイズは、前記情報記録モジュールに含まれる不揮発性メモリの物理的なデータ消去処理単位サイズの倍数長であると良い。
【００４１】
本発明の情報記録モジュールは、データを格納する不揮発性メモリと、外部のアクセスモジュールから指定される所定のデータ種別のデータを格納する領域の位置情報を格納するアドレス管理情報と、前記アドレス管理情報に基づき前記所定のデータ種別のデータが記録されると認識した場合には、前記不揮発性メモリ内の特定の領域にデータを格納するエントリ格納制御部とを備える。
【００４２】
また、前記所定のデータ種別は、記録対象ファイルの名前やファイルサイズ等の情報を含むファイルシステム管理情報であると良い。
【００４３】
更に、前記所定のデータ種別は、記録対象ファイルの名前やファイルサイズ等の情報を含むファイルシステム管理情報であって、前記アドレス管理情報は、該ファイルシステム管理情報を格納する領域の位置情報を複数保持するようにしても良い。
【００４４】
また、前記エントリ格納制御部は、前記アドレス管理情報に保持された、複数のファイルシステム管理情報を格納する領域の位置情報のそれぞれに特定の領域を割り当て、該ファイルシステム管理情報を格納するようにすると良い。
【００４５】
また、前記アドレス管理情報は、前記所定のデータ種別とは異なる第２のデータ種別のデータを格納する領域の位置情報を更に含み、前記エントリ格納制御部は、前記アドレス管理情報に基づき前記第２のデータ種別のデータが記録されると認識した場合には、前記不揮発性メモリ内の前記所定のデータ種別のデータを格納する領域とは異なる特定の領域にデータを格納する処理を更に含むようにすると効果的である。
【００４６】
また、前記第２のデータ種別は、ファイルシステムが使用する領域管理情報であると良い。
【００４７】
本発明のコントローラは、データを格納する不揮発性メモリを有する情報記録モジュールを制御するコントローラであって、外部のアクセスモジュールから指定される所定のデータ種別のデータを格納する領域の位置情報を格納するアドレス管理情報を参照し、前記所定のデータ種別のデータが記録されると認識した場合には、前記不揮発性メモリ内の特定の領域にデータを格納するエントリ格納制御部を備える。
【００４８】
本発明の情報記録システムは、情報記録モジュールと、前記情報記録モジュールにアクセスするアクセスモジュールとを備える情報記録システムであって、前記情報記録モジュールは、データを格納する不揮発性メモリと、前記アクセスモジュールから指定される所定のデータ種別のデータを格納する領域の位置情報を格納するアドレス管理情報と、前記アドレス管理情報に基づき前記所定のデータ種別のデータが記録されると認識した場合には、前記不揮発性メモリ内の特定の領域にデータを格納するエントリ格納制御部とを有し、前記アクセスモジュールは、前記所定のデータ種別のデータを格納する領域の位置情報を前記情報記録モジュールに通知するアドレス管理情報設定処理部と、前記情報記録モジュールに記録するファイルデータにおける有効データが所定の記録処理単位サイズ未満であった場合に、任意のデータを付加して前記所定の記録処理単位サイズに変更し、前記情報記録モジュールにファイルデータを記録するデータ整形処理部とを有する。
【発明の効果】
【００４９】
本発明によれば、複数のファイルを並行してＮＡＮＤ型フラッシュメモリに記録する場合等においても速度低下を防ぎ、リアルタイム記録を実現することが可能となる。
【図面の簡単な説明】
【００５０】
【図１】第１実施形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図
【図２】ＦＡＴファイルシステムの構成を示した説明図
【図３】ディレクトリエントリの構成を示した説明図
【図４】ＦＡＴファイルシステムにおけるファイルデータ書き込み処理手順を示したフローチャート
【図５】ＦＡＴファイルシステムにおけるファイルデータ書き込み前の状態の一例を示した説明図
【図６】ＦＡＴファイルシステムにおけるファイルデータ書き込み後の状態の一例を示した説明図
【図７】ＦＡＴファイルシステムにおいて１ファイルを記録する場合の記録手順の一例を示した説明図
【図８】ＦＡＴファイルシステムにおいて２ファイルを並行記録する場合の記録手順の一例を示した説明図
【図９】第１実施形態における不揮発性メモリの構成の一例を示した説明図
【図１０】第１実施形態における不揮発性メモリ内の論理アドレスと物理アドレスの関係の一例を示した説明図
【図１１】第１実施形態におけるアドレス管理情報の構成の一例を示した説明図
【図１２】第１実施形態における複数ファイル並行記録時のデータ配置の一例を示した説明図
【図１３】第１実施形態におけるデータ書き込み処理手順の全体を示したフローチャート
【図１４】第１実施形態におけるデータ書き込み処理手順の詳細を示したフローチャート
【図１５】第１実施形態における複数ファイル並行書き込み時の書き込みシーケンスの一例を示した説明図
【図１６】第１実施形態におけるエントリ格納制御部におけるディレクトリエントリ書き込み処理手順を示したフローチャート
【図１７】第１実施形態における第１のエントリ格納領域の状態の一例を示した説明図
【図１８】第１実施形態におけるＦＡＴ格納制御部におけるＦＡＴ書き込み処理手順を示したフローチャート
【図１９】第１実施形態におけるＦＡＴ格納領域の状態の一例を示した説明図
【図２０】第１実施形態におけるユーザデータ格納制御部におけるユーザデータ書き込み処理手順を示したフローチャート
【図２１】第１実施形態におけるユーザデータ格納領域の状態の一例を示した説明図
【図２２】第１実施形態におけるユーザデータ格納領域の状態の別の一例を示した説明図
【発明を実施するための形態】
【００５１】
以下、本発明のアクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システムについて、図面を参照しつつ説明する。
【００５２】
［第１実施形態］
図１は、第１実施形態におけるアクセスモジュール１及び情報記録モジュール２の構成図である。
【００５３】
図１においてアクセスモジュール１は、ＣＰＵ１１、ＲＡＭ１２、情報記録モジュールインタフェース１３、ＲＯＭ１４を含む。ＲＯＭ１４にはアクセスモジュール１を制御するプログラムが格納されており、このプログラムはＲＡＭ１２を一時記憶領域として使用し、ＣＰＵ１１上で動作する。情報記録モジュールインタフェース１３は、情報記録モジュール２とアクセスモジュール１との接続部であり、制御信号及びデータの送受信を行う。
【００５４】
ＲＯＭ１４は更に、アプリケーション制御部１０１、ファイルシステム制御部１０２、情報記録モジュールアクセス部１０３を含む。アプリケーション制御部１０１は、データの生成や電源の制御等、アクセスモジュール１全体の制御を行う。ファイルシステム制御部１０２は、ＦＡＴファイルシステム等のファイルシステムによりデータをファイルとして管理するための制御を行う。情報記録モジュールアクセス部１０３は、ファイルシステム制御部１０２からデータと共にサイズとアドレスを渡され、指定されたサイズのデータを情報記録モジュール２の不揮発性メモリ内の指定された位置に記録する等、情報記録モジュール２に対するコマンドやデータの送受信を制御する。
【００５５】
ファイルシステム制御部１０２は更に、アドレス管理情報設定処理部１０４、データ整形処理部１０５を含む。アドレス管理情報設定処理部１０４は、ファイルにデータを記録する際に、該当ファイルのディレクトリエントリ３０８の位置に関する情報を情報記録モジュール２に通知する処理を行う処理部であり、従来のアクセスモジュールには存在しないものである。また、データ整形処理部１０５は、ファイルに記録するデータの大きさが情報記録モジュール２への記録単位の倍数長ではない場合に、データをパディングして情報記録モジュール２に記録する処理を行う処理部であり、アドレス管理情報設定処理部１０４と同様に従来のアクセスモジュールには存在しないものである。これら処理部の詳細については後述する。
【００５６】
一方、図１において情報記録モジュール２は、コントローラ２１と不揮発性メモリ２２を含む。
【００５７】
コントローラ２１は、不揮発性メモリ２２の制御全般を行うモジュールであり、ＣＰＵ等を含むシステムＬＳＩとして構成される。コントローラ２１は更に、アクセスモジュールインタフェース２１１、ＣＰＵ２１２、ＲＡＭ２１３、ＲＯＭ２１４、不揮発性メモリインタフェース２１５を含む。アクセスモジュールインタフェース２１１は、情報記録モジュール２とアクセスモジュール１との接続部であり、情報記録モジュールインタフェース１３同様、制御信号及びデータを送受信するインタフェースである。ＲＯＭ２１４には情報記録モジュール２を制御するプログラムが格納されており、このプログラムはＲＡＭ２１３を一時記憶領域として使用し、ＣＰＵ２１２上で動作する。不揮発性メモリインタフェース２１５はコントローラ２１と不揮発性メモリ２２との接続部であり、不揮発性メモリ２２に対するコマンドやデータの送受信を制御する。
【００５８】
ＲＯＭ２１４は更に、エントリ格納制御部２１７、ＦＡＴ格納制御部２１８、ユーザデータ格納制御部２１９を含む。エントリ格納制御部２１７は、アクセスモジュール１から情報記録モジュール２に発行されたデータ書き込み命令が、ディレクトリエントリに相当する特定のデータを書き込む処理であった場合に、データをエントリ格納領域２２１内に格納する処理を実施する制御部である。ＦＡＴ格納制御部２１８は、ＦＡＴに相当する特定のデータを書き込む処理であった場合に、データをＦＡＴ格納領域２２２内に格納する処理を実施する制御部である。ユーザデータ格納制御部２１９は、その他のデータを書き込む処理であった場合に、データをユーザデータ格納領域２２３内に格納する処理を実施する制御部である。
【００５９】
ユーザデータ格納制御部２１９の処理は、従来の情報記録モジュール２が含んでいた処理とほぼ同じであるが、エントリ格納制御部２１７とＦＡＴ格納制御部２１８の処理は従来の情報記録モジュール２には存在しないものである。これらの制御部の詳細については後述する。
【００６０】
また、ＲＡＭ２１３は、エントリ格納制御部２１７、ＦＡＴ格納制御部２１８、ユーザデータ格納制御部２１９が制御用の情報として使用するアドレス管理情報２１６を含む。
【００６１】
また、不揮発性メモリ２２は、先に説明したエントリ格納領域２２１、ＦＡＴ格納領域２２２、ユーザデータ格納領域２２３を含み、エントリ格納領域２２１は更に第１のエントリ格納領域２２４、第２のエントリ格納領域２２５を含む。
【００６２】
本実施形態における情報記録モジュール２は、データの種別により、不揮発性メモリ２２内のエントリ格納領域２２１、ＦＡＴ格納領域２２２、ユーザデータ格納領域２２３をデータ格納先として使い分ける。また、複数ファイルを並行して記録する場合には、複数ファイルのデータを所定の書き込み処理単位の倍数長にパディングしたデータをブロック単位で連続したアドレス領域に記録する。また、本実施形態におけるアクセスモジュール１は、情報記録モジュール２にディレクトリエントリ３０８の位置情報を通知するアドレス管理情報設定処理部１０４と、端数データをパディングして情報記録モジュール２に記録するデータ整形処理部１０５とを備える。これらアクセスモジュール１、情報記録モジュール２を組み合わせることにより、複数のファイルを並行して記録する場合においても、情報記録モジュール２内で生じる無駄なコピー処理を削減して記録速度の低下を防止し、高速に安定して情報記録モジュール２にデータを記録することが可能となる。
【００６３】
続いて図９を用いて、本実施形態における不揮発性メモリ２２の構成について説明する。不揮発性メモリ２２には、例えばＮＡＮＤ型フラッシュメモリ等が用いられる。不揮発性メモリ２２は複数の物理ブロックから構成される。物理ブロックはデータを消去する単位であり、データを書き込む前にこの単位で一旦データを消去する必要がある。また物理ブロックは複数のページから構成される。ページはデータの書き込みを行う単位である。更にページはデータ部と冗長部を含む。データ部は論理アドレス空間としてアクセスモジュール１からアクセスが可能な領域であり、実際にファイルデータ等が格納される領域である。また冗長部は、不揮発性メモリ２２の管理情報やＥＣＣ等が格納される領域であり、アクセスモジュール１からアクセスできない領域である。データ部の大きさは例えば４ＫＢ、冗長部の大きさは１２８バイト程度となる。また、データ部にのみ着目した場合の物理ブロックの大きさは、例えば５１２ＫＢ程度となる。よって、不揮発性メモリ２２の一例として、この大きさの物理ブロック２０４８個から構成された場合は、不揮発性メモリ２２の容量は１ＧＢとなる。
【００６４】
続いて図１０を用いて、本実施形態における不揮発性メモリ２２内の論理アドレスと物理アドレスの関係について説明する。不揮発性メモリ２２内のアドレスには、論理アドレスと物理アドレスが存在する。論理アドレスは、アクセスモジュール１から情報記録モジュール２にアクセスする際に使用する仮想的なアドレスである。一方物理アドレスは、不揮発性メモリ２２内の全物理ブロックに割り当てられた実アドレスを意味し、情報記録モジュール２内で不揮発性メモリ２２にアクセスする際には、この物理アドレスが使用される。また、論理アドレスは物理アドレスに対応付けられており、その対応関係は情報記録モジュール２のＲＡＭ２１３内のアドレス管理情報２１６により管理されている。
【００６５】
図１０は、不揮発性メモリ２２内の論理アドレスと物理アドレスの対応関係の一例を示した図である。論理アドレス空間上にはマスターブートレコード・パーティションテーブル等のファイルシステム管理情報等が格納され、ファイルシステムが構築されている。物理アドレス空間内には、第１のエントリ格納領域２２４、第２のエントリ格納領域２２５、ＦＡＴ格納領域２２２、ユーザデータ格納領域２２３等が存在する。
【００６６】
第１のエントリ格納領域２２４は、１つ目のファイルのディレクトリエントリ３０８（論理アドレス空間上の“ＥＮＴＲＹ１”）が格納される専用の物理ブロックであり、図１０の例では物理ブロック番号０ｘ００００が割り当てられている。また、第２のエントリ格納領域２２５は、２つ目のファイルのディレクトリエントリ３０８（論理アドレス空間上の“ＥＮＴＲＹ２”）が格納される専用の物理ブロックであり、図１０の例では物理ブロック番号０ｘ０００１が割り当てられている。ＦＡＴ格納領域２２２は、ＦＡＴ（３０５、３０６）が格納される専用の物理ブロックであり、図１０の例では物理ブロック番号０ｘ０００２が割り当てられている。ユーザデータ格納領域２２３は、その他のデータが格納される物理ブロックであり、図１０の例では物理ブロック番号０ｘ０００３以降の領域が割り当てられている。ユーザデータ格納領域２２３は更に、ユーザデータ格納領域２２３におけるデータ更新時に一時的に使用する物理ブロックである一時ブロック領域２２６を含む。図１０の例では一時ブロック領域には物理ブロック番号０ｘＦ０００が割り当てられている。
【００６７】
本実施形態における情報記録モジュール２は、図１０のようにディレクトリエントリ３０８、ＦＡＴ（３０５、３０６）を専用の物理ブロックで管理し、特別な書き込み処理を行うことにより、データ記録時の速度低下を防止する。
【００６８】
次に図１１を用いて、本実施形態におけるアドレス管理情報２１６について説明する。アドレス管理情報２１６はデータ種別情報４０１、一時ブロック情報４０２、アドレス変換情報４０３を含む。データ種別情報４０１は、第１のエントリ格納領域２２４を制御するために使用する管理情報である第１エントリ位置情報４１１と、第２のエントリ格納領域２２５を制御するために使用する管理情報である第２エントリ位置情報４１２と、ＦＡＴ格納領域２２２を制御するために使用する管理情報であるＦＡＴ位置情報４１３とを含む。
【００６９】
第１エントリ位置情報４１１は、１つ目のディレクトリエントリ３０８の格納位置に関する情報であり、該当するディレクトリエントリ３０８が格納されている物理アドレス（物理ブロック番号）及び論理アドレス（論理ブロック番号、論理ページ番号）から構成される。この論理アドレスは、アクセスモジュール１のアドレス管理情報設定処理部１０４により情報記録モジュール２に通知されるものである。また、第２エントリ位置情報４１２は、２つ目のディレクトリエントリ３０８の格納位置に関する情報であり、内容は第１エントリ位置情報４１１と同じである。またＦＡＴ位置情報は、ＦＡＴ（３０５、３０６）の格納位置に関する情報であり、同様に物理アドレスと論理アドレスから構成されている。但し、ＦＡＴ（３０５、３０６）はディレクトリエントリ３０８よりもサイズが大きいため、本ＦＡＴ位置情報４１３で管理されるアドレス情報も複数ページ分のアドレス情報となる。ＦＡＴ（３０５、３０６）の論理アドレスは情報記録モジュール２のフォーマット時に決められ、以後固定の値となるため、このＦＡＴ位置情報４１３は、第１エントリ位置情報４１１同様、アクセスモジュール１のアドレス管理情報設定処理部１０４により情報記録モジュール２に通知されるようにしても良いし、情報記録モジュール２内で予め固定の論理アドレスを使用するようにしても良い。
【００７０】
一時ブロック情報４０２は、ユーザデータ格納領域２２３内の一時ブロック領域２２６の状態に関する情報であり、現在一時ブロック領域２２６として割り当てられている物理ブロックの物理アドレスと、その物理ブロックに対応付けられている論理アドレスの情報から構成されている。
【００７１】
アドレス変換情報４０３は、ユーザデータ格納領域２２３内の各物理ブロックの物理アドレスと、論理アドレスとの対応関係を示す情報である。この情報は、従来の情報記録モジュール２が持つ情報と同様であり、一般に“アドレス変換テーブル”や、“論物アドレス変換表”等と呼ばれる情報である。
【００７２】
本実施形態におけるエントリ格納制御部２１７、ＦＡＴ格納制御部２１８、ユーザデータ格納制御部２１９は、これらのアドレス管理情報２１６を用いて不揮発性メモリ２２内の記録領域を制御する。すなわち、ディレクトリエントリ３０８やＦＡＴ（３０５、３０６）を専用の物理ブロックを用いて特別な書き込み処理により格納することにより、データ記録時の速度低下を防止する。また、本実施形態では、複数ファイルを並行して記録する場合においてもデータ記録時の速度低下を防止する方法を提供する。
【００７３】
例えば図１２のように動画ファイルを記録している最中に静止画データを記録するような場合には、動画データと連続したアドレスに静止画データを記録する。図１２の例では書き込み処理単位を１クラスタ（＝１６ＫＢ）であると想定している。この場合、動画データを３クラスタ連続して記録した後に、続けて２クラスタの静止画データを記録する。この際、静止画ファイルのサイズはクラスタ倍数長であるとは限らないため、通常であれば、図１２の無効データの部分には何もデータが記録されない。しかしながら、本実施形態では不揮発性メモリ２２に高速にデータを記録するため、処理単位の倍数長単位で連続したアドレスにユーザデータを記録するようにする。そのため、クラスタ番号６に記録される静止画データ２は、アクセスモジュール１のデータ整形処理部１０５によりクラスタサイズの倍数長にパディングされ、１クラスタ分のデータとして情報記録モジュール２に記録される。このパディングサイズ分は、ディレクトリエントリ３０８を情報記録モジュール２に記録する際に調整されるが、この処理の詳細については後述する。更に静止画データを記録した後に、動画データの続きを記録する。
【００７４】
このように本実施形態では、複数のファイルを並行して記録する場合、処理単位の倍数長単位で連続したアドレスにデータを記録するようにする。更にファイル終端の端数サイズについては処理単位の倍数長にパディングして情報記録モジュール２に記録する。これにより、情報記録モジュール２に対しては、あたかも１つのファイルを連続して記録しているような処理となり、高速にデータを記録することが可能となる。
【００７５】
以降、本実施形態における詳細なデータ記録手順について説明する。
【００７６】
本実施形態におけるファイル書き込み処理手順について、図１３、図１４を用いて説明する。図１３は本実施形態におけるファイル書き込み処理手順全体を示すフローチャートであり、図１４はデータ書き込み処理を詳細化した処理手順を示すフローチャートである。以下の説明では、情報記録モジュール２に対する記録処理単位としてページサイズ単位の書き込みを実施する場合の例について説明する。
【００７７】
（Ｓ１３０１）：
アクセスモジュール１のアドレス管理情報設定処理部１０４が、記録対象ファイルのディレクトリエントリ３０８の位置情報を情報記録モジュール２に通知する。通知された情報は、情報記録モジュール２のＲＡＭ２１３内のアドレス管理情報２１６における第１エントリ位置情報４１１、あるいは第２エントリ位置情報４１２に格納される。記録対象ファイルが１つ目であれば第１エントリ位置情報４１１に、２つ目であれば第２エントリ位置情報４１２に格納される。
【００７８】
（Ｓ１３０２）：
記録対象ファイルのデータを情報記録モジュール２に書き込む。この際、ファイル終端等で書き込み処理サイズが記録処理単位の倍数長にならない場合は、アクセスモジュール１のデータ整形処理部１０５が記録処理単位の倍数長にデータをパディングし、情報記録モジュール２にデータを書き込む。本処理の詳細内容については図１４で説明する。
【００７９】
（Ｓ１３０３）：
全ファイルデータの書き込みが完了したか判定する。まだファイルデータが残っている場合、Ｓ１３０２の処理に戻る。全ファイルデータの書き込みが完了した場合、Ｓ１３０４の処理に進む。
【００８０】
（Ｓ１３０４）：
記録対象ファイルのディレクトリエントリ３０８を、ファイルサイズや最終更新日時等の情報を更新した上で、情報記録モジュール２に書き込む。この際、Ｓ１３０２の処理においてパディングを実施した場合、ファイルサイズには本来の半端な大きさのファイルサイズを設定する。これにより、Ｓ１３０２でファイルデータをパディングしたとしても本来のファイルサイズを持つファイルとして情報記録モジュール２に格納することができる。
【００８１】
（Ｓ１３０５）：
Ｓ１３０２で実施したデータ書き込み処理を元にＦＡＴ（３０５、３０６）内のリンク情報を更新し、情報記録モジュール２に書き込む。
【００８２】
続いて、図１４に示すデータ書き込み処理の詳細手順について説明する。
【００８３】
（Ｓ１４０１）：
論理アドレス空間上におけるユーザデータ領域３０２内をブロック単位に分割した場合に、空き領域を含む空きブロックを取得済みであるか判定する。取得済みである場合はＳ１４０３の処理に進む。取得していない場合はＳ１４０２の処理に進む。本実施形態では、ユーザデータ領域３０２にファイルデータを記録する場合、ユーザデータ領域３０２内をブロック単位に分割した場合、ブロック内全ての領域が空き領域となっているブロックを選択し、そのブロック内に連続的にファイルデータをページ単位で書き込むことを想定する。そのため、「空きブロックを取得済みである」というのは、記録領域として任意の空きブロックを選択済みであり、そのブロックに対するファイルデータ書き込み処理を開始している状態を意味する。逆に「空きブロックを取得済みではない」というのは、既に任意の空きブロックの終端までファイルデータを書き込んだ直後で新たにデータを書き込む前に、任意の空きブロックを選択する必要がある状態を意味する。
【００８４】
（Ｓ１４０２）：
Ｓ１４０１の判定処理において、空きブロックを取得していないと判定した場合、空きブロックの取得を行う。具体的にはＦＡＴ（３０５、３０６）を参照し、任意のブロックの領域内全てが空き領域であるブロックを見つける処理を行う。
【００８５】
（Ｓ１４０３）：
空きブロック内の空きページを取得する。空きブロック内へのデータ記録は領域先頭から連続して行うことを想定するため、対象ブロック内の先頭から探索した場合に最初に存在する空きページを記録対象の空きページとして取得する。また、ページと記載しているのは記録処理単位がページ単位であるためであり、記録処理単位をページサイズ以外で実施する場合には、本処理はその記録処理単位サイズの空き領域を取得する処理となる。
【００８６】
（Ｓ１４０４）：
記録対象データの大きさがページサイズであるか判定する。ページサイズ以外の半端サイズである場合、Ｓ１４０４の処理に進む。また、ページサイズ丁度である場合はＳ１４０６の処理に進む。Ｓ１４０３同様、記録処理単位がページサイズではない場合、本処理も記録対象データの大きさと記録処理単位サイズとの比較処理となる。
【００８７】
（Ｓ１４０５）：
記録対象データの大きさがページサイズと同じになるよう、データ整形処理部１０５は記録対象データをパディングする。パディングデータは０ｘ００や０ｘＦＦ等の固定値であっても良いし、任意の値でも良い。
【００８８】
（Ｓ１４０６）：
ページサイズのデータを情報記録モジュール２に書き込み、処理を終了する。
【００８９】
図１４の説明で用いたブロックやページのサイズは、情報記録モジュール２からアクセスモジュール１が取得できるようにしても良いし、予め固定の値を決めておきアクセスモジュール１で使用するようにしても良い。
【００９０】
以上、図１３、図１４で説明したように、本実施形態では、複数のファイルを並行して記録する場合、処理単位の倍数長単位で連続したアドレスにデータを記録するようにする。更にファイル終端の端数サイズについては処理単位の倍数長にパディングして情報記録モジュール２に記録する。これにより、情報記録モジュール２に対しては、あたかも１つのファイルを連続して記録しているような処理となり、高速にデータを記録することが可能となる。また、ここではディレクトリエントリ３０８やＦＡＴ（３０５、３０６）の書き込みをファイル終端にまとめて実施する場合の例について説明したが、数秒間隔で定期的に更新する等、ファイルデータ記録の合間に実施しても良い。
【００９１】
図１５は、本実施形態において複数のファイルを並行して書き込む場合の書き込みシーケンス例について示した図である。図１５のＦｉｌｅ１が１つ目のファイル、Ｆｉｌｅ２が２つ目のファイルを意味している。この例では１つ目のファイルのデータ記録中に２つ目のファイルを記録する場合を示しており、例えば動画ファイル記録中に静止画ファイルを記録する場合の処理等が該当する。この場合、図１３で説明した処理手順に従い１つ目のファイルを記録している最中に２つ目のファイルの記録処理に切り替わり、２つ目のファイルの記録完了後に、また１つ目のファイルの記録処理に戻る。しかしながら、これら２つのファイルのデータは、図１３、図１４で説明した処理手順に従い、任意のブロック内の連続したアドレスに記録されるため、記録するファイルが切り替わっても記録速度が低下することなく、安定してデータを記録することができる。
【００９２】
続いて図１６を用いて、本実施形態のエントリ格納制御部２１７におけるディレクトリエントリ書き込み処理手順について説明する。図１６の説明では１つ目のファイルのディレクトリエントリ３０８に対する書き込み処理を中心に説明するが、２つ目のファイルのディレクトリエントリ３０８に対する書き込み処理手順もほぼ同じとなる。すなわち、以降の処理において“第１エントリ位置情報”を“第２エントリ位置情報”、“第１のエントリ格納領域”を“第２のエントリ格納領域”と読み替えると２つ目のファイルのディレクトリエントリ３０８に対する書き込み処理手順となる。
【００９３】
（Ｓ１６０１）：
アクセスモジュール１から情報記録モジュール２に対して発行された書き込み命令を元に、書き込み先のアドレスを取得する。ここで書き込み先のアドレスとは、アクセスモジュール１が情報記録モジュール２に対する書き込みコマンドで指定する論理アドレスを意味する。
【００９４】
（Ｓ１６０２）：
Ｓ１６０１で取得した書き込み先アドレスと第１エントリ位置情報４１１を比較し、値が一致するか判定する。値が一致する場合はＳ１６０４の処理に進む。値が一致しない場合はＳ１６０３の処理に進む。
【００９５】
（Ｓ１６０３）：
Ｓ１６０２の判定処理において値が一致しないと判定した場合、第１のエントリ格納領域２２４に対する書き込みではないため、ユーザデータ格納領域２２３に対する書き込み処理等、他の書き込み処理を実施して処理を終了する。
【００９６】
（Ｓ１６０４）：
Ｓ１６０２の判定処理において値が一致すると判定した場合、第１のエントリ格納領域２２４内に未使用ページが存在するか判定する。未使用ページが存在する場合はＳ１６０６の処理に進む。未使用ページが存在しない場合はＳ１６０５の処理に進む。ここで未使用ページとは、データ消去済みのページで有効なデータを格納しておらず、データを書き込むことが可能なページであることを意味する。
【００９７】
（Ｓ１６０５）：
Ｓ１６０４の判定処理において未使用ページが存在しないと判定した場合、第１のエントリ格納領域２２４にデータを書き込むことができないため、一旦第１のエントリ格納領域２２４に格納されているデータを全て消去する。これにより、第１のエントリ格納領域２２４に未使用ページを生成する。
【００９８】
（Ｓ１６０６）：
未使用ページの先頭にデータを書き込む。未使用ページへのデータ記録は領域先頭から連続して行うことを想定するため、第１のエントリ格納領域２２４の先頭から探索した場合に最初に存在する未使用ページを記録対象の未使用ページとする。
【００９９】
図１７は、本実施形態における第１のエントリ格納領域２２４の状態の一例を示した図である。図１７（ａ）では、第１のエントリ格納領域２２４の先頭ページにディレクトリエントリ３０８（ＥＮＴＲＹ１＿１）が格納されており、以降のページは全て消去済みの未使用ページとなっている。ここで、アクセスモジュール１がディレクトリエントリ３０８にＥＮＴＲＹ１＿２のデータを上書きする場合、図１７（ｂ）の状態に変化する。図１７（ｂ）では、ＥＮＴＲＹ１＿２のデータが、先頭の未使用ページであった２ページ目に格納されている。また、この状態においては灰色のＥＮＴＲＹ１＿２のデータが最新のデータであり、ＥＮＴＲＹ１＿１のデータは古いデータとして扱われる。すなわち、この状態でアクセスモジュール１がディレクトリエントリ３０８を読み出した場合、情報記録モジュール２はＥＮＴＲＹ１＿２のデータをアクセスモジュール１に出力する。同様にディレクトリエントリ３０８にデータを上書きし続けた場合、図１７（ｃ）、図１７（ｄ）と変化する。図１７（ｄ）の状態で更にアクセスモジュール１がディレクトリエントリ３０８（ＥＮＴＲＹ１＿９）を上書きした場合、Ｓ１６０５の処理により第１のエントリ格納領域２２４のデータが一旦消去され、先頭ページにＥＮＴＲＹ１＿９のデータが格納される。このように第１のエントリ格納領域２２４には常に１ページ分の有効なディレクトリエントリ３０８のデータが保持され、書き込み処理においては無駄なコピー処理が発生しない。
【０１００】
以上、図１６、図１７で説明したように、本実施形態のエントリ格納制御部２１７は、アクセスモジュール１のアドレス管理情報設定処理部１０４により通知された第１エントリ位置情報４１１、あるいは第２エントリ位置情報４１２を用いて、ディレクトリエントリ３０８を第１のエントリ格納領域２２４、あるいは第２のエントリ格納領域２２５に格納する。これによりディレクトリエントリ３０８の書き込み時における無駄なコピー処理の発生を防止し、高速にディレクトリエントリ３０８を書き込むことが可能となる。
【０１０１】
続いて図１８を用いて、本実施形態のＦＡＴ格納制御部２１８におけるＦＡＴ書き込み処理手順について説明する。図１８の処理手順は図１６の処理手順とほぼ同じであるため、詳細な説明は割愛する。図１８が図１６と異なる点は、“第１エントリ位置情報”が“ＦＡＴ位置情報”、“第１のエントリ格納領域”が“ＦＡＴ格納領域”である点と、書き込み処理単位が１ページ単位ではなく、複数ページとなっている点である。
【０１０２】
図１９は、本実施形態におけるＦＡＴ格納領域２２２の状態の一例を示した図である。図１９（ａ）では、ＦＡＴ格納領域２２２の先頭４ページにＦＡＴ（３０５、３０６）のデータが格納されている。すなわち、この例ではＦＡＴ（３０５、３０６）の大きさは４ページであり、各々ＦＡＴ＿Ａ＿１からＦＡＴ＿Ｄ＿１までのデータが格納されていることを意味する。また、ＦＡＴ格納領域２２２の残り４ページは消去済みの未使用ページとなっている。ここで、アクセスモジュール１がＦＡＴ（３０５、３０６）にＦＡＴ＿Ａ＿２からＦＡＴ＿Ｄ＿２までのデータを上書きする場合、図１９（ｂ）の状態に変化する。図１９（ｂ）では、ＦＡＴ＿Ａ＿２からＦＡＴ＿Ｄ＿２までのデータが、先頭の未使用ページであった５ページ目以降に格納されている。また、この状態においては灰色のＦＡＴ＿Ａ＿２からＦＡＴ＿Ｄ＿２までのデータが最新のデータであり、ＦＡＴ＿Ａ＿１からＦＡＴ＿Ｄ＿１までのデータは古いデータとして扱われる。すなわち、この状態でアクセスモジュール１がＦＡＴ（３０５、３０６）を読み出した場合、情報記録モジュール２はＦＡＴ＿Ａ＿２からＦＡＴ＿Ｄ＿２までのデータをアクセスモジュール１に出力する。更にＦＡＴ（３０５、３０６）にＦＡＴ＿Ａ＿３からＦＡＴ＿Ｄ＿３までのデータを上書きした場合、Ｓ１８０５の処理によりＦＡＴ格納領域２２２のデータが一旦消去され、先頭ページよりＦＡＴ＿Ａ＿３からＦＡＴ＿Ｄ＿３までのデータが格納される。このようにＦＡＴ格納領域２２２には常に必要サイズ分の有効なＦＡＴデータが保持され、書き込み処理においては無駄なコピー処理が発生しない。
【０１０３】
以上、図１８、図１９で説明したように、本実施形態のＦＡＴ格納制御部２１８は、アクセスモジュール１のアドレス管理情報設定処理部１０４により通知された、あるいは予め固定の値として保持していたＦＡＴ位置情報４１３を用いて、ＦＡＴ（３０５、３０６）をＦＡＴ格納領域２２２に格納する。これによりＦＡＴ（３０５、３０６）の書き込み時における無駄なコピー処理の発生を防止し、高速にＦＡＴ（３０５、３０６）を書き込むことが可能となる。
【０１０４】
続いて図２０、図２１、図２２を用いて、本実施形態のユーザデータ格納制御部２１９におけるユーザデータ書き込み処理手順について説明する。
【０１０５】
図２０は、本実施形態のユーザデータ格納制御部２１９におけるユーザデータ書き込み処理手順を示したフローチャートである。図２１は、本実施形態のユーザデータ格納領域２２３の状態の一例を示した図である。同様に図２２は、本実施形態のユーザデータ格納領域２２３の状態の別の一例を示した図である。
【０１０６】
図２１、図２２において、点線で囲んだ中は一時ブロック領域２２６を示す。本実施形態においてユーザデータ格納領域２２３にデータを書き込む際には、一旦一時ブロック領域２２６にデータを書き込み、一時ブロック領域２２６全体にデータが書き込まれた時点で１ブロック分のデータが全て正式に書き込まれた状態となる。すなわち、一時ブロック領域２２６が割り当てられている論理アドレスについては、部分的に古いデータを含む物理ブロックと一時ブロック領域２２６の２つの物理ブロックが割り当てられることになる。例えば、図２２（ａ）の物理ブロック番号０ｘ０００３（先頭ページのみ古いデータ）と、物理ブロック番号０ｘＦ０００（先頭ページのみ新しいデータ）の２つの物理ブロックが同一の論理アドレスに割り当てられている。
【０１０７】
（Ｓ２００１）：
アクセスモジュール１から情報記録モジュール２に対して発行された書き込み命令を元に、書き込み先のアドレスを取得する。ここで書き込み先のアドレスとは、アクセスモジュール１が情報記録モジュール２に対する書き込みコマンドで指定する論理アドレスを意味する。
【０１０８】
（Ｓ２００２）：
Ｓ２００１で取得した書き込み先アドレスと第１エントリ位置情報４１１、第２エントリ位置情報４１２、ＦＡＴ位置情報４１３を比較し、ディレクトリエントリ３０８やＦＡＴ（３０５、３０６）の書き込みであるか判定する。ディレクトリエントリ３０８やＦＡＴ（３０５、３０６）の書き込みであると判定した場合、Ｓ２００３の処理に進む。ディレクトリエントリ３０８やＦＡＴ（３０５、３０６）の書き込みではないと判定した場合、Ｓ２００４の処理に進む。
【０１０９】
（Ｓ２００３）：
Ｓ２００２の判定処理においてディレクトリエントリ３０８やＦＡＴ（３０５、３０６）の書き込みであると判定した場合、ユーザデータ格納領域２２３に対する書き込みではないため、第１のエントリ格納領域２２４に対する書き込み処理等、他の書き込み処理を実施して処理を終了する。
【０１１０】
（Ｓ２００４）：
Ｓ２００２の判定処理においてディレクトリエントリ３０８やＦＡＴ（３０５、３０６）の書き込みではないと判定した場合、Ｓ２００１で取得した書き込み先アドレスと一時ブロック情報４０２とを比較し、一時ブロック領域２２６に対する書き込み処理であるか判定する。一時ブロック領域２２６に対する書き込み処理であると判定した場合、Ｓ２００５の処理に進む。一時ブロック領域２２６に対する書き込み処理ではないと判定した場合、Ｓ２００６の処理に進む。
【０１１１】
（Ｓ２００５）：
Ｓ２００４の判定処理において、一時ブロック領域２２６に対する書き込み処理であると判定した場合、一時ブロック領域２２６内でアドレスジャンプが発生するか判定する。アドレスジャンプが発生すると判定した場合、Ｓ２００６の処理に進む。アドレスジャンプが発生しないと判定した場合、Ｓ２００９の処理に進む。
【０１１２】
ここでアドレスジャンプが発生するとは、一時ブロック領域２２６内に最後に書き込まれたユーザデータのアドレスと、Ｓ２００１で取得した書き込み先アドレスが連続していない場合を意味する。例えば、図２１（ａ）の状態では、一時ブロック領域２２６の１ページ目までユーザデータ（ＤＡＴＡ１Ａ＿２）が書込まれている。この状態でＤＡＴＡ１Ａ＿２の論理アドレスの直後の論理アドレスから１ページ先にある論理アドレスに１ページ分のユーザデータをアクセスモジュール１が書き込もうとした場合、一時ブロック領域２２６の３ページ目に対する書き込み処理が発生することになり、アドレスジャンプが発生することになる。この場合、本実施形態では、一時ブロック領域２２６への書き込みは領域先頭から終端まで連続したアドレスにデータを書き込むことを想定しているため、Ｓ２００６で示すように、ジャンプされた１ページ分のデータをコピーする処理が必要となる。
【０１１３】
（Ｓ２００６）：
Ｓ２００４の判定処理で書き込み先アドレスが一時ブロック情報４０２と一致しないと判定した場合や、Ｓ２００５の判定処理でアドレスジャンプが発生すると判定した場合、データコピー処理を実施する。図２２は、書き込み先アドレスが一時ブロック情報４０２と一致しない場合の例を示している。この場合、本データコピー処理の前後で、図２２（ｂ）の状態から図２２（ｃ）の状態に変化する。すなわち、図２２（ｂ）の状態では物理ブロック番号０ｘ０００３に対応する論理アドレス上の領域にアクセスモジュール１がユーザデータを書き込んだ場合を示しており、この状態から図２２（ｃ）では物理ブロック番号０ｘ０００４に対応する論理アドレス上の領域にアクセスモジュール１がユーザデータを書き込んだ場合を示している。この場合、物理ブロック番号０ｘ０００４に対応する論理アドレス上の領域への記録のために、一時ブロック領域２２６を再割り当てするため、一旦物理ブロック番号０ｘ０００３に対応する論理アドレス上の領域への記録を完了させる必要がある。そのため、物理ブロック番号０ｘ０００３に格納されているＤＡＴＡ１Ｂ＿１からＤＡＴＡ２Ｄ＿１の有効データを、一時ブロック領域２２６である物理ブロック番号０ｘＦ０００の未使用ページにコピーする。
【０１１４】
（Ｓ２００７）：
現在の一時ブロック領域２２６に割り当てられた物理ブロックに未使用ページが存在するか判定する。未使用ページが存在する場合はＳ２００９の処理に進む。未使用ページが存在しない場合はＳ２００８の処理に進む。例えば、Ｓ２００６の処理により図２２（ｃ）のように物理ブロック０ｘＦ０００にデータがコピーされ未使用ページがなくなると、一時ブロック領域２２６に未使用ページが存在しないと判定する。
【０１１５】
（Ｓ２００８）：
Ｓ２００７の判定処理において、現在の一時ブロック領域２２６に割り当てられた物理ブロックに未使用ページが存在しないと判定した場合、旧データのみを格納した物理ブロックに含まれるデータを一旦消去し、この物理ブロックを新しい一時ブロック領域２２６とするよう、一時ブロック情報４０２を更新する。例えば、図２２（ｃ）の例の場合、旧データのみを格納した物理ブロックである物理ブロック番号０ｘ０００３の物理ブロックのデータが一旦消去され、この物理ブロックが新しい一時ブロック領域２２６となる。このように一時ブロック領域２２６は、逐次新しい物理ブロックに移動していくことになる。
【０１１６】
（Ｓ２００９）：
一時ブロック領域２２６内の未使用ページの先頭にユーザデータを書き込み、処理を終了する。未使用ページへのデータ記録は領域先頭から連続して行うことを想定するため、一時ブロック領域２２６の先頭から探索した場合に最初に存在する未使用ページを記録対象の未使用ページとする。
【０１１７】
図２０で説明した処理手順は、従来の情報記録モジュール２におけるユーザデータ書き込み処理手順とほぼ同じものである。しかしながら、本実施形態におけるアクセスモジュール１はユーザデータを記録する際に、複数ファイルを並行して記録する場合においても、半端サイズデータの場合はパディングしながら連続したアドレスに記録処理単位サイズの倍数長単位で記録を行う。そのため、実際には図２２で示すようなコピー処理が発生することはなく、図２１のように一時ブロック領域２２６の先頭から終端まで連続してユーザデータが格納されることになり、無駄なコピー処理は発生しない。
【０１１８】
以上、図２０、図２１、図２２で説明したように、本実施形態のユーザデータ格納制御部２１９は、一時ブロック領域２２６を用いてユーザデータ格納領域２２３に対するデータ書き込み処理を実施する。しかしながら、本実施形態のアクセスモジュール１の処理により、ユーザデータ書き込み時における無駄なコピー処理の発生を防止し、高速にユーザデータを書き込むことが可能となる。
【０１１９】
以上のように、本実施形態のアクセスモジュール１と情報記録モジュール２を組み合わせて使用し、複数のファイルを並行して記録する場合において、情報記録モジュール２内で生じる無駄なコピー処理を削減して記録速度の低下を防止することにより、高速に安定して情報記録モジュール２にファイルデータを書き込むことが可能となる。
【０１２０】
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本実施形態で記載された数値は一例であり、他の値を使用しても良い。例えば、物理ブロックサイズやページサイズ等の値は全て一例であり、本実施形態で記載した値に限定されるものではない。
【０１２１】
また、図１の説明において情報記録モジュール２のコントローラ２１の構成を説明したが、その他の構成としても良い。例えば、コントローラ２１内のＣＰＵ２１２やＲＡＭ２１３等をコントローラ２１の外部に配置しても良いし、逆にその他の構成要素をコントローラ２１内に含ませても良い。
【０１２２】
また、本実施形態ではファイルシステムとしてＦＡＴ１６を例として説明したが、その他のファイルシステムを用いても良い。
【０１２３】
また、情報記録モジュール２に使用される不揮発性メモリ２２の枚数は１枚である必要はなく、複数枚を組み合わせて使用しても良い。特に複数の不揮発性メモリ２２に対して並列にデータ書き込みできるように構成した場合、更に書き込み処理を高速化することが可能となる。
【０１２４】
また、データ整形処理部１０５で書き込みデータをパディングした場合、Ｓ１３０４の処理において、ディレクトリエントリ３０８上のファイルサイズを調整する方法について説明した。しかしながら、動画ファイルや静止画ファイルのファイルフォーマット上でパディングを入れる機能をサポートしている場合には、ディレクトリエントリ３０８上のファイルサイズはパディング後のサイズをそのまま格納するようにしても良い。
【０１２５】
また、記録処理単位サイズがページサイズと同じである場合の例について説明したが、その他のサイズを記録処理単位サイズとして用いても良い。例えば、ファイルシステムのデータ管理単位サイズであるクラスタサイズの倍数長等を記録処理単位サイズとして使用しても良い。
【０１２６】
また、本実施形態では２つのファイルを並行して書き込む場合の例について説明したが、３つ以上のファイルを並行して書き込めるようにしても良い。その場合は、エントリ格納領域の個数を並行して書き込むファイルの数に増やすことにより対応することが可能となる。
【０１２７】
また、本実施形態では２つのファイルを並行して書き込む場合の例について説明したが、ファイルシステムにより、ファイルのメタデータをファイルデータとは別に格納する機能をサポートしている場合には、本発明の第２のエントリ格納領域を該当ファイルのメタデータ格納に使用しても良い。例えば、ＮＴＦＳファイルシステムでは、ファイルデータとは別にそのファイルに関するメタデータとしてＮａｍｅｄ  Ｓｔｒｅａｍと呼ばれる拡張情報を格納することができる。そのため、例えば本発明の第２のエントリ格納領域を該当ファイルのＮａｍｅｄ  Ｓｔｒｅａｍの情報を格納するために使用することも可能である。これにより、このようなファイルのメタデータも高速に記録することが可能となる。
【０１２８】
また、図１３のＳ１３０１において、エントリ位置情報設定の処理をファイルデータ記録に先立ち予め実施する方法について説明したが、Ｓ１３０４の処理等、実際にディレクトリエントリを書き込む際にアクセスモジュール１から情報記録モジュール２にエントリ位置情報を通知するようにしても良い。
【０１２９】
また、図１４のデータ書き込み処理手順においては、ブロック内全てが空き領域であるブロックのみを取得して、書き込み対象のブロックとしていたが、特許文献１に開示されているように、所定の閾値以上の空き領域を含むブロックを書き込み対象のブロックとしても良い。
【０１３０】
また、図１９では、ＦＡＴ（３０５、３０６）が４ページから構成され、更新時には全てのＦＡＴ（３０５、３０６）を一度に更新する場合の例について説明したが、必ずしもＦＡＴ（３０５、３０６）全体を更新する必要はなく、ファイルデータ書き込みに伴い変更された、ＦＡＴ（３０５、３０６）上の一部の領域のみを更新するようにしても良い。
【０１３１】
［他の実施形態］
なお、上記実施形態で説明したアクセスモジュール（アクセス装置）、情報記録モジュール（情報記録装置）において、各ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されても良いし、一部又は全部を含むように１チップ化されても良い。
【０１３２】
なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１３３】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０１３４】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
【０１３５】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。）により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係るアクセスモジュール（アクセス装置）、情報記録モジュール（情報記録装置）をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
【０１３６】
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
【０１３７】
また、上記実施形態において、アクセスモジュール（アクセス装置）と情報記録モジュール（情報記録装置）とは、別装置（別モジュール）である場合について説明したが、これに限定されることはなく、アクセスモジュール（アクセス装置）と情報記録モジュール（情報記録装置）とは、１つの装置内に構成されるものであってもよい。
【産業上の利用可能性】
【０１３８】
本発明に関わるアクセスモジュールは、ディレクトリエントリの格納位置に関する情報を情報記録モジュールに通知するアドレス管理情報設定処理部と、ファイル終端等の半端データを書き込む際にファイルデータをパディングして情報記録モジュールに書き込むデータ整形処理部とを含む。また、本発明の情報記録モジュールは、アクセスモジュールにより書き込みが指示されたデータの種別に応じて格納先、及び格納方法を変更するエントリ格納制御部、ＦＡＴ格納制御部、及びユーザデータ格納制御部を含む。これらアクセスモジュールと情報記録モジュールとを組み合わせることにより、複数のファイルを並行して記録する場合において、情報記録モジュール内で生じる無駄なコピー処理を削減して記録速度の低下を防止し、高速に安定して情報記録モジュールにファイルデータを書き込むことが可能となる。このようなアクセスモジュールは、音楽や静止画、動画等のデジタルコンテンツを取り扱う機器、とりわけコンテンツデータをリアルタイムに情報記録モジュールに記録する必要がある機器、及び動画ファイルと静止画ファイル等の複数ファイルを同時に記録する機器に最適であり、ＰＣアプリケーション、オーディオレコーダ、ＤＶＤレコーダ、ＨＤＤレコーダ、ムービー、デジタルスチルカメラ、携帯電話端末等として利用することができる。また、本発明の情報記録モジュールは、上記デジタルコンテンツ等を格納するメモリカード等のリムーバブルメディア、あるいは内蔵記録装置等として利用することができる。
【符号の説明】
【０１３９】
１  アクセスモジュール
２  情報記録モジュール
１１，２１２  ＣＰＵ
１２，２１３  ＲＡＭ
１３  情報記録モジュールインタフェース
１４，２１４  ＲＯＭ
２１  コントローラ
２２  不揮発性メモリ
１０１  アプリケーション制御部
１０２  ファイルシステム制御部
１０３  情報記録モジュールアクセス部
１０４  アドレス管理情報設定処理部
１０５  データ整形処理部
２１１  アクセスモジュールインタフェース
２１５  不揮発性メモリインタフェース
２１６  アドレス管理情報
２１７  エントリ格納制御部
２１８  ＦＡＴ格納制御部
２１９  ユーザデータ格納制御部
２２１  エントリ格納領域
２２２  ＦＡＴ格納領域
２２３  ユーザデータ格納領域
２２４  第１のエントリ格納領域
２２５  第２のエントリ格納領域
２２６  一時ブロック領域
３０１  ファイルシステム管理情報領域
３０２  ユーザデータ領域
３０３  マスターブートレコード・パーティションテーブル
３０４  パーティションブートセクタ
３０５，３０６  ＦＡＴ
３０７  ルートディレクトリエントリ
３０８  ディレクトリエントリ
４０１  データ種別情報
４０２  一時ブロック情報
４０３  アドレス変換情報
４１１  第１エントリ位置情報
４１２  第２エントリ位置情報
４１３  ＦＡＴ位置情報
【図１】
0005485163.tif 000002
【図２】
0005485163.tif 000003
【図３】
0005485163.tif 000004
【図４】
0005485163.tif 000005
【図５】
0005485163.tif 000006
【図６】
0005485163.tif 000007
【図７】
0005485163.tif 000008
【図８】
0005485163.tif 000009
【図９】
0005485163.tif 000010
【図１０】
0005485163.tif 000011
【図１１】
0005485163.tif 000012
【図１２】
0005485163.tif 000013
【図１３】
0005485163.tif 000014
【図１４】
0005485163.tif 000015
【図１５】
0005485163.tif 000016
【図１６】
0005485163.tif 000017
【図１７】
0005485163.tif 000018
【図１８】
0005485163.tif 000019
【図１９】
0005485163.tif 000020
【図２０】
0005485163.tif 000021
【図２１】
0005485163.tif 000022
【図２２】
0005485163.tif 000023