WO2007034706A1 - 情報記録媒体アクセス装置、及びデータ記録方法 - Google Patents

情報記録媒体アクセス装置、及びデータ記録方法 Download PDF

Info

Publication number
WO2007034706A1
WO2007034706A1 PCT/JP2006/318023 JP2006318023W WO2007034706A1 WO 2007034706 A1 WO2007034706 A1 WO 2007034706A1 JP 2006318023 W JP2006318023 W JP 2006318023W WO 2007034706 A1 WO2007034706 A1 WO 2007034706A1
Authority
WO
WIPO (PCT)
Prior art keywords
area
information
area management
management block
recording
Prior art date
Application number
PCT/JP2006/318023
Other languages
English (en)
French (fr)
Inventor
Takuji Maeda
Shinji Inoue
Original Assignee
Matsushita Electric Industrial Co., Ltd.
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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to JP2007536454A priority Critical patent/JP4859837B2/ja
Priority to CN2006800348174A priority patent/CN101268449B/zh
Priority to EP06797830.4A priority patent/EP1936508B1/en
Priority to US12/067,671 priority patent/US7984231B2/en
Publication of WO2007034706A1 publication Critical patent/WO2007034706A1/ja

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0613Improving I/O performance in relation to throughput
    • 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]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10944Real-time recording or reproducing, e.g. for ensuring seamless playback of AV data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1291Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
    • G11B2020/1292Enhancement of the total storage capacity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media

Definitions

  • the present invention relates to an information recording medium access device for accessing an information recording medium in which stored data are managed by a file system, and a data recording method for the information recording medium.
  • Memory cards which are one type of these information recording media, are small and light, and are being widely used mainly for small portable devices such as digital still cameras and portable telephone terminals, and are rapidly spreading.
  • Access device power also interprets the input command.
  • Access device power also interprets the input command.
  • the data stored in the information recording medium is managed by the file system, and the user can easily handle the stored data as a file.
  • file systems conventionally used there are FAT file system, UDF file system (Universal Disk Format) Disk NTFS file system (New Technology File System), and the like.
  • a memory card whose data is managed by these file systems can share files between devices that interpret the same file system, so data can be exchanged between devices.
  • the MBR.PT 303 is a part that divides the entire area in the logical address space managed by the file system into a plurality of areas and stores information for managing each one as a partition.
  • the PBS 304 is a part for storing management information in one partition.
  • the FATs 305 and 306 are portions indicating physical storage positions of data included in the file.
  • RDE 307 is a part for storing information of files and directories existing immediately below the root directory.
  • FAT 305, 306 are data included in the file Since the file system management information area 301 normally has the same information, the FAT 305 and the FAT 306 exist in the file system management information area 301, and are duplicated for security.
  • FIG. 3A shows an example of a directory entry 401 in the FAT file system
  • FIG. 3B shows an example of the FAT 305 and 306,
  • FIG. 3C shows an example of the user data area 302.
  • the FAT file system stores, in part of the RDE 307 and the user data area 302, a directory entry 401 storing information such as file name, file size, file attribute and the like.
  • the directory entry 401 contains the file name, attribute, time stamp, starting cluster number, and file size.
  • the entity of file data is stored in the user data area 302.
  • TXT is recorded in four clusters of cluster numbers 10, 11, 12, and 13. ing. That is, when file data is recorded using the FAT file system, the file data is required to be recorded simultaneously in the user data area 302 and simultaneously recorded in the directory entries 401 and FATs 305 and 306.
  • the directory entry is read out first (S701).
  • the directory entry is stored in the area of the RDE 307 in the file system management information 301 shown in FIG. 2 or in a partial area of the user data area 302.
  • the head data of the file for recording real-time data is stored, and the cluster number is confirmed (S702).
  • the FATs 305 and 306 are read out, the link on the FAT starting from the cluster number confirmed in S 702 is searched, and the cluster number of the writing position is acquired (S 703).
  • the cluster number of the writing position is acquired (S 703).
  • it is checked whether or not it is necessary to acquire a new free recording area (S704). If it is determined that it is necessary to acquire a new free area, such as when adding data to the end of the file, the free recording area is searched on the FAT, and area acquisition processing for allocating 1 cluster is performed (S705). Details of the area acquisition process will be described later.
  • the update of the search start cluster number in S 803 is as follows. If the reference cluster number is the last cluster (LAST-CLU) of the user data area 302, substitute "2" for the value of search start cluster number. Otherwise, substitute the value obtained by adding 1 to the reference cluster number to the value of the search start cluster number.
  • the present invention suppresses the number of times of updating of the FAT or the like for the information recording medium managed by the file system, regardless of the arrangement state of the free recording area, and realizes real time property at the time of recording.
  • An object of the present invention is to provide an information recording medium access device and a data recording method that guarantee.
  • the information recording medium access device of the present invention is managed by a file system in an information recording medium access device for accessing an information recording medium in which stored data are managed by a file system.
  • the area management information is divided into fixed length blocks, an area for storing information on the free area length included in each fixed length block is generated on the memory in the information recording medium access device, and management data is stored.
  • An area management block control unit is provided which uses the information stored in the area management block information for area allocation at the time of recording.
  • the information recording medium access device of the present invention has a data recording area configured by gathering a plurality of clusters as a management unit, and an entry as one management information unit for each cluster.
  • the area management block control unit is configured to calculate a value indicating the number of free clusters in the area management block, and when the number of free clusters in the area management block is equal to or greater than a first threshold value.
  • the first threshold value is a cluster capable of recording file data that must be recorded at least within a data recording period of (t 1) times, which is sandwiched between t successive file system management information updates.
  • the area management block control unit combines two or more of the entry information so that two or more physically continuous clusters can be obtained in the data recording area for each area management block.
  • the number of free clusters is equal to the number of free clusters, which is managed as one set, and the number of clusters included in the set in which all clusters indicated by the entry information of each set are free areas is compared with the first threshold. If it is above the threshold, the recording area managed by the corresponding area management block may be an area capable of data recording.
  • the area management block control unit is configured to calculate a value indicating the number of free clusters in the area management block, and when the number of free clusters in the area management block is equal to or greater than a first threshold value.
  • the area management block control unit refers to the area management block information held in the memory, and the free area included in the area management block whose free area length is a predetermined value or more. Allocate an area at the time of file data recording.
  • the data recording method of the present invention is managed by a file system.
  • the area management information is divided into fixed length blocks, area management block information for storing information on the free area length included in each fixed length block is generated on the memory in the information recording medium access device, and the file data is stored.
  • the information stored in the area management block information is used for area allocation at the time of recording.
  • a data recording area configured by collecting a plurality of clusters as management units, and entry information as one management information unit for each of the clusters.
  • the lock is an area in which data can be written, and area management block information on each area management block and the free area length in the area management block is held in the memory.
  • the area management block manages A flag indicating that a recording area is usable, and if the number of free clusters in the area management block is less than the first threshold, the recording area managed by the area management block is not usable.
  • the flag indicating the may be stored in the memory as the area management block information.
  • the first threshold is a cluster capable of recording file data that must be recorded at least within a data recording period of (t 1) times, which is sandwiched between t consecutive file system management information updates. As a number.
  • the area management block manages A flag indicating that a recording area is usable, and if the number of free clusters in the area management block is less than the first threshold, the recording area managed by the area management block is not usable.
  • the flag indicating the may be stored in the memory as the area management block information.
  • the recording area managed by the corresponding area management block may be a data recordable area.
  • a free area included in the area management block whose free area length is a predetermined value or more may be allocated at the time of file data recording. Oh.
  • FIG. 1 is an explanatory view showing an example of the relationship between an erase block and a sector in a flash memory.
  • FIG. 2 is an explanatory view showing the configuration of the FAT file system.
  • FIG. 3A is an explanatory diagram showing an example of a directory entry in the FAT file system.
  • FIG. 3B is an explanatory view showing an example of FAT in the FAT file system.
  • FIG. 4 is a flowchart showing the recording process of real time data in the conventional access device.
  • FIG. 8 is an explanatory view showing an example of the data recording position in the FAT file system.
  • FIG. 9 is an explanatory view showing an example of buffer usage in the access device and recording timing on the information recording medium.
  • FIG. 10 is an explanatory view showing an information recording medium access device and a memory card in the embodiment of the present invention.
  • FIG. 11 is a flow chart showing a series of processing flows when inserting a memory card in the access device of the embodiment of the present invention.
  • FIG. 12 is an explanatory view showing an example of a management unit when managing the FAT by the area management block control unit in the embodiment of the present invention.
  • FIG. 13 is a flowchart showing generation processing of area management block information in the embodiment of the present invention.
  • FIG. 14 is an explanatory view showing an example of area management block information in the embodiment of the present invention.
  • FIG. 16A is a flow chart showing free space acquisition processing in the access device according to the embodiment of the present invention.
  • FIG. 16B is a flow chart showing free space acquisition processing in the access device of the embodiment of the present invention.
  • FIG. 17 is an explanatory diagram showing an example of the FAT state when managing the FAT by the area management block control unit in the embodiment of the present invention.
  • FIG. 19A is a flowchart showing generation processing of area management block information in the embodiment of the present invention.
  • FIG. 19B is a flowchart showing generation processing of area management block information in the embodiment of the present invention.
  • FIG. 20 is a flowchart showing a process of re-decided searched block in the embodiment of the present invention.
  • FIG. 22A is a diagram showing a recording unit and a slot formed of a plurality of clusters in the embodiment of the present invention.
  • FIG. 22B is a diagram showing a recording unit and a slot formed of a plurality of clusters in the embodiment of the present invention.
  • FIG. 10 is a configuration diagram of an information recording medium access device 1 (hereinafter referred to as access device 1) and a memory card 2 which is an information recording medium in the present embodiment.
  • the access device 1 includes a CPU 11, a RAM 12, a connector 13, and a ROM 14.
  • the connector 13 is a connection portion between the access device 1 and the memory card 2, and various commands such as read / write and data are transmitted / received through the connector 13.
  • the ROM 14 stores a program for controlling the access device 1, and this program uses the RAM 12 as a temporary storage area and operates on the CPU 11.
  • the file system control unit 16 further includes an area management block control unit 18 which manages FAT1 and FAT2 in units of fixed length blocks, and controls an empty recording area.
  • the area management block controller 18 generates area management block information 19 for storing information indicating the free recording area length and effectiveness of each FAT block formed by dividing FAT1 and FAT2 into fixed lengths on the RAM 12 as a memory. Use this to control free space.
  • Memory card 2 in FIG. 10 includes host I / F 21, CPU 22, RAM 23, ROM 24, and nonvolatile memory 25.
  • the host IZF 21 is an interface for transmitting and receiving various commands and data to and from the access device 1.
  • FIG. 11 shows a series of processes when the memory card 2 is inserted in the access device 1 of the present embodiment. It shows the flow.
  • a signal for notifying the insertion of the memory card 2 is also transmitted to the CPU 11 as to the signal line force connected to the connector 13, and the insertion of the memory card is detected. (S 101).
  • the access control unit 17 When the CPU 11 receives the insertion notification signal of the memory card 2, the access control unit 17 is activated, and the program of the access control unit 17 performs the initialization process of the memory card 2 (S102).
  • the access device 1 starts supplying power and clock to the memory card 2 and inputs an initialization command to the memory card 2.
  • the memory card 2 having received the initialization command starts power supply to the internal non-volatile memory 25. Thereafter, preparation is made to access the nonvolatile memory 25 of the memory card 2 from the access device 1, such as error check of recorded data, generation of a logical address' physical address conversion table, and the like.
  • the memory card 2 notifies the access device 1 of the completion of the initialization.
  • the CPU 11 activates the file system control unit 16 and reads the file system management information from the file system management information area of the non-volatile memory 25 of the memory card 2 via the access control unit 17.
  • the file system control unit 16 confirms the contents of the read file system management information, and confirms whether there is an error in the stored information or whether the file system can be controlled (S104).
  • the access device will A series of initialization processes are ended without performing processing for subsequent mounting assuming that the card is in the unmounted state in which the card is not inserted (S105, S106). If there is a problem with the memory card 2 file system, it will be unmounted. In this case, the access device 1 does not mount the memory card 2 and does not realize file access processing unless the correct file system is constructed by reformatting or the like.
  • the file system control unit 16 implements mounting processing of the memory card 2 (S 107).
  • the file system control section 16 processes the information necessary for accessing the file system of the memory capacity 2 (addresses where various management information is recorded and the cluster size, etc.) ⁇ Extract and hold on RAM12.
  • the CPU 11 activates the area management block control unit 18, and generates area management block information 19 (S108). Detailed processing contents of S108 will be described later.
  • the access device 1 holds a flag indicating that the memory card is in a mounted state on the RAM 12, and ends the series of initialization processing (S109). When set in the mounting state, it becomes possible to access the file system constructed on the memory card 2 using the information held on the RAM 12 in the mounting process of S107.
  • FIG. 12 is a diagram showing an example of management units when the area management block control unit 18 manages FAT1 and FAT2.
  • FAT16 file system which manages FAT entries in 16-bit units, as a file system.
  • each parameter is assumed to have a cluster size of 16 kB, a FAT block size of 512 B, and a FAT size of N x 512 B.
  • FAT blocks are created by dividing FAT into fixed-length blocks, and FAT is divided into N FAT blocks.
  • the area management block control unit 18 divides FAT1 and FAT2 sequentially from the top of the table in units of FAT block size, and manages information of free recording area length.
  • the FAT entry value included in one FAT block represents information on 256 clusters, which is area management information of a user data area of 4 MB.
  • the user data area can be divided in units of 4 MB by the FAT block. However, since the size of the user data area is not necessarily a multiple of 4 MB, the FAT entry near the end of FAT block N is not actually used, and the corresponding user data area is not used. Do not use the area. Furthermore, the two FAT entries present at the top of FAT1 and FAT2 store identifiers for identifying FATs, and the area managed by FAT block 1 is actually (4 MB-16 kB X 2) worth of users It becomes a data area.
  • the value in 2-byte units in the FAT block designated by COUNTER is determined. If the value of the FAT entry is "0x0000", it is determined that the corresponding cluster is free and counted as one free cluster. This process is repeated for all FAT entries present in the FAT block specified by COUNTER to calculate the total number of free clusters present in the FAT block.
  • a threshold (S203). Although the details of the threshold will be described later, the case where the threshold is set to "100" will be described as an example. If the number of free clusters is "100" or more, the value is equal to or greater than the threshold value, so a flag (FLAG) indicating the validity of the FAT block is set to "valid (VALID)" (S204). If the number of free clusters is less than "100", the value is less than the threshold value, so the flag is set to "invalid (INVALID)" (S205).
  • the calculated number of free clusters and the value of the flag are stored in the area management block information 19 as information of the COUNTER-th FAT block (S 206). After this, if it is COUNTER force S "N”, processing for all FAT blocks is completed, so S2 The process ends without returning to 02 (S207). If COUNTER is not "N”, COUNTER is counted by "1 ,,” and the process returns to S202 (S208).
  • the area management block information 19 is composed of information capacity of the number of FAT blocks ("N" in this example), and for each FAT block, the number of free clusters included in the FAT block and a flag are stored.
  • FIG. 15 is a flowchart showing the recording process of real time data in the access device.
  • the area management block information created as described above is used for free area acquisition processing at the time of recording of real time data shown in FIG.
  • the free space acquisition process according to the present embodiment will be described with reference to FIGS. 15, 16A, and 16B.
  • FIG. 16A and FIG. 16B are flowcharts of the free area acquisition process performed in S305 of FIG.
  • This free area acquisition process is a process for allocating free areas based on the area management block information. It is assumed that FAT1 and FAT2 are divided into N FAT blocks and managed.
  • a search start FAT block number (START — FAT ⁇ BL ⁇ NO) including the FAT entry corresponding to the search start cluster number on the FAT is calculated (S401) .
  • the search start cluster number in the initial state is 2 which indicates the first cluster number.
  • the formula for calculating the search start FAT block number is as follows.
  • Search start FAT block number Ip (search start cluster number X 2 Z 512) + 1
  • Ip (X) means the integer part of X. For example, if the search start cluster number is "300", the search start FAT block number is "2".
  • the search start cluster number is substituted for the value of the reference cluster number currently being referred to.
  • the start FAT block number is substituted (S402).
  • the area management block information 19 is referred to, and it is confirmed whether the flag of the FAT block corresponding to the reference FAT block number is “VALID” (S 403). If it is "VALID”, acquisition of a free cluster is attempted in the FAT block corresponding to the reference FAT block number (S404).
  • the values are checked in the order of the FAT entry force corresponding to the reference cluster number, and a FAT entry that is “OxOOOO” is searched. At this time, every time one FAT entry is confirmed, "1" is added to the value of the reference cluster number, and the current reference is updated to update the cluster number.
  • Reference FAT block number is smaller than the search start FAT block number by 1
  • FIG. 17 is a diagram showing the states of FAT1 and FAT2 when the area management block information is as shown in FIG.
  • the hatched FAT block 3 and FAT block 4 are not used for recording real-time data because the number of free clusters is less than the threshold 100. If real-time data is recorded when the value of the search start cluster number is “2” in this FAT state, the buffer usage in the access device 1 and the recording timing on the memory card 2 are as shown in FIG.
  • real-time data of 154 clusters is first recorded in the free space included in FAT block 1.
  • record FAT1, FAT2 and directory entries This process is collectively called FAT update.
  • FAT update In this FAT1 and FAT2 recording, since the update portion is limited to FAT block 1, the update amount is only one FAT block.
  • FAT update that is, FAT1, FAT2, and the strength with which the directory entry is recorded.
  • the update part is only one FAT block.
  • FAT block 3 and FAT block 4 are not used for recording real-time data because the flag in the area management block information 19 shown in FIG. 14 is “INVALID”. Therefore, real time data is recorded in the vacant area of 178 clusters included in the next FAT block 5.
  • FAT update ie, FAT1, FAT2 and directory entry are recorded similarly, but in this case, the update part is only one FAT block.
  • the amount of FAT update is always FAT by recording real-time data only in the free recording area included in the FAT block in which the flag in the area management block information 19 is "VALID". Only one block, and two consecutive FAT updates and FAT updates It is guaranteed that the amount of real-time data recorded in between will be the number of clusters above the threshold. Therefore, it is possible to prevent the overflow of the server due to the frequent occurrence of the FAT update, and to guarantee the real time property at the time of the real time data recording.
  • a total of three writes of FAT1, FAT2 and directory entries are defined as one set of FAT update, and the processing time of one set of FAT update (T_FAT, hereinafter Tf and below) Assumes) to be 100 msec.
  • T_FAT processing time of one set of FAT update
  • the bit rate (TARGET_RATE, hereinafter Tr) of real-time data recorded by the access device 1 is 3 MBZs
  • the rate (REC-RATE, hereinafter Rr) at which the real-time data is recorded on the memory card 2 is 4 MBZs.
  • Td time required to record real-time data for one second
  • BORDER 1 Rr X Td / 1000 / Fc / Cs
  • a FAT block less than BORDER-1 is treated as "INVALID" by the above method, and the recording area managed by the FAT block is not used for recording real-time data.
  • the recording area managed by the FAT block is not used for recording real-time data.
  • the determination of the threshold value in this case will be described next.
  • BORDER is determined for the amount of real-time data that requires minimum recording, within two data recording periods sandwiched by three consecutive FAT updates.
  • the BORDER this time is, in particular, BORDER-2.
  • the definitions of FAT update, Tf, Tr, Rr, Td, FAT update count, FAT-COUNT (Fc), cluster size of CL U-SIZE (Cs) are as described above. .
  • BORDER-2 153.6 is calculated. That is, by setting "154" as BORDER-2 and using BORDER-2 or more clusters, it is possible to guarantee real-time property at the time of real time data recording.
  • WORK 1 and WORK 2 obtained previously are summed up to obtain the number of free clusters (S 506).
  • the value of the number of free clusters obtained is compared with BORDER-2 determined in advance (S 507). If the number of free clusters is BORDER-2 or more, the FAT block indicated by the value of COUNTER can be used for recording real-time data, so that the FAT block is effective for recording real-time data.
  • the flag is set to "VALID" to indicate (S508).
  • the flag of "VALID” and WORK 1 are stored in the area management block information as information of the FAT block indicated by the value of "UNTERM" (S511).
  • the FAT block indicated by the value of COUNTER can not be used for recording real-time data.
  • a flag is set to indicate that the FAT block is not effective for recording real-time data.
  • the number of free clusters in the FAT block indicated by the value of L--COUNTER is determined and set as L--WORK (S 603), and this L_WORK is compared with BORDER-2 used in S 507 (S 604). If the L- WORK is BORDER- 2 or more, the process shown in the flow of FIG. 20 is finished, and the process proceeds to S51 1.
  • the flag of "INVALID” and the FAT block showing the WORK1 in the area management block information Store as information. If L—WORK is less than BORDER—2, the flag “INVALID” is stored as information on the FAT block indicated by the value of L—COUTER in the area management block information (S605).

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)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 フラッシュメモリなどの情報記録媒体に動画データ等をリアルタイムで記録する際、空き記録領域の配置状態による記録速度への影響を抑制し、データ記録のリアルタイム性を保証する。  アクセス装置1内に、不揮発性メモリ25の領域管理情報であるFAT1、FAT2をFATブロック単位で管理する領域管理ブロック制御部18を設けて、FATブロック内の空き記録領域長を算出する。次にFATブロックごとの空き記録領域長を記録した領域管理ブロック情報19をRAM12上に生成する。空き記録領域長が閾値以上のFATブロックをデータ記録に割り当てて、空き領域の配置状態によらず領域管理情報更新の回数を抑制する。これにより領域管理情報更新の頻発によるバッファ溢れを防止し、データ記録時のリアルタイム性を保証することができる。

Description

明 細 書
情報記録媒体アクセス装置、及びデータ記録方法
技術分野
[0001] 本発明は、格納データをファイルシステムにより管理する情報記録媒体にアクセス する情報記録媒体アクセス装置、及び情報記録媒体に対するデータ記録方法に関 する。
背景技術
[0002] 音楽コンテンツや、映像データ等のデジタルデータを記録する情報記録媒体には 、ハードディスク、光ディスク等、様々な種類が存在する。これらの情報記録媒体の 1 種類であるメモリカードは小型、軽量であることから、デジタルスチルカメラゃ携帯電 話端末等、小型の携帯機器を中心に用いられ、急速に普及しつつある。
[0003] 現在メモリカードの記録素子として使用されている半導体メモリは、 EEPROMゃフ ラッシュ ROM等のフラッシュメモリが主流である。特に多くの情報記録媒体で使用さ れている NAND型のフラッシュメモリには、データを書き込む前に書き込み先に記録 されて 、るデータを消去して、ー且未記録の状態にして力 データを書き込まなけれ ばならな!、と!/、う特徴がある。ここでデータを消去する単位は消去ブロックと呼ばれ、 アクセスの最小単位であるセクタが複数個集まってできたブロックとして管理されてい る。
[0004] 図 1はフラッシュメモリにおける消去ブロックとセクタとの関係の一例を示した図であ る。図 1の例では、 1つの消去ブロックは 32のセクタ力も構成されている。アクセスは セクタ、例えば 512バイト(B)、単位で行うことが可能である力 書き込みに先立ち必 要となるデータの消去処理は消去ブロック、例えば 16kB単位、で行われる。記録領 域の容量は 16kBの消去ブロックが 64000ブロック連続した例を示している。
[0005] すなわち、 1消去ブロック(16kB)分のデータをフラッシュメモリに記録する場合、下 記の手順で記録処理が実行される。
(1)アクセス装置力も入力されたコマンドを解釈する。
(2)有効なデータが格納されて!、な 、消去ブロックを 1ブロック取得し、その消去ブ ロック(1消去ブロック分)のデータを消去する。
(3) (2)でデータを消去した消去ブロックに、アクセス装置力 の入力データを 1消 去ブロック分記録する。
[0006] また、 1セクタ(512B)分のデータをフラッシュメモリに記録する場合は、下記の手順 で記録処理が実行される。
(1)アクセス装置力も入力されたコマンドを解釈する。
(2)有効なデータが格納されて!、な 、消去ブロックを 1ブロック取得し、その消去ブ ロック(1消去ブロック分)のデータを消去する。
(3) (2)でデータを消去した消去ブロックに、アクセス装置からの入力データを 1セ クタ分記録する。
(4) 1セクタ分を記録した消去ブロックの残りの 31セクタに、他の消去ブロックの有 効データをコピーする。
このように、 NAND型フラッシュメモリに対する記録処理では、大きく分けてコマンド 解釈処理、データ消去処理、データ記録処理の 3つの処理が存在する。
[0007] 例えば、コマンド解釈処理に 3msec、 1セクタのデータ記録処理に 200 μ sec、 1消 去ブロック(16kB)の消去処理に 2msecかかる NAND型フラッシュメモリを想定する 。先に示した記録手順に沿って、この NAND型フラッシュメモリに 1消去ブロック(16 kB)分のデータを記録する場合、コマンド解釈に 3msec、消去処理に 2msec、デー タ記録処理に 32 X 200 sec力力り、合計 11. 4msecの処理時間が力かる。同様に 1セクタ(512B)分のデータを記録する場合、コマンド解釈に 3msec、消去処理に 2 msec,データ記録処理に 200 sec + 31 X 200 sec力力り、合計 11. 4msecの処 理時間がかかる。
[0008] すなわち、 16kB (l消去ブロック · 32セクタ)のデータを書き込んだ場合と 512B (1 セクタ)のデータを書き込んだ場合でほぼ同じ時間が力かることになる。 1セクタあたり の書き込みに要する時間に直して比較すると、 1消去ブロック分のデータを記録する 時のほうが短くなつて!/、る。この例ではデータ転送時間等を考慮せず極端に性能差 が出る場合にっ 、て説明した力 実際の NAND型フラッシュメモリにお 、ても消去ブ ロック単位で書き込みを行った場合に書き込み時間が最短になる。 [0009] ここでは NAND型フラッシュメモリの特性について説明した力 ハードディスクや光 ディスク等においても同様のことが起こる。不連続アドレスに小さな単位で記録した場 合、磁気ヘッドや光学ヘッドを物理的に移動するシーク処理が頻発し、データの書き 込み以外の時間が多くかかるようになり、記録速度が低下する。 NAND型フラッシュ メモリと同様に、小さな単位で不連続な位置に記録するよりも、連続領域に一括して 記録する方が高速に記録できると 、う特性を有して 、る。
[0010] 一方、情報記録媒体に格納されたデータはファイルシステムにより管理されており、 ユーザは格納されたデータをファイルとして容易に取り扱うことができる。従来より使 用されているファイルシステムとして、 FATファイルシステムや、 UDFファイルシステ ム(Universal Disk Format)ゝ NTFSファイルシステム(New Technology Fil e System)等が存在する。これらのファイルシステムでデータが管理されたメモリ力 ードは、同一のファイルシステムを解釈する機器間でファイルの共有ができるため、 機器間でデータを授受することが可能となる。
[0011] ファイルシステムの一例として、 FATファイルシステムを説明する。図 2に FATファ ィルシステムの構成を示す。ファイルシステムは、情報記録媒体内の論理アドレス空 間上に構築されている。 FATファイルシステムでは、 FATファイルシステムにより管 理する領域全体に対する管理情報を格納するファイルシステム管理情報領域 301が 、論理アドレス空間の先頭に存在する。これに続いてファイル内のデータ等を格納す るユーザデータ領域 302が存在する。ファイルシステム管理情報領域 301は、マスタ 一ブートレコード 'パーティションテーブル(MBR'PT) 303、パーティションブートセ クタ(PBS) 304、領域管理情報である FAT305、 306、ルートディレクトリエントリ(R DE) 307から構成される。
[0012] MBR.PT303は、ファイルシステムで管理する論理アドレス空間上の領域全体を 複数の領域に分割して、その 1つ 1つをパーティションとして管理するための情報を格 納する部分である。 PBS304は、 1つのパーティション内の管理情報を格納する部分 である。 FAT305、 306は、ファイルに含まれるデータの物理的な格納位置を示す部 分である。さらに RDE307は、ルートディレクトリ直下に存在するファイル、ディレクトリ の情報を格納する部分である。また、 FAT305、 306は、ファイルに含まれるデータ の物理的な格納位置を示す重要な領域であることから、通常はファイルシステム管理 情報領域 301内に同じ情報を持つ FAT305と FAT306が存在し、安全のために二 重化されている。
[0013] ユーザデータ領域 302は全領域が"クラスタ"と呼ばれる管理単位に分割され管理 されており、各クラスタはファイルに含まれるデータを格納している。クラスタの大きさ は、一般的に 512Bから 32kB程度の大きさである。ファイルサイズがクラスタサイズよ りも大き 、場合、ファイルに含まれるデータは複数のクラスタに跨って格納されており 、各クラスタ間の繋がりは、 FAT305、 306に格納されたリンク情報で管理されている
[0014] 図 3Aは FATファイルシステムにおけるディレクトリエントリ 401、図 3Bは FAT305、 306、図 3Cはユーザデータ領域 302、のそれぞれ一例を示したものである。 FATフ アイルシステムは、 RDE307やユーザデータ領域 302の一部に、ファイル名ゃフアイ ルサイズ、ファイル属性等の情報を格納したディレクトリエントリ 401を格納して 、る。 ディレクトリエントリ 401には、ファイル名、属性、タイムスタンプ、開始クラスタ番号、フ アイルサイズが含まれる。
[0015] 図 3Aの例に示すディレクトリエントリは、ファイル名が FILE1. TXTのファイルに関 する情報を格納して 、る。このファイルに含まれるデータの先頭部分はクラスタ番号 1 0のクラスタに格納されており、ファイルサイズは 64000Bである。また図 3Aでは、ファ ィルサイズは 64000Bである。ここでは、 1クラスタの大きさを 16384Bと仮定している ので、 FILE1. TXTのデータは 4クラスタに跨って格納されている。
[0016] FAT305、 306には、ユーザデータ領域 302に存在するクラスタ数と同数の FAT エントリがそれぞれ存在する。管理単位であるエントリ情報としての各 FATエントリに は各クラスタの使用状態、各クラスタ間のリンク情報が格納されている。
[0017] 図 3Bの例では、クラスタ番号 10の FATエントリ値として" OxOOOB (11) "が格納さ れており、クラスタ番号 10のクラスタ力 クラスタ番号 11のクラスタにリンクしていること を示している。同様にクラスタ番号 11は FATエントリ値" 0x000C (12) "としてクラス タ番号 12のクラスタに、クラスタ番号 12は FATエントリ値" 0x000D (13) "としてクラ スタ番号 13のクラスタにリンクしており、クラスタ番号 13は FATエントリ値に" OxFFF F"が格納されている。
[0018] FATエントリ値における" OxFFFF"はファイルの終端を示すため、 FILE1. TXTの データは、クラスタ番号 10、 11、 12、 13の 4クラスタに跨って格納されていることとな る。また、クラスタ番号 14の FATエントリ値として" OxOOOO"が格納されている。 FAT エントリ値における" OxOOOO"は空きクラスタを意味するので、クラスタ番号 14には有 効なデータは記録されて ヽな 、ことになる。
[0019] ユーザデータ領域 302にはファイルデータの実体が格納されており、図 3Cの例で は、クラスタ番号 10、 11、 12、 13の 4クラスタに FILE 1. TXTのデータの実体が記録 されている。すなわち、 FATファイルシステムを用いてファイルデータを記録する場 合には、ファイルデータをユーザデータ領域 302に記録すると共に、ディレクトリェン トリ 401、 FAT305, 306ち同時に記録する必要力 Sある。
[0020] ここで、 FATファイルシステムで管理された情報記録媒体に、ポータブルムービー 等を用いてリアルタイムで動画データを記録する場合を想定する。このようなリアルタ ィム性を必要とするデータを記録する場合、動画データの入力の速度とその記録の 速度が異なるため、データの入力のほうが速い場合に、入力データを一時保存する ノ ッファが溢れてデータの記録が停止することがある。これを防止するには、入力デ ータの生成速度よりも高速で情報記録媒体に記録する必要がある。
[0021] し力しフラッシュメモリゃノヽードディスク、光ディスク等の情報記録媒体は、先に述べ たようなデータの書込み時間についての特性を有することから、小さな単位での記録 を続けると入力データの生成速度よりも情報記録媒体への記録速度が低くなる場合 があり、リアルタイムデータの記録が停止する可能性があった。
[0022] このような問題を解決する従来の方法として、データの読み書きに要求される速度 に応じて、領域長の長 ヽ空き記録領域と領域長の短!ヽ空き記録領域を使 ヽ分ける方 法が提案されている(特許文献 1)。この方法では、リアルタイムデータ等の高速記録 を必要とする時には領域長の長い空き記録領域へ記録を行うことで高速に記録し、 比較的低速な記録でも許容できる静止画等のデータの場合は領域長の短い空き記 録領域へ記録を行う。こうした使い分けによってリアルタイム性を確保しつつ、記録領 域の有効利用を図っている。 特許文献 1:特開平 9 - 251407号公報
発明の開示
発明が解決しょうとする課題
[0023] まず図 2と図 4によって、リアルタイムデータの記録処理の手順を説明する。図 4は、 アクセス装置におけるリアルタイムデータ記録処理のフローを示したフローチャートで ある。本フローの処理は、主にアクセス装置内にあるファイルシステム制御部により実 施される力 実際にメモリカードに読み書きする際は、ファイルシステム制御部力 ァ クセス制御部に命令を送付し、データの読み書きを実行する。
[0024] リアルタイムデータの記録処理では、まず始めにディレクトリエントリを読み出す (S7 01)。ディレクトリエントリは、図 2に示すファイルシステム管理情報 301内の RDE307 の領域、あるいはユーザデータ領域 302の一部の領域に格納されている。次に読み 出したディレクトリエントリを参照し、リアルタイムデータを記録するファイルの先頭デ ータが格納されて 、るクラスタ番号を確認する(S702)。
[0025] 次に、 FAT305、 306を読み出し、 S 702で確認したクラスタ番号から始まる FAT 上のリンクを迪り、書き込み位置のクラスタ番号を取得する(S703)。次に、リアルタイ ムデータの記録のために新し 、空き記録領域を取得する必要がある力否かを確認す る(S704)。ファイル終端へ追記する場合等、新しい空き領域を取得する必要がある と判断した場合、 FAT上で空き記録領域を探し、 1クラスタを割り当てる領域取得処 理を行う(S705)。領域取得処理の詳細については後述する。
[0026] S704で空き記録領域の取得が不要と判断した場合、あるいは S705で空き記録領 域の取得を完了した場合、対象とするクラスタ内にリアルタイムデータを書き込む (S7 06)。次に既にメモリカード 2に書き込み済みのリアルタイムデータの総量を確認し、 記録対象の全データの書き込みが完了している力判定する(S707)。完了していな い場合、 S703の処理に戻る。完了している場合、リアルタイムデータの記録に伴い 変更されたクラスタ間のリンク関係を反映させるため、情報記録媒体上の FAT305、 306を更新する(S708)。最後にファイルサイズやタイムスタンプ等を反映させるため 、メモリカード 2上のディレクトリエントリを更新する(S709)。
[0027] 次に、図 4の S705で行なわれる領域取得処理を、図 5を用いて説明する。まず始 めに、現在参照して 、る参照クラスタ番号(CURRENT— CLU)の値に FAT上の探 索開始クラスタ番号 (START— CLU)を代入する(S801)。探索開始クラスタ番号 は、アクセス装置のファイルシステムの制御においても使用される変数である。具体 的な値としては、メモリカードのマウント時にユーザデータ領域 302の先頭を示すクラ スタ番号" 2"を探索開始クラスタ番号の値に設定する。他には前回最後にファイルァ クセスしたクラスタ番号をアクセス装置内に保持しておき、マウント時に探索開始クラ スタ番号に設定する等、様々な方法が考えられる。
[0028] ここでは、マウント時に探索開始クラスタ番号の値として" 2"を設定する場合を想定 して説明する。この場合、 S801の処理において、参照クラスタ番号の値にも同様に" 2"が代入される。次に FAT305、 306上に存在する参照クラスタ番号に対応する FA Tエントリ値を参照し、値が" 0x0000"であるか確認する(S802)。
[0029] "OxOOOO"であった場合、参照クラスタ番号のクラスタは空き記録領域であることか ら、領域取得に成功したことになる。そのため、探索開始クラスタ番号の値を参照クラ スタ番号が示す番号に更新して、参照クラスタ番号が示すクラスタを空きクラスタとし て使用し、処理を終了する(S803、 S804)。
[0030] ここで S803の探索開始クラスタ番号の更新は次のとおりである。参照クラスタ番号 がユーザデータ領域 302の最終クラスタ (LAST— CLU)であった場合、探索開始ク ラスタ番号の値に" 2"を代入する。それ以外の場合、探索開始クラスタ番号の値に参 照クラスタ番号に 1を加えた値を代入する。
[0031] また、 S804の処理では、参照クラスタ番号に対応する FATエントリ値を、使用中を 示す" OxFFFF"に設定する。これと共に、現在記録しょうとしているリアルタイムデー タの前に既に記録済みのデータがファイル内に存在し、この続きにリアルタイムデー タを追記する場合には、その記録済みのデータが存在する位置のクラスタ番号に対 応する FATエントリ値を、参照クラスタ番号を示す値に変更して設定する。
[0032] また、 S802の判定処理において参照クラスタ番号に対応する FATエントリ値が" 0 xOOOO"ではな力つた場合、下記の条件の 、ずれか一つでも条件が満たされて 、る か確認する(S805)。
(1)参照クラスタ番号の値が探索開始クラスタ番号の値より 1だけ小さ!/、値である。 (2)参照クラスタ番号の値が最終クラスタであり、且つ探索開始クラスタ番号の値が "2"である。
[0033] 上記 、ずれかの条件を満たす場合、既に全 FATエントリ値の確認が完了して 、る ため空き記録領域は存在せず、領域取得に失敗したことになる。従って一連の領域 取得処理は終了し、リアルタイムデータ記録は中止となる(S806)。また、 S805の処 理においていずれの条件も満たさな力つた場合は、参照クラスタ番号が、ユーザデ ータ領域 302の最終クラスタと同じである力判定する(S807)。同じであった場合、参 照クラスタ番号の値に" 2"を代入し、 S802の処理に戻る(S808)。異なる場合、参照 クラスタ番号の値に" 1"をカ卩算し、同様〖こ S802の処理〖こ戻る(S809)。
[0034] このように従来のアクセス装置における領域取得処理では、 FAT上に存在する全 F ATエントリ値を順次探索し、最初に見つ力つた空きクラスタをリアルタイムデータの記 録に使用していた。
[0035] 以上に示した従来のリアルタイムデータの記録処理では、ディレクトリエントリ、 FAT 305、 306等の記録、更新である FAT更新に要する時間を考慮した領域取得が行な われていない。たとえ取得した空き記録領域の領域長が長くても、その配置が論理ァ ドレス空間上で分散して 、る場合、データの入力速度と記録速度の違 、が生じリアル タイム性を維持できなくなる場合がある。
[0036] この従来の記録処理が抱える問題について、以下に図面を用いて説明する。図 6 は FATフアイルシステムにおけるデータ記録位置の一例を論理アドレス空間上で示 す図である。ここでは、従来の方法における領域長の長い空き記録領域として、 16k Bのクラスタが 16クラスタ連続した合計 256kBの領域を 1つの記録単位として管理す る場合を想定する。尚、ファイルシステム管理情報領域 301は、 16kBのクラスタが 32 クラスタ連続した 512kBの領域であり、ユーザデータ領域 302は 256kBの記録単位 力 3998単位連続した 1023488kBの領域である。図 6では、クラスタ番号 4994から 5041までの 3つの記録単位が空き領域であり、これらの領域にファイルデータを記 録する場合を示している。
[0037] この場合におけるアクセス装置内のバッファ使用量と、情報記録媒体への記録タイ ミングを図 7に示す。図 7において、 Aはバッファの初期状態として既に使用されてい る量、 Bはバッファに格納可能なデータ最大値を示す。すなわち、バッファ使用量が 最大値 Bの値を超えるとバッファ溢れが発生し、リアルタイムデータの記録が停止す る。
[0038] 図 6、図 7の場合、クラスタ番号 4994から 5041までの領域に 256kBのデータを 3 つ記録した後、 FAT305、 306、ディレクトリエントリ 401を更新する。ここでクラスタ番 号 4994から 5041までは連続した領域であること力も FAT上の FATエントリ位置も 隣接しており、 FAT305または FAT306のうち、いずれか一方の FATにっき 512B の更新で、上記 3つのデータ全てのリンク情報を更新する。この場合、合計 768kBの データ記録に対し、 FAT305、 306、ディレクトリエントリ 401を各 1回更新するだけで 良いことから、ノ ッファ使用量が最大値 Bを超えることがなぐリアルタイム記録を継続 することができる。
[0039] 一方、図 8、図 9の場合、 256kB単位の 3つの空き領域の配置が論理アドレス空間 上で分散しており連続していないことから、 256kBのデータを 1つの空き領域に記録 する度に、 FAT305、 306、ディレクトリエントリ 401を更新する。ここで ίま FAT305、 306、ディレクトリエントリ 401の更新が 3回行なわれる。同じ 768kBのデータを記録 する に FAT305、 306、ディレクトリエントリ 401の更新力 ^余分に 2回行なわれて!/ヽ る。この 2回の間、データの記録は停止するので実質的なデータ記録速度は低下す る。それにもかかわらず入力データの生成はほぼ一定の速度で行なわれることから バッファ溢れが発生し、リアルタイムデータの記録が停止することがある。
[0040] この問題を解決する方法として、記録単位を 256kBから 768kBに変更することが 考えられる。しかしメモリカードゃノヽードディスク等、ファイルの作成、削除を特に頻繁 に繰り返す情報記録媒体では空き記録領域が分散し易ぐより大きな連続記録領域 を確保することは困難となるので、有効な方法であるとは 、えな 、。
[0041] 本発明では上記問題点に鑑み、ファイルシステムで管理された情報記録媒体に対 し、空き記録領域の配置状態によらず FAT等の更新回数を抑制し、記録時のリアル タイム性を保証する情報記録媒体アクセス装置、及びデータ記録方法を提供するこ とを目的とする。
課題を解決するための手段 [0042] この課題を解決するために、本発明の情報記録媒体アクセス装置は、格納データ をファイルシステムにより管理する情報記録媒体にアクセスする情報記録媒体ァクセ ス装置にぉ 、て、ファイルシステムが管理する領域管理情報を固定長ブロック単位に 分割して、各固定長ブロック内に含まれる空き領域長に関する情報を格納する領域 管理ブロック情報を情報記録媒体アクセス装置内のメモリ上に生成し、ファイルデー タ記録時の領域割り当てに前記領域管理ブロック情報に格納された情報を利用する 領域管理ブロック制御部を具備するものである。
[0043] この課題を解決するために、本発明の情報記録媒体アクセス装置は、管理単位で あるクラスタが複数集まって構成されるデータ記録領域と、前記各クラスタに対する 1 つの管理情報単位であるエントリ情報を複数保持する領域管理情報とを備える不揮 発性メモリを含む情報記録媒体にアクセスする情報記録媒体アクセス装置であって、 前記領域管理情報は、前記データ記録領域において一定数の物理的に連続したク ラスタが得られるように組み合わされた一定数の前記エントリ情報力 成る領域管理 ブロックを複数有するものであり、前記情報記録媒体から前記領域管理情報を読み 出し、前記領域管理ブロックごとに空きクラスタ数を算出し、前記各領域管理ブロック の前記空きクラスタ数を第 1の閾値と比較して、第 1の閾値以上のときに当該領域管 理ブロックをデータ書き込みが可能な領域とする前記領域管理ブロック制御部と、前 記各領域管理ブロックと当該領域管理ブロック内の空き領域長に関する領域管理ブ ロック情報を保持するメモリと、を具備するものである。
[0044] ここで前記領域管理ブロック制御部は、前記領域管理ブロック内の前記空きクラス タ数を示す値、及び前記領域管理ブロック内の前記空きクラスタ数が第 1の閾値以上 である場合は、当該領域管理ブロックが管理する記録領域が使用可能であることを 示すフラグ、前記領域管理ブロック内の前記空きクラスタ数が前記第 1の閾値未満で ある場合は、当該領域管理ブロックが管理する記録領域が使用不能であることを示 すフラグを前記領域管理ブロック情報として前記メモリに格納するようにしてもょ 、。
[0045] ここで前記第 1の閾値は、連続する t回のファイルシステムの管理情報更新に挟ま れる (t 1)回のデータ記録期間内で最低限記録しなければならないファイルデータ が記録できるクラスタ数としてもょ 、。 [0046] ここで前記領域管理ブロック制御部は、前記領域管理ブロック毎に、前記データ記 録領域において 2つ以上の物理的に連続したクラスタが得られるように前記エントリ 情報を 2つ以上組み合わせて 1つの組として管理し、各組のエントリ情報で示されるク ラスタが全て空き領域となっている組に含まれるクラスタ数を前記第 1の閾値と比較し 、前記空きクラスタ数が前記第 1の閾値以上である場合は、該当する領域管理ブロッ クが管理する記録領域をデータ記録可能な領域としてもよい。
[0047] ここで前記領域管理ブロック制御部は、前記領域管理ブロック内の前記空きクラス タ数を示す値、及び前記領域管理ブロック内の前記空きクラスタ数が第 1の閾値以上 である場合は、当該領域管理ブロックが管理する記録領域が使用可能であることを 示すフラグ、前記領域管理ブロック内の前記空きクラスタ数が前記第 1の閾値未満で ある場合は、当該領域管理ブロックが管理する記録領域が使用不能であることを示 すフラグを前記領域管理ブロック情報として前記メモリに格納するようにしてもょ 、。
[0048] ここで前記領域管理ブロック制御部は、前記領域管理ブロック毎に、前記エントリ情 報を 2つ以上組み合わせて 1つのスロットとして管理し、各スロットに含まれるクラスタ の内、空きクラスタ数が第 2の閾値以上の場合に当該スロットを空きスロットと判定し、 前記領域管理ブロック内のすべての空きスロットに含まれる空きクラスタ数を前記第 1 の閾値と比較し、前記空きクラスタ数が前記第 1の閾値以上である場合は、該当する 領域管理ブロックが管理する記録領域をデータ記録可能な領域としてもよい。
[0049] ここで前記領域管理ブロック制御部は、前記領域管理ブロック内の前記空きクラス タ数を示す値、及び前記領域管理ブロック内の前記空きクラスタ数が第 1の閾値以上 である場合は、当該領域管理ブロックが管理する記録領域が使用可能であることを 示すフラグ、前記領域管理ブロック内の前記空きクラスタ数が前記第 1の閾値未満で ある場合は、当該領域管理ブロックが管理する記録領域が使用不能であることを示 すフラグを前記領域管理ブロック情報として前記メモリに格納するようにしてもょ 、。
[0050] ここで前記領域管理ブロック制御部は、前記メモリに保持された前記領域管理プロ ック情報を参照し、前記空き領域長が、一定値以上である前記領域管理ブロックに含 まれる空き領域をファイルデータ記録時に割り当てるようにしてもょ 、。
[0051] この課題を解決するために、本発明のデータ記録方法は、ファイルシステムが管理 する領域管理情報を固定長ブロック単位に分割して、各固定長ブロック内に含まれる 空き領域長に関する情報を格納する領域管理ブロック情報を情報記録媒体アクセス 装置内のメモリ上に生成し、ファイルデータ記録時の領域割り当てに前記領域管理 ブロック情報に格納された情報を利用するものである。
[0052] この課題を解決するために、本発明のデータ記録方法は、管理単位であるクラスタ が複数集まって構成されるデータ記録領域と、前記各クラスタに対する 1つの管理情 報単位であるエントリ情報を複数保持する領域管理情報とを備える不揮発性メモリを 含む情報記録媒体にアクセスするデータ記録方法であって、前記領域管理情報は、 前記データ記録領域において一定数の物理的に連続したクラスタが得られるように 組み合わされた一定数の前記エントリ情報力 成る領域管理ブロックを複数有するも のであり、前記情報記録媒体から前記領域管理情報を読み出し、前記領域管理プロ ックごとに空きクラスタ数を算出し、前記各領域管理ブロックの前記空きクラスタ数を 第 1の閾値と比較して、第 1の閾値以上のときに当該領域管理ブロックをデータ書き 込みが可能な領域とし、前記各領域管理ブロックと当該領域管理ブロック内の空き領 域長に関する領域管理ブロック情報をメモリに保持するものである。
[0053] ここで前記領域管理ブロック内の前記空きクラスタ数を示す値、及び前記領域管理 ブロック内の前記空きクラスタ数が第 1の閾値以上である場合は、当該領域管理プロ ックが管理する記録領域が使用可能であることを示すフラグ、前記領域管理ブロック 内の前記空きクラスタ数が前記第 1の閾値未満である場合は、当該領域管理ブロック が管理する記録領域が使用不能であることを示すフラグを前記領域管理ブロック情 報として前記メモリに格納するようにしてもょ 、。
[0054] ここで前記第 1の閾値は、連続する t回のファイルシステムの管理情報更新に挟ま れる (t 1)回のデータ記録期間内で最低限記録しなければならないファイルデータ が記録できるクラスタ数としてもょ 、。
[0055] ここで前記領域管理ブロック毎に、前記データ記録領域において 2つ以上の物理 的に連続したクラスタが得られるように前記エントリ情報を 2つ以上組み合わせて 1つ の組として管理し、各組のエントリ情報で示されるクラスタが全て空き領域となって!/ヽ る組に含まれるクラスタ数を前記第 1の閾値と比較し、前記空きクラスタ数が前記第 1 の閾値以上である場合は、該当する領域管理ブロックが管理する記録領域をデータ 記録可能な領域としてもょ ヽ。
[0056] ここで前記領域管理ブロック内の前記空きクラスタ数を示す値、及び前記領域管理 ブロック内の前記空きクラスタ数が第 1の閾値以上である場合は、当該領域管理プロ ックが管理する記録領域が使用可能であることを示すフラグ、前記領域管理ブロック 内の前記空きクラスタ数が前記第 1の閾値未満である場合は、当該領域管理ブロック が管理する記録領域が使用不能であることを示すフラグを前記領域管理ブロック情 報として前記メモリに格納するようにしてもょ 、。
[0057] ここで前記領域管理ブロック毎に、前記エントリ情報を 2つ以上組み合わせて 1つの スロットとして管理し、各スロットに含まれるクラスタの内、空きクラスタ数が第 2の閾値 以上の場合に当該スロットを空きスロットと判定し、前記領域管理ブロック内のすべて の空きスロットに含まれる空きクラスタ数を前記第 1の閾値と比較し、前記空きクラスタ 数が前記第 1の閾値以上である場合は、該当する領域管理ブロックが管理する記録 領域をデータ記録可能な領域としてもょ 、。
[0058] ここで前記領域管理ブロック内の前記空きクラスタ数を示す値、及び前記領域管理 ブロック内の前記空きクラスタ数が第 1の閾値以上である場合は、当該領域管理プロ ックが管理する記録領域が使用可能であることを示すフラグ、前記領域管理ブロック 内の前記空きクラスタ数が前記第 1の閾値未満である場合は、当該領域管理ブロック が管理する記録領域が使用不能であることを示すフラグを前記領域管理ブロック情 報として前記メモリに格納するようにしてもょ 、。
[0059] ここで前記メモリに保持された前記領域管理ブロック情報を参照し、前記空き領域 長が、一定値以上である前記領域管理ブロックに含まれる空き領域をファイルデータ 記録時に割り当てるようにしてもょ 、。
発明の効果
[0060] 本発明によれば、ファイルシステムで管理された情報記録媒体に対してリアルタイ ムデータを記録する場合、空き記録領域の配置状態によらず記録時のリアルタイム 性を保証することが可能となる。
図面の簡単な説明 [図 1]図 1はフラッシュメモリにおける消去ブロックとセクタの関係の一例を示した説明 図である。
[図 2]図 2は FATファイルシステムの構成を示した説明図である。
[図 3A]図 3Aは FATファイルシステムにおけるディレクトリエントリの一例を示した説明 図である。
[図 3B]図 3Bは FATファイルシステムにおける FATの一例を示した説明図である。
[図 3C]図 3Cは FATファイルシステムにおけるユーザデータ領域の一例を示した説 明図である。
[図 4]図 4は従来のアクセス装置におけるリアルタイムデータの記録処理を示したフロ 一チャートである。
[図 5]図 5は従来のアクセス装置における空き領域取得処理を示したフローチャート である。
[図 6]図 6は FATファイルシステムにおけるデータ記録位置の一例を示した説明図で ある。
[図 7]図 7はアクセス装置内のバッファ使用量と情報記録媒体への記録タイミングの一 例を示した説明図である。
[図 8]図 8は FATファイルシステムにおけるデータ記録位置の一例を示した説明図で ある。
[図 9]図 9はアクセス装置内のバッファ使用量と情報記録媒体への記録タイミングの一 例を示した説明図である。
[図 10]図 10は本発明の実施の形態における情報記録媒体アクセス装置とメモリカー ドを示した説明図である。
[図 11]図 11は本発明の実施の形態のアクセス装置におけるメモリカード挿入時の一 連の処理フローを示したフローチャートである。
[図 12]図 12は本発明の実施の形態における領域管理ブロック制御部で FATを管理 する際の管理単位の一例を示した説明図である。
[図 13]図 13は本発明の実施の形態における領域管理ブロック情報の生成処理を示 したフローチャートである。 [図 14]図 14は本発明の実施の形態における領域管理ブロック情報の一例を示した 説明図である。
[図 15]図 15は本発明の実施の形態のアクセス装置におけるリアルタイムデータの記 録処理を示したフローチャートである。
[図 16A]図 16Aは本発明の実施の形態のアクセス装置における空き領域取得処理を 示したフローチャートである。
[図 16B]図 16Bは本発明の実施の形態のアクセス装置における空き領域取得処理を 示したフローチャートである。
[図 17]図 17は本発明の実施の形態における領域管理ブロック制御部で FATを管理 する際の FAT状態の一例を示した説明図である。
[図 18]図 18は本発明の実施の形態におけるアクセス装置内のノ ッファ使用量と情報 記録媒体への記録タイミングの一例を示した説明図である。
[図 19A]図 19Aは本発明の実施の形態における領域管理ブロック情報の生成処理を 示したフローチャートである。
[図 19B]図 19Bは本発明の実施の形態における領域管理ブロック情報の生成処理を 示したフローチャートである。
[図 20]図 20は本発明の実施の形態における探索済みブロック再判定の処理を示し たフローチャートである。
[図 21]図 21は本発明の実施の形態の領域管理ブロック情報の生成処理過程での各 値の関係を示した図である。
[図 22A]図 22Aは本発明の実施の形態における複数のクラスタで構成される記録単 位とスロットを示す図である。
[図 22B]図 22Bは本発明の実施の形態における複数のクラスタで構成される記録単 位とスロットを示す図である。
符号の説明
1 アクセス装置
2 メモリカード
11, 22 CPU 12, 23 RAM
13 コネクタ
14, 24 ROM
15 アプリケーション制御部
16 ファイルシステム制御部
17 アクセス制御部
18 領域管理ブロック制御部
19 領域管理ブロック情報
21 ホスト IZF部
25 不揮発性メモリ
301 ファイルシステム管理情報領域
302 ユーザデータ領域
303 マスターブートレコード 'パーティションテーブル
304 パーティションブートセクタ
305, 306 FAT
307 ノレートディレクトリエントリ
401 ディレクトリエントリ
発明を実施するための最良の形態
[0063] 以下、本発明の実施の形態について、図面を参照しつつ説明する。本実施の形態 では、情報記録媒体として FATファイルシステムで管理されて 、るメモリカードを用い る場合を例として説明する。図 10は本実施の形態における情報記録媒体アクセス装 置 1 (以下、アクセス装置 1とする)と情報記録媒体であるメモリカード 2の構成図であ る。アクセス装置 1は、 CPU11、 RAM 12,コネクタ 13、 ROM14を含んでいる。
[0064] コネクタ 13はアクセス装置 1とメモリカード 2との接続部であり、このコネクタ 13を経 由して読出し'書込み等の各種コマンドやデータが送受信される。 ROM14はァクセ ス装置 1を制御するプログラムを格納しており、このプログラムは RAM12を一時記憶 領域として使用し、 CPU11上で動作する。
[0065] ROM14は、図 10には記載していないタツチパネル ·キーボード等の入力装置の 制御、 LCD'スピーカ等の出力装置の制御、メモリカード 2に格納された AVデータの 再生制御、メモリカード 2への AVデータの記録制御等の、アクセス装置 1がユーザに 提供するサービス全般の制御を行うアプリケーション制御部 15を含んで ヽる。また R OM14は、メモリカード 2の不揮発性メモリ 25上に構築されたファイルシステムの制御 を行うファイルシステム制御部 16と、メモリカード 2に対するコマンド送受信を行うァク セス制御部 17も含んで 、る。
[0066] ファイルシステム制御部 16は更に、固定長のブロックを単位として FAT1、 FAT2を 管理し、空き記録領域の制御を行う領域管理ブロック制御部 18を含んでいる。領域 管理ブロック制御部 18は FAT1、 FAT2を固定長に分割してできる各 FATブロック の空き記録領域長や有効性を示す情報を格納する領域管理ブロック情報 19をメモリ である RAM 12上に生成し、空き領域の制御にこれを使用する。
[0067] また、図 10のメモリカード 2は、ホスト I/F21、 CPU22、 RAM23、 ROM24、不揮 発性メモリ 25を含んでいる。ホスト IZF21は、アクセス装置 1と各種コマンドやデータ を送受信するためのインターフェースである。
[0068] ROM24にはメモリカード 2を制御するプログラムが格納されている。このプログラム は RAM23を一時記憶領域として使用し、 CPU22上で動作する。また不揮発性メモ リ 25は、アクセス装置 1から入力されたユーザデータを格納し、保持するメモリであり 、フラッシュメモリ等の半導体メモリが記録素子として使用される。また、この不揮発性 メモリ 25の記録領域には、ファイルシステム管理情報であるマスターブートレコード' パーティションテーブル(MBR'PT)、パーティションブートセクタ(PBS)、 FAT1、 F AT2、ルートディレクトリエントリ (RDE)によってファイルシステムが構築されている。 アクセス装置 1はこのファイルシステムに則ったファイル単位でユーザデータを管理し ている。
[0069] 次に、本実施の形態のアクセス装置 1におけるメモリカード 2挿入時の処理につい て、図 11から図 14を用いて説明する。さらに、本実施の形態の特徴である、領域管 理ブロック制御部 18と、 RAM 12上に生成される領域管理ブロック情報 19について 詳述する。
[0070] 図 11は本実施の形態のアクセス装置 1におけるメモリカード 2挿入時の一連の処理 フローを示している。まず、アクセス装置 1のコネクタ 13にメモリカード 2が挿入される と、コネクタ 13に接続された信号線力も CPU11にメモリカード 2の挿入を通知する信 号が送信され、メモリカードの挿入が検出される(S 101)。
[0071] CPU11がメモリカード 2の挿入通知信号を受信すると、アクセス制御部 17を起動し 、アクセス制御部 17のプログラムによってメモリカード 2の初期化処理を実施する(S1 02)。この初期化処理では、アクセス装置 1がメモリカード 2に対する電力やクロックの 供給を開始して、初期化コマンドをメモリカード 2に入力する。初期化コマンドを受信 したメモリカード 2は、内部の不揮発性メモリ 25へ電力供給を開始する。その後、記 録データのエラーチェック、論理アドレス '物理アドレス変換表の生成等、アクセス装 置 1からメモリカード 2の不揮発性メモリ 25にアクセスするための準備を行う。
[0072] 初期化処理が完了すると、メモリカード 2はアクセス装置 1に初期化完了を通知する 。次にアクセス装置 1では、 CPU 11がファイルシステム制御部 16を起動し、アクセス 制御部 17を経由して、メモリカード 2の不揮発性メモリ 25のファイルシステム管理情 報領域からファイルシステム管理情報を読み出す (S103)。ファイルシステム制御部 16は読み出したファイルシステム管理情報の内容を確認し、格納されている情報に エラーがないか、ファイルシステムの制御が行えるかを確認する(S104)。
[0073] クラスタサイズが 0に設定されている場合や、本来格納されているはずの識別子が 格納されていない場合等、ファイルシステム管理情報にエラーがあった場合は、ァク セス装置は、メモリカードが挿入されていないアンマウント状態であるとして後に続く マウントのための処理を行なわず、一連の初期化処理を終了する(S 105、 S106)。 メモリカード 2のファイルシステムに何らかの問題が生じている場合にアンマウント状 態となる。この場合、再フォーマットするなどして正しいファイルシステムを構築しない 限り、アクセス装置 1はメモリカード 2に対するマウント処理を行わず、ファイルアクセス 処理は実現しない。
[0074] 逆に、ファイルシステム管理情報にエラーがな力つた場合は、ファイルシステム制御 部 16はメモリカード 2のマウント処理を実施する(S107)。マウント処理では、メモリ力 ード 2のファイルシステムへのアクセスに必要な情報 (各種管理情報が記録されて!ヽ るアドレス、クラスタサイズ等)をファイルシステム制御部 16がファイルシステム管理情 報力 抽出し、 RAM12上に保持する。
[0075] 次に、 CPU 11は領域管理ブロック制御部 18を起動し、領域管理ブロック情報 19を 生成する(S108)。 S108の詳細な処理内容は後述する。最後に領域管理ブロック 情報 19の生成が完了すると、アクセス装置 1は、メモリカードがマウント状態であること を示すフラグを RAM 12上に保持し、一連の初期化処理を終了する(S109)。マウン ト状態に設定された場合、 S107のマウント処理において RAM12上に保持した情報 を用いて、メモリカード 2上に構築されたファイルシステムにアクセスすることが可能と なる。
[0076] S108の領域管理ブロック情報 19の生成処理について説明する。領域管理ブロッ ク情報 19では、 FAT1、 FAT2を 512B等の固定長のブロック単位に分けた FATブ ロックを用いる。各 FATブロックが管理するユーザデータ領域中に存在する空き記録 領域長の情報と、その空き記録領域長が閾値以上である力否かを示すフラグとを生 成して、これらを領域管理ブロック情報 19として RAM12上に保持する。ここまでが領 域管理ブロック情報 19の生成処理の過程である。
[0077] まず、 FAT1、 FAT2の管理方法から説明する。図 12は、 FAT1、 FAT2を領域管 理ブロック制御部 18で管理する際の管理単位の一例を示した図である。ここでは、フ アイルシステムとして FATエントリを 16ビット単位で管理する FAT16ファイルシステム を想定している。また、各パラメータは、クラスタのサイズを 16kB、 FATブロックのサ ィズを 512B、 FATのサイズを N X 512Bと想定している。つまり FATブロックは、 FA Tを固定長のブロックに分けて作られるものであり、 FATは N個の FATブロックに分 割されている。
[0078] 領域管理ブロック制御部 18は、 FAT1、 FAT2をテーブルの先頭から順に FATブ ロックサイズの単位で区切り、空き記録領域長の情報を管理する。図 12の例では、 F ATブロック 1つ分に含まれる FATエントリ値はクラスタ 256個分についての情報を表 し、これは 4MB分のユーザデータ領域の領域管理情報である。
[0079] FATブロックによってユーザデータ領域を 4MBの単位で区切ることができる。しか し、ユーザデータ領域の大きさは、 4MBの倍数長とは限らないため、 FATブロック N の終端付近の FATエントリは実際には使用せず、それに対応するユーザデータ領 域も使用しない。更に、 FAT1、 FAT2の先頭に存在する 2つの FATエントリは FAT を識別するための識別子が格納されており、 FATブロック 1が管理する領域は、実際 には(4MB— 16kB X 2)分のユーザデータ領域となる。
[0080] 次に FATブロックを用いたユーザデータ領域の管理方法を基に、図 13を用いて領 域管理ブロック情報 19の生成処理フローを説明する。領域管理ブロック情報 19の生 成処理では、まず現在参照して!/、る FATブロックの番号を示す COUNTERの値を" 1"に設定する(S201)。次に、 COUNTERが示す番号に対応する FATブロック 1内 を参照し、 FATブロック 1内の空きクラスタ数(EMPTY— CLU—NUM)を算出する (S202)。
[0081] 具体的には、 COUNTERで指定された FATブロック内の 2バイト単位の値を判定 する。 FATエントリの値が" 0x0000"であれば対応するクラスタが空きであると判定し 、 1つの空きクラスタとして数える。この処理を COUNTERで指定された FATブロック 内に存在する全ての FATエントリに対して繰り返し、 FATブロック内に存在する空き クラスタの総数を算出する。
[0082] この際、 COUNTERが" 1"の場合には、先頭の 2つの FATエントリを参照せず、残 りの部分に含まれる全 FATエントリに対して上記 2バイト単位での判定を行い、空きク ラスタ数を算出する。また、 COUNTERが"その場合には、 FATブロック N内で実 際には使用されない終端付近の FATエントリを除外した残りの有効な FATエントリに 対し上記判定を行い、空きクラスタ数を算出する。
[0083] 次に、空きクラスタ数が決定すれば、その値が閾値以上であるかの判定をする(S2 03)。閾値の詳細については後述するが、ここでは一例として閾値が" 100"に設定さ れている場合を説明する。空きクラスタ数が" 100"以上であった場合は閾値以上の 値であるので、 FATブロックの有効性を示すフラグ(FLAG)を、 "有効(VALID) "に 設定する(S204)。また、空きクラスタ数が" 100"未満であった場合は閾値未満の値 であるので、フラグを"無効(INVALID) "に設定する(S205)。
[0084] 次に、領域管理ブロック情報 19内には COUNTER番目の FATブロックの情報とし て、算出した空きクラスタ数と、フラグの値を格納する(S206)。この後、 COUNTER 力 S"N"である場合、全ての FATブロックに対する処理が完了したことになるので、 S2 02に戻らないで処理を終了する(S207)。 COUNTERが" N"でない場合、 COUN TERに" 1,,をカ卩算し、 S202の処理に戻る(S208)。
[0085] このようにして生成された、領域管理ブロック情報 19の一例を図 14に示す。領域管 理ブロック情報 19は、 FATブロック数(この例では" N")の情報力 構成され、各 FA Tブロックに対し、 FATブロックに含まれる空きクラスタ数と、フラグが格納されている
[0086] 図 14の例では FATブロックの有効性を判定する閾値として" 100"を想定しており、 FATブロック 3、 FATブロック 4の空きクラスタ数力 それぞれ" 100"未満であることか ら、 "INVALID"のフラグが格納されている。
[0087] 図 15は、アクセス装置におけるリアルタイムデータの記録処理を示したフローチヤ ートである。上記のように作られた領域管理ブロック情報は、図 15に示すリアルタイム データの記録時における空き領域取得処理に使用される。次に図 15、図 16A、図 1 6Bを用いて本実施の形態における空き領域取得処理について説明する。
[0088] 図 16A,図 16Bは、図 15の S305で行なわれる空き領域取得処理のフローチヤ一 トである。この空き領域取得処理は、領域管理ブロック情報を基に空き領域を割り当 てる処理である。 FAT1、 FAT2は、 N個の FATブロックに分割され管理されていると 想定する。図 16A,図 16Bの空き領域取得処理では、まず始めに FAT上の探索開 始クラスタ番号に対応する FATエントリを含む探索開始 FATブロック番号(START — FAT— BL— NO)を算出する(S401)。初期状態の探索開始クラスタ番号は先頭 のクラスタ番号を示す 2となって!/、る。
[0089] FAT16ファイルシステムを使用し、 FATブロックサイズが 512Bの場合、探索開始 FATブロック番号の算出式は下記のようになる。
探索開始 FATブロック番号 =Ip (探索開始クラスタ番号 X 2Z512) + 1 ここで Ip (X)は、 Xの整数部分を意味する。例えば探索開始クラスタ番号が" 300" であった場合、探索開始 FATブロック番号は" 2"となる。
[0090] 次に、現在参照している参照クラスタ番号の値に探索開始クラスタ番号を代入する と共〖こ、現在参照して ヽる参照 FATブロック番号(CURRENT— FAT— BL— NO) に探索開始 FATブロック番号を代入する(S402)。 [0091] 次に領域管理ブロック情報 19を参照し、参照 FATブロック番号に対応する FATブ ロックのフラグが" VALID"であるか確認する(S403)。 "VALID"であった場合、参 照 FATブロック番号に対応する FATブロック内で空きクラスタの取得を試みる(S40 4)。
[0092] 具体的には、現在参照している FATブロック内において、参照クラスタ番号に対応 する FATエントリ力 順に値を確認し、 "OxOOOO"である FATエントリを探索する。こ の際、 1つの FATエントリを確認する度に参照クラスタ番号の値に" 1"を加算し、現在 参照して 、るクラスタ番号を更新する。
[0093] 現在参照して 、る FATブロックの終端まで探索が完了する力、あるいは参照クラス タ番号の値がユーザデータ領域 302の終端のクラスタ番号を超えるまでの間に" 0x0 000"である FATエントリが見つかった場合、領域取得に成功したことになる(S405) 。続いて、取得した空きクラスタのクラスタ番号を探索開始クラスタ番号に代入して、 S TART— CLUを更新する(S406)。取得した空きクラスタをリアルタイムデータ記録 に使用し(S407)、処理を終了する。この処理では、具体的には S803、 S804と同様 の処理が実施される。
[0094] また、 "0x0000"である FATエントリが見つからなかった場合、あるいは、 S403の 判定にぉ 、てフラグが" INVALID"であった場合は、下記の条件の!/、ずれか一つで も条件が満たされて ヽるか確認する(S408)。
(1)参照 FATブロック番号が探索開始 FATブロック番号より 1だけ小さ 、値である
(2)参照 FATブロック番号の値が" N"であり、探索開始 FATブロック番号が" 1"で ある。
[0095] いずれかの条件を満たす場合、既に全 FATブロックの領域検索が完了したことを 示すのでリアルタイムデータの記録に使える空き記録領域は存在しな 、。即ち空き記 録領域の取得に失敗したことになるので、一連の記録領域の取得処理は終了し、リ アルタイムデータ記録は中止となる(S409)。
[0096] また、 S408の処理にお!、て!/、ずれの条件も満たさなかった場合は、参照 FATブロ ック番号の値が" N"であるかを確認する(S410)。 "N"であった場合は、参照 FATブ ロック番号の値に" 1"を代入し、 S403の処理に戻る(S411)。 "N"でなかった場合は 、参照 FATブロック番号の値に" 1"を加算し、 S403の処理に戻る(S412)。このよう に本実施の形態のアクセス装置 1における領域取得処理では、フラグが" VALID"で ある FATブロックのみを空き領域検索の対象とする。
[0097] 図 16A,図 16Bの領域取得処理を実施した場合におけるリアルタイムデータ記録 時の FAT更新のタイミングとバッファ使用量の変化を図 17、図 18を用いて説明する 。図 17は、領域管理ブロック情報が図 14の場合における、 FAT1、 FAT2の状態を 示した図である。斜線で示されている FATブロック 3と FATブロック 4は、空きクラスタ の数が閾値の 100未満であるのでリアルタイムデータの記録には用いられない。この FATの状態において探索開始クラスタ番号の値が" 2"の場合にリアルタイムデータ を記録すると、アクセス装置 1内のバッファ使用量とメモリカード 2への記録タイミング は図 18のようになる。
[0098] リアルタイムデータ記録開始直後の状態では、まず FATブロック 1に含まれる空き 領域に、 154クラスタのリアルタイムデータが記録される。次に FAT1、 FAT2、ディレ クトリエントリの記録を行なう。この処理をまとめて FAT更新という。この FAT1、 FAT 2の記録では、更新部分は FATブロック 1の中に限られるため、更新量は 1FATブロ ック分のみである。
[0099] 次に FATブロック 2に含まれる空き領域に 234クラスタのリアルタイムデータが記録 される。その後、同様に FAT更新、即ち FAT1、 FAT2、ディレクトリエントリが記録さ れる力 この場合も更新部分は FATブロック 1つ分のみとなる。
[0100] 次に FATブロック 3、 FATブロック 4は、図 14に示す領域管理ブロック情報 19内の フラグが" INVALID"となっているため、リアルタイムデータの記録には使用されない 。従って次の FATブロック 5に含まれる 178クラスタの空き領域にリアルタイムデータ が記録される。その後も同様に FAT更新、即ち FAT1、 FAT2、ディレクトリエントリが 記録されるが、この場合も更新部分は FATブロック 1つ分のみとなる。
[0101] このように、領域管理ブロック情報 19内のフラグが" VALID"となっている FATブロ ックに含まれる空き記録領域にのみリアルタイムデータを記録することで、 FAT更新 の量は常に FATブロック 1つ分のみとなり、連続する 2つの FAT更新と FAT更新の 間に記録されるリアルタイムデータ量は閾値以上のクラスタ数となることが保証される 。そのため、 FAT更新が頻繁に発生することによるノ ッファ溢れを防止し、リアルタイ ムデータ記録時のリアルタイム性を保証することが可能となる。
[0102] 以上のように、閾値の設定によってデータ記録の速度を一定以上に確保することが できる。この閾値の決定方法について以下に説明する。ここで説明する閾値は第 1の 閾値 (BORDER)と呼び、連続する t回の FAT更新に挟まれた (t— 1)回のデータ記 録の期間内に最低限記録が必要なリアルタイムデータの量を示すものである。これは 、各 FATブロックに含まれる空き領域をリアルタイムデータ記録に使用するか否かを 決定するのに用いられる。まず、連続する 2回の FAT更新に挟まれるデータ記録期 間内に、最低限記録が必要なリアルタイムデータの量力 BORDERを決定する場 合を説明する。この t = 2における BORDERを特に、 BORDER— 1とする。
[0103] BORDER- 1の決定方法を説明するにあたり、 FAT1、 FAT2、ディレクトリエントリ の合計 3つの書き込みを 1セットの FAT更新と定義し、 1セットの FAT更新の処理時 間(T_FAT、以下 Tfとする)を 100msecと想定する。また、アクセス装置 1が記録す るリアルタイムデータのビットレート(TARGET_RATE、以下 Trとする)を 3MBZs 、メモリカード 2にリアルタイムデータを記録するレート(REC— RATE、以下 Rrとする )を 4MBZsと想定する。
[0104] この場合、リアルタイムデータ 1秒分の記録に必要な時間 (T— DATA、以下 Tdと する)は、次の式で算出される。
Td= (Tr/Rr) X 1000
すなわち、 Td= 750msecと算出される。また、 1秒当たりに実施可能な FAT更新 回数 (Fc)は次の式で算出される。
Fc= (1000-Td) /Tf
[0105] すなわち、 Fc = 2. 5回と算出される。そのため、連続する 2セットの FAT更新に挟 まれるデータ記録期間内で最低限記録が必要なクラスタ数は次の式で算出される。
BORDER 1 = Rr X Td/ 1000/Fc/Cs
Csはクラスタサイズを意味しており、クラスタサイズが 16kBの場合、 BORDER— 1 = 76. 8と算出される。すなわち、 BORDER— 1として" 77"を設定し BORDER— 1 以上の数のクラスタを用いれば、この例ではリアルタイムデータ記録時のリアルタイム 性が保証できることになる。
[0106] 続いて、本実施の形態の変形例について以下に示す。上記の方法で BORDER— 1未満の FATブロックは" INVALID"として扱われ、当該 FATブロックが管理する記 録領域をリアルタイムデータの記録に用いることはな 、。しかしその FATブロックの直 前または直後に、大きな空き記録領域を管理する FATブロックを組み合わせることが できれば、上記の例で" INVALID"となって!/、る FATブロックでも用いることができる 場合がある。この場合の閾値の決定について次に説明する。
[0107] ここでは、連続する 3回の FAT更新に挟まれる 2つのデータ記録期間内に、最低限 記録が必要なリアルタイムデータの量カゝら BORDERを決定する場合を説明する。こ の BORDERは、先に述べた BORDERの定義において t = 3の場合にあたる。今回 の BORDERを、特に BORDER— 2とする。説明に用いる FAT更新の定義や、 Tf、 Tr、 Rr、 Td、 FAT更新回数である FAT— COUNT (Fc)、クラスタサイズである CL U— SIZE (Cs)の定義は先に示した通りである。
[0108] この場合の BORDER— 2の決定は、 2つのデータ記録期間内に最低限記録が必 要なリアルタイムデータの量がもとになるので、次の式によって求められる。
BORDER 2 = Rr X Td/ 1000/Fc/Cs X 2
Csが 16kBの場合、 BORDER— 2= 153. 6と算出される。すなわち、 BORDER - 2として" 154"を設定し BORDER— 2以上の数のクラスタを用いれば、リアルタイ ムデータ記録時のリアルタイム性が保証できることになる。
[0109] このように、連続する 3回の FAT更新に挟まれる 2つのデータ記録期間を考える場 合、領域管理ブロック情報の生成処理が図 13とは異なるので、以下に図 19A,図 19 B及び図 20を用いて説明する。
[0110] 図 19A,図 19Bにおいて、まず現在参照している FATブロックの番号を示す COU NTERの値を" 1"に設定する(S501)。 COUNTERの値が示す FATブロック内の 空きクラスタ数を算出して、 WORK1とする(S502)。次に、 COUNTERの値が" N" であるかどうかを確認する(S503)。 COUNTERの値は" 1"から始まる力 後の処理 、 S513からのループで帰ってきた COUNTERの値は" 1"より大きな値であるため S 503において" N"であるかどうかの判断を行なう。
[0111] COUNTERの値が"なでなければ、 COUNTERの値に 1を加算した番号の FAT ブロック内の空きクラスタ数を算出し WORK2とする(S505)。現在の COUNTERの 値は" 1"であるので、 2番目の FATブロックである FATブロック 2の空きクラスタ数を WORK2とする。しかし COUNTERの値が" N"であれば、最後の FATブロックであ る FATブロック Nを参照して!/、ることを示しており、次に続く FATブロックは存在しな いので、 WORK2は" 0"とする(S504)。
[0112] 続いて、先に求めた WORK1と WORK2を合計し、空きクラスタ数を求める(S506 ) o求めた空きクラスタ数の値を予め決められた BORDER— 2と比較する(S507)。 空きクラスタ数が BORDER— 2以上の場合は、 COUNTERの値が示す FATブロッ クは、リアルタイムデータの記録に用いることができるので、当該 FATブロックがリア ルタイムデータの記録に対して有効であることを示すためにフラグを" VALID"に設 定する(S508)。この" VALID"のフラグと WORK1を領域管理ブロック情報内に CO UNTERの値が示す FATブロックの情報として格納する(S511)。
[0113] 逆に、空きクラスタ数が BORDER— 2未満の場合は、 COUNTERの値が示す FA Tブロックはリアルタイムデータの記録に用いることができない。このときは、当該 FAT ブロックがリアルタイムデータの記録に有効ではないということを示すためにフラグを"
INVALID"に設定する(S 509)。
[0114] S509の次の探索済みブロック再判定の処理(S510)を、図 20を用いて説明する。
まず、 COUNTERの値力 ' 1"であるかどうかを判断し(S601)、 "1"であれば S511 へ進み、 "INVALID"のフラグと WORK1を領域管理ブロック情報内に COUNTER の値が示す FATブロックの情報として格納する。 COUNTERの値力 ' 1"でなければ 、 COUNTERの値から 1を減算して L— COUNTERとする(S602)。
[0115] L— COUNTERの値が示す FATブロック内の空きクラスタ数を求めて L— WORK とし(S603)、この L_WORKを S507で用いた BORDER— 2と比較する(S604)。 L— WORKが BORDER— 2以上であれば、図 20のフローに示す処理を終えて S51 1へ進み、 "INVALID"のフラグと WORK1を領域管理ブロック情報内に COUNTE Rの値が示す FATブロックの情報として格納する。 [0116] L— WORKが BORDER— 2未満であれば、領域管理ブロック情報内の L— COU NTERの値が示す FATブロックの情報として" INVALID"のフラグを格納する(S60 5)。
[0117] 次に、 L— COUNTERの値力 ' 1"かどうかの判定を行なう(S606)。 L— COUNT ERの値が" 1"でなければ、 L— COUNTERの値から 1減算し(S607)、 S603へと ループして同じ処理を繰り返す。し力し、 L— COUNTERの値力 ' 1"であるということ は、 FATブロックの先頭である FATブロック 1を参照しているということを示しており、 これよりさかのぼっては参照すべき FATブロックは存在しないので、探索済みブロッ ク再判定の処理(S510)を終了し、 S511へ進んで" INVALID"のフラグと WORK1 を領域管理ブロック情報内に、 COUNTERの値が示す FATブロックの情報として格 納する。
[0118] 図 19A,図 19Bに戻って S511の処理の次は、現在の COUNTERの値が" N"で あるかどうかを判断する(S512)。 "N"でなければ COUNTERの値に 1を力卩算し(S5 13)、 S502へとループして同じ処理を行ない、 COUNTERが" N"になるまで同じ処 理を繰り返す。 "N"であることは、現在 FATブロック Nを参照していることを示し、これ より後に参照すべき FATブロックは存在しな 、ので、領域管理ブロック情報生成処理 を終了する。
[0119] 上記の領域管理ブロック情報の生成処理について、 COUNTER、 WORKl、 WO RK2に、実際の数値を用いて、図 14、図 19A,図 19Bと図 20、図 21を参照しながら 説明する。図 21の WORKl、 WORK2は図 14の空きクラスタ数を用いたものであり、 各 FATブロックの空きクラスタ数は同じ数字を用いて!/、る。ここで BORDER— 2は、 154に設定されているとする。
[0120] S501で、 COUNTERの値を 1とすると、 S502での WORK1は FATブロック 1が示 す 154である。 S503において COUNTERの値は" N"ではないので、 WORK2は F ATブロック 2が示す 234であり、 S506で 2FATブロックの合計の空きクラスタ数は 38 8となる。 S507での比較によると空きクラスタ数は BORDER— 2の値である 154以上 であるので、 S508において FATブロック 1についてのフラグを" VALID"とする。 S5 11に移って、 COUNTERの値の通り、 FATブロック 1の情報として WORK1を 154 、フラグを" VALID"として領域管理ブロック情報内に格納する。 S512において、 C OUNTERの値は" N"ではなぐ' 1"であるので、 S513に移って COUNTERの値に 1 をカ卩算して COUNTERの値を 2として S502に進む。
[0121] COUNTERの値が 2であれば、 S505において WORK1力 34で WORK2力 3 であり、 S506の合計空きクラスタ数は 257となる。これも S507で BORDER— 2以上 であると判断されるので、 S511で FATブロック 2の情報として WORK1を 234、フラ グを" VALID"として領域管理ブロック情報内に格納する。 S 513で COUNTERの 値に 1をカ卩算して COUNTERの値を" 3"として S502にループする。
[0122] COUNTERの値が 3のときは、 S505において WORK1力 3で WORK2力 6で あり、 S506の合計空きクラスタ数は 79となる。この値は S507において BORDER— 2の値以上ではな!/、ので、 S509にお!/、て FATブロック 3につ!/、てのフラグを" INVA LID"とする。
[0123] 次に、 S510の処理に移り、図 20の S601で COUNTERの値が 1であるかを判断 する。現在の COUNTERの値は" 3"であるので、 S602において、 L— COUNTER (= COUNTER- 1)の値は" 2"となる。 S603では L— COUNTERの値が" 2"であ ることから FATブロック 2内の空きクラスタ数 L— WORKを算出し、 L— WORKの値 に 234を得る。この L— WORKは 2つの FATブロックの空き領域の合計ではなぐ F ATブロック 2だけの空き領域である力 それでも BORDER— 2以上であるので、 FA Tブロック 3との組み合わせでもリアルタイムデータの記録に使用可能であるとして FA Tブロック 2の" VALID"のフラグは維持される。
[0124] もしここでの L— WORKが 131であれば、 FATブロック 2のフラグはすでに" VALI D"になっている力 BORDER— 2未満であるので S605の処理で FATブロック 2の フラグは" INVALID"に設定しなおされる。この処理の根拠は次のように説明できる 。つまり、 FATブロック 3のフラグが" INVALID"となり空きクラスタ数力 ^であると扱わ れているので、 FATブロック 3との組み合わせでは BORDER— 2以上にはならず、 F ATブロック 2も用いることはできなくなるということである。このような処理を COUNTE Rの値が" N"になるまで繰り返し、 FATブロック番号に対して、 WORK1とフラグを備 えた、領域管理ブロック情報を生成する。 [0125] このような領域管理ブロック情報を生成し用いることで、 FAT更新の回数がユーザ データ領域 302内の空き記録領域の配置状態に左右されなくなり、バッファ溢れを防 止し、リアルタイムデータ記録時のリアルタイム性を保証することが可能となる。更に、 本発明のアクセス装置では FATブロック内に含まれる空き記録領域が必ずしも連続 している必要はないため、小さな空き記録領域が分散して FATブロック内に存在す る場合にぉ 、ても FAT更新の回数を抑制し、リアルタイムデータを記録することがで き、ユーザデータ領域 302内の空き記録領域を効率的に使用することが可能となる。
[0126] ここまで、本発明の実施の形態について説明してきたが、本発明は上記の実施の 形態に限定されるものではなぐ本発明の趣旨を逸脱しない範囲で変更することがで きる。本実施の形態において説明した各種の数値は一例であり、その他の値に変更 して本発明を実施することができる。
[0127] 例えば、 FATブロックサイズとして 512Bの場合について説明したが、 16kB等に変 更しても構わない。また、領域管理ブロック情報 19をメモリカード挿入時に生成する 場合について説明した力 静止画のデータを取り込むモードから動画のデータを取り 込むモードに切換えた時や、アクセス装置の電源投入時など、挿入後の任意のタイミ ングで生成しても良い。さらに、 FAT1、 FAT2が更新される際に逐次領域管理プロ ック情報 19の内容を更新しても良 、。
[0128] また、情報記録媒体としてメモリカードを例として説明したが、小さな単位での記録 が比較的低速で、大きな単位での記録が比較的高速となるような特徴を有する情報 記録媒体であれば、ハードディスクや光ディスク等、他の種類の情報記録媒体を使 用しても構わない。
[0129] ハードディスク等でアクセス装置 1に常時接続されて ヽる情報記録媒体の場合、ァ クセス装置 1に対する電源投入と同時か、あるいは情報記録媒体を使用する直前に 図 11と同様の処理を実施すれば良い。この場合、 S101、 S102の処理は不要であり 、必要であれば代わりに情報記録媒体固有の初期化処理を挿入すれば良 、。
[0130] また、本実施の形態ではファイルシステムとして FATファイルシステムを例に説明し た力 その他のファイルシステムを用いても良い。例えば、 UDFファイルシステムでは 空き記録領域の管理を SpaceBitMapと呼ばれるビットマップで管理して!/、る。本発 明を UDFファイルシステムに適用する場合、 FATブロックの代わりに、 SpaceBitMa Pを固定長のブロック単位に分けて管理する SpaceBitMapブロックを用いて制御す れば良い。
[0131] これまでに、 BORDER- 1未満または BORDER— 2未満の空き記録領域しか存 在しない FATブロックへはリアルタイムデータを記録しない旨を説明した。しかし、こ のような FATブロックへはリアルタイム性を必要としない静止画等のデータを記録す ることで更に記録領域を効率的に使用することが可能となる。
[0132] 本実施の形態では、先に述べた BORDERの定義における、 t= 2と t= 3の場合を 説明した。しかし、これら tの値にかかわらず、 tに 4以上の値を設定してもよい。こうす ることで、空き記録領域量が少ない FATブロックでも、その前後に空き記録領域量が 多い FATブロックがあれば、リアルタイムデータの記録が可能となり、より空き記録領 域を効率的に使用することができる。
[0133] 更に本実施の形態では、「該当する FATブロック内に含まれる全空きクラスタ数」を 算出し、 BORDER- 1または BORDER— 2と比較してフラグを決定する方法につい て説明したが、次のように変更しても良い。
[0134] (1)連続する複数の FATエントリを 1つのデータ記録単位とする方法がある。例え ば、図 22Aは 1つの FATブロックを示しており、四角形の 1つ 1つは FATエントリであ る。〇印、 X印はその FATエントリが管理するクラスタの状態を表し、〇印はクラスタ 力 S空きであること、 X印はクラスタに有効なデータが既に記録されていることを示す。 図が示すように先頭の FATエントリ力 順に 2つずつを 1つのデータ記録単位として 組にして、このデータ記録単位内に含まれる 2つの FATエントリが〇印である場合に そのデータ記録単位を"空きデータ記録単位"とする。次に、 FATブロック内に含ま れる"空きデータ記録単位"が管理する空きクラスタの数を BORDER— 1または BOR DER— 2と比較して FATブロックの使用可能、不能を示すフラグを決定する。こうす ることで少なくとも 2つの連続した空きクラスタをリアルタイムデータの記録に使うことが できる。
[0135] (2)別の方法として、連続する複数のクラスタで 1つのスロットを構成することが考え られる。例えば図 22Bは、先頭の FATエントリ力 順に 8つずつを 1つの組にしてスロ ットを構成した状態を表している。図 22Bも 1つの FATブロックを示しており、四角形 、〇印、 X印の示す意味も(A)と同じである。今、 1つのスロット内の〇印の数は、スロ ット(1)は 5つ、(2)は 6つ、(3)は 2つ、(4)は 4つである。〇印はその FATエントリが 管理するクラスタが空きであることを表すので、スロット(1)は 5つの空きクラスタを管 理していることになり、スロット(2)、(3)、(4)も〇印と同数の空きクラスタを管理してい る。ここで、一定数以上の空きクラスタを管理しているスロットを選ぶために第 2の閾値 を導入する。第 2の閾値は 1つのスロットで確保したい最少の空きクラスタの数であり、 1つのスロット内の〇印の数と比較することに用いられる。ここで第 2の閾値を 5とする と、スロット(1)と(2)は〇印が 5つ以上あり第 2の閾値以上のスロットとなり、スロット(3 )と (4)は第 2の閾値以下のスロットとなる。この第 2の閾値以上のスロット(1)と(2)を" 空きスロッド,として扱い、 1つの FATブロック内の全ての空きスロットに含まれる〇印、 つまり空きクラスタの数を合計してこの合計を BORDER— 1または BORDER— 2と 比較する。この比較によって FATブロックの使用可能、不能を示すフラグが決定する
[0136] (2)で述べたスロットは、先の(1)で述べた記録単位とは異なる。スロット、記録単位 とも連続する複数のクラスタで構成され、リアルタイムデータの記録をより高速で行な うことを目的にしたものである力 構成に用いられるクラスタの数が違い、スロットの方 力 り多くのクラスタで構成される。
[0137] 例えば、フラッシュメモリを用いたメモリカードの場合、消去ブロックサイズ内に記録 するデータ量と、記録速度の関係はほぼ比例に近い関係になることから、消去ブロッ クサイズ内に記録するデータ量が増加すれば、記録速度も高速になる。そのため、 1 つの消去ブロックを構成するクラスタ(ここでは、 32クラスタ)を管理して ヽる全部の F ATエントリを 1つのスロットとして設定し、 FATブロックを 1以上のスロット(ここでは、 8 スロット)で構成する。この上で、一定以上の空き記録領域が存在するスロットのみを 選択すると、 1回の消去で記録できる新しいデータの量も一定以上が確保されること となり、高速の記録速度を保証することが可能となる。
[0138] また、領域管理ブロック情報 19にフラグを格納する例について説明したが、 S403 の判定処理において毎回、第 1の閾値と空きクラスタ数を比較するようにすればフラ グは不要であり、領域管理ブロック情報 19にフラグを格納する必要はな!/、。
産業上の利用可能性
本発明に関わるアクセス装置は、ファイルシステムにより管理された情報記録媒体 に対し、 FAT等の領域管理情報を固定長のブロック単位で管理し、閾値以上の空き 記録領域を含む領域管理情報ブロックに含まれる空き記録領域のみをリアルタイム データの記録に使用する。これにより、ユーザデータ領域内の空き記録領域の配置 状態によらず、 FAT更新が頻繁に発生することによるノ ッファ溢れを防止し、リアルタ ィムデータ記録時のリアルタイム性を保証することが可能となる。このようなアクセス装 置は、動画データ、音声データ等をリアルタイムに記録するポータブルムービー、 DV Dレコーダ、 HDDレコーダ、レコーダ機能付きデジタルテレビ、デジタルスチルカメラ 、 ICレコーダ等として利用することができる。

Claims

請求の範囲
[1] 格納データをファイルシステムにより管理する情報記録媒体にアクセスする情報記 録媒体アクセス装置にぉ 、て、
ファイルシステムが管理する領域管理情報を固定長ブロック単位に分割して、各固 定長ブロック内に含まれる空き領域長に関する情報を格納する領域管理ブロック情 報を情報記録媒体アクセス装置内のメモリ上に生成し、ファイルデータ記録時の領域 割り当てに前記領域管理ブロック情報に格納された情報を利用する領域管理ブロッ ク制御部を具備する情報記録媒体アクセス装置。
[2] 管理単位であるクラスタが複数集まって構成されるデータ記録領域と、前記各クラス タに対する 1つの管理情報単位であるエントリ情報を複数保持する領域管理情報とを 備える不揮発性メモリを含む情報記録媒体にアクセスする情報記録媒体アクセス装 置であって、
前記領域管理情報は、前記データ記録領域において一定数の物理的に連続した クラスタが得られるように組み合わされた一定数の前記エントリ情報力 成る領域管 理ブロックを複数有するものであり、
前記情報記録媒体から前記領域管理情報を読み出し、前記領域管理ブロックごと に空きクラスタ数を算出し、前記各領域管理ブロックの前記空きクラスタ数を第 1の閾 値と比較して、第 1の閾値以上のときに当該領域管理ブロックをデータ書き込みが可 能な領域とする前記領域管理ブロック制御部と、
前記各領域管理ブロックと当該領域管理ブロック内の空き領域長に関する領域管 理ブロック情報を保持するメモリと、を具備する情報記録媒体アクセス装置。
[3] 前記領域管理ブロック制御部は、
前記領域管理ブロック内の前記空きクラスタ数を示す値、及び前記領域管理ブロッ ク内の前記空きクラスタ数が第 1の閾値以上である場合は、当該領域管理ブロックが 管理する記録領域が使用可能であることを示すフラグ、前記領域管理ブロック内の 前記空きクラスタ数が前記第 1の閾値未満である場合は、当該領域管理ブロックが管 理する記録領域が使用不能であることを示すフラグを前記領域管理ブロック情報とし て前記メモリに格納する請求項 2記載の情報記録媒体アクセス装置。
[4] 前記第 1の閾値は、
連続する t回のファイルシステムの管理情報更新に挟まれる (t- 1)回のデータ記録 期間内で最低限記録しなければならな 、ファイルデータが記録できるクラスタ数であ る請求項 2記載の情報記録媒体アクセス装置。
[5] 前記領域管理ブロック制御部は、
前記領域管理ブロック毎に、前記データ記録領域において 2つ以上の物理的に連 続したクラスタが得られるように前記エントリ情報を 2つ以上組み合わせて 1つの組と して管理し、各組のエントリ情報で示されるクラスタが全て空き領域となって 、る組に 含まれるクラスタ数を前記第 1の閾値と比較し、前記空きクラスタ数が前記第 1の閾値 以上である場合は、該当する領域管理ブロックが管理する記録領域をデータ記録可 能な領域とする請求項 2記載の情報記録媒体アクセス装置。
[6] 前記領域管理ブロック制御部は、
前記領域管理ブロック内の前記空きクラスタ数を示す値、及び前記領域管理ブロッ ク内の前記空きクラスタ数が第 1の閾値以上である場合は、当該領域管理ブロックが 管理する記録領域が使用可能であることを示すフラグ、前記領域管理ブロック内の 前記空きクラスタ数が前記第 1の閾値未満である場合は、当該領域管理ブロックが管 理する記録領域が使用不能であることを示すフラグを前記領域管理ブロック情報とし て前記メモリに格納する請求項 5記載の情報記録媒体アクセス装置。
[7] 前記領域管理ブロック制御部は、
前記領域管理ブロック毎に、前記エントリ情報を 2つ以上組み合わせて 1つのスロッ トとして管理し、各スロットに含まれるクラスタの内、空きクラスタ数が第 2の閾値以上 の場合に当該スロットを空きスロットと判定し、前記領域管理ブロック内のすべての空 きスロットに含まれる空きクラスタ数を前記第 1の閾値と比較し、前記空きクラスタ数が 前記第 1の閾値以上である場合は、該当する領域管理ブロックが管理する記録領域 をデータ記録可能な領域とする請求項 2記載の情報記録媒体アクセス装置。
[8] 前記領域管理ブロック制御部は、
前記領域管理ブロック内の前記空きクラスタ数を示す値、及び前記領域管理ブロッ ク内の前記空きクラスタ数が第 1の閾値以上である場合は、当該領域管理ブロックが 管理する記録領域が使用可能であることを示すフラグ、前記領域管理ブロック内の 前記空きクラスタ数が前記第 1の閾値未満である場合は、当該領域管理ブロックが管 理する記録領域が使用不能であることを示すフラグを前記領域管理ブロック情報とし て前記メモリに格納する請求項 7記載の情報記録媒体アクセス装置。
[9] 前記領域管理ブロック制御部は、
前記メモリに保持された前記領域管理ブロック情報を参照し、前記空き領域長が、 一定値以上である前記領域管理ブロックに含まれる空き領域をファイルデータ記録 時に割り当てる請求項 1記載の情報記録媒体アクセス装置。
[10] ファイルシステムが管理する領域管理情報を固定長ブロック単位に分割して、各固 定長ブロック内に含まれる空き領域長に関する情報を格納する領域管理ブロック情 報を情報記録媒体アクセス装置内のメモリ上に生成し、ファイルデータ記録時の領域 割り当てに前記領域管理ブロック情報に格納された情報を利用するデータ記録方法
[11] 管理単位であるクラスタが複数集まって構成されるデータ記録領域と、前記各クラス タに対する 1つの管理情報単位であるエントリ情報を複数保持する領域管理情報とを 備える不揮発性メモリを含む情報記録媒体にアクセスするデータ記録方法であって、 前記領域管理情報は、前記データ記録領域において一定数の物理的に連続した クラスタが得られるように組み合わされた一定数の前記エントリ情報力 成る領域管 理ブロックを複数有するものであり、
前記情報記録媒体から前記領域管理情報を読み出し、前記領域管理ブロックごと に空きクラスタ数を算出し、前記各領域管理ブロックの前記空きクラスタ数を第 1の閾 値と比較して、第 1の閾値以上のときに当該領域管理ブロックをデータ書き込みが可 能な領域とし、
前記各領域管理ブロックと当該領域管理ブロック内の空き領域長に関する領域管 理ブロック情報をメモリに保持するデータ記録方法。
[12] 前記領域管理ブロック内の前記空きクラスタ数を示す値、及び前記領域管理ブロッ ク内の前記空きクラスタ数が第 1の閾値以上である場合は、当該領域管理ブロックが 管理する記録領域が使用可能であることを示すフラグ、前記領域管理ブロック内の 前記空きクラスタ数が前記第 1の閾値未満である場合は、当該領域管理ブロックが管 理する記録領域が使用不能であることを示すフラグを前記領域管理ブロック情報とし て前記メモリに格納する請求項 11記載のデータ記録方法。
[13] 前記第 1の閾値は、
連続する t回のファイルシステムの管理情報更新に挟まれる (t- 1)回のデータ記録 期間内で最低限記録しなければならな 、ファイルデータが記録できるクラスタ数であ る請求項 11記載のデータ記録方法。
[14] 前記領域管理ブロック毎に、前記データ記録領域において 2つ以上の物理的に連 続したクラスタが得られるように前記エントリ情報を 2つ以上組み合わせて 1つの組と して管理し、各組のエントリ情報で示されるクラスタが全て空き領域となって 、る組に 含まれるクラスタ数を前記第 1の閾値と比較し、前記空きクラスタ数が前記第 1の閾値 以上である場合は、該当する領域管理ブロックが管理する記録領域をデータ記録可 能な領域とする請求項 11記載のデータ記録方法。
[15] 前記領域管理ブロック内の前記空きクラスタ数を示す値、及び前記領域管理ブロッ ク内の前記空きクラスタ数が第 1の閾値以上である場合は、当該領域管理ブロックが 管理する記録領域が使用可能であることを示すフラグ、前記領域管理ブロック内の 前記空きクラスタ数が前記第 1の閾値未満である場合は、当該領域管理ブロックが管 理する記録領域が使用不能であることを示すフラグを前記領域管理ブロック情報とし て前記メモリに格納する請求項 14記載のデータ記録方法。
[16] 前記領域管理ブロック毎に、前記データ記録領域において 2つ以上の物理的に連 続したクラスタが得られるように前記エントリ情報を 2つ以上組み合わせて 1つのスロッ トとして管理し、各スロットに含まれるクラスタの内、空きクラスタ数が第 2の閾値以上 の場合に当該スロットを空きスロットと判定し、前記領域管理ブロック内のすべての空 きスロットに含まれる空きクラスタ数を前記第 1の閾値と比較し、前記空きクラスタ数が 前記第 1の閾値以上である場合は、該当する領域管理ブロックが管理する記録領域 をデータ記録可能な領域とする請求項 11記載のデータ記録方法。
[17] 前記領域管理ブロック内の前記空きクラスタ数を示す値、及び前記領域管理ブロッ ク内の前記空きクラスタ数が第 1の閾値以上である場合は、当該領域管理ブロックが 管理する記録領域が使用可能であることを示すフラグ、前記領域管理ブロック内の 前記空きクラスタ数が前記第 1の閾値未満である場合は、当該領域管理ブロックが管 理する記録領域が使用不能であることを示すフラグを前記領域管理ブロック情報とし て前記メモリに格納する請求項 16記載のデータ記録方法。
前記メモリに保持された前記領域管理ブロック情報を参照し、前記空き領域長が、 一定値以上である前記領域管理ブロックに含まれる空き領域をファイルデータ記録 時に割り当てる請求項 10記載のデータ記録方法。
PCT/JP2006/318023 2005-09-22 2006-09-12 情報記録媒体アクセス装置、及びデータ記録方法 WO2007034706A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007536454A JP4859837B2 (ja) 2005-09-22 2006-09-12 情報記録媒体アクセス装置、及びデータ記録方法
CN2006800348174A CN101268449B (zh) 2005-09-22 2006-09-12 数据记录装置以及数据记录方法
EP06797830.4A EP1936508B1 (en) 2005-09-22 2006-09-12 Information recording medium access apparatus, and data recording method
US12/067,671 US7984231B2 (en) 2005-09-22 2006-09-12 Information recording medium access device, and data recording method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005276078 2005-09-22
JP2005-276078 2005-09-22

Publications (1)

Publication Number Publication Date
WO2007034706A1 true WO2007034706A1 (ja) 2007-03-29

Family

ID=37888757

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/318023 WO2007034706A1 (ja) 2005-09-22 2006-09-12 情報記録媒体アクセス装置、及びデータ記録方法

Country Status (5)

Country Link
US (1) US7984231B2 (ja)
EP (1) EP1936508B1 (ja)
JP (1) JP4859837B2 (ja)
CN (1) CN101268449B (ja)
WO (1) WO2007034706A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169682A (ja) * 2008-01-16 2009-07-30 Teac Corp データアクセス方法およびデータアクセス装置
JP2010541107A (ja) * 2007-10-05 2010-12-24 ディスキーパー・コーポレイション ソリッドステートドライブオプティマイザ
US8209467B2 (en) 2008-02-05 2012-06-26 Sony Corporation Recording apparatus, recording method, program for recording method, and storage medium that stores program for recording method

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
JP2009003783A (ja) * 2007-06-22 2009-01-08 Toshiba Corp 不揮発性メモリの制御装置及び制御方法及び記憶装置
JP2009003784A (ja) * 2007-06-22 2009-01-08 Toshiba Corp 不揮発性メモリの制御装置及び制御方法及び記憶装置
TWI372974B (en) * 2008-03-24 2012-09-21 Phison Electronics Corp Management method, management apparatus and controller for memory data access
KR101506578B1 (ko) * 2008-07-17 2015-03-30 삼성전자주식회사 데이터 보안을 위한 파일 시스템 구성 방법 및 장치, 그에의해 만들어진 데이터 보안 영역에 접근하는 방법 및 장치,그에 따른 데이터 저장 장치
US7849365B2 (en) * 2008-07-30 2010-12-07 Apple Inc. Method for reducing host device to electronic device communication errors
US20100161952A1 (en) * 2008-12-18 2010-06-24 Texas Instruments Incorporated Performance optimizations by dynamic reduction of file allocation tables
JP4816740B2 (ja) * 2009-02-09 2011-11-16 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
CN101634997B (zh) * 2009-06-02 2011-10-05 福州思迈特数码科技有限公司 增强基于NAND Flash的FAT文件系统稳定性的方法
JP5362010B2 (ja) * 2009-07-29 2013-12-11 パナソニック株式会社 メモリ装置、ホスト装置およびメモリシステム
WO2011060603A1 (zh) * 2009-11-19 2011-05-26 青岛海信移动通信技术股份有限公司 一种txt文件的解码、阅读方法及装置
JP5406750B2 (ja) * 2010-02-03 2014-02-05 キヤノン株式会社 記録装置及びその制御方法
JP5523128B2 (ja) * 2010-02-03 2014-06-18 キヤノン株式会社 記録装置及びその制御方法
JP5455689B2 (ja) * 2010-02-03 2014-03-26 キヤノン株式会社 記録装置及び方法
TWI475564B (zh) * 2010-04-21 2015-03-01 Silicon Motion Inc 記憶體之資料寫入方法及資料儲存裝置
TWI514136B (zh) 2010-12-28 2015-12-21 Silicon Motion Inc 快閃記憶裝置及其資料寫入方法
CN102541464B (zh) * 2010-12-30 2014-07-23 慧荣科技股份有限公司 快闪存储装置及其数据写入方法
CN102314490B (zh) * 2011-08-16 2013-07-10 晨星软件研发(深圳)有限公司 一种Linux FAT文件系统修复方法及装置
TWI733568B (zh) * 2020-08-27 2021-07-11 慧榮科技股份有限公司 記憶裝置、快閃記憶體控制器及其存取方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56137442A (en) * 1980-03-31 1981-10-27 Nec Corp Space managing system in access managing device of random access file
JPH07325669A (ja) * 1994-05-31 1995-12-12 Mitsubishi Electric Corp ディスク管理方法
JPH09251407A (ja) 1996-03-14 1997-09-22 Matsushita Electric Ind Co Ltd 記憶領域管理方法及び記憶装置
JP2005050383A (ja) * 2002-02-08 2005-02-24 Sanyo Electric Co Ltd ファイルデータ記憶管理方法、ファイルデータ記憶装置、ファイルデータを記憶するための処理を実行するプログラムおよび記憶媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100704998B1 (ko) 1999-02-26 2007-04-09 소니 가부시끼 가이샤 기록방법, 관리방법 및 기록장치
US7509342B2 (en) 2002-02-08 2009-03-24 Sanyo Electric Co., Ltd. File data storage management method, file data storage device, program executing processing for storing file data, and storage medium
JP4238514B2 (ja) * 2002-04-15 2009-03-18 ソニー株式会社 データ記憶装置
JP4009840B2 (ja) * 2002-06-27 2007-11-21 ソニー株式会社 情報処理装置、情報処理方法および情報処理プログラム
JP4036056B2 (ja) * 2002-08-13 2008-01-23 ソニー株式会社 記録装置および方法、記録媒体、並びにプログラム
CN1732529A (zh) * 2002-12-30 2006-02-08 皇家飞利浦电子股份有限公司 具有保护性链接区的记录载体
US7653796B2 (en) 2003-02-20 2010-01-26 Panasonic Corporation Information recording medium and region management method for a plurality of recording regions each managed by independent file system
JP2004280752A (ja) * 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
US20050216684A1 (en) 2003-11-21 2005-09-29 Matsushita Electric Industrial Co., Ltd. Information recording medium, data processing apparatus, and recording region setting method of information recording medium
JP4608434B2 (ja) * 2003-12-03 2011-01-12 パナソニック株式会社 情報記録媒体のデータ処理装置及びデータ記録方法
US7401174B2 (en) 2003-12-16 2008-07-15 Matsushita Electric Industrial Co., Ltd. File system defragmentation and data processing method and apparatus for an information recording medium
EP1777628A4 (en) 2004-06-30 2008-12-17 Panasonic Corp RECORDING MEDIUM AND DEVICE AND METHOD FOR RECORDING INFORMATION ON A RECORDING MEDIUM
JP2006285669A (ja) * 2005-03-31 2006-10-19 Toshiba Corp ホスト機器
JP4603953B2 (ja) * 2005-08-12 2010-12-22 キヤノン株式会社 画像データ記録装置及び方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56137442A (en) * 1980-03-31 1981-10-27 Nec Corp Space managing system in access managing device of random access file
JPH07325669A (ja) * 1994-05-31 1995-12-12 Mitsubishi Electric Corp ディスク管理方法
JPH09251407A (ja) 1996-03-14 1997-09-22 Matsushita Electric Ind Co Ltd 記憶領域管理方法及び記憶装置
JP2005050383A (ja) * 2002-02-08 2005-02-24 Sanyo Electric Co Ltd ファイルデータ記憶管理方法、ファイルデータ記憶装置、ファイルデータを記憶するための処理を実行するプログラムおよび記憶媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1936508A4

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010541107A (ja) * 2007-10-05 2010-12-24 ディスキーパー・コーポレイション ソリッドステートドライブオプティマイザ
JP2009169682A (ja) * 2008-01-16 2009-07-30 Teac Corp データアクセス方法およびデータアクセス装置
US8321641B2 (en) 2008-01-16 2012-11-27 Teac Corporation Data access method and data access device
US8209467B2 (en) 2008-02-05 2012-06-26 Sony Corporation Recording apparatus, recording method, program for recording method, and storage medium that stores program for recording method
CN101504593B (zh) * 2008-02-05 2012-10-24 索尼株式会社 记录装置、记录装置的控制方法、记录装置控制方法的程序

Also Published As

Publication number Publication date
CN101268449B (zh) 2012-04-04
EP1936508A4 (en) 2010-09-29
US7984231B2 (en) 2011-07-19
JPWO2007034706A1 (ja) 2009-03-19
EP1936508A1 (en) 2008-06-25
US20090180209A1 (en) 2009-07-16
JP4859837B2 (ja) 2012-01-25
EP1936508B1 (en) 2019-07-03
CN101268449A (zh) 2008-09-17

Similar Documents

Publication Publication Date Title
JP4859837B2 (ja) 情報記録媒体アクセス装置、及びデータ記録方法
JP5129156B2 (ja) アクセス装置、および、ライトワンス記録システム
US8161225B2 (en) Semiconductor memory card, access device and method
JP5400875B2 (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム
EP1729218A1 (en) Nonvolatile storage system
JP4807683B2 (ja) データ記憶装置
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
JP4722704B2 (ja) 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法
WO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
JP2006285669A (ja) ホスト機器
JP4551328B2 (ja) 情報記録媒体におけるデータ領域管理方法、及びデータ領域管理方法を用いた情報処理装置
JP2009245278A (ja) 半導体記憶装置
JP4130808B2 (ja) フォーマット方法
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
JP4929242B2 (ja) 半導体記憶装置
JP2006252137A (ja) 不揮発性記憶装置の最適化方法
US20100217787A1 (en) Controller, information recording device, access device, information recording system, and information recording method
JP2011076441A (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
JP2006155461A (ja) 情報処理装置、情報処理方法、並びにプログラム
JP2009205590A (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP2007310533A (ja) 不揮発性記憶システム、不揮発性記憶装置、及びファイルデータ書き込み方法
JP2004342090A (ja) データ記録装置
CN117492657A (zh) 一种数据上下电处理方法、系统、设备及计算机存储介质
KR100592859B1 (ko) 기록매체제어장치및방법
JP2005149620A (ja) 記憶装置およびファイルシステム

Legal Events

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

Ref document number: 200680034817.4

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2007536454

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2006797830

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12067671

Country of ref document: US