(57)【要約】情報記録装置の不揮発性メモリをＦＡＴ型ファイルシステムにより領域管理し、且つ循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、循環シフト型チェックサムの再計算を効率的に行い、且つシーク処理を高速化する。情報記録装置２の不揮発性メモリ（２５）をＦＡＴ型ファイルシステムで管理し、１つのファイルに複数のディレクトリエントリを割り当てる。更にその複数のディレクトリエントリの信頼性を循環シフト型チェックサムにより高め、ファイルデータの格納領域の位置と大きさを示す情報をエクステント情報エントリ（２０３）により管理する。更に、更新情報エントリ（２０４）とダミーエントリ（２０５）を使用する。
2009122743.tif 000002
【特許請求の範囲】
【請求項１】
ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、
前記ファイルデータを固定長ブロック単位で管理し、１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイルシステム制御部
を備え、
前記ファイルシステム制御部は、
前記エクステント情報エントリを、前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納する、
アクセス装置。
【請求項２】
前記エントリ群は、
前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む、
請求項１に記載のアクセス装置。
【請求項３】
前記ファイルシステム制御部は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリを、前記エクステント領域に追加する、
請求項２に記載のアクセス装置。
【請求項４】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと同一バイト長である、
請求項３に記載のアクセス装置。
【請求項５】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと異なるバイト長である、
請求項３に記載のアクセス装置。
【請求項６】
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
請求項１から５のいずれかに記載のアクセス装置。
【請求項７】
前記ファイルシステム制御部は、
ファイルにアクセスする場合、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含むときは、前記エクステント領域指定エントリおよび前記エクステント領域用エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行う拡張ファイル処理部と、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う通常ファイル処理部と、
備える、
請求項１から６のいずれかに記載のアクセス装置。
【請求項８】
ファイルデータを格納する不揮発性メモリを含む情報記録装置であって、
前記ファイルデータを、固定長ブロック単位で管理し、
前記不揮発性メモリには、
１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
前記エクステント情報エントリは、
前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納される、
情報記録装置。
【請求項９】
前記エントリ群は、
前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む、
請求項８に記載の情報記録装置。
【請求項１０】
前記エクステント領域は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリが追加される構成である、
請求項９に記載の情報記録装置。
【請求項１１】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと同一バイト長である、
請求項１０に記載の情報記録装置。
【請求項１２】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと異なるバイト長である、
請求項１０に記載の情報記録装置。
【請求項１３】
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
請求項８から１２のいずれかに記載に記載の情報記録装置。
【請求項１４】
ファイルデータを格納する不揮発性メモリを含む情報記録装置と、前記情報記録装置にアクセスするアクセス装置と、備える情報記録システムであって、
前記ファイルデータを、固定長ブロック単位で管理し、
前記不揮発性メモリには、
１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
前記アクセス装置は、
前記不揮発性メモリ内に格納された情報を用いて前記不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部
を備え、
前記エクステント情報エントリは、
前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納される、
情報記録システム。
【請求項１５】
請求項１から７のいずれかに記載のアクセス装置と、
請求項８から１３のいずれかに記載の情報記録装置と、
を備える情報記録システム。
【請求項１６】
ファイルデータを格納する不揮発性メモリを用いるファイル管理方法であって、
前記ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報を内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイル管理方法であって、
前記エクステント情報エントリを、前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納する、
ファイル管理方法。
【請求項１７】
請求項１６に記載のファイル管理方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを不揮発性メモリに格納し、ファイルとして管理するアクセスモジュール（アクセス装置）、情報記録モジュール（情報記録装置）、情報記録システム、ファイル管理方法、およびプログラムに関する。
【背景技術】
【０００２】
音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の内、記録素子にＦｌａｓｈＲＯＭ等の半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、ＦｌａｓｈＲＯＭ等の半導体メモリを機器に内蔵してハードディスクの代わりに使用するなど、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。
このようなメモリカードや機器内蔵ストレージには、主にＮＡＮＤ型フラッシュメモリと呼ばれる半導体素子が使用されている。ＮＡＮＤ型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子であり、従来のハードディスクと同様に、複数回書き換え可能な情報記録装置を構成することが可能である。【０００３】
従来、メモリカードや機器内蔵ストレージに格納されたデータは、ファイルシステムにより管理されている。データをファイルシステムにより管理することで、同一のファイルシステムを解釈する機器間でデータをファイルとして共有することが可能となり、ユーザは自分の格納したデータを複数の機器間で容易に参照したり、コピーしたりすることが可能となる。
従来最も広く使用されているファイルシステムは、「ＦＡＴファイルシステム」と呼ばれるものである。ＦＡＴファイルシステムは、領域管理をファイルアロケーションテーブル（ＦＡＴ）と呼ばれるテーブルで一元管理するという特徴を持っており、比較的構造がシンプルで実装が容易なことから、フレキシブルディスクやＰＣのハードディスク、メモリカードなどのファイルシステムとして広く使用されている。【０００４】
図２に、ＦＡＴファイルシステムの構成を示す。
ＦＡＴファイルシステムでは、ファイルアロケーションテーブル内の管理単位のビット幅の違いにより、ＦＡＴ１２、ＦＡＴ１６、ＦＡＴ３２などの種類が存在するが、ファイルアロケーションテーブルによる領域管理方法はほぼ同じであり、以下では、ＦＡＴ１６を例に説明する。
図２に示すように、論理アドレス空間の先頭には、領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域３０１が存在する。
このファイルシステム管理情報領域３０１には、マスターブートレコード・パーティションテーブル３０３、パーティションブートセクタ３０４、ＦＡＴ（３０５、３０６）、ルートディレクトリエントリ３０７と呼ばれるファイルシステムの管理情報が含まれ、ユーザデータ領域３０２を管理するために必要な情報が各々格納されている。【０００５】
マスターブートレコード・パーティションテーブル３０３は、ファイルシステムが管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。
パーティションブートセクタ３０４は、パーティション内の領域管理単位の大きさなど、１つのパーティション内の管理情報が格納される領域である。
ＦＡＴ（３０５、３０６）は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ２つのＦＡＴ（３０５、３０６）が存在し、一方のＦＡＴ（３０５、３０６）が破損したとしても他方のＦＡＴ（３０５、３０６）によりファイルにアクセスできるよう二重化されている。
ルートディレクトリエントリ３０７は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報（ディレクトリエントリ）が格納される領域である。【０００６】
また、ＦＡＴファイルシステムでは、このファイルシステム管理情報領域３０１に引き続く領域にファイル本体のデータなどを格納するユーザデータ領域３０２が存在する。
ユーザデータ領域３０２は、５１２バイトから数十ＫＢ程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタには、ファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、ＦＡＴ（３０５、３０６）に格納されたリンク情報により管理されている。
また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報（ディレクトリエントリ）は、このユーザデータ領域３０２の一部を利用して格納される。【０００７】
図３は、ＦＡＴ１６のディレクトリエントリの構成を示した図である。
ディレクトリエントリ３０８は、１つのファイル、ディレクトリ毎に３２バイトのディレクトリエントリ３０８が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、１つのファイルやディレクトリが追加される度に３２バイトのディレクトリエントリ３０８の情報が新規に作成され、ルートディレクトリエントリ３０７の領域、あるいはユーザデータ領域３０２に記録される。
ディレクトリエントリ３０８の先頭８バイトには、ファイルやディレクトリの名称が格納される。
続く３バイトには拡張子が格納される。
続く１バイトには、ファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。【０００８】
また、ディレクトリエントリ３０８には、ファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。
このように、ディレクトリエントリ３０８には、データ実体が格納されている領域の最初の１クラスタの位置を示す情報しか含まれておらず、データ実体の大きさが１クラスタよりも大きい場合において２クラスタ目以降のデータがどの領域に格納されているかについては、ＦＡＴ（３０５、３０６）で管理されている。
図４は、ＦＡＴ１６のＦＡＴ（３０５、３０６）の構成を示した図である。
ＦＡＴ１６では、ＦＡＴ（３０５、３０６）は２バイト（１６ビット）の情報を１つのＦＡＴエントリとして管理しており、１つのＦＡＴエントリが１つのクラスタの状態を示している。すなわち、ユーザデータ領域３０２にＭ個のクラスタが存在する場合、ＦＡＴエントリもＭ個存在することから、ＦＡＴ（３０５、３０６）の１つ分の大きさは約２×Ｍバイトとなる。但し、先頭の２つのＦＡＴエントリ分は、ＦＡＴの先頭を示す固定の値（０ｘＦ８ＦＦ、０ｘＦＦＦＦ）がシグネチャとして記録されるため、ユーザデータ領域３０２の先頭クラスタに対応するＦＡＴエントリは、ＦＡＴ（３０５、３０６）の４バイト目、５バイト目の２バイトに存在している。ＦＡＴ先頭に存在する４バイトのシグネチャをＦＡＴエントリの０番、１番とすると、４バイト目および５バイト目の２バイトの位置は２番目になることから、ユーザデータ領域３０２の先頭クラスタは、便宜上クラスタ番号＝“２”と割り当てられており、クラスタ番号＝“０”、“１”に対応するクラスタは存在しないことになっている。【０００９】
更に、各ＦＡＴエントリは、各々対応するクラスタの状態（使用中、空き、欠陥）、及びリンク先のクラスタ番号を示す。例えば、図４において、対応クラスタ番号２のＦＡＴエントリは０ｘ０００３（十進数では“３”）に設定されており、クラスタ番号２のクラスタ内に格納されたデータの続きのデータは、クラスタ番号３のクラスタ内に格納されていることを意味する。同様に、対応クラスタ番号３のＦＡＴエントリは０ｘ０００４（十進数では“４”）に設定されており、クラスタ番号３のクラスタ内に格納されたデータの続きのデータは、クラスタ番号４のクラスタ内に格納されていることを意味する。また、対応クラスタ番号６のＦＡＴエントリは、０ｘＦＦＦＦに設定されている。これは、次のリンク先が存在せず、リンクが終端していることを意味する。よって、図４の例では、クラスタ番号２、３、４、５、６の順に一連のファイルデータが格納されていることになる。【００１０】
また、対応クラスタ番号７のＦＡＴエントリは、０ｘ００００に設定されている。これは、対応するクラスタが使用されておらず、“空き”の状態であることを意味する。
また、対応クラスタ番号（Ｍ＋１）のＦＡＴエントリは、０ｘＦＦＦ７に設定されている。これは、対応するクラスタが物理的に壊れていて記録が出来ない状態である等の欠陥状態であることを意味する。
まとめると、０ｘ００００、０ｘＦＦＦＦ、０ｘＦＦＦ７の３つのＦＡＴエントリ値は各々特殊な意味を持ち、０ｘ０００２から０ｘＦＦＦ６までのＦＡＴエントリ値がリンク先クラスタ番号として使用されることになる。また、それ以外の０ｘ０００１、０ｘＦＦＦ８から０ｘＦＦＦＥまでの値は予約されており、通常は使用されない値になっている。
このように、ＦＡＴファイルシステムでは、ファイルデータが複数のクラスタに跨って格納されている場合、各クラスタ間のリンク関係をＦＡＴエントリの値に格納し管理している。よって、ファイルデータを先頭から順に終端まで読み出す場合、クラスタ境界に来る度にＦＡＴ（３０５、３０６）を参照し、次のリンク先のクラスタ番号を特定する必要がある。【００１１】
同様に、ＦＡＴファイルシステムを用いる情報記録システムにおいて、ファイル内の任意の位置を読み出すためにシーク処理を行う場合、ＦＡＴ（３０５、３０６）を参照してシークサイズ分のクラスタ数だけリンクを辿り所望のデータが格納されているクラスタ番号を特定する必要がある。そのため、シーク処理は、ファイルサイズに比例して処理時間が長くなることになる。ここで、１ＧＢのファイルを１６ＫＢクラスタ単位で管理している場合を想定すると、リンクを辿る回数は、約６５０００回となり、比較的低速なＣＰＵを使用した場合等では、シーク処理に数秒かかる場合もある。更に、ＦＡＴ（３０５、３０６）では、ファイルの順方向のリンク情報しか保持していないため、ファイルの前方に向かってシークする場合には、再度ファイルの先頭からシーク処理をやり直す必要があり、高速にシークできないという問題が生じる。【００１２】
従来、このような問題を解決する方法として、該当ファイルのディレクトリエントリ３０８の直後にファイルデータ格納領域の位置情報を格納する方法が提案されている（例えば、特許文献１参照）。
この方法では、該当ファイルのディレクトリエントリ３０８をディレクトリ領域内の任意のクラスタにおける先頭位置に格納し、そのクラスタ内の残りの領域には、全て消去済みディレクトリエントリを格納する。
更に、それら消去済みディレクトリエントリ内に、該当ファイルのデータが格納された領域の開始位置と終了位置とを示す情報（ＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）アクセス情報）を複数格納する。
このように、ＬＢＡアクセス情報を格納しておくことで、ファイルのシーク処理を実施する際にはＦＡＴを参照せず、ＬＢＡアクセス情報のみを参照して処理を実施することにより、シーク処理を高速化することが可能となる。【００１３】
しかしながら、この方法は、ＬＢＡアクセス情報を格納する領域として、消去済みディレクトリエントリを使用しているため、ＬＢＡアクセス情報の存在を知らない従来のＦＡＴ型ファイルシステムのみを解釈する機器でファイルやディレクトリが作成された場合、ＬＢＡアクセス情報を格納して消去済みディレクトリエントリを再利用する可能性があり、ＬＡＢアクセス情報が破壊される可能性がある。
一方、ＦＡＴ型ファイルシステムでは、図３に示すようなディレクトリエントリ３０８の構造が採用されており、予約フィールドも実際には、タイムスタンプの情報を格納する領域等に使用されるため、十分な予約フィールドが存在していない。このため、ＦＡＴ型ファイルシステムは、拡張性に乏しいファイルシステムとなっている。従来、このような問題を解決する方法として、拡張ファイルシステムフォーマットによる方法が提案されている（例えば、特許文献２参照）。【００１４】
この方法では、ディレクトリエントリの先頭１バイトにディレクトリエントリの種別を示す“タイプ”を格納するフィールドを設けることにより、１次ディレクトリエントリや２次ディレクトリエントリ等、種々のディレクトリエントリを規定し、ファイルシステムの拡張性を高めている。
上記で説明した２つの技術を組み合わせ、ファイルデータ格納領域の位置を示す情報を格納する特殊なディレクトリエントリを“タイプ”により規定し、ファイルを示すディレクトリエントリの付加情報として格納できるようにすることにより、この特殊なディレクトリエントリを解釈しない従来の機器でファイルデータ格納領域の位置を示す情報が破壊されることを防止することが可能となる。
この場合、１つのファイルに対して複数のディレクトリエントリが割り当てられるため、ディレクトリエントリ間の整合性を確保し、信頼性を高める仕組みが必要となる。その１つの仕組みとして、例えば、Ｕｎｉｘ（登録商標）系オペレーティングシステムで“ｓｕｍ”コマンドとして実装されているような循環シフト型チェックサムを用いることが考えられる。【００１５】
図５は、循環シフト型チェックサムの算出手順を示したフローチャートである。
循環シフト型チェックサムは、算出対象となるデータを単純に加算するだけではなく、加算する度に１ビット分、値を循環シフトさせる。このように循環シフトさせることにより、算出対象データの順序が入れ替わった場合でも誤りを検出できるようになり、信頼性を高めることが可能となる。
１つのファイルに対して割り当てられた全てのディレクトリエントリ領域を算出対象データとして、循環シフト型チェックサムを算出し、ディレクトリエントリ内の特定のフィールドに格納することにより、ディレクトリエントリの破損を検出し、信頼性を高めることが可能となる。
【特許文献１】特開２００６−１７８６３２号公報
【特許文献２】特開２００６−１７２４８５号公報
【発明の開示】
【００１６】
（発明が解決しようとする課題）
しかしながら、上記の技術には、次のような問題点がある。
すなわち、上記の方法では、ファイルを追記して、ファイルデータ格納領域が追加される度にファイルデータ格納領域の位置を示す情報を追加する必要がある。
更に、ファイルサイズやタイムスタンプ等、ファイルを追記する際に変化する情報も更新する必要がある。これらの情報は、全て１つのファイルに割り当てられた一連のディレクトリエントリ群の中に含まれるものであるが、先の循環シフト型チェックサムをディレクトリエントリ内に含む場合、チェックサム算出値がデータの並び順に依存することから、１バイトでも情報が変化した場合、算出対象データを全て参照し直してチェックサムを再計算する必要がある。
【００１７】
特に、ファイルサイズが大きくなり、ファイルデータ格納領域の位置を示す情報が増加するに従い、再計算時に参照すべきデータ量が増加し、チェックサム再計算処理にかかるオーバーヘッドが大きくなるという問題が生じる。
本発明では、上記問題点に鑑み、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサムの再計算を効率的に行い、かつ、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現するファイルシステムを扱うアクセスモジュール、情報記録モジュール、及び情報記録システムを提供することを目的とする。
（課題を解決するための手段）
第１の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、用いてファイルの管理を行うファイルシステム制御部を備える。
【００１８】
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理し、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
そして、ファイルシステム制御部は、エクステント情報エントリを、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納する。
このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
【００１９】
したがって、このアクセス装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、このアクセス装置では、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
さらに、このアクセス装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
さらに、このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理（演算処理）を高速化することができる。
【００２０】
なお、「アクセス装置」は、アクセスモジュールを含む概念である。
第２の発明は、第１の発明であって、エントリ群は、エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む。
これにより、このアクセス装置では、例えば、エクステント領域指定エントリを含みエクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、エクステント領域指定エントリを含まない通常ファイル（拡張ファイル以外のファイル）とを効率良く管理（アクセス）することができる。
第３の発明は、第２の発明であって、ファイルシステム制御部は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリを、エクステント領域に追加する。
【００２１】
第４の発明は、第３の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと同一バイト長である。
第５の発明は、第３の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと異なるバイト長である。
第６の発明は、第１から第５のいずれかの発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
第７の発明は、第１から第６のいずれかの発明であって、拡張ファイル処理部と、通常ファイル処理部と、を備える。
ファイルにアクセスする場合、拡張ファイル処理部は、ファイルに対応するエントリ群がエクステント領域指定エントリを含むときは、エクステント領域指定エントリおよびエクステント領域用エクステント情報エントリに基づいて、ファイルに対するアクセス制御を行う。
【００２２】
ファイルにアクセスする場合、通常ファイル処理部は、ファイルに対応するエントリ群がエクステント領域指定エントリを含まないときは、ファイルアロケーションテーブルに基づいて、ファイルに対するアクセス制御を行う。
第８の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置である。不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
ファイルデータは、固定長ブロック単位で管理されている。
エクステント情報エントリは、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
【００２３】
そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
この情報記録装置では、例えば、アクセス装置から制御されることで、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、この情報記録装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録装置を用いることで、エクステント情報エントリによりファイル管理を行うことができ、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【００２４】
さらに、この情報記録装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、この情報記録装置が扱うファイルシステムの信頼性を高めることも可能となる。
さらに、この情報記録装置では、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理（演算処理）を高速化することができる。
なお、「情報記録装置」は、情報記録モジュールを含む概念である。 
【００２５】
第９の発明は、第８の発明であって、エントリ群は、エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む。
第１０の発明は、第９の発明であって、エクステント領域は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリが追加される構成である。
第１１の発明は、第１０の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと同一バイト長である。
第１２の発明は、第１０の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと異なるバイト長である。
第１３の発明は、第８から第１２のいずれかの発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
【００２６】
第１４の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置と、情報記録装置にアクセスするアクセス装置と、備える情報記録システムである。
ファイルデータは、固定長ブロック単位で管理されており、不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
エクステント情報エントリは、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
【００２７】
アクセス装置は、不揮発性メモリ内に格納された情報を用いて不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える。
そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
この情報記録システムでは、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、この情報記録システムでは、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録システムでは、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【００２８】
さらに、この情報記録システムでは、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
さらに、この情報記録システムでは、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理（演算処理）を高速化することができる。
第１５の発明は、第１から第７のいずれかの発明であるアクセス装置と、第８から第１３のいずれかの発明である情報記録装置と、を備える情報記録システムである。
【００２９】
第１６の発明は、ファイルデータを格納する不揮発性メモリを用いるファイル管理方法である。このファイル管理方法は、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を用いて、ファイルの管理を行う。
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。
【００３０】
そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
このファイル管理方法では、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、このファイル管理方法では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、このファイル管理方法では、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
さらに、このファイル管理方法では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このファイル管理方法が扱うファイルシステムの信頼性を高めることも可能となる。
【００３１】
さらに、このファイル管理方法では、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理（演算処理）を高速化することができる。
第１７の発明は、第１６の発明であるファイル管理方法をコンピュータに実行させるプログラムである。
これにより、第１６の発明と同様の効果を奏するプログラムを実現することができる。
（発明の効果）
本発明によれば、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサムの再計算を効率的に行い、且つ、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することが可能となる。
【図面の簡単な説明】
【００３２】
【図１】第１実施形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図
【図２】ＦＡＴ型ファイルシステムの構成を示した説明図
【図３】ディレクトリエントリの構成を示した説明図
【図４】ＦＡＴの一例を示した説明図
【図５】循環シフト型チェックサムの算出処理を示したフローチャート
【図６】第１実施形態における基本エントリの構成を示した説明図
【図７】第１実施形態における名称エントリの構成を示した説明図
【図８】第１実施形態におけるエクステント情報エントリの構成を示した説明図
【図９】第１実施形態における更新情報エントリの構成を示した説明図
【図１０】第１実施形態におけるダミーエントリの構成を示した説明図
【図１１】第１実施形態における通常ファイルのエントリシーケンスの一例を示した説明図
【図１２】第１実施形態における拡張ファイルのエントリシーケンスの一例を示した説明図
【図１３】第１実施形態におけるファイルデータ書き込み処理手順を示したフローチャート
【図１４】第１実施形態における拡張ファイルのエントリシーケンスの更新例を示した説明図
【図１５】第１実施形態における接続エントリの構成を示した説明図
【図１６】第１実施形態における拡張ファイルのエントリシーケンスの別の一例を示した説明図
【図１７】第２実施形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図
【図１８】第２実施形態におけるエクステント領域指定エントリの構成を示した説明図
【図１９】第２実施形態におけるファイルデータ書き込み処理手順を示したフローチャート
【符号の説明】
【００３３】
１０００、２０００  情報記録システム
１  アクセスモジュール
２  情報記録モジュール
１１，２２  ＣＰＵ
１２，２３  ＲＡＭ
１３  情報記録モジュールインタフェース
１４，２４  ＲＯＭ
２１  アクセスモジュールインタフェース
２５  不揮発性メモリ
２６  ＦＡＴ型ファイルシステム
２７  エントリシーケンス
２８  エクステント領域
１０１  アプリケーション制御部
１０２  ファイルシステム制御部
１０３  通常ファイル処理部
１０４  拡張ファイル処理部
１０５  情報記録モジュールアクセス部
２０１  基本エントリ
２０２  名称エントリ
２０３  エクステント情報エントリ
２０４  更新情報エントリ
２０５  ダミーエントリ
２０６  接続エントリ
２０７  エクステント領域指定エントリ
３０１  ファイルシステム管理情報領域
３０２  ユーザデータ領域
３０３  マスターブートレコード・パーティションテーブル
３０４  パーティションブートセクタ
３０５，３０６  ＦＡＴ
３０７  ルートディレクトリエントリ
３０８  ディレクトリエントリ
【発明を実施するための最良の形態】
【００３４】
以下、本発明のアクセスモジュール、情報記録モジュール、及び情報記録システムについて、図面を参照しつつ説明する。
［第１実施形態］
図１は、本発明の第１実施形態に係る情報記録システム１０００の構成図である。図１に示すように、情報記録システム１０００は、アクセスモジュール１と、情報記録モジュール２と、を備える。
＜１．１：アクセスモジュールの構成＞
図１に示すように、アクセスモジュール１は、ＣＰＵ１１、ＲＡＭ１２、情報記録モジュールインタフェース１３、ＲＯＭ１４を含む。
ＲＯＭ１４には、アクセスモジュール１を制御するプログラムが格納されており、このプログラムは、ＲＡＭ１２を一時記憶領域として使用し、ＣＰＵ１１上で動作する。【００３５】
情報記録モジュールインタフェース１３は、情報記録モジュール２とアクセスモジュール１との接続部であり、制御信号及びデータの送受信を行う。
ＲＯＭ１４は、更に、アプリケーション制御部１０１、ファイルシステム制御部１０２、情報記録モジュールアクセス部１０５を含む。
アプリケーション制御部１０１は、データの生成や電源の制御などアクセスモジュール１全体の制御を行う。
ファイルシステム制御部１０２は、ファイルシステムによりデータをファイルとして管理するための制御を行う。
情報記録モジュールアクセス部１０５は、ファイルシステム制御部１０２からデータと共にサイズとアドレスとを渡され、指定されたサイズのデータを情報記録モジュール２の記録領域内における指定された位置に記録するなど、情報記録モジュール２に対するコマンドやデータの送受信を制御する。【００３６】
ファイルシステム制御部１０２は、更に、通常ファイル処理部１０３、拡張ファイル処理部１０４を含む。
通常ファイル処理部１０３は、ＦＡＴ（３０５、３０６）により領域管理される比較的小さなサイズのファイルにアクセスする処理を行う処理部である。
拡張ファイル処理部１０４は、本発明の特徴を示す処理部であり、本発明で規定するエクステント情報エントリ２０３により領域管理される比較的大きなサイズのファイルにアクセスする処理を行う処理部である。
＜１．２：情報記録モジュールの構成＞
一方、図１において、情報記録モジュール２は、アクセスモジュールインタフェース２１、ＣＰＵ２２、ＲＡＭ２３、ＲＯＭ２４、不揮発性メモリ２５を含む。【００３７】
アクセスモジュールインタフェース２１は、情報記録モジュール２とアクセスモジュール１との接続部であり、情報記録モジュールインタフェース１３同様、制御信号及びデータを送受信するインタフェースである。
ＲＯＭ２４には、情報記録モジュール２を制御するプログラムが格納されており、このプログラムはＲＡＭ２３を一時記憶領域として使用し、ＣＰＵ２２上で動作する。
不揮発性メモリ２５は、アクセスモジュール１から送信されたデータを記録する領域であり、不揮発性メモリ２５において、記録・再生・保持等されるデータは、ＦＡＴ型ファイルシステム２６により管理されている。すなわち、不揮発性メモリ２５内の論理アドレス空間は、図２で示した構成を一例とするＦＡＴ型ファイルシステム２６によるアドレス空間であり、不揮発性メモリ２５に、記録（書き込み）・再生（読み出し）・保持等されるデータは、図２で示した構成を一例とするＦＡＴ型ファイルシステム２６により定義されるデータ構造を有している。すなわち、不揮発性メモリ２５の記録領域は、クラスタ単位に分割され、ＦＡＴ（３０５、３０６）を用いて管理されており、ファイルやディレクトリの名称やサイズ等の情報は、ディレクトリエントリを用いて管理されている。【００３８】
本発明では、特許文献２で開示されている拡張ファイルシステムと同様に、ディレクトリエントリ内のタイプフィールドにより種々のディレクトリエントリを規定できる場合を想定している。また、本発明では、１つのファイルに対して複数のディレクトリエントリを割り当て、該当ファイルに関する情報を格納する。
本発明では、これら一連のディレクトリエントリ群を「エントリシーケンス２７」と呼ぶ。
（１．２．１：エントリシーケンス）
図１の不揮発性メモリ２５内には、エントリシーケンス２７の一例が示されている。
図１に示すように、このエントリシーケンス２７は、基本エントリ２０１、名称エントリ２０２、エクステント情報エントリ２０３、更新情報エントリ２０４、ダミーエントリ２０５から構成されている。【００３９】
各エントリの詳細は後述するが、情報記録システム１０００では、エントリシーケンス内にファイルデータ格納領域の位置と大きさの情報を含むエクステント情報エントリ２０３を１つ以上含ませることにより、シーク処理を高速化する。
更に、情報記録システム１０００では、更新情報エントリ２０４、ダミーエントリ２０５を用いることにより、循環シフト型チェックサムを高速に算出することを実現している。
このように情報記録システム１０００では、拡張ファイル処理部１０４で、エクステント情報エントリ２０３、更新情報エントリ２０４、ダミーエントリ２０５を用いたファイル管理を行う。これにより、情報記録システム１０００では、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサム再計算を効率的に行い、かつ、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現する。【００４０】
（１．２．２：各ディレクトリエントリの詳細）
続いて、本発明の第１実施形態における、各ディレクトリエントリの詳細について説明する。本発明の第１実施形態では、ディレクトリエントリは、全て３２バイトの固定長である場合を想定している。
各ディレクトリエントリは、先頭１バイトに「タイプフィールド」を持ち、そのフィールドに設定される値に応じて種々のディレクトリエントリが定義される。
本実施形態（情報記録システム１０００）では、
（１）基本エントリ２０１、
（２）名称エントリ２０２、
（３）エクステント情報エントリ２０３、
（４）更新情報エントリ２０４、
（５）ダミーエントリ２０５、
の５種類のディレクトリエントリが存在する。【００４１】
上記５種類のディレクトリエントリについて、図６〜図１０を用いて、以下、説明する。なお、図６〜図１０に示した図（表）において、「オフセット」欄および「サイズ」欄の単位は、バイトであり、上記５種類のディレクトリエントリは、３２バイトの固定長であるものとする。
≪（１）基本エントリ２０１≫
図６は、基本エントリ２０１の構成を示す図である。
基本エントリ２０１は、ファイルの基本的な情報を格納するディレクトリエントリであり、全てのファイルのエントリシーケンス２７に必ず１つずつ含まれるディレクトリエントリである。
“タイプ”フィールドは、基本エントリ２０１であることを示す固定値を格納するフィールドである。【００４２】
“２次エントリの個数”フィールドは、基本エントリ２０１に後続する２次エントリの個数を格納するフィールドである。例えば、本フィールドに“１０”が格納されていた場合、該当ファイルに対応するエントリシーケンス２７は、基本エントリも含めて１１個のディレクトリエントリから構成されていることになる。
“チェックサム”フィールドは、該当エントリシーケンス２７の循環シフト型チェックサムの値を格納するフィールドである。本フィールドを設けることにより、１つのファイルに複数のディレクトリエントリを割り当てた場合においてもディレクトリエントリ間の不整合を検出し、ファイルシステムの信頼性を高めることが可能となる。
例えば、１つのファイルに複数のディレクトリエントリを割り当てる拡張ＦＡＴファイルシステムにおいて、当該複数のディレクトリエントリのデータが、不揮発性メモリ２５の２つのセクタ（または２つのクラスタ）に跨るデータ（セクタ境界のデータ（またはクラスタ境界のデータ））である場合を考える。この場合において、当該複数のディレクトリエントリのデータを不揮発性メモリ２５に書き込んでいるときに、一方のセクタ（あるいはクラスタ）でデータ書き込みを完了し、その後、もう一方のセクタ（あるいはクラスタ）にデータ書き込みが完了しない間に、例えば、電源ＯＦＦ等の事由によりデータ書き込み処理が中断された場合、当該ディレクトリエントリ間の整合がとれないことになる。このような場合、”チェックサム”フィールドのチェックサムにより、ディレクトリエントリ間の不整合を検出することができるので、ファイルシステムの信頼性を高めることができる。【００４３】
なお、循環シフト型チェックサムを算出する際には、本フィールド（“チェックサム”フィールド）自体は処理に含めないものとする。
“属性”フィールドは、読み取り専用属性やシステムファイル属性等のファイル属性を格納するフィールドである。
“タイムスタンプ”フィールドは、ファイルの作成日時や更新日時等のタイムスタンプを格納するフィールドである。
“タイムゾーン”フィールドは、タイムスタンプが設定された時点のタイムゾーンを格納するフィールドである。
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は０ｘ００を格納する。【００４４】
“開始クラスタ番号”フィールドは、ファイルデータを格納している領域の先頭クラスタ番号を格納するフィールドである。
“ファイルサイズ”フィールドは、ファイルのサイズを格納するフィールドである。
≪（２）名称エントリ２０２≫
図７は、名称エントリ２０２の構成を示す図である。
名称エントリ２０２は、ファイルの名称を格納するディレクトリエントリであり、基本エントリ２０１同様、全てのファイルのエントリシーケンス２７に必ず１つずつ含まれるディレクトリエントリである。
“タイプ”フィールドは、名称エントリ２０２であることを示す固定値を格納するフィールドである。【００４５】
“ファイル名長”フィールドは、ファイル名の長さを格納するフィールドである。
“名前ハッシュ”フィールドは、ファイル名のハッシュ値を格納するフィールドである。
“ファイル名”フィールドは、ファイルの名称を格納するフィールドである。
≪（３）エクステント情報エントリ２０３≫
図８は、エクステント情報エントリ２０３の構成を示す図である。
エクステント情報エントリ２０３は、ファイルデータ格納領域の位置と大きさを示す情報を格納するディレクトリエントリであり、ファイルにより本エントリが存在する場合と存在しない場合があり得る。
１つのエクステント情報エントリ２０３は、１つの連続領域に関する情報を格納するため、ファイルが複数の連続領域から構成されている場合には、複数のエクステント情報エントリ２０３がエントリシーケンス２７に含まれることになる。エクステント情報エントリ２０３は、連続領域の位置と大きさを示す情報を格納するため、連続領域が大きくても３２バイトの固定長ディレクトリエントリで位置情報を管理することができる。そのため、ファイルをシークする場合には、ＦＡＴ（３０５、３０６）を参照せず、エクステント情報エントリ２０３を参照することにより、シーク処理を高速化することが可能となる。【００４６】
“タイプ”フィールドは、エクステント情報エントリ２０３であることを示す固定値を格納するフィールドである。
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は０ｘ００を格納する。
“開始クラスタ番号”フィールドは、連続領域の先頭クラスタ番号を格納するフィールドである。
“連続領域サイズ”フィールドは、連続領域の大きさを格納するフィールドである。
≪（４）更新情報エントリ２０４≫
図９は、更新情報エントリ２０４の構成を示す図である。
更新情報エントリ２０４は、基本エントリ２０１に存在するフィールドの内、ファイルを上書き、追記する際に更新される情報を格納するディレクトリエントリであり、ファイルによりこの更新情報エントリ２０４が存在する場合と存在しない場合があり得る。但し、更新情報エントリ２０４が存在する場合には、更新情報エントリ２０４は、エントリシーケンス２７に１つのみ含まれる。本エントリをエントリシーケンス２７内の後方に配置し、基本エントリ２０１に含まれるフィールドの更新が発生する場合には、本エントリのフィールドのみを更新することにより、最新の更新情報を保持する。【００４７】
これにより、基本エントリ２０１の更新が不要となり、循環シフト型チェックサムを再度基本エントリ２０１から参照し直して再計算する必要がなくなり、チェックサム算出処理を高速化することが可能となる。
“タイプ”フィールドは、更新情報エントリ２０４であることを示す固定値を格納するフィールドである。
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は０ｘ００を格納する。
“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドは、基本エントリ２０１に存在する各フィールドと同様の情報を格納するフィールドである。
エントリシーケンス２７に更新情報エントリ２０４が存在する場合、基本エントリ２０１内に存在するこれらのフィールド（“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールド）は使用されず、更新情報エントリ２０４内に存在するフィールド（“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールド）のみが使用される。【００４８】
≪（５）ダミーエントリ２０５≫
図１０は、ダミーエントリ２０５の構成を示す図である。
ダミーエントリ２０５は、それ自体には有効なデータを含まず、循環シフト型チェックサムの算出オーバーヘッドを削減するために使用されるディレクトリエントリである。
“タイプ”フィールドは、ダミーエントリ２０５であることを示す固定値を格納するフィールドである。
“０ｘ００パディング”は、循環シフト型チェックサムの算出を容易にするため、０ｘ００を格納する。
情報記録システム１０００では、これら各種ディレクトリエントリを組み合わせて、各ファイルに対応するエントリシーケンス２７が構成される。【００４９】
続いて、エントリシーケンス２７の例について、図１１、図１２を用いて説明する。
（１．２．３：通常ファイルのエントリシーケンス２７）
情報記録システム１０００において、比較的小さなサイズのファイル（以下、「通常ファイル」という。）を取り扱う場合は、アクセスモジュール１の通常ファイル処理部１０３により、ＦＡＴ（３０５、３０６）を主に使用して領域管理を行う。
図１１は、「通常ファイル」のエントリシーケンス２７の一例を示した図である。
通常ファイルのエントリシーケンス２７には、ファイルの基本的な情報を格納する基本エントリ２０１、ファイル名を格納する名称エントリ２０２が存在する。通常ファイルは、ファイルサイズが小さいため、ＦＡＴ（３０５、３０６）を用いてシーク処理を実施しても短時間で処理が終了する。このため、情報記録システム１０００において、通常ファイルに対する処理を行う場合、エクステント情報エントリ２０３は使用しない。したがって、図１１に示すように、通常ファイルのエントリシーケンス２７にもエクステント情報エントリ２０３は存在しない。【００５０】
（１．２．４：拡張ファイルのエントリシーケンス２７）
また、情報記録システム１０００において、比較的大きなサイズのファイル（以下、「拡張ファイル」という。）を取り扱う場合は、アクセスモジュール１の拡張ファイル処理部１０４により、エクステント情報エントリ２０３を主に使用して領域管理を行う。
図１２は、「拡張ファイル」のエントリシーケンス２７の一例を示した図である。
拡張ファイルのエントリシーケンス２７の先頭には、基本エントリ２０１、名称エントリ２０２が存在する。更にその後には、ファイルデータ格納領域の位置と大きさに関する情報を格納するエクステント情報エントリ２０３が１つ以上存在する。
また、エクステント情報エントリ２０３の終端の直後には、更新情報エントリ２０４が存在し、以降、任意の個数のダミーエントリ２０５が存在する。【００５１】
拡張ファイルは、ファイルサイズが大きいため、ＦＡＴ（３０５、３０６）を用いてシーク処理を実施すると長時間かかる。このため、情報記録システム１０００において、拡張ファイルに対する処理を行う場合、エクステント情報エントリ２０３を用いてシーク処理を実施する。これにより、ＦＡＴ型ファイルシステムにおいて、シーク処理を高速化することが可能となる。更に、更新情報エントリ２０４、ダミーエントリ２０５を使用することにより、循環シフト型チェックサムの算出処理を高速化することが可能となる。
＜１．３：ファイルデータ書き込み処理手順＞
続いて、情報記録システム１０００におけるファイルデータ書き込み処理手順について、図１３を用いて説明する。情報記録システム１０００における書き込み処理手順は、「通常ファイル」と「拡張ファイル」とでは、大きく処理手順が異なる。【００５２】
情報記録システム１０００における処理手順の詳細は、次の通りである。
（Ｓ１３０１）：
アクセスモジュール１は、書き込み対象ファイルのエントリシーケンス２７を見つけ出し、基本エントリ２０１、名称エントリ２０２を情報記録モジュール２から読み出す。
（Ｓ１３０２）：
アクセスモジュール１は、エントリシーケンス２７にエクステント情報エントリ２０３が含まれるか判定する。エクステント情報エントリ２０３が含まれない「通常ファイル」の場合、Ｓ１３０３の処理に進む。また、エクステント情報エントリ２０３が含まれる「拡張ファイル」の場合、Ｓ１３１０の処理に進む。
（通常ファイルの場合の処理）：
（Ｓ１３０３）：
Ｓ１３０２の判定処理において、対象ファイルが「通常ファイル」であると判定された場合、アクセスモジュール１は、ＦＡＴ（３０５、３０６）等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込む処理を情報記録モジュール２に対して指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、実際にファイルデータを、不揮発性メモリ２５の空き領域に書き込む。【００５３】
この処理は、従来のＦＡＴ型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。
（Ｓ１３０４）：
アクセスモジュール１からの指示により、情報記録モジュール２において、ＦＡＴ（３０５、３０６）等の領域管理情報が更新され、更新された領域管理情報が情報記録モジュール２の不揮発性メモリ２５に書き込まれる。
この処理も、従来のＦＡＴ型ファイルシステムにおける領域管理情報更新処理と同様のものである。
（Ｓ１３０５）：
アクセスモジュール１は、基本エントリ２０１の“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドをアクセスモジュール１内のＲＡＭ１２上で更新する。【００５４】
（Ｓ１３０６）：
アクセスモジュール１は、基本エントリ２０１、名称エントリ２０２を参照し、循環シフト型チェックサムを算出する。
（Ｓ１３０７）：
アクセスモジュール１は、アクセスモジュール１内のＲＡＭ１２上において、Ｓ１３０６で算出したチェックサムの値を、基本エントリ２０１の“チェックサム”のフィールドに格納する。
（Ｓ１３０８）：
アクセスモジュール１は、情報記録モジュール２に対して、アクセスモジュール１内のＲＡＭ１２上で更新した基本エントリ２０１を情報記録モジュール２に書き込むよう指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、アクセスモジュール１内のＲＡＭ１２上で更新された基本エントリ２０１を情報記録モジュール２の不揮発性メモリ２５に書き込む。【００５５】
（Ｓ１３０９）：
アクセスモジュール１は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はＳ１３０３の処理に戻る。
（拡張ファイルの場合の処理）：
（Ｓ１３１０）：
一方、Ｓ１３０２の判定処理において、対象ファイルが「拡張ファイル」であると判定された場合、アクセスモジュール１は、エントリシーケンス２７の先頭に存在する基本エントリ２０１から、エクステント情報エントリ２０３の終端まで参照し、循環シフト型チェックサムの値（Ｃ１）を算出する。【００５６】
（Ｓ１３１１）：
アクセスモジュール１は、ＦＡＴ（３０５、３０６）等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込む処理を情報記録モジュール２に対して指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、実際にファイルデータを、不揮発性メモリ２５の空き領域に書き込む。
この処理は、従来のＦＡＴ型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。
（Ｓ１３１２）：
アクセスモジュール１は、ＦＡＴ（３０５、３０６）等の領域管理情報を更新し、情報記録モジュール２に書き込む処理を情報記録モジュール２に対して指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、更新された領域管理情報を、不揮発性メモリ２５に書き込む。【００５７】
この処理も、従来のＦＡＴ型ファイルシステムにおける領域管理情報更新処理と同様のものである。
（Ｓ１３１３）：
アクセスモジュール１は、アクセスモジュール１内のＲＡＭ１２上において、エントリシーケンス２７におけるエクステント情報エントリ２０３の終端、すなわち、更新情報エントリ２０４が存在する位置に、新しいエクステント情報エントリ２０３を追加する。この新しいエクステント情報エントリ２０３には、Ｓ１３１１で取得した空き領域の位置と大きさを示す情報を格納する。
（Ｓ１３１４）：
アクセスモジュール１は、アクセスモジュール１内のＲＡＭ１２上において、現在の更新情報エントリ２０４を最新のエクステント情報エントリ２０３の終端の直後に移動する。この際、“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドには、最新の情報を格納する。【００５８】
（Ｓ１３１５）：
アクセスモジュール１は、Ｃ１の値に、Ｓ１３１３で追加したエクステント情報エントリ２０３の循環シフト型チェックサムＣ＿ｅｘｔｅｎｔを加算する（Ｃ２）。すなわち、アクセスモジュール１は、
Ｃ２＝Ｃ１＋Ｃ＿ｅｘｔｅｎｔ
に相当する処理を行う。
（Ｓ１３１６）：
Ｃ２の値に、Ｓ１３１４で更新した更新情報エントリ２０４の循環シフト型チェックサムＣ＿ｕｐｄａｔｅを加算する（Ｃ３）。すなわち、アクセスモジュール１は、
Ｃ３＝Ｃ２＋Ｃ＿ｕｐｄａｔｅ
に相当する処理を行う。【００５９】
（Ｓ１３１７）：
エントリシーケンス２７に含まれるダミーエントリ２０５の循環シフト型チェックサムを演算により算出し、算出したチェックサム値Ｃ＿ｄｕｍｍｙをＣ３の値に加算する（Ｃ４）。すなわち、アクセスモジュール１は、
Ｃ４＝Ｃ３＋Ｃ＿ｄｕｍｍｙ
に相当する処理を行う。
ここで、チェックサムの値が１６ビット長である場合、図５の循環シフト型チェックサム算出処理手順を適用すると、
「Ｃ４＝Ｃ３＋（“タイプ”フィールドの値）×ダミーエントリ数」
となることが分かる。これは、ダミーエントリ２０５のサイズが１６の倍数長の３２バイトであり、“０ｘ００パディング”フィールドが全て０ｘ００に設定されていることに起因する。すなわち、ダミーエントリ２０５のサイズが１６の倍数長であることから、“タイプ”フィールドの加算すべきビット位置が常に一意に固定されおり、“タイプ”フィールドの値に関する算出処理は、単純に“タイプ”フィールドの値をダミーエントリ数分だけ加算するという処理に置き換えることが出来る。また、“０ｘ００パディング”フィールドが全て０ｘ００であることから、これらの値はチェックサムの値に影響を与えることがない。【００６０】
よって、Ｃ４を算出する際には、実際に情報記録モジュール２からダミーエントリ２０５の領域を読み出す必要はなく、先に示したような単純な算術演算により循環シフト型チェックサムを算出することが可能となる。
なお、図５に示した循環シフト型チェックサム算出処理手順において、チェックサムの値のビット長は、必ずしも、上記のように１６ビット長（２バイト長）にする必要はなく、例えば、チェックサムの値のビット長を、８ビット長（１バイト長）にしてもよい。
（Ｓ１３１８）：
アクセスモジュール１は、アクセスモジュール１内のＲＡＭ１２上において、Ｓ１３１７で算出したＣ４の値を、基本エントリ２０１の“チェックサム”のフィールドに格納する。【００６１】
（Ｓ１３１９）：
アクセスモジュール１は、情報記録モジュール２に対して、アクセスモジュール１内のＲＡＭ１２上で更新した基本エントリ２０１、Ｓ１３１３で追加したエクステント情報エントリ２０３、更新情報エントリ２０４を情報記録モジュール２に書き込むよう指示する。情報記録モジュール２は、アクセスモジュール１の指示に従って、更新した基本エントリ２０１、Ｓ１３１３で追加したエクステント情報エントリ２０３、更新情報エントリ２０４を情報記録モジュール２の不揮発性メモリ２５に書き込む。
（Ｓ１３２０）：
アクセスモジュール１は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はＳ１３２１の処理に進む。【００６２】
（Ｓ１３２１）：
Ｓ１３２０の判定処理において、全ファイルデータの書き込みが完了していないと判定された場合、Ｃ２の値をＣ１に代入し、Ｓ１３１１の処理に戻る。
≪エントリシーケンス２７の構造の一例≫
このような処理手順を実施した場合、ファイルデータを追記する度にエクステント情報エントリ２０３が増加することになる。その際のエントリシーケンス２７の構造の一例を、図１４を用いて説明する。
図１４（ａ）は、ファイルデータ書き込み前の初期状態のエントリシーケンス２７の一例を示す。この状態で既に３つの連続領域にファイルデータが書き込まれた状態であり、各々の連続領域は、３つのエクステント情報エントリ２０３により管理されている。【００６３】
図１４（ｂ）は、図１４（ａ）の状態にファイルデータを追記した後の状態のエントリシーケンス２７の一例を示す。
この場合、Ｓ１３１０におけるＣ１の算出時に参照されるディレクトリエントリは、図１４（ｂ）に示す５つのディレクトリエントリ（図１４（ｂ）において、「Ｃ１の算出範囲」として示している５つのディレクトリエントリ）である。
同様に、Ｃ２、Ｃ３を算出する際に参照されるディレクトリエントリは、図１４（ｂ）に示す各々１つのディレクトリエントリ（図１４（ｂ）において、「Ｃ２の算出範囲」および「Ｃ３の算出範囲」として示しているディレクトリエントリ）である。
更に、Ｓ１３１７におけるＣ４の算出時に対象となるディレクトリエントリは、図１４（ｂ）に示す２つのディレクトリエントリ（図１４（ｂ）において、「Ｃ４の算出範囲」として示している２つのディレクトリエントリ）であるが、実際にはこれらのディレクトリエントリを参照する必要はなく、簡単な算術演算によりＣ４を算出することが可能である。【００６４】
また、Ｓ１３１９において情報記録モジュール２に書き込まれるディレクトリエントリは、図１４（ｂ）で色付きの領域（背景をグレーにした領域）で示されている３つのディレクトリエントリ（基本ディレクトリエントリ２０１、エクステント情報エントリ２０３、更新情報エントリ２０４）となる。
図１４（ｃ）は、図１４（ｂ）の状態に、更に、ファイルデータを追記した後の状態のエントリシーケンス２７の一例を示す。
この場合、Ｓ１３２１において、既にＣ１（このＣ１は、図１４（ｂ）のＣ２と同一。）は算出されており、図１４（ｃ）の場合において、Ｃ２、Ｃ３を算出する際に参照されるディレクトリエントリは、図１４（ｃ）に示す各々１つのディレクトリエントリ（図１４（ｃ）に、「新Ｃ２の算出範囲」および「新Ｃ３の算出範囲」として示しているディレクトリエントリ）である。【００６５】
更に、Ｓ１３１７におけるＣ４の算出時に対象となるディレクトリエントリは、図１４（ｃ）に示す１つのディレクトリエントリ（図１４（ｃ）に、「新Ｃ４の算出範囲」として示しているディレクトリエントリ）であるが、実際にはこのディレクトリエントリを参照する必要はなく、簡単な算術演算によりＣ４を算出することが可能である。また、Ｓ１３１９において、情報記録モジュール２に書き込まれるディレクトリエントリは、図１４（ｃ）で色付きの領域（背景をグレーにした領域）で示されている３つのディレクトリエントリ（基本ディレクトリエントリ２０１、エクステント情報エントリ２０３、更新情報エントリ２０４）となる。
すなわち、情報記録システム１０００では、図１４（ｂ）で示す初回のファイルデータ追記時には、Ｃ１、Ｃ２、Ｃ３の算出のために、合計７つのディレクトリエントリの参照が必要である。【００６６】
一方、図１４（ｃ）で示すような２回目以降のファイルデータ追記時には、Ｃ２、Ｃ３の算出のために、合計２つのディレクトリエントリを参照するのみで良い。
このように、情報記録システム１０００におけるファイルデータ書き込み処理では、ファイルデータ追記時の循環シフト型チェックサム算出時に参照が必要なデータ量を削減することができる。その結果、情報記録システム１０００では、高速にチェックサムを算出することが可能となる。
また、図１３を用いて説明した処理手順では、基本エントリ２０１は、“チェックサム”フィールド以外のフィールドを更新していない。これは、更新情報エントリ２０４を使用していることに加え、ファイル作成時等に予め所定の個数のディレクトリエントリを格納する領域を確保しておき、その領域内の終端付近にはダミーエントリ２０５を格納しておくことにより、実現している。【００６７】
例えば、情報記録システム１０００において、ファイル作成時に３２個のディレクトリエントリを格納する領域を用意して全体にダミーエントリ２０５を格納しておき、必要に応じて先頭から順にダミーエントリ２０５を上書きしていく形で基本エントリ２０１や名称エントリ２０２、エクステント情報エントリ２０３、更新情報エントリ２０４を格納していく。
このようにすることで、情報記録システム１０００では、基本エントリ２０１内の“２次エントリの個数”フィールドには、常に“３１”の値を格納しておけば良いことになり、基本エントリ２０１の更新が不要となる。但し、予め用意しておいたダミーエントリ２０５を全て消費してしまった場合は、新たにディレクトリエントリを格納する領域を確保し、ダミーエントリ２０５を格納する必要がある。この場合、基本エントリ２０１内の“２次エントリの個数”フィールドの値が変化するので、この場合に限り、情報記録システム１０００では、エントリシーケンス２７全体を参照して、循環シフト型チェックサムを再計算する必要が生じる。そのため、このような再計算が頻繁に発生しないよう、情報記録システム１０００では、ファイル作成時には、ある程度の大きさのディレクトリエントリ領域を確保しておく。【００６８】
以上のように、情報記録システム１０００では、情報記録モジュール２の不揮発性メモリ２５がＦＡＴ型ファイルシステム２６で管理されており、１つのファイルに複数のディレクトリエントリが割り当てられる。
更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、情報記録システム１０００において、大きなサイズのファイルを処理対象とする場合、当該大きなサイズのファイルについて、エクステント情報エントリ２０３により連続領域の位置と大きさを示す情報が管理されている。
これにより、情報記録システム１０００では、ＦＡＴ型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
更に、情報記録システム１０００では、更新情報エントリ２０４とダミーエントリ２０５とを使用することにより、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。【００６９】
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本実施形態で記載された数値は一例であり、他の値を使用しても良い。例えば、ファイル作成時に３２個のディレクトリエントリを格納する領域を用意する場合について説明したが、その他の値を用いても良い。
本実施形態では、情報記録システム１０００において、「通常ファイル」と「拡張ファイル」との２種類のファイルを取り扱う場合について説明したが、これに限定されることはなく、例えば、全てのファイルを「拡張ファイル」として取り扱っても良い。
また、本実施形態で説明した各種ディレクトリエントリの構成は、一例であり、必要に応じてフィールドを追加、修正、削除しても良い。１つのディレクトリエントリに含まれる情報を複数のディレクトリエントリに分割しても良いし、逆に、複数のディレクトリエントリに含まれる情報を１つのディレクトリエントリに含ませても良い。例えば、名称エントリ２０２に含まれる“ファイル名”フィールドを独立した別のディレクトリエントリに移動させる場合が考えられる。このようにすることで、ファイル名が名称エントリ２０２に格納可能な２８バイトを超えた場合においても、ファイル名のみを格納する独立したディレクトリエントリを複数個、エントリシーケンス２７に格納することにより、容易に対応することが可能となる。【００７０】
更に、エクステント情報エントリ２０３に格納する連続領域の位置と大きさを示す情報を、複数の連続領域分格納するように変更することが考えられる。このようにすることで、１ファイル当りのエクステント情報エントリ２０３の数を削減することが可能であり、情報記録システム１０００において、更に効率的に連続領域を管理することが可能となる。
また、本実施形態で説明したエントリシーケンス２７の構成は一例であり、必要に応じて、新たなディレクトリエントリを定義し、エントリシーケンス２７に追加しても良いし、その他の変更を加えても良い。
また、Ｓ１３１１、Ｓ１３１２の処理では、領域管理情報としてＦＡＴ（３０５、３０６）を用いる場合について説明したが、必ずしもＦＡＴ（３０５、３０６）を用いる必要はない。【００７１】
例えば、ＦＡＴ（３０５、３０６）は、クラスタ間のリンク情報のみを管理するテーブルとして使用し、空き領域管理には、別にアロケーションビットマップを用いる場合においては、Ｓ１３１１、Ｓ１３１２の処理でアロケーションビットマップのみを使用し、ＦＡＴ（３０５、３０６）を使用する必要はない。すなわち、ＦＡＴ（３０５、３０６）が管理するリンク情報は、エクステント情報エントリ２０３で管理されるため、これらの処理においてＦＡＴ（３０５、３０６）を使用する必要はない。
また、図１３の処理手順では、拡張ファイルへのデータ書き込み時において、空き領域を取得する度にエクステント情報エントリ２０３を追加する場合について説明した。
しかしながら、Ｓ１３１１で取得した空き領域が、現在の書き込みデータの直前のファイルデータを格納した領域と連続している領域の場合、必ずしもエクステント情報エントリ２０３を追加する必要はない。【００７２】
例えば、フォーマット直後の状態において、１つのファイルを追記し続ける場合等は、連続した領域を確保し続けることができるため、エクステント情報エントリ２０３は、常に１つしか存在せず、その１つのエクステント情報エントリ２０３で全ファイルデータの格納領域の位置と大きさを示すことができる。
また、上記では、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合について説明したが、これに限定されることはなく、例えば、ＣＲＣ、ハッシュ値（ハッシュ関数）など、循環シフト型チェックサム以外の方法を用いても良い。
また、基本エントリ２０１の“２次エントリの個数”フィールドが１バイトである例について説明したが、この場合、エントリシーケンス２７の大きさは最大でも２５６個のディレクトリエントリとなる。フィールドを２バイトに拡張して、より多くのディレクトリエントリをエントリシーケンス２７に含められるようにしても良いが、その他の方法として、複数のエントリシーケンス２７を接続して、１つのファイルの管理情報を格納する方法が考えられる。【００７３】
この場合、例えば、図１５に示すような接続エントリ２０６を定義し、図１６に示すようなエントリシーケンス２７の構成を採るようにしても良い。
図１６において、基本エントリ２０１内の“２次エントリの個数”フィールドは、“２５５”に設定されており、基本エントリ２０１内の“チェックサム”フィールドには、先頭２５６エントリ分のチェックサムが保持される。２５７番目のディレクトリエントリには、接続エントリ２０６が格納され、直前のエントリシーケンス２７がまだ継続していることを示す。このように２５６エントリ毎に接続エントリ２０６を挿入することにより、１ファイルに割り当てられるディレクトリエントリの個数を増加させることが可能となる。【００７４】
［第２実施形態］
続いて、本発明の第２実施形態について説明する。
図１７は、第２実施形態に係る情報記録システム２０００の構成図である。図１７に示すように、情報記録システム２０００は、アクセスモジュール１と、情報記録モジュール２と、を備える。
本実施形態の情報記録システム２０００（図１７参照）は、第１実施形態の情報記録システム１０００（図１参照）とは、情報記録モジュール２内の不揮発性メモリ２５に構築されているＦＡＴ型ファイルシステム２６内の構成が異なる。それ以外については、情報記録システム２０００は、情報記録システム１０００とは同様であるので、詳細な説明は省略する。
第１実施形態の情報記録システム１０００では、エントリシーケンス２７内に、エクステント情報エントリ２０３、更新情報エントリ２０４、ダミーエントリ２０５が存在していたが、第２実施形態の情報記録システム２０００では、これらのエントリは、エントリシーケンス２７内には存在せず、代わりにエクステント領域指定エントリ２０７が追加されている。第２実施形態の情報記録システム２０００では、エクステント情報エントリ２０３を直接エントリシーケンス２７内に格納するのではなく、任意のクラスタを割り当てて、その中に格納するようにする。【００７５】
このようにすることにより、情報記録システム２０００では、エントリシーケンス２７の大きさが増加することを防止することができ、循環シフト型チェックサムを高速に算出することが可能となる。
≪エクステント領域指定エントリ２０７の構成≫
図１８は、エクステント領域指定エントリ２０７の構成を示す図である。
エクステント領域指定エントリ２０７は、該当ファイルのエクステント情報エントリ２０３を格納する領域の位置を示す情報を格納するディレクトリエントリである。
“タイプ”フィールドは、エクステント領域指定エントリ２０７であることを示す固定値を格納するフィールドである。
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は０ｘ００を格納する。【００７６】
“開始クラスタ番号”フィールドは、エクステント情報エントリ２０３を格納する任意のクラスタ領域の先頭クラスタ番号を格納するフィールドである。
“エクステント領域サイズ”フィールドは、上記領域全体の大きさを格納するフィールドである。
本実施形態の情報記録システム２０００では、エントリシーケンス２７は、基本エントリ２０１、名称エントリ２０２、エクステント領域指定エントリ２０７から構成される。
エクステント情報エントリ２０３は、エクステント領域指定エントリ２０７で示される任意のクラスタ内に格納されるため、エントリシーケンス２７には含まれない。その結果、情報記録システム２０００では、エントリシーケンス２７の大きさが小さく抑えられ、循環シフト型チェックサムの算出を高速に行うことが可能となる。そのため、タイムスタンプやファイルサイズ等の情報は、直接基本エントリ２０１を更新することにより実施され、更新情報エントリ２０４は、不要となる。【００７７】
更に、情報記録システム２０００では、ファイルデータの書き込みによりエントリシーケンス２７の大きさが変化しないことから、ダミーエントリ２０５も不要となる。
≪ファイルデータ書き込み処理手順≫
続いて、情報記録システム２０００におけるファイルデータ書き込み処理手順について、図１９を用いて説明する。
図１９の処理手順は、図１３で説明した処理手順と同様に、「通常ファイル」と「拡張ファイル」によって、処理内容が異なる。
（Ｓ１９０１）：
アクセスモジュール１は、書き込み対象ファイルのエントリシーケンス２７を見つけ出し、基本エントリ２０１、名称エントリ２０２を情報記録モジュール２から読み出す。【００７８】
（Ｓ１９０２）：
アクセスモジュール１は、エクステント領域指定エントリ２０７を参照し、エクステント領域２８にエクステント情報エントリ２０３が含まれているか否かを判定する。
エクステント領域２８にエクステント情報エントリ２０３が含まれない「通常ファイル」の場合、Ｓ１９０３の処理に進む。また、エクステント領域２８にエクステント情報エントリ２０３が含まれる「拡張ファイル」の場合、Ｓ１９１０の処理に進む。
なお、「通常ファイル」に対する処理であるＳ１９０３以降の処理は、図１３で説明した処理手順と同様であるため、説明を省略する。
（拡張ファイルの場合の処理）：
（Ｓ１９１０）：
Ｓ１９０２の判定処理において、対象ファイルが「拡張ファイル」であると判定された場合、アクセスモジュール１は、情報記録モジュール２に対して、ＦＡＴ（３０５、３０６）等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込むよう指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、実際にファイルデータを、不揮発性メモリ２５の空き領域に書き込む
この処理は、従来のＦＡＴ型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。【００７９】
（Ｓ１９１１）：
アクセスモジュール１は、ＦＡＴ（３０５、３０６）等の領域管理情報を更新し、情報記録モジュール２に書き込む処理を情報記録モジュール２に対して指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、更新された領域管理情報を、不揮発性メモリ２５に書き込む。
この処理も、従来のＦＡＴ型ファイルシステムにおける領域管理情報更新処理と同様のものである。
（Ｓ１９１２）：
アクセスモジュール１は、基本エントリ２０１の“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドをアクセスモジュール１内のＲＡＭ１２上で更新する。【００８０】
（Ｓ１９１３）：
アクセスモジュール１は、情報記録モジュール２に対して、エクステント情報エントリ２０３をエクステント領域２８として割り当てられている任意のクラスタ内に追加し、情報記録モジュール２に書き込むよう指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、エクステント情報エントリ２０３をエクステント領域２８として割り当てられている任意のクラスタ内に追加し、情報記録モジュール２に書き込む。
ここで、エクステント情報エントリ２０３には、Ｓ１９１０で取得した空き領域の位置と大きさを示す情報を格納する。
また、エクステント情報エントリ２０３の追加によりエクステント領域２８の大きさが変化するため、アクセスモジュール１は、エクステント領域指定エントリ２０７の“エクステント領域サイズ”フィールドをアクセスモジュール１内のＲＡＭ１２上で更新する。【００８１】
（Ｓ１９１４）：
アクセスモジュール１は、基本エントリ２０１、名称エントリ２０２、エクステント領域指定エントリ２０７を参照し、循環シフト型チェックサムを算出する。
（Ｓ１９１５）：
アクセスモジュール１は、アクセスモジュール１内のＲＡＭ１２上において、Ｓ１９１４で算出したチェックサムの値を、基本エントリ２０１の“チェックサム”のフィールドに格納する。
（Ｓ１９１６）：
アクセスモジュール１は、情報記録モジュール２に対して、アクセスモジュール１内のＲＡＭ１２上で更新した基本エントリ２０１、エクステント領域指定エントリ２０７を情報記録モジュール２に書き込むよう指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、更新された基本エントリ２０１、エクステント領域指定エントリ２０７を情報記録モジュール２の不揮発性メモリ２５に書き込む。【００８２】
（Ｓ１９１７）：
アクセスモジュール１は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はＳ１９１０の処理に戻る。
このように、情報記録システム２０００では、拡張ファイルにおいて任意のクラスタをエクステント領域２８として割り当て、その領域にエクステント情報エントリ２０３を格納することにより、該当ファイルのエントリシーケンス２７の大きさが増加することを防止し、循環シフト型チェックサムの算出オーバーヘッドを削減することが可能となる。
以上のように、情報記録システム２０００では、情報記録モジュール２の不揮発性メモリ２５がＦＡＴ型ファイルシステム２６で管理されており、１つのファイルに複数のディレクトリエントリが割り当てられる。【００８３】
更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、情報記録システム２０００において、大きなサイズのファイルを処理対象とする場合、当該大きなサイズのファイルについて、エクステント情報エントリ２０３により連続領域の位置と大きさを示す情報が管理されている。
これにより、情報記録システム２０００では、ＦＡＴ型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
更に、情報記録システム２０００では、任意のクラスタをエクステント領域２８として該当ファイルに割り当て、その中にエクステント情報エントリ２０３を格納する。
これにより、エントリシーケンス２７の大きさが増加することを防止し、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。【００８４】
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本発明の第１実施形態で記載された種々の変形例を本発明の第２実施形態に適用しても良い。
また、本発明の第２実施形態では、エクステント領域２８に、エクステント情報エントリ２０３を格納する場合の例について説明した。しかしながら、エクステント領域２８は、エントリシーケンス２７が格納される通常のディレクトリ領域とは異なる領域である。そのため、エクステント領域２８は、エントリシーケンス２７と同様にエントリを取り扱う必要がなく、必ずしも３２バイトのエントリの形式を取る必要はない。
例えば、４バイトの開始クラスタ番号と、８バイトのエクステント領域サイズのみから構成される１２バイトのエントリを１つの単位として、エクステント領域２８に複数のエントリが詰めて格納されるような構成としても良い。【００８５】
また、エクステント領域指定エントリ２０７内の“エクステント領域サイズ”のフィールドを削除し、その他の方法でエクステント領域の終端を検出しても良い。
例えば、基本エントリ２０１の“ファイルサイズ”フィールドで、該当ファイルのサイズを認識し、その値とエクステント領域２８に格納されているエクステント情報エントリ２０３の“連続領域サイズ”フィールドとの総和を比較し、“ファイルサイズ”と同じサイズに総和が達した時点で、エクステント領域２８が終端されていることを検出するようにしても良い。
また、情報記録システム２０００において、エクステント領域２８のデータ書き込みされていない領域（実体データが存在しない領域）に、データ”０ｘ００”を書き込んでおき（いわゆる、０スタッフィング（０パッディング）処理をしておき）、エクステント領域２８において、順次、書き込まれているデータ値をチェックしていき、データ値が”０ｘ００”である領域が出現した位置の直前が、エクステント領域２８の終端位置（実体データが書き込まれている領域の終端位置）であると検出するようにしても良い。【００８６】
［他の実施形態］
なお、上記実施形態で説明したアクセスモジュール（アクセス装置）、情報記録モジュール（情報記録装置）、及び情報記録システムにおいて、各ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されても良いし、一部又は全部を含むように１チップ化されても良い。
なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。【００８７】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係るアクセスモジュール（アクセス装置）、情報記録モジュール（情報記録装置）、及び情報記録システムをハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。【００８８】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
［付記］
なお、本発明は、次のように表現することも可能である。
（付記１）
ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、
前記ファイルデータを固定長ブロック単位で管理し、１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイルシステム制御部
を備えるアクセス装置。
（付記２）
前記エントリ群は、内部に前記エクステント情報エントリを含む、
付記１に記載のアクセス装置。
（付記３）
前記ファイルシステム制御部は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを、前記エントリ群に追加する、
付記２に記載のアクセス装置。
（付記４）
前記ファイルシステム制御部は、
ファイルが作成される際に、所定の個数のエントリを含むエントリ群を構成し、
前記エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリを格納する、
付記３に記載のアクセス装置。
（付記５）
前記ファイルシステム制御部は、
前記ダミーエントリにおいて、前記ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値を格納する、
付記４に記載のアクセス装置。
（付記６）
前記ファイルシステム制御部は、
前記エントリ群に
前記エクステント情報エントリを追加する際に、前記ダミーエントリを削除し、前記エントリ群全体の大きさを変化させない、
付記５に記載のアクセス装置。
（付記７）
前記ファイルシステム制御部は、
前記エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを、前記エクステント情報エントリの後ろに格納する、
付記３に記載のアクセス装置。
（付記８）
前記ファイルシステム制御部は、
前記エントリ群に前記エクステント情報エントリを追加する際には、前記更新情報エントリの格納位置を後方にずらす、
付記７に記載のアクセス装置。
（付記９）
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
付記２に記載のアクセス装置。
（付記１０）
前記ファイルシステム制御部は、
前記エクステント情報エントリが追加される際に、追加される前記エクステント情報エントリ、及び、前記更新情報エントリに基づいた演算と、
前記エントリ群に含まれる前記ダミーエントリの個数を元にした演算と、で前記循環シフト型チェックサムを算出する、
付記９に記載のアクセス装置。
（付記１１）
前記ファイルシステム制御部は、
ファイルにアクセスする場合、
前記ファイルに対応する前記エントリ群が前記エクステント情報エントリを含むときは、前記エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行う拡張ファイル処理部と、
前記ファイルに対応する前記エントリ群が前記エクステント情報エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う通常ファイル処理部と、
備える、
付記１から１０のいずれかに記載のアクセス装置。
（付記１２）
ファイルデータを格納する不揮発性メモリを含む情報記録装置であって、
前記ファイルデータは、固定長ブロック単位で管理されており、
前記不揮発性メモリには、
１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリから構成されるエントリ群であって、前記ファイルに関連するエントリ群のチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を格納する、
情報記録装置。
（付記１３）
前記エントリ群は、内部に前記エクステント情報エントリを含む、
付記１２に記載の情報記録装置。
（付記１４）
前記エントリ群は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを追加する構成である、
付記１３に記載の情報記録装置。
（付記１５）
前記エントリ群は、
ファイルが作成される際に、所定の個数のエントリを含む構成であり、
前記エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリが格納される、
付記１４に記載の情報記録装置。
（付記１６）
前記ダミーエントリは、
前記ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値が格納される、
付記１５に記載の情報記録装置。
（付記１７）
前記エントリ群は、
前記エクステント情報エントリが追加される際には、前記ダミーエントリを削除することで、前記エントリ群全体の大きさが変化しない構成である、
付記１６に記載の情報記録装置。
（付記１８）
前記エントリ群は、
前記エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを前記エクステント情報エントリの後ろに格納する構成である、
付記１４に記載の情報記録装置。
（付記１９）
前記エントリ群は、
前記エクステント情報エントリが追加される際には、前記更新情報エントリの格納位置を後方にずらす構成である、
付記１８に記載の情報記録装置。
（付記２０）
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
付記１２に記載の情報記録装置。
（付記２１）
ファイルデータを格納する不揮発性メモリを含む情報記録装置と、前記情報記録装置にアクセスするアクセス装置と、備える情報記録システムであって、
前記ファイルデータを、固定長ブロック単位で管理し、
前記不揮発性メモリには、
１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
前記アクセス装置は、
前記不揮発性メモリ内に格納された情報を用いて前記不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える、
情報記録システム。
（付記２２）
前記エクステント情報エントリは、前記エントリ群の内部に格納される、
付記２１に記載の情報記録システム。
（付記２３）
付記１から１１のいずれかに記載のアクセス装置と、
付記１２から２２のいずれかに記載の情報記録装置と、
を備える情報記録システム。
（付記２４）
ファイルデータを格納する不揮発性メモリを用いるファイル管理方法であって、
前記ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を用いて、前記ファイルの管理を行う、
ファイル管理方法。
（付記２５）
付記２４に記載のファイル管理方法をコンピュータに実行させるプログラム。【００８９】
［付記の内容］
第１の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、用いてファイルの管理を行うファイルシステム制御部を備える。
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理し、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。【００９０】
このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、このアクセス装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、このアクセス装置では、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
さらに、このアクセス装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。【００９１】
なお、「アクセス装置」は、アクセスモジュールを含む概念である。
第２の発明は、第１の発明であって、エントリ群は、内部にエクステント情報エントリを含む。
第３の発明は、第２の発明であって、ファイルシステム制御部は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを、エントリ群に追加する。
第４の発明は、第３の発明であって、ファイルシステム制御部は、ファイルが作成される際に、所定の個数のエントリを含むエントリ群を構成し、エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリを格納する。
第５の発明は、第４の発明であって、ファイルシステム制御部は、ダミーエントリにおいて、ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値を格納する。【００９２】
これにより、アクセス装置でのチェックサムの算出処理を高速化することができる。
なお、「所定の値」は、例えば、”０ｘ００”である。これにより、チェックサムの算出処理を簡略化することができる。
第６の発明は、第５の発明であって、ファイルシステム制御部は、エントリ群に、エクステント情報エントリを追加する際には、ダミーエントリを削除し、エントリ群全体の大きさを変化させない。
このアクセス装置では、エントリ群全体の大きさが変化しないので、アクセス装置でのチェックサムの算出処理の対象となる領域が固定となる。その結果、アクセス装置でのチェックサムの算出処理を高速化することができる。
第７の発明は、第３の発明であって、ファイルシステム制御部は、エントリ群において、エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを、エクステント情報エントリの後ろに格納する。【００９３】
このアクセス装置では、更新情報エントリが、エクステント情報エントリの後ろに格納されるので、更新エントリより前の領域におけるデータがほとんど変化しない。そのため、このアクセス装置では、効率良くチェックサムの算出処理を行うことができる。
なお、「後ろに格納する」とは、論理アドレス空間において、後段の論理アドレス位置に格納することを意味する。したがって、上記では、エクステント情報エントリが格納されている論理アドレス空間領域に続く論理アドレス空間領域に、更新情報エントリが格納されることになる。
第８の発明は、第７の発明であって、ファイルシステム制御部は、エントリ群に、エクステント情報エントリを追加する際には、更新情報エントリの格納位置を後方にずらす。
なお、「後方にずらす」とは、論理アドレス空間において、領域を後方にずらすという意味である。【００９４】
第９の発明は、第２の発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
このアクセス装置では、循環シフト型チェックサムによりチェックサム演算処理が行われるので、単純なチェックサムによりチェックサム演算処理を行う場合に比べて、エントリ間の不整合をより高精度に検出することができる。
第１０の発明は、第９の発明であって、ファイルシステム制御部は、エクステント情報エントリが追加される際に、追加されるエクステント情報エントリ、及び、更新情報エントリに基づいた演算と、エントリ群に含まれるダミーエントリの個数を元にした演算と、で、循環シフト型チェックサムを算出する。
第１１の発明は、第１から第１０のいずれかの発明であって、ファイルシステム制御部は、拡張ファイル処理部と、通常ファイル処理部と、を備える。【００９５】
ファイルにアクセスする場合、拡張ファイル処理部は、ファイルに対応するエントリ群がエクステント情報エントリを含むときは、エクステント情報エントリに基づいて、ファイルに対するアクセス制御を行う。
ファイルにアクセスする場合、通常ファイル処理部は、ファイルに対応するエントリ群がエクステント情報エントリを含まないときは、ファイルアロケーションテーブルに基づいて、ファイルに対するアクセス制御を行う。
第１２の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置である。不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、が格納される。
ファイルデータは、固定長ブロック単位で管理されている。【００９６】
エクステント情報エントリは、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリから構成されるエントリ群であって、ファイルに関連するエントリ群のチェックサムに関する情報を当該エントリ群の内部に含む。
この情報記録装置では、例えば、アクセス装置から制御されることで、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、この情報記録装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録装置を用いることで、エクステント情報エントリによりファイル管理を行うことができ、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。【００９７】
さらに、この情報記録装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
なお、「情報記録装置」は、情報記録モジュールを含む概念である。
第１３の発明は、第１２の発明であって、エントリ群は、内部にエクステント情報エントリを含む。
第１４の発明は、第１３の発明であって、エントリ群は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを追加することができる構成である。【００９８】
第１５の発明は、第１４の発明であって、エントリ群は、エントリ群に対応するファイルが作成される際に、所定の個数のエントリを含むように構成され、エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリが格納される。
第１６の発明は、第１５の発明であって、ダミーエントリは、ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値が格納される。
第１７の発明は、第１６の発明であって、エントリ群は、エクステント情報エントリが追加される際には、ダミーエントリを削除することにより、エントリ群全体の大きさが変化しないように構成される。
第１８の発明は、第１４の発明であって、エントリ群は、エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリをエクステント情報エントリの後ろに格納するように構成される。【００９９】
第１９の発明は、第１８の発明であって、エントリ群は、エクステント情報エントリが追加される際には、更新情報エントリの格納位置が後方にずれるように構成される。
第２０の発明は、第１２の発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
第２１の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置と、情報記録装置にアクセスするアクセス装置と、備える情報記録システムである。
ファイルデータは、固定長ブロック単位で管理される。
不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
エクステント情報エントリは、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報と、内部に含む。【０１００】
アクセス装置は、不揮発性メモリ内に格納された情報を用いて不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える。
この情報記録システムでは、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、この情報記録システムでは、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録システムでは、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。【０１０１】
さらに、この情報記録システムでは、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
第２２の発明は、第２１の発明であって、エクステント情報エントリは、エントリ群の内部に格納される。
第２３の発明は、第１から第１１のいずれかの発明であるアクセス装置と、第１２から第２２のいずれかの発明である情報記録装置と、を備える情報記録システムである。
第２４の発明は、ファイルデータを格納する不揮発性メモリを用いるファイル管理方法である。このファイル管理方法は、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を用いて、ファイルの管理を行う。【０１０２】
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。
このファイル管理方法では、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、このファイル管理方法では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、このファイル管理方法では、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。【０１０３】
さらに、このファイル管理方法では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このファイル管理方法が扱うファイルシステムの信頼性を高めることも可能となる。
第２５の発明は、第２４の発明であるファイル管理方法をコンピュータに実行させるプログラムである。
これにより、第２４の発明と同様の効果を奏するプログラムを実現することができる。
【産業上の利用可能性】
【０１０４】
本発明に係る情報記録モジュール２の不揮発性メモリ２５は、ＦＡＴ型ファイルシステム２６で管理されており、１つのファイルに複数のディレクトリエントリが割り当てられる。
更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、大きなサイズのファイルを扱う場合、エクステント情報エントリ２０３により連続領域の位置と大きさを示す情報を管理する。これにより、本発明の情報記録システムでは、ＦＡＴ型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
更に、本発明の情報記録システムでは、更新情報エントリ２０４とダミーエントリ２０５を使用する、あるいは、エクステント領域指定エントリ２０７を使用することにより、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。このような情報記録システムを構成するアクセスモジュール１は、音楽や静止画、動画などのデジタルコンテンツを取り扱う機器、とりわけ１ファイルのサイズが大きなコンテンツを取り扱う機器に最適であり、ＰＣアプリケーション、オーディオレコーダ、ＤＶＤレコーダ、ＨＤＤレコーダ、ムービー、デジタルスチルカメラ、携帯電話端末等として利用することができる。【０１０５】
また、本発明の情報記録モジュール２は、上記デジタルコンテンツなどを格納するメモリカードなどのリムーバブルメディア、あるいは内蔵記録装置等として利用することができる。
【図１】
2009122743.tif 000003
【図２】
2009122743.tif 000004
【図３】
2009122743.tif 000005
【図４】
2009122743.tif 000006
【図５】
2009122743.tif 000007
【図６】
2009122743.tif 000008
【図７】
2009122743.tif 000009
【図８】
2009122743.tif 000010
【図９】
2009122743.tif 000011
【図１０】
2009122743.tif 000012
【図１１】
2009122743.tif 000013
【図１２】
2009122743.tif 000014
【図１３】
2009122743.tif 000015
【図１４】
2009122743.tif 000016
【図１５】
2009122743.tif 000017
【図１６】
2009122743.tif 000018
【図１７】
2009122743.tif 000019
【図１８】
2009122743.tif 000020
【図１９】
2009122743.tif 000021
【手続補正書】
【提出日】平成22年9月9日(2010.9.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、
前記ファイルデータを固定長ブロック単位で管理し、１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイルシステム制御部
を備え、
前記ファイルシステム制御部は、
前記エクステント情報エントリを、前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納する、
アクセス装置。
【請求項２】
前記エントリ群は、
前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む、
請求項１に記載のアクセス装置。
【請求項３】
前記ファイルシステム制御部は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリを、前記エクステント領域に追加する、
請求項２に記載のアクセス装置。
【請求項４】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと同一バイト長である、
請求項３に記載のアクセス装置。
【請求項５】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと異なるバイト長である、
請求項３に記載のアクセス装置。
【請求項６】
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
請求項１から５のいずれかに記載のアクセス装置。
【請求項７】
前記ファイルシステム制御部は、
ファイルにアクセスする場合、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含むときは、前記エクステント領域指定エントリおよび前記エクステント領域用エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行う拡張ファイル処理部と、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う通常ファイル処理部と、
を備える、
請求項１から６のいずれかに記載のアクセス装置。
【請求項８】
ファイルデータを格納する不揮発性メモリを含む情報記録装置であって、
前記ファイルデータを、固定長ブロック単位で管理し、
前記不揮発性メモリには、
１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
前記エクステント情報エントリは、
前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納される、
情報記録装置。
【請求項９】
前記エントリ群は、
前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む、
請求項８に記載の情報記録装置。
【請求項１０】
前記エクステント領域は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリが追加される構成である、
請求項９に記載の情報記録装置。
【請求項１１】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと同一バイト長である、
請求項１０に記載の情報記録装置。
【請求項１２】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと異なるバイト長である、
請求項１０に記載の情報記録装置。
【請求項１３】
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
請求項８から１２のいずれかに記載の情報記録装置。
【請求項１４】
ファイルデータを格納する不揮発性メモリを含む情報記録装置と、前記情報記録装置にアクセスするアクセス装置と、備える情報記録システムであって、
前記ファイルデータを、固定長ブロック単位で管理し、
前記不揮発性メモリには、
１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
前記アクセス装置は、
前記不揮発性メモリ内に格納された情報を用いて前記不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部
を備え、
前記エクステント情報エントリは、
前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納される、
情報記録システム。
【請求項１５】
請求項１から７のいずれかに記載のアクセス装置と、
請求項８から１３のいずれかに記載の情報記録装置と、
を備える情報記録システム。
【請求項１６】
ファイルデータを格納する不揮発性メモリを用いるファイル管理方法であって、
前記ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報を内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイル管理方法であって、
前記エクステント情報エントリを、前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納する、
ファイル管理方法。
【請求項１７】
請求項１６に記載のファイル管理方法をコンピュータに実行させるプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを不揮発性メモリに格納し、ファイルとして管理するアクセスモジュール（アクセス装置）、情報記録モジュール（情報記録装置）、情報記録システム、ファイル管理方法、およびプログラムに関する。
【背景技術】
【０００２】
音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の内、記録素子にＦｌａｓｈＲＯＭ等の半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、ＦｌａｓｈＲＯＭ等の半導体メモリを機器に内蔵してハードディスクの代わりに使用するなど、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。
このようなメモリカードや機器内蔵ストレージには、主にＮＡＮＤ型フラッシュメモリと呼ばれる半導体素子が使用されている。ＮＡＮＤ型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子であり、従来のハードディスクと同様に、複数回書き換え可能な情報記録装置を構成することが可能である。
【０００３】
従来、メモリカードや機器内蔵ストレージに格納されたデータは、ファイルシステムにより管理されている。データをファイルシステムにより管理することで、同一のファイルシステムを解釈する機器間でデータをファイルとして共有することが可能となり、ユーザは自分の格納したデータを複数の機器間で容易に参照したり、コピーしたりすることが可能となる。
従来最も広く使用されているファイルシステムは、「ＦＡＴファイルシステム」と呼ばれるものである。ＦＡＴファイルシステムは、領域管理をファイルアロケーションテーブル（ＦＡＴ）と呼ばれるテーブルで一元管理するという特徴を持っており、比較的構造がシンプルで実装が容易なことから、フレキシブルディスクやＰＣのハードディスク、メモリカードなどのファイルシステムとして広く使用されている。
【０００４】
図２に、ＦＡＴファイルシステムの構成を示す。
ＦＡＴファイルシステムでは、ファイルアロケーションテーブル内の管理単位のビット幅の違いにより、ＦＡＴ１２、ＦＡＴ１６、ＦＡＴ３２などの種類が存在するが、ファイルアロケーションテーブルによる領域管理方法はほぼ同じであり、以下では、ＦＡＴ１６を例に説明する。
図２に示すように、論理アドレス空間の先頭には、領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域３０１が存在する。
このファイルシステム管理情報領域３０１には、マスターブートレコード・パーティションテーブル３０３、パーティションブートセクタ３０４、ＦＡＴ（３０５、３０６）、ルートディレクトリエントリ３０７と呼ばれるファイルシステムの管理情報が含まれ、ユーザデータ領域３０２を管理するために必要な情報が各々格納されている。
【０００５】
マスターブートレコード・パーティションテーブル３０３は、ファイルシステムが管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。
パーティションブートセクタ３０４は、パーティション内の領域管理単位の大きさなど、１つのパーティション内の管理情報が格納される領域である。
ＦＡＴ（３０５、３０６）は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ２つのＦＡＴ（３０５、３０６）が存在し、一方のＦＡＴ（３０５、３０６）が破損したとしても他方のＦＡＴ（３０５、３０６）によりファイルにアクセスできるよう二重化されている。
ルートディレクトリエントリ３０７は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報（ディレクトリエントリ）が格納される領域である。
【０００６】
また、ＦＡＴファイルシステムでは、このファイルシステム管理情報領域３０１に引き続く領域にファイル本体のデータなどを格納するユーザデータ領域３０２が存在する。
ユーザデータ領域３０２は、５１２バイトから数十ＫＢ程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタには、ファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、ＦＡＴ（３０５、３０６）に格納されたリンク情報により管理されている。
また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報（ディレクトリエントリ）は、このユーザデータ領域３０２の一部を利用して格納される。
【０００７】
図３は、ＦＡＴ１６のディレクトリエントリの構成を示した図である。
ディレクトリエントリ３０８は、１つのファイル、ディレクトリ毎に３２バイトのディレクトリエントリ３０８が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、１つのファイルやディレクトリが追加される度に３２バイトのディレクトリエントリ３０８の情報が新規に作成され、ルートディレクトリエントリ３０７の領域、あるいはユーザデータ領域３０２に記録される。
ディレクトリエントリ３０８の先頭８バイトには、ファイルやディレクトリの名称が格納される。
続く３バイトには拡張子が格納される。
続く１バイトには、ファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。
【０００８】
また、ディレクトリエントリ３０８には、ファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。
このように、ディレクトリエントリ３０８には、データ実体が格納されている領域の最初の１クラスタの位置を示す情報しか含まれておらず、データ実体の大きさが１クラスタよりも大きい場合において２クラスタ目以降のデータがどの領域に格納されているかについては、ＦＡＴ（３０５、３０６）で管理されている。
図４は、ＦＡＴ１６のＦＡＴ（３０５、３０６）の構成を示した図である。
ＦＡＴ１６では、ＦＡＴ（３０５、３０６）は２バイト（１６ビット）の情報を１つのＦＡＴエントリとして管理しており、１つのＦＡＴエントリが１つのクラスタの状態を示している。すなわち、ユーザデータ領域３０２にＭ個のクラスタが存在する場合、ＦＡＴエントリもＭ個存在することから、ＦＡＴ（３０５、３０６）の１つ分の大きさは約２×Ｍバイトとなる。但し、先頭の２つのＦＡＴエントリ分は、ＦＡＴの先頭を示す固定の値（０ｘＦ８ＦＦ、０ｘＦＦＦＦ）がシグネチャとして記録されるため、ユーザデータ領域３０２の先頭クラスタに対応するＦＡＴエントリは、ＦＡＴ（３０５、３０６）の４バイト目、５バイト目の２バイトに存在している。ＦＡＴ先頭に存在する４バイトのシグネチャをＦＡＴエントリの０番、１番とすると、４バイト目および５バイト目の２バイトの位置は２番目になることから、ユーザデータ領域３０２の先頭クラスタは、便宜上クラスタ番号＝“２”と割り当てられており、クラスタ番号＝“０”、“１”に対応するクラスタは存在しないことになっている。
【０００９】
更に、各ＦＡＴエントリは、各々対応するクラスタの状態（使用中、空き、欠陥）、及びリンク先のクラスタ番号を示す。例えば、図４において、対応クラスタ番号２のＦＡＴエントリは０ｘ０００３（十進数では“３”）に設定されており、クラスタ番号２のクラスタ内に格納されたデータの続きのデータは、クラスタ番号３のクラスタ内に格納されていることを意味する。同様に、対応クラスタ番号３のＦＡＴエントリは０ｘ０００４（十進数では“４”）に設定されており、クラスタ番号３のクラスタ内に格納されたデータの続きのデータは、クラスタ番号４のクラスタ内に格納されていることを意味する。また、対応クラスタ番号６のＦＡＴエントリは、０ｘＦＦＦＦに設定されている。これは、次のリンク先が存在せず、リンクが終端していることを意味する。よって、図４の例では、クラスタ番号２、３、４、５、６の順に一連のファイルデータが格納されていることになる。
【００１０】
また、対応クラスタ番号７のＦＡＴエントリは、０ｘ００００に設定されている。これは、対応するクラスタが使用されておらず、“空き”の状態であることを意味する。
また、対応クラスタ番号（Ｍ＋１）のＦＡＴエントリは、０ｘＦＦＦ７に設定されている。これは、対応するクラスタが物理的に壊れていて記録が出来ない状態である等の欠陥状態であることを意味する。
まとめると、０ｘ００００、０ｘＦＦＦＦ、０ｘＦＦＦ７の３つのＦＡＴエントリ値は各々特殊な意味を持ち、０ｘ０００２から０ｘＦＦＦ６までのＦＡＴエントリ値がリンク先クラスタ番号として使用されることになる。また、それ以外の０ｘ０００１、０ｘＦＦＦ８から０ｘＦＦＦＥまでの値は予約されており、通常は使用されない値になっている。
このように、ＦＡＴファイルシステムでは、ファイルデータが複数のクラスタに跨って格納されている場合、各クラスタ間のリンク関係をＦＡＴエントリの値に格納し管理している。よって、ファイルデータを先頭から順に終端まで読み出す場合、クラスタ境界に来る度にＦＡＴ（３０５、３０６）を参照し、次のリンク先のクラスタ番号を特定する必要がある。
【００１１】
同様に、ＦＡＴファイルシステムを用いる情報記録システムにおいて、ファイル内の任意の位置を読み出すためにシーク処理を行う場合、ＦＡＴ（３０５、３０６）を参照してシークサイズ分のクラスタ数だけリンクを辿り所望のデータが格納されているクラスタ番号を特定する必要がある。そのため、シーク処理は、ファイルサイズに比例して処理時間が長くなることになる。ここで、１ＧＢのファイルを１６ＫＢクラスタ単位で管理している場合を想定すると、リンクを辿る回数は、約６５０００回となり、比較的低速なＣＰＵを使用した場合等では、シーク処理に数秒かかる場合もある。更に、ＦＡＴ（３０５、３０６）では、ファイルの順方向のリンク情報しか保持していないため、ファイルの前方に向かってシークする場合には、再度ファイルの先頭からシーク処理をやり直す必要があり、高速にシークできないという問題が生じる。
【００１２】
従来、このような問題を解決する方法として、該当ファイルのディレクトリエントリ３０８の直後にファイルデータ格納領域の位置情報を格納する方法が提案されている（例えば、特許文献１参照）。
この方法では、該当ファイルのディレクトリエントリ３０８をディレクトリ領域内の任意のクラスタにおける先頭位置に格納し、そのクラスタ内の残りの領域には、全て消去済みディレクトリエントリを格納する。
更に、それら消去済みディレクトリエントリ内に、該当ファイルのデータが格納された領域の開始位置と終了位置とを示す情報（ＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）アクセス情報）を複数格納する。
このように、ＬＢＡアクセス情報を格納しておくことで、ファイルのシーク処理を実施する際にはＦＡＴを参照せず、ＬＢＡアクセス情報のみを参照して処理を実施することにより、シーク処理を高速化することが可能となる。
【００１３】
しかしながら、この方法は、ＬＢＡアクセス情報を格納する領域として、消去済みディレクトリエントリを使用しているため、ＬＢＡアクセス情報の存在を知らない従来のＦＡＴ型ファイルシステムのみを解釈する機器でファイルやディレクトリが作成された場合、ＬＢＡアクセス情報を格納して消去済みディレクトリエントリを再利用する可能性があり、ＬＡＢアクセス情報が破壊される可能性がある。
一方、ＦＡＴ型ファイルシステムでは、図３に示すようなディレクトリエントリ３０８の構造が採用されており、予約フィールドも実際には、タイムスタンプの情報を格納する領域等に使用されるため、十分な予約フィールドが存在していない。このため、ＦＡＴ型ファイルシステムは、拡張性に乏しいファイルシステムとなっている。従来、このような問題を解決する方法として、拡張ファイルシステムフォーマットによる方法が提案されている（例えば、特許文献２参照）。
【００１４】
この方法では、ディレクトリエントリの先頭１バイトにディレクトリエントリの種別を示す“タイプ”を格納するフィールドを設けることにより、１次ディレクトリエントリや２次ディレクトリエントリ等、種々のディレクトリエントリを規定し、ファイルシステムの拡張性を高めている。
上記で説明した２つの技術を組み合わせ、ファイルデータ格納領域の位置を示す情報を格納する特殊なディレクトリエントリを“タイプ”により規定し、ファイルを示すディレクトリエントリの付加情報として格納できるようにすることにより、この特殊なディレクトリエントリを解釈しない従来の機器でファイルデータ格納領域の位置を示す情報が破壊されることを防止することが可能となる。
この場合、１つのファイルに対して複数のディレクトリエントリが割り当てられるため、ディレクトリエントリ間の整合性を確保し、信頼性を高める仕組みが必要となる。その１つの仕組みとして、例えば、Ｕｎｉｘ（登録商標）系オペレーティングシステムで“ｓｕｍ”コマンドとして実装されているような循環シフト型チェックサムを用いることが考えられる。
【００１５】
図５は、循環シフト型チェックサムの算出手順を示したフローチャートである。
循環シフト型チェックサムは、算出対象となるデータを単純に加算するだけではなく、加算する度に１ビット分、値を循環シフトさせる。このように循環シフトさせることにより、算出対象データの順序が入れ替わった場合でも誤りを検出できるようになり、信頼性を高めることが可能となる。
１つのファイルに対して割り当てられた全てのディレクトリエントリ領域を算出対象データとして、循環シフト型チェックサムを算出し、ディレクトリエントリ内の特定のフィールドに格納することにより、ディレクトリエントリの破損を検出し、信頼性を高めることが可能となる。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００６−１７８６３２号公報
【特許文献２】特開２００６−１７２４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、上記の技術には、次のような問題点がある。
すなわち、上記の方法では、ファイルを追記して、ファイルデータ格納領域が追加される度にファイルデータ格納領域の位置を示す情報を追加する必要がある。
更に、ファイルサイズやタイムスタンプ等、ファイルを追記する際に変化する情報も更新する必要がある。これらの情報は、全て１つのファイルに割り当てられた一連のディレクトリエントリ群の中に含まれるものであるが、先の循環シフト型チェックサムをディレクトリエントリ内に含む場合、チェックサム算出値がデータの並び順に依存することから、１バイトでも情報が変化した場合、算出対象データを全て参照し直してチェックサムを再計算する必要がある。
特に、ファイルサイズが大きくなり、ファイルデータ格納領域の位置を示す情報が増加するに従い、再計算時に参照すべきデータ量が増加し、チェックサム再計算処理にかかるオーバーヘッドが大きくなるという問題が生じる。
【００１８】
本発明では、上記問題点に鑑み、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサムの再計算を効率的に行い、かつ、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現するファイルシステムを扱うアクセスモジュール、情報記録モジュール、及び情報記録システムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
第１の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、用いてファイルの管理を行うファイルシステム制御部を備える。
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理し、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
【００２０】
そして、ファイルシステム制御部は、エクステント情報エントリを、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納する。
このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、このアクセス装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、このアクセス装置では、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【００２１】
さらに、このアクセス装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
さらに、このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理（演算処理）を高速化することができる。
なお、「アクセス装置」は、アクセスモジュールを含む概念である。
【００２２】
第２の発明は、第１の発明であって、エントリ群は、エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む。
これにより、このアクセス装置では、例えば、エクステント領域指定エントリを含みエクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、エクステント領域指定エントリを含まない通常ファイル（拡張ファイル以外のファイル）とを効率良く管理（アクセス）することができる。
第３の発明は、第２の発明であって、ファイルシステム制御部は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリを、エクステント領域に追加する。
【００２３】
第４の発明は、第３の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと同一バイト長である。
第５の発明は、第３の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと異なるバイト長である。
第６の発明は、第１から第５のいずれかの発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
第７の発明は、第１から第６のいずれかの発明であって、拡張ファイル処理部と、通常ファイル処理部と、を備える。
ファイルにアクセスする場合、拡張ファイル処理部は、ファイルに対応するエントリ群がエクステント領域指定エントリを含むときは、エクステント領域指定エントリおよびエクステント領域用エクステント情報エントリに基づいて、ファイルに対するアクセス制御を行う。
【００２４】
ファイルにアクセスする場合、通常ファイル処理部は、ファイルに対応するエントリ群がエクステント領域指定エントリを含まないときは、ファイルアロケーションテーブルに基づいて、ファイルに対するアクセス制御を行う。
第８の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置である。不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
ファイルデータは、固定長ブロック単位で管理されている。
エクステント情報エントリは、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
【００２５】
そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
この情報記録装置では、例えば、アクセス装置から制御されることで、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、この情報記録装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録装置を用いることで、エクステント情報エントリによりファイル管理を行うことができ、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【００２６】
さらに、この情報記録装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、この情報記録装置が扱うファイルシステムの信頼性を高めることも可能となる。
さらに、この情報記録装置では、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理（演算処理）を高速化することができる。
なお、「情報記録装置」は、情報記録モジュールを含む概念である。
【００２７】
第９の発明は、第８の発明であって、エントリ群は、エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む。
第１０の発明は、第９の発明であって、エクステント領域は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリが追加される構成である。
第１１の発明は、第１０の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと同一バイト長である。
第１２の発明は、第１０の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと異なるバイト長である。
第１３の発明は、第８から第１２のいずれかの発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
【００２８】
第１４の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置と、情報記録装置にアクセスするアクセス装置と、備える情報記録システムである。
ファイルデータは、固定長ブロック単位で管理されており、不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
エクステント情報エントリは、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
【００２９】
アクセス装置は、不揮発性メモリ内に格納された情報を用いて不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える。
そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
この情報記録システムでは、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、この情報記録システムでは、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録システムでは、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【００３０】
さらに、この情報記録システムでは、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
さらに、この情報記録システムでは、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理（演算処理）を高速化することができる。
第１５の発明は、第１から第７のいずれかの発明であるアクセス装置と、第８から第１３のいずれかの発明である情報記録装置と、を備える情報記録システムである。
【００３１】
第１６の発明は、ファイルデータを格納する不揮発性メモリを用いるファイル管理方法である。このファイル管理方法は、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を用いて、ファイルの管理を行う。
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。
【００３２】
そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
このファイル管理方法では、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、このファイル管理方法では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、このファイル管理方法では、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
さらに、このファイル管理方法では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このファイル管理方法が扱うファイルシステムの信頼性を高めることも可能となる。
【００３３】
さらに、このファイル管理方法では、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理（演算処理）を高速化することができる。
第１７の発明は、第１６の発明であるファイル管理方法をコンピュータに実行させるプログラムである。
これにより、第１６の発明と同様の効果を奏するプログラムを実現することができる。
【発明の効果】
【００３４】
本発明によれば、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサムの再計算を効率的に行い、且つ、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することが可能となる。
【図面の簡単な説明】
【００３５】
【図１】第１実施形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図
【図２】ＦＡＴ型ファイルシステムの構成を示した説明図
【図３】ディレクトリエントリの構成を示した説明図
【図４】ＦＡＴの一例を示した説明図
【図５】循環シフト型チェックサムの算出処理を示したフローチャート
【図６】第１実施形態における基本エントリの構成を示した説明図
【図７】第１実施形態における名称エントリの構成を示した説明図
【図８】第１実施形態におけるエクステント情報エントリの構成を示した説明図
【図９】第１実施形態における更新情報エントリの構成を示した説明図
【図１０】第１実施形態におけるダミーエントリの構成を示した説明図
【図１１】第１実施形態における通常ファイルのエントリシーケンスの一例を示した説明図
【図１２】第１実施形態における拡張ファイルのエントリシーケンスの一例を示した説明図
【図１３】第１実施形態におけるファイルデータ書き込み処理手順を示したフローチャート
【図１４】第１実施形態における拡張ファイルのエントリシーケンスの更新例を示した説明図
【図１５】第１実施形態における接続エントリの構成を示した説明図
【図１６】第１実施形態における拡張ファイルのエントリシーケンスの別の一例を示した説明図
【図１７】第２実施形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図
【図１８】第２実施形態におけるエクステント領域指定エントリの構成を示した説明図
【図１９】第２実施形態におけるファイルデータ書き込み処理手順を示したフローチャート
【発明を実施するための形態】
【００３６】
以下、本発明のアクセスモジュール、情報記録モジュール、及び情報記録システムについて、図面を参照しつつ説明する。
［第１実施形態］
図１は、本発明の第１実施形態に係る情報記録システム１０００の構成図である。図１に示すように、情報記録システム１０００は、アクセスモジュール１と、情報記録モジュール２と、を備える。
＜１．１：アクセスモジュールの構成＞
図１に示すように、アクセスモジュール１は、ＣＰＵ１１、ＲＡＭ１２、情報記録モジュールインタフェース１３、ＲＯＭ１４を含む。
ＲＯＭ１４には、アクセスモジュール１を制御するプログラムが格納されており、このプログラムは、ＲＡＭ１２を一時記憶領域として使用し、ＣＰＵ１１上で動作する。
【００３７】
情報記録モジュールインタフェース１３は、情報記録モジュール２とアクセスモジュール１との接続部であり、制御信号及びデータの送受信を行う。
ＲＯＭ１４は、更に、アプリケーション制御部１０１、ファイルシステム制御部１０２、情報記録モジュールアクセス部１０５を含む。
アプリケーション制御部１０１は、データの生成や電源の制御などアクセスモジュール１全体の制御を行う。
ファイルシステム制御部１０２は、ファイルシステムによりデータをファイルとして管理するための制御を行う。
情報記録モジュールアクセス部１０５は、ファイルシステム制御部１０２からデータと共にサイズとアドレスとを渡され、指定されたサイズのデータを情報記録モジュール２の記録領域内における指定された位置に記録するなど、情報記録モジュール２に対するコマンドやデータの送受信を制御する。
【００３８】
ファイルシステム制御部１０２は、更に、通常ファイル処理部１０３、拡張ファイル処理部１０４を含む。
通常ファイル処理部１０３は、ＦＡＴ（３０５、３０６）により領域管理される比較的小さなサイズのファイルにアクセスする処理を行う処理部である。
拡張ファイル処理部１０４は、本発明の特徴を示す処理部であり、本発明で規定するエクステント情報エントリ２０３により領域管理される比較的大きなサイズのファイルにアクセスする処理を行う処理部である。
＜１．２：情報記録モジュールの構成＞
一方、図１において、情報記録モジュール２は、アクセスモジュールインタフェース２１、ＣＰＵ２２、ＲＡＭ２３、ＲＯＭ２４、不揮発性メモリ２５を含む。
【００３９】
アクセスモジュールインタフェース２１は、情報記録モジュール２とアクセスモジュール１との接続部であり、情報記録モジュールインタフェース１３同様、制御信号及びデータを送受信するインタフェースである。
ＲＯＭ２４には、情報記録モジュール２を制御するプログラムが格納されており、このプログラムはＲＡＭ２３を一時記憶領域として使用し、ＣＰＵ２２上で動作する。
不揮発性メモリ２５は、アクセスモジュール１から送信されたデータを記録する領域であり、不揮発性メモリ２５において、記録・再生・保持等されるデータは、ＦＡＴ型ファイルシステム２６により管理されている。すなわち、不揮発性メモリ２５内の論理アドレス空間は、図２で示した構成を一例とするＦＡＴ型ファイルシステム２６によるアドレス空間であり、不揮発性メモリ２５に、記録（書き込み）・再生（読み出し）・保持等されるデータは、図２で示した構成を一例とするＦＡＴ型ファイルシステム２６により定義されるデータ構造を有している。すなわち、不揮発性メモリ２５の記録領域は、クラスタ単位に分割され、ＦＡＴ（３０５、３０６）を用いて管理されており、ファイルやディレクトリの名称やサイズ等の情報は、ディレクトリエントリを用いて管理されている。
【００４０】
本発明では、特許文献２で開示されている拡張ファイルシステムと同様に、ディレクトリエントリ内のタイプフィールドにより種々のディレクトリエントリを規定できる場合を想定している。また、本発明では、１つのファイルに対して複数のディレクトリエントリを割り当て、該当ファイルに関する情報を格納する。
本発明では、これら一連のディレクトリエントリ群を「エントリシーケンス２７」と呼ぶ。
（１．２．１：エントリシーケンス）
図１の不揮発性メモリ２５内には、エントリシーケンス２７の一例が示されている。
図１に示すように、このエントリシーケンス２７は、基本エントリ２０１、名称エントリ２０２、エクステント情報エントリ２０３、更新情報エントリ２０４、ダミーエントリ２０５から構成されている。
【００４１】
各エントリの詳細は後述するが、情報記録システム１０００では、エントリシーケンス内にファイルデータ格納領域の位置と大きさの情報を含むエクステント情報エントリ２０３を１つ以上含ませることにより、シーク処理を高速化する。
更に、情報記録システム１０００では、更新情報エントリ２０４、ダミーエントリ２０５を用いることにより、循環シフト型チェックサムを高速に算出することを実現している。
このように情報記録システム１０００では、拡張ファイル処理部１０４で、エクステント情報エントリ２０３、更新情報エントリ２０４、ダミーエントリ２０５を用いたファイル管理を行う。これにより、情報記録システム１０００では、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサム再計算を効率的に行い、かつ、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現する。
【００４２】
（１．２．２：各ディレクトリエントリの詳細）
続いて、本発明の第１実施形態における、各ディレクトリエントリの詳細について説明する。本発明の第１実施形態では、ディレクトリエントリは、全て３２バイトの固定長である場合を想定している。
各ディレクトリエントリは、先頭１バイトに「タイプフィールド」を持ち、そのフィールドに設定される値に応じて種々のディレクトリエントリが定義される。
本実施形態（情報記録システム１０００）では、
（１）基本エントリ２０１、
（２）名称エントリ２０２、
（３）エクステント情報エントリ２０３、
（４）更新情報エントリ２０４、
（５）ダミーエントリ２０５、
の５種類のディレクトリエントリが存在する。
【００４３】
上記５種類のディレクトリエントリについて、図６〜図１０を用いて、以下、説明する。なお、図６〜図１０に示した図（表）において、「オフセット」欄および「サイズ」欄の単位は、バイトであり、上記５種類のディレクトリエントリは、３２バイトの固定長であるものとする。
≪（１）基本エントリ２０１≫
図６は、基本エントリ２０１の構成を示す図である。
基本エントリ２０１は、ファイルの基本的な情報を格納するディレクトリエントリであり、全てのファイルのエントリシーケンス２７に必ず１つずつ含まれるディレクトリエントリである。
“タイプ”フィールドは、基本エントリ２０１であることを示す固定値を格納するフィールドである。
【００４４】
“２次エントリの個数”フィールドは、基本エントリ２０１に後続する２次エントリの個数を格納するフィールドである。例えば、本フィールドに“１０”が格納されていた場合、該当ファイルに対応するエントリシーケンス２７は、基本エントリも含めて１１個のディレクトリエントリから構成されていることになる。
“チェックサム”フィールドは、該当エントリシーケンス２７の循環シフト型チェックサムの値を格納するフィールドである。本フィールドを設けることにより、１つのファイルに複数のディレクトリエントリを割り当てた場合においてもディレクトリエントリ間の不整合を検出し、ファイルシステムの信頼性を高めることが可能となる。
例えば、１つのファイルに複数のディレクトリエントリを割り当てる拡張ＦＡＴファイルシステムにおいて、当該複数のディレクトリエントリのデータが、不揮発性メモリ２５の２つのセクタ（または２つのクラスタ）に跨るデータ（セクタ境界のデータ（またはクラスタ境界のデータ））である場合を考える。この場合において、当該複数のディレクトリエントリのデータを不揮発性メモリ２５に書き込んでいるときに、一方のセクタ（あるいはクラスタ）でデータ書き込みを完了し、その後、もう一方のセクタ（あるいはクラスタ）にデータ書き込みが完了しない間に、例えば、電源ＯＦＦ等の事由によりデータ書き込み処理が中断された場合、当該ディレクトリエントリ間の整合がとれないことになる。このような場合、”チェックサム”フィールドのチェックサムにより、ディレクトリエントリ間の不整合を検出することができるので、ファイルシステムの信頼性を高めることができる。
【００４５】
なお、循環シフト型チェックサムを算出する際には、本フィールド（“チェックサム”フィールド）自体は処理に含めないものとする。
“属性”フィールドは、読み取り専用属性やシステムファイル属性等のファイル属性を格納するフィールドである。
“タイムスタンプ”フィールドは、ファイルの作成日時や更新日時等のタイムスタンプを格納するフィールドである。
“タイムゾーン”フィールドは、タイムスタンプが設定された時点のタイムゾーンを格納するフィールドである。
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は０ｘ００を格納する。
【００４６】
“開始クラスタ番号”フィールドは、ファイルデータを格納している領域の先頭クラスタ番号を格納するフィールドである。
“ファイルサイズ”フィールドは、ファイルのサイズを格納するフィールドである。
≪（２）名称エントリ２０２≫
図７は、名称エントリ２０２の構成を示す図である。
名称エントリ２０２は、ファイルの名称を格納するディレクトリエントリであり、基本エントリ２０１同様、全てのファイルのエントリシーケンス２７に必ず１つずつ含まれるディレクトリエントリである。
“タイプ”フィールドは、名称エントリ２０２であることを示す固定値を格納するフィールドである。
【００４７】
“ファイル名長”フィールドは、ファイル名の長さを格納するフィールドである。
“名前ハッシュ”フィールドは、ファイル名のハッシュ値を格納するフィールドである。
“ファイル名”フィールドは、ファイルの名称を格納するフィールドである。
≪（３）エクステント情報エントリ２０３≫
図８は、エクステント情報エントリ２０３の構成を示す図である。
エクステント情報エントリ２０３は、ファイルデータ格納領域の位置と大きさを示す情報を格納するディレクトリエントリであり、ファイルにより本エントリが存在する場合と存在しない場合があり得る。
１つのエクステント情報エントリ２０３は、１つの連続領域に関する情報を格納するため、ファイルが複数の連続領域から構成されている場合には、複数のエクステント情報エントリ２０３がエントリシーケンス２７に含まれることになる。エクステント情報エントリ２０３は、連続領域の位置と大きさを示す情報を格納するため、連続領域が大きくても３２バイトの固定長ディレクトリエントリで位置情報を管理することができる。そのため、ファイルをシークする場合には、ＦＡＴ（３０５、３０６）を参照せず、エクステント情報エントリ２０３を参照することにより、シーク処理を高速化することが可能となる。
【００４８】
“タイプ”フィールドは、エクステント情報エントリ２０３であることを示す固定値を格納するフィールドである。
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は０ｘ００を格納する。
“開始クラスタ番号”フィールドは、連続領域の先頭クラスタ番号を格納するフィールドである。
“連続領域サイズ”フィールドは、連続領域の大きさを格納するフィールドである。
≪（４）更新情報エントリ２０４≫
図９は、更新情報エントリ２０４の構成を示す図である。
更新情報エントリ２０４は、基本エントリ２０１に存在するフィールドの内、ファイルを上書き、追記する際に更新される情報を格納するディレクトリエントリであり、ファイルによりこの更新情報エントリ２０４が存在する場合と存在しない場合があり得る。但し、更新情報エントリ２０４が存在する場合には、更新情報エントリ２０４は、エントリシーケンス２７に１つのみ含まれる。本エントリをエントリシーケンス２７内の後方に配置し、基本エントリ２０１に含まれるフィールドの更新が発生する場合には、本エントリのフィールドのみを更新することにより、最新の更新情報を保持する。
【００４９】
これにより、基本エントリ２０１の更新が不要となり、循環シフト型チェックサムを再度基本エントリ２０１から参照し直して再計算する必要がなくなり、チェックサム算出処理を高速化することが可能となる。
“タイプ”フィールドは、更新情報エントリ２０４であることを示す固定値を格納するフィールドである。
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は０ｘ００を格納する。
“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドは、基本エントリ２０１に存在する各フィールドと同様の情報を格納するフィールドである。
エントリシーケンス２７に更新情報エントリ２０４が存在する場合、基本エントリ２０１内に存在するこれらのフィールド（“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールド）は使用されず、更新情報エントリ２０４内に存在するフィールド（“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールド）のみが使用される。
【００５０】
≪（５）ダミーエントリ２０５≫
図１０は、ダミーエントリ２０５の構成を示す図である。
ダミーエントリ２０５は、それ自体には有効なデータを含まず、循環シフト型チェックサムの算出オーバーヘッドを削減するために使用されるディレクトリエントリである。
“タイプ”フィールドは、ダミーエントリ２０５であることを示す固定値を格納するフィールドである。
“０ｘ００パディング”は、循環シフト型チェックサムの算出を容易にするため、０ｘ００を格納する。
情報記録システム１０００では、これら各種ディレクトリエントリを組み合わせて、各ファイルに対応するエントリシーケンス２７が構成される。
【００５１】
続いて、エントリシーケンス２７の例について、図１１、図１２を用いて説明する。
（１．２．３：通常ファイルのエントリシーケンス２７）
情報記録システム１０００において、比較的小さなサイズのファイル（以下、「通常ファイル」という。）を取り扱う場合は、アクセスモジュール１の通常ファイル処理部１０３により、ＦＡＴ（３０５、３０６）を主に使用して領域管理を行う。
図１１は、「通常ファイル」のエントリシーケンス２７の一例を示した図である。
通常ファイルのエントリシーケンス２７には、ファイルの基本的な情報を格納する基本エントリ２０１、ファイル名を格納する名称エントリ２０２が存在する。通常ファイルは、ファイルサイズが小さいため、ＦＡＴ（３０５、３０６）を用いてシーク処理を実施しても短時間で処理が終了する。このため、情報記録システム１０００において、通常ファイルに対する処理を行う場合、エクステント情報エントリ２０３は使用しない。したがって、図１１に示すように、通常ファイルのエントリシーケンス２７にもエクステント情報エントリ２０３は存在しない。
【００５２】
（１．２．４：拡張ファイルのエントリシーケンス２７）
また、情報記録システム１０００において、比較的大きなサイズのファイル（以下、「拡張ファイル」という。）を取り扱う場合は、アクセスモジュール１の拡張ファイル処理部１０４により、エクステント情報エントリ２０３を主に使用して領域管理を行う。
図１２は、「拡張ファイル」のエントリシーケンス２７の一例を示した図である。
拡張ファイルのエントリシーケンス２７の先頭には、基本エントリ２０１、名称エントリ２０２が存在する。更にその後には、ファイルデータ格納領域の位置と大きさに関する情報を格納するエクステント情報エントリ２０３が１つ以上存在する。
また、エクステント情報エントリ２０３の終端の直後には、更新情報エントリ２０４が存在し、以降、任意の個数のダミーエントリ２０５が存在する。
【００５３】
拡張ファイルは、ファイルサイズが大きいため、ＦＡＴ（３０５、３０６）を用いてシーク処理を実施すると長時間かかる。このため、情報記録システム１０００において、拡張ファイルに対する処理を行う場合、エクステント情報エントリ２０３を用いてシーク処理を実施する。これにより、ＦＡＴ型ファイルシステムにおいて、シーク処理を高速化することが可能となる。更に、更新情報エントリ２０４、ダミーエントリ２０５を使用することにより、循環シフト型チェックサムの算出処理を高速化することが可能となる。
＜１．３：ファイルデータ書き込み処理手順＞
続いて、情報記録システム１０００におけるファイルデータ書き込み処理手順について、図１３を用いて説明する。情報記録システム１０００における書き込み処理手順は、「通常ファイル」と「拡張ファイル」とでは、大きく処理手順が異なる。
【００５４】
情報記録システム１０００における処理手順の詳細は、次の通りである。
（Ｓ１３０１）：
アクセスモジュール１は、書き込み対象ファイルのエントリシーケンス２７を見つけ出し、基本エントリ２０１、名称エントリ２０２を情報記録モジュール２から読み出す。
（Ｓ１３０２）：
アクセスモジュール１は、エントリシーケンス２７にエクステント情報エントリ２０３が含まれるか判定する。エクステント情報エントリ２０３が含まれない「通常ファイル」の場合、Ｓ１３０３の処理に進む。また、エクステント情報エントリ２０３が含まれる「拡張ファイル」の場合、Ｓ１３１０の処理に進む。
（通常ファイルの場合の処理）：
（Ｓ１３０３）：
Ｓ１３０２の判定処理において、対象ファイルが「通常ファイル」であると判定された場合、アクセスモジュール１は、ＦＡＴ（３０５、３０６）等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込む処理を情報記録モジュール２に対して指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、実際にファイルデータを、不揮発性メモリ２５の空き領域に書き込む。
【００５５】
この処理は、従来のＦＡＴ型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。
（Ｓ１３０４）：
アクセスモジュール１からの指示により、情報記録モジュール２において、ＦＡＴ（３０５、３０６）等の領域管理情報が更新され、更新された領域管理情報が情報記録モジュール２の不揮発性メモリ２５に書き込まれる。
この処理も、従来のＦＡＴ型ファイルシステムにおける領域管理情報更新処理と同様のものである。
（Ｓ１３０５）：
アクセスモジュール１は、基本エントリ２０１の“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドをアクセスモジュール１内のＲＡＭ１２上で更新する。
【００５６】
（Ｓ１３０６）：
アクセスモジュール１は、基本エントリ２０１、名称エントリ２０２を参照し、循環シフト型チェックサムを算出する。
（Ｓ１３０７）：
アクセスモジュール１は、アクセスモジュール１内のＲＡＭ１２上において、Ｓ１３０６で算出したチェックサムの値を、基本エントリ２０１の“チェックサム”のフィールドに格納する。
（Ｓ１３０８）：
アクセスモジュール１は、情報記録モジュール２に対して、アクセスモジュール１内のＲＡＭ１２上で更新した基本エントリ２０１を情報記録モジュール２に書き込むよう指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、アクセスモジュール１内のＲＡＭ１２上で更新された基本エントリ２０１を情報記録モジュール２の不揮発性メモリ２５に書き込む。
【００５７】
（Ｓ１３０９）：
アクセスモジュール１は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はＳ１３０３の処理に戻る。
（拡張ファイルの場合の処理）：
（Ｓ１３１０）：
一方、Ｓ１３０２の判定処理において、対象ファイルが「拡張ファイル」であると判定された場合、アクセスモジュール１は、エントリシーケンス２７の先頭に存在する基本エントリ２０１から、エクステント情報エントリ２０３の終端まで参照し、循環シフト型チェックサムの値（Ｃ１）を算出する。
【００５８】
（Ｓ１３１１）：
アクセスモジュール１は、ＦＡＴ（３０５、３０６）等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込む処理を情報記録モジュール２に対して指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、実際にファイルデータを、不揮発性メモリ２５の空き領域に書き込む。
この処理は、従来のＦＡＴ型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。
（Ｓ１３１２）：
アクセスモジュール１は、ＦＡＴ（３０５、３０６）等の領域管理情報を更新し、情報記録モジュール２に書き込む処理を情報記録モジュール２に対して指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、更新された領域管理情報を、不揮発性メモリ２５に書き込む。
【００５９】
この処理も、従来のＦＡＴ型ファイルシステムにおける領域管理情報更新処理と同様のものである。
（Ｓ１３１３）：
アクセスモジュール１は、アクセスモジュール１内のＲＡＭ１２上において、エントリシーケンス２７におけるエクステント情報エントリ２０３の終端、すなわち、更新情報エントリ２０４が存在する位置に、新しいエクステント情報エントリ２０３を追加する。この新しいエクステント情報エントリ２０３には、Ｓ１３１１で取得した空き領域の位置と大きさを示す情報を格納する。
（Ｓ１３１４）：
アクセスモジュール１は、アクセスモジュール１内のＲＡＭ１２上において、現在の更新情報エントリ２０４を最新のエクステント情報エントリ２０３の終端の直後に移動する。この際、“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドには、最新の情報を格納する。
【００６０】
（Ｓ１３１５）：
アクセスモジュール１は、Ｃ１の値に、Ｓ１３１３で追加したエクステント情報エントリ２０３の循環シフト型チェックサムＣ＿ｅｘｔｅｎｔを加算する（Ｃ２）。すなわち、アクセスモジュール１は、
Ｃ２＝Ｃ１＋Ｃ＿ｅｘｔｅｎｔ
に相当する処理を行う。
（Ｓ１３１６）：
Ｃ２の値に、Ｓ１３１４で更新した更新情報エントリ２０４の循環シフト型チェックサムＣ＿ｕｐｄａｔｅを加算する（Ｃ３）。すなわち、アクセスモジュール１は、
Ｃ３＝Ｃ２＋Ｃ＿ｕｐｄａｔｅ
に相当する処理を行う。
【００６１】
（Ｓ１３１７）：
エントリシーケンス２７に含まれるダミーエントリ２０５の循環シフト型チェックサムを演算により算出し、算出したチェックサム値Ｃ＿ｄｕｍｍｙをＣ３の値に加算する（Ｃ４）。すなわち、アクセスモジュール１は、
Ｃ４＝Ｃ３＋Ｃ＿ｄｕｍｍｙ
に相当する処理を行う。
ここで、チェックサムの値が１６ビット長である場合、図５の循環シフト型チェックサム算出処理手順を適用すると、
「Ｃ４＝Ｃ３＋（“タイプ”フィールドの値）×ダミーエントリ数」
となることが分かる。これは、ダミーエントリ２０５のサイズが１６の倍数長の３２バイトであり、“０ｘ００パディング”フィールドが全て０ｘ００に設定されていることに起因する。すなわち、ダミーエントリ２０５のサイズが１６の倍数長であることから、“タイプ”フィールドの加算すべきビット位置が常に一意に固定されおり、“タイプ”フィールドの値に関する算出処理は、単純に“タイプ”フィールドの値をダミーエントリ数分だけ加算するという処理に置き換えることが出来る。また、“０ｘ００パディング”フィールドが全て０ｘ００であることから、これらの値はチェックサムの値に影響を与えることがない。
【００６２】
よって、Ｃ４を算出する際には、実際に情報記録モジュール２からダミーエントリ２０５の領域を読み出す必要はなく、先に示したような単純な算術演算により循環シフト型チェックサムを算出することが可能となる。
なお、図５に示した循環シフト型チェックサム算出処理手順において、チェックサムの値のビット長は、必ずしも、上記のように１６ビット長（２バイト長）にする必要はなく、例えば、チェックサムの値のビット長を、８ビット長（１バイト長）にしてもよい。
（Ｓ１３１８）：
アクセスモジュール１は、アクセスモジュール１内のＲＡＭ１２上において、Ｓ１３１７で算出したＣ４の値を、基本エントリ２０１の“チェックサム”のフィールドに格納する。
【００６３】
（Ｓ１３１９）：
アクセスモジュール１は、情報記録モジュール２に対して、アクセスモジュール１内のＲＡＭ１２上で更新した基本エントリ２０１、Ｓ１３１３で追加したエクステント情報エントリ２０３、更新情報エントリ２０４を情報記録モジュール２に書き込むよう指示する。情報記録モジュール２は、アクセスモジュール１の指示に従って、更新した基本エントリ２０１、Ｓ１３１３で追加したエクステント情報エントリ２０３、更新情報エントリ２０４を情報記録モジュール２の不揮発性メモリ２５に書き込む。
（Ｓ１３２０）：
アクセスモジュール１は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はＳ１３２１の処理に進む。
【００６４】
（Ｓ１３２１）：
Ｓ１３２０の判定処理において、全ファイルデータの書き込みが完了していないと判定された場合、Ｃ２の値をＣ１に代入し、Ｓ１３１１の処理に戻る。
≪エントリシーケンス２７の構造の一例≫
このような処理手順を実施した場合、ファイルデータを追記する度にエクステント情報エントリ２０３が増加することになる。その際のエントリシーケンス２７の構造の一例を、図１４を用いて説明する。
図１４（ａ）は、ファイルデータ書き込み前の初期状態のエントリシーケンス２７の一例を示す。この状態で既に３つの連続領域にファイルデータが書き込まれた状態であり、各々の連続領域は、３つのエクステント情報エントリ２０３により管理されている。
【００６５】
図１４（ｂ）は、図１４（ａ）の状態にファイルデータを追記した後の状態のエントリシーケンス２７の一例を示す。
この場合、Ｓ１３１０におけるＣ１の算出時に参照されるディレクトリエントリは、図１４（ｂ）に示す５つのディレクトリエントリ（図１４（ｂ）において、「Ｃ１の算出範囲」として示している５つのディレクトリエントリ）である。
同様に、Ｃ２、Ｃ３を算出する際に参照されるディレクトリエントリは、図１４（ｂ）に示す各々１つのディレクトリエントリ（図１４（ｂ）において、「Ｃ２の算出範囲」および「Ｃ３の算出範囲」として示しているディレクトリエントリ）である。
更に、Ｓ１３１７におけるＣ４の算出時に対象となるディレクトリエントリは、図１４（ｂ）に示す２つのディレクトリエントリ（図１４（ｂ）において、「Ｃ４の算出範囲」として示している２つのディレクトリエントリ）であるが、実際にはこれらのディレクトリエントリを参照する必要はなく、簡単な算術演算によりＣ４を算出することが可能である。
【００６６】
また、Ｓ１３１９において情報記録モジュール２に書き込まれるディレクトリエントリは、図１４（ｂ）で色付きの領域（背景をグレーにした領域）で示されている３つのディレクトリエントリ（基本ディレクトリエントリ２０１、エクステント情報エントリ２０３、更新情報エントリ２０４）となる。
図１４（ｃ）は、図１４（ｂ）の状態に、更に、ファイルデータを追記した後の状態のエントリシーケンス２７の一例を示す。
この場合、Ｓ１３２１において、既にＣ１（このＣ１は、図１４（ｂ）のＣ２と同一。）は算出されており、図１４（ｃ）の場合において、Ｃ２、Ｃ３を算出する際に参照されるディレクトリエントリは、図１４（ｃ）に示す各々１つのディレクトリエントリ（図１４（ｃ）に、「新Ｃ２の算出範囲」および「新Ｃ３の算出範囲」として示しているディレクトリエントリ）である。
【００６７】
更に、Ｓ１３１７におけるＣ４の算出時に対象となるディレクトリエントリは、図１４（ｃ）に示す１つのディレクトリエントリ（図１４（ｃ）に、「新Ｃ４の算出範囲」として示しているディレクトリエントリ）であるが、実際にはこのディレクトリエントリを参照する必要はなく、簡単な算術演算によりＣ４を算出することが可能である。また、Ｓ１３１９において、情報記録モジュール２に書き込まれるディレクトリエントリは、図１４（ｃ）で色付きの領域（背景をグレーにした領域）で示されている３つのディレクトリエントリ（基本ディレクトリエントリ２０１、エクステント情報エントリ２０３、更新情報エントリ２０４）となる。
すなわち、情報記録システム１０００では、図１４（ｂ）で示す初回のファイルデータ追記時には、Ｃ１、Ｃ２、Ｃ３の算出のために、合計７つのディレクトリエントリの参照が必要である。
【００６８】
一方、図１４（ｃ）で示すような２回目以降のファイルデータ追記時には、Ｃ２、Ｃ３の算出のために、合計２つのディレクトリエントリを参照するのみで良い。
このように、情報記録システム１０００におけるファイルデータ書き込み処理では、ファイルデータ追記時の循環シフト型チェックサム算出時に参照が必要なデータ量を削減することができる。その結果、情報記録システム１０００では、高速にチェックサムを算出することが可能となる。
また、図１３を用いて説明した処理手順では、基本エントリ２０１は、“チェックサム”フィールド以外のフィールドを更新していない。これは、更新情報エントリ２０４を使用していることに加え、ファイル作成時等に予め所定の個数のディレクトリエントリを格納する領域を確保しておき、その領域内の終端付近にはダミーエントリ２０５を格納しておくことにより、実現している。
【００６９】
例えば、情報記録システム１０００において、ファイル作成時に３２個のディレクトリエントリを格納する領域を用意して全体にダミーエントリ２０５を格納しておき、必要に応じて先頭から順にダミーエントリ２０５を上書きしていく形で基本エントリ２０１や名称エントリ２０２、エクステント情報エントリ２０３、更新情報エントリ２０４を格納していく。
このようにすることで、情報記録システム１０００では、基本エントリ２０１内の“２次エントリの個数”フィールドには、常に“３１”の値を格納しておけば良いことになり、基本エントリ２０１の更新が不要となる。但し、予め用意しておいたダミーエントリ２０５を全て消費してしまった場合は、新たにディレクトリエントリを格納する領域を確保し、ダミーエントリ２０５を格納する必要がある。この場合、基本エントリ２０１内の“２次エントリの個数”フィールドの値が変化するので、この場合に限り、情報記録システム１０００では、エントリシーケンス２７全体を参照して、循環シフト型チェックサムを再計算する必要が生じる。そのため、このような再計算が頻繁に発生しないよう、情報記録システム１０００では、ファイル作成時には、ある程度の大きさのディレクトリエントリ領域を確保しておく。
【００７０】
以上のように、情報記録システム１０００では、情報記録モジュール２の不揮発性メモリ２５がＦＡＴ型ファイルシステム２６で管理されており、１つのファイルに複数のディレクトリエントリが割り当てられる。
更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、情報記録システム１０００において、大きなサイズのファイルを処理対象とする場合、当該大きなサイズのファイルについて、エクステント情報エントリ２０３により連続領域の位置と大きさを示す情報が管理されている。
これにより、情報記録システム１０００では、ＦＡＴ型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
更に、情報記録システム１０００では、更新情報エントリ２０４とダミーエントリ２０５とを使用することにより、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。
【００７１】
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本実施形態で記載された数値は一例であり、他の値を使用しても良い。例えば、ファイル作成時に３２個のディレクトリエントリを格納する領域を用意する場合について説明したが、その他の値を用いても良い。
本実施形態では、情報記録システム１０００において、「通常ファイル」と「拡張ファイル」との２種類のファイルを取り扱う場合について説明したが、これに限定されることはなく、例えば、全てのファイルを「拡張ファイル」として取り扱っても良い。
また、本実施形態で説明した各種ディレクトリエントリの構成は、一例であり、必要に応じてフィールドを追加、修正、削除しても良い。１つのディレクトリエントリに含まれる情報を複数のディレクトリエントリに分割しても良いし、逆に、複数のディレクトリエントリに含まれる情報を１つのディレクトリエントリに含ませても良い。例えば、名称エントリ２０２に含まれる“ファイル名”フィールドを独立した別のディレクトリエントリに移動させる場合が考えられる。このようにすることで、ファイル名が名称エントリ２０２に格納可能な２８バイトを超えた場合においても、ファイル名のみを格納する独立したディレクトリエントリを複数個、エントリシーケンス２７に格納することにより、容易に対応することが可能となる。
【００７２】
更に、エクステント情報エントリ２０３に格納する連続領域の位置と大きさを示す情報を、複数の連続領域分格納するように変更することが考えられる。このようにすることで、１ファイル当りのエクステント情報エントリ２０３の数を削減することが可能であり、情報記録システム１０００において、更に効率的に連続領域を管理することが可能となる。
また、本実施形態で説明したエントリシーケンス２７の構成は一例であり、必要に応じて、新たなディレクトリエントリを定義し、エントリシーケンス２７に追加しても良いし、その他の変更を加えても良い。
また、Ｓ１３１１、Ｓ１３１２の処理では、領域管理情報としてＦＡＴ（３０５、３０６）を用いる場合について説明したが、必ずしもＦＡＴ（３０５、３０６）を用いる必要はない。
【００７３】
例えば、ＦＡＴ（３０５、３０６）は、クラスタ間のリンク情報のみを管理するテーブルとして使用し、空き領域管理には、別にアロケーションビットマップを用いる場合においては、Ｓ１３１１、Ｓ１３１２の処理でアロケーションビットマップのみを使用し、ＦＡＴ（３０５、３０６）を使用する必要はない。すなわち、ＦＡＴ（３０５、３０６）が管理するリンク情報は、エクステント情報エントリ２０３で管理されるため、これらの処理においてＦＡＴ（３０５、３０６）を使用する必要はない。
また、図１３の処理手順では、拡張ファイルへのデータ書き込み時において、空き領域を取得する度にエクステント情報エントリ２０３を追加する場合について説明した。
しかしながら、Ｓ１３１１で取得した空き領域が、現在の書き込みデータの直前のファイルデータを格納した領域と連続している領域の場合、必ずしもエクステント情報エントリ２０３を追加する必要はない。
【００７４】
例えば、フォーマット直後の状態において、１つのファイルを追記し続ける場合等は、連続した領域を確保し続けることができるため、エクステント情報エントリ２０３は、常に１つしか存在せず、その１つのエクステント情報エントリ２０３で全ファイルデータの格納領域の位置と大きさを示すことができる。
また、上記では、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合について説明したが、これに限定されることはなく、例えば、ＣＲＣ、ハッシュ値（ハッシュ関数）など、循環シフト型チェックサム以外の方法を用いても良い。
また、基本エントリ２０１の“２次エントリの個数”フィールドが１バイトである例について説明したが、この場合、エントリシーケンス２７の大きさは最大でも２５６個のディレクトリエントリとなる。フィールドを２バイトに拡張して、より多くのディレクトリエントリをエントリシーケンス２７に含められるようにしても良いが、その他の方法として、複数のエントリシーケンス２７を接続して、１つのファイルの管理情報を格納する方法が考えられる。
【００７５】
この場合、例えば、図１５に示すような接続エントリ２０６を定義し、図１６に示すようなエントリシーケンス２７の構成を採るようにしても良い。
図１６において、基本エントリ２０１内の“２次エントリの個数”フィールドは、“２５５”に設定されており、基本エントリ２０１内の“チェックサム”フィールドには、先頭２５６エントリ分のチェックサムが保持される。２５７番目のディレクトリエントリには、接続エントリ２０６が格納され、直前のエントリシーケンス２７がまだ継続していることを示す。このように２５６エントリ毎に接続エントリ２０６を挿入することにより、１ファイルに割り当てられるディレクトリエントリの個数を増加させることが可能となる。
［第２実施形態］
続いて、本発明の第２実施形態について説明する。
【００７６】
図１７は、第２実施形態に係る情報記録システム２０００の構成図である。図１７に示すように、情報記録システム２０００は、アクセスモジュール１と、情報記録モジュール２と、を備える。
本実施形態の情報記録システム２０００（図１７参照）は、第１実施形態の情報記録システム１０００（図１参照）とは、情報記録モジュール２内の不揮発性メモリ２５に構築されているＦＡＴ型ファイルシステム２６内の構成が異なる。それ以外については、情報記録システム２０００は、情報記録システム１０００とは同様であるので、詳細な説明は省略する。
第１実施形態の情報記録システム１０００では、エントリシーケンス２７内に、エクステント情報エントリ２０３、更新情報エントリ２０４、ダミーエントリ２０５が存在していたが、第２実施形態の情報記録システム２０００では、これらのエントリは、エントリシーケンス２７内には存在せず、代わりにエクステント領域指定エントリ２０７が追加されている。第２実施形態の情報記録システム２０００では、エクステント情報エントリ２０３を直接エントリシーケンス２７内に格納するのではなく、任意のクラスタを割り当てて、その中に格納するようにする。
【００７７】
このようにすることにより、情報記録システム２０００では、エントリシーケンス２７の大きさが増加することを防止することができ、循環シフト型チェックサムを高速に算出することが可能となる。
≪エクステント領域指定エントリ２０７の構成≫
図１８は、エクステント領域指定エントリ２０７の構成を示す図である。
エクステント領域指定エントリ２０７は、該当ファイルのエクステント情報エントリ２０３を格納する領域の位置を示す情報を格納するディレクトリエントリである。
“タイプ”フィールドは、エクステント領域指定エントリ２０７であることを示す固定値を格納するフィールドである。
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は０ｘ００を格納する。
【００７８】
“開始クラスタ番号”フィールドは、エクステント情報エントリ２０３を格納する任意のクラスタ領域の先頭クラスタ番号を格納するフィールドである。
“エクステント領域サイズ”フィールドは、上記領域全体の大きさを格納するフィールドである。
本実施形態の情報記録システム２０００では、エントリシーケンス２７は、基本エントリ２０１、名称エントリ２０２、エクステント領域指定エントリ２０７から構成される。
エクステント情報エントリ２０３は、エクステント領域指定エントリ２０７で示される任意のクラスタ内に格納されるため、エントリシーケンス２７には含まれない。その結果、情報記録システム２０００では、エントリシーケンス２７の大きさが小さく抑えられ、循環シフト型チェックサムの算出を高速に行うことが可能となる。そのため、タイムスタンプやファイルサイズ等の情報は、直接基本エントリ２０１を更新することにより実施され、更新情報エントリ２０４は、不要となる。
【００７９】
更に、情報記録システム２０００では、ファイルデータの書き込みによりエントリシーケンス２７の大きさが変化しないことから、ダミーエントリ２０５も不要となる。
≪ファイルデータ書き込み処理手順≫
続いて、情報記録システム２０００におけるファイルデータ書き込み処理手順について、図１９を用いて説明する。
図１９の処理手順は、図１３で説明した処理手順と同様に、「通常ファイル」と「拡張ファイル」によって、処理内容が異なる。
（Ｓ１９０１）：
アクセスモジュール１は、書き込み対象ファイルのエントリシーケンス２７を見つけ出し、基本エントリ２０１、名称エントリ２０２を情報記録モジュール２から読み出す。
【００８０】
（Ｓ１９０２）：
アクセスモジュール１は、エクステント領域指定エントリ２０７を参照し、エクステント領域２８にエクステント情報エントリ２０３が含まれているか否かを判定する。
エクステント領域２８にエクステント情報エントリ２０３が含まれない「通常ファイル」の場合、Ｓ１９０３の処理に進む。また、エクステント領域２８にエクステント情報エントリ２０３が含まれる「拡張ファイル」の場合、Ｓ１９１０の処理に進む。
なお、「通常ファイル」に対する処理であるＳ１９０３以降の処理は、図１３で説明した処理手順と同様であるため、説明を省略する。
（拡張ファイルの場合の処理）：
（Ｓ１９１０）：
Ｓ１９０２の判定処理において、対象ファイルが「拡張ファイル」であると判定された場合、アクセスモジュール１は、情報記録モジュール２に対して、ＦＡＴ（３０５、３０６）等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込むよう指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、実際にファイルデータを、不揮発性メモリ２５の空き領域に書き込む
この処理は、従来のＦＡＴ型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。
【００８１】
（Ｓ１９１１）：
アクセスモジュール１は、ＦＡＴ（３０５、３０６）等の領域管理情報を更新し、情報記録モジュール２に書き込む処理を情報記録モジュール２に対して指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、更新された領域管理情報を、不揮発性メモリ２５に書き込む。
この処理も、従来のＦＡＴ型ファイルシステムにおける領域管理情報更新処理と同様のものである。
（Ｓ１９１２）：
アクセスモジュール１は、基本エントリ２０１の“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドをアクセスモジュール１内のＲＡＭ１２上で更新する。
【００８２】
（Ｓ１９１３）：
アクセスモジュール１は、情報記録モジュール２に対して、エクステント情報エントリ２０３をエクステント領域２８として割り当てられている任意のクラスタ内に追加し、情報記録モジュール２に書き込むよう指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、エクステント情報エントリ２０３をエクステント領域２８として割り当てられている任意のクラスタ内に追加し、情報記録モジュール２に書き込む。
ここで、エクステント情報エントリ２０３には、Ｓ１９１０で取得した空き領域の位置と大きさを示す情報を格納する。
また、エクステント情報エントリ２０３の追加によりエクステント領域２８の大きさが変化するため、アクセスモジュール１は、エクステント領域指定エントリ２０７の“エクステント領域サイズ”フィールドをアクセスモジュール１内のＲＡＭ１２上で更新する。
【００８３】
（Ｓ１９１４）：
アクセスモジュール１は、基本エントリ２０１、名称エントリ２０２、エクステント領域指定エントリ２０７を参照し、循環シフト型チェックサムを算出する。
（Ｓ１９１５）：
アクセスモジュール１は、アクセスモジュール１内のＲＡＭ１２上において、Ｓ１９１４で算出したチェックサムの値を、基本エントリ２０１の“チェックサム”のフィールドに格納する。
（Ｓ１９１６）：
アクセスモジュール１は、情報記録モジュール２に対して、アクセスモジュール１内のＲＡＭ１２上で更新した基本エントリ２０１、エクステント領域指定エントリ２０７を情報記録モジュール２に書き込むよう指示する。情報記録モジュール２は、アクセスモジュール１の指示に従い、更新された基本エントリ２０１、エクステント領域指定エントリ２０７を情報記録モジュール２の不揮発性メモリ２５に書き込む。
【００８４】
（Ｓ１９１７）：
アクセスモジュール１は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はＳ１９１０の処理に戻る。
このように、情報記録システム２０００では、拡張ファイルにおいて任意のクラスタをエクステント領域２８として割り当て、その領域にエクステント情報エントリ２０３を格納することにより、該当ファイルのエントリシーケンス２７の大きさが増加することを防止し、循環シフト型チェックサムの算出オーバーヘッドを削減することが可能となる。
以上のように、情報記録システム２０００では、情報記録モジュール２の不揮発性メモリ２５がＦＡＴ型ファイルシステム２６で管理されており、１つのファイルに複数のディレクトリエントリが割り当てられる。
【００８５】
更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、情報記録システム２０００において、大きなサイズのファイルを処理対象とする場合、当該大きなサイズのファイルについて、エクステント情報エントリ２０３により連続領域の位置と大きさを示す情報が管理されている。
これにより、情報記録システム２０００では、ＦＡＴ型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
更に、情報記録システム２０００では、任意のクラスタをエクステント領域２８として該当ファイルに割り当て、その中にエクステント情報エントリ２０３を格納する。
これにより、エントリシーケンス２７の大きさが増加することを防止し、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。
【００８６】
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本発明の第１実施形態で記載された種々の変形例を本発明の第２実施形態に適用しても良い。
また、本発明の第２実施形態では、エクステント領域２８に、エクステント情報エントリ２０３を格納する場合の例について説明した。しかしながら、エクステント領域２８は、エントリシーケンス２７が格納される通常のディレクトリ領域とは異なる領域である。そのため、エクステント領域２８は、エントリシーケンス２７と同様にエントリを取り扱う必要がなく、必ずしも３２バイトのエントリの形式を取る必要はない。
例えば、４バイトの開始クラスタ番号と、８バイトのエクステント領域サイズのみから構成される１２バイトのエントリを１つの単位として、エクステント領域２８に複数のエントリが詰めて格納されるような構成としても良い。
【００８７】
また、エクステント領域指定エントリ２０７内の“エクステント領域サイズ”のフィールドを削除し、その他の方法でエクステント領域の終端を検出しても良い。
例えば、基本エントリ２０１の“ファイルサイズ”フィールドで、該当ファイルのサイズを認識し、その値とエクステント領域２８に格納されているエクステント情報エントリ２０３の“連続領域サイズ”フィールドとの総和を比較し、“ファイルサイズ”と同じサイズに総和が達した時点で、エクステント領域２８が終端されていることを検出するようにしても良い。
また、情報記録システム２０００において、エクステント領域２８のデータ書き込みされていない領域（実体データが存在しない領域）に、データ”０ｘ００”を書き込んでおき（いわゆる、０スタッフィング（０パッディング）処理をしておき）、エクステント領域２８において、順次、書き込まれているデータ値をチェックしていき、データ値が”０ｘ００”である領域が出現した位置の直前が、エクステント領域２８の終端位置（実体データが書き込まれている領域の終端位置）であると検出するようにしても良い。
【００８８】
［他の実施形態］
なお、上記実施形態で説明したアクセスモジュール（アクセス装置）、情報記録モジュール（情報記録装置）、及び情報記録システムにおいて、各ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されても良いし、一部又は全部を含むように１チップ化されても良い。
なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【００８９】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係るアクセスモジュール（アクセス装置）、情報記録モジュール（情報記録装置）、及び情報記録システムをハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
【００９０】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
［付記］
なお、本発明は、次のように表現することも可能である。
（付記１）
ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、
前記ファイルデータを固定長ブロック単位で管理し、１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイルシステム制御部
を備えるアクセス装置。
（付記２）
前記エントリ群は、内部に前記エクステント情報エントリを含む、
付記１に記載のアクセス装置。
（付記３）
前記ファイルシステム制御部は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを、前記エントリ群に追加する、
付記２に記載のアクセス装置。
（付記４）
前記ファイルシステム制御部は、
ファイルが作成される際に、所定の個数のエントリを含むエントリ群を構成し、
前記エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリを格納する、
付記３に記載のアクセス装置。
（付記５）
前記ファイルシステム制御部は、
前記ダミーエントリにおいて、前記ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値を格納する、
付記４に記載のアクセス装置。
（付記６）
前記ファイルシステム制御部は、
前記エントリ群に
前記エクステント情報エントリを追加する際に、前記ダミーエントリを削除し、前記エントリ群全体の大きさを変化させない、
付記５に記載のアクセス装置。
（付記７）
前記ファイルシステム制御部は、
前記エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを、前記エクステント情報エントリの後ろに格納する、
付記３に記載のアクセス装置。
（付記８）
前記ファイルシステム制御部は、
前記エントリ群に前記エクステント情報エントリを追加する際には、前記更新情報エントリの格納位置を後方にずらす、
付記７に記載のアクセス装置。
（付記９）
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
付記２に記載のアクセス装置。
（付記１０）
前記ファイルシステム制御部は、
前記エクステント情報エントリが追加される際に、追加される前記エクステント情報エントリ、及び、前記更新情報エントリに基づいた演算と、
前記エントリ群に含まれる前記ダミーエントリの個数を元にした演算と、で前記循環シフト型チェックサムを算出する、
付記９に記載のアクセス装置。
（付記１１）
前記ファイルシステム制御部は、
ファイルにアクセスする場合、
前記ファイルに対応する前記エントリ群が前記エクステント情報エントリを含むときは、前記エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行う拡張ファイル処理部と、
前記ファイルに対応する前記エントリ群が前記エクステント情報エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う通常ファイル処理部と、
備える、
付記１から１０のいずれかに記載のアクセス装置。
（付記１２）
ファイルデータを格納する不揮発性メモリを含む情報記録装置であって、
前記ファイルデータは、固定長ブロック単位で管理されており、
前記不揮発性メモリには、
１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリから構成されるエントリ群であって、前記ファイルに関連するエントリ群のチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を格納する、
情報記録装置。
（付記１３）
前記エントリ群は、内部に前記エクステント情報エントリを含む、
付記１２に記載の情報記録装置。
（付記１４）
前記エントリ群は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを追加する構成である、
付記１３に記載の情報記録装置。
（付記１５）
前記エントリ群は、
ファイルが作成される際に、所定の個数のエントリを含む構成であり、
前記エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリが格納される、
付記１４に記載の情報記録装置。
（付記１６）
前記ダミーエントリは、
前記ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値が格納される、
付記１５に記載の情報記録装置。
（付記１７）
前記エントリ群は、
前記エクステント情報エントリが追加される際には、前記ダミーエントリを削除することで、前記エントリ群全体の大きさが変化しない構成である、
付記１６に記載の情報記録装置。
（付記１８）
前記エントリ群は、
前記エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを前記エクステント情報エントリの後ろに格納する構成である、
付記１４に記載の情報記録装置。
（付記１９）
前記エントリ群は、
前記エクステント情報エントリが追加される際には、前記更新情報エントリの格納位置を後方にずらす構成である、
付記１８に記載の情報記録装置。
（付記２０）
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
付記１２に記載の情報記録装置。
（付記２１）
ファイルデータを格納する不揮発性メモリを含む情報記録装置と、前記情報記録装置にアクセスするアクセス装置と、備える情報記録システムであって、
前記ファイルデータを、固定長ブロック単位で管理し、
前記不揮発性メモリには、
１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
前記アクセス装置は、
前記不揮発性メモリ内に格納された情報を用いて前記不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える、
情報記録システム。
（付記２２）
前記エクステント情報エントリは、前記エントリ群の内部に格納される、
付記２１に記載の情報記録システム。
（付記２３）
付記１から１１のいずれかに記載のアクセス装置と、
付記１２から２２のいずれかに記載の情報記録装置と、
を備える情報記録システム。
（付記２４）
ファイルデータを格納する不揮発性メモリを用いるファイル管理方法であって、
前記ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を用いて、前記ファイルの管理を行う、
ファイル管理方法。
（付記２５）
付記２４に記載のファイル管理方法をコンピュータに実行させるプログラム。
【００９１】
［付記の内容］
第１の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、用いてファイルの管理を行うファイルシステム制御部を備える。
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理し、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。
【００９２】
このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、このアクセス装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、このアクセス装置では、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
さらに、このアクセス装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
【００９３】
なお、「アクセス装置」は、アクセスモジュールを含む概念である。
第２の発明は、第１の発明であって、エントリ群は、内部にエクステント情報エントリを含む。
第３の発明は、第２の発明であって、ファイルシステム制御部は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを、エントリ群に追加する。
第４の発明は、第３の発明であって、ファイルシステム制御部は、ファイルが作成される際に、所定の個数のエントリを含むエントリ群を構成し、エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリを格納する。
第５の発明は、第４の発明であって、ファイルシステム制御部は、ダミーエントリにおいて、ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値を格納する。
【００９４】
これにより、アクセス装置でのチェックサムの算出処理を高速化することができる。
なお、「所定の値」は、例えば、”０ｘ００”である。これにより、チェックサムの算出処理を簡略化することができる。
第６の発明は、第５の発明であって、ファイルシステム制御部は、エントリ群に、エクステント情報エントリを追加する際には、ダミーエントリを削除し、エントリ群全体の大きさを変化させない。
このアクセス装置では、エントリ群全体の大きさが変化しないので、アクセス装置でのチェックサムの算出処理の対象となる領域が固定となる。その結果、アクセス装置でのチェックサムの算出処理を高速化することができる。
第７の発明は、第３の発明であって、ファイルシステム制御部は、エントリ群において、エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを、エクステント情報エントリの後ろに格納する。
【００９５】
このアクセス装置では、更新情報エントリが、エクステント情報エントリの後ろに格納されるので、更新エントリより前の領域におけるデータがほとんど変化しない。そのため、このアクセス装置では、効率良くチェックサムの算出処理を行うことができる。
なお、「後ろに格納する」とは、論理アドレス空間において、後段の論理アドレス位置に格納することを意味する。したがって、上記では、エクステント情報エントリが格納されている論理アドレス空間領域に続く論理アドレス空間領域に、更新情報エントリが格納されることになる。
第８の発明は、第７の発明であって、ファイルシステム制御部は、エントリ群に、エクステント情報エントリを追加する際には、更新情報エントリの格納位置を後方にずらす。
なお、「後方にずらす」とは、論理アドレス空間において、領域を後方にずらすという意味である。
【００９６】
第９の発明は、第２の発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
このアクセス装置では、循環シフト型チェックサムによりチェックサム演算処理が行われるので、単純なチェックサムによりチェックサム演算処理を行う場合に比べて、エントリ間の不整合をより高精度に検出することができる。
第１０の発明は、第９の発明であって、ファイルシステム制御部は、エクステント情報エントリが追加される際に、追加されるエクステント情報エントリ、及び、更新情報エントリに基づいた演算と、エントリ群に含まれるダミーエントリの個数を元にした演算と、で、循環シフト型チェックサムを算出する。
第１１の発明は、第１から第１０のいずれかの発明であって、ファイルシステム制御部は、拡張ファイル処理部と、通常ファイル処理部と、を備える。
【００９７】
ファイルにアクセスする場合、拡張ファイル処理部は、ファイルに対応するエントリ群がエクステント情報エントリを含むときは、エクステント情報エントリに基づいて、ファイルに対するアクセス制御を行う。
ファイルにアクセスする場合、通常ファイル処理部は、ファイルに対応するエントリ群がエクステント情報エントリを含まないときは、ファイルアロケーションテーブルに基づいて、ファイルに対するアクセス制御を行う。
第１２の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置である。不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、が格納される。
ファイルデータは、固定長ブロック単位で管理されている。
【００９８】
エクステント情報エントリは、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリから構成されるエントリ群であって、ファイルに関連するエントリ群のチェックサムに関する情報を当該エントリ群の内部に含む。
この情報記録装置では、例えば、アクセス装置から制御されることで、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、この情報記録装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録装置を用いることで、エクステント情報エントリによりファイル管理を行うことができ、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【００９９】
さらに、この情報記録装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
なお、「情報記録装置」は、情報記録モジュールを含む概念である。
第１３の発明は、第１２の発明であって、エントリ群は、内部にエクステント情報エントリを含む。
第１４の発明は、第１３の発明であって、エントリ群は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを追加することができる構成である。
【０１００】
第１５の発明は、第１４の発明であって、エントリ群は、エントリ群に対応するファイルが作成される際に、所定の個数のエントリを含むように構成され、エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリが格納される。
第１６の発明は、第１５の発明であって、ダミーエントリは、ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値が格納される。
第１７の発明は、第１６の発明であって、エントリ群は、エクステント情報エントリが追加される際には、ダミーエントリを削除することにより、エントリ群全体の大きさが変化しないように構成される。
第１８の発明は、第１４の発明であって、エントリ群は、エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリをエクステント情報エントリの後ろに格納するように構成される。
【０１０１】
第１９の発明は、第１８の発明であって、エントリ群は、エクステント情報エントリが追加される際には、更新情報エントリの格納位置が後方にずれるように構成される。
第２０の発明は、第１２の発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
第２１の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置と、情報記録装置にアクセスするアクセス装置と、備える情報記録システムである。
ファイルデータは、固定長ブロック単位で管理される。
不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
エクステント情報エントリは、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報と、内部に含む。
【０１０２】
アクセス装置は、不揮発性メモリ内に格納された情報を用いて不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える。
この情報記録システムでは、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、この情報記録システムでは、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録システムでは、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【０１０３】
さらに、この情報記録システムでは、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
第２２の発明は、第２１の発明であって、エクステント情報エントリは、エントリ群の内部に格納される。
第２３の発明は、第１から第１１のいずれかの発明であるアクセス装置と、第１２から第２２のいずれかの発明である情報記録装置と、を備える情報記録システムである。
第２４の発明は、ファイルデータを格納する不揮発性メモリを用いるファイル管理方法である。このファイル管理方法は、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を用いて、ファイルの管理を行う。
【０１０４】
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、１つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、１つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。
このファイル管理方法では、エクステント情報エントリとファイルアロケーションテーブル（ＦＡＴ）との両方で、ファイル管理を行うことができる。
したがって、このファイル管理方法では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル（拡張ファイル）と、それ以外の通常ファイルとを効率良く管理することができる。また、このファイル管理方法では、エクステント情報エントリによりファイル管理を行うことができるので、ＦＡＴ型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【０１０５】
さらに、このファイル管理方法では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このファイル管理方法が扱うファイルシステムの信頼性を高めることも可能となる。
第２５の発明は、第２４の発明であるファイル管理方法をコンピュータに実行させるプログラムである。
これにより、第２４の発明と同様の効果を奏するプログラムを実現することができる。
【産業上の利用可能性】
【０１０６】
本発明に係る情報記録モジュール２の不揮発性メモリ２５は、ＦＡＴ型ファイルシステム２６で管理されており、１つのファイルに複数のディレクトリエントリが割り当てられる。
更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、大きなサイズのファイルを扱う場合、エクステント情報エントリ２０３により連続領域の位置と大きさを示す情報を管理する。これにより、本発明の情報記録システムでは、ＦＡＴ型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
更に、本発明の情報記録システムでは、更新情報エントリ２０４とダミーエントリ２０５を使用する、あるいは、エクステント領域指定エントリ２０７を使用することにより、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。このような情報記録システムを構成するアクセスモジュール１は、音楽や静止画、動画などのデジタルコンテンツを取り扱う機器、とりわけ１ファイルのサイズが大きなコンテンツを取り扱う機器に最適であり、ＰＣアプリケーション、オーディオレコーダ、ＤＶＤレコーダ、ＨＤＤレコーダ、ムービー、デジタルスチルカメラ、携帯電話端末等として利用することができる。
【０１０７】
また、本発明の情報記録モジュール２は、上記デジタルコンテンツなどを格納するメモリカードなどのリムーバブルメディア、あるいは内蔵記録装置等として利用することができる。
【符号の説明】
【０１０８】
１０００、２０００  情報記録システム
１  アクセスモジュール
２  情報記録モジュール
１１，２２  ＣＰＵ
１２，２３  ＲＡＭ
１３  情報記録モジュールインタフェース
１４，２４  ＲＯＭ
２１  アクセスモジュールインタフェース
２５  不揮発性メモリ
２６  ＦＡＴ型ファイルシステム
２７  エントリシーケンス
２８  エクステント領域
１０１  アプリケーション制御部
１０２  ファイルシステム制御部
１０３  通常ファイル処理部
１０４  拡張ファイル処理部
１０５  情報記録モジュールアクセス部
２０１  基本エントリ
２０２  名称エントリ
２０３  エクステント情報エントリ
２０４  更新情報エントリ
２０５  ダミーエントリ
２０６  接続エントリ
２０７  エクステント領域指定エントリ
３０１  ファイルシステム管理情報領域
３０２  ユーザデータ領域
３０３  マスターブートレコード・パーティションテーブル
３０４  パーティションブートセクタ
３０５，３０６  ＦＡＴ
３０７  ルートディレクトリエントリ
３０８  ディレクトリエントリ
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009122743.tif 000022
【図２】
2009122743.tif 000023
【図３】
2009122743.tif 000024
【図４】
2009122743.tif 000025
【図５】
2009122743.tif 000026
【図６】
2009122743.tif 000027
【図７】
2009122743.tif 000028
【図８】
2009122743.tif 000029
【図９】
2009122743.tif 000030
【図１０】
2009122743.tif 000031
【図１１】
2009122743.tif 000032
【図１２】
2009122743.tif 000033
【図１３】
2009122743.tif 000034
【図１４】
2009122743.tif 000035
【図１５】
2009122743.tif 000036
【図１６】
2009122743.tif 000037
【図１７】
2009122743.tif 000038
【図１８】
2009122743.tif 000039
【図１９】
2009122743.tif 000040
【手続補正書】
【提出日】平成22年12月24日(2010.12.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、
前記ファイルデータを固定長ブロック単位で管理し、１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイルシステム制御部
を備え、
（１）前記ファイルシステム制御部は、
前記エクステント情報エントリを、前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納し、
（２）前記エントリ群は、
前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含み、
（３）前記ファイルシステム制御部は、
ファイルにアクセスする場合、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含むときは、前記エクステント領域指定エントリおよび前記エクステント領域用エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行う拡張ファイル処理部と、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う通常ファイル処理部と、
を備える、
アクセス装置。
【請求項２】
前記ファイルシステム制御部は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリを、前記エクステント領域に追加する、
請求項１に記載のアクセス装置。
【請求項３】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと同一バイト長である、
請求項２に記載のアクセス装置。
【請求項４】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと異なるバイト長である、
請求項２に記載のアクセス装置。
【請求項５】
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
請求項１から４のいずれかに記載のアクセス装置。
【請求項６】
ファイルデータを格納する不揮発性メモリを含む情報記録装置であって、
前記ファイルデータを、固定長ブロック単位で管理し、
前記不揮発性メモリには、
１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
（１）前記エクステント情報エントリは、
前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納され、
（２）前記エントリ群は、
前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含み、
（３）ファイルにアクセスする場合、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含むときは、前記エクステント領域指定エントリおよび前記エクステント領域用エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行い、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う、
情報記録装置。
【請求項７】
前記エクステント領域は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリが追加される構成である、
請求項６に記載の情報記録装置。
【請求項８】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと同一バイト長である、
請求項７に記載の情報記録装置。
【請求項９】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと異なるバイト長である、
請求項７に記載の情報記録装置。
【請求項１０】
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
請求項６から９のいずれかに記載の情報記録装置。
【請求項１１】
ファイルデータを格納する不揮発性メモリを含む情報記録装置と、前記情報記録装置にアクセスするアクセス装置と、備える情報記録システムであって、
前記ファイルデータを、固定長ブロック単位で管理し、
前記不揮発性メモリには、
１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
前記アクセス装置は、
前記不揮発性メモリ内に格納された情報を用いて前記不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部
を備え、
（１）前記エクステント情報エントリは、
前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納される、
（２）前記エントリ群は、
前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含み、
（３）前記ファイルシステム制御部は、
ファイルにアクセスする場合、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含むときは、前記エクステント領域指定エントリおよび前記エクステント領域用エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行う拡張ファイル処理部と、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う通常ファイル処理部と、
を備える、
情報記録システム。
【請求項１２】
請求項１から５のいずれかに記載のアクセス装置と、
請求項６から１０のいずれかに記載の情報記録装置と、
を備える情報記録システム。
【請求項１３】
ファイルデータを格納する不揮発性メモリを用いるファイル管理方法であって、
前記ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、１つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する１つ以上の固定長エントリと、前記１つ以上の固定長エントリのチェックサムに関する情報を内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイル管理方法であって、
前記エントリ群は、
前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含み、
前記エクステント情報エントリを、前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納し、
ファイルにアクセスする場合、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含むときは、前記エクステント領域指定エントリおよび前記エクステント領域用エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行い、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う、
ファイル管理方法。
【請求項１４】
請求項１３に記載のファイル管理方法をコンピュータに実行させるプログラム。
【国際調査報告】
2009122743.tif 000041
2009122743.tif 000042
2009122743.tif 000043
2009122743.tif 000044