JP2008009688A - Data access system, data access program, and data access method - Google Patents

Data access system, data access program, and data access method Download PDF

Info

Publication number
JP2008009688A
JP2008009688A JP2006179118A JP2006179118A JP2008009688A JP 2008009688 A JP2008009688 A JP 2008009688A JP 2006179118 A JP2006179118 A JP 2006179118A JP 2006179118 A JP2006179118 A JP 2006179118A JP 2008009688 A JP2008009688 A JP 2008009688A
Authority
JP
Japan
Prior art keywords
data
small memory
storage medium
free
cluster
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.)
Pending
Application number
JP2006179118A
Other languages
Japanese (ja)
Inventor
Masafumi Mori
雅史 森
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006179118A priority Critical patent/JP2008009688A/en
Publication of JP2008009688A publication Critical patent/JP2008009688A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data access system, a data access program and a data access method for suitably improving the processing efficiency of the writing processing of data in a storage medium. <P>SOLUTION: This data access system 100 is provided with a cluster continuity analysis part 10 for analyzing the address continuity of an empty cluster region in a second storage device 300 detected an empty cluster region detection part 18; a reading part 12 for reading a data file from a first storage device 200; a model specification part 14 for specifying the model of the second storage device 300; a memory capacity comparison part 16 for comparing the memory capacity value of the second storage device 300 with a predetermined threshold; an empty cluster region detection part 18 for detecting the empty cluster region for the data quantity of the read data file in the second storage device 300 based on the specification result and the comparison result; and a writing part 20 for writing the data file in the empty cluster region based on the detection result or the analysis result. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、記憶媒体とのデータアクセスを行うシステムに係り、特に、効率の良いデータアクセスを行うのに好適なデータアクセスシステム、データアクセスプログラム及びデータアクセス方法に関する。   The present invention relates to a system for performing data access to a storage medium, and more particularly, to a data access system, a data access program, and a data access method suitable for performing efficient data access.

従来、ディスク型の記憶媒体(以下、記憶ディスクと称す)へのデータアクセス技術として、FAT型のフォーマットを採用したFATファイルシステムがある。FATファイルシステムでは、記憶ディスクの記憶領域を、数百〜数千バイトのセクタと呼ばれる単位で分割する。そして、1つ以上の連続したセクタを1つにまとめたクラスタと呼ばれる単位を基本のアクセス単位としている。記憶ディスクの記憶容量(メモリサイズ)によって、FATのタイプ(FAT12、FAT16、FAT32など)とクラスタサイズが決められる。また、FAT型のフォーマットがされた記憶ディスクには、特定位置に、FAT(File Allocation Table)が格納される。FATは、ファイルを格納するのに、記憶ディスク上のどのクラスタがどのような順番で利用されているかをファイル1つ1つについて記憶したデータテーブルである。   2. Description of the Related Art Conventionally, there is a FAT file system that employs a FAT type format as a data access technology to a disk type storage medium (hereinafter referred to as a storage disk). In the FAT file system, the storage area of the storage disk is divided into units called sectors of hundreds to thousands of bytes. A unit called a cluster in which one or more continuous sectors are combined into one is used as a basic access unit. The FAT type (FAT12, FAT16, FAT32, etc.) and the cluster size are determined by the storage capacity (memory size) of the storage disk. In addition, a FAT (File Allocation Table) is stored at a specific position on the storage disk formatted in the FAT format. The FAT is a data table that stores, for each file, which cluster on the storage disk is used in what order to store the file.

このFATファイルシステムにおいては、記憶ディスクに対してデータ(ファイル)の読み出し及び書き込みをクラスタ単位で行うため、クラスタサイズが小さく且つファイルサイズが大きいような場合に、アクセス回数が多くなるため、処理効率が低下してしまうという問題があった。
このような問題を解決する技術として、特許文献1に記載のファイルシステムなどがある。
In this FAT file system, data (files) are read from and written to the storage disk in units of clusters. Therefore, when the cluster size is small and the file size is large, the number of accesses increases, so processing efficiency is increased. There was a problem that would decrease.
As a technique for solving such a problem, there is a file system described in Patent Document 1.

特許文献1のファイルシステムは、記憶メディアのファイルのデータ配置をクラスタ単位で管理する管理エリアの情報(FAT)に基づき、記憶メディアの連続する空きクラスタの領域を予め検索してその位置情報(先頭アドレスなど)をデータテーブル化する。そして、記憶メディアにファイル(データ)の書き込みを行う際には、前記データデーブルを参照して、記憶するファイルの容量を満たす連続する空きクラスタ領域を検出し、当該検出したクラスタ領域にファイルを連続して書き込みする。
特開2002−91806号公報
The file system of Patent Literature 1 searches for a continuous free cluster area of a storage medium in advance based on management area information (FAT) for managing the data arrangement of the storage medium file in units of clusters, and stores its position information (first Data table). When writing a file (data) to a storage medium, the data table is referenced to detect a continuous free cluster area that satisfies the capacity of the stored file, and the file is continuously connected to the detected cluster area. And write.
JP 2002-91806 A

しかしながら、上記特許文献1の従来技術においては、ファイルの書込時において、連続している空きクラスタの領域のみにデータを書き込むため、不連続となっている空きクラスタの領域が使用されないことになる。そのため、不連続となる空きクラスタが多いような場合や、メモリサイズの比較的小さい記憶メディアにおいては、メモリの使用効率が大幅に悪化してしまうといった問題が生じる。この問題については、特許文献1の中でも述べられており、この問題に対して、高速アクセスを必要としないときは通常のクラスタ単位のアクセスで処理を行うと記載されている。   However, in the prior art disclosed in Patent Document 1, data is written only in a continuous free cluster area at the time of file writing, so that the discontinuous free cluster area is not used. . For this reason, when there are many discontinuous free clusters, or when the storage medium has a relatively small memory size, there arises a problem that the memory use efficiency is greatly deteriorated. This problem is also described in Patent Document 1, and it is described that processing is performed with normal cluster unit access when high speed access is not required.

また、上記特許文献1の従来技術においては、記憶メディアの容量に関係なく上記したデータの連続書込処理を行うため、例えば、メモリ容量が比較的小さい記憶メディアについては、連続する空きクラスタがほとんど無い状態にも関わらず、上記したテーブル化処理や、構造体の更新処理等の処理が行われるため、処理効率が低下する恐れがある。
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、記憶媒体へのデータの書込処理の処理効率を改善すると共に、メモリの使用効率を考慮した適切な書込処理方法でデータの書込処理を行うことが可能なデータアクセスシステム、データアクセスプログラム及びデータアクセス方法を提供することを目的としている。
In the prior art disclosed in Patent Document 1, since the above-described continuous data writing process is performed regardless of the capacity of the storage medium, for example, for a storage medium having a relatively small memory capacity, there are almost no continuous free clusters. In spite of the absence, the processing such as the above-mentioned table processing and structure update processing is performed, which may reduce processing efficiency.
Therefore, the present invention has been made paying attention to such an unsolved problem of the conventional technology, and improves the processing efficiency of the data writing process to the storage medium, and also improves the memory usage efficiency. It is an object of the present invention to provide a data access system, a data access program, and a data access method capable of performing data write processing with an appropriate write processing method in consideration of the above.

〔形態1〕 上記目的を達成するために、形態1のデータアクセスシステムは、
複数の所定サイズの小メモリ領域に分割されたメモリ領域を有する記憶媒体の当該小メモリ領域毎のデータ記憶状態を示すメモリ管理情報に基づき、当該記憶媒体に対してデータアクセスを行うデータアクセスシステムであって、
第1記憶媒体の前記メモリ管理情報と、当該第1記憶媒体から読み出すデータの情報とに基づき、当該第1記憶媒体における前記データの格納された小メモリ領域のアドレスの連続性を解析する第1連続性解析手段と、
前記第1連続性解析手段の解析結果に基づき、前記第1記憶媒体から前記データの読み出しを行う読出手段と、
第2記憶媒体の前記メモリ管理情報と、前記読出手段で読み出したデータのデータ量の情報とに基づき、前記第2記憶媒体における前記データ量に応じた数の空き小メモリ領域を検出する空き小メモリ領域検出手段と、
前記空き小メモリ領域検出手段で検出した前記データ量に応じた数の空き小メモリ領域のアドレスの連続性を解析する第2連続性解析手段と、
前記第2連続性解析手段の解析結果に基づき、前記第2記憶媒体に前記データの書き込みを行う書込手段と、を備え、
前記読出手段は、前記第1記憶媒体における前記データの格納されたアドレスの連続する複数の小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の小メモリ領域分の前記データの読み出しを行うと共に、前記第1記憶媒体における他の小メモリ領域のアドレスと不連続となるアドレスの前記データの格納された小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの読み出しを行い、
前記書込手段は、前記データ量に応じた数の空き小メモリ領域におけるアドレスの連続する複数の空き小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の空き小メモリ領域分の前記データの書き込みを行うと共に、前記データ量に応じた数の空き小メモリ領域における、他の空き小メモリ領域のアドレスと不連続となるアドレスの空き小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの書き込みを行うことを特徴としている。
[Mode 1] In order to achieve the above object, a data access system of mode 1 includes:
A data access system for performing data access to a storage medium having a memory area divided into a plurality of small memory areas of a predetermined size based on memory management information indicating a data storage state for each small memory area. There,
Based on the memory management information of the first storage medium and the information of data read from the first storage medium, a first analysis of the continuity of addresses in the small memory area where the data is stored in the first storage medium Continuity analysis means;
Reading means for reading the data from the first storage medium based on the analysis result of the first continuity analysis means;
Based on the memory management information of the second storage medium and the information on the data amount of the data read by the reading means, the number of free small memory areas corresponding to the amount of data in the second storage medium is detected. Memory area detection means;
Second continuity analyzing means for analyzing the continuity of addresses in a number of free small memory areas corresponding to the amount of data detected by the free small memory area detecting means;
Writing means for writing the data to the second storage medium based on the analysis result of the second continuity analysis means;
The reading means, for a plurality of consecutive small memory areas of the data storage address in the first storage medium, the data for the plurality of small memory areas for each data capacity that is the minimum number of accesses. For the small memory area in which the data of the address that is discontinuous with the address of the other small memory area in the first storage medium is stored, the data for each size of the small memory area Read
For the plurality of free small memory areas having consecutive addresses in the number of free small memory areas corresponding to the amount of data, the writing means includes a plurality of free small memory areas for each data capacity corresponding to the minimum access count. For the number of free small memory areas corresponding to the amount of data, and the small free memory area of the address that is discontinuous with the address of the other free small memory areas. The data is written for each size of the memory area.

このような構成であれば、第1連続性解析手段によって、第1記憶媒体の前記メモリ管理情報と、当該第1記憶媒体から読み出すデータの情報とに基づき、当該第1記憶媒体における前記データの格納された小メモリ領域のアドレスの連続性を解析することが可能であり、読出手段によって、前記第1連続性解析手段の解析結果に基づき、前記第1記憶媒体における前記データの格納されたアドレスの連続する複数の小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の小メモリ領域分の前記データの読み出しを行うと共に、前記第1記憶媒体における他の小メモリ領域のアドレスと不連続となるアドレスの前記データの格納された小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの読み出しを行うことが可能である。   With such a configuration, the first continuity analysis unit, based on the memory management information of the first storage medium and the information of the data read from the first storage medium, stores the data in the first storage medium. It is possible to analyze the continuity of the address of the stored small memory area, and based on the analysis result of the first continuity analyzing means, the address where the data is stored in the first storage medium is read by the reading means For the plurality of continuous small memory areas, the data for the plurality of small memory areas is read for each data capacity that is the minimum number of accesses, and other small memory areas in the first storage medium For the small memory area where the data of the address that is discontinuous with the address is stored, the data is read for each size of the small memory area. It is possible.

また、空き小メモリ領域検出手段によって、第2記憶媒体の前記メモリ管理情報と、前記読出手段で読み出したデータのデータ量の情報とに基づき、前記第2記憶媒体における前記データ量に応じた数の空き小メモリ領域を検出することが可能であり、第2連続性解析手段によって、前記空き小メモリ領域検出手段で検出した前記データ量に応じた数の空き小メモリ領域のアドレスの連続性を解析することが可能であり、前記書込手段によって、前記第2連続性解析手段の解析結果に基づき、前記データ量に応じた数の空き小メモリ領域におけるアドレスの連続する複数の空き小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の空き小メモリ領域分の前記データの書き込みを行うと共に、前記データ量に応じた数の空き小メモリ領域における、他の空き小メモリ領域のアドレスと不連続となるアドレスの空き小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの書き込みを行うことが可能である。   Further, the number corresponding to the data amount in the second storage medium based on the memory management information of the second storage medium and the data amount information of the data read by the reading unit by the free small memory area detection unit , The second continuity analysis means can determine the continuity of addresses in the number of free small memory areas corresponding to the amount of data detected by the free small memory area detection means. A plurality of free small memory areas having consecutive addresses in the number of free small memory areas corresponding to the amount of data by the writing means based on the analysis result of the second continuity analyzing means. For each of the data capacities corresponding to the minimum number of accesses, the data for the plurality of free small memory areas is written, and the number corresponding to the data amount In come the small memory area for the free small memory area of the address to be the address and discontinuous other free small memory space, it is possible to write the data for each size of the small memory area.

従って、読出対象のデータがアドレスの連続する小メモリ領域に格納されている場合に、その領域のデータ量分のデータが最小アクセス回数で読み出されるので、データの読み出し効率を向上することができる。また、データ量に応じた数の空き小メモリ領域における、アドレスの連続する複数の空き小メモリ領域に対しては、その領域のデータ量分のデータが最小アクセス回数で書き込まれる。また、データ量に応じた数の空き小メモリ領域における、他の空き小メモリ領域のアドレスと不連続となるアドレスの空き小メモリ領域に対しては、小メモリ領域のデータサイズ毎のデータの書込みが行われる。   Therefore, when the data to be read is stored in a small memory area having continuous addresses, data corresponding to the data amount in the area is read with the minimum number of accesses, so that the data read efficiency can be improved. In addition, in a plurality of free small memory areas having consecutive addresses in a number of free small memory areas corresponding to the data amount, data corresponding to the data amount of the area is written with the minimum number of accesses. In addition, in the number of free small memory areas corresponding to the amount of data, data is written for each data size of the small memory area in the free small memory area whose address is discontinuous with the addresses of the other free small memory areas. Is done.

これによって、小メモリ領域のデータサイズごとにデータのアクセスを行うシステム(例えば、FATファイルシステムなど)に本形態を適用することで、アドレスの連続する複数の空き小メモリ領域(例えば、クラスタ領域)ではデータの読出及び書込におけるアクセス回数を減らすことができるので、第1記憶媒体からのデータの読出処理効率及び第2記憶媒体への当該読み出したデータの書込処理効率を向上することができるという効果が得られる。また、アドレスが不連続となる孤立した空き小メモリ領域に対してもデータの書込みを行うので、メモリの使用効率を悪化させずに、書込処理の処理効率を向上することができるという効果が得られる。つまり、第1記憶媒体から第2記憶媒体へのデータ複写処理の効率を向上することができる。   Thus, by applying this embodiment to a system that accesses data for each data size of a small memory area (for example, a FAT file system), a plurality of free small memory areas (for example, cluster areas) having consecutive addresses are used. Since the number of accesses in reading and writing of data can be reduced, it is possible to improve the efficiency of reading data from the first storage medium and the efficiency of writing the read data to the second storage medium. The effect is obtained. In addition, since data is written even in isolated small free memory areas where the addresses are discontinuous, the processing efficiency of the writing process can be improved without deteriorating the memory usage efficiency. can get. That is, the efficiency of data copy processing from the first storage medium to the second storage medium can be improved.

ここで、記憶媒体は、RAM等の半導体記憶媒体、FD、HD等の磁気記憶型記憶媒体、DVDRAM等の光学的記憶型/光学的読取方式記憶媒体、MO等の磁気記憶型/光学的読取方式記憶媒体であって、電気的、磁気的、光学的等の書き込み方法/読み取り方法のいかんにかかわらず、あらゆる記憶媒体を含むものである。以下のデータアクセスプログラムの形態及びデータアクセス方法の形態について同じである。   Here, the storage medium is a semiconductor storage medium such as RAM, a magnetic storage type storage medium such as FD or HD, an optical storage type / optical reading type storage medium such as DVDRAM, or a magnetic storage type / optical reading type such as MO. It is a type of storage medium, and includes any storage medium regardless of writing / reading methods such as electrical, magnetic, and optical. The following data access program and data access method are the same.

また、メモリ管理情報は、例えば、公知のFATファイルシステムなどにおけるFATなどであり、各小メモリ領域の位置情報と、データの格納された各小メモリ領域の接続情報(例えば、FATファイルシステムにおけるFATエントリ値)などを含んで構成されるものである。以下のデータアクセスプログラムの形態及びデータアクセス方法の形態について同じである。   The memory management information is, for example, FAT in a known FAT file system, etc., and the location information of each small memory area and connection information of each small memory area in which data is stored (for example, FAT in the FAT file system). Entry value) and the like. The following data access program and data access method are the same.

また、最小アクセス回数とは、記憶媒体へのデータ読出処理及びデータ書込処理において、本形態を適用するシステムが一度に転送できる最大データ転送量以内のデータ量によるアクセスで、対象データの読み出し又は書き込みが完了するのに必要なアクセス回数のうち最小となるものである。例えば、書込手段は、各小メモリ領域が512バイトで連続する4つの小メモリ領域が検出され、且つ対象データが1Mバイトで、最大データ転送量が2048バイトである場合に、この連続する4つの小メモリ領域に対しては、対象データの2048バイト分のデータを1回のアクセス(最小アクセス回数)で書き込むこととなる。なお、読み出しについても同様である。以下のプログラムの形態及び方法の形態において同じである。以下のデータアクセスプログラムの形態及びデータアクセス方法の形態について同じである。   Further, the minimum access count is an access with a data amount within the maximum data transfer amount that can be transferred at one time by the system to which the present embodiment is applied in the data read processing and data write processing to the storage medium. This is the smallest number of accesses required to complete the writing. For example, the writing means detects four consecutive small memory areas each having 512 bytes, when the target data is 1 Mbyte and the maximum data transfer amount is 2048 bytes. In one small memory area, data of 2048 bytes of the target data is written by one access (minimum access count). The same applies to reading. The following program forms and method forms are the same. The following data access program and data access method are the same.

また、アドレスの連続性を解析するとは、例えば、1つのデータファイルが、複数の小メモリ領域に渡って分割して格納されているときに、これら小メモリ領域の位置を管理するアドレス(番号)が、連続したアドレスとなっているか否か等を当該小メモリ領域のアドレス値から演算等によって判定することである。この解析結果としては、例えば、データファイルを書き込む各小メモリ領域のアドレスの連続、不連続の情報の他、当該各小メモリ領域に対する書き込み方法の情報などとなる。以下のデータアクセスプログラムの形態及びデータアクセス方法の形態について同じである。   The analysis of address continuity means that, for example, when one data file is divided and stored over a plurality of small memory areas, addresses (numbers) for managing the positions of these small memory areas are stored. Is to determine by calculation or the like from the address value of the small memory area whether or not the addresses are continuous. The analysis result includes, for example, information on a writing method for each small memory area in addition to continuous and discontinuous information of addresses of each small memory area in which the data file is written. The following data access program and data access method are the same.

〔形態2〕 更に、形態1のデータアクセスシステムは、形態1のデータアクセスシステムにおいて、
前記第2記憶媒体のメモリ容量に係る値と、所定閾値とを比較する比較手段を備え、
前記空き小メモリ領域検出手段は、前記第2記憶媒体のメモリ容量に係る値が前記所定閾値以上のときは、前記第2記憶媒体の空き小メモリ領域のうち前記データ量分のアドレスの連続した複数の空き小メモリ領域を検出するようになっており、
前記書込手段は、前記比較により、前記記憶媒体のメモリ容量に係る値が、前記所定閾値未満のときは、前記データ量に応じた数の空き小メモリ領域における前記アドレスの連続する複数の空き小メモリ領域に対して最小アクセス回数となるデータ容量毎に当該複数の空き小メモリ領域分の前記データの書き込みを行うと共に、前記データ量に応じた数の空き小メモリ領域における、他の空き小メモリ領域のアドレスと不連続となるアドレスの空き小メモリ領域に対して当該小メモリ領域のサイズ毎に前記データの書き込みを行い、前記所定閾値以上のときは、前記データ量分のアドレスの連続した複数の空き小メモリ領域に対して最小アクセス回数となるデータ容量毎に前記データの書き込みを行うことを特徴としている。
[Mode 2] Furthermore, the data access system of mode 1 is the data access system of mode 1,
Comparing means for comparing a value relating to the memory capacity of the second storage medium with a predetermined threshold value,
When the value relating to the memory capacity of the second storage medium is equal to or greater than the predetermined threshold, the free small memory area detecting means continuously includes addresses corresponding to the data amount in the free small memory area of the second storage medium. It is designed to detect multiple free small memory areas,
When the value relating to the memory capacity of the storage medium is less than the predetermined threshold by the comparison, the writing means has a plurality of consecutive free addresses in the number of free small memory areas corresponding to the data amount. The data for the plurality of free small memory areas is written for each data capacity that is the minimum number of accesses to the small memory area, and other free small areas in the number of free small memory areas corresponding to the data amount are written. The data is written for each size of the small memory area in an empty small memory area that is discontinuous with the address of the memory area. The data is written for each data capacity that is the minimum number of accesses to a plurality of free small memory areas.

このような構成であれば、比較手段によって、前記記憶媒体のメモリ容量に係る値と、所定閾値とを比較することが可能であり、前記空き小メモリ領域検出手段は、前記記憶媒体のメモリ容量に係る値が前記所定閾値以上のときは、前記記憶媒体の空き小メモリ領域のうち前記データ量分のアドレスの連続した複数の空き小メモリ領域を検出することが可能である。   With such a configuration, it is possible to compare the value related to the memory capacity of the storage medium with a predetermined threshold value by the comparison means, and the free small memory area detection means can compare the memory capacity of the storage medium. When the value relating to is equal to or greater than the predetermined threshold, it is possible to detect a plurality of free small memory areas having addresses corresponding to the data amount among free small memory areas of the storage medium.

更に、前記書込手段は、前記比較により、前記記憶媒体のメモリ容量に係る値が、前記所定閾値未満のときは、前記データ量に応じた数の空き小メモリ領域における前記アドレスの連続する複数の空き小メモリ領域に対して最小アクセス回数となるデータ容量毎に当該複数の空き小メモリ領域分の前記データの書き込みを行うと共に、前記データ量に応じた数の空き小メモリ領域における、他の空き小メモリ領域のアドレスと不連続となるアドレスの空き小メモリ領域に対して当該小メモリ領域のサイズ毎に前記データの書き込みを行う第1書込処理を実行し、前記所定閾値以上のときは、前記データ量分のアドレスの連続した複数の空き小メモリ領域に対して最小アクセス回数となるデータ容量毎に前記データの書き込みを行う第2書込処理を実行することが可能である。   Further, the writing means, when the value relating to the memory capacity of the storage medium is less than the predetermined threshold by the comparison, a plurality of consecutive addresses in the number of free small memory areas corresponding to the data amount. Writing the data for the plurality of free small memory areas for each data capacity that is the minimum number of accesses to the free small memory area, and in other free small memory areas corresponding to the amount of data, A first write process is performed to write the data for each size of the small memory area in an empty small memory area that is discontinuous with the address of the small free memory area. A second writing process for writing the data for each data capacity that is the minimum number of accesses to a plurality of continuous small free memory areas having addresses corresponding to the data amount. It is possible to run.

従って、例えば、記憶媒体の総メモリ容量(あるいは残りメモリ容量)が8Gバイト以下のときは、上記第1書込処理を実行してメモリの使用効率を考慮し、総メモリ容量が8Gバイトよりも大きいときは、上記第2書込処理を実行して書込処理の効率を高めることが可能である。これによって、記憶媒体の総メモリ容量(あるいは残りメモリ容量)に応じた適切な書込処理方法でデータの書き込みを行うことができるという効果が得られる。
ここで、メモリ容量に係る値は、前述したように、記憶媒体の総メモリ容量、記憶媒体の記憶可能な残りメモリ容量などである。以下のプログラム及び方法の形態についても同様である。
Therefore, for example, when the total memory capacity (or remaining memory capacity) of the storage medium is 8 Gbytes or less, the first writing process is executed to consider the memory usage efficiency, and the total memory capacity is more than 8 Gbytes. When larger, it is possible to increase the efficiency of the writing process by executing the second writing process. As a result, an effect is obtained that data can be written by an appropriate writing processing method according to the total memory capacity (or remaining memory capacity) of the storage medium.
Here, as described above, the value relating to the memory capacity is the total memory capacity of the storage medium, the remaining memory capacity that can be stored in the storage medium, and the like. The same applies to the forms of the following programs and methods.

また、所定閾値は、書込対象の記憶媒体のメモリ容量に係る値によって変わり、例えば、大容量の記憶媒体を書込対象とする場合は、第2書込処理を適用するのに適切なメモリ容量を基準に、例えば、8Gバイト〜10Gバイトなどのメモリ容量を示す値となる。つまり、書き込むデータ量が大きいときには、上記第2書込処理を用いた方が書込処理にかかる時間が大幅に低減するので、例えば、HDDなどの10Gバイト以上の大容量の記憶媒体に対しては、そのメモリ容量に余裕があることから、メモリの使用効率よりも書込効率を重視して上記第2書込処理を実行するようにする。一方、例えば、カード型の記憶媒体や組込系の製品システムに搭載される記憶媒体などの10Gバイトよりも小さいメモリ容量(例えば、数Kバイト〜数Gバイト)の記憶媒体に対しては、上記第1書込処理を用いることで、書込効率だけでなくメモリの使用効率も考慮した書込処理を実行するようにする。以下のプログラム及び方法の形態についても同様である。   The predetermined threshold varies depending on a value related to the memory capacity of the storage medium to be written. For example, when a large-capacity storage medium is to be written, a memory suitable for applying the second writing process is used. For example, the memory capacity is 8 Gbytes to 10 Gbytes based on the capacity. In other words, when the amount of data to be written is large, the time required for the writing process is significantly reduced by using the second writing process. For example, for a large-capacity storage medium such as an HDD such as an HDD. Since the memory capacity is sufficient, the second writing process is executed with emphasis on writing efficiency rather than memory usage efficiency. On the other hand, for a storage medium having a memory capacity smaller than 10 Gbytes (for example, several Kbytes to several Gbytes) such as a card-type storage medium or a storage medium mounted in an embedded product system, By using the first write process, a write process that considers not only the write efficiency but also the memory use efficiency is executed. The same applies to the forms of the following programs and methods.

〔形態3〕 更に、形態3のデータアクセスシステムは、形態2のデータアクセスシステムにおいて、
前記第2記憶媒体の種類を特定する特定手段を備え、
前記書込手段は、前記特定手段で特定された前記第2記憶媒体の種類が、特定種類のものであるときに、前記比較処理の処理結果に基づき前記第1書込処理又は前記第2書込処理を選択的に実行し、前記特定種類以外のものであるときに、その種類に応じて、前記第1書込処理又は前記第2書込処理を固定的に実行することを特徴としている。
[Mode 3] Furthermore, the data access system of mode 3 is the data access system of mode 2,
A specifying means for specifying the type of the second storage medium;
The writing means, when the type of the second storage medium specified by the specifying means is a specific type, based on the processing result of the comparison process, the first writing process or the second writing medium And executing the first writing process or the second writing process in a fixed manner according to the type when the process is selectively performed. .

このような構成であれば、特定手段によって、前記記憶媒体の種類を特定することが可能であり、前記書込手段は、前記特定手段で特定された記憶媒体の種類が、特定種類のものであるときに、前記比較処理の処理結果に基づき前記第1書込処理又は前記第2書込処理を選択的に実行し、前記特定種類以外のものであるときに、その種類に応じて、前記第1書込処理又は前記第2書込処理を固定的に実行することが可能である。   With such a configuration, it is possible to specify the type of the storage medium by the specifying unit, and the writing unit is configured such that the type of the storage medium specified by the specifying unit is a specific type. At one time, the first writing process or the second writing process is selectively executed based on the processing result of the comparison process, and when it is other than the specific type, The first writing process or the second writing process can be fixedly executed.

従って、例えば、特定種類以外で且つメモリ容量の比較的多いHDDなどであれば、上記第2書込処理を固定的に実行し、例えば、特定種類以外で且つ組込系の製品システムに搭載される記憶媒体などのメモリ容量の比較的小さいもの(例えば、数Kバイト〜数Mバイト)などであれば、上記第1書込処理を固定的に実行することが可能である。更に、例えば、記憶媒体が特定種類のリムーバブルディスク(例えば、メモリ容量が数Kバイト〜数Gバイトの中間的な容量のもの)などである場合は、そのメモリ容量に応じて、上記第1書込処理及び第2書込処理のいずれか一方を選択して実行することが可能である。
これによって、記憶媒体の種類及び容量に応じて、上記第1書込処理及び上記第2書込処理を固定的及び選択的に実行することができるので、より効率的な書込み処理を実行することができるという効果が得られる。
Therefore, for example, if the HDD is not a specific type and has a relatively large memory capacity, the second writing process is executed in a fixed manner, for example, installed in an embedded product system other than the specific type. The first writing process can be executed in a fixed manner if the storage medium has a relatively small memory capacity (for example, several kilobytes to several megabytes). Furthermore, for example, when the storage medium is a specific type of removable disk (for example, having a memory capacity of an intermediate capacity of several kilobytes to several gigabytes), the first document is set according to the memory capacity. It is possible to select and execute either the write-in process or the second write process.
As a result, the first writing process and the second writing process can be executed in a fixed and selective manner according to the type and capacity of the storage medium, so that a more efficient writing process is executed. The effect of being able to be obtained.

〔形態4〕 更に、形態4のデータアクセスシステムは、形態1のデータアクセスシステムにおいて、
前記記憶媒体は、その記憶領域を所定メモリサイズのセクタ単位に分割すると共に、1つ以上のセクタから構成されるクラスタ単位で区分けするFAT(File Allocation Table)型のフォーマットがされたものであり、
前記メモリ管理情報は、前記記憶媒体の有する、前記クラスタ単位のデータ記憶状態の情報から構成されるFAT(File Allocation Table)であり、
前記小メモリ領域は、前記クラスタ単位のメモリ領域であることを特徴としている。
このような構成であれば、公知のFATファイルシステムに対応した記憶媒体に対して、より効率的な書込処理を実行できるという効果が得られる。
[Mode 4] Furthermore, the data access system of mode 4 is the same as the data access system of mode 1,
The storage medium has a FAT (File Allocation Table) type format in which the storage area is divided into sectors each having a predetermined memory size and is divided into clusters each composed of one or more sectors.
The memory management information is a FAT (File Allocation Table) composed of data storage state information of the cluster unit of the storage medium,
The small memory area is a memory area of the cluster unit.
With such a configuration, it is possible to obtain an effect that more efficient writing processing can be executed on a storage medium compatible with a known FAT file system.

〔形態5〕 一方、上記目的を達成するために、形態5のデータアクセスプログラムは、
複数の所定サイズの小メモリ領域に分割されたメモリ領域を有する記憶媒体の当該小メモリ領域毎のデータ記憶状態を示すメモリ管理情報に基づき、当該記憶媒体に対してデータアクセスを行うデータアクセスプログラムであって、
第1記憶媒体の前記メモリ管理情報と、当該第1記憶媒体から読み出すデータの情報とに基づき、当該第1記憶媒体における前記データの格納された小メモリ領域のアドレスの連続性を解析する第1連続性解析ステップと、
前記第1連続性解析ステップの解析結果に基づき、前記第1記憶媒体から前記データの読み出しを行う読出ステップと、
第2記憶媒体の前記メモリ管理情報と、前記読出ステップで読み出したデータのデータ量の情報とに基づき、前記第2記憶媒体における前記データ量に応じた空き小メモリ領域を検出する空き小メモリ領域検出ステップと、
前記空き小メモリ領域検出ステップで検出した空き小メモリ領域のアドレスの連続性を解析する第2連続性解析ステップと、
前記第2連続性解析ステップの解析結果に基づき、前記第2記憶媒体に前記データの書き込みを行う書込ステップとからなる処理をコンピュータに実行させるためのプログラムを含み、
前記読出ステップは、前記第1記憶媒体における前記データの格納されたアドレスの連続する複数の小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の小メモリ領域分の前記データの読み出しを行うと共に、前記第1記憶媒体における他の小メモリ領域のアドレスと不連続となるアドレスの前記データの格納された小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの読み出しを行い、
前記書込ステップは、前記データ量に応じた数の空き小メモリ領域における前記アドレスの連続する複数の空き小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の空き小メモリ領域分の前記データの書き込みを行うと共に、前記データ量に応じた数の空き小メモリ領域における、他の空き小メモリ領域のアドレスと不連続となるアドレスの空き小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの書き込みを行うことを特徴としている。
[Mode 5] On the other hand, in order to achieve the above object, a data access program of mode 5
A data access program for performing data access to a storage medium having a memory area divided into a plurality of small memory areas of a predetermined size, based on memory management information indicating a data storage state for each small memory area. There,
Based on the memory management information of the first storage medium and the information of data read from the first storage medium, a first analysis of the continuity of addresses in the small memory area where the data is stored in the first storage medium A continuity analysis step;
A reading step for reading the data from the first storage medium based on the analysis result of the first continuity analysis step;
An empty small memory area for detecting an empty small memory area corresponding to the data amount in the second storage medium based on the memory management information of the second storage medium and the data amount information of the data read in the reading step A detection step;
A second continuity analysis step for analyzing the continuity of addresses in the free small memory area detected in the free small memory area detection step;
A program for causing a computer to execute a process consisting of a writing step of writing the data to the second storage medium based on the analysis result of the second continuity analysis step;
In the reading step, for a plurality of continuous small memory areas of the data storage address in the first storage medium, the data for the plurality of small memory areas for each data capacity corresponding to the minimum access count For the small memory area in which the data of the address that is discontinuous with the address of the other small memory area in the first storage medium is stored, the data for each size of the small memory area Read
In the writing step, for a plurality of free small memory areas having consecutive addresses in the number of free small memory areas corresponding to the amount of data, the plurality of free small memories for each data capacity corresponding to the minimum access count. In addition to writing the data for the area, the number of free small memory areas corresponding to the amount of data corresponds to the free small memory area whose address is discontinuous with the addresses of other free small memory areas. The data is written for each size of the small memory area.

このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、請求項1記載のデータアクセスシステムと同等の作用及び効果が得られる。   With such a configuration, when the program is read by the computer and the computer executes processing according to the read program, the same operation and effect as the data access system according to claim 1 can be obtained.

〔形態6〕 一方、上記目的を達成するために、形態6のデータアクセス方法は、
複数の所定サイズの小メモリ領域に分割されたメモリ領域を有する記憶媒体の当該小メモリ領域毎のデータ記憶状態を示すメモリ管理情報に基づき、当該記憶媒体に対してデータアクセスを行うデータアクセス方法であって、
第1記憶媒体の前記メモリ管理情報と、当該第1記憶媒体から読み出すデータの情報とに基づき、当該第1記憶媒体における前記データの格納された小メモリ領域のアドレスの連続性を解析する第1連続性解析ステップと、
前記第1連続性解析ステップの解析結果に基づき、前記第1記憶媒体から前記データの読み出しを行う読出ステップと、
第2記憶媒体の前記メモリ管理情報と、前記読出ステップで読み出したデータのデータ量の情報とに基づき、前記第2記憶媒体における前記データ量に応じた空き小メモリ領域を検出する空き小メモリ領域検出ステップと、
前記空き小メモリ領域検出ステップで検出した空き小メモリ領域のアドレスの連続性を解析する第2連続性解析ステップと、
前記第2連続性解析ステップの解析結果に基づき、前記第2記憶媒体に前記データの書き込みを行う書込ステップと、を含み、
前記読出ステップは、前記第1記憶媒体における前記データの格納されたアドレスの連続する複数の小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の小メモリ領域分の前記データの読み出しを行うと共に、前記第1記憶媒体における他の小メモリ領域のアドレスと不連続となるアドレスの前記データの格納された小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの読み出しを行い、
前記書込ステップは、前記データ量に応じた数の空き小メモリ領域における前記アドレスの連続する複数の空き小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の空き小メモリ領域分の前記データの書き込みを行うと共に、前記データ量に応じた数の空き小メモリ領域における、他の空き小メモリ領域のアドレスと不連続となるアドレスの空き小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの書き込みを行うことを特徴としている。
これによって、形態1のデータアクセスシステムと同等の作用及び効果が得られる。
[Mode 6] On the other hand, in order to achieve the above object, the data access method of mode 6 includes:
A data access method for performing data access to a storage medium having a memory area divided into a plurality of small memory areas of a predetermined size based on memory management information indicating a data storage state for each small memory area. There,
Based on the memory management information of the first storage medium and the information of data read from the first storage medium, a first analysis of the continuity of addresses in the small memory area where the data is stored in the first storage medium A continuity analysis step;
A reading step for reading the data from the first storage medium based on the analysis result of the first continuity analysis step;
An empty small memory area for detecting an empty small memory area corresponding to the data amount in the second storage medium based on the memory management information of the second storage medium and the data amount information of the data read in the reading step A detection step;
A second continuity analysis step for analyzing the continuity of addresses in the free small memory area detected in the free small memory area detection step;
A writing step of writing the data to the second storage medium based on the analysis result of the second continuity analysis step,
In the reading step, for a plurality of continuous small memory areas of the data storage address in the first storage medium, the data for the plurality of small memory areas for each data capacity corresponding to the minimum access count For the small memory area in which the data of the address that is discontinuous with the address of the other small memory area in the first storage medium is stored, the data for each size of the small memory area Read
In the writing step, for a plurality of free small memory areas having consecutive addresses in the number of free small memory areas corresponding to the amount of data, the plurality of free small memories for each data capacity corresponding to the minimum access count. In addition to writing the data for the area, the number of free small memory areas corresponding to the amount of data corresponds to the free small memory area whose address is discontinuous with the addresses of other free small memory areas. The data is written for each size of the small memory area.
Thereby, the same operation and effect as those of the data access system of aspect 1 can be obtained.

以下、本発明の実施の形態を図面に基づき説明する。図1〜図11は、本発明に係るデータアクセスシステム、データアクセスプログラム及びデータアクセス方法の実施の形態を示す図である。
まず、本発明に係るデータアクセスシステムの構成を図1に基づき説明する。図1は、本発明に係るデータアクセスシステム100の機能構成を示すブロック図である。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. 1 to 11 are diagrams showing embodiments of a data access system, a data access program, and a data access method according to the present invention.
First, the configuration of the data access system according to the present invention will be described with reference to FIG. FIG. 1 is a block diagram showing a functional configuration of a data access system 100 according to the present invention.

データアクセスシステム100は、図1に示すように、データファイルを読み出す側の記憶装置であるFAT(File Allocation Table)型のフォーマットがされた第1記憶装置200と、当該第1記憶装置200から読み出したデータファイルを書き込む側の記憶装置である同じくFAT型のフォーマットがされた第2記憶装置300とそれぞれデータ授受可能に接続されており、第1記憶装置200に格納されたデータファイルを読み出し、当該読み出したデータファイルを第2記憶装置300に書き込む複写処理を実行する機能を有している。   As shown in FIG. 1, the data access system 100 includes a first storage device 200 having a FAT (File Allocation Table) type format, which is a storage device on the data file reading side, and a read from the first storage device 200. The data file is connected to a second storage device 300 that is also FAT-formatted, which is a storage device to which the data file is written, and the data file stored in the first storage device 200 is read out. It has a function of executing a copying process for writing the read data file into the second storage device 300.

第1記憶装置200は、その記憶領域がクラスタと呼ばれる所定メモリ量単位の複数の小メモリ領域に分割される公知のFAT型のフォーマットが施された構成をしており、その特定のクラスタ領域に、第1FATが格納されている。ここで、第1FATは、記憶領域に格納されたデータファイルが各クラスタにどのように格納されているかを示す情報から構成されるデータテーブルである。この第1FATを参照することで、複数クラスタ分のデータ量のファイル(データ)が、どのようなクラスタアドレスのクラスタ領域に格納されているかを簡易に知ることが可能である。これにより、前記ファイルがそれぞればらばらのクラスタアドレスのクラスタ領域に格納されているか、その一部又は全部が連続するクラスタアドレスのクラスタ領域に格納されているかなどが解る。   The first storage device 200 has a configuration in which a known FAT type format in which the storage area is divided into a plurality of small memory areas called clusters is divided into a predetermined memory amount unit. The first FAT is stored. Here, the first FAT is a data table including information indicating how data files stored in the storage area are stored in each cluster. By referring to the first FAT, it is possible to easily know in which cluster address the cluster (data area) stores a file (data) having a data amount for a plurality of clusters. As a result, it can be determined whether each of the files is stored in a cluster area having discrete cluster addresses or whether a part or all of the files are stored in cluster areas having continuous cluster addresses.

第2記憶装置300は、第1記憶装置200と同様に、公知のFAT型のフォーマットが施された構成をしており、その特定のクラスタ領域に、第2FATが格納されている。第2FATは、第1FATと同様に、記憶領域に格納されたデータファイルが各クラスタにどのように格納されているかを示す情報から構成されるデータテーブルである。
ここで、上記第1記憶装置200及び上記第2記憶装置300は、それぞれ、メモリ容量に関する情報(以下、メモリ容量情報と称す)を記憶領域の特定クラスタに有している。なお、本実施の形態において、メモリ容量情報は、総メモリ容量の情報、空きメモリ容量の情報などを含む。
Similar to the first storage device 200, the second storage device 300 has a configuration in which a known FAT format is applied, and the second FAT is stored in the specific cluster area. Similar to the first FAT, the second FAT is a data table including information indicating how the data files stored in the storage area are stored in each cluster.
Here, each of the first storage device 200 and the second storage device 300 has information on memory capacity (hereinafter referred to as memory capacity information) in a specific cluster of the storage area. In this embodiment, the memory capacity information includes information on total memory capacity, information on free memory capacity, and the like.

また、図1に示す各ブロック間の各種データの流れは、第1記憶装置200をデータファイルの複写元(データファイルの読み出し先)とし、第2記憶装置300をデータファイルの複写先(前記読み出したデータファイルの書き込み先)とした場合の流れを示すものである。従って、例えば、データアクセスシステム100の組み込まれたデバイスのオンボードメモリ等の記憶装置から、例えば、外部接続されたカード型メモリへとデータファイルを複写する場合は、オンボードメモリが第1記憶装置200となり、カード型メモリが第2記憶装置300となる。これとは逆に、外部接続されたカード型メモリからオンボードメモリへとデータファイルを複写する場合は、カード型メモリが第1記憶装置200となり、オンボードメモリが第2記憶装置300となる。   In addition, the flow of various data between the blocks shown in FIG. 1 includes the first storage device 200 as a data file copy source (data file read destination) and the second storage device 300 as a data file copy destination (reading data). Shows the flow when the data file is written to. Therefore, for example, when copying a data file from a storage device such as an on-board memory of a device in which the data access system 100 is incorporated to an externally connected card type memory, the on-board memory is the first storage device. 200, and the card-type memory becomes the second storage device 300. On the other hand, when copying a data file from an externally connected card type memory to the onboard memory, the card type memory becomes the first storage device 200 and the onboard memory becomes the second storage device 300.

また、この例に限らず、データアクセスシステム100の組み込まれたデバイスの有する2つの記憶装置間や、データアクセスシステム100の組み込まれたデバイスに外部接続された2つの記憶装置間であっても、データアクセスシステム100によってデータアクセス処理が実行されるのであれば、データファイルの複写元が第1記憶装置200となり、データファイルの複写先が第2記憶装置300となる。   Further, not limited to this example, even between two storage devices included in a device in which the data access system 100 is incorporated, or between two storage devices externally connected to a device in which the data access system 100 is incorporated, If data access processing is executed by the data access system 100, the data file copy source is the first storage device 200 and the data file copy destination is the second storage device 300.

データアクセスシステム100は、更に、第1記憶装置200における読出対象データファイルの格納されたクラスタ領域のアドレス連続性を解析すると共に、後述する空きクラスタ領域検出部18で検出された第2記憶装置300における空きクラスタ領域のアドレス連続性を解析するクラスタ連続性解析部10と、クラスタ連続性解析部10の解析結果に基づき、第1記憶装置200に格納された読出対象データファイルを読み出す読出部12とを含んだ構成となっている。   The data access system 100 further analyzes the address continuity of the cluster area in which the read target data file is stored in the first storage device 200, and the second storage device 300 detected by the free cluster area detection unit 18 described later. A cluster continuity analysis unit 10 that analyzes the address continuity of an empty cluster area in the memory, and a reading unit 12 that reads out a read target data file stored in the first storage device 200 based on the analysis result of the cluster continuity analysis unit 10. It has a configuration that includes.

クラスタ連続性解析部10は、第1記憶装置200の有する第1FAT(File Allocation Table)に基づき、読出対象データファイルの格納されたクラスタ領域のクラスタアドレスの連続性を解析する機能を有している。具体的には、読出対象データファイルの格納された複数のクラスタ領域について、第1FATに基づいて、各クラスタのアドレスが連続しているか否かを解析(判定)し、その解析結果の情報を生成する。解析結果の情報は、読出部12に渡される。   The cluster continuity analysis unit 10 has a function of analyzing the continuity of cluster addresses in the cluster area in which the read target data file is stored, based on a first FAT (File Allocation Table) included in the first storage device 200. . Specifically, for a plurality of cluster areas in which the data file to be read is stored, it analyzes (determines) whether the addresses of each cluster are continuous based on the first FAT, and generates information on the analysis result To do. The analysis result information is passed to the reading unit 12.

読出部12は、クラスタ連続性解析部10の解析結果に基づき、第1記憶装置200の読出対象データファイルの格納されたクラスタ領域から当該読出対象データファイルを読み出す機能を有している。具体的には、クラスタのアドレスが連続する領域に対しては、アクセス回数が最小となるクラスタ数分のデータ量毎にデータを読み出し、クラスタのアドレスが不連続となる孤立したクラスタ領域からは、各クラスタのデータ量毎に格納データを読み出す。   Based on the analysis result of the cluster continuity analysis unit 10, the reading unit 12 has a function of reading the read target data file from the cluster area where the read target data file of the first storage device 200 is stored. Specifically, for an area where cluster addresses are continuous, data is read for each data amount corresponding to the number of clusters with the smallest number of accesses, and from an isolated cluster area where the cluster addresses are discontinuous, The stored data is read for each data amount of each cluster.

データアクセスシステム100は、更に、第2記憶装置300の機種を特定する機種特定部14と、第2記憶装置300のメモリ容量値と所定閾値とを比較するメモリ容量比較部16と、前記特定結果及び前記比較結果に基づき、第2記憶装置300における読出部12で読み出したデータファイルのデータ量分の空きクラスタ領域を検出する空きクラスタ領域検出部18と、空きクラスタ領域検出部18の検出結果又はクラスタ連続性解析部10の解析結果に基づき、前記検出した空きクラスタ領域に前記読み出したデータファイルを書き込む書込部20とを含んだ構成となっている。   The data access system 100 further includes a model specifying unit 14 for specifying the model of the second storage device 300, a memory capacity comparison unit 16 for comparing the memory capacity value of the second storage device 300 with a predetermined threshold, and the specifying result. Based on the comparison result, the free cluster area detecting unit 18 that detects an empty cluster area corresponding to the data amount of the data file read by the reading unit 12 in the second storage device 300, and the detection result of the free cluster area detecting unit 18 or Based on the analysis result of the cluster continuity analysis unit 10, the writing unit 20 writes the read data file in the detected empty cluster area.

機種特定部14は、第2記憶装置300を駆動するデバイスドライバから、当該第2記憶装置300の機種に関する情報(以下、機種情報と称す)を取得し、当該取得した機種情報に基づき、第2記憶装置300のメモリの種類を特定する機能を有している。ここで、機種情報は、HDD、SDカード、CF(コンパクトフラッシュ(登録商標))カード、SMTメディア(登録商標)、OFM(Onboard Flash Memory)などの第2記憶装置300のメモリの種類を示す情報などが含まれる。   The model specifying unit 14 acquires information about the model of the second storage device 300 (hereinafter referred to as model information) from the device driver that drives the second storage device 300, and based on the acquired model information, the second It has a function of specifying the type of memory of the storage device 300. Here, the model information is information indicating the type of memory of the second storage device 300 such as an HDD, an SD card, a CF (Compact Flash (registered trademark)) card, an SMT medium (registered trademark), or an OFM (Onboard Flash Memory). Etc. are included.

メモリ容量比較部16は、機種特定部14の特定結果に基づき、第2記憶装置300が特定機種(以下、機種1(例えば、32Mバイト〜数Gバイトクラスのメモリ)と称す)であるときに、当該第2記憶装置300の有するメモリ容量情報を取得し、当該取得した情報に基づき、第2記憶装置300のメモリの総容量(またはメモリ残量)が所定閾値以上となるか否かを判定する機能を有している。   When the second storage device 300 is a specific model (hereinafter referred to as model 1 (for example, a memory of 32 Mbytes to several Gbytes class)) based on the identification result of the model identification unit 14, the memory capacity comparison unit 16 The memory capacity information of the second storage device 300 is acquired, and based on the acquired information, it is determined whether or not the total memory capacity (or the remaining memory capacity) of the second storage device 300 is equal to or greater than a predetermined threshold value. It has a function to do.

