Data updating apparatus that performs quick restoration...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06675180

ABSTRACT:

BACKGROUND OF THE INVENTION
(1) Field of the Invention
The present invention relates to a data updating apparatus that writes data into a storage medium such as a semiconductor memory, a magnetic disc, and an optical magnetic disc, and especially relates to a technique of restoring consistency after abnormality in data writing causes inconsistency between file management information and the actual storage state of data which constitutes a file.
(2) Prior Art
Information equipment such as a personal computer writes data into a storage medium such as a hard disc, based on a file system. In a file system to write data not into contiguous memory locations in a storage medium but divide the data into pieces (hereinafter called “divided pieces of data”) and write them into clusters, a FAT (File Allocation Table) and a file index are used. Here, the FAT shows information such as locations of the clusters storing the divided pieces of data and the sequence in which they form a file (hereinafter called “data sequence”). The file index associates a name of the file and a storage location where the top divided piece of data is stored.
The information equipment reads/writes the data from the top divided piece of data to the last divided piece of data in accordance with the FAT and the file index by sequentially tracing the clusters storing the divided pieces of data.
Conventionally, a data updating apparatus is used to update data in the information equipment which employs the file system including the FAT.
FIG. 1
is a functional block diagram showing a conventional data updating apparatus
1000
.
The data updating apparatus
1000
is roughly made up of a storage medium
1001
, a CPU (Central Processing Unit)
1002
, and a RAM (Random Access Memory)
1003
, each of which is connected by a bus. The CPU
1002
controls reading/writing of data from/into the storage medium
1001
, and the RAM
1003
temporarily stores the data written or read by the CPU
1002
.
The storage medium
1001
stores a first FAT
1005
, a second FAT
1006
which are obtained by duplexing a FAT, file indexes
1007
,
1008
,
1009
, . . . , and divided pieces of data
1010
,
1011
,
1012
, . . . .
FIG. 2
shows the relationship between the first FAT
1005
, the second FAT
1006
, the file indexes
1007
,
1008
,
1009
, . . . , and a data storage area
1260
.
First, the file indexes
1007
,
1008
,
1009
, . . . , are explained.
File indexes
1007
,
1008
,
1009
, . . . , are tables which are each generated for a file. Since their data structures are the same, the file index
1007
is explained here as an example.
A file name field
1211
shows a filename “File1.doc”,; an entry cluster number field
1222
shows a number “
2101
” of a cluster storing the top divided piece of data of the file; a data size field
1223
shows a total data size “93” of the file in kilo bytes; an attribute field
1224
shows an attribute “writable” of the file; and a time stamp field
1225
shows “00/11/02/11:28”, which is a date and a time when the file index
1007
was generated or updated.
Next, the first FAT
1005
and the second FAT
1006
are explained.
Although usually one FAT is sufficient, the FAT is duplexed to be the first FAT
1005
and the second FAT
1006
for backup in case of abnormality during FAT updating. Since the contents of the first FAT
1005
and the second FAT
1006
are the same, the first FAT
1005
is explained here as an example.
The first FAT
1005
is used for tracing the clusters which store the divided pieces of data in the data sequence.
Each cluster is composed of several sectors, which are the smallest storage units on the storage medium
1001
.
A cluster number column
1241
shows a number which specifies a cluster, namely a cluster number.
A pointer column
1242
shows a cluster number of a cluster storing a divided piece of data immediately following a divided piece of data stored in the cluster shown by the cluster number column
1241
.
Here, if there is no following divided piece of data, the pointer column
1242
shows an End code which indicates that the following divided piece of data does not exist.
Next, the storage state of the divided pieces of data in the clusters is explained.
A data storage area
1260
is a group of clusters. Each cluster stores one of the divided pieces of data, based on the locations of the clusters and the data sequence indicated by the first FAT
1005
and the second FAT
1006
.
That is to say, to obtain data of the file name “File1. doc”, the CPU
1002
searches the file indexes
1007
,
1008
,
1009
, . . . for the file name “File1.doc”, obtains the file index
1007
which shows the file name “File1.doc”, and obtains the entry cluster number “2101”.
Next, the CPU
1002
obtains a pointer “2106” with reference to the entry cluster number “2101” in the first FAT
1005
, then obtains a pointer “2108” with reference to the cluster number “2106”, and finally obtains the End code with reference to the cluster number “2108”.
As a result, the CPU
1002
finds out that the data of the file name “File1.doc” is made up of the divided pieces of data
1010
,
1011
, and
1012
that are stored in the clusters with the cluster numbers “2101”, “2106”, and “2108” in sequence. The CPU
1002
then reads the divided pieces of data from the clusters and assembles them, to obtain the data of the file.
When performing file updating by appending or changing data, the CPU
1002
first stores new divided pieces of data necessary for the updating into available clusters, then changes the contents of a corresponding file index such as a data size, updates the cluster numbers and the pointers in the FATs, and deletes divided pieces of data which become unnecessary from clusters.
Here, when updating a file only slightly, not all the divided pieces of data that form the file are subjected to the updating, but only part of them is subjected to the updating in units of clusters.
During such updating, if the updating of one of the FATs is interrupted due to a power failure or the like, the pointer rewriting in the first FAT
1005
or the second FAT
1006
will result in incompletion. This incompletion causes inconsistency with both states of pointers of before and after updating. Even if all of the divided pieces of data are stored in the clusters properly, the CPU
1002
cannot properly recognize their storage locations and sequence, and therefore cannot read the file properly.
To prevent this inconvenience, the CPU
1002
restores to a consistent state in rebooting of the data updating apparatus
1000
.
That is to say, when the updating of the first FAT
1005
or the second FAT
1006
is interrupted, the CPU
1002
checks the inconsistency between the first FAT
1005
, the second FAT
1006
, the file indexes
1007
,
1008
,
1009
, . . . , and the clusters. One of the first FAT
1005
and the second FAT
1006
, which has consistency, is used as a proper FAT, and the other is changed so as to be the same as the proper FAT. This processing restores to a consistent state.
As for the file indexes, since the data size of each index is small enough to store in one sector, it is not assumed here that the updating of any of the file indexes
1007
,
1008
,
1009
, . . . , is interrupted.
In recent years, a variety of digital information household electrical appliances such as digital televisions and game machines, which receive information such as video, audio, and data and write it into a storage medium such as a hard disc.
These digital information household electrical appliances are equipped with data updating apparatuses similar to those in personal computers.
The above conventional restoration processing has the following problem.
The conventional restoration processing takes a long time to check the inconsistency between the first FAT
1005
, the second FAT
1006
, the file indexes
1007
,
1008
,
1009
, . . . , and the clusters. Accordingly, the data updating apparatus takes a long time until it resumes to read/write data.
Therefore, especially users of digital information household electrical a

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Data updating apparatus that performs quick restoration... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Data updating apparatus that performs quick restoration..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Data updating apparatus that performs quick restoration... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3212357

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.