説明

アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム

【課題】情報記録装置の不揮発性メモリをFAT型ファイルシステムにより領域管理し、且つ循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、循環シフト型チェックサムの再計算を効率的に行い、且つシーク処理を高速化する。
【解決手段】情報記録装置2の不揮発性メモリ25をFAT型ファイルシステムで管理し、1つのファイルに複数のディレクトリエントリを割り当てる。更にその複数のディレクトリエントリの信頼性を循環シフト型チェックサムにより高め、ファイルデータの格納領域の位置と大きさを示す情報をエクステント情報エントリ203により管理する。更に、更新情報エントリ204とダミーエントリ205を使用する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを不揮発性メモリに格納し、ファイルとして管理するアクセスモジュール(アクセス装置)、情報記録モジュール(情報記録装置)、情報記録システム、ファイル管理方法、およびプログラムに関する。
【背景技術】
【0002】
音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の内、記録素子にFlashROM等の半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、FlashROM等の半導体メモリを機器に内蔵してハードディスクの代わりに使用するなど、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。
【0003】
このようなメモリカードや機器内蔵ストレージには、主にNAND型フラッシュメモリと呼ばれる半導体素子が使用されている。NAND型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子であり、従来のハードディスクと同様に、複数回書き換え可能な情報記録装置を構成することが可能である。
【0004】
従来、メモリカードや機器内蔵ストレージに格納されたデータは、ファイルシステムにより管理されている。データをファイルシステムにより管理することで、同一のファイルシステムを解釈する機器間でデータをファイルとして共有することが可能となり、ユーザは自分の格納したデータを複数の機器間で容易に参照したり、コピーしたりすることが可能となる。
【0005】
従来最も広く使用されているファイルシステムは、「FATファイルシステム」と呼ばれるものである。FATファイルシステムは、領域管理をファイルアロケーションテーブル(FAT)と呼ばれるテーブルで一元管理するという特徴を持っており、比較的構造がシンプルで実装が容易なことから、フレキシブルディスクやPCのハードディスク、メモリカードなどのファイルシステムとして広く使用されている。
【0006】
図2に、FATファイルシステムの構成を示す。
【0007】
FATファイルシステムでは、ファイルアロケーションテーブル内の管理単位のビット幅の違いにより、FAT12、FAT16、FAT32などの種類が存在するが、ファイルアロケーションテーブルによる領域管理方法はほぼ同じであり、以下では、FAT16を例に説明する。
【0008】
図2に示すように、論理アドレス空間の先頭には、領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域301が存在する。
【0009】
このファイルシステム管理情報領域301には、マスターブートレコード・パーティションテーブル303、パーティションブートセクタ304、FAT(305、306)、ルートディレクトリエントリ307と呼ばれるファイルシステムの管理情報が含まれ、ユーザデータ領域302を管理するために必要な情報が各々格納されている。
【0010】
マスターブートレコード・パーティションテーブル303は、ファイルシステムが管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。
【0011】
パーティションブートセクタ304は、パーティション内の領域管理単位の大きさなど、1つのパーティション内の管理情報が格納される領域である。
【0012】
FAT(305、306)は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ2つのFAT(305、306)が存在し、一方のFAT(305、306)が破損したとしても他方のFAT(305、306)によりファイルにアクセスできるよう二重化されている。
【0013】
ルートディレクトリエントリ307は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報(ディレクトリエントリ)が格納される領域である。
【0014】
また、FATファイルシステムでは、このファイルシステム管理情報領域301に引き続く領域にファイル本体のデータなどを格納するユーザデータ領域302が存在する。
【0015】
ユーザデータ領域302は、512バイトから数十KB程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタには、ファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、FAT(305、306)に格納されたリンク情報により管理されている。
【0016】
また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報(ディレクトリエントリ)は、このユーザデータ領域302の一部を利用して格納される。
【0017】
図3は、FAT16のディレクトリエントリの構成を示した図である。
【0018】
ディレクトリエントリ308は、1つのファイル、ディレクトリ毎に32バイトのディレクトリエントリ308が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、1つのファイルやディレクトリが追加される度に32バイトのディレクトリエントリ308の情報が新規に作成され、ルートディレクトリエントリ307の領域、あるいはユーザデータ領域302に記録される。
【0019】
ディレクトリエントリ308の先頭8バイトには、ファイルやディレクトリの名称が格納される。
【0020】
続く3バイトには拡張子が格納される。
【0021】
続く1バイトには、ファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。
【0022】
また、ディレクトリエントリ308には、ファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。
【0023】
このように、ディレクトリエントリ308には、データ実体が格納されている領域の最初の1クラスタの位置を示す情報しか含まれておらず、データ実体の大きさが1クラスタよりも大きい場合において2クラスタ目以降のデータがどの領域に格納されているかについては、FAT(305、306)で管理されている。
【0024】
図4は、FAT16のFAT(305、306)の構成を示した図である。
【0025】
FAT16では、FAT(305、306)は2バイト(16ビット)の情報を1つのFATエントリとして管理しており、1つのFATエントリが1つのクラスタの状態を示している。すなわち、ユーザデータ領域302にM個のクラスタが存在する場合、FATエントリもM個存在することから、FAT(305、306)の1つ分の大きさは約2×Mバイトとなる。但し、先頭の2つのFATエントリ分は、FATの先頭を示す固定の値(0xF8FF、0xFFFF)がシグネチャとして記録されるため、ユーザデータ領域302の先頭クラスタに対応するFATエントリは、FAT(305、306)の4バイト目、5バイト目の2バイトに存在している。FAT先頭に存在する4バイトのシグネチャをFATエントリの0番、1番とすると、4バイト目および5バイト目の2バイトの位置は2番目になることから、ユーザデータ領域302の先頭クラスタは、便宜上クラスタ番号=“2”と割り当てられており、クラスタ番号=“0”、“1”に対応するクラスタは存在しないことになっている。
【0026】
更に、各FATエントリは、各々対応するクラスタの状態(使用中、空き、欠陥)、及びリンク先のクラスタ番号を示す。例えば、図4において、対応クラスタ番号2のFATエントリは0x0003(十進数では“3”)に設定されており、クラスタ番号2のクラスタ内に格納されたデータの続きのデータは、クラスタ番号3のクラスタ内に格納されていることを意味する。同様に、対応クラスタ番号3のFATエントリは0x0004(十進数では“4”)に設定されており、クラスタ番号3のクラスタ内に格納されたデータの続きのデータは、クラスタ番号4のクラスタ内に格納されていることを意味する。また、対応クラスタ番号6のFATエントリは、0xFFFFに設定されている。これは、次のリンク先が存在せず、リンクが終端していることを意味する。よって、図4の例では、クラスタ番号2、3、4、5、6の順に一連のファイルデータが格納されていることになる。
【0027】
また、対応クラスタ番号7のFATエントリは、0x0000に設定されている。これは、対応するクラスタが使用されておらず、“空き”の状態であることを意味する。
【0028】
また、対応クラスタ番号(M+1)のFATエントリは、0xFFF7に設定されている。これは、対応するクラスタが物理的に壊れていて記録が出来ない状態である等の欠陥状態であることを意味する。
【0029】
まとめると、0x0000、0xFFFF、0xFFF7の3つのFATエントリ値は各々特殊な意味を持ち、0x0002から0xFFF6までのFATエントリ値がリンク先クラスタ番号として使用されることになる。また、それ以外の0x0001、0xFFF8から0xFFFEまでの値は予約されており、通常は使用されない値になっている。
【0030】
このように、FATファイルシステムでは、ファイルデータが複数のクラスタに跨って格納されている場合、各クラスタ間のリンク関係をFATエントリの値に格納し管理している。よって、ファイルデータを先頭から順に終端まで読み出す場合、クラスタ境界に来る度にFAT(305、306)を参照し、次のリンク先のクラスタ番号を特定する必要がある。
【0031】
同様に、FATファイルシステムを用いる情報記録システムにおいて、ファイル内の任意の位置を読み出すためにシーク処理を行う場合、FAT(305、306)を参照してシークサイズ分のクラスタ数だけリンクを辿り所望のデータが格納されているクラスタ番号を特定する必要がある。そのため、シーク処理は、ファイルサイズに比例して処理時間が長くなることになる。ここで、1GBのファイルを16KBクラスタ単位で管理している場合を想定すると、リンクを辿る回数は、約65000回となり、比較的低速なCPUを使用した場合等では、シーク処理に数秒かかる場合もある。更に、FAT(305、306)では、ファイルの順方向のリンク情報しか保持していないため、ファイルの前方に向かってシークする場合には、再度ファイルの先頭からシーク処理をやり直す必要があり、高速にシークできないという問題が生じる。
【0032】
従来、このような問題を解決する方法として、該当ファイルのディレクトリエントリ308の直後にファイルデータ格納領域の位置情報を格納する方法が提案されている(例えば、特許文献1参照)。
【0033】
この方法では、該当ファイルのディレクトリエントリ308をディレクトリ領域内の任意のクラスタにおける先頭位置に格納し、そのクラスタ内の残りの領域には、全て消去済みディレクトリエントリを格納する。
【0034】
更に、それら消去済みディレクトリエントリ内に、該当ファイルのデータが格納された領域の開始位置と終了位置とを示す情報(LBA(Logical Block Addressing)アクセス情報)を複数格納する。
【0035】
このように、LBAアクセス情報を格納しておくことで、ファイルのシーク処理を実施する際にはFATを参照せず、LBAアクセス情報のみを参照して処理を実施することにより、シーク処理を高速化することが可能となる。
【0036】
しかしながら、この方法は、LBAアクセス情報を格納する領域として、消去済みディレクトリエントリを使用しているため、LBAアクセス情報の存在を知らない従来のFAT型ファイルシステムのみを解釈する機器でファイルやディレクトリが作成された場合、LBAアクセス情報を格納して消去済みディレクトリエントリを再利用する可能性があり、LABアクセス情報が破壊される可能性がある。
【0037】
一方、FAT型ファイルシステムでは、図3に示すようなディレクトリエントリ308の構造が採用されており、予約フィールドも実際には、タイムスタンプの情報を格納する領域等に使用されるため、十分な予約フィールドが存在していない。このため、FAT型ファイルシステムは、拡張性に乏しいファイルシステムとなっている。従来、このような問題を解決する方法として、拡張ファイルシステムフォーマットによる方法が提案されている(例えば、特許文献2参照)。
【0038】
この方法では、ディレクトリエントリの先頭1バイトにディレクトリエントリの種別を示す“タイプ”を格納するフィールドを設けることにより、1次ディレクトリエントリや2次ディレクトリエントリ等、種々のディレクトリエントリを規定し、ファイルシステムの拡張性を高めている。
【0039】
上記で説明した2つの技術を組み合わせ、ファイルデータ格納領域の位置を示す情報を格納する特殊なディレクトリエントリを“タイプ”により規定し、ファイルを示すディレクトリエントリの付加情報として格納できるようにすることにより、この特殊なディレクトリエントリを解釈しない従来の機器でファイルデータ格納領域の位置を示す情報が破壊されることを防止することが可能となる。
【0040】
この場合、1つのファイルに対して複数のディレクトリエントリが割り当てられるため、ディレクトリエントリ間の整合性を確保し、信頼性を高める仕組みが必要となる。その1つの仕組みとして、例えば、Unix(登録商標)系オペレーティングシステムで“sum”コマンドとして実装されているような循環シフト型チェックサムを用いることが考えられる。
【0041】
図5は、循環シフト型チェックサムの算出手順を示したフローチャートである。
【0042】
循環シフト型チェックサムは、算出対象となるデータを単純に加算するだけではなく、加算する度に1ビット分、値を循環シフトさせる。このように循環シフトさせることにより、算出対象データの順序が入れ替わった場合でも誤りを検出できるようになり、信頼性を高めることが可能となる。
【0043】
1つのファイルに対して割り当てられた全てのディレクトリエントリ領域を算出対象データとして、循環シフト型チェックサムを算出し、ディレクトリエントリ内の特定のフィールドに格納することにより、ディレクトリエントリの破損を検出し、信頼性を高めることが可能となる。
【先行技術文献】
【特許文献】
【0044】
【特許文献1】特開2006−178632号公報
【特許文献2】特開2006−172485号公報
【発明の概要】
【発明が解決しようとする課題】
【0045】
しかしながら、上記の技術には、次のような問題点がある。
【0046】
すなわち、上記の方法では、ファイルを追記して、ファイルデータ格納領域が追加される度にファイルデータ格納領域の位置を示す情報を追加する必要がある。
【0047】
更に、ファイルサイズやタイムスタンプ等、ファイルを追記する際に変化する情報も更新する必要がある。これらの情報は、全て1つのファイルに割り当てられた一連のディレクトリエントリ群の中に含まれるものであるが、先の循環シフト型チェックサムをディレクトリエントリ内に含む場合、チェックサム算出値がデータの並び順に依存することから、1バイトでも情報が変化した場合、算出対象データを全て参照し直してチェックサムを再計算する必要がある。
【0048】
特に、ファイルサイズが大きくなり、ファイルデータ格納領域の位置を示す情報が増加するに従い、再計算時に参照すべきデータ量が増加し、チェックサム再計算処理にかかるオーバーヘッドが大きくなるという問題が生じる。
【0049】
本発明では、上記問題点に鑑み、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサムの再計算を効率的に行い、かつ、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現するファイルシステムを扱うアクセスモジュール、情報記録モジュール、及び情報記録システムを提供することを目的とする。
【課題を解決するための手段】
【0050】
第1の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、用いてファイルの管理を行うファイルシステム制御部を備える。
【0051】
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理し、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
【0052】
そして、ファイルシステム制御部は、エクステント情報エントリを、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納する。
【0053】
このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
【0054】
したがって、このアクセス装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、このアクセス装置では、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【0055】
さらに、このアクセス装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
【0056】
さらに、このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理(演算処理)を高速化することができる。
【0057】
なお、「アクセス装置」は、アクセスモジュールを含む概念である。
【0058】
第2の発明は、第1の発明であって、エントリ群は、エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む。
【0059】
これにより、このアクセス装置では、例えば、エクステント領域指定エントリを含みエクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、エクステント領域指定エントリを含まない通常ファイル(拡張ファイル以外のファイル)とを効率良く管理(アクセス)することができる。
【0060】
第3の発明は、第2の発明であって、ファイルシステム制御部は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリを、エクステント領域に追加する。
【0061】
第4の発明は、第3の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと同一バイト長である。
【0062】
第5の発明は、第3の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと異なるバイト長である。
【0063】
第6の発明は、第1から第5のいずれかの発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
【0064】
第7の発明は、第1から第6のいずれかの発明であって、拡張ファイル処理部と、通常ファイル処理部と、を備える。
【0065】
ファイルにアクセスする場合、拡張ファイル処理部は、ファイルに対応するエントリ群がエクステント領域指定エントリを含むときは、エクステント領域指定エントリおよびエクステント領域用エクステント情報エントリに基づいて、ファイルに対するアクセス制御を行う。
【0066】
ファイルにアクセスする場合、通常ファイル処理部は、ファイルに対応するエントリ群がエクステント領域指定エントリを含まないときは、ファイルアロケーションテーブルに基づいて、ファイルに対するアクセス制御を行う。
【0067】
第8の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置である。不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
【0068】
ファイルデータは、固定長ブロック単位で管理されている。
【0069】
エクステント情報エントリは、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
【0070】
そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
【0071】
この情報記録装置では、例えば、アクセス装置から制御されることで、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
【0072】
したがって、この情報記録装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録装置を用いることで、エクステント情報エントリによりファイル管理を行うことができ、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【0073】
さらに、この情報記録装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、この情報記録装置が扱うファイルシステムの信頼性を高めることも可能となる。
【0074】
さらに、この情報記録装置では、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理(演算処理)を高速化することができる。
【0075】
なお、「情報記録装置」は、情報記録モジュールを含む概念である。
【0076】
第9の発明は、第8の発明であって、エントリ群は、エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む。
【0077】
第10の発明は、第9の発明であって、エクステント領域は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリが追加される構成である。
【0078】
第11の発明は、第10の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと同一バイト長である。
【0079】
第12の発明は、第10の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと異なるバイト長である。
【0080】
第13の発明は、第8から第12のいずれかの発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
【0081】
第14の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置と、情報記録装置にアクセスするアクセス装置と、備える情報記録システムである。
【0082】
ファイルデータは、固定長ブロック単位で管理されており、不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
【0083】
エクステント情報エントリは、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
【0084】
アクセス装置は、不揮発性メモリ内に格納された情報を用いて不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える。
【0085】
そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
【0086】
この情報記録システムでは、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
【0087】
したがって、この情報記録システムでは、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録システムでは、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【0088】
さらに、この情報記録システムでは、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
【0089】
さらに、この情報記録システムでは、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理(演算処理)を高速化することができる。
【0090】
第15の発明は、第1から第7のいずれかの発明であるアクセス装置と、第8から第13のいずれかの発明である情報記録装置と、を備える情報記録システムである。
【0091】
第16の発明は、ファイルデータを格納する不揮発性メモリを用いるファイル管理方法である。このファイル管理方法は、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を用いて、ファイルの管理を行う。
【0092】
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。
【0093】
そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
【0094】
このファイル管理方法では、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
【0095】
したがって、このファイル管理方法では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、このファイル管理方法では、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【0096】
さらに、このファイル管理方法では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このファイル管理方法が扱うファイルシステムの信頼性を高めることも可能となる。
【0097】
さらに、このファイル管理方法では、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理(演算処理)を高速化することができる。
【0098】
第17の発明は、第16の発明であるファイル管理方法をコンピュータに実行させるプログラムである。
【0099】
これにより、第16の発明と同様の効果を奏するプログラムを実現することができる。
【発明の効果】
【0100】
本発明によれば、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサムの再計算を効率的に行い、且つ、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することが可能となる。
【図面の簡単な説明】
【0101】
【図1】第1実施形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図
【図2】FAT型ファイルシステムの構成を示した説明図
【図3】ディレクトリエントリの構成を示した説明図
【図4】FATの一例を示した説明図
【図5】循環シフト型チェックサムの算出処理を示したフローチャート
【図6】第1実施形態における基本エントリの構成を示した説明図
【図7】第1実施形態における名称エントリの構成を示した説明図
【図8】第1実施形態におけるエクステント情報エントリの構成を示した説明図
【図9】第1実施形態における更新情報エントリの構成を示した説明図
【図10】第1実施形態におけるダミーエントリの構成を示した説明図
【図11】第1実施形態における通常ファイルのエントリシーケンスの一例を示した説明図
【図12】第1実施形態における拡張ファイルのエントリシーケンスの一例を示した説明図
【図13】第1実施形態におけるファイルデータ書き込み処理手順を示したフローチャート
【図14】第1実施形態における拡張ファイルのエントリシーケンスの更新例を示した説明図
【図15】第1実施形態における接続エントリの構成を示した説明図
【図16】第1実施形態における拡張ファイルのエントリシーケンスの別の一例を示した説明図
【図17】第2実施形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図
【図18】第2実施形態におけるエクステント領域指定エントリの構成を示した説明図
【図19】第2実施形態におけるファイルデータ書き込み処理手順を示したフローチャート
【発明を実施するための形態】
【0102】
以下、本発明のアクセスモジュール、情報記録モジュール、及び情報記録システムについて、図面を参照しつつ説明する。
【0103】
[第1実施形態]
図1は、本発明の第1実施形態に係る情報記録システム1000の構成図である。図1に示すように、情報記録システム1000は、アクセスモジュール1と、情報記録モジュール2と、を備える。
【0104】
<1.1:アクセスモジュールの構成>
図1に示すように、アクセスモジュール1は、CPU11、RAM12、情報記録モジュールインタフェース13、ROM14を含む。
【0105】
ROM14には、アクセスモジュール1を制御するプログラムが格納されており、このプログラムは、RAM12を一時記憶領域として使用し、CPU11上で動作する。
【0106】
情報記録モジュールインタフェース13は、情報記録モジュール2とアクセスモジュール1との接続部であり、制御信号及びデータの送受信を行う。
【0107】
ROM14は、更に、アプリケーション制御部101、ファイルシステム制御部102、情報記録モジュールアクセス部105を含む。
【0108】
アプリケーション制御部101は、データの生成や電源の制御などアクセスモジュール1全体の制御を行う。
【0109】
ファイルシステム制御部102は、ファイルシステムによりデータをファイルとして管理するための制御を行う。
【0110】
情報記録モジュールアクセス部105は、ファイルシステム制御部102からデータと共にサイズとアドレスとを渡され、指定されたサイズのデータを情報記録モジュール2の記録領域内における指定された位置に記録するなど、情報記録モジュール2に対するコマンドやデータの送受信を制御する。
【0111】
ファイルシステム制御部102は、更に、通常ファイル処理部103、拡張ファイル処理部104を含む。
【0112】
通常ファイル処理部103は、FAT(305、306)により領域管理される比較的小さなサイズのファイルにアクセスする処理を行う処理部である。
【0113】
拡張ファイル処理部104は、本発明の特徴を示す処理部であり、本発明で規定するエクステント情報エントリ203により領域管理される比較的大きなサイズのファイルにアクセスする処理を行う処理部である。
【0114】
<1.2:情報記録モジュールの構成>
一方、図1において、情報記録モジュール2は、アクセスモジュールインタフェース21、CPU22、RAM23、ROM24、不揮発性メモリ25を含む。
【0115】
アクセスモジュールインタフェース21は、情報記録モジュール2とアクセスモジュール1との接続部であり、情報記録モジュールインタフェース13同様、制御信号及びデータを送受信するインタフェースである。
【0116】
ROM24には、情報記録モジュール2を制御するプログラムが格納されており、このプログラムはRAM23を一時記憶領域として使用し、CPU22上で動作する。
【0117】
不揮発性メモリ25は、アクセスモジュール1から送信されたデータを記録する領域であり、不揮発性メモリ25において、記録・再生・保持等されるデータは、FAT型ファイルシステム26により管理されている。すなわち、不揮発性メモリ25内の論理アドレス空間は、図2で示した構成を一例とするFAT型ファイルシステム26によるアドレス空間であり、不揮発性メモリ25に、記録(書き込み)・再生(読み出し)・保持等されるデータは、図2で示した構成を一例とするFAT型ファイルシステム26により定義されるデータ構造を有している。すなわち、不揮発性メモリ25の記録領域は、クラスタ単位に分割され、FAT(305、306)を用いて管理されており、ファイルやディレクトリの名称やサイズ等の情報は、ディレクトリエントリを用いて管理されている。
【0118】
本発明では、特許文献2で開示されている拡張ファイルシステムと同様に、ディレクトリエントリ内のタイプフィールドにより種々のディレクトリエントリを規定できる場合を想定している。また、本発明では、1つのファイルに対して複数のディレクトリエントリを割り当て、該当ファイルに関する情報を格納する。
【0119】
本発明では、これら一連のディレクトリエントリ群を「エントリシーケンス27」と呼ぶ。
【0120】
(1.2.1:エントリシーケンス)
図1の不揮発性メモリ25内には、エントリシーケンス27の一例が示されている。
【0121】
図1に示すように、このエントリシーケンス27は、基本エントリ201、名称エントリ202、エクステント情報エントリ203、更新情報エントリ204、ダミーエントリ205から構成されている。
【0122】
各エントリの詳細は後述するが、情報記録システム1000では、エントリシーケンス内にファイルデータ格納領域の位置と大きさの情報を含むエクステント情報エントリ203を1つ以上含ませることにより、シーク処理を高速化する。
【0123】
更に、情報記録システム1000では、更新情報エントリ204、ダミーエントリ205を用いることにより、循環シフト型チェックサムを高速に算出することを実現している。
【0124】
このように情報記録システム1000では、拡張ファイル処理部104で、エクステント情報エントリ203、更新情報エントリ204、ダミーエントリ205を用いたファイル管理を行う。これにより、情報記録システム1000では、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサム再計算を効率的に行い、かつ、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現する。
【0125】
(1.2.2:各ディレクトリエントリの詳細)
続いて、本発明の第1実施形態における、各ディレクトリエントリの詳細について説明する。本発明の第1実施形態では、ディレクトリエントリは、全て32バイトの固定長である場合を想定している。
【0126】
各ディレクトリエントリは、先頭1バイトに「タイプフィールド」を持ち、そのフィールドに設定される値に応じて種々のディレクトリエントリが定義される。
【0127】
本実施形態(情報記録システム1000)では、
(1)基本エントリ201、
(2)名称エントリ202、
(3)エクステント情報エントリ203、
(4)更新情報エントリ204、
(5)ダミーエントリ205、
の5種類のディレクトリエントリが存在する。
【0128】
上記5種類のディレクトリエントリについて、図6〜図10を用いて、以下、説明する。なお、図6〜図10に示した図(表)において、「オフセット」欄および「サイズ」欄の単位は、バイトであり、上記5種類のディレクトリエントリは、32バイトの固定長であるものとする。
【0129】
≪(1)基本エントリ201≫
図6は、基本エントリ201の構成を示す図である。
【0130】
基本エントリ201は、ファイルの基本的な情報を格納するディレクトリエントリであり、全てのファイルのエントリシーケンス27に必ず1つずつ含まれるディレクトリエントリである。
【0131】
“タイプ”フィールドは、基本エントリ201であることを示す固定値を格納するフィールドである。
【0132】
“2次エントリの個数”フィールドは、基本エントリ201に後続する2次エントリの個数を格納するフィールドである。例えば、本フィールドに“10”が格納されていた場合、該当ファイルに対応するエントリシーケンス27は、基本エントリも含めて11個のディレクトリエントリから構成されていることになる。
【0133】
“チェックサム”フィールドは、該当エントリシーケンス27の循環シフト型チェックサムの値を格納するフィールドである。本フィールドを設けることにより、1つのファイルに複数のディレクトリエントリを割り当てた場合においてもディレクトリエントリ間の不整合を検出し、ファイルシステムの信頼性を高めることが可能となる。
【0134】
例えば、1つのファイルに複数のディレクトリエントリを割り当てる拡張FATファイルシステムにおいて、当該複数のディレクトリエントリのデータが、不揮発性メモリ25の2つのセクタ(または2つのクラスタ)に跨るデータ(セクタ境界のデータ(またはクラスタ境界のデータ))である場合を考える。この場合において、当該複数のディレクトリエントリのデータを不揮発性メモリ25に書き込んでいるときに、一方のセクタ(あるいはクラスタ)でデータ書き込みを完了し、その後、もう一方のセクタ(あるいはクラスタ)にデータ書き込みが完了しない間に、例えば、電源OFF等の事由によりデータ書き込み処理が中断された場合、当該ディレクトリエントリ間の整合がとれないことになる。このような場合、”チェックサム”フィールドのチェックサムにより、ディレクトリエントリ間の不整合を検出することができるので、ファイルシステムの信頼性を高めることができる。
【0135】
なお、循環シフト型チェックサムを算出する際には、本フィールド(“チェックサム”フィールド)自体は処理に含めないものとする。
【0136】
“属性”フィールドは、読み取り専用属性やシステムファイル属性等のファイル属性を格納するフィールドである。
【0137】
“タイムスタンプ”フィールドは、ファイルの作成日時や更新日時等のタイムスタンプを格納するフィールドである。
【0138】
“タイムゾーン”フィールドは、タイムスタンプが設定された時点のタイムゾーンを格納するフィールドである。
【0139】
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は0x00を格納する。
【0140】
“開始クラスタ番号”フィールドは、ファイルデータを格納している領域の先頭クラスタ番号を格納するフィールドである。
【0141】
“ファイルサイズ”フィールドは、ファイルのサイズを格納するフィールドである。
【0142】
≪(2)名称エントリ202≫
図7は、名称エントリ202の構成を示す図である。
【0143】
名称エントリ202は、ファイルの名称を格納するディレクトリエントリであり、基本エントリ201同様、全てのファイルのエントリシーケンス27に必ず1つずつ含まれるディレクトリエントリである。
【0144】
“タイプ”フィールドは、名称エントリ202であることを示す固定値を格納するフィールドである。
【0145】
“ファイル名長”フィールドは、ファイル名の長さを格納するフィールドである。
【0146】
“名前ハッシュ”フィールドは、ファイル名のハッシュ値を格納するフィールドである。
【0147】
“ファイル名”フィールドは、ファイルの名称を格納するフィールドである。
【0148】
≪(3)エクステント情報エントリ203≫
図8は、エクステント情報エントリ203の構成を示す図である。
【0149】
エクステント情報エントリ203は、ファイルデータ格納領域の位置と大きさを示す情報を格納するディレクトリエントリであり、ファイルにより本エントリが存在する場合と存在しない場合があり得る。
【0150】
1つのエクステント情報エントリ203は、1つの連続領域に関する情報を格納するため、ファイルが複数の連続領域から構成されている場合には、複数のエクステント情報エントリ203がエントリシーケンス27に含まれることになる。エクステント情報エントリ203は、連続領域の位置と大きさを示す情報を格納するため、連続領域が大きくても32バイトの固定長ディレクトリエントリで位置情報を管理することができる。そのため、ファイルをシークする場合には、FAT(305、306)を参照せず、エクステント情報エントリ203を参照することにより、シーク処理を高速化することが可能となる。
【0151】
“タイプ”フィールドは、エクステント情報エントリ203であることを示す固定値を格納するフィールドである。
【0152】
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は0x00を格納する。
【0153】
“開始クラスタ番号”フィールドは、連続領域の先頭クラスタ番号を格納するフィールドである。
【0154】
“連続領域サイズ”フィールドは、連続領域の大きさを格納するフィールドである。
【0155】
≪(4)更新情報エントリ204≫
図9は、更新情報エントリ204の構成を示す図である。
【0156】
更新情報エントリ204は、基本エントリ201に存在するフィールドの内、ファイルを上書き、追記する際に更新される情報を格納するディレクトリエントリであり、ファイルによりこの更新情報エントリ204が存在する場合と存在しない場合があり得る。但し、更新情報エントリ204が存在する場合には、更新情報エントリ204は、エントリシーケンス27に1つのみ含まれる。本エントリをエントリシーケンス27内の後方に配置し、基本エントリ201に含まれるフィールドの更新が発生する場合には、本エントリのフィールドのみを更新することにより、最新の更新情報を保持する。
【0157】
これにより、基本エントリ201の更新が不要となり、循環シフト型チェックサムを再度基本エントリ201から参照し直して再計算する必要がなくなり、チェックサム算出処理を高速化することが可能となる。
【0158】
“タイプ”フィールドは、更新情報エントリ204であることを示す固定値を格納するフィールドである。
【0159】
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は0x00を格納する。
【0160】
“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドは、基本エントリ201に存在する各フィールドと同様の情報を格納するフィールドである。
【0161】
エントリシーケンス27に更新情報エントリ204が存在する場合、基本エントリ201内に存在するこれらのフィールド(“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールド)は使用されず、更新情報エントリ204内に存在するフィールド(“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールド)のみが使用される。
【0162】
≪(5)ダミーエントリ205≫
図10は、ダミーエントリ205の構成を示す図である。
【0163】
ダミーエントリ205は、それ自体には有効なデータを含まず、循環シフト型チェックサムの算出オーバーヘッドを削減するために使用されるディレクトリエントリである。
【0164】
“タイプ”フィールドは、ダミーエントリ205であることを示す固定値を格納するフィールドである。
【0165】
“0x00パディング”は、循環シフト型チェックサムの算出を容易にするため、0x00を格納する。
【0166】
情報記録システム1000では、これら各種ディレクトリエントリを組み合わせて、各ファイルに対応するエントリシーケンス27が構成される。
【0167】
続いて、エントリシーケンス27の例について、図11、図12を用いて説明する。
【0168】
(1.2.3:通常ファイルのエントリシーケンス27)
情報記録システム1000において、比較的小さなサイズのファイル(以下、「通常ファイル」という。)を取り扱う場合は、アクセスモジュール1の通常ファイル処理部103により、FAT(305、306)を主に使用して領域管理を行う。
【0169】
図11は、「通常ファイル」のエントリシーケンス27の一例を示した図である。
【0170】
通常ファイルのエントリシーケンス27には、ファイルの基本的な情報を格納する基本エントリ201、ファイル名を格納する名称エントリ202が存在する。通常ファイルは、ファイルサイズが小さいため、FAT(305、306)を用いてシーク処理を実施しても短時間で処理が終了する。このため、情報記録システム1000において、通常ファイルに対する処理を行う場合、エクステント情報エントリ203は使用しない。したがって、図11に示すように、通常ファイルのエントリシーケンス27にもエクステント情報エントリ203は存在しない。
【0171】
(1.2.4:拡張ファイルのエントリシーケンス27)
また、情報記録システム1000において、比較的大きなサイズのファイル(以下、「拡張ファイル」という。)を取り扱う場合は、アクセスモジュール1の拡張ファイル処理部104により、エクステント情報エントリ203を主に使用して領域管理を行う。
【0172】
図12は、「拡張ファイル」のエントリシーケンス27の一例を示した図である。
【0173】
拡張ファイルのエントリシーケンス27の先頭には、基本エントリ201、名称エントリ202が存在する。更にその後には、ファイルデータ格納領域の位置と大きさに関する情報を格納するエクステント情報エントリ203が1つ以上存在する。
【0174】
また、エクステント情報エントリ203の終端の直後には、更新情報エントリ204が存在し、以降、任意の個数のダミーエントリ205が存在する。
【0175】
拡張ファイルは、ファイルサイズが大きいため、FAT(305、306)を用いてシーク処理を実施すると長時間かかる。このため、情報記録システム1000において、拡張ファイルに対する処理を行う場合、エクステント情報エントリ203を用いてシーク処理を実施する。これにより、FAT型ファイルシステムにおいて、シーク処理を高速化することが可能となる。更に、更新情報エントリ204、ダミーエントリ205を使用することにより、循環シフト型チェックサムの算出処理を高速化することが可能となる。
【0176】
<1.3:ファイルデータ書き込み処理手順>
続いて、情報記録システム1000におけるファイルデータ書き込み処理手順について、図13を用いて説明する。情報記録システム1000における書き込み処理手順は、「通常ファイル」と「拡張ファイル」とでは、大きく処理手順が異なる。
【0177】
情報記録システム1000における処理手順の詳細は、次の通りである。
【0178】
(S1301):
アクセスモジュール1は、書き込み対象ファイルのエントリシーケンス27を見つけ出し、基本エントリ201、名称エントリ202を情報記録モジュール2から読み出す。
【0179】
(S1302):
アクセスモジュール1は、エントリシーケンス27にエクステント情報エントリ203が含まれるか判定する。エクステント情報エントリ203が含まれない「通常ファイル」の場合、S1303の処理に進む。また、エクステント情報エントリ203が含まれる「拡張ファイル」の場合、S1310の処理に進む。
(通常ファイルの場合の処理):
(S1303):
S1302の判定処理において、対象ファイルが「通常ファイル」であると判定された場合、アクセスモジュール1は、FAT(305、306)等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込む処理を情報記録モジュール2に対して指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、実際にファイルデータを、不揮発性メモリ25の空き領域に書き込む。
【0180】
この処理は、従来のFAT型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。
【0181】
(S1304):
アクセスモジュール1からの指示により、情報記録モジュール2において、FAT(305、306)等の領域管理情報が更新され、更新された領域管理情報が情報記録モジュール2の不揮発性メモリ25に書き込まれる。
【0182】
この処理も、従来のFAT型ファイルシステムにおける領域管理情報更新処理と同様のものである。
【0183】
(S1305):
アクセスモジュール1は、基本エントリ201の“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドをアクセスモジュール1内のRAM12上で更新する。
【0184】
(S1306):
アクセスモジュール1は、基本エントリ201、名称エントリ202を参照し、循環シフト型チェックサムを算出する。
【0185】
(S1307):
アクセスモジュール1は、アクセスモジュール1内のRAM12上において、S1306で算出したチェックサムの値を、基本エントリ201の“チェックサム”のフィールドに格納する。
【0186】
(S1308):
アクセスモジュール1は、情報記録モジュール2に対して、アクセスモジュール1内のRAM12上で更新した基本エントリ201を情報記録モジュール2に書き込むよう指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、アクセスモジュール1内のRAM12上で更新された基本エントリ201を情報記録モジュール2の不揮発性メモリ25に書き込む。
【0187】
(S1309):
アクセスモジュール1は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はS1303の処理に戻る。
(拡張ファイルの場合の処理):
(S1310):
一方、S1302の判定処理において、対象ファイルが「拡張ファイル」であると判定された場合、アクセスモジュール1は、エントリシーケンス27の先頭に存在する基本エントリ201から、エクステント情報エントリ203の終端まで参照し、循環シフト型チェックサムの値(C1)を算出する。
【0188】
(S1311):
アクセスモジュール1は、FAT(305、306)等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込む処理を情報記録モジュール2に対して指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、実際にファイルデータを、不揮発性メモリ25の空き領域に書き込む。
【0189】
この処理は、従来のFAT型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。
【0190】
(S1312):
アクセスモジュール1は、FAT(305、306)等の領域管理情報を更新し、情報記録モジュール2に書き込む処理を情報記録モジュール2に対して指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、更新された領域管理情報を、不揮発性メモリ25に書き込む。
【0191】
この処理も、従来のFAT型ファイルシステムにおける領域管理情報更新処理と同様のものである。
【0192】
(S1313):
アクセスモジュール1は、アクセスモジュール1内のRAM12上において、エントリシーケンス27におけるエクステント情報エントリ203の終端、すなわち、更新情報エントリ204が存在する位置に、新しいエクステント情報エントリ203を追加する。この新しいエクステント情報エントリ203には、S1311で取得した空き領域の位置と大きさを示す情報を格納する。
【0193】
(S1314):
アクセスモジュール1は、アクセスモジュール1内のRAM12上において、現在の更新情報エントリ204を最新のエクステント情報エントリ203の終端の直後に移動する。この際、“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドには、最新の情報を格納する。
【0194】
(S1315):
アクセスモジュール1は、C1の値に、S1313で追加したエクステント情報エントリ203の循環シフト型チェックサムC_extentを加算する(C2)。すなわち、アクセスモジュール1は、
C2=C1+C_extent
に相当する処理を行う。
【0195】
(S1316):
C2の値に、S1314で更新した更新情報エントリ204の循環シフト型チェックサムC_updateを加算する(C3)。すなわち、アクセスモジュール1は、
C3=C2+C_update
に相当する処理を行う。
【0196】
(S1317):
エントリシーケンス27に含まれるダミーエントリ205の循環シフト型チェックサムを演算により算出し、算出したチェックサム値C_dummyをC3の値に加算する(C4)。すなわち、アクセスモジュール1は、
C4=C3+C_dummy
に相当する処理を行う。
【0197】
ここで、チェックサムの値が16ビット長である場合、図5の循環シフト型チェックサム算出処理手順を適用すると、
「C4=C3+(“タイプ”フィールドの値)×ダミーエントリ数」
となることが分かる。これは、ダミーエントリ205のサイズが16の倍数長の32バイトであり、“0x00パディング”フィールドが全て0x00に設定されていることに起因する。すなわち、ダミーエントリ205のサイズが16の倍数長であることから、“タイプ”フィールドの加算すべきビット位置が常に一意に固定されおり、“タイプ”フィールドの値に関する算出処理は、単純に“タイプ”フィールドの値をダミーエントリ数分だけ加算するという処理に置き換えることが出来る。また、“0x00パディング”フィールドが全て0x00であることから、これらの値はチェックサムの値に影響を与えることがない。
【0198】
よって、C4を算出する際には、実際に情報記録モジュール2からダミーエントリ205の領域を読み出す必要はなく、先に示したような単純な算術演算により循環シフト型チェックサムを算出することが可能となる。
【0199】
なお、図5に示した循環シフト型チェックサム算出処理手順において、チェックサムの値のビット長は、必ずしも、上記のように16ビット長(2バイト長)にする必要はなく、例えば、チェックサムの値のビット長を、8ビット長(1バイト長)にしてもよい。
【0200】
(S1318):
アクセスモジュール1は、アクセスモジュール1内のRAM12上において、S1317で算出したC4の値を、基本エントリ201の“チェックサム”のフィールドに格納する。
【0201】
(S1319):
アクセスモジュール1は、情報記録モジュール2に対して、アクセスモジュール1内のRAM12上で更新した基本エントリ201、S1313で追加したエクステント情報エントリ203、更新情報エントリ204を情報記録モジュール2に書き込むよう指示する。情報記録モジュール2は、アクセスモジュール1の指示に従って、更新した基本エントリ201、S1313で追加したエクステント情報エントリ203、更新情報エントリ204を情報記録モジュール2の不揮発性メモリ25に書き込む。
【0202】
(S1320):
アクセスモジュール1は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はS1321の処理に進む。
【0203】
(S1321):
S1320の判定処理において、全ファイルデータの書き込みが完了していないと判定された場合、C2の値をC1に代入し、S1311の処理に戻る。
【0204】
≪エントリシーケンス27の構造の一例≫
このような処理手順を実施した場合、ファイルデータを追記する度にエクステント情報エントリ203が増加することになる。その際のエントリシーケンス27の構造の一例を、図14を用いて説明する。
【0205】
図14(a)は、ファイルデータ書き込み前の初期状態のエントリシーケンス27の一例を示す。この状態で既に3つの連続領域にファイルデータが書き込まれた状態であり、各々の連続領域は、3つのエクステント情報エントリ203により管理されている。
【0206】
図14(b)は、図14(a)の状態にファイルデータを追記した後の状態のエントリシーケンス27の一例を示す。
【0207】
この場合、S1310におけるC1の算出時に参照されるディレクトリエントリは、図14(b)に示す5つのディレクトリエントリ(図14(b)において、「C1の算出範囲」として示している5つのディレクトリエントリ)である。
【0208】
同様に、C2、C3を算出する際に参照されるディレクトリエントリは、図14(b)に示す各々1つのディレクトリエントリ(図14(b)において、「C2の算出範囲」および「C3の算出範囲」として示しているディレクトリエントリ)である。
【0209】
更に、S1317におけるC4の算出時に対象となるディレクトリエントリは、図14(b)に示す2つのディレクトリエントリ(図14(b)において、「C4の算出範囲」として示している2つのディレクトリエントリ)であるが、実際にはこれらのディレクトリエントリを参照する必要はなく、簡単な算術演算によりC4を算出することが可能である。
【0210】
また、S1319において情報記録モジュール2に書き込まれるディレクトリエントリは、図14(b)で色付きの領域(背景をグレーにした領域)で示されている3つのディレクトリエントリ(基本ディレクトリエントリ201、エクステント情報エントリ203、更新情報エントリ204)となる。
【0211】
図14(c)は、図14(b)の状態に、更に、ファイルデータを追記した後の状態のエントリシーケンス27の一例を示す。
【0212】
この場合、S1321において、既にC1(このC1は、図14(b)のC2と同一。)は算出されており、図14(c)の場合において、C2、C3を算出する際に参照されるディレクトリエントリは、図14(c)に示す各々1つのディレクトリエントリ(図14(c)に、「新C2の算出範囲」および「新C3の算出範囲」として示しているディレクトリエントリ)である。
【0213】
更に、S1317におけるC4の算出時に対象となるディレクトリエントリは、図14(c)に示す1つのディレクトリエントリ(図14(c)に、「新C4の算出範囲」として示しているディレクトリエントリ)であるが、実際にはこのディレクトリエントリを参照する必要はなく、簡単な算術演算によりC4を算出することが可能である。また、S1319において、情報記録モジュール2に書き込まれるディレクトリエントリは、図14(c)で色付きの領域(背景をグレーにした領域)で示されている3つのディレクトリエントリ(基本ディレクトリエントリ201、エクステント情報エントリ203、更新情報エントリ204)となる。
【0214】
すなわち、情報記録システム1000では、図14(b)で示す初回のファイルデータ追記時には、C1、C2、C3の算出のために、合計7つのディレクトリエントリの参照が必要である。
【0215】
一方、図14(c)で示すような2回目以降のファイルデータ追記時には、C2、C3の算出のために、合計2つのディレクトリエントリを参照するのみで良い。
【0216】
このように、情報記録システム1000におけるファイルデータ書き込み処理では、ファイルデータ追記時の循環シフト型チェックサム算出時に参照が必要なデータ量を削減することができる。その結果、情報記録システム1000では、高速にチェックサムを算出することが可能となる。
【0217】
また、図13を用いて説明した処理手順では、基本エントリ201は、“チェックサム”フィールド以外のフィールドを更新していない。これは、更新情報エントリ204を使用していることに加え、ファイル作成時等に予め所定の個数のディレクトリエントリを格納する領域を確保しておき、その領域内の終端付近にはダミーエントリ205を格納しておくことにより、実現している。
【0218】
例えば、情報記録システム1000において、ファイル作成時に32個のディレクトリエントリを格納する領域を用意して全体にダミーエントリ205を格納しておき、必要に応じて先頭から順にダミーエントリ205を上書きしていく形で基本エントリ201や名称エントリ202、エクステント情報エントリ203、更新情報エントリ204を格納していく。
【0219】
このようにすることで、情報記録システム1000では、基本エントリ201内の“2次エントリの個数”フィールドには、常に“31”の値を格納しておけば良いことになり、基本エントリ201の更新が不要となる。但し、予め用意しておいたダミーエントリ205を全て消費してしまった場合は、新たにディレクトリエントリを格納する領域を確保し、ダミーエントリ205を格納する必要がある。この場合、基本エントリ201内の“2次エントリの個数”フィールドの値が変化するので、この場合に限り、情報記録システム1000では、エントリシーケンス27全体を参照して、循環シフト型チェックサムを再計算する必要が生じる。そのため、このような再計算が頻繁に発生しないよう、情報記録システム1000では、ファイル作成時には、ある程度の大きさのディレクトリエントリ領域を確保しておく。
【0220】
以上のように、情報記録システム1000では、情報記録モジュール2の不揮発性メモリ25がFAT型ファイルシステム26で管理されており、1つのファイルに複数のディレクトリエントリが割り当てられる。
【0221】
更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、情報記録システム1000において、大きなサイズのファイルを処理対象とする場合、当該大きなサイズのファイルについて、エクステント情報エントリ203により連続領域の位置と大きさを示す情報が管理されている。
【0222】
これにより、情報記録システム1000では、FAT型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
【0223】
更に、情報記録システム1000では、更新情報エントリ204とダミーエントリ205とを使用することにより、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。
【0224】
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本実施形態で記載された数値は一例であり、他の値を使用しても良い。例えば、ファイル作成時に32個のディレクトリエントリを格納する領域を用意する場合について説明したが、その他の値を用いても良い。
【0225】
本実施形態では、情報記録システム1000において、「通常ファイル」と「拡張ファイル」との2種類のファイルを取り扱う場合について説明したが、これに限定されることはなく、例えば、全てのファイルを「拡張ファイル」として取り扱っても良い。
【0226】
また、本実施形態で説明した各種ディレクトリエントリの構成は、一例であり、必要に応じてフィールドを追加、修正、削除しても良い。1つのディレクトリエントリに含まれる情報を複数のディレクトリエントリに分割しても良いし、逆に、複数のディレクトリエントリに含まれる情報を1つのディレクトリエントリに含ませても良い。例えば、名称エントリ202に含まれる“ファイル名”フィールドを独立した別のディレクトリエントリに移動させる場合が考えられる。このようにすることで、ファイル名が名称エントリ202に格納可能な28バイトを超えた場合においても、ファイル名のみを格納する独立したディレクトリエントリを複数個、エントリシーケンス27に格納することにより、容易に対応することが可能となる。
【0227】
更に、エクステント情報エントリ203に格納する連続領域の位置と大きさを示す情報を、複数の連続領域分格納するように変更することが考えられる。このようにすることで、1ファイル当りのエクステント情報エントリ203の数を削減することが可能であり、情報記録システム1000において、更に効率的に連続領域を管理することが可能となる。
【0228】
また、本実施形態で説明したエントリシーケンス27の構成は一例であり、必要に応じて、新たなディレクトリエントリを定義し、エントリシーケンス27に追加しても良いし、その他の変更を加えても良い。
【0229】
また、S1311、S1312の処理では、領域管理情報としてFAT(305、306)を用いる場合について説明したが、必ずしもFAT(305、306)を用いる必要はない。
【0230】
例えば、FAT(305、306)は、クラスタ間のリンク情報のみを管理するテーブルとして使用し、空き領域管理には、別にアロケーションビットマップを用いる場合においては、S1311、S1312の処理でアロケーションビットマップのみを使用し、FAT(305、306)を使用する必要はない。すなわち、FAT(305、306)が管理するリンク情報は、エクステント情報エントリ203で管理されるため、これらの処理においてFAT(305、306)を使用する必要はない。
【0231】
また、図13の処理手順では、拡張ファイルへのデータ書き込み時において、空き領域を取得する度にエクステント情報エントリ203を追加する場合について説明した。
【0232】
しかしながら、S1311で取得した空き領域が、現在の書き込みデータの直前のファイルデータを格納した領域と連続している領域の場合、必ずしもエクステント情報エントリ203を追加する必要はない。
【0233】
例えば、フォーマット直後の状態において、1つのファイルを追記し続ける場合等は、連続した領域を確保し続けることができるため、エクステント情報エントリ203は、常に1つしか存在せず、その1つのエクステント情報エントリ203で全ファイルデータの格納領域の位置と大きさを示すことができる。
【0234】
また、上記では、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合について説明したが、これに限定されることはなく、例えば、CRC、ハッシュ値(ハッシュ関数)など、循環シフト型チェックサム以外の方法を用いても良い。
【0235】
また、基本エントリ201の“2次エントリの個数”フィールドが1バイトである例について説明したが、この場合、エントリシーケンス27の大きさは最大でも256個のディレクトリエントリとなる。フィールドを2バイトに拡張して、より多くのディレクトリエントリをエントリシーケンス27に含められるようにしても良いが、その他の方法として、複数のエントリシーケンス27を接続して、1つのファイルの管理情報を格納する方法が考えられる。
【0236】
この場合、例えば、図15に示すような接続エントリ206を定義し、図16に示すようなエントリシーケンス27の構成を採るようにしても良い。
【0237】
図16において、基本エントリ201内の“2次エントリの個数”フィールドは、“255”に設定されており、基本エントリ201内の“チェックサム”フィールドには、先頭256エントリ分のチェックサムが保持される。257番目のディレクトリエントリには、接続エントリ206が格納され、直前のエントリシーケンス27がまだ継続していることを示す。このように256エントリ毎に接続エントリ206を挿入することにより、1ファイルに割り当てられるディレクトリエントリの個数を増加させることが可能となる。
【0238】
[第2実施形態]
続いて、本発明の第2実施形態について説明する。
【0239】
図17は、第2実施形態に係る情報記録システム2000の構成図である。図17に示すように、情報記録システム2000は、アクセスモジュール1と、情報記録モジュール2と、を備える。
【0240】
本実施形態の情報記録システム2000(図17参照)は、第1実施形態の情報記録システム1000(図1参照)とは、情報記録モジュール2内の不揮発性メモリ25に構築されているFAT型ファイルシステム26内の構成が異なる。それ以外については、情報記録システム2000は、情報記録システム1000とは同様であるので、詳細な説明は省略する。
【0241】
第1実施形態の情報記録システム1000では、エントリシーケンス27内に、エクステント情報エントリ203、更新情報エントリ204、ダミーエントリ205が存在していたが、第2実施形態の情報記録システム2000では、これらのエントリは、エントリシーケンス27内には存在せず、代わりにエクステント領域指定エントリ207が追加されている。第2実施形態の情報記録システム2000では、エクステント情報エントリ203を直接エントリシーケンス27内に格納するのではなく、任意のクラスタを割り当てて、その中に格納するようにする。
【0242】
このようにすることにより、情報記録システム2000では、エントリシーケンス27の大きさが増加することを防止することができ、循環シフト型チェックサムを高速に算出することが可能となる。
【0243】
≪エクステント領域指定エントリ207の構成≫
図18は、エクステント領域指定エントリ207の構成を示す図である。
【0244】
エクステント領域指定エントリ207は、該当ファイルのエクステント情報エントリ203を格納する領域の位置を示す情報を格納するディレクトリエントリである。
【0245】
“タイプ”フィールドは、エクステント領域指定エントリ207であることを示す固定値を格納するフィールドである。
【0246】
“予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は0x00を格納する。
【0247】
“開始クラスタ番号”フィールドは、エクステント情報エントリ203を格納する任意のクラスタ領域の先頭クラスタ番号を格納するフィールドである。
【0248】
“エクステント領域サイズ”フィールドは、上記領域全体の大きさを格納するフィールドである。
【0249】
本実施形態の情報記録システム2000では、エントリシーケンス27は、基本エントリ201、名称エントリ202、エクステント領域指定エントリ207から構成される。
【0250】
エクステント情報エントリ203は、エクステント領域指定エントリ207で示される任意のクラスタ内に格納されるため、エントリシーケンス27には含まれない。その結果、情報記録システム2000では、エントリシーケンス27の大きさが小さく抑えられ、循環シフト型チェックサムの算出を高速に行うことが可能となる。そのため、タイムスタンプやファイルサイズ等の情報は、直接基本エントリ201を更新することにより実施され、更新情報エントリ204は、不要となる。
【0251】
更に、情報記録システム2000では、ファイルデータの書き込みによりエントリシーケンス27の大きさが変化しないことから、ダミーエントリ205も不要となる。
【0252】
≪ファイルデータ書き込み処理手順≫
続いて、情報記録システム2000におけるファイルデータ書き込み処理手順について、図19を用いて説明する。
【0253】
図19の処理手順は、図13で説明した処理手順と同様に、「通常ファイル」と「拡張ファイル」によって、処理内容が異なる。
【0254】
(S1901):
アクセスモジュール1は、書き込み対象ファイルのエントリシーケンス27を見つけ出し、基本エントリ201、名称エントリ202を情報記録モジュール2から読み出す。
【0255】
(S1902):
アクセスモジュール1は、エクステント領域指定エントリ207を参照し、エクステント領域28にエクステント情報エントリ203が含まれているか否かを判定する。
【0256】
エクステント領域28にエクステント情報エントリ203が含まれない「通常ファイル」の場合、S1903の処理に進む。また、エクステント領域28にエクステント情報エントリ203が含まれる「拡張ファイル」の場合、S1910の処理に進む。
【0257】
なお、「通常ファイル」に対する処理であるS1903以降の処理は、図13で説明した処理手順と同様であるため、説明を省略する。
(拡張ファイルの場合の処理):
(S1910):
S1902の判定処理において、対象ファイルが「拡張ファイル」であると判定された場合、アクセスモジュール1は、情報記録モジュール2に対して、FAT(305、306)等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込むよう指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、実際にファイルデータを、不揮発性メモリ25の空き領域に書き込む
この処理は、従来のFAT型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。
【0258】
(S1911):
アクセスモジュール1は、FAT(305、306)等の領域管理情報を更新し、情報記録モジュール2に書き込む処理を情報記録モジュール2に対して指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、更新された領域管理情報を、不揮発性メモリ25に書き込む。
【0259】
この処理も、従来のFAT型ファイルシステムにおける領域管理情報更新処理と同様のものである。
【0260】
(S1912):
アクセスモジュール1は、基本エントリ201の“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドをアクセスモジュール1内のRAM12上で更新する。
【0261】
(S1913):
アクセスモジュール1は、情報記録モジュール2に対して、エクステント情報エントリ203をエクステント領域28として割り当てられている任意のクラスタ内に追加し、情報記録モジュール2に書き込むよう指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、エクステント情報エントリ203をエクステント領域28として割り当てられている任意のクラスタ内に追加し、情報記録モジュール2に書き込む。
【0262】
ここで、エクステント情報エントリ203には、S1910で取得した空き領域の位置と大きさを示す情報を格納する。
【0263】
また、エクステント情報エントリ203の追加によりエクステント領域28の大きさが変化するため、アクセスモジュール1は、エクステント領域指定エントリ207の“エクステント領域サイズ”フィールドをアクセスモジュール1内のRAM12上で更新する。
【0264】
(S1914):
アクセスモジュール1は、基本エントリ201、名称エントリ202、エクステント領域指定エントリ207を参照し、循環シフト型チェックサムを算出する。
【0265】
(S1915):
アクセスモジュール1は、アクセスモジュール1内のRAM12上において、S1914で算出したチェックサムの値を、基本エントリ201の“チェックサム”のフィールドに格納する。
【0266】
(S1916):
アクセスモジュール1は、情報記録モジュール2に対して、アクセスモジュール1内のRAM12上で更新した基本エントリ201、エクステント領域指定エントリ207を情報記録モジュール2に書き込むよう指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、更新された基本エントリ201、エクステント領域指定エントリ207を情報記録モジュール2の不揮発性メモリ25に書き込む。
【0267】
(S1917):
アクセスモジュール1は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はS1910の処理に戻る。
【0268】
このように、情報記録システム2000では、拡張ファイルにおいて任意のクラスタをエクステント領域28として割り当て、その領域にエクステント情報エントリ203を格納することにより、該当ファイルのエントリシーケンス27の大きさが増加することを防止し、循環シフト型チェックサムの算出オーバーヘッドを削減することが可能となる。
【0269】
以上のように、情報記録システム2000では、情報記録モジュール2の不揮発性メモリ25がFAT型ファイルシステム26で管理されており、1つのファイルに複数のディレクトリエントリが割り当てられる。
【0270】
更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、情報記録システム2000において、大きなサイズのファイルを処理対象とする場合、当該大きなサイズのファイルについて、エクステント情報エントリ203により連続領域の位置と大きさを示す情報が管理されている。
【0271】
これにより、情報記録システム2000では、FAT型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
【0272】
更に、情報記録システム2000では、任意のクラスタをエクステント領域28として該当ファイルに割り当て、その中にエクステント情報エントリ203を格納する。
【0273】
これにより、エントリシーケンス27の大きさが増加することを防止し、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。
【0274】
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本発明の第1実施形態で記載された種々の変形例を本発明の第2実施形態に適用しても良い。
【0275】
また、本発明の第2実施形態では、エクステント領域28に、エクステント情報エントリ203を格納する場合の例について説明した。しかしながら、エクステント領域28は、エントリシーケンス27が格納される通常のディレクトリ領域とは異なる領域である。そのため、エクステント領域28は、エントリシーケンス27と同様にエントリを取り扱う必要がなく、必ずしも32バイトのエントリの形式を取る必要はない。
【0276】
例えば、4バイトの開始クラスタ番号と、8バイトのエクステント領域サイズのみから構成される12バイトのエントリを1つの単位として、エクステント領域28に複数のエントリが詰めて格納されるような構成としても良い。
【0277】
また、エクステント領域指定エントリ207内の“エクステント領域サイズ”のフィールドを削除し、その他の方法でエクステント領域の終端を検出しても良い。
【0278】
例えば、基本エントリ201の“ファイルサイズ”フィールドで、該当ファイルのサイズを認識し、その値とエクステント領域28に格納されているエクステント情報エントリ203の“連続領域サイズ”フィールドとの総和を比較し、“ファイルサイズ”と同じサイズに総和が達した時点で、エクステント領域28が終端されていることを検出するようにしても良い。
【0279】
また、情報記録システム2000において、エクステント領域28のデータ書き込みされていない領域(実体データが存在しない領域)に、データ”0x00”を書き込んでおき(いわゆる、0スタッフィング(0パッディング)処理をしておき)、エクステント領域28において、順次、書き込まれているデータ値をチェックしていき、データ値が”0x00”である領域が出現した位置の直前が、エクステント領域28の終端位置(実体データが書き込まれている領域の終端位置)であると検出するようにしても良い。
【0280】
[他の実施形態]
なお、上記実施形態で説明したアクセスモジュール(アクセス装置)、情報記録モジュール(情報記録装置)、及び情報記録システムにおいて、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
【0281】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0282】
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0283】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
【0284】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係るアクセスモジュール(アクセス装置)、情報記録モジュール(情報記録装置)、及び情報記録システムをハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
【0285】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【0286】
[付記]
なお、本発明は、次のように表現することも可能である。
(付記1)
ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、
前記ファイルデータを固定長ブロック単位で管理し、1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイルシステム制御部
を備えるアクセス装置。
(付記2)
前記エントリ群は、内部に前記エクステント情報エントリを含む、
付記1に記載のアクセス装置。
(付記3)
前記ファイルシステム制御部は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを、前記エントリ群に追加する、
付記2に記載のアクセス装置。
(付記4)
前記ファイルシステム制御部は、
ファイルが作成される際に、所定の個数のエントリを含むエントリ群を構成し、
前記エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリを格納する、
付記3に記載のアクセス装置。
(付記5)
前記ファイルシステム制御部は、
前記ダミーエントリにおいて、前記ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値を格納する、
付記4に記載のアクセス装置。
(付記6)
前記ファイルシステム制御部は、
前記エントリ群に
前記エクステント情報エントリを追加する際に、前記ダミーエントリを削除し、前記エントリ群全体の大きさを変化させない、
付記5に記載のアクセス装置。
(付記7)
前記ファイルシステム制御部は、
前記エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを、前記エクステント情報エントリの後ろに格納する、
付記3に記載のアクセス装置。
(付記8)
前記ファイルシステム制御部は、
前記エントリ群に前記エクステント情報エントリを追加する際には、前記更新情報エントリの格納位置を後方にずらす、
付記7に記載のアクセス装置。
(付記9)
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
付記2に記載のアクセス装置。
(付記10)
前記ファイルシステム制御部は、
前記エクステント情報エントリが追加される際に、追加される前記エクステント情報エントリ、及び、前記更新情報エントリに基づいた演算と、
前記エントリ群に含まれる前記ダミーエントリの個数を元にした演算と、で前記循環シフト型チェックサムを算出する、
付記9に記載のアクセス装置。
(付記11)
前記ファイルシステム制御部は、
ファイルにアクセスする場合、
前記ファイルに対応する前記エントリ群が前記エクステント情報エントリを含むときは、前記エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行う拡張ファイル処理部と、
前記ファイルに対応する前記エントリ群が前記エクステント情報エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う通常ファイル処理部と、
備える、
付記1から10のいずれかに記載のアクセス装置。
(付記12)
ファイルデータを格納する不揮発性メモリを含む情報記録装置であって、
前記ファイルデータは、固定長ブロック単位で管理されており、
前記不揮発性メモリには、
1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリから構成されるエントリ群であって、前記ファイルに関連するエントリ群のチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を格納する、
情報記録装置。
(付記13)
前記エントリ群は、内部に前記エクステント情報エントリを含む、
付記12に記載の情報記録装置。
(付記14)
前記エントリ群は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを追加する構成である、
付記13に記載の情報記録装置。
(付記15)
前記エントリ群は、
ファイルが作成される際に、所定の個数のエントリを含む構成であり、
前記エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリが格納される、
付記14に記載の情報記録装置。
(付記16)
前記ダミーエントリは、
前記ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値が格納される、
付記15に記載の情報記録装置。
(付記17)
前記エントリ群は、
前記エクステント情報エントリが追加される際には、前記ダミーエントリを削除することで、前記エントリ群全体の大きさが変化しない構成である、
付記16に記載の情報記録装置。
(付記18)
前記エントリ群は、
前記エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを前記エクステント情報エントリの後ろに格納する構成である、
付記14に記載の情報記録装置。
(付記19)
前記エントリ群は、
前記エクステント情報エントリが追加される際には、前記更新情報エントリの格納位置を後方にずらす構成である、
付記18に記載の情報記録装置。
(付記20)
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
付記12に記載の情報記録装置。
(付記21)
ファイルデータを格納する不揮発性メモリを含む情報記録装置と、前記情報記録装置にアクセスするアクセス装置と、備える情報記録システムであって、
前記ファイルデータを、固定長ブロック単位で管理し、
前記不揮発性メモリには、
1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
前記アクセス装置は、
前記不揮発性メモリ内に格納された情報を用いて前記不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える、
情報記録システム。
(付記22)
前記エクステント情報エントリは、前記エントリ群の内部に格納される、
付記21に記載の情報記録システム。
(付記23)
付記1から11のいずれかに記載のアクセス装置と、
付記12から22のいずれかに記載の情報記録装置と、
を備える情報記録システム。
(付記24)
ファイルデータを格納する不揮発性メモリを用いるファイル管理方法であって、
前記ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を用いて、前記ファイルの管理を行う、
ファイル管理方法。
(付記25)
付記24に記載のファイル管理方法をコンピュータに実行させるプログラム。
【0287】
[付記の内容]
第1の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、用いてファイルの管理を行うファイルシステム制御部を備える。
【0288】
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理し、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。
【0289】
このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
【0290】
したがって、このアクセス装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、このアクセス装置では、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【0291】
さらに、このアクセス装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
【0292】
なお、「アクセス装置」は、アクセスモジュールを含む概念である。
【0293】
第2の発明は、第1の発明であって、エントリ群は、内部にエクステント情報エントリを含む。
【0294】
第3の発明は、第2の発明であって、ファイルシステム制御部は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを、エントリ群に追加する。
【0295】
第4の発明は、第3の発明であって、ファイルシステム制御部は、ファイルが作成される際に、所定の個数のエントリを含むエントリ群を構成し、エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリを格納する。
【0296】
第5の発明は、第4の発明であって、ファイルシステム制御部は、ダミーエントリにおいて、ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値を格納する。
【0297】
これにより、アクセス装置でのチェックサムの算出処理を高速化することができる。
【0298】
なお、「所定の値」は、例えば、”0x00”である。これにより、チェックサムの算出処理を簡略化することができる。
【0299】
第6の発明は、第5の発明であって、ファイルシステム制御部は、エントリ群に、エクステント情報エントリを追加する際には、ダミーエントリを削除し、エントリ群全体の大きさを変化させない。
【0300】
このアクセス装置では、エントリ群全体の大きさが変化しないので、アクセス装置でのチェックサムの算出処理の対象となる領域が固定となる。その結果、アクセス装置でのチェックサムの算出処理を高速化することができる。
【0301】
第7の発明は、第3の発明であって、ファイルシステム制御部は、エントリ群において、エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを、エクステント情報エントリの後ろに格納する。
【0302】
このアクセス装置では、更新情報エントリが、エクステント情報エントリの後ろに格納されるので、更新エントリより前の領域におけるデータがほとんど変化しない。そのため、このアクセス装置では、効率良くチェックサムの算出処理を行うことができる。
【0303】
なお、「後ろに格納する」とは、論理アドレス空間において、後段の論理アドレス位置に格納することを意味する。したがって、上記では、エクステント情報エントリが格納されている論理アドレス空間領域に続く論理アドレス空間領域に、更新情報エントリが格納されることになる。
【0304】
第8の発明は、第7の発明であって、ファイルシステム制御部は、エントリ群に、エクステント情報エントリを追加する際には、更新情報エントリの格納位置を後方にずらす。
【0305】
なお、「後方にずらす」とは、論理アドレス空間において、領域を後方にずらすという意味である。
【0306】
第9の発明は、第2の発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
【0307】
このアクセス装置では、循環シフト型チェックサムによりチェックサム演算処理が行われるので、単純なチェックサムによりチェックサム演算処理を行う場合に比べて、エントリ間の不整合をより高精度に検出することができる。
【0308】
第10の発明は、第9の発明であって、ファイルシステム制御部は、エクステント情報エントリが追加される際に、追加されるエクステント情報エントリ、及び、更新情報エントリに基づいた演算と、エントリ群に含まれるダミーエントリの個数を元にした演算と、で、循環シフト型チェックサムを算出する。
【0309】
第11の発明は、第1から第10のいずれかの発明であって、ファイルシステム制御部は、拡張ファイル処理部と、通常ファイル処理部と、を備える。
【0310】
ファイルにアクセスする場合、拡張ファイル処理部は、ファイルに対応するエントリ群がエクステント情報エントリを含むときは、エクステント情報エントリに基づいて、ファイルに対するアクセス制御を行う。
【0311】
ファイルにアクセスする場合、通常ファイル処理部は、ファイルに対応するエントリ群がエクステント情報エントリを含まないときは、ファイルアロケーションテーブルに基づいて、ファイルに対するアクセス制御を行う。
【0312】
第12の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置である。不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、が格納される。
【0313】
ファイルデータは、固定長ブロック単位で管理されている。
【0314】
エクステント情報エントリは、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリから構成されるエントリ群であって、ファイルに関連するエントリ群のチェックサムに関する情報を当該エントリ群の内部に含む。
【0315】
この情報記録装置では、例えば、アクセス装置から制御されることで、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
【0316】
したがって、この情報記録装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録装置を用いることで、エクステント情報エントリによりファイル管理を行うことができ、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【0317】
さらに、この情報記録装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
【0318】
なお、「情報記録装置」は、情報記録モジュールを含む概念である。
【0319】
第13の発明は、第12の発明であって、エントリ群は、内部にエクステント情報エントリを含む。
【0320】
第14の発明は、第13の発明であって、エントリ群は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを追加することができる構成である。
【0321】
第15の発明は、第14の発明であって、エントリ群は、エントリ群に対応するファイルが作成される際に、所定の個数のエントリを含むように構成され、エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリが格納される。
【0322】
第16の発明は、第15の発明であって、ダミーエントリは、ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値が格納される。
【0323】
第17の発明は、第16の発明であって、エントリ群は、エクステント情報エントリが追加される際には、ダミーエントリを削除することにより、エントリ群全体の大きさが変化しないように構成される。
【0324】
第18の発明は、第14の発明であって、エントリ群は、エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリをエクステント情報エントリの後ろに格納するように構成される。
【0325】
第19の発明は、第18の発明であって、エントリ群は、エクステント情報エントリが追加される際には、更新情報エントリの格納位置が後方にずれるように構成される。
【0326】
第20の発明は、第12の発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
【0327】
第21の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置と、情報記録装置にアクセスするアクセス装置と、備える情報記録システムである。
【0328】
ファイルデータは、固定長ブロック単位で管理される。
【0329】
不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
【0330】
エクステント情報エントリは、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報と、内部に含む。
【0331】
アクセス装置は、不揮発性メモリ内に格納された情報を用いて不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える。
【0332】
この情報記録システムでは、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
【0333】
したがって、この情報記録システムでは、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録システムでは、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【0334】
さらに、この情報記録システムでは、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
【0335】
第22の発明は、第21の発明であって、エクステント情報エントリは、エントリ群の内部に格納される。
【0336】
第23の発明は、第1から第11のいずれかの発明であるアクセス装置と、第12から第22のいずれかの発明である情報記録装置と、を備える情報記録システムである。
【0337】
第24の発明は、ファイルデータを格納する不揮発性メモリを用いるファイル管理方法である。このファイル管理方法は、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を用いて、ファイルの管理を行う。
【0338】
エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。
【0339】
このファイル管理方法では、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
【0340】
したがって、このファイル管理方法では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、このファイル管理方法では、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
【0341】
さらに、このファイル管理方法では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このファイル管理方法が扱うファイルシステムの信頼性を高めることも可能となる。
【0342】
第25の発明は、第24の発明であるファイル管理方法をコンピュータに実行させるプログラムである。
【0343】
これにより、第24の発明と同様の効果を奏するプログラムを実現することができる。
【産業上の利用可能性】
【0344】
本発明に係る情報記録モジュール2の不揮発性メモリ25は、FAT型ファイルシステム26で管理されており、1つのファイルに複数のディレクトリエントリが割り当てられる。
【0345】
更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、大きなサイズのファイルを扱う場合、エクステント情報エントリ203により連続領域の位置と大きさを示す情報を管理する。これにより、本発明の情報記録システムでは、FAT型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
【0346】
更に、本発明の情報記録システムでは、更新情報エントリ204とダミーエントリ205を使用する、あるいは、エクステント領域指定エントリ207を使用することにより、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。このような情報記録システムを構成するアクセスモジュール1は、音楽や静止画、動画などのデジタルコンテンツを取り扱う機器、とりわけ1ファイルのサイズが大きなコンテンツを取り扱う機器に最適であり、PCアプリケーション、オーディオレコーダ、DVDレコーダ、HDDレコーダ、ムービー、デジタルスチルカメラ、携帯電話端末等として利用することができる。
【0347】
また、本発明の情報記録モジュール2は、上記デジタルコンテンツなどを格納するメモリカードなどのリムーバブルメディア、あるいは内蔵記録装置等として利用することができる。
【符号の説明】
【0348】
1000、2000 情報記録システム
1 アクセスモジュール
2 情報記録モジュール
11,22 CPU
12,23 RAM
13 情報記録モジュールインタフェース
14,24 ROM
21 アクセスモジュールインタフェース
25 不揮発性メモリ
26 FAT型ファイルシステム
27 エントリシーケンス
28 エクステント領域
101 アプリケーション制御部
102 ファイルシステム制御部
103 通常ファイル処理部
104 拡張ファイル処理部
105 情報記録モジュールアクセス部
201 基本エントリ
202 名称エントリ
203 エクステント情報エントリ
204 更新情報エントリ
205 ダミーエントリ
206 接続エントリ
207 エクステント領域指定エントリ
301 ファイルシステム管理情報領域
302 ユーザデータ領域
303 マスターブートレコード・パーティションテーブル
304 パーティションブートセクタ
305,306 FAT
307 ルートディレクトリエントリ
308 ディレクトリエントリ

