JP2011118623A - Data synchronization apparatus - Google Patents

Data synchronization apparatus Download PDF

Info

Publication number
JP2011118623A
JP2011118623A JP2009274876A JP2009274876A JP2011118623A JP 2011118623 A JP2011118623 A JP 2011118623A JP 2009274876 A JP2009274876 A JP 2009274876A JP 2009274876 A JP2009274876 A JP 2009274876A JP 2011118623 A JP2011118623 A JP 2011118623A
Authority
JP
Japan
Prior art keywords
data
fat
writing
file
storage area
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
JP2009274876A
Other languages
Japanese (ja)
Inventor
Seikyo Suzuki
靖教 鈴木
Original Assignee
Canon Inc
キヤノン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc, キヤノン株式会社 filed Critical Canon Inc
Priority to JP2009274876A priority Critical patent/JP2011118623A/en
Publication of JP2011118623A publication Critical patent/JP2011118623A/en
Application status is Pending legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce disk input/output processing to a FAT area which requires data updating when performing operation for writing or deleting data to/from a file in a FAT type disk.
SOLUTION: A data synchronization apparatus includes a means for changing data of an FAT, a means for controlling a temporary storage area when reading out or writing data and a means for writing data corresponding to a data change in a recording medium out of the data stored in the temporary storage area. The data synchronization apparatus reads out data of at least one FAT from the temporary storage area, changes the read data, calculates a position for writing the changed data in the recording medium and a writing position of the other FAT in which the contents of the data are redundantly stored by using the sizes of the FATs, and controls the calculated results so as to be stored in the temporary storage area. Further when rewriting the changed FAT data stored in the temporary storage area in the recording medium, the same data is written in the writing position of the other FAT.
COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明はデータ同期装置に関し、特に、FATファイルシステムに用いて好適な技術に関する。 The present invention relates to a data synchronizer, in particular, a technique suitable for use in the FAT file system.

ファイルアロケーションテーブル(File Allocation Table、以下、FAT)を用いてファイルデータを管理するファイルシステムは、一般にFATファイルシステムと呼ばれている。 File Allocation Table (File Allocation Table, below, FAT) file system for managing file data with is generally called a FAT file system. 特に、FATファイルシステム用に論理フォーマットされたハードディスク等の記録メディアは、FAT型ディスクと呼ばれている。 In particular, a recording medium such as a hard disk that is logically formatted for FAT file system is called a FAT type disc. ユーザプログラムからの指示を受け、FAT型ディスクに対してデータの読み出しや書き込みといった動作を行う場合、FATファイルシステムでは、その入出力をセクタと呼ばれる単位で行う。 Receiving an instruction from the user program, when performing an operation such as reading and writing of data to the FAT disc, the FAT file system, perform a unit called the input and output sectors. ここで、1セクタの大きさは通常は512バイト、またはそのべき乗である。 Here, the size of one sector is usually 512 bytes or power. また、2のべき乗(1、2、4、8、16、…)個のセクタの集合はクラスタと呼ばれており、FAT型ディスク上に存在するファイルはクラスタの集合で表される。 Also, a power of 2 (1,2,4,8,16, ...) a set of pieces of sectors is called a cluster, the file on the FAT-type disk is represented by a set of clusters. 1クラスタが何個のセクタから構成されるかは主にFAT型ディスクの容量によってディスクの論理フォーマット時に決定される。 1 or cluster is configured from any number of sectors is determined primarily on the logical format at the time of the disk by the capacity of the FAT type disk.

