JP2007109181A - Data processor and its control method, computer program, and storage medium - Google Patents

Data processor and its control method, computer program, and storage medium Download PDF

Info

Publication number
JP2007109181A
JP2007109181A JP2005302162A JP2005302162A JP2007109181A JP 2007109181 A JP2007109181 A JP 2007109181A JP 2005302162 A JP2005302162 A JP 2005302162A JP 2005302162 A JP2005302162 A JP 2005302162A JP 2007109181 A JP2007109181 A JP 2007109181A
Authority
JP
Japan
Prior art keywords
information
hierarchy
entry
entry information
storage position
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.)
Granted
Application number
JP2005302162A
Other languages
Japanese (ja)
Other versions
JP4953612B2 (en
Inventor
Toshihiro Miyamoto
俊洋 宮本
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005302162A priority Critical patent/JP4953612B2/en
Publication of JP2007109181A publication Critical patent/JP2007109181A/en
Application granted granted Critical
Publication of JP4953612B2 publication Critical patent/JP4953612B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To increase an access speed to a file system with a hierarchical structure even in a system of a small memory capacity. <P>SOLUTION: Recording positions of entry information of a directory which has once been accessed and of data successful in the directory last are held and, when there is an access request to the same directory, held information is used to control the access. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、データ処理装置及びその制御方法、コンピュータプログラム、及び記憶媒体に関する。   The present invention relates to a data processing device, a control method thereof, a computer program, and a storage medium.

従来、階層(ディレクトリ)構造を持つファイルシステムを不揮発性メモリ上に構築してアクセスする場合、アクセスの度に階層を順番に検索し、順に潜って目的のファイルを見つける必要があった。また、同じ階層に存在する別のファイルにアクセスする場合でも階層を順番に検索し、順に潜るという同じ処理を繰り返す必要があった。   Conventionally, when a file system having a hierarchy (directory) structure is built on a nonvolatile memory and accessed, it is necessary to search the hierarchy sequentially for each access and find the target file by diving in order. In addition, even when accessing another file existing in the same hierarchy, it is necessary to search the hierarchy in order and repeat the same process of diving in order.

階層検索の繰り返しを抑える方法として、各階層の情報をシステム上に常駐化したものが提案されている(特許文献1を参照。)。   As a method for suppressing the repetition of the hierarchy search, a technique in which information of each hierarchy is made resident on the system has been proposed (see Patent Document 1).

しかし、この方法では、各階層の情報をシステム内のメモリで全て確保しておかなければならないので、メモリ容量の少ないシステムには向かない。また、最初に階層内の情報を全検索しなくてはならないため初期動作が重くなるという問題がある。
特開平5−324435号公報
However, this method is not suitable for a system with a small memory capacity because all the information of each layer must be secured in the memory in the system. There is also a problem that the initial operation becomes heavy because all the information in the hierarchy must first be searched.
JP-A-5-324435

そこで、本発明はメモリ容量の少ないシステムにおいても、階層構造を持つファイルシステムへのアクセスを高速化することを可能とすることを目的とする。   Therefore, an object of the present invention is to make it possible to speed up access to a file system having a hierarchical structure even in a system with a small memory capacity.

上記の目的を達成するための本発明は、外部装置と接続し、データを階層構造において保持する不揮発性記憶媒体を装着可能なデータ処理装置であって、前記外部装置からの前記不揮発性記憶媒体へのアクセス要求を受け付ける受付手段と、前記アクセス要求に含まれる、アクセス対象を特定するための階層情報を抽出する抽出手段と、前記不揮発性記憶媒体において、所定の階層に属するデータの記憶位置に関する記憶位置情報を記憶する記憶手段と、抽出された前記階層情報と、前記記憶位置情報とに基づいて、前記不揮発性記憶媒体における前記アクセス対象の記憶位置を含むエントリ情報を、前記不揮発性記憶媒体から取得するエントリ情報取得手段と、前記エントリ情報に基づいて、前記不揮発性記憶媒体に記録された前記アクセス対象のデータにアクセスするアクセス手段とを備え、前記エントリ情報取得手段は、前記アクセス対象が属する第1の階層についての第1の記憶位置情報が前記記憶手段に記憶されているか否かを判定する第1の判定手段と、前記第1の判定手段により前記第1の記憶位置情報が記憶されていないと判定された場合に、前記階層情報において前記第1の階層より上位で、かつ、前記記憶手段に前記記憶位置情報が記憶されている階層のうち、前記第1の階層に最も近い第2の階層を探索する探索手段と、前記探索手段により前記第2の階層が探索された場合に、該第2の階層の第2の記憶位置情報を利用して、該第2の階層に属する第3の階層の前記エントリ情報を取得し、取得したエントリ情報に基づいて前記第3の階層の第3の記憶位置情報を生成し、前記記憶手段に書き込む書込手段とを備え、前記書込手段における前記探索及び前記書き込みは、前記第1の記憶位置情報が、前記第3の記憶位置情報として前記記憶手段に書き込まれるまで繰り返され、前記記憶手段に記憶された前記第1の記憶位置情報に基づいて、前記アクセス対象の前記エントリ情報を前記不揮発性記憶媒体から取得することを特徴とする。   In order to achieve the above object, the present invention provides a data processing apparatus that can be connected to an external device and can be mounted with a nonvolatile storage medium that holds data in a hierarchical structure, and the nonvolatile storage medium from the external device An accepting means for accepting an access request, an extracting means for extracting hierarchical information for specifying an access target included in the access request, and a storage location of data belonging to a predetermined hierarchy in the nonvolatile storage medium Based on the storage means for storing the storage location information, the extracted hierarchical information, and the storage location information, entry information including the storage location to be accessed in the nonvolatile storage medium is stored in the nonvolatile storage medium. Entry information acquisition means acquired from the access information recorded on the nonvolatile storage medium based on the entry information. Access means for accessing the target data, and the entry information acquisition means determines whether or not the first storage location information for the first tier to which the access target belongs is stored in the storage means. When the first determination means and the first determination means determine that the first storage position information is not stored, the storage information is higher than the first hierarchy in the hierarchy information and the storage A search means for searching for a second hierarchy closest to the first hierarchy among the hierarchies in which the storage location information is stored in the means, and when the second hierarchy is searched by the search means, Using the second storage position information of the second hierarchy, the entry information of the third hierarchy belonging to the second hierarchy is acquired, and the third hierarchy of the third hierarchy is acquired based on the acquired entry information. 3 memory locations Writing means for generating and writing information to the storage means, and the searching and writing by the writing means are performed by the first storage position information as the third storage position information in the storage means. The entry information to be accessed is acquired from the non-volatile storage medium based on the first storage position information stored in the storage unit, which is repeated until it is written.

以上説明したように、本発明によれば、メモリ容量の少ないシステムにおいても、不揮発性メモリ上に構築された階層構造を持つファイルシステムへのアクセスを高速化することができる。   As described above, according to the present invention, it is possible to speed up access to a file system having a hierarchical structure built on a nonvolatile memory even in a system with a small memory capacity.

以下、図面を参照して本発明の実施形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明の実施形態の構成を示す図である。   FIG. 1 is a diagram showing a configuration of an embodiment of the present invention.

図1において、1はデータ処理装置である。2は着脱可能なメモリカード(不揮発性メモリ)である。3は外部装置である。データ処理装置1はメモリカード2上にファイルシステムを構築し、外部装置3からのファイルアクセス要求に応える。データ処理装置1は、メモリーカード2のリーダ/ライタ装置として構成され、メモリカード2へのデータの書き込み及び読み出しを行うことができる。また、メモリカード2は、例えばコンパクトフラッシュ(登録商標)やSDカードのようなカード状の記録媒体であり、データ処理装置1に対し着脱可能である。外部装置3は、例えば汎用のパーソナルコンピュータで構成されても良く、データ処理装置1に対しデータの書き込みや読み出しを命令する。   In FIG. 1, reference numeral 1 denotes a data processing device. Reference numeral 2 denotes a removable memory card (nonvolatile memory). 3 is an external device. The data processing device 1 constructs a file system on the memory card 2 and responds to a file access request from the external device 3. The data processing device 1 is configured as a reader / writer device for the memory card 2 and can write and read data to and from the memory card 2. The memory card 2 is a card-like recording medium such as a compact flash (registered trademark) or an SD card, and is detachable from the data processing apparatus 1. The external device 3 may be composed of a general-purpose personal computer, for example, and instructs the data processing device 1 to write or read data.

データ処理装置1の内部構成の内、10は、外部装置3からのファイルアクセス要求を受け取り、ファイルシステムのフォーマットに従ってメモリカード2へのメディアアクセスを行うためのデータ処理部である。11は、データ処理部10、揮発性メモリ12及びコネクタ13の間でデータを送受信するためのバスである。12は、揮発性メモリである。該揮発性メモリ12は、メモリカード2上のデータ(エントリ情報や本体データ)を一時退避する一時退避領域や、ファイルシステムの階層(ディレクトリ)の情報を保持するためのディレクトリ情報保持用領域を有する。ディレクトリ情報保持領域には、親ディレクトリ情報テーブルが保持されており、LRU(Least Recently Used)アルゴリズムに従って親ディレクトリ情報が登録されている。即ち、親ディレクトリ情報テーブルでは、未使用時間の短い順に登録データが順位付けされている。13は、バス11を介してメモリカード2とデータを送受信するためのコネクタである。14は、データ処理装置1と外部装置3との間でデータの送受信を行うためのコネクタである。コネクタ14は、USBやIEEE1394等に対応する。   Of the internal configuration of the data processing device 1, reference numeral 10 denotes a data processing unit for receiving a file access request from the external device 3 and performing media access to the memory card 2 in accordance with the format of the file system. Reference numeral 11 denotes a bus for transmitting and receiving data among the data processing unit 10, the volatile memory 12 and the connector 13. Reference numeral 12 denotes a volatile memory. The volatile memory 12 has a temporary save area for temporarily saving data (entry information and main body data) on the memory card 2 and a directory information holding area for holding information on the hierarchy (directory) of the file system. . In the directory information holding area, a parent directory information table is held, and the parent directory information is registered according to an LRU (Least Recently Used) algorithm. That is, in the parent directory information table, the registration data is ranked in ascending order of unused time. Reference numeral 13 denotes a connector for transmitting / receiving data to / from the memory card 2 via the bus 11. Reference numeral 14 denotes a connector for transmitting and receiving data between the data processing device 1 and the external device 3. The connector 14 corresponds to USB, IEEE1394, or the like.

なお、本実施形態では不揮発性メモリを着脱可能なメモリカード2として説明しているが、メモリカード2は着脱不可能な不揮発性メモリとして構成してもよい。また、メモリカード2は、不揮発性メモリとして有線/無線で接続された外部ストレージとして構成されても良い。   In the present embodiment, the nonvolatile memory is described as the removable memory card 2, but the memory card 2 may be configured as a non-removable nonvolatile memory. Further, the memory card 2 may be configured as an external storage connected by wire / wireless as a nonvolatile memory.

次に、図13及び14を参照して、メモリカード2上に構築されるファイルシステムの一例を説明する。図13は、メモリカード2上のデータ構造の一例を簡略的に示す図であり、図14は、エントリ情報のデータ構成の一例を示す図である。   Next, an example of a file system constructed on the memory card 2 will be described with reference to FIGS. FIG. 13 is a diagram simply showing an example of the data structure on the memory card 2, and FIG. 14 is a diagram showing an example of the data structure of entry information.

図13において、1301は、マスタブートレコーダ(MBR)である。1302はブートセクタであり、1303はFATである。FATには、メモリカード2上の全クラスタに対応したFATエントリの表が格納されている。FATエントリは各クラスタについて、空き領域であるか(0)、ファイルの最終クラスタであるか、または、ファイルがそのクラスタの次にどこに格納されているかを示すいずれかの値となる。   In FIG. 13, reference numeral 1301 denotes a master boot recorder (MBR). 1302 is a boot sector and 1303 is FAT. In the FAT, a table of FAT entries corresponding to all clusters on the memory card 2 is stored. The FAT entry is, for each cluster, a free space (0), the last cluster of the file, or a value indicating where the file is stored next to the cluster.

FAT1303の次には、ルートディレクトリが位置する。図13の場合、ルートディレクトリには、ファイル1、ファイル2及びディレクトリ1のエントリ情報1304乃至1306が格納されており、空きエントリ情報1307が1つ含まれている。なお、図13はあくまで一例として示したモノであって、ルートディレクトリにはより多くのエントリ情報を格納することが可能である。エントリ情報とは、アクセス対象となるファイル、ディレクトリ等の不揮発性記憶媒体であるメモリカード2における記憶位置を含む情報であり、その詳細は図14に一例として示す通りである。   Next to the FAT 1303, a root directory is located. In the case of FIG. 13, the root directory stores entry information 1304 to 1306 of file 1, file 2, and directory 1, and includes one empty entry information 1307. Note that FIG. 13 is only an example shown as an example, and more entry information can be stored in the root directory. The entry information is information including a storage position in the memory card 2 which is a nonvolatile storage medium such as a file or directory to be accessed, and details thereof are as shown in FIG. 14 as an example.

図14において、1400はエントリ情報全体を示す。1401は、データ名(ファイル名或いはディレクトリ名)を格納する領域である。1402は、データの拡張子を格納する領域である。1403は、データの属性を格納する領域である。この属性には、少なくともファイル、ディレクトリ、空き領域が含まれる。1404は、データが作成された時刻(作成時刻)を格納する領域である。1405は、データが作成された日(作成日)を格納する領域である。1406は、データが最後にアクセスされた日(最終アクセス日)を格納する領域である。1407は、データが最後に更新された時刻(更新時刻)を格納する領域である。1408は、データが最後に更新された日(更新日)を格納する領域である。1409は、エントリ情報1400に対応するデータを格納するクラスタのうち先頭のクラスタの番号(開始クラスタ番号)を格納する領域である。1410はエントリ情報1400に対応する本体データのサイズを格納する領域である。また、エントリ情報1400は、所定のサイズ(例えば、32バイト)を有している。   In FIG. 14, 1400 indicates the entire entry information. Reference numeral 1401 denotes an area for storing a data name (file name or directory name). Reference numeral 1402 denotes an area for storing a data extension. Reference numeral 1403 denotes an area for storing data attributes. This attribute includes at least a file, a directory, and a free area. Reference numeral 1404 denotes an area for storing the time when data was created (creation time). Reference numeral 1405 denotes an area for storing the date (creation date) when the data was created. Reference numeral 1406 denotes an area for storing a date when the data was last accessed (last access date). Reference numeral 1407 denotes an area for storing the time (update time) when the data was last updated. Reference numeral 1408 denotes an area for storing the date (update date) when the data was last updated. Reference numeral 1409 denotes an area for storing the number of the first cluster (starting cluster number) among clusters storing data corresponding to the entry information 1400. Reference numeral 1410 denotes an area for storing the size of main body data corresponding to the entry information 1400. The entry information 1400 has a predetermined size (for example, 32 bytes).

図13において、エントリ情報1304及び1305の属性は“ファイル”であり、エントリ情報1306の属性は“ディレクトリ”であり、エントリ情報1307の属性は“空き領域”ということになる。   In FIG. 13, the attribute of the entry information 1304 and 1305 is “file”, the attribute of the entry information 1306 is “directory”, and the attribute of the entry information 1307 is “free space”.

また、ファイル1についてのエントリ情報1304の開始クラスタ番号1409には、ファイル1の本体データ1308が格納されているクラスタの内、先頭のクラスタ番号が格納されていることととなる。この開始クラスタ番号1409と、FAT1303におけるクラスタチェーン、更にはデータサイズ1410に基づいて、ファイル1の本体データ1308にアクセスすることができる。   In addition, the start cluster number 1409 of the entry information 1304 for the file 1 stores the leading cluster number of the clusters in which the main data 1308 of the file 1 is stored. Based on the start cluster number 1409, the cluster chain in the FAT 1303, and the data size 1410, the main data 1308 of the file 1 can be accessed.

更に、ディレクトリ1についてのエントリ情報1306の開始クラスタ番号1409には、ディレクトリ1に含まれるデータのエントリ情報の開始クラスタ番号が格納されている。この開始クラスタ番号1409と、FAT1303におけるクラスタチェーン、更にはデータサイズ1410に基づいて、ディレクトリ1に含まれる全データのエントリ情報にアクセスすることができる。図13の場合、ディレクトリ1の本体データとして、ファイル3のエントリ情報1310、ファイル4のエントリ情報1311、サブディレクトリ1のエントリ情報1312及びサブディレクトリ2のエントリ情報1313が格納されていることになる。   Further, the start cluster number 1409 of the entry information 1306 for the directory 1 stores the start cluster number of the entry information of the data included in the directory 1. Based on the start cluster number 1409, the cluster chain in the FAT 1303, and the data size 1410, entry information of all data included in the directory 1 can be accessed. In the case of FIG. 13, the file 3 entry information 1310, the file 4 entry information 1311, the subdirectory 1 entry information 1312, and the subdirectory 2 entry information 1313 are stored as the body data of the directory 1.

ここで、ファイル3及びファイル4については、上記のファイル1と同様にして本体データ1314及び1315にアクセスすることができる。また、ディレクトリ1と同様にしてサブディレクトリ1及びサブディレクトリ2に含まれるエントリ情報1316及び1317にアクセスすることができる。   Here, the file 3 and the file 4 can access the main body data 1314 and 1315 in the same manner as the file 1 described above. Similarly to the directory 1, the entry information 1316 and 1317 included in the subdirectory 1 and the subdirectory 2 can be accessed.

次に、図15を参照して、本実施形態に対応するメモリカード2に格納されたデータのディレクトリ構造の一例を説明する。図15において、ルートディレクトリ下には、DIR1000とDIR2000の各ディレクトリが格納されている。また、DIR1000には、DIR1100とDIR1200の各ディレクトリが格納され、そのうちDIR1100には、DIR1110とDIR1120の各ディレクトリが格納されている。DIR1110にはFIL1110A.TXTとFIL1110B.TXTのテキストファイルが格納されている。一方、DIR1120には、FIL1120A.TXTとFIL1120B.TXTのテキストファイルが格納されている。   Next, an example of the directory structure of data stored in the memory card 2 corresponding to this embodiment will be described with reference to FIG. In FIG. 15, DIR1000 and DIR2000 directories are stored under the root directory. The DIR 1000 stores DIR1100 and DIR1200 directories, and DIR1100 stores DIR1110 and DIR1120 directories. DIR1110 includes FIL1110A. TXT and FIL1110B. A text file of TXT is stored. On the other hand, DIR1120 includes FIL1120A. TXT and FIL1120B. A text file of TXT is stored.

DIR1200には、DIR1210が格納され、該DIR1210には、DIR1211とDIR1212がそれぞれ格納されている。DIR1211には、FIL1211A.TXTとFIL1211B.TXTが格納され、DIR1212にはFIL1212A.TXTとFIL1212B.TXTとが格納されている。   The DIR 1200 stores a DIR 1210, and the DIR 1210 stores a DIR 1211 and a DIR 1212, respectively. DIR1211 includes FIL1211A. TXT and FIL1211B. TXT is stored, and DIR1212 has FIL1212A. TXT and FIL1212B. TXT is stored.

また、DIR2000には、DIR2100が格納され、該DIR2100には、FIL2100A.TXTからFIL2100Z.TXTまでが格納されている。   The DIR 2000 stores the DIR 2100, and the DIR 2100 includes the FIL 2100A. From TXT to FIL2100Z. Up to TXT is stored.

次に、図16を参照して、ディレクトリ情報保持領域に保持される親ディレクトリ情報テーブルのデータ構造の一例を説明する。   Next, an example of the data structure of the parent directory information table held in the directory information holding area will be described with reference to FIG.

図16において、親ディレクトリ情報テーブル1500には、所定のディレクトリに属するデータの記憶位置に関する情報が、ディレクトリ毎に親ディレクトリ情報として登録される。この親ディレクトリ情報は、LRU1601、ディレクトリ名1602、クラスタチェーン1603、空きエントリ1604、及び、最終アクセスエントリ1605からなる。   In FIG. 16, in the parent directory information table 1500, information regarding the storage location of data belonging to a predetermined directory is registered as parent directory information for each directory. The parent directory information includes an LRU 1601, a directory name 1602, a cluster chain 1603, a free entry 1604, and a last access entry 1605.

LRU1601は、登録された親ディレクトリ情報の新しさを示しており、番号が若い情報ほど、最新に登録されたこととなる。例えば、ディレクトリ名1602が"/DIR1000"の親ディレクトリ情報と"/DIR1000/DIR1100"の親ディレクトリ情報とを比較すると、"/DIR1000"の方が先にテーブル1600に登録されたことが分かる。このようにして、新しく登録されるたびにLRU1601が繰り上がっていき、古いものから順に、親ディレクトリ情報テーブル1600から削除されていくこととなる。   The LRU 1601 indicates the newness of the registered parent directory information, and the lower the number, the more recently registered. For example, comparing the parent directory information with the directory name 1602 “/ DIR1000” and the parent directory information with “/ DIR1000 / DIR1100”, it can be seen that “/ DIR1000” is registered in the table 1600 first. In this way, each time a new registration is made, the LRU 1601 is moved up and deleted from the parent directory information table 1600 in order from the oldest one.

ディレクトリ名1602は、フルパスのディレクトリ名を登録している。たとえば、"DIR1110"についてディレクトリ名1602を登録する場合には、フルパスで"/DIR1000/DIR1100/DIR1110"と登録される。クラスタチェーン1603は、ディレクトリの本体データを記録しているクラスタのチェーンであり、開始クラスタ番号1409とFAT1303に登録されているクラスタチェーンとを組み合わせたものが登録される。即ち、このクラスタチェーン1603を利用することで、メモリカード2自体のFAT1303を参照しなくとも、目的とするディレクトリ内のエントリをメモリカード2から読み出すことが可能となる。   The directory name 1602 registers a full path directory name. For example, when the directory name 1602 is registered for “DIR1110”, “/ DIR1000 / DIR1100 / DIR1110” is registered as a full path. The cluster chain 1603 is a chain of clusters in which the main body data of the directory is recorded, and a combination of the start cluster number 1409 and the cluster chain registered in the FAT 1303 is registered. That is, by using this cluster chain 1603, it is possible to read an entry in the target directory from the memory card 2 without referring to the FAT 1303 of the memory card 2 itself.

空きエントリ1604には、ディレクトリ名1602のディレクトリに含まれる空きエントリのうち最初の空きエントリの番号が登録される。尚、エントリ情報1400は32バイトのデータとして格納されるので、この番号により、最初の空きエントリの開始位置を特定することができる。また、最終アクセスエントリ1605には、ディレクトリ内で最後にアクセスされたエントリの番号が登録される。この番号により、空きエントリの開始位置と同様に最終アクセスエントリの開始位置を特定することができる。   In the empty entry 1604, the number of the first empty entry among the empty entries included in the directory having the directory name 1602 is registered. Since entry information 1400 is stored as 32-byte data, the start position of the first empty entry can be specified by this number. In the last access entry 1605, the number of the entry accessed last in the directory is registered. With this number, the start position of the last access entry can be specified in the same manner as the start position of the empty entry.

次に、本発明の実施形態に対応するデータ処理装置1における処理を説明する。   Next, processing in the data processing apparatus 1 corresponding to the embodiment of the present invention will be described.

<全体処理>
図2は、データ処理装置1において実行されるメインルーチンのフローチャートである。まず、ステップS100において、外部装置3からのアクセス要求を受け付ける。ステップS101では、アクセス要求を受け付けたか否かを監視し、もしアクセス要求を受け付けた場合には(ステップS101において「YES」)、ステップS102に移行する。一方、受け付けない場合には(ステップS101において「NO」)、ステップS100に戻る。
<Overall processing>
FIG. 2 is a flowchart of a main routine executed in the data processing apparatus 1. First, in step S100, an access request from the external device 3 is accepted. In step S101, it is monitored whether or not an access request is accepted. If an access request is accepted ("YES" in step S101), the process proceeds to step S102. On the other hand, if not accepted (“NO” in step S101), the process returns to step S100.

なお、ステップS100において受け付けるアクセス要求には、要求対象となるデータのフルパス情報としての階層情報が含まれる。ここで、受け付けた要求が例えば、“FIL1110A.TXT”というファイルを読み出す要求であったとする。このとき、該ファイルがメモリカード2内で格納されている位置は、フルパスで“/DIR1000/DIR1100/DIR1110/FIL1110A.TXT”と表され、これが階層情報となる。   Note that the access request accepted in step S100 includes hierarchy information as full path information of the data to be requested. Here, it is assumed that the received request is, for example, a request to read a file “FIL1110A.TXT”. At this time, the position where the file is stored in the memory card 2 is expressed as “/DIR1000/DIR1100/DIR1110/FIL1110A.TXT” in a full path, which is hierarchical information.

ステップS102では、受け付けた要求がデータの読み出し要求であったか否かを判定する。もし読み出し要求であった場合には(ステップS102で「YES」)、ステップS108に移行して、メモリカード2からデータの読み出しを行う。一方、読み出し要求でなかった場合には(ステップS102で「NO」)、ステップS103に移行する。   In step S102, it is determined whether the received request is a data read request. If it is a read request (“YES” in step S102), the process proceeds to step S108, and data is read from the memory card 2. On the other hand, if it is not a read request (“NO” in step S102), the process proceeds to step S103.

ステップS103では、受け付けた要求がデータの書き込み要求であったか否かを判定する。もし書き込み要求であった場合には(ステップS103で「YES」)、ステップS109に移行する。ステップS109では、外部装置3から送信された書き込み用のデータをメモリカード2に書き込む処理を行う。一方、書き込み要求でなかった場合には(ステップS103で「NO」)、ステップS104に移行する。   In step S103, it is determined whether or not the accepted request is a data write request. If it is a write request (“YES” in step S103), the process proceeds to step S109. In step S109, a process for writing the write data transmitted from the external device 3 to the memory card 2 is performed. On the other hand, if it is not a write request (“NO” in step S103), the process proceeds to step S104.

ステップS104では、受け付けた要求がデータの新規作成要求であったか否かを判定する。もし新規作成要求であった場合には(ステップS104で「YES」)、ステップS110に移行する。ステップS110では、外部装置3からの要求に基づき新規作成処理を行う。一方、新規作成要求でなかった場合には(ステップS104で「NO」)、ステップS105に移行する。   In step S104, it is determined whether the received request is a new data creation request. If it is a new creation request (“YES” in step S104), the process proceeds to step S110. In step S110, a new creation process is performed based on a request from the external apparatus 3. On the other hand, if it is not a new creation request (“NO” in step S104), the process proceeds to step S105.

ステップS105では、受け付けた要求がデータの削除要求であったか否かを判定する。もし削除要求であった場合には(ステップS105で「YES」)、ステップS111に移行する。ステップS111では、外部装置3からの要求に基づき削除要求対象のデータの削除処理を行う。一方、削除要求でなかった場合には(ステップS105で「NO」)、ステップS106に移行する。   In step S105, it is determined whether or not the accepted request is a data deletion request. If it is a deletion request (“YES” in step S105), the process proceeds to step S111. In step S111, the deletion request target data is deleted based on the request from the external device 3. On the other hand, if it is not a deletion request (“NO” in step S105), the process proceeds to step S106.

ステップS106では、受け付けた要求がデータ処理装置1が対応できない要求であるとして、ステップS107でエラーを外部装置3に返す。また、ステップS108からステップS111までの処理を行った場合、ステップS107において処理結果を外部装置3に返す。   In step S106, an error is returned to the external device 3 in step S107, assuming that the received request is a request that cannot be handled by the data processing apparatus 1. When the processing from step S108 to step S111 is performed, the processing result is returned to the external device 3 in step S107.

<読み出し処理>
次に、ステップS108におけるデータの読み出し処理について図3を参照して説明する。図3は、サブルーチンとしてのデータの読み出し処理の詳細の一例を示すフローチャートである。
<Read process>
Next, the data reading process in step S108 will be described with reference to FIG. FIG. 3 is a flowchart showing an example of details of a data read process as a subroutine.

図3において、ステップS200では、外部装置3から読み出しが要求されたデータのエントリ情報1400を取得する。もし、読み出しが要求されたデータのエントリ情報1400が存在せず、取得できなかった場合には(ステップS201において「NO」)、ステップS206に移行する。ステップS206では、要求に係るデータが存在しない旨の通知(不存在通知)を、本サブルーチンの呼び出し元に返す。   In FIG. 3, in step S200, entry information 1400 of data requested to be read from the external device 3 is acquired. If the entry information 1400 of the data requested to be read does not exist and cannot be acquired (“NO” in step S201), the process proceeds to step S206. In step S206, a notification that the requested data does not exist (non-existence notification) is returned to the caller of this subroutine.

一方、読み出しが要求されたデータのエントリ情報1400が存在し、取得できた場合には(ステップS201において「YES」)、ステップS202に移行する。ステップS202では、取得したエントリ情報1400に基づいて、メモリカード2から、要求に係るデータの本体データを揮発性メモリ12に読み出す。   On the other hand, if the entry information 1400 of the data requested to be read exists and can be acquired (“YES” in step S201), the process proceeds to step S202. In step S <b> 202, based on the acquired entry information 1400, the main data of the requested data is read from the memory card 2 to the volatile memory 12.

次に、ステップS203では、ステップS202におけるデータの読み出しが正常に行われたか否かを判定する。ここでの判定は、例えば、揮発性メモリ12に読み出したデータサイズが、エントリ情報1400におけるデータサイズ1410に登録されているデータサイズと一致するか否かによって行うことができる。もし、正常に読み出しが行われたと判定された場合には(ステップS203において「YES」)、ステップS204に移行する。一方、正常に読み出しを行うことができなかったと判定された場合には(ステップS203で「NO」)、ステップS205に移行する。   Next, in step S203, it is determined whether or not the data reading in step S202 has been performed normally. This determination can be made based on, for example, whether or not the data size read into the volatile memory 12 matches the data size registered in the data size 1410 in the entry information 1400. If it is determined that the data has been normally read (“YES” in step S203), the process proceeds to step S204. On the other hand, when it is determined that the reading could not be performed normally (“NO” in step S203), the process proceeds to step S205.

ステップS204では、揮発性メモリ12に読み出された要求対象のデータと、要求された読出処理が成功した旨の通知を、本サブルーチンの呼び出し元に返す。ステップS205では、要求された読み出しが正常に行えなかった旨のエラー通知(読出エラー通知)を本サブルーチンの呼び出し元に返す。   In step S204, the request target data read to the volatile memory 12 and a notification that the requested read process has been successful are returned to the caller of this subroutine. In step S205, an error notification (read error notification) indicating that the requested read cannot be performed normally is returned to the caller of this subroutine.

<書き込み処理>
次に、ステップS109におけるデータの書き込み処理について図4を参照して説明する。図4は、サブルーチンとしてのデータの書き込み処理の詳細の一例を示すフローチャートである。
<Write processing>
Next, the data writing process in step S109 will be described with reference to FIG. FIG. 4 is a flowchart showing an example of details of a data writing process as a subroutine.

図4において、ステップS300では、外部装置3から書き込みが要求されたデータのエントリ情報1400を取得する。もし、書き込みが要求されたデータのエントリ情報1400が存在せず、取得できなかった場合には(ステップS301において「NO」)、ステップS306に移行する。ステップS306では、要求に係るデータが存在しない旨の通知(不存在通知)を、本サブルーチンの呼び出し元に返す。   In FIG. 4, in step S300, entry information 1400 of data requested to be written from the external device 3 is acquired. If the entry information 1400 of the data requested to be written does not exist and cannot be acquired (“NO” in step S301), the process proceeds to step S306. In step S306, a notification that the requested data does not exist (non-existence notification) is returned to the caller of this subroutine.

一方、書き込みが要求されたデータのエントリ情報1400が存在し、取得できた場合には(ステップS301において「YES」)、ステップS302に移行する。ステップS302では、外部装置3から書き込みのために取得したデータを、エントリ情報1400から判断したメモリカード2のメディアアクセス位置に書き込む。この際、メモリカード2に保持されているエントリ情報1400の内容も更新される。   On the other hand, if the entry information 1400 of the data requested to be written exists and can be acquired (“YES” in step S301), the process proceeds to step S302. In step S302, the data acquired for writing from the external device 3 is written in the media access position of the memory card 2 determined from the entry information 1400. At this time, the contents of the entry information 1400 held in the memory card 2 are also updated.

次に、ステップS303では、ステップS302におけるデータの書き込みが正常に行われたか否かを判定する。ここでの判定は、例えば、書き込みによる更新後のエントリ情報1400のデータサイズ1410に登録されているデータサイズが、外部装置3から書き込みのために取得したデータのサイズと一致するかにより、行うことができる。もし、正常に書き込みが行われたと判定された場合には(ステップS303において「YES」)、ステップS304に移行する。一方、正常に書き込みを行うことができなかったと判定された場合には(ステップS303で「NO」)、ステップS305に移行する。   Next, in step S303, it is determined whether or not the data writing in step S302 has been performed normally. The determination here is performed depending on, for example, whether the data size registered in the data size 1410 of the entry information 1400 after update by writing matches the size of data acquired for writing from the external device 3. Can do. If it is determined that the writing has been normally performed (“YES” in step S303), the process proceeds to step S304. On the other hand, if it is determined that writing could not be performed normally (“NO” in step S303), the process proceeds to step S305.

ステップS304では、要求された書き込み処理が成功した旨の通知を、本サブルーチンの呼び出し元に返す。ステップS305では、要求された書き込みが正常に行えなかった旨のエラー通知(書込エラー通知)を本サブルーチンの呼び出し元に返す。   In step S304, a notification that the requested write process has been successful is returned to the caller of this subroutine. In step S305, an error notification (writing error notification) indicating that the requested writing could not be normally performed is returned to the caller of this subroutine.

<新規作成処理>
次に、ステップS110におけるデータの新規作成処理について図5を参照して説明する。図5は、サブルーチンとしてのデータの新規作成処理の詳細の一例を示すフローチャートである。
<New creation process>
Next, new data creation processing in step S110 will be described with reference to FIG. FIG. 5 is a flowchart showing an example of details of a new data creation process as a subroutine.

ステップS400において、外部装置3から新規作成を要求されたデータ用のエントリ情報1400のために、空きエントリをメモリカード2上で確保する。ここで、「空きエントリ」とは、初期状態のエントリ情報1400を格納可能な空き領域のことである。また新規作成が要求されるデータは、ファイル又はディレクトリのいずれかとなる。もし、空きエントリを確保できなかった場合には(ステップS401において「NO」)、ステップS405に移行して、要求に係る新規作成処理に失敗した旨の通知(処理失敗通知)を、本サブルーチンの呼び出し元に返す。   In step S400, a free entry is secured on the memory card 2 for the entry information 1400 for data requested to be newly created by the external device 3. Here, the “free entry” is a free area in which the entry information 1400 in the initial state can be stored. The data that is required to be newly created is either a file or a directory. If an empty entry could not be secured (“NO” in step S401), the process proceeds to step S405, and a notification (processing failure notification) indicating that the new creation process related to the request has failed is sent to this subroutine. Return to caller.

一方、空きエントリを確保できた場合には(ステップS401において「YES」)、ステップS402に移行して、初期状態のエントリ情報1400を作成する。具体的に、要求が新規ファイル作成の場合は、データサイズ1410を0の状態として生成する。また、要求が新規ディレクトリの場合は、空ディレクトリ状態にする。   On the other hand, if a free entry can be secured (“YES” in step S401), the process proceeds to step S402 to create initial entry information 1400. Specifically, if the request is for creating a new file, the data size 1410 is generated as 0. If the request is for a new directory, an empty directory is set.

初期状態のエントリ情報1400の作成に成功した場合は(ステップS403において「YES」)、ステップS404において新規作成処理が成功した旨の通知を、本サブルーチンの呼び出し元に返す。一方、初期状態のエントリ情報1400の作成に失敗した場合は(ステップS403において「NO」)、ステップS405に移行して、処理失敗通知を本サブルーチンの呼び出し元に返す。   If the initial entry information 1400 has been successfully created (“YES” in step S403), a notification that the new creation process has been successful is returned to the caller of this subroutine in step S404. On the other hand, if creation of the entry information 1400 in the initial state has failed ("NO" in step S403), the process proceeds to step S405, and a process failure notification is returned to the caller of this subroutine.

<削除処理>
次に、ステップS111におけるデータの削除処理について図6を参照して説明する。図6は、サブルーチンとしてのデータの削除処理の詳細の一例を示すフローチャートである。
<Delete processing>
Next, the data deletion processing in step S111 will be described with reference to FIG. FIG. 6 is a flowchart showing an example of the details of the data deletion process as a subroutine.

図6において、ステップS500では、外部装置3から削除が要求されたデータ(ファイル又はディレクトリ)のエントリ情報1400をメモリカード2から取得する。もし、削除が要求されたデータのエントリ情報1400が存在せず、取得できなかった場合には(ステップS501において「NO」)、ステップS508に移行して、外部装置3に対し要求に係るデータが存在しない旨の通知(不存在通知)を行う。   6, in step S500, entry information 1400 of data (file or directory) requested to be deleted from the external device 3 is acquired from the memory card 2. If the entry information 1400 of the data requested to be deleted does not exist and cannot be acquired (“NO” in step S501), the process proceeds to step S508, and the data related to the request is transmitted to the external device 3. Notification of non-existence (non-existence notification) is performed.

一方、削除が要求されたデータのエントリ情報1400が存在し、取得できた場合には(ステップS501において「YES」)、ステップS502に移行する。ステップS502では、削除要求に係るデータの本体データをメモリカード2から消去する。更に、ステップS503に移行して、メモリカード2内に保持されている対応するエントリ情報を空き状態に変更する。この変更は、エントリ情報1400における属性1403の値を“空き状態”を示す値に変更することにより行うことができる。また、削除要求の対象がディレクトリの場合には、ステップS504において揮発性メモリ12の親ディレクトリ情報テーブル1600に登録されている該ディレクトリの親ディレクトリ情報も併せて消去する。   On the other hand, if the entry information 1400 of the data requested to be deleted exists and can be acquired (“YES” in step S501), the process proceeds to step S502. In step S502, the main data of the data related to the deletion request is deleted from the memory card 2. In step S503, the corresponding entry information held in the memory card 2 is changed to an empty state. This change can be made by changing the value of the attribute 1403 in the entry information 1400 to a value indicating “free state”. If the target of the deletion request is a directory, the parent directory information of the directory registered in the parent directory information table 1600 of the volatile memory 12 is also deleted in step S504.

上記のステップS502からステップS504までの処理が正常に終了した場合には(ステップS505において「YES」)、ステップS506に移行して、削除処理が成功した旨の通知(削除処理成功通知)を本サブルーチンの呼び出し元に返す。一方、該処理が正常に終了しなかった場合は(ステップS505において「NO」)、ステップS507に移行して、削除処理が失敗した旨の通知(削除処理失敗通知)を本サブルーチンの呼び出し元に返す。   When the processing from step S502 to step S504 is completed normally ("YES" in step S505), the process proceeds to step S506, and a notification that the deletion process has succeeded (deletion process success notification) is issued. Return to the caller of the subroutine. On the other hand, if the process did not end normally ("NO" in step S505), the process proceeds to step S507, and a notification that the deletion process has failed (deletion process failure notification) is sent to the caller of this subroutine. return.

<エントリ情報1400の取得処理>
次に、本実施形態に対応するエントリ情報1400の取得処理について図7を参照して説明する。図7は、本実施形態に対応するエントリ情報1400の取得処理のためのサブルーチンの一例を示すフローチャートである。また、このエントリ情報1400の取得処理は、図3のステップS200、図4のステップS300及び図6のステップS500において行われるものである。
<Entry Information 1400 Acquisition Process>
Next, the acquisition process of the entry information 1400 corresponding to this embodiment will be described with reference to FIG. FIG. 7 is a flowchart showing an example of a subroutine for the process of acquiring entry information 1400 corresponding to the present embodiment. The entry information 1400 acquisition process is performed in step S200 in FIG. 3, step S300 in FIG. 4, and step S500 in FIG.

図7において、ステップS600では、外部装置3からの要求に含まれる階層情報に基づいて、要求対象データの親ディレクトリについて、親ディレクトリ情報テーブル1600から親ディレクトリ情報を取得する。具体的には、要求対象データをディレクトリ“/DIR1000/DIR1100/DIR1110”にあるファイル“FIL1110A.TXT”とすると、親ディレクトリは“DIR1110”となる。ここで、親ディレクトリ情報が取得できない場合には(ステップS601において「NO」)、ステップS605に移行する。ステップS605では、本サブルーチンの呼び出し元に対して、要求対象のデータのエントリ情報1400が存在しない旨の通知(不存在通知)を返す。   In FIG. 7, in step S600, the parent directory information is acquired from the parent directory information table 1600 for the parent directory of the request target data based on the hierarchical information included in the request from the external device 3. Specifically, if the request target data is the file “FIL1110A.TXT” in the directory “/ DIR1000 / DIR1100 / DIR1110”, the parent directory is “DIR1110”. If the parent directory information cannot be acquired (“NO” in step S601), the process proceeds to step S605. In step S605, a notification (non-existence notification) that the entry information 1400 of the requested data does not exist is returned to the caller of this subroutine.

一方、親ディレクトリ情報が取得できた場合には(ステップS601において「YES」)、ステップS602に移行する。ステップS602では、親ディレクトリ情報に基づいて該ディレクトリ内のデータを一時退避領域に読み出し、要求対象データのエントリ情報1400を検索する。検索の結果、該エントリ情報1400が発見された場合には(ステップS603において「YES」)、ステップS604において、本サブルーチンの呼び出し元に該エントリ情報1400を返す。一方、該エントリ情報1400が存在しない場合には(ステップS603において「NO」)、ステップS605において、本サブルーチンの呼び出し元に不存在通知を返す。   On the other hand, when the parent directory information can be acquired (“YES” in step S601), the process proceeds to step S602. In step S602, based on the parent directory information, the data in the directory is read to the temporary save area, and the entry information 1400 of the request target data is searched. If the entry information 1400 is found as a result of the search (“YES” in step S603), the entry information 1400 is returned to the caller of this subroutine in step S604. On the other hand, if the entry information 1400 does not exist (“NO” in step S603), a non-existence notification is returned to the caller of this subroutine in step S605.

<エントリ情報1400の検索処理>
次に、図8を参照して、エントリ情報1400の検索処理について説明する。図8は、該処理のサブルーチンのフローチャートである。このエントリ情報1400の検索処理は、図7のステップS602及び後述する図11のステップS1006において行われるものである。
<Search processing of entry information 1400>
Next, the entry information 1400 search process will be described with reference to FIG. FIG. 8 is a flowchart of the processing subroutine. The search process for the entry information 1400 is performed in step S602 in FIG. 7 and step S1006 in FIG.

まず、ステップS700では、該親ディレクトリ情報に含まれるデータのうち、最終アクセスエントリ1605付近(例えば、前後2エントリ分)のデータを揮発性メモリ12の一時退避領域に読み出して検索する。この検索の結果、目的とするファイル(上記例の場合は、FIL1110A.TXT)のエントリ情報1400を発見した場合には(ステップS701において「YES」)、ステップS702に移行する。ステップS702では、そのエントリ情報1400を、本サブルーチンの呼び出し元に返す。このとき、該目的のエントリ情報1400に基づき、親ディレクトリ情報テーブル1600における該親ディレクトリ情報の最終アクセスエントリ1605を更新する。これにより、ステップS701において発見されたエントリ情報1400が、新たな最終アクセスエントリ1605となる。   First, in step S700, data in the vicinity of the last access entry 1605 (for example, two entries before and after) of the data included in the parent directory information is read into the temporary save area of the volatile memory 12 and searched. If entry information 1400 of the target file (FIL1110A.TXT in the above example) is found as a result of this search (“YES” in step S701), the process proceeds to step S702. In step S702, the entry information 1400 is returned to the caller of this subroutine. At this time, based on the target entry information 1400, the final access entry 1605 of the parent directory information in the parent directory information table 1600 is updated. Thereby, the entry information 1400 found in step S701 becomes a new final access entry 1605.

一方、エントリ情報1400を発見できない場合は(ステップS701において「NO」)、ステップS703に移行する。なお、最終アクセスエントリ1605が未登録の場合も、ステップS703に移行する。ステップS703では、親ディレクトリ情報に基づき、該親ディレクトリ内の全てのエントリ情報1400を揮発性メモリ12の一時退避領域に読み出して、検索を行う。ここで、目的のエントリ情報1400を発見できた場合は(ステップS704において「YES」)、ステップS702においてそのエントリ情報1400を本サブルーチンの呼び出し元に返す。また、親ディレクトリ情報の最終アクセスエントリ1605が、該目的のエントリ情報1400に基づいて更新される。また、空きエントリ1604が未登録の場合には、ステップS703における全エントリ走査の結果に基づいて、空きエントリ1604が更新される。一方、全エントリ情報を検索しても発見できない場合は(ステップS704において「NO」)、ステップS705において該当するエントリ情報1400が存在しない旨の通知(不存在通知)を本サブルーチンの呼び出し元に返す。   On the other hand, when the entry information 1400 cannot be found (“NO” in step S701), the process proceeds to step S703. Even when the last access entry 1605 is not registered, the process proceeds to step S703. In step S703, based on the parent directory information, all entry information 1400 in the parent directory is read into the temporary save area of the volatile memory 12 and searched. If the target entry information 1400 can be found (“YES” in step S704), the entry information 1400 is returned to the caller of this subroutine in step S702. Further, the last access entry 1605 of the parent directory information is updated based on the target entry information 1400. If the empty entry 1604 is not registered, the empty entry 1604 is updated based on the result of all entry scanning in step S703. On the other hand, if all the entry information cannot be found by searching (“NO” in step S704), a notification that the corresponding entry information 1400 does not exist (non-existence notification) is returned to the caller of this subroutine in step S705. .

<空きエントリ確保のための処理>
次に、図9を参照して、空きエントリ確保のための処理について説明する。図9は、該処理のサブルーチンのフローチャートである。この空きエントリ確保のための処理は、図5のステップS400において行われるものである。
<Process for securing free entry>
Next, a process for securing a free entry will be described with reference to FIG. FIG. 9 is a flowchart of the processing subroutine. The processing for securing the free entry is performed in step S400 in FIG.

図9において、ステップS800では、外部装置3からの要求に含まれる階層情報に基づいて、親ディレクトリ情報を親ディレクトリ情報テーブル1600から取得する。ここで、親ディレクトリ情報が取得できない場合には(ステップS801において「NO」)、ステップS809に移行する。ステップS809では、本サブルーチンの呼び出し元に対して、空きエントリが確保できない旨を通知(確保失敗通知)する。   9, in step S800, parent directory information is acquired from the parent directory information table 1600 based on the hierarchy information included in the request from the external device 3. If the parent directory information cannot be acquired (“NO” in step S801), the process proceeds to step S809. In step S809, the caller of this subroutine is notified that a free entry cannot be secured (allocation failure notification).

一方、親ディレクトリ情報を取得できた場合には(ステップS801において「YES」)、ステップS802に移行し、親ディレクトリを走査して空きエントリを検索する。もし、空きエントリが見つかった場合には(ステップS803において「YES」)、ステップS804において該空きエントリを本サブルーチンの呼び出し元に返す。   On the other hand, if the parent directory information can be acquired (“YES” in step S801), the process proceeds to step S802, and the parent directory is scanned to search for a free entry. If an empty entry is found (“YES” in step S803), the empty entry is returned to the caller of this subroutine in step S804.

一方、空きエントリが見つからなかった場合は(ステップS803において「NO」)、ステップS806に移行する。ステップS806では、メモリカード2上の親ディレクトリの領域を拡張する。もし、親ディレクトリの領域を拡張できた場合には(S806において「YES」)、ステップS807においてディレクトリを走査して空きエントリを検索し直す。ここで見つけた空きエントリは、ステップS804において本サブルーチンの呼び出し元に返される。   On the other hand, if no empty entry is found (“NO” in step S803), the process proceeds to step S806. In step S806, the parent directory area on the memory card 2 is expanded. If the parent directory area can be expanded (“YES” in S806), the directory is scanned in step S807 to search for a free entry again. The empty entry found here is returned to the caller of this subroutine in step S804.

一方、親ディレクトリ領域を拡張できなかった場合(ステップS806において「NO」)、ステップS808に移行する。ステップS808では、親ディレクトリの拡張に失敗し、空きエントリが確保できない旨の通知(拡張失敗通知)を、本サブルーチンの呼び出し元に返す。   On the other hand, if the parent directory area cannot be expanded (“NO” in step S806), the process proceeds to step S808. In step S808, a notification that the expansion of the parent directory has failed and a free entry cannot be secured (expansion failure notification) is returned to the caller of this subroutine.

<空きエントリ検索処理>
次に、図10を参照して、空きエントリ検索処理について説明する。図10は、該処理のサブルーチンのフローチャートである。この空きエントリ検索処理は、図9のステップS802及びS807において行われるものである。
<Free entry search processing>
Next, the empty entry search process will be described with reference to FIG. FIG. 10 is a flowchart of the processing subroutine. This empty entry search process is performed in steps S802 and S807 of FIG.

図10において、ステップS900では、親ディレクトリ情報テーブル1600の空きエントリ1604に基づいて、親ディレクトリ内の空きエントリを検索する。   In FIG. 10, in step S900, based on the empty entry 1604 of the parent directory information table 1600, an empty entry in the parent directory is searched.

もし、空きエントリ1604が登録されている場合は(ステップS901において「YES」)、ステップS902において、該空きエントリを本サブルーチンの呼び出し元に返す。一方、空きエントリ1604が登録されていない場合は(ステップS901において「NO」)、ステップS903において空きエントリが存在しない旨の通知(空きエントリ不存在通知)を本サブルーチンの呼び出し元に返す。   If the empty entry 1604 is registered (“YES” in step S901), the empty entry is returned to the caller of this subroutine in step S902. On the other hand, if the empty entry 1604 is not registered (“NO” in step S901), a notification that there is no empty entry (empty entry non-existence notification) is returned to the caller of this subroutine in step S903.

<親ディレクトリ情報の取得処理>
次に、親ディレクトリ情報の取得のため処理の一例を、図11を参照して説明する。図11は親ディレクトリ情報の取得処理のためのサブルーチンの一例を示すフローチャートである。この親ディレクトリ情報の取得処理は、図7のステップS600において行われるものである。
<Parent directory information acquisition processing>
Next, an example of processing for acquiring parent directory information will be described with reference to FIG. FIG. 11 is a flowchart showing an example of a subroutine for acquiring parent directory information. This parent directory information acquisition process is performed in step S600 of FIG.

図11において、ステップS1000では、対応する親ディレクトリ情報が親ディレクトリ情報テーブル1600に保持されているか否かを調べる。   In FIG. 11, in step S1000, it is checked whether or not corresponding parent directory information is held in the parent directory information table 1600.

このとき、目的とするディレクトリの属する階層数をNとする。例えば、“/DIR1000/DIR1100/DIR1110/”の”DIR1110”が親ディレクトリ情報を取得しようとするディレクトリとすると、階層数Nは”3”となる。なお、階層数Nは、ルートディレクトリ直下のディレクトリを”1”としてカウントする。   At this time, N is the number of hierarchies to which the target directory belongs. For example, if “DIR1110” of “/ DIR1000 / DIR1100 / DIR1110 /” is a directory from which parent directory information is to be acquired, the number of layers N is “3”. The number N of hierarchies is counted as “1” for a directory immediately under the root directory.

ステップS1001では、親ディレクトリ情報を取得しようとするN(上記の例では”3”)階層目のディレクトリ(上記の例では”DIR1110”)について、親ディレクトリ情報テーブル1600を探索する。もし、目的とする親ディレクトリ情報が保持されている場合には(ステップS1001において「YES」)、ステップS1002に移行する。ステップS1002では、該親ディレクトリ情報のLRU1601が最小となるように、テーブルの登録順位を変更する。これにより、該親ディレクトリ情報の未使用時間が最短のものに設定される。また、同一の親ディレクトリについて親ディレクトリ情報を保持しているか否かを次回検索する際の時間を短縮することができる。ステップS1003では、取得された親ディレクトリ情報を、本サブルーチンの呼び出し元に返す。   In step S1001, the parent directory information table 1600 is searched for a directory (“DIR1110” in the above example) of the N (“3” in the above example) hierarchy from which parent directory information is to be obtained. If the target parent directory information is held (“YES” in step S1001), the process proceeds to step S1002. In step S1002, the registration order of the table is changed so that the LRU 1601 of the parent directory information is minimized. Thereby, the unused time of the parent directory information is set to the shortest. In addition, it is possible to reduce the time for the next search for whether or not the parent directory information is held for the same parent directory. In step S1003, the acquired parent directory information is returned to the caller of this subroutine.

一方、該N階層目のディレクトリの親ディレクトリ情報がテーブル1600に登録されていない場合には(ステップS1001において「NO」)、ステップS1004に移行する。ステップS1004では、階層数Nが1であるか否かを判定する。Nが1の場合(ステップS1004において「YES」)、ステップS1010に移行する。一方、Nが1でない場合(ステップS1004において「NO」)、ステップS1005に移行する。   On the other hand, if the parent directory information of the N-th layer directory is not registered in the table 1600 (“NO” in step S1001), the process proceeds to step S1004. In step S1004, it is determined whether or not the number N of hierarchies is one. When N is 1 (“YES” in step S1004), the process proceeds to step S1010. On the other hand, when N is not 1 (“NO” in step S1004), the process proceeds to step S1005.

ステップS1005では、図11に示す「親ディレクトリ情報取得」の処理を、N−1(上記の例では”2”)階層目のディレクトリ(上記の例では”DIR1100”)について実行する。このようにして、上の階層のディレクトリの親ディレクトリ情報の取得処理が再帰的に実行される。   In step S1005, the process of “acquire parent directory information” shown in FIG. 11 is executed for the directory (“DIR1100” in the above example) on the N-1 (“2” in the above example) hierarchy. In this way, the parent directory information acquisition process for the upper directory is recursively executed.

ステップS1005において、該N−1上階層目の親ディレクトリ情報が取得できた場合には(ステップS1006において「YES」)、ステップS1007に移行する。ステップS1007では、取得した親ディレクトリ情報に基づいてディレクトリ(上記の例では”DIR1100”)内のエントリ情報1400を揮発性メモリ12の一時退避領域に読み出す。そして、N(上記の例では”3”)階層目のディレクトリ(上記の例では”DIR1110”)のエントリ情報1400を検索する。これにより該N階層目のディレクトリについてエントリ情報1400が取得できた場合は(ステップS1008において「YES」)、ステップS1009に移行する。ステップS1009では、該エントリ情報1400に基づいて、親ディレクトリ情報の親ディレクトリ情報テーブル1600への登録を行う。その後、ステップS1003に移行して、取得した親ディレクトリ情報を、本サブルーチンの呼び出し元に返す。   In step S1005, when the parent directory information of the N-1 upper hierarchy can be acquired (“YES” in step S1006), the process proceeds to step S1007. In step S1007, based on the acquired parent directory information, the entry information 1400 in the directory (“DIR1100” in the above example) is read into the temporary save area of the volatile memory 12. Then, the entry information 1400 of the directory (“DIR1110” in the above example) of the N (“3” in the above example) hierarchy is searched. As a result, when the entry information 1400 can be acquired for the N-th directory (“YES” in step S1008), the process proceeds to step S1009. In step S1009, based on the entry information 1400, the parent directory information is registered in the parent directory information table 1600. Thereafter, the process proceeds to step S1003, and the acquired parent directory information is returned to the caller of this subroutine.

なお、ステップS1005においてN−1(上記の例では”2”)階層目の親ディレクトリ情報が取得できない場合、及び、ステップS1008においてエントリ情報1400がない場合は、ステップS1012に移行する。   If the parent directory information of the N-1 (“2” in the above example) hierarchy cannot be acquired in step S1005, and if the entry information 1400 is not present in step S1008, the process proceeds to step S1012.

ステップS1004においてN=1と判定された場合、1階層目のディレクトリ(上記の例では”DIR1000”)、即ちルート直下のディレクトリについて親ディレクトリ情報が、テーブル1600に登録されていないこととなる。その場合には、メモリカード2のルートディレクトリからエントリ情報1400を読み出して、該1階層目のディレクトリのエントリ情報1400を検索する。もし、該エントリ情報1400が取得された場合には(ステップS1011において「YES」)、ステップS1009に移行する。ステップS1009では、該エントリ情報1400に基づいて1階層目のディレクトリについて親ディレクトリ情報をテーブル1600に登録する。一方、エントリ情報1400が取得できなかった場合には、ステップS1012に移行して、親ディレクトリ情報が存在しない旨の通知(不存在通知)を本サブルーチンの呼び出し元に返す。   If it is determined in step S1004 that N = 1, parent directory information is not registered in the table 1600 for the directory in the first layer (“DIR1000” in the above example), that is, the directory directly under the root. In that case, the entry information 1400 is read from the root directory of the memory card 2, and the entry information 1400 of the directory in the first hierarchy is searched. If the entry information 1400 has been acquired (“YES” in step S1011), the process proceeds to step S1009. In step S1009, based on the entry information 1400, the parent directory information for the first level directory is registered in the table 1600. On the other hand, if the entry information 1400 could not be acquired, the process proceeds to step S1012 and a notification that there is no parent directory information (non-existence notification) is returned to the caller of this subroutine.

<親ディレクトリ情報の登録処理>
次に、親ディレクトリ情報をテーブル1600に登録する処理の一例を、図12を参照して説明する。図12は親ディレクトリ情報を登録する処理のサブルーチンの一例を示すフローチャートである。この親ディレクトリ情報の登録処理は、図11のステップS1009において行われるものである。
<Parent directory information registration process>
Next, an example of processing for registering parent directory information in the table 1600 will be described with reference to FIG. FIG. 12 is a flowchart showing an example of a subroutine of processing for registering parent directory information. This registration process of the parent directory information is performed in step S1009 of FIG.

図12において、ステップS1100では、揮発性メモリ12上の親ディレクトリ情報テーブル1600に空きがあるかを調べる。ここで、該テーブル1600に空きがある場合には(ステップS1101において「YES」)、ステップS1102に移行して、取得されたエントリ情報1400に基づき親ディレクトリ情報をテーブル1600に登録する。その際、新たに登録される親ディレクトリ情報はLRU1601は最小、即ち”1”となり、他の親ディレクトリ情報のLRU1601は一つずつ繰り上がる。   In FIG. 12, in step S1100, it is checked whether the parent directory information table 1600 on the volatile memory 12 has a vacancy. If the table 1600 is empty (“YES” in step S1101), the process proceeds to step S1102, and the parent directory information is registered in the table 1600 based on the acquired entry information 1400. At this time, the newly registered parent directory information has a minimum LRU 1601, that is, “1”, and the LRU 1601 of other parent directory information is incremented one by one.

一方、該テーブル1600に空きがない場合は(ステップS1101において「NO」)、ステップS1103に移行して、LRU1601の最大が最大の親ディレクトリ情報をテーブル1600から削除する。その後、ステップS1102において、新たに登録される親ディレクトリ情報に最小のLRU1601を割り当てて登録し、他の親ディレクトリ情報のLRU1601は一つずつ繰り上げる。   On the other hand, if there is no free space in the table 1600 (“NO” in step S1101), the process proceeds to step S1103, and the parent directory information having the maximum LRU 1601 is deleted from the table 1600. Thereafter, in step S1102, the minimum LRU 1601 is allocated and registered in the newly registered parent directory information, and the LRU 1601 of the other parent directory information is moved up one by one.

<親ディレクトリ情報取得の具体例>
以下、図11における親ディレクトリ情報取得処理をより具体的に説明する。
<Specific example of parent directory information acquisition>
Hereinafter, the parent directory information acquisition process in FIG. 11 will be described more specifically.

<具体例1>
図15のデータ構造において、/DIR1000/DIR1100/DIR1110/FIL1110A.TXTを読み出す場合を考える。このとき、親ディレクトリ情報テーブル1600に、親ディレクトリ情報が全く登録されていないとする。親ディレクトリ情報テーブル1600の登録状況は図17に示す。なお、図17では簡単のために、LRU1601とディレクトリ名1602のみを示す。図17(a)では、未登録状態の親ディレクトリ情報テーブル1600を示している。
<Specific example 1>
In the data structure of FIG. 15, / DIR1000 / DIR1100 / DIR1110 / FIL1110A. Consider the case of reading TXT. At this time, it is assumed that no parent directory information is registered in the parent directory information table 1600. The registration status of the parent directory information table 1600 is shown in FIG. In FIG. 17, only the LRU 1601 and the directory name 1602 are shown for simplicity. FIG. 17A shows an unregistered parent directory information table 1600.

まず、ステップS1000では、ディレクトリ”DIR1110”の親ディレクトリ情報が親ディレクトリ情報テーブル1600に保持されているかが探索される。この探索は、フルパスに対応する”/DIR1000/DIR1100/DIR1110”をディレクトリ名1602とする親ディレクトリ情報が存在するか否かに基づいて行うことができる。   First, in step S1000, it is searched whether the parent directory information of the directory “DIR1110” is held in the parent directory information table 1600. This search can be performed based on whether or not there is parent directory information whose directory name 1602 is “/ DIR1000 / DIR1100 / DIR1110” corresponding to the full path.

親ディレクトリ情報テーブル1600には親ディレクトリ情報が登録されていないので、ステップS1001では当然に親ディレクトリ情報が無いと判定される。よって、ステップS1004に移行して、親ディレクトリ情報を得ようとしているディレクトリの階層数:Nが1であるか否かを判定する。DIR1110は、ルートディレクトリ直下のDIR1000を1階層目として3階層目に当たるので、階層数:Nは3であり、1ではない。よって、ステップS1005に移行する。   Since parent directory information is not registered in the parent directory information table 1600, it is naturally determined in step S1001 that there is no parent directory information. Therefore, the process proceeds to step S1004, and it is determined whether or not the number of hierarchies N of the directory from which the parent directory information is to be obtained is 1. Since the DIR 1110 corresponds to the third hierarchy with the DIR 1000 directly under the root directory as the first hierarchy, the number of hierarchies: N is 3, and is not 1. Therefore, the process proceeds to step S1005.

ステップS1005では、N−1階層目、即ち、1階層上のディレクトリを対象として、親ディレクトリ情報の取得処理を行う。ここで、N階層目のディレクトリがDIR1110であり、その親ディレクトリであるDIR1100がN−1階層目のディレクトリとなる。   In step S1005, parent directory information acquisition processing is performed for the directory on the (N-1) th layer, that is, the directory on the first layer. Here, the directory of the Nth layer is DIR1110, and its parent directory DIR1100 is the directory of the (N-1) th layer.

ステップS1005における親ディレクトリ情報の取得処理は、図11の全体の処理を、DIR1100をN階層目のディレクトリとして実行する処理である。DIR1100についても同様にステップS1000、S1001、S1004を実行すると、親ディレクトリ情報テーブル1600は未登録状態であり、Nは1でないので、ステップS1005にたどり着く。ここで、”DIR1100”の更に1階層上の”DIR1000”について親ディレクトリ情報の取得処理が実行されることとなる。   The parent directory information acquisition process in step S1005 is a process of executing the entire process of FIG. 11 using the DIR 1100 as a directory on the Nth layer. Similarly, when steps S1000, S1001, and S1004 are executed for the DIR 1100, the parent directory information table 1600 is in an unregistered state and N is not 1, so the process reaches step S1005. Here, parent directory information acquisition processing is executed for “DIR1000”, which is one level higher than “DIR1100”.

”DIR1000”についてもステップS1001までは同様に処理されるが、”DIR1000”はルートディレクトリ直下のディレクトリであるので、階層数:Nは1である。従って、ステップS1004からステップS1010に移行する。ステップS1010では、メモリカード2のルートディレクトリ内のエントリ情報1400が揮発性メモリ12の一時退避領域に読み出され、DIR1000のエントリ情報1400が検索される。ここでDIR1000のエントリ情報1400が見つかると、ステップS1009に移行して、親ディレクトリ情報が、親ディレクトリ情報テーブル1600に登録される(図17(b))。そして、ステップS1003で、”DIR1000”の親ディレクトリ情報が、”DIR1000”の親ディレクトリ情報取得ルーチンの呼び出し元に返される。   “DIR1000” is processed in the same way up to step S1001, but “DIR1000” is a directory immediately under the root directory, and therefore the number of hierarchies: N is one. Therefore, the process proceeds from step S1004 to step S1010. In step S1010, the entry information 1400 in the root directory of the memory card 2 is read into the temporary save area of the volatile memory 12, and the entry information 1400 of the DIR 1000 is searched. If the entry information 1400 of the DIR 1000 is found here, the process proceeds to step S1009 and the parent directory information is registered in the parent directory information table 1600 (FIG. 17B). In step S1003, the parent directory information of “DIR1000” is returned to the caller of the parent directory information acquisition routine of “DIR1000”.

該呼び出し元とは、”DIR1100”の親ディレクトリ情報取得ルーチンにおけるステップS1005である。ステップS1005で”DIR1000”の親ディレクトリ情報を取得すると(ステップS1006において「YES」)、ステップS1007に移行する。ステップS1007では、”DIR1000”の親ディレクトリ情報に基づいて、”DIR1000”内のエントリ情報1400が揮発性メモリ12の一時退避領域に読み出され、”DIR1100”のエントリ情報1400が検索される。   The calling source is step S1005 in the parent directory information acquisition routine of “DIR1100”. When the parent directory information of “DIR1000” is acquired in step S1005 (“YES” in step S1006), the process proceeds to step S1007. In step S1007, based on the parent directory information of “DIR1000”, the entry information 1400 in “DIR1000” is read into the temporary save area of the volatile memory 12, and the entry information 1400 of “DIR1100” is searched.

ここで、”DIR1100”のエントリ情報1400が見つかれば(ステップS1008において「YES」)、ステップS1009に移行する。ステップS1009では、該エントリ情報1400に基づいて、”DIR1100”の親ディレクトリ情報が親ディレクトリ情報テーブル1600に登録される(図17(c))。このとき、先に登録されていた”DIR1000”の親ディレクトリ情報は、LRU1601の値が変更され、”DIR1100”の親ディレクトリ情報よりも古い情報となる。   If entry information 1400 of “DIR1100” is found (“YES” in step S1008), the process proceeds to step S1009. In step S1009, based on the entry information 1400, the parent directory information “DIR1100” is registered in the parent directory information table 1600 (FIG. 17C). At this time, the previously registered parent directory information of “DIR1000” is changed to a value older than the parent directory information of “DIR1100” because the value of LRU 1601 is changed.

次に、ステップS1003で、”DIR1100”の親ディレクトリ情報が、”DIR1100”の親ディレクトリ情報取得ルーチンの呼び出し元に返される。ここでの呼び出し元とは、”DIR1110”の親ディレクトリ情報取得ルーチンにおけるステップS1005である。ステップS1005で”DIR1100”の親ディレクトリ情報を取得すると(ステップS1006において「YES」)、ステップS1007に移行する。ステップS1007では、”DIR1100”の親ディレクトリ情報に基づいて、”DIR1100”内のエントリ情報1400が揮発性メモリ12の一時退避領域に読み出され、”DIR1110”のエントリ情報1400が検索される。   In step S1003, the parent directory information of “DIR1100” is returned to the caller of the parent directory information acquisition routine of “DIR1100”. The calling source here is step S1005 in the parent directory information acquisition routine of “DIR1110”. When the parent directory information of “DIR1100” is acquired in step S1005 (“YES” in step S1006), the process proceeds to step S1007. In step S1007, based on the parent directory information of “DIR1100”, the entry information 1400 in “DIR1100” is read into the temporary save area of the volatile memory 12, and the entry information 1400 of “DIR1110” is searched.

”DIR1110”のエントリ情報1400が見つかれば(ステップS1008において「YES」)、ステップS1009に移行する。ステップS1009では、該エントリ情報1400に基づいて、”DIR1110”の親ディレクトリ情報が親ディレクトリ情報テーブル1600に登録される(図17(d))。このとき、先に登録されていた”DIR1000”及び”DIR1100”の親ディレクトリ情報は、LRU1601の値が変更され、”DIR1110”の親ディレクトリ情報よりも古い情報となる。   If entry information 1400 of “DIR1110” is found (“YES” in step S1008), the process proceeds to step S1009. In step S1009, based on the entry information 1400, the parent directory information of “DIR1110” is registered in the parent directory information table 1600 (FIG. 17D). At this time, the previously registered parent directory information of “DIR1000” and “DIR1100” is changed to a value older than the parent directory information of “DIR1110” because the value of LRU 1601 is changed.

次に、ステップS1003で、”DIR1100”の親ディレクトリ情報が、”DIR1100”の親ディレクトリ情報取得ルーチンの呼び出し元に返される。ここでの呼び出し元とは、例えば図7のエントリ情報1400取得ルーチンにおけるステップS600である。   In step S1003, the parent directory information of “DIR1100” is returned to the caller of the parent directory information acquisition routine of “DIR1100”. The calling source here is, for example, step S600 in the entry information 1400 acquisition routine of FIG.

なお、”FIL1110A.TXT”について、例えば読み出しを行う場合を更に説明する。図7では、”DIR1110”の親ディレクトリ情報に基づき、”DIR1110”内のエントリ情報1400を検索し、”FIL1110A.TXT”のエントリ情報1400を取得することができる。ここで得られた”FIL1110A.TXT”のエントリ情報1400は、図7のエントリ情報取得処理の呼び出し元である、図3の読出処理に返される。図3の読み出し処理では、ステップS202において、得られたエントリ情報1400に基づいて”FIL1110A.TXT”の本体データを読み出すことができる。   Note that “FIL1110A.TXT” will be further described, for example, when reading. In FIG. 7, based on the parent directory information of “DIR1110”, the entry information 1400 in “DIR1110” can be searched to obtain the entry information 1400 of “FIL1110A.TXT”. The entry information 1400 of “FIL1110A.TXT” obtained here is returned to the reading process of FIG. 3, which is the caller of the entry information acquisition process of FIG. In the reading process of FIG. 3, the main body data of “FIL1110A.TXT” can be read based on the obtained entry information 1400 in step S202.

以上のように、親ディレクトリ情報テーブル1600に、親ディレクトリ情報が全く格納されていない場合でも、図11の処理を再帰的に実行することで目的の親ディレクトリ情報を取得し、目的のファイルデータを取得することができる。ここで、再帰的な処理を実行する過程で得られたエントリ情報1400に基づいて、親ディレクトリ情報がテーブル1600に登録される。これにより、以下に示す<具体例2>のように、ルートディレクトリまで遡らなくても、目的の親ディレクトリ情報を効率的に取得することが可能となる。   As described above, even when no parent directory information is stored in the parent directory information table 1600, the target parent directory information is obtained by recursively executing the processing of FIG. 11, and the target file data is stored. Can be acquired. Here, the parent directory information is registered in the table 1600 based on the entry information 1400 obtained in the course of executing the recursive process. As a result, as in <Specific Example 2> shown below, the target parent directory information can be efficiently acquired without going back to the root directory.

<具体例2>
<具体例1>におけるディレクトリ探索履歴等を利用して、他のディレクトリに格納されているファイルを読み出す場合を説明する。例えば、”/DIR1000/DIR1200/DIR1210/DIR1211/FIL1211A.TXT”を読み出す場合を考える。ここで、”DIR1200”、”DIR1210”、”DIR1211”の親ディレクトリ情報は、親ディレクトリ情報テーブル1600に保持されていない(図18(a))。しかし、”DIR1000”については、上記の<具体例1>において親ディレクトリ情報テーブル1600に保持されたので、メモリカード2にアクセスする必要なく親ディレクトリ情報を取得することができる。この”DIR1000”の親ディレクトリ情報に従い、<具体例1>と同様に”DIR1200”、”DIR1210”、”DIR1211”の親ディレクトリ情報を取得することができる(図18(b)、(c)、(d))。
<Specific example 2>
A case will be described in which files stored in other directories are read using the directory search history or the like in <Specific Example 1>. For example, consider the case of reading “/DIR1000/DIR1200/DIR1210/DIR1211/FIL1211A.TXT”. Here, the parent directory information of “DIR1200”, “DIR1210”, and “DIR1211” is not held in the parent directory information table 1600 (FIG. 18A). However, since “DIR1000” is held in the parent directory information table 1600 in the above <Specific example 1>, the parent directory information can be acquired without having to access the memory card 2. According to the parent directory information of “DIR1000”, the parent directory information of “DIR1200”, “DIR1210”, and “DIR1211” can be acquired in the same manner as in <Specific example 1> (FIGS. 18B and 18C). (D)).