空きクラスタ領域検出部18は、第2記憶装置300の有する第2FATを取得し、機種特定部14の特定結果が、機種1ではなく、機種2(例えば、数Kバイト〜数Mバイトクラスのメモリ)であるときは、前記取得した第2FATに基づき、前述した読出部12で読み出したデータ量分の空きクラスタ領域を、空いているアドレス順に、連続、不連続に関係なく検出する。また、機種特定部14の特定結果が、機種1ではなく、機種3(例えば、数10Gバイト〜数100Gバイトクラスのメモリ)であるときは、前記取得した第2FATに基づき、前述した読出部12で読み出したデータ量分の空きクラスタ領域を、空いているアドレスのうち、前記データ量分のアドレスの連続する空きクラスタ領域を検出する(データ量分に満たない不連続なアドレスの空きクラスタ領域は飛ばす)。   The free cluster area detection unit 18 acquires the second FAT of the second storage device 300, and the specification result of the model specifying unit 14 is not model 1, but model 2 (for example, a memory of several kilobytes to several megabytes class) ), Based on the acquired second FAT, empty cluster areas corresponding to the data amount read by the reading unit 12 described above are detected in the order of empty addresses, regardless of whether they are continuous or discontinuous. Further, when the specification result of the model specifying unit 14 is not the model 1 but the model 3 (for example, a memory of several tens of Gbytes to several 100 Gbytes class), the reading unit 12 described above is based on the acquired second FAT. The free cluster area corresponding to the data amount read in step 1 is detected. Among the free addresses, the continuous free cluster area of the address corresponding to the data amount is detected. Skip).

また、空きクラスタ領域検出部18は、機種特定部14の特定結果が、機種1で且つ第2記憶装置300が所定閾値未満のメモリ容量であるときは、前述した機種2と同様の方法で空きクラスタ領域を検出し、機種特定部14の特定結果が、機種1で且つ第2記憶装置300が所定閾値以上のメモリ容量であるときは、前述した機種3と同様の方法で空きクラスタ領域を検出する。   Further, the free cluster area detection unit 18 uses the same method as the above-described model 2 when the specification result of the model specification unit 14 is the model 1 and the second storage device 300 has a memory capacity less than the predetermined threshold. When the cluster area is detected and the identification result of the model identification unit 14 is model 1 and the second storage device 300 has a memory capacity equal to or greater than a predetermined threshold, the free cluster area is detected in the same manner as model 3 described above. To do.

なお、本実施の形態においては、上記特定結果が機種1で且つ上記判定結果が所定閾値以上のときと、上記特定結果が機種3のときは、検出した空きクラスタの情報をクラスタ連続性解析部10を介さずに書込部20に渡すようになっている。
書込部20は、クラスタ連続性解析部10からの解析結果に基づき、読出部12で読み出したデータファイルを、アドレスの連続する空きクラスタには、最小アクセス回数となるデータ量毎に書き込みを行い、アドレスの不連続となる孤立した空きクラスタには、クラスタのデータ量毎に書き込みを行う。また、空きクラスタ領域検出部18から直接空きクラスタの情報を受け取ったときは、読出部12で読み出したデータファイルを、アドレスの連続する空きクラスタに最小アクセス回数となるデータ量で書き込みを行う。
In the present embodiment, when the identification result is model 1 and the determination result is a predetermined threshold value or more, and when the identification result is model 3, the detected vacant cluster information is displayed as a cluster continuity analysis unit. 10 is passed to the writing unit 20 without going through 10.
Based on the analysis result from the cluster continuity analysis unit 10, the writing unit 20 writes the data file read by the reading unit 12 to the empty cluster having consecutive addresses for each data amount that is the minimum number of accesses. In an isolated empty cluster in which addresses are discontinuous, writing is performed for each data amount of the cluster. When the information on the free cluster is directly received from the free cluster area detecting unit 18, the data file read by the reading unit 12 is written to the free cluster having consecutive addresses with the data amount that is the minimum access count.

ここで、データアクセスシステム100は、上記クラスタ連続性解析部10、読出部12、機種特定部14、メモリ容量比較部16、空きクラスタ領域検出部18、書込部20などにおける各処理をソフトウェア上で実現するためのコンピュータシステムを備えており、そのハードウェア構成は、図2に示すように、各種制御や演算処理を担う中央演算処理装置であるCPU(Central Processing Unit)60と、主記憶装置(Main Storage)を構成するRAM(Random Access Memory)62と、読み出し専用の記憶装置であるROM(Read Only Memory)64との間を各種内外バス68で接続すると共に、このバス68に入出力インターフェース(I/F)66を介して、HDD(Hard Disk Drive)やカード型メモリなどの外部記憶装置(Secondary Storage)200,300や、CRT、LCDモニター等の出力装置72、操作パネルやマウス、キーボード、スキャナなどの入力装置74、および図示しない外部装置などと通信するためのネットワークLなどを接続したものである。   Here, the data access system 100 performs each processing in the cluster continuity analyzing unit 10, the reading unit 12, the model specifying unit 14, the memory capacity comparing unit 16, the free cluster area detecting unit 18, the writing unit 20 and the like on software. As shown in FIG. 2, the hardware configuration includes a CPU (Central Processing Unit) 60, which is a central processing unit responsible for various types of control and arithmetic processing, and a main storage device. A RAM (Random Access Memory) 62 constituting a (Main Storage) and a ROM (Read Only Memory) 64, which is a read-only storage device, are connected by various internal and external buses 68, and an input / output interface is connected to the bus 68. Via (I / F) 66 An external storage device (Secondary Storage) 200, 300 such as an HDD (Hard Disk Drive) or a card-type memory, an output device 72 such as a CRT or LCD monitor, an input device 74 such as an operation panel, mouse, keyboard or scanner, And a network L or the like for communicating with an external device (not shown).

そして、電源を投入すると、ROM64等に記憶されたBIOS等のシステムプログラムが、ROM64に予め記憶された各種専用のコンピュータプログラム、あるいは、CD−ROMやDVD−ROM、フレキシブルディスク(FD)などの記憶媒体を介して、またはインターネットなどの通信ネットワークLを介して記憶装置200,300にインストールされた各種専用のコンピュータプログラムを同じくRAM62にロードし、そのRAM62にロードされたプログラムに記述された命令にしたがってCPU60が各種リソースを駆使して所定の制御および演算処理を行うことで前述したような各部の各機能をソフトウェア上で実現できるようになっている。   When the power is turned on, a system program such as BIOS stored in the ROM 64 or the like is stored in various dedicated computer programs stored in the ROM 64 in advance, or in a CD-ROM, DVD-ROM, flexible disk (FD), or the like. Various dedicated computer programs installed in the storage devices 200 and 300 via the medium or the communication network L such as the Internet are similarly loaded into the RAM 62, and in accordance with instructions described in the program loaded into the RAM 62. Each function of each unit as described above can be realized on software by the CPU 60 performing predetermined control and arithmetic processing using various resources.

次に、このような構成をしたデータアクセスシステム100を用いたデータ複写処理の流れの一例を図3のフローチャート図に基づき説明する。ここで、図3は、データアクセスシステム100におけるデータ複写処理を示すフローチャートである。
データ複写処理は、図3に示すように、まずステップS100に移行し、データアクセスシステム100において、第1記憶装置200のデータファイルを第2記憶装置300に複写(コピー)するコマンドである複写コマンドを受信したか否かを判定し、受信したと判定された場合(Yes)は、ステップS102に移行し、そうでない場合(No)は、受信するまで判定処理を繰り返す。
Next, an example of the flow of data copy processing using the data access system 100 configured as described above will be described with reference to the flowchart of FIG. Here, FIG. 3 is a flowchart showing data copying processing in the data access system 100.
As shown in FIG. 3, the data copy process first proceeds to step S100, and in the data access system 100, a copy command which is a command for copying (copying) a data file in the first storage device 200 to the second storage device 300. If it is determined that it has been received (Yes), the process proceeds to step S102. If not (No), the determination process is repeated until it is received.

ステップS102に移行した場合は、クラスタ連続性解析部10及び読出部12において、第1記憶装置200からの指定データファイルの読出処理を実行してステップS104に移行する。
ステップS104では、クラスタ連続性解析部10、機種特定部14、メモリ容量比較部16、空きクラスタ領域検出部18及び書込部20において、読出部12で読み出したデータファイルの第2記憶装置300への書込処理を実行してステップS106に移行する。
When the process proceeds to step S102, the cluster continuity analysis unit 10 and the reading unit 12 execute the reading process of the designated data file from the first storage device 200, and the process proceeds to step S104.
In step S104, the cluster continuity analyzing unit 10, the model specifying unit 14, the memory capacity comparing unit 16, the free cluster area detecting unit 18 and the writing unit 20 transfer the data file read by the reading unit 12 to the second storage device 300. The writing process is executed, and the process proceeds to step S106.

ステップS106では、データアクセスシステム100において、指定された全てのデータファイルの複写処理が終了したか否かを判定し、終了したと判定された場合(Yes)は、ステップS100に移行し、そうでない場合(No)は、ステップS102に移行する。
更に、図4に基づき、データアクセスシステム100におけるデータファイル読出処理の流れを説明する。ここで、図4は、データアクセスシステム100におけるデータファイル読出処理を示すフローチャートである。
In step S106, the data access system 100 determines whether or not all designated data files have been copied. If it is determined that the copying has ended (Yes), the process proceeds to step S100, otherwise. In the case (No), the process proceeds to step S102.
Furthermore, the flow of data file read processing in the data access system 100 will be described with reference to FIG. Here, FIG. 4 is a flowchart showing a data file reading process in the data access system 100.

データファイル読出処理が実行されると、図4に示すように、まずステップS200に移行し、クラスタ連続性解析部10において、第1記憶装置200の有する第1FATを取得してステップS202に移行する。
ステップS202では、クラスタ連続性解析部10において、指定された読出対象データ(データファイル)の格納されたクラスタアドレスの連続性を解析してステップS204に移行する。
When the data file reading process is executed, as shown in FIG. 4, the process first proceeds to step S200, and the cluster continuity analysis unit 10 acquires the first FAT of the first storage device 200 and proceeds to step S202. .
In step S202, the cluster continuity analysis unit 10 analyzes the continuity of the cluster address in which the designated read target data (data file) is stored, and proceeds to step S204.

ステップS204では、読出部12において、ステップS202の解析結果に基づき、クラスタアドレスの連続するクラスタ領域については、最小アクセス回数となるデータ量毎にデータを読み出す最適読み出しを行い、クラスタアドレスの連続しない孤立したクラスタ領域については、当該クラスタのデータ量分毎にデータを読み出す通常読み出しを行ってステップS206に移行する。   In step S204, based on the analysis result in step S202, the reading unit 12 performs optimum reading for reading data for each data amount corresponding to the minimum number of accesses for cluster regions having continuous cluster addresses. For the cluster area, normal reading is performed to read data for each data amount of the cluster, and the process proceeds to step S206.

ステップS206では、読出部12において、読出対象データファイルの読み出しが完了したか否かを判定し、完了したと判定された場合(Yes)は、読み出したデータファイルを書込部20に渡し、一連の処理を終了して元の処理に復帰する。
更に、図5に基づき、データアクセスシステム100におけるデータファイル書込処理の流れを説明する。ここで、図5は、データアクセスシステム100におけるデータファイル書込処理を示すフローチャートである。
In step S206, the reading unit 12 determines whether or not the reading of the data file to be read is completed. If it is determined that the reading is completed (Yes), the read data file is passed to the writing unit 20 and a series of operations are performed. The process is terminated and the process returns to the original process.
Furthermore, the flow of the data file writing process in the data access system 100 will be described with reference to FIG. Here, FIG. 5 is a flowchart showing a data file writing process in the data access system 100.

データファイル書込処理が実行されると、図5に示すように、まずステップS300に移行し、機種特定部14において、第2記憶装置300を駆動するデバイスドライバから機種情報を取得し、メモリ容量比較部16において、第2記憶装置300からメモリ容量情報を取得してステップS302に移行する。具体的に、第2記憶装置300を駆動するために実行されるデバイスドライバ(ソフトウェア)に対して、機種情報を取得するためのコマンドを送信して、機種情報を取得する。   When the data file writing process is executed, as shown in FIG. 5, first, the process proceeds to step S300, where the model specifying unit 14 acquires model information from the device driver that drives the second storage device 300, and the memory capacity In the comparison unit 16, the memory capacity information is acquired from the second storage device 300, and the process proceeds to step S302. Specifically, a command for acquiring model information is transmitted to a device driver (software) executed to drive the second storage device 300, and the model information is acquired.

ステップS302では、機種特定部14において、ステップS300で取得した機種情報から第2記憶装置300のメモリ種類を特定し、当該特定結果をメモリ容量比較部16及び空きクラスタ領域検出部18に渡してステップS304に移行する。
ステップS304では、メモリ容量比較部16において、ステップS302の特定結果に基づき、第2記憶装置300が特定種類(機種1)のメモリか否かを判定し、機種1であると判定された場合(Yes)は、ステップS306に移行し、そうでない場合(No)は、ステップS328に移行する。
In step S302, the model identification unit 14 identifies the memory type of the second storage device 300 from the model information acquired in step S300, and passes the identification result to the memory capacity comparison unit 16 and the free cluster area detection unit 18. The process proceeds to S304.
In step S304, the memory capacity comparison unit 16 determines whether or not the second storage device 300 is a memory of a specific type (model 1) based on the determination result of step S302. If “Yes”, the process proceeds to step S306. If not (No), the process proceeds to step S328.

ステップS306に移行した場合は、メモリ容量比較部16において、ステップS300で取得したメモリ容量情報と所定の閾値とを比較し、当該比較結果を空きクラスタ領域検出部18に渡してステップS308に移行する。
ステップS308では、空きクラスタ領域検出部18において、ステップS306の比較結果が所定の閾値以上である場合(Yes)は、ステップS310に移行し、そうでない場合(No)は、ステップS318に移行する。
When the process proceeds to step S306, the memory capacity comparison unit 16 compares the memory capacity information acquired in step S300 with a predetermined threshold value, passes the comparison result to the free cluster area detection unit 18, and proceeds to step S308. .
In step S308, in the free cluster area detection unit 18, if the comparison result in step S306 is equal to or greater than a predetermined threshold (Yes), the process proceeds to step S310, and if not (No), the process proceeds to step S318.

ステップS310に移行した場合は、空きクラスタ領域検出部18において、第2記憶装置300から第2FATを取得して、ステップS312に移行する。
ステップS312では、空きクラスタ領域検出部18において、第2記憶装置300に書き込むデータファイルのデータ量分のクラスタアドレスの連続する空きクラスタ領域を検出し、当該検出したクラスタアドレスの情報を書込部20に渡してステップS314に移行する。
When the process proceeds to step S310, the free cluster area detection unit 18 acquires the second FAT from the second storage device 300, and the process proceeds to step S312.
In step S312, the free cluster area detection unit 18 detects continuous free cluster areas of cluster addresses corresponding to the data amount of the data file to be written to the second storage device 300, and writes the detected cluster address information to the writing unit 20. And the process proceeds to step S314.

ステップS314では、書込部20において、ステップS312で検出した空きクラスタ領域のクラスタアドレス情報に基づき、クラスタアドレスの連続する空きクラスタ領域に対して、最小アクセス回数となるデータ量毎にデータを書き込む最適書き込みを行って読出部12で読み出されたデータファイルを空きクラスタ領域に書き込んでステップS316に移行する。   In step S314, the writing unit 20 writes the data for each data amount that is the minimum number of accesses to the free cluster area having consecutive cluster addresses, based on the cluster address information of the free cluster area detected in step S312. Writing is performed and the data file read by the reading unit 12 is written in the empty cluster area, and the process proceeds to step S316.

ステップS316では、書込部20において、ステップS312で検出した空きクラスタ領域へのデータファイルの書き込みが完了したか否かを判定し、完了したと判定された場合(Yes)は、一連の処理を終了して元の処理に復帰し、そうでない場合(No)は、ステップS314に移行する。
一方、ステップS308において第2記憶装置300のメモリ容量が閾値未満であるか、又はステップS328において第2記憶装置300が機種2でありステップS318に移行した場合は、空きクラスタ領域検出部18において、第2記憶装置300から第2FATを取得して、ステップS320に移行する。
In step S316, the writing unit 20 determines whether or not the writing of the data file to the free cluster area detected in step S312 has been completed. If it is determined that the writing has been completed (Yes), a series of processing is performed. If the process ends and returns to the original process, otherwise (No), the process proceeds to step S314.
On the other hand, if the memory capacity of the second storage device 300 is less than the threshold value in step S308, or if the second storage device 300 is model 2 and the process moves to step S318 in step S328, the free cluster area detection unit 18 The second FAT is acquired from the second storage device 300, and the process proceeds to step S320.