FATファイルシステムにより、新規にファイルを作成する場合は以下のように行われる。 The FAT file system, when creating a new file is performed as follows. まず、データ内容を記録するために、初めてファイルに未使用クラスタが割り付けられると、対応するFAT項目の値は未使用を示す0000Hから、使用中かつ最終クラスタであることを示すFFFFHに変更される。 First, in order to record the data content is changed first time an unused cluster is assigned to a file, from 0000H value of the corresponding FAT entry that indicates an unused, to FFFFH indicating the and last cluster during use . そして、同じファイルに対してデータを追加記録し続けると、データ内容の大きさが1クラスタ分では足りなくなる。 Then, when continue to add recording data on the same file, the size of the data content is not enough in one cluster. そこで、ファイルの最終クラスタに対応するFAT項目の値は次に新しく追加して割り付けられる未使用クラスタの位置を示すクラスタ番号に変更される。 Therefore, the value of the FAT entry corresponding to the last cluster of the file is changed to the cluster number indicating the position of the unused clusters allocated and then new. このとき、新しく追加された未使用クラスタのFAT項目の値を0000HからFFFFHに変更する。 At this time, the change to FFFFH the value of the FAT entry of the newly added unused cluster from 0000H. これを繰り返すことにより1つのファイルに次々とクラスタを割り付けていくことができる。 By repeating this process it is possible to go allocated one after the other cluster in a single file. 以前に作成したファイルが存在し、それにデータを追加していく場合も同様である。 There is a file that you created earlier, it is the same even if you continue to add data. 一方、ファイルの大きさを小さくする場合、もしくはファイルを削除する場合には、操作の結果そのファイルに割り当てておく必要の無くなったクラスタに対応するFAT項目の値を0000Hに変更する。 On the other hand, if to reduce the size of the file, or to delete a file, change the value of the FAT entry corresponding to cluster no longer required to be assigned the result of the operation to the file register to 0000H. そして、新たなファイルの大きさに対して最終クラスタに対応するFAT項目の値をFFFFHに変更する。 Then, change the value of the FAT entry corresponding to the last cluster relative to the size of the new file to FFFFH.

ここで、前述したようにディスク上のデータは、セクタ単位で入出力が行われる。 Here, the data on the disc as described above is output in units of sectors is performed. したがって、FATの内容を更新する際は、ディスク上のデータを直接変更するのではなく、高速に入出力できる半導体メモリなどに一時保存エリア(以下、バッファ)を設ける。 Thus, when updating the contents of the FAT, instead of changing the data on the disk directly, such as in the temporary storage area semiconductor memory which can output a high speed (hereinafter, buffers) provided. そして、一旦そのバッファにディスク上の元データを蓄積し、これに対して必要な変更を行い、その後適宜バッファの内容をディスク上へ書き戻すといった処理が行われる。 Then, temporarily stores the original data on the disk to the buffer, which makes the necessary changes to, then processing such as appropriate write back the contents of the buffer to the disk is performed. このように、バッファの内容をディスク上へ書き戻す処理はデータ同期と呼ばれている(例えば、特許文献1参照)。 Thus, the process of writing back the contents of the buffer to the disk is called data synchronization (e.g., see Patent Document 1).

特許第3703181号公報 Patent No. 3703181 Publication

FAT型ディスクにおいては、FAT1及びFAT2の内容を常に同じものにしておく必要がある。 In FAT disc, it is necessary to keep the contents of the FAT1 and FAT2 always the same. そのため、ファイルへのデータの追加書き込みや削除などの動作に伴ってFATを更新する際には、FAT1及びFAT2の内容を、それぞれ一旦バッファ上へ読み出す。 Therefore, when updating the FAT with the operation of such additional writing and deleting of data to the file, the contents of the FAT1 and FAT2, reading each temporarily to the buffer. そして、それぞれに対して同じ変更を行ってからディスクに書き戻してデータを同期するといった処理が必要になる。 Then, it is necessary to process such synchronize data is written back after performing the same change to the disk for each.

また、FAT型ディスクの場合、FAT領域で各ファイルへのクラスタの割り当て状況を管理するという仕組みから、1つのファイルが使用しているクラスタの情報はFAT領域に散在している可能性がある。 Also, if the FAT disc, the mechanism that manages the allocation status of the cluster to each file in the FAT area, information of a cluster in which one file is used there is a possibility that are scattered in the FAT area. そのため、たとえファイルのサイズが小さくとも、更新する必要のあるFAT1及びFAT2のセクタの数が多くなる場合がある。 Therefore, even if he size of the file is small, there are cases where the number of FAT1 and FAT2 sectors that need to be updated is increased. CPU処理と比較して非常に多くの処理時間を要するディスクへの入出力動作が多くなって、結果的にファイル操作全体の処理時間が長くなるという問題がある。 Output operations as compared to CPU processing to a disk that requires very much processing time becomes large, resulting in a problem that the processing time of the entire file operations becomes longer.

本発明は前述の問題点に鑑み、FAT型ディスク上のファイルへのデータ書き込みや削除といった動作を行う場合に、データの更新が必要となるFAT領域へのディスク入出力処理を軽減できるようにすることを目的としている。 In view of the problems described above, when performing an operation such as data writing and deleting the file on the FAT disc to allow reduce disk IO processing to the FAT area update data is required It is aimed at.

