WO2005055064A1 - 情報記録媒体のデータ処理装置及びデータ記録方法 - Google Patents

情報記録媒体のデータ処理装置及びデータ記録方法 Download PDF

Info

Publication number
WO2005055064A1
WO2005055064A1 PCT/JP2004/017767 JP2004017767W WO2005055064A1 WO 2005055064 A1 WO2005055064 A1 WO 2005055064A1 JP 2004017767 W JP2004017767 W JP 2004017767W WO 2005055064 A1 WO2005055064 A1 WO 2005055064A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
block
recording medium
cluster
information
Prior art date
Application number
PCT/JP2004/017767
Other languages
English (en)
French (fr)
Inventor
Hirokazu So
Takuji Maeda
Hiroya Kusaka
Shoichi Tsujita
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 JP2005515925A priority Critical patent/JP4608434B2/ja
Priority to KR1020067010179A priority patent/KR101046083B1/ko
Priority to EP04819818A priority patent/EP1693758A4/en
Priority to US10/596,155 priority patent/US20070162707A1/en
Priority to CN2004800360923A priority patent/CN1890645B/zh
Publication of WO2005055064A1 publication Critical patent/WO2005055064A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to 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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Definitions

  • the present invention relates to a data processing device and a data recording method for recording digital data on an information recording medium, and more particularly, to a technique for guaranteeing a minimum speed of a digital data writing process.
  • Recording media for recording digital data such as music content, moving image content, and still image content include various types such as semiconductor recording media, magnetic disks, optical disks, and magneto-optical disks. There are types. In particular, semiconductor recording media are rapidly becoming popular, especially in portable devices such as digital still cameras and mobile phone terminals, because of their small size and light weight.
  • Typical semiconductor recording media include an SD memory card (registered trademark), a memory stick (registered trademark), and a compact flash (registered trademark).
  • the management of data stored in these semiconductor recording media is realized by a file system.
  • the recording area is managed by dividing it into sectors, which are the minimum access units, and clusters, which are sets of sectors, and one or more clusters are managed as files.
  • An example of a file system commonly used in information devices such as a PC (personal computer) is a FAT (file 'allocation' table) file system (for details, see Non-Patent Document 1).
  • the recording area is managed in units of blocks and! /. Therefore, if the write size is the same, write continuously to the same block as much as possible. The writing is performed faster.
  • the block size is generally larger than the cluster size.
  • Patent Document 1 JP 2001-188701 A
  • Non-Patent Document l ISO / IEC9293, "Information Technology—Volume annle structure of disk cartridges for information", 1994
  • the present invention has been made in view of the above problems, and has as its object to provide a data recording apparatus and a recording method that can reduce a reduction in the speed of a writing process on an information recording medium.
  • a first data recording method has a recording area for storing data, and records data on an information recording medium in which stored data is managed by a file system. Recording method. At this time, the recording area of the information recording medium is managed in block units, and each block includes a predetermined number of clusters, which are units for storing data of the file system. When data needs to be recorded in a new free area, the data recording method searches for blocks containing unused clusters that are equal to or greater than a specified threshold, and preferentially writes data to the searched blocks. Do.
  • data may be written to an unused cluster in an effective block that is a block including an unused cluster or more than a threshold.
  • the number of unused clusters included in each block of the recording area is counted, and the effective block is obtained based on the count result.
  • An area list may be generated and held, and at the time of data recording processing, the effective block may be searched with reference to the effective free area list.
  • Information regarding the threshold value may be stored in an information recording medium.
  • the threshold value may be a value equal to or larger than 1Z2 of the number of clusters in one block.
  • a first data processing device is a data processing device that writes and reads data to and from an information recording medium.
  • the recording area of the information recording medium is managed in units of blocks, and each block includes a predetermined number of clusters, which are units for storing data of the file system.
  • the first data processing device includes an input / output processing unit for inputting / outputting information to / from the information recording medium, a file system control unit for managing data stored in the information recording medium as a file, and a data for the information recording medium.
  • the data processing unit refers to the information held in the effective free space management unit, searches for a block including an unused cluster equal to or larger than a predetermined threshold, and searches for the block. Control is performed to write data to the searched block preferentially.
  • a data rearranging method has a recording area for storing data, and the stored data is a data rearranging method in a recording area of an information recording medium managed by a file system.
  • the recording area of information recording media is managed in block units
  • Each block includes a predetermined number of clusters, each of which is a unit for storing data of the file system.
  • For each block of the information recording medium it is determined whether the number of unused clusters included in the block is within a predetermined range. Then, for a block in which the number of unused clusters included in a block is within a predetermined range, the used cluster power of another block also moves data to the unused cluster included in the block.
  • the predetermined range is, for example, a range of 1 or more and less than 1Z2 of the number of clusters in one block, or a range of 1 or more and less than the threshold of (1).
  • the first and second FAT tables are further provided.
  • a valid FAT flag indicating a valid table of the second FAT table is provided, and after data movement, the second FAT table is written to the information recording medium, and the valid FAT flag is set to a value indicating that the second FAT table is valid.
  • the FAT flag is set to indicate that the first FAT table is valid, and the contents of the second FAT table are copied to the first FAT table on the information recording medium, and the valid FAT flag is set to indicate that the first FAT table is valid. Make settings.
  • a second data processing device is a data processing device that writes and reads data to and from an information recording medium, and inputs and outputs information to and from an information recording medium.
  • An input / output processing unit a file system control unit that manages data stored in the information recording medium as a file, a data processing unit that controls writing and reading of data to and from the information recording medium, And a block judging unit that classifies each block as the number of unused clusters included in the block and holds the classification information.
  • the data processing unit refers to the classification information held in the block determination unit and determines, for each block, whether or not the number of unused clusters included in the block is within a predetermined range or not. When the number of unused clusters in a block is within a predetermined range, control is performed so that the used cluster data of another block is moved to an unused cluster included in the block.
  • a writing process for a semiconductor recording medium in which an empty area is fragmented In practice, the speed can be prevented from being extremely reduced. Therefore, the minimum writing speed required for real-time video recording can be guaranteed, which is very effective.
  • FIG. 1 is a block diagram showing a configuration example of a semiconductor recording medium and a data processing device according to a first embodiment of the present invention.
  • FIG. 5 A flowchart showing an example of a data write process of the FAT file system.
  • FIG. 6 A flowchart showing an example of a process of generating a valid free area list.
  • FIG. 7 A diagram for explaining a method of determining a valid flag of an entry in a valid free space list.
  • FIG. 8 A flowchart showing an example of data writing processing of a FAT file system using a valid free space list.
  • FIG. 9 is a diagram showing an example of a state before and after a file data writing process.
  • FIG. 10 is a block diagram showing a configuration example of a semiconductor recording medium and a data processing device according to a second embodiment of the present invention.
  • FIG. 11 is a conceptual diagram illustrating an example of a block determination unit.
  • FIG. 12 is a flowchart showing an example of a data sorting process.
  • FIG. 13 is a flowchart showing an example of a data movement process to an empty cluster Z
  • Figure 14 Diagram showing an example of a state change before and after data movement processing to empty cluster Z (when the linked cluster is behind empty cluster Z)
  • FIG. 15 A diagram showing an example of a state change before and after data migration processing to an empty cluster Z (when a linked cluster is in front of an empty cluster Z).
  • FIG. 16A is a flowchart showing a modification of the data rearrangement process.
  • FIG. 16B A flowchart showing a FAT writing process in a modification of the data sorting process.
  • FIG. 1 is a block diagram showing a configuration example of a semiconductor recording medium and a data processing device according to Embodiment 1 of the present invention.
  • the semiconductor recording medium 100 includes a host interface unit 110, a control unit 120, and a data storage unit 130.
  • the host interface unit 110 exchanges information with the data processing device 200 which is a host device of the semiconductor recording medium 100.
  • the control unit 120 performs internal control of the semiconductor recording medium 100.
  • the control unit 120 processes the command received by the host interface unit 110, and outputs the processing result to the host interface as necessary.
  • the data processing device 200 is notified via the interface unit 110. Also, it manages data stored in the data storage unit 130.
  • the data storage unit 130 has a data recording area in which arbitrary data can be read and written from the data processing device 200, and is configured by a nonvolatile memory such as a flash memory.
  • the recording area of the data storage unit 130 is managed by the control unit 120 in units called blocks. In the present embodiment, the size of one block is 256 kB (kilobytes), and the recording area of the data storage unit 130 is N blocks of block # 0, ⁇ , block # (N-1). It is composed.
  • a FAT file system is built in the data storage unit 130.
  • the data processing device 200 includes a mounting unit 210, an input / output processing unit 220, a file system control unit 230, an effective free area management unit 240, and a data processing unit 250.
  • the mounting section 210 is hardware for mounting the semiconductor recording medium 100.
  • the input / output processing unit 220 transfers information such as command data to the semiconductor recording medium 100 mounted on the mounting unit 210.
  • the file system control unit 230 interprets and controls the FAT file system built on the data storage unit 130.
  • the file system control unit 230 provides the data processing unit 250 with a means for accessing data as a file. Also, the data in the data storage unit 130 is accessed via the input / output processing unit 220. Further, the file system control unit 230 has a RAM (not shown) therein and stores FAT information stored in the semiconductor recording medium 100 in the RAM.
  • the effective free space management unit 240 manages whether or not the free space of the data storage unit 130 managed by the file system control unit 230 is valid in units of blocks.
  • “valid” means that data write processing at a certain speed or more is possible in the area (block).
  • the constant speed is, for example, a minimum writing speed required for real-time recording of moving image content.
  • the blocks managed by the effective free area management unit 240 are areas in the logical address space, and are set in correspondence with the blocks in the physical address space in the data storage unit 130 of the semiconductor recording medium 100.
  • the valid free area management unit 240 generates and manages a valid free area list 241 that is a list of valid free areas. Yes in Figure 2 4 shows a configuration example of an effective free area list 241.
  • the effective free area management unit 240 has a selection flag 242.
  • the selection flag 242 is a flag indicating whether or not one of a plurality of entries included in the effective free area list 241 is being selected in the data writing process.
  • the data processing unit 250 performs the central processing of the data processing device 200 and processes data stored in the semiconductor recording medium 100 or data to be stored. For example, the data processing unit 250 controls writing and reading of data to and from the semiconductor recording medium 100.
  • FIG. 3 is a diagram showing an example of the data structure of the FAT file system constructed in the data storage unit 130.
  • Blocking power of P (P ⁇ N) out of N (N is a natural number of 2 or more) blocks constituting the data storage unit 130 Management information that stores information for managing the entire file system
  • the management information area 131 is a master boot record 'partition table' that stores information for dividing and managing the data storage unit 130 into areas called a plurality of partitions, and stores management information in one partition.
  • Partition boot sector, FAT table 1 and FAT table 2 that indicate the physical storage location of the data contained in the file, and root directory entry for storing information on files and directories that exist immediately below the root directory .
  • the reason why there are two FAT tables is that the FAT table is duplicated to store important information and to be duplicated! /.
  • the data area 132 is divided and managed in a plurality of logical data units called clusters, and each cluster stores data included in a file. Files storing large data use multiple clusters, and the connection between the clusters is managed by link information stored in FAT tables 1 and 2. In this embodiment, the size of the cluster is 16 kB. Therefore, one block contains 16 clusters. Data area 132 contains cluster # 0, ..., Suppose that there are M clusters of star # (M-l).
  • a directory entry 301 for storing a file name, a file size, and the like is stored in the root directory entry and a part of the data area 132.
  • the data area 132 where the file data is stored is managed in cluster units, and each cluster is given a uniquely identifiable cluster number.
  • the directory entry 301 stores the beginning part of the file data and stores the cluster number (starting cluster number) of the cluster.
  • the example of the directory entry 301 in FIG. 4A shows that the data force of the file having the name "FILEOOl. TXT" is also stored in the cluster force 31.
  • FIG. 4 (b) shows an example of the FAT table 302.
  • the FAT table 302 stores FAT entries indicating link information of each cluster.
  • the FAT entry stores the cluster number of the next linked cluster.
  • “32” is stored as the FAT entry corresponding to the cluster number 31. This indicates that the cluster with the cluster number 31 is linked to the cluster with the cluster number 32.
  • “34” is stored in the FAT entry corresponding to the cluster number 32
  • “35” is stored in the FAT entry corresponding to the cluster number 34, and the cluster numbers 31, 32, 34, and 35 are linked in this order. Will be.
  • FIG. 5 is a flowchart showing a procedure of a file data writing process in the FAT file system.
  • the directory entry 301 of the target file to be written is read onto the RAM of the file system control unit 230, and the starting cluster number stored in the directory entry 301 is obtained.
  • the start position of the data of the target file is confirmed (S401).
  • the FAT table 1 and the FAT table 2 are read out to the RAM of the file system control unit 230, and the FAT table 1 or the FAT table 2 read out in the RAM is read in the order of the data head position of the target file acquired in step S401.
  • the link is entered, and the cluster number corresponding to the writing position is obtained (S402).
  • step S403 it is determined whether or not it is necessary to allocate a new free space to the target file (S403). If it is not necessary to allocate an empty area, the process proceeds to step S405.
  • a free area (free cluster) is searched on the FAT table 1 or FAT table 2, and a free area for one cluster is allocated to the end of the target file (S404).
  • step S406 it is determined whether the writing of all data has been completed (S406). If data still remains, the process of step S403 [return], the next [cluster] [step S403-S406 are repeated, and data writing to the data area 132 is performed.
  • step S403 return]
  • step S403-S406 are repeated, and data writing to the data area 132 is performed.
  • the updated directory entry is deleted. Writing is performed on the semiconductor recording medium 100 (S407).
  • FIG. 6 is a sequence example of a procedure in which the valid free area management unit 240 of the data processing device 200 generates the valid free area list 241.
  • the effective free area management unit 240 sets a threshold value T as to whether to permit writing when there are more than two free clusters in a block ( S501).
  • a predetermined value (fixed value) is used as threshold T.
  • the threshold T is preferably set to a value equal to or greater than 1Z2 of the number of clusters included in one block.
  • initialization processing other than the setting of the threshold value T is performed (S501). For example, the valid flags of all entries in the valid free area list 241 are set to “0” (invalid).
  • the block number i (i is a variable) from the beginning of the data area 132 is set to 0 (S502), and the following processing is performed.
  • the effective free area management unit 240 receives the information of the FAT tables 1 and 2 from the file system control unit 230, and counts the number X of free clusters existing in the i-th block (S503). Then, it is determined whether or not the number of free clusters X is equal to or larger than the threshold T (S504).
  • the valid flag of the i-th entry in the valid free area list 241 shown in FIG. 2 is set to “1” (valid) (S505). ).
  • the valid flag of the i-th entry in the valid free area list 241 is set to “0” (invalid) (S506).
  • FIG. 7 is a diagram illustrating how to set the valid flag of the entry in the valid free area list 241 when the threshold value is “8”. In the figure, the clusters in use are marked with “No” and “Tching”. In the example of FIG.
  • FIG. 8 is a diagram showing a procedure of a file data writing process according to the present embodiment.
  • the selection flag 242 is set to OFF (S801).
  • the directory entry 301 of the file to be written is read onto the RAM of the file system control unit 230, the file start cluster number stored in the directory entry 301 is obtained, and the start position of the file data is confirmed (S802). .
  • the FAT table 1 and the FAT table 2 are read out to the RAM of the file system control unit 230, and the FAT table 1 or the FAT table read out to the RAM are sequentially read from the head position of the file data obtained in step S802.
  • the link is entered, and the cluster number of the writing position is obtained (S803).
  • step S810 when writing data, it is determined whether or not it is necessary to allocate a new free space to the target file (S804). If it is not necessary to allocate a free area (No), the process proceeds to step S810.
  • step S805 it is determined whether or not the selection flag 242 is ON (S805). Only when the selection flag 242 is OFF, is the available free space list displayed. Referring to 241, one block whose valid flag is “1” (valid) is selected, and together with that, the selection flag 242 is turned ON (S 806). In other words, when the selection flag 241 is ON, a block in which the valid flag is "1” (valid) has already been selected as a write area, but when the selection flag 241 is OFF, the valid flag is still set.
  • the valid free area list 241 Since the block with "1" (valid) has not been selected, it is necessary to refer to the valid free area list 241 and select a new block with the valid flag being "1" (valid). If there is no block in the valid free area list 241 for which the valid flag is "1" (valid), the valid flag is set to "0" (valid). ) Select one block from the blocks. In this way, the block flag whose valid flag is "1" (valid) is preferentially selected.
  • an empty cluster in the selected block is searched (S807). Then, it is determined whether or not an empty cluster exists (S808).
  • the valid flag of the currently selected block is invalidated in the free area list 241 (S809). That is, the valid flag of the corresponding entry is updated to "0" (invalid). Further, the selection flag 242 is set to OFF (S809), and the process returns to step S806.
  • step S811 it is determined whether the writing of all data has been completed. If data to be written still remains, the process returns to step S804, and steps S804 to S810 are repeated until writing of all data is completed.
  • the file size and time stamp stored in the directory entry 301 on the RAM of the file system control unit 230 are updated, and then the updated directory entry is stored in the semiconductor device. Writing to the recording medium 100 (S812). Then, the FAT table 1 and the FAT table 2 in the RAM of the file system control unit 230 are written back to the semiconductor recording medium 100 (S813).
  • the number of free clusters of the currently selected block is checked. If the number of free clusters is less than the threshold value T, the valid flag of the corresponding entry in the valid free area list 241 is updated to “0” (invalid). Is completed (S814).
  • FIG. 9 (b) shows data for 16 clusters written by the above-described file data write processing. This shows an example in the case where the data is inserted.
  • data writing is started from block # 0 and data is recorded in all free clusters of block # 0
  • data is continuously recorded in block # 3. This is because block # 1 and block # 2 do not write to these blocks because the valid flag is set to "invalid". In this case, there is only one transition from block # 0 to block # 3.
  • FIG. 9C shows an example in which data for 16 clusters is written by the conventional file data writing process.
  • the conventional method since the headroom of the FAT table 1 and the FAT table 2 is searched, writing to the block # 1 and the block # 2 also occurs. As a result, the transition between blocks occurs three times, from block # 0 to block # 1, block # 1 to block # 2, block # 2 force block # 3. In this case, as compared with the case of FIG. 9 (b), the number of transitions between blocks increases, so that the processing speed at the time of data recording becomes slower.
  • the data processing device 200 checks the number of free clusters in a block of the semiconductor recording medium 100 before writing data to the semiconductor recording medium 100, and Since write processing is performed only on blocks having a certain value or more, it is possible to reduce the number of occurrences of inter-block transitions that cause an extremely low write speed.
  • the threshold value T is determined in advance as a fixed value, but information on the threshold value T is stored in the semiconductor recording medium 100.
  • the data processing device 200 may set the threshold T with reference to the information. Further, the determination may be made based on information specified by the user.
  • the power described as an example of the FAT file system is not limited to this. If the file data is managed in units smaller than the access unit, the idea of the present invention can be applied. [0074] Further, the block unit, the cluster unit, and the like are all examples, and other sizes may be used.
  • error processing that omits error processing may be added.
  • the write process may be interrupted as an error process.
  • the valid free area list 241 is created in advance before the file data writing process.
  • the valid free area list 241 and the selection flag 242 is not necessary.
  • searching for a free area to be used by referring to the FAT table it is determined whether or not the number of free clusters of the block to which the free cluster to be allocated belongs is equal to or greater than a threshold value T. Only if you use the free cluster of that block, it may be the specification.
  • the effective free area list 241 for all blocks in the data area 132 is created. However, when the generation of the effective free area list 241 takes a long time, If it cannot be secured, the valid free area list 241 is created for some blocks, and regenerated as needed.
  • the selection flag 242 is provided in the valid free space management unit 240 in the present embodiment, it may be provided in the file system control unit 230.
  • the data recording method according to the present embodiment is applied to a case where a block managed in a recording medium is larger than a cluster, which is a unit of file data in a file system, and the access speed is reduced due to block crossing. It is effective for As long as the recording medium satisfies such conditions, the idea of the present invention can be applied to other information recording mediums other than the semiconductor recording medium 100.
  • FIG. 10 shows a configuration example of a semiconductor recording medium and a data processing device according to the second embodiment of the present invention.
  • data stored in the semiconductor recording medium is rearranged in order to eliminate fragmentation of the recording area of the semiconductor recording medium.
  • the data processing device 200b of the present embodiment has basically the same configuration as that of the first embodiment, except that the effective free area management unit 240 is replaced with the storage data of a semiconductor recording medium.
  • Embodiment 2 is different from Embodiment 1 in that a block determining unit 260 is provided as a configuration for rearranging.
  • the block determining section 260 determines the “type” of each block in the data storage section 130 of the semiconductor recording medium 100.
  • FIG. 11 shows an example of the internal configuration of the block determination section 260.
  • the type of a block is determined by the number of free clusters existing in the block, and three types of A type, B type and C type are defined.
  • the size of one block is 256 kB, and one block is composed of 16 clusters of 16 kB.
  • a type When there are eight or more free clusters in one block, that is, when more than half are free clusters in one block, it is defined as “A type”.
  • In one block when there are 1 to 7 free clusters, it is referred to as “B type”, and when there is no free cluster in use, “C type” is used.
  • a B-type block is searched as much as possible by searching for a B-type block and moving other block data to the block, that is, by rearranging the data. Make it a type.
  • data can be more concentrated on a B-type block having a small free area, the free area of another block can be expanded and fragmentation can be eliminated.
  • FIG. 12 is a flowchart when the data processing unit 250 of the data processing device 200b instructs the file system control unit 230 to rearrange the data of the semiconductor recording medium 100.
  • the data rearranging method according to the present embodiment aims to reduce the number of B-type blocks, that is, blocks having 1 to 7 empty clusters out of 16, as much as possible.
  • the file system control unit 230 reads the first location, the FAT table 1 and the FAT table 2 onto the RAM (S1201). Next, the block number from the beginning of the data area 132 is shown. The variable i is set to 0 (SI 202), and the following processing is executed.
  • the block determination unit 260 Based on the information from the file system control unit 230, the block determination unit 260 counts the number of free clusters existing in the i-th block, and determines the type of the i-th block (S1203).
  • step S 1207 varnish shim and block number i are incremented.
  • step S 1207 varnish shim and block number i are incremented.
  • a process of moving data with another block power to a free cluster which is the first free cluster in the i-th block is performed (S1204). Details of this processing will be described later.
  • a free cluster to which data from another block is moved is referred to as a “free cluster Z”.
  • step S1204 the remaining free cluster in the i-th block is searched (S1206). If a free cluster remains in the i-th block, the free cluster is set as a free cluster Z as a data transfer destination, and the process returns to step S1204. If not, after incrementing the block number i (S1207), it is determined whether or not i is equal to or less than the total number of blocks Q of the data area 132 (S1208).
  • step S1203 If the force is equal to or less than the i force, the process returns to step S1203, and the process from step S1203 to S1207 is continued. If i is larger than Q, the FAT tables 1 and 2 of the semiconductor recording medium 100 are updated based on the data of the FAT tables 1 and 2 in the RAM of the file system control unit 230 (S1209). , Complete the process.
  • the rearrangement process in the present embodiment detects empty clusters in the order of the first block power in the data area 132, and moves other block power data to the empty cluster to rearrange the data. Perform the rearrangement !, and complete the rearrangement process when data cannot be moved any more or the last block has been processed.
  • FIG. 13 is a flowchart of a process for moving data from another block to an empty cluster Z in the i-th block.
  • the search of the cluster to be the data movement source is performed using the FAT table 1 or the FAT table 2.
  • This transfer process is realized by a process of replacing link information stored in the FAT table 1 or the FAT table 2 on the semiconductor recording medium 100 and a process of copying data to the data area 132.
  • the data at the head of the link is not moved, so no search or rewrite of the directory entry occurs, and high-speed processing is possible.
  • a variable k designating the cluster number of the leading area of data area 132 is set to 0 (S1301). That is, for each cluster in the data area 132, the following processing is sequentially executed from the head of the data area. Next, referring to the FAT table 1 or the FAT table 2, it is determined whether or not the k-th cluster is in use (S1302).
  • k is incremented (S1311). It is determined whether the k-th cluster after the increment is within the range of the data area 132 (S1312). If it is within the range, the process returns to step S1302. If it is out of the range, there is no longer a cluster in which data can be moved in that block, so “Move NG (incomplete)” is set (S1313), and the process ends.
  • step S1302 if the k-th cluster is in use, a link destination of the k-th cluster is searched from the FAT entry (S1303). It is determined whether the block (block R) to which the linked cluster belongs is the i-th block (S1304).
  • the block power to which the linked cluster belongs is the fourth block. Since the movement is within the same block and is meaningless, no processing is performed on the cluster and the step is performed. Proceed to S1311. The processing after step S1311 is as described above.
  • the block R to which the linked cluster belongs is not the fourth block (NO in S1304), it is determined whether or not the block R-type force is present (SI 305). If it is a block R force type, moving data out of that block R is not appropriate because it causes fragmentation. Therefore, in the case of the block R force type to which the linked cluster belongs, the process proceeds to step S1311 and Consider the next cluster.
  • the free cluster Z is a temporary free cluster (YES in S1306)
  • the data of the cluster Z will be overwritten.
  • the FAT table 1 and FAT on the RAM of the system control unit 230 will be overwritten.
  • Table 2 is written back to the semiconductor recording medium 100 (S1307). That is, before writing data, FAT table 1 and FAT table 2 on the semiconductor recording medium 100 are updated.
  • the data at the link destination of the cluster number k is copied to the free cluster Z (S1308). That is, writing to the data area 132 is performed.
  • a temporary free cluster is recognized as being free (unused) on the FAT table of the data processing device 200b after data movement between clusters, but is free on the FAT table of the semiconductor recording medium 100.
  • a cluster that is not recognized as being For example, when data is moved from cluster X to cluster Y, cluster X is recognized as empty (unused) on the FAT table of the data processing device 200b, but is recognized on the FAT table of the semiconductor recording medium 100. It may not be recognized as empty. This is because the update timings of the FAT table of the data processing device 200b and the FAT table of the semiconductor recording medium 100 are different.
  • the data processing device 200b takes in the FAT table of the semiconductor recording medium 100 into the data processing device 200b, usually updates only the FAT information inside the data processing device 200b, and updates the semiconductor recording medium only at a certain timing. Write the FAT table back to 100. This is because the time required for updating the FAT table of the semiconductor recording medium 100 is long, and the processing time for updating the data is reduced.
  • the data of the source cluster X is copied to the destination cluster Y.
  • the link information of the FAT cable in the data processing device 200b is rewritten.
  • the cluster X only the link information is rewritten, and the data is not deleted.
  • the cluster X is recognized as an empty cluster on the FAT table inside the data processing device 200b.
  • the state before the movement of cluster X is maintained.
  • Such a cluster X is a temporary empty cluster.
  • the cluster X which is a temporary free cluster, stores the previous data, the FAT table and the data have a correspondence within the semiconductor recording medium 100.
  • the power supply to the semiconductor recording medium 100 is interrupted due to an unexpected situation during or immediately after the data is written to the temporary free cluster, the data of the temporary free cluster is overwritten.
  • the FAT table 1 and the FAT table 2 on the semiconductor recording medium 100 are updated before writing data to the temporary free cluster (S1306, S1307). This allows the FAT table and data inside the semiconductor recording medium 100 to be stored even if the power supply to the semiconductor recording medium 100 is interrupted due to an unforeseen situation during or immediately after writing data to the temporary free cluster. Can be maintained.
  • Fig. 14 shows a state in which an empty cluster Z exists in block # 2 before the movement, and the data of "cluster Z2" in block # 4 has been moved to "empty cluster Z" by the above sorting process.
  • the link information has only been rewritten on the RAM of the file system control unit 230 of the data processing device 200b, and the FAT information of the semiconductor recording medium 100 has not been updated.
  • the semiconductor recording medium 100 recognizes that the data is still recorded in the movement source cluster Z2 in the block # 4.
  • the moved cluster Z2 becomes the “temporary free cluster”.
  • another data may be overwritten on the temporary empty cluster.
  • step S1307 If a power failure occurs during overwriting, the data cannot be restored.Therefore, the process in step S1307 is performed, and the FAT table 1 and the FAT table 2 are written back to the semiconductor recording medium 100, and the class is stored in the semiconductor recording medium 100. It is necessary to recognize that data Z2 is a free area.
  • FIG. 15 shows that a free cluster Z exists in block # 2 before the movement, and the state change when the data is moved to the free cluster Z in cluster Z2 in block # 0 by the above rearrangement process. Will be described. After the movement, cluster Z2 becomes a temporary free cluster.
  • the write processing speed becomes extremely high. It is possible to reduce the number of blocks that are reduced.
  • the rearrangement method according to the present embodiment is realized only by replacing the link information stored in the FAT table 1 and the FAT table 2 and copying the data to the data area 132. Since no search or rewriting of the directory entry 301 is required, high-speed processing is possible.
  • the block determination unit 260 stores information on the definition of the block type in the semiconductor recording medium 100 described as having the information on the definition of the block type in advance.
  • the data processing device 200b may determine the definition of the block type with reference to the information. Also, it should be decided based on the information specified by the user.
  • the definition of the block type in the present embodiment is an example.
  • the definition of the block type is determined not by the number of free clusters but by the ratio of the number of free clusters or the size occupied by the number of free clusters.
  • the power described as an example of the FAT file system is not limited to this.
  • the idea of the present invention can be applied to a case where file data is managed in units smaller than blocks.
  • block unit, the cluster unit, and the like are all examples, and other sizes may be used.
  • a power error processing in which the error processing is omitted may be added.
  • the sorting process may be interrupted as an error process! /.
  • the cluster number k is set to 0 in S1301, and the search for the source data is started in the order of the first cluster force in the data area 132. Is also good. For example, it may be a specification for remembering the cluster number searched last time and then searching for the continuation power.
  • the data rearranging method according to the present embodiment may be larger than a cluster which is a file data management unit in a blocker file system managed in a recording medium, and the access speed may be reduced due to a block jump. It is effective when there is.
  • Any recording medium satisfying such conditions is not limited to a semiconductor recording medium.
  • a force that does not particularly refer to the writing order of the FAT table 1 and the FAT table 2 is used during the writing process of the FAT table 1 or the FAT table 2 according to the following modified example. Data can be restored even if a power failure occurs.
  • FIG. 16A and FIG. 16B are flowcharts of a modification of the data rearrangement process.
  • the valid FAT flag is a flag indicating which of the FAT tables 1 and 2 is valid. By referring to this flag, determining the valid FAT table, and referring to that information, the correct link information can be obtained.
  • the valid FAT flag is set to "1" (S1601). After that, the rearrangement processing shown in FIGS. 12 and 13 is executed (S1602). However, as for the writing process of the FAT table in steps S1209 and S1307, the process shown in FIG. 16B is executed.
  • the FAT table 2 on the data processing device 200b is written back to the semiconductor recording medium 100 (S1611).
  • the valid FAT flag is set to "2" (S1612), and the semiconductor recording medium 1 On F00, FAT table 2 is copied to FAT table 1 (S1613). After the copy is completed, the valid FAT flag is returned to "1" (S1614).
  • the data processing device 200b refers to the valid FAT flag, and is now valid. You can copy one FAT table to another. That is, if the valid FAT flag is set, the FAT table 1 is copied to the FAT table 2, and if the valid FAT flag is "2", the FAT table 2 is copied to the FAT table 1.
  • the valid FAT flag may be stored in the semiconductor recording medium 100.
  • the data sorting method of the present embodiment can be combined with the data recording method of the first embodiment. By combining the technical ideas of both embodiments, it is possible to more effectively reduce the speed reduction due to fragmentation during data recording.
  • the present invention it is possible to prevent the minimum speed of a certain write process on an information recording medium from being extremely reduced by writing only to blocks having a certain number of free clusters or more. Therefore, the present invention can be applied to a data processing device for an information recording medium that requires a high-speed writing process at the time of recording moving image content or the like.

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

 データ処理装置(200)は、複数のブロックからなる記録領域を含む情報記録媒体(100)の記録領域における一定速度以上で書き込み可能な空き領域に関する情報を有効空き領域管理部(240)に保持する。一定速度以上で書き込み可能な空き領域とは、所定数以上の未使用クラスタを含むブロックである。データ処理装置(200)は、情報記録媒体(100)に対して新たな空き領域にデータを記録する必要がある場合、有効空き領域管理部(240)に保持された情報を参照して、空き領域を検索し、その検索した領域に対してデータの書き込みを行う。