ステップS320では、空きクラスタ領域検出部18において、第2記憶装置300に書き込むデータファイルのデータ量分の空きクラスタ領域を、クラスタアドレスの順番に検出し、当該検出したクラスタアドレスの情報をクラスタ連続性解析部10に渡してステップS322に移行する。具体的には、データ量分を満たすまで、クラスタアドレスが連続するしないに関わらず、アドレスの順番に空きクラスタ領域を検出する。   In step S320, the free cluster area detection unit 18 detects free cluster areas corresponding to the data amount of the data file to be written to the second storage device 300 in the order of cluster addresses, and the detected cluster address information is used as cluster continuity. It passes to the analysis part 10 and transfers to step S322. Specifically, the empty cluster areas are detected in the order of addresses until the data amount is satisfied, regardless of whether the cluster addresses are continuous.

ステップS322では、クラスタ連続性解析部10において、ステップS320で検出した空きクラスタのクラスタアドレス情報に基づき、クラスタアドレスの連続性を解析し、当該解析結果を書込部20に渡してステップS324に移行する。本実施の形態において、解析結果は、例えば、空きクラスタの各クラスタアドレスと書込方法(通常書き込み又は最適書き込み)とを対応付けた情報となる。   In step S322, the cluster continuity analysis unit 10 analyzes the continuity of the cluster address based on the cluster address information of the free cluster detected in step S320, passes the analysis result to the writing unit 20, and proceeds to step S324. To do. In the present embodiment, the analysis result is, for example, information in which each cluster address of a free cluster is associated with a writing method (normal writing or optimum writing).

ステップS324では、書込部20において、ステップS322の解析結果に基づき、クラスタアドレスの連続する2つ以上の空きクラスタ領域に対しては、上記最適書き込みを行い、クラスタアドレスの不連続となる孤立した空きクラスタ領域に対しては、当該クラスタのデータ量分毎にデータを書き込む通常書き込みを行って、読出部12で読み出されたデータファイルを、ステップS320で検出した空きクラスタ領域に書き込んでステップS326に移行する。   In step S324, based on the analysis result in step S322, the writing unit 20 performs the above-described optimal writing on two or more free cluster areas having continuous cluster addresses, and the cluster addresses become discontinuous. For the free cluster area, normal writing is performed in which data is written for each data amount of the cluster, and the data file read by the reading unit 12 is written to the free cluster area detected in step S320, and step S326 is performed. Migrate to

ステップS326では、書込部20において、ステップS320で検出した空きクラスタ領域へのデータファイルの書き込みが完了したか否かを判定し、完了したと判定された場合(Yes)は、一連の処理を終了して元の処理に復帰し、そうでない場合(No)は、ステップS324に移行する。
一方、ステップS304において、第2記憶装置300が特定種類(機種1)のメモリではなくてステップS328に移行した場合は、メモリ容量比較部16において、ステップS302の特定結果に基づき、第2記憶装置300が低容量メモリ機種(機種2)のメモリか否かを判定し、機種2であると判定された場合(Yes)は、ステップS318に移行し、そうでない場合(No)は、ステップS310に移行する。
In step S326, the writing unit 20 determines whether or not the writing of the data file to the free cluster area detected in step S320 is completed. If it is determined that the writing is completed (Yes), a series of processing is performed. When the process ends and the process returns to the original process, otherwise (No), the process proceeds to step S324.
On the other hand, if the second storage device 300 is not a specific type (model 1) of memory in step S304 and the process proceeds to step S328, the memory capacity comparison unit 16 determines whether the second storage device 300 is based on the specification result of step S302. It is determined whether or not the memory 300 is a low-capacity memory model (model 2). If it is determined that the model 300 is model 2 (Yes), the process proceeds to step S318; otherwise (No), the process proceeds to step S310. Transition.

次に、図6〜図11に基づき、本実施の形態の動作を説明する。
ここで、図6は、記憶装置の種類(機種)及びディスク容量に対する、書込処理方法(アルゴリズム)の一例を示す図である。また、図7は、第1記憶装置200の第1FATの一例を示す図である。また、図8は、第2記憶装置300の第2FATの一例を示す図である。また、図9は、連続及び不連続なクラスタ領域が混在したクラスタ領域への書込処理後の第2FATの一例を示す図である。また、図10は、全て不連続となるクラスタ領域への書込処理後の第2FATの一例を示す図である。また、図11は、全て連続となるクラスタ領域への書込処理後の第2FATの一例を示す図である。
Next, the operation of the present embodiment will be described with reference to FIGS.
Here, FIG. 6 is a diagram illustrating an example of a writing processing method (algorithm) for the type (model) of the storage device and the disk capacity. FIG. 7 is a diagram illustrating an example of the first FAT of the first storage device 200. FIG. 8 is a diagram illustrating an example of the second FAT of the second storage device 300. FIG. 9 is a diagram illustrating an example of the second FAT after the writing process to the cluster area in which continuous and discontinuous cluster areas are mixed. FIG. 10 is a diagram illustrating an example of the second FAT after the writing process to the cluster regions that are all discontinuous. Further, FIG. 11 is a diagram illustrating an example of the second FAT after the writing process to the cluster area that is all continuous.

なお、ここでは、第1記憶装置200のクラスタ領域のメモリサイズと、第2記憶装置300のクラスタ領域のメモリサイズとが同一サイズであるとする。例えば、第1記憶装置200が各クラスタ領域のサイズを「1024バイト」としてフォーマットしている場合は、第2記憶装置300も各クラスタ領域のサイズを「1024バイト」としてフォーマットしているとする。   Here, it is assumed that the memory size of the cluster area of the first storage device 200 and the memory size of the cluster area of the second storage device 300 are the same size. For example, when the first storage device 200 is formatted with the size of each cluster area as “1024 bytes”, the second storage device 300 is also formatted with the size of each cluster area as “1024 bytes”.

以下、第2記憶装置が機種1で且つそのメモリ容量が所定閾値以上であるとき、及び第2記憶装置が機種3であるときに行われる、クラスタアドレスの連続する空きクラスタ領域を検出し、当該検出した空きクラスタ領域に上記最適書き込みを行う書込処理アルゴリズムをアルゴリズムAとする。また、第2記憶装置が機種1で且つそのメモリ容量が所定閾値未満であるとき、及び第2記憶装置が機種2であるときに、アドレス順に検出した空きクラスタ領域における、クラスタアドレスの連続する空きクラスタ領域に上記最適書き込みを行い、クラスタアドレスが不連続の孤立した空きクラスタ領域に上記通常書き込みを行う書込処理アルゴリズムをアルゴリズムBとする。   Hereinafter, when the second storage device is model 1 and the memory capacity is equal to or greater than a predetermined threshold, and when the second storage device is model 3, a free cluster area having consecutive cluster addresses is detected, A write processing algorithm for performing the optimum write in the detected free cluster area is defined as algorithm A. In addition, when the second storage device is model 1 and the memory capacity is less than the predetermined threshold, and when the second storage device is model 2, continuous free addresses of cluster addresses in the free cluster area detected in the order of addresses. An algorithm B is defined as a write processing algorithm for performing the above-described optimum writing in the cluster area and performing the above-described normal writing in an isolated empty cluster area having discontinuous cluster addresses.

ここでは、図6に示すように、記憶装置の機種と、そのメモリ容量に対して、アルゴリズムA及びアルゴリズムBを固定的に用いるのか選択的に用いるのかが予め設定されている。各機種毎に設定されている、図6中の○がその機種に対してアルゴリズムA又はBを固定的に用いることを示し、△がその機種に対してアルゴリズムA及びBのいずれかを記憶装置のメモリ容量に応じて選択的に用いることを示し、×はその機種に対してアルゴリズムA又はBを適用しないことを示す。   Here, as shown in FIG. 6, whether to use algorithm A and algorithm B fixedly or selectively is preset for the model of the storage device and its memory capacity. 6 for each model, ○ in FIG. 6 indicates that algorithm A or B is fixedly used for that model, and Δ indicates that one of algorithms A and B is stored for that model. Indicates that it is selectively used according to the memory capacity, and X indicates that the algorithm A or B is not applied to the model.

以下、上記のことを踏まえて、データアクセスシステム100におけるデータファイル複写処理の実際の動作を説明する。
データアクセスシステム100は、第1記憶装置200の所定クラスタ位置に格納されたデータファイルを、第2記憶装置300に複写するコマンドを受信すると(ステップS100の「Yes」の分岐)、まず、複写コマンドで指定されたクラスタアドレス位置に格納されたデータファイルの読出処理に移行する(ステップS102)。
Based on the above, the actual operation of the data file copying process in the data access system 100 will be described below.
When the data access system 100 receives a command to copy the data file stored in the predetermined cluster position of the first storage device 200 to the second storage device 300 (“Yes” branch of step S100), first, the copy command The process proceeds to the reading process of the data file stored at the cluster address position specified in (Step S102).

読出処理が開始されると、まず、クラスタ連続性解析部10において、第1記憶装置200の特定クラスタ領域に格納された第1FATを取得する。
ここで、第1FATは、図7に示すように、クラスタ番号(クラスタアドレス)と、各クラスタの連鎖関係を示すFATエントリの値とで構成されている。なお、ここでは、FATの1エントリを16ビットとしている。即ち、第1記憶装置200は、FAT16の形式でフォーマットされていることとなる。
When the reading process is started, first, the cluster continuity analysis unit 10 acquires the first FAT stored in the specific cluster area of the first storage device 200.
Here, as shown in FIG. 7, the first FAT is composed of a cluster number (cluster address) and a value of a FAT entry indicating a chain relationship of each cluster. Here, one entry of FAT is 16 bits. That is, the first storage device 200 is formatted in the FAT16 format.

また、FATエントリ値は、例えば、図7に示すように、クラスタ番号「02h」に対する値を見ると「EOF(データファイルの最後を示す値で、実際のエントリ値は「FFFFh」となる)」となっている。これは、データファイルが1クラスタだけで格納されていることを示す。また、クラスタ番号「06h〜09h」のFATエントリ値は、「06h」が「07h」となっているが、これは、クラスタ番号「06h」のクラスタに続くクラスタがクラスタ番号「07h」のクラスタであることを示している。また、クラスタ番号「07h」のFATエントリ値が「08h」、クラスタ番号「08h」のFATエントリ値が「09h」、クラスタ番号「09h」のFATエントリ値が「EOF」となっているので、クラスタ番号「07h」のクラスタに「08h」のクラスタが、クラスタ番号「08h」のクラスタに「09h」のクラスタが続いており、クラスタ番号「09h」のクラスタがデータファイルの最後となることを示す。つまり、FATエントリ値から、「06h〜09h」のクラスタ番号の連続する4つのクラスタ領域に1つのデータファイルが格納されていることが解る。   For example, as shown in FIG. 7, the FAT entry value is “EOF (value indicating the end of the data file, and the actual entry value is“ FFFFh ”)” when the value for the cluster number “02h” is viewed. It has become. This indicates that the data file is stored in only one cluster. The FAT entry values of the cluster numbers “06h to 09h” are “06h” and “07h”. This is because the cluster following the cluster of the cluster number “06h” is the cluster with the cluster number “07h”. It shows that there is. Further, the FAT entry value of the cluster number “07h” is “08h”, the FAT entry value of the cluster number “08h” is “09h”, and the FAT entry value of the cluster number “09h” is “EOF”. This indicates that the cluster having the number “07h” is followed by the cluster having “08h”, the cluster having the cluster number “08h” followed by the cluster having “09h”, and the cluster having the cluster number “09h” is the last of the data file. That is, it can be seen from the FAT entry value that one data file is stored in four consecutive cluster areas having cluster numbers “06h to 09h”.

また、図7に示すように、「1Ah」「1Ch」及び「1Eh」のFATエントリ値は、それぞれ、「1Ch」、「1Eh」及び「EOF」となっている。この場合は、これら3つのクラスタが続いていることを示し、これら3つのクラスタに1つのデータファイルが格納されていることを示す。つまり、1つのデータファイルの格納されているクラスタ領域のクラスタ番号が不連続(ここでは1つ飛びとなっているが、1つ以上飛ぶこともある)となっている。これは、FAT型フォーマットのファイルシステムにおいて特有の現象であり、クラスタ単位でデータの書き込みが行われるため、不定サイズのデータファイルの書き込み及び削除を何度も繰り返すことで、1つのデータファイルが、不連続なクラスタ番号のクラスタ領域に飛び飛びに格納されてしまう現象である。   Also, as shown in FIG. 7, the FAT entry values of “1Ah”, “1Ch”, and “1Eh” are “1Ch”, “1Eh”, and “EOF”, respectively. In this case, these three clusters are continued, and one data file is stored in these three clusters. That is, the cluster number of the cluster area in which one data file is stored is discontinuous (here, one is skipped, but one or more may be skipped). This is a phenomenon peculiar to the file system of the FAT type format, and data is written in units of clusters. Therefore, by repeating the writing and deletion of an indefinite size data file many times, one data file becomes This is a phenomenon in which data is stored in a cluster area with discontinuous cluster numbers.

なお、図7に示す、FATエントリ値の設定されていないクラスタ番号(エントリ値が「−」となっているクラスタ番号)は、そのクラスタ領域が空き領域(未使用)であることを示す。
クラスタ連続性解析部10は、第1FATを取得すると、複写コマンドで指定された読出対象のデータファイルのクラスタアドレス値と第1FATとに基づき、そのクラスタアドレスの連続性を解析する(ステップS202)。ここでは、図9に示すように、クラスタ番号「06h〜09h」のクラスタ領域に格納されたデータファイルを読み出すこととする。
Note that the cluster number in which the FAT entry value is not set (the cluster number whose entry value is “−”) shown in FIG. 7 indicates that the cluster area is a free area (unused).
When acquiring the first FAT, the cluster continuity analysis unit 10 analyzes the continuity of the cluster address based on the cluster address value of the data file to be read designated by the copy command and the first FAT (step S202). Here, as shown in FIG. 9, the data file stored in the cluster area of the cluster numbers “06h to 09h” is read out.

図7に示す第1FATにおけるクラスタ番号「06h〜09h」のクラスタ領域は、前述したように、そのFATエントリ値からアドレス番号が連続したクラスタ領域となっていることがわかる。従って、このクラスタ領域に対しては、上記したデータの最適読み出しが可能であることが解る。そこで、クラスタ連続性解析部10は、読出対象データファイルの格納位置を示すクラスタ番号「06h〜09h」の情報と、このクラスタ番号のクラスタ領域に対して最適読み出しが可能であることを示す情報とを解析結果として生成し、これを読出部12に渡す。   As described above, it can be seen that the cluster area of the cluster numbers “06h to 09h” in the first FAT shown in FIG. 7 is a cluster area in which the address numbers are continuous from the FAT entry value. Therefore, it can be seen that the above-described optimum reading of data is possible for this cluster area. Therefore, the cluster continuity analysis unit 10 has information on the cluster number “06h to 09h” indicating the storage location of the data file to be read, and information indicating that optimum reading is possible for the cluster area of this cluster number. Is generated as an analysis result and passed to the reading unit 12.

読出部12は、クラスタ連続性解析部10からの解析結果を受け取ると、この解析結果に基づき、図8(a)に示すように、第1記憶装置200のクラスタ領域における、クラスタ番号「06h〜09h」に対応するクラスタ領域に格納されたデータを最適読み出しする(ステップS204)。ここでは、説明の便宜上、第1記憶装置200から1度にデータ伝送可能な最大容量を8クラスタ分のデータ量とする。この場合は、読出対象のデータファイルが4クラスタ分のデータ量となるので、この4クラスタ分のデータを一括で読み出し、読み出し処理を完了する(ステップS206の「Yes」の分岐)。
このようにして、第1記憶装置200から複写対象のデータファイルが読み出されると、データアクセスシステム100は、次に、読み出したデータファイルの書込処理に移行する(ステップS104)。
When the reading unit 12 receives the analysis result from the cluster continuity analysis unit 10, based on the analysis result, as shown in FIG. 8A, the reading unit 12 uses the cluster numbers “06h˜ The data stored in the cluster area corresponding to “09h” is optimally read (step S204). Here, for convenience of explanation, the maximum capacity capable of data transmission from the first storage device 200 at a time is the data amount for 8 clusters. In this case, since the data file to be read has a data amount for four clusters, the data for the four clusters are read at once and the reading process is completed (branch “Yes” in step S206).
When the data file to be copied is read out from the first storage device 200 in this way, the data access system 100 then proceeds to write processing of the read data file (step S104).

書込処理が開始されると、機種特定部14において、第2記憶装置300を駆動するために実行されているデバイスドライバから機種情報を取得し、メモリ容量比較部16において、第2記憶装置300からメモリ容量情報を取得する(ステップS300)。これらの情報は、デバイスドライバが予め機種を特定する明確な情報を有しており、且つ第2記憶装置300の特定位置に予めメモリ容量を特定する明確な情報が記憶されている場合はそれらの情報を取得する。一方、明確な情報を有していない場合は、機種を特定可能な製品番号等の情報を取得したり、メモリ容量を解析する処理などを行ってその解析結果の情報を取得したりする。   When the writing process is started, the model specifying unit 14 acquires model information from a device driver being executed to drive the second storage device 300, and the memory capacity comparing unit 16 acquires the second storage device 300. Memory capacity information is acquired from (step S300). If the device driver has clear information for specifying the model in advance and clear information for specifying the memory capacity is stored in the specific position of the second storage device 300 in advance, those information are stored. Get information. On the other hand, when there is no clear information, information such as a product number that can identify the model is acquired, or processing for analyzing the memory capacity is performed to acquire information on the analysis result.

ここでは、デバイスドライバが第2記憶装置300の機種を特定する明確な情報を有しており、且つ第2記憶装置300の特定アドレス位置にメモリ容量を特定する明確な情報が記憶されているとする。
機種特定部14は、第2記憶装置300から機種情報を取得すると、当該機種情報から第2記憶装置300の機種を特定する(ステップS302)。
Here, the device driver has clear information for specifying the model of the second storage device 300, and clear information for specifying the memory capacity is stored at a specific address position of the second storage device 300. To do.
When acquiring the model information from the second storage device 300, the model specifying unit 14 specifies the model of the second storage device 300 from the model information (step S302).

ここでは、第2記憶装置300の機種を、図6に示すように、HDD等の固定型の大容量記憶装置、CFカード(登録商標)、SDカード等の持ち運び可能な中間容量のカード型記憶装置、SMTメディア(登録商標)等の持ち運び可能な小容量記憶装置、OFM(NAND型、NOR型)などの固定型の小容量記憶装置のいずれかに特定するようになっている。そして、上記した特定種類(機種1)の記憶装置を、CFカード(登録商標)、SDカード等の持ち運び可能な中間容量のカード型記憶装置とする。また、上記した機種2の記憶装置を、SMTメディア(登録商標)等の持ち運び可能な小容量記憶装置、及びOFM(NAND型、NOR型)などの固定型の小容量記憶装置とする。また、上記した機種3の記憶装置を、HDD等の固定型の大容量記憶装置とする。   Here, as shown in FIG. 6, the model of the second storage device 300 is a fixed-type large-capacity storage device such as an HDD, a portable card type storage device such as a CF card (registered trademark) or an SD card. It is specified as any one of a device, a portable small capacity storage device such as SMT media (registered trademark), and a fixed small capacity storage device such as OFM (NAND type, NOR type). The above-described specific type (model 1) storage device is a portable card-type storage device such as a CF card (registered trademark) or an SD card. The storage device of model 2 described above is a portable small-capacity storage device such as SMT media (registered trademark) and a fixed small-capacity storage device such as OFM (NAND type, NOR type). In addition, the storage device of model 3 described above is a fixed large-capacity storage device such as an HDD.

第2記憶装置300が機種1であると特定されると(ステップS304の「Yes」の分岐)、次いで、メモリ容量比較部16において、メモリ容量情報の示すメモリ容量(メモリの総容量またはメモリ残量)と、所定の閾値とを比較する(ステップS306)。例えば、メモリ容量情報の示すメモリ容量が256(単位はMバイト)で、所定の閾値が512であるとする。この場合、メモリ容量情報の示すメモリ容量「256」は、所定の閾値である512より小さい値(所定の閾値未満)となるので(ステップS308の「No」の分岐)、空きクラスタ領域検出部18は、アルゴリズムA及びBのうち、アルゴリズムBを用いた書込処理を選択し、まず、第2記憶装置300から第2FATを取得する(ステップS318)。   When the second storage device 300 is identified as the model 1 (“Yes” branch in step S304), the memory capacity comparison unit 16 then selects the memory capacity indicated by the memory capacity information (total memory capacity or remaining memory capacity). Amount) and a predetermined threshold value are compared (step S306). For example, it is assumed that the memory capacity indicated by the memory capacity information is 256 (the unit is M bytes) and the predetermined threshold is 512. In this case, the memory capacity “256” indicated by the memory capacity information is smaller than the predetermined threshold value 512 (less than the predetermined threshold value) (the branch of “No” in step S308). Selects a writing process using the algorithm B from the algorithms A and B, and first obtains the second FAT from the second storage device 300 (step S318).

ここで、現在の第2FATの状態は、図8に示すようになっているとする。
空きクラスタ領域検出部18は、上記取得した第2FATに基づき、読出部12で読み出したファイルデータ(以下、書込対象データファイルと称す)のデータ量分の空きクラスタを検出する(ステップS320)。空きクラスタ領域検出部18は、前述したようにアルゴリズムBを選択しているので、図8に示す第2FATの空きクラスタから、クラスタ番号の若い順に、書込対象データファイルのデータ量分(4クラスタ分)の空きクラスタを検出する。ここでは、図8に示す第2FATから、クラスタ番号の若い順に、「05h」、「07h」、「0Ah」及び「0Bh」の4つのクラスタ番号に対応する空きクラスタ領域を検出する。そして、この検出した空きクラスタ領域のクラスタ番号の情報をクラスタ連続性解析部10に渡す。
Here, it is assumed that the current state of the second FAT is as shown in FIG.
The free cluster area detection unit 18 detects free clusters corresponding to the data amount of the file data read by the reading unit 12 (hereinafter referred to as a write target data file) based on the acquired second FAT (step S320). Since the free cluster area detection unit 18 has selected the algorithm B as described above, the free cluster area detection unit 18 starts from the second FAT free cluster shown in FIG. Min) free clusters. Here, free cluster areas corresponding to the four cluster numbers “05h”, “07h”, “0Ah”, and “0Bh” are detected from the second FAT shown in FIG. 8 in ascending order of the cluster numbers. Then, the detected cluster number information of the free cluster area is passed to the cluster continuity analysis unit 10.

クラスタ連続性解析部10は、空きクラスタ領域検出部18から、空きクラスタ領域のクラスタ番号(上記4つのクラスタ番号)の情報を受け取ると、当該クラスタ番号の情報に基づき、クラスタ番号の連続性を解析する(ステップS322)。
この場合は、空きクラスタ領域に対応する「05h」、「07h」、「0Ah」及び「0Bh」の4つのクラスタ番号のうち、「05h」及び「07h」は、クラスタ番号が不連続となっており、「0Ah」及び「0Bh」は、クラスタ番号が連続していることが解る。そこで、クラスタ連続性解析部10は、クラスタ番号「05h」及び「07h」の情報と、これらのクラスタ領域に対してそれぞれ通常書き込みが可能であることを示す情報と、クラスタ番号「0Ah」及び「0Bh」の情報と、これらのクラスタ領域に対して最適書き込みが可能であることを示す情報とを解析結果として生成し、これを書込部20に渡す。
When the cluster continuity analysis unit 10 receives information on the cluster numbers of the free cluster regions (the above four cluster numbers) from the free cluster region detection unit 18, it analyzes the continuity of the cluster numbers based on the information on the cluster numbers. (Step S322).
In this case, among the four cluster numbers “05h”, “07h”, “0Ah”, and “0Bh” corresponding to the free cluster area, the cluster numbers of “05h” and “07h” are discontinuous. It can be seen that “0Ah” and “0Bh” have consecutive cluster numbers. Therefore, the cluster continuity analysis unit 10 includes information on the cluster numbers “05h” and “07h”, information indicating that normal writing is possible for each of these cluster areas, and cluster numbers “0Ah” and “ The information “0Bh” and information indicating that optimum writing is possible for these cluster areas are generated as analysis results and passed to the writing unit 20.

書込部20は、クラスタ連続性解析部10から上記解析結果を取得すると、当該解析結果に基づき、第2記憶装置300の上記検出した空きクラスタ領域に対して、アルゴリズムBを用いたデータファイルの書き込みを行う(ステップS324)。
具体的に、書込部20は、第2記憶装置300のクラスタ領域における、クラスタ番号「05h」及び「07h」に対応するクラスタ領域に対しては、各クラスタのメモリ容量分のデータ量毎(各クラスタ毎)にデータを書き込む。
When the writing unit 20 obtains the analysis result from the cluster continuity analysis unit 10, the writing unit 20 applies the data file using the algorithm B to the detected free cluster area of the second storage device 300 based on the analysis result. Writing is performed (step S324).
Specifically, the writing unit 20 applies to the cluster area corresponding to the cluster numbers “05h” and “07h” in the cluster area of the second storage device 300 for each data amount corresponding to the memory capacity of each cluster ( Write data to each cluster).

一方、書込部20は、第2記憶装置300のクラスタ領域における、クラスタ番号「0Ah」及び「0Bh」に対応するクラスタ領域に対しては、最小アクセス回数となるデータ量毎にデータを書き込む。ここでは、第2記憶装置300に対して1度に最大8クラスタ分のデータ量のデータを伝送できるとする。従って、書き込むデータは2クラスタ分となるので、2クラスタ分のデータを1度のアクセスでクラスタ番号「0Ah」及び「0Bh」に対応するクラスタ領域に書き込む。なお、ここでは、最大データ伝送量を8クラスタとしたが、これは、例えば、上位アプリケーションが確保しているデータ転送用バッファのサイズがいくつか(何クラスタ分あるか)によって決まるものである。従って、上位アプリケーションの種類やその他の条件によっては、8クラスタに限らず、4クラスタ、16クラスタ、32クラスタなどの他の伝送量となる。   On the other hand, the writing unit 20 writes data in the cluster area corresponding to the cluster numbers “0Ah” and “0Bh” in the cluster area of the second storage device 300 for each data amount corresponding to the minimum access count. Here, it is assumed that data of a maximum of 8 clusters can be transmitted to the second storage device 300 at a time. Therefore, since the data to be written is for two clusters, the data for two clusters is written to the cluster area corresponding to the cluster numbers “0Ah” and “0Bh” with one access. Here, the maximum data transmission amount is 8 clusters, but this is determined, for example, by some (how many clusters) the size of the data transfer buffer secured by the host application is. Therefore, depending on the type of higher-order application and other conditions, the transmission amount is not limited to 8 clusters, but other transmission amounts such as 4 clusters, 16 clusters, and 32 clusters.

このようにして、書込対象データ(4クラスタ分のデータ)の第2記憶装置300への書き込みが完了する(ステップS326の「Yes」の分岐)。この書込処理によって、第2記憶装置300の第2FATが、図9に示す状態へと更新される。つまり、以前は空きクラスタ領域であったクラスタ番号「05h」、「07h」、「0Ah」及び「0Bh」に対して、FATエントリ値「07h」、「0Ah」、「0Bh」及び「EOF」がそれぞれ設定される。   In this way, the writing of the write target data (data for 4 clusters) to the second storage device 300 is completed (“Yes” branch of step S326). By this writing process, the second FAT of the second storage device 300 is updated to the state shown in FIG. That is, the FAT entry values “07h”, “0Ah”, “0Bh”, and “EOF” are assigned to the cluster numbers “05h”, “07h”, “0Ah”, and “0Bh” that were previously free cluster areas. Each is set.

データアクセスシステム100は、書込対象データの書き込みが完了すると、他に複写するデータがある場合(ステップS106の「No」の分岐)は、第1記憶装置200から複写対象のデータを読み出す処理に移行し(ステップS102に移行)、そうでない場合(ステップS106の「Yes」の分岐)は、次の複写コマンドを受信するまで受信判定処理を繰り返す(ステップS100に移行)。
なお、上記アルゴリズムBを用いた書込処理は、第2記憶装置300が機種2と特定された場合も同様の処理となる。異なるのは、メモリ容量情報を用いた比較処理がなく、且つアルゴリズムの選択処理がない点であり、機種2の場合は、固定的にアルゴリズムBを用いた書込処理が実行される。
When the writing of the write target data is completed, the data access system 100 performs a process of reading the copy target data from the first storage device 200 when there is other data to be copied (“No” branch in step S106). If not (the process proceeds to step S102), otherwise (the branch of “Yes” in step S106), the reception determination process is repeated until the next copy command is received (the process proceeds to step S100).
The writing process using the algorithm B is the same process when the second storage device 300 is specified as the model 2. The difference is that there is no comparison process using the memory capacity information and no algorithm selection process. In the case of the model 2, the writing process using the algorithm B is executed in a fixed manner.

次に、クラスタ番号が全て不連続となるクラスタ領域に格納されたデータファイルを読み出し、当該読み出したデータファイルを、第2記憶装置300のクラスタ番号が全て不連続となるクラスタ領域に書き込む場合の動作を説明する。なお、ここでは、第2記憶装置300は、機種1と特定され且つメモリ容量が所定閾値未満と判定されたこととする。従って、上記アルゴリズムA及びBからアルゴリズムBを選択し、このアルゴリズムBを用いて書込処理が行われることになる。以下、重複部分の説明を適宜省略して具体的な動作を説明する。   Next, a data file stored in a cluster area in which all cluster numbers are discontinuous is read, and the read data file is written in a cluster area in which all cluster numbers in the second storage device 300 are discontinuous. Will be explained. Here, it is assumed that the second storage device 300 is identified as the model 1 and the memory capacity is determined to be less than the predetermined threshold. Therefore, the algorithm B is selected from the algorithms A and B, and the writing process is performed using the algorithm B. Hereinafter, specific operations will be described by omitting the description of overlapping portions as appropriate.

ここでは、読出部12は、図7に示すように、クラスタ番号「1Ah」、「1Ch」及び「1Eh」の3つのクラスタ番号に対応するクラスタ領域に格納されたデータファイルを読み出すこととする。この場合、クラスタ連続性解析部10においては、これらクラスタ番号「1Ah」、「1Ch」及び「1Eh」の情報と、これらクラスタ番号の領域に対して、上記した通常読み出しが可能であることを示す情報とを解析結果として読出部12に渡すこととなる(ステップS202)。   Here, as shown in FIG. 7, the reading unit 12 reads data files stored in the cluster areas corresponding to the three cluster numbers of the cluster numbers “1Ah”, “1Ch”, and “1Eh”. In this case, the cluster continuity analysis unit 10 indicates that the above-described normal reading is possible for the information of the cluster numbers “1Ah”, “1Ch”, and “1Eh” and the areas of these cluster numbers. Information is passed to the reading unit 12 as an analysis result (step S202).

従って、読出部12は、この解析結果に基づき、クラスタ番号「1Ah」、「1Ch」及び「1Eh」に対応したクラスタ領域から各クラスタ領域毎にデータの読み出しを行う(ステップS204)。この場合は、3度のアクセスでデータファイルの読み出しが完了する(ステップS206)。
一方、空きクラスタ領域検出部18は、第2記憶装置300から取得した図9に示す状態の第2FATに基づき、上記読み出したデータファイル(3クラスタ分)を書き込むことができる空きクラスタ領域として、クラスタ番号「0Dh」、「0Fh」及び「12h」に対応する空きクラスタ領域を検出する(ステップS320)。
Accordingly, the reading unit 12 reads data for each cluster area from the cluster areas corresponding to the cluster numbers “1Ah”, “1Ch”, and “1Eh” based on the analysis result (step S204). In this case, reading of the data file is completed with three accesses (step S206).
On the other hand, the free cluster area detection unit 18 uses the second FAT in the state shown in FIG. 9 acquired from the second storage device 300 as a free cluster area in which the read data file (for 3 clusters) can be written. Free cluster areas corresponding to the numbers “0Dh”, “0Fh”, and “12h” are detected (step S320).

クラスタ連続性解析部10は、この検出されたクラスタ番号「0Dh」、「0Fh」及び「12h」に対応する空きクラスタ領域は、全てクラスタ番号が不連続となるので、これらクラスタ番号の情報と、これらクラスタ番号に対応するクラスタ領域に対して上記した通常書き込みが可能であることを示す情報とを解析結果として生成し、これを書込部20に渡す(ステップS322)。   The cluster continuity analysis unit 10 determines that all the free cluster areas corresponding to the detected cluster numbers “0Dh”, “0Fh”, and “12h” have discontinuous cluster numbers. The above-described information indicating that normal writing is possible with respect to the cluster area corresponding to the cluster number is generated as an analysis result, and this is passed to the writing unit 20 (step S322).

