JP3620241B2 - File management apparatus, file management method, recording medium, and file management system - Google Patents

File management apparatus, file management method, recording medium, and file management system Download PDF

Info

Publication number
JP3620241B2
JP3620241B2 JP28236197A JP28236197A JP3620241B2 JP 3620241 B2 JP3620241 B2 JP 3620241B2 JP 28236197 A JP28236197 A JP 28236197A JP 28236197 A JP28236197 A JP 28236197A JP 3620241 B2 JP3620241 B2 JP 3620241B2
Authority
JP
Japan
Prior art keywords
file
directory
continuous
files
recorded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP28236197A
Other languages
Japanese (ja)
Other versions
JPH11120052A (en
Inventor
哲 佐々
博明 布施
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP28236197A priority Critical patent/JP3620241B2/en
Publication of JPH11120052A publication Critical patent/JPH11120052A/en
Application granted granted Critical
Publication of JP3620241B2 publication Critical patent/JP3620241B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ディレクトリやファイルの階層構造によって各ファイルを管理するファイル管理装置、ファイル管理方法、記録媒体及びファイル管理システムに関する。
【0002】
【従来の技術】
従来より、画像や音声等のデータからなるファイルは、ディレクトリとファイルの階層構造によって管理されている。このような階層構造において、各ディレクトリ又は各ファイルは、自身のディレクトリ名又はファイル名を備え、更にその上位又は下位のディレクトリやファイルの名前の情報を保持する必要があった。したがって、通常のコンピュータは、外部の記憶装置に記憶されているファイルに名前が付けられていない場合は、ファイルに名前を付けてから各ファイルを管理するようになっている。
【0003】
【発明が解決しようとする課題】
しかし、画像や音楽等のファイルの中にはファイル名を付けなくても容易に取り扱うことができるものがあり、コンピュータが全てのファイルやディレクトリに対して自身の名前を所有するのを要求しその名前を用いて全てのファイル等を管理するのは、効率的な処理とはいえず、処理負担が大きくなることがある。また、上述のようなファイルの管理方法では、ディレクトリに各ファイルを管理するための情報が集中しているので、ディレクトリの情報を管理するための領域が大きくなり、さらに、ディレクトリが破壊された場合には上記階層構造を復活させることは不可能であった。
【0004】
また、ディレクトリ内のファイルが多くなると、これらのファイルを用途や種別に応じてグループ分けしたいことがある。このとき、従来からの階層構造では、さらにディレクトリを設けるか又はグループ分けするファイルのファイル名を変えるなければならなかった。しかし、簡単なグループ分けをするときにわざわざディレクトリを設けるのは処理負担が大きい。また、ファイルのグループ化のために、各ファイルにそのグループに固有のファイル名を付けたとしても、再びファイル名を変えてしまうとグループ分けすることができなくなってしまう。
【0005】
また、従来のディレクトリやファイルは、例えばカメラで撮影された画像を示すような用途・種別の情報を備えていないため、アプリケーションフォーマットでどのように使われるか判断されてから管理されており、その処理負担が大きかった。
【0006】
本発明は、このような実情に鑑みて提案されたものであり、ディレクトリやファイルの管理を容易にし、かつ、これらを管理するときの処理負担を大きく削減することができるファイル管理装置、ファイル管理方法、記録媒体及びファイル管理システムを提供することを目的とする。
【0007】
【課題を解決するための手段】
上述の課題を解決するために、本発明に係るファイル管理装置は、ファイル番号を有するファイルと、ファイルが一群のファイルとして連続記録されているかを示す連続記録情報からなるディレクトリエントリをファイル毎に有するディレクトリとを記憶する記憶手段と、記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理する管理手段とを備える。上記記憶手段は、上記ディレクトリとして、ファイル番号と連続の最初か否かを示す連続記録情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記憶し、上記管理手段は、上記記憶手段から読み出した上記一のディレクトリの連続記録情報に基づいて、上記一のディレクトリの連続する各ディレクトリエントリの示す各ファイルを、一群の連続のファイルとして管理し、上記管理手段は、上記記憶手段から読み出した上記一のディレクトリの連続記録情報に基づいて、連続の最初を示す連続記録情報を有するディレクトリエントリのファイル番号から、次の連続の最初を示す連続記録情報を有するディレクトリエントリの直前のディレクトリエントリまでのファイル番号が示すファイルを、連続のファイルとして管理し、上記記憶手段に既に記録されている所定のファイルであっても、上記ディレクトリエントリに記録されるファイル番号の順を変更することによって、連続記録されているファイルの集合内に該ファイルを挿入編集可能とする。
【0008】
本発明に係るファイル管理方法は、ファイル番号を有するファイルと、ファイル番号とファイルが一群のファイルとして連続記録されているかを示すと共に連続の最初か否かを示す連続記録情報とからなるディレクトリエントリをファイル毎に有するディレクトリを記憶し、上記一のディレクトリの連続記録情報を読み出し、読み出した上記一のディレクトリの連続記録情報に基づいて、連続の最初を示す連続記録情報を有するディレクトリエントリのファイル番号から、次の連続の最初を示す連続記録情報を有するディレクトリエントリの直前のディレクトリエントリまでのファイル番号が示すファイルを、一群の連続のファイルとして管理し、既に記録されている所定のファイルであっても、上記ディレクトリエントリに記録されるファイル番号の順を変更することによって、連続記録されているファイルの集合内に該ファイルを挿入編集可能とする。
【0009】
本発明に係る記録媒体は、ファイル番号を有するファイルと、ファイル番号とファイルが一群のファイルとして連続記録されているかを示すと共に連続の最初か否かを示す連続記録情報からなるディレクトリエントリをファイル毎に有するディレクトリとを記録し、上記一のディレクトリの連続記録情報に基づいて、連続の最初を示す連続記録情報を有するディレクトリエントリのファイル番号から、次の連続の最初を示す連続記録情報を有するディレクトリエントリの直前のディレクトリエントリまでのファイル番号が示すファイルを、一群の連続のファイルとして管理し、既に記録されている所定のファイルであっても、上記ディレクトリエントリに記録されるファイル番号の順を変更することによって、連続記録されているファイルの集合内に該ファイルを挿入編集可能とする。
【0010】
本発明に係るファイル管理システムは、ファイル番号を有するファイルと、ファイル番号とファイルが一群のファイルとして連続記録されているかを示すと共に連続の最初か否かを示す連続記録情報からなるディレクトリエントリをファイル毎に有するディレクトリとを記録する記録媒体と、上記記録媒体から読み出されたファイルとディレクトリとを記憶する記憶手段と、記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理する管理手段とを有するファイル管理装置とを備え、上記管理手段は、上記記憶手段から読み出した上記一のディレクトリの連続記録情報に基づいて、上記一のディレクトリの連続する各ディレクトリエントリの示す各ファイルを、一群の連続のファイルとして管理し、上記管理手段は、上記記憶手段から読み出した上記一のディレクトリの連続記録情報に基づいて、連続の最初を示す連続記録情報を有するディレクトリエントリのファイル番号から、次の連続の最初を示す連続記録情報を有するディレクトリエントリの直前のディレクトリエントリまでのファイル番号が示すファイルを、連続のファイルとして管理し、上記記憶手段に既に記録されている所定のファイルであっても、上記ディレクトリエントリに記録されるファイル番号の順を変更することによって、連続記録されているファイルの集合内に該ファイルを挿入編集可能とする。
【0011】
本発明に係るファイル管理方法は、ファイル番号を有するファイルと、ファイル番号とファイルが一群のファイルとして連続記録されているかを示すと共に連続の最初か否かを示す連続記録情報からなるディレクトリエントリをファイル毎に有するディレクトリとを記録媒体に記録し、上記記録媒体からファイルとディレクトリとを読み出し、この読み出されたファイルとディレクトリとを記憶し、一のディレクトリの連続記録情報に基づいて、連続の最初を示す連続記録情報を有するディレクトリエントリのファイル番号から、次の連続の最初を示す連続記録情報を有するディレクトリエントリの直前のディレクトリエントリまでのファイル番号が示すファイルを、一群の連続のファイルとして管理し、既に記録されている所定のファイルであっても、上記ディレクトリエントリに記録されるファイル番号の順を変更することによって、連続記録されているファイルの集合内に該ファイルを挿入編集可能とする。
【0012】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0013】
本発明は、図1に示す構成のメモリカードシステム1に適用される。メモリカードシステム1は、ホストコンピュータ10とメモリカード20により構成される。
【0014】
上記ホストコンピュータ10は、具体的には図1に示すように、静止画像や音声等の様々なファイルや各ファイルをまとめて管理するディレクトリ等を記憶するハードディスク11と、ハードディスク11等からのファイル等を一旦記憶するRAM(Random Access Memory)12と、3本のラインを介してメモリカード20とのデータの送受信を行う第1のシリアルインターフェース(以下、「第1のシリアルI/F」という。)13と、各回路を制御するCPU(Central Processing Unit)14とを備え、例えばハードディスク11に記憶されている画像や音声等のファイルをディレクトリを用いた階層構造によって管理することができる。
【0015】
RAM12は、例えばハードディスク11に記憶されているファイルを一旦記憶し、必要に応じてこのファイルをバスを介して第1のシリアルI/F13に供給する。
【0016】
第1のシリアルI/F13は、3本のラインを介して、メモリカード20にデータを送信したり、メモリカード20に記憶されているデータを受信する。具体的には、第1のシリアルI/F13は、第1のラインを介して、上記制御データやファイルの送信の際のシリアルクロックSCKを送信する。第1のシリアルI/F13は、第2のラインを介して、第1のラインでのファイル又は制御データ等のシリアルデータの切り換えに応じて、そのときの状態を示すチップセレクト信号CSを出力する。さらに、第1のシリアルI/F13は、第3のラインを介して、メモリカード20に書き込むためのファイルや制御データを送信したり、メモリカード20から読み出されたファイルを受信する。
【0017】
CPU14は、RAM12やハードディスク11のファイルを読み出したり、RAM12等にファイルを書き込むことを制御したり、メモリカード20とファイル等の送受信の制御も行う。例えば、CPU14は、メモリカード20の図示しない誤消去防止スイッチのライトプロテクトがオンになっているかを判定するためのレジスタ命令を発行したり、メモリカード20に対してアドレスを指定して所定のファイルの書込み命令を発行する。
【0018】
ここで、メモリカード20は、図1に示すように、上記ホストコンピュータ10からのファイルや制御データをシリアルで送受信する第2のシリアルI/F21と、ファイルやディレクトリを記憶するフラッシュメモリ22と、フラッシュメモリ22に記憶されているファイル等の読出し又は書込みを制御するコントローラ23とを備える。
【0019】
上記フラッシュメモリ22は、例えばNAND型のものであり、図2に示すように、ホストコンピュータ10から送信されたファイルを、消去単位となるブロック(例えば8kバイト又は16kバイト)毎に分割して記憶する。各ブロック0,1,2,・・・,nは、ファイル等を512バイト記憶するデータエリアと16バイトの冗長エリアとによってなる1ページ(=512バイト+16バイト)が集合して構成される。上記冗長エリアには、当該ブロックのデータエリアにあるデータを管理するための分散管理情報が記憶されている。なお、これらの分散管理情報が集合すると集合管理情報(集合管理ファイル)が構成される。集合管理ファイルは、数ブロックで構成されて、全てのブロックのデータの記録状態を一括して管理するものであり、例えばフラッシュメモリ22内の各ブロックの分散管理情報の一部をまとめて管理するビットマップテーブルを備える。
【0020】
ここで、ファイルは、画像や音声等に用いるユーザファイル形式のものと、システム管理のためのシステムファイル形式のものとがあり、全てに対して所定の論理アドレスが与えられて、フラッシュメモリ22の1以上のブロックのデータエリアにおいて記憶される。
【0021】
ユーザファイル形式のファイルは、図3に示すように、当該ファイルの属性情報である512バイトのヘッダ部と主情報であるデータ部によって構成される。ヘッダ部は、当該ファイルをメモリカード20内で管理するための情報である128バイトのOSヘッダと、通常のパーソナルコンピュータ等で取扱い可能な汎用的ものであり、必要不可欠な管理情報である240バイトのファイルヘッダと、144バイトのエントリエリアとからなる。また、データ部は、テーブルデータ領域と、4つのエントリデータとを有する。なお、上述の図3に示すデータ部では、4つまでのエントリデータが格納される。すなわち、ユーザファイル形式のファイルは、最大で4つのエントリデータから構成される。また、図3では、エントリデータとして、インデックス,画像データ,2つの補助データを例に挙げたが、特に限定されるものではなく、その他音声データ等であってもよい。
【0022】
上記OSヘッダは、具体的には図4に示すように、「ファイルID」(2バイト),「ファイルバージョン」(2バイト),「ファイルサイズ」(4バイト),「使用ブロック数」(2バイト),「リンク数」(1バイト),「日付」(8バイト),「メーカー/機種コード」(4バイト),「初期登録ディレクトリ番号」(2バイト),「アプリケーションカテゴリー」(1バイト),「ファイル名」(11バイト),「キーワード登録数」(1バイト),「キーワード文字コード」(1バイト),「キーワード文字列」(32バイト),「0リセットリザーブ」(4バイト),「個別データ」(32バイト)、さらに未使用領域「リザーブ」を有する。
【0023】
「ファイルID」は、ファイルの種別(用途)を表すものであり、ファイルヘッダにも同様のものがある。「ファイルバージョン」は、いわゆるバージョンナンバーを示すものであり、ホストコンピュータ10やメモリカード20においてこのファイルを処理することができるかを判定するために用いられる。「ファイルサイズ」は、ヘッダ部及びデータ部からなる当該ファイルの全体の大きさをバイト数で示すものである。「使用ブロック数」は、フラッシュメモリ22で当該ファイルを使用しているブロック数を示すものである。「リンク数」は、当該ファイルを参照しているディレクトリ又はファイルの数を示すものである。なお、「リンク数」には、当該ファイルの属するディレクトリも含まれる。例えば、他のディレクトリから参照されていないファイルは、その属するディレクトリのみとリンクしているので、「リンク数」は1である。「日付」は、ファイルを作成した日付又は更新した日付を示すものである。「メーカー/種別コード」は、メモリカード20にファイルを書き込んだ機器のメーカー名及びその機種を示すものである。「初期登録ディレクトリ番号」は、最初に登録したディレクトリ番号を示すものであり、ファイルが別のディレクトリに移った場合でも更新されるものではない。「アプリケーションカテゴリー」は、このファイルが用いられるアプリケーションのカテゴリーを示すものである。「ファイル名」は、ホストコンピュータ10でファイルを管理するときに用いられるファイル名であり、メモリカード20内では特に使用されない。「キーワード登録数」は、登録されたキーワードの数を示すものである。「キーワード文字コード」は、キーワードの文字コードを示したものである。「キーワード文字列」は、キーワード,セパレータを決めて複数指定をすることもできるものである。「0リセットリザーブ」は、書換えの際に必ず0にしておくものである。「個別データ」は、ファイルID毎に管理するためのもので、例えばファイルIDによって決められる用途で用いられるデータであり、利用者が自由に用いることができる。
【0024】
上記ファイルヘッダは、具体的には図5に示すように、「規格識別データ」(8バイト),「ファイル規格識別データ」(8バイト),「ファイルID」(2バイト),「ファイルバージョン」(2バイト),「アプリケーション作成日付」(8バイト),「アプリケーション更新日付」(8バイト),「作成メーカー/機種コード」(4バイト),「更新メーカー/機種コード」(4バイト),「0リセットリザーブ」(16バイト),「データエントリ数」(1バイト),「テーブル数」(1バイト),「文字コード」(1バイト),「タイトル文字列」(128バイト)、さらに未使用領域「リザーブ」を有する。
【0025】
「規格識別データ」は、当該フラッシュメモリ22が所定の規格に沿ってファイルを記憶していることを示すものである。「ファイル規格識別データ」は、当該ファイルが上記所定の規格に沿って作成されたことを示すものである。「ファイルID」は、ファイルの種別を表すものであり、OSヘッダにも同様のものがある。「ファイルバージョン」は、バージョンナンバーを示すものである。「アプリケーション作成日付」は、アプリケーションを作成した日付を示すものであり、「アプリケーション更新日付」は、アプリケーションを更新した日付を示すものである。「作成メーカー/種別コード」は、ファイルを作成したメーカー及びその機種名を示すものであり、「更新メーカー/種別コード」は、そのファイルを更新したメーカー及びその機種名を示すものである。「データエントリ数」は、後述のエントリデータの数を示すものである。「テーブル数」は、テーブルデータ領域のデータ数を示すものである。「文字コード」は、入力文字を所定のコード番号で示したものである。「タイトル文字列」は、タイトル文字を示したものである。
【0026】
エントリエリアは、データ部の4つのエントリデータを管理するためのデータ(以下、「エントリ」という。)がそれぞれ記憶されている。
【0027】
上記エントリエリア内の各エントリは、4つのエントリデータに対応して設けられ、図5に示すように、4つのエントリデータ毎に、「開始アドレス」(4バイト),「データサイズ」(4バイト),「データ種別ID」(1バイト),「リザーブ」(1バイト),「個別データ」(26バイト)がある。例えば、エントリ1の「開始アドレス」は図3に示す「エントリデータ1 インデックス」の先頭論理アドレスを示し、エントリ2の「開始アドレス」は「エントリデータ2画像データ」の先頭論理アドレスを示す。
【0028】
一方、システムファイル形式のファイルとしては、例えばディレクトリファイルが該当し、ユーザファイル形式のものと比べて、ヘッダ部の構成が異なっている。
【0029】
ここで、1つのディレクトリは、1つのファイル、すなわち1つのディレクトリファイルによって構成され、最大8kバイトの大きさとする。ディレクトリファイルは、ヘッダ部とデータ部とから構成され、主にヘッダ部のディレクトリインフォメーションとデータ部のディレクトリエントリリストとによって各ファイルを管理する。
【0030】
上記ディレクトリファイルのヘッダ部は、図6に示すように、「OSヘッダ」(128バイト),「ファイルヘッダ」(240バイト),「システムエントリエリア」(48バイト),「ディレクトリインフォメーション」(96バイト)を有する。なお、「OSヘッダ」と「ファイルヘッダ」は、上述したユーザファイル形式のものと同様である。
【0031】
「システムエントリエリア」は、ユーザファイル形式のものとほとんど同じであるが、各エントリに個別データが設けられていない。具体的には図7に示すように、各エントリ毎に、「開始アドレス」(4バイト),「データサイズ」(4バイト),「データ種別ID」(1バイト),「リザーブ」(3バイト)がある。例えば一のエントリの「開始アドレス」は後述のグループインフォメーションの先頭論理アドレスを示し、他のエントリの「開始アドレス」は後述のディレクトリエントリの先頭論理アドレスを示す。
【0032】
「ディレクトリインフォメーション」は、ディレクトリの情報を管理するものであり、図8に示すように、「ディレクトリID」(2バイト),「対象ファイルID」(1バイト),「グループ数」(1バイト),「親ディレクトリ」(2バイト),「ディレクトリ数」(2バイト),「ファイル数(全ファイル)」(2バイト),「対象ファイル数」(2バイト),「アクセスポイント」(2バイト),「ディレクトリエントリ数」(2バイト),「システム用ディレクトリエントリ数」(2バイト),「使用システムディレクトリエントリ数」(2バイト),「確保ブロック数」(2バイト),「使用ブロック数」(2バイト),さらに未使用領域「リザーブ」(72バイト)を有する。
【0033】
「ディレクトリID」はディレクトリの種別を表し、「対象ファイルID」は対象とするファイルIDを示すものである。すなわち、これらは、ディレクトリ自身又はファイル自身の名前を示すものではなく、例えば画像やオーディオ等の用途を示すものである。なお、「対象ファイルID」は、当該ディレクトリの対象となるファイルの「ファイルID」の上位1バイトが記述される。これにより、「対象フラグ」で識別するためのファイルIDを指定することができる。「対象ファイルID」だけを変えれば、当該ディレクトリのファイルの種別も容易に変えることができる。「グループ数」は、ディレクトリ内の複数のファイルをグループ分けする場合に、登録されたグループの数である。「親ディレクトリ」は、親ディレクトリ、すなわち1つ上の階層のディレクトリ番号を示すものである。「ディレクトリ数」は含まれるディレクトリの総数を示し、「ファイル数(全ファイル)」は当該ディレクトリに含まれる全ファイルの数を示す。「対象ファイル数」は、そのディレクトリ内で取り扱うことができるファイルの数、すなわち含まれる対象ファイル数を示す。「アクセスポイント」は、当該ディレクトリにアクセスを開始したときの、最初にアクセスするディレクトリエントリを示すものである。「ディレクトリエントリ数」は、後述のユーザエリアのディレクトリエントリ数を示す。「システム用ディレクトリエントリ数」は、システム用ディレクトリエリアのディレクトリエントリの数を示す。具体的には図9に示すように、各ディレクトリファイルには、システム用ディレクトリエリアと、ユーザエリアとが設けられている。なお、これらのエリアは、ディレクトリ毎に設定することができる。システム用ディレクトリエリアは、管理ファイル等のそのシステムに必要な特別ファイルを取り扱うためのエリアであり、ディレクトリエントリによってそのエリアは固定される。すなわち、ディレクトリエントリの最初から所定番目まではシステム用ディレクトリエリアに対応し、その他のディレクトリエントリはユーザエリアに対応している。そこで、「システム用ディレクトリエントリ数」は、かかるシステム用のディレクトリエントリの数を示すものである。なお、ルートディレクトリは、256のシステム用ディレクトリを設けている。一方、ユーザエリアでは、各ディレクトリエントリは当該エリアの開始位置から隙間なく並べられる。「使用システムディレクトリエントリ数」は、システム用ディレクトリエリアで実際に使用されているディレクトリエントリ数を示す。「確保ブロック数」はアプリケーションで確保したいフラッシュメモリ22のブロック数を示し、「使用ブロック数」はアプリケーションで使用したブロック数を示す。
【0034】
また、上記ディレクトリファイルのデータ部は、上述の図6に示すように、エントリデータ1として「グループインフォメーション」(可変長),エントリデータ2として「ディレクトリエントリリスト」(可変長)を有する。
【0035】
「グループインフォメーション」は、図10に示すように、「グループ番号」(1バイト),「グループインフォメーションサイズ」(1バイト),「ディレクトリID」(2バイト),「0リセットリザーブ」(1バイト),「リザーブ」(3バイト),「日付」(8バイト),「個別データ」(8バイト),「タイトル」(可変長)とを有する。
【0036】
「グループインフォメーション」は、ディレクトリ内で所望のファイルのグループ分けを行うための情報であり、詳しくは後述するが、実質的にはディレクトリの下の階層に疑似ディレクトリを設けるものである。「グループインフォメーションサイズ」は、グループインフォメーションの大きさを示すものであり、固定長24バイト+「タイトル」の任意バイト数の大きさになる。「ディレクトリID」はディレクトリ種別毎に付けられるIDであり、「0リセットリザーブ」は修正する場合は必ず0に設定するものである。「リザーブ」は当該ファイル作成時に0に設定するものである。「日付」は当該ファイルの作成日付を示し、これは使用者により変更可能である。「個別データ」は特に定められたものでなく、「タイトル」はディレクトリファイルのタイトルを示すものである。
【0037】
「ディレクトリエントリリスト」は、ディレクトリに属する要素を示すものであり、図11に示すように、ディレクトリエントリが複数集合して構成される。なお、1つのディレクトリエントリは4バイトである。ディレクトリエントリは、「ファイル番号」(2バイト),「属性情報」(1バイト),「グループ番号」(1バイト)で構成される。
【0038】
「ファイル番号」は、図12に示すように、2バイト中の最初のビットには「0」があり、残りの15ビットにおいてファイル又はディレクトリの先頭論理アドレスが示されている。なお、「0xffff」が示されている時は、未使用を意味する。
【0039】
「属性情報」は、図13に示すように、「ディレクトリ/ファイル」(1ビット),「対象フラグ」(1ビット),「マーク1」(1ビット),「マーク2」(1ビット),「連続記録」(2ビット),「リザーブ」(2ビット)の情報を有する。「ディレクトリ/ファイル」は、1のときは当該ディレクトリの下にさらにディレクトリがあることを示し、0のときはファイルがあることを示す。「対象フラグ」は、1のときは上述のディレクトリインフォメーションで指定した対象ファイルIDのファイルであることを示し、0のときはそれ以外のファイルであることを示す。例えば、当該ファイルが画像であるか、又は画像以外のものであるか等を判定する場合に用いられるのものである。「マーク1」は、1のときはマーク1の指定があることを示し、0のときはかかる指定がないことを示す。「マーク2」については、「マーク1」と同様である。なお、「マーク1」及び「マーク2」は、利用者が指定できるマーキングフラグである。「連続記録」は、連写・簡易動画等の何かしらの連続した集合を示すときに利用される。なお、この連続記録は、ディレクトリエントリが隣合っていること、すなわちファイルが連続していることが必要である。具体的には、「00」のときは通常のファイル,「11」のときは連続ファイルの先頭,「10」のときは連続指定されたファイルであることを示す。例えば図14において、各2ビットずつの数字は各ディレクトリエントリの示すファイルの「連続記録」の値を示す。例えばファイル2〜ファイル5、ファイル6〜ファイル9は連続記録されている。なお、連続記録としてまとめられた各ファイルは、親ディレクトリのディレクトリエントリが連続していて、同じ「グループ番号」であることを要する。そして、各ファイルに2ビットの情報を持たすことによって、ディレクトリ内の一群のファイルを連続記録されているものとして識別することができる。なお、連続記録されているファイルの1つが削除されたり、新たなファイルが挿入されたときの説明については後に詳述する。
【0040】
「グループ番号」は、図15に示すように、8ビットで示され、1階層の疑似ディレクトリを示すグループ番号である。これにより、同じディレクトリ内で同じグループ番号を有するファイルは、1つのグループとして取り扱われる。なお、グループ番号0のファイルは、何もグループ分けされていないものであり、ここでは上記ディレクトリの直下のものとして取り扱う。
【0041】
ここで、同一のディレクトリ内に、ファイル1〜ファイル9の9つのファイルが存在していたとする。さらに、ファイル1,5,7はグループ1に属し、ファイル2,4はグループ2に属し、ファイル3,6はグループ3に属し、ファイル8,9はグループ0に属するものとする。
【0042】
このとき、グループ1〜グループ3は、図16に示すように、上記ディレクトリの下の階層に位置し、疑似的にディレクトリの役割を果たす。また、グループ0に属するファイル8,9は、上記ディレクトリの直下のものとして取り扱われる。
【0043】
すなわち、1エントリにつき1バイトだけの「グループ番号」を設けることによって、親ディレクトリの下にさらにディレクトリを設けたようなグループ機能を発揮することができる。また、ディレクトリファイルにはグループインフォメーションを設けてもよいので、各グループに名前を付けることも可能であり、グループ機能は通常のディレクトリに匹敵する機能を有する。
【0044】
なお、例えば図17に示すように、各グループを、疑似ディレクトリのように取り扱わなくてもよく、単にグループ関係のあるファイルを示すものとして取り扱ってもよい。
【0045】
また、図16及び図17に示すようなグループ分け機能は、グループを取り扱うことができるホストコンピュータと取り扱うことができないホストコンピュータとの間でも互換性を備えている。すなわち、グループ分け機能を有するホストコンピュータ(以下、「ホストコンピュータ10A」という。)に記憶されているファイルやディレクトリを、グループ分け機能のないホストコンピュータ(以下、「ホストコンピュータ10B」という。)に送信しても何等問題が生じない。かかる互換性について、用途がカメラである「カメラディレクトリ」の場合を挙げて以下に説明する。なお、ホストコンピュータ10Aは、図11に示すディレクトリエントリリストの各ディレクトリエントリを並び変える機能を有するものとその機能を有しないものとがあり、それぞれについて説明する。
【0046】
例えば図18(A)に示すように、カメラディレクトリにおいて、ファイル1〜ファイル9の9つのファイルがあり、各ファイルはグループ0〜グループ3に分類されているものとする。ファイル1,5,7は家族の写真としてグループ1に分類され、ファイル2,4は趣味の写真としてグループ2に分類され、ファイル3,6は会社関係としてグループ3に分類され、ファイル8,9は未分類としてグループ0に分類されている。なお、グループ0は、カメラディレクトリ直下のものとして取り扱われる。このとき、上述の図11に示すディレクトリエントリリストでは、ファイル1,ファイル2,ファイル3・・・の順に各ディレクトリエントリが配列されている。すなわち、上記ディレクトリエントリリストでは、図18(A)に示す順番で、各ファイルのディレクトリエントリが配列されている。
【0047】
ここで、ホストコンピュータ10Aにおいて、CPU14は、RAM12に格納されている上記カメラディレクトリ用のディレクトリファイルに対して、各ディレクトリエントリを図18(B)に示すように並び変えることができる。すなわち、CPU14は、ディレクトリエントリ内で、同じグループが連続して並ぶようにディレクトリエントリを並べ変える。これにより、ファイル1〜ファイル9は、図19に示すように、家族の写真,趣味の写真等のグループ毎にグループ分けされて並べられる。
【0048】
そして、ホストコンピュータ10Aが、上記カメラディレクトリのディレクトリファイル及びファイル1〜ファイル9の各ファイルをホストコンピュータ10Bに送信すると、ホストコンピュータ10Bは、図20に示すように、カメラディレクトリの下の階層に各ファイルを配列する。具体的には、ホストコンピュータ10Bは、カメラディレクトリ用のディレクトリファイルにおけるディレクトリエントリの並びに従ってファイルを並べるので、ホストコンピュータ10Aにおけるファイルの並び順と同じ順で各ファイルを並べることができる。したがって、ホストコンピュータ10Bにおいても、グループ分けされて各ファイルが並べられる。
【0049】
このように、ホストコンピュータ10Aがグループ分け機能を備え、かつ、グループ毎にディレクトリエントリリストを並び変える機能を有する場合は、グループ分け機能を備えていないホストコンピュータ10Bもグループ分けをして各ファイルを並べることができる。
【0050】
一方、グループ毎にディレクトリエントリを並び変える機能を有しないホストコンピュータ10Aにおいても、図19に示すように、カメラディレクトリの各ファイルをグループ分けすることができる。
【0051】
しかし、ホストコンピュータ10Aが、カメラディレクトリ用のディレクトリファイル及びファイル1〜ファイル9をホストコンピュータ10Bに送信すると、ホストコンピュータ10Bは、図21に示すように、そのまま各ファイルを並べる。すなわち、ホストコンピュータ10Bは、カメラディレクトリ用のディレクトリファイルにおけるディレクトリエントリの並びに従ってファイルを並べ、ファイル1,2,3・・・の順に各ファイルを並べている。
【0052】
以上のように構成されるメモリカードシステム1において、ホストコンピュータ10のCPU14は、メモリカード20のフラッシュメモリ22から論理アドレス0のルートディレクトリのディレクトリファイル(以下、「ルートディレクトリファイル」という。)、その他のディレクトリファイル、さらに、必要なファイルのヘッダ部を読み出して、各ファイルを管理することができる。具体的には、立上げ開始すると、CPU14は、図22に示すステップS1の処理を開始する。
【0053】
ステップS1において、CPU14は、論理アドレス0のファイルを読み出すことを指示するコマンドを、第1のシリアルI/F13を介して、メモリカード20に送信する。メモリカード20では、コントローラ23は、上記コマンドに従ってフラッシュメモリ22から論理アドレス0のファイルを読み出し、第2のシリアルI/F21を介して、ホストコンピュータ10に送信する。CPU14は、第1のシリアルI/F13で受信したファイルをRAM12に格納し、これがルートディレクトリファイルであるか確認して、ステップS2に進む。
【0054】
ステップS2において、ルートディレクトリファイルがフラッシュメモリ22に存在しているかを判定し、存在しているときはステップS3に進み、存在していないときはステップS7に進む。
【0055】
ステップS3において、自分のアプリケーションディレクトリをチェックして、ステップS4に進む。例えば、ホストコンピュータ10が図示しない撮像部を備えるカメラ機器である場合には、ルートディレクトリの所定の位置に「カメラ」のディレクトリが存在しているかをチェックする。存在しているときは、このメモリカード20はカメラ機器で用いられるものであることが分かり、ステップS4及び後述のステップS5の処理を行う。すなわち、ルートディレクトリには、アプリケーションのカテゴリ毎に決められたディレクトリが設けられていて、例えばカメラの場合は「カメラ」というディレクトリが所定の位置に設けられている。
【0056】
ステップS4において、自分のアプリケーションディレクトリ、例えば「カメラ」ディレクトリが存在するかを判定し、存在するときはステップS5に進み、存在しないときはステップS9に進む。
【0057】
ステップS5において、上記アプリケーションディレクトリの内容を読み出して、ステップS6に進む。
【0058】
ステップS6において、上記アプリケーションディレクトリのディレクトリファイルのディレクトリエントリを調べて、アルバム画像一覧や曲目一覧等のアプリケーションに必要なファイルとアクセスして、アプリケーション処理を開始する。
【0059】
一方、ステップS2でルートディレクトリファイルが存在しないと判定したときのステップS7において、ルートディレクトリファイルを作成するか判定し、作成するときはステップS8に進み、作成しないときは立ち上げを中止する。ここで、ルートディレクトリを作成しない場合としては、例えばメモリカード20がライトプロテクトされている場合が該当する。
【0060】
ステップS8において、論理アドレス0のルートディレクトリファイルを作成して、ステップS9に進む。
【0061】
ステップS9において、自分のアプリケーションディレクトリを作成するかを判定し、作成するときはステップS10に進み、作成しないときはかかる処理を中止する。すなわち、「カメラ」ディレクトリがないときは、後述のステップS10の処理のように「カメラ」ディレクトリを作ったり、又は、処理を一旦中止して利用者が他のメモリカード20に交換することを要する。
【0062】
ステップS10において、ルートディレクトリファイル内にアプリケーションディレクトリを作成して、ステップS5に進む。そして、ステップS5及びステップS6の処理を経て、アプリケーションの処理を開始する。
【0063】
以上のように、例えば図示しない撮像部を備えるホストコンピュータ10は、立ち上げを開始すると、最初にルートディレクトリの存在を確認してから所定のアプリケーションディレクトリ、ここでは「カメラ」ディレクトリをチェックしてから、そのディレクトリの内容の処理を行っている。
【0064】
つぎに、ディレクトリの作成処理を行うときのCPU14の動作について説明する。ホストコンピュータ10のCPU14は、ディレクトリファイルの作成が指示されると、図23に示すステップS11の処理を開始する。
【0065】
ステップS11において、CPU14は、空いている論理アドレスを調べて、ステップS12に進む。
【0066】
ステップS12において、空いている論理アドレスがないかを判定し、空きがないときはディレクトリを作成することができないのでエラーが発生し、空きがあるときはステップS13に進む。
【0067】
ステップS13において、作成するディレクトリファイルのディレクトリインフォメーションを初期値に設定する。さらに、ディレクトリエントリの全てを初期化し、グループインフォメーションを準備する場合はそのエリアを全てクリアして、ステップS14に進む。
【0068】
ステップS14において、メモリカード20が備えるフラッシュメモリ22内の各ブロックに、ディレクトリファイルを記憶することができる容量の空きがあるかを調査して、ステップS15に進む。
【0069】
ステップS15において、上記ブロックの空きがあるかを判定し、空きがないときはエラーが発生し、空きがあるときはステップS16に進む。
【0070】
ステップS16において、CPU14は、上記ディレクトリファイルと共にこの内容を書き込むことを指示するコマンドをメモリカード20に送信して、ステップS17に進む。このとき、メモリカード20では、コントローラ23は、上記コマンドに従ってディレクトリファイルをフラッシュメモリ22に書き込む。
【0071】
ステップS17において、RAM12に格納されている集合管理ファイルのビットマップテーブルを更新して、ステップS18に進む。
【0072】
ステップS18において、作成されたディレクトリの1つ上の階層である親ディレクトリに、当該作成されたディレクトリを登録して、ステップS19に進む。例えば、親ディレクトリのディレクトリファイルにおいて、ディレクトリインフォメーションの「ディレクトリ数」を更新したり、作成されたディレクトリに関するディレクトリエントリを作成したりする。
【0073】
ステップS19において、CPU14は、所定の演算処理が終了したとき等の切りの良いタイミングで、上記集合管理ファイルの更新を指示するコマンドをメモリカード20に送信して、処理を終了する。このとき、メモリカード20では、コントローラ23は、上記コマンドに従ってフラッシュメモリ22に集合管理ファイルの更新された部分の書き込みを行う。
【0074】
以上のように、ディレクトリを作成するときは、ディレクトリ名を作るのではなく、空きのある論理アドレスを付けている。
【0075】
つぎに、ファイルを作成してその親ディレクトリに登録するときのCPU14の動作について説明する。ホストコンピュータ10のCPU14は、ファイルの作成が指示されると、図24に示すステップS21の処理を開始する。
【0076】
ステップS21において、CPU14は、新たに作成されるファイルの親ディレクトリのディレクトリエントリに空きがあるかをチェックして、ステップS22に進む。
【0077】
ステップS22において、上記親ディレクトリにディレクトリエントリの空きがあるかを判定し、空きがあるときはステップS23に進み、空きがないときはエラーが発生してディレクトリへのファイルの登録処理を中止する。
【0078】
ステップS23において、作成されるファイルのヘッダ部を作成してRAM12に格納し、ステップS24に進む。
【0079】
ステップS24において、当該ファイルを各ブロックに書き込むことを指示するコマンドをメモリカード20に送信して、ステップS25に進む。したがって、メモリカード20では、コントローラ23は、このコマンドに従ってフラッシュメモリ22に新たなファイルを書き込む。2以上のブロックに上記ファイルを書き込むときは、各ブロック間の連結状態を示す連結アドレスを、各ブロックの分散管理情報として書き込む。
【0080】
ステップS25において、上記ファイルのフラッシュメモリ22への書き込みが完了したかを判定し、書き込みが完了したときはステップS26に進み、書き込みができないときはエラーが発生してディレクトリへのファイルの登録を中止する。
【0081】
ステップS26において、CPU14は、上記ファイルの親ディレクトリのディレクトリファイルに対して、空いているディレクトリエントリに上記ファイルの先頭論理アドレスを書き込む。また、このディレクトリエントリに、必要に応じて「グループ番号」や、「属性情報」を書き込んで、ステップS27に進む。
【0082】
ステップS27において、上記ディレクトリファイルのディレクトリインフォメーションを更新して、ステップS28に進む。
【0083】
ステップS28において、CPU14は、メモリカード20に対して上記ディレクトリファイルの書き込みを指示するコマンドを送信して、処理を終了する。このとき、メモリカード20では、コントローラ23は、上記コマンドに従ってディレクトリファイルをフラッシュメモリ22に書き込む。
【0084】
以上のように、ディレクトリにファイルを登録する場合には、ディレクトリにそのファイル名を登録するのではなく、ファイル番号(先頭論理アドレス),属性情報,グループ番号からなる4バイトのディレクトリエントリを登録している。これにより、ディレクトリに多くの情報が集中するのを回避することができ、多くのファイルを登録する場合であってもディレクトリの情報量が多くなり過ぎるのを防止して、フラッシュメモリ22内のデータ記録領域を有効に活用することができる。
【0085】
つぎに、ファイルがその親ディレクトリの用途にあっているかを調べるとき、すなわち図13に示す「対象フラグ」によってファイルの用途を調べるときのCPU14の動作について説明する。ホストコンピュータ10のCPU14は、あるディレクトリに属するファイルの用途調査の指示が出されると、図25に示すステップS31の処理を開始する。
【0086】
ステップS31において、CPU14は、親ディレクトリのディレクトリファイルに対して、調べたいディレクトリエントリの用途情報の「対象フラグ」をチェックして、ステップS32に進む。
【0087】
ステップS32において、上記「対象フラグ」が「1」であるかを判定し、「1」であるときはステップS33に進み、「1」でないときはステップS34に進む。
【0088】
ステップS33において、この「対象フラグ」の示すファイルは当該ディレクトリの用途と一致するので、CPU14は、このファイルに対して所定の処理を行う。
【0089】
ステップS34において、この「対象フラグ」の示すファイルは当該ディレクトリの用途と一致しないので、CPU14は、このファイルを処理の対象外とみなして処理を終了する。
【0090】
このように、CPU14は、単に1ビットの「対象フラグ」を見ることによって、ファイルとその親ディレクトリとの用途が一致するかを容易に判別することができ、高速に所定のファイルにアクセスすることができる。
【0091】
また、「対象フラグ」がないときは、CPU14は、図26に示すステップS41の処理を開始する。
【0092】
ステップS41において、CPU14は、上記親ディレクトリのディレクトリファイルに対して、調べたいディレクトリエントリの「ファイル番号」を調べて、ステップS42に進む。
【0093】
ステップS42において、「ファイル番号」すなわち先頭論理アドレスの示すファイルの内、ヘッダ部のみを読み出す指示をメモリカード20に送信し、そして、メモリカード20から送信されるヘッダ部のデータをRAM12に格納して、ステップS43に進む。
【0094】
ステップS43において、読み出したヘッダ部の「ファイルID」と、上記親ディレクトリのディレクトリインフォメーションの図8に示す「対象ファイルID」とを比較して、ステップS44に進む。
【0095】
ステップS44において、読み出した「ファイルID」の上位1バイトと「対象ファイルID」とが一致するかを判定し、一致するときはステップS45に進み、一致しないときはステップS46に進む。
【0096】
ステップS45において、このファイルは当該ディレクトリの用途と一致するので、CPU14は、このファイルに対して所定の処理を行う。
【0097】
ステップS46において、このファイルは当該ディレクトリの用途と一致しないので、CPU14は、このファイルを処理の対象外とみなして処理を終了する。
【0098】
このように、CPU14は、「対象フラグ」がない場合であっても、ファイルとその親ディレクトリとの用途が一致するかを判別することができる。
【0099】
つぎに、ディレクトリのn番目の画像ファイルを読み込むときのCPUの処理について説明する。ホストコンピュータ10のCPU14は、n番目の画像ファイルの読み込みの指示が出されると、図27に示すステップS51の処理を開始する。
【0100】
ステップS51において、CPU14は、メモリカード20のコントローラ23に対して目的のディレクトリファイルを読み出すコマンドを送信する。具体的には、指定した番号の論理アドレスに該当するブロックからデータを読み出すコマンドを送信して、ステップS52に進む。
【0101】
ステップS52において、コントローラ23は、フラッシュメモリ22から目的とするディレクトリファイルが記憶されているブロックからデータを読み出してホストコンピュータ10に送信する。ホストコンピュータ10では、CPU14は、送信されたデータをRAM12に格納して、図6に示すディレクトリインフォメーション,グループインフォメーション,ディレクトリエントリリスト等を格納して、ステップS53に進む。
【0102】
ステップS53において、上記ディレクトリファイルの図9に示すディレクトリエントリリスト内のユーザエリアの先頭のディレクトリエントリへ行って、ステップS54に進む。
【0103】
ステップS54において、上記ディレクトリエントリの図13に示す「対象フラグ」をチェックして、ステップS55に進む。
【0104】
ステップS55において、CPU14は、「対象フラグ」に基づいて、先頭のディレクトリエントリの示すファイルが画像であるか又は画像でないかを判定し、画像であるときはステップS56に進み、画像でないときはステップS61に進む。
【0105】
ステップS56において、上記ディレクトリエントリの示すファイル番号が指定したファイル番号nであるかを判定し、指定したファイル番号であるときはステップS57に進み、指定した番号でないときはステップS60に進む。
【0106】
ステップS57において、CPU14は、上記ファイル番号の獲得の処理を行って、ステップS58に進む。
【0107】
ステップS58において、CPU14は、獲得したファイル番号(先頭論理アドレス)に基づいて、当該ファイルの512バイトのヘッダ部を読み出すコマンドをメモリカード20に送信する。そして、CPU14は、メモリカード20から送信されるヘッダ部のエントリリストに基づいて、インデックス,画像等の各エントリデータの「開始アドレス」,「データサイズ」を調べて、ステップS59に進む。
【0108】
ステップS59において、CPU14は、上記「開始アドレス」,「データサイズ」に基づいて、インデックス,画像等の各エントリデータを読み出すコマンドをメモリカード20に送信する。メモリカード20では、コントローラ23は、上記コマンドに従って各エントリデータを読み出してホストコンピュータ10に送信する。なお、エントリデータが複数のブロック内に記憶されているときは、「連結アドレス」に基づいて各ブロックからエントリデータを読み出す。
【0109】
一方、ステップS56でディレクトリエントリの示すファイル番号が目的のファイル番号nでないと判定したときのステップS60において、CPU14は、ディレクトリエントリの数を1つカウントアップして、ステップS61に進む。
【0110】
ステップS61において、CPU14は、つぎの順番のディレクトリエントリの処理に移行して、ステップS62に進む。
【0111】
ステップS62において、CPU14は、最後のディレクトリエントリの処理が終了したかを判定し、終了したと判定したときは該当するファイルがないものとして一連の処理を終了し、終了しないときはステップS54に戻って、上記ステップS61における次のディレクトリエントリの処理を行う。
【0112】
以上のように、上記メモリカードシステム1において、ホストコンピュータ10は、各ファイルにファイル名を設けらてていなくても、フラッシュメモリ22から所望のファイルを読み出すことができる。具体的には、上記ホストコンピュータ10のCPU14は、各ディレクトリに設けられたディレクトリエントリリストを順番に調べる。そして、所望のファイルを示すディレクトリエントリを見つけたときは、それが示す論理アドレスに従って上記所望のファイルを読み出すコマンドをメモリカード20に送信し、ファイルの読み出し処理を行っている。これにより、ファイル名やディレクトリ名による文字列処理が不要になるので、文字列格納のためのエリアを各ディレクトリに設けないで済み、ディレクトリ管理エリアを小さくして、フラッシュメモリ22により多くのデータを記憶させることができる。
【0113】
つぎに、ディレクトリのn番目の画像ファイルを削除するときのCPUの処理について説明する。ホストコンピュータ10のCPU14は、n番目の画像ファイルの削除の指示が出されると、図28に示すステップS71の処理を開始する。
【0114】
ステップS71において、CPU14は、メモリカード20のコントローラ23に対して目的のディレクトリファイルを読み出すコマンドを送信する。具体的には、指定した番号の論理アドレスに該当するブロックを読み出すコマンドを送信して、ステップS72に進む。
【0115】
ステップS72において、コントローラ23は、フラッシュメモリ22から目的とするディレクトリファイルが記憶されているブロックからデータを読み出してホストコンピュータ10に送信する。ホストコンピュータ10では、CPU14は、送信されたデータをRAM12に格納して、ステップS73に進む。よって、RAM12には、図6に示すディレクトリインフォメーション,グループインフォメーション,ディレクトリエントリリスト等が格納される。
【0116】
ステップS73において、上記ディレクトリファイルの図9に示すディレクトリエントリリスト内のユーザエリアの先頭のディレクトリエントリへ行って、ステップS74に進む。
【0117】
ステップS74において、上記ディレクトリエントリの図13に示す「対象フラグ」をチェックして、ステップS75に進む。
【0118】
ステップS75において、CPU14は、「対象フラグ」に基づいて、先頭のディレクトリエントリの示すファイルが画像であるか又は画像でないかを判定し、画像であるときはステップS76に進み、画像でないときはステップS83に進む。
【0119】
ステップS76において、上記ディレクトリエントリの示すファイル番号が指定したファイル番号nであるかを判定し、指定したファイル番号であるときはステップS77に進み、指定したファイル番号でないときはステップS82に進む。
【0120】
ステップS77において、CPU14は、上記ファイル番号の獲得の処理を行って、ステップS78に進む。
【0121】
ステップS78において、CPU14は、指定されたファイル番号のファイル削除処理を示すコマンドをメモリカード20に送信して、ステップS79に進む。一方、メモリカード20では、コントローラ23は、上記コマンドに従って指定されたファイルが記憶されているブロックをクリアする。
【0122】
ステップS79において、CPU14は、上記目的のディレクトリのディレクトリエントリリストから削除したファイルに関するディレクトリエントリを削除する。このとき、CPU14は、削除したディレクトリエントリの分を詰めてディレクトリエントリリストを更新して、ステップS80に進む。
【0123】
ステップS80において、CPU14は、上記ディレクトリエントリが削除されたのに伴ってディレクトリインフォメーションの更新処理を行う。例えば、「ファイル数(全ファイル)」,「対象ファイル数」,「ディレクトリエントリ数」等を更新して、ステップS81に進む。
【0124】
ステップS81において、上述のようにディレクトリファイルのヘッダ部を構成するディレクトリエントリリスト及びディレクトリインフォメーションが変更されたので、CPU14は、上記ディレクトリファイルの新たなヘッダ部を書き込むことを示すコマンドをメモリカード20に送信する。メモリカード20では、コントローラ23は、上記コマンドに従ってフラッシュメモリ22に対して上記ディレクトリファイルヘッダ部の更新処理を行う。
【0125】
一方、ステップS76でディレクトリエントリの示すファイル番号が目的のファイル番号nでないと判定したときのステップS82において、CPU14は、ディレクトリエントリの数を1つカウントアップして、ステップS83に進む。
【0126】
ステップS83において、CPU14は、つぎの順番のディレクトリエントリの処理に移行して、ステップS84に進む。
【0127】
ステップS84において、CPU14は、最後のディレクトリエントリの処理が終了したかを判定し、終了したと判定したときは該当するファイルがないものとして一連の処理を終了し、終了てないと判定したときはステップS74に戻って、上記ステップS83における次のディレクトリエントリの処理を行う。
【0128】
以上のように、上記メモリカードシステム1において、ホストコンピュータ10は、各ファイルにファイル名を設けらてていなくても、フラッシュメモリ22に記憶されている所望のファイルを削除することができる。すなわち、上記ホストコンピュータ10のCPU14は、各ディレクトリに設けられたディレクトリエントリリストを順番に調べて所望のファイルを示すディレクトリエントリを見つけ出し、その論理アドレスに従って上記所望のファイルを削除するコマンドをメモリカード20に送信する。これにより、フラッシュメモリ22に記憶されているファイルの削除処理を行っている。したがって、ファイル名やディレクトリ名による文字列処理が不要になるので、文字列格納のためのエリアを各ディレクトリに設けないで済み、ディレクトリ管理エリアを小さくして、フラッシュメモリ22により多くのデータを記憶させることができる。
【0129】
つぎに、ディレクトリを削除するときのCPUの処理について説明する。ホストコンピュータ10のCPU14は、削除するディレクトリが指示されると、図29に示すステップS91の処理を開始する。
【0130】
ステップS91において、CPU14は、削除指定されたディレクトリのディレクトリファイルをフラッシュメモリ22からの読み出しを指示するコマンドをメモリカード20に送信して、ステップS92に進む。メモリカード20において、コントローラ23は、上記コマンドに基づいて、フラッシュメモリ22からディレクトリファイルを読み出し、これを第2のシリアルI/F21を介して上記ホストコンピュータ10に送信する。
【0131】
ステップS92において、CPU14は、メモリカード20からのディレクトリファイルをRAM12に格納し、ディレクトリエントリリストの各ディレクトリエントリを調べて、ステップS93に進む。
【0132】
ステップS93において、CPU14は、ファイルやディレクトリを指定するディレクトリエントリがあるか、すなわち下の階層にファイルや他のディレクトリが存在しているかを判定する。ファイル等を指定するディレクトリエントリがあるときはエラーが発生したものとしてこのディレクトリの削除処理を終了し、ないときはステップS94に進み、ステップS94において、CPU14は、この削除の対象となっているディレクトリをその親ディレクトリから削除することを指示するコマンドを、メモリカード20に送信して、ステップS95に進む。
【0133】
ステップS95において、メモリカード20のコントローラ23は、削除対象のディレクトリファイルを格納しているフラッシュメモリ22のブロック内のデータを消去して、ステップS96に進む。なお、上記ブロックの分散管理情報に「消去済み」のフラグを立てて、所定の処理が終了してから上記ブロック内のデータを消去しても良い。
【0134】
ステップS96において、消去が正常に終了したかを判定し、正常に終了したときはステップS97に進み、正常に終了していないときはエラーが発生したものとして、ディレクトリ削除の処理を中止する。
【0135】
ステップS97において、CPU14は、RAM12に格納している集合管理ファイルに対してディレクトリ削除によって変更が生じた部分を更新して、ステップS98に進む。
【0136】
ステップS98において、CPU14は、所定の演算処理の終了した後等の切りのよい時に、上記集合管理ファイルをメモリカード20に送信すると共にこのファイルを書き込むことを指示するコマンドを送信する。したがって、メモリカード20では、コントローラ23は、上記コマンドに従って集合管理ファイルをフラッシュメモリに書き込む処理を行う。
【0137】
以上のように、上記メモリカードシステム1において、ホストコンピュータ10は、各ファイルにファイル名を設けられていなくても、フラッシュメモリ22に記憶されている所望のディレクトリファイルを削除することができる。すなわち、上記ホストコンピュータ10のCPU14は、削除されるディレクトリがその下にあるファイルのファイル名等情報を有していなくても、当該ディレクトリに設けられたディレクトリエントリリストによって、削除されるディレクトリの下にファイル等がないかを調べることができる。これにより、ファイル名やディレクトリ名による文字列処理が不要になるので、文字列格納のためのエリアを各ディレクトリに設けないで済み、ディレクトリ管理エリアを小さくして、フラッシュメモリ22により多くのデータを記憶させることができる。
【0138】
つぎに、連続記録編集されているときの変更処理を行うときのCPU14の動作について説明する。ホストコンピュータ10のCPU14は、ディレクトリエントリの属性情報の「連続記録」の変更処理が指示されると、図30に示すステップS101の処理を開始する。
【0139】
ステップS101において、CPU14は、連続記録されているファイルの削除処理が指示されたかを判定し、ファイルの削除処理のときはステップS102に進み、ファイルの削除処理でないときはステップS106に進む。
【0140】
ステップS102において、指定されたファイルの削除処理のコマンドをメモリカード20に送信することによって当該ファイルの削除処理を実行して、ステップS103に進む。
【0141】
ステップS103において、親ディレクトリのディレクトリエントリリストから、当該削除したファイルのディレクトリエントリの「連続記録」が「11」であるかを判定する。「連続記録」が「11」であるときはステップS104に進み、「11」でないときは処理を終了する。
【0142】
ステップS104において、当該削除したファイルのディレクトリエントリの次のディレクトリエントリの「連続記録」が「10」であるかを判定し、「10」であるときはステップS105に進み、「10」でないときは処理を終了する。
【0143】
ステップS105において、上記次のディレクトリエントリの「連続記録」を「11」に変更して、上記次のディレクトリエントリの示すファイルを連続記録の先頭にして、処理を終了する。
【0144】
したがって、上述の図14に示すように、ファイル2〜ファイル5が連続記録の場合においては、ファイル2を削除すると、ステップS102〜ステップS105の処理によって、図31に示すように、ファイル3を示すディレクトリエントリの連続記録が「11」に変更される。すなわち、連続記録の先頭のファイルを削除する場合であって、かつ、削除するファイルの次のファイルが連続記録の途中である場合に限り、当該次のファイルの「連続記録」を「11」に変更する。これにより、連続記録のファイルを削除する場合であっても、削除されていない各ファイルの連続記録の状態を維持することができる。
【0145】
一方、ステップS101で削除処理でないと判定したときのステップS106において、連続記録されているファイル間に新たなファイルの挿入処理が指示されたかを判定し、ファイルの挿入処理のときはステップS110に進み、ファイルの挿入処理でないときはステップS107に進む。
【0146】
ステップS107において、上述の図19等に示すグループの変更処理が指示されたかを判定し、グループの変更処理のときはステップS108に進み、グループの変更処理でないときは処理を終了する。
【0147】
ステップS108において、親ディレクトリのディレクトリエントリリストから、当該グループ変更を行うファイルを示すディレクトリエントリリストの「グループ番号」を変更して、ステップS109に進む。
【0148】
ステップS109において、上記ディレクトリエントリの「連続記録」が「00」であるかを判定し、「00」であるときは処理を終了し、「00」でないときはステップS104に進む。そして、上述のステップS104,S105の処理を行う。
【0149】
したがって、グループ変更があったファイルは、「連続記録」が「00」の通常のファイルを除いてその連続記録の状態から外れるので、その直後のファイルの「連続記録」が「10」ならば、その直後のファイルのディレクトリエントリの「連続記録」を「11」にする。これにより、グループ変更のあったファイルの直後のファイルを連続記録の先頭にすることができ、グループ変更のない各ファイルの連続記録の状態を維持することができる。
【0150】
一方、ステップS106で挿入処理を行うと判定したときのステップS110において、挿入の対象となるファイルを実際に挿入して、ステップS111に進む。
【0151】
ステップS111において、挿入されたファイルの次のファイルに対応するディレクトリエントリの「連続記録」が「10」であるかを判定し、「10」であるときはステップS112に進み、「10」でないときはステップS113に進む。
【0152】
ステップS112において、挿入したファイルの「連続記録」を「10」にして、処理を終了する。
【0153】
ステップS113において、挿入したファイルの「連続記録」を「00」にして、処理を終了する。
【0154】
例えば、上述の図14において、ファイル5とファイル6の間にファイル5.5を挿入すると、図32に示すように、その次のファイル6の「連続記録」は「11」であるので、ステップS111,S113の処理によって、挿入されたファイルの「連続記録」は「00」になる。また、ファイル7とファイル8の間にファイル7.5を挿入すると、その次のファイル8の「連続記録」は「10」であるので、ステップS111,S112の処理によって、挿入されたファイルの「連続記録」は「10」になる。連続記録の変更に伴って、ファイルが連続するようにファイル番号の変更も行う。
【0155】
したがって、各ファイルの連続記録の直前にファイルが挿入された場合は、当該ファイルを通常の状態にし、また、連続記録の途中にファイルが挿入されたときは当該ファイルを連続記録の状態にしている。
【0156】
以上詳細に説明したように、本発明は、ファイル名やディレクトリ名を使うことなくファイルの読み出し、書き込み、消去等を行うことができ、また、より少ないデータ量でディレクトリやファイルの管理を行うことができるので、例えばフラッシュメモリ22のように比較的記憶容量の少ない記録媒体にファイル等を記録するときに好適なものである。
【0157】
なお、本実施の形態では、記録媒体の一例としてフラッシュメモリを備えるメモリカードを例に挙げて説明したが、本発明はこれに限定されるものではなく、例えば磁気ディスクや光ディスク等の媒体にも適用可能であるのは勿論である。
【0158】
【発明の効果】
本発明に係るファイル管理装置及びファイル管理方法によれば、各ファイルに連続の最初か否かを示す連続記録情報を設けることによって、新たにディレクトリを設けることなく、連続記録された一群のファイルであるかを認識することができる。したがって、新たにディレクトリを設けることによる管理部の処理負担や記録媒体におけるデータ量の増加を回避しつつ、容易にファイルの一群か否かを認識することができる。
【0159】
本発明に係る記録媒体によれば、各ファイル毎に連続の最初か否かを示す連続記録情報のみを記録することによって、より少ないデータ量で連続記録された一群のファイルか否かを認識することができる。
【0160】
本発明に係るファイル管理システム及びファイル管理方法によれば、新たにディレクトリを設けることなく、各ファイルに連続の最初か否かを示す連続記録情報を設けることによって、連続記録された一群のファイルか否かを認識することができる。したがって、新たにディレクトリを設けることによる管理部の処理負担や記録媒体におけるデータ量の増加を回避しつつ、より少ないデータ量で容易にファイルの一群か否かを認識することができる。
【図面の簡単な説明】
【図1】本発明を適用したメモリカードシステムの構成を示すブロック図である。
【図2】上記メモリカードシステムのメモリカード内のフラッシュメモリに格納されるデータの構成を説明するための図である。
【図3】上記フラッシュメモリに格納されるユーザ形式のファイルの構成を説明するための図である。
【図4】上記ファイルのOSヘッダの構成を説明するための図である。
【図5】上記ファイルのファイルヘッダ及びエントリエリアの構成を説明するための図である。
【図6】ディレクトリファイルの構成を説明するための図である。
【図7】上記ディレクトリファイルのシステムエントリエリアの構成を説明するための図である。
【図8】上記ディレクトリファイルのディレクトリインフォメーションの構成を説明するための図である。
【図9】上記ディレクトリインフォメーションによって決められるシステム用ディレクトリエリアとユーザエリアの説明図である。
【図10】上記ディレクトリファイルのグループインフォメーションの構成を説明するための図である。
【図11】上記ディレクトリファイルのディレクトリエントリリストの構成を説明するための図である。
【図12】各ディレクトリエントリのファイル番号を説明するための図である。
【図13】各ディレクトリエントリの属性情報を説明するための図である。
【図14】各ファイルの連続記録の状態の説明図である。
【図15】各ディレクトリエントリのグループ番号を説明するための図である。
【図16】ディレクトリ内のグループの取り扱いを説明するための図である。
【図17】ディレクトリ内のグループの取り扱いを説明するための図である。
【図18】各ファイルとグループの関係を示す図である。
【図19】グループをサポートするときの階層構造の説明図である。
【図20】グループをサポートしないときの階層構造の説明図である。
【図21】グループをサポートしないときの階層構造の説明図である。
【図22】アプリケーションを立ち上げるときの処理を示すフローチャートである。
【図23】ディレクトリを作成するときの処理を示すフローチャートである。
【図24】ファイルを登録するときの処理を示すフローチャートである。
【図25】対象フラグがある場合の処理を示すフローチャートである。
【図26】対象フラグがない場合の処理を示すフローチャートである。
【図27】画像ファイルを読み込むときの処理を示すフローチャートである。
【図28】画像ファイルを削除するときの処理を示すフローチャートである。
【図29】ディレクトリを削除するときの処理を示すフローチャートである。
【図30】連続記録の状態を変更するときの処理を示すフローチャートである。
【図31】1つのファイルを削除したときの連続記録の状態を示す図である。
【図32】ファイルを挿入したときの連続記録の状態を示す図である。
【符号の説明】
1 メモリカードシステム、10 ホストコンピュータ、11 ハードディスク、12 RAM、13 第1のシリアルI/F、14 CPU、20 メモリカード、21 第2のシリアルI/F、22 フラッシュメモリ、 23 コントローラ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a file management apparatus, a file management method, a recording medium, and a file management system that manage each file according to a hierarchical structure of directories and files.
[0002]
[Prior art]
Conventionally, files composed of data such as images and sounds are managed by a directory and a hierarchical structure of files. In such a hierarchical structure, each directory or each file has its own directory name or file name, and it is necessary to hold information on the names of higher or lower directories and files. Therefore, when a file stored in an external storage device is not named, a normal computer manages each file after naming the file.
[0003]
[Problems to be solved by the invention]
However, some files, such as images and music, can be handled easily without assigning a file name, and the computer requires that all files and directories have their own names. Managing all files using names is not an efficient process and may increase the processing load. In addition, in the file management method as described above, the information for managing each file is concentrated in the directory, so the area for managing the directory information becomes large and the directory is destroyed. It was impossible to revive the above hierarchical structure.
[0004]
Also, when the number of files in a directory increases, it may be desirable to group these files according to their usage and type. At this time, in the conventional hierarchical structure, it is necessary to provide a directory or change the file name of the file to be grouped. However, providing a directory for simple grouping is a heavy processing burden. Further, even if a unique file name is assigned to each file for grouping the files, the files cannot be grouped if the file names are changed again.
[0005]
Also, since conventional directories and files do not have usage / type information that indicates images taken with a camera, for example, they are managed after it is determined how they are used in the application format. The processing burden was heavy.
[0006]
The present invention has been proposed in view of such circumstances, and facilitates the management of directories and files, and can greatly reduce the processing burden when managing these files and file management. It is an object to provide a method, a recording medium, and a file management system.
[0007]
[Means for Solving the Problems]
In order to solve the above-described problem, a file management apparatus according to the present invention has a directory entry including a file having a file number and continuous recording information indicating whether the file is continuously recorded as a group of files for each file. Storage means for storing the directory, and management means for managing the file or directory indicated by the file number of the directory entry of the stored one directory so as to be in a hierarchy below the one directory. The storage means stores, as the directory, a directory having a directory entry including a file number and continuous recording information indicating whether or not it is the first of continuous, for each file, and the management means reads from the storage means Based on the continuous recording information of the one directory, each file indicated by each successive directory entry of the one directory is managed as a group of continuous files, and the management means reads the one read from the storage means. Based on the continuous recording information of the directory, the file number from the file number of the directory entry having continuous recording information indicating the beginning of the next to the directory entry immediately preceding the directory entry having continuous recording information indicating the beginning of the next continuous The file indicated by is managed as a continuous file And, even in a predetermined file already recorded in the storage means,By changing the order of the file numbers recorded in the directory entryThe file can be inserted and edited in a set of continuously recorded files.
[0008]
A file management method according to the present invention includes a directory entry comprising a file having a file number, and continuous recording information indicating whether the file number and the file are continuously recorded as a group of files, and whether the file is the first in a series. Store the directory for each file, read the continuous recording information of the one directory, and based on the read continuous recording information of the one directory, from the file number of the directory entry having the continuous recording information indicating the beginning of the continuous The file indicated by the file number up to the directory entry immediately preceding the directory entry having the continuous recording information indicating the beginning of the next continuous is managed as a group of continuous files, and even if it is a predetermined file already recorded ,By changing the order of the file numbers recorded in the directory entryThe file can be inserted and edited in a set of continuously recorded files.
[0009]
A recording medium according to the present invention includes a directory entry including a file having a file number and continuous recording information indicating whether the file number and the file are continuously recorded as a group of files and indicating whether the file is the first in a series for each file. A directory having continuous recording information indicating the beginning of the next sequence from the file number of the directory entry having continuous recording information indicating the beginning of the sequence based on the continuous recording information of the one directory. The file indicated by the file number up to the directory entry immediately before the entry is managed as a group of continuous files, even if it is a predetermined file already recorded,By changing the order of the file numbers recorded in the directory entryThe file can be inserted and edited in a set of continuously recorded files.
[0010]
A file management system according to the present invention includes a file having a directory number including a file having a file number and continuous recording information indicating whether the file number and the file are continuously recorded as a group of files and whether the file is the first in a series. A recording medium for recording a directory included in each, a storage means for storing a file and a directory read from the recording medium, and a file or directory indicated by a file number of a directory entry of one stored directory And a file management apparatus having management means for managing so as to be in a hierarchy below one directory, wherein the management means is based on the continuous recording information of the one directory read from the storage means. For each successive directory entry in the current directory Each of the files is managed as a group of continuous files, and the management means, based on the continuous recording information of the one directory read from the storage means, the directory entry having continuous recording information indicating the beginning of the continuous The file indicated by the file number from the file number to the directory entry immediately preceding the directory entry having the continuous recording information indicating the first of the next continuous is managed as a continuous file, and a predetermined record already recorded in the storage means Even a fileBy changing the order of the file numbers recorded in the directory entryThe file can be inserted and edited in a set of continuously recorded files.
[0011]
A file management method according to the present invention includes a file having a directory number including a file having a file number and continuous recording information indicating whether the file number and the file are continuously recorded as a group of files and whether the file is the first in a series. A directory having each is recorded on a recording medium, a file and a directory are read from the recording medium, the read file and directory are stored, and the first of the continuous is based on continuous recording information of one directory. The file indicated by the file number from the file number of the directory entry having continuous record information indicating the directory entry immediately before the directory entry having continuous record information indicating the first of the next continuous is managed as a group of continuous files. , Predetermined files already recorded Even,By changing the order of the file numbers recorded in the directory entryThe file can be inserted and edited in a set of continuously recorded files.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0013]
The present invention is applied to the memory card system 1 having the configuration shown in FIG. The memory card system 1 includes a host computer 10 and a memory card 20.
[0014]
Specifically, as shown in FIG. 1, the host computer 10 includes a hard disk 11 for storing various files such as still images and audio, a directory for managing each file collectively, files from the hard disk 11, etc. Is stored in a RAM (Random Access Memory) 12 and a first serial interface (hereinafter referred to as “first serial I / F”) that transmits and receives data to and from the memory card 20 via three lines. 13 and a CPU (Central Processing Unit) 14 for controlling each circuit. For example, files such as images and sounds stored in the hard disk 11 can be managed by a hierarchical structure using directories.
[0015]
The RAM 12 temporarily stores, for example, a file stored in the hard disk 11, and supplies this file to the first serial I / F 13 via the bus as necessary.
[0016]
The first serial I / F 13 transmits data to the memory card 20 or receives data stored in the memory card 20 via three lines. Specifically, the first serial I / F 13 transmits a serial clock SCK for transmitting the control data and file via the first line. The first serial I / F 13 outputs a chip select signal CS indicating the current state in response to switching of serial data such as a file or control data on the first line via the second line. . Further, the first serial I / F 13 transmits a file and control data to be written to the memory card 20 and receives a file read from the memory card 20 via the third line.
[0017]
The CPU 14 controls reading of files from the RAM 12 and the hard disk 11, writing of files to the RAM 12, etc., and control of transmission / reception of files with the memory card 20. For example, the CPU 14 issues a register instruction for determining whether or not the write protection of an erroneous erasure prevention switch (not shown) of the memory card 20 is turned on, or designates an address to the memory card 20 to specify a predetermined file. Issue a write command.
[0018]
As shown in FIG. 1, the memory card 20 includes a second serial I / F 21 that serially transmits and receives files and control data from the host computer 10, a flash memory 22 that stores files and directories, And a controller 23 that controls reading or writing of a file or the like stored in the flash memory 22.
[0019]
The flash memory 22 is, for example, of the NAND type, and stores the file transmitted from the host computer 10 by dividing it into blocks (for example, 8 kbytes or 16 kbytes) as erase units, as shown in FIG. To do. Each block 0, 1, 2,..., N is composed of one page (= 512 bytes + 16 bytes) composed of a data area for storing 512 bytes of files and the like and a 16-byte redundant area. In the redundant area, distributed management information for managing data in the data area of the block is stored. When these pieces of distributed management information are collected, set management information (set management file) is configured. The collective management file is composed of several blocks, and collectively manages the data recording state of all the blocks. For example, a part of the distributed management information of each block in the flash memory 22 is collectively managed. A bitmap table is provided.
[0020]
Here, the file includes a user file format used for images and sounds, and a system file format for system management. A predetermined logical address is assigned to each file, and the flash memory 22 has a predetermined logical address. Stored in the data area of one or more blocks.
[0021]
As shown in FIG. 3, the user file format file is composed of a 512-byte header portion which is attribute information of the file and a data portion which is main information. The header portion is a 128-byte OS header that is information for managing the file in the memory card 20 and a general-purpose one that can be handled by a normal personal computer or the like, and 240 bytes that are indispensable management information. File header and a 144-byte entry area. The data portion has a table data area and four entry data. In the data section shown in FIG. 3 described above, up to four entry data are stored. That is, a user file format file is composed of a maximum of four entry data. In FIG. 3, the entry data includes an index, image data, and two auxiliary data. However, the entry data is not particularly limited, and may be other audio data.
[0022]
Specifically, as shown in FIG. 4, the OS header includes “file ID” (2 bytes), “file version” (2 bytes), “file size” (4 bytes), “number of used blocks” (2 Byte), “Number of links” (1 byte), “Date” (8 bytes), “Manufacturer / model code” (4 bytes), “Initial registration directory number” (2 bytes), “Application category” (1 byte) , “File name” (11 bytes), “keyword registration number” (1 byte), “keyword character code” (1 byte), “keyword character string” (32 bytes), “0 reset reserve” (4 bytes), It has “individual data” (32 bytes) and an unused area “reserve”.
[0023]
“File ID” represents the type (use) of the file, and the same applies to the file header. “File version” indicates a so-called version number, and is used to determine whether the host computer 10 or the memory card 20 can process this file. “File size” indicates the total size of the file including the header portion and the data portion in bytes. The “number of used blocks” indicates the number of blocks using the file in the flash memory 22. “Number of links” indicates the number of directories or files referring to the file. Note that the “number of links” includes the directory to which the file belongs. For example, since a file that is not referenced from another directory is linked only to the directory to which the file belongs, the “number of links” is 1. “Date” indicates the date when the file was created or updated. The “manufacturer / type code” indicates the manufacturer name and model of the device that has written the file to the memory card 20. The “initial registration directory number” indicates the directory number registered first, and is not updated even when the file moves to another directory. “Application category” indicates a category of an application in which this file is used. The “file name” is a file name used when the host computer 10 manages the file, and is not particularly used in the memory card 20. “Number of registered keywords” indicates the number of registered keywords. The “keyword character code” indicates the character code of the keyword. A “keyword character string” can be specified by determining a keyword and a separator. “0 reset reserve” is always set to 0 when rewriting. “Individual data” is for management for each file ID, and is data used for a purpose determined by the file ID, for example, and can be used freely by the user.
[0024]
Specifically, the file header includes “standard identification data” (8 bytes), “file standard identification data” (8 bytes), “file ID” (2 bytes), “file version” as shown in FIG. (2 bytes), “application creation date” (8 bytes), “application update date” (8 bytes), “creation manufacturer / model code” (4 bytes), “update manufacturer / model code” (4 bytes), “ 0 reset reserve (16 bytes), “number of data entries” (1 byte), “number of tables” (1 byte), “character code” (1 byte), “title character string” (128 bytes), and unused It has the area “Reserve”.
[0025]
“Standard identification data” indicates that the flash memory 22 stores a file in accordance with a predetermined standard. “File standard identification data” indicates that the file is created in accordance with the predetermined standard. “File ID” represents the type of file, and the OS header has the same thing. “File version” indicates a version number. The “application creation date” indicates the date when the application is created, and the “application update date” indicates the date when the application is updated. “Created manufacturer / type code” indicates the manufacturer that created the file and the model name thereof, and “Updated manufacturer / type code” indicates the manufacturer that updated the file and the model name thereof. The “number of data entries” indicates the number of entry data described later. “Number of tables” indicates the number of data in the table data area. “Character code” indicates an input character by a predetermined code number. The “title character string” indicates a title character.
[0026]
In the entry area, data (hereinafter referred to as “entries”) for managing the four entry data of the data part is stored.
[0027]
Each entry in the entry area is provided corresponding to four entry data. As shown in FIG. 5, for each of the four entry data, “start address” (4 bytes), “data size” (4 bytes) ), “Data type ID” (1 byte), “reserve” (1 byte), and “individual data” (26 bytes). For example, “start address” of entry 1 indicates the top logical address of “entry data 1 index” shown in FIG. 3, and “start address” of entry 2 indicates the top logical address of “entry data 2 image data”.
[0028]
On the other hand, as a file in the system file format, for example, a directory file is applicable, and the configuration of the header portion is different from that in the user file format.
[0029]
Here, one directory is composed of one file, that is, one directory file, and has a maximum size of 8 kbytes. A directory file is composed of a header part and a data part, and each file is managed mainly by directory information in the header part and a directory entry list in the data part.
[0030]
As shown in FIG. 6, the header portion of the directory file includes “OS header” (128 bytes), “file header” (240 bytes), “system entry area” (48 bytes), “directory information” (96 bytes). ). The “OS header” and “file header” are the same as those in the user file format described above.
[0031]
The “system entry area” is almost the same as that in the user file format, but individual data is not provided for each entry. Specifically, as shown in FIG. 7, for each entry, “start address” (4 bytes), “data size” (4 bytes), “data type ID” (1 byte), “reserve” (3 bytes) ) For example, the “start address” of one entry indicates the start logical address of group information described later, and the “start address” of the other entry indicates the start logical address of a directory entry described later.
[0032]
“Directory information” manages directory information. As shown in FIG. 8, “directory ID” (2 bytes), “target file ID” (1 byte), “number of groups” (1 byte). , “Parent directory” (2 bytes), “Number of directories” (2 bytes), “Number of files (all files)” (2 bytes), “Number of target files” (2 bytes), “Access point” (2 bytes) , “Number of directory entries” (2 bytes), “Number of directory entries for system” (2 bytes), “Number of used system directory entries” (2 bytes), “Number of reserved blocks” (2 bytes), “Number of used blocks” (2 bytes) and an unused area “reserve” (72 bytes).
[0033]
“Directory ID” represents the type of directory, and “Target file ID” represents a target file ID. That is, they do not indicate the name of the directory itself or the file itself, but indicate the use of, for example, images and audio. The “target file ID” describes the upper 1 byte of the “file ID” of the target file in the directory. Thereby, the file ID for identifying by the “target flag” can be designated. If only the “target file ID” is changed, the file type of the directory can be easily changed. “Number of groups” is the number of registered groups when a plurality of files in the directory are grouped. “Parent directory” indicates the parent directory, that is, the directory number of the hierarchy one level higher. “Number of directories” indicates the total number of directories included, and “Number of files (all files)” indicates the number of all files included in the directory. The “number of target files” indicates the number of files that can be handled in the directory, that is, the number of target files included. The “access point” indicates a directory entry to be accessed first when access to the directory is started. “Number of directory entries” indicates the number of directory entries in the user area described later. “Number of system directory entries” indicates the number of directory entries in the system directory area. Specifically, as shown in FIG. 9, each directory file is provided with a system directory area and a user area. These areas can be set for each directory. The system directory area is an area for handling special files necessary for the system such as management files, and the area is fixed by a directory entry. That is, the first to predetermined directory entries correspond to the system directory area, and the other directory entries correspond to the user area. Therefore, the “number of system directory entries” indicates the number of directory entries for the system. The root directory has 256 system directories. On the other hand, in the user area, the directory entries are arranged without a gap from the start position of the area. The “number of used system directory entries” indicates the number of directory entries actually used in the system directory area. “Number of secured blocks” indicates the number of blocks of the flash memory 22 that the application wants to secure, and “Number of used blocks” indicates the number of blocks used by the application.
[0034]
The data portion of the directory file has “group information” (variable length) as entry data 1 and “directory entry list” (variable length) as entry data 2, as shown in FIG.
[0035]
As shown in FIG. 10, “group information” includes “group number” (1 byte), “group information size” (1 byte), “directory ID” (2 bytes), “0 reset reserve” (1 byte). , “Reserve” (3 bytes), “Date” (8 bytes), “Individual data” (8 bytes), “Title” (variable length).
[0036]
“Group information” is information for grouping desired files in a directory. As will be described in detail later, a pseudo directory is substantially provided in a hierarchy below the directory. “Group information size” indicates the size of group information, and is a fixed length of 24 bytes + an arbitrary number of bytes of “title”. “Directory ID” is an ID assigned to each directory type, and “0 reset reserve” is always set to 0 when correction is made. “Reserve” is set to 0 when the file is created. “Date” indicates the creation date of the file, which can be changed by the user. “Individual data” is not particularly defined, and “title” indicates the title of the directory file.
[0037]
The “directory entry list” indicates elements belonging to the directory, and as shown in FIG. 11, a plurality of directory entries are collected. One directory entry is 4 bytes. The directory entry is composed of “file number” (2 bytes), “attribute information” (1 byte), and “group number” (1 byte).
[0038]
As shown in FIG. 12, “file number” has “0” in the first bit in 2 bytes, and the remaining 15 bits indicate the head logical address of the file or directory. When “0xffff” is indicated, it means that it is not used.
[0039]
As shown in FIG. 13, the “attribute information” includes “directory / file” (1 bit), “target flag” (1 bit), “mark 1” (1 bit), “mark 2” (1 bit), It has “continuous recording” (2 bits) and “reserve” (2 bits) information. “Directory / file” indicates that there is a directory under the directory when the directory is 1, and indicates that there is a file when the directory is 0. The “target flag” indicates that the file has the target file ID specified by the above-described directory information when it is 1, and indicates that the file is other than that when it is 0. For example, it is used when determining whether the file is an image or a file other than an image. “Mark 1” indicates that the mark 1 is specified when the mark is 1, and indicates that there is no such specification when the mark is 0. “Mark 2” is the same as “Mark 1”. “Mark 1” and “Mark 2” are marking flags that can be specified by the user. “Continuous recording” is used to indicate a continuous set of something such as continuous shooting or simple video. This continuous recording requires that directory entries are adjacent to each other, that is, files are continuous. Specifically, “00” indicates a normal file, “11” indicates the head of a continuous file, and “10” indicates a continuously designated file. For example, in FIG. 14, each 2-bit number indicates the “continuous recording” value of the file indicated by each directory entry. For example, files 2 to 5 and files 6 to 9 are continuously recorded. Each file collected as a continuous record needs to have the same “group number” with the directory entries of the parent directory being continuous. Then, by having 2-bit information for each file, a group of files in the directory can be identified as being continuously recorded. A description when one of the continuously recorded files is deleted or a new file is inserted will be described later.
[0040]
As shown in FIG. 15, the “group number” is a group number indicated by 8 bits and indicating a one-layer pseudo directory. Thereby, files having the same group number in the same directory are handled as one group. Note that the file with the group number 0 is not grouped at all, and is handled as a file directly under the directory.
[0041]
Here, it is assumed that nine files 1 to 9 exist in the same directory. Further, files 1, 5 and 7 belong to group 1, files 2 and 4 belong to group 2, files 3 and 6 belong to group 3, and files 8 and 9 belong to group 0.
[0042]
At this time, as shown in FIG. 16, group 1 to group 3 are located in a hierarchy below the directory and play a pseudo role as directories. The files 8 and 9 belonging to the group 0 are handled as those directly under the directory.
[0043]
That is, by providing a “group number” of only 1 byte per entry, it is possible to exhibit a group function in which a directory is further provided under the parent directory. Further, since group information may be provided in the directory file, each group can be given a name, and the group function has a function comparable to a normal directory.
[0044]
For example, as shown in FIG. 17, each group may not be handled like a pseudo directory, but may be handled simply as indicating a file having a group relationship.
[0045]
Further, the grouping function as shown in FIGS. 16 and 17 is compatible between a host computer that can handle groups and a host computer that cannot handle groups. That is, a file or directory stored in a host computer having a grouping function (hereinafter referred to as “host computer 10A”) is transmitted to a host computer having no grouping function (hereinafter referred to as “host computer 10B”). However, no problem occurs. Such compatibility will be described below by taking the case of a “camera directory” whose usage is a camera. The host computer 10A has a function of rearranging the directory entries in the directory entry list shown in FIG. 11 and a host computer 10A that does not have the function, and each will be described.
[0046]
For example, as shown in FIG. 18A, it is assumed that there are nine files 1 to 9 in the camera directory, and each file is classified into group 0 to group 3. Files 1, 5 and 7 are classified as group 1 as family photos, files 2 and 4 are classified as group 2 as hobby photos, files 3 and 6 are classified as group 3 as company relationships, and files 8 and 9 Are classified into group 0 as unclassified. Group 0 is handled as being directly under the camera directory. At this time, in the directory entry list shown in FIG. 11, the directory entries are arranged in the order of file 1, file 2, file 3,. That is, in the directory entry list, the directory entries of each file are arranged in the order shown in FIG.
[0047]
Here, in the host computer 10A, the CPU 14 can rearrange the directory entries as shown in FIG. 18B with respect to the directory file for the camera directory stored in the RAM 12. That is, the CPU 14 rearranges the directory entries so that the same group is continuously arranged in the directory entry. As a result, as shown in FIG. 19, the files 1 to 9 are grouped and arranged for each group such as a family photo or a hobby photo.
[0048]
Then, when the host computer 10A transmits the directory file of the camera directory and the files 1 to 9 to the host computer 10B, the host computer 10B moves to the hierarchy below the camera directory as shown in FIG. Arrange the files. Specifically, since the host computer 10B arranges the files in accordance with the arrangement of the directory entries in the directory file for the camera directory, each file can be arranged in the same order as the arrangement order of the files in the host computer 10A. Therefore, each file is also arranged in a group in the host computer 10B.
[0049]
As described above, when the host computer 10A has a grouping function and has a function of rearranging the directory entry list for each group, the host computer 10B that does not have the grouping function also performs grouping to store each file. Can be lined up.
[0050]
On the other hand, even in the host computer 10A that does not have the function of rearranging the directory entries for each group, the files in the camera directory can be grouped as shown in FIG.
[0051]
However, when the host computer 10A transmits the directory file for the camera directory and the files 1 to 9 to the host computer 10B, the host computer 10B arranges the files as they are as shown in FIG. That is, the host computer 10B arranges the files in accordance with the arrangement of directory entries in the directory file for the camera directory, and arranges the files in the order of files 1, 2, 3,.
[0052]
In the memory card system 1 configured as described above, the CPU 14 of the host computer 10 causes the directory file of the root directory of the logical address 0 (hereinafter referred to as “root directory file”) from the flash memory 22 of the memory card 20 and others. Each file can be managed by reading out the directory file and the header portion of the necessary file. Specifically, when the start-up is started, the CPU 14 starts the process of step S1 shown in FIG.
[0053]
In step S <b> 1, the CPU 14 transmits a command for instructing reading of the file having the logical address 0 to the memory card 20 via the first serial I / F 13. In the memory card 20, the controller 23 reads the file at the logical address 0 from the flash memory 22 in accordance with the above command, and transmits it to the host computer 10 via the second serial I / F 21. The CPU 14 stores the file received by the first serial I / F 13 in the RAM 12, checks whether this is the root directory file, and proceeds to step S2.
[0054]
In step S2, it is determined whether the root directory file exists in the flash memory 22. If it exists, the process proceeds to step S3, and if it does not exist, the process proceeds to step S7.
[0055]
In step S3, its own application directory is checked, and the process proceeds to step S4. For example, if the host computer 10 is a camera device having an imaging unit (not shown), it is checked whether a “camera” directory exists at a predetermined position in the root directory. If it exists, it is found that the memory card 20 is used in a camera device, and the process of step S4 and step S5 described later is performed. That is, in the root directory, a directory determined for each application category is provided. For example, in the case of a camera, a directory called “camera” is provided at a predetermined position.
[0056]
In step S4, it is determined whether or not its own application directory, for example, the “camera” directory exists. If it exists, the process proceeds to step S5, and if it does not exist, the process proceeds to step S9.
[0057]
In step S5, the contents of the application directory are read out, and the process proceeds to step S6.
[0058]
In step S6, the directory entry of the directory file in the application directory is checked, the files necessary for the application such as the album image list and the music list are accessed, and the application process is started.
[0059]
On the other hand, in step S7 when it is determined in step S2 that the root directory file does not exist, it is determined whether or not a root directory file is to be created. If it is to be created, the process proceeds to step S8. Here, the case where the root directory is not created corresponds to the case where the memory card 20 is write-protected, for example.
[0060]
In step S8, a root directory file of logical address 0 is created, and the process proceeds to step S9.
[0061]
In step S9, it is determined whether or not to create its own application directory. If it is to be created, the process proceeds to step S10. If it is not to be created, this process is stopped. That is, when there is no “camera” directory, it is necessary to create a “camera” directory as in the process of step S10 described later, or to suspend the process and replace the memory card 20 by the user. .
[0062]
In step S10, an application directory is created in the root directory file, and the process proceeds to step S5. Then, the processing of the application is started through the processing of step S5 and step S6.
[0063]
As described above, for example, when starting up the host computer 10 having an imaging unit (not shown), after first confirming the existence of the root directory, a predetermined application directory, in this case, the “camera” directory is checked. , Processing the contents of that directory.
[0064]
Next, the operation of the CPU 14 when performing directory creation processing will be described. When the creation of the directory file is instructed, the CPU 14 of the host computer 10 starts the process of step S11 shown in FIG.
[0065]
In step S11, the CPU 14 checks a free logical address and proceeds to step S12.
[0066]
In step S12, it is determined whether there is a free logical address. If there is no space, an error occurs because a directory cannot be created. If there is a space, the process proceeds to step S13.
[0067]
In step S13, the directory information of the directory file to be created is set to an initial value. Further, when all directory entries are initialized and group information is prepared, all the areas are cleared, and the process proceeds to step S14.
[0068]
In step S14, it is checked whether each block in the flash memory 22 included in the memory card 20 has a capacity that can store a directory file, and the process proceeds to step S15.
[0069]
In step S15, it is determined whether there is a vacancy in the block. If there is no vacancy, an error occurs. If there is a vacancy, the process proceeds to step S16.
[0070]
In step S16, the CPU 14 transmits to the memory card 20 a command for writing the contents together with the directory file, and the process proceeds to step S17. At this time, in the memory card 20, the controller 23 writes the directory file into the flash memory 22 in accordance with the above command.
[0071]
In step S17, the bitmap table of the set management file stored in the RAM 12 is updated, and the process proceeds to step S18.
[0072]
In step S18, the created directory is registered in the parent directory that is one level above the created directory, and the process proceeds to step S19. For example, in the directory file of the parent directory, the “directory number” of the directory information is updated, or a directory entry related to the created directory is created.
[0073]
In step S19, the CPU 14 transmits a command for instructing the update of the collective management file to the memory card 20 at a good timing such as when a predetermined calculation process is completed, and ends the process. At this time, in the memory card 20, the controller 23 writes the updated portion of the set management file to the flash memory 22 in accordance with the command.
[0074]
As described above, when creating a directory, a logical address having a free space is attached instead of creating a directory name.
[0075]
Next, the operation of the CPU 14 when creating a file and registering it in its parent directory will be described. When the CPU 14 of the host computer 10 is instructed to create a file, it starts the processing of step S21 shown in FIG.
[0076]
In step S21, the CPU 14 checks whether there is a space in the directory entry of the parent directory of the newly created file, and proceeds to step S22.
[0077]
In step S22, it is determined whether or not there is a directory entry space in the parent directory. If there is space, the process proceeds to step S23. If there is no space, an error occurs and the file registration process in the directory is stopped.
[0078]
In step S23, a header portion of the file to be created is created and stored in the RAM 12, and the process proceeds to step S24.
[0079]
In step S24, a command instructing to write the file in each block is transmitted to the memory card 20, and the process proceeds to step S25. Therefore, in the memory card 20, the controller 23 writes a new file in the flash memory 22 according to this command. When writing the file to two or more blocks, a concatenated address indicating a concatenated state between the blocks is written as distribution management information for each block.
[0080]
In step S25, it is determined whether or not the writing of the file to the flash memory 22 is completed. If the writing is completed, the process proceeds to step S26. If the writing cannot be performed, an error occurs and registration of the file in the directory is stopped. To do.
[0081]
In step S26, the CPU 14 writes the first logical address of the file in a free directory entry for the directory file of the parent directory of the file. Further, “group number” and “attribute information” are written in this directory entry as necessary, and the process proceeds to step S27.
[0082]
In step S27, the directory information of the directory file is updated, and the process proceeds to step S28.
[0083]
In step S28, the CPU 14 transmits a command for instructing the writing of the directory file to the memory card 20, and ends the process. At this time, in the memory card 20, the controller 23 writes the directory file into the flash memory 22 in accordance with the above command.
[0084]
As described above, when registering a file in a directory, instead of registering the file name in the directory, register a 4-byte directory entry consisting of the file number (first logical address), attribute information, and group number. ing. As a result, it is possible to prevent a large amount of information from being concentrated in the directory, and even when a large number of files are registered, the amount of information in the directory is prevented from being excessively increased, and the data in the flash memory 22 is prevented. The recording area can be used effectively.
[0085]
Next, the operation of the CPU 14 when examining whether a file is suitable for the usage of its parent directory, that is, when examining the usage of the file by the “target flag” shown in FIG. The CPU 14 of the host computer 10 starts the process of step S31 shown in FIG. 25 when an instruction to investigate the usage of a file belonging to a certain directory is issued.
[0086]
In step S31, the CPU 14 checks the “target flag” of the usage information of the directory entry to be checked against the directory file of the parent directory, and proceeds to step S32.
[0087]
In step S32, it is determined whether or not the “target flag” is “1”. When it is “1”, the process proceeds to step S33, and when it is not “1”, the process proceeds to step S34.
[0088]
In step S33, since the file indicated by the “target flag” matches the usage of the directory, the CPU 14 performs predetermined processing on the file.
[0089]
In step S34, since the file indicated by the “target flag” does not match the usage of the directory, the CPU 14 regards this file as not being processed and ends the processing.
[0090]
In this way, the CPU 14 can easily determine whether the usage of the file and its parent directory matches by simply looking at the 1-bit “target flag”, and can access a predetermined file at high speed. Can do.
[0091]
If there is no “target flag”, the CPU 14 starts the process of step S41 shown in FIG.
[0092]
In step S41, the CPU 14 checks the “file number” of the directory entry to be checked with respect to the directory file of the parent directory, and proceeds to step S42.
[0093]
In step S 42, an instruction to read only the header portion of the file indicated by “file number”, that is, the head logical address is transmitted to the memory card 20, and the header portion data transmitted from the memory card 20 is stored in the RAM 12. Then, the process proceeds to step S43.
[0094]
In step S43, the read “file ID” of the header part is compared with the “target file ID” shown in FIG. 8 of the directory information of the parent directory, and the process proceeds to step S44.
[0095]
In step S44, it is determined whether or not the upper 1 byte of the read “file ID” matches the “target file ID”. If they match, the process proceeds to step S45, and if they do not match, the process proceeds to step S46.
[0096]
In step S45, since this file matches the usage of the directory, the CPU 14 performs a predetermined process on this file.
[0097]
In step S46, since this file does not match the purpose of the directory, the CPU 14 regards this file as not subject to processing and ends the processing.
[0098]
In this way, the CPU 14 can determine whether the usage of the file and its parent directory match even when there is no “target flag”.
[0099]
Next, the processing of the CPU when reading the nth image file in the directory will be described. When the CPU 14 of the host computer 10 is instructed to read the nth image file, it starts the process of step S51 shown in FIG.
[0100]
In step S <b> 51, the CPU 14 transmits a command for reading a target directory file to the controller 23 of the memory card 20. Specifically, a command for reading data from the block corresponding to the specified logical address is transmitted, and the process proceeds to step S52.
[0101]
In step S <b> 52, the controller 23 reads data from the block in which the target directory file is stored from the flash memory 22 and transmits the data to the host computer 10. In the host computer 10, the CPU 14 stores the transmitted data in the RAM 12, stores the directory information, group information, directory entry list, and the like shown in FIG. 6, and proceeds to step S53.
[0102]
In step S53, the process goes to the first directory entry of the user area in the directory entry list shown in FIG. 9 of the directory file, and the process proceeds to step S54.
[0103]
In step S54, the “target flag” shown in FIG. 13 of the directory entry is checked, and the process proceeds to step S55.
[0104]
In step S55, the CPU 14 determines whether the file indicated by the first directory entry is an image or an image based on the “target flag”. If the file is an image, the process proceeds to step S56; Proceed to S61.
[0105]
In step S56, it is determined whether the file number indicated by the directory entry is the designated file number n. If it is the designated file number, the process proceeds to step S57. If not, the process proceeds to step S60.
[0106]
In step S57, the CPU 14 performs a process for acquiring the file number and proceeds to step S58.
[0107]
In step S <b> 58, the CPU 14 transmits a command for reading the 512-byte header portion of the file to the memory card 20 based on the acquired file number (first logical address). Then, the CPU 14 checks the “start address” and “data size” of each entry data such as an index and an image based on the entry list of the header part transmitted from the memory card 20, and proceeds to step S59.
[0108]
In step S <b> 59, the CPU 14 transmits a command for reading each entry data such as an index and an image to the memory card 20 based on the “start address” and “data size”. In the memory card 20, the controller 23 reads each entry data according to the command and transmits it to the host computer 10. When entry data is stored in a plurality of blocks, the entry data is read from each block based on the “concatenated address”.
[0109]
On the other hand, in step S60 when it is determined in step S56 that the file number indicated by the directory entry is not the target file number n, the CPU 14 increments the number of directory entries by one and proceeds to step S61.
[0110]
In step S61, the CPU 14 proceeds to the processing of the next directory entry and proceeds to step S62.
[0111]
In step S62, the CPU 14 determines whether or not the processing of the last directory entry has been completed. When it is determined that the processing has ended, the CPU 14 ends the series of processing assuming that there is no corresponding file, and returns to step S54 if not. The next directory entry in step S61 is processed.
[0112]
As described above, in the memory card system 1, the host computer 10 can read a desired file from the flash memory 22 without providing a file name for each file. Specifically, the CPU 14 of the host computer 10 checks the directory entry list provided in each directory in order. When a directory entry indicating a desired file is found, a command for reading the desired file is transmitted to the memory card 20 in accordance with the logical address indicated by the directory entry, and a file reading process is performed. This eliminates the need for character string processing using file names and directory names, so that it is not necessary to provide an area for storing character strings in each directory. The directory management area is reduced, and more data is stored in the flash memory 22. It can be memorized.
[0113]
Next, the processing of the CPU when deleting the nth image file in the directory will be described. When an instruction to delete the nth image file is issued, the CPU 14 of the host computer 10 starts the process of step S71 shown in FIG.
[0114]
In step S <b> 71, the CPU 14 transmits a command for reading a target directory file to the controller 23 of the memory card 20. Specifically, a command for reading the block corresponding to the logical address of the designated number is transmitted, and the process proceeds to step S72.
[0115]
In step S <b> 72, the controller 23 reads data from the block in which the target directory file is stored from the flash memory 22 and transmits the data to the host computer 10. In the host computer 10, the CPU 14 stores the transmitted data in the RAM 12, and proceeds to step S73. Therefore, the RAM 12 stores the directory information, group information, directory entry list, and the like shown in FIG.
[0116]
In step S73, the process goes to the first directory entry of the user area in the directory entry list shown in FIG. 9 of the directory file, and the process proceeds to step S74.
[0117]
In step S74, the “target flag” shown in FIG. 13 of the directory entry is checked, and the process proceeds to step S75.
[0118]
In step S75, based on the “target flag”, the CPU 14 determines whether the file indicated by the first directory entry is an image or an image. If the file is an image, the process proceeds to step S76. Proceed to S83.
[0119]
In step S76, it is determined whether the file number indicated by the directory entry is the designated file number n. If it is the designated file number, the process proceeds to step S77, and if not, the process proceeds to step S82.
[0120]
In step S77, the CPU 14 performs a process for acquiring the file number and proceeds to step S78.
[0121]
In step S78, the CPU 14 transmits a command indicating the file deletion process of the designated file number to the memory card 20, and proceeds to step S79. On the other hand, in the memory card 20, the controller 23 clears the block in which the file specified in accordance with the command is stored.
[0122]
In step S79, the CPU 14 deletes the directory entry related to the deleted file from the directory entry list of the target directory. At this time, the CPU 14 updates the directory entry list by closing the deleted directory entry, and proceeds to step S80.
[0123]
In step S80, the CPU 14 performs a directory information update process as the directory entry is deleted. For example, “number of files (all files)”, “number of target files”, “number of directory entries”, and the like are updated, and the process proceeds to step S81.
[0124]
In step S81, since the directory entry list and directory information constituting the header portion of the directory file have been changed as described above, the CPU 14 sends a command to the memory card 20 indicating that a new header portion of the directory file is to be written. Send. In the memory card 20, the controller 23 updates the directory file header part to the flash memory 22 according to the command.
[0125]
On the other hand, in step S82 when it is determined in step S76 that the file number indicated by the directory entry is not the target file number n, the CPU 14 increments the number of directory entries by one and proceeds to step S83.
[0126]
In step S83, the CPU 14 proceeds to the next order of directory entry processing and proceeds to step S84.
[0127]
In step S84, the CPU 14 determines whether or not the process of the last directory entry has been completed. When it is determined that the process has ended, the CPU 14 ends the series of processes assuming that there is no corresponding file. Returning to step S74, the next directory entry in step S83 is processed.
[0128]
As described above, in the memory card system 1, the host computer 10 can delete a desired file stored in the flash memory 22 even if the file name is not provided for each file. That is, the CPU 14 of the host computer 10 searches a directory entry list provided in each directory in order to find a directory entry indicating a desired file, and issues a command to delete the desired file according to the logical address of the memory card 20. Send to. As a result, the file stored in the flash memory 22 is deleted. This eliminates the need for character string processing using file names and directory names, so that it is not necessary to provide an area for storing character strings in each directory, and the directory management area is reduced to store more data in the flash memory 22. Can be made.
[0129]
Next, the processing of the CPU when deleting a directory will be described. When the directory to be deleted is designated, the CPU 14 of the host computer 10 starts the process of step S91 shown in FIG.
[0130]
In step S91, the CPU 14 transmits to the memory card 20 a command for reading the directory file of the directory designated for deletion from the flash memory 22, and the process proceeds to step S92. In the memory card 20, the controller 23 reads a directory file from the flash memory 22 based on the command, and transmits it to the host computer 10 via the second serial I / F 21.
[0131]
In step S92, the CPU 14 stores the directory file from the memory card 20 in the RAM 12, examines each directory entry in the directory entry list, and proceeds to step S93.
[0132]
In step S93, the CPU 14 determines whether there is a directory entry that designates a file or directory, that is, whether a file or other directory exists in the lower layer. If there is a directory entry that designates a file or the like, it is determined that an error has occurred, and the deletion process of this directory is terminated. If not, the process proceeds to step S94. In step S94, the CPU 14 determines the directory to be deleted. Is transmitted to the memory card 20, and the process proceeds to step S95.
[0133]
In step S95, the controller 23 of the memory card 20 erases the data in the block of the flash memory 22 storing the directory file to be deleted, and proceeds to step S96. Note that the “erased” flag may be set in the distribution management information of the block, and the data in the block may be erased after a predetermined process is completed.
[0134]
In step S96, it is determined whether or not the erasure has been completed normally. If the erasure has been completed normally, the process proceeds to step S97. If the erasure has not been completed normally, it is determined that an error has occurred and the directory deletion process is stopped.
[0135]
In step S97, the CPU 14 updates the portion of the set management file stored in the RAM 12 that has changed due to directory deletion, and proceeds to step S98.
[0136]
In step S98, the CPU 14 transmits the collective management file to the memory card 20 and a command for instructing to write the file when it is cut off, for example, after completion of the predetermined arithmetic processing. Therefore, in the memory card 20, the controller 23 performs a process of writing the set management file to the flash memory in accordance with the above command.
[0137]
As described above, in the memory card system 1, the host computer 10 can delete a desired directory file stored in the flash memory 22 even if a file name is not provided for each file. That is, even if the directory to be deleted does not have information such as the file name of the file under it, the CPU 14 of the host computer 10 uses the directory entry list provided in the directory to delete the directory under the directory to be deleted. You can check if there are any files. This eliminates the need for character string processing using file names and directory names, so that it is not necessary to provide an area for storing character strings in each directory. The directory management area is reduced, and more data is stored in the flash memory 22. It can be memorized.
[0138]
Next, the operation of the CPU 14 when performing change processing when continuous recording / editing is performed will be described. When the CPU 14 of the host computer 10 is instructed to change the “continuous recording” of the attribute information of the directory entry, it starts the process of step S101 shown in FIG.
[0139]
In step S101, the CPU 14 determines whether or not a deletion process for continuously recorded files has been instructed. If the process is a file deletion process, the process proceeds to step S102, and if the process is not a file deletion process, the process proceeds to step S106.
[0140]
In step S102, the specified file deletion process command is transmitted to the memory card 20 to execute the file deletion process, and the process proceeds to step S103.
[0141]
In step S103, it is determined from the directory entry list of the parent directory whether the “continuous recording” of the directory entry of the deleted file is “11”. When “continuous recording” is “11”, the process proceeds to step S104, and when it is not “11”, the process is terminated.
[0142]
In step S104, it is determined whether the “continuous recording” of the directory entry next to the directory entry of the deleted file is “10”. If it is “10”, the process proceeds to step S105, and if it is not “10”. The process ends.
[0143]
In step S105, the "continuous recording" of the next directory entry is changed to "11", the file indicated by the next directory entry is set to the head of the continuous recording, and the process is terminated.
[0144]
Therefore, as shown in FIG. 14 described above, when files 2 to 5 are continuously recorded, if file 2 is deleted, file 3 is shown as shown in FIG. 31 by the processing of steps S102 to S105. The continuous recording of the directory entry is changed to “11”. That is, only when the first file of continuous recording is deleted and the next file to be deleted is in the middle of continuous recording, the “continuous recording” of the next file is set to “11”. change. As a result, even when continuously recording files are deleted, the continuous recording state of each file that has not been deleted can be maintained.
[0145]
On the other hand, in step S106 when it is determined that the deletion process is not performed in step S101, it is determined whether a new file insertion process is instructed between continuously recorded files. If the file insertion process is performed, the process proceeds to step S110. If it is not a file insertion process, the process proceeds to step S107.
[0146]
In step S107, it is determined whether the group changing process shown in FIG. 19 or the like has been instructed. If the group changing process, the process proceeds to step S108, and if not the group changing process, the process ends.
[0147]
In step S108, the “group number” of the directory entry list indicating the file whose group is to be changed is changed from the directory entry list of the parent directory, and the process proceeds to step S109.
[0148]
In step S109, it is determined whether or not “continuous recording” of the directory entry is “00”. If it is “00”, the process ends. If it is not “00”, the process proceeds to step S104. Then, the processes of steps S104 and S105 described above are performed.
[0149]
Therefore, since the file whose group has been changed is out of the continuous recording state except for the normal file whose “continuous recording” is “00”, if the “continuous recording” of the immediately following file is “10”, The “continuous recording” of the directory entry of the file immediately after that is set to “11”. As a result, the file immediately after the file whose group has been changed can be set to the top of the continuous recording, and the continuous recording state of each file having no group change can be maintained.
[0150]
On the other hand, in step S110 when it is determined in step S106 that the insertion process is to be performed, the file to be inserted is actually inserted, and the process proceeds to step S111.
[0151]
In step S111, it is determined whether the “continuous recording” of the directory entry corresponding to the file next to the inserted file is “10”. If it is “10”, the process proceeds to step S112, and if it is not “10”. Advances to step S113.
[0152]
In step S112, the “continuous recording” of the inserted file is set to “10”, and the process ends.
[0153]
In step S113, the “continuous recording” of the inserted file is set to “00”, and the process ends.
[0154]
For example, in FIG. 14 described above, when the file 5.5 is inserted between the file 5 and the file 6, as shown in FIG. 32, the “continuous recording” of the next file 6 is “11”. By the process of S113, the “continuous recording” of the inserted file becomes “00”. Further, when the file 7.5 is inserted between the file 7 and the file 8, the “continuous recording” of the next file 8 is “10”, and therefore the “continuous recording” of the inserted file is performed by the processing of steps S111 and S112. "Becomes" 10 ".As the continuous recording is changed, the file number is also changed so that the files are continuous.
[0155]
Therefore, when a file is inserted immediately before continuous recording of each file, the file is in a normal state, and when a file is inserted during continuous recording, the file is in a continuous recording state. .
[0156]
As described above in detail, the present invention can read, write and erase files without using file names and directory names, and can manage directories and files with a smaller amount of data. Therefore, it is suitable for recording a file or the like on a recording medium having a relatively small storage capacity such as the flash memory 22.
[0157]
In the present embodiment, a memory card including a flash memory has been described as an example of a recording medium. However, the present invention is not limited to this, and the present invention is not limited to this example, and may be a medium such as a magnetic disk or an optical disk. Of course, it is applicable.
[0158]
【The invention's effect】
According to the file management apparatus and the file management method of the present invention, by providing continuous recording information indicating whether or not each file is the first continuous, a group of continuously recorded files without newly providing a directory. Can recognize if there is. Therefore, it is possible to easily recognize whether the file is a group of files while avoiding the processing burden on the management unit and the increase in the amount of data in the recording medium due to the provision of a new directory.
[0159]
According to the recording medium of the present invention, by recording only continuous recording information indicating whether each file is the first continuous or not, it is recognized whether or not it is a group of files continuously recorded with a smaller amount of data. be able to.
[0160]
According to the file management system and the file management method of the present invention, it is possible to determine whether a group of continuously recorded files by providing continuous recording information indicating whether each file is the first continuous without providing a new directory. You can recognize whether or not. Therefore, it is possible to easily recognize whether or not the file is a group of files with a smaller amount of data while avoiding the processing load of the management unit and the increase in the amount of data in the recording medium due to the provision of a new directory.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a memory card system to which the present invention is applied.
FIG. 2 is a diagram for explaining a configuration of data stored in a flash memory in a memory card of the memory card system.
FIG. 3 is a diagram for explaining a configuration of a user format file stored in the flash memory;
FIG. 4 is a diagram for explaining a configuration of an OS header of the file.
FIG. 5 is a diagram for explaining a configuration of a file header and an entry area of the file.
FIG. 6 is a diagram for explaining the configuration of a directory file.
FIG. 7 is a diagram for explaining a configuration of a system entry area of the directory file.
FIG. 8 is a diagram for explaining a configuration of directory information of the directory file.
FIG. 9 is an explanatory diagram of a system directory area and a user area determined by the directory information.
FIG. 10 is a diagram for explaining a configuration of group information of the directory file.
FIG. 11 is a diagram for explaining the configuration of a directory entry list of the directory file.
FIG. 12 is a diagram for explaining the file number of each directory entry.
FIG. 13 is a diagram for explaining attribute information of each directory entry.
FIG. 14 is an explanatory diagram of a state of continuous recording of each file.
FIG. 15 is a diagram for explaining a group number of each directory entry;
FIG. 16 is a diagram for explaining handling of groups in a directory;
FIG. 17 is a diagram for explaining handling of groups in a directory;
FIG. 18 is a diagram illustrating a relationship between each file and a group.
FIG. 19 is an explanatory diagram of a hierarchical structure when a group is supported.
FIG. 20 is an explanatory diagram of a hierarchical structure when a group is not supported.
FIG. 21 is an explanatory diagram of a hierarchical structure when a group is not supported.
FIG. 22 is a flowchart showing processing when starting up an application;
FIG. 23 is a flowchart showing processing when a directory is created.
FIG. 24 is a flowchart showing a process for registering a file.
FIG. 25 is a flowchart showing processing when there is a target flag;
FIG. 26 is a flowchart showing processing when there is no target flag;
FIG. 27 is a flowchart illustrating processing when an image file is read.
FIG. 28 is a flowchart illustrating processing when deleting an image file.
FIG. 29 is a flowchart showing processing when a directory is deleted.
FIG. 30 is a flowchart showing processing when changing the state of continuous recording.
FIG. 31 is a diagram illustrating a state of continuous recording when one file is deleted.
FIG. 32 is a diagram illustrating a state of continuous recording when a file is inserted.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Memory card system, 10 Host computer, 11 Hard disk, 12 RAM, 13 1st serial I / F, 14 CPU, 20 Memory card, 21 2nd serial I / F, 22 Flash memory, 23 Controller

Claims (20)

ファイル番号を有するファイルと、ファイルが一群のファイルとして連続記録されているかを示す連続記録情報からなるディレクトリエントリをファイル毎に有するディレクトリとを記憶する記憶手段と、
記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理する管理手段とを備え、
上記記憶手段は、上記ディレクトリとして、ファイル番号と連続の最初か否かを示す連続記録情報とからなるディレクトリエントリをファイル毎に有するディレクトリとを記憶し、
上記管理手段は、上記記憶手段から読み出した上記一のディレクトリの連続記録情報に基づいて、上記一のディレクトリの連続する各ディレクトリエントリの示す各ファイルを、一群の連続のファイルとして管理し、
上記管理手段は、上記記憶手段から読み出した上記一のディレクトリの連続記録情報に基づいて、連続の最初を示す連続記録情報を有するディレクトリエントリのファイル番号から、次の連続の最初を示す連続記録情報を有するディレクトリエントリの直前のディレクトリエントリまでのファイル番号が示すファイルを、連続のファイルとして管理し、
上記記憶手段に既に記録されている所定のファイルであっても、上記ディレクトリエントリに記録されるファイル番号の順を変更することによって、連続記録されているファイルの集合内に該ファイルを挿入編集可能とすることを特徴とするファイル管理装置。
Storage means for storing a file having a file number and a directory having a directory entry consisting of continuous recording information indicating whether the file is continuously recorded as a group of files;
Management means for managing the file or directory indicated by the file number of the directory entry of one stored directory so as to be in a hierarchy below the one directory;
The storage means stores, as the directory, a directory having a file entry and a directory entry composed of continuous recording information indicating whether or not it is the first of continuous, for each file,
The management means manages each file indicated by each successive directory entry of the one directory as a group of continuous files based on the continuous recording information of the one directory read from the storage means,
The management means, based on the continuous recording information of the one directory read from the storage means, from the file number of the directory entry having the continuous recording information indicating the beginning of the continuous, continuous recording information indicating the beginning of the next continuous Manage the file indicated by the file number up to the directory entry immediately before the directory entry having
Even for a predetermined file already recorded in the storage means, the file can be inserted and edited in a set of continuously recorded files by changing the order of the file numbers recorded in the directory entry. A file management apparatus characterized by the above.
上記記憶手段に既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録の先頭として挿入する際は、該ファイルの連続情報を連続の最初を示す連続記録情報とともに記録することを特徴とする請求項1記載のファイル管理装置。When a predetermined file already recorded in the storage means is inserted into a set of continuously recorded files, when inserting as the beginning of the continuous recording, the continuous information of the file is set to the beginning of the continuous. The file management apparatus according to claim 1, wherein the file management apparatus records information together with the continuous recording information indicated. 上記記憶手段に既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録の途中ファイルとして挿入する際は、該ファイルの連続情報を連続の途中であることを示す連続記録情報とともに記録することを特徴とする請求項1記載のファイル管理装置。When a predetermined file that has already been recorded in the storage means is inserted into a set of continuously recorded files, the continuous information of the file must be stored in the middle of the continuous recording. The file management apparatus according to claim 1, wherein the file management apparatus is recorded together with continuous recording information indicating that 上記記憶手段に既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録を区切るファイルとして挿入する際は、該ファイルの連続情報を連続と無関係であることを示す連続記録情報とともに記録することを特徴とする請求項1記載のファイル管理装置。When a predetermined file already recorded in the storage means is inserted into a set of continuously recorded files, the continuous information of the file is irrelevant to the continuity when it is inserted as a file that delimits the continuous recording. The file management apparatus according to claim 1, wherein the file management apparatus is recorded together with continuous recording information indicating that ファイル番号を有するファイルと、ファイル番号とファイルが一群のファイルとして連続記録されているかを示すと共に連続の最初か否かを示す連続記録情報とからなるディレクトリエントリをファイル毎に有するディレクトリを記憶し、
上記一のディレクトリの連続記録情報を読み出し、
読み出した上記一のディレクトリの連続記録情報に基づいて、連続の最初を示す連続記録情報を有するディレクトリエントリのファイル番号から、次の連続の最初を示す連続記録情報を有するディレクトリエントリの直前のディレクトリエントリまでのファイル番号が示すファイルを、一群の連続のファイルとして管理し、
既に記録されている所定のファイルであっても、上記ディレクトリエントリに記録されるファイル番号の順を変更することによって、連続記録されているファイルの集合内に該ファイルを挿入編集可能とするファイル管理方法。
Storing a directory having a file having a file number and a directory entry for each file including a file number and whether the file is continuously recorded as a group of files and continuous recording information indicating whether the file is the first in a series;
Read the continuous recording information of the above one directory,
Based on the read continuous recording information of the one directory, the directory entry immediately before the directory entry having the continuous recording information indicating the first of the next continuous from the file number of the directory entry having the continuous recording information indicating the first of the continuous Manage the files indicated by the file numbers up to a group of continuous files,
File management that enables the file to be inserted and edited in a set of continuously recorded files by changing the order of the file numbers recorded in the directory entry even if the file is already recorded Method.
上記記憶手段に既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録の先頭として挿入する際は、該ファイルの連続情報を連続の最初を示す連続記録情報とともに記録することを特徴とする請求項5記載のファイル管理方法。When a predetermined file already recorded in the storage means is inserted into a set of continuously recorded files, when inserting as the beginning of the continuous recording, the continuous information of the file is set to the beginning of the continuous. 6. The file management method according to claim 5, wherein recording is performed together with the continuous recording information indicated. 上記既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録の途中ファイルとして挿入する際は、該ファイルの連続情報を連続の途中であることを示す連続記録情報とともに記録することを特徴とする請求項5記載のファイル管理方法。When inserting a predetermined file that has already been recorded into a set of continuously recorded files, the continuous information of the file must be in the middle of the continuous recording when it is inserted as a file in the middle of the continuous recording. 6. The file management method according to claim 5, wherein recording is performed together with continuous recording information indicating. 上記既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録を区切るファイルとして挿入する際は、該ファイルの連続情報を連続と無関係であることを示す連続記録情報とともに記録することを特徴とする請求項5記載のファイル管理方法。When a predetermined file already recorded is inserted into a set of continuously recorded files, the continuous information of the file is irrelevant to the continuity when it is inserted as a file that delimits the continuous recording. 6. The file management method according to claim 5, wherein recording is performed together with continuous recording information indicating. ファイル番号を有するファイルと、ファイル番号とファイルが一群のファイルとして連続記録されているかを示すと共に連続の最初か否かを示す連続記録情報からなるディレクトリエントリをファイル毎に有するディレクトリとを記録し、
上記一のディレクトリの連続記録情報に基づいて、連続の最初を示す連続記録情報を有するディレクトリエントリのファイル番号から、次の連続の最初を示す連続記録情報を有するディレクトリエントリの直前のディレクトリエントリまでのファイル番号が示すファイルを、一群の連続のファイルとして管理し、
既に記録されている所定のファイルであっても、上記ディレクトリエントリに記録されるファイル番号の順を変更することによって、連続記録されているファイルの集合内に該ファイルを挿入編集可能とする記録媒体。
A file having a file number, and a directory having a directory entry for each file indicating whether the file number and the file are continuously recorded as a group of files and continuously recording information indicating whether the file is the first in the sequence,
Based on the continuous recording information of the one directory, from the file number of the directory entry having the continuous recording information indicating the first of the continuous to the directory entry immediately before the directory entry having the continuous recording information indicating the first of the next continuous Manage the file indicated by the file number as a group of continuous files,
A recording medium that can insert and edit a file in a set of continuously recorded files by changing the order of the file numbers recorded in the directory entry, even if the file is already recorded .
上記既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録の先頭として挿入する際は、該ファイルの連続情報が連続の最初を示す連続記録情報とともに記録されることを特徴とする請求項9記載の記録媒体。When a predetermined file already recorded is inserted into a set of continuously recorded files, the continuous recording of the file indicates that the continuous information of the file indicates the beginning of the continuous. The recording medium according to claim 9, wherein the recording medium is recorded together with information. 上記既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録の途中ファイルとして挿入する際は、該ファイルの連続情報が連続の途中であることを示す連続記録情報とともに記録されることを特徴とする請求項9記載の記録媒体。When a predetermined file already recorded is inserted into a set of continuously recorded files, the continuous information of the file must be in the middle of the continuous recording when the file is inserted as a continuous recording file. The recording medium according to claim 9, wherein the recording medium is recorded together with continuous recording information indicating. 上記既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録を区切るファイルとして挿入する際は、該ファイルの連続情報が連続と無関係であることを示す連続記録情報とともに記録されることを特徴とする請求項9記載の記録媒体。When a predetermined file that has already been recorded is inserted into a set of continuously recorded files, the continuous information of the file is not related to continuity when the file is inserted as a file that delimits the continuous recording. The recording medium according to claim 9, wherein the recording medium is recorded together with continuous recording information indicating. ファイル番号を有するファイルと、ファイル番号とファイルが一群のファイルとして連続記録されているかを示すと共に連続の最初か否かを示す連続記録情報からなるディレクトリエントリをファイル毎に有するディレクトリとを記録する記録媒体と、
上記記録媒体から読み出されたファイルとディレクトリとを記憶する記憶手段と、記憶された一のディレクトリのディレクトリエントリのファイル番号が示すファイル又はディレクトリを上記一のディレクトリの下の階層になるように管理する管理手段とを有するファイル管理装置とを備え、
上記管理手段は、上記記憶手段から読み出した上記一のディレクトリの連続記録情報に基づいて、上記一のディレクトリの連続する各ディレクトリエントリの示す各ファイルを、一群の連続のファイルとして管理し、
上記管理手段は、上記記憶手段から読み出した上記一のディレクトリの連続記録情報に基づいて、連続の最初を示す連続記録情報を有するディレクトリエントリのファイル番号から、次の連続の最初を示す連続記録情報を有するディレクトリエントリの直前のディレクトリエントリまでのファイル番号が示すファイルを、連続のファイルとして管理し、
上記記憶手段に既に記録されている所定のファイルであっても、上記ディレクトリエントリに記録されるファイル番号の順を変更することによって、連続記録されているファイルの集合内に該ファイルを挿入編集可能とすることを特徴とするファイル管理システム。
A record for recording a file having a file number and a directory having a directory entry for each file indicating whether the file number and the file are continuously recorded as a group of files and whether or not it is the first of the continuous Medium,
Storage means for storing the file and directory read from the recording medium, and the file or directory indicated by the file number of the directory entry of the stored one directory is managed so as to be a hierarchy below the one directory. And a file management device having management means for
The management means manages each file indicated by each successive directory entry of the one directory as a group of continuous files based on the continuous recording information of the one directory read from the storage means,
The management means, based on the continuous recording information of the one directory read from the storage means, from the file number of the directory entry having the continuous recording information indicating the beginning of the continuous, continuous recording information indicating the beginning of the next continuous Manage the file indicated by the file number up to the directory entry immediately before the directory entry having
Even for a predetermined file already recorded in the storage means, the file can be inserted and edited in a set of continuously recorded files by changing the order of the file numbers recorded in the directory entry. A file management system characterized by:
上記記憶手段に既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録の先頭として挿入する際は、該ファイルの連続情報を連続の最初を示す連続記録情報とともに記録することを特徴とする請求項13記載のファイル管理システム。When a predetermined file already recorded in the storage means is inserted into a set of continuously recorded files, when inserting as the beginning of the continuous recording, the continuous information of the file is set to the beginning of the continuous. 14. The file management system according to claim 13, wherein recording is performed together with the continuous recording information indicated. 上記記憶手段に既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録の途中ファイルとして挿入する際は、該ファイルの連続情報を連続の途中であることを示す連続記録情報とともに記録することを特徴とする請求項13記載のファイル管理システム。When a predetermined file that has already been recorded in the storage means is inserted into a set of continuously recorded files, the continuous information of the file must be stored in the middle of the continuous recording. 14. The file management system according to claim 13, wherein recording is performed together with continuous recording information indicating that 上記記憶手段に既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録を区切るファイルとして挿入する際は、該ファイルの連続情報を連続と無関係であることを示す連続記録情報とともに記録することを特徴とする請求項13記載のファイル管理システム。When a predetermined file already recorded in the storage means is inserted into a set of continuously recorded files, the continuous information of the file is irrelevant to the continuity when it is inserted as a file that delimits the continuous recording. 14. The file management system according to claim 13, wherein recording is performed together with continuous recording information indicating that ファイル番号を有するファイルと、ファイル番号とファイルが一群のファイルとして連続記録されているかを示すと共に連続の最初か否かを示す連続記録情報からなるディレクトリエントリをファイル毎に有するディレクトリとを記録媒体に記録し、
上記記録媒体からファイルとディレクトリとを読み出し、この読み出されたファイルとディレクトリとを記憶し、
一のディレクトリの連続記録情報に基づいて、連続の最初を示す連続記録情報を有するディレクトリエントリのファイル番号から、次の連続の最初を示す連続記録情報を有するディレクトリエントリの直前のディレクトリエントリまでのファイル番号が示すファイルを、一群の連続のファイルとして管理し、
既に記録されている所定のファイルであっても、上記ディレクトリエントリに記録されるファイル番号の順を変更することによって、連続記録されているファイルの集合内に該ファイルを挿入編集可能とするファイル管理方法。
A recording medium includes a file having a file number and a directory having a file entry and a directory entry including continuous recording information indicating whether the file is continuously recorded as a group of files and indicating whether the file is the first in the series or not. Record,
Read a file and directory from the recording medium, store the read file and directory,
A file from a file number of a directory entry having continuous recording information indicating the first of the continuous to a directory entry immediately before the directory entry having continuous recording information indicating the first of the next continuous, based on the continuous recording information of one directory Manage the file indicated by the number as a group of continuous files,
File management that enables the file to be inserted and edited in a set of continuously recorded files by changing the order of the file numbers recorded in the directory entry even if the file is already recorded Method.
上記記憶手段に既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録の先頭として挿入する際は、該ファイルの連続情報を連続の最初を示す連続記録情報とともに記録することを特徴とする請求項17記載のファイル管理方法。When a predetermined file already recorded in the storage means is inserted into a set of continuously recorded files, when inserting as the beginning of the continuous recording, the continuous information of the file is set to the beginning of the continuous. 18. The file management method according to claim 17, wherein recording is performed together with the continuous recording information indicated. 上記既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録の途中ファイルとして挿入する際は、該ファイルの連続情報を連続の途中であることを示す連続記録情報とともに記録することを特徴とする請求項17記載のファイル管理方法。When inserting a predetermined file that has already been recorded into a set of continuously recorded files, the continuous information of the file must be in the middle of the continuous recording when it is inserted as a file in the middle of the continuous recording. 18. The file management method according to claim 17, wherein the file management method is recorded together with the continuous recording information indicating. 上記既に記録されている所定のファイルを、連続記録されているファイルの集合内に挿入する場合に、上記連続記録を区切るファイルとして挿入する際は、該ファイルの連続情報を連続と無関係であることを示す連続記録情報とともに記録することを特徴とする請求項17記載のファイル管理方法。When a predetermined file already recorded is inserted into a set of continuously recorded files, the continuous information of the file is irrelevant to the continuity when it is inserted as a file that delimits the continuous recording. 18. The file management method according to claim 17, wherein the file management method is recorded together with the continuous recording information indicating.
JP28236197A 1997-10-15 1997-10-15 File management apparatus, file management method, recording medium, and file management system Expired - Fee Related JP3620241B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28236197A JP3620241B2 (en) 1997-10-15 1997-10-15 File management apparatus, file management method, recording medium, and file management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28236197A JP3620241B2 (en) 1997-10-15 1997-10-15 File management apparatus, file management method, recording medium, and file management system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003277831A Division JP4003709B2 (en) 2003-07-22 2003-07-22 File management apparatus, file management method, and file management system