ここで取得された親ディレクトリ情報が親ディレクトリ情報テーブル1600に登録されることにより、それ以前に登録された古い親ディレクトリ情報がテーブル1600から消去される。例えば、図18(c)で、LRU1601が”8”の親ディレクトリ情報は、DIR1211の親ディレクトリ情報が登録されることにより、テーブル1600から消去されている。   By registering the acquired parent directory information in the parent directory information table 1600, the old parent directory information registered before that is deleted from the table 1600. For example, in FIG. 18C, the parent directory information whose LRU 1601 is “8” is deleted from the table 1600 when the parent directory information of the DIR 1211 is registered.

また、取得された”DIR1211”の親ディレクトリ情報に基づき、”FIL1211A.TXT”のエントリ情報1400も上記と同様に取得でき、最終的に目的とするファイルの本体データを取得できる。   Further, based on the acquired parent directory information of “DIR1211”, the entry information 1400 of “FIL1211A.TXT” can be acquired in the same manner as described above, and the main data of the target file can be finally acquired.

このように、目的のファイルのフルパスのうち、いずれかのディレクトリの親ディレクトリ情報が親ディレクトリ情報テーブル1600登録されている場合には、これを利用して効率的に目標のファイルを取得することができる。   As described above, when the parent directory information of any directory in the full path of the target file is registered in the parent directory information table 1600, the target file can be efficiently obtained using this. it can.

以上のように本実施形態によれば、着脱可能な記憶媒体としてのメモリカードにデータの読み出し、書き込み、新規作成、又は、削除を行う場合に、アクセス済みのディレクトリのエントリ情報を利用することができる。よって、各階層の情報を予めメモリ内に全て確保しておく必要もなく、メモリ容量の小さなシステムであっても、効率的にメモリカードへのアクセスを行うことができる。   As described above, according to the present embodiment, the entry information of the accessed directory can be used when data is read from, written to, newly created, or deleted from a memory card as a removable storage medium. it can. Therefore, it is not necessary to reserve all the information of each layer in the memory in advance, and even a system with a small memory capacity can efficiently access the memory card.

また、アクセス対象のデータは、同一ディレクトリ内で最後にアクセスされたデータが記録されている位置を利用して探索を行うことができる。これにより、ディレクトリ内の全データに順にアクセスするよりも、高速に目的とするデータにたどり着くことが可能となる。   Further, the data to be accessed can be searched using the position where the last accessed data is recorded in the same directory. This makes it possible to reach the target data at a higher speed than accessing all data in the directory in order.

[その他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
[Other Embodiments]
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, and a printer), and a device (for example, a copying machine and a facsimile device) including a single device. You may apply to.

また、本発明の目的は、前述した機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムに供給し、そのシステムがプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現し、そのプログラムコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。   The object of the present invention can also be achieved by supplying a storage medium storing software program codes for realizing the above-described functions to the system, and the system reading and executing the program codes. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. In addition, an operating system (OS) running on a computer performs part or all of actual processing based on an instruction of the program code, and the above-described functions are realized by the processing.

さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。   Furthermore, you may implement | achieve with the following forms. That is, the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer. Then, based on the instruction of the program code, the case where the above-described functions are realized by the CPU included in the function expansion card or the function expansion unit performing part or all of the actual processing is also included.

本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。   When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the flowcharts described above.

本発明の実施形態に対応するデータ処理システムの構成の一例を示す図である。It is a figure which shows an example of a structure of the data processing system corresponding to embodiment of this invention. 本発明の実施形態に対応するデータ処理装置1での全体処理の一例を示すフローチャートである。It is a flowchart which shows an example of the whole process in the data processor 1 corresponding to embodiment of this invention. 本発明の実施形態に対応する読み出し処理のサブルーチン一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of the read-out process corresponding to embodiment of this invention. 本発明の実施形態に対応する書き込み処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of the write processing corresponding to embodiment of this invention. 本発明の実施形態に対応する新規作成処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of the new creation process corresponding to embodiment of this invention. 本発明の実施形態に対応する削除処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of the deletion process corresponding to embodiment of this invention. 本発明の実施形態に対応するエントリ情報の取得処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of the acquisition process of the entry information corresponding to embodiment of this invention. 本発明の実施形態に対応するエントリ情報検索処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of the entry information search process corresponding to embodiment of this invention. 本発明の実施形態に対応する空きエントリ確保の処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of the process of the empty entry ensuring corresponding to embodiment of this invention. 本発明の実施形態に対応する空きエントリ検索処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of the empty entry search process corresponding to embodiment of this invention. 本発明の実施形態に対応する親ディレクトリ情報取得処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of the parent directory information acquisition process corresponding to embodiment of this invention. 本発明の実施形態に対応するディレクトリ情報を保持する処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of the process which hold | maintains the directory information corresponding to embodiment of this invention. 本発明の実施形態に対応するメモリカード2内におけるデータ構造の一例を簡略的に示す図である。It is a figure which shows simply an example of the data structure in the memory card 2 corresponding to embodiment of this invention. 本発明の実施形態に対応するエントリ情報のデータ構成の一例を示す図である。It is a figure which shows an example of the data structure of the entry information corresponding to embodiment of this invention. 本発明の実施形態に対応するメモリカード2に格納されたデータのディレクトリ構造の一例を示す図である。It is a figure which shows an example of the directory structure of the data stored in the memory card 2 corresponding to embodiment of this invention. 本発明の実施形態に対応する親ディレクトリ情報テーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the parent directory information table corresponding to embodiment of this invention. 本発明の実施形態に対応する、親ディレクトリ情報テーブルの登録状態の一例を示す図である。It is a figure which shows an example of the registration state of the parent directory information table corresponding to embodiment of this invention. 本発明の実施形態に対応する、親ディレクトリ情報テーブルの登録状態の他の一例を示す図である。It is a figure which shows another example of the registration state of the parent directory information table corresponding to embodiment of this invention.

Claims (16)

外部装置と接続し、データを階層構造において保持する不揮発性記憶媒体を装着可能なデータ処理装置であって、
前記外部装置からの前記不揮発性記憶媒体へのアクセス要求を受け付ける受付手段と、
前記アクセス要求に含まれる、アクセス対象を特定するための階層情報を抽出する抽出手段と、
前記不揮発性記憶媒体において、所定の階層に属するデータの記憶位置に関する記憶位置情報を記憶する記憶手段と、
抽出された前記階層情報と、前記記憶位置情報とに基づいて、前記不揮発性記憶媒体における前記アクセス対象の記憶位置を含むエントリ情報を、前記不揮発性記憶媒体から取得するエントリ情報取得手段と、
前記エントリ情報に基づいて、前記不揮発性記憶媒体に記録された前記アクセス対象のデータにアクセスするアクセス手段と
を備え、
前記エントリ情報取得手段は、
前記アクセス対象が属する第1の階層についての第1の記憶位置情報が前記記憶手段に記憶されているか否かを判定する第1の判定手段と、
前記第1の判定手段により前記第1の記憶位置情報が記憶されていないと判定された場合に、前記階層情報において前記第1の階層より上位で、かつ、前記記憶手段に前記記憶位置情報が記憶されている階層のうち、前記第1の階層に最も近い第2の階層を探索する探索手段と、
前記探索手段により前記第2の階層が探索された場合に、該第2の階層の第2の記憶位置情報を利用して、該第2の階層に属する第3の階層の前記エントリ情報を取得し、取得したエントリ情報に基づいて前記第3の階層の第3の記憶位置情報を生成し、前記記憶手段に書き込む書込手段とを備え、
前記探索手段及び前記書込手段における処理は、前記第1の記憶位置情報が、前記第3の記憶位置情報として前記記憶手段に書き込まれるまで繰り返され、
前記記憶手段に記憶された前記第1の記憶位置情報に基づいて、前記アクセス対象の前記エントリ情報を前記不揮発性記憶媒体から取得することを特徴とするデータ処理装置。
A data processing device that can be connected to an external device and can be loaded with a nonvolatile storage medium that holds data in a hierarchical structure,
Accepting means for accepting an access request to the nonvolatile storage medium from the external device;
Extraction means for extracting hierarchical information for specifying an access target included in the access request;
In the non-volatile storage medium, storage means for storing storage position information related to storage positions of data belonging to a predetermined hierarchy;
Entry information acquisition means for acquiring, from the nonvolatile storage medium, entry information including the storage position to be accessed in the nonvolatile storage medium based on the extracted hierarchical information and the storage position information;
Access means for accessing the access target data recorded in the nonvolatile storage medium based on the entry information;
The entry information acquisition means includes
First determination means for determining whether or not first storage position information for a first hierarchy to which the access target belongs is stored in the storage means;
When it is determined by the first determination means that the first storage position information is not stored, the storage position information is higher than the first hierarchy in the hierarchy information and the storage means stores the storage position information. Search means for searching for a second hierarchy closest to the first hierarchy among the stored hierarchies;
When the second hierarchy is searched by the search means, the entry information of the third hierarchy belonging to the second hierarchy is acquired using the second storage position information of the second hierarchy. And writing means for generating third storage position information of the third hierarchy based on the acquired entry information and writing to the storage means,
The processing in the searching means and the writing means is repeated until the first storage position information is written in the storage means as the third storage position information,
The data processing apparatus, wherein the entry information to be accessed is acquired from the nonvolatile storage medium based on the first storage position information stored in the storage means.
前記探索手段において、前記第2の階層が探索できなかった場合に、
前記書込手段は、前記不揮発性記憶媒体のルートディレクトリに記憶されたデータのうち、前記階層情報において前記ルートディレクトリの直下に属する階層のエントリ情報を取得し、該エントリ情報に基づいて前記第3の記憶位置情報を生成することを特徴とする請求項1に記載のデータ処理装置。
In the search means, when the second hierarchy cannot be searched,
The writing means obtains entry information of a hierarchy that belongs immediately below the root directory in the hierarchy information from data stored in a root directory of the nonvolatile storage medium, and the third information is based on the entry information. The data processing apparatus according to claim 1, wherein the storage position information is generated.
前記記憶位置情報には、前記所定の階層に属するデータの前記エントリ情報が前記不揮発性記憶媒体において記録されている位置の情報と、該エントリ情報のうち、最後に利用されたエントリ情報を特定するための情報とが含まれることを特徴とする請求項1又は2に記載のデータ処理装置。   The storage location information specifies the location information where the entry information of the data belonging to the predetermined hierarchy is recorded in the nonvolatile storage medium, and the entry information used last among the entry information The data processing apparatus according to claim 1, further comprising: 前記書込手段は、前記第3の階層の前記エントリ情報を取得する際に、前記第2の記憶位置情報に含まれる前記最後に利用されたエントリ情報を特定するための情報に基づいて、該情報に対応する前記エントリ情報の周辺を探索し、該周辺に前記第3の階層のエントリ情報が含まれない場合に、前記第2の記憶位置情報に基づき取得される全てのエントリ情報について探索を行うことを特徴とする請求項3に記載のデータ処理装置。   The writing means, when acquiring the entry information of the third hierarchy, based on information for specifying the last used entry information included in the second storage location information, Search the periphery of the entry information corresponding to the information, and search for all the entry information acquired based on the second storage position information when the periphery does not include the entry information of the third hierarchy The data processing apparatus according to claim 3, wherein the data processing apparatus performs the processing. 前記記憶位置情報には、新たなエントリ情報の書き込みを開始可能な位置の情報が更に含まれ、
前記アクセス要求には、少なくともデータの読み出し、書き込み、新規作成及び削除のいずれかが含まれ、前記アクセス要求がデータの新規作成要求であった場合に、
前記エントリ情報取得手段は、前記第1の記憶位置情報と、前記新たなエントリ情報の書き込みを開始可能な位置の情報とに基づいて、エントリ情報を新規に作成可能な領域を確保し、
前記アクセス手段は、該領域に初期状態のエントリ情報を作成することを特徴とする請求項3又は4に記載のデータ処理装置。
The storage position information further includes information on a position where writing of new entry information can be started,
The access request includes at least one of data reading, writing, new creation and deletion, and when the access request is a data new creation request,
The entry information acquisition means secures an area where entry information can be newly created based on the first storage position information and information on a position where writing of the new entry information can be started,
5. The data processing apparatus according to claim 3, wherein the access unit creates entry information in an initial state in the area.
前記記憶手段では、所定数の前記記憶位置情報が、前記書込手段において前記利用または前記書込がなされた順に順番が割り当てられて記憶され、
前記書込手段は、新たな書込により前記所定数を超えることとなる場合に、前記順番の古い記憶位置情報を削除して、該新たな書込を行うことを特徴とする請求項1乃至5のいずれかに記載のデータ処理装置。
In the storage means, a predetermined number of the storage position information is stored in an order assigned in the order in which the writing means uses or writes the information.
2. The writing unit according to claim 1, wherein when the predetermined number is exceeded by new writing, the writing unit deletes the old storage position information and performs the new writing. The data processing device according to any one of 5.
前記第1の判定手段により、前記第1の記憶位置情報が記憶されていると判定された場合に、前記第1の記憶位置情報には最も新しい記憶位置情報について与えられる順番が割り当てられることを特徴とする請求項6に記載のデータ処理装置。   When the first determination unit determines that the first storage position information is stored, the first storage position information is assigned an order given to the newest storage position information. The data processing apparatus according to claim 6, characterized in that: 外部装置と接続し、データを階層構造において保持する不揮発性記憶媒体を装着可能で、該不揮発性記憶媒体において、所定の階層に属するデータの記憶位置に関する記憶位置情報を記憶する記憶部を備えるデータ処理装置の制御方法であって、
前記外部装置からの前記不揮発性記憶媒体へのアクセス要求を受け付ける受付工程と、
前記アクセス要求に含まれる、アクセス対象を特定するための階層情報を抽出する抽出工程と、
抽出された前記階層情報と、前記記憶位置情報とに基づいて、前記不揮発性記憶媒体における前記アクセス対象の記憶位置を含むエントリ情報を、前記不揮発性記憶媒体から取得するエントリ情報取得工程と、
前記エントリ情報に基づいて、前記不揮発性記憶媒体に記録された前記アクセス対象のデータにアクセスするアクセス工程と
を備え、
前記エントリ情報取得工程では、
前記アクセス対象が属する第1の階層についての第1の記憶位置情報が前記記憶部に記憶されているか否かを判定する第1の判定工程と、
前記第1の判定工程において前記第1の記憶位置情報が記憶されていないと判定された場合に、前記階層情報において前記第1の階層より上位で、かつ、前記記憶部に前記記憶位置情報が記憶されている階層のうち、前記第1の階層に最も近い第2の階層を探索する探索工程と、
前記探索工程において前記第2の階層が探索された場合に、該第2の階層の第2の記憶位置情報を利用して、該第2の階層に属する第3の階層の前記エントリ情報を取得し、取得したエントリ情報に基づいて前記第3の階層の第3の記憶位置情報を生成し、前記記憶部に書き込む書込工程とを備え、
前記探索工程及び書込工程における処理は、前記第1の記憶位置情報が、前記第3の記憶位置情報として前記記憶部に書き込まれるまで繰り返され、
前記記憶部に記憶された前記第1の記憶位置情報に基づいて、前記アクセス対象の前記エントリ情報が前記不揮発性記憶媒体から取得されることを特徴とするデータ処理装置の制御方法。
A non-volatile storage medium that can be connected to an external device and that holds data in a hierarchical structure can be mounted, and the non-volatile storage medium includes data that includes a storage unit that stores storage location information regarding the storage location of data belonging to a predetermined hierarchy A method for controlling a processing apparatus, comprising:
An accepting step of accepting an access request to the nonvolatile storage medium from the external device;
An extraction step for extracting hierarchical information for specifying an access target included in the access request;
An entry information acquisition step for acquiring, from the nonvolatile storage medium, entry information including the storage position to be accessed in the nonvolatile storage medium based on the extracted hierarchical information and the storage position information;
An access step of accessing the access target data recorded in the nonvolatile storage medium based on the entry information;
In the entry information acquisition step,
A first determination step of determining whether or not first storage position information about a first hierarchy to which the access target belongs is stored in the storage unit;
When it is determined that the first storage position information is not stored in the first determination step, the storage position information is higher in the hierarchy information than the first hierarchy and the storage unit stores the storage position information. A search step of searching for a second layer closest to the first layer among the stored layers;
When the second hierarchy is searched in the search step, the entry information of the third hierarchy belonging to the second hierarchy is acquired using the second storage position information of the second hierarchy And generating a third storage position information of the third hierarchy based on the acquired entry information, and writing to the storage unit,
The processing in the search step and the writing step is repeated until the first storage position information is written in the storage unit as the third storage position information.
A control method for a data processing apparatus, wherein the entry information to be accessed is acquired from the nonvolatile storage medium based on the first storage position information stored in the storage unit.
前記探索工程において、前記第2の階層が探索できなかった場合に、
前記書込工程では、前記不揮発性記憶媒体のルートディレクトリに記憶されたデータのうち、前記階層情報において前記ルートディレクトリの直下に属する階層のエントリ情報を取得し、該エントリ情報に基づいて前記第3の記憶位置情報を生成することを特徴とする請求項8に記載のデータ処理装置の制御方法。
In the search step, when the second hierarchy cannot be searched,
In the writing step, from the data stored in the root directory of the non-volatile storage medium, entry information of a hierarchy that belongs immediately below the root directory in the hierarchy information is acquired, and the third information is obtained based on the entry information. 9. The method of controlling a data processing apparatus according to claim 8, wherein the storage location information is generated.
前記記憶位置情報には、前記所定の階層に属するデータの前記エントリ情報が前記不揮発性記憶媒体において記録されている位置の情報と、該エントリ情報のうち、最後に利用されたエントリ情報を特定するための情報とが含まれることを特徴とする請求項8又は9に記載のデータ処理装置の制御方法。   The storage location information specifies the location information where the entry information of the data belonging to the predetermined hierarchy is recorded in the nonvolatile storage medium, and the entry information used last among the entry information 10. The method for controlling a data processing apparatus according to claim 8 or 9, wherein information for the data processing is included. 前記書込工程では、前記第3の階層の前記エントリ情報を取得する際に、前記第2の記憶位置情報に含まれる前記最後に利用されたエントリ情報を特定するための情報に基づいて、該情報に対応する前記エントリ情報の周辺を探索し、該周辺に前記第3の階層のエントリ情報が含まれない場合に、前記第2の記憶位置情報に基づき取得される全てのエントリ情報について探索を行うことを特徴とする請求項10に記載のデータ処理装置の制御方法。   In the writing step, when acquiring the entry information of the third hierarchy, based on information for specifying the last used entry information included in the second storage location information, Search the periphery of the entry information corresponding to the information, and search for all the entry information acquired based on the second storage position information when the periphery does not include the entry information of the third hierarchy The method for controlling a data processing apparatus according to claim 10, wherein the method is performed. 前記記憶位置情報には、新たなエントリ情報の書き込みを開始可能な位置の情報が更に含まれ、
前記アクセス要求には、少なくともデータの読み出し、書き込み、新規作成及び削除のいずれかが含まれ、前記アクセス要求がデータの新規作成要求であった場合に、
前記エントリ情報取得工程では、前記第1の記憶位置情報と、前記新たなエントリ情報の書き込みを開始可能な位置の情報とに基づいて、エントリ情報を新規に作成可能な領域を確保し、
前記アクセス工程では、該領域に初期状態のエントリ情報を作成することを特徴とする請求項10又は11に記載のデータ処理装置の制御方法。
The storage position information further includes information on a position where writing of new entry information can be started,
The access request includes at least one of data reading, writing, new creation and deletion, and when the access request is a data new creation request,
In the entry information acquisition step, based on the first storage position information and information on a position where writing of the new entry information can be started, an area where entry information can be newly created is secured,
12. The method according to claim 10, wherein in the access step, entry information in an initial state is created in the area.
前記記憶部には、所定数の前記記憶位置情報が、前記書込工程において前記利用または前記書込がなされた順に順番が割り当てられて記憶され、
前記書込工程では、新たな書込により前記所定数を超えることとなる場合に、前記順番の古い記憶位置情報を削除して、該新たな書込を行うことを特徴とする請求項8乃至12のいずれかに記載のデータ処理装置の制御方法。
In the storage unit, a predetermined number of the storage position information is stored in an order assigned in the order in which the use or the writing is performed in the writing step,
9. The writing step according to claim 8, wherein when the predetermined number is exceeded by new writing, the old storage position information is deleted and the new writing is performed. 12. A method for controlling a data processing apparatus according to any one of claims 12 to 13.
前記第1の判定工程において、前記第1の記憶位置情報が記憶されていると判定された場合に、前記第1の記憶位置情報には最も新しい記憶位置情報について与えられる順番が割り当てられることを特徴とする請求項13に記載のデータ処理装置の制御方法。   In the first determination step, when it is determined that the first storage position information is stored, the first storage position information is assigned an order given to the newest storage position information. The method of controlling a data processing apparatus according to claim 13, wherein: 請求項8乃至14のいずれかに記載のデータ処理装置の制御方法をコンピュータに実行させるためのコンピュータプログラム。   A computer program for causing a computer to execute the control method of the data processing device according to claim 8. 請求項15に記載のコンピュータプログラムを記憶したコンピュータで読み取り可能な記憶媒体。   A computer-readable storage medium storing the computer program according to claim 15.
JP2005302162A 2005-10-17 2005-10-17 Data processing apparatus, control method therefor, computer program, and storage medium Expired - Fee Related JP4953612B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005302162A JP4953612B2 (en) 2005-10-17 2005-10-17 Data processing apparatus, control method therefor, computer program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005302162A JP4953612B2 (en) 2005-10-17 2005-10-17 Data processing apparatus, control method therefor, computer program, and storage medium

