WO2009150810A1 - アクセス装置、及び残容量算出方法 - Google Patents

アクセス装置、及び残容量算出方法 Download PDF

Info

Publication number
WO2009150810A1
WO2009150810A1 PCT/JP2009/002554 JP2009002554W WO2009150810A1 WO 2009150810 A1 WO2009150810 A1 WO 2009150810A1 JP 2009002554 W JP2009002554 W JP 2009002554W WO 2009150810 A1 WO2009150810 A1 WO 2009150810A1
Authority
WO
WIPO (PCT)
Prior art keywords
remaining capacity
fixed
length block
area
divided
Prior art date
Application number
PCT/JP2009/002554
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 JP2009554651A priority Critical patent/JP5362594B2/ja
Priority to US12/672,373 priority patent/US9015444B2/en
Publication of WO2009150810A1 publication Critical patent/WO2009150810A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • 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/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Definitions

  • the present invention relates to an access device (access module) that stores data in a nonvolatile memory and manages it as a file, and a remaining capacity calculation method.
  • recording media for recording digital data such as music content and video data
  • memory cards using a semiconductor memory such as a flash ROM as a recording element can rapidly reduce the size of the recording medium. Therefore, the memory card is rapidly used mainly for small portable devices such as movies, digital still cameras, and mobile phone terminals.
  • 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.
  • data stored in a memory card or a device built-in storage is managed by a file system.
  • a file system By managing data with a file system, it becomes possible to share data as a file between devices that interpret the same file system, and users can easily reference their stored data among multiple devices, It is possible to copy.
  • the most widely used file system is 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.
  • 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.
  • the area management method using the file allocation table is almost the same.
  • the FAT 16 will be described as an example.
  • a file system management information area 201 which is an area for storing file system management information, such as an area allocation unit and the size of an area managed by the file system, exists at the head of the logical address space. To do.
  • This file system management information area 201 includes file system management information called a master boot record / partition table 203, partition boot sector 204, FAT (205, 206), and root directory entry 207. Information necessary for management is stored.
  • the master boot record / partition table 203 is an area in which information for managing an area on the logical address space managed by the file system by dividing it into areas called partitions is stored.
  • the partition boot sector 204 is an area in which management information in one partition such as the size of the area management unit in the partition is stored.
  • the FAT (205, 206) is an area in which information regarding the storage position of data included in a file is stored. Usually, there are two FAT (205, 206) having the same information, and one FAT (205, 206). Even if 206) is damaged, it is duplexed so that the file can be accessed by the other FAT (205, 206).
  • the root directory entry 207 is an area in which information (directory entry) of files and directories existing directly under the root directory is stored.
  • a user data area 202 for storing file body data and the like exists in an area subsequent to the file system management information area 201.
  • the user data area 202 is divided and managed for each management unit called a cluster having a size of about 512 bytes to several tens of KB, and each cluster stores data contained 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 (205, 206).
  • 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 202.
  • FIG. 3 is a diagram showing the structure of the directory entry of FAT16.
  • the directory entry 208 is assigned a 32-byte directory entry 208 for each file and directory, and stores information about the file and directory. That is, every time one file or directory is added, information of a 32-byte directory entry 208 is newly created and recorded in the area of the root directory entry 207 or the user data area 202. In the first 8 bytes of the directory entry 208, the name of the file or directory is stored. The extension is stored in the subsequent 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. Further, information on the last update date / time of the file / directory, the start cluster number indicating the start position of the cluster in which the substance of the file / directory data is stored, the number of bytes of the file size, and the like are stored.
  • the directory entry 208 includes only information indicating the position of the first cluster in the area in which the data entity is stored, and the second cluster when the size of the data entity is larger than one cluster.
  • the area in which subsequent data is stored is managed by FAT (205, 206).
  • FIG. 4 is a diagram showing the configuration of the FAT (205, 206) of the FAT16.
  • FAT (205, 206) 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 202, there are M FAT entries, so the size of one FAT (205, 206) is about 2 ⁇ M bytes.
  • 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 number), and the data subsequent to the data stored in the cluster of the cluster number 3 is within the cluster of the cluster number 4 It means that it is stored in.
  • 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.
  • 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 for the corresponding cluster number (M + 1) is set to 0xFFF7. This means that the corresponding cluster is in a defective state, such as a state where the corresponding cluster is physically broken and recording is not possible.
  • the three FAT entry values 0x0000, 0xFFFF, and 0xFFF7 have special meanings, and 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 FAT (205, 206) manages the usage status of each cluster together with the link information of the area where the file data is stored. Therefore, the remaining capacity existing in the area managed by the file system is calculated by referring to FAT (205, 206) and counting the number of free clusters. The remaining capacity calculation process will be described with reference to FIG.
  • the process proceeds to S505. If it is determined that the cluster is not a free cluster, the process proceeds to S506. (S505): Since an empty cluster has been found, the access module adds “1” to the value of FREE_SPACE (increments by +1). (S506): The access module advances the current reference position by one FAT entry, and returns to the process of S503.
  • the total number of free clusters existing from the FAT entry corresponding to cluster number 2 to the FAT entry corresponding to cluster number 31 is 16 clusters.
  • This value is notified to the application controller of the access module as the remaining capacity.
  • the FAT entries increase as the total capacity managed by the file system increases. There arises a problem that the remaining capacity calculation processing time becomes long.
  • the above technique has the following problems.
  • the remaining capacity information stored in the file system management information area 201 needs to be overwritten and updated at the timing when the remaining capacity changes, such as recording file data or deleting a file.
  • all access devices must support this information update process, and if there are devices that do not support file system management information
  • the information on the remaining capacity stored in the area 201 and the remaining capacity on the FAT (205, 206) do not match and a contradiction occurs.
  • the present technology is applied to the device built-in storage, a contradiction may still occur when the power supply is unexpectedly cut off.
  • the present invention provides an access module and a remaining capacity calculation method capable of calculating the remaining capacity in a file system at high speed and reducing the time taken from the initialization of the file system to the start of recording. The purpose is to do.
  • a first invention is a remaining capacity calculation method in an access device that accesses an information recording apparatus including a nonvolatile memory that stores file data, and includes a divided remaining capacity calculation step and a file access availability determination step.
  • the division remaining capacity calculation step is area management information of the file system that manages the nonvolatile memory, and refers to area management information composed of a plurality of fixed-length block areas for each fixed-length block area. For each area, a divided remaining capacity, which is a remaining capacity included in an area on the nonvolatile memory managed in the fixed-length block area, is calculated.
  • the file access availability determination step calculates the calculated total remaining capacity by summing the divided remaining capacity calculated for each fixed-length block area each time the divided remaining capacity is calculated by the divided remaining capacity calculating step. The calculated total remaining capacity is compared with a predetermined necessary remaining capacity, and when the calculated total remaining capacity becomes equal to or larger than the necessary remaining capacity, the start of the file access process is permitted.
  • the area management information is managed in units of fixed-length block areas, and is included in the area on the non-volatile memory managed in the fixed-length block area for each fixed-length block area by the division remaining capacity calculation step.
  • a divided remaining capacity that is a remaining capacity is calculated.
  • the file access process can be started when it is confirmed that the necessary minimum remaining capacity exists.
  • 2nd invention is 1st invention, Comprising: A division
  • 3rd invention is 1st invention, Comprising: A division
  • the fourth invention is the first invention, wherein the divided remaining capacity calculating step includes a status indicating whether or not the remaining capacity calculating process is performed on each fixed-length block area on the memory in the access device, and each fixed The remaining capacity information including the information on the remaining divided capacity, which is the remaining capacity included in the area on the nonvolatile memory managed by the long block area, is stored.
  • the fifth invention is the fourth invention, further comprising a remaining capacity information update step of sequentially updating the remaining capacity information when the division remaining capacity increases or decreases due to file access.
  • the file access permission determination step is provided with the following steps. (1) A step of temporarily holding the generated file data on a memory in the access device after permitting the start of the file access process. (2) A step of requesting the division remaining capacity calculation step to execute a process of calculating the division remaining capacity for the remaining fixed-length block areas for which the division remaining capacity has not been calculated. (3) A step of recording the file data held in the memory in the access device in the non-volatile memory after the calculation of the remaining divided capacity is completed for all the fixed-length block areas.
  • a free area for example, a free cluster included in a terminal fixed-length block area (for example, a terminal FAT block) is a free area included in a terminal fixed-length block area (for example, a FAT block other than a FAT block).
  • a seventh invention is a remaining capacity calculation method in an access device that accesses an information recording device comprising a nonvolatile memory for storing file data, the file system information obtaining step, the divided remaining capacity calculating step, and the total remaining capacity A calculation step, a comparison step, and a file access permission determination step.
  • the file system information acquisition step is area management information of the file system that manages the nonvolatile memory, and is the 0th fixed length block area, the first fixed length block area,..., The (N-1) fixed length block.
  • File system information which is information about area management information composed of N (N is a natural number) fixed-length block areas, is acquired.
  • the division remaining capacity calculation step is a division that is a remaining capacity included in an area on the nonvolatile memory managed by the K-th fixed-length block area with respect to the K-th fixed-length block area (K is a natural number, K ⁇ N).
  • the remaining capacity C (K) is calculated.
  • the divided remaining capacity C (K) calculated in the divided remaining capacity calculating step is added to the calculated total remaining capacity SUM, so that the divided remaining capacity managed in the K-th fixed-length block area.
  • the comparison step compares the calculated total remaining capacity SUM calculated by the calculated total remaining capacity calculating step with a predetermined required remaining capacity.
  • the file access permission determination step permits the start of the file access process based on the comparison result in the comparison step.
  • the comparison step is performed when the calculated total remaining capacity SUM exceeds the required remaining capacity, (1)
  • the file access permission determination step permits the start of file access processing, (2) A division remaining capacity calculation step, a calculated total remaining capacity calculation step, and a file in the ascending order of the fixed length block number with the 0th fixed length block to the (Nm-1) th fixed length block being processed.
  • the step of temporarily storing the generated file data on the memory in the access device is repeatedly executed, (3) A file held in the memory in the access device after the calculation process of the remaining divided capacity is completed for all the fixed-length block areas and the calculated total remaining capacity is calculated for all the fixed-length block areas Record data in non-volatile memory.
  • a free area (for example, a free cluster) included in a terminal fixed-length block area (for example, a terminal FAT block) is a free area included in a terminal fixed-length block area (for example, a FAT block other than a FAT block). It is not used until there is no (for example, a free cluster), and it is possible to always obtain the minimum necessary remaining capacity at high speed.
  • An eighth invention is a remaining capacity calculation method in an access device that accesses an information recording device comprising a nonvolatile memory for storing file data, the file system information obtaining step, the divided remaining capacity calculating step, and the total remaining capacity A calculation step, a comparison step, and a file access permission determination step.
  • the file system information acquisition step is area management information of the file system that manages the nonvolatile memory, and is the 0th fixed length block area, the first fixed length block area,..., The (N-1) fixed length block.
  • File system information which is information about area management information composed of N (N is a natural number) fixed-length block areas, is acquired.
  • the division remaining capacity calculation step is a division that is a remaining capacity included in an area on the nonvolatile memory managed by the K-th fixed-length block area with respect to the K-th fixed-length block area (K is a natural number, K ⁇ N).
  • the remaining capacity C (K) is calculated.
  • the divided remaining capacity C (K) calculated in the divided remaining capacity calculating step is added to the calculated total remaining capacity SUM, so that the divided remaining capacity managed in the K-th fixed-length block area.
  • the comparison step compares the calculated total remaining capacity SUM calculated by the calculated total remaining capacity calculating step with a predetermined required remaining capacity.
  • the file access permission determination step permits the start of the file access process based on the comparison result in the comparison step.
  • the comparison step is performed when the calculated total remaining capacity SUM exceeds the required remaining capacity, (1)
  • the file access permission determination step permits the start of file access processing, (2) A division remaining capacity calculation step, a calculated total remaining capacity calculation step, and a file in descending order of the fixed length block number, with the 0th fixed length block to the 0th fixed length block being processed.
  • the step of temporarily storing the generated file data on the memory in the access device is repeatedly executed, (3) A file held in the memory in the access device after the calculation process of the remaining divided capacity is completed for all the fixed-length block areas and the calculated total remaining capacity is calculated for all the fixed-length block areas Record data in non-volatile memory.
  • a free area (for example, a free cluster) included in a terminal fixed-length block area (for example, a terminal FAT block) is a free area included in a terminal fixed-length block area (for example, a FAT block other than a FAT block). It is not used until there is no (for example, a free cluster), and it is possible to always obtain the minimum necessary remaining capacity at high speed.
  • a ninth invention is an access device that accesses an information recording device including a nonvolatile memory for storing file data, and includes an divided remaining capacity calculation processing unit and an application control unit.
  • the division remaining capacity calculation processing unit is area management information of the file system that manages the nonvolatile memory, and refers to area management information composed of a plurality of fixed-length block areas for each fixed-length block area. For each block area, a divided remaining capacity, which is a remaining capacity included in an area on the nonvolatile memory managed in the fixed-length block area, is calculated.
  • the application control unit requests the divided remaining capacity calculation processing unit to execute a divided remaining capacity calculation process.
  • the application control unit sums the division remaining capacity calculated for each fixed-length block area.
  • the remaining capacity is calculated, the calculated total remaining capacity is compared with the predetermined required remaining capacity, and when it is determined that the calculated total remaining capacity is more than the required remaining capacity, the file access processing Allow start.
  • the area management information is managed in units of fixed-length block areas, and the remaining capacity included in the area on the nonvolatile memory managed by the fixed-length block area for each fixed-length block area by the division remaining capacity calculation unit.
  • a divided remaining capacity which is a capacity, is calculated.
  • the tenth invention is the ninth invention, wherein when the application control unit requests the divided remaining capacity calculation processing unit to execute the calculation process of the remaining divided capacity, one or more calculation objects are calculated. Specifies a fixed-length block area. The remaining divided capacity calculation processing unit performs a remaining divided capacity calculation process on one or more designated fixed-length block areas.
  • the eleventh aspect of the present invention is the tenth aspect, wherein when the application control unit requests the divided remaining capacity calculation processing unit to execute a calculation process of the remaining divided capacity, One or more fixed-length block areas are designated in order from the fixed-length block area.
  • the twelfth invention is the tenth invention, wherein when the application control unit requests the divided remaining capacity calculation processing unit to execute the calculation process of the remaining divided capacity, the application control section The fixed-length block area is designated as the first. In this access device, the division remaining capacity calculation process is first performed on the fixed-length block area at the end, which is likely to have a large remaining capacity, so the necessary minimum remaining capacity can be acquired at high speed. Increases nature.
  • a thirteenth aspect of the invention is the ninth aspect of the invention, wherein the divided remaining capacity calculation processing unit has a status indicating whether or not the divided remaining capacity calculating process is performed on each fixed-length block area on the memory in the access device;
  • the remaining capacity information including the information on the remaining divided capacity, which is the remaining capacity included in the area on the nonvolatile memory managed in each fixed-length block area, is stored.
  • segmentation remaining capacity calculation process part updates the information regarding increase / decrease in a division
  • the remaining capacity information can always be updated.
  • the fifteenth aspect of the present invention is the ninth aspect of the present invention, wherein the application control unit permits the start of the file access process, and then temporarily stores the generated file data in the memory in the access device, and all fixed lengths After the remaining capacity calculation process for the block area is completed, the stored file data is recorded in the nonvolatile memory.
  • the calculation process of the remaining divided capacity is completed for all the fixed-length block areas.
  • the leading fixed-length block area for example, , File data can be recorded in a free area (for example, a free cluster) included in the first FAT block). Therefore, a free area (for example, a free cluster) included in a terminal fixed-length block area (for example, a terminal FAT block) is a free area included in a terminal fixed-length block area (for example, a FAT block other than a FAT block). It is not used until there is no (for example, a free cluster), and it is possible to always obtain the minimum necessary remaining capacity at high speed.
  • the sixteenth invention is the ninth invention, wherein when the application control unit requests the divided remaining capacity calculation processing unit to execute the calculation process of the remaining divided capacity, the start cluster number of the calculation target area And information about the size of the area.
  • the remaining divided capacity calculation processing unit performs a remaining divided capacity calculation process on one or more fixed-length block areas whose management targets are the designated calculation target area.
  • the seventeenth invention is the sixteenth invention, wherein when the application control unit requests the divided remaining capacity calculation processing unit to execute the calculation process of the remaining divided capacity, the start cluster number of the calculation target area As the information related to the size of the area, the start cluster number of the calculation target area and the information related to the size of the area are designated in order from the top of the area managed by the file system.
  • An eighteenth aspect of the invention is the sixteenth aspect of the invention, wherein the application control unit determines the area managed by the file system when requesting the division remaining capacity calculation processing unit to execute the division remaining capacity calculation process.
  • the end area is set as the processing target of the calculation process of the remaining divided capacity
  • the information about the start cluster number of the end area and the size of the area is information about the start cluster number of the end area and the size of the end area. Specify first.
  • the nineteenth invention is the ninth invention, wherein the application control unit designates a predetermined required remaining capacity when requesting the divided remaining capacity calculation processing section to execute a divided remaining capacity calculating process. To do.
  • the divided remaining capacity calculation processing unit repeats the remaining capacity calculation process in units of fixed-length block areas until a remaining capacity that is equal to or greater than a specified predetermined necessary remaining capacity is calculated.
  • the twentieth invention is the nineteenth invention, wherein the divided remaining capacity calculation processing unit calculates the remaining remaining capacity in units of fixed-length block areas until a remaining capacity that is equal to or greater than a specified predetermined necessary remaining capacity is calculated. When the calculation process is repeated, the calculation process of the remaining divided capacity is executed in order from the beginning of the fixed-length block area.
  • the twenty-first invention is the nineteenth invention, wherein the divided remaining capacity calculation processing unit calculates the remaining divided capacity in units of fixed-length block areas until a remaining capacity that is equal to or greater than a specified predetermined necessary remaining capacity is calculated. When the calculation process is repeated, the calculation process of the remaining divided capacity for the terminal block area of the fixed-length block area is first executed. In this access device, the division remaining capacity calculation process is first performed on the fixed-length block area at the end, which is likely to have a large remaining capacity, so the necessary minimum remaining capacity can be acquired at high speed. Increases nature.
  • a twenty-second invention is a program for causing a computer to execute a remaining capacity calculation method in an access device that accesses an information recording device including a nonvolatile memory for storing file data. The remaining capacity calculation method includes a divided remaining capacity calculation step and a file access availability determination step.
  • the division remaining capacity calculation step is area management information of the file system that manages the nonvolatile memory, and refers to area management information composed of a plurality of fixed-length block areas for each fixed-length block area. For each area, a divided remaining capacity, which is a remaining capacity included in an area on the nonvolatile memory managed in the fixed-length block area, is calculated.
  • the file access availability determination step calculates the calculated total remaining capacity by summing the divided remaining capacity calculated for each fixed-length block area each time the divided remaining capacity is calculated by the divided remaining capacity calculating step. The calculated total remaining capacity is compared with a predetermined necessary remaining capacity, and when the calculated total remaining capacity becomes equal to or larger than the necessary remaining capacity, the start of the file access process is permitted. As a result, it is possible to realize a program having the same effects as those of the first invention.
  • the remaining capacity can be calculated at high speed in the file system, and the time taken from the initialization of the file system to the start of recording can be shortened.
  • 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
  • a flowchart showing a conventional remaining capacity calculation processing procedure Explanatory drawing showing another example of FAT Explanatory drawing which showed an example of FAT management in 1st Embodiment
  • Explanatory drawing which showed an example of the remaining capacity information in 1st Embodiment
  • the flowchart which showed the mount processing procedure in 1st Embodiment.
  • Explanatory drawing which showed an example of the remaining capacity information immediately after the mounting process in 1st Embodiment
  • the flowchart which showed the file system information acquisition process sequence in 1st Embodiment.
  • Explanatory drawing which showed an example of the file system information in 1st Embodiment
  • the flowchart which showed the remaining capacity calculation processing procedure in 1st Embodiment.
  • Explanatory drawing which showed an example of the remaining capacity information immediately after the remaining capacity calculation process in 1st Embodiment
  • Explanatory drawing which showed an example of the control sequence between the application control part in 1st Embodiment, and a file system control part
  • Explanatory drawing which showed the 2nd example of the control sequence between the application control part in 1st Embodiment, and a file system control part.
  • Explanatory drawing which showed the 3rd example of the control sequence between the application control part in 1st Embodiment, and a file system control part.
  • FIG. 1 is a schematic configuration diagram of a nonvolatile memory system 100 according to the first embodiment.
  • the nonvolatile storage system 100 includes an access module (access device) 1 and an information recording module (information recording device) 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 104.
  • the application control unit 101, the file system control unit 102, and the information recording module access unit 104 are assumed to be realized by software on the ROM 14, but the application control unit 101, the file system The control unit 102 and the information recording module access unit 104 may be realized in whole or in part by hardware.
  • 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 104 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 module 2.
  • the file system control unit 102 further includes a divided remaining capacity calculation processing unit 103.
  • the divided remaining capacity calculation processing unit 103 is a processing unit that shows the characteristics of the present invention, and is a processing unit that divides the calculation of the remaining capacity into a plurality of processes. Information used for the remaining divided capacity calculation process performed by the divided remaining capacity calculation processing unit 103 is stored in the remaining capacity information storage unit 105 in the RAM 12.
  • 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 is managed by a file system. That is, in the logical address space in the nonvolatile memory 25, various data structures of the FAT file system taking the configuration shown in FIG. 2 as an example are stored. That is, the recording area is divided into cluster units and managed using FAT (205, 206), and information such as file and directory names and sizes is managed using the directory entry 208.
  • the divided remaining capacity calculation processing unit 103 reads FAT (205, 206) from the information recording module 2 to the RAM 12 of the access module 1 and calculates the remaining capacity, as in the prior art.
  • the difference from the prior art is that the remaining capacity calculation process is divided and executed, and recording can be started when the minimum remaining capacity necessary for data recording can be acquired.
  • the non-volatile storage system 100 it is possible to shorten the processing time required from the initialization of the file system to the start of recording as compared with the conventional case.
  • FIG. 7 is a diagram illustrating an example of management of FAT (205, 206) in the division remaining capacity calculation processing unit 103.
  • This figure shows an example in which the user data area 202 composed of 65000 clusters is managed by FAT (205, 206) when the cluster size is 16 KB. Since FAT16 manages 2 bytes per FAT entry, when managing 65000 clusters, FAT (205, 206) has a size of less than 128 KB.
  • the remaining divided capacity calculation processing unit 103 manages this FAT by dividing it into a plurality of fixed length blocks.
  • the fixed-length block is divided into 16 KB and managed.
  • the 128 KB FAT (205, 206) is divided into 16 KB FAT blocks and managed, there are a total of eight FAT blocks from FAT block_0 to FAT block_7.
  • the size of the FAT (205, 206) is slightly smaller than 128 KB, an unused area that is not used as a FAT exists at the end of the FAT block_7.
  • FIG. 8 is a diagram illustrating an example of remaining capacity information 301 stored in the remaining capacity information storage unit 105 by the divided remaining capacity calculation processing unit 103.
  • the remaining capacity information 301 includes information indicating “status” and “remaining capacity” of each FAT block.
  • “Status” is information indicating whether or not the remaining capacity calculation processing for the corresponding FAT block has been performed, and “1” is stored if it has been performed, and “0” is stored if it has not been performed.
  • “Remaining capacity” is information indicating the remaining capacity included in the corresponding FAT block, and stores the number of clusters of the remaining capacity. That is, the sum of the remaining capacity of each FAT block means the remaining capacity included in the entire user data area 202.
  • the division remaining capacity calculation processing unit 103 calculates and manages the remaining capacity in units of FAT blocks.
  • This mount process is a process that is first executed when the file system is used as the file system initialization process.
  • S901 The file system control unit 102 reads the file system management information from the file system management information area 201 and checks whether the structure is correct.
  • S902 If the file system control unit 102 determines that the structure is correct and the mount process can be performed as a result of the check in S901, the file system control unit 102 proceeds to the process in S904. If any abnormality is detected in the structure and it is determined that the mount process cannot be performed, the process proceeds to S903. For example, when a state where the file system cannot be operated is detected, such as when the information indicating the sector size is set to “0”, it is determined that the structure is abnormal.
  • step S903 If the file system control unit 102 determines in step S902 that the mount process cannot be performed, the file system control unit 102 notifies the application control unit 101 of error information indicating that the mount process has failed, and ends the process. In this case, the file cannot be accessed unless it is formatted again or the abnormality of the file system management information is repaired.
  • step S904 When the file system control unit 102 determines that the mount process can be performed in the determination process of S902, information necessary for file system control, such as the sector size and cluster size, in the read file system management information is stored in the RAM 12. Retained.
  • the file system control unit 102 initializes the information in the remaining capacity information storage unit 105 on the RAM 12 used by the divided remaining capacity calculation processing unit 103, and notifies the application control unit 101 of information indicating that the mounting process has been successful. End the process.
  • “status” corresponding to each FAT block number is set to “0” indicating that the remaining capacity is not calculated, and “remaining capacity” is also set to “0”. To do. That is, by this initialization process, the remaining capacity is not calculated for all the FAT blocks, and the total remaining capacity currently known is “0”.
  • the access module 1 when the mount process is successful after performing the process up to S ⁇ b> 905, the application control unit 101 is ready to perform file access. However, at this time, the file system control unit 102 recognizes the total amount of remaining capacity as “0”, so that processing that newly requires a free space, such as appending to a file or creating a directory, cannot be performed. It has become. These processes can be executed after the remaining capacity is detected in the divided remaining capacity calculation process described later. (1.4: File system information acquisition processing) Next, a file system information acquisition processing procedure in the file system control unit 102 of this embodiment will be described with reference to FIG.
  • the application control unit 101 receives general information about the file system such as the total capacity included in the user data area 202 from the file system control unit 102 (hereinafter referred to as “file system information 302”). This process is performed after the mount process and before the actual file access.
  • file system information 302 The file system control unit 102 creates file system information 302 based on the file system management information held on the RAM 12 during the mount process. An example of the file system information 302 is shown in FIG.
  • the file system information 302 shown in FIG. 12 includes “FS type”, “sector size”, “cluster size”, “total capacity”, and “number of FAT blocks”.
  • FS type stores information on the type of the file system. For example, “0” is FAT12, “1” is FAT16, “2” is FAT32, and a numerical value is associated with each file system type, and the corresponding numerical value is stored in this field.
  • “Sector size” stores information indicating the size of a sector which is the minimum management unit of the file system.
  • Cluster size stores information indicating the size of a cluster which is a management unit of the user data area 202.
  • Total capacity stores information indicating the total capacity included in the user data area 202.
  • FAT block number stores information indicating the number of blocks when FAT (205, 206) is managed in units of fixed-length blocks. For example, in the example of FIG. 7, since the number of FAT blocks is 8, “8” is stored in this field. (S1102): The file system control unit 102 notifies the application control unit 101 of the file system information 302 created in S1101 and ends the process.
  • the application control unit 101 acquires general information about the file system such as the total capacity, and acquires the number of FAT blocks.
  • the remaining capacity calculation process is performed in units of FAT blocks.
  • the remaining capacity calculation processing procedure in the divided remaining capacity calculation processing unit 103 of this embodiment will be described with reference to FIG.
  • the remaining capacity calculation process since the remaining capacity calculation process is performed in units of FAT blocks, the remaining capacity calculation process procedure for one FAT block will be described here.
  • S1301 The remaining divided capacity calculation processing unit 103 initializes a variable (FREE_SPACE) that holds the remaining capacity to 0.
  • the divided remaining capacity calculation processing unit 103 calculates the sum of the values stored in the remaining capacity fields of all FAT blocks stored in the remaining capacity information 301, notifies the application control unit 101 of the remaining capacity, and ends the process. .
  • the remaining capacity calculation process for one FAT block designated by the application control unit 101 is performed, and all the FAT blocks for which the remaining capacity calculation has been completed before that time. Is returned to the application control unit 101.
  • the remaining capacity calculation process is not necessarily performed only for one FAT block, but two or more FAT blocks may be processed together according to the designation from the application control unit 101.
  • the FAT block with the FAT block number K (K is an integer of K ⁇ 0) is expressed as “FAT block_K”.
  • the application control unit 101 determines whether or not there is a sufficient free space in the notified remaining space. If it is determined that the free space exists, it is assumed that the recording preparation is completed, and the file data is stored as necessary. Start writing. For example, in the case of a digital still camera equipped with the access module 1, if the notified remaining capacity is a capacity of one or more still images, it is determined that shooting of a still image can be started, and the access module 1 In response, the digital still camera enters a state of waiting for photographing. (S1507): Subsequently, the application control unit 101 requests the file system control unit 102 to perform the remaining capacity calculation process of the FAT block_1.
  • the remaining capacity notified to the application control unit 101 is the sum of those included in all the FAT blocks.
  • FIG. 16 is a diagram illustrating an example of the remaining capacity information 301 after the processing is completed up to S1510.
  • the “status” of all FAT blocks is set to “1”, and the value of the remaining capacity included in each FAT block is stored in “remaining capacity”.
  • the divided remaining capacity calculation processing unit 103 in the access module 1 manages the FAT (205, 206) in units of fixed length blocks, and divides them into units of the fixed length blocks to calculate the remaining capacity. Implement the process.
  • the application control unit 101 can complete the recording preparation when it is confirmed that the necessary minimum remaining capacity exists, and can start recording the file data. Therefore, it is possible to start recording without waiting for the completion of execution of the remaining capacity calculation processing for the entire FAT (205, 206) as in the prior art, and it is possible to shorten the time from the initialization of the file system to the start of recording. It becomes.
  • the remaining capacity calculation process may be performed in another order. For example, as shown in FIG. 17, the remaining capacity calculation process of the last FAT block is first performed, and then the remaining capacity calculation process of the (end-1) th FAT block from the first FAT block is performed. good.
  • an empty cluster is searched from the beginning of the FAT (205, 206), and data is often recorded in the found empty cluster, so that it is near the end of the FAT (205, 206). Often contains many free clusters. Therefore, by performing the remaining capacity calculation process sequentially from the last FAT block to the first FAT block in this way, there is a high possibility that the necessary minimum remaining capacity can be acquired at high speed. Can be further increased.
  • the remaining capacity of the block decreases, and the possibility that the necessary minimum remaining capacity can be acquired at a high speed gradually decreases.
  • the control sequence in FIG. 18 differs from the control sequence in FIG. 17 in that the application control unit 101 immediately after S1806 determines that recording preparation is complete, and immediately starts recording file data in the information recording module 2.
  • the file data is held on the RAM 12 in the access module 1 until the remaining capacity calculation process for all FAT blocks is completed, and the file data is actually recorded in the information recording module 2 after the remaining capacity calculation process for all FAT blocks is completed. It is a point to do.
  • FIG. 18 shows a case where the processing of S1807 to S1809 performs the remaining capacity calculation processing for each FAT block in the order of FAT block_0 to FAT block_ (N-2), that is, in ascending order of the FAT block number. Yes.
  • the present invention is not limited to this.
  • the processing of S1807 to S1809 is performed by calculating the remaining capacity for each FAT block in the order of FAT block_ (N-2) to FAT block_0, that is, in descending order of the FAT block number. Processing may be performed.
  • the processing after the start of recording in the information recording module 2 is performed as follows.
  • the file is stored in the empty clusters found in order (ascending order) from the empty clusters included in the first FAT block.
  • file data may be recorded in order from an empty cluster included in an arbitrary FAT block other than the terminal FAT block.
  • file data may be recorded in empty clusters that are found in order (in ascending order) from the empty clusters included in the second FAT block.
  • the application control unit 101 designates the number of the FAT block for which the remaining capacity is calculated to the file system control unit 102 has been described, but other information may be used.
  • information that can specify the portion of the remaining capacity calculation target in FAT (205, 206) may be specified by a set of a search start cluster number and a search end cluster number.
  • the processing described in the present embodiment can be applied by setting the FAT block including the designated cluster number range as the remaining capacity calculation target.
  • a FAT block in order to designate a FAT block as a range, it may be designated by a set of a search start FAT block number and a search end FAT block number.
  • the size of the remaining capacity required by the application control unit 101 may be specified. In this case, the file system control unit 102 automatically performs a divided remaining capacity calculation process for an arbitrary FAT block until a remaining capacity equal to or larger than the remaining capacity specified by the application control unit 101 is acquired.
  • the present invention may be applied to other file systems such as a UDF (Universal Disk Format) file system.
  • UDF Universal Disk Format
  • the UDF file system holds an Allocation Bitmap as area management information corresponding to FAT (205, 206).
  • Each bit included in this Allocation Bitmap indicates the usage status of one logical block
  • the Allocation Bitmap is bitmap information including bit information of the number of all logical blocks managed by the UDF file system. That is, since this allocation bitmap also has a size proportional to the total capacity as in FAT (205, 206), the remaining capacity can be calculated by dividing the UDF file system by applying the present invention. As a result, it is possible to reduce the time taken from the initialization of the file system to the start of recording.
  • the remaining capacity information 301 in the present embodiment is initialized at the time of the mounting process, and the example in which the information is updated when the remaining capacity calculation process for the target FAT block is performed has been described. However, in reality, when the file data is recorded or the file is deleted, the remaining capacity information changes.
  • the file system control unit 102 manages the occurrence of inconsistency and the remaining capacity is calculated again when the application control unit 101 refers to the remaining capacity again.
  • the access module 1 when performing various file system processes such as file data recording and file deletion, the access module 1 always updates the increase / decrease of newly allocated or released areas to the remaining capacity information, so that the latest information is always updated.
  • each block may be individually integrated into one chip by a semiconductor device such as an LSI, or may include some or all of the blocks.
  • a semiconductor device such as an LSI
  • One chip may be used.
  • 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 specific configuration of the present invention is not limited to the above-described embodiment, and various changes and modifications can be made without departing from the scope of the invention.
  • the access module 1 includes a divided remaining capacity calculation processing unit 103 that calculates the remaining capacity in the information recording module 2 managed by the file system.
  • the division remaining capacity calculation processing unit 103 manages area management information of the file system in units of fixed length blocks, The remaining capacity calculation process is performed by dividing the block into fixed length blocks. This makes it possible to complete recording preparation when it is confirmed that the necessary minimum remaining capacity exists, start recording file data, and shorten the time from file system initialization to recording start. Is possible.
  • Such an access module 1 is optimal for devices that handle digital contents such as music, still images, and moving images, and is used as a PC application, audio recorder, DVD recorder, HDD recorder, movie, digital still camera, mobile phone terminal, and the like. can do.
  • Nonvolatile storage system 1 Access module (access device) 2 Information recording module (information recording device) 11, 22 CPU 12,23 RAM 13 Information recording module interface 14, 24 ROM DESCRIPTION OF SYMBOLS 21 Access module interface 25 Nonvolatile memory 101 Application control part 102 File system control part 103 Division

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