【特許請求の範囲】
【請求項1】
ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、
前記ファイルデータを固定長ブロック単位で管理し、1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイルシステム制御部
を備え、
前記ファイルシステム制御部は、
前記エクステント情報エントリを、前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納する、
アクセス装置。
【請求項2】
前記エントリ群は、
前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む、
請求項1に記載のアクセス装置。
【請求項3】
前記ファイルシステム制御部は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリを、前記エクステント領域に追加する、
請求項2に記載のアクセス装置。
【請求項4】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと同一バイト長である、
請求項3に記載のアクセス装置。
【請求項5】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと異なるバイト長である、
請求項3に記載のアクセス装置。
【請求項6】
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
請求項1から5のいずれかに記載のアクセス装置。
【請求項7】
前記ファイルシステム制御部は、
ファイルにアクセスする場合、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含むときは、前記エクステント領域指定エントリおよび前記エクステント領域用エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行う拡張ファイル処理部と、
前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う通常ファイル処理部と、
を備える、
請求項1から6のいずれかに記載のアクセス装置。
【請求項8】
ファイルデータを格納する不揮発性メモリを含む情報記録装置であって、
前記ファイルデータを、固定長ブロック単位で管理し、
前記不揮発性メモリには、
1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
前記エクステント情報エントリは、
前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納される、
情報記録装置。
【請求項9】
前記エントリ群は、
前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む、
請求項8に記載の情報記録装置。
【請求項10】
前記エクステント領域は、
前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリが追加される構成である、
請求項9に記載の情報記録装置。
【請求項11】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと同一バイト長である、
請求項10に記載の情報記録装置。
【請求項12】
前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと異なるバイト長である、
請求項10に記載の情報記録装置。
【請求項13】
前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
請求項8から12のいずれかに記載の情報記録装置。
【請求項14】
ファイルデータを格納する不揮発性メモリを含む情報記録装置と、前記情報記録装置にアクセスするアクセス装置と、備える情報記録システムであって、
前記ファイルデータを、固定長ブロック単位で管理し、
前記不揮発性メモリには、
1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
前記アクセス装置は、
前記不揮発性メモリ内に格納された情報を用いて前記不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部
を備え、
前記エクステント情報エントリは、
前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納される、
情報記録システム。
【請求項15】
請求項1から7のいずれかに記載のアクセス装置と、
請求項8から13のいずれかに記載の情報記録装置と、
を備える情報記録システム。
【請求項16】
ファイルデータを格納する不揮発性メモリを用いるファイル管理方法であって、
前記ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報を内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイル管理方法であって、
前記エクステント情報エントリを、前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納する、
ファイル管理方法。
【請求項17】
請求項16に記載のファイル管理方法をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図17】
image rotate

【図19】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図18】
image rotate


【公開番号】特開2011−138534(P2011−138534A)
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願番号】特願2011−32901(P2011−32901)
【出願日】平成23年2月18日(2011.2.18)
【分割の表示】特願2010−505400(P2010−505400)の分割
【原出願日】平成21年4月1日(2009.4.1)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】