本発明のデータ同期装置は、ファイルアロケーションテーブルの大きさの情報を取得する取得手段と、前記ファイルアロケーションテーブルのデータを変更するFAT処理手段と、データの読み出しまたは書き込みを行う際の一時保存エリアの制御を行うバッファ制御手段と、前記一時保存エリアに記憶されたデータのうち、データの変更に応じて記録媒体へ書き込む同期手段とを有し、前記FAT処理手段は、少なくとも1つのファイルアロケーションテーブルのデータを前記一時保存エリアから読み出して変更し、前記変更したデータを前記記録媒体に書き込む位置と、同一の内容を保存する他のファイルアロケーションテーブルの書き込み位置とを前記取得手段により取得したファイルアロケーションテーブルの大きさを用いて算出し Data synchronizer of the present invention, the file allocation table obtaining means for obtaining information of size, the FAT processing means for changing the data of the file allocation table, the temporary storage area when reading or writing of data and buffer control means for controlling, among the data stored in the temporary storage area, and a synchronization means for writing to the recording medium in accordance with the change of the data, the FAT processing means of at least one file allocation table the data change reading from the temporary storage area, the file allocation table and a position for writing data the changes in the recording medium, and a writing position of the other file allocation table that stores the same contents acquired by the acquiring means calculated using the size 、前記一時保存エリアに記憶するよう前記バッファ制御手段を制御し、前記同期手段は、前記一時保存エリアに記憶された変更されたファイルアロケーションテーブルのデータを記録媒体へ書き戻す際、前記他のファイルアロケーションテーブルの書き込み位置へ同一のデータを書き込むことを特徴とする。 The controls the buffer control means to store the temporary storage area, said synchronization means, when writing back data stored modified file allocation table in the temporary storage area to a recording medium, said another file and writes the same data to the writing position allocation table.

本発明によれば、重複する一方のファイルアロケーションテーブルのバッファ上への読み出し処理を省略することができる。 According to the present invention, it is possible to omit the reading process to the buffer overlapping one file allocation table. これにより、その分高速にファイルデータの書き込みや、ファイルの削除といった動作を行うことができる。 Thus, it is possible to perform the correspondingly fast and writing file data, the operation and deletion of files.

データ同期装置の機能構成例を示すブロック図である。 It is a block diagram illustrating a functional configuration example of a data synchronizer. データ同期装置のハードウェア構成例を示すブロック図である。 It is a block diagram showing a hardware configuration example of a data synchronizer. FAT型ディスクのフォーマットの一例を示す図である。 Is a diagram illustrating an example of the format of FAT disc. FAT領域の構造例を示す図である。 It is a diagram showing a structural example of the FAT region. ルートディレクトリ領域に記録されている情報の一例を示す図である。 Is a diagram illustrating an example of information recorded in the root directory area. バッファの構成例を示す図である。 It is a diagram illustrating a configuration example of a buffer. FATの更新処理手順の一例を示すフローチャートである。 Is a flowchart illustrating an example of a FAT update procedure. バッファデータの同期処理の手順の一例を示すフローチャートである。 Is a flow chart showing an example of a procedure of synchronization processing of the buffer data.

(第1の実施形態) (First Embodiment)
以下、本発明の第1の実施形態について図面を参照しながら説明する。 It will be described below with reference to the drawings for the first embodiment of the present invention.
図1は、本実施形態に係るファイルアロケーションテーブル(FAT)を用いたFATファイルシステムにおけるデータ同期装置の機能構成例を示すブロック図である。 Figure 1 is a block diagram illustrating a functional configuration example of a data synchronizer in the FAT file system using a file allocation table according to the present embodiment (FAT).
図1において、101はFATファイルシステムを利用するユーザプログラムであり、102は本実施形態によるFATデータ同期方式を実現するFATファイルシステムプログラムである。 In Figure 1, 101 is a user program to utilize the FAT file system, 102 is a FAT file system program for implementing the FAT data synchronization method according to the present embodiment. 103はユーザプログラム101からの要求を受け付け、ファイルディスクリプタを管理してファイル名などで指定されたファイルを開閉する処理や、新規ファイルの作成、読み出し、書き込み動作のファイルポインタの管理などを行うファイル処理部である。 103 accepts a request from the user program 101 executes a process of opening and closing a file specified by a file name managing the file descriptor to create a new file, reading a file processing for management of file pointer of the write operation it is a part.

