WO2004097650A1 - データ記録装置 - Google Patents

データ記録装置 Download PDF

Info

Publication number
WO2004097650A1
WO2004097650A1 PCT/JP2004/005575 JP2004005575W WO2004097650A1 WO 2004097650 A1 WO2004097650 A1 WO 2004097650A1 JP 2004005575 W JP2004005575 W JP 2004005575W WO 2004097650 A1 WO2004097650 A1 WO 2004097650A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
semiconductor memory
file
recording
unit
Prior art date
Application number
PCT/JP2004/005575
Other languages
English (en)
French (fr)
Inventor
Hiroshi Saitou
Takanori Okada
Hiromasa Hoshino
Seiji Horita
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 US10/530,300 priority Critical patent/US20050286855A1/en
Priority to EP04728233A priority patent/EP1619583A4/en
Publication of WO2004097650A1 publication Critical patent/WO2004097650A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/415Redundant array of inexpensive disks [RAID] systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/61Solid state media wherein solid state memory is used for storing A/V content
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Definitions

  • the present invention relates to an apparatus for recording and reproducing video and audio using a semiconductor memory medium.
  • Flash memory is a non-volatile memory that can record and erase data electrically, and retains the recorded data even when the power is turned off. Since semiconductor memory cards do not have the mechanical drive parts required for conventional tape and disk devices, they are small, lightweight and resistant to impact, and are used in various applications such as digital cameras. However, recording high-quality video and audio is insufficient for this purpose because the storage capacity per semiconductor memory card is small and the data transfer rate for recording and playback is low.
  • a semiconductor memory pack device which aims to improve storage capacity and transfer rate by combining a plurality of semiconductor memory cards.
  • data can be simultaneously recorded on a plurality of semiconductor memory cards, so that the recording transfer rate is reduced. Speed up.
  • many conventional semiconductor memory cards have flash memory inside, and have the characteristic that data of a fixed size called an erase block is erased electrically and collectively.
  • the size of the erase block is When recording less than the required data, the data of the block is once read and retained, the block data is erased at once, and the retained data is partially updated to recorded data. Will be written back to the block.
  • Such an operation called a read-modify-write operation, complicates the recording operation and causes a decrease in the recording transfer rate.
  • the size of the data to be recorded must be the same size as the erase block, or an integral multiple of it, in order to avoid such partial data update for the erase block. Then, it is necessary to match the address to be recorded to the beginning of the erase block.
  • a file system generally manages files in units of a predetermined data size, such as a sector or a class.
  • a predetermined data size such as a sector or a class.
  • the size of one sector or class may be insufficient to handle the large data unit described above. In such a case, it is necessary for the file system to record a plurality of continuous sectors and a plurality of continuous classes collectively in the above device.
  • FIGS. 2A to 2C are diagrams showing recording areas in a conventional semiconductor memory pack device.
  • 201 represents a management unit.
  • the management unit corresponds to a sector or a class of the file system.
  • Each of 20 2 to 2 12 represents a management unit of the same size as 201.
  • an erase block 220 is composed of management units 201 to 204, and represents a unit which is electrically erased collectively.
  • the erase block 230 is composed of management units 205 to 208
  • the erase block 240 is composed of management units 209 to 212.
  • a recording area 250 represents a recording area used when recording data, and the recording area 250 is composed of management units 203 to 206.
  • the recording area 260 is composed of management units 207 to 210
  • the recording area 270 is composed of management units 201 to 204
  • the recording area 2 80 is composed of management units 209 to 211.
  • the management units 201 and 202 indicated by diagonal lines in FIG. 2 (b) and the management unit 206 in FIG. 2 (c) both indicate that data has already been recorded. The file exists in the management unit.
  • FIG. 2 (a) it is assumed that the management units 201 to 212 are unused. In this case, in order to record data at the highest transfer rate in the semiconductor memory pack device, it is desirable to record data in a continuous address for each erase block unit. The reason for this is that, as described above, the data in the semiconductor memory medium is electrically erased collectively in erase block units. Therefore, by recording data in data units corresponding to the size of this block, read-modify-write can be prevented. Furthermore, depending on the type of the semiconductor memory card, there is a type of card in which the recording process is parallelized inside the semiconductor memory card when data is recorded in units of erase blocks and in a continuous address.
  • the ideal recording method in Fig. 2 (a) is that the erase block 2 2 0, 2 3 0, 2 4 is used as a recording unit with a data size of the total of the management units 201 to 204. by recorded continuously on 0 order, t however high transfer rate is achieved, present in FIG. 2 (b), the management unit 2 0 1 and 2 0 2, as already recorded de Isseki file are doing. Since the file system that can create a file with size management unit, an exchange medium may be such a small file with other access devices are created c In this case, the data size of the erase block When data is recorded, data is first recorded in the recording area 250, and then data is recorded in the recording area 260.
  • FIG. 2 (c) data already recorded in the management unit 206 exists.
  • data of the same size as the erase block size is recorded in the recording area 270, and then, in order to avoid read / modify / write, data is written to the erase block including the management unit 206.
  • the data is recorded in the recording area 280 corresponding to the next erase block, that is, the area from the management unit 209 to 211.
  • read-modify-write does not occur, but has the following problems.
  • the management units 205, 207 and 208 are free areas even though they are free areas. Not used for recording. This means wasteful use of the recording area, and when there are a large number of erased blocks that include partially recorded management units, such as management units 205 to 208, so-called To record data at a high transfer rate in a fragmented state, these areas cannot be used for recording, and the capacity of the recording medium cannot be used effectively.
  • FIG. 2 (c) there is a space between the recording area 270 and the recording area 280. Addresses are discontinuous. If the addresses become discontinuous, data cannot be recorded at a high transfer rate as described above.
  • the management information is, for example, data of a table / bitmap indicating the use status of a sector or a cluster, information of the size of a file being recorded, and the like.
  • the present invention has been made in view of the above circumstances, and has as its object to provide a data recording device capable of recording data at high speed in a semiconductor memory pack device incorporating a plurality of flash memories operating in parallel.
  • the data recording device of the present invention uses the following means.
  • a data recording device is a data recording device for recording data in a semiconductor memory pack device having a plurality of flash memories that perform a recording operation in parallel, wherein the data should be recorded in the semiconductor memory pack device.
  • a file management unit that manages data as a file, wherein the file management unit determines a data recording unit of data to be supplied to the semiconductor memory pack device with a size obtained by summing erase block sizes of the plurality of flash memories. And a common multiple of the data management size in the file management unit.
  • the data management unit of the file management unit may be an integer multiple of a total size of erase blocks of the plurality of flash memories. It is preferable that the size is the same as the data recording unit.
  • the file management unit sets the data of the same file in the data recording unit.
  • the file management unit may be configured so that the semiconductor memory pack device has a free space corresponding to the data recording unit. It is preferable to record only.
  • the data recording device of the present invention in the first or second configuration, when the file management unit records data of a different file in the data recording unit, It is preferable to rearrange the recording data so that the data in the unit is the same file.
  • the semiconductor memory pack device in the first or second configuration, has an area for recording file management information of the file management unit;
  • the audio data stored as data to be supplied to the semiconductor memory pack device is amount in integer multiples and Natsuta point of the data Xi recording unit, wherein c thereby it is preferable to update the file management information recorded in the semiconductor memory pack device, have become conventional obstacles to high-speed recording Prevents read-modify-eye-writes and, as a result, reduces the number of rewrites for semiconductor memory cards Door is possible.
  • the recording of audio data having a low bit rate as a trigger for writing back the file management information, the number of times of rewriting the file management information in the semiconductor memory pack device is not unnecessarily increased.
  • the data recording device of the present invention has the first or second configuration.
  • the file management unit records an MPEG stream in a file
  • the flash memory is mounted on the semiconductor memory pack device as a semiconductor memory card.
  • the data recording device of the present invention is a data recording device for recording data in accordance with a FAT file system on a semiconductor memory pack device having a plurality of built-in flash memories, the number of sectors actually existing in the semiconductor memory pack device.
  • the total number of sectors which is obtained by adding the number of non-existent virtual sectors and the total number of non-existent virtual sectors, is managed by the FAT file system. It is characterized in that it is excluded from data write targets by storing meaningful values.
  • FIG. 1 is a configuration diagram of a data recording device and a semiconductor memory pack device according to Embodiment 1 of the present invention.
  • FIG. 2 is a diagram showing a recording area in a conventional semiconductor memory pack device. It is.
  • FIG. 3 is a diagram showing a data recording unit and an erase block. Cluster allocation according to the first embodiment of the present invention.
  • FIG. 4 is a diagram showing data recording units, erase blocks, and cluster allocation according to the second embodiment of the present invention.
  • FIG. 5 is a diagram showing data recording units, erase blocks, and free clusters according to the third embodiment of the present invention.
  • FIG. 6 is a diagram showing a data recording unit and a file recording arrangement before rearrangement in Embodiment 4 of the present invention.
  • FIG. 7 is a diagram showing a data recording unit and a file recording arrangement after rearrangement in Embodiment 4 of the present invention.
  • FIG. 8 is a block diagram of a method for reproducing a real-time data file according to Embodiment 5 of the present invention.
  • FIG. 9 is a block diagram of a method for reproducing a real-time data file according to Embodiment 5 of the present invention.
  • FIG. 10 is a block diagram of a method for reproducing a real-time data file according to Embodiment 5 of the present invention.
  • FIG. 11 is a block diagram of a method for reproducing a real-time data file according to Embodiment 6 of the present invention.
  • FIG. 12 is a diagram showing the boot section of the FAT defined by IS ⁇ ZIEC 9293.
  • FIG. 13 is a block diagram showing a functional configuration of the data recording device according to the first embodiment of the present invention.
  • FIG. 14 is an explanatory diagram of a method for rearranging data in a data recording unit in Embodiment 4 of the present invention.
  • 110 is a data recording device for instructing data recording
  • 120 is a semiconductor memory pack device for recording data.
  • the data recording device 110 is a device that records data in the semiconductor memory pack device 120, and is, for example, a personal computer, a video camera, a disk recorder, or a digital camera, but is not limited thereto.
  • the data recording device 110 includes hardware such as a CPU 111, a main memory 112, a force connector 113, and the like.
  • the CPU 111 controls the operation of the entire arithmetic processing unit.
  • the main memory 1 12 is a power connector 1 13 for temporarily storing data to be recorded in the semiconductor memory pack device 120, software for controlling the operation of the data recording device 110, and results of arithmetic processing by the CPU 111.
  • FIG. 13 is a block diagram showing a functional internal configuration of the data recording device 110.
  • 1102 is a control unit
  • 1103 is a memory
  • 1104 is input data IZF
  • 1105 is an encoder control unit
  • 1106 is an encoder
  • 1107 is a buffer control unit
  • 1108 is a buffer.
  • 1109 represents a file management unit
  • 110 represents a media I / F.
  • the control unit 1102 corresponds to the CPU 111 of FIG. 1 and uses the memory 1103 corresponding to the main memory 112 of FIG. Perform control.
  • the media I / F 111 is an interface with the semiconductor memory pack device 120 and corresponds to the force connector 113 in FIG.
  • Input data I 7F 1104 receives data input from outside c
  • Encoder control unit 110 5 receives data input from input data I / F 110 4 and controls encoder 1 106 Then, the encoded data is processed, and the encoded data is sent to the buffer control unit 107. Further, the encoder control unit 1105 can also acquire information from the encoder 1106 and transmit it to the control unit 1102.
  • the information from the encoder 1106 is, for example, when encoding video data to MP EG (Moving Pictures Encodings G roup), the information that 1 GOP (G roup Of Pictures) has been encoded. It is.
  • the notch control unit 11007 stores the encoded data received from the encoder control unit 11005 in another area in the buffer 11008 for each data type. Further, the buffer control unit 1107 monitors the amount of data stored in the buffer 111, and notifies the control unit 1102 when the amount of data reaches a predetermined amount. Upon receiving the notification, the control unit 1102 issues a data recording request to the file management unit 1109.
  • the file management unit 110 is generally called a “file system” as one of the functions of the operating system, and manages files recorded in the semiconductor memory pack device 120. .
  • the file management unit 110 reads the file system management information from the semiconductor memory pack device 120 via the media IZF 110 and stores it in the memory 111.
  • the file management unit 1109 Upon receiving a data recording request from the control unit 1102, the file management unit 1109 refers to the file system management information. A free area is searched for, and if found, a recording command is issued to the semiconductor memory pack device 120 so that data is recorded in that area.
  • the file management unit 1109 writes the information of the recorded data, such as the recording position and the data amount, to the file system management information stored in the memory 1103.
  • the semiconductor memory pack device 120 is composed of a semiconductor memory card 123 to 126 using a flash memory and a multi-card access control unit 12 for controlling these four semiconductor memory cards 123 to 126. 1 and a memory memory 122 for temporarily storing data to be recorded in the memory 123. Note that numbers # 1 to # 4 are assigned to the semiconductor memory cards 123 to 126, respectively.
  • FIG. 3 shows a state in which the logical addresses of the four semiconductor memory cards 123 to 126 are mapped to consecutive logical addresses of the semiconductor memory pack device 120, and the continuous logical addresses of the semiconductor memory pack device 120.
  • the figure shows a state in which a cluster which is a data management unit of the file management unit 1109 is allocated to the logical address to be managed.
  • the mapping method of the logical addresses of the semiconductor memory cards 123 to 126 is as follows. In other words, the four semiconductor memory cards 123 to 126 built in the semiconductor memory pack device 120 are interleaved for each erase block size (16 KB), and the semiconductor memory power is reduced.
  • the sequential logical addresses of the semiconductor memory pack device 120 are mapped onto the numbers # 1 to # 4 in the order of numbers 123 to 126.
  • the size of the cluster 305 which is a data management unit of the file management unit 1109 of the recording device 110, matches the data recording unit. In other words, one class is assigned to a continuous 64 KB logical address of the semiconductor memory pack device 120.
  • the recording operation of the data recording device 110 when the cluster size is set to 64 KB will be described.
  • the file management unit 110 is realized by software for controlling the operation of the CPU 111.
  • the file management unit 1109 divides the data to be recorded in the semiconductor memory pack device 120 into the same size (64 KB in this case) as the cluster that is the data management unit.
  • the file management unit 1109 further searches a free space for one cluster from the memory space of the semiconductor memory pack device 120, and finds a logical address of the found free space and data to be recorded, and stores the data in a recording command. With the semiconductor memory pack device 120.
  • the semiconductor memory pack device 120 Upon receiving the recording command from the data recording device 110, the semiconductor memory pack device 120 temporarily stores the data for one cluster to be recorded in the work memory 122 together with the recording command. Further, in the semiconductor memory pack device 120, the multi-address access control unit 121 shown in FIG. 3 shows the logical address of the semiconductor memory pack device 120 specified together with the recording command. As shown in the figure, the semiconductor memory card is converted into individual logical addresses of 123 to L26. Further, the multi-card access control unit 121 further stores the individual logical addresses of the semiconductor memory cards 123 to 126 obtained by this conversion temporarily in the work memory 122. Cluster data is distributed and recorded simultaneously in parallel.
  • one cluster which is the minimum unit for managing data by the file management unit 1109 of the data recording device 110, is assigned to the four memory units included in the semiconductor memory pack device 120.
  • Semiconductor memory card eraser By matching the total block size (64 KB), the occurrence of read-modify-write, which has been an obstacle to high-speed recording, is prevented, and as a result, the number of times of rewriting of semiconductor memory cards is reduced. It becomes possible to do. Also, since the semiconductor memory pack device 120 simultaneously records data on four built-in semiconductor memory cards 123 to 126 in parallel, only one semiconductor memory card can be used. In comparison, data can be recorded four times faster.
  • the semiconductor memory pack device of the type incorporating four semiconductor memory cards operating in parallel has been described as an example.
  • the semiconductor memory pack device embedded in the semiconductor memory pack device is described.
  • the number of conductive memory cards is not limited to four.
  • a configuration may be adopted in which four semiconductor memory cards are built in, and two of them operate in parallel.
  • an example in which four erase blocks are assigned to one cluster has been described.
  • the number of erase blocks is an integral multiple of the total number of erase blocks of the semiconductor memory card incorporated in the semiconductor memory pack device, not four.
  • the size of the erase block is not limited to 16 KB.
  • the shape of the built-in semiconductor memory is not limited to a card shape, and the semiconductor memory mounted in a chip shape is also included in the technical scope of the present invention.
  • a configuration in which a plurality of semiconductor memory cards operate in parallel in a semiconductor memory pack device has been described as an example.
  • a configuration in which a plurality of flash memories in a semiconductor memory card operate in parallel is described.
  • the present invention can also be applied. That is, the total size of the erase blocks of a plurality of flash memories operating in parallel may be made to match the size of one class, which is the minimum unit by which the file management unit 1109 manages the data. (Embodiment 2)
  • FIGS. Components having the same functions as those described in the first embodiment are denoted by the same reference numerals as those in the first embodiment, and detailed description thereof will be omitted.
  • FIG. 4 shows a state in which the logical addresses of the four built-in semiconductor memory cards 123 to 126 are mapped to successive logical addresses of the semiconductor memory pack device 120, and the semiconductor memory pack device 120
  • the figure shows a state in which clusters, which are data management units of the file management unit 110, are assigned to continuous logical addresses.
  • Semiconductor memory pack device 120 Four semiconductor memory cards 12 3 to 126 built in 20 are interleaved with each other according to the size of erase program (16 KB). The consecutive logical addresses of the semiconductor memory pack device 120 are mapped on the devices arranged in the order of # 1 to # 4.
  • the size of the cluster which is the data management unit of the file management unit 110 of the data recording device 110, and the data recording unit are selected so as to have a common multiple relationship.
  • the size of one cluster is 16 KB. The following describes the operation when the class size is set to 16 KB.
  • the file management unit 110 is realized by software for controlling the operation of the CPU 111.
  • the file management unit 110 divides data to be recorded in the semiconductor memory pack device 120 into a class size (16 KB), which is a data management unit. Up to this point, the method is the same as the conventional data recording method.
  • the semiconductor memory pack device 120 Upon receiving the recording command from the data recording device 110, the semiconductor memory pack device 120 temporarily stores the data of the four clusters in the work memory 122. At the same time, the multi-card access control unit 121 transfers the logical address of the semiconductor memory pack device 120 specified together with the recording command to the semiconductor memory pack device 120 as shown in FIG. This is converted into individual logical addresses of the four built-in semiconductor memory cards 123 to 126. Furthermore, the cluster data temporarily stored in the block memory 122 is divided into four, and the logical addresses of the semiconductor memory cards 123 to 126 obtained by the above conversion are simultaneously processed in parallel. Record.
  • the file management unit 1109 of the data recording device 110 does not perform recording in units of one cluster (16 KB), which is the minimum unit for managing data. It is recorded in units of four clusters (64 KB), which is a common multiple of the total size (64 KB) of the erase blocks of the four semiconductor memory modules 123 to 126 built in (64 KB) and one cluster (16 KB).
  • the semiconductor memory pack unit 120 records data in parallel to four built-in semiconductor memory cards simultaneously, so data is recorded four times faster than when only one semiconductor memory card is used. can do.
  • the second embodiment an example of a semiconductor memory pack device of a type in which four semiconductor memory cards are incorporated has been described.
  • the number of semiconductor memory cards incorporated in the body memory pack device is not limited to four, and the same can be applied to a configuration in which a plurality of semiconductor memory cards are incorporated. It is not necessary for all the built-in semiconductor memory cards to operate in parallel. For example, four semiconductor memory cards may be built in and two of them may operate in parallel.
  • an example has been described in which four erase blocks are allocated to four classes. However, the common multiple of the total size of the erase blocks and the cluster size of the semiconductor memory card incorporated in the semiconductor memory device is described.
  • a similar effect can be obtained by recording only the data of the same file in one data recording unit using the data as a recording unit.
  • the built-in semiconductor memory is not limited to a card shape, and a semiconductor memory mounted in a chip shape is also included in the technical scope of the present invention.
  • a configuration in which a plurality of semiconductor memory cards operate in parallel in a semiconductor memory pack device has been described as an example.
  • a configuration in which a plurality of flash memories in a semiconductor memory card operate in parallel is described.
  • the present invention can be applied to such cases. That is, the common multiple of the total size of the erase blocks and the cluster size of a plurality of flash memories operating in parallel may be set as the data recording unit of the file management unit 1109.
  • FIGS. Figure 5 shows the relationship between the consecutive logical addresses of the semiconductor memory pack device 120 and the erase blocks (16 KB) of the four semiconductor memory cards 123 to 126 mapped to this logical address.
  • the total size of the erase block of the semiconductor memory capacity 1 2 3 to 1 2 6 (16 KBX 4 64 K) and the data management unit of the file management unit 1 109 Class evening size (16 KB)
  • the file management unit 1109 of the data recording device 110 of the present embodiment records the data unless there is at least four clusters of continuous free space because the data recording unit is four classes. do not do.
  • the data recording unit 501 of the semiconductor memory pack device 120 it is determined that data can be recorded because all four consecutive clusters are empty areas. Since there is one recorded cluster in the unit 502, the remaining three classes are not used for recording.
  • the present embodiment by searching for an empty area in data recording units (64 KB), recording is performed so that the alignment of the logical address for recording four clusters at a time always matches the boundary of 64 KB. can do.
  • the boundaries between the erase blocks of the four semiconductor memory cards and the boundaries of the data recording unit do not match.
  • the result c Note it is possible to reduce the number of times of rewriting of the semiconductor memory card as, in the third embodiment, the semiconductor
  • the semiconductor memory pack device of the type incorporating four memory cards has been described as an example, the number of semiconductor memory cards incorporated in the semiconductor memory pack device of the present invention is not limited to four.
  • the present invention can be similarly applied as long as the configuration incorporates a plurality of semiconductor memory cards. It is not necessary that all the built-in semiconductor memory cards operate in parallel. For example, four semiconductor memory cards may be built in and two of them may operate in parallel.
  • Embodiment 3 describes an example in which four erase blocks are assigned to four class blocks. However, if the operation is performed so that the total size of the erase block of the semiconductor memory card built in the semiconductor memory card device and the common multiple of the cluster size are used as the data recording unit, and an empty area is searched in the data recording unit, Similar effects can be obtained. Furthermore, the size of the erase block is not limited to 16KB.
  • the built-in semiconductor memory is not limited to a card shape, and may be mounted in a chip shape, which is also included in the technical scope of the present invention.
  • FIGS. 6 and 7 show the relationship between the erase blocks (16 KB) of the four semiconductor memory cards 123 to 126 mapped to consecutive logical addresses of the semiconductor memory pack device 120, and four parallel blocks. Operate semiconductor memory cards 123 to 126
  • the total size of erase blocks (16 BX4 64K) and the file management unit 1 109
  • Data management unit 4 clusters, which is a common multiple of the class size (16 KB) (64KB) is shown as a data recording unit.
  • Fig. 6 shows an example in which files are allocated in cluster units by the conventional file system.
  • the cluster is the minimum unit of data management, and even if recorded as shown in Fig. 6, there is no inconsistency as a file.
  • the data of file # 1 exists only in semiconductor memory card # 1 built in semiconductor memory pack device 120, and four semiconductor memory cards 123 to 126 are stored. This is because they cannot be read out by operating in parallel.
  • FIG. 6 shows an example in which files are allocated in cluster units by the conventional file system.
  • the cluster is the minimum unit of data management, and even if recorded as shown in Fig. 6, there is no inconsistency as a file.
  • the data of file # 1 exists only in semiconductor memory card # 1 built in semiconductor memory pack device 120, and four semiconductor memory cards 123 to 126 are stored. This is because they cannot be read out by operating in parallel.
  • FIG. 6 shows an example in which files are allocated in cluster units by the conventional file system.
  • the cluster is the minimum unit of data management, and even if recorded
  • the cluster size is the same as that of FIG. 6, but inside the data recording unit of the semiconductor memory pack device 120, only the data of the same file is recorded.
  • FIG. 7 for example, when reading the data of file # 1, four semiconductor memory cards 123 to 126 can operate in parallel, and the semiconductor memory card Data can be read at 4x speed compared to the case of only one sheet.
  • data of a file recorded in a cluster size smaller than the data recording unit of the semiconductor memory pack device 120 is transferred to the semiconductor memory pack device 12 as shown in FIG.
  • Data is recorded so as to maximize the effect of the parallel operation of the semiconductor memory pack device 120 by rearranging the data recording unit of 0 so that only the data of the same file is included in the unit.
  • This recording operation can be performed only by rearranging the data in cluster units, and the recorded file can be read at high speed.
  • FIG. 14 shows an example of a method for performing the sorting.
  • files # 1 to # 4 are recorded for each cluster.
  • high-speed reading using the parallel operation of the semiconductor memory pack device 120 cannot be performed. Therefore, the individual clusters are read out to a temporary buffer, the class of the same file is selected, and the data is re-recorded in the same recording unit of the semiconductor memory pack device 120, thereby executing the rearrangement.
  • the temporary buffer the main memory 112 of the data recording device 110 or the work memory 122 of the semiconductor memory pack device 120 can be used.
  • the reordering process can be executed. This After such a rearrangement, the file can be read and written at high speed by using the parallel operation of the semiconductor memory pack device 120.
  • the above-described rearrangement of the recording data may be performed, for example, when the semiconductor memory pack device 120 is connected to the data recording device 110, or when the data recording device 110 performs a specific operation. It may be performed automatically at a predetermined timing.
  • the specific operation for example, when the data recording device 110 is a digital camera or a video camera, every time the photographing is completed, the case can be considered.
  • the semiconductor memory pack device of the type incorporating four semiconductor memory cards has been described as an example in the fourth embodiment, the number of semiconductor memory cards incorporated in the semiconductor memory pack device of the present invention is not limited to four.
  • the present invention can be similarly applied as long as the configuration incorporates a plurality of semiconductor memory cards. It is not necessary for all the built-in semiconductor memory cards to operate in parallel. For example, four semiconductor memory cards may be built in and two of them may operate in parallel.
  • an example has been described in which four erase blocks are allocated to four clusters.However, the total size of the erase blocks of the semiconductor memory card incorporated in the semiconductor memory pack device and the common multiple of the cluster size are calculated as follows.
  • the same effect can be obtained by rearranging the data recording unit so that only the data of the same file is included, and the size of the erase block is not limited to 16 KB.
  • the built-in semiconductor memory is not limited to a card shape, and a semiconductor memory mounted in a chip shape is also included in the technical scope of the present invention.
  • FIGS. 8 and Fig. 9 show the configuration of the FAT file system. It will be described using FIG.
  • the management information and the user data area of the file system are arranged on the logical medium of the storage medium as shown in FIG. In FIG. 9, the top part of the figure represents logical sector 0.
  • a boot sector is recorded.
  • the boot sector information on the entire volume and information on the location of management information such as the FAT and root entry required to read the file written in the user data area are recorded.
  • FIG. 12 shows information specified in the ISO 9293 9 as information to be described in the boot section.
  • a reserved area may be provided between the FAT that describes the file allocation information in the user data area and the boot sector. The number of sectors in the reserved area is described in the boot sector.
  • Information about the file recorded in the root directory is listed after the sector immediately after one or more FATs.
  • Information about a file is called a file entry and is managed in 32-byte units.
  • the file entry contains the file name, file creation time, file size, file length, and the first cluster number where the file is stored.
  • the maximum number of file entries placed in the root directory (the number of root directory items) is described in the boot sector, and an area having a size according to that value is used as the root directory entry. Reserved in advance. The number of root directory items is described in the boot section.
  • the sector immediately after the root directory entry is the user data area.
  • the user data area is managed in units called clusters, which group one or more consecutive sectors, and all clusters are numbered sequentially from the top.
  • the FAT has a FAT entry corresponding to each cluster.
  • a method of recording a file in the user data area will be described with reference to FIG.
  • a file 1001 to be recorded has a size corresponding to four clusters in the user data area.
  • the file system finds four FAT entries in which a special bit string indicating unassigned (0 X 00 in the case of the FAT 16 file system) is recorded. If it is found that the FAT entry (1002 to 1005) corresponding to the Ath, Bth, Cth, and Dth clusters has a bit string indicating unassigned, The file system divides the file into four classes A to D in the user data area and records them. Further, in order to record the relationship between the four classes, the number of the next cluster in which the file is recorded, that is, the number B is recorded in the entry 1002 corresponding to the cluster A of the FAT.
  • the number C is recorded in the FAT entry 1003 corresponding to the cluster ⁇
  • the number D is recorded in the FAT entry 1004 corresponding to the cluster C.
  • the FAT entry 1005 corresponding to the last cluster where the file was recorded (in this example, class D)
  • a special bit string indicating the end of the file (0 XFF in the FAT 16 file system) is stored. Record.
  • a file system that uses 12 bits per FAT entry is called a FAT 12 file system
  • one that uses 16 bits is called a FAT 16 file system
  • one that uses 32 bits is called a FAT 32 file system.
  • the size S F of the space allocated to the entire FAT is described in bits 23 to 24 of the boot sector (FIG. 12). Furthermore, the number FE of valid FAT entries included in this space is calculated from the following [Equation 1] using the total number TS of sectors described in 33 to 36 bits of the boot sector. .
  • RSC represents the number of reserved sectors
  • SF represents the number of sectors per FAT
  • RDE represents the number of items in the root directory
  • SS represents the number of bytes in the sector data field
  • SC represents the number of sectors per class evening.
  • the function ⁇ p (X) represents the integer part of X
  • the function ⁇ p (x) represents the smallest integer greater than x.
  • (TS-RSC-SF-cei 1 (32 XRD E / SS)) is a value obtained by subtracting the number of sectors in the management area from the total number of sectors, that is, the number of sectors in the user data area. By dividing this by s C and taking the integer part 5, the number of classes that can be secured in the user data overnight area can be calculated. In addition to the two, special FAT chain related to management area This is to secure birds.
  • the FAT file system is a widely used file system
  • some operating systems [specify the lower limit of the effective class number calculated by Equation 1 ⁇ . This makes it possible to reduce the class size and increase the total number of clusters when using a storage medium with a certain capacity or less, that is, a storage medium having only the total number of sectors TS below a certain value in the FAT file system. I have to take it.
  • the storage medium is a semiconductor memory pack device, it may not be easy to change the class size due to the desire to match the cluster size with the erase block of the semiconductor memory pack device. Therefore, a small-capacity storage medium with a cluster size limit cannot be used in an operating system with a cluster number lower limit.
  • the total number of sectors of the boot sector TS is avoided by describing a value larger than the number.
  • the restricted operating system can handle the small-capacity storage medium.
  • L S is the lower limit of the number of clusters determined by the operating system.
  • Equation 2 is the solution of [Equation 1] as LS and solving for TS. Is derived by
  • the FAT entries in the FAT are associated with those that can be associated with the actually existing classes and the actual classes. Something is impossible.
  • N is the number of clusters actually existing in the user data area
  • M is the number of effective clusters calculated by the total class number TS.
  • FAT entries 1 to N are FAT entries 801 that can be associated with real clusters
  • N + 1 to M are FAT entries 802 that cannot be associated with real clusters. .
  • the values of all bits 1 indicating the end of the file are described in advance in all the FAT entries 802 that cannot be associated with an existing cluster. .
  • a bit string indicating unallocated is described in the FAT entry 802, which cannot be associated with an existing class. This is because an error may occur when trying to write data in a class where the file system does not exist. If the file system searches for free space on the file to write a file by pretending that data has already been allocated to the class pointed to by FAT entry 802, which cannot be associated with a real cluster, A cluster that does not exist does not become a write target.
  • bit string to be inserted into the F ENT 802 that cannot be associated with a real class is set to the bit string indicating the end of the file. Anything can be used.
  • FIG. 11 is a block diagram illustrating a configuration of a data recording device according to the sixth embodiment.
  • 1101 is a data recording device
  • 1102 is a control unit
  • 1103 is a memory
  • 1104 is an input data I / F
  • 1105 is an encoder control unit
  • 1106 is an encoder
  • 1107 is a buffer control unit
  • 1108 is a buffer
  • 1109 is a file management unit
  • 1110 is a media IF
  • 1111 is a medium.
  • the medium 111 is the semiconductor memory pack device 120 described in the first embodiment and the like.
  • the control unit 1102 uses the memory 1103 to store the data Perform the overall control of 1.
  • Input data IZF1104 receives externally input data.
  • the encoder control unit 1105 receives the data input from the input data IZF 1104, controls the encoder 1106 to perform an encoding process on the data, and the buffer control unit 1107 Send the data encoded in. In addition, the encoder control unit 1105 can also acquire information from the encoder 1106 and transmit the information to the control unit 1102.
  • the information from the encoder 1106 means, for example, that when video data is encoded into an MPEG (Moving Pictures Encoding Group), the encoding of 1 GOP (Group of Pictures) is performed. Information such as completion.
  • the buffer control unit 11007 stores the encoded data received from the encoder control unit 1105 in another area in the buffer 1108 for each data type. . Further, the buffer control unit 1107 monitors the amount of data stored in the buffer 1108, and notifies the control unit 1102 when the amount reaches a predetermined amount. Upon receiving the notification, the control unit 1102 issues a data recording request to the file management unit 1109.
  • the file management unit 1109 manages files recorded on the medium 111.
  • the file management unit 111 reads the file system management information from the medium 111 via the medium I / F 110, and stores it in the memory 1103.
  • the file management unit 1109 Upon receiving a data recording request from the control unit 1102, the file management unit 1109 refers to the file system management information to search for an empty area, and if found, records the data in that area. Issue a command to media 1 1 1 1.
  • the file management unit 1109 writes the information of the recorded data such as the recording position / data amount to the file system management information stored in the memory 1103. Get in.
  • the file system management information stored in the memory 111 must be periodically written back to the medium 111. This is because there is a possibility that an unexpected situation may occur, such as when the power of the recording device 111 is turned off. If the file system management information is not written back to the media 1 1 1 1, there is no way to know the recording position or data amount of the data recorded so far, and it will be the same as the state where no data has been recorded.
  • the file system management information is frequently written back to the medium 1 1 1 1, the number of times of rewriting may soon exceed the number of times of rewriting if the medium has a maximum number of times of rewriting.
  • the access efficiency of the media 111 decreases. Therefore, it is important to write the file system management information back to the media 111 at an appropriate timing.
  • the following describes two examples of the timing of writing back the file system management information: the case where audio data and video data are recorded simultaneously in separate files, and the case where audio data and video data are recorded in one file.
  • audio data and video data are recorded in separate files, they are not simultaneously recorded on the media 1111, even if they are input to the recording device 1101 at the same time. This is because the bit rate of the video data is higher than the bit rate of the audio data, so the video data stored in the buffer 110 reaches a predetermined amount earlier than the audio data, and the video data is recorded first. is there. Since audio data and video data form a clip as a set, even if only video data is recorded on media 1 1 1 1, the video data usually means It will be something without.
  • the file system management information is also written on the media 111 each time the audio data is recorded on the media 111. I will put it back. In other words, recording the data with the lowest bit rate is used as a trigger to write back the file system management information.
  • the notch control unit 1107 monitors the notch 1101 for each data type, and notifies the control unit 1102 when the data reaches a predetermined amount. I do.
  • the control unit 1102 knows the data having the lowest bit rate among the data currently being recorded. In this example, the audio data is the data with the lowest bit rate.
  • the control unit 1102 notifies the file management unit 1109 of the recording request of the audio data and the file. Issues a system management information update request.
  • the “predetermined amount” described above refers to the total size of erase blocks of the semiconductor memory cards 123 to 126 operating in parallel in the media 111 (semiconductor memory pack 120) and the file management unit. When a common multiple of the data management size of 1109 is used as the data recording unit, it is an integral multiple of the data recording unit.
  • the data When recording an MPEG system stream, the data is a single GOP Inter-frame compression is completed at the highest level, and even if data is recorded in units shorter than 1 GOP, it cannot be decoded and reproduced normally. Teeth passes, at the c
  • the present embodiment does not make sense in most cases be written back the management information of the file system on the media recording stages of data within 1 GOP, one MPEG system stream file
  • the data When the data is recorded on the media as an integer, it operates to update the file system management information at the stage when the data is recorded by an integral multiple of 1 GOP. This prevents the management information of the file system from being rewritten more than necessary, and extends the rewriting life of the media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

並列動作するフラッシュメモリを複数枚内蔵した半導体メモリパック装置に対して、高速にデータを記録することができるデータ記録装置である。並列に記録動作する複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してデータを記録するデータ記録装置において、前記半導体メモリパック装置へ記録すべきデータをファイルとして管理するファイル管理部を備え、前記ファイル管理部が、前記半導体メモリパック装置へ供給するデータのデータ記録単位を、前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズと、当該ファイル管理部におけるデータ管理サイズ(クラスタサイズ)との公倍数とする。

Description

データ記録装置 技術分野
本発明は、 半導体メモリ媒体を用いて映像や音声を記録、 再生する装 置に関する。
背景技術
近年、 フラッシュメモリを利用した半導体メモリカードが普及しつつ ある。 フラッシュメモリは、 電気的にデータの記録や消去が可能であり、 電源を切っても、 記録されたデータが保持される不揮発メモリである。 半導体メモリカードは、 従来のテープ装置やディスク装置に必要だった 機械的な駆動部分が無いため、 小型 ·軽量で衝撃にも強く、 ディジタル カメラなど様々な用途に使用されている。 しかしながら、 高品質の動画 や音声を記録するには、 半導体メモリカード 1枚あたりの記憶容量が小 さく、 また、 記録や再生のデータ転送レートが低いために、 この用途に は不十分である。
そこで従来例として、 複数の半導体メモリカードを組み合わせて、 記 憶容量と転送レートの向上を目的とした半導体メモリパック装置がある。 例えば、 特開 2 0 0 0 - 2 0 7 1 3 7号公報に開示された半導体メモ リパック装置では、 複数枚の半導体メモリカードに対して同時にデータ を記録できるため、 記録の転送レ一トを高速化できる。
一般に、 従来の半導体メモリカードの多くは、 内部にフラッシュメモ リを備えており、 消去ブロックと呼ばれる一定のサイズのデータが、 電 気的に一括消去される特徴を持っている。 ここで、 消去ブロックのサイ ズに満たないデータを記録する場合、 一度そのプロックのデ一夕を読み 出して保持し、 ブロックのデータを一括消去し、 保持していたデ一夕を 部分的に記録データに更新して、 ブロックに書き戻すことになる。 この ような動作は、 リード ·モディファイ · ライトと呼ばれるが、 記録動作 が複雑になり、 記録の転送レートが低下する原因となる。 高い転送レー トでデ一夕を記録するには、 このような消去ブロックに対する部分的な データ更新を避けるため、 記録するデータのサイズを消去プロックと同 じサイズか、 または、 その整数倍のサイズにして、 さらに記録するアド レスを消去ブロックの先頭に合わせる必要がある。
特開 2 0 0 0— 2 0 7 1 3 7号公報に示されたような複数枚の半導体 メモリカードを組み合わせた半導体メモリパック装置では、 複数枚の半 導体メモリカードに同時にデータを記録するため、 半導体メモリカード 1枚あたりの消去ブロックのサイズを、 さらに複数枚の分だけ積算した サイズでデータを記録することになる。 以上のように、 半導体メモリ力 ードを複数枚使った記録装置において、 高い転送レートでデ一夕を記録 するためには、 1回の記録動作で記録するデータサイズを大きくする必 要がある。
一方で、 記録したデータをファイルとして管理するには、 一般にファ ィルシステムと呼ばれるデータ管理手段や管理方法が必要である。 ファ ィルシステムは、 一般にセクタやクラス夕といった所定のデータサイズ を単位としてファイルを管理する。 しかし、 一般にセクタやクラス夕の サイズは小さいため、 前述のような大きなデータ単位を扱うには、 1セ クタや 1クラス夕ではサイズが不足することがある。 このような場合、 ファイルシステムは、 連続した複数個のセクタや、 連続した複数個のク ラス夕を、 まとめて上記の装置へ記録する必要がある。
しかしながら、 半導体メモリカードを用いた従来の半導体メモリパッ ク装置では、 記録データの単位と、 ファイルシステムが管理するデータ の単位が一致しない場合、 種々の課題を有していた。 以下、 この課題に ついて、 図 2を用いて詳細に説明する。
図 2 (a) 〜図 2 (c) は、 従来の半導体メモリパック装置における 記録領域を示した図である。 図 2において、 20 1は管理単位を表す。 管理単位とは、 ファイルシステムのセクタやクラス夕に相当する。 20 2から 2 1 2までは、 いずれも 2 0 1と同じサイズの管理単位を表して いる。 また、 図 2 (a) において消去ブロック 2 20は、 管理単位 20 1から 204で構成されており、 電気的に一括消去される単位を表して いる。 以下同様に、 消去ブロック 2 3 0は管理単位 2 0 5から 208で 構成され、 消去ブロック 240は管理単位 20 9から 2 1 2で構成され ている。 また、 図 2 (b) において、 記録領域 2 5 0はデータの記録時 に使用する記録領域を表しており、 記録領域 2 5 0は管理単位 203か ら 20 6で構成されている。 以下同様に、 記録領域 2 6 0は管理単位 2 0 7から 2 1 0で構成され、 図 2 (c) において、 記録領域 27 0は管 理単位 20 1から 2 04で構成され、 記録領域 2 8 0は管理単位 20 9 から 2 1 2で構成されている。 なお、 図 2 (b) において斜線で示され た管理単位 2 0 1と 202、 および、 図 2 (c) の管理単位 206は、 いずれも既にデータが記録済みの状態を表しており、 これらの管理単位 にはファイルが存在している。
以上のように表された図 2について、 以下、 従来の課題について説明 する。 図 2 (a) では、 管理単位 20 1から 2 1 2までが未使用な状態 であるとする。 この場合、 半導体メモリパック装置に対して最も高い転 送レートでデータを記録するには、 消去プロックの単位毎に連続ァドレ スでデ一夕を記録することが望ましい。 この理由は前述のように、 半導 体メモリ媒体のデータが消去ブロック単位で電気的に一括消去されるた め、 このブロックのサイズに合わせたデータ単位でデータを記録するこ とで、 リード ·モディファイ · ライトを防止できるためである。 さらに- 半導体メモリカードの種類によっては、 消去ブロック単位で、 かつ、 連 続ァドレスでデータ記録すると、 半導体メモリカードの内部で記録処理 の並列化を行う種類のカードもあり、 このような種類の媒体では、 さら に高い転送レートでデータが記録されることになる。 従って、 図 2 ( a ) における理想的な記録方法は、 管理単位 2 0 1から 2 0 4までを合計 したサイズのデ一夕を記録単位として、 消去ブロック 2 2 0、 2 3 0、 2 4 0の順番に連続して記録することで、 高い転送レートが実現される t しかしながら、 図 2 ( b ) では管理単位 2 0 1と 2 0 2に、 既に記録 済みのデ一夕がファイルとして存在している。 ファイルシステムは管理 単位のサイズでファイルを作成することができるため、 交換媒体では、 他のアクセス装置でこのような小さなファイルが作成されることがある c このような場合、 消去ブロックのサイズでデータを記録すると、 まず記 録領域 2 5 0にデータを記録し、 次に、 記録領域 2 6 0にデータを記録 することになる。 記録領域 2 5 0にデータを記録した場合、 実際にデー 夕が記録される管理単位 2 0 3と 2 0 4だけでなく、 既に記録済みの管 理単位 2 0 1と 2 0 2が同じ消去ブロックに含まれるため、 前述のリー ド ·モディファイ · ライ トが発生し、 記録の転送レートが低下する。 さ らに、 記録領域 2 6 0にデータを記録する時には、 1つ前の記録領域 2 5 0への記録動作のために、 管理単位 2 0 5と 2 0 6が記録済みの状態 になっている。 従って、 管理単位 2 0 7と 2 0 8に対する記録時にもリ 一ド ·モディファイ · ライトが発生し、 以下、 この現象が繰り返される ことになる。
このように、 データの記録単位を消去ブロックの単位に合わせても、 記録を開始するアドレスが、 消去ブロックの境界とずれていた場合、 リ 一ド ·モディフアイ · ライ卜が発生し、 記録の転送レートが低下する。 また、 図 2 ( b ) において記録領域 2 5 0にデータを記録する場合、 半導体メモリ媒体の内部では、 記録済みの管理単位 2 0 1と 2 0 2のデ —夕も、 一旦読み出し保持されて、 ブロックが一括消去された後に書き 戻される。 この過程の途中でノイズの混入や電源断などのエラーが発生 した場合、 既にデータが記録済みだった管理単位 2 0 1や 2 0 2のデー 夕も破壊される可能性がある。 このように、 リード ·モディファイ ' ラ イトが発生すると、 記録の転送レートが低下するだけでなく、 エラーの 発生時に、 記録済みのデ一夕が破壊される課題がある。
また、 図 2 ( c ) では、 管理単位 2 0 6に記録済みのデータが存在し ている。 このような場合、 まず記録領域 2 7 0に消去ブロックサイズと 同じサイズのデータを記録し、 次にリード ·モディファイ · ライトを避 けるために、 管理単位 2 0 6を含む消去ブロックにはデータを記録せず に、 次の消去ブロックに相当する記録領域 2 8 0、 すなわち、 管理単位 2 0 9から 2 1 2までの領域にデ一夕を記録する。 このような方法を採 れば、 リード ·モディファイ · ライトは発生しないが、 次のような課題 がある。
まず、 図 2 ( c ) では、 記録済みのデータが存在する管理単位 2 0 6 を避けるために、 管理単位 2 0 5と 2 0 7と 2 0 8は、 空き領域である にもかかわらず、 記録には使用されなかった。 このことは記録領域の無 駄使いを意味しており、 管理単位 2 0 5から 2 0 8のように、 部分的に 記録済みの管理単位を含んだ消去ブロックが多数存在した場合、 いわゆ るフラグメント状態となって、 高い転送レートでデータを記録するには これらの領域を記録に使用できないため、 記録媒体の容量を有効に利用 することができなくなる。
また、 図 2 ( c ) では記録領域 2 7 0と記録領域 2 8 0の間が空いて いるため、 アドレスが不連続になる。 アドレスが不連続になると、 前述 のように高い転送レートでデータを記録することができなくなる。
さらに、 一般のファイルシステムでは、 数セクタや数クラス夕を記録 する毎に、 ファイルの管理情報を更新する必要がある。 この管理情報と は、 例えばセクタやクラスタの使用状況を表すテーブルゃビッ卜マップ のデータ、 記録中のファイルのサイズなどの情報である。 ファイルの管 理情報をこまめに更新すると、 電源断などで記録が中断された場合でも、 なるべく電源断の直前に近い状態にファイルを修復することができる。 しかし、 フラッシュメモリ等を用いた半導体メモリ媒体は書換回数が有 限であり、 頻繁に管理情報を更新すると半導体メモリ媒体の書換寿命を 縮めることになる。
発明の開示
本発明は、 上記の課題に鑑み、 並列動作するフラッシュメモリを複数 枚内蔵した半導体メモリパック装置に対して、 高速にデータを記録する ことができるデータ記録装置を提供することを目的とする。
この課題を解決するために、 本発明のデータ記録装置は以下のような 手段を用いる。
第 1に、 本発明のデータ記録装置は、 並列に記録動作する複数のフラ ッシュメモリを内蔵する半導体メモリパック装置に対してデータを記録 するデータ記録装置において、 前記半導体メモリパック装置へ記録すベ きデータをファイルとして管理するファイル管理部を備え、 前記フアイ ル管理部が、 前記半導体メモリパック装置へ供給するデータのデータ記 録単位を、 前記複数のフラッシュメモリの消去ブロックサイズを合計し たサイズと、 当該ファイル管理部におけるデータ管理サイズとの公倍数 とすることを特徴とする。 これにより、 従来から高速記録の障害となってきたリード ·モディフ アイ · ライトの発生を防止し、 結果として、 半導体メモリカードの書き 換え回数を低減することが可能になる。
第 2に、 本発明のデータ記録装置は、 前記第 1の構成において、 前記 複数のフラッシュメモリの消去ブロックサイズを合計したサイズの整数 倍をデータ記録単位として、 前記ファイル管理部のデータ管理単位が、 前記デー夕記録単位と同一サイズであることが好ましい。
これにより、 従来から高速記録の障害となってきたリード ·モディフ アイ · ライトの発生を防止し、 結果として、 半導体メモリカードの書き 換え回数を低減することが可能になる。
第 3に、 本発明のデータ記録装置は、 前記第 1または第 2の構成にお いて、 前記ファイル管理部が、 前記データ記録単位内を同一ファイルの データとすることが好ましい。
このように、 データ記録単位内を同一ファイルのデータとすることに より、 前記複数のフラッシュメモリに同一ファイルのデータが並行に書 き込まれる。 従って、 このデ一夕をフラッシュメモリから読み出す場合 にも、 並列読み出しを行うことにより、 高速読み出しが可能となる。 第 4に、 本発明のデータ記録装置は、 前記第 1または第 2の構成にお いて、 前記ファイル管理部が、 前記半導体メモリパック装置に前記デー 夕記録単位に相当する空き容量がある場合にのみ記録を行うことが好ま しい。
これにより、 フラッシュメモリの消去ブロック境界とデータ記録単位 の境界とがミスマッチすることがないので、 従来から高速記録の障害と なってきたリード ·モディファイ · ライトの発生をより効果的に防止し、 結果として、 半導体メモリカードの書き換え回数を低減することが可能 になる。 第 5に、 本発明のデータ記録装置は、 前記第 1または第 2の構成にお いて、 前記ファイル管理部が、 前記データ記録単位内に異なるファイル のデータが記録されている場合、 前記データ記録単位内は同一ファイル のデータになるように記録データを並べ替えることが好ましい。
これにより、 従来から高速記録の障害となってきたリード ·モディフ アイ · ライトの発生を防止し、 結果として、 半導体メモリ力一ドの書き 換え回数を低減することが可能になる。 また、 データ記録単位内が同一 ファイルのデータとなるよう並べ替えることにより、 前記複数のフラッ シュメモリに同一ファイルのデータが並行に書き込まれる。 従って、 こ のデータをフラッシュメモリから読み出す場合にも、 並列読み出しを行 うことにより、 高速読み出しが可能となる。
第 6に、 本発明のデータ記録装置は、 前記第 1または第 2の構成にお いて、 前記半導体メモリパック装置が、 前記ファイル管理部のファイル 管理情報を記録する領域を有し、 前記ファイル管理部が、 音声デ一タフ アイルおよび映像データファイルの少なくとも 2つのファイルを同時に 並行して前記半導体メモリパック装置へ記録する場合、 前記半導体メモ リパック装置へ供給すべきデータとして蓄積している音声データの量が 前記デー夕記録単位の整数倍となつた時点で、 前記半導体メモリパック 装置に記録されている前記ファイル管理情報を更新することが好ましい c これにより、 従来から高速記録の障害となってきたリード ·モディフ アイ · ライ卜の発生を防止し、 結果として、 半導体メモリカードの書き 換え回数を低減することが可能になる。 また、 ビットレートが低い音声 データの記録を、 ファイル管理情報を書き戻すトリガにすることにより、 半導体メモリパック装置におけるファイル管理情報の書き換え回数を無 駄に増やすことがない。
第 7に、 本発明のデータ記録装置は、 前記第 1または第 2の構成にお いて、 前記ファイル管理部が、 M P E Gストリームをファイルに記録す る場合、 記録済みのデータが 1 G O Pの整数倍となった時点で、 前記フ アイル管理部のフアイル管理情報を更新することが好ましい。
第 8に、 本発明のデータ記録装置は、 前記第 1または第 2の構成にお いて、 前記前記フラッシュメモリが、 半導体メモリカードとして前記半 導体メモリパック装置に装着されることが好ましい。
第 9に、 本発明のデータ記録装置は、 複数のフラッシュメモリを内蔵 する半導体メモリパック装置に対して F A Tファイルシステムに従って データを記録するデータ記録装置において、 前記半導体メモリパック装 置に実在するセクタ数と、 実在しない仮想的なセクタ数とを加えた総セ クタ数を前記 F A Tファイルシステムで管理するものとし、 前記実在し ない仮想的なセクタに対応するクラス夕の F A Tェントリに空き領域以 外の意味を持つ値を格納することによりデータ書き込み対象から除外す ることを特徴とする。
第 1 0に、 本発明のデータ記録装置は、 前記第 9の構成において、 前 記空き領域以外の意味を持つ値として、 ファイルの終端を意味する全ビ ットが 1の値を F A Tェントリに書き込むことが好ましい。
以上述べたように、 本発明によれば、 半導体メモリカードを複数枚内 蔵した半導体メモリパック装置に対して高速にデータを記録することが 可能になるとともに、 内蔵する半導体メモリ力一ドの書き換え寿命を長 くすることが可能となる。 図面の簡単な説明
図 1は、 本発明の実施の形態 1によるデータ記録装置および半導体メ モリパック装置の構成図である。
図 2は、 従来の半導体メモリパック装置における記録領域を示した図 である。
図 3は、 本発明の実施の形態 1によるデータ記録単位と消去ブロック. クラスタ割り当てを示した図である。
図 4は、 本発明の実施の形態 2によるデータ記録単位と消去ブロック、 クラスタ割り当てを示した図である。
図 5は、 本発明の実施の形態 3によるデ一夕記録単位と消去ブロック, 空きクラスタを示した図である。
図 6は、 本発明の実施の形態 4における並べ替え前のデータ記録単位 とファイルの記録配置を示した図である。
図 7は、 本発明の実施の形態 4における並べ替え後のデータ記録単位 とファイルの記録配置を示した図である。
図 8は、 本発明の実施の形態 5による実時間データファイルの再生方 法のブロック図である。
図 9は、 本発明の実施の形態 5による実時間データファイルの再生方 法のブロック図である。
図 1 0は、 本発明の実施の形態 5による実時間データファイルの再生 方法のプロック図である。
図 1 1は、 本発明の実施の形態 6による実時間データファイルの再生 方法のプロック図である。
図 1 2は、 I S〇Z I E C 9 2 9 3で定められた F A Tのブートセク 夕を示す図である。
図 1 3は、 本発明の実施の形態 1にかかるデータ記録装置の機能的な 構成を示すブロック図である。
図 1 4は、 本発明の実施の形態 4においてデ一夕記録単位内のデータ を並べ替える方法の説明図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態について、 図面を参照して説明する。
(実施の形態 1)
はじめに、 図 1を参照し、 本発明の一実施形態にかかるデータ記録装 置および半導体メモリパック装置の構成について説明する。 図 1におい て、 1 10はデータの記録を指示するデータ記録装置、 120はデータ が記録される半導体メモリパック装置である。 データ記録装置 110は、 半導体メモリパック装置 120にデータを記録する装置であって、 例え ば、 パーソナルコンピュータ、 ビデオカメラ、 ディスクレコーダ、 また は、 ディジタルカメラ等であるが、 これらにのみ限定されない。 データ 記録装置 1 10は、 ハ一ドウエアとしては、 C P U 1 1 1、 主記憶 1 1 2、 力一ドコネクタ 1 13などを備えている。 C PU 1 11は、 演算処 理ゃ装置全体の動作制御を行う。 主記憶 1 12は、 半導体メモリパック 装置 120に記録するデータや、 データ記録装置 1 10の動作を制御す るソフトウェア、 C PU 1 11による演算処理結果を一時的に記憶する 力一ドコネクタ 1 13は、 データ記録装置 1 10と半導体メモリパック 装置.120とを接続するためのコネクタである。
次に、 図 13を用いて、 本実施形態のデータ記録装置 1 10の機能的 な構成について説明する。 図 13は、 データ記録装置 1 10の機能的な 内部構成を示すブロック図である。 図 1 3において、 1 102は制御部、 1 103はメモリ、 1 104は入力データ I ZF、 1 105はェンコ一 ダ制御部、 1 106はエンコーダ、 1 107はバッファ制御部、 1 10 8はバッファ、 1 109はファイル管理部、 1 1 10はメディア I/F を表している。
制御部 1 102は、 図 1の CPU1 1 1に対応し、 図 1の主記憶 1 1 2に対応するメモリ 1 103を用いて、 データ記録装置 1 10の全体の 制御を行う。 メディア I / F 1 1 1 0は、 半導体メモリパック装置 1 2 0とのインタフェースであり、 図 1の力一ドコネクタ 1 1 3に対応して いる。
入力データ I 7F 1 1 04は、 外部から入力されたデータを受け取る c エンコーダ制御部 1 1 0 5は、 入力データ I /F 1 1 04から入力され たデータを受け取り、 エンコーダ 1 1 0 6を制御してそのデータのェン コード処理を行い、 バッファ制御部 1 1 0 7にエンコードされたデータ を送る。 また、 エンコーダ制御部 1 1 0 5は、 エンコーダ 1 1 0 6から の情報を取得して、 制御部 1 1 02に伝えることもできる。 エンコーダ 1 1 06からの情報とは、 例えばビデオデ一夕を MP E G (M o v i n g P i c t u r e s c o d i n g E x p e r t s G r o u p) にエンコードする場合、 1 GOP (G r o u p O f P i c t u r e s ) のエンコードを完了したという情報などである。
ノ ツファ制御部 1 1 07は、 ェンコ一ダ制御部 1 1 0 5から受け取つ た、 エンコードされたデ一夕を、 データの種類毎にバッファ 1 1 08内 の別の領域に格納する。 また、 バッファ制御部 1 1 0 7は、 バッファ 1 1 0 8に蓄えられたデータの量を監視しており、 所定量に達した時には 制御部 1 1 02に通知する。 制御部 1 1 02はその通知を受け取ると、 ファイル管理部 1 1 0 9にデータ記録要求を出す。
ファイル管理部 1 1 09は、 一般的にはオペレーティングシステムの 機能の一つとして 「ファイルシステム」 と称されているものであり、 半 導体メモリパック装置 1 20に記録されているファイルの管理を行う。 ファイル管理部 1 1 09は、 半導体メモリパック装置 1 20からメディ ァ I ZF 1 1 1 0を介して、 ファイルシステム管理情報を読み込み、 メ モリ 1 1 0 3に格納する。 制御部 1 1 0 2からのデータ記録要求を受け ると、 ファイル管理部 1 1 0 9は、 ファイルシステム管理情報を参照し て空き領域を探し、 見つかればその領域にデ一夕を記録するように、 半 導体メモリパック装置 1 2 0に記録コマンドを発行する。 またこの処理 と同時に、 ファイル管理部 1 1 0 9は、 記録位置やデータ量などの記録 したデータの情報を、 メモリ 1 1 0 3に格納されているファイルシステ ム管理情報に書き込む。
半導体メモリパック装置 1 2 0は、 フラッシュメモリを用いた半導体 メモリカード 1 2 3〜 1 2 6と、 これら 4枚の半導体メモリカード 1 2 3〜 1 2 6を制御するマルチカードアクセス制御部 1 2 1と、 メモリ力 —ド 1 2 3〜 1 2 6へ記録するデータを一時記憶するワークメモリ 1 2 2とを備えている。 なお、 半導体メモリカード 1 2 3〜 1 2 6には、 番 号 # 1〜# 4がそれぞれ割り当てられている。
次に、 図 3を用いて、 本実施形態のデ一タ記録装置 1 1 0によるデ一 夕記録動作を説明する。 図 3は、 半導体メモリパック装置 1 2 0の連続 する論理アドレスに、 4枚の半導体メモリカード 1 2 3〜 1 2 6の論理 アドレスをマッピングした状態、 および、 半導体メモリパック装置 1 2 0の連続する論理アドレスに対して、 ファイル管理部 1 1 0 9のデ一夕 管理単位であるクラスタを割り当てた状態について図示している。 半導体メモリカード 1 2 3〜 1 2 6の論理ァドレスのマッピング方法 は、 次のとおりである。 つまり、 半導体メモリパック装置 1 2 0に内蔵 される 4枚の半導体メモリカード 1 2 3〜 1 2 6を、 消去ブロックのサ ィズ ( 1 6 K B ) 毎にインタ一リーブし、 半導体メモリ力一ド 1 2 3〜 1 2 6の番号 # 1〜# 4の順番に並べたものに、 半導体メモリパック装 置 1 2 0の連続の論理ァドレスをマツビングする。 半導体メモリパック 装置 1 2 0に内蔵される 4枚の半導体メモリカード 1 2 3〜 1 2 6は、 並列に同時記録動作するので、 1 6 K B X 4 = 6 4 K Bの連続アドレス が、 半導体メモリパック装置 1 2 0へのデータ記録単位となる。 データ 記録装置 1 1 0のファイル管理部 1 1 0 9のデ一夕管理単位であるクラ スタ 3 0 5の大きさは、 前記データ記録単位と一致する。 すなわち、 1 クラス夕は、 半導体メモリパック装置 1 2 0の連続する 6 4 K Bの論理 アドレスに割り当てられる。 以下、 クラスタサイズを 6 4 K Bと定めた 場合のデータ記録装置 1 1 0の記録動作について説明する。
デ一夕記録装置 1 1 0において、 ファイル管理部 1 1 0 9は、 C P U 1 1 1の動作を制御するソフトウエアにより実現される。 ファイル管理 部 1 1 0 9は、 半導体メモリパック装置 1 2 0に記録すべきデータを、 デ一夕管理単位であるクラスタと同じサイズ (ここでは 6 4 K B ) に分 割する。 ファイル管理部 1 1 0 9は、 さらに、 半導体メモリパック装置 1 2 0のメモリ空間から 1クラスタ分の空き領域を検索して、 見つかつ た空き領域の論理ァドレスと記録すべきデータを、 記録コマンドと共に 半導体メモリパック装置 1 2 0に引き渡す。
半導体メモリパック装置 1 2 0は、 データ記録装置 1 1 0から記録コ マンドを受け取ると、 記録コマンドと共に、 記録すべき 1クラスタ分の データを、 ワークメモリ 1 2 2に一時記憶する。 また、 半導体メモリパ ック装置 1 2 0において、 マルチ力一ドアクセス制御部 1 2 1が、 記録 コマンドと一緒に指示された半導体メモリパック装置 1 2 0の論理アド レスを、 図 3で示したとおり、 半導体メモリカード 1 2 3〜: L 2 6の個 別の論理アドレスに変換する。 マルチカードアクセス制御部 1 2 1は、 さらに、 この変換によって得られた半導体メモリ力一ド 1 2 3〜 1 2 6 の個別の論理ァドレスに対して、 ワークメモリ 1 2 2に一時記憶された 1クラスタ分のデータを分散して、 並列に同時記録する。
以上、 本実施形態によれば、 データ記録装置 1 1 0のファイル管理部 1 1 0 9がデータを管理する最小単位である 1クラスタを、 半導体メモ リパック装置 1 2 0に内蔵される 4枚の半導体メモリカードの消去プロ ックの合計サイズ (6 4 K B ) と一致させることにより、 従来から高速 記録の障害となってきたリード ·モディフアイ · ライトの発生を防止し, 結果として、 半導体メモリ力一ドの書き換え回数を低減することが可能 になる。 また、 半導体メモリパック装置 1 2 0は、 内蔵する 4枚の半導 体メモリカード 1 2 3〜 1 2 6に対して並列に同時記録するため、 半導 体メモリカードが 1枚だけの場合に比べて、 4倍高速にデータを記録す ることができる。
なお、 実施の形態 1においては、 並列動作する半導体メモリカードを 4枚内蔵するタイプの半導体メモリパック装置を例に説明したが、 本発 明のデータ記録装置において半導体メモリパック装置に内蔵される半導 体メモリカードの枚数は 4枚に限定されない。 また、 内蔵する半導体メ モリカードのすべてが並列動作する必要は無い。 例えば、 4枚の半導体 メモリカードを内蔵して、 そのうち 2枚ずつが並列動作する構成として もよい。 また、 実施の形態 1においては、 4つの消去ブロックを 1つの クラスタに割り当てる例を説明したが、 半導体メモリパック装置に内蔵 する半導体メモリカードの消去ブロック合計の整数倍であれば、 4つで なくてもよいし、 消去ブロックのサイズが 1 6 K Bに限定されるもので もない。 内蔵する半導体メモリの形状はカード状に限定されず、 半導体 メモリがチップの形状で実装されるものも、 本発明の技術的範囲に含ま れる。
さらに、 実施の形態 1においては、 半導体メモリパック装置内で複数 の半導体メモリカードが並列動作する構成を例に説明したが、 例えば、 半導体メモリカード内の複数のフラッシュメモリが並列動作する構成に ついても本発明を適用できる。 すなわち、 並列動作する複数のフラッシ ュメモリの消去ブロックの合計サイズを、 ファイル管理部 1 1 0 9がデ 一夕を管理する最小単位である 1クラス夕のサイズと一致させれば良い。 (実施の形態 2)
本発明の他の実施形態について、 図 1および図 4を参照しながら説明 する。 なお、 実施の形態 1で説明した構成と同様の機能を有する構成に ついては、 実施の形態 1と同じ番号を付記し、 その詳細な説明を省略す る。
図 4は、 半導体メモリパック装置 1 2 0の連続する論理アドレスに、 内蔵する 4枚の半導体メモリカード 1 2 3〜 1 2 6の論理ァドレスをマ ッビングした状態、 および半導体メモリパック装置 1 20の連続する論 理ァドレスに対して、 ファイル管理部 1 1 09のデ一夕管理単位である クラスタを割り当てた状態を図示している。 半導体メモリパック装置 1 20に内蔵される 4枚の半導体メモリ力一ド 1 2 3〜 1 26を消去プロ ックのサイズ ( 1 6 KB) 毎にインタ一リ一ブして半導体メモリカード の番号 # 1〜# 4の順番に並べたものに、 半導体メモリパック装置 1 2 0の連続の論理ァドレスをマツピングする。 さらに半導体メモリパック 装置 1 20に内蔵される 4枚の半導体メモリ力一ド 1 23〜 1 26は並 列に同時記録動作するので、 1 6KBX 4 = 64 KBの連続ァドレスを データ記録単位とする。 なお、 本実施形態では、 データ記録装置 1 1 0 のファイル管理部 1 1 0 9のデータ管理単位であるクラスタのサイズと、 前記データ記録単位とは、 公倍数の関係になるように選ばれる。 ここで は、 1クラスタのサイズを 1 6 KBとしている。 以下、 クラス夕サイズ を 1 6 KBと定めた場合の動作について説明する。
データ記録装置 1 1 0において、 ファイル管理部 1 1 0 9は、 CPU 1 1 1の動作を制御するソフトウェアにより実現される。 ファイル管理 部 1 1 09は、 半導体メモリパック装置 1 20へ記録すべきデータを、 デ一夕管理単位であるクラス夕のサイズ ( 1 6 KB) に分割する。 ここ までは従来のデータ記録方法と同様であるが、 本実施形態では、 フアイ ル管理部 1 1 09が、 半導体メモリパック装置 1 20の中からデータ記 録単位 (64KB) =4クラスタ分 ( 1 6 KBX4) の空き領域を検索 して、 見つかった空き領域の論理ァドレスと 4クラスタ分のデータを、 記録コマンドとともに半導体メモリパック装置 1 20に引き渡す。
半導体メモリパック装置 1 2 0は、 データ記録装置 1 1 0から記録コ マンドを受け取ると、 4クラスタのデ一夕をワークメモリ 1 22に一時 記憶する。 これと共に、 マルチカードアクセス制御部 1 2 1は、 記録コ マンドと一緒に指示された半導体メモリパック装置 1 2 0の論理ァドレ スを、 図 4で示したとおり、 半導体メモリパック装置 1 2 0に内蔵する 4枚の半導体メモリカード 1 2 3〜 1 2 6の個別の論理ァドレスに変換 する。 さらに、 ヮ一クメモリ 1 2 2に一時記憶されたクラスタのデータ を 4つに分割し、 上記の変換で得られた半導体メモリカード 1 23〜 1 2 6それぞれの論理ァドレスに対して、 並列に同時記録する。
以上、 本実施形態では、 データ記録装置 1 1 0のファイル管理部 1 1 0 9がデータを管理する最小単位である 1クラスタ ( 1 6KB) 単位に 記録を行わず、 半導体メモリパック装置 1 20に内蔵される 4枚の半導 体メモリ力一ド 1 23〜 1 2 6の消去ブロックの合計サイズ (64KB ) と 1クラスタ (1 6KB) の公倍数となる 4クラスタ (64KB) 単 位に記録する。 これにより、 従来から高速記録の障害となってきたリー ド ·モディファイ · ライトの発生を防止し、 結果として半導体メモリ力 ードの書き換え回数を低減することが可能になる。 また、 半導体メモリ パック装置 1 20は、 内蔵する 4枚の半導体メモリ力一ドに対して並列 に同時記録するため、 半導体メモリカードが 1枚だけの場合に比べて、 4倍高速にデータを記録することができる。
なお、 実施の形態 2において、 半導体メモリカードを 4枚内蔵する夕 ィプの半導体メモリパック装置を例に説明したが、 本発明において半導 体メモリパック装置に内蔵される半導体メモリカードの枚数は 4枚に限 定されず、 複数枚の半導体メモリカードを内蔵する構成に同様に適用で きる。 内蔵する半導体メモリカードのすべてが並列動作する必要は無く、 例えば、 4枚の半導体メモリカードを内蔵して、 そのうち 2枚ずつが並 列動作するのでもよい。 また、 実施の形態 2においては、 4つの消去ブ ロックを 4つのクラス夕に割り当てる例を説明したが、 半導体メモリパ ック装置に内蔵する半導体メモリカードの消去プロックの合計サイズと クラスタサイズとの公倍数をデ一夕記録単位として、 一つのデータ記録 単位内には同一ファイルのデータのみを記録するようにすれば、 同様の 効果を得ることができる。 また、 消去ブロックのサイズが 1 6 K Bに限 定されるものでもない。 内蔵する半導体メモリはカード形状に限定され ず、 チップの形状で実装されるものも本発明の技術的範囲に含まれる。 さらに、 実施の形態 2においては、 半導体メモリパック装置内で複数の 半導体メモリカードが並列動作する構成を例に説明したが、 例えば、 半 導体メモリカード内の複数のフラッシュメモリが並列動作する構成につ いても本発明を適用できる。 すなわち、 並列動作する複数のフラッシュ メモリの消去ブロックの合計サイズとクラスタサイズとの公倍数を、 フ アイル管理部 1 1 0 9のデータ記録単位とすれば良い。
(実施の形態 3 )
続いて、 図 1および図 5を用いて、 本発明のさらに他の実施形態につ いて説明する。 図 5は、 半導体メモリパック装置 1 2 0の連続する論理 アドレスと、 この論理ァドレスにマッピングされた 4枚の半導体メモリ カード 1 2 3〜 1 2 6の消去ブロック (1 6 K B ) との関係と共に、 半 導体メモリ力一ド 1 2 3〜 1 2 6の消去ブロックの合計サイズ ( 1 6 K B X 4 = 6 4 K ) とファイル管理部 1 1 0 9のデータ管理単位 クラス 夕サイズ (1 6 K B ) の公倍数である 4クラスタ (6 4 K B ) をデータ 記録単位とした場合のクラスタ割り当てを示す。
従来のファイルシステムにおいては、 データの管理単位であるクラス 夕単位に空き領域を検索し、 1クラスタ分でも空き領域があれば、 その 論理アドレスに 1クラスタ分のデータを記録する。 しかしながら、 本実 施形態のデータ記録装置 1 1 0のファイル管理部 1 1 0 9は、 4クラス 夕をデータ記録単位とするため、 少なくとも 4クラスタ分の連続した空 き領域が無ければデータを記録しない。 図 5において、 半導体メモリパ ック装置 1 2 0のデータ記録単位 5 0 1は、 連続する 4クラスタすべて が空き領域であるので、 データを記録することが可能であると判断され るが、 データ記録単位 5 0 2には記録済みのクラスタがひとつ存在する ため、 残りの 3クラス夕も合わせて記録には使用されない。
以上、 本実施形態では、 データ記録単位 (6 4 K B ) で空き領域を検 索することで、 4クラスタをまとめて記録する論理ァドレスのァライメ ントが常に 6 4 K Bの境界と一致するように記録することができる。 こ れにより 4枚の半導体メモリカードの消去ブロック境界とデ一タ記録単 位の境界とがミスマッチすることない。 この結果、 従来から高速記録の 障害となってきたリード ·モディファイ · ライトの発生を防止し、 結果 として半導体メモリカードの書き換え回数を低減することが可能になる c なお、 実施の形態 3では、 半導体メモリカードを 4枚内蔵するタイプ の半導体メモリパック装置を例に説明したが、 本発明の半導体メモリパ ック装置に内蔵する半導体メモリカードの枚数は 4枚に限定されない。 本発明は、 複数枚の半導体メモリカードを内蔵する構成であれば、 同様 に適用することができる。 また、 内蔵する半導体メモリカードのすべて が並列動作する必要は無く、 例えば、 4枚の半導体メモリカードを内蔵 して、 そのうち 2枚ずつが並列動作するのでもよい。 また、 実施の形態 3においては 4つの消去ブロックを 4つのクラス夕に割り当てる例を説 明したが、 半導体メモリパック装置に内蔵する半導体メモリカ一ドの消 去ブロックの合計サイズとクラスタサイズの公倍数をデータ記録単位と して、 データ記録単位で空き領域を検索するように動作すれば、 同様の 効果を得ることができる。 さらに、 消去ブロックのサイズが 1 6KBに 限定されるものでもない。 内蔵する半導体メモリはカード形状に限定さ れず、 チップ形状で実装されるも.のも本発明の技術的範囲に含まれる。
(実施の形態 4)
図 1および図 6、 図 7を参照し、 本発明のさらに他の実施形態を説明 する。 図 6および図 7は半導体メモリパック装置 1 20の連続する論理 アドレスにマッピングされた 4枚の半導体メモリカード 1 2 3〜1 26 の消去ブロック ( 1 6 KB) の関係を示すとともに、 4並列に動作する 半導体メモリカード 1 23〜 1 26の消去ブロックの合計サイズ (1 6 BX4 = 64K) とファイル管理部 1 1 09のデータ管理単位 =クラ ス夕サイズ (1 6 KB) の公倍数である 4クラスタ (64KB) をデー 夕記録単位とした場合のクラスタ割り当てを図示している。
図 6は、 従来のファイルシステムによって 1クラスタ単位にファイル が割り当てられた例を示している。 従来のファイルシステムにおいては, クラスタがデータ管理の最小単位であり、 図 6のように記録してもファ ィルとして矛盾を生じることはない。 しかしながら、 半導体メモリパッ ク装置 1 20のデータ記録単位よりも小さなクラスタサイズで別々のフ アイルとして記録した場合、 4枚の半導体メモリカード 1 23〜 1 26 を並列に動作させても 1枚の半導体メモリ力一ドの 4倍の速度で読み出 すことは不可能である。 図 6の例であれば、 ファイル # 1のデータは半 導体メモリパック装置 1 20に内蔵された半導体メモリ力一ド # 1にの み存在し、 4枚ある半導体メモリカード 1 23〜 1 26を並列に動作さ せて読み出すことができないからである。 一方、 図 7の例は、 クラスタサイズは図 6と同一であるが、 半導体メ モリパック装置 1 2 0のデータ記録単位の内部は、 同一ファイルのデー 夕のみが記録されている。 図 7のように記録することにより、 例えばフ アイル# 1のデータを読み出す際には、 4枚の半導体メモリカード 1 2 3〜 1 2 6が並列に動作することが可能となり、 半導体メモリカードが 1枚だけの場合に比較して、 4倍速でデータを読み出すことが可能にな る。
そこで、 本実施形態では、 図 6のように半導体メモリパック装置 1 2 0のデ一夕記録単位よりも小さなクラスタサイズで記録されたファイル のデータを、 図 7のように半導体メモリパック装置 1 2 0のデータ記録 単位内は同一ファイルのデータのみとなるように並べ替えることで、 半 導体メモリパック装置 1 2 0の並列動作による効果を最大限に引き出す ように記録する。 この記録動作は、 クラスタ単位のデータの並べ替えの みで実行することができ、 記録されたファイルは、 高速に読み出すこと ができる。
図 1 4は、 前記並べ替えを実行する方法の一例を示している。 並べ替 え前の状態では、 半導体メモリパック装置 1 2 0の記録単位には、 ファ ィル # 1〜# 4がクラスタ毎に記録されている。 この状態では、 半導体 メモリパック装置 1 2 0の並列動作を利用した高速読み出しを行うこと ができない。 そこで個々のクラスタを一時バッファに読み出して、 同一 ファイルのクラス夕を選別し、 半導体メモリパック装置 1 2 0の同一の 記録単位に記録し直すことで、 並べ替えを実行する。 なお、 一時バッフ ァとしては、 データ記録装置 1 1 0の主記憶 1 1 2または半導体メモリ パック装置 1 2 0のワークメモリ 1 2 2などを利用することができる。 一時バッファの容量は、 最低でも、 半導体メモリパック装置 1 2 0の記 録単位分だけあれば、 並べ替え処理を実行することが可能である。 この ような並べ替えを行った後は、 半導体メモリパック装置 1 2 0の並列動 作を利用して、 ファイルを高速に読み書きすることが可能となる。
なお、 上述の記録データの並べ替えは、 例えば、 半導体メモリパック 装置 1 2 0をデータ記録装置 1 1 0に接続したとき、 あるいは、 データ 記録装置 1 1 0が特定の動作を実行したときなど、 所定のタイミングで 自動的に行うようにしても良い。 前記特定の動作の例としては、 例えば、 データ記録装置 1 1 0がディジタルカメラやビデオカメラである場合、 撮影を終了した都度などが考えられる。
なお、 実施の形態 4において半導体メモリカードを 4枚内蔵するタイ プの半導体メモリパック装置を例に説明したが、 本発明の半導体メモリ パック装置に内蔵する半導体メモリカードの枚数は 4枚に限定されない 本発明は、 複数枚の半導体メモリカードを内蔵する構成であれば、 同様 に適用することができる。 内蔵する半導体メモリカードのすべてが並列 動作する必要は無く、 例えば、 4枚の半導体メモリカードを内蔵して、 そのうち 2枚ずつが並列動作するのでもよい。 また、 実施の形態 4にお いては 4つの消去ブロックを 4つのクラスタに割り当てる例を説明した が、 半導体メモリパック装置に内蔵する半導体メモリカードの消去プロ ックの合計サイズとクラスタサイズの公倍数をデータ記録単位として、 データ記録単位の内部は同一ファイルのデータのみになるように並べ替 えることで同様の効果を得ることができるし、 消去ブロックのサイズが 1 6 K Bに限定されるものでもない。 内蔵する半導体メモリは、 カード 形状に限定されず、 チップ形状で実装されるものも本発明の技術的範囲 に含まれる。
(実施の形態 5 )
続いて、 図 8〜図 1 0を参照し、 本発明のさらに他の実施形態を説明 する。 まず F A Tファイルシステムの構成について、 図 8および図 9を 用いて説明する。
通常、 I S OZ I EC 92 92に規定された F A Tファイルシステム では、 ファイルシステムの管理情報とユーザデータ領域は、 記憶媒体の 論理ポリユーム上で図 9に示したように配置されている。 図 9において, 図の最上部は論理セクタ 0番を表している。
論理セクタ 0番には、 ブートセクタが記録されている。 ブートセクタ には、 ボリューム全体に関する情報と、 ユーザデータ領域に書かれたフ アイルを読み出すために必要となる FATや、 ルートエントリといった 管理情報の所在に関する情報が記録されている。 FATファイルシステ ムのー具体例である FAT 1 6ファイルシステムにおいて、 ブートセク 夕に記述されるべき情報として I S OZ I E C 9293で定められたも のを図 1 2に示す。
ユーザデ—夕領域におけるファイルの配置情報を記述する FATとブ 一トセクタとの間には、 予約領域を設けられていることがある。 予約領 域のセクタ数は、 ブートセクタに記述される。
また、 FATファイルシステムにおいては、 しばしば複数の FATを 記録することが許されているが、 FATの数と FATひとつ当たりのセ クタ数は、 ブートセクタに記述されている。
ひとつあるいは複数の FATの直後のセクタ以降には、 ルートディレ クトリに記録されたファイルに関する情報が列挙される。 ファイルに関 する情報はファイルエントリと呼ばれ、 32バイト単位で管理される。 ファイルエントリの中には、 ファイル名、 ファイル作成時刻、 ファイル サイズ、 ファイル長、 ファイルが保存されている最初のクラスタ番号が 記録されている。 ル一トディレクトリに置かれるファイルェントリの最 大数 (ルートディレクトリ項目数) はブートセクタに記述されており、 その値に従ったサイズを持つ領域がルートディレクトリエントリとして あらかじめ確保されている。 ルートディレクトリ項目数は、 ブートセク 夕に記述されている。
ルートディレクトリエントリの直後のセクタ以降が、 ユーザデータ領 域となる。 ユーザデータ領域は、 ひとつもしくは複数の連続したセクタ をまとめた、 クラスタと呼ばれる単位で管理され、 全てのクラスタには 先頭から順に通し番号が振られている。
FATの中には、 それぞれのクラスタに対応した FATェントリが用 意されている。 以下に、 ユーザデータ領域へファイルを記録する方法を、 図 1 0を用いて説明する。
記録するファイル 1 00 1がユーザデータ領域で 4クラスタ分に相当 するサイズを持っている例を考える。 この場合、 ファイルシステムは、 FATのエントリの中から、 未割り当てを表す特殊なビット列 (FAT 1 6ファイルシステムの場合は 0 X 00) が記録されているものを 4つ 探し出す。 仮に A番目、 B番目、 C番目、 D番目の 4つのクラスタに対 応する FATエントリ (1 002〜 1 0 0 5) に未割り当てを表すビッ ト列が記録されているのが見つかった場合、 ファイルシステムは、 ファ ィルをユーザデータ領域の A番目〜 D番目の 4クラス夕に分割して記録 する。 さらに、 4クラス夕の関係を記録するために、 FATのクラスタ Aに対応するェントリ 1 002内には、 ファイルが記録されている次の クラスタの番号、 すなわち番号 Bを記録する。 同様にして、 クラスタ Β· に対応する FATエントリ 10 0 3には番号 Cを記録し、 クラスタ Cに 対応する FATェントリ 1 004には番号 Dを記録する。 ファイルが記 録された最後のクラスタ (本例ではクラス夕 D) に対応する FATェン トリ 1 0 0 5には、 ファイル終端を表す特殊なビット列 (FAT 1 6フ アイルシステムでは 0 X F F) を記録する。 ュ一ザデ一夕領域からファ ィルを読み出す場合は、 このクラスタの繋がりをたどることによって、 -0
ファイル終端まで到達することができる。 FATエントリひとつ当たり に 1 2ビット使用するファイルシステムを FAT 1 2ファイルシステム, 1 6ビット使用するものを FAT 1 6ファイルシステム、 32ビット使 用するものを FAT 32ファイルシステムと呼ぶ。
また、 FAT全体に割かれるスペースのサイズ S Fは、 前記ブートセ クタの 2 3~24ビットに記述されている (図 1 2) 。 さらに、 本スぺ ース中に含まれる有効な FATェントリの数 F Eは、 ブートセクタの 3 3〜36ピッ卜に記述された全セクタ数 TSを用いて以下の [数式 1] から計算される。
0 [数式 1]
Figure imgf000027_0001
5
[数式 1] で RS Cは予約セクタ数、 S Fは FATあたりのセクタ数、 RDEはルートディレクトリの項目数、 S Sはセクタのデ一タフィール ドのバイト数、 S Cはクラス夕当たりのセクタ数をあらわしている。 関 数 ί p (X) は、 Xの整数部をあらわし、 関数 c e i 1 (x) は xより 大きい最小の整数をあらわす。 [数式 1 ] において c e i 1 ( 32 XR ΌΕ/S S) は、 ルートディレクトリのために確保されるセクタ数を計 算している。 よって、 (TS— RS C— S F— c e i 1 ( 3 2 XRD E /S S) ) は全セクタ数から管理領域のセクタ数を引いた値、 すなわち ユーザデ—夕領域のセクタ数となる。 これを s Cで割ったものの整数部5 をとること.により、 ユーザデ一夕領域で確保可能なクラス夕数が計算で きる。 さらに 2を足しているのは、 管理領域に関する特別な FATェン トリ確保のためである。
FATファイルシステムは広く用いられているファイルシステムであ るが、 ォペレ ティングシステムによっては、 [数式 1〗 で計算される 有効クラス夕数の下限値を定めているものがある。 これにより、 ある容 量以下の記録媒体、 すなわち或る値以下の総セクタ数 TSしか持たない 記憶媒体を FATファイルシステムで用いたい場合は、 クラス夕サイズ を小さくして総クラスタ数を多くする手段を取らざるを得ない。 しかし ながら、 記憶媒体が半導体メモリパック装置の場合、 クラスタサイズを 半導体メモリパック装置の消去プロックと一致させたいという要望から、 クラス夕サイズの変更が容易でないことがある。 したがって、 クラスタ サイズ制限を持った小容量記憶媒体は、 クラスタ数下限を持ったォペレ —ティングシステムでは使用できないことになる。
そこで、 本実施形態では、 オペレーティングシステムのサポート範囲 以下のクラスタ数じか確保できない小容量記憶媒体を FATファイルシ ステムで利用する場合に、 ブートセクタの総セクタ数 TSに、 実際に存 在するセクタ数よりも大きな値を記述することにより、 前記問題を回避 する。 すなわち、 小容量記憶媒体のフォーマット時に、 総セクタ数 TS を以下の [数式 2] で計算される値よりも大きい値に設定することによ り、 制限付きオペレーティングシステムで小容量記憶媒体を扱えるよう にする。 ここで L Sはオペレーティングシステムが定めるクラスタ数の 下限である。
[数式 2]
(LS - 2) X SC + RSC +SF + ceil 32xRDE'
SS
[数式 2] は、 [数式 1] の解を L Sとおいて、 T Sについて解くこ とにより導かれる。
[数式 2] から得られる総セクタ数をブ一トセクタに設定することに より、 FAT内の FATエントリには、 実際に存在するクラス夕と関連 付け可能なものと、 実在するクラス夕とは関連付け不可能なものが生じ る。 図 8では、 ユーザデータ領域に実在するクラスタ数を N、 総クラス 夕数 TSによって計算される有効クラスタ数を Mとしている。 FATェ ントリの 1番から N番までが実在するクラスタと関連付け可能な FAT エントリ 8 0 1であり、 N+ 1番から M番までが実在するクラスタと関 連付け不可能な FATェントリ 80 2となる。
本実施形態では、 小容量記憶媒体を FATファイルシステムでフォー マットするときに、 実在するクラスタと関連付けできない FATェント リ 802の全てに、 ファイル終端を示す全ビット 1の値をあらかじめ記 述しておく。 これは、 総セクタ数を水増しして記述した FATファイル システムに対してファイルの書き込みをおこなう場合、 実在するクラス 夕と関連付けできない FATェントリ 8 0 2に未割り当てを示すビット 列を記述しておくと、 ファイルシステムが実在しないクラス夕にデータ を書き込もうとしてエラーを生じる可能性があるためである。 実在する クラスタと関連付けできない FATエントリ 80 2が指す先のクラス夕 にはすでにデータが割り当て済みであると見せかけることで、 ファイル システムがファイルを書き込むためにポリュ一ム上の空き領域をサーチ する場合、 実在しないクラスタを書き込み対象とすることがなくなる。
また、 FAT 1 2、 FAT 1 6ファイルシステムでは、 多くのォペレ 一ティングシステムが、 ユーザに提供する記録媒体の空き容量情報を未 割り当てビット列が記述された F A Tエントリを数えることによって計 算する。 従って、 本実施形態に従えば、 正確な空き容量情報をュ一ザに 提供できる。 また、 FAT 32ファイルシステムでは、 論理ボリューム 上で得られる空きクラス夕の数が予約セクタ内に記述されており、 オペ レ一ティングシステムの多くは、 本情報をもとにユーザへディスクの空 き容量情報を提供する。 本実施形態では、 記憶媒体を FATファイルシ ステムでフォ一マツトするときに、 総セクタ数 TSから計算される総ク ラス夕数から実在するクラスタと関連付け不可能な FATエントリ 8 0 2の数を引いたものを空きクラス夕数として予約セクタ内に記述するこ とにより、 正確な空き容量情報を提供する。
以上の方法で FATファイルシスデムを構築することにより、 FAT ェントリの下限値を持ったオペレーティングシステムにおいてもクラス 夕サイズに制限を持った小容量記憶媒体を読み書きすることが可能にな り、 また、 ユーザに対して正確な空き容量情報を提供することも可能に なる。 なお、 実施の形態 5では実在するクラス夕と関連付け不可能な F ATェントリ 8 02に入れるビット列を、 ファイル終端を示すビット列 としたが、 不良セクタを示すビット列等、 未割り当てを示すビット列以 外であれば何を用いても構わない。
(実施の形態 6)
最後に、 図 1 1を用いて、 本発明のさらに他の実施形態について説明 する。
図 1 1は、 実施の形態 6のデータ記録装置の構成を表したブロック図 である。 図 1 1において、 1 1 0 1はデ一タ記録装置、 1 1 02は制御 部、 1 1 03はメモリ、 1 1 04は入力データ I /F、 1 1 0 5はェン コーダ制御部、 1 1 06はエンコーダ、 1 1 0 7はバッファ制御部、 1 1 0 8はバッファ、 1 1 0 9はファイル管理部、 1 1 1 0はメディア I F, 1 1 1 1はメディアを表している。 なお、 メディア 1 1 1 1は、 実施の形態 1等で説明した半導体メモリパック装置 1 2 0である。
制御部 1 1 02は、 メモリ 1 1 0 3を用いて、 デ一夕記録装置 1 1 0 1の全体の制御を行う。 入力デ一夕 I ZF 1 1 04は、 外部から入力さ れたデータを受け取る。
エンコーダ制御部 1 1 0 5は、 入力データ I ZF 1 1 04から入力さ れたデータを受け取り、 エンコーダ 1 1 0 6を制御してそのデータのェ ンコード処理を行い、 バッファ制御部 1 1 0 7にエンコードされたデー 夕を送る。 また、 エンコーダ制御部 1 1 0 5は、 エンコーダ 1 1 0 6か らの情報を取得して、 制御部 1 1 0 2に伝えることもできる。 ェンコ一 ダ 1 1 0 6からの情報とは、 例えばビデオデータを MP EG (M o v i n g P i c t u r e s c o d i n g E x p e r t s G r o u p ;) にェンコ一ドする場合、 1 GOP (G r o u p O f P i c t u r e s ) のエンコードを完了したという情報などである。
ノ ッファ制御部 1 1 0 7は、 ェンコ一ダ制御部 1 1 0 5から受け取つ た、 ェンコ一ドされたデータを、 データの種類毎にバッファ 1 1 0 8内 の別の領域に格納する。 また、 バッファ制御部 1 1 0 7は、 バッファ 1 1 0 8に蓄えられたデ一夕の量を監視しており、 所定量に達した時には 制御部 1 1 0 2に通知する。 制御部 1 1 0 2はその通知を受け取ると、 ファイル管理部 1 1 0 9にデータ記録要求を出す。
ファイル管理部 1 1 0 9は、 メディア 1 1 1 1に記録されているファ ィルの管理を行う。 ファイル管理部 1 1 0 9は、 メディア 1 1 1 1から メディア I /F 1 1 1 0を介して、 ファイルシステム管理情報を読み込 み、 メモリ 1 1 0 3に格納する。 制御部 1 1 0 2からのデータ記録要求 を受けると、 ファイル管理部 1 1 0 9はファイルシステム管理情報を参 照して空き領域を探し、 見つかればその領域にデ一夕を記録するように メディア 1 1 1 1にコマンドを発行する。 またこの処理と同時に、 ファ ィル管理部 1 1 0 9は、 記録位置ゃデ一夕量などの記録したデータの情 報を、 メモリ 1 1 0 3に格納されているファイルシステム管理情報に書 き込む。
メモリ 1 1 0 3に格納されているファイルシステム管理情報は、 定期 的にメディア 1 1 1 1に書き戻さなければならない。 それは、 記録装置 1 1 0 1の電源が落ちるなど、 不測の事態が起こる可能性があるからで ある。 ファイルシステム管理情報がメディア 1 1 1 1に書き戻されない と、 それまで記録したデータの記録位置やデータ量などを知るすべがな く、 記録されていない状態と同じになってしまう。
逆に、 ファイルシステム管理情報を頻繁にメディア 1 1 1 1に書き戻 すようにすると、 書き換え回数の上限があるメディアだと、 すぐに書き 換え回数を超えてしまう可能性がある。 また、 ファイルシステム管理情 報の書き換え処理のために、 メディア 1 1 1 1のアクセス効率が低下し てしまう。 よって、 ファイルシステム管理情報を適切なタイミングでメ ディア 1 1 1 1に書き戻すことが重要になる。
以下、 ファイルシステム管理情報を書き戻すタイミングについて、 音 声データと映像データを別々のファイルで同時に記録する場合と、 音声 データと映像データを 1つのファイルで記録する場合の 2つの例で説明 する。
まず、 音声データと映像データを別々のファイルで同時に記録する場 合について述べる。
音声データと映像データを別々のファイルで記録する場合、 同時に記 録装置 1 1 0 1に入力されても、 メディア 1 1 1 1には同時に記録され ない。 それは、 映像データのビットレートが音声デ一夕のビットレート より高いため、 バッファ 1 1 0 8に蓄えられる映像データが音声データ より早く所定量に達して、 映像データが先に記録されるからである。 音声データと映像データはセットでクリップを構成するため、 映像デ 一夕だけをメディア 1 1 1 1に記録しても、 通常その映像データは意味 のないものになってしまう。
よって、 本実施形態では、 音声デ一夕と映像データを別々のファイル で同時に記録する場合、 音声データをメディア 1 1 1 1に記録する毎に、 ファイルシステム管理情報もメディア 1 1 1 1に書き戻すようにする。 つまり、 ビットレートの最も低いデータの記録を、 ファイルシステム管 理情報を書き戻すトリガにする。
先述したように、 ノ ツファ制御部 1 1 0 7は、 ノ ツファ 1 1 0 8をデ 一夕の種類毎に監視しており、 データが所定量に達した時に制御部 1 1 0 2に通知する。 制御部 1 1 0 2は、 現在記録処理を行っているデータ の中で最もビットレートが低いデータを知っている。 この例では、 音声 デ一夕が最もビットレートが低いデータである。 バッファ 1 1 0 8に蓄 積された音声データが所定量に達したことを通知されると、 制御部 1 1 0 2はファイル管理部 1 1 0 9に、 音声デ一夕の記録要求とファイルシ ステム管理情報更新要求を出す。 なお、 上記の 「所定量」 とは、 メディ ァ 1 1 1 1 (半導体メモリパック 1 2 0 ) において並列動作する半導体 メモリカード 1 2 3〜 1 2 6の消去ブロックの合計サイズと、 ファイル 管理部 1 1 0 9のデータ管理サイズとの公倍数をデータ記録単位とした 場合、 そのデータ記録単位の整数倍である。
以上のように、 音声データと映像デ一夕を別々のファイルで同時に記 録する場合、 ビットレートの低い音声データの記録にあわせてファイル システム管理情報をメディアに書き戻すようにすると、 メディァの書き 換え回数を無駄に増やすことなく、 記録装置の電源断対策を図ることが できる。
次に、 音声データと映像データを M P E Gシステムストリ一ムとして 1つのファイルに記録する場合について説明する。
M P E Gシステムストリームを記録する場合、 データは 1 G O Pの単 位で完結するフレーム間圧縮が施されており、 1 G O Pよりも短い単位 でデータが記録されても正常にデコードして再生することができない。 しがたつて、 1 G O P以内のデータを記録した段階でファイルシステム の管理情報をメディアに書き戻してもほとんどの場合に意味を成さない c そこで本実施形態では、 M P E Gシステムストリームを 1つのファイル としてメディアに記録する場合、 1 G O Pの整数倍だけデータを記録し た段階でファイルシステムの管理情報を更新するように動作する。 これ によって必要以上にファイルシステムの管理情報を書き換えることが防 止され、 メディァの書き換え寿命を延ばすことが可能になる。

Claims

請 求 の 範 囲
1 . 並列に記録動作する複数のフラッシュメモリを内蔵する半導体メ モリパック装置に対してデータを記録するデータ記録装置において、 前記半導体メモリパック装置へ記録すべきデータをファイルとして管 理するファイル管理部を備え、
前記フアイル管理部が、 前記半導体メモリパック装置へ供給するデー 夕のデ一夕記録単位を、 前記複数のフラッシュメモリの消去ブロックサ ィズを合計したサイズと、 当該ファイル管理部におけるデータ管理サイ ズとの公倍数とすることを特徴とするデータ記録装置。
2 . 前記複数のフラッシュメモリの消去ブロックサイズを合計したサ ィズの整数倍をデータ記録単位として、 前記ファイル管理部のデータ管 理単位が、 前記データ記録単位と同一サイズである、 請求項 1に記載の データ記録装置。
3 . 前記ファイル管理部が、 前記データ記録単位内を同一ファイルの データとする、 請求項 1または 2に記載のデータ記録装置。
4 . 前記ファイル管理部が、 前記半導体メモリパック装置に前記デー 夕記録単位に相当する空き容量がある場合にのみ記録を行う、 請求項 1 または 2に記載のデータ記録装置。
5 . 前記ファイル管理部が、 前記データ記録単位内に異なるファイル のデータが記録されている場合、 前記デ一夕記録単位内は同一ファイル のデータになるように記録データを並べ替える、 請求項 1または 2に記 載のデータ記録装置。
6 . 前記半導体メモリパック装置が、 前記ファイル管理部のファイル 管理情報を記録する領域を有し、
前記フアイル管理部が、 音声データフアイルおよび映像データファィ ルの少なくとも 2つのファイルを同時に並行して前記半導体メモリパッ ク装置へ記録する場合、 前記半導体メモリパック装置へ供給すべきデー 夕として蓄積している音声データの量が前記データ記録単位の整数倍と なった時点で、 前記半導体メモリパック装置に記録されている前記ファ ィル管理情報を更新する、 請求項 1または 2に記載のデータ記録装置。
7 . 前記ファイル管理部が、 M P E Gストリームをファイルに記録す る場合、 記録済みのデータが 1 G O Pの整数倍となった時点で、 前記フ ァィル管理部のフアイル管理情報を更新する、 請求項 1または 2に記載 のデータ記録装置。
8 . 前記フラッシュメモリが、 半導体メモリカードとして前記半導体 メモリパック装置に装着される、 請求項 1または 2に記載のデータ記録
PCT/JP2004/005575 2003-04-25 2004-04-19 データ記録装置 WO2004097650A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/530,300 US20050286855A1 (en) 2003-04-25 2004-04-19 Data recording apparatus
EP04728233A EP1619583A4 (en) 2003-04-25 2004-04-19 DATA RECORDING DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003121179 2003-04-25
JP2003-121179 2003-04-25

Publications (1)

Publication Number Publication Date
WO2004097650A1 true WO2004097650A1 (ja) 2004-11-11

Family

ID=33410032

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/005575 WO2004097650A1 (ja) 2003-04-25 2004-04-19 データ記録装置

Country Status (4)

Country Link
US (1) US20050286855A1 (ja)
EP (1) EP1619583A4 (ja)
CN (1) CN100356344C (ja)
WO (1) WO2004097650A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
JP2007133512A (ja) * 2005-11-08 2007-05-31 Seiko Epson Corp フラッシュromを備えた情報処理装置及びフラッシュromのデータ消去方法
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
JP5216003B2 (ja) * 2007-06-01 2013-06-19 パナソニック株式会社 記録装置
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
JP2010009206A (ja) * 2008-06-25 2010-01-14 Nikon Corp 記録制御装置
US20090322905A1 (en) * 2008-06-25 2009-12-31 Nikon Corporation Storage control device
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
CN101677384B (zh) * 2008-09-19 2011-03-23 鸿富锦精密工业(深圳)有限公司 数据存储管理系统及方法
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
CN101727292B (zh) * 2008-10-16 2013-04-17 深圳市朗科科技股份有限公司 存储设备的访问系统、方法及存储设备
ITMI20082331A1 (it) * 2008-12-29 2010-06-30 Giovanni Lucchetta Disco a stato solido, particolarmente per la memorizzazione di dati digitali.
WO2010103760A1 (ja) * 2009-03-13 2010-09-16 パナソニック株式会社 アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
US9092340B2 (en) * 2009-12-18 2015-07-28 Sandisk Technologies Inc. Method and system for achieving die parallelism through block interleaving
JP5385835B2 (ja) * 2010-03-29 2014-01-08 パナソニック株式会社 データ記録装置
TWI451439B (zh) * 2010-12-10 2014-09-01 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與資料寫入方法
JP2013225760A (ja) * 2012-04-20 2013-10-31 Sony Corp 記録装置、撮像記録装置、記録方法及びプログラム
US9645917B2 (en) * 2012-05-22 2017-05-09 Netapp, Inc. Specializing I/O access patterns for flash storage
US10631019B2 (en) * 2013-06-18 2020-04-21 Vecima Networks Inc. Remote storage digital video recording optimization method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282880A (ja) * 1992-01-10 1993-10-29 Toshiba Corp 半導体ディスク装置
JPH06266596A (ja) * 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
JP2000057038A (ja) * 1998-08-05 2000-02-25 Sony Corp 記録装置および記録方法、並びに再生装置および再生方法、並びに記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085478B2 (en) * 1997-09-17 2006-08-01 Matsushita Electric Industrial Co., Ltd. Optical disc, recording apparatus, and computer-readable recording medium
WO1999057641A1 (en) * 1998-05-01 1999-11-11 Powerquest Corporation Manipulation of virtual and live computer storage device partitions
JP2000207137A (ja) * 1999-01-12 2000-07-28 Kowa Co 情報記憶装置
JP3888569B2 (ja) * 1999-03-11 2007-03-07 ソニー株式会社 ディスク装置
JP4288751B2 (ja) * 1999-05-25 2009-07-01 ソニー株式会社 記録媒体、データ処理装置
AU3274301A (en) * 2000-01-05 2001-07-16 Realnetworks, Inc. Systems and methods for multiple-file data compression
JP2003059196A (ja) * 2001-01-15 2003-02-28 Sharp Corp データ記録方法及びデータ記録装置並びに記録媒体
GB0123412D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282880A (ja) * 1992-01-10 1993-10-29 Toshiba Corp 半導体ディスク装置
JPH06266596A (ja) * 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
JP2000057038A (ja) * 1998-08-05 2000-02-25 Sony Corp 記録装置および記録方法、並びに再生装置および再生方法、並びに記録媒体

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN100356344C (zh) 2007-12-19
US20050286855A1 (en) 2005-12-29
CN1717661A (zh) 2006-01-04
EP1619583A4 (en) 2008-12-24
EP1619583A1 (en) 2006-01-25

Similar Documents

Publication Publication Date Title
WO2004097650A1 (ja) データ記録装置
US7590794B2 (en) Data operations in flash memories utilizing direct data file storage
US8046522B2 (en) Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
CN100347684C (zh) 记录系统、数据记录设备、存储设备和数据记录方法
US8209461B2 (en) Configuration of host LBA interface with flash memory
US7739444B2 (en) System using a direct data file system with a continuous logical address space interface
EP2156299B1 (en) Method and system for storage address re-mapping for a memory device
US7917686B2 (en) Host system with direct data file interface configurability
US8166267B2 (en) Managing a LBA interface in a direct data file memory system
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
US20050080985A1 (en) Data storage device
CN1227591C (zh) 记录系统、数据记录设备、存储设备和数据记录方法
JP5266250B2 (ja) 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用
KR20080032636A (ko) 논리 어드레스 공간 전반에 걸쳐 그리고 직접 데이터 파일기반 위에서 동작하는 인터페이싱 시스템
JP2008507756A (ja) 最適化されたシーケンシャルなクラスタの管理のためのfat分析
JP2009503744A (ja) 予定再生操作を伴う不揮発性メモリ
JP2010515163A (ja) ダイレクトデータファイルメモリシステムにおけるlbaインターフェイスの管理
JP4130808B2 (ja) フォーマット方法
US6871260B2 (en) Non-volatile memory based storage system capable of directly overwriting without using redundancy and its writing method
JP2004342090A (ja) データ記録装置
WO2008082999A2 (en) Configuration of host lba interface with flash memory
TWI389001B (zh) 檔案系統及檔案系統轉換方法
CN1759602A (zh) 摄像记录机和数据记录媒体

Legal Events

Date Code Title Description
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 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 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 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

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004728233

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10530300

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 20048015285

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2004728233

Country of ref document: EP