Publications (2)

Publication Number Publication Date
JP2007109181A true JP2007109181A (en) 2007-04-26
JP4953612B2 JP4953612B2 (en) 2012-06-13

Family

ID=38034984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005302162A Expired - Fee Related JP4953612B2 (en) 2005-10-17 2005-10-17 Data processing apparatus, control method therefor, computer program, and storage medium

Country Status (1)

Country Link
JP (1) JP4953612B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026139A (en) * 2007-07-20 2009-02-05 Toshiba Corp Information storage medium and method for relocating file
JP2012088842A (en) * 2010-10-18 2012-05-10 Canon Inc File management device, file management method, and computer program
JP2014106726A (en) * 2012-11-27 2014-06-09 Canon Inc File management device, method for controlling the same, and program
JP2015087979A (en) * 2013-10-31 2015-05-07 富士ゼロックス株式会社 Information processing apparatus and information processing program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816612A (en) * 1994-06-28 1996-01-19 Mitsubishi Electric Corp User interface device and file management system
JPH0836512A (en) * 1994-07-22 1996-02-06 Fuji Xerox Co Ltd Directory retrieval device
JP2000347810A (en) * 1999-06-03 2000-12-15 Nec Corp File device
JP2004295182A (en) * 2003-03-25 2004-10-21 Brother Ind Ltd File access management device
WO2005010757A1 (en) * 2003-07-24 2005-02-03 Matsushita Electric Industrial Co., Ltd. File management method and information processing device
WO2005062184A1 (en) * 2003-12-24 2005-07-07 Matsushita Electric Industrial Co., Ltd. Data processing apparatus and data processing method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816612A (en) * 1994-06-28 1996-01-19 Mitsubishi Electric Corp User interface device and file management system
JPH0836512A (en) * 1994-07-22 1996-02-06 Fuji Xerox Co Ltd Directory retrieval device
JP2000347810A (en) * 1999-06-03 2000-12-15 Nec Corp File device
JP2004295182A (en) * 2003-03-25 2004-10-21 Brother Ind Ltd File access management device
WO2005010757A1 (en) * 2003-07-24 2005-02-03 Matsushita Electric Industrial Co., Ltd. File management method and information processing device
WO2005062184A1 (en) * 2003-12-24 2005-07-07 Matsushita Electric Industrial Co., Ltd. Data processing apparatus and data processing method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026139A (en) * 2007-07-20 2009-02-05 Toshiba Corp Information storage medium and method for relocating file
JP2012088842A (en) * 2010-10-18 2012-05-10 Canon Inc File management device, file management method, and computer program
JP2014106726A (en) * 2012-11-27 2014-06-09 Canon Inc File management device, method for controlling the same, and program
JP2015087979A (en) * 2013-10-31 2015-05-07 富士ゼロックス株式会社 Information processing apparatus and information processing program
US10489027B2 (en) 2013-10-31 2019-11-26 Fuji Xerox Co., Ltd. Information processing apparatus and non-transitory computer readable medium

Also Published As

Publication number Publication date
JP4953612B2 (en) 2012-06-13

Similar Documents

Publication Publication Date Title
KR100975825B1 (en) Memory device, Memory system, and Memory method
JP5082310B2 (en) Data migration apparatus and program
KR100920716B1 (en) Ruggedized block device driver
US9971799B2 (en) Storage device for storing directory entries, directory entry lookup apparatus and method, and storage medium storing directory entry lookup program
KR100389867B1 (en) Flash memory management method
US7694087B2 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
US8122178B2 (en) Filesystem having a filename cache
JP5076736B2 (en) Computer system, storage, access control method, and access control program
JP2006277737A (en) Nonvolatile storage device having address predicting function
US20100293348A1 (en) Apparatus and method of rearranging data and nonvolitile data storage apparatus
JP2000305839A (en) Storage device, storage system, memory managing method, and recording medium
CN101546337A (en) Memory system and data access method
JP6666813B2 (en) Storage device and control method thereof
JP4551328B2 (en) Data area management method in information recording medium, and information processing apparatus using data area management method
JP4953612B2 (en) Data processing apparatus, control method therefor, computer program, and storage medium
JP4755244B2 (en) Information generation method, information generation program, and information generation apparatus
JP2002251310A (en) Method for preparing file system for flash memory
JP2004265110A (en) Metadata arrangement method, program and disk unit
JP4242245B2 (en) Flash ROM control device
JP2023095180A (en) Storage system and method
JP4828917B2 (en) Storage system, computer system, host computer, and data replication method
US20030200232A1 (en) Information processor and program
US8429331B2 (en) Storage optimizations by directory compaction in a fat file system
CN115480692A (en) Data compression method and device
CN114610228A (en) File management system and file management method and device thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110811

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: 20120312

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120313

R151 Written notification of patent or utility model registration

Ref document number: 4953612

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees