WO2009122743A1 - アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム - Google Patents

アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム Download PDF

Info

Publication number
WO2009122743A1
WO2009122743A1 PCT/JP2009/001535 JP2009001535W WO2009122743A1 WO 2009122743 A1 WO2009122743 A1 WO 2009122743A1 JP 2009001535 W JP2009001535 W JP 2009001535W WO 2009122743 A1 WO2009122743 A1 WO 2009122743A1
Authority
WO
WIPO (PCT)
Prior art keywords
entry
information
file
extent
area
Prior art date
Application number
PCT/JP2009/001535
Other languages
English (en)
French (fr)
Inventor
前田卓治
井上信治
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Priority to EP09728228.9A priority Critical patent/EP2261803B1/en
Priority to CN200980112166.XA priority patent/CN101983376B/zh
Priority to US12/934,334 priority patent/US8019800B2/en
Priority to JP2010505400A priority patent/JP4691209B2/ja
Publication of WO2009122743A1 publication Critical patent/WO2009122743A1/ja
Priority to US13/204,323 priority patent/US20110302225A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices

Definitions

  • the present invention relates to an access module (access device) that stores data in a nonvolatile memory and manages it as a file, an information recording module (information recording device), an information recording system, a file management method, and a program.
  • recording media for recording digital data such as music content and video data
  • memory cards using semiconductor memories such as FlashROM as recording elements can be made smaller, so that they are rapidly spreading mainly in small portable devices such as digital still cameras and mobile phone terminals. is doing.
  • semiconductors such as flash ROMs can be used in place of removable removable media such as conventional memory cards, such as using semiconductor memories in devices instead of hard disks.
  • Memory has come to be used.
  • a semiconductor element called a NAND flash memory is mainly used.
  • the NAND flash memory is a recording element that can once erase already recorded data and then record another data again, and forms an information recording device that can be rewritten a plurality of times, similar to a conventional hard disk. Is possible.
  • FAT file system The most widely used file system has been called a “FAT file system”.
  • the FAT file system has a feature that the area management is centrally managed by a table called a file allocation table (FAT). Since the structure is relatively simple and easy to implement, a flexible disk, a PC hard disk, or a memory card is used. It is widely used as a file system.
  • FIG. 2 shows the configuration of the FAT file system.
  • the FAT file system there are types such as FAT12, FAT16, and FAT32 depending on the bit width of the management unit in the file allocation table, but the area management method by the file allocation table is almost the same.
  • a file system management information area 301 which is an area for storing file system management information such as an area allocation unit and the size of the area managed by the file system, is present at the head of the logical address space. To do.
  • the file system management information area 301 includes file system management information called a master boot record / partition table 303, a partition boot sector 304, FAT (305, 306), and a root directory entry 307. Information necessary for management is stored.
  • the master boot record / partition table 303 is an area in which information for managing the area in the logical address space managed by the file system by dividing the area into a plurality of areas called partitions is stored.
  • the partition boot sector 304 is an area for storing management information in one partition such as the size of the area management unit in the partition.
  • the FAT (305, 306) is an area in which information regarding the storage location of data included in a file is stored. Usually, there are two FATs (305, 306) having the same information, and one FAT (305, 306). Even if 306) is damaged, it is duplexed so that the file can be accessed by the other FAT (305, 306).
  • the root directory entry 307 is an area in which information (directory entry) of files and directories existing directly under the root directory is stored.
  • a user data area 302 for storing file body data and the like exists in an area subsequent to the file system management information area 301.
  • the user data area 302 is divided and managed for each management unit called a cluster having a size of about 512 bytes to several tens of KB.
  • Each cluster stores data included in a file.
  • a file storing a lot of data stores data across a plurality of clusters, and the connection between the clusters is managed by link information stored in the FAT (305, 306).
  • information (directory entry) on files and subdirectories existing in the directory immediately under the root directory is stored using a part of the user data area 302.
  • FIG. 3 is a diagram showing the structure of the directory entry of FAT16.
  • the directory entry 308 is assigned with a 32-byte directory entry 308 for each file and directory, and stores information related to the file and directory. That is, each time a file or directory is added, information of a 32-byte directory entry 308 is newly created and recorded in the area of the root directory entry 307 or the user data area 302.
  • the name of the file or directory is stored in the following 3 bytes.
  • the subsequent 1 byte stores attribute information such as a flag for identifying the type of the file / directory and a flag for identifying whether the file / directory is read-only.
  • the directory entry 308 stores information on the last update date / time of the file / directory, the start cluster number indicating the start position of the cluster storing the substance of the file / directory data, the number of bytes of the file size, and the like. . As described above, the directory entry 308 includes only information indicating the position of the first cluster in the area where the data entity is stored. If the size of the data entity is larger than one cluster, two clusters are included. The area where the data after the first is stored is managed by FAT (305, 306).
  • FIG. 4 is a diagram showing a configuration of the FAT (305, 306) of the FAT16.
  • FAT (305, 306) manages information of 2 bytes (16 bits) as one FAT entry, and one FAT entry indicates the state of one cluster. That is, when there are M clusters in the user data area 302, there are M FAT entries, so the size of one FAT (305, 306) is about 2 ⁇ M bytes. However, since a fixed value (0xF8FF, 0xFFFF) indicating the beginning of the FAT is recorded as a signature for the first two FAT entries, the FAT entry corresponding to the first cluster in the user data area 302 is FAT (305, 306) in the second byte of the fourth byte and the fifth byte.
  • each FAT entry indicates the status of the corresponding cluster (in use, available, defective) and the cluster number of the link destination.
  • the FAT entry for the corresponding cluster number 2 is set to 0x0003 (“3” in decimal), and the subsequent data stored in the cluster with the cluster number 2 is the cluster number 3. It means that it is stored in the cluster.
  • the FAT entry of the corresponding cluster number 3 is set to 0x0004 (“4” in decimal), and the data subsequent to the data stored in the cluster of the cluster number 3 is stored in the cluster of the cluster number 4.
  • the FAT entry for the corresponding cluster number 6 is set to 0xFFFF. This means that the next link destination does not exist and the link is terminated. Therefore, in the example of FIG. 4, a series of file data is stored in the order of cluster numbers 2, 3, 4, 5, and 6.
  • the FAT entry for the corresponding cluster number 7 is set to 0x0000. This means that the corresponding cluster is not used and is in an “empty” state.
  • the FAT entry of the corresponding cluster number (M + 1) is set to 0xFFF7. This means that the corresponding cluster is in a defect state such as a state in which recording is not possible because the cluster is physically broken.
  • the three FAT entry values 0x0000, 0xFFFF, and 0xFFF7 have special meanings, and the FAT entry values from 0x0002 to 0xFFF6 are used as the link destination cluster numbers.
  • the other values from 0x0001, 0xFFF8 to 0xFFFE are reserved and are not normally used.
  • the desired number of clusters corresponding to the seek size is traced by referring to the FAT (305, 306). It is necessary to specify the cluster number where the data is stored. For this reason, the seek process has a longer processing time in proportion to the file size.
  • the number of times the link is traced is about 65,000 times.
  • the seek process may take several seconds. is there.
  • the FAT (305, 306) holds only the forward link information of the file, when seeking to the front of the file, it is necessary to redo the seek process from the beginning of the file, and the high speed The problem arises that it is impossible to seek.
  • the file or directory is a device that interprets only a conventional FAT file system that does not know the presence of LBA access information. If created, the LBA access information may be stored and the deleted directory entry may be reused, and the LAB access information may be destroyed.
  • the structure of the directory entry 308 as shown in FIG. 3 is adopted, and the reservation field is actually used for an area for storing time stamp information. The field does not exist. For this reason, the FAT file system is a file system with poor expandability.
  • a method for solving such a problem a method using an extended file system format has been proposed (see, for example, Patent Document 2).
  • FIG. 5 is a flowchart showing a procedure for calculating the cyclic shift checksum.
  • the cyclic shift checksum not only simply adds the data to be calculated, but also cyclically shifts the value by one bit each time the data is added. By cyclically shifting in this way, it becomes possible to detect an error even when the order of the calculation target data is changed, and it is possible to improve reliability.
  • By calculating all the directory entry areas allocated to one file as calculation target data, calculating a circular shift type checksum and storing it in a specific field in the directory entry it detects the corruption of the directory entry, Reliability can be enhanced.
  • the above technique has the following problems. That is, in the above method, it is necessary to add a file and add information indicating the position of the file data storage area every time the file data storage area is added. Further, it is necessary to update information that changes when a file is added, such as a file size and a time stamp. These pieces of information are all included in a series of directory entry groups assigned to one file. However, when the previous cyclic shift checksum is included in the directory entry, the checksum calculation value is the data value. Since it depends on the order of arrangement, if even one byte of information changes, it is necessary to recalculate the checksum by referring to all the calculation target data.
  • An object of the present invention is to provide an access module, an information recording module, and an information recording system that handle a file system that realizes high speed.
  • a first invention is an access device for accessing an information recording device including a non-volatile memory for storing file data, and an extent information entry, a file allocation table, a group of entries, and a file for managing files
  • a system control unit is provided.
  • the extent information entry manages file data in units of fixed-length blocks, and includes at least information for specifying the position and size of the continuous area as management information of a continuous area composed of one or more fixed-length blocks.
  • the file allocation table manages information indicating the link relationship between fixed-length blocks.
  • the entry group is generated for each file, and contains one or more fixed-length entries for storing management information including information on the file name and size, and information on the checksum of the one or more fixed-length entries. Including.
  • the file system control unit stores the extent information entry in an extent area that is an external area of the entry group and is composed of an arbitrary fixed-length block.
  • file management can be performed by both the extent information entry and the file allocation table (FAT) by the file system control unit.
  • this access device for example, a large file (extended file) managed by the extent information entry and other normal files can be efficiently managed. Further, in this access device, file management can be performed using extent information entries, so that high-speed seek processing that is a weak point of the FAT file system can be realized. Further, in this access device, since the entry group includes information on the checksum of the entry group related to the file, inconsistency between entries can be detected. As a result, the reliability of the file system handled by the access device can be improved. Further, in this access device, the file system control unit stores the extent information entry in an extent area that is an area outside the entry group and is composed of an arbitrary fixed-length block. For this reason, even if the size of the file to be processed is large, the size of the entry group does not increase, so that the checksum calculation process (arithmetic process) can be speeded up.
  • the “access device” is a concept including an access module.
  • the second invention is the first invention, wherein the entry group includes an extent area designating entry including information for specifying a position and a size of the extent area. Accordingly, in this access device, for example, a large file (extended file) including an extent area specifying entry and managed by the extent information entry, and a normal file (file other than the extended file) not including the extent area specifying entry, Can be managed (accessed) efficiently.
  • 3rd invention is 2nd invention, Comprising: Every time the independent continuous area which stores the data of a file increases, a file system control part gives the information for specifying the position and magnitude
  • the fourth invention is the third invention, wherein the extent area extent information entry has the same byte length as the entries included in the entry group.
  • the fifth invention is the third invention, wherein the extent length extent information entry has a byte length different from that of an entry included in the entry group.
  • a sixth invention is any one of the first to fifth inventions, wherein the information relating to the checksum is information including a calculation result by a cyclic shift checksum.
  • a seventh invention is any one of the first to sixth inventions, and includes an extended file processing unit and a normal file processing unit. When accessing a file, when the entry group corresponding to the file includes an extent area designation entry, the extended file processing unit performs access control on the file based on the extent area designation entry and the extent area extent information entry.
  • the eighth invention is an information recording apparatus including a nonvolatile memory for storing file data.
  • the non-volatile memory can store extent information entries, a file allocation table, and an entry group.
  • File data is managed in fixed-length block units.
  • the extent information entry includes at least information for specifying the position and size of the continuous area as management information of the continuous area composed of one or more fixed-length blocks.
  • the file allocation table manages information indicating the link relationship between fixed-length blocks.
  • the entry group is generated for each file, and contains one or more fixed-length entries for storing management information including information on the file name and size, and information on the checksum of the one or more fixed-length entries. Including.
  • the extent information entry is an area outside the entry group and is stored in an extent area composed of arbitrary fixed-length blocks.
  • file management can be performed by both the extent information entry and the file allocation table (FAT) under the control of the access apparatus. Therefore, in this information recording apparatus, for example, a large file (extended file) managed by the extent information entry and other normal files can be efficiently managed. Further, by using this information recording apparatus, file management can be performed by extent information entry, and high speed seek processing, which is a weak point of the FAT type file system, can be realized.
  • the entry group since the entry group includes information on the checksum of the entry group related to the file, inconsistency between entries can be detected. As a result, the reliability of the file system handled by the information recording apparatus can be improved. Further, in this information recording apparatus, extent information entries are stored in an extent area that is an area outside the entry group and is composed of arbitrary fixed-length blocks. For this reason, even if the size of the file to be processed is large, the size of the entry group does not increase, so that the checksum calculation process (arithmetic process) can be speeded up.
  • the “information recording device” is a concept including an information recording module.
  • the ninth invention is the eighth invention, wherein the entry group includes an extent area designating entry including information for specifying the position and size of the extent area.
  • a tenth aspect of the invention is the ninth aspect of the invention, wherein an extent area includes information for specifying the position and size of a continuous area whenever the number of independent continuous areas for storing file data increases. In this configuration, an extent information entry for an area is added.
  • the eleventh invention is the tenth invention, wherein the extent area extent information entry has the same byte length as the entries included in the entry group.
  • the twelfth invention is the tenth invention, wherein the extent area extent information entry has a byte length different from that of an entry included in the entry group.
  • a thirteenth aspect of the invention is any one of the eighth to twelfth aspects of the invention, wherein the information relating to the checksum is information including a calculation result based on a cyclic shift checksum.
  • the 14th invention is an information recording system provided with the information recording device containing the non-volatile memory which stores file data, and the access apparatus which accesses an information recording device.
  • File data is managed in units of fixed-length blocks, and an extent information entry, a file allocation table, and an entry group can be stored in the nonvolatile memory.
  • the extent information entry includes at least information for specifying the position and size of the continuous area as management information of the continuous area composed of one or more fixed-length blocks.
  • the file allocation table manages information indicating the link relationship between fixed-length blocks.
  • the entry group is generated for each file, and includes one or more fixed-length entries that store management information such as the file name and size, and information about the checksum of the one or more fixed-length entries.
  • the access device includes a file system control unit that manages files stored in the nonvolatile memory using information stored in the nonvolatile memory.
  • the extent information entry is an area outside the entry group and is stored in an extent area composed of arbitrary fixed-length blocks.
  • file management can be performed by both the extent information entry and the file allocation table (FAT) by the file system control unit. Therefore, in this information recording system, for example, a large file (extended file) managed by the extent information entry and other normal files can be efficiently managed. Further, in this information recording system, since file management can be performed by extent information entry, it is possible to realize high-speed seek processing that is a weak point of the FAT type file system.
  • a fifteenth aspect of the invention is an information recording system including an access device according to any one of the first to seventh aspects and an information recording apparatus according to any of the eighth to thirteenth aspects.
  • a sixteenth aspect of the invention is a file management method using a nonvolatile memory for storing file data.
  • This file management method manages files using extent information entries, file allocation tables, and entry groups.
  • the extent information entry is an extent information entry for managing file data in units of fixed-length blocks, and is at least the position and size of a continuous area as management information of a continuous area composed of one or more fixed-length blocks. Contains information for identifying.
  • the file allocation table manages information indicating the link relationship between fixed-length blocks.
  • the entry group is generated for each file, and information on one or more fixed-length entries storing management information including information on the file name and size, and information on the checksum of the one or more fixed-length entries is stored in the entry group. Include inside.
  • the extent information entry is an area outside the entry group and is stored in an extent area composed of arbitrary fixed-length blocks.
  • file management can be performed using both the extent information entry and the file allocation table (FAT). Therefore, in this file management method, for example, a large file (extended file) managed by the extent information entry and other normal files can be efficiently managed.
  • file management can be performed using extent information entries, so that high-speed seek processing, which is a weak point of the FAT file system, can be realized.
  • the entry group since the entry group includes information on the checksum of the entry group related to the file, inconsistency between entries can be detected. As a result, the reliability of the file system handled by this file management method can be improved.
  • a seventeenth invention is a program for causing a computer to execute the file management method according to the sixteenth invention. Thus, a program that exhibits the same effect as that of the 16th invention can be realized.
  • Explanatory drawing which showed the structure of the access module in 1st Embodiment, and an information recording module Explanatory diagram showing the configuration of the FAT file system Explanatory diagram showing the structure of the directory entry Explanatory drawing showing an example of FAT Flow chart showing calculation process of cyclic shift type checksum Explanatory drawing which showed the structure of the basic entry in 1st Embodiment Explanatory drawing which showed the structure of the name entry in 1st Embodiment Explanatory drawing which showed the structure of the extent information entry in 1st Embodiment. Explanatory drawing which showed the structure of the update information entry in 1st Embodiment.
  • FIG. 1 is a configuration diagram of an information recording system 1000 according to the first embodiment of the present invention.
  • the information recording system 1000 includes an access module 1 and an information recording module 2.
  • the access module 1 includes a CPU 11, a RAM 12, an information recording module interface 13, and a ROM 14.
  • the ROM 14 stores a program for controlling the access module 1, and this program operates on the CPU 11 using the RAM 12 as a temporary storage area.
  • the information recording module interface 13 is a connection part between the information recording module 2 and the access module 1 and transmits and receives control signals and data.
  • the ROM 14 further includes an application control unit 101, a file system control unit 102, and an information recording module access unit 105.
  • the application control unit 101 controls the entire access module 1 such as data generation and power control.
  • the file system control unit 102 performs control for managing data as files by the file system.
  • the information recording module access unit 105 receives the size and address along with the data from the file system control unit 102 and records the data of the specified size at a specified position in the recording area of the information recording module 2. Controls transmission / reception of commands and data to / from the recording module 2.
  • the file system control unit 102 further includes a normal file processing unit 103 and an extended file processing unit 104.
  • the normal file processing unit 103 is a processing unit that performs processing to access a relatively small size file whose area is managed by the FAT (305, 306).
  • the extended file processing unit 104 is a processing unit that shows the features of the present invention, and is a processing unit that performs processing to access a relatively large file whose area is managed by the extent information entry 203 defined in the present invention.
  • the information recording module 2 includes an access module interface 21, a CPU 22, a RAM 23, a ROM 24, and a nonvolatile memory 25.
  • the access module interface 21 is a connection part between the information recording module 2 and the access module 1, and is an interface that transmits and receives control signals and data, like the information recording module interface 13.
  • the ROM 24 stores a program for controlling the information recording module 2, and this program operates on the CPU 22 using the RAM 23 as a temporary storage area.
  • the nonvolatile memory 25 is an area for recording data transmitted from the access module 1, and data to be recorded / reproduced / held in the nonvolatile memory 25 is managed by the FAT file system 26. That is, the logical address space in the nonvolatile memory 25 is an address space by the FAT file system 26 having the configuration shown in FIG.
  • recording (writing) / reproducing (reading) / Data to be held has a data structure defined by the FAT type file system 26 taking the configuration shown in FIG. 2 as an example. That is, the recording area of the non-volatile memory 25 is divided into cluster units and managed using FAT (305, 306), and information such as the names and sizes of files and directories is managed using directory entries. ing.
  • the entry sequence 27 is shown in the nonvolatile memory 25 of FIG. As shown in FIG. 1, the entry sequence 27 includes a basic entry 201, a name entry 202, an extent information entry 203, an update information entry 204, and a dummy entry 205.
  • the information recording system 1000 speeds up seek processing by including one or more extent information entries 203 including information on the position and size of the file data storage area in the entry sequence. To do. Further, in the information recording system 1000, by using the update information entry 204 and the dummy entry 205, it is possible to calculate the cyclic shift checksum at high speed. As described above, in the information recording system 1000, the extended file processing unit 104 performs file management using the extent information entry 203, the update information entry 204, and the dummy entry 205.
  • FIG. 6 is a diagram showing the configuration of the basic entry 201.
  • the basic entry 201 is a directory entry that stores basic information of a file, and is a directory entry that is always included in the entry sequence 27 of all files.
  • the “type” field is a field for storing a fixed value indicating the basic entry 201.
  • the “number of secondary entries” field is a field for storing the number of secondary entries subsequent to the basic entry 201. For example, when “10” is stored in this field, the entry sequence 27 corresponding to the corresponding file is composed of 11 directory entries including the basic entry.
  • the “checksum” field is a field for storing the cyclic shift checksum value of the corresponding entry sequence 27.
  • the data of the plurality of directory entries spans two sectors (or two clusters) of the nonvolatile memory 25 (sector boundary data ( Or, consider the case of cluster boundary data)).
  • the data writing is completed in one sector (or cluster), and then the data is written in the other sector (or cluster). If the data writing process is interrupted, for example, due to a power-off or the like while the process is not completed, the directory entries cannot be matched. In such a case, since the inconsistency between the directory entries can be detected by the checksum in the “checksum” field, the reliability of the file system can be improved.
  • the “attribute” field is a field for storing file attributes such as a read-only attribute and a system file attribute.
  • the “time stamp” field is a field for storing a time stamp such as a file creation date and an update date.
  • the “time zone” field is a field for storing the time zone when the time stamp is set.
  • the “reserved” field is a field reserved for future expandability, and normally stores 0x00.
  • the “start cluster number” field is a field for storing the start cluster number of the area storing the file data.
  • the “file size” field stores a file size.
  • FIG. 7 is a diagram showing the configuration of the name entry 202.
  • the name entry 202 is a directory entry that stores the name of a file, and is a directory entry that is always included one by one in the entry sequence 27 of all files, like the basic entry 201.
  • the “type” field is a field for storing a fixed value indicating the name entry 202.
  • FIG. 8 is a diagram showing the configuration of the extent information entry 203.
  • the extent information entry 203 is a directory entry that stores information indicating the position and size of the file data storage area, and this entry may or may not exist depending on the file. Since one extent information entry 203 stores information related to one continuous area, a plurality of extent information entries 203 are included in the entry sequence 27 when a file is composed of a plurality of continuous areas. .
  • the extent information entry 203 stores information indicating the position and size of the continuous area, the position information can be managed with a fixed-length directory entry of 32 bytes even if the continuous area is large. Therefore, when seeking a file, the seek process can be speeded up by referring to the extent information entry 203 without referring to the FAT (305, 306).
  • the “type” field is a field for storing a fixed value indicating the extent information entry 203.
  • the “reserved” field is a field reserved for future expandability, and normally stores 0x00.
  • the “start cluster number” field is a field for storing the first cluster number of the continuous area.
  • the “continuous area size” field is a field for storing the size of the continuous area.
  • FIG. 9 is a diagram showing the configuration of the update information entry 204.
  • the update information entry 204 is a directory entry for storing information that is updated when a file is overwritten or appended among the fields existing in the basic entry 201.
  • the update information entry 204 may or may not exist depending on the file. There may be cases.
  • update information entry 204 exists, only one update information entry 204 is included in the entry sequence 27.
  • this entry is arranged behind the entry sequence 27 and the field included in the basic entry 201 is updated, the latest update information is held by updating only the field of this entry.
  • the “type” field is a field for storing a fixed value indicating the update information entry 204.
  • the “reserved” field is a field reserved for future expandability, and normally stores 0x00.
  • the “time stamp”, “time zone”, and “file size” fields are fields for storing information similar to the fields existing in the basic entry 201. When the update information entry 204 exists in the entry sequence 27, these fields (“time stamp”, “time zone”, “file size” fields) existing in the basic entry 201 are not used, and are in the update information entry 204. Only the fields existing in (the “time stamp”, “time zone”, “file size” fields) are used.
  • FIG. 10 is a diagram showing the configuration of the dummy entry 205.
  • the dummy entry 205 itself is a directory entry that does not contain valid data and is used to reduce the calculation overhead of the cyclic shift checksum.
  • the “type” field is a field for storing a fixed value indicating the dummy entry 205.
  • “0x00 padding” stores 0x00 to facilitate the calculation of the cyclic shift checksum.
  • an entry sequence 27 corresponding to each file is configured by combining these various directory entries.
  • FIG. 11 is a diagram showing an example of the “normal file” entry sequence 27.
  • the normal file entry sequence 27 includes a basic entry 201 for storing basic file information and a name entry 202 for storing a file name. Since the normal file has a small file size, the processing is completed in a short time even if seek processing is performed using FAT (305, 306). For this reason, in the information recording system 1000, when processing a normal file, the extent information entry 203 is not used. Therefore, as shown in FIG. 11, the extent information entry 203 does not exist in the entry sequence 27 of the normal file.
  • FIG. 12 is a diagram showing an example of the entry sequence 27 of “extended file”.
  • a basic entry 201 and a name entry 202 exist at the head of the extended file entry sequence 27.
  • the details of the processing procedure in the information recording system 1000 are as follows.
  • S1301 The access module 1 finds the entry sequence 27 of the file to be written, and reads the basic entry 201 and the name entry 202 from the information recording module 2.
  • S1302 The access module 1 determines whether the extent information entry 203 is included in the entry sequence 27. In the case of a “normal file” that does not include the extent information entry 203, the process proceeds to S1303. In the case of an “extended file” including the extent information entry 203, the process proceeds to S1310.
  • area management information such as FAT (305, 306)
  • the access module 1 refers to the basic entry 201 and the name entry 202 and calculates a cyclic shift checksum.
  • the access module 1 stores the checksum value calculated in S 1306 in the “checksum” field of the basic entry 201 on the RAM 12 in the access module 1.
  • the information recording module 2 writes the basic entry 201 updated on the RAM 12 in the access module 1 in the nonvolatile memory 25 of the information recording module 2 in accordance with the instruction of the access module 1.
  • the access module 1 determines whether writing of all file data to be written has been completed. If the writing has been completed, the process ends. If not, the process returns to S1303. (Processing for extended files): (S1310): On the other hand, if it is determined in S1302 that the target file is an “extended file”, the access module 1 refers to the basic entry 201 at the beginning of the entry sequence 27 to the end of the extent information entry 203. Then, the value (C1) of the cyclic shift type checksum is calculated.
  • the access module 1 refers to the area management information such as FAT (305, 306), acquires a free area, and instructs the information recording module 2 to actually write file data in the free area.
  • the information recording module 2 actually writes the file data in the free area of the nonvolatile memory 25 according to the instruction of the access module 1. This process is the same as the free area acquisition and data write process in the conventional FAT file system.
  • the access module 1 updates the area management information such as FAT (305, 306) and instructs the information recording module 2 to write to the information recording module 2.
  • the information recording module 2 writes the updated area management information in the nonvolatile memory 25 according to the instruction of the access module 1.
  • This process is also the same as the area management information update process in the conventional FAT file system.
  • S1313 The access module 1 adds a new extent information entry 203 at the end of the extent information entry 203 in the entry sequence 27, that is, at the position where the update information entry 204 exists, on the RAM 12 in the access module 1.
  • the new extent information entry 203 stores information indicating the position and size of the free area acquired in S1311.
  • S1314) The access module 1 moves the current update information entry 204 immediately after the end of the latest extent information entry 203 on the RAM 12 in the access module 1. At this time, the latest information is stored in the “time stamp”, “time zone”, and “file size” fields.
  • (S1315): The access module 1 adds the cyclic shift checksum C_extent of the extent information entry 203 added in S1313 to the value of C1 (C2). That is, the access module 1 C2 C1 + C_extent The process corresponding to is performed.
  • (S1316): The cyclic shift checksum C_update of the update information entry 204 updated in S1314 is added to the value of C2 (C3). That is, the access module 1 C3 C2 + C_update The process corresponding to is performed.
  • the bit position to be added to the “type” field is always fixed uniquely, and the calculation process regarding the value of the “type” field is simply “type”. "The value of the field can be replaced with the process of adding the number of dummy entries. In addition, since all the “0x00 padding” fields are 0x00, these values do not affect the checksum value.
  • the access module 1 stores the value of C4 calculated in S1317 in the “checksum” field of the basic entry 201 on the RAM 12 in the access module 1.
  • the access module 1 instructs the information recording module 2 to write the basic entry 201 updated on the RAM 12 in the access module 1 and the extent information entry 203 and update information entry 204 added in S1313 to the information recording module 2. .
  • the information recording module 2 writes the updated basic entry 201, the extent information entry 203 added in S1313, and the updated information entry 204 in the nonvolatile memory 25 of the information recording module 2 according to the instruction of the access module 1.
  • S1320 The access module 1 determines whether writing of all file data to be written has been completed. If the writing has been completed, the process ends. If not, the process proceeds to S1321.
  • FIG. 14B shows an example of the entry sequence 27 in a state after file data is added to the state of FIG.
  • the directory entries referred to when calculating C1 in S1310 are the five directory entries shown in FIG. 14B (the five directory entries shown as “C1 calculation range” in FIG. 14B). It is.
  • the directory entry referred to when calculating C2 and C3 is one directory entry shown in FIG. 14B (in FIG. 14B, “C2 calculation range” and “C3 calculation range”). Directory entry).
  • the directory entries that are the targets when calculating C4 in S1317 are the two directory entries shown in FIG. 14B (two directory entries shown as “C4 calculation range” in FIG. 14B). Although there is actually no need to refer to these directory entries, C4 can be calculated by a simple arithmetic operation.
  • the directory entries written in the information recording module 2 in S1319 are three directory entries (basic directory entry 201, extent information entry) indicated by colored areas (areas with a gray background) in FIG. 203, update information entry 204).
  • FIG. 14C shows an example of the entry sequence 27 in a state after further adding file data to the state of FIG.
  • C1 this C1 is the same as C2 in FIG. 14B
  • the directory entries are each one directory entry shown in FIG. 14C (directory entries shown as “new C2 calculation range” and “new C3 calculation range” in FIG. 14C).
  • the directory entry that is the target of the calculation of C4 in S1317 is one directory entry shown in FIG. 14C (the directory entry shown as “new C4 calculation range” in FIG. 14C).
  • C4 can be calculated by a simple arithmetic operation.
  • the directory entries written in the information recording module 2 are three directory entries (basic directory entry 201, extent information) indicated by colored areas (areas with a gray background) in FIG. Entry 203, update information entry 204). That is, in the information recording system 1000, when the first file data is added as shown in FIG. 14B, it is necessary to refer to a total of seven directory entries in order to calculate C1, C2, and C3.
  • the information recording system 1000 can calculate the checksum at high speed.
  • the basic entry 201 does not update fields other than the “checksum” field.
  • an area for storing a predetermined number of directory entries is secured in advance when creating a file, and a dummy entry 205 is placed near the end of the area. It is realized by storing.
  • an area for storing 32 directory entries is prepared and dummy entries 205 are stored as a whole, and the dummy entries 205 are overwritten in order from the top as necessary.
  • the basic entry 201, name entry 202, extent information entry 203, and update information entry 204 are stored in the form. In this way, in the information recording system 1000, it is sufficient to always store a value of “31” in the “number of secondary entries” field in the basic entry 201. No update is required. However, when all the dummy entries 205 prepared in advance are consumed, it is necessary to secure a new area for storing the directory entries and store the dummy entries 205.
  • the information recording system 1000 refers to the entire entry sequence 27 and recycles the cyclic shift checksum. There is a need to calculate. Therefore, in order to prevent such recalculation from occurring frequently, the information recording system 1000 reserves a directory entry area of a certain size when creating a file.
  • the nonvolatile memory 25 of the information recording module 2 is managed by the FAT type file system 26, and a plurality of directory entries are assigned to one file. Further, the plurality of directory entries are ensured by a cyclic shift checksum.
  • the information recording system 1000 processes a large file, the extent information entry for the large file is processed. 203 manages information indicating the position and size of the continuous area. As a result, the information recording system 1000 can speed up seek processing, which is a weak point of the FAT file system.
  • the update information entry 204 and the dummy entry 205 it is possible to reduce the recalculation overhead of the cyclic shift checksum when writing the file data and to increase the speed.
  • the present invention has been described based on the above embodiment, it is needless to say that the present invention is not limited to the above embodiment. Various modifications can be made without departing from the spirit of the present invention.
  • the numerical values described in the present embodiment are examples, and other values may be used. For example, the case where an area for storing 32 directory entries is prepared at the time of creating a file has been described, but other values may be used.
  • the case where the information recording system 1000 handles two types of files of “normal file” and “extended file” has been described. However, the present invention is not limited to this. It may be handled as an “extension file”.
  • the configuration of various directory entries described in the present embodiment is an example, and fields may be added, modified, or deleted as necessary.
  • Information included in one directory entry may be divided into a plurality of directory entries, and conversely, information included in a plurality of directory entries may be included in one directory entry.
  • the “file name” field included in the name entry 202 may be moved to another independent directory entry. In this way, even when the file name exceeds 28 bytes that can be stored in the name entry 202, it is easy to store a plurality of independent directory entries that store only the file name in the entry sequence 27. It becomes possible to cope with.
  • the configuration of the entry sequence 27 described in the present embodiment is an example, and a new directory entry may be defined and added to the entry sequence 27 as necessary, or other changes may be added. .
  • FAT 305, 306
  • the FAT (305, 306) is used as a table for managing only link information between clusters, and in the case of using an allocation bitmap separately for free space management, only the allocation bitmap in the processing of S1311 and S1312. And it is not necessary to use FAT (305, 306). That is, since the link information managed by the FAT (305, 306) is managed by the extent information entry 203, it is not necessary to use the FAT (305, 306) in these processes. In the processing procedure of FIG. 13, the case has been described where the extent information entry 203 is added every time a free area is acquired when data is written to the extended file. However, if the free area acquired in S1311 is an area that is continuous with the area in which the file data immediately before the current write data is stored, it is not always necessary to add the extent information entry 203.
  • the present invention is not limited to this. Other methods may be used.
  • the “number of secondary entries” field of the basic entry 201 is 1 byte
  • the size of the entry sequence 27 is 256 directory entries at the maximum. The field may be expanded to 2 bytes so that more directory entries can be included in the entry sequence 27.
  • a plurality of entry sequences 27 can be connected to store management information for one file. A method of storing is conceivable.
  • connection entry 206 as shown in FIG. 15 may be defined, and the configuration of the entry sequence 27 as shown in FIG. 16 may be adopted.
  • the “number of secondary entries” field in the basic entry 201 is set to “255”, and the checksum for the first 256 entries is held in the “checksum” field in the basic entry 201. Is done.
  • the connection entry 206 is stored in the 257th directory entry, indicating that the previous entry sequence 27 is still continuing.
  • the connection entry 206 for every 256 entries the number of directory entries allocated to one file can be increased.
  • FIG. 17 is a configuration diagram of an information recording system 2000 according to the second embodiment.
  • the information recording system 2000 includes an access module 1 and an information recording module 2.
  • the information recording system 2000 (see FIG. 17) of the present embodiment is different from the information recording system 1000 (see FIG. 1) of the first embodiment in the FAT type file constructed in the nonvolatile memory 25 in the information recording module 2.
  • the configuration within the system 26 is different.
  • the information recording system 2000 is the same as the information recording system 1000, and a detailed description thereof will be omitted.
  • the extent information entry 203, the update information entry 204, and the dummy entry 205 exist in the entry sequence 27.
  • these The entry does not exist in the entry sequence 27, but an extent area designation entry 207 is added instead.
  • the extent information entry 203 is not directly stored in the entry sequence 27, but an arbitrary cluster is allocated and stored therein.
  • FIG. 18 is a diagram showing the configuration of the extent area designation entry 207.
  • the extent area specification entry 207 is a directory entry that stores information indicating the position of the area in which the extent information entry 203 of the corresponding file is stored.
  • the “type” field is a field for storing a fixed value indicating that it is the extent area designation entry 207.
  • the “reserved” field is a field reserved for future expandability, and normally stores 0x00.
  • the “start cluster number” field is a field for storing the leading cluster number of an arbitrary cluster area in which the extent information entry 203 is stored.
  • the “extent area size” field is a field for storing the size of the entire area.
  • the entry sequence 27 includes a basic entry 201, a name entry 202, and an extent area designation entry 207.
  • the extent information entry 203 is not included in the entry sequence 27 because it is stored in an arbitrary cluster indicated by the extent area designation entry 207.
  • the size of the entry sequence 27 can be kept small, and the cyclic shift checksum can be calculated at high speed. For this reason, information such as a time stamp and a file size is implemented by directly updating the basic entry 201, and the update information entry 204 becomes unnecessary.
  • the processing procedure of FIG. 19 differs depending on the “normal file” and the “extended file” as in the processing procedure described in FIG. (S1901):
  • the access module 1 finds the entry sequence 27 of the file to be written, and reads the basic entry 201 and the name entry 202 from the information recording module 2.
  • the access module 1 refers to the extent area designation entry 207 and determines whether or not the extent information entry 203 is included in the extent area 28. In the case of a “regular file” in which the extent information entry 203 is not included in the extent area 28, the process proceeds to S1903. In the case of an “extended file” in which the extent information entry 203 is included in the extent area 28, the process proceeds to S1910. Note that the processing after S1903, which is the processing for the “normal file”, is the same as the processing procedure described with reference to FIG.
  • the access module 1 refers to the area management information such as FAT (305, 306) with respect to the information recording module 2 and is free. An area is acquired, and an instruction is given to actually write the file data to an empty area. The information recording module 2 actually writes the file data in the free area of the nonvolatile memory 25 in accordance with the instruction of the access module 1. This process is the same as the free area acquisition and data write process in the conventional FAT file system. It is.
  • the access module 1 updates the area management information such as FAT (305, 306) and instructs the information recording module 2 to write to the information recording module 2.
  • the information recording module 2 writes the updated area management information in the nonvolatile memory 25 according to the instruction of the access module 1. This process is also the same as the area management information update process in the conventional FAT file system.
  • the access module 1 updates the “time stamp”, “time zone”, and “file size” fields of the basic entry 201 on the RAM 12 in the access module 1.
  • the access module 1 instructs the information recording module 2 to add the extent information entry 203 to an arbitrary cluster allocated as the extent area 28 and write it to the information recording module 2.
  • the information recording module 2 adds the extent information entry 203 to an arbitrary cluster allocated as the extent area 28 in accordance with an instruction from the access module 1 and writes it in the information recording module 2.
  • the extent information entry 203 stores information indicating the position and size of the free area acquired in S1910. Further, since the size of the extent area 28 changes due to the addition of the extent information entry 203, the access module 1 updates the “extent area size” field of the extent area designation entry 207 on the RAM 12 in the access module 1.
  • the access module 1 refers to the basic entry 201, the name entry 202, and the extent area designation entry 207, and calculates a cyclic shift checksum.
  • the access module 1 stores the checksum value calculated in S1914 in the “checksum” field of the basic entry 201 on the RAM 12 in the access module 1.
  • the access module 1 instructs the information recording module 2 to write the basic entry 201 and extent area designation entry 207 updated on the RAM 12 in the access module 1 to the information recording module 2.
  • the information recording module 2 writes the updated basic entry 201 and extent area designation entry 207 in the nonvolatile memory 25 of the information recording module 2 in accordance with the instruction of the access module 1.
  • the access module 1 determines whether writing of all file data to be written has been completed. If the writing has been completed, the process ends. If not, the process returns to S1910.
  • the information recording system 2000 allocates an arbitrary cluster in the extended file as the extent area 28 and stores the extent information entry 203 in the area, thereby increasing the size of the entry sequence 27 of the file. It is possible to reduce the overhead of calculating the cyclic shift checksum.
  • the nonvolatile memory 25 of the information recording module 2 is managed by the FAT file system 26, and a plurality of directory entries are assigned to one file.
  • the plurality of directory entries are secured by a cyclic shift checksum.
  • the extent information entry for the large size file is used.
  • 203 manages information indicating the position and size of the continuous area. Thereby, in the information recording system 2000, it is possible to speed up seek processing, which is a weak point of the FAT file system. Further, in the information recording system 2000, an arbitrary cluster is assigned to the corresponding file as the extent area 28, and the extent information entry 203 is stored therein. As a result, the size of the entry sequence 27 can be prevented from increasing, the recalculation overhead of the cyclic shift checksum when writing the file data can be reduced, and the speed can be increased.
  • the present invention has been described based on the above embodiment, it is needless to say that the present invention is not limited to the above embodiment. Various modifications can be made without departing from the spirit of the present invention. Various modifications described in the first embodiment of the present invention may be applied to the second embodiment of the present invention.
  • the second embodiment of the present invention the example in which the extent information entry 203 is stored in the extent area 28 has been described.
  • the extent area 28 is an area different from a normal directory area in which the entry sequence 27 is stored. Therefore, the extent area 28 does not need to handle an entry like the entry sequence 27, and does not necessarily have to take the form of a 32-byte entry. For example, a configuration in which a plurality of entries are packed and stored in the extent area 28 with a 12-byte entry including only a 4-byte start cluster number and an 8-byte extent area size as one unit. .
  • the “extent area size” field in the extent area designation entry 207 may be deleted, and the end of the extent area may be detected by other methods.
  • the “file size” field of the basic entry 201 the size of the corresponding file is recognized, and the sum of the value and the “continuous area size” field of the extent information entry 203 stored in the extent area 28 is compared. When the sum reaches the same size as “file size”, it may be detected that the extent area 28 is terminated. Further, in the information recording system 2000, data “0x00” is written in an area in the extent area 28 where data is not written (area where no actual data exists) (so-called 0 stuffing (0 padding) processing is performed).
  • the written data values are sequentially checked, and the end position of the extent area 28 (substance data is written) immediately before the position where the area having the data value “0x00” appears. It is also possible to detect that it is the end position of the area being
  • each block may be individually integrated into one chip by a semiconductor device such as an LSI.
  • a semiconductor device such as an LSI.
  • One chip may be included so as to include a part or the whole.
  • LSI is used, it may be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • each process of the said embodiment may be implement
  • the access module (access device), the information recording module (information recording device), and the information recording system according to the above embodiment are realized by hardware, it is necessary to adjust the timing for performing each process. Needless to say. In the above embodiment, for convenience of explanation, details of timing adjustment of various signals generated in actual hardware design are omitted.
  • An access device for accessing an information recording device including a nonvolatile memory for storing file data, Extent information that manages the file data in units of fixed-length blocks and includes at least information for specifying the position and size of the continuous area as management information of a continuous area composed of one or more fixed-length blocks Entry and A file allocation table for managing information indicating the link relationship between the fixed-length blocks;
  • One or more fixed-length entries that are generated for each file and store management information including information on the file name and size, and information on the checksum of the one or more fixed-length entries are included in the entry group.
  • Entries and An access device comprising a file system control unit for managing the file using the.
  • the entry group includes the extent information entry therein, The access device according to attachment 1.
  • the file system control unit An extent information entry including information for specifying the position and size of the continuous area is added to the entry group each time an independent continuous area for storing data of the file increases.
  • the access device according to attachment 2. (Appendix 4) The file system control unit When a file is created, an entry group including a predetermined number of entries is configured, A dummy entry of a predetermined format is stored in an entry that does not store valid information in the entry group.
  • the file system control unit When adding the extent information entry to the entry group, the storage position of the update information entry is shifted backward, The access device according to appendix 7.
  • the information about the checksum is information including a calculation result by a cyclic shift checksum.
  • the access device according to attachment 2. (Appendix 10) The file system control unit When the extent information entry is added, the extent information entry to be added, and an operation based on the update information entry, Calculating the cyclic shift checksum with an operation based on the number of the dummy entries included in the entry group, The access device according to appendix 9.
  • the file system control unit When accessing a file, When the entry group corresponding to the file includes the extent information entry, an extended file processing unit that controls access to the file based on the extent information entry; When the entry group corresponding to the file does not include the extent information entry, based on the file allocation table, a normal file processing unit that performs access control on the file; Prepare The access device according to any one of appendices 1 to 10.
  • An information recording device including a non-volatile memory for storing file data, The file data is managed in fixed-length block units, The nonvolatile memory includes Extent information entry including at least information for specifying the position and size of the continuous area as management information of the continuous area composed of one or more fixed-length blocks; A file allocation table for managing information indicating the link relationship between the fixed-length blocks; An entry group that is generated for each file and includes one or more fixed-length entries that store management information including information on the file name and size, and information on the checksum of the entry group associated with the file. An entry group included in the entry group; Store, Information recording device. (Appendix 13) The entry group includes the extent information entry therein, The information recording device according to attachment 12.
  • the entry group is: Each time an independent continuous area for storing data of the file increases, an extent information entry including information for specifying the position and size of the continuous area is added.
  • the information recording device according to attachment 13. (Appendix 15) The entry group is: When a file is created, it contains a predetermined number of entries, A dummy entry of a predetermined format is stored in an entry that does not store valid information in the entry group.
  • the dummy entry is A predetermined value is stored in all areas other than the field for storing an identifier indicating the dummy entry.
  • the entry group is: When the extent information entry is added, by deleting the dummy entry, the size of the entire entry group does not change.
  • the entry group is: An update information entry for storing information related to a file size and a time stamp corresponding to the entry group is stored behind the extent information entry.
  • the entry group is: When the extent information entry is added, the storage position of the update information entry is shifted backward.
  • the information about the checksum is information including a calculation result by a cyclic shift checksum.
  • An information recording system comprising: an information recording device including a nonvolatile memory for storing file data; and an access device for accessing the information recording device, Managing the file data in units of fixed-length blocks;
  • the nonvolatile memory includes Extent information entry including at least information for specifying the position and size of the continuous area as management information of the continuous area composed of one or more fixed-length blocks;
  • a file allocation table for managing information indicating the link relationship between the fixed-length blocks;
  • An entry group that includes one or more fixed-length entries that are generated for each file and stores management information such as the name and size of the file, and information about the checksum of the one or more fixed-length entries;
  • Store The access device is: A file system control unit that manages files stored in the nonvolatile memory using information stored in the nonvolatile memory; Information recording system.
  • (Appendix 22) The extent information entry is stored inside the entry group.
  • (Appendix 23) An access device according to any one of appendices 1 to 11;
  • An information recording system comprising: (Appendix 24) A file management method using a non-volatile memory for storing file data, An extent information entry for managing the file data in units of fixed-length blocks, and specifying at least the position and size of the continuous area as management information of a continuous area composed of one or more fixed-length blocks
  • One or more fixed-length entries that are generated for each file and store management information including information on the file name and size, and information on the checksum of the one or more fixed-length entries are included in the entry group. Entries and To manage the files using File management method.
  • (Appendix 25) A program that causes a computer
  • a first invention is an access device for accessing an information recording device including a non-volatile memory for storing file data, and an extent information entry, a file allocation table, a group of entries, and a file for managing files
  • a system control unit is provided.
  • the extent information entry manages file data in units of fixed-length blocks, and includes at least information for specifying the position and size of the continuous area as management information of a continuous area composed of one or more fixed-length blocks.
  • the file allocation table manages information indicating the link relationship between fixed-length blocks.
  • the entry group is generated for each file, and information on one or more fixed-length entries storing management information including information on the file name and size, and information on the checksum of the one or more fixed-length entries is stored in the entry group. Include inside.
  • file management can be performed by both the extent information entry and the file allocation table (FAT) by the file system control unit. Therefore, in this access device, for example, a large file (extended file) managed by the extent information entry and other normal files can be efficiently managed. Further, in this access device, file management can be performed using extent information entries, so that high-speed seek processing that is a weak point of the FAT file system can be realized. Further, in this access device, since the entry group includes information on the checksum of the entry group related to the file, inconsistency between entries can be detected. As a result, the reliability of the file system handled by the access device can be improved.
  • FAT file allocation table
  • the “access device” is a concept including an access module.
  • the second invention is the first invention, wherein the entry group includes extent information entries therein.
  • 3rd invention is 2nd invention, Comprising: When the independent continuous area which stores the data of a file increases, the file system control part gives the information for specifying the position and size of a continuous area. Add the included extent information entry to the entry group.
  • the fourth invention is the third invention, wherein the file system control unit forms an entry group including a predetermined number of entries when a file is created, and information valid in the entry group is provided. A dummy entry of a predetermined format is stored in the unstored entry.
  • the fifth invention is the fourth invention, wherein the file system control unit stores a predetermined value in all areas other than a field for storing an identifier indicating a dummy entry in a dummy entry.
  • the “predetermined value” is, for example, “0x00”. Thereby, the checksum calculation process can be simplified.
  • the sixth invention is the fifth invention, wherein the file system control unit deletes the dummy entry and does not change the size of the entire entry group when adding the extent information entry to the entry group. In this access device, since the size of the entire entry group does not change, the area that is the target of checksum calculation processing in the access device is fixed. As a result, the checksum calculation processing in the access device can be speeded up.
  • the seventh invention is the third invention, wherein the file system control unit includes an update information entry for storing information relating to a size and a time stamp of the file corresponding to the entry group in the entry group after the extent information entry. To store.
  • the update information entry is stored after the extent information entry, the data in the area before the update entry hardly changes. Therefore, this access device can efficiently perform checksum calculation processing.
  • “Storing behind” means storing in a logical address position in the subsequent stage in the logical address space. Therefore, in the above, the update information entry is stored in the logical address space area following the logical address space area in which the extent information entry is stored.
  • the eighth invention is the seventh invention, wherein the file system control unit shifts the storage position of the update information entry backward when adding the extent information entry to the entry group. Note that “shift backward” means that the area is shifted backward in the logical address space.
  • the ninth invention is the second invention, wherein the information relating to the checksum is information including a calculation result by a cyclic shift type checksum.
  • the information relating to the checksum is information including a calculation result by a cyclic shift type checksum.
  • checksum calculation processing is performed using a cyclic shift type checksum. Therefore, inconsistency between entries can be detected with higher accuracy than when checksum calculation processing is performed using a simple checksum. it can.
  • the tenth invention is the ninth invention, wherein the file system control unit, when an extent information entry is added, performs an operation based on the extent information entry to be added and the update information entry, and an entry group
  • the cyclic shift type checksum is calculated by an operation based on the number of dummy entries included in the.
  • An eleventh aspect of the invention is any one of the first to tenth aspects of the invention, and the file system control unit includes an extended file processing unit and a normal file processing unit.
  • a twelfth invention is an information recording device including a nonvolatile memory for storing file data.
  • the non-volatile memory stores extent information entries, a file allocation table, and an entry group.
  • File data is managed in fixed-length block units.
  • the extent information entry includes at least information for specifying the position and size of the continuous area as management information of the continuous area composed of one or more fixed-length blocks.
  • the file allocation table manages information indicating the link relationship between fixed-length blocks.
  • the entry group is an entry group that is generated for each file and includes one or more fixed-length entries that store management information including information on the file name and size, and a checksum of the entry group related to the file. Is included in the entry group.
  • file management can be performed by both the extent information entry and the file allocation table (FAT) under the control of the access apparatus. Therefore, in this information recording apparatus, for example, a large file (extended file) managed by the extent information entry and other normal files can be efficiently managed. Further, by using this information recording apparatus, file management can be performed by extent information entry, and high speed seek processing, which is a weak point of the FAT type file system, can be realized.
  • the “information recording device” is a concept including an information recording module.
  • the thirteenth invention is the twelfth invention, wherein the entry group includes extent information entries therein.
  • the fourteenth invention is the thirteenth invention, wherein the entry group includes an extent including information for specifying the position and size of the continuous area each time the number of independent continuous areas storing file data increases. In this configuration, an information entry can be added.
  • the fifteenth invention is the fourteenth invention, wherein the entry group is configured to include a predetermined number of entries when a file corresponding to the entry group is created, and is effective in the entry group. In the entry that does not store information, a dummy entry of a predetermined format is stored.
  • the sixteenth invention is the fifteenth invention, wherein the dummy entry stores a predetermined value in all areas other than a field for storing an identifier indicating that it is a dummy entry.
  • the seventeenth invention is the sixteenth invention, wherein the entry group is configured such that when the extent information entry is added, the size of the entire entry group is not changed by deleting the dummy entry.
  • the An eighteenth aspect of the invention is the fourteenth aspect of the invention, wherein the entry group is configured to store an update information entry for storing information related to a file size and a time stamp corresponding to the entry group after the extent information entry.
  • the nineteenth invention is the eighteenth invention, wherein the entry group is configured such that the storage position of the update information entry is shifted backward when the extent information entry is added.
  • the twentieth invention is the twelfth invention, wherein the information relating to the checksum is information including a calculation result by a cyclic shift checksum.
  • a twenty-first invention is an information recording system including an information recording device including a nonvolatile memory for storing file data, and an access device for accessing the information recording device. File data is managed in units of fixed-length blocks.
  • the non-volatile memory can store extent information entries, a file allocation table, and an entry group.
  • the extent information entry includes at least information for specifying the position and size of the continuous area as management information of the continuous area composed of one or more fixed-length blocks.
  • the file allocation table manages information indicating the link relationship between fixed-length blocks.
  • the entry group is generated for each file, and includes one or more fixed-length entries that store management information such as the file name and size, and information about the checksum of one or more fixed-length entries.
  • the access device includes a file system control unit that manages files stored in the nonvolatile memory using information stored in the nonvolatile memory.
  • file management can be performed by both the extent information entry and the file allocation table (FAT) by the file system control unit. Therefore, in this information recording system, for example, a large file (extended file) managed by the extent information entry and other normal files can be efficiently managed. Further, in this information recording system, since file management can be performed by extent information entry, it is possible to realize high-speed seek processing that is a weak point of the FAT type file system.
  • the twenty-second invention is the twenty-first invention, wherein the extent information entry is stored inside an entry group.
  • a twenty-third invention is an information recording system comprising an access device according to any one of the first to eleventh inventions and an information recording device according to any of the twelfth to twenty-second inventions.
  • a twenty-fourth invention is a file management method using a non-volatile memory for storing file data. This file management method manages files using extent information entries, file allocation tables, and entry groups.
  • the extent information entry is an extent information entry for managing file data in units of fixed-length blocks, and is at least the position and size of a continuous area as management information of a continuous area composed of one or more fixed-length blocks. Contains information for identifying.
  • the file allocation table manages information indicating the link relationship between fixed-length blocks.
  • the entry group is generated for each file, and information on one or more fixed-length entries storing management information including information on the file name and size, and information on the checksum of the one or more fixed-length entries is stored in the entry group. Include inside.
  • file management can be performed using both the extent information entry and the file allocation table (FAT).
  • file management method for example, a large file (extended file) managed by the extent information entry and other normal files can be efficiently managed.
  • file management can be performed using extent information entries, so that high-speed seek processing, which is a weak point of the FAT file system, can be realized.
  • a twenty-fifth invention is a program for causing a computer to execute the file management method according to the twenty-fourth invention. Thus, a program that exhibits the same effect as that of the 24th aspect of the invention can be realized.
  • the nonvolatile memory 25 of the information recording module 2 according to the present invention is managed by the FAT type file system 26, and a plurality of directory entries are assigned to one file. Further, the reliability of the plurality of directory entries is ensured by a cyclic shift checksum.
  • information indicating the position and size of the continuous area is managed by the extent information entry 203. Thereby, in the information recording system of the present invention, it is possible to speed up the seek process, which is a weak point of the FAT file system.
  • the access module 1 that constitutes such an information recording system is most suitable for devices that handle digital contents such as music, still images, and moving images, especially devices that handle content with a large file size, such as PC applications, audio recorders, It can be used as a DVD recorder, HDD recorder, movie, digital still camera, mobile phone terminal and the like.
  • the information recording module 2 of the present invention can be used as a removable medium such as a memory card for storing the digital content or the like, or a built-in recording device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