104はディスクから読み出されたディレクトリエントリ情報を解析して、ユーザプログラム101から指示されたファイルの存在を検索するディレクトリ処理部である。 104 is a directory processing unit analyzes the directory entry information read from the disk, search for the existence of a file designated by the user program 101. また、ディレクトリ処理部104は、ファイルの先頭部分のデータの含まれるクラスタ(開始クラスタ)番号を取得するとともに、最新のファイル情報をディレクトリエントリに書き込むといったディレクトリエントリの解析や更新等を行う。 Further, the directory processing unit 104 acquires the cluster (start cluster) number included with the data of the beginning portion of the file, and analyzes and the directory entry such as writing the latest file information in the directory entry update the like. 105は読み出し及び書き込みの対象となるファイルのファイル位置からディスク上のクラスタ番号をディレクトリエントリやFAT領域の情報を解析して取得するFAT処理部である。 105 is a FAT processing section for obtaining and analyzing information on the cluster number directory entries and FAT area on the disk from the file location of the file to be read and written. また、FAT処理部105は、ファイルへデータを追加したり、ファイルを削除した場合には当該ファイルのFATチェインを正しく形成してFAT領域に書き込んだりする処理などを行う。 Further, FAT processing section 105 to add the data to the file, when a file is deleted and it operates to write the FAT area properly form the FAT chain of the file.

106はファイル処理部103、ディレクトリ処理部104及びFAT処理部105からの要求により、内部管理する一時保存エリアのバッファ内に格納されている指定されたセクタのデータを要求元へ返す処理を行うバッファ制御部である。 106 file processing unit 103, by a request from the directory processing unit 104 and the FAT processing section 105, a buffer for performing processing that returns the data of the designated sector has been stored in the buffer of the temporary storage area for internal management to the requesting a control unit. また、バッファ制御部106は、指示に従って変更されたバッファの内容をディスクに書き戻す処理も行う。 The buffer control unit 106 also performs processing of writing back the contents of the buffer is changed according to the instructions on the disk. 107は実際のデータの格納領域となるハードディスク、またはフラッシュメモリカードといった記録媒体のディスク(記録メディア)108から各種データを読み出す、またはディスク108へデータを書き込むディスクドライバ部である。 107 is a disk driver unit for writing the actual data storage area become hard data or from the disk (recording medium) 108 of the flash memory card such as a recording medium, reads the various data, or the disk 108.

図2は、本実施形態に係るデータ同期装置のハードウェア構成例を示すブロック図である。 Figure 2 is a block diagram showing a hardware configuration of the data synchronizer according to this embodiment.
図2において、201はCPUであり、上述のユーザプログラム101やFATファイルシステムプログラム102をロードして実行する。 2, reference numeral 201 denotes a CPU, and loads and executes the user program 101 and the FAT file system program 102 described above. 202はRAMであり、上述のユーザプログラム101やFATファイルシステムプログラム102、ディスクドライバ部107を機能させるプログラムを格納する。 202 is a RAM, the user program 101 and the FAT file system program 102 described above, stores a program that causes a disk driver unit 107. さらにRAM202は、バッファ制御部106によるディスク108上のデータの読み出し、または書き込みの際のバッファ領域として使用される。 Further RAM202 is used as a buffer area for the read data on the disk 108 by the buffer control unit 106 or writing. また、各ソフトウエアプログラムの動作時に使用する各種変数の退避、或は保存用のワークエリアとして使用される。 Also, retraction of the various variables used in the operation of the software program, or is used as a work area for storage. 203はファイルデータの格納領域となるFAT型のディスク108との間で読み出し及び書き込みを行うためのディスク装置である。 203 is a disk device for reading and writing to and from the FAT-type disc 108 as a storage area of ​​the file data. 204はCPU201、RAM202、及びディスク装置203を接続するシステムバスである。 204 denotes a system bus for connecting CPU 201, RAM 202, and a disk device 203.

図6は、バッファ制御部106により制御されるバッファの構成例を示す図である。 Figure 6 is a diagram showing a configuration example of a buffer which is controlled by buffer control unit 106.
図6において、バッファは、バッファの状態を示す状態ビット601、そのバッファの内容が存在するセクタ番号602、及びディスク108からバッファへとコピーされるデータ603本体に区分される。 6, the buffer status bit 601 indicating the state of the buffer, the sector number 602 the contents of the buffer is present, and is divided from the disk 108 to data 603 body to be copied into the buffer. 状態ビット601には、そのバッファの内容がディスク108への書き出しを要することを示すdirtyビットが含まれている。 The status bits 601, the contents of that buffer contains dirty bit indicating that require writing to the disk 108. なお、それ以外の状態については任意であるとする。 Note that as any in the case of other conditions. 以上の構成のバッファは、RAM202上にユーザプログラム101が動作するために十分な領域が確保される。 Buffer having the above structure is enough space for the user program 101 operates is reserved on the RAM 202.

次に、本実施形態におけるFATファイルシステムによるFATの更新処理動作について説明する。 Next, a description will be given FAT updating process operation by the FAT file system in the embodiment. なお、本実施形態におけるFAT型のディスク108の記録フォーマット、ディレクトリエントリの構成、およびFAT領域の構成はそれぞれ、図3、図4及び図5に示すものである。 The recording format of the FAT-type disc 108 in the present embodiment, each structure of the directory entry, and configuration of the FAT area, FIG. 3, but shown in FIGS. 4 and 5.

図3は、FAT型ディスクのフォーマットの一例を示す図であり、基本的な構造は、MS−DOS(登録商標)で採用されているものと同じである。 Figure 3 is a diagram showing an example of the format of the FAT-type disc, the basic structure is the same as that employed in MS-DOS (registered trademark).
図3において、301は先頭の1セクタ目(論理セクタ番号0)を示すブートセクタである。 3, 301 is a boot sector showing one sector th top (logical sector number 0). ブートセクタ301には、オペレーティングシステムをロードするためのブートプログラム、前述のセクタ/クラスタ数、後述するFAT領域に使用されているセクタの数、ルートディレクトリエントリの個数などの情報が記録されている。 The boot sector 301, boot program to load the operating system, the number of sectors / cluster above, the number of sectors used in the FAT area to be described later, information such as the number of root directory entries are recorded.

302はFAT領域であり、クラスタの所在とファイル本体(内容)へのクラスタの割り付け(アロケーション)状況とを兼ねたそのクラスタ番号に続く次のクラスタ番号を示すFAT項目を記録する領域である。 302 is a FAT area is an area for recording the FAT entry that indicates the cluster allocation (allocation) status and the next cluster number following the cluster number which also serves as a to cluster the location and file body (contents). FAT領域302は安全性を確保するために2重化されており、図3における第1のFAT領域(以降、FAT1)と第2のFAT領域(以降、FAT2)とには常に同一の内容のものが記録されるようになっている。 FAT area 302 is duplicated in order to ensure safety, the first FAT region (hereinafter, FAT1) in FIG. 3 and the second FAT region (hereinafter, FAT2) always having the same content in what has come to be recorded. また、FAT1とFAT2はディスク上に連続して配置されている。 Further, FAT1 and FAT2 are arranged in succession on the disk.

図4は、FAT領域302の構造例を示す図である。 Figure 4 is a diagram showing a structural example of the FAT region 302. 現在一般に広く使用されているFAT型ディスクには、1クラスタ分のFAT項目を示すために、12ビット、16ビット、または32ビットを使用するものがあるが、本実施形態では16ビットの場合を例に説明する。 The FAT disc in current use generally widely, in order to show the FAT entry of one cluster, 12-bit, 16-bit, or is to use a 32-bit, in the case of 16 bits in this embodiment It will be described as an example.
図4において、各FAT項目の先頭からの位置は、そのままその項目で管理しているクラスタの位置に対応している。 4, the position from the beginning of the FAT entry corresponds to the position of the cluster are managed directly by that item. なお、各項目の初期値は0000H(16進数0)であり、これは未使用状態を示している。 The initial value of each item is 0000H (16 binary zero), indicating the unused state.

図3の説明に戻り、303はルートディレクトリ領域であり、ファイルの所在を管理する領域である。 Referring back to FIG. 3, 303 is a root directory area, is an area for managing the location of the file. 1つのファイルに対応する項目は32バイトで表現される。 Item corresponding to one of the files is represented by 32 bytes. ルートディレクトリ領域303には、図5に示すように、ファイルの名前や大きさ(ファイルサイズ)、そのファイルのデータが含まれている先頭のクラスタ(開始クラスタ)番号などの情報が記録されている。 The root directory area 303, as shown in FIG. 5, the name and size of the file (file size), information such as the head of the cluster (start cluster) number that contains the data of the file is recorded .

304はデータ領域であり、実際のファイルの内容(データ本体)やルートディレクトリに属するディレクトリに関する情報を記録する領域である。 304 is a data area is an area for recording information about the directory belonging to the actual contents of the file (data body) and the root directory. FAT領域302と同様、データ領域はクラスタ単位で管理され、そのクラスタが属しているファイルとクラスタとのつながりの順序、あるいは未使用クラスタであるといった情報はFAT領域302によって管理されている。 Similar to the FAT area 302, the data area is managed in cluster units, the order of the link between the file and the cluster to which the cluster belongs or information such as an unused cluster, are managed by the FAT region 302. したがって、あるファイルに属するクラスタの集合とクラスタとのつながりの順序はFAT領域302によって論理的に連続してつながっていることになり、データ領域304においては、必ずしも一つのファイルのデータが物理的に連続しているとは限らない。 Therefore, the order of connection of the cluster of the set and cluster belonging to a file will be in communication with logically contiguous with the FAT area 302, the data area 304 is not necessarily one of the data files physically not necessarily be continuous. また、1つのFAT領域の大きさを示すFATセクタ数は、ファイルの処理の対象のディスクに最初にアクセスがあった時点で、ブートセクタ301からその値を求め、すでにそれがRAM202上に記憶されているものとする。 Further, the number of FAT sectors indicating the size of one FAT area, when there is an initial access to the target disk of the processing of the file, the value calculated from the boot sector 301, already it is stored on the RAM202 and those are.

図7は、本実施形態におけるFATの更新処理手順の一例を示すフローチャートである。 Figure 7 is a flow chart showing an example of a FAT update processing procedure in this embodiment.
まず、ステップS701において、FAT処理部105の制御によりバッファ制御部106は、これから更新するFAT項目の存在するセクタの番号を、図6のセクタ番号602に記憶する。 First, in step S701, the buffer control unit 106 under the control of the FAT processing section 105, the sector number in the presence of FAT entry for future updates and stores the sector number 602 in FIG. なお、ディスク108上に図3に示すようなFAT1、FAT2の両方に存在するが、ここではFAT1の範囲にある該当のセクタ番号を記憶する。 Although present in both FAT1, FAT2 as shown in FIG. 3 on the disc 108, where the stores sector number of the corresponding ranging from FAT1.

次に、ステップS702において、バッファ制御部106は、ステップS701で記憶したセクタ番号のデータを図6のデータ603に書き込む。 Next, in step S702, the buffer control unit 106 writes the data of the stored sector number at step S701 to the data 603 in FIG. そして、ステップS703において、バッファ制御部106は、ステップS702で書き込まれたバッファ上で、指示通りに該当するFAT項目を変更する。 Then, in step S703, the buffer control unit 106, the written buffer in step S702, it changes the FAT entry corresponding to indicated. そして、ステップS704において、バッファ制御部106は、変更を行ったことを示すため、状態ビット601のdirtyビットを立てて処理を終了する。 Then, in step S704, the buffer control unit 106, to indicate that it has made the change, the process ends make a dirty bit status bits 601.

一方、バッファの同期処理はユーザプログラム101から任意のタイミングで指示されることにより適宜行われる。 On the other hand, synchronization of the buffers is performed appropriately by being indicated at an arbitrary timing from the user program 101. 図8は、バッファデータの同期処理の手順の一例を示すフローチャートである。 Figure 8 is a flow chart showing an example of a procedure of synchronization processing of the buffer data. なお、図8に示す各処理は、バッファ制御部106の制御により行われる。 Each of the processes illustrated in FIG. 8 is performed by the control of the buffer controller 106.
まず、ステップS801において、状態ビット601のdirtyビットを参照して、そのバッファがディスク108への書き込みを必要とするセクタのものであるか否かを判断する。 First, in step S801, with reference to the dirty bit of the status bit 601, the buffer is determined whether or not the sectors that require writing to the disk 108. ディスク108への書き込みが必要ない場合は、ステップS805に進む。 If you do not need writing to disk 108, the process proceeds to step S805.

一方、ステップS801の判断の結果、ディスク108への書き込みを必要とするセクタのものである場合は、ステップS802に進む。 When it is determined at step S801, if those sectors that require writing to the disk 108, the process proceeds to step S802. そして、そのバッファのセクタ番号602を参照して、しかるべきFAT1領域のセクタへデータ603を書き込むようにディスクドライバ部107へと指示を出す。 Then, with reference to the sector number 602 of the buffer and put the instruction to the disk driver unit 107 to write data 603 to a sector of appropriate FAT1 area. 次に、ステップS803において、あらかじめ求められたFATサイズnから、FAT2の該当するセクタ番号を算出する。 Next, in step S803, the FAT size n determined in advance, to calculate the corresponding sector number of FAT2. 具体的には、セクタ番号602にFATサイズnを足したものになる。 More specifically, the plus the FAT size n to sector number 602.

次に、ステップS804において、ステップS802で書き込むよう指示したバッファのデータ603を、ステップS803で求めた対応するFAT2領域のセクタへと書き込むようにディスクドライバ部107へ指示する。 Next, in step S804, the data 603 of the buffer and instructed to write in step S802, the instructs the disk driver unit 107 to write to the corresponding FAT2 area of ​​the sector determined in step S803. そして、ステップS805において、全てのバッファに対し処理が終了下か否かを判断し、終了していない場合はステップS801に戻り、終了した場合はそのまま処理を終了する。 Then, in step S805, the processing for all the buffers to determine whether under finished. If not, the process returns to step S801, the process ends if it ended. 以上のように、ステップS801〜ステップS804までの処理は、全てのバッファに対して繰り返し行われる。 As described above, the processing of steps S801~ step S804 is repeated for all buffers. このように、一切FAT2領域の内容をバッファに読み出さず、ファイルへのデータの追加書込み、削除等のファイル操作に伴って変更されたFATデータを、FAT1及びFAT2の両方へ同じ内容のデータを書き込むことができる。 Thus, without reading the contents of any FAT2 area in the buffer, additional writing of data to a file, the FAT data changed in accordance with the file operations such as deleting, writing data of the same content to both FAT1 and FAT2 be able to.

なお、本実施形態では、図6に示す構成でRAM202に確保されたバッファはFATデータ専用とした。 In the present embodiment, the buffer reserved in RAM202 the configuration shown in FIG. 6 was FAT data only. ところが、このバッファはディレクトリエントリデータやファイルデータ用のバッファと共通のバッファとして用いてもよい。 However, this buffer may be used as a buffer and a common buffer for the directory entry data and file data. その場合、状態ビット601にFATビットを設け、そのバッファがディレクトリエントリデータやファイルデータとは区別されることを示すこととする。 In that case, the FAT bits provided in the status bits 601, the buffer is to be shown to be distinct from the directory entry data and file data. バッファの同期操作の際に、状態ビット601を参照してFATビットが立っている(例えば零以外)場合にのみ、同じバッファのデータ603をFAT2の対応するセクタに書き込むことにより、同様の効果が得られる。 During synchronization operations of the buffer only if and FAT bit standing refers to the status bits 601 (e.g., non-zero), by writing data 603 of the same buffer in the corresponding sector of the FAT2, the same effect can get.

(その他の実施形態) (Other embodiments)
また、本発明は、以下の処理を実行することによっても実現される。 Further, the present invention can also be realized by a computer of a system or apparatus. 即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。 That is, software (program) for realizing the functions of the above is supplied to a system or an apparatus via a network or various storage medium, a computer of the system or apparatus (or CPU or MPU) reads the program is a process to be executed.

105 FAT処理部、106 バッファ制御部、107 ディスクドライバ部、108 ディスク 105 FAT processing section, 106 a buffer control unit, 107 a disk driver unit, 108 disc

Claims (1)

  1. ファイルアロケーションテーブルの大きさの情報を取得する取得手段と、 An acquisition unit configured to acquire information of the size of the file allocation table,
    前記ファイルアロケーションテーブルのデータを変更するFAT処理手段と、 And FAT processing means for changing the data of the file allocation table,
    データの読み出しまたは書き込みを行う際の一時保存エリアの制御を行うバッファ制御手段と、 And buffer control means for controlling the temporary storage area when reading or writing data,
    前記一時保存エリアに記憶されたデータのうち、データの変更に応じて記録媒体へ書き込む同期手段とを有し、 Among the data stored in the temporary storage area, and a synchronization means for writing to the recording medium in accordance with the change of data,
    前記FAT処理手段は、少なくとも1つのファイルアロケーションテーブルのデータを前記一時保存エリアから読み出して変更し、前記変更したデータを前記記録媒体に書き込む位置と、同一の内容を保存する他のファイルアロケーションテーブルの書き込み位置とを前記取得手段により取得したファイルアロケーションテーブルの大きさを用いて算出して、前記一時保存エリアに記憶するよう前記バッファ制御手段を制御し、 The FAT processing means, at least one change the data in the file allocation table is read out from the temporary storage area, and the position of writing the data the changes in the recording medium, the other file allocation table that stores the same content a writing position is calculated using the size of the file allocation table acquired by the acquisition unit, and controls the buffer control means to store in the temporary storage area,
    前記同期手段は、前記一時保存エリアに記憶された変更されたファイルアロケーションテーブルのデータを記録媒体へ書き戻す際、前記他のファイルアロケーションテーブルの書き込み位置へ同一のデータを書き込むことを特徴とするデータ同期装置。 It said synchronization means, when writing back data stored modified file allocation table in the temporary storage area to a recording medium, the data and writes the same data to the writing position of the other file allocation table synchronization device.
JP2009274876A 2009-12-02 2009-12-02 Data synchronization apparatus Pending JP2011118623A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009274876A JP2011118623A (en) 2009-12-02 2009-12-02 Data synchronization apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009274876A JP2011118623A (en) 2009-12-02 2009-12-02 Data synchronization apparatus

Publications (1)

Publication Number Publication Date
JP2011118623A true JP2011118623A (en) 2011-06-16

Family

ID=44283878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009274876A Pending JP2011118623A (en) 2009-12-02 2009-12-02 Data synchronization apparatus

Country Status (1)

Country Link
JP (1) JP2011118623A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04106643A (en) * 1990-08-27 1992-04-08 Nec Ibaraki Ltd System for managing file area of floppy disk
JP2001188701A (en) * 1999-10-21 2001-07-10 Matsushita Electric Ind Co Ltd Accessing device for semiconductor memory card and computer readable recording medium and initializing method and semiconductor memory card
WO2005008499A1 (en) * 2003-07-16 2005-01-27 Matsushita Electric Industrial Co., Ltd. Data area managing method in information recording medium and information processor employing data area managing method
JP2007087063A (en) * 2005-09-21 2007-04-05 Canon Inc Fat file system, file management method, program and storage medium
JP2007310447A (en) * 2006-05-16 2007-11-29 Buffalo Inc Data storage device and initializing method thereof
JP2009064263A (en) * 2007-09-06 2009-03-26 Toshiba Corp Memory device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04106643A (en) * 1990-08-27 1992-04-08 Nec Ibaraki Ltd System for managing file area of floppy disk
JP2001188701A (en) * 1999-10-21 2001-07-10 Matsushita Electric Ind Co Ltd Accessing device for semiconductor memory card and computer readable recording medium and initializing method and semiconductor memory card
WO2005008499A1 (en) * 2003-07-16 2005-01-27 Matsushita Electric Industrial Co., Ltd. Data area managing method in information recording medium and information processor employing data area managing method
JP2007087063A (en) * 2005-09-21 2007-04-05 Canon Inc Fat file system, file management method, program and storage medium
JP2007310447A (en) * 2006-05-16 2007-11-29 Buffalo Inc Data storage device and initializing method thereof
JP2009064263A (en) * 2007-09-06 2009-03-26 Toshiba Corp Memory device

Similar Documents

Publication Publication Date Title
US9251062B2 (en) Apparatus, system, and method for conditional and atomic storage operations
JP4537481B2 (en) Data operation in the flash memory using a direct data file storage
US6823417B2 (en) Memory controller for memory card manages file allocation table
US6192432B1 (en) Caching uncompressed data on a compressed drive
US9442844B2 (en) Apparatus, system, and method for a storage layer
KR100876084B1 (en) Computing systems that can deliver information to remove the flash storage device
US6598129B2 (en) Storage device and method for data sharing
CN101739352B (en) Method for managing storage device and related storage device thereof
US6397311B1 (en) System and method for defragmenting a file system
US6378031B1 (en) Data processing apparatus and file management method therefor
JP4438457B2 (en) Storage area allocation method, the system and the virtualization device
CN101408880B (en) Methods and apparatus for file management using partitioned file metadata
US20050231765A1 (en) Information recording medium, data processing apparatus and data processing method
US8209498B2 (en) Method and system for transferring duplicate files in hierarchical storage management system
JP6033241B2 (en) Backup and restore strategies for data deduplication
US8316201B2 (en) Methods for executing a command to write data from a source location to a destination location in a memory device
JP3548529B2 (en) Computer partition operation in the image formation
US7350017B2 (en) Magnetic disk unit, file management system, and file management method
KR20100011698A (en) Solid state storage system for data merging and method of controlling the same
JP4420351B2 (en) Hierarchical storage system, control method, and program
US8180956B2 (en) Method for controlling memory card and method for controlling nonvolatile semiconductor memory
US6205529B1 (en) Method and apparatus for defragmenting a storage device using a copy function in the device control logic
JP2008530709A (en) Direct file data programming and deletion in the flash memory
US7325112B2 (en) High-speed snapshot method
JP2008530708A (en) Direct Data File Storage the practice in the flash memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140218