Description

明 細 書
情報記録媒体のデータ処理装置及びデータ記録方法
技術分野
[0001] 本発明は、情報記録媒体にディジタルデータを記録するデータ処理装置及びデー タ記録方法に関し、特に、ディジタルデータの書き込み処理の最低速度を保証する 技術に関する。
背景技術
[0002] 音楽コンテンツ、動画コンテンツ、静止画コンテンツなどのディジタルデータ(以下 単に「データ」という。)を記録する記録媒体には、半導体記録媒体、磁気ディスク、光 ディスク、光磁気ディスクなど、様々な種類が存在する。特に、半導体記録媒体は小 型化 ·軽量ィ匕が図れる t ヽぅ特徴があるために、ディジタルスチルカメラや携帯電話 端末などの携帯機器を中心に急速に普及しつつある。代表的な半導体記録媒体とし ては、 SDメモリカード (登録商標)、メモリースティック (登録商標)、コンパクトフラッシ ュ (登録商標)などがある。
[0003] 半導体記録媒体は、年々大容量化が進んでおり、大容量のメリットを生力した応用 分野として、特に動画コンテンツ記録用途への応用が期待されている。携帯型ムービ 一端末等で動画コンテンツをリアルタイム録画する場合、記録媒体への書き込み速 度不足による録画停止を防止するため、書き込み処理の最低速度を保証することが 重要となる。
[0004] これらの半導体記録媒体に格納されるデータの管理は、ファイルシステムにより実 現されている。ファイルシステムでは、記録領域を最小アクセス単位であるセクタ、及 びセクタの集合であるクラスタに分割して管理し、 1つ以上のクラスタをファイルとして 管理する。 PC (パーソナルコンピュータ)などの情報機器で一般に用いられて 、るフ アイルシステムとして、 FAT (ファイル 'アロケーション 'テーブル)ファイルシステムが 一例に挙げられる (詳細は、非特許文献 1参照)。
[0005] 一方、半導体記録媒体内部ではブロックと!/、う単位で記録領域を管理して 、る。そ のため、書き込みサイズが同じであるならば、できるだけ同一のブロックに連続して書 き込みを行う方が高速に実行される。ブロックのサイズは前記クラスタサイズよりも一 般的に大きい。
[0006] 従来、クラスタの境界をブロックの境界に一致させることにより半導体記録媒体への 書き込み速度を高速ィ匕する方法が提案されている (例えば、特許文献 1参照)。この 方法を用いれば、 1つのブロック内に整数個のクラスタが存在することになる。従って 、 1つのクラスタの書き込み処理を行う際に 2つ以上のブロックに対して更新処理を行 う必要がない。
特許文献 1 :特開 2001— 188701号公報
非特許文献 l :ISO/IEC9293、「インフォメーション テクノロジー ボリユウム アンド フアイノレ ストラクチャ ォブ ディスク カートリッジ フォー インフォメーション(Info rmation Technology— Volume ana nle structure of disk cartridges f or information)」、 1994年
発明の開示
発明が解決しょうとする課題
[0007] 上記の従来技術には次のような問題点がある。従来の制御方法では、半導体記録 媒体に様々なサイズのファイルの書き込み及び消去を繰り返すと、空き領域が断片 化された状態となる。すなわち、空きクラスタの位置が離散的になる。このような状態 の半導体記録媒体に対してデータの記録を行うと、各ブロック内の空きクラスタ数が 少ない場合、ブロックを跨いだ書き込み処理が頻繁に行われるため、同一のブロック に連続して書き込みを行う場合と比べて極端に速度が低下する可能性がある。従つ て、動画コンテンツ等のリアルタイム録画に必要となる最低書き込み速度を保証でき な 、ため、録画処理が破綻すると 、う問題が発生し得る。
課題を解決するための手段
[0008] 本発明は上記問題点に鑑みてなされたものであり、情報記録媒体への書き込み処 理の速度低下を低減するデータ記録装置及び記録方法を提供することを目的とする
[0009] (1)本発明に係る第 1のデータ記録方法は、データを格納する記録領域を有し、格 納データがファイルシステムにより管理される情報記録媒体に対してデータを記録す る記録方法である。このとき、情報記録媒体は、その記録領域がブロック単位で管理 され、各ブロックはファイルシステムのデータを格納する単位であるクラスタを所定数 含む。データ記録方法は、新たな空き領域にデータを記録する必要がある場合、所 定の閾値以上の未使用クラスタを含むブロックを検索し、その検索したブロックに対し て優先的にデータの書き込み処理を行う。
[0010] その場合、未使用クラスタを閾値以上含むブロックである有効ブロック内の未使用ク ラスタに対してデータの書き込み処理を行ってもょ 、。
[0011] また、上記データ記録方法において、記録領域の各ブロックに含まれる未使用クラ スタの数をカウントし、そのカウント結果に基づき前記有効ブロックを求め、有効ブロッ クに関するリスト情報である有効空き領域リストを生成して保持し、データ記録処理の 際に、前記有効空き領域リストを参照して前記有効ブロックを検索してもよい。
[0012] 閾値に関する情報は情報記録媒体内に格納されていてもよい。閾値は、 1ブロック 中のクラスタ数の 1Z2以上の値であってもよい。
[0013] (2)本発明に係る第 1のデータ処理装置は、情報記録媒体に対するデータの書き 込み、読み出しを行うデータ処理装置である。情報記録媒体はその記録領域がプロ ック単位で管理され、各ブロックはファイルシステムのデータを格納する単位であるク ラスタを所定数含む。第 1のデータ処理装置は、情報記録媒体への情報の入出力を 行う入出力処理部と、情報記録媒体に格納されたデータをファイルとして管理するフ アイルシステム制御部と、情報記録媒体に対するデータの書き込み、読み出しに関 する制御を行うデータ処理部と、情報記録媒体の領域にお!、て所定の閾値以上の 未使用クラスタを含むブロックに関する情報を保持する有効空き領域管理部とを備え る。データ処理部は、新たな空き領域にデータを記録する必要がある場合、有効空き 領域管理部に保持された情報を参照して、所定の閾値以上の未使用クラスタを含む ブロックを検索し、その検索したブロックに対して優先的にデータの書き込みを行うよ う、制御を行う。
[0014] (3)本発明に係るデータ並べ替え方法は、データを格納する記録領域を有し、その 格納データがファイルシステムにより管理される情報記録媒体の記録領域における データ並べ替え方法であって、情報記録媒体はその記録領域がブロック単位で管理 され、各ブロックはファイルシステムのデータを格納する単位であるクラスタを所定数 含み、情報記録媒体の各ブロックについて、ブロックに含まれる未使用クラスタの数 が所定の範囲内にある力否かを判定し、ブロックに含まれる未使用クラスタの数が所 定の範囲内にあるブロックについて、ブロックに含まれる未使用クラスタに、他のブロ ックの使用クラスタ力もデータを移動させる。
[0015] 所定の範囲は、例えば、 1以上で且つ 1ブロック中のクラスタ数の 1Z2未満の範囲 、または、 1以上で且つ(1)の閾値未満の範囲である。
[0016] また、情報記録媒体がその格納データが FATファイルシステムにより管理されてお り、 FATファイルシステム力 リンク情報として第 1及び第 2の FATテーブルを有して いる場合、さらに、第 1及び第 2の FATテーブルのうちの有効なテーブルを示す有効 FATフラグを設けておき、データ移動後に、第 2の FATテーブルを情報記録媒体に 書き込み、有効 FATフラグを、第 2の FATテーブルが有効であることを示すように設 定し、情報記録媒体において第 2の FATテーブルの内容を第 1の FATテーブルに コピーし、有効 FATフラグを、第 1の FATテーブルが有効であることを示すように設 定する。
[0017] (4)本発明に係る第 2のデータ処理装置は、情報記録媒体に対してデータの書き 込み、読み出しを行うデータ処理装置であって、情報記録媒体への情報の入出力を 行う入出力処理部と、情報記録媒体に格納されたデータをファイルとして管理するフ アイルシステム制御部と、情報記録媒体に対するデータの書き込み、読み出しに関 する制御を行うデータ処理部と、情報記録媒体内の各ブロックを、ブロック中に含ま れる未使用クラスタの数にしたカ^ヽ分類し、その分類情報を保持するブロック判定部 とを備える。データ処理部は、ブロック判定部に保持された分類情報を参照し、各ブ ロックについて、そのブロックに含まれる未使用クラスタの数が所定の範囲内にあるブ ロック力否かを判断し、そのブロックが未使用クラスタの数が所定の範囲内にあるブロ ックである場合に、そのブロックに含まれる未使用クラスタに、他のブロックの使用クラ スタカ データを移動させるように、制御を行う。
発明の効果
[0018] 本発明によれば、空き領域が断片化された半導体記録媒体に対する書き込み処 理において、速度が極端に低下することを避けることができる。従って、動画コンテン ッのリアルタイム録画に必要となる最低書き込み速度を保証することができるため、非 常に有効である。
図面の簡単な説明
[図 1]本発明の実施の形態 1に於ける半導体記録媒体及びデータ処理装置の構成 例を示したブロック図
[図 2]有効空き領域リストのデータ例を示す図
[図 3]FATファイルシステムの構成例を示した図
[図 4]FATファイルシステムのデータ格納例を示した図
[図 5]FATファイルシステムのデータ書き込み処理の一例を示すフローチャート [図 6]有効空き領域リストの生成処理の一例を示すフローチャート
[図 7]有効空き領域リストのエントリの有効フラグの決定方法を説明するための図 [図 8]有効空き領域リストを用いた FATファイルシステムのデータ書き込み処理の一 例を示すフローチャート
[図 9]ファイルデータ書き込み処理前後の状態の一例を示した図
[図 10]本発明の実施の形態 2に於ける半導体記録媒体及びデータ処理装置の構成 例を示したブロック図
[図 11]ブロック判定部の一例を示す概念図
[図 12]データ並べ替え処理の一例を示すフローチャート
[図 13]空きクラスタ Zへのデータ移動処理の一例を示すフローチャート
[図 14]空きクラスタ Zへのデータ移動処理の前後における状態の変化の一例(リンク 先のクラスタが空きクラスタ Zの後方にある場合)を示した図
[図 15]空きクラスタ Zへのデータ移動処理の前後における状態の変化の一例(リンク 先のクラスタが空きクラスタ Zの前方にある場合)を示した図
[図 16A]データ並べ替え処理の変形例を示すフローチャート
[図 16B]データ並べ替え処理の変形例における FAT書き込み処理を示すフローチヤ ート
符号の説明 100 半導体記録媒体
110 ホストインタフェース咅
120 制御部
130 データ格納部
131 管理情報領域
132 データ領域
200、 200b データ処理装置
210 装着部
220 入出力処理部
230 ファイルシステム制御部
240 有効空き領域管理部
241 有効空き領域リスト
242 選択フラグ
250 データ処理部
301 ディレクトリエントリ
302 FATテーブル
260 ブロック判定部
発明を実施するための最良の形態
[0021] 以下、添付の図面を参照して本発明の実施の形態について説明する。
[0022] (実施の形態 1)
図 1は、本発明の実施の形態 1に於ける半導体記録媒体及びデータ処理装置の構 成例を示すブロック図である。
[0023] 半導体記録媒体 100は、ホストインタフェース部 110、制御部 120及びデータ格納 部 130から構成される。
[0024] ホストインタフェース部 110は、半導体記録媒体 100のホスト機器であるデータ処理 装置 200との間で情報の受け渡しをする。
[0025] 制御部 120は半導体記録媒体 100の内部制御を行う。制御部 120は、ホストインタ フェース部 110で受信したコマンドの処理を行い、必要に応じて処理結果をホストイ ンタフェース部 110経由でデータ処理装置 200に通知する。また、データ格納部 13 0に格納されるデータの管理を行う。
[0026] データ格納部 130は、データ処理装置 200からの任意のデータの読み書きが可能 な、データを記録する領域を有し、フラッシュメモリなどの不揮発性メモリで構成される 。データ格納部 130の記録領域は、制御部 120により、ブロックと呼ばれる単位で管 理される。本実施の形態においては、 1ブロックのサイズが 256kB (キロバイト)であり 、データ格納部 130の記録領域はブロック # 0、 · · ·、ブロック # (N— 1)の N個のブロ ックで構成されて 、る。データ格納部 130には FATファイルシステムが構築されて ヽ る。
[0027] データ処理装置 200は、装着部 210、入出力処理部 220、ファイルシステム制御部 230、有効空き領域管理部 240及びデータ処理部 250から構成される。
[0028] 装着部 210は、半導体記録媒体 100を装着するハードウ アである。
[0029] 入出力処理部 220は、装着部 210に装着された半導体記録媒体 100に対してコマ ンドゃデータなどの情報の受け渡しを行う。
[0030] ファイルシステム制御部 230は、データ格納部 130上に構築された FATファイルシ ステムを解釈し、制御する。ファイルシステム制御部 230はデータ処理部 250に対し て、データをファイルとしてアクセスする手段を提供する。また、入出力処理部 220経 由でデータ格納部 130のデータにアクセスする。また、ファイルシステム制御部 230 は内部に RAM (図示せず)を有し、半導体記録媒体 100に格納される FAT情報を その RAMに格納する。
[0031] 有効空き領域管理部 240は、ファイルシステム制御部 230によって管理されるデー タ格納部 130の空き領域が有効か否力をブロック単位で管理する。ここで、「有効」と は、その領域 (ブロック)において一定速度以上でのデータ書き込み処理が可能であ ることを意味する。一定速度とは例えば動画コンテンツのリアルタイム録画に必要とさ れる最低書き込み速度である。また、有効空き領域管理部 240で管理されるブロック は、論理アドレス空間上の領域であり、半導体記録媒体 100のデータ格納部 130内 の物理アドレス空間でのブロックと対応して設定される。有効空き領域管理部 240は 、有効な空き領域のリストである有効空き領域リスト 241を生成し、管理する。図 2に有 効空き領域リスト 241の構成例を示す。図 2は、ブロック番号が 0、 Q—1のブロックが 有効な空き領域すなわち有効ブロックであることを示している。また、有効空き領域管 理部 240は選択フラグ 242を有する。選択フラグ 242は、データ書き込み処理におい て、有効空き領域リスト 241に含まれる複数のエントリのうちの 1つが選択中であるか 否かを示すフラグである。
[0032] データ処理部 250はデータ処理装置 200の中心的な処理を担い、半導体記録媒 体 100に格納されたデータまたはこれから格納するデータを処理する。例えば、デー タ処理部 250は半導体記録媒体 100に対するデータの書き込み、読み出しに関する 制御を行う。
[0033] 次に、データ格納部 130に構築される FATファイルシステムについて説明する。
[0034] 図 3はデータ格納部 130に構築された FATファイルシステムのデータ構造例を示し た図である。データ格納部 130を構成する N個(Nは 2以上の自然数)のブロックのう ち、 P個(P≤N)のブロック力 本ファイルシステムの全体を管理するための情報を格 納する管理情報領域 131として利用され、残りの Q個(Q=N— P)のブロックはフアイ ルの実体データなどを格納するデータ領域 132として利用される。
[0035] 管理情報領域 131は、データ格納部 130を複数のパーティションと呼ばれる領域に 分割して管理するための情報を格納するマスターブートレコード 'パーティションテー ブル、 1つのパーティション内の管理情報を格納するパーティションブートセクタ、ファ ィルに含まれるデータの物理的な格納位置を示す FATテーブル 1及び FATテープ ル 2、ルートディレクトリ直下に存在するファイルやディレクトリの情報を格納するルー トディレクトリエントリ力 構成される。ここで、 FATテーブルが 2つ存在しているのは、 FATテーブルは重要な情報を格納して 、るために、二重化されて!/、るためである。
[0036] データ領域 132は、複数の、クラスタと呼ばれる論理的なデータ単位に分割され管 理されており、各クラスタにはファイルに含まれるデータが格納されている。サイズの 大きいデータを格納するファイルなどは複数のクラスタを使用しており、各クラスタ間 のつながりは、 FATテーブル 1及び FATテーブル 2に格納されたリンク情報により管 理されている。なお、本実施の形態においてはクラスタのサイズを 16kBとする。従つ て、 1ブロックは 16個のクラスタを含む。データ領域 132には、クラスタ # 0、…、クラ スタ # (M—l)の M個のクラスタが存在しているとする。
[0037] 図 4を用いて FATファイルシステムにおけるファイルデータのより具体的な格納例 を説明する。
[0038] ルートディレクトリエントリやデータ領域 132の一部には、図 4 (a)に示すような、ファ ィル名やファイルサイズなどを格納するディレクトリエントリ 301が格納される。ファイル データの格納先であるデータ領域 132はクラスタ単位で管理されており、各クラスタ には一意に識別可能なクラスタ番号が付与されて 、る。ファイルのデータが格納され ているクラスタを特定するために、ディレクトリエントリ 301には、ファイルデータの先頭 部分が格納されて 、るクラスタのクラスタ番号(開始クラスタ番号)が格納されて 、る。 図 4 (a)のディレクトリエントリ 301の例は、 "FILEOOl. TXT"という名前を持つフアイ ルのデータ力 クラスタ番号 31のクラスタ力も格納されていることを示している。
[0039] 複数のクラスタにデータが格納されているファイルの場合、リンク情報が FATテー ブルに格納される。図 4 (b)に FATテーブル 302の例を示す。 FATテーブル 302に は、各クラスタのリンク情報を示す FATエントリが格納される。 FATエントリは、次にリ ンクされるクラスタのクラスタ番号を格納する。図 4 (b)の例では、クラスタ番号 31に対 応する FATエントリとして「32」が格納されている。これは、クラスタ番号 31のクラスタ は、クラスタ番号 32のクラスタにリンクしていることを示す。同様にクラスタ番号 32に対 応する FATエントリには「34」、クラスタ番号 34に対応する FATエントリには「35」が 格納されており、クラスタ番号 31、 32、 34、 35の順でリンクされていることになる。次 にクラスタ番号 35に対応する FATエントリには「FFF」が格納されている力 「FFF」 はリンクの終端を意味していることから、クラスタ番号 31で始まるリンクは、クラスタ番 号 31、 32、 34、 35の 4クラスタで終ることになる。従って、 "FILEOOl. TXT"というフ アイル名のデータは、データ領域 132において、図 4 (c)に示すようにクラスタ # 31、 # 32、 # 34、 # 35に順に格納されていることになる。なお、クラスタ番号 33に対応 する FATエントリに格納されて 、る「0」は、そのクラスタがファイルに割り当てられて おらず、空き領域、すなわち、未使用であることを意味している。
[0040] 次に、 FATファイルシステムにおけるファイルデータの書き込み処理の一例につい て説明する。 [0041] 図 5は、 FATファイルシステムにおけるファイルデータ書き込み処理の手順を示す フローチャートである。ファイルデータ書き込み処理では、先ず始めに、書き込みを 行う対象ファイルのディレクトリエントリ 301を、ファイルシステム制御部 230の RAM上 に読み出し、そのディレクトリエントリ 301に格納された開始クラスタ番号を取得するこ とで、対象ファイルのデータの先頭位置を確認する(S401)。さらに、 FATテーブル 1及び FATテーブル 2をファイルシステム制御部 230の RAM上に読み出し、ステツ プ S401で取得した対象ファイルのデータ先頭位置力 順に、 RAM上に読み出した FATテーブル 1または FATテーブル 2を参照してリンクを迪り、書き込み位置に対応 するクラスタ番号を取得する(S402)。
[0042] そして、データ書き込みに際し、その対象ファイルに対して新たに空き領域を割り当 てる必要があるか否かを判定する(S403)。空き領域の割り当てが不要な場合は、ス テツプ S405の処理に進む。空き領域の割り当てが必要な場合、 FATテーブル 1また は FATテーブル 2上で空き領域 (空きクラスタ)を検索し、 1クラスタ分の空き領域を対 象ファイルの終端に割り当てる(S404)。
[0043] その後、現在参照しているクラスタに、書き込めるだけのデータを書き込む(S405) 。このとき、ファイルシステム制御部 230の RAM上に読み出された FATテーブル 1、 2につ 、ても、データ書き込み処理にともな!/、更新する。
[0044] 次に、全データの書き込みが完了したかを判定する(S406)。まだデータが残って ヽる場合、ステップ S403の処理【こ戻り、次【こクラスタ【こ対して S403一 S406を繰り返 し、データ領域 132へのデータ書き込みを行う。対象ファイルの全データの書き込み が完了した場合、ファイルシステム制御部 230の RAM上に読み出されたディレクトリ エントリ 301内に格納されたファイルサイズやタイムスタンプなどを更新した後、更新 されたディレクトリエントリを半導体記録媒体 100に書き込む(S407)。
[0045] 最後に、ファイルシステム制御部 230の RAM上で更新された FATテーブル 1及び FATテーブル 2を、半導体記録媒体 100に書き戻し、処理を完了する(S408)。
[0046] サイズの異なるファイルの書き込みや消去を繰返し行うことにより、前記 FATェント リのリンク情報は複雑になっていく。すなわち、個々のファイルデータは、データ領域 132において離散的な状態で格納された状態になる。同様に未使用の領域である 空き領域も離散的な位置に格納された状態となる。これを「データの断片化」と呼ぶ。 このデータの断片化が生じた記録領域へデータを記録した場合、その領域へのァク セスに時間がかかる。そこで、本実施形態では、データ記録時において、そのような データの断片化が生じて 、る領域へはデータを記録しな 、ようにして 、る。そのような データ記録方法の詳細について、以下に説明する。
[0047] データ記録方法の説明に先立って、まず、有効空き領域リスト 241の生成手順につ いて説明する。
[0048] 図 6は、データ処理装置 200の有効空き領域管理部 240が有効空き領域リスト 241 を生成する手順のシーケンス例である。
[0049] 有効空き領域リストの生成処理では、第 1に、有効空き領域管理部 240がブロック 中に 、くつ以上の空きクラスタが存在する場合に書き込みを許可するかと 、う閾値 T を設定する(S501)。本実施の形態においては、閾値 Tは予め決められた値(固定 値)を用いる。閾値 Tは、 1ブロック中に含まれるクラスタ数の 1Z2以上の値に設定す るのが好ましい。同時に、閾値 Tの設定以外の初期化処理を行う(S501)。例えば、 有効空き領域リスト 241の全エントリの有効フラグを" 0" (無効)に設定する。
[0050] 次に、データ領域 132の先頭からのブロック番号 i(iは変数)を 0として(S502)、以 下の処理を行う。
[0051] 有効空き領域管理部 240は、ファイルシステム制御部 230から FATテーブル 1、 2 の情報を受取り、 i番目のブロックに存在する空きクラスタ数 Xをカウントする(S503)。 そして、空きクラスタ数 Xが閾値 T以上であるカゝ否かを判断する(S504)。
[0052] 空きクラスタ数 Xが閾値 T以上である場合 (Yesの場合)、図 2に示す有効空き領域リ スト 241の i番目のエントリの有効フラグを" 1" (有効)に設定する(S505)。
[0053] 空きクラスタ数 Xが閾値 T以上でな 、場合 (Noの場合)、有効空き領域リスト 241の i 番目のエントリの有効フラグを" 0" (無効)に設定する(S506)。
[0054] その後、ブロック番号 iに 1を力卩算し(S507)、ブロック番号 iがデータ領域 132の総 ブロック数 Q以上であるか否かを判断する(S508)。 iが Q未満であるならば、ステップ S503の処理【こ戻り、 S503一 507を繰り返す。一方、ステップ S508【こお!ヽて、ブロッ ク番号 iが Q以上であるならば処理を完了する。 [0055] 図 7は、閾値丁が「8」の場合の、有効空き領域リスト 241のエントリの有効フラグの設 定の仕方を説明した図である。図中、使用中クラスタには、ノ、ツチングが施されている 。図 7 (a)の例では、ブロックは 11個の空きクラスタを有し、閾値 Tが 8以上であるため 、エントリの有効フラグとして" 1" (有効)が設定される。図 7 (b)の例では、ブロックは 3 個の空きクラスタを有し、空きクラスタ数は 8未満であるため、エントリの有効フラグとし て" 0" (無効)が設定される。
[0056] 本実施の形態におけるファイルデータ書き込み処理の手順を説明する。図 8は、本 実施の形態におけるファイルデータ書き込み処理の手順を示した図である。
[0057] ファイルデータ書き込み処理では、第 1に、選択フラグ 242を OFFに設定する(S8 01)。続いて、書き込み対象ファイルのディレクトリエントリ 301をファイルシステム制 御部 230の RAM上に読み出し、前記ディレクトリエントリ 301に格納されたファイル 開始クラスタ番号を取得し、ファイルデータの先頭位置を確認する(S802)。
[0058] 次に、 FATテーブル 1、 FATテーブル 2を、ファイルシステム制御部 230の RAM上 に読み出し、ステップ S802で取得したファイルデータの先頭位置から、順に、 RAM 上に読み出した FATテーブル 1または FATテーブル 2を参照してリンクを迪り、書き 込み位置のクラスタ番号を取得する(S803)。
[0059] 次に、データ書き込みに際し、その対象ファイルに新たに空き領域を割り当てる必 要がある力否かを判定する(S804)。空き領域の割り当てが不要な場合 (Noの場合) は、ステップ S 810の処理に進む。
[0060] 空き領域の割り当てが必要な場合 (ステップ S804で Yesの場合)、選択フラグ 242 が ONか否かを判定し(S805)、選択フラグ 242が OFFの場合にのみ、有効空き領 域リスト 241を参照し、有効フラグが "1 " (有効)であるブロックを 1つ選択し、それとと もに選択フラグ 242を ONにする(S806)。つまり、選択フラグ 241が ONのときは、書 き込み領域として、既に有効フラグが" 1" (有効)であるブロックが選択されているが、 選択フラグ 241が OFFのときは、未だ、有効フラグが" 1" (有効)であるブロックが選 択されていないため、有効空き領域リスト 241を参照して有効フラグが" 1" (有効)で あるブロックを新たに選択する必要がある。なお、有効空き領域リスト 241において有 効フラグが" 1" (有効)であるブロックが全く存在しないときは、有効フラグが" 0" (無効 )であるブロック中から 1つのブロックを選択する。このように、有効フラグが" 1" (有効) であるブロック力 優先的に選択する。
[0061] RAM上の FATテーブル 1または FATテーブル 2を参照し、選択したブロックにお ける空きクラスタを検索する(S807)。そして、空きクラスタが存在するか否かを判断 する(S808)。
[0062] 空きクラスタが存在しな!、場合(S808で Noの場合)、空き領域リスト 241にお!/、て 現在選択中のブロックの有効フラグを無効化する(S809)。すなわち、該当するェン トリの有効フラグを" 0" (無効)に更新する。さらに、選択フラグ 242を OFFに設定して (S809)、ステップ S806の処理に戻る。
[0063] 空きクラスタが存在する場合 (S808で Yesの場合)、現在参照して ヽる空きクラスタ 内に書き込めるだけのデータを書き込む(S810)。
[0064] 次に、全データの書き込みが完了したか判定する(S811)。まだ、書き込むべきデ ータが残っている場合、ステップ S804の処理に戻り、全データの書き込みが完了す るまで、上記ステップ S804— S810を繰り返す。
[0065] 全データの書き込みが完了した場合、ファイルシステム制御部 230の RAM上のデ ィレクトリエントリ 301内に格納されたファイルサイズやタイムスタンプなどを更新し、そ の後、更新したディレクトリエントリを半導体記録媒体 100に書き込む(S812)。そし て、ファイルシステム制御部 230の RAM上の FATテーブル 1、 FATテーブル 2を半 導体記録媒体 100に書き戻す (S813)。
[0066] 最後に、現在選択中のブロックの空きクラスタ数を確認し、閾値 T未満であるならば 有効空き領域リスト 241の該当するエントリの有効フラグを" 0" (無効)に更新し、処理 を完了する(S814)。
[0067] 図 9を参照し、上記のファイルデータ書き込み処理による、空きクラスタの選択を具 体的に説明する。ファイルデータの書き込みを行う前のデータ領域 132の状態が図 9 (a)に示す状態であるとする。閾値 Tは 8であり、有効空き領域リスト 241において、ブ ロック # 0及びブロック # 3は「有効」、ブロック # 1及びブロック # 2は「無効」となって いる。
[0068] 図 9 (b)は、 16クラスタ分のデータを、上記のファイルデータ書き込み処理により書 き込んだ場合の例を示している。ブロック # 0からデータ書き込みが開始され、ブロッ ク # 0の空きクラスタ全てにデータを記録すると、 Iき続 、てブロック # 3にデータが 記録される。これは、ブロック # 1及びブロック # 2は有効フラグが「無効」に設定され ているため、それらのブロックへの書き込みは行われないからである。この場合、ブロ ック間で遷移するのは、ブロック # 0からブロック # 3への 1回のみとなる。
[0069] 一方、 16クラスタ分のデータを従来のファイルデータ書き込み処理にて書き込んだ 場合の例を図 9 (c)に示す。従来方法では、 FATテーブル 1、 FATテーブル 2の先 頭力 空きを検索していくので、ブロック # 1及びブロック # 2への書き込みも発生す る。その結果、ブロック間の遷移は、ブロック # 0からブロック # 1、ブロック # 1からブ ロック # 2、ブロック # 2力 ブロック # 3、と 3回発生することになる。この場合、図 9 (b )の場合に比して、ブロック間で遷移する回数が増えるため、データ記録時の処理速 度がより遅くなる。
[0070] 以上のように、本実施形態では、データ処理装置 200が半導体記録媒体 100にデ ータを書き込む前に半導体記録媒体 100のブロック中の空きクラスタの数を確認し、 空きクラスタ数がある一定値以上のブロックにのみ書き込み処理を行うため、書き込 み速度の極端な低下の原因であるブロック間遷移の発生回数を低減させることが可 能となる。
[0071] 従って、空き領域が断片化された半導体記録媒体 100に対しても動画コンテンツの リアルタイム録画に必要となる最低書き込み速度を保証することが可能となる。
[0072] なお、以下のような変形例が考えられる。
(1)本実施の形態においては、図 6に示すステップ S501の処理において、閾値 T が予め固定値として決定されているものとして説明したが、半導体記録媒体 100に閾 値 Tに関する情報を格納しておき、データ処理装置 200がその情報を参照して閾値 Tを設定するようにしてもよい。また、ユーザから指定された情報により決定してもよい
[0073] (2)本実施の形態にぉ 、ては、 FATファイルシステムを例として記述した力 これに 限定されるものではな 、。アクセス単位よりも小さな単位でファイルデータを管理して いる場合、本発明の思想は適用できる。 [0074] また、ブロック単位やクラスタ単位等は全て一例であり、他のサイズであってもよ!/、。
[0075] (3)本実施の形態にぉ 、ては、ファイルデータ書き込み処理の手順の説明にお!/ヽ て、エラー処理を省略している力 エラー処理を追加してもよい。例えば、図 8に示す ステップ S806の処理において、有効空き領域リスト 241に有効フラグ" 1" (有効)であ るブロックが存在しない場合、エラー処理として書き込み処理を中断してもよい。
[0076] (4)本実施の形態にぉ 、ては、ファイルデータ書き込み処理の前に、予め有効空き 領域リスト 241を作成しておく例を記述したが、有効空き領域リスト 241及び選択フラ グ 242は必ずしも必要ではな 、。 FATテーブルを参照して使用する空き領域を検索 する際に、割り当てようとしている空きクラスタの属するブロックの空きクラスタ数が閾 値 T以上であるか否かを判断し、閾値 T以上である場合にのみ、そのブロックの空き クラスタを使用すると 、う仕様であってもよ 、。
[0077] また、本実施の形態においては、データ領域 132の全ブロックに対する有効空き領 域リスト 241を作成したが、有効空き領域リスト 241の生成に時間が力かる場合や、十 分なメモリが確保できない場合には、前記有効空き領域リスト 241を一部のブロックに 対して作成し、必要に応じて再生成すると!/ヽぅ仕様であってもよ!/ヽ。
[0078] また、本実施の形態には選択フラグ 242が有効空き領域管理部 240にあるとしたが 、ファイルシステム制御部 230の内部にあってもよい。
[0079] (5)本実施の形態におけるデータ記録方法は、記録媒体内で管理するブロックが ファイルシステムにおけるファイルデータの単位であるクラスタよりも大きぐかつブロ ックまたぎによってアクセス速度が低下する場合に有効である。このような条件を満た す記録媒体であれば、半導体記録媒体 100に限定されるものではなぐ他の情報記 録媒体であっても本発明の思想は適用できる。
[0080] (実施の形態 2)
図 10に、本発明の実施の形態 2に於ける半導体記録媒体及びデータ処理装置の 構成例を示す。本実施形態では、半導体記録媒体の記録領域の断片化を解消する ために半導体記録媒体の格納データの並べ替えを行う。
[0081] 本実施形態のデータ処理装置 200bは、基本的に実施の形態 1のものと同様の構 成を有するが、有効空き領域管理部 240の代わりに、半導体記録媒体の格納データ の並べ替えのための構成としてブロック判定部 260を備えている点が実施の形態 1の ものと異なる。
[0082] ブロック判定部 260は、半導体記録媒体 100のデータ格納部 130内の各ブロックの "型"を判別する。図 11に、ブロック判定部 260の内部構成例を示す。本実施形態で は、ブロックの型はブロック中に存在する空きクラスタ数によって決定され、 A型、 B型 、 C型の 3つが定義される。本実施の形態では、実施の形態 1と同様に 1ブロックのサ ィズカ 256kBであり、 1ブロックは 16kBのクラスタが 16個で構成されている。 1ブロッ クにおいて 8個以上の空きクラスタが存在する場合、すなわち、 1ブロックにおいて半 数以上が空きクラスタである場合を「A型」とする。 1ブロックにおいて、 1個から 7個の 空きクラスタが存在する場合を「B型」、全て使用中で空きクラスタが存在しな 、場合 を「C型」とする。
[0083] ブロック中に存在する空きクラスタ数が少な 、B型のブロックが多く存在して!/、る状 態では、動画などの大容量のデータを連続的に記録する際に、頻繁にブロックをまた V、だ書き込みが発生するため、書き込み処理の速度が極端に低下する可能性があ る。
[0084] そこで、本実施形態では、 B型のブロックを検索し、そのブロックに対して他のブロッ タカ データを移動させることにより、すなわち、データを並べ替えることにより、 B型 のブロックをできるだけ C型になるようにする。つまり、空き領域の少ない B型のブロッ クに、よりデータを集中させることができるため、他のブロックの空き領域が拡大し、断 片化を解消できる。
[0085] 以下、本実施の形態に於けるデータ並べ替え方法の詳細を説明する。図 12は、デ ータ処理装置 200bのデータ処理部 250がファイルシステム制御部 230に対して半 導体記録媒体 100のデータ並べ替えを指示したときのフローチャートである。本実施 の形態に於けるデータ並べ替え方法は、前述のように、 B型のブロック、すなわち 16 個中 1個から 7個の空きクラスタを有するブロックをできるだけ減らすことを目的として いる。
[0086] ファイルシステム制御部 230は、第 1〖こ、 FATテーブル 1及び FATテーブル 2を RA M上に読み出す(S1201)。次に、データ領域 132の先頭からのブロック番号を示す 変数 iに 0を設定し (SI 202)、以下の処理を実行する。
[0087] ブロック判定部 260はファイルシステム制御部 230からの情報をもとに、 i番目のブ ロックに存在する空きクラスタ数をカウントし、 i番目のブロックの型を判断する(S120 3)。
[0088] ステップ S 1203の判断の結果、 B型でない場合は、ステップ S 1207ニスシム、ブロ ック番号 iをインクリメントする。 B型である場合は、 i番目のブロック中の最初の空きクラ スタである空きクラスタに他のブロック力もデータを移動させる処理を行う(S 1204)。 この処理の詳細については後述する。なお、以下の説明において、他のブロックから のデータの移動先となる空きクラスタを「空きクラスタ Z」 t 、う。
[0089] 次に、上記の移動処理の完了 Z未完了を判断する(S1205)。未完了の場合、す なわち、移動させるデータが既に存在しない場合には、ファイルシステム制御部 230 の RAM上にある FATテーブル 1、 FATテーブル 2のデータに基づき、半導体記録 媒体 100の FATテーブル 1、 FATテーブル 2の更新を行い(S 1209)、処理を完了 する。
[0090] ステップ S1204の移動処理が完了した場合、 i番目のブロック内の残りの空きクラス タを検索する(S 1206)。 i番目のブロック内に空きクラスタが残っている場合、その空 きクラスタを、データ移動先である空きクラスタ Zとして、ステップ S 1204の処理に戻る 。残っていない場合は、ブロック番号 iをインクリメントした後(S 1207)、 iがデータ領域 132の総ブロック数 Q以下であるか否かを判断する(S 1208)。
[0091] i力 以下である場合、ステップ S 1203の処理に戻り、ステップ S 1203— S 1207の 処理を継続する。 iが Qより大きい場合、ファイルシステム制御部 230の RAM上にあ る FATテーブル 1、 FATテーブル 2のデータに基づき、半導体記録媒体 100の FAT テーブル 1、 FATテーブル 2の更新を行い(S 1209)、処理を完了する。
[0092] 以上のように、本実施の形態における並べ替え処理はデータ領域 132の先頭プロ ック力 順に空きクラスタを検出し、その空きクラスタに他のブロック力 データを移動 させることでデータの並べ替えを行!、、これ以上データの移動が不可能となるか最後 のブロックの処理を行った時点で、並べ替えの処理を完了する。
[0093] 次に、上記のステップ S1204における、データの移動処理について図 13を用いて 詳細に説明する。図 13は、 i番目のブロックにおける空きクラスタ Zに他のブロックから データを移動させる処理のフローチャートである。
[0094] 本移動処理において、空きクラスタ Zにデータを移動させる際にデータ移動元とな るクラスタの検索は FATテーブル 1または FATテーブル 2を用いて行う。本移動処理 は、半導体記録媒体 100上の FATテーブル 1または FATテーブル 2に格納されるリ ンク情報の付け替え処理、及びデータ領域 132へのデータコピー処理によって実現 する。データ移動処理において、リンクの先頭となるデータは移動させないため、ディ レクトリエントリの検索や書き換えなどが発生せず、高速な処理が可能である。
[0095] 図 13を参照し、本移動処理では、第 1に、データ領域 132の先頭力ものクラスタ番 号を指定する変数 kを 0に設定する(S1301)。つまり、データ領域 132の各クラスタ について、データ領域先頭から順次以下の処理を実行する。次に、 FATテーブル 1 または FATテーブル 2を参照して、 k番目のクラスタが使用中であるカゝ否かを判断す る(S1302)。
[0096] k番目のクラスタが使用中でなければ kをインクリメントする(S 1311)。インクリメント 後の k番目のクラスタがデータ領域 132の範囲内にあるか否かを判定する(S 1312) 。範囲内であれば、ステップ S 1302の処理に戻る。範囲外であれば、そのブロック中 においてデータを移動できるクラスタはもはや存在しないため、「移動 NG (未完了)」 とし (S1313)、処理を終了する。
[0097] ステップ S1302において、 k番目のクラスタが使用中である場合、 FATエントリから k番目のクラスタのリンク先を検索する(S1303)。リンク先のクラスタが属するブロック (ブロック R)が i番目のブロックであるか否かを判断する(S1304)。
[0098] リンク先のクラスタが属するブロック力 4番目のブロックである場合、同じブロック内で の移動となり、無意味であるので、そのクラスタに対しては何も処理を行わずに、ステ ップ S 1311に進む。ステップ S 1311以降の処理は前述のとおりである。
[0099] リンク先のクラスタが属するブロック R力 4番目のブロックでない場合(S 1304で NO) 、ブロック R力 型力否かを判断する(SI 305)。ブロック R力 型である場合、そのブ ロック Rからデータを移動させることは断片化を生じさせるため、適切ではない。よつ て、リンク先のクラスタが属するブロック R力 型の場合は、ステップ S1311に進み、 次のクラスタにつ 、て検討を行う。
[0100] 一方、ブロック R力 型でな 、場合、データ移動前に、データ移動先となる空きクラ スタ Zが「仮空きクラスタ」であるか否かを判断する(S 1306)。仮空きクラスタの詳細は 後述する。
[0101] 空きクラスタ Zが仮空きクラスタの場合(S 1306で YES)、クラスタ Zのデータを上書 きすることになるので、その前にシステム制御部 230の RAM上の FATテーブル 1、 F ATテーブル 2を半導体記録媒体 100に書き戻す (S1307)。すなわち、データ書き 込み前に半導体記録媒体 100上の FATテーブル 1、 FATテーブル 2を更新しておく
[0102] 次に、クラスタ番号 kのリンク先のデータを空きクラスタ Zにコピーする(S1308)。す なわちデータ領域 132への書き込みを行う。
[0103] その後、ファイルシステム制御部 230の RAMにおいて、クラスタ番号 k、クラスタ番 号 kのリンク先、及び空きクラスタ Zの間のリンク情報を書き換え(S1309)、「移動 OK (完了)」として (S1310)、処理を終了する。
[0104] 次に、仮空きクラスタについて説明する。仮空きクラスタとは、クラスタ間のデータ移 動後に、データ処理装置 200bの FATテーブル上では空き (未使用)であると認識さ れて 、るが、半導体記録媒体 100の FATテーブル上では空きであると認識されて ヽ ないクラスタのことである。例えば、クラスタ Xからクラスタ Yへデータを移動したときに 、クラスタ Xは、データ処理装置 200bの FATテーブル上では空き(未使用)であると 認識されるが、半導体記録媒体 100の FATテーブル上では空きであると認識されな い場合がある。これは、データ処理装置 200bの FATテーブルと半導体記録媒体 10 0の FATテーブルの更新タイミングが異なるからである。
[0105] データ処理装置 200bは処理効率の観点から、半導体記録媒体 100の FATテー ブルをデータ処理装置 200b内部に取り込み、通常はその内部の FAT情報のみを 更新し、あるタイミングでのみ半導体記録媒体 100に FATテーブルを書き戻す。これ は、半導体記録媒体 100の FATテーブルの更新処理には時間が力かることから、デ ータ更新時の処理時間を低減するためである。また、クラスタ Xからクラスタ Yへデー タを移動させる場合、移動元のクラスタ Xのデータを移動先のクラスタ Yにコピーする とともに、データ処理装置 200b内部の FAT^—ブルのリンク情報を書き換える。この とき、クラスタ Xについては、そのリンク情報が書き換えられるのみで、データは消去さ れない。よって、移動処理後、半導体記録媒体 100の FATテーブルが更新されるま での間、データ処理装置 200b内部の FATテーブル上では、クラスタ Xは空きクラス タであると認識される力 半導体記録媒体 100の FATテーブル上では、クラスタ Xの 移動前の状態が保持される。このようなクラスタ Xが仮空きクラスタである。この場合、 仮空きクラスタであるクラスタ Xは以前のデータを格納して 、るため、半導体記録媒体 100内部においては、その FATテーブルとデータの対応関係はとれている。しかし、 仮空きクラスタへデータを書き込む途中または書き込み終了直後に、不測の事態に より半導体記録媒体 100への電源供給が遮断されると、仮空きクラスタのデータは上 書きされるが、半導体記録媒体 100内部の FATテーブルは更新されないという状況 になり、半導体記録媒体 100内部の FATテーブルとデータの対応関係にぉ ヽて不 整合が生じる、という問題がある。そこで、本実施形態では、仮空きクラスタへのデー タ書き込み前に、半導体記録媒体 100上の FATテーブル 1、 FATテーブル 2を更新 するようにしている(S1306、 S1307)。これにより、仮空きクラスタへのデータ書き込 み途中または終了直後に、不測の事態により半導体記録媒体 100への電源供給が 遮断された場合であっても、半導体記録媒体 100内部の FATテーブルとデータの整 合性が保持できる。
図 14は、移動前にブロック # 2に空きクラスタ Zが存在し、上記の並べ替え処理によ り、ブロック # 4の「クラスタ Z2」のデータが「空きクラスタ Z」に移動したときの状態の変 化を説明する。但し、リンク情報をデータ処理装置 200bのファイルシステム制御部 2 30の RAM上で書き換えただけであり、半導体記録媒体 100の FAT情報は更新さ れていないとする。このとき、半導体記録媒体 100は、ブロック # 4にある移動元のク ラスタ Z2に未だデータが記録されて 、ると認識する。移動後のクラスタ Z2が「仮空き クラスタ」となる。図 12で説明したデータの並び替え処理を進めていくと、仮空きクラ スタに別のデータが上書きされる可能性がある。上書き中に電源断などが発生すると 、データを復旧できなくなるため、ステップ S 1307の処理を行い、 FATテーブル 1、 F ATテーブル 2を半導体記録媒体 100に書き戻して、半導体記録媒体 100に、クラス タ Z2が空き領域であることを認識させる必要がある。
[0107] 図 15は、移動前にブロック # 2に空きクラスタ Zが存在し、上記の並べ替え処理によ り、ブロック # 0のクラスタ Z2のデータ力 空きクラスタ Zに移動したときの状態の変化 を説明する。移動後にクラスタ Z2が仮空きクラスタとなって 、る。
[0108] 以上のように、本実施形態では、半導体記録媒体 100の各ブロック中に一定の個 数以上の空きクラスタが存在するようにデータを並び替えることによって、書き込み処 理の速度が極端に低下するブロックの数を低減することを可能とする。
[0109] さらに、本実施形態の並べ替え方法は、 FATテーブル 1、 FATテーブル 2に格納さ れているリンク情報の付け替え及びデータ領域 132へのデータコピーのみによって 実現する。ディレクトリエントリ 301の検索や書き換えなどを必要としないので高速な 処理が可能である。
[0110] なお、以下のような変形例が考えられる。
(1)本実施の形態においては、ブロック判定部 260が、ブロックの型の定義につい ての情報を予め持っているものとして説明した力 半導体記録媒体 100にブロックの 型の定義に関する情報が格納されている場合、データ処理装置 200bが前記情報を 参照してブロックの型の定義を決定してもよい。また、ユーザから指定された情報によ り決定してちょい。
[0111] また、本実施の形態におけるブロックの型の定義は一例である。ブロックの型の定 義は空きクラスタ数ではなくて、空きクラスタ数の割合や空きクラスタ数の占めるサイ ズで決定されて 、てもよ 、。
[0112] (2)本実施の形態においては、 FATファイルシステムを例として記述した力 これに 限定されるものではな 、。ブロックよりも小さな単位でファイルデータを管理して 、る 場合に、本発明の思想は適用できる。
[0113] また、ブロック単位やクラスタ単位等は全て一例であり、他のサイズであってもよい。
[0114] (3)本実施の形態においては、データの並べ替え処理の説明において、エラー処 理を省略している力 エラー処理を追加してもよい。例えば、 FATテーブル 1、 FAT テーブル 2が壊れて 、る場合、エラー処理として並べ替え処理を中断してもよ!/、。
[0115] (4)本実施の形態においては、並べ替え処理の最中に電源断が発生し、半導体記 録媒体 100のデータ領域 132に格納されている情報と管理情報領域 131に格納さ れている情報に不整合が生じることを避けるために、データの上書きを行う直前に F ATテーブル 1、 FATテーブル 2を書き込む処理(S 1306、 S1307)が存在していた 。しかし、電源断が発生しないことが予め保証されている場合や、前記不整合が発生 しても構わない場合などにはこれらの処理を省略することが可能である。
[0116] (5)本実施の形態においては、 S1301においてクラスタ番号 kを 0とし、データ領域 132の最初のクラスタ力 順に移動元のデータの検索を開始していた力 常に最初 力も検索しなくてもよい。例えば、前回検索したクラスタ番号を覚えておいて、次はそ の続き力 検索する仕様であってもよ 、。
[0117] (6)本実施の形態におけるデータ並べ替え方法は、記録媒体内で管理するブロッ タカ ファイルシステムにおけるファイルデータの管理単位であるクラスタよりも大きぐ かつブロックまたぎによってアクセス速度が低下する恐れのある場合に有効である。 このような条件を満たす記録媒体であれば、半導体記録媒体に限定されな 、。
[0118] (7)本実施の形態においては、 FATテーブル 1及び FATテーブル 2の書き込み順 序などについて特に言及しな力つた力 下記の変形例により FATテーブル 1もしくは FATテーブル 2の書き込み処理中に電源断などが発生してもデータを復旧させるこ とが可能となる。
[0119] 図 16A、図 16Bは、データ並べ替え処理の変形例のフローチャートである。本変形 例においては、データ処理装置 200bが有効 FATフラグを有しているものとする。有 効 FATフラグは、 FATテーブル 1及び FATテーブル 2のうち、いずれの FATテープ ルが有効であるかを示すフラグである。このフラグを参照し、有効な方の FATテープ ルを決定し、その情報を参照することで、正しいリンク情報を得ることができる。
[0120] 最初に、有効 FATフラグを" 1"に設定する(S1601)。その後、図 12、図 13で示し た並べ替え処理を実行する(S 1602)。但し、ステップ S1209及び S1307における F ATテーブルの書き込み処理については、図 16Bに示す処理を実行する。
[0121] 図 16Bに示す処理を説明する。
まず、データ処理装置 200b上の FATテーブル 2を、半導体記録媒体 100に書き 戻す (S1611)。次に、有効 FATフラグを" 2"に設定し (S1612)、半導体記録媒体 1 00上で FATテーブル 2を FATテーブル 1にコピーする(S1613)。コピー完了後に、 有効 FATフラグを" 1 "に戻す(S 1614)。
[0122] この変形例を適用した場合、 FATの書き込み処理中に電源断などが発生し、書き 込みエラーが生じた場合には、データ処理装置 200bは有効 FATフラグを参照し、 現在有効になっている FATテーブルをもう一方にコピーすることができる。すなわち 、有効 FATフラグ力 ならば、 FAT^—ブル 1を FATテーブル 2にコピーし、有効 FATフラグが" 2"ならば、 FATテーブル 2を FATテーブル 1にコピーする。
[0123] この手順により FATテーブルの書き込み中にエラーが発生した場合でも、データを 整合性のある状態に復元することが可能となる。なお、前記有効 FATフラグは半導 体記録媒体 100中に格納して 、てもよ 、。
[0124] (8)本実施形態のデータ並べ替え方法を、実施の形態 1のデータ記録方法と組み 合わせることも可能である。両実施形態の技術思想を組み合わせることで、データ記 録時の断片化による速度低下をより効果的に低減することができる。
[0125] 以上、本発明は、特定の実施形態について説明されてきたが、当業者にとっては 他の多くの変形例、修正、他の利用が明らかである。それゆえ、本発明は、ここでの 特定の開示に限定されず、添付の請求の範囲によってのみ限定され得る。なお、本 出願は日本国特許出願、特願 2003— 404158号(2003年 12月 03日提出)に関連 し、それらの内容は参照することにより本文中に組み入れられる。
産業上の利用可能性
[0126] 本発明は、空きクラスタ数がある一定値以上のブロックに対してのみ書き込みを行う ことによって、情報記録媒体へのある書き込み処理の最低速度が極端に低下するこ とを避けることが可能であるため、動画コンテンツの記録時等の高速な書き込み処理 が要求される情報記録媒体のデータ処理装置に適用できる。

Claims

請求の範囲
[1] データを格納する記録領域を有し該格納データがファイルシステムにより管理され る情報記録媒体に対してデータを記録する記録方法であって、
前記情報記録媒体はその記録領域がブロック単位で管理され、該ブロックはフアイ ルシステムのデータを格納する単位であるクラスタを所定数含んでおり、
前記記録方法は、
新たな空き領域にデータを記録する必要がある場合、所定の閾値以上の未使用 クラスタを含むブロックを検索し、該検索したブロックに対して優先的にデータの書き 込み処理を行う、
データ記録方法。
[2] 新たな空き領域にデータを記録する必要がある場合に、前記検索した有効ブロック 内の未使用クラスタに対してデータの書き込み処理を行う、
請求項 1記載のデータ記録方法。
[3] 前記記録領域の各ブロックに含まれる未使用クラスタの数をカウントし、そのカウント 結果に基づき前記有効ブロックを求め、該有効ブロックに関するリスト情報である有 効空き領域リストを生成して保持し、
データ記録処理の際に、前記有効空き領域リストを参照して前記有効ブロックを検 索する、
請求項 2記載のデータ記録方法。
[4] 前記閾値に関する情報は、前記情報記録媒体内に格納されている、請求項 1記載 のデータ記録方法。
[5] 前記閾値は 1ブロック中のクラスタ数の 1Z2以上の値である、請求項 1記載のデー タ記録方法。
[6] 情報記録媒体に対するデータの書き込み、読み出しを行うデータ処理装置であつ て、
前記情報記録媒体はその記録領域がブロック単位で管理され、該ブロックはフアイ ルシステムのデータを格納する単位であるクラスタを所定数含んでおり、
前記データ処理装置は、 前記情報記録媒体への情報の入出力を行う入出力処理部と、
前記情報記録媒体に格納されたデータをファイルとして管理するファイルシステム 制御部と、
前記情報記録媒体に対するデータの書き込み、読み出しに関する制御を行うデー タ処理部と、
前記情報記録媒体の領域において所定の閾値以上の未使用クラスタを含むブロッ クに関する情報を保持する有効空き領域管理部とを備え、
前記データ処理部は、新たな空き領域にデータを記録する必要がある場合、前記 有効空き領域管理部に保持された情報を参照して、所定の閾値以上の未使用クラス タを含むブロックを検索し、該検索したブロックに対して優先的にデータの書き込み を行うよう、制御を行う、
データ処理装置。
[7] 前記有効空き領域管理部は、前記閾値以上の未使用クラスタを含むブロックである 有効ブロックに関するリスト情報である有効空き領域リストを保持する、
請求項 6記載のデータ処理装置。
[8] 前記閾値に関する情報は、前記情報記録媒体に格納されて!、る、請求項 6記載の データ処理装置。
[9] 前記閾値は、 1ブロック中のクラスタ数の 1Z2以上の値である、請求項 6記載のデ ータ処理装置。
PCT/JP2004/017767 2003-12-03 2004-11-30 情報記録媒体のデータ処理装置及びデータ記録方法 WO2005055064A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005515925A JP4608434B2 (ja) 2003-12-03 2004-11-30 情報記録媒体のデータ処理装置及びデータ記録方法
KR1020067010179A KR101046083B1 (ko) 2003-12-03 2004-11-30 정보 기록 매체의 데이터 처리 장치 및 데이터 기록 방법
EP04819818A EP1693758A4 (en) 2003-12-03 2004-11-30 INFORMATION RECORDING MEDIA DATA PROCESSING DEVICE AND DATA RECORDING METHOD
US10/596,155 US20070162707A1 (en) 2003-12-03 2004-11-30 Information recording medium data processing apparatus and data recording method
CN2004800360923A CN1890645B (zh) 2003-12-03 2004-11-30 信息记录介质的数据处理装置以及数据记录方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003-404158 2003-12-03
JP2003404158 2003-12-03

Publications (1)

Publication Number Publication Date
WO2005055064A1 true WO2005055064A1 (ja) 2005-06-16

Family

ID=34650127

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/017767 WO2005055064A1 (ja) 2003-12-03 2004-11-30 情報記録媒体のデータ処理装置及びデータ記録方法

Country Status (7)

Country Link
US (1) US20070162707A1 (ja)
EP (1) EP1693758A4 (ja)
JP (1) JP4608434B2 (ja)
KR (1) KR101046083B1 (ja)
CN (1) CN1890645B (ja)
TW (1) TWI356302B (ja)
WO (1) WO2005055064A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101078972B (zh) * 2006-03-20 2010-06-02 索尼株式会社 数据存储装置和数据存取方法
WO2010103760A1 (ja) * 2009-03-13 2010-09-16 パナソニック株式会社 アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP2013097556A (ja) * 2011-10-31 2013-05-20 Canon Inc ファイル管理装置、ファイル管理方法およびプログラム
US8782353B2 (en) 2007-10-10 2014-07-15 Samsung Electronics Co., Ltd. Information processing device having data field and operation methods of the same
US8977802B2 (en) 2009-11-11 2015-03-10 Panasonic Intellectual Property Management Co., Ltd. Access device, information recording device, controller, real time information recording system, access method, and program
US9778857B2 (en) 2012-08-07 2017-10-03 Panasonic intellectual property Management co., Ltd Recording device, access device, recording system, and recording method
EP1936508B1 (en) * 2005-09-22 2019-07-03 Panasonic Corporation Information recording medium access apparatus, and data recording method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206861A (ja) * 2002-12-13 2004-07-22 Matsushita Electric Ind Co Ltd 空き領域の検索方法および検索装置、記録済み領域の配置の検証方法および検証装置
JP2007199905A (ja) * 2006-01-25 2007-08-09 Toshiba Corp 半導体記憶装置の制御方法
US8054684B2 (en) * 2009-12-18 2011-11-08 Sandisk Technologies Inc. Non-volatile memory and method with atomic program sequence and write abort detection
JP5471547B2 (ja) * 2010-02-10 2014-04-16 ソニー株式会社 情報記録装置、撮像装置、情報更新方法及びプログラム
CN102314490B (zh) * 2011-08-16 2013-07-10 晨星软件研发(深圳)有限公司 一种Linux FAT文件系统修复方法及装置
CN103257831B (zh) 2012-02-20 2016-12-07 深圳市腾讯计算机系统有限公司 存储器的读写控制方法及对应的存储器
CN103631774B (zh) * 2012-08-20 2018-03-20 腾讯科技(深圳)有限公司 数据存储方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251407A (ja) * 1996-03-14 1997-09-22 Matsushita Electric Ind Co Ltd 記憶領域管理方法及び記憶装置
JP2003296156A (ja) * 2002-04-04 2003-10-17 Sony Corp 情報記録管理装置、データ記録再生装置、情報記録管理方法及びファイル管理方法
EP1492014A1 (en) 2002-04-03 2004-12-29 Sony Corporation Recording apparatus and method, recording medium, and program

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
US5210865A (en) * 1989-06-30 1993-05-11 Digital Equipment Corporation Transferring data between storage media while maintaining host processor access for I/O operations
US5287500A (en) * 1991-06-03 1994-02-15 Digital Equipment Corporation System for allocating storage spaces based upon required and optional service attributes having assigned piorities
US5535369A (en) * 1992-10-30 1996-07-09 Intel Corporation Method for allocating memory in a solid state memory disk
KR0127029B1 (ko) * 1994-10-27 1998-04-01 김광호 메모리카드와 그 기록, 재생 및 소거방법
US5872905A (en) * 1996-03-14 1999-02-16 Matsushita Electric Industrial Co., Ltd. Recording area management method, error recovery processing method, and storage apparatus
JP3588231B2 (ja) * 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 データ処理システム及びブロック消去型記憶媒体
JP3407628B2 (ja) * 1997-12-19 2003-05-19 株式会社日立製作所 計算機システム
US6202121B1 (en) * 1998-04-15 2001-03-13 Microsoft Corporation System and method for improved program launch time
US6377958B1 (en) * 1998-07-15 2002-04-23 Powerquest Corporation File system conversion
US6397308B1 (en) * 1998-12-31 2002-05-28 Emc Corporation Apparatus and method for differential backup and restoration of data in a computer storage system
KR100704998B1 (ko) * 1999-02-26 2007-04-09 소니 가부시끼 가이샤 기록방법, 관리방법 및 기록장치
EP1498810B1 (en) * 1999-10-21 2018-12-26 Panasonic Corporation A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
JP2002182859A (ja) * 2000-12-12 2002-06-28 Hitachi Ltd ストレージシステムおよびその利用方法
US6760805B2 (en) * 2001-09-05 2004-07-06 M-Systems Flash Disk Pioneers Ltd. Flash management system for large page size
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
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
US7801930B2 (en) * 2004-05-10 2010-09-21 Panasonic Corporation Recording medium, host device, and data processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251407A (ja) * 1996-03-14 1997-09-22 Matsushita Electric Ind Co Ltd 記憶領域管理方法及び記憶装置
EP1492014A1 (en) 2002-04-03 2004-12-29 Sony Corporation Recording apparatus and method, recording medium, and program
JP2003296156A (ja) * 2002-04-04 2003-10-17 Sony Corp 情報記録管理装置、データ記録再生装置、情報記録管理方法及びファイル管理方法

Non-Patent Citations (1)

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

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1936508B1 (en) * 2005-09-22 2019-07-03 Panasonic Corporation Information recording medium access apparatus, and data recording method
CN101078972B (zh) * 2006-03-20 2010-06-02 索尼株式会社 数据存储装置和数据存取方法
US8782353B2 (en) 2007-10-10 2014-07-15 Samsung Electronics Co., Ltd. Information processing device having data field and operation methods of the same
KR101433860B1 (ko) * 2007-10-10 2014-08-26 삼성전자주식회사 파일을 효율적으로 관리할 수 있는 정보 처리 장치
WO2010103760A1 (ja) * 2009-03-13 2010-09-16 パナソニック株式会社 アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
US8977802B2 (en) 2009-11-11 2015-03-10 Panasonic Intellectual Property Management Co., Ltd. Access device, information recording device, controller, real time information recording system, access method, and program
JP2013097556A (ja) * 2011-10-31 2013-05-20 Canon Inc ファイル管理装置、ファイル管理方法およびプログラム
US9778857B2 (en) 2012-08-07 2017-10-03 Panasonic intellectual property Management co., Ltd Recording device, access device, recording system, and recording method

Also Published As

Publication number Publication date
JP4608434B2 (ja) 2011-01-12
JPWO2005055064A1 (ja) 2007-12-06
KR20060120674A (ko) 2006-11-27
KR101046083B1 (ko) 2011-07-01
CN1890645B (zh) 2010-09-08
EP1693758A1 (en) 2006-08-23
TWI356302B (en) 2012-01-11
US20070162707A1 (en) 2007-07-12
CN1890645A (zh) 2007-01-03
TW200527206A (en) 2005-08-16
EP1693758A4 (en) 2009-02-04

Similar Documents

Publication Publication Date Title
JP4287433B2 (ja) ファイル記録装置
KR100952135B1 (ko) 순차적 기록만을 사용하는 플래시 관리 시스템
JP5485163B2 (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
EP1650665B1 (en) File management method and information processing device
US7461198B2 (en) System and method for configuration and management of flash memory
JP4722704B2 (ja) 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法
US7984231B2 (en) Information recording medium access device, and data recording method
JP5577238B2 (ja) アクセス装置、情報記録装置、コントローラ、及び情報記録システム
US20080288710A1 (en) Semiconductor Memory Device and Its Control Method
JP4608434B2 (ja) 情報記録媒体のデータ処理装置及びデータ記録方法
JP2006294031A (ja) ネットワーク上での動作のための記憶ドライブ、ネットワークからシーケンシャルアクセス記憶媒体におけるファイルデータにアクセスする方法、ファイルに基づくコマンドを変換するための論理およびtocを格納するための論理を含む記憶論理、磁気テープ、ならびにテープのデータおよびtoc領域にアクセスするための論理
KR20070045114A (ko) 정보 처리 장치와 정보 처리 방법, 및 컴퓨터 프로그램
KR20060134170A (ko) 비휘발성 기억 시스템
US11221989B2 (en) Tape image reclaim in hierarchical storage systems
JP2007233512A (ja) データ記録装置、データ記録方法、及びプログラム
JP2005202942A (ja) 情報記録媒体、データ処理装置及びデータ処理方法
WO2010001606A1 (ja) コントローラ、情報記録装置、アクセス装置、情報記録システム、及び情報記録方法
KR20190061549A (ko) 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법
JP2006127401A (ja) 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム
US20070055819A1 (en) Information recording medium and its control method
JP2021082005A (ja) 記録装置
JP2009205591A (ja) アクセスモジュール、情報記録モジュール、及び情報記録システム
JP2001110169A (ja) データ管理方法
JP2009205590A (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP7262977B2 (ja) 記録装置及びその制御方法、並びにプログラム

Legal Events

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

Ref document number: 200480036092.3

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2005515925

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020067010179

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2004819818

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007162707

Country of ref document: US

Ref document number: 10596155

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2004819818

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067010179

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 10596155

Country of ref document: US