情報記録装置の不揮発性メモリをFAT型ファイルシステムにより領域管理し、且つ循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、循環シフト型チェックサムの再計算を効率的に行い、且つシーク処理を高速化する。情報記録装置2の不揮発性メモリ(25)をFAT型ファイルシステムで管理し、1つのファイルに複数のディレクトリエントリを割り当てる。更にその複数のディレクトリエントリの信頼性を循環シフト型チェックサムにより高め、ファイルデータの格納領域の位置と大きさを示す情報をエクステント情報エントリ(203)により管理する。更に、更新情報エントリ(204)とダミーエントリ(205)を使用する。

Description

アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
 本発明は、データを不揮発性メモリに格納し、ファイルとして管理するアクセスモジュール(アクセス装置)、情報記録モジュール(情報記録装置)、情報記録システム、ファイル管理方法、およびプログラムに関する。
 音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の内、記録素子にFlashROM等の半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、FlashROM等の半導体メモリを機器に内蔵してハードディスクの代わりに使用するなど、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。
 このようなメモリカードや機器内蔵ストレージには、主にNAND型フラッシュメモリと呼ばれる半導体素子が使用されている。NAND型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子であり、従来のハードディスクと同様に、複数回書き換え可能な情報記録装置を構成することが可能である。
 従来、メモリカードや機器内蔵ストレージに格納されたデータは、ファイルシステムにより管理されている。データをファイルシステムにより管理することで、同一のファイルシステムを解釈する機器間でデータをファイルとして共有することが可能となり、ユーザは自分の格納したデータを複数の機器間で容易に参照したり、コピーしたりすることが可能となる。
 従来最も広く使用されているファイルシステムは、「FATファイルシステム」と呼ばれるものである。FATファイルシステムは、領域管理をファイルアロケーションテーブル(FAT)と呼ばれるテーブルで一元管理するという特徴を持っており、比較的構造がシンプルで実装が容易なことから、フレキシブルディスクやPCのハードディスク、メモリカードなどのファイルシステムとして広く使用されている。
 図2に、FATファイルシステムの構成を示す。
 FATファイルシステムでは、ファイルアロケーションテーブル内の管理単位のビット幅の違いにより、FAT12、FAT16、FAT32などの種類が存在するが、ファイルアロケーションテーブルによる領域管理方法はほぼ同じであり、以下では、FAT16を例に説明する。
 図2に示すように、論理アドレス空間の先頭には、領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域301が存在する。
 このファイルシステム管理情報領域301には、マスターブートレコード・パーティションテーブル303、パーティションブートセクタ304、FAT(305、306)、ルートディレクトリエントリ307と呼ばれるファイルシステムの管理情報が含まれ、ユーザデータ領域302を管理するために必要な情報が各々格納されている。
 マスターブートレコード・パーティションテーブル303は、ファイルシステムが管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。
 パーティションブートセクタ304は、パーティション内の領域管理単位の大きさなど、1つのパーティション内の管理情報が格納される領域である。
 FAT(305、306)は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ2つのFAT(305、306)が存在し、一方のFAT(305、306)が破損したとしても他方のFAT(305、306)によりファイルにアクセスできるよう二重化されている。
 ルートディレクトリエントリ307は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報(ディレクトリエントリ)が格納される領域である。
 また、FATファイルシステムでは、このファイルシステム管理情報領域301に引き続く領域にファイル本体のデータなどを格納するユーザデータ領域302が存在する。
 ユーザデータ領域302は、512バイトから数十KB程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタには、ファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、FAT(305、306)に格納されたリンク情報により管理されている。
 また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報(ディレクトリエントリ)は、このユーザデータ領域302の一部を利用して格納される。
 図3は、FAT16のディレクトリエントリの構成を示した図である。
 ディレクトリエントリ308は、1つのファイル、ディレクトリ毎に32バイトのディレクトリエントリ308が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、1つのファイルやディレクトリが追加される度に32バイトのディレクトリエントリ308の情報が新規に作成され、ルートディレクトリエントリ307の領域、あるいはユーザデータ領域302に記録される。
 ディレクトリエントリ308の先頭8バイトには、ファイルやディレクトリの名称が格納される。
 続く3バイトには拡張子が格納される。
 続く1バイトには、ファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。
 また、ディレクトリエントリ308には、ファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。
 このように、ディレクトリエントリ308には、データ実体が格納されている領域の最初の1クラスタの位置を示す情報しか含まれておらず、データ実体の大きさが1クラスタよりも大きい場合において2クラスタ目以降のデータがどの領域に格納されているかについては、FAT(305、306)で管理されている。
 図4は、FAT16のFAT(305、306)の構成を示した図である。
 FAT16では、FAT(305、306)は2バイト(16ビット)の情報を1つのFATエントリとして管理しており、1つのFATエントリが1つのクラスタの状態を示している。すなわち、ユーザデータ領域302にM個のクラスタが存在する場合、FATエントリもM個存在することから、FAT(305、306)の1つ分の大きさは約2×Mバイトとなる。但し、先頭の2つのFATエントリ分は、FATの先頭を示す固定の値(0xF8FF、0xFFFF)がシグネチャとして記録されるため、ユーザデータ領域302の先頭クラスタに対応するFATエントリは、FAT(305、306)の4バイト目、5バイト目の2バイトに存在している。FAT先頭に存在する4バイトのシグネチャをFATエントリの0番、1番とすると、4バイト目および5バイト目の2バイトの位置は2番目になることから、ユーザデータ領域302の先頭クラスタは、便宜上クラスタ番号=“2”と割り当てられており、クラスタ番号=“0”、“1”に対応するクラスタは存在しないことになっている。
 更に、各FATエントリは、各々対応するクラスタの状態(使用中、空き、欠陥)、及びリンク先のクラスタ番号を示す。例えば、図4において、対応クラスタ番号2のFATエントリは0x0003(十進数では“3”)に設定されており、クラスタ番号2のクラスタ内に格納されたデータの続きのデータは、クラスタ番号3のクラスタ内に格納されていることを意味する。同様に、対応クラスタ番号3のFATエントリは0x0004(十進数では“4”)に設定されており、クラスタ番号3のクラスタ内に格納されたデータの続きのデータは、クラスタ番号4のクラスタ内に格納されていることを意味する。また、対応クラスタ番号6のFATエントリは、0xFFFFに設定されている。これは、次のリンク先が存在せず、リンクが終端していることを意味する。よって、図4の例では、クラスタ番号2、3、4、5、6の順に一連のファイルデータが格納されていることになる。
 また、対応クラスタ番号7のFATエントリは、0x0000に設定されている。これは、対応するクラスタが使用されておらず、“空き”の状態であることを意味する。
 また、対応クラスタ番号(M+1)のFATエントリは、0xFFF7に設定されている。これは、対応するクラスタが物理的に壊れていて記録が出来ない状態である等の欠陥状態であることを意味する。
 まとめると、0x0000、0xFFFF、0xFFF7の3つのFATエントリ値は各々特殊な意味を持ち、0x0002から0xFFF6までのFATエントリ値がリンク先クラスタ番号として使用されることになる。また、それ以外の0x0001、0xFFF8から0xFFFEまでの値は予約されており、通常は使用されない値になっている。
 このように、FATファイルシステムでは、ファイルデータが複数のクラスタに跨って格納されている場合、各クラスタ間のリンク関係をFATエントリの値に格納し管理している。よって、ファイルデータを先頭から順に終端まで読み出す場合、クラスタ境界に来る度にFAT(305、306)を参照し、次のリンク先のクラスタ番号を特定する必要がある。
 同様に、FATファイルシステムを用いる情報記録システムにおいて、ファイル内の任意の位置を読み出すためにシーク処理を行う場合、FAT(305、306)を参照してシークサイズ分のクラスタ数だけリンクを辿り所望のデータが格納されているクラスタ番号を特定する必要がある。そのため、シーク処理は、ファイルサイズに比例して処理時間が長くなることになる。ここで、1GBのファイルを16KBクラスタ単位で管理している場合を想定すると、リンクを辿る回数は、約65000回となり、比較的低速なCPUを使用した場合等では、シーク処理に数秒かかる場合もある。更に、FAT(305、306)では、ファイルの順方向のリンク情報しか保持していないため、ファイルの前方に向かってシークする場合には、再度ファイルの先頭からシーク処理をやり直す必要があり、高速にシークできないという問題が生じる。
 従来、このような問題を解決する方法として、該当ファイルのディレクトリエントリ308の直後にファイルデータ格納領域の位置情報を格納する方法が提案されている(例えば、特許文献1参照)。
 この方法では、該当ファイルのディレクトリエントリ308をディレクトリ領域内の任意のクラスタにおける先頭位置に格納し、そのクラスタ内の残りの領域には、全て消去済みディレクトリエントリを格納する。
 更に、それら消去済みディレクトリエントリ内に、該当ファイルのデータが格納された領域の開始位置と終了位置とを示す情報(LBA(Logical Block Addressing)アクセス情報)を複数格納する。
 このように、LBAアクセス情報を格納しておくことで、ファイルのシーク処理を実施する際にはFATを参照せず、LBAアクセス情報のみを参照して処理を実施することにより、シーク処理を高速化することが可能となる。
 しかしながら、この方法は、LBAアクセス情報を格納する領域として、消去済みディレクトリエントリを使用しているため、LBAアクセス情報の存在を知らない従来のFAT型ファイルシステムのみを解釈する機器でファイルやディレクトリが作成された場合、LBAアクセス情報を格納して消去済みディレクトリエントリを再利用する可能性があり、LABアクセス情報が破壊される可能性がある。
 一方、FAT型ファイルシステムでは、図3に示すようなディレクトリエントリ308の構造が採用されており、予約フィールドも実際には、タイムスタンプの情報を格納する領域等に使用されるため、十分な予約フィールドが存在していない。このため、FAT型ファイルシステムは、拡張性に乏しいファイルシステムとなっている。従来、このような問題を解決する方法として、拡張ファイルシステムフォーマットによる方法が提案されている(例えば、特許文献2参照)。
 この方法では、ディレクトリエントリの先頭1バイトにディレクトリエントリの種別を示す“タイプ”を格納するフィールドを設けることにより、1次ディレクトリエントリや2次ディレクトリエントリ等、種々のディレクトリエントリを規定し、ファイルシステムの拡張性を高めている。
 上記で説明した2つの技術を組み合わせ、ファイルデータ格納領域の位置を示す情報を格納する特殊なディレクトリエントリを“タイプ”により規定し、ファイルを示すディレクトリエントリの付加情報として格納できるようにすることにより、この特殊なディレクトリエントリを解釈しない従来の機器でファイルデータ格納領域の位置を示す情報が破壊されることを防止することが可能となる。
 この場合、1つのファイルに対して複数のディレクトリエントリが割り当てられるため、ディレクトリエントリ間の整合性を確保し、信頼性を高める仕組みが必要となる。その1つの仕組みとして、例えば、Unix(登録商標)系オペレーティングシステムで“sum”コマンドとして実装されているような循環シフト型チェックサムを用いることが考えられる。
 図5は、循環シフト型チェックサムの算出手順を示したフローチャートである。
 循環シフト型チェックサムは、算出対象となるデータを単純に加算するだけではなく、加算する度に1ビット分、値を循環シフトさせる。このように循環シフトさせることにより、算出対象データの順序が入れ替わった場合でも誤りを検出できるようになり、信頼性を高めることが可能となる。
 1つのファイルに対して割り当てられた全てのディレクトリエントリ領域を算出対象データとして、循環シフト型チェックサムを算出し、ディレクトリエントリ内の特定のフィールドに格納することにより、ディレクトリエントリの破損を検出し、信頼性を高めることが可能となる。
特開2006-178632号公報 特開2006-172485号公報
(発明が解決しようとする課題)
 しかしながら、上記の技術には、次のような問題点がある。
 すなわち、上記の方法では、ファイルを追記して、ファイルデータ格納領域が追加される度にファイルデータ格納領域の位置を示す情報を追加する必要がある。
 更に、ファイルサイズやタイムスタンプ等、ファイルを追記する際に変化する情報も更新する必要がある。これらの情報は、全て1つのファイルに割り当てられた一連のディレクトリエントリ群の中に含まれるものであるが、先の循環シフト型チェックサムをディレクトリエントリ内に含む場合、チェックサム算出値がデータの並び順に依存することから、1バイトでも情報が変化した場合、算出対象データを全て参照し直してチェックサムを再計算する必要がある。
 特に、ファイルサイズが大きくなり、ファイルデータ格納領域の位置を示す情報が増加するに従い、再計算時に参照すべきデータ量が増加し、チェックサム再計算処理にかかるオーバーヘッドが大きくなるという問題が生じる。
 本発明では、上記問題点に鑑み、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサムの再計算を効率的に行い、かつ、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現するファイルシステムを扱うアクセスモジュール、情報記録モジュール、及び情報記録システムを提供することを目的とする。
(課題を解決するための手段)
 第1の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、用いてファイルの管理を行うファイルシステム制御部を備える。
 エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理し、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
 そして、ファイルシステム制御部は、エクステント情報エントリを、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納する。
 このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
 したがって、このアクセス装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、このアクセス装置では、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
 さらに、このアクセス装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
 さらに、このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理(演算処理)を高速化することができる。
 なお、「アクセス装置」は、アクセスモジュールを含む概念である。
 第2の発明は、第1の発明であって、エントリ群は、エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む。
 これにより、このアクセス装置では、例えば、エクステント領域指定エントリを含みエクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、エクステント領域指定エントリを含まない通常ファイル(拡張ファイル以外のファイル)とを効率良く管理(アクセス)することができる。
 第3の発明は、第2の発明であって、ファイルシステム制御部は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリを、エクステント領域に追加する。
 第4の発明は、第3の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと同一バイト長である。
 第5の発明は、第3の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと異なるバイト長である。
 第6の発明は、第1から第5のいずれかの発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
 第7の発明は、第1から第6のいずれかの発明であって、拡張ファイル処理部と、通常ファイル処理部と、を備える。
 ファイルにアクセスする場合、拡張ファイル処理部は、ファイルに対応するエントリ群がエクステント領域指定エントリを含むときは、エクステント領域指定エントリおよびエクステント領域用エクステント情報エントリに基づいて、ファイルに対するアクセス制御を行う。
 ファイルにアクセスする場合、通常ファイル処理部は、ファイルに対応するエントリ群がエクステント領域指定エントリを含まないときは、ファイルアロケーションテーブルに基づいて、ファイルに対するアクセス制御を行う。
 第8の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置である。不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
 ファイルデータは、固定長ブロック単位で管理されている。
 エクステント情報エントリは、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
 そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
 この情報記録装置では、例えば、アクセス装置から制御されることで、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
 したがって、この情報記録装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録装置を用いることで、エクステント情報エントリによりファイル管理を行うことができ、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
 さらに、この情報記録装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、この情報記録装置が扱うファイルシステムの信頼性を高めることも可能となる。
 さらに、この情報記録装置では、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理(演算処理)を高速化することができる。
 なお、「情報記録装置」は、情報記録モジュールを含む概念である。 
 第9の発明は、第8の発明であって、エントリ群は、エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む。
 第10の発明は、第9の発明であって、エクステント領域は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリが追加される構成である。
 第11の発明は、第10の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと同一バイト長である。
 第12の発明は、第10の発明であって、エクステント領域用エクステント情報エントリのバイト長は、エントリ群に含まれるエントリと異なるバイト長である。
 第13の発明は、第8から第12のいずれかの発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
 第14の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置と、情報記録装置にアクセスするアクセス装置と、備える情報記録システムである。
 ファイルデータは、固定長ブロック単位で管理されており、不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
 エクステント情報エントリは、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含む。
 アクセス装置は、不揮発性メモリ内に格納された情報を用いて不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える。
 そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
 この情報記録システムでは、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
 したがって、この情報記録システムでは、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録システムでは、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
 さらに、この情報記録システムでは、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
 さらに、この情報記録システムでは、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理(演算処理)を高速化することができる。
 第15の発明は、第1から第7のいずれかの発明であるアクセス装置と、第8から第13のいずれかの発明である情報記録装置と、を備える情報記録システムである。
 第16の発明は、ファイルデータを格納する不揮発性メモリを用いるファイル管理方法である。このファイル管理方法は、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を用いて、ファイルの管理を行う。
 エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。
 そして、エクステント情報エントリは、エントリ群の外部の領域であり、任意の固定長ブロックから構成されるエクステント領域内に格納される。
 このファイル管理方法では、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
 したがって、このファイル管理方法では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、このファイル管理方法では、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
 さらに、このファイル管理方法では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このファイル管理方法が扱うファイルシステムの信頼性を高めることも可能となる。
 さらに、このファイル管理方法では、エクステント情報エントリが、エントリ群の外部の領域であり任意の固定長ブロックから構成されるエクステント領域内に格納される。このため、処理対象となるファイルのサイズが大きい場合であっても、エントリ群のサイズが大きくなることがないので、チェックサムの算出処理(演算処理)を高速化することができる。
 第17の発明は、第16の発明であるファイル管理方法をコンピュータに実行させるプログラムである。
 これにより、第16の発明と同様の効果を奏するプログラムを実現することができる。
(発明の効果)
 本発明によれば、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサムの再計算を効率的に行い、且つ、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することが可能となる。
第1実施形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図 FAT型ファイルシステムの構成を示した説明図 ディレクトリエントリの構成を示した説明図 FATの一例を示した説明図 循環シフト型チェックサムの算出処理を示したフローチャート 第1実施形態における基本エントリの構成を示した説明図 第1実施形態における名称エントリの構成を示した説明図 第1実施形態におけるエクステント情報エントリの構成を示した説明図 第1実施形態における更新情報エントリの構成を示した説明図 第1実施形態におけるダミーエントリの構成を示した説明図 第1実施形態における通常ファイルのエントリシーケンスの一例を示した説明図 第1実施形態における拡張ファイルのエントリシーケンスの一例を示した説明図 第1実施形態におけるファイルデータ書き込み処理手順を示したフローチャート 第1実施形態における拡張ファイルのエントリシーケンスの更新例を示した説明図 第1実施形態における接続エントリの構成を示した説明図 第1実施形態における拡張ファイルのエントリシーケンスの別の一例を示した説明図 第2実施形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図 第2実施形態におけるエクステント領域指定エントリの構成を示した説明図 第2実施形態におけるファイルデータ書き込み処理手順を示したフローチャート
符号の説明
 1000、2000 情報記録システム
 1 アクセスモジュール
 2 情報記録モジュール
 11,22 CPU
 12,23 RAM
 13 情報記録モジュールインタフェース
 14,24 ROM
 21 アクセスモジュールインタフェース
 25 不揮発性メモリ
 26 FAT型ファイルシステム
 27 エントリシーケンス
 28 エクステント領域
 101 アプリケーション制御部
 102 ファイルシステム制御部
 103 通常ファイル処理部
 104 拡張ファイル処理部
 105 情報記録モジュールアクセス部
 201 基本エントリ
 202 名称エントリ
 203 エクステント情報エントリ
 204 更新情報エントリ
 205 ダミーエントリ
 206 接続エントリ
 207 エクステント領域指定エントリ
 301 ファイルシステム管理情報領域
 302 ユーザデータ領域
 303 マスターブートレコード・パーティションテーブル
 304 パーティションブートセクタ
 305,306 FAT
 307 ルートディレクトリエントリ
 308 ディレクトリエントリ
 以下、本発明のアクセスモジュール、情報記録モジュール、及び情報記録システムについて、図面を参照しつつ説明する。
 [第1実施形態]
 図1は、本発明の第1実施形態に係る情報記録システム1000の構成図である。図1に示すように、情報記録システム1000は、アクセスモジュール1と、情報記録モジュール2と、を備える。
 <1.1:アクセスモジュールの構成>
 図1に示すように、アクセスモジュール1は、CPU11、RAM12、情報記録モジュールインタフェース13、ROM14を含む。
 ROM14には、アクセスモジュール1を制御するプログラムが格納されており、このプログラムは、RAM12を一時記憶領域として使用し、CPU11上で動作する。
 情報記録モジュールインタフェース13は、情報記録モジュール2とアクセスモジュール1との接続部であり、制御信号及びデータの送受信を行う。
 ROM14は、更に、アプリケーション制御部101、ファイルシステム制御部102、情報記録モジュールアクセス部105を含む。
 アプリケーション制御部101は、データの生成や電源の制御などアクセスモジュール1全体の制御を行う。
 ファイルシステム制御部102は、ファイルシステムによりデータをファイルとして管理するための制御を行う。
 情報記録モジュールアクセス部105は、ファイルシステム制御部102からデータと共にサイズとアドレスとを渡され、指定されたサイズのデータを情報記録モジュール2の記録領域内における指定された位置に記録するなど、情報記録モジュール2に対するコマンドやデータの送受信を制御する。
 ファイルシステム制御部102は、更に、通常ファイル処理部103、拡張ファイル処理部104を含む。
 通常ファイル処理部103は、FAT(305、306)により領域管理される比較的小さなサイズのファイルにアクセスする処理を行う処理部である。
 拡張ファイル処理部104は、本発明の特徴を示す処理部であり、本発明で規定するエクステント情報エントリ203により領域管理される比較的大きなサイズのファイルにアクセスする処理を行う処理部である。
 <1.2:情報記録モジュールの構成>
 一方、図1において、情報記録モジュール2は、アクセスモジュールインタフェース21、CPU22、RAM23、ROM24、不揮発性メモリ25を含む。
 アクセスモジュールインタフェース21は、情報記録モジュール2とアクセスモジュール1との接続部であり、情報記録モジュールインタフェース13同様、制御信号及びデータを送受信するインタフェースである。
 ROM24には、情報記録モジュール2を制御するプログラムが格納されており、このプログラムはRAM23を一時記憶領域として使用し、CPU22上で動作する。
 不揮発性メモリ25は、アクセスモジュール1から送信されたデータを記録する領域であり、不揮発性メモリ25において、記録・再生・保持等されるデータは、FAT型ファイルシステム26により管理されている。すなわち、不揮発性メモリ25内の論理アドレス空間は、図2で示した構成を一例とするFAT型ファイルシステム26によるアドレス空間であり、不揮発性メモリ25に、記録(書き込み)・再生(読み出し)・保持等されるデータは、図2で示した構成を一例とするFAT型ファイルシステム26により定義されるデータ構造を有している。すなわち、不揮発性メモリ25の記録領域は、クラスタ単位に分割され、FAT(305、306)を用いて管理されており、ファイルやディレクトリの名称やサイズ等の情報は、ディレクトリエントリを用いて管理されている。
 本発明では、特許文献2で開示されている拡張ファイルシステムと同様に、ディレクトリエントリ内のタイプフィールドにより種々のディレクトリエントリを規定できる場合を想定している。また、本発明では、1つのファイルに対して複数のディレクトリエントリを割り当て、該当ファイルに関する情報を格納する。
 本発明では、これら一連のディレクトリエントリ群を「エントリシーケンス27」と呼ぶ。
 (1.2.1:エントリシーケンス)
 図1の不揮発性メモリ25内には、エントリシーケンス27の一例が示されている。
 図1に示すように、このエントリシーケンス27は、基本エントリ201、名称エントリ202、エクステント情報エントリ203、更新情報エントリ204、ダミーエントリ205から構成されている。
 各エントリの詳細は後述するが、情報記録システム1000では、エントリシーケンス内にファイルデータ格納領域の位置と大きさの情報を含むエクステント情報エントリ203を1つ以上含ませることにより、シーク処理を高速化する。
 更に、情報記録システム1000では、更新情報エントリ204、ダミーエントリ205を用いることにより、循環シフト型チェックサムを高速に算出することを実現している。
 このように情報記録システム1000では、拡張ファイル処理部104で、エクステント情報エントリ203、更新情報エントリ204、ダミーエントリ205を用いたファイル管理を行う。これにより、情報記録システム1000では、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合において、チェックサム再計算を効率的に行い、かつ、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現する。
 (1.2.2:各ディレクトリエントリの詳細)
 続いて、本発明の第1実施形態における、各ディレクトリエントリの詳細について説明する。本発明の第1実施形態では、ディレクトリエントリは、全て32バイトの固定長である場合を想定している。
 各ディレクトリエントリは、先頭1バイトに「タイプフィールド」を持ち、そのフィールドに設定される値に応じて種々のディレクトリエントリが定義される。
 本実施形態(情報記録システム1000)では、
(1)基本エントリ201、
(2)名称エントリ202、
(3)エクステント情報エントリ203、
(4)更新情報エントリ204、
(5)ダミーエントリ205、
の5種類のディレクトリエントリが存在する。
 上記5種類のディレクトリエントリについて、図6~図10を用いて、以下、説明する。なお、図6~図10に示した図(表)において、「オフセット」欄および「サイズ」欄の単位は、バイトであり、上記5種類のディレクトリエントリは、32バイトの固定長であるものとする。
 ≪(1)基本エントリ201≫
 図6は、基本エントリ201の構成を示す図である。
 基本エントリ201は、ファイルの基本的な情報を格納するディレクトリエントリであり、全てのファイルのエントリシーケンス27に必ず1つずつ含まれるディレクトリエントリである。
 “タイプ”フィールドは、基本エントリ201であることを示す固定値を格納するフィールドである。
 “2次エントリの個数”フィールドは、基本エントリ201に後続する2次エントリの個数を格納するフィールドである。例えば、本フィールドに“10”が格納されていた場合、該当ファイルに対応するエントリシーケンス27は、基本エントリも含めて11個のディレクトリエントリから構成されていることになる。
 “チェックサム”フィールドは、該当エントリシーケンス27の循環シフト型チェックサムの値を格納するフィールドである。本フィールドを設けることにより、1つのファイルに複数のディレクトリエントリを割り当てた場合においてもディレクトリエントリ間の不整合を検出し、ファイルシステムの信頼性を高めることが可能となる。
 例えば、1つのファイルに複数のディレクトリエントリを割り当てる拡張FATファイルシステムにおいて、当該複数のディレクトリエントリのデータが、不揮発性メモリ25の2つのセクタ(または2つのクラスタ)に跨るデータ(セクタ境界のデータ(またはクラスタ境界のデータ))である場合を考える。この場合において、当該複数のディレクトリエントリのデータを不揮発性メモリ25に書き込んでいるときに、一方のセクタ(あるいはクラスタ)でデータ書き込みを完了し、その後、もう一方のセクタ(あるいはクラスタ)にデータ書き込みが完了しない間に、例えば、電源OFF等の事由によりデータ書き込み処理が中断された場合、当該ディレクトリエントリ間の整合がとれないことになる。このような場合、”チェックサム”フィールドのチェックサムにより、ディレクトリエントリ間の不整合を検出することができるので、ファイルシステムの信頼性を高めることができる。
 なお、循環シフト型チェックサムを算出する際には、本フィールド(“チェックサム”フィールド)自体は処理に含めないものとする。
 “属性”フィールドは、読み取り専用属性やシステムファイル属性等のファイル属性を格納するフィールドである。
 “タイムスタンプ”フィールドは、ファイルの作成日時や更新日時等のタイムスタンプを格納するフィールドである。
 “タイムゾーン”フィールドは、タイムスタンプが設定された時点のタイムゾーンを格納するフィールドである。
 “予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は0x00を格納する。
 “開始クラスタ番号”フィールドは、ファイルデータを格納している領域の先頭クラスタ番号を格納するフィールドである。
 “ファイルサイズ”フィールドは、ファイルのサイズを格納するフィールドである。
 ≪(2)名称エントリ202≫
 図7は、名称エントリ202の構成を示す図である。
 名称エントリ202は、ファイルの名称を格納するディレクトリエントリであり、基本エントリ201同様、全てのファイルのエントリシーケンス27に必ず1つずつ含まれるディレクトリエントリである。
 “タイプ”フィールドは、名称エントリ202であることを示す固定値を格納するフィールドである。
 “ファイル名長”フィールドは、ファイル名の長さを格納するフィールドである。
 “名前ハッシュ”フィールドは、ファイル名のハッシュ値を格納するフィールドである。
 “ファイル名”フィールドは、ファイルの名称を格納するフィールドである。
 ≪(3)エクステント情報エントリ203≫
 図8は、エクステント情報エントリ203の構成を示す図である。
 エクステント情報エントリ203は、ファイルデータ格納領域の位置と大きさを示す情報を格納するディレクトリエントリであり、ファイルにより本エントリが存在する場合と存在しない場合があり得る。
 1つのエクステント情報エントリ203は、1つの連続領域に関する情報を格納するため、ファイルが複数の連続領域から構成されている場合には、複数のエクステント情報エントリ203がエントリシーケンス27に含まれることになる。エクステント情報エントリ203は、連続領域の位置と大きさを示す情報を格納するため、連続領域が大きくても32バイトの固定長ディレクトリエントリで位置情報を管理することができる。そのため、ファイルをシークする場合には、FAT(305、306)を参照せず、エクステント情報エントリ203を参照することにより、シーク処理を高速化することが可能となる。
 “タイプ”フィールドは、エクステント情報エントリ203であることを示す固定値を格納するフィールドである。
 “予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は0x00を格納する。
 “開始クラスタ番号”フィールドは、連続領域の先頭クラスタ番号を格納するフィールドである。
 “連続領域サイズ”フィールドは、連続領域の大きさを格納するフィールドである。
 ≪(4)更新情報エントリ204≫
 図9は、更新情報エントリ204の構成を示す図である。
 更新情報エントリ204は、基本エントリ201に存在するフィールドの内、ファイルを上書き、追記する際に更新される情報を格納するディレクトリエントリであり、ファイルによりこの更新情報エントリ204が存在する場合と存在しない場合があり得る。但し、更新情報エントリ204が存在する場合には、更新情報エントリ204は、エントリシーケンス27に1つのみ含まれる。本エントリをエントリシーケンス27内の後方に配置し、基本エントリ201に含まれるフィールドの更新が発生する場合には、本エントリのフィールドのみを更新することにより、最新の更新情報を保持する。
 これにより、基本エントリ201の更新が不要となり、循環シフト型チェックサムを再度基本エントリ201から参照し直して再計算する必要がなくなり、チェックサム算出処理を高速化することが可能となる。
 “タイプ”フィールドは、更新情報エントリ204であることを示す固定値を格納するフィールドである。
 “予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は0x00を格納する。
 “タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドは、基本エントリ201に存在する各フィールドと同様の情報を格納するフィールドである。
 エントリシーケンス27に更新情報エントリ204が存在する場合、基本エントリ201内に存在するこれらのフィールド(“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールド)は使用されず、更新情報エントリ204内に存在するフィールド(“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールド)のみが使用される。
 ≪(5)ダミーエントリ205≫
 図10は、ダミーエントリ205の構成を示す図である。
 ダミーエントリ205は、それ自体には有効なデータを含まず、循環シフト型チェックサムの算出オーバーヘッドを削減するために使用されるディレクトリエントリである。
 “タイプ”フィールドは、ダミーエントリ205であることを示す固定値を格納するフィールドである。
 “0x00パディング”は、循環シフト型チェックサムの算出を容易にするため、0x00を格納する。
 情報記録システム1000では、これら各種ディレクトリエントリを組み合わせて、各ファイルに対応するエントリシーケンス27が構成される。
 続いて、エントリシーケンス27の例について、図11、図12を用いて説明する。
 (1.2.3:通常ファイルのエントリシーケンス27)
 情報記録システム1000において、比較的小さなサイズのファイル(以下、「通常ファイル」という。)を取り扱う場合は、アクセスモジュール1の通常ファイル処理部103により、FAT(305、306)を主に使用して領域管理を行う。
 図11は、「通常ファイル」のエントリシーケンス27の一例を示した図である。
 通常ファイルのエントリシーケンス27には、ファイルの基本的な情報を格納する基本エントリ201、ファイル名を格納する名称エントリ202が存在する。通常ファイルは、ファイルサイズが小さいため、FAT(305、306)を用いてシーク処理を実施しても短時間で処理が終了する。このため、情報記録システム1000において、通常ファイルに対する処理を行う場合、エクステント情報エントリ203は使用しない。したがって、図11に示すように、通常ファイルのエントリシーケンス27にもエクステント情報エントリ203は存在しない。
 (1.2.4:拡張ファイルのエントリシーケンス27)
 また、情報記録システム1000において、比較的大きなサイズのファイル(以下、「拡張ファイル」という。)を取り扱う場合は、アクセスモジュール1の拡張ファイル処理部104により、エクステント情報エントリ203を主に使用して領域管理を行う。
 図12は、「拡張ファイル」のエントリシーケンス27の一例を示した図である。
 拡張ファイルのエントリシーケンス27の先頭には、基本エントリ201、名称エントリ202が存在する。更にその後には、ファイルデータ格納領域の位置と大きさに関する情報を格納するエクステント情報エントリ203が1つ以上存在する。
 また、エクステント情報エントリ203の終端の直後には、更新情報エントリ204が存在し、以降、任意の個数のダミーエントリ205が存在する。
 拡張ファイルは、ファイルサイズが大きいため、FAT(305、306)を用いてシーク処理を実施すると長時間かかる。このため、情報記録システム1000において、拡張ファイルに対する処理を行う場合、エクステント情報エントリ203を用いてシーク処理を実施する。これにより、FAT型ファイルシステムにおいて、シーク処理を高速化することが可能となる。更に、更新情報エントリ204、ダミーエントリ205を使用することにより、循環シフト型チェックサムの算出処理を高速化することが可能となる。
 <1.3:ファイルデータ書き込み処理手順>
 続いて、情報記録システム1000におけるファイルデータ書き込み処理手順について、図13を用いて説明する。情報記録システム1000における書き込み処理手順は、「通常ファイル」と「拡張ファイル」とでは、大きく処理手順が異なる。
 情報記録システム1000における処理手順の詳細は、次の通りである。
 (S1301):
 アクセスモジュール1は、書き込み対象ファイルのエントリシーケンス27を見つけ出し、基本エントリ201、名称エントリ202を情報記録モジュール2から読み出す。
 (S1302):
 アクセスモジュール1は、エントリシーケンス27にエクステント情報エントリ203が含まれるか判定する。エクステント情報エントリ203が含まれない「通常ファイル」の場合、S1303の処理に進む。また、エクステント情報エントリ203が含まれる「拡張ファイル」の場合、S1310の処理に進む。
(通常ファイルの場合の処理):
 (S1303):
 S1302の判定処理において、対象ファイルが「通常ファイル」であると判定された場合、アクセスモジュール1は、FAT(305、306)等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込む処理を情報記録モジュール2に対して指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、実際にファイルデータを、不揮発性メモリ25の空き領域に書き込む。
 この処理は、従来のFAT型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。
 (S1304):
 アクセスモジュール1からの指示により、情報記録モジュール2において、FAT(305、306)等の領域管理情報が更新され、更新された領域管理情報が情報記録モジュール2の不揮発性メモリ25に書き込まれる。
 この処理も、従来のFAT型ファイルシステムにおける領域管理情報更新処理と同様のものである。
 (S1305):
 アクセスモジュール1は、基本エントリ201の“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドをアクセスモジュール1内のRAM12上で更新する。
 (S1306):
 アクセスモジュール1は、基本エントリ201、名称エントリ202を参照し、循環シフト型チェックサムを算出する。
 (S1307):
 アクセスモジュール1は、アクセスモジュール1内のRAM12上において、S1306で算出したチェックサムの値を、基本エントリ201の“チェックサム”のフィールドに格納する。
 (S1308):
 アクセスモジュール1は、情報記録モジュール2に対して、アクセスモジュール1内のRAM12上で更新した基本エントリ201を情報記録モジュール2に書き込むよう指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、アクセスモジュール1内のRAM12上で更新された基本エントリ201を情報記録モジュール2の不揮発性メモリ25に書き込む。
 (S1309):
 アクセスモジュール1は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はS1303の処理に戻る。
(拡張ファイルの場合の処理):
 (S1310):
 一方、S1302の判定処理において、対象ファイルが「拡張ファイル」であると判定された場合、アクセスモジュール1は、エントリシーケンス27の先頭に存在する基本エントリ201から、エクステント情報エントリ203の終端まで参照し、循環シフト型チェックサムの値(C1)を算出する。
 (S1311):
 アクセスモジュール1は、FAT(305、306)等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込む処理を情報記録モジュール2に対して指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、実際にファイルデータを、不揮発性メモリ25の空き領域に書き込む。
 この処理は、従来のFAT型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。
 (S1312):
 アクセスモジュール1は、FAT(305、306)等の領域管理情報を更新し、情報記録モジュール2に書き込む処理を情報記録モジュール2に対して指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、更新された領域管理情報を、不揮発性メモリ25に書き込む。
 この処理も、従来のFAT型ファイルシステムにおける領域管理情報更新処理と同様のものである。
 (S1313):
 アクセスモジュール1は、アクセスモジュール1内のRAM12上において、エントリシーケンス27におけるエクステント情報エントリ203の終端、すなわち、更新情報エントリ204が存在する位置に、新しいエクステント情報エントリ203を追加する。この新しいエクステント情報エントリ203には、S1311で取得した空き領域の位置と大きさを示す情報を格納する。
 (S1314):
 アクセスモジュール1は、アクセスモジュール1内のRAM12上において、現在の更新情報エントリ204を最新のエクステント情報エントリ203の終端の直後に移動する。この際、“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドには、最新の情報を格納する。
 (S1315):
 アクセスモジュール1は、C1の値に、S1313で追加したエクステント情報エントリ203の循環シフト型チェックサムC_extentを加算する(C2)。すなわち、アクセスモジュール1は、
  C2=C1+C_extent
に相当する処理を行う。
 (S1316):
 C2の値に、S1314で更新した更新情報エントリ204の循環シフト型チェックサムC_updateを加算する(C3)。すなわち、アクセスモジュール1は、
  C3=C2+C_update
に相当する処理を行う。
 (S1317):
 エントリシーケンス27に含まれるダミーエントリ205の循環シフト型チェックサムを演算により算出し、算出したチェックサム値C_dummyをC3の値に加算する(C4)。すなわち、アクセスモジュール1は、
  C4=C3+C_dummy
に相当する処理を行う。
 ここで、チェックサムの値が16ビット長である場合、図5の循環シフト型チェックサム算出処理手順を適用すると、
  「C4=C3+(“タイプ”フィールドの値)×ダミーエントリ数」
となることが分かる。これは、ダミーエントリ205のサイズが16の倍数長の32バイトであり、“0x00パディング”フィールドが全て0x00に設定されていることに起因する。すなわち、ダミーエントリ205のサイズが16の倍数長であることから、“タイプ”フィールドの加算すべきビット位置が常に一意に固定されおり、“タイプ”フィールドの値に関する算出処理は、単純に“タイプ”フィールドの値をダミーエントリ数分だけ加算するという処理に置き換えることが出来る。また、“0x00パディング”フィールドが全て0x00であることから、これらの値はチェックサムの値に影響を与えることがない。
 よって、C4を算出する際には、実際に情報記録モジュール2からダミーエントリ205の領域を読み出す必要はなく、先に示したような単純な算術演算により循環シフト型チェックサムを算出することが可能となる。
 なお、図5に示した循環シフト型チェックサム算出処理手順において、チェックサムの値のビット長は、必ずしも、上記のように16ビット長(2バイト長)にする必要はなく、例えば、チェックサムの値のビット長を、8ビット長(1バイト長)にしてもよい。
 (S1318):
 アクセスモジュール1は、アクセスモジュール1内のRAM12上において、S1317で算出したC4の値を、基本エントリ201の“チェックサム”のフィールドに格納する。
 (S1319):
 アクセスモジュール1は、情報記録モジュール2に対して、アクセスモジュール1内のRAM12上で更新した基本エントリ201、S1313で追加したエクステント情報エントリ203、更新情報エントリ204を情報記録モジュール2に書き込むよう指示する。情報記録モジュール2は、アクセスモジュール1の指示に従って、更新した基本エントリ201、S1313で追加したエクステント情報エントリ203、更新情報エントリ204を情報記録モジュール2の不揮発性メモリ25に書き込む。
 (S1320):
 アクセスモジュール1は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はS1321の処理に進む。
 (S1321):
 S1320の判定処理において、全ファイルデータの書き込みが完了していないと判定された場合、C2の値をC1に代入し、S1311の処理に戻る。
 ≪エントリシーケンス27の構造の一例≫
 このような処理手順を実施した場合、ファイルデータを追記する度にエクステント情報エントリ203が増加することになる。その際のエントリシーケンス27の構造の一例を、図14を用いて説明する。
 図14(a)は、ファイルデータ書き込み前の初期状態のエントリシーケンス27の一例を示す。この状態で既に3つの連続領域にファイルデータが書き込まれた状態であり、各々の連続領域は、3つのエクステント情報エントリ203により管理されている。
 図14(b)は、図14(a)の状態にファイルデータを追記した後の状態のエントリシーケンス27の一例を示す。
 この場合、S1310におけるC1の算出時に参照されるディレクトリエントリは、図14(b)に示す5つのディレクトリエントリ(図14(b)において、「C1の算出範囲」として示している5つのディレクトリエントリ)である。
 同様に、C2、C3を算出する際に参照されるディレクトリエントリは、図14(b)に示す各々1つのディレクトリエントリ(図14(b)において、「C2の算出範囲」および「C3の算出範囲」として示しているディレクトリエントリ)である。
 更に、S1317におけるC4の算出時に対象となるディレクトリエントリは、図14(b)に示す2つのディレクトリエントリ(図14(b)において、「C4の算出範囲」として示している2つのディレクトリエントリ)であるが、実際にはこれらのディレクトリエントリを参照する必要はなく、簡単な算術演算によりC4を算出することが可能である。
 また、S1319において情報記録モジュール2に書き込まれるディレクトリエントリは、図14(b)で色付きの領域(背景をグレーにした領域)で示されている3つのディレクトリエントリ(基本ディレクトリエントリ201、エクステント情報エントリ203、更新情報エントリ204)となる。
 図14(c)は、図14(b)の状態に、更に、ファイルデータを追記した後の状態のエントリシーケンス27の一例を示す。
 この場合、S1321において、既にC1(このC1は、図14(b)のC2と同一。)は算出されており、図14(c)の場合において、C2、C3を算出する際に参照されるディレクトリエントリは、図14(c)に示す各々1つのディレクトリエントリ(図14(c)に、「新C2の算出範囲」および「新C3の算出範囲」として示しているディレクトリエントリ)である。
 更に、S1317におけるC4の算出時に対象となるディレクトリエントリは、図14(c)に示す1つのディレクトリエントリ(図14(c)に、「新C4の算出範囲」として示しているディレクトリエントリ)であるが、実際にはこのディレクトリエントリを参照する必要はなく、簡単な算術演算によりC4を算出することが可能である。また、S1319において、情報記録モジュール2に書き込まれるディレクトリエントリは、図14(c)で色付きの領域(背景をグレーにした領域)で示されている3つのディレクトリエントリ(基本ディレクトリエントリ201、エクステント情報エントリ203、更新情報エントリ204)となる。
 すなわち、情報記録システム1000では、図14(b)で示す初回のファイルデータ追記時には、C1、C2、C3の算出のために、合計7つのディレクトリエントリの参照が必要である。
 一方、図14(c)で示すような2回目以降のファイルデータ追記時には、C2、C3の算出のために、合計2つのディレクトリエントリを参照するのみで良い。
 このように、情報記録システム1000におけるファイルデータ書き込み処理では、ファイルデータ追記時の循環シフト型チェックサム算出時に参照が必要なデータ量を削減することができる。その結果、情報記録システム1000では、高速にチェックサムを算出することが可能となる。
 また、図13を用いて説明した処理手順では、基本エントリ201は、“チェックサム”フィールド以外のフィールドを更新していない。これは、更新情報エントリ204を使用していることに加え、ファイル作成時等に予め所定の個数のディレクトリエントリを格納する領域を確保しておき、その領域内の終端付近にはダミーエントリ205を格納しておくことにより、実現している。
 例えば、情報記録システム1000において、ファイル作成時に32個のディレクトリエントリを格納する領域を用意して全体にダミーエントリ205を格納しておき、必要に応じて先頭から順にダミーエントリ205を上書きしていく形で基本エントリ201や名称エントリ202、エクステント情報エントリ203、更新情報エントリ204を格納していく。
 このようにすることで、情報記録システム1000では、基本エントリ201内の“2次エントリの個数”フィールドには、常に“31”の値を格納しておけば良いことになり、基本エントリ201の更新が不要となる。但し、予め用意しておいたダミーエントリ205を全て消費してしまった場合は、新たにディレクトリエントリを格納する領域を確保し、ダミーエントリ205を格納する必要がある。この場合、基本エントリ201内の“2次エントリの個数”フィールドの値が変化するので、この場合に限り、情報記録システム1000では、エントリシーケンス27全体を参照して、循環シフト型チェックサムを再計算する必要が生じる。そのため、このような再計算が頻繁に発生しないよう、情報記録システム1000では、ファイル作成時には、ある程度の大きさのディレクトリエントリ領域を確保しておく。
 以上のように、情報記録システム1000では、情報記録モジュール2の不揮発性メモリ25がFAT型ファイルシステム26で管理されており、1つのファイルに複数のディレクトリエントリが割り当てられる。
 更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、情報記録システム1000において、大きなサイズのファイルを処理対象とする場合、当該大きなサイズのファイルについて、エクステント情報エントリ203により連続領域の位置と大きさを示す情報が管理されている。
 これにより、情報記録システム1000では、FAT型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
 更に、情報記録システム1000では、更新情報エントリ204とダミーエントリ205とを使用することにより、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。
 尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本実施形態で記載された数値は一例であり、他の値を使用しても良い。例えば、ファイル作成時に32個のディレクトリエントリを格納する領域を用意する場合について説明したが、その他の値を用いても良い。
 本実施形態では、情報記録システム1000において、「通常ファイル」と「拡張ファイル」との2種類のファイルを取り扱う場合について説明したが、これに限定されることはなく、例えば、全てのファイルを「拡張ファイル」として取り扱っても良い。
 また、本実施形態で説明した各種ディレクトリエントリの構成は、一例であり、必要に応じてフィールドを追加、修正、削除しても良い。1つのディレクトリエントリに含まれる情報を複数のディレクトリエントリに分割しても良いし、逆に、複数のディレクトリエントリに含まれる情報を1つのディレクトリエントリに含ませても良い。例えば、名称エントリ202に含まれる“ファイル名”フィールドを独立した別のディレクトリエントリに移動させる場合が考えられる。このようにすることで、ファイル名が名称エントリ202に格納可能な28バイトを超えた場合においても、ファイル名のみを格納する独立したディレクトリエントリを複数個、エントリシーケンス27に格納することにより、容易に対応することが可能となる。
 更に、エクステント情報エントリ203に格納する連続領域の位置と大きさを示す情報を、複数の連続領域分格納するように変更することが考えられる。このようにすることで、1ファイル当りのエクステント情報エントリ203の数を削減することが可能であり、情報記録システム1000において、更に効率的に連続領域を管理することが可能となる。
 また、本実施形態で説明したエントリシーケンス27の構成は一例であり、必要に応じて、新たなディレクトリエントリを定義し、エントリシーケンス27に追加しても良いし、その他の変更を加えても良い。
 また、S1311、S1312の処理では、領域管理情報としてFAT(305、306)を用いる場合について説明したが、必ずしもFAT(305、306)を用いる必要はない。
 例えば、FAT(305、306)は、クラスタ間のリンク情報のみを管理するテーブルとして使用し、空き領域管理には、別にアロケーションビットマップを用いる場合においては、S1311、S1312の処理でアロケーションビットマップのみを使用し、FAT(305、306)を使用する必要はない。すなわち、FAT(305、306)が管理するリンク情報は、エクステント情報エントリ203で管理されるため、これらの処理においてFAT(305、306)を使用する必要はない。
 また、図13の処理手順では、拡張ファイルへのデータ書き込み時において、空き領域を取得する度にエクステント情報エントリ203を追加する場合について説明した。
 しかしながら、S1311で取得した空き領域が、現在の書き込みデータの直前のファイルデータを格納した領域と連続している領域の場合、必ずしもエクステント情報エントリ203を追加する必要はない。
 例えば、フォーマット直後の状態において、1つのファイルを追記し続ける場合等は、連続した領域を確保し続けることができるため、エクステント情報エントリ203は、常に1つしか存在せず、その1つのエクステント情報エントリ203で全ファイルデータの格納領域の位置と大きさを示すことができる。
 また、上記では、循環シフト型チェックサムによりディレクトリエントリの信頼性を高める場合について説明したが、これに限定されることはなく、例えば、CRC、ハッシュ値(ハッシュ関数)など、循環シフト型チェックサム以外の方法を用いても良い。
 また、基本エントリ201の“2次エントリの個数”フィールドが1バイトである例について説明したが、この場合、エントリシーケンス27の大きさは最大でも256個のディレクトリエントリとなる。フィールドを2バイトに拡張して、より多くのディレクトリエントリをエントリシーケンス27に含められるようにしても良いが、その他の方法として、複数のエントリシーケンス27を接続して、1つのファイルの管理情報を格納する方法が考えられる。
 この場合、例えば、図15に示すような接続エントリ206を定義し、図16に示すようなエントリシーケンス27の構成を採るようにしても良い。
 図16において、基本エントリ201内の“2次エントリの個数”フィールドは、“255”に設定されており、基本エントリ201内の“チェックサム”フィールドには、先頭256エントリ分のチェックサムが保持される。257番目のディレクトリエントリには、接続エントリ206が格納され、直前のエントリシーケンス27がまだ継続していることを示す。このように256エントリ毎に接続エントリ206を挿入することにより、1ファイルに割り当てられるディレクトリエントリの個数を増加させることが可能となる。
 [第2実施形態]
 続いて、本発明の第2実施形態について説明する。
 図17は、第2実施形態に係る情報記録システム2000の構成図である。図17に示すように、情報記録システム2000は、アクセスモジュール1と、情報記録モジュール2と、を備える。
 本実施形態の情報記録システム2000(図17参照)は、第1実施形態の情報記録システム1000(図1参照)とは、情報記録モジュール2内の不揮発性メモリ25に構築されているFAT型ファイルシステム26内の構成が異なる。それ以外については、情報記録システム2000は、情報記録システム1000とは同様であるので、詳細な説明は省略する。
 第1実施形態の情報記録システム1000では、エントリシーケンス27内に、エクステント情報エントリ203、更新情報エントリ204、ダミーエントリ205が存在していたが、第2実施形態の情報記録システム2000では、これらのエントリは、エントリシーケンス27内には存在せず、代わりにエクステント領域指定エントリ207が追加されている。第2実施形態の情報記録システム2000では、エクステント情報エントリ203を直接エントリシーケンス27内に格納するのではなく、任意のクラスタを割り当てて、その中に格納するようにする。
 このようにすることにより、情報記録システム2000では、エントリシーケンス27の大きさが増加することを防止することができ、循環シフト型チェックサムを高速に算出することが可能となる。
 ≪エクステント領域指定エントリ207の構成≫
 図18は、エクステント領域指定エントリ207の構成を示す図である。
 エクステント領域指定エントリ207は、該当ファイルのエクステント情報エントリ203を格納する領域の位置を示す情報を格納するディレクトリエントリである。
 “タイプ”フィールドは、エクステント領域指定エントリ207であることを示す固定値を格納するフィールドである。
 “予約”フィールドは、今後の拡張性のために予約されているフィールドであり、通常は0x00を格納する。
 “開始クラスタ番号”フィールドは、エクステント情報エントリ203を格納する任意のクラスタ領域の先頭クラスタ番号を格納するフィールドである。
 “エクステント領域サイズ”フィールドは、上記領域全体の大きさを格納するフィールドである。
 本実施形態の情報記録システム2000では、エントリシーケンス27は、基本エントリ201、名称エントリ202、エクステント領域指定エントリ207から構成される。
 エクステント情報エントリ203は、エクステント領域指定エントリ207で示される任意のクラスタ内に格納されるため、エントリシーケンス27には含まれない。その結果、情報記録システム2000では、エントリシーケンス27の大きさが小さく抑えられ、循環シフト型チェックサムの算出を高速に行うことが可能となる。そのため、タイムスタンプやファイルサイズ等の情報は、直接基本エントリ201を更新することにより実施され、更新情報エントリ204は、不要となる。
 更に、情報記録システム2000では、ファイルデータの書き込みによりエントリシーケンス27の大きさが変化しないことから、ダミーエントリ205も不要となる。
 ≪ファイルデータ書き込み処理手順≫
 続いて、情報記録システム2000におけるファイルデータ書き込み処理手順について、図19を用いて説明する。
 図19の処理手順は、図13で説明した処理手順と同様に、「通常ファイル」と「拡張ファイル」によって、処理内容が異なる。
 (S1901):
 アクセスモジュール1は、書き込み対象ファイルのエントリシーケンス27を見つけ出し、基本エントリ201、名称エントリ202を情報記録モジュール2から読み出す。
 (S1902):
 アクセスモジュール1は、エクステント領域指定エントリ207を参照し、エクステント領域28にエクステント情報エントリ203が含まれているか否かを判定する。
 エクステント領域28にエクステント情報エントリ203が含まれない「通常ファイル」の場合、S1903の処理に進む。また、エクステント領域28にエクステント情報エントリ203が含まれる「拡張ファイル」の場合、S1910の処理に進む。
 なお、「通常ファイル」に対する処理であるS1903以降の処理は、図13で説明した処理手順と同様であるため、説明を省略する。
(拡張ファイルの場合の処理):
 (S1910):
 S1902の判定処理において、対象ファイルが「拡張ファイル」であると判定された場合、アクセスモジュール1は、情報記録モジュール2に対して、FAT(305、306)等の領域管理情報を参照し、空き領域を取得し、実際にファイルデータを空き領域に書き込むよう指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、実際にファイルデータを、不揮発性メモリ25の空き領域に書き込む
 この処理は、従来のFAT型ファイルシステムにおける空き領域取得、データ書き込み処理と同様のものである。
 (S1911):
 アクセスモジュール1は、FAT(305、306)等の領域管理情報を更新し、情報記録モジュール2に書き込む処理を情報記録モジュール2に対して指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、更新された領域管理情報を、不揮発性メモリ25に書き込む。
 この処理も、従来のFAT型ファイルシステムにおける領域管理情報更新処理と同様のものである。
 (S1912):
 アクセスモジュール1は、基本エントリ201の“タイムスタンプ”、“タイムゾーン”、“ファイルサイズ”フィールドをアクセスモジュール1内のRAM12上で更新する。
 (S1913):
 アクセスモジュール1は、情報記録モジュール2に対して、エクステント情報エントリ203をエクステント領域28として割り当てられている任意のクラスタ内に追加し、情報記録モジュール2に書き込むよう指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、エクステント情報エントリ203をエクステント領域28として割り当てられている任意のクラスタ内に追加し、情報記録モジュール2に書き込む。
 ここで、エクステント情報エントリ203には、S1910で取得した空き領域の位置と大きさを示す情報を格納する。
 また、エクステント情報エントリ203の追加によりエクステント領域28の大きさが変化するため、アクセスモジュール1は、エクステント領域指定エントリ207の“エクステント領域サイズ”フィールドをアクセスモジュール1内のRAM12上で更新する。
 (S1914):
 アクセスモジュール1は、基本エントリ201、名称エントリ202、エクステント領域指定エントリ207を参照し、循環シフト型チェックサムを算出する。
 (S1915):
 アクセスモジュール1は、アクセスモジュール1内のRAM12上において、S1914で算出したチェックサムの値を、基本エントリ201の“チェックサム”のフィールドに格納する。
 (S1916):
 アクセスモジュール1は、情報記録モジュール2に対して、アクセスモジュール1内のRAM12上で更新した基本エントリ201、エクステント領域指定エントリ207を情報記録モジュール2に書き込むよう指示する。情報記録モジュール2は、アクセスモジュール1の指示に従い、更新された基本エントリ201、エクステント領域指定エントリ207を情報記録モジュール2の不揮発性メモリ25に書き込む。
 (S1917):
 アクセスモジュール1は、書き込み対象の全ファイルデータの書き込みが完了したか否かを判定する。書き込みが完了した場合は処理を終了し、完了していない場合はS1910の処理に戻る。
 このように、情報記録システム2000では、拡張ファイルにおいて任意のクラスタをエクステント領域28として割り当て、その領域にエクステント情報エントリ203を格納することにより、該当ファイルのエントリシーケンス27の大きさが増加することを防止し、循環シフト型チェックサムの算出オーバーヘッドを削減することが可能となる。
 以上のように、情報記録システム2000では、情報記録モジュール2の不揮発性メモリ25がFAT型ファイルシステム26で管理されており、1つのファイルに複数のディレクトリエントリが割り当てられる。
 更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、情報記録システム2000において、大きなサイズのファイルを処理対象とする場合、当該大きなサイズのファイルについて、エクステント情報エントリ203により連続領域の位置と大きさを示す情報が管理されている。
 これにより、情報記録システム2000では、FAT型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
 更に、情報記録システム2000では、任意のクラスタをエクステント領域28として該当ファイルに割り当て、その中にエクステント情報エントリ203を格納する。
 これにより、エントリシーケンス27の大きさが増加することを防止し、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。
 尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本発明の第1実施形態で記載された種々の変形例を本発明の第2実施形態に適用しても良い。
 また、本発明の第2実施形態では、エクステント領域28に、エクステント情報エントリ203を格納する場合の例について説明した。しかしながら、エクステント領域28は、エントリシーケンス27が格納される通常のディレクトリ領域とは異なる領域である。そのため、エクステント領域28は、エントリシーケンス27と同様にエントリを取り扱う必要がなく、必ずしも32バイトのエントリの形式を取る必要はない。
 例えば、4バイトの開始クラスタ番号と、8バイトのエクステント領域サイズのみから構成される12バイトのエントリを1つの単位として、エクステント領域28に複数のエントリが詰めて格納されるような構成としても良い。
 また、エクステント領域指定エントリ207内の“エクステント領域サイズ”のフィールドを削除し、その他の方法でエクステント領域の終端を検出しても良い。
 例えば、基本エントリ201の“ファイルサイズ”フィールドで、該当ファイルのサイズを認識し、その値とエクステント領域28に格納されているエクステント情報エントリ203の“連続領域サイズ”フィールドとの総和を比較し、“ファイルサイズ”と同じサイズに総和が達した時点で、エクステント領域28が終端されていることを検出するようにしても良い。
 また、情報記録システム2000において、エクステント領域28のデータ書き込みされていない領域(実体データが存在しない領域)に、データ”0x00”を書き込んでおき(いわゆる、0スタッフィング(0パッディング)処理をしておき)、エクステント領域28において、順次、書き込まれているデータ値をチェックしていき、データ値が”0x00”である領域が出現した位置の直前が、エクステント領域28の終端位置(実体データが書き込まれている領域の終端位置)であると検出するようにしても良い。
 [他の実施形態]
 なお、上記実施形態で説明したアクセスモジュール(アクセス装置)、情報記録モジュール(情報記録装置)、及び情報記録システムにおいて、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
 なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
 さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
 また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係るアクセスモジュール(アクセス装置)、情報記録モジュール(情報記録装置)、及び情報記録システムをハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
 なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
 [付記]
 なお、本発明は、次のように表現することも可能である。
(付記1)
 ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、
 前記ファイルデータを固定長ブロック単位で管理し、1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
 前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
 ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を用いて、前記ファイルの管理を行うファイルシステム制御部
を備えるアクセス装置。
(付記2)
 前記エントリ群は、内部に前記エクステント情報エントリを含む、
 付記1に記載のアクセス装置。
(付記3)
 前記ファイルシステム制御部は、
 前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを、前記エントリ群に追加する、
 付記2に記載のアクセス装置。
(付記4)
 前記ファイルシステム制御部は、
 ファイルが作成される際に、所定の個数のエントリを含むエントリ群を構成し、
 前記エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリを格納する、
 付記3に記載のアクセス装置。
(付記5)
 前記ファイルシステム制御部は、
 前記ダミーエントリにおいて、前記ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値を格納する、
 付記4に記載のアクセス装置。
(付記6)
 前記ファイルシステム制御部は、
 前記エントリ群に
 前記エクステント情報エントリを追加する際に、前記ダミーエントリを削除し、前記エントリ群全体の大きさを変化させない、
 付記5に記載のアクセス装置。
(付記7)
 前記ファイルシステム制御部は、
 前記エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを、前記エクステント情報エントリの後ろに格納する、
 付記3に記載のアクセス装置。
(付記8)
 前記ファイルシステム制御部は、
 前記エントリ群に前記エクステント情報エントリを追加する際には、前記更新情報エントリの格納位置を後方にずらす、
 付記7に記載のアクセス装置。
(付記9)
 前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
 付記2に記載のアクセス装置。
(付記10)
 前記ファイルシステム制御部は、
 前記エクステント情報エントリが追加される際に、追加される前記エクステント情報エントリ、及び、前記更新情報エントリに基づいた演算と、
 前記エントリ群に含まれる前記ダミーエントリの個数を元にした演算と、で前記循環シフト型チェックサムを算出する、
 付記9に記載のアクセス装置。
(付記11)
 前記ファイルシステム制御部は、
 ファイルにアクセスする場合、
 前記ファイルに対応する前記エントリ群が前記エクステント情報エントリを含むときは、前記エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行う拡張ファイル処理部と、
 前記ファイルに対応する前記エントリ群が前記エクステント情報エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う通常ファイル処理部と、
備える、
 付記1から10のいずれかに記載のアクセス装置。
(付記12)
 ファイルデータを格納する不揮発性メモリを含む情報記録装置であって、
 前記ファイルデータは、固定長ブロック単位で管理されており、
 前記不揮発性メモリには、
 1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
 前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
 ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリから構成されるエントリ群であって、前記ファイルに関連するエントリ群のチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を格納する、
 情報記録装置。
(付記13)
 前記エントリ群は、内部に前記エクステント情報エントリを含む、
 付記12に記載の情報記録装置。
(付記14)
 前記エントリ群は、
 前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを追加する構成である、
 付記13に記載の情報記録装置。
(付記15)
 前記エントリ群は、
 ファイルが作成される際に、所定の個数のエントリを含む構成であり、
 前記エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリが格納される、
 付記14に記載の情報記録装置。
(付記16)
 前記ダミーエントリは、
 前記ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値が格納される、
 付記15に記載の情報記録装置。
(付記17)
 前記エントリ群は、
 前記エクステント情報エントリが追加される際には、前記ダミーエントリを削除することで、前記エントリ群全体の大きさが変化しない構成である、
 付記16に記載の情報記録装置。
(付記18)
 前記エントリ群は、
 前記エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを前記エクステント情報エントリの後ろに格納する構成である、
 付記14に記載の情報記録装置。
(付記19)
 前記エントリ群は、
 前記エクステント情報エントリが追加される際には、前記更新情報エントリの格納位置を後方にずらす構成である、
 付記18に記載の情報記録装置。
(付記20)
 前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
 付記12に記載の情報記録装置。
(付記21)
 ファイルデータを格納する不揮発性メモリを含む情報記録装置と、前記情報記録装置にアクセスするアクセス装置と、備える情報記録システムであって、
 前記ファイルデータを、固定長ブロック単位で管理し、
 前記不揮発性メモリには、
 1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
 前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
 ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
を格納し、
 前記アクセス装置は、
 前記不揮発性メモリ内に格納された情報を用いて前記不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える、
 情報記録システム。
(付記22)
 前記エクステント情報エントリは、前記エントリ群の内部に格納される、
 付記21に記載の情報記録システム。
(付記23)
 付記1から11のいずれかに記載のアクセス装置と、
 付記12から22のいずれかに記載の情報記録装置と、
を備える情報記録システム。
(付記24)
 ファイルデータを格納する不揮発性メモリを用いるファイル管理方法であって、
 前記ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
 前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
 ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含むエントリ群と、
を用いて、前記ファイルの管理を行う、
 ファイル管理方法。
(付記25)
 付記24に記載のファイル管理方法をコンピュータに実行させるプログラム。
 [付記の内容]
 第1の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、用いてファイルの管理を行うファイルシステム制御部を備える。
 エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理し、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。
 このアクセス装置では、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
 したがって、このアクセス装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、このアクセス装置では、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
 さらに、このアクセス装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
 なお、「アクセス装置」は、アクセスモジュールを含む概念である。
 第2の発明は、第1の発明であって、エントリ群は、内部にエクステント情報エントリを含む。
 第3の発明は、第2の発明であって、ファイルシステム制御部は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを、エントリ群に追加する。
 第4の発明は、第3の発明であって、ファイルシステム制御部は、ファイルが作成される際に、所定の個数のエントリを含むエントリ群を構成し、エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリを格納する。
 第5の発明は、第4の発明であって、ファイルシステム制御部は、ダミーエントリにおいて、ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値を格納する。
 これにより、アクセス装置でのチェックサムの算出処理を高速化することができる。
 なお、「所定の値」は、例えば、”0x00”である。これにより、チェックサムの算出処理を簡略化することができる。
 第6の発明は、第5の発明であって、ファイルシステム制御部は、エントリ群に、エクステント情報エントリを追加する際には、ダミーエントリを削除し、エントリ群全体の大きさを変化させない。
 このアクセス装置では、エントリ群全体の大きさが変化しないので、アクセス装置でのチェックサムの算出処理の対象となる領域が固定となる。その結果、アクセス装置でのチェックサムの算出処理を高速化することができる。
 第7の発明は、第3の発明であって、ファイルシステム制御部は、エントリ群において、エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリを、エクステント情報エントリの後ろに格納する。
 このアクセス装置では、更新情報エントリが、エクステント情報エントリの後ろに格納されるので、更新エントリより前の領域におけるデータがほとんど変化しない。そのため、このアクセス装置では、効率良くチェックサムの算出処理を行うことができる。
 なお、「後ろに格納する」とは、論理アドレス空間において、後段の論理アドレス位置に格納することを意味する。したがって、上記では、エクステント情報エントリが格納されている論理アドレス空間領域に続く論理アドレス空間領域に、更新情報エントリが格納されることになる。
 第8の発明は、第7の発明であって、ファイルシステム制御部は、エントリ群に、エクステント情報エントリを追加する際には、更新情報エントリの格納位置を後方にずらす。
 なお、「後方にずらす」とは、論理アドレス空間において、領域を後方にずらすという意味である。
 第9の発明は、第2の発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
 このアクセス装置では、循環シフト型チェックサムによりチェックサム演算処理が行われるので、単純なチェックサムによりチェックサム演算処理を行う場合に比べて、エントリ間の不整合をより高精度に検出することができる。
 第10の発明は、第9の発明であって、ファイルシステム制御部は、エクステント情報エントリが追加される際に、追加されるエクステント情報エントリ、及び、更新情報エントリに基づいた演算と、エントリ群に含まれるダミーエントリの個数を元にした演算と、で、循環シフト型チェックサムを算出する。
 第11の発明は、第1から第10のいずれかの発明であって、ファイルシステム制御部は、拡張ファイル処理部と、通常ファイル処理部と、を備える。
 ファイルにアクセスする場合、拡張ファイル処理部は、ファイルに対応するエントリ群がエクステント情報エントリを含むときは、エクステント情報エントリに基づいて、ファイルに対するアクセス制御を行う。
 ファイルにアクセスする場合、通常ファイル処理部は、ファイルに対応するエントリ群がエクステント情報エントリを含まないときは、ファイルアロケーションテーブルに基づいて、ファイルに対するアクセス制御を行う。
 第12の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置である。不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、が格納される。
 ファイルデータは、固定長ブロック単位で管理されている。
 エクステント情報エントリは、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリから構成されるエントリ群であって、ファイルに関連するエントリ群のチェックサムに関する情報を当該エントリ群の内部に含む。
 この情報記録装置では、例えば、アクセス装置から制御されることで、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
 したがって、この情報記録装置では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録装置を用いることで、エクステント情報エントリによりファイル管理を行うことができ、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
 さらに、この情報記録装置では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
 なお、「情報記録装置」は、情報記録モジュールを含む概念である。
 第13の発明は、第12の発明であって、エントリ群は、内部にエクステント情報エントリを含む。
 第14の発明は、第13の発明であって、エントリ群は、ファイルのデータを格納する独立した連続領域が増加する度に、連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリを追加することができる構成である。
 第15の発明は、第14の発明であって、エントリ群は、エントリ群に対応するファイルが作成される際に、所定の個数のエントリを含むように構成され、エントリ群の中で有効な情報を格納していないエントリには、所定の形式のダミーエントリが格納される。
 第16の発明は、第15の発明であって、ダミーエントリは、ダミーエントリであることを示す識別子を格納するフィールド以外の全ての領域に、所定の値が格納される。
 第17の発明は、第16の発明であって、エントリ群は、エクステント情報エントリが追加される際には、ダミーエントリを削除することにより、エントリ群全体の大きさが変化しないように構成される。
 第18の発明は、第14の発明であって、エントリ群は、エントリ群に対応するファイルの大きさやタイムスタンプに関する情報を格納する更新情報エントリをエクステント情報エントリの後ろに格納するように構成される。
 第19の発明は、第18の発明であって、エントリ群は、エクステント情報エントリが追加される際には、更新情報エントリの格納位置が後方にずれるように構成される。
 第20の発明は、第12の発明であって、チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である。
 第21の発明は、ファイルデータを格納する不揮発性メモリを含む情報記録装置と、情報記録装置にアクセスするアクセス装置と、備える情報記録システムである。
 ファイルデータは、固定長ブロック単位で管理される。
 不揮発性メモリには、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を格納することができる。
 エクステント情報エントリは、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報と、内部に含む。
 アクセス装置は、不揮発性メモリ内に格納された情報を用いて不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部を備える。
 この情報記録システムでは、ファイルシステム制御部により、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
 したがって、この情報記録システムでは、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、この情報記録システムでは、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
 さらに、この情報記録システムでは、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このアクセス装置が扱うファイルシステムの信頼性を高めることも可能となる。
 第22の発明は、第21の発明であって、エクステント情報エントリは、エントリ群の内部に格納される。
 第23の発明は、第1から第11のいずれかの発明であるアクセス装置と、第12から第22のいずれかの発明である情報記録装置と、を備える情報記録システムである。
 第24の発明は、ファイルデータを格納する不揮発性メモリを用いるファイル管理方法である。このファイル管理方法は、エクステント情報エントリと、ファイルアロケーションテーブルと、エントリ群と、を用いて、ファイルの管理を行う。
 エクステント情報エントリは、ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、1つ以上の固定長ブロックから構成される連続領域の管理情報として、少なくとも連続領域の位置と大きさを特定するための情報を含む。ファイルアロケーションテーブルは、固定長ブロック間のリンク関係を示す情報を管理する。エントリ群は、ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、1つ以上の固定長エントリのチェックサムに関する情報を当該エントリ群の内部に含む。
 このファイル管理方法では、エクステント情報エントリとファイルアロケーションテーブル(FAT)との両方で、ファイル管理を行うことができる。
 したがって、このファイル管理方法では、例えば、エクステント情報エントリにより管理されるサイズの大きなファイル(拡張ファイル)と、それ以外の通常ファイルとを効率良く管理することができる。また、このファイル管理方法では、エクステント情報エントリによりファイル管理を行うことができるので、FAT型ファイルシステムの弱点であるシーク処理の高速化を実現することができる。
 さらに、このファイル管理方法では、エントリ群に、ファイルに関連するエントリ群のチェックサムに関する情報が含まれているので、エントリ間の不整合を検出することができる。その結果、このファイル管理方法が扱うファイルシステムの信頼性を高めることも可能となる。
 第25の発明は、第24の発明であるファイル管理方法をコンピュータに実行させるプログラムである。
 これにより、第24の発明と同様の効果を奏するプログラムを実現することができる。
 本発明に係る情報記録モジュール2の不揮発性メモリ25は、FAT型ファイルシステム26で管理されており、1つのファイルに複数のディレクトリエントリが割り当てられる。
 更に、その複数のディレクトリエントリは、循環シフト型チェックサムにより信頼性が確保されており、大きなサイズのファイルを扱う場合、エクステント情報エントリ203により連続領域の位置と大きさを示す情報を管理する。これにより、本発明の情報記録システムでは、FAT型ファイルシステムの弱点であるシーク処理を高速化することが可能となる。
 更に、本発明の情報記録システムでは、更新情報エントリ204とダミーエントリ205を使用する、あるいは、エクステント領域指定エントリ207を使用することにより、ファイルデータ書き込み時の循環シフト型チェックサムの再計算オーバーヘッドを削減し、高速化することが可能となる。このような情報記録システムを構成するアクセスモジュール1は、音楽や静止画、動画などのデジタルコンテンツを取り扱う機器、とりわけ1ファイルのサイズが大きなコンテンツを取り扱う機器に最適であり、PCアプリケーション、オーディオレコーダ、DVDレコーダ、HDDレコーダ、ムービー、デジタルスチルカメラ、携帯電話端末等として利用することができる。
 また、本発明の情報記録モジュール2は、上記デジタルコンテンツなどを格納するメモリカードなどのリムーバブルメディア、あるいは内蔵記録装置等として利用することができる。
 

Claims (17)

  1.  ファイルデータを格納する不揮発性メモリを含む情報記録装置にアクセスするアクセス装置であって、
     前記ファイルデータを固定長ブロック単位で管理し、1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
     前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
     ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
    を用いて、前記ファイルの管理を行うファイルシステム制御部
    を備え、
     前記ファイルシステム制御部は、
     前記エクステント情報エントリを、前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納する、
     アクセス装置。
  2.  前記エントリ群は、
     前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む、
     請求項1に記載のアクセス装置。
  3.  前記ファイルシステム制御部は、
     前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリを、前記エクステント領域に追加する、
     請求項2に記載のアクセス装置。
  4.  前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと同一バイト長である、
     請求項3に記載のアクセス装置。
  5.  前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと異なるバイト長である、
     請求項3に記載のアクセス装置。
  6.  前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
     請求項1から5のいずれかに記載のアクセス装置。
  7.  前記ファイルシステム制御部は、
     ファイルにアクセスする場合、
     前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含むときは、前記エクステント領域指定エントリおよび前記エクステント領域用エクステント情報エントリに基づいて、前記ファイルに対するアクセス制御を行う拡張ファイル処理部と、
     前記ファイルに対応する前記エントリ群が前記エクステント領域指定エントリを含まないときは、前記ファイルアロケーションテーブルに基づいて、前記ファイルに対するアクセス制御を行う通常ファイル処理部と、
    備える、
     請求項1から6のいずれかに記載のアクセス装置。
  8.  ファイルデータを格納する不揮発性メモリを含む情報記録装置であって、
     前記ファイルデータを、固定長ブロック単位で管理し、
     前記不揮発性メモリには、
     1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
     前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
     ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
    を格納し、
     前記エクステント情報エントリは、
     前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納される、
     情報記録装置。
  9.  前記エントリ群は、
     前記エクステント領域の位置と大きさを特定するための情報を含むエクステント領域指定エントリを含む、
     請求項8に記載の情報記録装置。
  10.  前記エクステント領域は、
     前記ファイルのデータを格納する独立した連続領域が増加する度に、前記連続領域の位置と大きさを特定するための情報を含むエクステント領域用エクステント情報エントリが追加される構成である、
     請求項9に記載の情報記録装置。
  11.  前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと同一バイト長である、
     請求項10に記載の情報記録装置。
  12.  前記エクステント領域用エクステント情報エントリのバイト長は、前記エントリ群に含まれるエントリと異なるバイト長である、
     請求項10に記載の情報記録装置。
  13.  前記チェックサムに関する情報は、循環シフト型チェックサムによる算出結果を含む情報である、
     請求項8から12のいずれかに記載に記載の情報記録装置。
  14.  ファイルデータを格納する不揮発性メモリを含む情報記録装置と、前記情報記録装置にアクセスするアクセス装置と、備える情報記録システムであって、
     前記ファイルデータを、固定長ブロック単位で管理し、
     前記不揮発性メモリには、
     1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
     前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
     ファイルごとに生成され、ファイルの名称やサイズ等の管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報と、を内部に含むエントリ群と、
    を格納し、
     前記アクセス装置は、
     前記不揮発性メモリ内に格納された情報を用いて前記不揮発性メモリ内に格納されたファイルの管理を行うファイルシステム制御部
    を備え、
     前記エクステント情報エントリは、
     前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納される、
     情報記録システム。
  15.  請求項1から7のいずれかに記載のアクセス装置と、
     請求項8から13のいずれかに記載の情報記録装置と、
    を備える情報記録システム。
  16.  ファイルデータを格納する不揮発性メモリを用いるファイル管理方法であって、
     前記ファイルデータを固定長ブロック単位で管理するためのエクステント情報エントリであって、1つ以上の前記固定長ブロックから構成される連続領域の管理情報として、少なくとも前記連続領域の位置と大きさを特定するための情報を含むエクステント情報エントリと、
     前記固定長ブロック間のリンク関係を示す情報を管理するファイルアロケーションテーブルと、
     ファイルごとに生成され、ファイルの名称やサイズの情報を含む管理情報を格納する1つ以上の固定長エントリと、前記1つ以上の固定長エントリのチェックサムに関する情報を内部に含むエントリ群と、
    を用いて、前記ファイルの管理を行うファイル管理方法であって、
     前記エクステント情報エントリを、前記エントリ群の外部の領域であり、任意の前記固定長ブロックから構成されるエクステント領域内に格納する、
     ファイル管理方法。
  17.  請求項16に記載のファイル管理方法をコンピュータに実行させるプログラム。
     
     
PCT/JP2009/001535 2008-04-04 2009-04-01 アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム WO2009122743A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP09728228.9A EP2261803B1 (en) 2008-04-04 2009-04-01 Access device, information recording device, information recording system, file management method, and program
CN200980112166.XA CN101983376B (zh) 2008-04-04 2009-04-01 访问装置、信息记录装置、信息记录系统、文件管理方法和程序
US12/934,334 US8019800B2 (en) 2008-04-04 2009-04-01 Access device, information recording device, information recording system, file management method, and program
JP2010505400A JP4691209B2 (ja) 2008-04-04 2009-04-01 アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
US13/204,323 US20110302225A1 (en) 2008-04-04 2011-08-05 Access device, information recording device, information recording system, file management method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-097724 2008-04-04
JP2008097724 2008-04-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/204,323 Continuation US20110302225A1 (en) 2008-04-04 2011-08-05 Access device, information recording device, information recording system, file management method, and program

Publications (1)

Publication Number Publication Date
WO2009122743A1 true WO2009122743A1 (ja) 2009-10-08

Family

ID=41135143

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/001535 WO2009122743A1 (ja) 2008-04-04 2009-04-01 アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム

Country Status (5)

Country Link
US (2) US8019800B2 (ja)
EP (1) EP2261803B1 (ja)
JP (2) JP4691209B2 (ja)
CN (1) CN101983376B (ja)
WO (1) WO2009122743A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011058700A1 (ja) * 2009-11-11 2011-05-19 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
WO2018186455A1 (ja) * 2017-04-07 2018-10-11 パナソニックIpマネジメント株式会社 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4881469B1 (ja) * 2010-09-22 2012-02-22 株式会社東芝 情報処理装置、及び情報処理方法
US8972747B2 (en) * 2011-01-26 2015-03-03 Hewlett-Packard Development Company, L.P. Managing information in a document serialization
KR102050725B1 (ko) * 2012-09-28 2019-12-02 삼성전자 주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법
EP2960801B1 (en) 2013-02-20 2018-07-18 Panasonic Intellectual Property Management Co., Ltd. Wireless access device and wireless access system
JP6191022B2 (ja) 2013-02-20 2017-09-06 パナソニックIpマネジメント株式会社 アクセス装置、情報記録装置およびアクセスシステム
JP6488467B2 (ja) * 2015-07-01 2019-03-27 パナソニックIpマネジメント株式会社 通信システム、記録装置、および通信方法
JP6253752B1 (ja) * 2016-11-29 2017-12-27 株式会社東芝 階層化ストレージシステム
JP7262977B2 (ja) * 2018-11-08 2023-04-24 キヤノン株式会社 記録装置及びその制御方法、並びにプログラム
CN109669640B (zh) * 2018-12-24 2023-05-23 浙江大华技术股份有限公司 一种数据存储方法、装置、电子设备及介质
CN112800007B (zh) * 2021-01-28 2022-06-14 上海华元创信软件有限公司 适用于fat32文件系统的目录项扩展方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200207A (ja) * 1998-10-30 2000-07-18 Sony Corp 階層管理ファイル装置及びこれを具備した電子機器
JP2004192661A (ja) * 2001-11-20 2004-07-08 Matsushita Electric Ind Co Ltd 音声/映像情報記録再生装置および方法
WO2004109691A1 (ja) * 2003-06-04 2004-12-16 Matsushita Electric Industrial Co., Ltd. 情報記録方法、情報記録システム、ドライブ制御ユニットおよび半導体集積回路
JP2005222525A (ja) * 2004-01-08 2005-08-18 Victor Co Of Japan Ltd ファイルシステムの検査データ記録方法及びデータ変更検出方法
JP2005222483A (ja) * 2004-02-09 2005-08-18 Mitsubishi Electric Corp 情報記録装置
JP2006172485A (ja) 2004-12-17 2006-06-29 Microsoft Corp 拡張ファイルシステム
JP2006178632A (ja) 2004-12-21 2006-07-06 Sony Corp 情報処理装置、情報処理方法、プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997017652A1 (fr) * 1995-11-10 1997-05-15 Sony Corporation Appareil et procede de traitement d'informations
JP2000148550A (ja) 1998-11-18 2000-05-30 Victor Co Of Japan Ltd ファイルの領域管理方法及び空き領域管理方法
TW463107B (en) * 1998-12-22 2001-11-11 Ibm Extended card file system
US6895418B1 (en) * 1999-04-28 2005-05-17 Emc Corporation Versatile indirection in an extent based file system
EP1049029A3 (en) 1999-04-28 2003-07-09 Emc Corporation File systems with versatile indirection
US6654772B1 (en) * 1999-04-28 2003-11-25 Emc Corporation Multi-volume extent based file system
EP1498810B1 (en) * 1999-10-21 2018-12-26 Panasonic Corporation A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
CN1589475B (zh) * 2001-11-20 2010-06-23 松下电器产业株式会社 声音/视频信息记录再生装置和方法
US20050013583A1 (en) * 2001-11-20 2005-01-20 Masanori Itoh Audio/video information recording/reproducing apparatus and method, and recording medium in which information is recorded by using the audio/video information recording/reproducing apparatus and method
US20050152251A1 (en) * 2004-01-08 2005-07-14 Victor Company Of Japan, Ltd. Method and apparatus for recording check data of file system on recording medium
US7440966B2 (en) * 2004-02-12 2008-10-21 International Business Machines Corporation Method and apparatus for file system snapshot persistence
US7873596B2 (en) * 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
KR100714691B1 (ko) * 2005-05-04 2007-05-04 삼성전자주식회사 파일 시스템에 추가 정보를 저장하고 관리하는 장치 및방법
US8959125B2 (en) * 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
JP2007265010A (ja) 2006-03-28 2007-10-11 Nec Electronics Corp ファイル再生装置およびファイル再生方法ならびにプログラム
GB2456001A (en) * 2007-12-28 2009-07-01 Symbian Software Ltd Storage device having a single file allocation table

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200207A (ja) * 1998-10-30 2000-07-18 Sony Corp 階層管理ファイル装置及びこれを具備した電子機器
JP2004192661A (ja) * 2001-11-20 2004-07-08 Matsushita Electric Ind Co Ltd 音声/映像情報記録再生装置および方法
WO2004109691A1 (ja) * 2003-06-04 2004-12-16 Matsushita Electric Industrial Co., Ltd. 情報記録方法、情報記録システム、ドライブ制御ユニットおよび半導体集積回路
JP2005222525A (ja) * 2004-01-08 2005-08-18 Victor Co Of Japan Ltd ファイルシステムの検査データ記録方法及びデータ変更検出方法
JP2005222483A (ja) * 2004-02-09 2005-08-18 Mitsubishi Electric Corp 情報記録装置
JP2006172485A (ja) 2004-12-17 2006-06-29 Microsoft Corp 拡張ファイルシステム
JP2006178632A (ja) 2004-12-21 2006-07-06 Sony Corp 情報処理装置、情報処理方法、プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011058700A1 (ja) * 2009-11-11 2011-05-19 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
JP5481493B2 (ja) * 2009-11-11 2014-04-23 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
US8977802B2 (en) 2009-11-11 2015-03-10 Panasonic Intellectual Property Management Co., Ltd. Access device, information recording device, controller, real time information recording system, access method, and program
WO2018186455A1 (ja) * 2017-04-07 2018-10-11 パナソニックIpマネジメント株式会社 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム

Also Published As

Publication number Publication date
EP2261803B1 (en) 2021-07-07
JP2011138534A (ja) 2011-07-14
JPWO2009122743A1 (ja) 2011-07-28
CN101983376B (zh) 2014-04-09
US20110302225A1 (en) 2011-12-08
US20110022645A1 (en) 2011-01-27
CN101983376A (zh) 2011-03-02
JP4691209B2 (ja) 2011-06-01
EP2261803A4 (en) 2014-02-26
US8019800B2 (en) 2011-09-13
EP2261803A1 (en) 2010-12-15

Similar Documents

Publication Publication Date Title
JP4691209B2 (ja) アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
US11640353B2 (en) Memory system, data storage device, user device and data management method thereof
US7761284B2 (en) Tape emulating disk based storage system and method with automatically resized emulated tape capacity
JP5481493B2 (ja) アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
US8108646B2 (en) Storage system and storage control method that compress and store data elements
US20140059273A1 (en) Host apparatus and memory device
US10048884B2 (en) Method for erasing data entity in memory module
JP5362594B2 (ja) アクセス装置、及び残容量算出方法
WO2009107393A1 (ja) アクセス装置、情報記録装置、コントローラ、及び情報記録システム
JP5962140B2 (ja) プログラム、制御方法、制御装置およびシステム
KR20070089603A (ko) 정보 처리 장치 및 정보 처리 방법과 컴퓨터ㆍ프로그램
US20140331007A1 (en) Virtual library controller and control method
JP6874348B2 (ja) ストレージ制御装置、およびストレージ制御プログラム
JP2009205591A (ja) アクセスモジュール、情報記録モジュール、及び情報記録システム
WO2018186455A1 (ja) 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム
JP2009205590A (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP4480592B2 (ja) ファイルシステム
JP2008134777A (ja) ファイル割当テーブルのキャッシュ方法
US20220114147A1 (en) Information processing apparatus, information processing method, and information processing program
JP2006106810A (ja) ファイル管理装置、ファイル管理方法、記録媒体及びプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980112166.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09728228

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010505400

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2009728228

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12934334

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE