(57)【要約】【課題】　ディレクトリやファイルの管理を容易にし、かつ、これらを管理するときの処理負担を大きく削減する。【解決手段】　ファイル番号を有するファイルと、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記憶する記憶手段と、記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理する管理手段とを備え、上記管理手段は、上記記憶手段から読み出した上記一のディレクトリのグループ情報に基づいて、各ファイルをグループ毎に集めて表示する。【選択図】　図１６
2004005725.tif 000002
【特許請求の範囲】
【請求項１】
　ファイル番号を有するファイルと、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記憶する記憶手段と、
　記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理する管理手段とを備え、
　上記管理手段は、上記記憶手段から読み出した上記一のディレクトリのグループ情報に基づいて、各ファイルをグループ毎に集めて表示することを特徴とするファイル管理装置。
【請求項２】
　上記記憶手段は、上記ディレクトリとして、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するとともに上記グループ情報毎にグループ名称を含むグループインフォメーションを有するディレクトリを記憶し、
　上記管理手段は、上記記憶手段から読み出した上記一のディレクトリのグループ情報及びそれに対応するグループインフォメーション情報に基づいて、上記グループ情報の異なるファイル同士にそのグループ情報に対応する名前を付けて管理することを特徴とする請求項１記載のファイル管理装置。
【請求項３】
　上記管理手段は、上記記憶手段から読み出した上記一のディレクトリのグループ情報に基づいて、記憶手段に記録されたディレクトリエントリを並べかえる機能を有することを特徴とする請求項１記載のファイル管理装置。
【請求項４】
　上記管理手段は、上記記憶手段から読み出した上記一のディレクトリのグループ情報に基づいて、グループ毎に擬似ディレクトリを生成し、各ファイルを上記擬似ディレクトリに属するように分類して表示することを特徴とする請求項１記載のファイル管理装置。
【請求項５】
　上記ディレクトリは、各アプリケーション毎に生成されることを特徴とする請求項１記載のファイル管理装置。
【請求項６】
　ファイル番号を有するファイルと、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記憶し、
　記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理し、
　上記一のディレクトリのグループ情報を読み出し、
　読み出した上記一のディレクトリのグループ情報に基づいて、各ファイルをグループ毎に集めて表示することを特徴とするファイル管理方法。
【請求項７】
　上記ディレクトリとして、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するとともに上記グループ情報毎にグループ名称を含むグループインフォメーションを有するディレクトリを記憶し、
　上記一のディレクトリのグループ情報及びそれに対応するグループインフォメーション情報を読み出し、
　読み出した上記一のディレクトリのグループ情報及びそれに対応するグループインフォメーション情報に基づいて、上記グループ情報の異なるファイル同士にそのグループ情報に対応する名前を付けて管理することを特徴とする請求項６記載のファイル管理方法。
【請求項８】
　上記読み出した上記一のディレクトリのグループ情報に基づいて、記録されたディレクトリエントリを並べかえることを特徴とする請求項６記載のファイル管理方法。
【請求項９】
　上記読み出した上記一のディレクトリのグループ情報に基づいて、グループ毎に擬似ディレクトリを生成し、各ファイルを上記擬似ディレクトリに属するように分類して表示することを特徴とする請求項６記載のファイル管理方法。
【請求項１０】
　上記ディレクトリは、各アプリケーション毎に生成されることを特徴とする請求項６記載のファイル管理方法。
【請求項１１】
ファイル番号を有するファイルと、ファイル番号とファイル同士を区別して管理するためのグループ情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記録し、
　記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理され、
　上記一のディレクトリのグループ情報が読み出され、
　読み出された上記一のディレクトリのグループ情報に基づいて、各ファイルをグループ毎に集めて表示されることを特徴とする記録媒体。
【請求項１２】
　上記ディレクトリとして、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するとともに上記グループ情報毎にグループ名称を含むグループインフォメーションを有するディレクトリを記録することを特徴とする請求項１１記載の記録媒体。
【請求項１３】
　上記グループ情報によってファイルを分類する機能を有するホスト機器への装着が可能であり、かつ上記グループ情報によってファイルを分類する機能を有さないホスト機器への装着が可能であることを特徴とする請求項１１記載の記録媒体。
【請求項１４】
　上記記録されたディレクトリエントリは、読み出された上記一のディレクトリのグループ情報に基づいて、並べかえられることを特徴とする請求項１１記載の記録媒体。
【請求項１５】
　上記読み出された一のディレクトリのグループ情報に基づいて、グループ毎に擬似ディレクトリが生成され、各ファイルを上記擬似ディレクトリに属するように分類して表示されることを特徴とする請求項１１記載の記録媒体。
【請求項１６】
　上記ディレクトリは、各アプリケーション毎に生成されることを特徴とする請求項１１記載の記録媒体。
【請求項１７】
　ファイル番号を有するファイルと、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記録する記録媒体と、
　上記記憶手段から読み出されたファイルとディレクトリとを記憶する記憶手段と、一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理する管理手段とを有する管理部と備え、
　上記管理部の管理手段は、上記記憶手段から読み出した上記一のディレクトリのグループ情報に基づいて、各ファイルをグループ毎に集めて表示することを特徴とするファイル管理システム。
【請求項１８】
　上記記録媒体は、上記ディレクトリとして、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するとともに上記グループ情報毎にグループ名称を含むグループインフォメーションとを有するディレクトリを記録し、
　上記管理部の記憶手段は、上記記録媒体から読み出されたファイルとディレクトリとを記憶し、上記管理手段は、上記記憶手段から読み出した上記一のディレクトリのグループ情報及びそれに対応するグループインフォメーション情報に基づいて、上記グループ情報の異なるファイル同士にそのグループ情報に対応する名前を付けて管理すること
　を特徴とする請求項１７記載のファイル管理システム。
【請求項１９】
　上記管理手段は、上記記憶手段から読み出した上記一のディレクトリのグループ情報に基づいて、記憶手段に記録されたディレクトリエントリを並べかえる機能を有することを特徴とする請求項１７記載のファイル管理システム。
【請求項２０】
　上記管理手段は、上記記憶手段から読み出した上記一のディレクトリのグループ情報に基づいて、グループ毎に擬似ディレクトリを生成し、各ファイルを上記擬似ディレクトリに属するように分類して表示することを特徴とする請求項１７記載のファイル管理システム。
【請求項２１】
　上記ディレクトリは、各アプリケーション毎に生成されることを特徴とする請求項１７記載のファイル管理システム。
【請求項２２】
　ファイル番号を有するファイルと、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記録媒体に記録し、
　上記記録媒体から上記ファイルと上記ディレクトリとを読み出し、
　読み出されたファイルとディレクトリとを記憶し、
　記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理し、
　上記一のディレクトリのグループ情報に基づいて、各ファイルまたはディレクトリをグループ毎に集めて表示することを特徴とするファイル管理方法。
【請求項２３】
　上記記録媒体は、上記ディレクトリとして、ファイル番号とグループ情報とからなるディレクトリエントリを有するとともに上記グループ情報毎にグループ名称を含むグループインフォメーションとを有するディレクトリを記録し、
　上記記録媒体からファイルとディレクトリとを読み出し、
　読み出されたファイルとディレクトリとを記憶し、
　読み出した上記一のディレクトリのグループ情報及びそれに対応するグループインフォメーション情報に基づいて、上記グループ情報の異なるファイル同士にそのグループ情報に対応する名前を付けて管理することを特徴とする請求項２２記載のファイル管理方法。
【請求項２４】
　上記読み出した上記一のディレクトリのグループ情報に基づいて、記録されたディレクトリエントリを並べかえる機能を有することを特徴とする請求項２２記載のファイル管理方法。
【請求項２５】
　上記読み出した上記一のディレクトリのグループ情報に基づいて、グループ毎に擬似ディレクトリを生成し、各ファイルを上記擬似ディレクトリに属するように分類して表示することを特徴とする請求項２２記載のファイル管理方法。
【請求項２６】
　上記ディレクトリは、各アプリケーション毎に生成されることを特徴とする請求項２２記載のファイル管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、ディレクトリやファイルの階層構造によって各ファイルを管理するファイル管理装置、ファイル管理方法、記録媒体及びファイル管理システムに関する。
【背景技術】
【０００２】
　従来より、画像や音声等のデータからなるファイルは、ディレクトリとファイルの階層構造によって管理されている。このような階層構造において、各ディレクトリ又は各ファイルは、自身のディレクトリ名又はファイル名を備え、更にその上位又は下位のディレクトリやファイルの名前の情報を保持する必要があった。したがって、通常のコンピュータは、外部の記憶装置に記憶されているファイルに名前が付けられていない場合は、ファイルに名前を付けてから各ファイルを管理するようになっている。
【特許文献１】特開平４−３３５７８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
　しかし、画像や音楽等のファイルの中にはファイル名を付けなくても容易に取り扱うことができるものがあり、コンピュータが全てのファイルやディレクトリに対して自身の名前を所有するのを要求しその名前を用いて全てのファイル等を管理するのは、効率的な処理とはいえず、処理負担が大きくなることがある。また、上述のようなファイルの管理方法では、ディレクトリに各ファイルを管理するための情報が集中しているので、ディレクトリの情報を管理するための領域が大きくなり、さらに、ディレクトリが破壊された場合には上記階層構造を復活させることは不可能であった。
【０００４】
　また、ディレクトリ内のファイルが多くなると、これらのファイルを用途や種別に応じてグループ分けしたいことがある。このとき、従来からの階層構造では、さらにディレクトリを設けるか又はグループ分けするファイルのファイル名を変えるなければならなかった。しかし、簡単なグループ分けをするときにわざわざディレクトリを設けるのは処理負担が大きい。また、ファイルのグループ化のために、各ファイルにそのグループに固有のファイル名を付けたとしても、再びファイル名を変えてしまうとグループ分けすることができなくなってしまう。
【０００５】
　また、従来のディレクトリやファイルは、例えばカメラで撮影された画像を示すような用途・種別の情報を備えていないため、アプリケーションフォーマットでどのように使われるか判断されてから管理されており、その処理負担が大きかった。
【０００６】
　本発明は、このような実情に鑑みて提案されたものであり、ディレクトリやファイルの管理を容易にし、かつ、これらを管理するときの処理負担を大きく削減することができるファイル管理装置、ファイル管理方法、記録媒体及びファイル管理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
　本発明に係るファイル管理装置は、ファイル番号を有するファイルと、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記憶する記憶手段と、記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理する管理手段とを備え、上記管理手段は、上記記憶手段から読み出した上記一のディレクトリのグループ情報に基づいて、各ファイルをグループ毎に集めて表示する。
【０００８】
　本発明に係るファイル管理方法は、ファイル番号を有するファイルと、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記憶し、記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理し、上記一のディレクトリのグループ情報を読み出し、読み出した上記一のディレクトリのグループ情報に基づいて、各ファイルをグループ毎に集めて表示する。
【０００９】
　本発明に係る記録媒体は、ファイル番号を有するファイルと、ファイル番号とファイル同士を区別して管理するためのグループ情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記録し、記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理され、上記一のディレクトリのグループ情報が読み出され、読み出された上記一のディレクトリのグループ情報に基づいて、各ファイルをグループ毎に集めて表示させる。
【００１０】
　本発明に係るファイル管理システムは、ファイル番号を有するファイルと、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記録する記録媒体と、上記記憶手段から読み出されたファイルとディレクトリとを記憶する記憶手段と、一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理する管理手段とを有する管理部と備え、上記管理部の管理手段は、上記記憶手段から読み出した上記一のディレクトリのグループ情報に基づいて、各ファイルをグループ毎に集めて表示する。
【００１１】
　本発明に係るファイル管理方法は、ファイル番号を有するファイルと、ファイル番号とグループ情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記録媒体に記録し、上記記録媒体から上記ファイルと上記ディレクトリとを読み出し、読み出されたファイルとディレクトリとを記憶し、記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理し、上記一のディレクトリのグループ情報に基づいて、各ファイルまたはディレクトリをグループ毎に集めて表示する。
【発明の効果】
【００１２】
　本発明では、記録媒体に新たにディレクトリを設けることなく、各ファイルをグループ分けすることができる。したがって、新たにディレクトリを設けることによる管理手段の処理負担や記録媒体におけるデータ量の増加を回避しつつ、ディレクトリの機能に匹敵するような各ファイルのグループ分けを実行することができる。
【発明を実施するための最良の形態】
【００１３】
　以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１４】
　本発明は、図１に示す構成のメモリカードシステム１に適用される。メモリカードシステム１は、ホストコンピュータ１０とメモリカード２０により構成される。
【００１５】
　上記ホストコンピュータ１０は、具体的には図１に示すように、静止画像や音声等の様々なファイルや各ファイルをまとめて管理するディレクトリ等を記憶するハードディスク１１と、ハードディスク１１等からのファイル等を一旦記憶するＲＡＭ（Random Access Memory）１２と、３本のラインを介してメモリカード２０とのデータの送受信を行う第１のシリアルインターフェース（以下、「第１のシリアルＩ／Ｆ」という。）１３と、各回路を制御するＣＰＵ（Central Processing Unit）１４とを備え、例えばハードディスク１１に記憶されている画像や音声等のファイルをディレクトリを用いた階層構造によって管理することができる。
【００１６】
　ＲＡＭ１２は、例えばハードディスク１１に記憶されているファイルを一旦記憶し、必要に応じてこのファイルをバスを介して第１のシリアルＩ／Ｆ１３に供給する。
【００１７】
　第１のシリアルＩ／Ｆ１３は、３本のラインを介して、メモリカード２０にデータを送信したり、メモリカード２０に記憶されているデータを受信する。具体的には、第１のシリアルＩ／Ｆ１３は、第１のラインを介して、上記制御データやファイルの送信の際のシリアルクロックＳＣＫを送信する。第１のシリアルＩ／Ｆ１３は、第２のラインを介して、第１のラインでのファイル又は制御データ等のシリアルデータの切り換えに応じて、そのときの状態を示すチップセレクト信号ＣＳを出力する。さらに、第１のシリアルＩ／Ｆ１３は、第３のラインを介して、メモリカード２０に書き込むためのファイルや制御データを送信したり、メモリカード２０から読み出されたファイルを受信する。
【００１８】
　ＣＰＵ１４は、ＲＡＭ１２やハードディスク１１のファイルを読み出したり、ＲＡＭ１２等にファイルを書き込むことを制御したり、メモリカード２０とファイル等の送受信の制御も行う。例えば、ＣＰＵ１４は、メモリカード２０の図示しない誤消去防止スイッチのライトプロテクトがオンになっているかを判定するためのレジスタ命令を発行したり、メモリカード２０に対してアドレスを指定して所定のファイルの書込み命令を発行する。
【００１９】
　ここで、メモリカード２０は、図１に示すように、上記ホストコンピュータ１０からのファイルや制御データをシリアルで送受信する第２のシリアルＩ／Ｆ２１と、ファイルやディレクトリを記憶するフラッシュメモリ２２と、フラッシュメモリ２２に記憶されているファイル等の読出し又は書込みを制御するコントローラ２３とを備える。
【００２０】
　上記フラッシュメモリ２２は、例えばＮＡＮＤ型のものであり、図２に示すように、ホストコンピュータ１０から送信されたファイルを、消去単位となるブロック（例えば８ｋバイト又は１６ｋバイト）毎に分割して記憶する。各ブロック０，１，２，・・・，ｎは、ファイル等を５１２バイト記憶するデータエリアと１６バイトの冗長エリアとによってなる１ページ（＝５１２バイト＋１６バイト）が集合して構成される。上記冗長エリアには、当該ブロックのデータエリアにあるデータを管理するための分散管理情報が記憶されている。なお、これらの分散管理情報が集合すると集合管理情報（集合管理ファイル）が構成される。集合管理ファイルは、数ブロックで構成されて、全てのブロックのデータの記録状態を一括して管理するものであり、例えばフラッシュメモリ２２内の各ブロックの分散管理情報の一部をまとめて管理するビットマップテーブルを備える。
【００２１】
　ここで、ファイルは、画像や音声等に用いるユーザファイル形式のものと、システム管理のためのシステムファイル形式のものとがあり、全てに対して所定の論理アドレスが与えられて、フラッシュメモリ２２の１以上のブロックのデータエリアにおいて記憶される。
【００２２】
　ユーザファイル形式のファイルは、図３に示すように、当該ファイルの属性情報である５１２バイトのヘッダ部と主情報であるデータ部によって構成される。ヘッダ部は、当該ファイルをメモリカード２０内で管理するための情報である１２８バイトのＯＳヘッダと、通常のパーソナルコンピュータ等で取扱い可能な汎用的ものであり、必要不可欠な管理情報である２４０バイトのファイルヘッダと、１４４バイトのエントリエリアとからなる。また、データ部は、テーブルデータ領域と、４つのエントリデータとを有する。なお、上述の図３に示すデータ部では、４つまでのエントリデータが格納される。すなわち、ユーザファイル形式のファイルは、最大で４つのエントリデータから構成される。また、図３では、エントリデータとして、インデックス，画像データ，２つの補助データを例に挙げたが、特に限定されるものではなく、その他音声データ等であってもよい。
【００２３】
　上記ＯＳヘッダは、具体的には図４に示すように、「ファイルＩＤ」（２バイト），「ファイルバージョン」（２バイト），「ファイルサイズ」（４バイト），「使用ブロック数」（２バイト），「リンク数」（１バイト），「日付」（８バイト），「メーカー／機種コード」（４バイト），「初期登録ディレクトリ番号」（２バイト），「アプリケーションカテゴリー」（１バイト），「ファイル名」（１１バイト），「キーワード登録数」（１バイト），「キーワード文字コード」（１バイト），「キーワード文字列」（３２バイト），「０リセットリザーブ」（４バイト），「個別データ」（３２バイト）、さらに未使用領域「リザーブ」を有する。
【００２４】
　「ファイルＩＤ」は、ファイルの種別（用途）を表すものであり、ファイルヘッダにも同様のものがある。「ファイルバージョン」は、いわゆるバージョンナンバーを示すものであり、ホストコンピュータ１０やメモリカード２０においてこのファイルを処理することができるかを判定するために用いられる。「ファイルサイズ」は、ヘッダ部及びデータ部からなる当該ファイルの全体の大きさをバイト数で示すものである。「使用ブロック数」は、フラッシュメモリ２２で当該ファイルを使用しているブロック数を示すものである。「リンク数」は、当該ファイルを参照しているディレクトリ又はファイルの数を示すものである。なお、「リンク数」には、当該ファイルの属するディレクトリも含まれる。例えば、他のディレクトリから参照されていないファイルは、その属するディレクトリのみとリンクしているので、「リンク数」は１である。「日付」は、ファイルを作成した日付又は更新した日付を示すものである。「メーカー／種別コード」は、メモリカード２０にファイルを書き込んだ機器のメーカー名及びその機種を示すものである。「初期登録ディレクトリ番号」は、最初に登録したディレクトリ番号を示すものであり、ファイルが別のディレクトリに移った場合でも更新されるものではない。「アプリケーションカテゴリー」は、このファイルが用いられるアプリケーションのカテゴリーを示すものである。「ファイル名」は、ホストコンピュータ１０でファイルを管理するときに用いられるファイル名であり、メモリカード２０内では特に使用されない。「キーワード登録数」は、登録されたキーワードの数を示すものである。「キーワード文字コード」は、キーワードの文字コードを示したものである。「キーワード文字列」は、キーワード，セパレータを決めて複数指定をすることもできるものである。「０リセットリザーブ」は、書換えの際に必ず０にしておくものである。「個別データ」は、ファイルＩＤ毎に管理するためのもので、例えばファイルＩＤによって決められる用途で用いられるデータであり、利用者が自由に用いることができる。
【００２５】
　上記ファイルヘッダは、具体的には図５に示すように、「規格識別データ」（８バイト），「ファイル規格識別データ」（８バイト），「ファイルＩＤ」（２バイト），「ファイルバージョン」（２バイト），「アプリケーション作成日付」（８バイト），「アプリケーション更新日付」（８バイト），「作成メーカー／機種コード」（４バイト），「更新メーカー／機種コード」（４バイト），「０リセットリザーブ」（１６バイト），「データエントリ数」（１バイト），「テーブル数」（１バイト），「文字コード」（１バイト），「タイトル文字列」（１２８バイト）、さらに未使用領域「リザーブ」を有する。
【００２６】
　「規格識別データ」は、当該フラッシュメモリ２２が所定の規格に沿ってファイルを記憶していることを示すものである。「ファイル規格識別データ」は、当該ファイルが上記所定の規格に沿って作成されたことを示すものである。「ファイルＩＤ」は、ファイルの種別を表すものであり、ＯＳヘッダにも同様のものがある。「ファイルバージョン」は、バージョンナンバーを示すものである。「アプリケーション作成日付」は、アプリケーションを作成した日付を示すものであり、「アプリケーション更新日付」は、アプリケーションを更新した日付を示すものである。「作成メーカー／種別コード」は、ファイルを作成したメーカー及びその機種名を示すものであり、「更新メーカー／種別コード」は、そのファイルを更新したメーカー及びその機種名を示すものである。「データエントリ数」は、後述のエントリデータの数を示すものである。「テーブル数」は、テーブルデータ領域のデータ数を示すものである。「文字コード」は、入力文字を所定のコード番号で示したものである。「タイトル文字列」は、タイトル文字を示したものである。
【００２７】
　エントリエリアは、データ部の４つのエントリデータを管理するためのデータ（以下、「エントリ」という。）がそれぞれ記憶されている。
【００２８】
　上記エントリエリア内の各エントリは、４つのエントリデータに対応して設けられ、図５に示すように、４つのエントリデータ毎に、「開始アドレス」（４バイト），「データサイズ」（４バイト），「データ種別ＩＤ」（１バイト），「リザーブ」（１バイト），「個別データ」（２６バイト）がある。例えば、エントリ１の「開始アドレス」は図３に示す「エントリデータ１ インデックス」の先頭論理アドレスを示し、エントリ２の「開始アドレス」は「エントリデータ２画像データ」の先頭論理アドレスを示す。
【００２９】
　一方、システムファイル形式のファイルとしては、例えばディレクトリファイルが該当し、ユーザファイル形式のものと比べて、ヘッダ部の構成が異なっている。
【００３０】
　ここで、１つのディレクトリは、１つのファイル、すなわち１つのディレクトリファイルによって構成され、最大８ｋバイトの大きさとする。ディレクトリファイルは、ヘッダ部とデータ部とから構成され、主にヘッダ部のディレクトリインフォメーションとデータ部のディレクトリエントリリストとによって各ファイルを管理する。
【００３１】
　上記ディレクトリファイルのヘッダ部は、図６に示すように、「ＯＳヘッダ」（１２８バイト），「ファイルヘッダ」（２４０バイト），「システムエントリエリア」（４８バイト），「ディレクトリインフォメーション」（９６バイト）を有する。なお、「ＯＳヘッダ」と「ファイルヘッダ」は、上述したユーザファイル形式のものと同様である。
【００３２】
　「システムエントリエリア」は、ユーザファイル形式のものとほとんど同じであるが、各エントリに個別データが設けられていない。具体的には図７に示すように、各エントリ毎に、「開始アドレス」（４バイト），「データサイズ」（４バイト），「データ種別ＩＤ」（１バイト），「リザーブ」（３バイト）がある。例えば一のエントリの「開始アドレス」は後述のグループインフォメーションの先頭論理アドレスを示し、他のエントリの「開始アドレス」は後述のディレクトリエントリの先頭論理アドレスを示す。
【００３３】
　「ディレクトリインフォメーション」は、ディレクトリの情報を管理するものであり、図８に示すように、「ディレクトリＩＤ」（２バイト），「対象ファイルＩＤ」（１バイト），「グループ数」（１バイト），「親ディレクトリ」（２バイト），「ディレクトリ数」（２バイト），「ファイル数（全ファイル）」（２バイト），「対象ファイル数」（２バイト），「アクセスポイント」（２バイト），「ディレクトリエントリ数」（２バイト），「システム用ディレクトリエントリ数」（２バイト），「使用システムディレクトリエントリ数」（２バイト），「確保ブロック数」（２バイト），「使用ブロック数」（２バイト），さらに未使用領域「リザーブ」（７２バイト）を有する。
【００３４】
　「ディレクトリＩＤ」はディレクトリの種別を表し、「対象ファイルＩＤ」は対象とするファイルＩＤを示すものである。すなわち、これらは、ディレクトリ自身又はファイル自身の名前を示すものではなく、例えば画像やオーディオ等の用途を示すものである。なお、「対象ファイルＩＤ」は、当該ディレクトリの対象となるファイルの「ファイルＩＤ」の上位１バイトが記述される。これにより、「対象フラグ」で識別するためのファイルＩＤを指定することができる。「対象ファイルＩＤ」だけを変えれば、当該ディレクトリのファイルの種別も容易に変えることができる。「グループ数」は、ディレクトリ内の複数のファイルをグループ分けする場合に、登録されたグループの数である。「親ディレクトリ」は、親ディレクトリ、すなわち１つ上の階層のディレクトリ番号を示すものである。「ディレクトリ数」は含まれるディレクトリの総数を示し、「ファイル数（全ファイル）」は当該ディレクトリに含まれる全ファイルの数を示す。「対象ファイル数」は、そのディレクトリ内で取り扱うことができるファイルの数、すなわち含まれる対象ファイル数を示す。「アクセスポイント」は、当該ディレクトリにアクセスを開始したときの、最初にアクセスするディレクトリエントリを示すものである。「ディレクトリエントリ数」は、後述のユーザエリアのディレクトリエントリ数を示す。「システム用ディレクトリエントリ数」は、システム用ディレクトリエリアのディレクトリエントリの数を示す。具体的には図９に示すように、各ディレクトリファイルには、システム用ディレクトリエリアと、ユーザエリアとが設けられている。なお、これらのエリアは、ディレクトリ毎に設定することができる。システム用ディレクトリエリアは、管理ファイル等のそのシステムに必要な特別ファイルを取り扱うためのエリアであり、ディレクトリエントリによってそのエリアは固定される。すなわち、ディレクトリエントリの最初から所定番目まではシステム用ディレクトリエリアに対応し、その他のディレクトリエントリはユーザエリアに対応している。そこで、「システム用ディレクトリエントリ数」は、かかるシステム用のディレクトリエントリの数を示すものである。なお、ルートディレクトリは、２５６のシステム用ディレクトリを設けている。一方、ユーザエリアでは、各ディレクトリエントリは当該エリアの開始位置から隙間なく並べられる。「使用システムディレクトリエントリ数」は、システム用ディレクトリエリアで実際に使用されているディレクトリエントリ数を示す。「確保ブロック数」はアプリケーションで確保したいフラッシュメモリ２２のブロック数を示し、「使用ブロック数」はアプリケーションで使用したブロック数を示す。
【００３５】
　また、上記ディレクトリファイルのデータ部は、上述の図６に示すように、エントリデータ１として「グループインフォメーション」（可変長），エントリデータ２として「ディレクトリエントリリスト」（可変長）を有する。
【００３６】
　「グループインフォメーション」は、図１０に示すように、「グループ番号」（１バイト），「グループインフォメーションサイズ」（１バイト），「ディレクトリＩＤ」（２バイト），「０リセットリザーブ」（１バイト），「リザーブ」（３バイト），「日付」（８バイト），「個別データ」（８バイト），「タイトル」（可変長）とを有する。
【００３７】
　「グループインフォメーション」は、ディレクトリ内で所望のファイルのグループ分けを行うための情報であり、詳しくは後述するが、実質的にはディレクトリの下の階層に疑似ディレクトリを設けるものである。「グループインフォメーションサイズ」は、グループインフォメーションの大きさを示すものであり、固定長２４バイト＋「タイトル」の任意バイト数の大きさになる。「ディレクトリＩＤ」はディレクトリ種別毎に付けられるＩＤであり、「０リセットリザーブ」は修正する場合は必ず０に設定するものである。「リザーブ」は当該ファイル作成時に０に設定するものである。「日付」は当該ファイルの作成日付を示し、これは使用者により変更可能である。「個別データ」は特に定められたものでなく、「タイトル」はディレクトリファイルのタイトルを示すものである。
【００３８】
　「ディレクトリエントリリスト」は、ディレクトリに属する要素を示すものであり、図１１に示すように、ディレクトリエントリが複数集合して構成される。なお、１つのディレクトリエントリは４バイトである。ディレクトリエントリは、「ファイル番号」（２バイト），「属性情報」（１バイト），「グループ番号」（１バイト）で構成される。
【００３９】
　「ファイル番号」は、図１２に示すように、２バイト中の最初のビットには「０」があり、残りの１５ビットにおいてファイル又はディレクトリの先頭論理アドレスが示されている。なお、「０ｘｆｆｆｆ」が示されている時は、未使用を意味する。
【００４０】
　「属性情報」は、図１３に示すように、「ディレクトリ／ファイル」（１ビット），「対象フラグ」（１ビット），「マーク１」（１ビット），「マーク２」（１ビット），「連続記録」（２ビット），「リザーブ」（２ビット）の情報を有する。「ディレクトリ／ファイル」は、１のときは当該ディレクトリの下にさらにディレクトリがあることを示し、０のときはファイルがあることを示す。「対象フラグ」は、１のときは上述のディレクトリインフォメーションで指定した対象ファイルＩＤのファイルであることを示し、０のときはそれ以外のファイルであることを示す。例えば、当該ファイルが画像であるか、又は画像以外のものであるか等を判定する場合に用いられるのものである。「マーク１」は、１のときはマーク１の指定があることを示し、０のときはかかる指定がないことを示す。「マーク２」については、「マーク１」と同様である。なお、「マーク１」及び「マーク２」は、利用者が指定できるマーキングフラグである。「連続記録」は、連写・簡易動画等の何かしらの連続した集合を示すときに利用される。なお、この連続記録は、ディレクトリエントリが隣合っていること、すなわちファイルが連続していることが必要である。具体的には、「００」のときは通常のファイル，「１１」のときは連続ファイルの先頭，「１０」のときは連続指定されたファイルであることを示す。例えば図１４において、各２ビットずつの数字は各ディレクトリエントリの示すファイルの「連続記録」の値を示す。例えばファイル２〜ファイル５、ファイル６〜ファイル９は連続記録されている。なお、連続記録としてまとめられた各ファイルは、親ディレクトリのディレクトリエントリが連続していて、同じ「グループ番号」であることを要する。そして、各ファイルに２ビットの情報を持たすことによって、ディレクトリ内の一群のファイルを連続記録されているものとして識別することができる。なお、連続記録されているファイルの１つが削除されたり、新たなファイルが挿入されたときの説明については後に詳述する。
【００４１】
　「グループ番号」は、図１５に示すように、８ビットで示され、１階層の疑似ディレクトリを示すグループ番号である。これにより、同じディレクトリ内で同じグループ番号を有するファイルは、１つのグループとして取り扱われる。なお、グループ番号０のファイルは、何もグループ分けされていないものであり、ここでは上記ディレクトリの直下のものとして取り扱う。
【００４２】
　ここで、同一のディレクトリ内に、ファイル１〜ファイル９の９つのファイルが存在していたとする。さらに、ファイル１，５，７はグループ１に属し、ファイル２，４はグループ２に属し、ファイル３，６はグループ３に属し、ファイル８，９はグループ０に属するものとする。
【００４３】
　このとき、グループ１〜グループ３は、図１６に示すように、上記ディレクトリの下の階層に位置し、疑似的にディレクトリの役割を果たす。また、グループ０に属するファイル８，９は、上記ディレクトリの直下のものとして取り扱われる。
【００４４】
　すなわち、１エントリにつき１バイトだけの「グループ番号」を設けることによって、親ディレクトリの下にさらにディレクトリを設けたようなグループ機能を発揮することができる。また、ディレクトリファイルにはグループインフォメーションを設けてもよいので、各グループに名前を付けることも可能であり、グループ機能は通常のディレクトリに匹敵する機能を有する。
【００４５】
　なお、例えば図１７に示すように、各グループを、疑似ディレクトリのように取り扱わなくてもよく、単にグループ関係のあるファイルを示すものとして取り扱ってもよい。
【００４６】
　また、図１６及び図１７に示すようなグループ分け機能は、グループを取り扱うことができるホストコンピュータと取り扱うことができないホストコンピュータとの間でも互換性を備えている。すなわち、グループ分け機能を有するホストコンピュータ（以下、「ホストコンピュータ１０Ａ」という。）に記憶されているファイルやディレクトリを、グループ分け機能のないホストコンピュータ（以下、「ホストコンピュータ１０Ｂ」という。）に送信しても何等問題が生じない。かかる互換性について、用途がカメラである「カメラディレクトリ」の場合を挙げて以下に説明する。なお、ホストコンピュータ１０Ａは、図１１に示すディレクトリエントリリストの各ディレクトリエントリを並び変える機能を有するものとその機能を有しないものとがあり、それぞれについて説明する。
【００４７】
　例えば図１８（Ａ）に示すように、カメラディレクトリにおいて、ファイル１〜ファイル９の９つのファイルがあり、各ファイルはグループ０〜グループ３に分類されているものとする。ファイル１，５，７は家族の写真としてグループ１に分類され、ファイル２，４は趣味の写真としてグループ２に分類され、ファイル３，６は会社関係としてグループ３に分類され、ファイル８，９は未分類としてグループ０に分類されている。なお、グループ０は、カメラディレクトリ直下のものとして取り扱われる。このとき、上述の図１１に示すディレクトリエントリリストでは、ファイル１，ファイル２，ファイル３・・・の順に各ディレクトリエントリが配列されている。すなわち、上記ディレクトリエントリリストでは、図１８（Ａ）に示す順番で、各ファイルのディレクトリエントリが配列されている。
【００４８】
　ここで、ホストコンピュータ１０Ａにおいて、ＣＰＵ１４は、ＲＡＭ１２に格納されている上記カメラディレクトリ用のディレクトリファイルに対して、各ディレクトリエントリを図１８（Ｂ）に示すように並び変えることができる。すなわち、ＣＰＵ１４は、ディレクトリエントリ内で、同じグループが連続して並ぶようにディレクトリエントリを並べ変える。これにより、ファイル１〜ファイル９は、図１９に示すように、家族の写真，趣味の写真等のグループ毎にグループ分けされて並べられる。
【００４９】
　そして、ホストコンピュータ１０Ａが、上記カメラディレクトリのディレクトリファイル及びファイル１〜ファイル９の各ファイルをホストコンピュータ１０Ｂに送信すると、ホストコンピュータ１０Ｂは、図２０に示すように、カメラディレクトリの下の階層に各ファイルを配列する。具体的には、ホストコンピュータ１０Ｂは、カメラディレクトリ用のディレクトリファイルにおけるディレクトリエントリの並びに従ってファイルを並べるので、ホストコンピュータ１０Ａにおけるファイルの並び順と同じ順で各ファイルを並べることができる。したがって、ホストコンピュータ１０Ｂにおいても、グループ分けされて各ファイルが並べられる。
【００５０】
　このように、ホストコンピュータ１０Ａがグループ分け機能を備え、かつ、グループ毎にディレクトリエントリリストを並び変える機能を有する場合は、グループ分け機能を備えていないホストコンピュータ１０Ｂもグループ分けをして各ファイルを並べることができる。
【００５１】
　一方、グループ毎にディレクトリエントリを並び変える機能を有しないホストコンピュータ１０Ａにおいても、図１９に示すように、カメラディレクトリの各ファイルをグループ分けすることができる。
【００５２】
　しかし、ホストコンピュータ１０Ａが、カメラディレクトリ用のディレクトリファイル及びファイル１〜ファイル９をホストコンピュータ１０Ｂに送信すると、ホストコンピュータ１０Ｂは、図２１に示すように、そのまま各ファイルを並べる。すなわち、ホストコンピュータ１０Ｂは、カメラディレクトリ用のディレクトリファイルにおけるディレクトリエントリの並びに従ってファイルを並べ、ファイル１，２，３・・・の順に各ファイルを並べている。
【００５３】
　以上のように構成されるメモリカードシステム１において、ホストコンピュータ１０のＣＰＵ１４は、メモリカード２０のフラッシュメモリ２２から論理アドレス０のルートディレクトリのディレクトリファイル（以下、「ルートディレクトリファイル」という。）、その他のディレクトリファイル、さらに、必要なファイルのヘッダ部を読み出して、各ファイルを管理することができる。具体的には、立上げ開始すると、ＣＰＵ１４は、図２２に示すステップＳ１の処理を開始する。
【００５４】
　ステップＳ１において、ＣＰＵ１４は、論理アドレス０のファイルを読み出すことを指示するコマンドを、第１のシリアルＩ／Ｆ１３を介して、メモリカード２０に送信する。メモリカード２０では、コントローラ２３は、上記コマンドに従ってフラッシュメモリ２２から論理アドレス０のファイルを読み出し、第２のシリアルＩ／Ｆ２１を介して、ホストコンピュータ１０に送信する。ＣＰＵ１４は、第１のシリアルＩ／Ｆ１３で受信したファイルをＲＡＭ１２に格納し、これがルートディレクトリファイルであるか確認して、ステップＳ２に進む。
【００５５】
　ステップＳ２において、ルートディレクトリファイルがフラッシュメモリ２２に存在しているかを判定し、存在しているときはステップＳ３に進み、存在していないときはステップＳ７に進む。
【００５６】
　ステップＳ３において、自分のアプリケーションディレクトリをチェックして、ステップＳ４に進む。例えば、ホストコンピュータ１０が図示しない撮像部を備えるカメラ機器である場合には、ルートディレクトリの所定の位置に「カメラ」のディレクトリが存在しているかをチェックする。存在しているときは、このメモリカード２０はカメラ機器で用いられるものであることが分かり、ステップＳ４及び後述のステップＳ５の処理を行う。すなわち、ルートディレクトリには、アプリケーションのカテゴリ毎に決められたディレクトリが設けられていて、例えばカメラの場合は「カメラ」というディレクトリが所定の位置に設けられている。
【００５７】
　ステップＳ４において、自分のアプリケーションディレクトリ、例えば「カメラ」ディレクトリが存在するかを判定し、存在するときはステップＳ５に進み、存在しないときはステップＳ９に進む。
【００５８】
　ステップＳ５において、上記アプリケーションディレクトリの内容を読み出して、ステップＳ６に進む。
【００５９】
　ステップＳ６において、上記アプリケーションディレクトリのディレクトリファイルのディレクトリエントリを調べて、アルバム画像一覧や曲目一覧等のアプリケーションに必要なファイルとアクセスして、アプリケーション処理を開始する。
【００６０】
　一方、ステップＳ２でルートディレクトリファイルが存在しないと判定したときのステップＳ７において、ルートディレクトリファイルを作成するか判定し、作成するときはステップＳ８に進み、作成しないときは立ち上げを中止する。ここで、ルートディレクトリを作成しない場合としては、例えばメモリカード２０がライトプロテクトされている場合が該当する。
【００６１】
　ステップＳ８において、論理アドレス０のルートディレクトリファイルを作成して、ステップＳ９に進む。
【００６２】
　ステップＳ９において、自分のアプリケーションディレクトリを作成するかを判定し、作成するときはステップＳ１０に進み、作成しないときはかかる処理を中止する。すなわち、「カメラ」ディレクトリがないときは、後述のステップＳ１０の処理のように「カメラ」ディレクトリを作ったり、又は、処理を一旦中止して利用者が他のメモリカード２０に交換することを要する。
【００６３】
　ステップＳ１０において、ルートディレクトリファイル内にアプリケーションディレクトリを作成して、ステップＳ５に進む。そして、ステップＳ５及びステップＳ６の処理を経て、アプリケーションの処理を開始する。
【００６４】
　以上のように、例えば図示しない撮像部を備えるホストコンピュータ１０は、立ち上げを開始すると、最初にルートディレクトリの存在を確認してから所定のアプリケーションディレクトリ、ここでは「カメラ」ディレクトリをチェックしてから、そのディレクトリの内容の処理を行っている。
【００６５】
　つぎに、ディレクトリの作成処理を行うときのＣＰＵ１４の動作について説明する。ホストコンピュータ１０のＣＰＵ１４は、ディレクトリファイルの作成が指示されると、図２３に示すステップＳ１１の処理を開始する。
【００６６】
　ステップＳ１１において、ＣＰＵ１４は、空いている論理アドレスを調べて、ステップＳ１２に進む。
【００６７】
　ステップＳ１２において、空いている論理アドレスがないかを判定し、空きがないときはディレクトリを作成することができないのでエラーが発生し、空きがあるときはステップＳ１３に進む。
【００６８】
　ステップＳ１３において、作成するディレクトリファイルのディレクトリインフォメーションを初期値に設定する。さらに、ディレクトリエントリの全てを初期化し、グループインフォメーションを準備する場合はそのエリアを全てクリアして、ステップＳ１４に進む。
【００６９】
　ステップＳ１４において、メモリカード２０が備えるフラッシュメモリ２２内の各ブロックに、ディレクトリファイルを記憶することができる容量の空きがあるかを調査して、ステップＳ１５に進む。
【００７０】
　ステップＳ１５において、上記ブロックの空きがあるかを判定し、空きがないときはエラーが発生し、空きがあるときはステップＳ１６に進む。
【００７１】
　ステップＳ１６において、ＣＰＵ１４は、上記ディレクトリファイルと共にこの内容を書き込むことを指示するコマンドをメモリカード２０に送信して、ステップＳ１７に進む。このとき、メモリカード２０では、コントローラ２３は、上記コマンドに従ってディレクトリファイルをフラッシュメモリ２２に書き込む。
【００７２】
　ステップＳ１７において、ＲＡＭ１２に格納されている集合管理ファイルのビットマップテーブルを更新して、ステップＳ１８に進む。
【００７３】
　ステップＳ１８において、作成されたディレクトリの１つ上の階層である親ディレクトリに、当該作成されたディレクトリを登録して、ステップＳ１９に進む。例えば、親ディレクトリのディレクトリファイルにおいて、ディレクトリインフォメーションの「ディレクトリ数」を更新したり、作成されたディレクトリに関するディレクトリエントリを作成したりする。
【００７４】
　ステップＳ１９において、ＣＰＵ１４は、所定の演算処理が終了したとき等の切りの良いタイミングで、上記集合管理ファイルの更新を指示するコマンドをメモリカード２０に送信して、処理を終了する。このとき、メモリカード２０では、コントローラ２３は、上記コマンドに従ってフラッシュメモリ２２に集合管理ファイルの更新された部分の書き込みを行う。
【００７５】
　以上のように、ディレクトリを作成するときは、ディレクトリ名を作るのではなく、空きのある論理アドレスを付けている。
【００７６】
　つぎに、ファイルを作成してその親ディレクトリに登録するときのＣＰＵ１４の動作について説明する。ホストコンピュータ１０のＣＰＵ１４は、ファイルの作成が指示されると、図２４に示すステップＳ２１の処理を開始する。
【００７７】
　ステップＳ２１において、ＣＰＵ１４は、新たに作成されるファイルの親ディレクトリのディレクトリエントリに空きがあるかをチェックして、ステップＳ２２に進む。
【００７８】
　ステップＳ２２において、上記親ディレクトリにディレクトリエントリの空きがあるかを判定し、空きがあるときはステップＳ２３に進み、空きがないときはエラーが発生してディレクトリへのファイルの登録処理を中止する。
【００７９】
　ステップＳ２３において、作成されるファイルのヘッダ部を作成してＲＡＭ１２に格納し、ステップＳ２４に進む。
【００８０】
　ステップＳ２４において、当該ファイルを各ブロックに書き込むことを指示するコマンドをメモリカード２０に送信して、ステップＳ２５に進む。したがって、メモリカード２０では、コントローラ２３は、このコマンドに従ってフラッシュメモリ２２に新たなファイルを書き込む。２以上のブロックに上記ファイルを書き込むときは、各ブロック間の連結状態を示す連結アドレスを、各ブロックの分散管理情報として書き込む。
【００８１】
　ステップＳ２５において、上記ファイルのフラッシュメモリ２２への書き込みが完了したかを判定し、書き込みが完了したときはステップＳ２６に進み、書き込みができないときはエラーが発生してディレクトリへのファイルの登録を中止する。
【００８２】
　ステップＳ２６において、ＣＰＵ１４は、上記ファイルの親ディレクトリのディレクトリファイルに対して、空いているディレクトリエントリに上記ファイルの先頭論理アドレスを書き込む。また、このディレクトリエントリに、必要に応じて「グループ番号」や、「属性情報」を書き込んで、ステップＳ２７に進む。
【００８３】
　ステップＳ２７において、上記ディレクトリファイルのディレクトリインフォメーションを更新して、ステップＳ２８に進む。
【００８４】
　ステップＳ２８において、ＣＰＵ１４は、メモリカード２０に対して上記ディレクトリファイルの書き込みを指示するコマンドを送信して、処理を終了する。このとき、メモリカード２０では、コントローラ２３は、上記コマンドに従ってディレクトリファイルをフラッシュメモリ２２に書き込む。
【００８５】
　以上のように、ディレクトリにファイルを登録する場合には、ディレクトリにそのファイル名を登録するのではなく、ファイル番号（先頭論理アドレス），属性情報，グループ番号からなる４バイトのディレクトリエントリを登録している。これにより、ディレクトリに多くの情報が集中するのを回避することができ、多くのファイルを登録する場合であってもディレクトリの情報量が多くなり過ぎるのを防止して、フラッシュメモリ２２内のデータ記録領域を有効に活用することができる。
【００８６】
　つぎに、ファイルがその親ディレクトリの用途にあっているかを調べるとき、すなわち図１３に示す「対象フラグ」によってファイルの用途を調べるときのＣＰＵ１４の動作について説明する。ホストコンピュータ１０のＣＰＵ１４は、あるディレクトリに属するファイルの用途調査の指示が出されると、図２５に示すステップＳ３１の処理を開始する。
【００８７】
　ステップＳ３１において、ＣＰＵ１４は、親ディレクトリのディレクトリファイルに対して、調べたいディレクトリエントリの用途情報の「対象フラグ」をチェックして、ステップＳ３２に進む。
【００８８】
　ステップＳ３２において、上記「対象フラグ」が「１」であるかを判定し、「１」であるときはステップＳ３３に進み、「１」でないときはステップＳ３４に進む。
【００８９】
　ステップＳ３３において、この「対象フラグ」の示すファイルは当該ディレクトリの用途と一致するので、ＣＰＵ１４は、このファイルに対して所定の処理を行う。
【００９０】
　ステップＳ３４において、この「対象フラグ」の示すファイルは当該ディレクトリの用途と一致しないので、ＣＰＵ１４は、このファイルを処理の対象外とみなして処理を終了する。
【００９１】
　このように、ＣＰＵ１４は、単に１ビットの「対象フラグ」を見ることによって、ファイルとその親ディレクトリとの用途が一致するかを容易に判別することができ、高速に所定のファイルにアクセスすることができる。
【００９２】
　また、「対象フラグ」がないときは、ＣＰＵ１４は、図２６に示すステップＳ４１の処理を開始する。
【００９３】
　ステップＳ４１において、ＣＰＵ１４は、上記親ディレクトリのディレクトリファイルに対して、調べたいディレクトリエントリの「ファイル番号」を調べて、ステップＳ４２に進む。
【００９４】
　ステップＳ４２において、「ファイル番号」すなわち先頭論理アドレスの示すファイルの内、ヘッダ部のみを読み出す指示をメモリカード２０に送信し、そして、メモリカード２０から送信されるヘッダ部のデータをＲＡＭ１２に格納して、ステップＳ４３に進む。
【００９５】
　ステップＳ４３において、読み出したヘッダ部の「ファイルＩＤ」と、上記親ディレクトリのディレクトリインフォメーションの図８に示す「対象ファイルＩＤ」とを比較して、ステップＳ４４に進む。
【００９６】
　ステップＳ４４において、読み出した「ファイルＩＤ」の上位１バイトと「対象ファイルＩＤ」とが一致するかを判定し、一致するときはステップＳ４５に進み、一致しないときはステップＳ４６に進む。
【００９７】
　ステップＳ４５において、このファイルは当該ディレクトリの用途と一致するので、ＣＰＵ１４は、このファイルに対して所定の処理を行う。
【００９８】
　ステップＳ４６において、このファイルは当該ディレクトリの用途と一致しないので、ＣＰＵ１４は、このファイルを処理の対象外とみなして処理を終了する。
【００９９】
　このように、ＣＰＵ１４は、「対象フラグ」がない場合であっても、ファイルとその親ディレクトリとの用途が一致するかを判別することができる。
【０１００】
　つぎに、ディレクトリのｎ番目の画像ファイルを読み込むときのＣＰＵの処理について説明する。ホストコンピュータ１０のＣＰＵ１４は、ｎ番目の画像ファイルの読み込みの指示が出されると、図２７に示すステップＳ５１の処理を開始する。
【０１０１】
　ステップＳ５１において、ＣＰＵ１４は、メモリカード２０のコントローラ２３に対して目的のディレクトリファイルを読み出すコマンドを送信する。具体的には、指定した番号の論理アドレスに該当するブロックからデータを読み出すコマンドを送信して、ステップＳ５２に進む。
【０１０２】
　ステップＳ５２において、コントローラ２３は、フラッシュメモリ２２から目的とするディレクトリファイルが記憶されているブロックからデータを読み出してホストコンピュータ１０に送信する。ホストコンピュータ１０では、ＣＰＵ１４は、送信されたデータをＲＡＭ１２に格納して、図６に示すディレクトリインフォメーション，グループインフォメーション，ディレクトリエントリリスト等を格納して、ステップＳ５３に進む。
【０１０３】
　ステップＳ５３において、上記ディレクトリファイルの図９に示すディレクトリエントリリスト内のユーザエリアの先頭のディレクトリエントリへ行って、ステップＳ５４に進む。
【０１０４】
　ステップＳ５４において、上記ディレクトリエントリの図１３に示す「対象フラグ」をチェックして、ステップＳ５５に進む。
【０１０５】
　ステップＳ５５において、ＣＰＵ１４は、「対象フラグ」に基づいて、先頭のディレクトリエントリの示すファイルが画像であるか又は画像でないかを判定し、画像であるときはステップＳ５６に進み、画像でないときはステップＳ６１に進む。
【０１０６】
　ステップＳ５６において、上記ディレクトリエントリの示すファイル番号が指定したファイル番号ｎであるかを判定し、指定したファイル番号であるときはステップＳ５７に進み、指定した番号でないときはステップＳ６０に進む。
【０１０７】
　ステップＳ５７において、ＣＰＵ１４は、上記ファイル番号の獲得の処理を行って、ステップＳ５８に進む。
【０１０８】
　ステップＳ５８において、ＣＰＵ１４は、獲得したファイル番号（先頭論理アドレス）に基づいて、当該ファイルの５１２バイトのヘッダ部を読み出すコマンドをメモリカード２０に送信する。そして、ＣＰＵ１４は、メモリカード２０から送信されるヘッダ部のエントリリストに基づいて、インデックス，画像等の各エントリデータの「開始アドレス」，「データサイズ」を調べて、ステップＳ５９に進む。
【０１０９】
　ステップＳ５９において、ＣＰＵ１４は、上記「開始アドレス」，「データサイズ」に基づいて、インデックス，画像等の各エントリデータを読み出すコマンドをメモリカード２０に送信する。メモリカード２０では、コントローラ２３は、上記コマンドに従って各エントリデータを読み出してホストコンピュータ１０に送信する。なお、エントリデータが複数のブロック内に記憶されているときは、「連結アドレス」に基づいて各ブロックからエントリデータを読み出す。
【０１１０】
　一方、ステップＳ５６でディレクトリエントリの示すファイル番号が目的のファイル番号ｎでないと判定したときのステップＳ６０において、ＣＰＵ１４は、ディレクトリエントリの数を１つカウントアップして、ステップＳ６１に進む。
【０１１１】
　ステップＳ６１において、ＣＰＵ１４は、つぎの順番のディレクトリエントリの処理に移行して、ステップＳ６２に進む。
【０１１２】
　ステップＳ６２において、ＣＰＵ１４は、最後のディレクトリエントリの処理が終了したかを判定し、終了したと判定したときは該当するファイルがないものとして一連の処理を終了し、終了しないときはステップＳ５４に戻って、上記ステップＳ６１における次のディレクトリエントリの処理を行う。
【０１１３】
　以上のように、上記メモリカードシステム１において、ホストコンピュータ１０は、各ファイルにファイル名を設けらてていなくても、フラッシュメモリ２２から所望のファイルを読み出すことができる。具体的には、上記ホストコンピュータ１０のＣＰＵ１４は、各ディレクトリに設けられたディレクトリエントリリストを順番に調べる。そして、所望のファイルを示すディレクトリエントリを見つけたときは、それが示す論理アドレスに従って上記所望のファイルを読み出すコマンドをメモリカード２０に送信し、ファイルの読み出し処理を行っている。これにより、ファイル名やディレクトリ名による文字列処理が不要になるので、文字列格納のためのエリアを各ディレクトリに設けないで済み、ディレクトリ管理エリアを小さくして、フラッシュメモリ２２により多くのデータを記憶させることができる。
【０１１４】
　つぎに、ディレクトリのｎ番目の画像ファイルを削除するときのＣＰＵの処理について説明する。ホストコンピュータ１０のＣＰＵ１４は、ｎ番目の画像ファイルの削除の指示が出されると、図２８に示すステップＳ７１の処理を開始する。
【０１１５】
　ステップＳ７１において、ＣＰＵ１４は、メモリカード２０のコントローラ２３に対して目的のディレクトリファイルを読み出すコマンドを送信する。具体的には、指定した番号の論理アドレスに該当するブロックを読み出すコマンドを送信して、ステップＳ７２に進む。
【０１１６】
　ステップＳ７２において、コントローラ２３は、フラッシュメモリ２２から目的とするディレクトリファイルが記憶されているブロックからデータを読み出してホストコンピュータ１０に送信する。ホストコンピュータ１０では、ＣＰＵ１４は、送信されたデータをＲＡＭ１２に格納して、ステップＳ７３に進む。よって、ＲＡＭ１２には、図６に示すディレクトリインフォメーション，グループインフォメーション，ディレクトリエントリリスト等が格納される。
【０１１７】
　ステップＳ７３において、上記ディレクトリファイルの図９に示すディレクトリエントリリスト内のユーザエリアの先頭のディレクトリエントリへ行って、ステップＳ７４に進む。
【０１１８】
　ステップＳ７４において、上記ディレクトリエントリの図１３に示す「対象フラグ」をチェックして、ステップＳ７５に進む。
【０１１９】
　ステップＳ７５において、ＣＰＵ１４は、「対象フラグ」に基づいて、先頭のディレクトリエントリの示すファイルが画像であるか又は画像でないかを判定し、画像であるときはステップＳ７６に進み、画像でないときはステップＳ８３に進む。
【０１２０】
　ステップＳ７６において、上記ディレクトリエントリの示すファイル番号が指定したファイル番号ｎであるかを判定し、指定したファイル番号であるときはステップＳ７７に進み、指定したファイル番号でないときはステップＳ８２に進む。
【０１２１】
　ステップＳ７７において、ＣＰＵ１４は、上記ファイル番号の獲得の処理を行って、ステップＳ７８に進む。
【０１２２】
　ステップＳ７８において、ＣＰＵ１４は、指定されたファイル番号のファイル削除処理を示すコマンドをメモリカード２０に送信して、ステップＳ７９に進む。一方、メモリカード２０では、コントローラ２３は、上記コマンドに従って指定されたファイルが記憶されているブロックをクリアする。
【０１２３】
　ステップＳ７９において、ＣＰＵ１４は、上記目的のディレクトリのディレクトリエントリリストから削除したファイルに関するディレクトリエントリを削除する。このとき、ＣＰＵ１４は、削除したディレクトリエントリの分を詰めてディレクトリエントリリストを更新して、ステップＳ８０に進む。
【０１２４】
　ステップＳ８０において、ＣＰＵ１４は、上記ディレクトリエントリが削除されたのに伴ってディレクトリインフォメーションの更新処理を行う。例えば、「ファイル数（全ファイル）」，「対象ファイル数」，「ディレクトリエントリ数」等を更新して、ステップＳ８１に進む。
【０１２５】
　ステップＳ８１において、上述のようにディレクトリファイルのヘッダ部を構成するディレクトリエントリリスト及びディレクトリインフォメーションが変更されたので、ＣＰＵ１４は、上記ディレクトリファイルの新たなヘッダ部を書き込むことを示すコマンドをメモリカード２０に送信する。メモリカード２０では、コントローラ２３は、上記コマンドに従ってフラッシュメモリ２２に対して上記ディレクトリファイルヘッダ部の更新処理を行う。
【０１２６】
　一方、ステップＳ７６でディレクトリエントリの示すファイル番号が目的のファイル番号ｎでないと判定したときのステップＳ８２において、ＣＰＵ１４は、ディレクトリエントリの数を１つカウントアップして、ステップＳ８３に進む。
【０１２７】
　ステップＳ８３において、ＣＰＵ１４は、つぎの順番のディレクトリエントリの処理に移行して、ステップＳ８４に進む。
【０１２８】
　ステップＳ８４において、ＣＰＵ１４は、最後のディレクトリエントリの処理が終了したかを判定し、終了したと判定したときは該当するファイルがないものとして一連の処理を終了し、終了てないと判定したときはステップＳ７４に戻って、上記ステップＳ８３における次のディレクトリエントリの処理を行う。
【０１２９】
　以上のように、上記メモリカードシステム１において、ホストコンピュータ１０は、各ファイルにファイル名を設けらてていなくても、フラッシュメモリ２２に記憶されている所望のファイルを削除することができる。すなわち、上記ホストコンピュータ１０のＣＰＵ１４は、各ディレクトリに設けられたディレクトリエントリリストを順番に調べて所望のファイルを示すディレクトリエントリを見つけ出し、その論理アドレスに従って上記所望のファイルを削除するコマンドをメモリカード２０に送信する。これにより、フラッシュメモリ２２に記憶されているファイルの削除処理を行っている。したがって、ファイル名やディレクトリ名による文字列処理が不要になるので、文字列格納のためのエリアを各ディレクトリに設けないで済み、ディレクトリ管理エリアを小さくして、フラッシュメモリ２２により多くのデータを記憶させることができる。
【０１３０】
　つぎに、ディレクトリを削除するときのＣＰＵの処理について説明する。ホストコンピュータ１０のＣＰＵ１４は、削除するディレクトリが指示されると、図２９に示すステップＳ９１の処理を開始する。
【０１３１】
　ステップＳ９１において、ＣＰＵ１４は、削除指定されたディレクトリのディレクトリファイルをフラッシュメモリ２２からの読み出しを指示するコマンドをメモリカード２０に送信して、ステップＳ９２に進む。メモリカード２０において、コントローラ２３は、上記コマンドに基づいて、フラッシュメモリ２２からディレクトリファイルを読み出し、これを第２のシリアルＩ／Ｆ２１を介して上記ホストコンピュータ１０に送信する。
【０１３２】
　ステップＳ９２において、ＣＰＵ１４は、メモリカード２０からのディレクトリファイルをＲＡＭ１２に格納し、ディレクトリエントリリストの各ディレクトリエントリを調べて、ステップＳ９３に進む。
【０１３３】
　ステップＳ９３において、ＣＰＵ１４は、ファイルやディレクトリを指定するディレクトリエントリがあるか、すなわち下の階層にファイルや他のディレクトリが存在しているかを判定する。ファイル等を指定するディレクトリエントリがあるときはエラーが発生したものとしてこのディレクトリの削除処理を終了し、ないときはステップＳ９４に進み、ステップＳ９４において、ＣＰＵ１４は、この削除の対象となっているディレクトリをその親ディレクトリから削除することを指示するコマンドを、メモリカード２０に送信して、ステップＳ９５に進む。
【０１３４】
　ステップＳ９５において、メモリカード２０のコントローラ２３は、削除対象のディレクトリファイルを格納しているフラッシュメモリ２２のブロック内のデータを消去して、ステップＳ９６に進む。なお、上記ブロックの分散管理情報に「消去済み」のフラグを立てて、所定の処理が終了してから上記ブロック内のデータを消去しても良い。
【０１３５】
　ステップＳ９６において、消去が正常に終了したかを判定し、正常に終了したときはステップＳ９７に進み、正常に終了していないときはエラーが発生したものとして、ディレクトリ削除の処理を中止する。
【０１３６】
　ステップＳ９７において、ＣＰＵ１４は、ＲＡＭ１２に格納している集合管理ファイルに対してディレクトリ削除によって変更が生じた部分を更新して、ステップＳ９８に進む。
【０１３７】
　ステップＳ９８において、ＣＰＵ１４は、所定の演算処理の終了した後等の切りのよい時に、上記集合管理ファイルをメモリカード２０に送信すると共にこのファイルを書き込むことを指示するコマンドを送信する。したがって、メモリカード２０では、コントローラ２３は、上記コマンドに従って集合管理ファイルをフラッシュメモリに書き込む処理を行う。
【０１３８】
　以上のように、上記メモリカードシステム１において、ホストコンピュータ１０は、各ファイルにファイル名を設けられていなくても、フラッシュメモリ２２に記憶されている所望のディレクトリファイルを削除することができる。すなわち、上記ホストコンピュータ１０のＣＰＵ１４は、削除されるディレクトリがその下にあるファイルのファイル名等情報を有していなくても、当該ディレクトリに設けられたディレクトリエントリリストによって、削除されるディレクトリの下にファイル等がないかを調べることができる。これにより、ファイル名やディレクトリ名による文字列処理が不要になるので、文字列格納のためのエリアを各ディレクトリに設けないで済み、ディレクトリ管理エリアを小さくして、フラッシュメモリ２２により多くのデータを記憶させることができる。
【０１３９】
　つぎに、連続記録編集されているときの変更処理を行うときのＣＰＵ１４の動作について説明する。ホストコンピュータ１０のＣＰＵ１４は、ディレクトリエントリの属性情報の「連続記録」の変更処理が指示されると、図３０に示すステップＳ１０１の処理を開始する。
【０１４０】
　ステップＳ１０１において、ＣＰＵ１４は、連続記録されているファイルの削除処理が指示されたかを判定し、ファイルの削除処理のときはステップＳ１０２に進み、ファイルの削除処理でないときはステップＳ１０６に進む。
【０１４１】
　ステップＳ１０２において、指定されたファイルの削除処理のコマンドをメモリカード２０に送信することによって当該ファイルの削除処理を実行して、ステップＳ１０３に進む。
【０１４２】
　ステップＳ１０３において、親ディレクトリのディレクトリエントリリストから、当該削除したファイルのディレクトリエントリの「連続記録」が「１１」であるかを判定する。「連続記録」が「１１」であるときはステップＳ１０４に進み、「１１」でないときは処理を終了する。
【０１４３】
　ステップＳ１０４において、当該削除したファイルのディレクトリエントリの次のディレクトリエントリの「連続記録」が「１０」であるかを判定し、「１０」であるときはステップＳ１０５に進み、「１０」でないときは処理を終了する。
【０１４４】
　ステップＳ１０５において、上記次のディレクトリエントリの「連続記録」を「１１」に変更して、上記次のディレクトリエントリの示すファイルを連続記録の先頭にして、処理を終了する。
【０１４５】
　したがって、上述の図１４に示すように、ファイル２〜ファイル５が連続記録の場合においては、ファイル２を削除すると、ステップＳ１０２〜ステップＳ１０５の処理によって、図３１に示すように、ファイル３を示すディレクトリエントリの連続記録が「１１」に変更される。すなわち、連続記録の先頭のファイルを削除する場合であって、かつ、削除するファイルの次のファイルが連続記録の途中である場合に限り、当該次のファイルの「連続記録」を「１１」に変更する。これにより、連続記録のファイルを削除する場合であっても、削除されていない各ファイルの連続記録の状態を維持することができる。
【０１４６】
　一方、ステップＳ１０１で削除処理でないと判定したときのステップＳ１０６において、連続記録されているファイル間に新たなファイルの挿入処理が指示されたかを判定し、ファイルの挿入処理のときはステップＳ１１０に進み、ファイルの挿入処理でないときはステップＳ１０７に進む。
【０１４７】
　ステップＳ１０７において、上述の図１９等に示すグループの変更処理が指示されたかを判定し、グループの変更処理のときはステップＳ１０８に進み、グループの変更処理でないときは処理を終了する。
【０１４８】
　ステップＳ１０８において、親ディレクトリのディレクトリエントリリストから、当該グループ変更を行うファイルを示すディレクトリエントリリストの「グループ番号」を変更して、ステップＳ１０９に進む。
【０１４９】
　ステップＳ１０９において、上記ディレクトリエントリの「連続記録」が「００」であるかを判定し、「００」であるときは処理を終了し、「００」でないときはステップＳ１０４に進む。そして、上述のステップＳ１０４，Ｓ１０５の処理を行う。
【０１５０】
　したがって、グループ変更があったファイルは、「連続記録」が「００」の通常のファイルを除いてその連続記録の状態から外れるので、その直後のファイルの「連続記録」が「１０」ならば、その直後のファイルのディレクトリエントリの「連続記録」を「１１」にする。これにより、グループ変更のあったファイルの直後のファイルを連続記録の先頭にすることができ、グループ変更のない各ファイルの連続記録の状態を維持することができる。
【０１５１】
　一方、ステップＳ１０６で挿入処理を行うと判定したときのステップＳ１１０において、挿入の対象となるファイルを実際に挿入して、ステップＳ１１１に進む。
【０１５２】
　ステップＳ１１１において、挿入されたファイルの次のファイルに対応するディレクトリエントリの「連続記録」が「１０」であるかを判定し、「１０」であるときはステップＳ１１２に進み、「１０」でないときはステップＳ１１３に進む。
【０１５３】
　ステップＳ１１２において、挿入したファイルの「連続記録」を「１０」にして、処理を終了する。
【０１５４】
　ステップＳ１１３において、挿入したファイルの「連続記録」を「００」にして、処理を終了する。
【０１５５】
　例えば、上述の図１４において、ファイル５とファイル６の間にファイル5.5を挿入すると、図３２に示すように、その次のファイル６の「連続記録」は「１１」であるので、ステップＳ１１１，Ｓ１１３の処理によって、挿入されたファイルの「連続記録」は「００」になる。また、ファイル７とファイル８の間にファイル7.5を挿入すると、その次のファイル８の「連続記録」は「１０」であるので、ステップＳ１１１，Ｓ１１２の処理によって、挿入されたファイルの「連続記録」は「１０」になる。
【０１５６】
　したがって、各ファイルの連続記録の直前にファイルが挿入された場合は、当該ファイルを通常の状態にし、また、連続記録の途中にファイルが挿入されたときは当該ファイルを連続記録の状態にしている。
【０１５７】
　以上詳細に説明したように、本発明は、ファイル名やディレクトリ名を使うことなくファイルの読み出し、書き込み、消去等を行うことができ、また、より少ないデータ量でディレクトリやファイルの管理を行うことができるので、例えばフラッシュメモリ２２のように比較的記憶容量の少ない記録媒体にファイル等を記録するときに好適なものである。
【０１５８】
　なお、本実施の形態では、記録媒体の一例としてフラッシュメモリを備えるメモリカードを例に挙げて説明したが、本発明はこれに限定されるものではなく、例えば磁気ディスクや光ディスク等の媒体にも適用可能であるのは勿論である。
【図面の簡単な説明】
【０１５９】
【図１】本発明を適用したメモリカードシステムの構成を示すブロック図である。
【図２】上記メモリカードシステムのメモリカード内のフラッシュメモリに格納されるデータの構成を説明するための図である。
【図３】上記フラッシュメモリに格納されるユーザ形式のファイルの構成を説明するための図である。
【図４】上記ファイルのＯＳヘッダの構成を説明するための図である。
【図５】上記ファイルのファイルヘッダ及びエントリエリアの構成を説明するための図である。
【図６】ディレクトリファイルの構成を説明するための図である。
【図７】上記ディレクトリファイルのシステムエントリエリアの構成を説明するための図である。
【図８】上記ディレクトリファイルのディレクトリインフォメーションの構成を説明するための図である。
【図９】上記ディレクトリインフォメーションによって決められるシステム用ディレクトリエリアとユーザエリアの説明図である。
【図１０】上記ディレクトリファイルのグループインフォメーションの構成を説明するための図である。
【図１１】上記ディレクトリファイルのディレクトリエントリリストの構成を説明するための図である。
【図１２】各ディレクトリエントリのファイル番号を説明するための図である。
【図１３】各ディレクトリエントリの属性情報を説明するための図である。
【図１４】各ファイルの連続記録の状態の説明図である。
【図１５】各ディレクトリエントリのグループ番号を説明するための図である。
【図１６】ディレクトリ内のグループの取り扱いを説明するための図である。
【図１７】ディレクトリ内のグループの取り扱いを説明するための図である。
【図１８】各ファイルとグループの関係を示す図である。
【図１９】グループをサポートするときの階層構造の説明図である。
【図２０】グループをサポートしないときの階層構造の説明図である。
【図２１】グループをサポートしないときの階層構造の説明図である。
【図２２】アプリケーションを立ち上げるときの処理を示すフローチャートである。
【図２３】ディレクトリを作成するときの処理を示すフローチャートである。
【図２４】ファイルを登録するときの処理を示すフローチャートである。
【図２５】対象フラグがある場合の処理を示すフローチャートである。
【図２６】対象フラグがない場合の処理を示すフローチャートである。
【図２７】画像ファイルを読み込むときの処理を示すフローチャートである。
【図２８】画像ファイルを削除するときの処理を示すフローチャートである。
【図２９】ディレクトリを削除するときの処理を示すフローチャートである。
【図３０】連続記録の状態を変更するときの処理を示すフローチャートである。
【図３１】１つのファイルを削除したときの連続記録の状態を示す図である。
【図３２】ファイルを挿入したときの連続記録の状態を示す図である。
【符号の説明】
【０１６０】
１ メモリカードシステム、１０ ホストコンピュータ、１１ ハードディスク、１２ ＲＡＭ、１３ 第１のシリアルＩ／Ｆ、１４ ＣＰＵ、２０ メモリカード、２１ 第２のシリアルＩ／Ｆ、２２ フラッシュメモリ、 ２３ コントローラ
【図１】
2004005725.tif 000003
【図２】
2004005725.tif 000004
【図３】
2004005725.tif 000005
【図４】
2004005725.tif 000006
【図５】
2004005725.tif 000007
【図６】
2004005725.tif 000008
【図７】
2004005725.tif 000009
【図８】
2004005725.tif 000010
【図９】
2004005725.tif 000011
【図１０】
2004005725.tif 000012
【図１１】
2004005725.tif 000013
【図１２】
2004005725.tif 000014
【図１３】
2004005725.tif 000015
【図１４】
2004005725.tif 000016
【図１５】
2004005725.tif 000017
【図１６】
2004005725.tif 000018
【図１７】
2004005725.tif 000019
【図１８】
2004005725.tif 000020
【図１９】
2004005725.tif 000021
【図２０】
2004005725.tif 000022
【図２１】
2004005725.tif 000023
【図２２】
2004005725.tif 000024
【図２３】
2004005725.tif 000025
【図２４】
2004005725.tif 000026
【図２５】
2004005725.tif 000027
【図２６】
2004005725.tif 000028
【図２７】
2004005725.tif 000029
【図２８】
2004005725.tif 000030
【図２９】
2004005725.tif 000031
【図３０】
2004005725.tif 000032
【図３１】
2004005725.tif 000033
【図３２】
2004005725.tif 000034