情報記録モジュールの不揮発性メモリをファイルシステムにより管理するアクセスモジュールにおいて、ファイルデータの記録に先立ち実施する残容量の算出を高速に行い、ファイルシステムの初期化から記録開始までにかかる時間を短縮する方法を提供する。アクセスモジュール(1)は、情報記録モジュール内に構築されたファイルシステムに存在するファイルシステム領域管理情報を固定長ブロック単位に分割して管理する。分割残容量算出処理部(103)による残容量の算出処理は、この固定長ブロック単位で分割して実施され、ファイルデータ記録に必要な最小限の残容量が存在することを確認できた時点で記録準備を完了し、ファイルデータの記録を開始できるようにする。これにより、ファイルシステムの初期化から記録開始までの時間を短縮することが可能となる。

Description

アクセス装置、及び残容量算出方法
 本発明は、データを不揮発性メモリに格納し、ファイルとして管理するアクセス装置(アクセスモジュール)、及び残容量算出方法に関する。
 音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の内、記録素子にFlashROM等の半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、ムービーやデジタルスチルカメラ、携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、FlashROM等の半導体メモリを機器に内蔵してハードディスクの代わりに使用するなど、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。
 このようなメモリカードや機器内蔵ストレージには、主にNAND型フラッシュメモリと呼ばれる半導体素子が使用されている。NAND型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子であり、従来のハードディスクと同様に、複数回書き換え可能な情報記録装置を構成することが可能である。
 従来、メモリカードや機器内蔵ストレージに格納されたデータは、ファイルシステムにより管理されている。データをファイルシステムにより管理することで、同一のファイルシステムを解釈する機器間でデータをファイルとして共有することが可能となり、ユーザは自分の格納したデータを複数の機器間で容易に参照したり、コピーしたりすることが可能となる。
 従来最も広く使用されているファイルシステムは、FATファイルシステムと呼ばれるものである。FATファイルシステムは、領域管理をファイルアロケーションテーブル(FAT)と呼ばれるテーブルで一元管理するという特徴を持っており、比較的構造がシンプルで実装が容易なことから、フレキシブルディスクやPCのハードディスク、メモリカードなどのファイルシステムとして広く使用されている。
 図2にFATファイルシステムの構成を示す。FATファイルシステムでは、ファイルアロケーションテーブル内の管理単位のビット幅の違いにより、FAT12、FAT16、FAT32などの種類が存在するが、いずれのFATファイルシステムにおいても、ファイルアロケーションテーブルによる領域管理方法は、ほぼ同じであり、以下では、FAT16を例に説明する。
 図2に示すように、論理アドレス空間の先頭には、領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域201が存在する。
 このファイルシステム管理情報領域201には、マスターブートレコード・パーティションテーブル203、パーティションブートセクタ204、FAT(205、206)、ルートディレクトリエントリ207と呼ばれるファイルシステムの管理情報が含まれ、ユーザデータ領域202を管理するために必要な情報が各々格納されている。
 マスターブートレコード・パーティションテーブル203は、ファイルシステムが管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。
 パーティションブートセクタ204は、パーティション内の領域管理単位の大きさなど、1つのパーティション内の管理情報が格納される領域である。FAT(205、206)は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ2つのFAT(205、206)が存在し、一方のFAT(205、206)が破損したとしても他方のFAT(205、206)によりファイルにアクセスできるよう二重化されている。
 ルートディレクトリエントリ207は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報(ディレクトリエントリ)が格納される領域である。
 また、FATファイルシステムでは、このファイルシステム管理情報領域201に引き続く領域にファイル本体のデータなどを格納するユーザデータ領域202が存在する。ユーザデータ領域202は、512バイトから数十KB程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタにはファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、FAT(205、206)に格納されたリンク情報により管理されている。また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報(ディレクトリエントリ)は、このユーザデータ領域202の一部を利用して格納される。
 図3は、FAT16のディレクトリエントリの構成を示した図である。
 ディレクトリエントリ208は、1つのファイル、ディレクトリ毎に32バイトのディレクトリエントリ208が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、1つのファイルやディレクトリが追加される度に32バイトのディレクトリエントリ208の情報が新規に作成され、ルートディレクトリエントリ207の領域、あるいはユーザデータ領域202に記録される。
 ディレクトリエントリ208の先頭8バイトには、ファイルやディレクトリの名称が格納される。続く3バイトには、拡張子が格納される。続く1バイトには、ファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。また、ファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。
 このようにディレクトリエントリ208には、データ実体が格納されている領域の最初の1クラスタの位置を示す情報しか含まれておらず、データ実体の大きさが1クラスタよりも大きい場合において2クラスタ目以降のデータがどの領域に格納されているかについては、FAT(205、206)で管理されている。
 図4は、FAT16のFAT(205、206)の構成を示した図である。
 FAT16では、FAT(205、206)は、2バイト(16ビット)の情報を1つのFATエントリとして管理しており、1つのFATエントリが1つのクラスタの状態を示している。すなわち、ユーザデータ領域202にM個のクラスタが存在する場合、FATエントリもM個存在することから、FAT(205、206)の1つ分の大きさは約2×Mバイトとなる。但し、先頭2FATエントリ分は、FATの先頭を示す固定の値(0xF8FF、0xFFFF)がシグネチャとして記録されるため、ユーザデータ領域202の先頭クラスタに対応するFATエントリはFAT(205、206)の4バイト目、5バイト目の2バイトに存在している。FAT先頭に存在する4バイトのシグネチャをFATエントリの0番、1番とすると、4バイト目、5バイト目の2バイトの位置は2番目になることから、ユーザデータ領域202の先頭クラスタは、便宜上クラスタ番号=“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(205、206)は、ファイルデータが格納されている領域のリンク情報と共に、各クラスタの使用状態も管理している。そのため、ファイルシステムで管理されている領域内に存在する残容量は、FAT(205、206)を参照し、空きクラスタの個数をカウントすることにより算出される。図5を用いて、この残容量算出処理について説明する。
 ≪残容量算出処理≫
(S501):
 アクセスモジュールは、残容量を保持する変数(FREE_SPACE)を「0」に初期化する。
(S502):
 アクセスモジュールは、アクセスモジュールのRAM上に読み出されたFAT(205、206)のクラスタ番号2に対応するFATエントリの位置に、現在参照位置を設定する。ここでは、情報記録モジュールからアクセスモジュールのRAM上に予めFAT(205、206)が読み出されている場合を想定する。
(S503):
 アクセスモジュールは、現在参照位置がFAT終端まで到達し、FAT全体に対して残容量検索の処理が完了しているか判定する。検索が完了している場合には、現在、FREE_AREAに格納されている値を残容量としてアプリケーション制御部に通知して、処理を終了する。検索が完了していない場合は、S504の処理に進む。
(S504):
 アクセスモジュールは、現在参照位置のFATエントリが空きクラスタを示すか判定する。
 具体的には、FATエントリの値が0x0000である場合は空きクラスタであると判定し、それ以外の場合は空きクラスタではないと判定する。
 空きクラスタであると判定した場合は、S505の処理に進み、空きクラスタではないと判定した場合は、S506の処理に進む。
(S505):
 空きクラスタが発見されたため、アクセスモジュールは、FREE_SPACEの値を「1」加算する(+1だけインクリメントする)。
(S506):
 アクセスモジュールは、現在参照位置を1FATエントリ分進め、S503の処理に戻る。
 例えば、図6に示すようなFAT(205、206)を想定した場合、クラスタ番号2に対応するFATエントリからクラスタ番号31に対応するFATエントリまでに存在する空きクラスタの総数は16クラスタであり、この値が残容量として、アクセスモジュールのアプリケーション制御部に通知される。
 このように、残容量算出処理では、全FATエントリに対して値を確認し、空きクラスタの個数をカウントする必要があるため、ファイルシステムが管理する総容量が増加するに従いFATエントリが増加し、残容量算出処理時間が長くなるという問題が生じる。
 従来、このような問題を解決する方法として、残容量の情報をパーティションブートセクタ204等のファイルシステム管理情報領域201に予め保持しておく方法が提案されている(例えば、特許文献1参照)。この方法では、ファイルシステム管理情報領域201に格納された残容量の情報を読み出すことにより、従来FAT(205、206)を参照して実施していた残容量算出処理を割愛し、残容量算出処理を含むファイルシステム初期化時間を短縮している。
特開2007-214786号公報
 しかしながら、上記の技術には次のような問題点がある。
 上記の方法では、ファイルデータの記録やファイルの削除など、残容量が変化するタイミングで逐次ファイルシステム管理情報領域201に格納した残容量の情報を上書きし、更新する必要がある。特に、リムーバブルメディアに対して本技術を適用する場合には、全てのアクセス装置がこの情報更新処理に対応していなければならず、対応していない機器が存在する場合には、ファイルシステム管理情報領域201に格納された残容量の情報と、FAT(205,206)上の残容量とが一致せず、矛盾が生じる。
 また、機器内蔵ストレージに対して本技術を適用する場合には、不意に電源断が生じた場合等にやはり矛盾が生じる可能性がある。
 本発明は、上記問題点に鑑み、ファイルシステムにおいて残容量算出を高速に行い、ファイルシステムの初期化から記録開始までにかかる時間を短縮することが可能なアクセスモジュール、及び残容量算出方法を提供することを目的とする。
 第1の発明は、ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置における残容量算出方法であって、分割残容量算出ステップと、ファイルアクセス可否判定ステップと、を備える。
 分割残容量算出ステップは、不揮発性メモリを管理するファイルシステムの領域管理情報であって、複数の固定長ブロック領域から構成される領域管理情報を、固定長ブロック領域ごとに参照し、固定長ブロック領域ごとに固定長ブロック領域で管理される不揮発性メモリ上の領域に含まれる残容量である分割残容量を算出する。ファイルアクセス可否判定ステップは、分割残容量算出ステップにより、分割残容量が算出される度に、固定長ブロック領域ごとに算出された分割残容量を合計することで、算出済み総残容量を算出し、算出した算出済み総残容量と所定の必要残容量とを比較し、算出済み総残容量が必要残容量以上となった時点で、ファイルアクセス処理の開始を許可する。
 この残容量算出方法では、領域管理情報は、固定長ブロック領域単位で管理され、分割残容量算出ステップにより、固定長ブロック領域ごとに固定長ブロック領域で管理される不揮発性メモリ上の領域に含まれる残容量である分割残容量が算出される。これにより、必要最小限の残容量が存在することを確認できた時点で、ファイルアクセス処理を開始させることができる。その結果、全体に対する残容量算出処理の実施完了を待つことなく記録を開始することができ、ファイルシステムの初期化から記録開始までの時間を短縮することが可能となる。
 第2の発明は、第1の発明であって、分割残容量算出ステップは、先頭の固定長ブロック領域から順に、固定長ブロック領域ごとに、分割残容量を算出する。
 第3の発明は、第1の発明であって、分割残容量算出ステップは、終端の固定長ブロック領域を第1の処理対象として、分割残容量を算出する。
 この残容量算出方法では、残容量が多い可能性の高い終端の固定長ブロック領域に対して、最初に、分割残容量の算出処理が実施されるので、必要最低限の残容量を高速に取得できる可能性が高くなる。
 なお、「第1の処理対象」とは、第1番目の処理対象のことである。
 第4の発明は、第1の発明であって、分割残容量算出ステップは、アクセス装置内のメモリ上に、各固定長ブロック領域に対する残容量算出処理の実施の有無を示すステータスと、各固定長ブロック領域で管理される不揮発性メモリ上の領域に含まれる残容量である分割残容量の情報と、を含む残容量情報を格納する。
 第5の発明は、第4の発明であって、ファイルアクセスにより分割残容量に増減が発生した時点で、残容量情報を逐次更新する残容量情報更新ステップを更に備える。
 この残容量算出方法では、残容量情報更新ステップにより、ファイルアクセスにより分割残容量に増減が発生した時点で、残容量情報が逐次更新されるので、残容量情報を常に最新の情報にすることできる。
 第6の発明は、第1の発明であって、ファイルアクセス可否判定ステップは、以下のステップを備える。
(1)ファイルアクセス処理の開始を許可した後、生成されたファイルデータをアクセス装置内のメモリ上に一時保持するステップ。
(2)分割残容量が算出されていない残りの固定長ブロック領域に対して、分割残容量を算出する処理を実行するよう分割残容量算出ステップに要求するステップ。
(3)全ての固定長ブロック領域に対して、分割残容量の算出処理が完了した後に、アクセス装置内のメモリに保持したファイルデータを不揮発性メモリに記録するステップ。
 この残容量算出方法では、上記(1)~(3)により、実際に不揮発性メモリにファイルデータを記録する時点では、全ての固定長ブロック領域について分割残容量の算出処理が完了していることから、例えば、先頭の固定長ブロック領域(例えば、先頭のFATブロック)に含まれる空き領域(例えば、空きクラスタ)にファイルデータを記録することが可能となる。そのため、終端の固定長ブロック領域(例えば、終端のFATブロック)に含まれる空き領域(例えば、空きクラスタ)は、終端の固定長ブロック領域(例えば、FATブロック以外のFATブロック)に含まれる空き領域(例えば、空きクラスタ)がなくなるまで使用されることがなく、必要最低限の残容量取得を常に高速に実施することが可能となる。
 第7の発明は、ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置における残容量算出方法であって、ファイルシステム情報取得ステップと、分割残容量算出ステップと、総残容量算出ステップと、比較ステップと、ファイルアクセス可否判定ステップと、を備える。
 ファイルシステム情報取得ステップは、不揮発性メモリを管理するファイルシステムの領域管理情報であって、第0固定長ブロック領域、第1固定長ブロック領域、・・・、第(N-1)固定長ブロック領域のN個(Nは自然数)の固定長ブロック領域から構成される領域管理情報についての情報であるファイルシステム情報を取得する。分割残容量算出ステップは、第K固定長ブロック領域(Kは自然数、K<N)に対して、第K固定長ブロック領域で管理される不揮発性メモリ上の領域に含まれる残容量である分割残容量C(K)を算出する。総残容量算出ステップは、分割残容量算出ステップにより算出された分割残容量C(K)を、算出済み総残容量SUMに加算することで、第K固定長ブロック領域で管理される分割残容量C(K)を含めた算出済み総残容量SUMを算出する算出済み。比較ステップは、算出済み総残容量算出ステップにより算出された算出済み総残容量SUMと所定の必要残容量とを比較する。ファイルアクセス可否判定ステップは、比較ステップでの比較結果に基づいて、ファイルアクセス処理の開始を許可する。
 そして、第(N-1)固定長ブロック領域から固定長ブロック番号の降順に固定長ブロック領域を処理対象として、分割残容量算出ステップと、算出済み総残容量算出ステップと、比較ステップと、ファイルアクセス可否判定ステップと、を繰り返し実行する。
 そして、第(N-m)固定長ブロック領域(mは自然数)が処理対象である場合に、比較ステップが、算出済み総残容量SUMが必要残容量以上となったとき、
(1)ファイルアクセス可否判定ステップは、ファイルアクセス処理の開始を許可し、
(2)第0固定長ブロックから第(N-m-1)固定長ブロックを処理対象として、固定長ブロック番号の昇順に、分割残容量算出ステップと、算出済み総残容量算出ステップと、ファイルアクセス処理の開始が許可された後、生成されたファイルデータをアクセス装置内のメモリ上に一時保持するステップと、を繰り返し実行し、
(3)全ての固定長ブロック領域に対して、分割残容量の算出処理が完了し、全ての固定長ブロック領域に対する算出済み総残容量が算出された後に、アクセス装置内のメモリに保持したファイルデータを不揮発性メモリに記録する。
 この残容量算出方法では、上記処理により、実際に不揮発性メモリにファイルデータを記録する時点では、全ての固定長ブロック領域について分割残容量の算出処理が完了していることから、例えば、先頭の固定長ブロック領域(例えば、先頭のFATブロック)に含まれる空き領域(例えば、空きクラスタ)にファイルデータを記録することが可能となる。そのため、終端の固定長ブロック領域(例えば、終端のFATブロック)に含まれる空き領域(例えば、空きクラスタ)は、終端の固定長ブロック領域(例えば、FATブロック以外のFATブロック)に含まれる空き領域(例えば、空きクラスタ)がなくなるまで使用されることがなく、必要最低限の残容量取得を常に高速に実施することが可能となる。
 なお、この残容量算出方法では、上記の順番に実行されることが望ましいが、一部の順序を入れ替えて実行されるものであってもよい。
 第8の発明は、ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置における残容量算出方法であって、ファイルシステム情報取得ステップと、分割残容量算出ステップと、総残容量算出ステップと、比較ステップと、ファイルアクセス可否判定ステップと、を備える。
 ファイルシステム情報取得ステップは、不揮発性メモリを管理するファイルシステムの領域管理情報であって、第0固定長ブロック領域、第1固定長ブロック領域、・・・、第(N-1)固定長ブロック領域のN個(Nは自然数)の固定長ブロック領域から構成される領域管理情報についての情報であるファイルシステム情報を取得する。分割残容量算出ステップは、第K固定長ブロック領域(Kは自然数、K<N)に対して、第K固定長ブロック領域で管理される不揮発性メモリ上の領域に含まれる残容量である分割残容量C(K)を算出する。総残容量算出ステップは、分割残容量算出ステップにより算出された分割残容量C(K)を、算出済み総残容量SUMに加算することで、第K固定長ブロック領域で管理される分割残容量C(K)を含めた算出済み総残容量SUMを算出する算出済み。比較ステップは、算出済み総残容量算出ステップにより算出された算出済み総残容量SUMと所定の必要残容量とを比較する。ファイルアクセス可否判定ステップは、比較ステップでの比較結果に基づいて、ファイルアクセス処理の開始を許可する。
 そして、第(N-1)固定長ブロック領域から固定長ブロック番号の降順に固定長ブロック領域を処理対象として、分割残容量算出ステップと、算出済み総残容量算出ステップと、比較ステップと、ファイルアクセス可否判定ステップと、を繰り返し実行する。
 そして、第(N-m)固定長ブロック領域(mは自然数)が処理対象である場合に、比較ステップが、算出済み総残容量SUMが必要残容量以上となったとき、
(1)ファイルアクセス可否判定ステップは、ファイルアクセス処理の開始を許可し、
(2)第(N-m-1)固定長ブロックから第0固定長ブロックを処理対象として、固定長ブロック番号の降順に、分割残容量算出ステップと、算出済み総残容量算出ステップと、ファイルアクセス処理の開始が許可された後、生成されたファイルデータをアクセス装置内のメモリ上に一時保持するステップと、を繰り返し実行し、
(3)全ての固定長ブロック領域に対して、分割残容量の算出処理が完了し、全ての固定長ブロック領域に対する算出済み総残容量が算出された後に、アクセス装置内のメモリに保持したファイルデータを不揮発性メモリに記録する。
 この残容量算出方法では、上記処理により、実際に不揮発性メモリにファイルデータを記録する時点では、全ての固定長ブロック領域について分割残容量の算出処理が完了していることから、例えば、先頭の固定長ブロック領域(例えば、先頭のFATブロック)に含まれる空き領域(例えば、空きクラスタ)にファイルデータを記録することが可能となる。そのため、終端の固定長ブロック領域(例えば、終端のFATブロック)に含まれる空き領域(例えば、空きクラスタ)は、終端の固定長ブロック領域(例えば、FATブロック以外のFATブロック)に含まれる空き領域(例えば、空きクラスタ)がなくなるまで使用されることがなく、必要最低限の残容量取得を常に高速に実施することが可能となる。
 なお、この残容量算出方法では、上記の順番に実行されることが望ましいが、一部の順序を入れ替えて実行されるものであってもよい。
 第9の発明は、ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置であって、分割残容量算出処理部と、アプリケーション制御部と、を備える。
 分割残容量算出処理部は、不揮発性メモリを管理するファイルシステムの領域管理情報であって、複数の固定長ブロック領域から構成される領域管理情報を、固定長ブロック領域ごとに参照し、固定長ブロック領域ごとに固定長ブロック領域で管理される不揮発性メモリ上の領域に含まれる残容量である分割残容量を算出する。アプリケーション制御部は、分割残容量算出処理部に対し分割残容量の算出処理の実行を要求する。
 そして、分割残容量算出処理部が固定長ブロック領域ごとの分割残容量を算出する度に、アプリケーション制御部が、固定長ブロック領域ごとに算出された分割残容量を合計することで、算出済み総残容量を算出し、算出した算出済み総残容量と所定の必要残容量とを比較し、算出済み総残容量が必要残容量以上の残容量であると判定された時点で、ファイルアクセス処理の開始を許可する。
 このアクセス装置では、領域管理情報は、固定長ブロック領域単位で管理され、分割残容量算出部により、固定長ブロック領域ごとに固定長ブロック領域で管理される不揮発性メモリ上の領域に含まれる残容量である分割残容量が算出される。これにより、必要最小限の残容量が存在することを確認できた時点で、ファイルアクセス処理を開始させることができる。その結果、全体に対する残容量算出処理の実施完了を待つことなく記録を開始することができ、ファイルシステムの初期化から記録開始までの時間を短縮することが可能となる。
 なお、「アクセス装置」は、アクセスモジュールを含む概念である。
 第10の発明は、第9の発明であって、アプリケーション制御部は、分割残容量算出処理部に対して、分割残容量の算出処理の実行を要求する際に、算出対象として1つ以上の固定長ブロック領域を指定する。分割残容量算出処理部は、指定された1つ以上の固定長ブロック領域に対して、分割残容量の算出処理を実行する。
 第11の発明は、第10の発明であって、アプリケーション制御部は、分割残容量算出処理部に対して、分割残容量の算出処理の実行を要求する際に、算出対象領域として、先頭の固定長ブロック領域から順に、1つ以上の固定長ブロック領域を指定する。
 第12の発明は、第10の発明であって、アプリケーション制御部は、分割残容量算出処理部に対して、分割残容量の算出処理の実行を要求する際に、算出対象領域として、終端の固定長ブロック領域を第1に指定する。
 このアクセス装置では、残容量が多い可能性の高い終端の固定長ブロック領域に対して、最初に、分割残容量の算出処理が実施されるので、必要最低限の残容量を高速に取得できる可能性が高くなる。
 第13の発明は、第9の発明であって、分割残容量算出処理部は、アクセス装置内のメモリ上に、各固定長ブロック領域に対する分割残容量の算出処理の実施の有無を示すステータスと、各固定長ブロック領域で管理される不揮発性メモリ上の領域に含まれる残容量である分割残容量の情報と、を含む残容量情報を格納する。
 第14の発明は、第13の発明であって、分割残容量算出処理部は、ファイルアクセスにより分割残容量に増減が発生した時点で、分割残容量の増減に関する情報を更新する。
 このアクセス装置では、分割残容量算出処理部により、ファイルアクセスにより分割残容量に増減が発生した時点で、残容量情報が逐次更新されるので、残容量情報を常に最新の情報にすることできる。
 第15の発明は、第9の発明であって、アプリケーション制御部は、ファイルアクセス処理の開始を許可した後、生成されたファイルデータをアクセス装置内のメモリ上に一時保持し、全ての固定長ブロック領域に対する残容量算出処理が完了した後に、保持したファイルデータを不揮発性メモリに記録する。
 このアクセス装置では、実際に不揮発性メモリにファイルデータを記録する時点では、全ての固定長ブロック領域について分割残容量の算出処理が完了していることから、例えば、先頭の固定長ブロック領域(例えば、先頭のFATブロック)に含まれる空き領域(例えば、空きクラスタ)にファイルデータを記録することが可能となる。そのため、終端の固定長ブロック領域(例えば、終端のFATブロック)に含まれる空き領域(例えば、空きクラスタ)は、終端の固定長ブロック領域(例えば、FATブロック以外のFATブロック)に含まれる空き領域(例えば、空きクラスタ)がなくなるまで使用されることがなく、必要最低限の残容量取得を常に高速に実施することが可能となる。
 第16の発明は、第9の発明であって、アプリケーション制御部は、分割残容量算出処理部に対して、分割残容量の算出処理の実行を要求する際に、算出対象領域の開始クラスタ番号と領域の大きさに関する情報を指定する。分割残容量算出処理部は、指定された算出対象領域を管理対象とする1つ以上の固定長ブロック領域に対して分割残容量の算出処理を実行する。
 第17の発明は、第16の発明であって、アプリケーション制御部は、分割残容量算出処理部に対して、分割残容量の算出処理の実行を要求する際に、算出対象領域の開始クラスタ番号と領域の大きさに関する情報として、ファイルシステムが管理する領域の先頭から順に、算出対象領域の開始クラスタ番号と領域の大きさに関する情報を指定する。
 第18の発明は、第16の発明であって、アプリケーション制御部は、分割残容量算出処理部に対して、分割残容量の算出処理の実行を要求する際に、ファイルシステムが管理する領域の終端領域を、第1に、分割残容量の算出処理の処理対象とし、算出対象領域の開始クラスタ番号と領域の大きさに関する情報として、終端領域の開始クラスタ番号と終端領域の大きさに関する情報を第1に指定する。
 このアクセス装置では、残容量が多い可能性の高い終端の固定長ブロック領域に対して、最初に、分割残容量の算出処理が実施されるので、必要最低限の残容量を高速に取得できる可能性が高くなる。
 第19の発明は、第9の発明であって、アプリケーション制御部は、分割残容量算出処理部に対して、分割残容量の算出処理の実行を要求する際に、所定の必要残容量を指定する。分割残容量算出処理部は、指定された所定の必要残容量以上の残容量が算出されるまで、固定長ブロック領域単位で残容量の算出処理を繰り返す。
 第20の発明は、第19の発明であって、分割残容量算出処理部は、指定された所定の必要残容量以上の残容量が算出されるまで、固定長ブロック領域単位で分割残容量の算出処理を繰り返す際に、固定長ブロック領域の先頭から順に分割残容量の算出処理を実行する。
 第21の発明は、第19の発明であって、分割残容量算出処理部は、指定された所定の必要残容量以上の残容量が算出されるまで、固定長ブロック領域単位で分割残容量の算出処理を繰り返す際に、固定長ブロック領域の終端ブロック領域に対する分割残容量の算出処理を、第1に実行する。
 このアクセス装置では、残容量が多い可能性の高い終端の固定長ブロック領域に対して、最初に、分割残容量の算出処理が実施されるので、必要最低限の残容量を高速に取得できる可能性が高くなる。
 第22の発明は、ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置における残容量算出方法をコンピュータに実行させるプログラムである。残容量算出方法は、分割残容量算出ステップと、ファイルアクセス可否判定ステップと、を備える。
 分割残容量算出ステップは、不揮発性メモリを管理するファイルシステムの領域管理情報であって、複数の固定長ブロック領域から構成される領域管理情報を、固定長ブロック領域ごとに参照し、固定長ブロック領域ごとに固定長ブロック領域で管理される不揮発性メモリ上の領域に含まれる残容量である分割残容量を算出する。ファイルアクセス可否判定ステップは、分割残容量算出ステップにより、分割残容量が算出される度に、固定長ブロック領域ごとに算出された分割残容量を合計することで、算出済み総残容量を算出し、算出した算出済み総残容量と所定の必要残容量とを比較し、算出済み総残容量が必要残容量以上となった時点で、ファイルアクセス処理の開始を許可する。
 これにより、第1の発明と同様の効果を奏するプログラムを実現することができる。
 本発明によれば、ファイルシステムにおいて残容量算出を高速に行い、ファイルシステムの初期化から記録開始までにかかる時間を短縮することが可能となる。
第1実施形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図 FAT型ファイルシステムの構成を示した説明図 ディレクトリエントリの構成を示した説明図 FATの一例を示した説明図 従来の残容量算出処理手順を示したフローチャート FATの別の一例を示した説明図 第1実施形態におけるFAT管理の一例を示した説明図 第1実施形態における残容量情報の一例を示した説明図 第1実施形態におけるマウント処理手順を示したフローチャート 第1実施形態におけるマウント処理直後の残容量情報の一例を示した説明図 第1実施形態におけるファイルシステム情報取得処理手順を示したフローチャート 第1実施形態におけるファイルシステム情報の一例を示した説明図 第1実施形態における残容量算出処理手順を示したフローチャート 第1実施形態における残容量算出処理直後の残容量情報の一例を示した説明図 第1実施形態におけるアプリケーション制御部、ファイルシステム制御部間の制御シーケンスの一例を示した説明図 第1実施形態における全FATブロックに対する残容量算出処理完了後の残容量情報の一例を示した説明図 第1実施形態におけるアプリケーション制御部、ファイルシステム制御部間の制御シーケンスの第2の例を示した説明図 第1実施形態におけるアプリケーション制御部、ファイルシステム制御部間の制御シーケンスの第3の例を示した説明図
 以下、本発明の実施形態(特に、アクセスモジュール、及び残容量算出方法)について、図面を参照しつつ説明する。
 [第1実施形態]
 (1.1:全体構成)
 図1は、第1実施形態における不揮発性記憶システム100の概略構成図である。不揮発性記憶システム100は、アクセスモジュール(アクセス装置)1と、情報記録モジュール(情報記録装置)2と、を備える。
 図1に示すように、アクセスモジュール1は、CPU11、RAM12、情報記録モジュールインタフェース13、ROM14を含む。
 ROM14には、アクセスモジュール1を制御するプログラムが格納されており、このプログラムは、RAM12を一時記憶領域として使用し、CPU11上で動作する。
 情報記録モジュールインタフェース13は、情報記録モジュール2とアクセスモジュール1との接続部であり、制御信号及びデータの送受信を行う。
 ROM14は、更に、アプリケーション制御部101、ファイルシステム制御部102、情報記録モジュールアクセス部104を含む。なお、本実施形態では、アプリケーション制御部101、ファイルシステム制御部102、情報記録モジュールアクセス部104は、ROM14上において、ソフトウェアにより実現されるものを想定しているが、アプリケーション制御部101、ファイルシステム制御部102、情報記録モジュールアクセス部104は、その全部または一部が、ハードウェアにより実現されるものであってもよい。
 アプリケーション制御部101は、データの生成や電源の制御などアクセスモジュール1全体の制御を行う。
 ファイルシステム制御部102は、ファイルシステムによりデータをファイルとして管理するための制御を行う。
 情報記録モジュールアクセス部104は、ファイルシステム制御部102からデータと共にサイズとアドレスを渡され、指定されたサイズのデータを情報記録モジュール2の記録領域内における指定された位置に記録するなど、情報記録モジュール2に対するコマンドやデータの送受信を制御する。
 ファイルシステム制御部102は、更に、分割残容量算出処理部103を含む。
 分割残容量算出処理部103は、本発明の特徴を示す処理部であり、残容量の算出を複数回の処理に分割して実施する処理部である。また、分割残容量算出処理部103が実施する分割残容量算出処理に使用する情報は、RAM12内の残容量情報格納部105に格納される。
 一方、図1に示すように、情報記録モジュール2は、アクセスモジュールインタフェース21、CPU22、RAM23、ROM24、不揮発性メモリ25を含む。
 アクセスモジュールインタフェース21は、情報記録モジュール2とアクセスモジュール1との接続部であり、情報記録モジュールインタフェース13と同様に、制御信号及びデータを送受信するインタフェースである。
 ROM24には、情報記録モジュール2を制御するプログラムが格納されており、このプログラムはRAM23を一時記憶領域として使用し、CPU22上で動作する。
 不揮発性メモリ25は、アクセスモジュール1から送信されたデータを記録する領域であり、その中はファイルシステムで管理されている。すなわち、不揮発性メモリ25内の論理アドレス空間には、図2で示した構成を一例とするFAT型ファイルシステムの各種データ構造が格納されている。すなわち、記録領域はクラスタ単位に分割され、FAT(205、206)を用いて管理されており、ファイルやディレクトリの名称やサイズ等の情報はディレクトリエントリ208を用いて管理されている。
 本発明における分割残容量算出処理部103は、従来技術と同様に情報記録モジュール2からFAT(205,206)をアクセスモジュール1のRAM12に読み出し、残容量を算出する。従来技術と異なる点は、残容量算出処理を分割して実施し、データ記録に必要な最低限の残容量が取得できた時点で記録を開始することを可能とする点である。これにより、不揮発性記憶システム100では、従来に比べファイルシステムの初期化から記録開始までにかかる処理時間を短縮することが可能となる。
 (1.2:分割残容量算出処理部)
 続いて、本実施形態における分割残容量算出処理部103について、図7、図8を用いて説明する。
 図7は、分割残容量算出処理部103におけるFAT(205、206)の管理の一例を示した図である。この図では、クラスタサイズが16KBの場合に65000クラスタからなるユーザデータ領域202をFAT(205、206)で管理した場合の例を示している。FAT16では、1FATエントリ当たり2バイトで管理するため、65000クラスタを管理する場合、FAT(205、206)は128KB弱の大きさとなる。
 分割残容量算出処理部103は、このFATを複数の固定長ブロックに分割して管理する。ここでは、固定長ブロックとして16KBの大きさに区切って管理する場合を想定する。128KBのFAT(205、206)を16KBずつのFATブロックに区切って管理する場合、FATブロック_0からFATブロック_7までの合計8つのFATブロックが存在することになる。実際には、FAT(205、206)のサイズが128KBよりも少し小さいため、FATブロック_7の終端には、FATとして使用されない未使用領域が存在している。
 図8は、分割残容量算出処理部103が残容量情報格納部105に格納する残容量情報301の一例を示した図である。
 残容量情報301は、各FATブロックの“ステータス”と“残容量”を示す情報から構成される。
 “ステータス”は、該当するFATブロックに対する残容量算出処理が実施されたか否かを示す情報であり、実施済みであれば「1」が、未実施であれば「0」が格納される。
 “残容量”は、該当するFATブロックに含まれる残容量を示す情報であり、残容量のクラスタ数が格納される。すなわち、各FATブロックの残容量の総和が、ユーザデータ領域202全体に含まれる残容量を意味する。
 このように、本実施形態における分割残容量算出処理部103は、FATブロック単位で残容量を算出、管理することを特徴とする。
 (1.3:マウント処理)
 続いて、図9を用いて、本実施形態のファイルシステム制御部102におけるマウント処理手順について説明する。このマウント処理は、ファイルシステムの初期化処理として、ファイルシステムを使用する際に最初に実行される処理である。
(S901):
 ファイルシステム制御部102は、ファイルシステム管理情報領域201からファイルシステム管理情報を読み出し、構造が正しいかチェックする。
(S902):
 ファイルシステム制御部102は、S901のチェックの結果、構造が正しく、マウント処理が行えると判断した場合はS904の処理に進む。また、構造に何らかの異常が検出され、マウント処理が行えないと判断した場合はS903の処理に進む。例えば、セクタサイズを示す情報が「0」に設定されている等、ファイルシステムとして動作することができない状態が検出された場合、構造が異常であると判断される。
(S903):
 ファイルシステム制御部102は、S902の判定処理において、マウント処理が行えないと判断した場合、アプリケーション制御部101にマウント処理が失敗したことを示すエラー情報を通知し、処理を終了する。この場合、再度フォーマットしたり、ファイルシステム管理情報の異常を修復したりしない限り、ファイルアクセスが行えないことになる。
(S904):
 ファイルシステム制御部102により、S902の判定処理において、マウント処理が行えると判断された場合、読み出したファイルシステム管理情報の内、セクタサイズやクラスタサイズ等、ファイルシステムの制御に必要な情報がRAM12上に保持される。
(S905):
 ファイルシステム制御部102は、分割残容量算出処理部103が使用するRAM12上の残容量情報格納部105の情報を初期化し、アプリケーション制御部101にマウント処理が成功したことを示す情報を通知して処理を終了する。この初期化処理では、図10に示すように、各FATブロック番号に対応する“ステータス”を残容量の算出をしていない状態を示す“0”に、“残容量”も“0”に設定する。すなわち、この初期化処理により、全FATブロックに対して残容量の算出が実施されていない状態に設定され、現時点で判明している残容量の総量は「0」となる。
 このように、アクセスモジュール1において、S905の処理まで実施してマウント処理が成功した場合、アプリケーション制御部101は、ファイルアクセスを行う準備ができたことになる。但し、現時点では、ファイルシステム制御部102は、残容量の総量を「0」と認識していることから、ファイルへの追記やディレクトリ作成等、新たに空き領域を必要とする処理は行えない状態となっている。これらの処理は、後述する分割残容量算出処理において残容量が検出された後、実行することが可能となる。
 (1.4:ファイルシステム情報取得処理)
 続いて、図11を用いて、本実施形態のファイルシステム制御部102におけるファイルシステム情報取得処理手順について説明する。このファイルシステム情報取得処理は、アプリケーション制御部101がファイルシステム制御部102から、ユーザデータ領域202に含まれる総容量等のファイルシステムに関する全般的な情報(以下、「ファイルシステム情報302」と呼ぶ)を取得する処理であり、マウント処理実施後、実際にファイルアクセスする前に実施される。
(S1101):
 ファイルシステム制御部102は、マウント処理時にRAM12上に保持したファイルシステム管理情報を元に、ファイルシステム情報302を作成する。ファイルシステム情報302の一例を図12に示す。図12に示されるファイルシステム情報302は、“FS種別”、“セクタサイズ”、“クラスタサイズ”、“総容量”、“FATブロック数”を含む。
 “FS種別”は、ファイルシステムの種別に関する情報を格納する。例えば“0”はFAT12、“1”はFAT16、“2”はFAT32のように各ファイルシステム種別に数値を対応づけておき、該当する数値を本フィールドに格納する。
 “セクタサイズ”は、ファイルシステムの最小管理単位であるセクタの大きさを示す情報を格納する。
 “クラスタサイズ”は、ユーザデータ領域202の管理単位であるクラスタの大きさを示す情報を格納する。
 “総容量”は、ユーザデータ領域202に含まれる全体の容量を示す情報を格納する。
 “FATブロック数”は、FAT(205、206)を固定長ブロック単位で管理した際のブロック数を示す情報を格納する。例えば、図7の例では、FATブロックの個数が8個であることから、本フィールドには“8”が格納される。
(S1102):
 ファイルシステム制御部102は、S1101で作成したファイルシステム情報302をアプリケーション制御部101に通知して処理を終了する。
 このように、ファイルシステム情報取得処理では、アプリケーション制御部101が総容量等のファイルシステムに関する全般的な情報を取得すると共に、FATブロック数を取得する。本実施形態では、残容量算出処理をこのFATブロック単位で実施する場合の例について説明する。
 (1.5:残容量算出処理)
 続いて、図13を用いて、本実施形態の分割残容量算出処理部103における残容量算出処理手順について説明する。本実施形態では、FATブロック単位で残容量算出処理を実施するため、ここでは、1FATブロック分の残容量算出処理手順を説明する。
(S1301):
 分割残容量算出処理部103は、残容量を保持する変数(FREE_SPACE)を0に初期化する。
(S1302):
 分割残容量算出処理部103は、算出対象のFATブロックを情報記録モジュール2からアクセスモジュール1内のRAM12上に読み出す。算出対象のFATブロックは、アプリケーション制御部101から指定されるものとする。
(S1303):
 分割残容量算出処理部103は、アクセスモジュール1のRAM12上に読み出されたFATブロックの先頭位置に、現在参照位置を設定する。算出対象のFATブロックがFAT(205、206)先頭のブロックであった場合、現在参照位置は、クラスタ番号2に対応するFATエントリの位置に設定される。それ以外の場合、現在参照位置は、FATブロックの先頭に存在するFATエントリの位置に設定される。
(S1304):
 分割残容量算出処理部103は、現在参照位置がFATブロック終端まで到達し、算出対象のFATブロック全体に対して残容量検索の処理が完了しているか判定する。検索が完了している場合は、S1308の処理に進む。検索が完了していない場合は、S1305の処理に進む。
(S1305):
 分割残容量算出処理部103は、現在参照位置のFATエントリが空きクラスタを示すか判定する。具体的には、FATエントリの値が0x0000である場合は空きクラスタであると判定し、それ以外の場合は空きクラスタではないと判定する。現在参照位置のFATエントリが示しているクラスタが空きクラスタであると判定した場合、S1306の処理に進み、現在参照位置のFATエントリが示しているクラスタが空きクラスタではないと判定した場合、S1307の処理に進む。
(S1306):
 分割残容量算出処理部103は、空きクラスタを発見したため、FREE_SPACEの値を「1」加算する(+1だけインクリメントする)。
(S1307):
 分割残容量算出処理部103は、現在参照位置を1FATエントリ分進め、S1304の処理に戻る。
(S1308):
 算出対象のFATブロック全体に対する残容量検索処理が完了したため、分割残容量算出処理部103は、残容量情報301内の算出対象のFATブロックの残容量のフィールドにFREE_SPACEの値を格納し、ステータスを「1」に設定する。図14は、番号0のFATブロックに対する残容量情報301を更新した場合の例を示している。この例では、番号0のFATブロックに含まれる残容量が3700クラスタであった場合を示している。
(S1309):
 分割残容量算出処理部103は、残容量情報301に格納された全FATブロックの残容量のフィールドに格納された値の総和を取り、残容量としてアプリケーション制御部101に通知して処理を終了する。
 このように、本実施形態における残容量算出処理では、アプリケーション制御部101から指定された1つのFATブロックに対する残容量算出処理を実施し、それ以前に残容量算出が完了している全てのFATブロックの残容量の総和をアプリケーション制御部101に返す。これにより、FAT(205、206)のサイズが大きい場合でも、FAT(205、206)全体の残容量算出処理が完了するまで待つことなく、アプリケーション制御部101に処理を返すことが可能となる。
 また、残容量算出処理は、必ずしも1つのFATブロックに対してのみ実施するのではなく、アプリケーション制御部101からの指定に応じて、2つ以上のFATブロックをまとめて処理しても良い。この場合、S1301からS1308までの処理を、アプリケーション制御部101が指定した複数のFATブロックに対して繰り返し実施し(アプリケーション制御部101が指定したFATブロックの数だけS1301からS1308までの処理を繰り返し実施し)、最後にS1309の処理により、全FATブロックの残容量の総和を取るようにする。
 (1.6:アプリケーション制御部101とファイルシステム制御部102間の制御シーケンス)
 続いて、図15を用いて、アプリケーション制御部101とファイルシステム制御部102との間の制御シーケンスの一例について説明する。
(S1501):
 まず始めに、アプリケーション制御部101は、ファイルシステム制御部102にマウント処理の実施を要求する。
(S1502):
 ファイルシステム制御部102は、図9で説明したマウント処理を実施した後、処理が完了した旨をアプリケーション制御部101に通知する。
(S1503):
 マウント処理に成功した場合、アプリケーション制御部101は、ファイルシステム制御部102にファイルシステム情報取得処理の実施を要求する。
(S1504):
 ファイルシステム制御部102は、図11で説明したファイルシステム情報取得処理を実施した後、ファイルシステム情報302をアプリケーション制御部101に通知する。
(S1505):
 ファイルシステム情報取得処理に成功した場合、アプリケーション制御部101は、ファイルシステム制御部102にFATブロック_0の残容量算出処理の実施を要求する。なお、FATブロック番号K(Kは、K≧0の整数)のFATブロックを「FATブロック_K」と表記することとする。
(S1506):
 ファイルシステム制御部102内の分割残容量算出処理部103は、図13で説明した残容量算出処理を実施した後、残容量をアプリケーション制御部101に通知する。この時点では、FATブロック_0に対する残容量算出処理しか完了していないため、アプリケーション制御部101に通知される残容量は、FATブロック_0に含まれるもののみとなる。ここで、アプリケーション制御部101は、通知された残容量に十分な空き容量が存在するか否か判定し、存在すると判定した場合には記録準備が完了したものとし、必要に応じてファイルデータの書き込みを開始する。例えば、アクセスモジュール1を備えるデジタルスチルカメラの場合、通知された残容量が静止画1枚以上の容量であった場合、静止画の撮影を開始できると判断し、アクセスモジュール1は、ユーザに対して静止画撮影を行う準備が完了した旨を通知し、当該デジタルスチルカメラは、撮影待ち状態に入る。
(S1507):
 続いて、アプリケーション制御部101は、ファイルシステム制御部102にFATブロック_1の残容量算出処理の実施を要求する。
(S1508):
 S1506と同様に、ファイルシステム制御部102内の分割残容量算出処理部103は、図13で説明した残容量算出処理を実施した後、残容量をアプリケーション制御部101に通知する。この時点で、FATブロック_0、FATブロック_1の残容量算出処理が完了しているため、アプリケーション制御部101に通知される残容量は、FATブロック_0、FATブロック_1に含まれるものの総和となる。
(S1509):
 以下同様に、アプリケーション制御部101は、FATブロック_(N-1)まで繰り返しファイルシステム制御部102に残容量算出処理の実施を要求する。
(S1510):
 ファイルシステム制御部102内の分割残容量算出処理部103は、指定されたFATブロックに対して、図13で説明した残容量算出処理を実施した後、残容量をアプリケーション制御部101に通知する。この時点で、全てのFATブロックに対する残容量算出処理が完了しているため、アプリケーション制御部101に通知される残容量は、全FATブロックに含まれるものの総和となる。
 図16は、S1510まで処理が完了した後の残容量情報301の一例を示した図である。図16に示すように、S1510まで処理が完了すると、全FATブロックの“ステータス”が「1」に設定され、“残容量”には、各FATブロックに含まれる残容量の値が格納される。
 以上のように、本実施形態におけるアクセスモジュール1内の分割残容量算出処理部103は、FAT(205、206)を固定長ブロック単位で管理し、この固定長ブロック単位に分割して残容量算出処理を実施する。これにより、アプリケーション制御部101は、必要最小限の残容量が存在することを確認できた時点で記録準備を完了し、ファイルデータの記録を開始することができる。そのため、従来のようにFAT(205、206)全体に対する残容量算出処理の実施完了を待つことなく記録を開始することができ、ファイルシステムの初期化から記録開始までの時間を短縮することが可能となる。
 尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本実施形態で記載された数値は一例であり、他の値を使用しても良い。例えば、残容量情報301に含まれる“ステータス”に格納する値として、0、1、2を使用する場合の例について説明したが、その他の値を用いても良いし、ファイルシステム種別を示す文字列を格納するようにしても良い。
 また、本実施形態で説明した残容量情報301、ファイルシステム情報302の構成は、一例であり、本発明の趣旨を逸脱しない範囲でその他の情報を追加しても良いし、本実施形態で説明された情報をその他の情報に置き換えても良い。
 また、図15の例では、先頭のFATブロックから終端のFATブロックへ順に残容量算出処理を実施していく場合の例について説明したが、その他の順番で実施しても良い。例えば、図17のように、最初に終端のFATブロックの残容量算出処理を実施した後、先頭のFATブロックから(終端-1)番目のFATブロックの残容量算出処理を実施するようにしても良い。通常ファイルデータを記録する際にはFAT(205、206)の先頭から空きクラスタを検索し、見つかった空きクラスタにデータを記録していくことが多いことから、FAT(205、206)終端付近には空きクラスタが多数含まれる場合が多い。そのため、このように終端のFATブロックから先頭のFATブロックに向かって順次、残容量算出処理を実施することにより、必要最低限の残容量を高速に取得できる可能性が高くなり、本発明の効果をより高めることが可能となる。
 しかしながら、毎回終端のFATブロックを優先的に残容量算出した場合、全FATブロックの残容量算出が完了する前にファイルデータが記録されると終端のFATブロックにファイルデータが記録され、終端のFATブロックの残容量が減少し、必要最低限の残容量を高速に取得できる可能性が徐々に低下することになる。この場合、アクセスモジュール1内にファイルデータ用のバッファがRAM12に十分に存在すれば、図18のような制御シーケンスを取ることにより、この問題を回避することが可能となる。
 図18の制御シーケンスが図17の制御シーケンスと異なる点は、S1806の直後にアプリケーション制御部101が記録準備完了と判断した後、すぐに情報記録モジュール2にファイルデータを記録し始めるのではなく、全FATブロックに対する残容量算出処理が完了するまでアクセスモジュール1内のRAM12上にファイルデータを保持し、全FATブロックに対する残容量算出処理が完了した後、実際に情報記録モジュール2にファイルデータを記録する点である。
 このようにすることにより、実際に情報記録モジュール2にファイルデータを記録する時点では、全FATブロックの残容量算出処理が完了していることから、先頭のFATブロックに含まれる空きクラスタにファイルデータを記録することが可能となる。そのため、終端のFATブロックに含まれる空きクラスタは、終端のFATブロック以外のFATブロックに含まれる空きクラスタがなくなるまで使用されることがなく、必要最低限の残容量取得を常に高速に実施することが可能となる。
 なお、図18は、S1807~S1809の処理が、FATブロック_0からFATブロック_(N-2)の順に、すなわち、FATブロック番号の昇順にFATブロックごとの残容量算出処理を行う場合について示している。しかし、これに限定されることはなく、例えば、S1807~S1809の処理が、FATブロック_(N-2)からFATブロック_0の順に、すなわち、FATブロック番号の降順にFATブロックごとの残容量算出処理を行うものであってもよい。
 また、図18の場合において、情報記録モジュール2への記録開始以降の処理は、上記に示したように、先頭のFATブロックに含まれる空きクラスタから順番に(昇順に)見つかった空きクラスタにファイルデータを記録することが好ましいが、これに限定されることはなく、終端のFATブロック以外の任意のFATブロックに含まれる空きクラスタから順番にファイルデータを記録するようにしてもよい。例えば、情報記録モジュール2への記録開始以降の処理は、2番目のFATブロックに含まれる空きクラスタから順番に(昇順に)見つかった空きクラスタにファイルデータを記録するようにしてもよい。
 また、本実施形態では、残容量を算出する対象のFATブロックの番号をアプリケーション制御部101がファイルシステム制御部102に指定する場合の例について説明したが、その他の情報を用いても構わない。例えば、FAT(205、206)における残容量算出対象の部分を特定できる情報として、探索開始クラスタ番号と探索終了クラスタ番号との組で指定しても良い。この場合、指定されたクラスタ番号の範囲を含むFATブロックを、残容量算出対象とすることにより本実施形態で説明した処理を適用することが可能となる。同様に、FATブロックを範囲で指定するために、探索開始FATブロック番号と探索終了FATブロック番号との組で指定しても良い。更に、アプリケーション制御部101が必要とする残容量の大きさを指定しても良い。この場合、ファイルシステム制御部102は、任意のFATブロックに対して、アプリケーション制御部101により指定された残容量以上の残容量を取得するまで自動的に分割残容量算出処理を実施していく。
 また、本実施形態では、FATファイルシステムを用いる場合の例について説明したが、UDF(Universal Disk Format)ファイルシステム等の、その他のファイルシステムに本発明を適用しても良い。例えば、UDFファイルシステムでは、FAT(205、206)に相当する領域管理情報としてAllocation Bitmapを保持している。このAllocation Bitmapに含まれる各ビットが各々1論理ブロックの使用状況を示しており、Allocation BitmapはUDFファイルシステムが管理している全論理ブロックの数のビット情報を含むビットマップ情報となっている。即ち、このAllocation BitmapもFAT(205、206)同様に総容量に比例する大きさとなるため、UDFファイルシステムにおいて、本発明を適用することで、分割して残容量を算出することができ、その結果、ファイルシステムの初期化から記録開始までにかかる時間を短縮することが可能である。
 また、図13の残容量算出処理手順では、毎回FAT(205、206)をRAM12上に読み出す場合の例について説明したが、図9で説明したマウント処理のタイミング等で全てのFAT(205、206)をRAM12上に読み出している場合には、不揮発性記憶システム100において、残容量算出処理時にFAT(205、206)を読み出す必要がなく、より高速に残容量算出処理を実施することが可能となる。
 また、上記では、本実施形態における残容量情報301は、マウント処理時に初期化され、対象FATブロックに対する残容量算出処理が実施される際に情報が更新される場合の例について説明した。しかしながら、実際には、ファイルデータの記録や、ファイルの削除等を行うと残容量の情報が変化するため、これらの処理が発生すると、残容量情報301と実際の残容量との間に不整合が生じる。この場合、不整合が生じていることをファイルシステム制御部102が管理し、アプリケーション制御部101が残容量を再度参照する際に残容量を再度算出するという方法が考えられるが、頻繁に残容量が増減する場合には、残容量算出処理のオーバーヘッドが大きくなるという問題が生じる。この場合、ファイルデータ記録やファイル削除等のファイルシステムの各種処理を実施する際に、アクセスモジュール1において、新しく割り当てた、あるいは解放した領域の増減を残容量情報に逐次更新することにより、常に最新の残容量が残容量情報301に保持されるようにし、残容量の再算出を不要とする工夫を実施すると、更に効果的である。また、この処理では、アクセスモジュール1内のRAM12上の残容量情報301を更新するのみで、情報記録モジュール2に対する記録処理は発生しないことから、特許文献1で提案されている従来方法に比べ、高速に残容量情報301を更新することが可能となる。
 [他の実施形態]
 なお、上記実施形態で説明した不揮発性記憶システム、アクセスモジュール、情報記録モジュールにおいて、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
 なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
 さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
 また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係る不揮発性記憶システム、アクセスモジュール、情報記録モジュールをハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
 なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
 本発明に関わるアクセスモジュール1は、ファイルシステムにより管理されている情報記録モジュール2内の残容量を算出する分割残容量算出処理部103を含む。分割残容量算出処理部103は、ファイルシステムの領域管理情報を固定長ブロック単位で管理し、
この固定長ブロック単位に分割して残容量算出処理を実施する。これにより必要最小限の残容量が存在することを確認できた時点で記録準備を完了し、ファイルデータの記録を開始することができ、ファイルシステムの初期化から記録開始までの時間を短縮することが可能となる。このようなアクセスモジュール1は、音楽や静止画、動画などのデジタルコンテンツを取り扱う機器に最適であり、PCアプリケーション、オーディオレコーダ、DVDレコーダ、HDDレコーダ、ムービー、デジタルスチルカメラ、携帯電話端末等として利用することができる。
 100 不揮発性記憶システム
 1 アクセスモジュール(アクセス装置)
 2 情報記録モジュール(情報記録装置)
 11,22 CPU
 12,23 RAM
 13 情報記録モジュールインタフェース
 14,24 ROM
 21 アクセスモジュールインタフェース
 25 不揮発性メモリ
 101 アプリケーション制御部
 102 ファイルシステム制御部
 103 分割残容量算出処理部
 104 情報記録モジュールアクセス部
 105 残容量情報格納部
 201 ファイルシステム管理情報領域
 202 ユーザデータ領域
 203 マスターブートレコード・パーティションテーブル
 204 パーティションブートセクタ
 205,206 FAT
 207 ルートディレクトリエントリ
 208 ディレクトリエントリ
 301 残容量情報
 302 ファイルシステム情報
 
 

Claims (22)

  1.  ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置における残容量算出方法であって、
     前記不揮発性メモリを管理するファイルシステムの領域管理情報であって、複数の固定長ブロック領域から構成される前記領域管理情報を、前記固定長ブロック領域ごとに参照し、前記固定長ブロック領域ごとに前記固定長ブロック領域で管理される前記不揮発性メモリ上の領域に含まれる残容量である分割残容量を算出する分割残容量算出ステップと、
     前記分割残容量算出ステップにより、前記分割残容量が算出される度に、前記固定長ブロック領域ごとに算出された前記分割残容量を合計することで、算出済み総残容量を算出し、算出した前記算出済み総残容量と所定の必要残容量とを比較し、前記算出済み総残容量が前記必要残容量以上となった時点で、ファイルアクセス処理の開始を許可するファイルアクセス可否判定ステップと、
    を備える残容量算出方法。
  2.  前記分割残容量算出ステップは、
     先頭の前記固定長ブロック領域から順に、前記固定長ブロック領域ごとに、前記分割残容量を算出する、
     請求項1記載の残容量算出方法。
  3.  前記分割残容量算出ステップは、
     終端の前記固定長ブロック領域を第1の処理対象として、前記分割残容量を算出する、
     請求項1記載の残容量算出方法。
  4.  前記分割残容量算出ステップは、
     前記アクセス装置内のメモリ上に、前記各固定長ブロック領域に対する残容量算出処理の実施の有無を示すステータスと、前記各固定長ブロック領域で管理される前記不揮発性メモリ上の領域に含まれる残容量である前記分割残容量の情報と、を含む残容量情報を格納する、
     請求項1に記載の残容量算出方法。
  5.  ファイルアクセスにより前記分割残容量に増減が発生した時点で、前記残容量情報を逐次更新する残容量情報更新ステップを更に備える、
     請求項4記載の残容量算出方法。
  6.  前記ファイルアクセス可否判定ステップは、
     前記ファイルアクセス処理の開始を許可した後、生成されたファイルデータを前記アクセス装置内のメモリ上に一時保持するステップと、
     前記分割残容量が算出されていない残りの前記固定長ブロック領域に対して、前記分割残容量を算出する処理を実行するよう前記分割残容量算出ステップに要求するステップと、
     全ての前記固定長ブロック領域に対して、前記分割残容量の算出処理が完了した後に、前記アクセス装置内の前記メモリに保持した前記ファイルデータを前記不揮発性メモリに記録するステップと、
    を更に備える、
     請求項1記載の残容量算出方法。
  7.  ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置における残容量算出方法であって、
     前記不揮発性メモリを管理するファイルシステムの領域管理情報であって、第0固定長ブロック領域、第1固定長ブロック領域、・・・、第(N-1)固定長ブロック領域のN個(Nは自然数)の固定長ブロック領域から構成される前記領域管理情報についての情報であるファイルシステム情報を取得するファイルシステム情報取得ステップと、
     第K固定長ブロック領域(Kは自然数、K<N)に対して、前記第K固定長ブロック領域で管理される前記不揮発性メモリ上の領域に含まれる残容量である分割残容量C(K)を算出する分割残容量算出ステップと、
     前記分割残容量算出ステップにより算出された前記分割残容量C(K)を、算出済み総残容量SUMに加算することで、前記第K固定長ブロック領域で管理される前記分割残容量C(K)を含めた算出済み総残容量SUMを算出する算出済み総残容量算出ステップと、
     前記算出済み総残容量算出ステップにより算出された算出済み総残容量SUMと所定の必要残容量とを比較する比較ステップと、
     前記比較ステップでの比較結果に基づいて、ファイルアクセス処理の開始を許可するファイルアクセス可否判定ステップと、
    を備え、
     第(N-1)固定長ブロック領域から固定長ブロック番号の降順に前記固定長ブロック領域を処理対象として、前記分割残容量算出ステップと、前記算出済み総残容量算出ステップと、前記比較ステップと、前記ファイルアクセス可否判定ステップと、を繰り返し実行し、
     第(N-m)固定長ブロック領域(mは自然数)が処理対象である場合に、前記比較ステップが、前記算出済み総残容量SUMが前記必要残容量以上となったとき、
    (1)前記ファイルアクセス可否判定ステップは、前記ファイルアクセス処理の開始を許可し、
    (2)第0固定長ブロックから第(N-m-1)固定長ブロックを処理対象として、固定長ブロック番号の昇順に、前記前記分割残容量算出ステップと、前記算出済み総残容量算出ステップと、前記ファイルアクセス処理の開始が許可された後、生成されたファイルデータを前記アクセス装置内のメモリ上に一時保持するステップと、を繰り返し実行し、
    (3)全ての前記固定長ブロック領域に対して、前記分割残容量の算出処理が完了し、全ての前記固定長ブロック領域に対する前記算出済み総残容量が算出された後に、前記アクセス装置内の前記メモリに保持した前記ファイルデータを前記不揮発性メモリに記録する、
     残容量算出方法。
  8.  ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置における残容量算出方法であって、
     前記不揮発性メモリを管理するファイルシステムの領域管理情報であって、第0固定長ブロック領域、第1固定長ブロック領域、・・・、第(N-1)固定長ブロック領域のN個(Nは自然数)の固定長ブロック領域から構成される前記領域管理情報についての情報であるファイルシステム情報を取得するファイルシステム情報取得ステップと、
     第K固定長ブロック領域(Kは自然数、K<N)に対して、前記第K固定長ブロック領域で管理される前記不揮発性メモリ上の領域に含まれる残容量である分割残容量C(K)を算出する分割残容量算出ステップと、
     前記分割残容量算出ステップにより算出された前記分割残容量C(K)を、算出済み総残容量SUMに加算することで、前記第K固定長ブロック領域で管理される前記分割残容量C(K)を含めた算出済み総残容量SUMを算出する算出済み総残容量算出ステップと、
     前記算出済み総残容量算出ステップにより算出された算出済み総残容量SUMと所定の必要残容量とを比較する比較ステップと、
     前記比較ステップでの比較結果に基づいて、ファイルアクセス処理の開始を許可するファイルアクセス可否判定ステップと、
    を備え、
     第(N-1)固定長ブロック領域から固定長ブロック番号の降順に前記固定長ブロック領域を処理対象として、前記分割残容量算出ステップと、前記算出済み総残容量算出ステップと、前記比較ステップと、前記ファイルアクセス可否判定ステップと、を繰り返し実行し、
     第(N-m)固定長ブロック領域(mは自然数)が処理対象である場合に、前記比較ステップが、前記算出済み総残容量SUMが前記必要残容量以上となったとき、
    (1)前記ファイルアクセス可否判定ステップは、前記ファイルアクセス処理の開始を許可し、
    (2)第(N-m-1)固定長ブロックから第0固定長ブロックを処理対象として、固定長ブロック番号の降順に、前記前記分割残容量算出ステップと、前記算出済み総残容量算出ステップと、前記ファイルアクセス処理の開始が許可された後、生成されたファイルデータを前記アクセス装置内のメモリ上に一時保持するステップと、を繰り返し実行し、
    (3)全ての前記固定長ブロック領域に対して、前記分割残容量の算出処理が完了し、全ての前記固定長ブロック領域に対する前記算出済み総残容量が算出された後に、前記アクセス装置内の前記メモリに保持した前記ファイルデータを前記不揮発性メモリに記録する、
     残容量算出方法。
  9.  ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置であって、
     前記不揮発性メモリを管理するファイルシステムの領域管理情報であって、複数の固定長ブロック領域から構成される前記領域管理情報を、前記固定長ブロック領域ごとに参照し、前記固定長ブロック領域ごとに前記固定長ブロック領域で管理される前記不揮発性メモリ上の領域に含まれる残容量である分割残容量を算出する分割残容量算出処理部と、
     前記分割残容量算出処理部に対し前記分割残容量の算出処理の実行を要求するアプリケーション制御部と、
    を備え、
     前記分割残容量算出処理部が固定長ブロック領域ごとの前記分割残容量を算出する度に、前記アプリケーション制御部が、前記固定長ブロック領域ごとに算出された前記分割残容量を合計することで、算出済み総残容量を算出し、算出した前記算出済み総残容量と所定の必要残容量とを比較し、前記算出済み総残容量が前記必要残容量以上の残容量であると判定された時点で、ファイルアクセス処理の開始を許可する、
     アクセス装置。
  10.  前記アプリケーション制御部は、
     前記分割残容量算出処理部に対して、前記分割残容量の算出処理の実行を要求する際に、算出対象として1つ以上の前記固定長ブロック領域を指定し、
     前記分割残容量算出処理部は、
     前記指定された1つ以上の固定長ブロック領域に対して、前記分割残容量の算出処理を実行する、
     請求項9に記載のアクセス装置。
  11.  前記アプリケーション制御部は、
     前記分割残容量算出処理部に対して、前記分割残容量の算出処理の実行を要求する際に、算出対象領域として、先頭の前記固定長ブロック領域から順に、1つ以上の前記固定長ブロック領域を指定する、
     請求項10に記載のアクセス装置。
  12.  前記アプリケーション制御部は、
     前記分割残容量算出処理部に対して、前記分割残容量の算出処理の実行を要求する際に、算出対象領域として、終端の前記固定長ブロック領域を第1に指定する、
     請求項10に記載のアクセス装置。
  13.  前記分割残容量算出処理部は、
     前記アクセス装置内のメモリ上に、前記各固定長ブロック領域に対する前記分割残容量の算出処理の実施の有無を示すステータスと、前記各固定長ブロック領域で管理される前記不揮発性メモリ上の領域に含まれる残容量である前記分割残容量の情報と、を含む残容量情報を格納する、
     請求項9に記載のアクセス装置。
  14.  前記分割残容量算出処理部は、
     ファイルアクセスにより前記分割残容量に増減が発生した時点で、前記分割残容量の増減に関する情報を更新する、
     請求項13に記載のアクセス装置。
  15.  前記アプリケーション制御部は、
     前記ファイルアクセス処理の開始を許可した後、生成されたファイルデータを前記アクセス装置内のメモリ上に一時保持し、全ての前記固定長ブロック領域に対する残容量算出処理が完了した後に、前記保持したファイルデータを前記不揮発性メモリに記録する、
     請求項9に記載のアクセス装置。
  16.  前記アプリケーション制御部は、
     前記分割残容量算出処理部に対して、前記分割残容量の算出処理の実行を要求する際に、算出対象領域の開始クラスタ番号と前記領域の大きさに関する情報を指定し、
     前記分割残容量算出処理部は、
     前記指定された算出対象領域を管理対象とする1つ以上の前記固定長ブロック領域に対して前記分割残容量の算出処理を実行する、
     請求項9に記載のアクセス装置。
  17.  前記アプリケーション制御部は、
     前記分割残容量算出処理部に対して、前記分割残容量の算出処理の実行を要求する際に、算出対象領域の開始クラスタ番号と前記領域の大きさに関する情報として、ファイルシステムが管理する領域の先頭から順に、算出対象領域の前記開始クラスタ番号と前記領域の大きさに関する情報を指定する、
     請求項16に記載のアクセス装置。
  18.  前記アプリケーション制御部は、
     前記分割残容量算出処理部に対して、前記分割残容量の算出処理の実行を要求する際に、ファイルシステムが管理する領域の終端領域を、第1に、前記分割残容量の算出処理の処理対象とし、算出対象領域の開始クラスタ番号と前記領域の大きさに関する情報として、前記終端領域の開始クラスタ番号と前記終端領域の大きさに関する情報を第1に指定する、
     請求項16に記載のアクセス装置。
  19.  前記アプリケーション制御部は、
     前記分割残容量算出処理部に対して、前記分割残容量の算出処理の実行を要求する際に、前記所定の必要残容量を指定し、
     前記分割残容量算出処理部は、
     前記指定された所定の必要残容量以上の残容量が算出されるまで、前記固定長ブロック領域単位で前記残容量の算出処理を繰り返す、
     請求項9に記載のアクセス装置。
  20.  前記分割残容量算出処理部は、
     前記指定された所定の必要残容量以上の残容量が算出されるまで、前記固定長ブロック領域単位で前記分割残容量の算出処理を繰り返す際に、前記固定長ブロック領域の先頭から順に前記分割残容量の算出処理を実行する、
     請求項19に記載のアクセス装置。
  21.  前記分割残容量算出処理部は、
     前記指定された所定の必要残容量以上の残容量が算出されるまで、前記固定長ブロック領域単位で前記分割残容量の算出処理を繰り返す際に、前記固定長ブロック領域の終端ブロック領域に対する前記分割残容量の算出処理を、第1に実行する、
     請求項19に記載のアクセス装置。
  22.  ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置における残容量算出方法をコンピュータに実行させるプログラムであって、
     前記不揮発性メモリを管理するファイルシステムの領域管理情報であって、複数の固定長ブロック領域から構成される前記領域管理情報を、前記固定長ブロック領域ごとに参照し、前記固定長ブロック領域ごとに前記固定長ブロック領域で管理される前記不揮発性メモリ上の領域に含まれる残容量である分割残容量を算出する分割残容量算出ステップと、
     前記分割残容量算出ステップにより、前記分割残容量が算出される度に、前記固定長ブロック領域ごとに算出された前記分割残容量を合計することで、算出済み総残容量を算出し、算出した前記算出済み総残容量と所定の必要残容量とを比較し、前記算出済み総残容量が前記必要残容量以上となった時点で、ファイルアクセス処理の開始を許可するファイルアクセス可否判定ステップと、
    を備える残容量算出方法をコンピュータに実行させるプログラム。
     
     
PCT/JP2009/002554 2008-06-09 2009-06-05 アクセス装置、及び残容量算出方法 WO2009150810A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009554651A JP5362594B2 (ja) 2008-06-09 2009-06-05 アクセス装置、及び残容量算出方法
US12/672,373 US9015444B2 (en) 2008-06-09 2009-06-05 Access apparatus and available storage space calculation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008150424 2008-06-09
JP2008-150424 2008-06-09

Publications (1)

Publication Number Publication Date
WO2009150810A1 true WO2009150810A1 (ja) 2009-12-17

Family

ID=41416523

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/002554 WO2009150810A1 (ja) 2008-06-09 2009-06-05 アクセス装置、及び残容量算出方法

Country Status (3)

Country Link
US (1) US9015444B2 (ja)
JP (1) JP5362594B2 (ja)
WO (1) WO2009150810A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018186455A1 (ja) * 2017-04-07 2018-10-11 パナソニックIpマネジメント株式会社 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム
CN110764704A (zh) * 2019-10-18 2020-02-07 浙江大华技术股份有限公司 一种环境变量写入方法、存储介质及电子装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473708B1 (en) 2010-12-23 2013-06-25 Netapp, Inc. Method and system for managing storage units
US9020991B2 (en) * 2012-08-10 2015-04-28 Ca, Inc. System and method for analyzing available space in data blocks
US9372635B2 (en) * 2014-06-03 2016-06-21 Ati Technologies Ulc Methods and apparatus for dividing secondary storage
JP6515799B2 (ja) * 2015-12-18 2019-05-22 京セラドキュメントソリューションズ株式会社 電子機器及びメモリー寿命警告プログラム
US20190044809A1 (en) * 2017-08-30 2019-02-07 Intel Corporation Technologies for managing a flexible host interface of a network interface controller
JP7153435B2 (ja) * 2017-10-12 2022-10-14 ラピスセミコンダクタ株式会社 不揮発性メモリのデータ書換方法及び半導体装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008016081A1 (fr) * 2006-08-04 2008-02-07 Panasonic Corporation Contrôleur de mémoire, dispositif de mémoire non-volatile, dispositif d'accès et système de mémoire non-volatile

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4036056B2 (ja) * 2002-08-13 2008-01-23 ソニー株式会社 記録装置および方法、記録媒体、並びにプログラム
WO2006098212A1 (ja) * 2005-03-15 2006-09-21 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
JP2007214786A (ja) 2006-02-08 2007-08-23 Toshiba Corp 携帯型撮像装置
JP4758794B2 (ja) 2006-03-16 2011-08-31 富士通株式会社 メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法
US8589617B2 (en) 2006-12-15 2013-11-19 Panasonic Corporation Write once recording device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008016081A1 (fr) * 2006-08-04 2008-02-07 Panasonic Corporation Contrôleur de mémoire, dispositif de mémoire non-volatile, dispositif d'accès et système de mémoire non-volatile

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018186455A1 (ja) * 2017-04-07 2018-10-11 パナソニックIpマネジメント株式会社 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム
CN110764704A (zh) * 2019-10-18 2020-02-07 浙江大华技术股份有限公司 一种环境变量写入方法、存储介质及电子装置
CN110764704B (zh) * 2019-10-18 2023-09-05 浙江大华技术股份有限公司 一种环境变量写入方法、存储介质及电子装置

Also Published As

Publication number Publication date
JP5362594B2 (ja) 2013-12-11
US9015444B2 (en) 2015-04-21
JPWO2009150810A1 (ja) 2011-11-10
US20120131301A1 (en) 2012-05-24

Similar Documents

Publication Publication Date Title
JP5362594B2 (ja) アクセス装置、及び残容量算出方法
US6823417B2 (en) Memory controller for memory card manages file allocation table
JP4691209B2 (ja) アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
JP5481493B2 (ja) アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
JP5485163B2 (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP5577238B2 (ja) アクセス装置、情報記録装置、コントローラ、及び情報記録システム
US20140149711A1 (en) Storage system and storage control method that compress and store data elements
JPH11203191A (ja) 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体
US8549213B2 (en) Nonvolatile storage device, access device and nonvolatile storage system
JP2007233512A (ja) データ記録装置、データ記録方法、及びプログラム
US20140331007A1 (en) Virtual library controller and control method
KR102094786B1 (ko) 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법
JP2009205591A (ja) アクセスモジュール、情報記録モジュール、及び情報記録システム
WO2018186455A1 (ja) 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム
US7424573B2 (en) Information processing apparatus, method, and program for formatting multiple recording media integrated as one
JP2009205590A (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP4480592B2 (ja) ファイルシステム
JP2006164017A (ja) 情報処理装置、情報処理方法、プログラム
JP7262977B2 (ja) 記録装置及びその制御方法、並びにプログラム
JP4734898B2 (ja) 情報処理装置、情報処理方法、プログラム
KR100882470B1 (ko) 미디어 파일 편집 방법
JP2021033615A (ja) 制御装置
JP2008152414A (ja) ライトワンス型情報記録装置、コントローラ、アクセス装置、及びライトワンス型情報記録システム
US20120072473A1 (en) Information Processing Apparatus and Information Processing Method

Legal Events

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

Ref document number: 2009554651

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 12672373

Country of ref document: US

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

Ref document number: 09762241

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09762241

Country of ref document: EP

Kind code of ref document: A1