書込部20は、この解析結果に基づき、第2記憶装置300のクラスタ領域におけるクラスタ番号「0Dh」、「0Fh」及び「12h」に対応する空きクラスタ領域に対して、各クラスタ領域毎にデータを書き込む(ステップS324)。
この書込処理によって、第2記憶装置300の第2FATが、図10に示す状態へと更新される。つまり、以前は空きクラスタ領域であったクラスタ番号「0Dh」、「0Fh」及び「12h」に対して、FATエントリ値「0Fh」、「12h」及び「EOF」がそれぞれ設定される。
Based on the analysis result, the writing unit 20 performs data for each cluster area with respect to the free cluster areas corresponding to the cluster numbers “0Dh”, “0Fh”, and “12h” in the cluster area of the second storage device 300. Is written (step S324).
By this writing process, the second FAT of the second storage device 300 is updated to the state shown in FIG. That is, the FAT entry values “0Fh”, “12h”, and “EOF” are respectively set for the cluster numbers “0Dh”, “0Fh”, and “12h” that were previously free cluster areas.

次に、クラスタ番号が全て連続となるクラスタ領域に格納されたデータファイルを読み出し、当該読み出したデータファイルを、第2記憶装置300のクラスタ番号が全て連続となるクラスタ領域に書き込む場合の動作を説明する。なお、ここでは、第2記憶装置300が機種1と特定され且つメモリ容量が所定閾値以上であると判定されたこととする。従って、上記アルゴリズムA及びBからアルゴリズムAを選択し、このアルゴリズムAを用いて書込処理が行われることになる。以下、重複部分の説明を適宜省略して具体的な動作を説明する。   Next, an explanation will be given of the operation when a data file stored in a cluster area in which all cluster numbers are continuous is read and the read data file is written in a cluster area in which all cluster numbers of the second storage device 300 are continuous. To do. Here, it is assumed that the second storage device 300 is identified as model 1 and the memory capacity is determined to be equal to or greater than a predetermined threshold. Accordingly, the algorithm A is selected from the algorithms A and B, and the writing process is performed using the algorithm A. Hereinafter, specific operations will be described by omitting the description of overlapping portions as appropriate.

ここでは、読出部12は、図7に示すように、クラスタ番号「20h」〜「26h」までの連続する7つのクラスタ番号に対応するクラスタ領域に格納されたデータファイルを読み出すこととする。この場合、クラスタ連続性解析部10においては、これらクラスタ番号「20h」〜「26h」(あるいは先頭アドレス「20h」及びOffset「00〜0D」)の情報と、これらクラスタ番号の領域に対して、上記した最適読み出しが可能であることを示す情報とを解析結果として読出部12に渡すこととなる(ステップS202)。   Here, as shown in FIG. 7, the reading unit 12 reads data files stored in the cluster area corresponding to seven consecutive cluster numbers from the cluster numbers “20h” to “26h”. In this case, in the cluster continuity analysis unit 10, the information of the cluster numbers “20h” to “26h” (or the head address “20h” and Offset “00 to 0D”) and the areas of these cluster numbers are obtained. Information indicating that the optimum reading described above is possible is passed to the reading unit 12 as an analysis result (step S202).

従って、読出部12は、この解析結果に基づき、クラスタ番号「20h」〜「26h」に対応したクラスタ領域のうち、最大データ伝送量となる8クラスタ以下で最小アクセス回数となるデータ量毎にデータの読み出しを行う(ステップS204)。この場合は、「20h」〜「26h」の7クラスタ分のデータに対して、1度のアクセスでデータファイルの読み出しが完了する(ステップS206)。   Therefore, based on the analysis result, the reading unit 12 stores data for each data amount that is the minimum access count in 8 clusters or less that is the maximum data transmission amount in the cluster area corresponding to the cluster numbers “20h” to “26h”. Is read (step S204). In this case, reading of the data file is completed with one access to the data for seven clusters “20h” to “26h” (step S206).

一方、空きクラスタ領域検出部18は、第2記憶装置300から図10に示す状態の第2FATを取得し(ステップS310)、この取得した第2FATに基づき、第2記憶装置300に対して1度に行える最大データ転送量が8クラスタ分であることから、上記読み出したデータファイル(7クラスタ分)を書き込むことができる空きクラスタ領域として、クラスタ番号が全て連続する「40h」〜「46h」に対応する空きクラスタ領域を検出する(ステップS312)。つまり、第2記憶装置300は、比較的メモリ容量の大きい記憶装置であるので、メモリの使用効率よりもメモリの書込効率を重視した書込処理を実行する。従って、図10に示すように、クラスタ番号「40h」〜「46h」よりも若い番号に空きクラスタがあっても、データファイルのクラスタ数である7未満の連続するクラスタ番号及び不連続のクラスタ番号に対応する空きクラスタ領域を無視して、その先のクラスタ番号からデータファイル分(7クラスタ分)のクラスタ番号の連続する空きクラスタ領域を検出する。また、アルゴリズムAにおいては、この検出した空きクラスタ領域のクラスタ番号の情報を、クラスタ連続性解析部10には渡さず、直接書込部20へと渡す。   On the other hand, the free cluster area detection unit 18 acquires the second FAT in the state shown in FIG. 10 from the second storage device 300 (step S310), and once with respect to the second storage device 300 based on the acquired second FAT. Since the maximum amount of data transfer that can be performed is 8 clusters, it corresponds to “40h” to “46h” in which all the cluster numbers are continuous as an empty cluster area where the read data file (7 clusters) can be written. An empty cluster area to be detected is detected (step S312). That is, since the second storage device 300 is a storage device having a relatively large memory capacity, the second storage device 300 executes a writing process in which the memory writing efficiency is more important than the memory usage efficiency. Therefore, as shown in FIG. 10, even if there is an empty cluster at a number lower than the cluster numbers “40h” to “46h”, a continuous cluster number and a discontinuous cluster number that are less than 7 as the number of data file clusters. Ignoring the free cluster area corresponding to, the continuous free cluster area having the cluster number of the data file (7 clusters) is detected from the cluster number ahead. In the algorithm A, the cluster number information of the detected empty cluster area is not transferred to the cluster continuity analysis unit 10 but directly to the writing unit 20.

なお、本実施の形態においては、前述したように、第2記憶装置300に対して1度に行える最大データ転送量が8クラスタ分であるので、例えば、32クラスタ分のデータファイルなどの8クラスタよりも多いクラスタ数のデータファイルの書き込みを行う場合は、8クラスタ分毎にクラスタ番号が連続する空きクラスタ領域を検出するようにしても良い。また、この場合は、例えば、検出した空きクラスタ領域に対応するクラスタ番号の情報をクラスタ連続性解析部10に渡して、分析結果を生成するようにしても良い。   In the present embodiment, as described above, since the maximum data transfer amount that can be performed at one time for the second storage device 300 is 8 clusters, for example, 8 clusters such as data files for 32 clusters. When writing a data file having a larger number of clusters, an empty cluster area having consecutive cluster numbers may be detected every 8 clusters. In this case, for example, the cluster number information corresponding to the detected free cluster area may be passed to the cluster continuity analysis unit 10 to generate an analysis result.

書込部20は、空きクラスタ領域検出部18からの空きクラスタ領域のクラスタ番号の情報に基づき、第2記憶装置300のクラスタ領域におけるクラスタ番号「40h」〜「46h」に対応する空きクラスタ領域に対して、1度のアクセスでデータファイルを書き込む(ステップS314)。
この書込処理によって、第2記憶装置300の第2FATが、図11に示す状態へと更新される。つまり、以前は空きクラスタ領域であったクラスタ番号「40h」〜「46h」に対して、FATエントリ値「41h」、「42h」、「43h」、「44h」、「45h」、「46h」及び「EOF」がそれぞれ設定される。
Based on the information on the cluster number of the free cluster area from the free cluster area detection unit 18, the writing unit 20 creates a free cluster area corresponding to the cluster numbers “40h” to “46h” in the cluster area of the second storage device 300. On the other hand, the data file is written by one access (step S314).
By this writing process, the second FAT of the second storage device 300 is updated to the state shown in FIG. That is, the FAT entry values “41h”, “42h”, “43h”, “44h”, “45h”, “46h”, and the cluster numbers “40h” to “46h”, which were previously free cluster areas, and “EOF” is set respectively.

なお、上記アルゴリズムAを用いた書込処理は、第2記憶装置300が機種3と特定された場合も同様の処理となる。異なるのは、メモリ容量情報を用いた比較処理がなく、且つアルゴリズムの選択処理がない点であり、機種3の場合は、固定的にアルゴリズムAを用いた書込処理が実行される。
以上、本実施の形態のデータアクセスシステム100によれば、データファイルの複写先(書き込み先)となる第2記憶装置300が上記機種1であり且つそのメモリ容量(総メモリ容量又はメモリ残量)が所定閾値未満であるとき(比較的低メモリ容量であるとき)、又は第2記憶装置300が上記機種2(比較的低メモリ容量の記憶装置)であるときは、データ書込処理効率及びデータ使用効率の双方を考慮した上記アルゴリズムBを用いた書込処理を行うことが可能である。これによって、クラスタ番号の連続する空きクラスタ領域に対する書き込みにおいてアクセス回数を低減することができるので、メモリの使用効率を低下させずに、データの書込処理効率を向上することができる。
The writing process using the algorithm A is the same process when the second storage device 300 is specified as the model 3. The difference is that there is no comparison process using the memory capacity information and no algorithm selection process. In the case of the model 3, the writing process using the algorithm A is executed in a fixed manner.
As described above, according to the data access system 100 of the present embodiment, the second storage device 300 serving as a data file copy destination (write destination) is the model 1 and its memory capacity (total memory capacity or remaining memory capacity). Is less than a predetermined threshold (when the memory capacity is relatively low), or when the second storage device 300 is the model 2 (storage device with a relatively low memory capacity), data write processing efficiency and data It is possible to perform a writing process using the algorithm B in consideration of both usage efficiencies. As a result, the number of accesses in writing to free cluster areas with consecutive cluster numbers can be reduced, so that the data write processing efficiency can be improved without reducing the memory use efficiency.

また、本実施の形態のデータアクセスシステム100によれば、データファイルの複写先(書き込み先)となる第2記憶装置300が上記機種1であり且つそのメモリ容量(総メモリ容量又はメモリ残量)が所定閾値以上であるとき(比較的大メモリ容量であるとき)、又は第2記憶装置300が上記機種3(HDD等の比較的大メモリ容量の記憶装置)であるときは、データ書込処理効率を重視した上記アルゴリズムAを用いた書込処理を行うことが可能である。これによって、データファイルのデータ量分又は最大データ転送量分のクラスタ番号の連続する空きクラスタ領域を検出し、このクラスタ番号の連続する空きクラスタ領域に対して最適書き込みを行うので、データファイルの書き込みに必要なアクセス回数を最大限低減することができるので、データの書込処理効率を向上することができる。   Further, according to the data access system 100 of the present embodiment, the second storage device 300 that is the copy destination (write destination) of the data file is the model 1 and its memory capacity (total memory capacity or remaining memory capacity). Is greater than or equal to a predetermined threshold (when the memory capacity is relatively large), or when the second storage device 300 is the model 3 (storage device with a relatively large memory capacity such as an HDD), the data writing process It is possible to perform a writing process using the algorithm A that emphasizes efficiency. As a result, a free cluster area having consecutive cluster numbers corresponding to the data amount of the data file or the maximum data transfer amount is detected, and optimal writing is performed on the free cluster area having the continuous cluster number. Since the number of accesses necessary for the data can be reduced to the maximum, the data write processing efficiency can be improved.

上記実施の形態において、第1記憶装置200及び第2記憶装置300は、形態1〜6のいずれか1の記憶媒体に対応し、クラスタ連続性解析部10は、形態1の第1連続性解析手段及び第2連続性解析手段に対応し、読出部12は、形態1の読出手段に対応し、機種特定部14は、形態3の特定手段に対応し、メモリ容量比較部16は、形態2の比較手段に対応し、空きクラスタ領域検出部18は、形態1又は2の空き小メモリ領域検出手段に対応し、書込部20は、形態1〜3のいずれか1の書込手段に対応する。   In the above embodiment, the first storage device 200 and the second storage device 300 correspond to the storage medium of any one of Embodiments 1 to 6, and the cluster continuity analysis unit 10 performs the first continuity analysis of Embodiment 1. The reading unit 12 corresponds to the reading unit of mode 1, the model specifying unit 14 corresponds to the specifying unit of mode 3, and the memory capacity comparing unit 16 corresponds to the mode 2 and the second continuity analyzing unit. The free cluster area detecting unit 18 corresponds to the free small memory area detecting unit in the first or second mode, and the writing unit 20 corresponds to any one of the writing units in the first to third modes. To do.

なお、上記実施の形態においては、FAT型フォーマットのファイルシステムを例に説明しているが、これに限らず、同様な形式でデータアクセスの行われるシステムであれば、どのようなシステムに本発明を適用しても良い。
また、上記実施の形態においては、HDD、SDカード、CF(コンパクトフラッシュ(登録商標))カード、SMTメディア(登録商標)、OFM(Onboard Flash Memory)などの記憶装置を例として説明したが、これに限らず、MO、DVD、FD等の他の記憶装置に本発明を適用しても良い。
In the above embodiment, the FAT type format file system has been described as an example. However, the present invention is not limited to this, and any system can be used as long as data access is performed in a similar format. May be applied.
In the above-described embodiment, the storage device such as HDD, SD card, CF (Compact Flash (registered trademark)) card, SMT media (registered trademark), OFM (Onboard Flash Memory) has been described as an example. However, the present invention may be applied to other storage devices such as MO, DVD, and FD.

また、上記実施の形態においては、FAT16のフォーマットを例として、具体的な動作を説明したが、FAT16に限らず、本発明は、FAT12、FAT32、VFAT等の他のFAT型のフォーマットにも適用可能であると共に、同様の形式であれば、FAT型以外のフォーマットにも適用可能である。   In the above embodiment, the specific operation has been described taking the FAT16 format as an example. However, the present invention is not limited to the FAT16, and the present invention is also applicable to other FAT type formats such as FAT12, FAT32, and VFAT. In addition, the same format can be applied to formats other than the FAT type.

本発明に係るデータアクセスシステム100の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the data access system 100 which concerns on this invention. データアクセスシステム100のハードウェア構成図である。2 is a hardware configuration diagram of the data access system 100. FIG. データアクセスシステム100におけるデータファイル複写処理を示すフローチャートである。4 is a flowchart showing a data file copying process in the data access system 100. データアクセスシステム100におけるデータファイル読出処理を示すフローチャートである。4 is a flowchart showing a data file read process in the data access system 100. データアクセスシステム100におけるデータファイル書込処理を示すフローチャートである。4 is a flowchart showing a data file writing process in the data access system 100. 記憶装置の種類(機種)及びディスク容量に対する、書込処理方法(アルゴリズム)の一例を示す図である。It is a figure which shows an example of the write-processing method (algorithm) with respect to the kind (model) and disk capacity of a storage device. 第1記憶装置200の第1FATの一例を示す図である。3 is a diagram illustrating an example of a first FAT in the first storage device 200. FIG. 第2記憶装置300の第2FATの一例を示す図である。3 is a diagram illustrating an example of a second FAT in the second storage device 300. FIG. 連続及び不連続なクラスタ領域が混在したクラスタ領域への書込処理後の第2FATの一例を示す図である。It is a figure which shows an example of 2nd FAT after the write-in process to the cluster area | region where the continuous and discontinuous cluster area | region mixed. 全て不連続となるクラスタ領域への書込処理後の第2FATの一例を示す図である。It is a figure which shows an example of 2nd FAT after the write-in process to the cluster area | region which becomes all discontinuous. 全て連続となるクラスタ領域への書込処理後の第2FATの一例を示す図である。It is a figure which shows an example of 2nd FAT after the write-in process to the cluster area | region which becomes all continuous.

符号の説明Explanation of symbols

100…データアクセスシステム、200…第1記憶装置、300…第2記憶装置、10…クラスタ連続性解析部、12…読出部、14…機種特定部、16…メモリ容量比較部、18…空きクラスタ領域検出部、20…書込部 DESCRIPTION OF SYMBOLS 100 ... Data access system, 200 ... 1st memory | storage device, 300 ... 2nd memory | storage device, 10 ... Cluster continuity analysis part, 12 ... Reading part, 14 ... Model specification part, 16 ... Memory capacity comparison part, 18 ... Empty cluster Area detection unit, 20 ... writing unit

Claims (6)

複数の所定サイズの小メモリ領域に分割されたメモリ領域を有する記憶媒体の当該小メモリ領域毎のデータ記憶状態を示すメモリ管理情報に基づき、当該記憶媒体に対してデータアクセスを行うデータアクセスシステムであって、
第1記憶媒体の前記メモリ管理情報と、当該第1記憶媒体から読み出すデータの情報とに基づき、当該第1記憶媒体における前記データの格納された小メモリ領域のアドレスの連続性を解析する第1連続性解析手段と、
前記第1連続性解析手段の解析結果に基づき、前記第1記憶媒体から前記データの読み出しを行う読出手段と、
第2記憶媒体の前記メモリ管理情報と、前記読出手段で読み出したデータのデータ量の情報とに基づき、前記第2記憶媒体における前記データ量に応じた数の空き小メモリ領域を検出する空き小メモリ領域検出手段と、
前記空き小メモリ領域検出手段で検出した前記データ量に応じた数の空き小メモリ領域のアドレスの連続性を解析する第2連続性解析手段と、
前記第2連続性解析手段の解析結果に基づき、前記第2記憶媒体に前記データの書き込みを行う書込手段と、を備え、
前記読出手段は、前記第1記憶媒体における前記データの格納されたアドレスの連続する複数の小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の小メモリ領域分の前記データの読み出しを行うと共に、前記第1記憶媒体における他の小メモリ領域のアドレスと不連続となるアドレスの前記データの格納された小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの読み出しを行い、
前記書込手段は、前記データ量に応じた数の空き小メモリ領域におけるアドレスの連続する複数の空き小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の空き小メモリ領域分の前記データの書き込みを行うと共に、前記データ量に応じた数の空き小メモリ領域における、他の空き小メモリ領域のアドレスと不連続となるアドレスの空き小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの書き込みを行うことを特徴とするデータアクセスシステム。
A data access system for performing data access to a storage medium having a memory area divided into a plurality of small memory areas of a predetermined size based on memory management information indicating a data storage state for each small memory area. There,
Based on the memory management information of the first storage medium and the information of data read from the first storage medium, a first analysis of the continuity of addresses in the small memory area where the data is stored in the first storage medium Continuity analysis means;
Reading means for reading the data from the first storage medium based on the analysis result of the first continuity analysis means;
Based on the memory management information of the second storage medium and the information on the data amount of the data read by the reading means, the number of free small memory areas corresponding to the amount of data in the second storage medium is detected. Memory area detection means;
Second continuity analyzing means for analyzing the continuity of addresses in a number of free small memory areas corresponding to the amount of data detected by the free small memory area detecting means;
Writing means for writing the data to the second storage medium based on the analysis result of the second continuity analysis means;
The reading means, for a plurality of consecutive small memory areas of the data storage address in the first storage medium, the data for the plurality of small memory areas for each data capacity that is the minimum number of accesses. For the small memory area in which the data of the address that is discontinuous with the address of the other small memory area in the first storage medium is stored, the data for each size of the small memory area Read
For the plurality of free small memory areas having consecutive addresses in the number of free small memory areas corresponding to the amount of data, the writing means includes a plurality of free small memory areas for each data capacity corresponding to the minimum access count. For the number of free small memory areas corresponding to the amount of data, and the small free memory area of the address that is discontinuous with the address of the other free small memory areas. A data access system that writes the data for each size of a memory area.
前記第2記憶媒体のメモリ容量に係る値と、所定閾値とを比較する比較手段を備え、
前記空き小メモリ領域検出手段は、前記第2記憶媒体のメモリ容量に係る値が前記所定閾値以上のときは、前記第2記憶媒体の空き小メモリ領域のうち前記データ量分のアドレスの連続した複数の空き小メモリ領域を検出するようになっており、
前記書込手段は、前記比較により、前記記憶媒体のメモリ容量に係る値が、前記所定閾値未満のときは、前記データ量に応じた数の空き小メモリ領域における前記アドレスの連続する複数の空き小メモリ領域に対して最小アクセス回数となるデータ容量毎に当該複数の空き小メモリ領域分の前記データの書き込みを行うと共に、前記データ量に応じた数の空き小メモリ領域における、他の空き小メモリ領域のアドレスと不連続となるアドレスの空き小メモリ領域に対して当該小メモリ領域のサイズ毎に前記データの書き込みを行い、前記所定閾値以上のときは、前記データ量分のアドレスの連続した複数の空き小メモリ領域に対して最小アクセス回数となるデータ容量毎に前記データの書き込みを行うことを特徴とする請求項1記載のデータアクセスシステム。
Comparing means for comparing a value relating to the memory capacity of the second storage medium with a predetermined threshold value,
When the value relating to the memory capacity of the second storage medium is equal to or greater than the predetermined threshold, the free small memory area detecting means continuously includes addresses corresponding to the data amount in the free small memory area of the second storage medium. It is designed to detect multiple free small memory areas,
When the value relating to the memory capacity of the storage medium is less than the predetermined threshold by the comparison, the writing means has a plurality of consecutive free addresses in the number of free small memory areas corresponding to the data amount. The data for the plurality of free small memory areas is written for each data capacity that is the minimum number of accesses to the small memory area, and other free small areas in the number of free small memory areas corresponding to the data amount are written. The data is written for each size of the small memory area in an empty small memory area that is discontinuous with the address of the memory area. 2. The data according to claim 1, wherein the data is written for each data capacity that is the minimum number of accesses to a plurality of free small memory areas. Access system.
前記第2記憶媒体の種類を特定する特定手段を備え、
前記書込手段は、前記特定手段で特定された前記第2記憶媒体の種類が、特定種類のものであるときに、前記比較処理の処理結果に基づき前記第1書込処理又は前記第2書込処理を選択的に実行し、前記特定種類以外のものであるときに、その種類に応じて、前記第1書込処理又は前記第2書込処理を固定的に実行することを特徴とする請求項2記載のデータアクセスシステム。
A specifying means for specifying the type of the second storage medium;
The writing means, when the type of the second storage medium specified by the specifying means is a specific type, based on the processing result of the comparison process, the first writing process or the second writing medium And the first writing process or the second writing process is fixedly executed according to the type when the process is selectively performed. The data access system according to claim 2.
前記記憶媒体は、その記憶領域を所定メモリサイズのセクタ単位に分割すると共に、1つ以上のセクタから構成されるクラスタ単位で区分けするFAT(File Allocation Table)型のフォーマットがされたものであり、
前記メモリ管理情報は、前記記憶媒体の有する、前記クラスタ単位のデータ記憶状態の情報から構成されるFAT(File Allocation Table)であり、
前記小メモリ領域は、前記クラスタ単位のメモリ領域であることを特徴とする請求項1乃至請求項3のいずれか1項に記載のデータアクセスシステム。
The storage medium has a FAT (File Allocation Table) type format in which the storage area is divided into sectors each having a predetermined memory size and is divided into clusters each composed of one or more sectors.
The memory management information is a FAT (File Allocation Table) composed of data storage state information of the cluster unit of the storage medium,
The data access system according to any one of claims 1 to 3, wherein the small memory area is a memory area of the cluster unit.
複数の所定サイズの小メモリ領域に分割されたメモリ領域を有する記憶媒体の当該小メモリ領域毎のデータ記憶状態を示すメモリ管理情報に基づき、当該記憶媒体に対してデータアクセスを行うデータアクセスプログラムであって、
第1記憶媒体の前記メモリ管理情報と、当該第1記憶媒体から読み出すデータの情報とに基づき、当該第1記憶媒体における前記データの格納された小メモリ領域のアドレスの連続性を解析する第1連続性解析ステップと、
前記第1連続性解析ステップの解析結果に基づき、前記第1記憶媒体から前記データの読み出しを行う読出ステップと、
第2記憶媒体の前記メモリ管理情報と、前記読出ステップで読み出したデータのデータ量の情報とに基づき、前記第2記憶媒体における前記データ量に応じた空き小メモリ領域を検出する空き小メモリ領域検出ステップと、
前記空き小メモリ領域検出ステップで検出した空き小メモリ領域のアドレスの連続性を解析する第2連続性解析ステップと、
前記第2連続性解析ステップの解析結果に基づき、前記第2記憶媒体に前記データの書き込みを行う書込ステップとからなる処理をコンピュータに実行させるためのプログラムを含み、
前記読出ステップは、前記第1記憶媒体における前記データの格納されたアドレスの連続する複数の小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の小メモリ領域分の前記データの読み出しを行うと共に、前記第1記憶媒体における他の小メモリ領域のアドレスと不連続となるアドレスの前記データの格納された小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの読み出しを行い、
前記書込ステップは、前記データ量に応じた数の空き小メモリ領域における前記アドレスの連続する複数の空き小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の空き小メモリ領域分の前記データの書き込みを行うと共に、前記データ量に応じた数の空き小メモリ領域における、他の空き小メモリ領域のアドレスと不連続となるアドレスの空き小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの書き込みを行うことを特徴とするデータアクセスプログラム。
A data access program for performing data access to a storage medium having a memory area divided into a plurality of small memory areas of a predetermined size, based on memory management information indicating a data storage state for each small memory area. There,
Based on the memory management information of the first storage medium and the information of data read from the first storage medium, a first analysis of the continuity of addresses in the small memory area where the data is stored in the first storage medium A continuity analysis step;
A reading step for reading the data from the first storage medium based on the analysis result of the first continuity analysis step;
An empty small memory area for detecting an empty small memory area corresponding to the data amount in the second storage medium based on the memory management information of the second storage medium and the data amount information of the data read in the reading step A detection step;
A second continuity analysis step for analyzing the continuity of addresses in the free small memory area detected in the free small memory area detection step;
A program for causing a computer to execute a process consisting of a writing step of writing the data to the second storage medium based on the analysis result of the second continuity analysis step;
In the reading step, for a plurality of continuous small memory areas of the data storage address in the first storage medium, the data for the plurality of small memory areas for each data capacity corresponding to the minimum access count For the small memory area in which the data of the address that is discontinuous with the address of the other small memory area in the first storage medium is stored, the data for each size of the small memory area Read
In the writing step, for a plurality of free small memory areas having consecutive addresses in the number of free small memory areas corresponding to the amount of data, the plurality of free small memories for each data capacity corresponding to the minimum access count. In addition to writing the data for the area, the number of free small memory areas corresponding to the amount of data corresponds to the free small memory area whose address is discontinuous with the addresses of other free small memory areas. A data access program for writing the data for each size of a small memory area.
複数の所定サイズの小メモリ領域に分割されたメモリ領域を有する記憶媒体の当該小メモリ領域毎のデータ記憶状態を示すメモリ管理情報に基づき、当該記憶媒体に対してデータアクセスを行うデータアクセス方法であって、
第1記憶媒体の前記メモリ管理情報と、当該第1記憶媒体から読み出すデータの情報とに基づき、当該第1記憶媒体における前記データの格納された小メモリ領域のアドレスの連続性を解析する第1連続性解析ステップと、
前記第1連続性解析ステップの解析結果に基づき、前記第1記憶媒体から前記データの読み出しを行う読出ステップと、
第2記憶媒体の前記メモリ管理情報と、前記読出ステップで読み出したデータのデータ量の情報とに基づき、前記第2記憶媒体における前記データ量に応じた空き小メモリ領域を検出する空き小メモリ領域検出ステップと、
前記空き小メモリ領域検出ステップで検出した空き小メモリ領域のアドレスの連続性を解析する第2連続性解析ステップと、
前記第2連続性解析ステップの解析結果に基づき、前記第2記憶媒体に前記データの書き込みを行う書込ステップと、を含み、
前記読出ステップは、前記第1記憶媒体における前記データの格納されたアドレスの連続する複数の小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の小メモリ領域分の前記データの読み出しを行うと共に、前記第1記憶媒体における他の小メモリ領域のアドレスと不連続となるアドレスの前記データの格納された小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの読み出しを行い、
前記書込ステップは、前記データ量に応じた数の空き小メモリ領域における前記アドレスの連続する複数の空き小メモリ領域に対しては、最小アクセス回数となるデータ容量毎に当該複数の空き小メモリ領域分の前記データの書き込みを行うと共に、前記データ量に応じた数の空き小メモリ領域における、他の空き小メモリ領域のアドレスと不連続となるアドレスの空き小メモリ領域に対しては、当該小メモリ領域のサイズ毎に前記データの書き込みを行うことを特徴とするデータアクセス方法。
A data access method for performing data access to a storage medium having a memory area divided into a plurality of small memory areas of a predetermined size based on memory management information indicating a data storage state for each small memory area. There,
Based on the memory management information of the first storage medium and the information of data read from the first storage medium, a first analysis of the continuity of addresses in the small memory area where the data is stored in the first storage medium A continuity analysis step;
A reading step for reading the data from the first storage medium based on the analysis result of the first continuity analysis step;
An empty small memory area for detecting an empty small memory area corresponding to the data amount in the second storage medium based on the memory management information of the second storage medium and the data amount information of the data read in the reading step A detection step;
A second continuity analysis step for analyzing the continuity of addresses in the free small memory area detected in the free small memory area detection step;
A writing step of writing the data to the second storage medium based on the analysis result of the second continuity analysis step,
In the reading step, for a plurality of continuous small memory areas of the data storage address in the first storage medium, the data for the plurality of small memory areas for each data capacity corresponding to the minimum access count For the small memory area in which the data of the address that is discontinuous with the address of the other small memory area in the first storage medium is stored, the data for each size of the small memory area Read
In the writing step, for a plurality of free small memory areas having consecutive addresses in the number of free small memory areas corresponding to the amount of data, the plurality of free small memories for each data capacity corresponding to the minimum access count. In addition to writing the data for the area, the number of free small memory areas corresponding to the amount of data corresponds to the free small memory area whose address is discontinuous with the addresses of other free small memory areas. A data access method comprising writing the data for each size of a small memory area.
JP2006179118A 2006-06-29 2006-06-29 Data access system, data access program, and data access method Pending JP2008009688A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006179118A JP2008009688A (en) 2006-06-29 2006-06-29 Data access system, data access program, and data access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006179118A JP2008009688A (en) 2006-06-29 2006-06-29 Data access system, data access program, and data access method

Publications (1)

Publication Number Publication Date
JP2008009688A true JP2008009688A (en) 2008-01-17

Family

ID=39067852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006179118A Pending JP2008009688A (en) 2006-06-29 2006-06-29 Data access system, data access program, and data access method

Country Status (1)

Country Link
JP (1) JP2008009688A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870739A (en) * 2017-03-15 2018-04-03 珠海市杰理科技股份有限公司 Disk file storage method and system
CN107943415A (en) * 2017-11-10 2018-04-20 珠海市杰理科技股份有限公司 The method and system of lookup free cluster based on FAT file system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870739A (en) * 2017-03-15 2018-04-03 珠海市杰理科技股份有限公司 Disk file storage method and system
CN107870739B (en) * 2017-03-15 2021-03-19 珠海市杰理科技股份有限公司 Disk file storage method and system
CN107943415A (en) * 2017-11-10 2018-04-20 珠海市杰理科技股份有限公司 The method and system of lookup free cluster based on FAT file system
CN107943415B (en) * 2017-11-10 2021-04-02 珠海市杰理科技股份有限公司 Method and system for searching free cluster based on FAT file system

Similar Documents

Publication Publication Date Title
JP5458568B2 (en) Nonvolatile storage device, information recording system, and information recording method
JP4749255B2 (en) Storage system control device having multiple types of storage devices
KR101539813B1 (en) Method for optimizing cleaning of maps in flashcopy cascades containing incremental maps
JP5090941B2 (en) Storage subsystem and storage system
US9405485B2 (en) Method and apparatus for writing data to a flash memory
US20080195833A1 (en) Systems, methods and computer program products for operating a data processing system in which a file system&#39;s unit of memory allocation is coordinated with a storage system&#39;s read/write operation unit
US20150169618A1 (en) Generating Enumerated Information in which a Plurality of Files are Enumerated in a Sequential Medium
US20150234598A1 (en) Memory device and host device
JPH1091362A (en) Method and device for adaptive localization of data that is frequently accessed and addressed at random
US20070226404A1 (en) File storage device, host apparatus, method for formatting nonvolatile semiconductor memory, and method of writing data in nonvolatile semiconductor memory
JP2008065445A (en) Computer system for saving storage area by integrating same data, storage systems and those control method
KR101374065B1 (en) Data Distinguish Method and Apparatus Using Algorithm for Chip-Level-Parallel Flash Memory
JP5962140B2 (en) Program, control method, control apparatus and system
CN113568582A (en) Data management method and device and storage equipment
US7398420B2 (en) Method for keeping snapshot image in a storage system
JP2008009688A (en) Data access system, data access program, and data access method
US20100174871A1 (en) Input/output control system, input/output control method and input/output control program
JP4997858B2 (en) Data recording apparatus and data recording program
JP4245021B2 (en) Storage device, storage system, and storage device control method
JP4765967B2 (en) Information processing apparatus, information processing method, and program
JP2008009604A (en) Data access system, data access program, and data access method
US20050027934A1 (en) Disk fragmentation test system
WO2021015174A1 (en) Storage management device, storage management method and program
CN107132996B (en) Intelligent thin provisioning-based storage method, module and system
JPH08129461A (en) Auxiliary storage device