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 PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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).
しかし、この方法では、各階層の情報をシステム内のメモリで全て確保しておかなければならないので、メモリ容量の少ないシステムには向かない。また、最初に階層内の情報を全検索しなくてはならないため初期動作が重くなるという問題がある。
そこで、本発明はメモリ容量の少ないシステムにおいても、階層構造を持つファイルシステムへのアクセスを高速化することを可能とすることを目的とする。 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,
データ処理装置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
なお、本実施形態では不揮発性メモリを着脱可能なメモリカード2として説明しているが、メモリカード2は着脱不可能な不揮発性メモリとして構成してもよい。また、メモリカード2は、不揮発性メモリとして有線/無線で接続された外部ストレージとして構成されても良い。
In the present embodiment, the nonvolatile memory is described as the
次に、図13及び14を参照して、メモリカード2上に構築されるファイルシステムの一例を説明する。図13は、メモリカード2上のデータ構造の一例を簡略的に示す図であり、図14は、エントリ情報のデータ構成の一例を示す図である。
Next, an example of a file system constructed on the
図13において、1301は、マスタブートレコーダ(MBR)である。1302はブートセクタであり、1303はFATである。FATには、メモリカード2上の全クラスタに対応したFATエントリの表が格納されている。FATエントリは各クラスタについて、空き領域であるか(0)、ファイルの最終クラスタであるか、または、ファイルがそのクラスタの次にどこに格納されているかを示すいずれかの値となる。
In FIG. 13,
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
図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.
図13において、エントリ情報1304及び1305の属性は“ファイル”であり、エントリ情報1306の属性は“ディレクトリ”であり、エントリ情報1307の属性は“空き領域”ということになる。
In FIG. 13, the attribute of the
また、ファイル1についてのエントリ情報1304の開始クラスタ番号1409には、ファイル1の本体データ1308が格納されているクラスタの内、先頭のクラスタ番号が格納されていることととなる。この開始クラスタ番号1409と、FAT1303におけるクラスタチェーン、更にはデータサイズ1410に基づいて、ファイル1の本体データ1308にアクセスすることができる。
In addition, the
更に、ディレクトリ1についてのエントリ情報1306の開始クラスタ番号1409には、ディレクトリ1に含まれるデータのエントリ情報の開始クラスタ番号が格納されている。この開始クラスタ番号1409と、FAT1303におけるクラスタチェーン、更にはデータサイズ1410に基づいて、ディレクトリ1に含まれる全データのエントリ情報にアクセスすることができる。図13の場合、ディレクトリ1の本体データとして、ファイル3のエントリ情報1310、ファイル4のエントリ情報1311、サブディレクトリ1のエントリ情報1312及びサブディレクトリ2のエントリ情報1313が格納されていることになる。
Further, the
ここで、ファイル3及びファイル4については、上記のファイル1と同様にして本体データ1314及び1315にアクセスすることができる。また、ディレクトリ1と同様にしてサブディレクトリ1及びサブディレクトリ2に含まれるエントリ情報1316及び1317にアクセスすることができる。
Here, the
次に、図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
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
次に、図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
LRU1601は、登録された親ディレクトリ情報の新しさを示しており、番号が若い情報ほど、最新に登録されたこととなる。例えば、ディレクトリ名1602が"/DIR1000"の親ディレクトリ情報と"/DIR1000/DIR1100"の親ディレクトリ情報とを比較すると、"/DIR1000"の方が先にテーブル1600に登録されたことが分かる。このようにして、新しく登録されるたびにLRU1601が繰り上がっていき、古いものから順に、親ディレクトリ情報テーブル1600から削除されていくこととなる。
The
ディレクトリ名1602は、フルパスのディレクトリ名を登録している。たとえば、"DIR1110"についてディレクトリ名1602を登録する場合には、フルパスで"/DIR1000/DIR1100/DIR1110"と登録される。クラスタチェーン1603は、ディレクトリの本体データを記録しているクラスタのチェーンであり、開始クラスタ番号1409とFAT1303に登録されているクラスタチェーンとを組み合わせたものが登録される。即ち、このクラスタチェーン1603を利用することで、メモリカード2自体のFAT1303を参照しなくとも、目的とするディレクトリ内のエントリをメモリカード2から読み出すことが可能となる。
The
空きエントリ1604には、ディレクトリ名1602のディレクトリに含まれる空きエントリのうち最初の空きエントリの番号が登録される。尚、エントリ情報1400は32バイトのデータとして格納されるので、この番号により、最初の空きエントリの開始位置を特定することができる。また、最終アクセスエントリ1605には、ディレクトリ内で最後にアクセスされたエントリの番号が登録される。この番号により、空きエントリの開始位置と同様に最終アクセスエントリの開始位置を特定することができる。
In the
次に、本発明の実施形態に対応するデータ処理装置1における処理を説明する。
Next, processing in the
<全体処理>
図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
なお、ステップ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
ステップ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
ステップ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
ステップ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
ステップ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
ステップS106では、受け付けた要求がデータ処理装置1が対応できない要求であるとして、ステップS107でエラーを外部装置3に返す。また、ステップS108からステップS111までの処理を行った場合、ステップS107において処理結果を外部装置3に返す。
In step S106, an error is returned to the
<読み出し処理>
次に、ステップ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,
一方、読み出しが要求されたデータのエントリ情報1400が存在し、取得できた場合には(ステップS201において「YES」)、ステップS202に移行する。ステップS202では、取得したエントリ情報1400に基づいて、メモリカード2から、要求に係るデータの本体データを揮発性メモリ12に読み出す。
On the other hand, if the
次に、ステップ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
ステップS204では、揮発性メモリ12に読み出された要求対象のデータと、要求された読出処理が成功した旨の通知を、本サブルーチンの呼び出し元に返す。ステップS205では、要求された読み出しが正常に行えなかった旨のエラー通知(読出エラー通知)を本サブルーチンの呼び出し元に返す。
In step S204, the request target data read to the
<書き込み処理>
次に、ステップ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,
一方、書き込みが要求されたデータのエントリ情報1400が存在し、取得できた場合には(ステップS301において「YES」)、ステップS302に移行する。ステップS302では、外部装置3から書き込みのために取得したデータを、エントリ情報1400から判断したメモリカード2のメディアアクセス位置に書き込む。この際、メモリカード2に保持されているエントリ情報1400の内容も更新される。
On the other hand, if the
次に、ステップ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
ステップ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
一方、空きエントリを確保できた場合には(ステップ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
初期状態のエントリ情報1400の作成に成功した場合は(ステップS403において「YES」)、ステップS404において新規作成処理が成功した旨の通知を、本サブルーチンの呼び出し元に返す。一方、初期状態のエントリ情報1400の作成に失敗した場合は(ステップS403において「NO」)、ステップS405に移行して、処理失敗通知を本サブルーチンの呼び出し元に返す。
If the
<削除処理>
次に、ステップ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,
一方、削除が要求されたデータのエントリ情報1400が存在し、取得できた場合には(ステップS501において「YES」)、ステップS502に移行する。ステップS502では、削除要求に係るデータの本体データをメモリカード2から消去する。更に、ステップS503に移行して、メモリカード2内に保持されている対応するエントリ情報を空き状態に変更する。この変更は、エントリ情報1400における属性1403の値を“空き状態”を示す値に変更することにより行うことができる。また、削除要求の対象がディレクトリの場合には、ステップS504において揮発性メモリ12の親ディレクトリ情報テーブル1600に登録されている該ディレクトリの親ディレクトリ情報も併せて消去する。
On the other hand, if the
上記のステップ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において行われるものである。
<
Next, the acquisition process of the
図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
一方、親ディレクトリ情報が取得できた場合には(ステップ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
<エントリ情報1400の検索処理>
次に、図8を参照して、エントリ情報1400の検索処理について説明する。図8は、該処理のサブルーチンのフローチャートである。このエントリ情報1400の検索処理は、図7のステップS602及び後述する図11のステップS1006において行われるものである。
<Search processing of
Next, the
まず、ステップ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
一方、エントリ情報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
<空きエントリ確保のための処理>
次に、図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
一方、親ディレクトリ情報を取得できた場合には(ステップ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
一方、親ディレクトリ領域を拡張できなかった場合(ステップ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
もし、空きエントリ1604が登録されている場合は(ステップS901において「YES」)、ステップS902において、該空きエントリを本サブルーチンの呼び出し元に返す。一方、空きエントリ1604が登録されていない場合は(ステップS901において「NO」)、ステップS903において空きエントリが存在しない旨の通知(空きエントリ不存在通知)を本サブルーチンの呼び出し元に返す。
If the
<親ディレクトリ情報の取得処理>
次に、親ディレクトリ情報の取得のため処理の一例を、図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
一方、該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
なお、ステップ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
ステップ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
<親ディレクトリ情報の登録処理>
次に、親ディレクトリ情報をテーブル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
一方、該テーブル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
<親ディレクトリ情報取得の具体例>
以下、図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
まず、ステップ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
親ディレクトリ情報テーブル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
ステップ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
該呼び出し元とは、”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
ここで、”DIR1100”のエントリ情報1400が見つかれば(ステップS1008において「YES」)、ステップS1009に移行する。ステップS1009では、該エントリ情報1400に基づいて、”DIR1100”の親ディレクトリ情報が親ディレクトリ情報テーブル1600に登録される(図17(c))。このとき、先に登録されていた”DIR1000”の親ディレクトリ情報は、LRU1601の値が変更され、”DIR1100”の親ディレクトリ情報よりも古い情報となる。
If
次に、ステップ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
”DIR1110”のエントリ情報1400が見つかれば(ステップS1008において「YES」)、ステップS1009に移行する。ステップS1009では、該エントリ情報1400に基づいて、”DIR1110”の親ディレクトリ情報が親ディレクトリ情報テーブル1600に登録される(図17(d))。このとき、先に登録されていた”DIR1000”及び”DIR1100”の親ディレクトリ情報は、LRU1601の値が変更され、”DIR1110”の親ディレクトリ情報よりも古い情報となる。
If
次に、ステップ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
なお、”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
以上のように、親ディレクトリ情報テーブル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
<具体例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
ここで取得された親ディレクトリ情報が親ディレクトリ情報テーブル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
また、取得された”DIR1211”の親ディレクトリ情報に基づき、”FIL1211A.TXT”のエントリ情報1400も上記と同様に取得でき、最終的に目的とするファイルの本体データを取得できる。
Further, based on the acquired parent directory information of “DIR1211”, the
このように、目的のファイルのフルパスのうち、いずれかのディレクトリの親ディレクトリ情報が親ディレクトリ情報テーブル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.
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.
前記書込手段は、前記不揮発性記憶媒体のルートディレクトリに記憶されたデータのうち、前記階層情報において前記ルートディレクトリの直下に属する階層のエントリ情報を取得し、該エントリ情報に基づいて前記第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の記憶位置情報と、前記新たなエントリ情報の書き込みを開始可能な位置の情報とに基づいて、エントリ情報を新規に作成可能な領域を確保し、
前記アクセス手段は、該領域に初期状態のエントリ情報を作成することを特徴とする請求項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の判定工程と、
前記第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.
前記書込工程では、前記不揮発性記憶媒体のルートディレクトリに記憶されたデータのうち、前記階層情報において前記ルートディレクトリの直下に属する階層のエントリ情報を取得し、該エントリ情報に基づいて前記第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.
前記アクセス要求には、少なくともデータの読み出し、書き込み、新規作成及び削除のいずれかが含まれ、前記アクセス要求がデータの新規作成要求であった場合に、
前記エントリ情報取得工程では、前記第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.
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)
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)
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 |
-
2005
- 2005-10-17 JP JP2005302162A patent/JP4953612B2/en not_active Expired - Fee Related
Patent Citations (6)
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)
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 |