Publications (2)

Publication Number Publication Date
JPH11120052A JPH11120052A (en) 1999-04-30
JP3620241B2 true JP3620241B2 (en) 2005-02-16

Family

ID=17651416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28236197A Expired - Fee Related JP3620241B2 (en) 1997-10-15 1997-10-15 File management apparatus, file management method, recording medium, and file management system

Country Status (1)

Country Link
JP (1) JP3620241B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076590A (en) * 2001-09-06 2003-03-14 Konica Corp Image management device and method thereof, and program for making computer execute the method
EP1521162A3 (en) * 2003-09-30 2008-02-27 Matsushita Electric Industrial Co., Ltd. Method of managing file structure in memory card
US7617242B2 (en) 2004-03-30 2009-11-10 Panasonic Corporation Method and apparatus for reproducing play lists in record media
JP4502689B2 (en) * 2004-04-12 2010-07-14 株式会社バッファロー Data storage device and initialization method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5913109B2 (en) * 1980-09-01 1984-03-27 ファナック株式会社 Data storage method
JP3117237B2 (en) * 1991-05-10 2000-12-11 オリンパス光学工業株式会社 Electronic still camera

Also Published As

Publication number Publication date
JPH11120052A (en) 1999-04-30

Similar Documents

Publication Publication Date Title
JP4076078B2 (en) File management method
US6836834B2 (en) Memory card having one-time programmable memory
JP3072722B2 (en) Data management device and data management method using flash memory and storage medium using flash memory
KR101091311B1 (en) Memory Device and Recording/Reproducing Apparatus Using the Same
US8972426B2 (en) Storage device presenting to hosts only files compatible with a defined host capability
JP5055853B2 (en) File management apparatus and electronic device
US20050036372A1 (en) Data storing apparatus
JP2009199625A (en) Memory card, and method for controlling memory card and method for controlling nonvolatile semiconductor memory
EP0977121A2 (en) Non-volatile memory, recording apparatus and recording method
JP2006040264A (en) Control method of memory card, and control method of nonvolatile semiconductor memory
JP5558093B2 (en) Semiconductor device and memory system
JP2001325128A (en) Method for managing file and recording or reproducing device
JP3620241B2 (en) File management apparatus, file management method, recording medium, and file management system
JP4003709B2 (en) File management apparatus, file management method, and file management system
JPH11120044A (en) Data processor, data processing method, data processing system and recording medium
JP2001325134A (en) Directory setting method and recorder
JP3624647B2 (en) Storage device, data management device, data management system, data management method, file management device, recording medium, and file management system
JP2001110169A (en) Data control method
KR100831372B1 (en) Portable device having the function file deletion/restoration and a method using the same
JP4055712B2 (en) Data management apparatus, data management method, and data management system
JP2006178633A (en) Information processor, information processing method, and program
JP4403338B2 (en) Information processing apparatus and information processing method
JP3531438B2 (en) Data management device, data management method, data management system, and external storage device
JP2006155461A (en) Information processor and processing method, and program
JP7031327B2 (en) Information processing equipment, information processing methods, and programs

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041108

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071126

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081126

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees