WO2014024350A1 - 記録装置、アクセス装置、記録システム、及び記録方法 - Google Patents
記録装置、アクセス装置、記録システム、及び記録方法 Download PDFInfo
- Publication number
- WO2014024350A1 WO2014024350A1 PCT/JP2013/002529 JP2013002529W WO2014024350A1 WO 2014024350 A1 WO2014024350 A1 WO 2014024350A1 JP 2013002529 W JP2013002529 W JP 2013002529W WO 2014024350 A1 WO2014024350 A1 WO 2014024350A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- recording
- data
- access device
- interruption
- control unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
Definitions
- the present disclosure relates to a recording device that stores data in a nonvolatile memory, an access device that accesses the recording device, and a recording system that includes the recording device and the access device.
- recording media for recording digital data such as music content and video data
- a memory card using a semiconductor memory such as a flash ROM as a recording element
- semiconductor memories are rapidly spreading mainly in small portable devices such as digital still cameras and mobile phone terminals because the size of recording media can be reduced.
- semiconductor memories have come to be used not only for removable removable media such as conventional memory cards, but also for storage as a built-in device.
- a semiconductor memory is used in place of a hard disk by incorporating a semiconductor memory such as a Flash ROM in a device.
- Such a memory card or a device built-in storage mainly uses a semiconductor element called a NAND flash memory.
- the NAND flash memory is a recording element that can once erase already recorded data and then record another data again.
- the NAND flash memory can constitute a recording device that can be rewritten a plurality of times, like a conventional hard disk.
- FIG. 2 is a diagram showing the configuration of the NAND flash memory.
- the NAND flash memory includes a plurality of physical blocks.
- the physical block is a unit for erasing data recorded in the NAND flash memory.
- the NAND flash memory has a feature that data cannot be directly overwritten, and recorded data must always be erased once in units of physical blocks when data is written.
- This physical block contains multiple pages.
- a page is a unit when data is read from and written to the NAND flash memory.
- the page includes a data part and a redundant part.
- the data portion is an area that can be accessed from the access device as a logical address space, and is an area in which file data and the like are actually stored.
- the redundant part is an area in which management information, ECC, and the like of a recording apparatus having a NAND flash memory are stored and cannot be accessed from the access apparatus.
- the size of the data part is 4 KB, and the size of the redundant part is about 128 bytes.
- the physical block size when attention is focused only on the data portion is, for example, about 4 MB. Therefore, the capacity of the NAND flash memory composed of 8192 physical blocks of this size is 32 GB.
- the NAND flash memory Since the NAND flash memory has the above-described characteristics, when the recording device writes data to the NAND flash memory in units smaller than the physical block size, valid data existing in the same block is transferred to other physical blocks. A roll-in save process to copy is required. Therefore, in the NAND flash memory, when data is written in a unit smaller than the erase unit, the recording speed is reduced.
- a method of recording stream data for recording has been proposed (see, for example, Patent Document 1). In this method, since the size of the existing valid data included in the area to be recorded with stream data is reduced, the overhead of the entrapment saving process is reduced. As a result, it is possible to prevent real-time recording from being stopped.
- the block can be used as a recording target area for stream data.
- the area usage efficiency is improved.
- it is necessary to record the stream data while copying the existing valid data by a roll-in save process during real-time recording. For this reason, it may be difficult to obtain the maximum recording speed of the recording apparatus.
- the present disclosure provides a recording device, an access device, a recording system, and a recording method that improve the area use efficiency during real-time recording while performing high-speed recording when performing real-time recording on the recording device. .
- the recording device of the present disclosure operates based on an instruction from the access device.
- the recording apparatus includes a nonvolatile memory that stores data, a communication unit that receives an instruction issued from the access device, and a memory control unit that controls the nonvolatile memory.
- the memory control unit starts recording data in the nonvolatile memory.
- the memory control unit receives an interruption instruction for interrupting data recording from the access device, the memory control unit is an interruption position that is the position of the recording area in the nonvolatile memory that was being recorded when the interruption instruction was received. Is stored in the nonvolatile memory.
- the access device of the present disclosure accesses a recording device that includes a nonvolatile memory that stores data.
- the access device divides and manages an area in the nonvolatile memory into predetermined block length units, searches for an unrecorded area in the nonvolatile memory in a predetermined block length unit, and records data in an unrecorded block A control unit; and a communication unit that transmits and receives data between the access device and the recording device.
- the recording control unit transmits a recording instruction for recording the data in the nonvolatile memory to the recording device.
- the recording control unit interrupts data recording in the middle of an unrecorded block, the recording control unit transmits an interruption instruction for instructing interruption of data recording to the recording apparatus.
- the recording system of the present disclosure includes a recording device including a nonvolatile memory that stores data, and an access device that accesses the nonvolatile memory.
- the access device divides and manages an area in the non-volatile memory into predetermined block length units, searches for an unrecorded area in the non-volatile memory in the predetermined block length unit,
- a recording control unit that records data; and a first communication unit that transmits and receives data between the access device and the recording device.
- the recording device includes a second communication unit that receives an instruction issued from the access device, and a memory control unit that controls the nonvolatile memory.
- the recording control unit of the access device When recording data in the unrecorded block, the recording control unit of the access device transmits a recording instruction for recording data in the nonvolatile memory to the recording device. Then, the recording control unit of the access device transmits an interruption instruction for instructing interruption of the data recording to the recording device when the data recording is interrupted in the middle of the unrecorded block.
- the memory control unit of the recording device receives the recording instruction from the access device, the memory control unit starts recording data in the nonvolatile memory.
- the memory control unit of the recording device receives the interruption instruction from the access device, the memory control unit indicates an interruption position that is a position of a recording area in the nonvolatile memory that was being recorded when the interruption instruction was received. Interruption information is stored in the non-volatile memory.
- the recording method of the present disclosure is a recording method for recording data in a nonvolatile memory in a recording system including a recording device including a nonvolatile memory that stores data and an access device that accesses the nonvolatile memory. is there.
- a recording device including a nonvolatile memory that stores data and an access device that accesses the nonvolatile memory.
- an area in the nonvolatile memory is divided into a predetermined block length unit and managed, an unrecorded area in the nonvolatile memory is searched in a predetermined block length unit, and data is stored in an unrecorded block. Recording and transmitting / receiving data between the access device and the recording device, the recording device accepting an instruction issued from the access device, and controlling the nonvolatile memory; including.
- the recording method further includes a step of transmitting, to the recording device, a recording instruction for recording the data in the non-volatile memory when the data is recorded in the unrecorded block in the access device; A step of transmitting an interruption instruction for instructing the interruption of data recording to the recording device, and when the recording instruction is received from the access device in the memory control unit, data recording to the nonvolatile memory is started.
- interruption instruction is received from the access device and the access device, interruption information indicating the interruption position that is the position of the recording area in the nonvolatile memory that was being recorded when the interruption instruction was received is stored in the nonvolatile memory.
- FIG. 1 is a diagram illustrating a configuration of an access device and a recording device in the present embodiment.
- the figure which showed the structure of NAND type flash memory. 6 is a flowchart showing data writing processing in a conventional recording apparatus.
- produces in this embodiment.
- FIG. 1 is a configuration diagram of a recording system including an access device and a recording device according to the present embodiment.
- the access device 1 includes a CPU 11, a RAM 12, a first interface unit 13, and a ROM 14.
- the ROM 14 stores a program for controlling the access device 1. This program is executed by the CPU 11 using the RAM 12 as a temporary storage area.
- the first interface unit 13 is a connection unit that connects the recording device 2 and the access device 1, and transmits and receives control signals and data between the recording device 2 and the access device 1.
- the CPU 11 includes an application control unit 101, a file system control unit 102, and an access unit 103.
- the CPU 11 implements the functions of the application control unit 101, the file system control unit 102, and the access unit 103 by reading and executing a program stored in the ROM 14.
- the application control unit 101 controls the entire access device 1 such as data generation and power control.
- the file system control unit 102 performs control for managing data as a file by a file system such as a FAT file system.
- the access unit 103 controls transmission / reception of commands and data to / from the recording apparatus 2. For example, the access unit 103 receives the size and address from the file system control unit 102 together with the data, and records the data of the specified size at the specified position in the nonvolatile memory 22 of the recording device 2.
- the file system control unit 102 further includes a first recording control unit 104.
- the first recording control unit 104 is a control unit that controls selection and determination of a recording area and interruption of stream recording at the time of real-time recording, which is a feature of the idea of the present disclosure.
- the first recording control unit 104 does not exist in the conventional access device.
- the recording device 2 includes a controller 21 and a nonvolatile memory 22.
- the controller 21 is a device that performs overall control of the nonvolatile memory 22.
- the controller 21 is configured as a system LSI including a CPU and the like.
- the controller 21 includes a second interface unit 211, a CPU 212, a RAM 213, a ROM 214, and a memory interface unit 215.
- the second interface unit 211 is a connection unit that connects the recording device 2 and the access device 1, and transmits and receives control signals and data between the recording device 2 and the access device 1, like the first interface unit 13. Interface.
- the ROM 214 stores a program for controlling the recording device 2. This program is executed by the CPU 212 using the RAM 213 as a temporary storage area.
- the memory interface unit 215 is a connection unit that connects the controller 21 and the nonvolatile memory 22, and controls transmission / reception of commands and data to / from the nonvolatile memory 22 between the controller 21 and the nonvolatile memory 22.
- CPU 212 includes an address conversion control unit 216 and a second recording control unit 217.
- the address translation control unit 216 is a control unit that controls association between a physical address on the nonvolatile memory 22 and a logical address in a logical address space provided by the recording device 2 as an address space accessible from the access device 1. .
- the second recording control unit 217 is a control unit that controls interruption of stream recording, which is a feature of the idea of the present disclosure, and does not exist in a conventional recording apparatus.
- the nonvolatile memory 22 stores the address management information 221 in an area different from the area for storing user data.
- the address management information 221 is information used for address management of the recording area in the nonvolatile memory 22 such as correspondence between physical addresses and logical addresses. User data is stored in a logical address space accessible from the access device 1. On the other hand, the address management information 221 is stored outside the logical address space so that it cannot be accessed from the access device 1.
- the address management information 221 further includes address conversion information 222 for managing the correspondence between physical addresses and logical addresses, free block information 223 for managing free physical blocks (hereinafter also referred to as “free blocks”), and blocks during stream recording.
- Stream management information 224 for managing.
- the stream management information 224 is information for managing blocks during stream recording, which is a feature of the present disclosure, and does not exist in a conventional recording apparatus.
- the recording device 2 of the present embodiment stores the stream management information 224 in the nonvolatile memory 22.
- the second recording control unit 217 of the recording device 2 uses the stream management information 224 stored in the non-volatile memory 22 to control allocation of physical blocks to stream recording, interruption and restart of stream recording, and the like.
- the file system control unit 102 of the access device 1 includes a first recording control unit 104 that issues an instruction such as interruption of stream recording to the recording device 2.
- FIG. 3 is a flowchart showing a data writing process in the conventional recording apparatus.
- FIG. 4 is a diagram showing an example of address management information and physical blocks in a conventional recording apparatus.
- the address management information in the conventional recording apparatus includes address conversion information, free block information, and temporary block information.
- the address translation information is information for managing the correspondence between logical addresses and physical addresses.
- the address conversion information is constituted by, for example, a table storing physical block numbers assigned to each logical block.
- Free block information is information for managing the number of unassigned free physical blocks.
- the temporary block information is information for managing a physical block (hereinafter referred to as “temporary block”) that is temporarily used for data copy in order to realize data overwrite processing on the NAND flash memory.
- the temporary block information includes the number of the temporary block and the number of the physical block (hereinafter referred to as “old data block”) that has been overwritten.
- the data stored in the old data block before being overwritten is referred to as “old data”.
- the number of temporary blocks is one for simplicity of explanation.
- the recording device refers to the address conversion information and acquires the number of the physical block (hereinafter referred to as “OLD_BLK”) in which the old data in the write target area is stored.
- OLD_BLK the number of the physical block in which the old data in the write target area is stored.
- the recording apparatus Upon acquiring OLD_BLK, the recording apparatus refers to the temporary block information and acquires the number of the old data block (hereinafter referred to as “TEMP_OLD_BLK”).
- the old data block number in the temporary block information is 0x0001, TEMP_OLD_BLK is 0x0001.
- the temporary block is a block for realizing a pseudo overwriting process.
- the temporary block is secured separately from the physical block storing the old data in order to overwrite the old data on the NAND flash memory.
- the recording device once erases the data in the temporary block and records new data in the temporary block.
- the recording device copies valid data other than the portion corresponding to the new data in the physical block storing the old data to the temporary block.
- an overwriting process on the NAND flash memory is realized in a pseudo manner.
- the recording apparatus refers to the acquired TEMP_OLD_BLK or the temporary block number in the temporary block information to confirm whether the temporary block already exists. For example, when there is no temporary block, a number indicating an invalid block such as 0xFFFF is set in TEMP_OLD_BLK and the temporary block number in the temporary block information. By mounting so as to indicate that there is no temporary block, the temporary block can be confirmed. In the example of FIG. 4A, TEMP_OLD_BLK stores a valid block number (0x0001), indicating that a temporary block exists. If there is a temporary block, the recording apparatus proceeds to step S304. If the temporary block does not exist, the recording apparatus proceeds to step S310.
- step S304 If the recording device determines in step S303 that a temporary block exists, the recording device checks whether the value of OLD_BLK matches the value of TEMP_OLD_BLK. If the values match, the recording apparatus proceeds to step S305. If the values do not match, the recording apparatus proceeds to step S306.
- step S305 If the recording device determines in step S304 that the value of OLD_BLK and the value of TEMP_OLD_BLK match, the recording device checks whether it is possible to write desired data in the temporary block. As an example of the confirmation method, it is confirmed whether data has already been recorded on the write target page in the temporary block. If data has already been recorded on the write target page, writing is not possible, and if not, recording is possible. A method of judging can be considered. In the example of FIG. 4A, since the data E is already recorded on the second page of the temporary block and the data F is already recorded on the third page, when overwriting to the area of these two pages occurs, You cannot write to the temporary block. The recording apparatus proceeds to the process of step S313 when the writing to the temporary block can be performed, and proceeds to the process of step S306 when the writing to the temporary block cannot be performed.
- the recording apparatus copies valid data in the physical block indicated by TEMP_OLD_BLK to an unrecorded area (erased area) in the temporary block.
- TEMP_OLD_BLK an unrecorded area (erased area) in the temporary block.
- all data other than data B and data C stored in physical block 0x0001 indicated by TEMP_OLD_BLK are copied to corresponding pages in physical block 0x01BB, which is a temporary block.
- the recording device updates the address conversion information, and associates the physical block number of the temporary block with the logical block corresponding to the old data block.
- the value of 0x01BB which is the physical block number of the temporary block, is registered in the area corresponding to the logical block number 0x0001 of the address translation information.
- the recording apparatus registers the value of TEMP_OLD_BLK in the free block information.
- 0x0001 which is the value of TEMP_OLD_BLK is added to the end of the free block information.
- the recording device clears the temporary block information.
- each piece of information in the temporary block information is cleared (invalidated) by setting an invalid block number.
- the recording device performs a temporary block acquisition process in order to record data.
- the temporary block acquisition process corresponds to the processes from step S310 to step S312.
- the recording device refers to the free block information and acquires the physical block number registered as a free block.
- the free block number 0x000E registered at the top of the free block information is acquired as the number of the block to be recorded.
- the recording apparatus collectively erases the area of the physical block number (0x000E) acquired in step S310.
- the recording apparatus deletes the free block number acquired in step S310 from the free block information and registers it in the temporary block information.
- the recording apparatus deletes the value of the physical block number 0x000E registered at the head of the free block information from the list of free block information, and uses the value of 0x000E as the temporary block number of the temporary block information. It is set as.
- the recording device sets the value of OLD_BLK acquired in step S301 as the old data block number of the temporary block information.
- the recording device using the NAND flash memory secures a temporary block when overwriting data, erases data in the temporary block at once, records new data, and then stores old data in the temporary block. Need to be copied to. If there are many data copy processes, the recording time of the new data becomes longer, so that the recording process time becomes longer and the performance of the recording apparatus decreases.
- This disclosure proposes a method for improving the area use efficiency while reducing the copy process in stream data recording at the time of real-time recording and enabling high-speed recording of the recording apparatus.
- address management information of this embodiment The configuration of the address management information 221 of this embodiment will be described with reference to FIG. As shown in FIG. 5, the address management information 221 of this embodiment includes address conversion information 222 and free block information 223. The address conversion information 222 and the free block information 223 are the same as the information included in the conventional address management information described with reference to FIG.
- the address management information 221 of this embodiment further includes stream management information 224.
- the stream management information 224 is information characteristic of the recording apparatus 2 of the present embodiment, and is information that does not exist in the conventional recording apparatus.
- the stream management information 224 includes a stream management number, a logical sector number, a logical block number, and a physical block number.
- the recording apparatus 2 acquires a physical block whose entire physical block is an empty area when performing stream recording, and performs stream recording on the acquired physical block. As a result, the recording apparatus can perform high-speed recording.
- the access device 1 transmits an interruption instruction for instructing the interruption of the stream recording to the recording device 2.
- the recording apparatus 2 interrupts the stream recording.
- the recording apparatus 2 holds the physical block currently being stream-recorded as it is without being involved in the evacuation process, so that the stream recording can be continued from the interrupted point when the subsequent stream recording is resumed.
- the recording device 2 does not record data in the unrecorded area of the block including the interruption point until receiving a restart instruction for recording data from the access device with the interruption point as the recording start position. .
- stream data can be stored packed in a physical block, and thus the area use efficiency can be improved.
- the stream management information 224 stores information on the physical block during stream recording when the recording apparatus 2 receives the interruption instruction.
- the stream management number is a serial number of information relating to the block being recorded in the stream being managed.
- the stream management information 224 can store N pieces of information. Thereby, when a plurality of streams are recorded at the same time, a plurality of interrupted portions can be stored in the recording device 2, and convenience is further improved.
- the logical sector number is information indicating the position where the stream data was recorded when recording was interrupted, and indicates a position other than the logical block boundary.
- the stream management information 224 indicates that two streams are suspended, and that stream data is recorded up to logical sector numbers 0x4400 and 0x6800, respectively.
- the logical block number is information indicating the position of the logical block including the logical sector number.
- the logical block number including the logical sector number 0x4400 is 0x0002. It becomes.
- the logical block number including the logical sector number 0x6800 is 0x0003.
- the physical block number is information indicating the position of the physical block associated with the logical block number.
- the physical block numbers associated with the logical block numbers 0x0002 and 0x0003 are 0x0002 and 0x0003, respectively.
- FIG. 6 is a diagram showing a flow of the stream recording process when the interruption process does not occur in the present embodiment.
- FIG. 7 is a diagram showing the state of the physical block at each point in the flow of FIG.
- the file system control unit 102 of the access device 1 creates a stream file. Specifically, in order to create a file with a file size 0 on the recording device 2 as a stream file, the file system control unit 102 of the access device 1 passes through the access unit 103 to file system management information (for example, the FAT file In this case, information such as a FAT table and a directory entry) is written in the nonvolatile memory 22 of the recording device 2.
- file system management information for example, the FAT file
- information such as a FAT table and a directory entry
- the first recording control unit 104 of the access device 1 acquires an empty block.
- the logical address space is divided into fixed-length block units (hereinafter referred to as “allocation unit” (AU)) for management, and other than when restarting after stream recording is interrupted (including recording start of another file), Stream data is recorded for an AU in which the entire AU is an empty area.
- the first recording control unit 104 searches for an AU in which all of the AU is an empty area as an AU to be allocated for stream recording, and specifies its position (hereinafter, this process determines the position).
- the identified AU is called AU1).
- the first recording control unit 104 reads the FAT table from the recording device 2 and performs a process of identifying an AU in which all of the AU is an empty area on the FAT table. It will be.
- FIG. 7A shows the state of the physical block AU1 (physical block number 0x000E) after the processing in step S602.
- AU1 is managed as a free area on the file system area management information such as the FAT table. Since AU1 is in a state in which data of a file deleted in the past (data A to data H) is stored, data cannot be overwritten on AU1 as it is.
- the first recording control unit 104 collectively erases the data in AU1 acquired in step S602.
- an erase command for erasing data is prepared separately from a write command for writing data.
- the first recording control unit 104 performs a process of issuing an erase command to the AU1 area.
- a special command indicating that recording of stream data is started to the AU may be transmitted to the recording apparatus 2.
- the recording apparatus 2 performs batch erasure processing in the recording apparatus 2 as preparation for recording stream data in the corresponding area.
- FIG. 7B shows the state of the physical block AU1 after the process of step S603.
- step S604 the access device 1 transmits to the recording device 2 a write command for instructing the recording device 2 to record the stream data with the head of AU1 as the start position.
- stream data is recorded in the recording device 2 for each predetermined recording unit (hereinafter referred to as “recording unit” (RU)).
- RU recording unit
- the access device 1 transmits a write command to the recording device 2 so as to record the data A ′ in one RU (RU1_1) existing at the head of AU1.
- the recording device 2 records data A ′ in the designated RU (RU1_1).
- FIG. 7C shows the state of the physical block AU1 after the process of step S604.
- step S605 the access device 1 records stream data in a continuous area in the AU1.
- data B ' is recorded in RU1_2 of AU1.
- FIG. 7D shows the state of the physical block AU1 after the process of step S605.
- FIG. 7E shows the state of the physical block AU1 after the process of step S606.
- step S607 the first recording control unit 104 of the access device 1 acquires another free AU (AU2) as in step S602.
- FIG. 7F shows the states of the physical blocks AU1 and AU2 after the process of step S608.
- AU1 is a state where stream data has already been recorded in the entire area
- AU2 is in a state where the entire area has been erased.
- FIG. 7G shows the state of the physical blocks AU1 and AU2 after the process of step S609.
- FIG. 7H shows the states of the physical blocks AU1 and AU2 after the process of step S610.
- FIG. 7 (i) shows the states of the physical blocks AU1 and AU2 after the process of step S611. By the processing so far, the stream data is stored in all areas in AU1 and AU2.
- stream data is recorded by repeating the same process.
- the AU is newly acquired and the acquired data in the AU is collectively deleted, and the stream data is recorded in the AU.
- the copy process by the roll-in save process is reduced, and the recording apparatus can perform high-speed recording during real-time recording.
- FIGS. 8 and 10 are diagrams showing a flow of stream recording processing when interruption processing occurs
- FIGS. 9 and 11 are diagrams showing states of physical blocks at respective points in each flow.
- step S804 Since this is the same process as the stream recording process (steps S601 to S604) in the present embodiment shown in FIG. 6, a detailed description is omitted.
- step S804 the physical block AU1 is in the state shown in FIG.
- FIG. 9D shows the state of the physical block AU1 after the process of step S806.
- the data X2 to X8 stored in the RU corresponding to the old data block are copied to the RUs (RU1_2 to RU1_8) after the data A 'recorded in the RU1_1 by the stream data recording.
- AU1 managed as a temporary block is managed as a data stored block.
- step S807 the file system control unit 102 of the access device 1 creates a stream file. This process is performed, for example, when the recording start button is pressed again by the user when moving image shooting is performed with a movie camera.
- FIG. 9E shows the state of the physical block AU2 after the process of step S808.
- FIG. 9F shows the state of the physical block AU2 after the process of step S809, and all areas in AU2 have been erased.
- FIG. 9G shows the state of the physical block AU2 after the process of step S810.
- FIG. 9H shows the state of the physical block AU2 after the process of step S811. Similarly, the access device 1 performs a stream data recording process.
- step S1004 Since this is the same process as the conventional stream recording process (steps S801 to S804) shown in FIG. 8, a detailed description thereof will be omitted.
- step S1004 the physical block AU1 is in the state shown in FIG.
- the second recording control unit 217 of the recording apparatus 2 stops the recording of the stream.
- the second recording control unit 217 stores, in the stream management information 224, information regarding the last physical block in which the stream was recorded when recording was stopped. That is, the second recording control unit 217 sends the logical sector number indicating the position where recording was interrupted, the number of the logical block including the position, and the number of the physical block corresponding to the logical block to the stream management information 224. Store.
- the second recording control unit 217 receives the interruption instruction command, the second recording control unit 217 stores the unrecorded area of the physical block including the position where the recording is interrupted until the next instruction to resume recording is received from the access device 1.
- the second recording control unit 217 suspends recording, creates suspend address information based on the stream management information 224, and stores the created suspend address information in the nonvolatile memory 22.
- the interruption address information is information including an interruption address indicating a position where the recording is interrupted, and is information that can be referred to by the access device 1.
- the interruption address is a position corresponding to the logical sector number included in the stream management information 224.
- the interrupt address information is stored in a dedicated register or in a part of an existing register.
- the recording device 2 can transmit interruption address information to the access device 1 in response to a request from the access device 1. Details of the interrupt address information will be described later.
- the access device 1 turns off and on the power. This is, for example, processing performed when the user turns off the power of the movie camera once shooting is finished when shooting a movie with the movie camera, and turns on the movie camera when recording is started again. It is.
- the stream management information 224 is stored in the non-volatile memory 22, even if the access device 1 and the recording device 2 are turned off, the recording device 2 performs an additional recording process for the AU in which recording is interrupted. Keep the information needed to do. Therefore, after the power is turned on after the recording is interrupted, an additional recording process can be performed on the AU in which the recording is interrupted.
- step S1009 Similar to step S1001, the file system control unit 102 of the access device 1 creates a stream file. This process is performed, for example, when the recording start button is pressed again by the user when moving image shooting is performed with a movie camera.
- the first recording control unit 104 of the access device 1 requests interruption address information from the second recording control unit 217 of the recording device 2.
- the second recording control unit 217 of the recording device 2 transmits the interrupt address information to the first recording control unit 104 of the access device 1 via the second interface unit 211 in response to the request.
- the first recording control unit 104 of the access device 1 can acquire the interrupt address information via the first interface unit 13.
- the first recording control unit 104 of the access device 1 refers to the interruption address information and the file system area management information acquired in step S1010, confirms an empty state near the interruption address, and records stream data. Determine the resume position.
- the recording device 2 stores the interruption address in the process of step S1006, the remaining area in the AU where the recording is interrupted should be managed as a free area by the file system.
- the first recording control unit 104 refers to the file system area management information (FAT table, etc.) again, and confirms whether the remaining area in the AU where recording was interrupted is actually managed as a free area. To do.
- the first recording control unit 104 gives up the addition to the AU indicated by the interrupt address information, returns to the process of step S1002, and newly acquires a free AU. Then, the stream data is recorded in the acquired AU. If the remaining area in the AU is managed as an empty area, the access device 1 proceeds to the process of step S1012.
- step S1011 When the access device 1 determines in the process of step S1011 that the stream recording can be resumed from the interruption address, the access apparatus 1 records the stream data with the interruption address (the area of RU1_2 in the example of FIG. 10) as the start position. At this time, the access device 1 may transmit information indicating that the recording of the stream data is additional recording to the recording device 2.
- the interruption address the area of RU1_2 in the example of FIG. 10
- FIG. 11D shows the state of the physical block AU1 after the process of step S1013.
- the access device 1 performs the stream data recording process in the same manner.
- the stream recording process shown in FIG. 10 is different from the stream recording process shown in FIG. 8 in that when the recording of stream data is interrupted, the access apparatus 1 instructs the recording apparatus 2 to interrupt the stream recording process.
- the point is that the information 224 is held.
- it is possible to additionally write in the area following the AU where the recording was interrupted when the interruption was resumed.
- this embodiment makes it possible to improve the area use efficiency while enabling the recording apparatus 2 to perform high-speed recording in writing stream data during real-time recording.
- the recording device 2 creates the interrupt address information indicating the position where the recording is interrupted based on the stream management information 224, and stores the created interrupt address information in the register space of the nonvolatile memory 22. Store.
- the recording device 2 transmits the stored interrupt address information to the access device 1 in response to a request from the access device 1. Thereby, the access device 1 can acquire the interruption address information from the recording device 2 as a register.
- FIG. 12 shows three types of storage methods for the interrupt address information in the register. Any one of these three types of storage methods may be employed. Alternatively, these three types of storage methods may be switched as appropriate. Further, methods other than the above three methods may be employed for storing the interrupt address information in the register.
- FIG. 12A shows suspended address information configured to be displayed to the access device 1 in the register space with all (ie, eight) logical sector numbers included in the stream management information 224 as suspended addresses (Suspended). Address 1 to Suspended Address 8).
- the recording apparatus 2 can hold a maximum of eight logical sector numbers.
- the number of logical sector numbers is an example, and the recording apparatus 2 may be configured to hold one or more arbitrary numbers of logical sector numbers.
- FIG. 12B shows an example of the interrupt address information when only one of the plurality of logical sector numbers included in the stream management information 224 is presented to the access device 1 in the register space.
- Target Slot which is the number of the logical sector number currently displayed in the register, is also presented to the access device 1.
- FIG. 12C is a diagram illustrating an example of interrupt address information when only one of a plurality of logical sector numbers included in the stream management information 224 is presented to the access device 1 as an interrupt address in the register space. is there.
- the logical sector number currently displayed in the register is not displayed.
- the interrupt address information of this example for example, the oldest logical sector number among a plurality of registered logical sector numbers may be displayed in the register, or the newest logical sector number is displayed in the register. You may do it.
- the logical sector number with the smallest address may be displayed in the register.
- the logical sector number to be displayed may be determined by an arbitrary method.
- FIG. 13 is a diagram illustrating an example of update processing of the interrupt address information in the second recording control unit 217 of the recording device 2 when the interrupt address information illustrated in FIG. 12C is employed.
- the logical sector number indicating the position where the recording is interrupted in the stream management information 224 is also referred to as an interruption address.
- a block number (for example, a number indicating invalidity such as 0xFFFFFF) indicating that there is no AU in the recording suspended state is displayed in the register.
- the interrupt addresses are sequentially displayed in the register, and the access device 1 can acquire the interrupt addresses sequentially.
- the first recording control unit 104 of the access device 1 collectively acquires all suspended addresses (Suspended Address, hereinafter referred to as “SA”) from the recording device 2.
- SA suspended Address
- the first recording control unit 104 checks whether the counter value i exceeds the maximum registration number (in the example shown in FIG. 12, the maximum registration number is “8”). If the counter value i exceeds the maximum registration number (YES), the first recording control unit 104 proceeds to the process of step S1408. If the counter value i does not exceed the maximum registration number (NO), the first recording control unit 104 proceeds to the process of step S1404.
- step S1404 If the counter value i does not exceed the maximum number of registrations, the first recording control unit 104 refers to the i-th SA among the SAs collectively acquired in step S1401, and the stored address is valid. Check if it shows an address. Here, a valid address is an address that exists in the logical address space of the nonvolatile memory 22. If the stored address is a valid address (YES), the first recording control unit 104 proceeds to the process of step S1405. If the stored address is not a valid address (NO), the first recording control unit In step S1406, the process proceeds to step S1406.
- step S1405 If the first recording control unit 104 determines that the address stored in the process of step S1404 is a valid address, the first recording control unit 104 checks whether all the areas after the SA are free areas in the logical block including the SA. To do. This is a process for confirming that the stream data is managed as an empty area in the file system management information (FAT table or the like) when recording the stream data in the area after SA. If the area after SA is an empty area (YES), the first recording control unit 104 proceeds to the process of step S1407. If the area after SA is not an empty area (NO), the first recording control unit 104 performs S1406. Proceed to the process.
- FAT table or the like file system management information
- step S1406 If the stored address is not a valid address, the first recording control unit 104 adds 1 to the counter value i, and the process returns to step S1403.
- step S1405 If the first recording control unit 104 determines in the process of step S1405 that the area after the SA is an empty area, the first recording control unit 104 writes the stream data to the target logical block with the i-th SA as the start position, and step S1409. Proceed to the process.
- step S1408 If the first recording control unit 104 determines in step S1403 that the counter value i exceeds the maximum number of registrations, the first recording control unit 104 has a logic that can be used for stream data recording in the SA included in the interrupt address information. It is determined that the block was not found. Then, the first recording control unit 104 searches the file system management information for a new logical block that is all free space, and if a logical block that is all free space is found, the first recording control unit 104 streams it to the found logical block. Write data.
- the first recording control unit 104 When the first recording control unit 104 writes the stream data to the logical block, it subtracts the currently recorded size from the size of all the stream data, and checks whether there is any unrecorded stream data. If unrecorded stream data remains (YES), the first recording control unit 104 returns to the process of step S1401. If unrecorded stream data does not remain (NO), the first recording control unit 104 ends the stream data recording process. .
- a logical block that can be used for stream recording is specified based on the collectively acquired SA, and when it is found, the stream recording is performed from the interruption point in the corresponding logical block. It becomes.
- the second recording control unit 217 of the recording device 2 uses the SA (logical sector number) stored in the stream management information 224 as the write start address notified from the access device 1 as an argument of the write command. Check if they match. If the start address matches one of the SAs in the stream management information 224 (YES), the second recording control unit 217 proceeds to the process of step S1502, and the start address does not match any of the SAs in the stream management information 224. In the case (NO), the process proceeds to step S1505.
- SA logical sector number
- the second recording control unit 217 performs an additional write process from an intermediate area in the physical block on the physical block including the corresponding SA determined to match the start address notified in the process of step S1501. carry out. Specifically, data is added to the physical block with the SA as the start position.
- the second recording control unit 217 updates the interrupt address information (FIG. 12A) including the SA.
- step S1505 When the second recording control unit 217 determines in the process of step S1501 that the start address does not match any of the SAs in the stream management information 224, the second recording control unit 217 is notified from the access device 1 with the argument of the write command. It is confirmed whether the logical block number including the write start address exists in the stream management information 224. If the corresponding logical block number exists in the stream management information 224 (YES), the second recording control unit 217 proceeds to the process of step S1506, and if the corresponding logical block number does not exist in the stream management information 224 (NO). The second recording control unit 217 proceeds to the process of step S1508.
- step S1506 When the second recording control unit 217 determines in step S1505 that the corresponding logical block number exists in the stream management information 224, the second recording control unit 217 clears (deletes) the information regarding the corresponding logical block from the stream management information 224.
- step S1508 When the second recording control unit 217 updates the interruption address information, or when it is determined in step S1505 that the corresponding logical block number does not exist in the stream management information 224, it is accessed as an argument of the write command. Data write processing is performed on the physical block including the write start address notified from the device 1 after performing the evacuation processing as necessary.
- the second recording control unit 217 subtracts the currently recorded size from the size of all the stream data, and unrecorded stream data Check if it remains. If unrecorded stream data remains (YES), the second recording control unit 217 returns to the process of step S1501. If unrecorded stream data does not remain (NO), the second recording control unit 217 The data recording process is terminated.
- the recording device 2 determines whether or not the area instructed to write data by the access device 1 is an interruption address.
- the recording apparatus 2 updates the stream management information 224 and the like, and additionally writes the stream data in the physical block including the designated area.
- the first recording control unit 104 initializes the counter value (i) for SA search to 1.
- the first recording control unit 104 checks whether the counter value i exceeds the maximum registration number.
- the maximum registration number is 8, for example.
- the first recording control unit 104 proceeds to the process of step S1608. If the counter value i does not exceed the maximum registration number (NO), the first recording control unit 104 proceeds to the process of step S1603.
- the access device 1 issues a special command for Target Slot setting to the recording device 2 with the counter value i as an argument.
- the recording device 2 is notified of the Target Slot number to be displayed in the register as an argument.
- the recording device 2 changes the SA to be displayed in the register to the SA corresponding to Target Slot designated in the access device 1. That is, by this process, the i-th SA is displayed on the register.
- the access device 1 refers to the register of the recording device 2 and acquires the SA displayed there.
- step S1604 the first recording control unit 104 checks whether the address indicated by the SA acquired in step S1603 is a valid address. When the SA is a valid address (YES), the first recording control unit 104 proceeds to the process of step S1605. When the SA is not a valid address (NO), the first recording control unit 104 proceeds to the process of step S1606. .
- step S1605 When the first recording control unit 104 determines that the SA is a valid address in the process of step S1604, the first recording control unit 104 checks whether all the areas after the SA are free areas in the logical block including the SA. This is a process for confirming that the stream data is managed as an empty area in the file system management information (FAT table or the like) when recording the stream data in the area after SA. If the area after the SA of the logical block is an empty area (YES), the first recording control unit 104 proceeds to the process of step S1607, and if the area after the SA of the logical block is not an empty area (NO), The recording control unit 104 proceeds to the process of step S1606.
- FAT table or the like file system management information
- step S1606 If the first recording control unit 104 determines that SA is not a valid address in the process of step S1604, or determines that the area after SA of the logical block is not a free area in the process of step S1605, the counter The value i is incremented by 1, and the process returns to step S1602.
- step S1605 If the first recording control unit 104 determines in the process of step S1605 that the area after the SA of the logical block is an empty area, the first recording control unit 104 writes the stream data to the target logical block with the SA as the start position, and step S1609. Proceed to the process.
- the first recording control unit 104 sets the logical sector number (interrupt address) indicating the interrupt position stored in the stream management information 224. It is determined that no logical block that can be used for stream data recording has been found. Then, the first recording control unit 104 newly searches the file system management information for logical blocks that are all free areas, and when a logical block that is all free areas is found, Write stream data.
- logical sector number interrupt address
- the first recording control unit 104 subtracts the currently recorded size from the size of all the stream data, and confirms whether unrecorded stream data remains.
- the first recording control unit 104 returns to the process of step S1601.
- unrecorded stream data does not remain (NO)
- the first recording control unit 104 The data recording process is terminated.
- the first recording control unit 104 obtains SAs while changing Target Slot in order from the top among the SAs stored in the stream management information 224, and uses them for stream recording. Identify possible logical blocks.
- the first recording control unit 104 finds a logical block that can be used for stream recording, the first recording control unit 104 performs stream recording from the interrupted point (SA) in the corresponding logical block.
- SA interrupted point
- the first recording control unit 104 of the access device 1 refers to the register of the recording device 2 and acquires the SA.
- the first recording control unit 104 checks whether the address indicated by the SA acquired in step S1701 is a valid address. When the address indicated by SA is a valid address (YES), the first recording control unit 104 proceeds to the process of step S1703. When the address indicated by SA is not a valid address (NO), the first recording control unit 104 Advances to step S1705.
- step S1703 When the first recording control unit 104 determines that the address indicated by the SA is a valid address in the process of step S1702, in the logical block including the determined SA, the first recording control unit 104 checks whether all the areas after the SA are free areas. To do. This is to confirm that the stream data is recorded as an empty area in the file system management information (FAT table, etc.) when recording stream data in the area after SA. If all the areas after SA are free areas (YES), the first recording control section 104 proceeds to the processing of step S1704. If all the areas after SA are not free areas (NO), the first recording control section 104 Advances to step S1705.
- FAT table, etc. file system management information
- the first recording control unit 104 writes the stream data in the target logical block with the SA determined to be a valid address as the start position, and proceeds to the process of step S1706.
- the first recording control unit 104 does not find a logical block that can be used for stream data recording in the SA stored in the register of the recording device 2, and therefore newly creates a logical block that is all free space. Search on file system management information. When the first recording control unit 104 finds a logical block that is all free space, the first recording control unit 104 writes the stream data in the corresponding logical block.
- the first recording control unit 104 subtracts the currently recorded size from the size of all the stream data, and confirms whether unrecorded stream data remains. If unrecorded stream data remains (YES), the first recording control unit 104 returns to the processing of step S1701. If unrecorded stream data does not remain (NO), the first recording control unit 104 performs stream processing. The data recording process is terminated.
- the stream data recording process of FIG. 17 it is determined whether or not the SA displayed in the register of the recording device 2 is a logical block that can be used for stream recording. If the SA can be used for stream recording, the stream recording is performed from the interruption point in the corresponding logical block.
- the access device 1 and the recording device 2 according to the present embodiment are used in combination, and stream data is recorded from the interrupted location by notifying the recording device 2 of the interrupt timing of stream recording. It is possible to resume. As a result, the area use efficiency can be improved while enabling the recording apparatus 2 to perform high-speed recording during real-time recording.
- the recording apparatus 2 operates based on an instruction from the access apparatus 1.
- the recording device 2 includes a nonvolatile memory 22 that stores data, a second interface unit 211 that receives an instruction issued from the access device 1, and a second recording control unit 217 that controls the nonvolatile memory 22.
- the second recording control unit 217 starts recording data in the nonvolatile memory 22.
- interruption information indicating the interruption position, which is the position of the recording area in the nonvolatile memory 22 that was being recorded when the interruption instruction was received, is stored in the nonvolatile memory 22. To do.
- the access device 1 of the present embodiment accesses the recording device 2 including the nonvolatile memory 22 that stores data.
- the access device 1 manages the area in the nonvolatile memory 22 by dividing it into predetermined block length units, searches for an unrecorded area in the nonvolatile memory 22 in predetermined block length units, and stores data in the unrecorded blocks.
- a first recording control unit 104 for recording and a first interface unit for transmitting and receiving data between the access device 1 and the recording device 2 are provided.
- the first recording control unit 104 transmits a recording instruction for recording the data in the nonvolatile memory 22 to the recording device, and interrupts data recording in the middle of the unrecorded block.
- an interruption instruction for instructing interruption of data recording is transmitted to the recording apparatus.
- the access device 1 and the recording device 2 having the above configuration interrupt the recording of data in the nonvolatile memory 22, the location in the nonvolatile memory 22 that was being recorded at the time of the interruption is stored in the nonvolatile memory 22.
- data recording is resumed, data can be recorded in the non-volatile memory 22 with the interruption position as the start position, and thus the area use efficiency can be improved.
- the access device 1 searches for an unrecorded area in the nonvolatile memory 22 in a predetermined block length unit, and records data in the block when an unrecorded area is found. This enables high-speed recording by the recording device 2 during real-time recording.
- the configuration of the controller 21 of the recording apparatus 2 has been described with reference to FIG. 1, but the controller 21 may have other configurations.
- the CPU 212, the RAM 213, and the like of the controller 21 may be arranged outside the controller 21, or conversely, other components may be included in the controller 21.
- the address management information 221 stored in the non-volatile memory 22 of the recording device 2 includes the address conversion information 222, the free block information 223, and the stream management information 224 .
- the configuration of the address management information 221 is merely an example, and the address management information 221 may have other configurations as long as similar address management can be realized.
- the address conversion information 222 may not be realized as a unified management table, and the information may be distributed and stored in the redundant portion of each page.
- the address conversion information 222 and the free block information 223 may be centrally managed with one table.
- the number of the non-volatile memories 22 used in the recording apparatus 2 is not necessarily one, and a plurality of non-volatile memories 22 may be used in combination.
- the management unit described as AU in the above embodiment can be realized by bundling a plurality of physical blocks and managing them as one AU.
- valid interruption addresses are stored in the stream management numbers 1 and 2 in the leading position, but the effective interruption addresses are not necessarily managed by the leading position. good.
- a valid interruption address may be stored at an arbitrary location.
- the logical block number and the physical block number of the stream management information 224 are not necessarily included in the stream management information 224. This is because the logical block number and physical block number can be derived from the logical sector number. If information similar to the logical block number and the physical block number can be managed in a format other than the logical sector number, the information may be stored in a format other than the logical sector number.
- FIG. 12C an example in which only one of the plurality of registered interrupt addresses is displayed in the register (that is, an example in which only one interrupt address is included in the interrupt address information) has been described.
- the access device 1 and the recording device 2 may be configured so that the access device 1 can issue an instruction to clear the currently displayed SA to the recording device 2.
- the use of the interrupt address information in the example of FIG. 12C becomes more effective.
- the access device 1 can obtain the next SA via a register by issuing an SA clear instruction.
- the idea of the present disclosure is applied to the case where the recording of one stream file is completed and then the next stream file is recorded.
- the idea of the present disclosure is not limited to the case of straddling two stream files, and the idea of the present disclosure may be applied to the case where recording and interruption of one stream file are performed.
- the idea of the present disclosure is a technology that can be used in an access device that performs real-time recording, such as a movie camera or DSC, and a recording device such as a memory card that is used in combination with the access device as a recording medium of the access device.
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)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Television Signal Processing For Recording (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
記録装置(2)は、アクセス装置(1)からの指示に基づいて動作する。記録装置は、データを格納する不揮発性メモリ(22)と、アクセス装置から発行される指示を受け付ける通信部(211)と、不揮発性メモリを制御するメモリ制御部(217)と、を備える。メモリ制御部は、アクセス装置から、データを不揮発性メモリに記録するための記録指示を受け付けると、不揮発性メモリへのデータの記録を開始する。そして、メモリ制御部は、アクセス装置から、データの記録を中断するための中断指示を受け付けると、中断指示を受け付けたときに記録中であった不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を、不揮発性メモリに格納する。
Description
本開示は、データを不揮発性メモリに格納する記録装置、記録装置にアクセスするアクセス装置、及び、記録装置およびアクセス装置を備えた記録システムに関する。
音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の内、記録素子にFlashROM等の半導体メモリを使用したメモリカードが知られている。半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。例えば、半導体メモリは、FlashROM等の半導体メモリを機器に内蔵してハードディスクの代わりに使用される。
このようなメモリカードや機器内蔵ストレージには、主にNAND型フラッシュメモリと呼ばれる半導体素子が使用されている。NAND型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子である。NAND型フラッシュメモリは、従来のハードディスクと同様に、複数回書き換え可能な記録装置を構成することが可能である。
図2は、NAND型フラッシュメモリの構成を示した図である。NAND型フラッシュメモリは複数の物理ブロックを含む。物理ブロックはNAND型フラッシュメモリに記録されたデータを消去する際の単位である。NAND型フラッシュメモリは、データを直接上書きすることができず、データを書き込むときに必ず物理ブロック単位で記録済みのデータを一旦消去しなければならないという特徴を持つ。
この物理ブロックは複数のページを含む。ページは、NAND型フラッシュメモリに対してデータの読み出し、および書き込みを行う際の単位である。ページはデータ部と冗長部を含む。データ部は論理アドレス空間としてアクセス装置からアクセスすることが可能な領域であり、実際にファイルデータ等が格納される領域である。
冗長部は、NAND型フラッシュメモリを有する記録装置の管理情報やECC等が格納される領域であり、アクセス装置からはアクセスできない領域である。例えば、データ部の大きさは4KB、冗長部の大きさは128バイト程度となる。また、データ部にのみ着目した場合の物理ブロックの大きさは、例えば4MB程度となる。よって、この大きさの物理ブロック8192個から構成されるNAND型フラッシュメモリの容量は32GBとなる。
NAND型フラッシュメモリには前述の特徴があるので、記録装置が物理ブロックサイズより小さな単位でNAND型フラッシュメモリにデータ書き込みを実施する場合、同一ブロック内に存在する有効なデータを他の物理ブロックにコピーする巻き込み退避処理が必要となる。そのため、NAND型フラッシュメモリは、消去単位より小さな単位でデータを書き込む場合、記録速度が低下することになる。
ムービーカメラやDSCによる動画撮影等のリアルタイム記録を行う際、記録速度が低下すると、ストリームデータを記録装置に記録する速度がストリームデータを生成する速度に間に合わず、リアルタイム記録が停止することがある。ムービーカメラやDSCによる動画撮影では、運動会や結婚式等、二度と再現することができない、ユーザの大切なシーンを記録しているため、リアルタイム記録の停止は致命的な問題となる。
従来、このような問題を解決する方法として、記録装置上のデータ格納領域を固定長ブロック単位で管理し、空き領域(=ストリームデータ記録可能領域)の大きさが閾値以上の固定長ブロックにリアルタイム記録のストリームデータを記録する方法が提案されている(例えば、特許文献1参照)。この方法では、ストリームデータの記録対象となる領域に含まれる既存有効データの大きさが小さくなるため、巻き込み退避処理のオーバーヘッドが小さくなる。その結果としてリアルタイム記録の停止を防ぐことが可能となる。
上記の従来技術では、各固定長ブロック内に含まれる既存有効データの大きさが閾値未満であれば、当該ブロックをストリームデータの記録対象領域として使用することができるため、リアルタイム記録時のデータ格納領域の使用効率は向上する。しかしながら、上記の従来技術では、各固定長ブロック内に少しでも既存有効データが存在する場合、リアルタイム記録中に巻き込み退避処理により既存有効データのコピーをしながらストリームデータを記録する必要がある。そのため、記録装置の最高記録速度を出すことが難しくなる可能性がある。
逆に、既存有効データを含まない固定長ブロックをストリームデータの記録対象領域として使用すれば、リアルタイム記録中に巻き込み退避処理が発生しないため、記録装置による高速な記録が可能となる。しかしながら、この場合、各固定長ブロック内に少しでも既存有効データが含まれる場合には、当該ブロックにストリームデータを記録することができないため、リアルタイム記録時の領域使用効率は低下する。特に記録装置に対してデータの記録および削除を繰り返し実施したことにより、記録装置内のデータが分散して配置されているような場合には、この領域使用効率の低下は顕著となる。
本開示は、記録装置に対してリアルタイム記録を行う場合において、高速な記録を実現しつつ、リアルタイム記録時の領域使用効率を向上させる記録装置、アクセス装置、記録システム、及び、記録方法を提供する。
本開示の記録装置は、アクセス装置からの指示に基づいて動作する。記録装置は、データを格納する不揮発性メモリと、アクセス装置から発行される指示を受け付ける通信部と、不揮発性メモリを制御するメモリ制御部と、を備える。メモリ制御部は、アクセス装置から、データを不揮発性メモリに記録するための記録指示を受け付けると、不揮発性メモリへのデータの記録を開始する。そして、メモリ制御部は、アクセス装置から、データの記録を中断するための中断指示を受け付けると、中断指示を受け付けたときに記録中であった不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を、不揮発性メモリに格納する。
本開示のアクセス装置は、データを格納する不揮発性メモリを備えた記録装置にアクセスする。アクセス装置は、不揮発性メモリ内の領域を所定のブロック長単位に分割して管理し、所定のブロック長単位で不揮発性メモリ内の未記録領域を検索し、未記録ブロックにデータを記録する記録制御部と、アクセス装置と記録装置との間でデータの送受信を行なう通信部とを備える。記録制御部は、未記録ブロックへデータを記録するとき、データを不揮発性メモリに記録するための記録指示を、記録装置へ送信する。そして記録制御部は、データの記録を未記録ブロックの途中で中断するとき、データ記録の中断を指示するための中断指示を記録装置へ送信する。
本開示の記録システムは、データを格納する不揮発性メモリを含む記録装置と、前記不揮発性メモリにアクセスするアクセス装置とを備える。前記アクセス装置は、前記不揮発性メモリ内の領域を所定のブロック長単位に分割して管理し、前記所定のブロック長単位で前記不揮発性メモリ内の未記録領域を検索し、前記未記録ブロックにデータを記録する記録制御部と、前記アクセス装置と前記記録装置との間でデータの送受信を行なう第1通信部とを含む。前記記録装置は、前記アクセス装置から発行される指示を受け付ける第2通信部と、前記不揮発性メモリを制御するメモリ制御部と、を含む。前記アクセス装置の前記記録制御部は、前記未記録ブロックへデータを記録するとき、データを前記不揮発性メモリに記録するための記録指示を、前記記録装置へ送信する。そして前記アクセス装置の前記記録制御部は、前記データ記録を前記未記録ブロックの途中で中断するとき、前記データ記録の中断を指示するための中断指示を前記記録装置へ送信する。前記記録装置のメモリ制御部は、前記アクセス装置から、前記記録指示を受け付けると、前記不揮発性メモリへのデータの記録を開始する。そして前記記録装置のメモリ制御部は、前記アクセス装置から、前記中断指示を受け付けると、前記中断指示を受け付けたときに記録中であった不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を、前記不揮発性メモリに格納する。
本開示の記録方法は、データを格納する不揮発性メモリを含む記録装置と、不揮発性メモリにアクセスするアクセス装置を備える記録システムにおいて、アクセス装置が不揮発性メモリにデータを記録するための記録方法である。記録方法は、アクセス装置において、不揮発性メモリ内の領域を所定のブロック長単位に分割して管理し、所定のブロック長単位で不揮発性メモリ内の未記録領域を検索し、未記録ブロックにデータを記録するステップと、アクセス装置と記録装置との間でデータの送受信を行なうステップとを含み、記録装置において、アクセス装置から発行される指示を受け付けるステップと、不揮発性メモリを制御するステップと、を含む。記録方法は、さらに、アクセス装置において、未記録ブロックへデータを記録するとき、データを不揮発性メモリに記録するための記録指示を、記録装置へ送信するステップと、データ記録を未記録ブロックの途中で中断するとき、データ記録の中断を指示するための中断指示を記録装置へ送信するステップと、メモリ制御部において、アクセス装置から、記録指示を受け付けると、不揮発性メモリへのデータの記録を開始するステップと、アクセス装置から、中断指示を受け付けると、中断指示を受け付けたときに記録中であった不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を、不揮発性メモリに格納するステップとを含む。
本開示の思想によれば、記録装置にリアルタイム記録を行う場合において、高速記録を可能にすると共に、リアルタイム記録時の領域使用効率を向上する記録装置等を提供することが可能となる。
以下、本開示の実施形態として、記録装置、アクセス装置、及び、記録システムについて、図面を参照しつつ説明する。
ただし、詳細な説明において、従来技術および実質的に同一の構成に関する説明のうち不必要な部分は省略されることもある。これは、説明を簡単にするためである。
また、以下の説明および添付の図面は、当業者が本開示を充分に理解できるよう開示されるのであって、特許請求の範囲の主題を限定することを意図されていない。
<1.アクセス装置および記録装置の構成>
図1は、本実施形態におけるアクセス装置および記録装置を含む記録システムの構成図である。図1に示すようにアクセス装置1は、CPU11、RAM12、第1インタフェース部13、およびROM14を含む。
図1は、本実施形態におけるアクセス装置および記録装置を含む記録システムの構成図である。図1に示すようにアクセス装置1は、CPU11、RAM12、第1インタフェース部13、およびROM14を含む。
ROM14にはアクセス装置1を制御するプログラムが格納されている。このプログラムはRAM12を一時記憶領域として使用して、CPU11により実行される。
第1インタフェース部13は、記録装置2とアクセス装置1との間を接続する接続部であり、記録装置2とアクセス装置1との間で制御信号及びデータの送受信を行う。
CPU11は、アプリケーション制御部101、ファイルシステム制御部102、およびアクセス部103を含む。CPU11は、ROM14に格納されているプログラムを読み込んで実行することにより、アプリケーション制御部101、ファイルシステム制御部102、およびアクセス部103の機能を実現する。
アプリケーション制御部101は、データの生成や電源の制御等のアクセス装置1全体の制御を行う。
ファイルシステム制御部102は、FATファイルシステム等のファイルシステムによりデータをファイルとして管理するための制御を行う。
アクセス部103は、記録装置2に対するコマンドやデータの送受信を制御する。例えば、アクセス部103は、ファイルシステム制御部102からデータと共にサイズとアドレスを渡され、指定されたサイズのデータを記録装置2の不揮発性メモリ22における指定された位置に記録する。
ファイルシステム制御部102は更に、第1記録制御部104を含む。第1記録制御部104は、本開示の思想の特徴であるリアルタイム記録時における記録領域の選択、決定、ストリーム記録の中断を、制御する制御部である。第1記録制御部104は、従来のアクセス装置には存在しないものである。
また、図1に示すように、記録装置2は、コントローラ21と不揮発性メモリ22とを含む。
コントローラ21は、不揮発性メモリ22の制御全般を行う装置である。コントローラ21はCPU等を含むシステムLSIとして構成される。コントローラ21は第2インタフェース部211、CPU212、RAM213、ROM214、およびメモリインタフェース部215を含む。
第2インタフェース部211は、記録装置2とアクセス装置1との間を接続する接続部であり、第1インタフェース部13同様、記録装置2とアクセス装置1との間で制御信号及びデータを送受信するインタフェースである。
ROM214には記録装置2を制御するプログラムが格納されている。このプログラムはRAM213を一時記憶領域として使用して、CPU212により実行される。
メモリインタフェース部215は、コントローラ21と不揮発性メモリ22との間を接続する接続部であり、コントローラ21と不揮発性メモリ22との間で不揮発性メモリ22に対するコマンドやデータの送受信を制御する。
CPU212は、アドレス変換制御部216および第2記録制御部217を含む。
アドレス変換制御部216は、不揮発性メモリ22上の物理アドレスと、アクセス装置1からアクセス可能なアドレス空間として記録装置2が提供する論理アドレス空間における論理アドレスとの対応付けを制御する制御部である。
第2記録制御部217は、本開示の思想の特徴であるストリーム記録の中断を制御する制御部であり、従来の記録装置には存在しないものである。
不揮発性メモリ22は、ユーザデータを格納する領域とは別の領域にアドレス管理情報221を格納する。
アドレス管理情報221は物理アドレスと論理アドレスの対応付け等、不揮発性メモリ22内の記録領域のアドレス管理に使用する情報である。ユーザデータはアクセス装置1からアクセス可能な論理アドレス空間内に格納される。これに対して、アドレス管理情報221はアクセス装置1からアクセスできないよう論理アドレス空間の外側に格納される。
アドレス管理情報221は更に、物理アドレスと論理アドレスの対応付けを管理するアドレス変換情報222、空き物理ブロック(以下、「フリーブロック」ともいう)を管理するフリーブロック情報223、およびストリーム記録中のブロックを管理するストリーム管理情報224を含む。ストリーム管理情報224は、本開示の特徴であるストリーム記録中のブロックを管理するための情報であり、従来の記録装置には存在しないものである。
本実施形態の記録装置2は不揮発性メモリ22にストリーム管理情報224を格納する。
記録装置2の第2記録制御部217は、不揮発性メモリ22に格納されたストリーム管理情報224を用いて、物理ブロックのストリーム記録用への割り当て、ストリーム記録の中断、および再開等を制御する。
また、本実施形態のアクセス装置1のファイルシステム制御部102は、ストリーム記録の中断等の指示を記録装置2に発行する第1記録制御部104を含む。
以上で説明したアクセス装置1および記録装置2を組み合わせることにより、リアルタイム記録を行う際において、記録装置2の高速記録を実現できる。さらに、リアルタイム記録の中断、再開を効率よく実施することにより、リアルタイム記録時の領域使用効率を向上させることが可能となる。
<2.従来の記録装置におけるデータ書き込み処理>
本開示の思想の特徴を明確にするために、まず、従来の記録装置におけるデータ書き込み処理を説明する。
本開示の思想の特徴を明確にするために、まず、従来の記録装置におけるデータ書き込み処理を説明する。
図3は従来の記録装置におけるデータ書き込み処理を示したフローチャートである。図4は従来の記録装置におけるアドレス管理情報と物理ブロックの一例を示した図である。
図4に示すように、従来の記録装置におけるアドレス管理情報は、アドレス変換情報と、フリーブロック情報、および一時ブロック情報を含む。アドレス変換情報は、論理アドレスと物理アドレスとの対応付けを管理する情報である。アドレス変換情報は、例えば、各論理ブロックに対して割り当てられている物理ブロックの番号を格納した表により構成される。フリーブロック情報は未割り当ての空き物理ブロックの番号を管理する情報である。一時ブロック情報は、NAND型フラッシュメモリへのデータの上書き処理を実現するために、データコピー用に一時的に使用される物理ブロック(以下、「一時ブロック」という)を管理する情報である。一時ブロック情報は、一時ブロックの番号と、上書き処理が行われた物理ブロック(以下、「旧データブロック」という)の番号とを含む。また、旧データブロックに格納されている、上書きされる前のデータを「旧データ」という。なお、本開示では、説明を簡単にするため、一時ブロックの数は1個とする。
以下、図3を用いて従来の記録装置におけるデータ書き込み処理について説明する。ここでは一例として、論理ブロック番号0x0002のブロックの2ページ目、3ページ目の領域にデータK、データLをそれぞれ記録する場合を想定する。
(S301)記録装置はアドレス変換情報を参照し、書き込み対象領域の旧データが格納された物理ブロックの番号(以下、「OLD_BLK」という)を取得する。図4(a)の例では、書き込み対象領域を含む論理ブロックの、論理ブロック番号0x0002に対応する物理ブロック番号は0x0002であることから、OLD_BLKは0x0002となる。
(S302)OLD_BLKを取得すると記録装置は、一時ブロック情報を参照し、旧データブロックの番号(以下、「TEMP_OLD_BLK」という)を取得する。図4(a)の例では、一時ブロック情報内の旧データブロック番号は0x0001であることから、TEMP_OLD_BLKは0x0001となる。
ここで一時ブロックとは、疑似的な上書き処理を実現するためのブロックである。一時ブロックは、旧データをNAND型フラッシュメモリ上で上書きするために、旧データを格納している物理ブロックとは別に確保される。データ記録時において、記録装置は一時ブロック内のデータを一旦消去し、新データを一時ブロックに記録する。そして記録装置は、旧データを格納している物理ブロック内の、新データに対応する部分以外の有効データを一時ブロックにコピーする。これにより、疑似的にNAND型フラッシュメモリ上での上書き処理を実現する。
(S303)記録装置は、取得したTEMP_OLD_BLK、あるいは一時ブロック情報内の一時ブロックの番号を参照することにより、一時ブロックが既に存在しているか確認する。例えば、一時ブロックが存在しない場合には、TEMP_OLD_BLKおよび一時ブロック情報内の一時ブロック番号に、0xFFFF等の、無効なブロックであることを示す番号を設定しておく。このように一時ブロックが存在しないことを示すように実装することで、一時ブロックの確認が可能となる。図4(a)の例では、TEMP_OLD_BLKは、有効なブロック番号(0x0001)を格納しているため、一時ブロックが存在していることを示す。記録装置は、一時ブロックが存在している場合はステップS304の処理に進み、一時ブロックが存在していない場合にはステップS310の処理に進む。
(S304)記録装置は、ステップS303の確認処理により一時ブロックが存在していると判定した場合、OLD_BLKの値とTEMP_OLD_BLKの値が一致するか確認する。記録装置は、値が一致する場合はステップS305の処理に進み、値が一致しない場合はステップS306の処理に進む。
(S305)記録装置は、ステップS304の確認処理によりOLD_BLKの値とTEMP_OLD_BLKの値が一致すると判定した場合、一時ブロックに所望のデータを書き込むことが可能か確認する。確認方法の一例としては、一時ブロック内の書き込み対象ページに既にデータが記録されているか確認し、書き込み対象ページに既にデータが記録されている場合は書き込み不可、記録されていない場合は記録可能と判定する方法が考えられる。図4(a)の例では、一時ブロックの2ページ目にデータEが、3ページ目にデータFが既に記録されているため、これら2ページの領域に対する上書きが発生するような場合には、一時ブロックへの書き込みができないことになる。記録装置は、一時ブロックへの書き込みが行える場合にはステップS313の処理に進み、一時ブロックへの書き込みが行えない場合には、ステップS306の処理に進む。
(S306)この処理に到達した場合、現在の一時ブロックを使用することができないため、一旦一時ブロックを解放する処理が必要となる。この処理は、一般的にフラッシュメモリの巻き込み退避処理、あるいは集約処理と呼ばれ、図3のフローチャートにおいてはステップS306からS309までの処理に該当する。記録装置は、まず始めに一時ブロック内の未記録領域(消去済み領域)にTEMP_OLD_BLKが示す物理ブロック内の有効データをコピーする。図4(a)の例では、TEMP_OLD_BLKが示す物理ブロック0x0001に格納されているデータBおよびデータC以外の全てのデータを、一時ブロックである物理ブロック0x01BB内の対応ページにコピーする。
(S307)続いて記録装置は、アドレス変換情報を更新し、一時ブロックの物理ブロック番号を、旧データブロックに対応する論理ブロックに対応付ける。図4(b)の例では、一時ブロックの物理ブロック番号である0x01BBの値をアドレス変換情報の論理ブロック番号0x0001に対応する領域に登録する。
(S308)次に記録装置は、TEMP_OLD_BLKの値をフリーブロック情報に登録する。図4(b)の例では、TEMP_OLD_BLKの値である0x0001をフリーブロック情報の最後尾に追加する。
(S309)巻き込み退避処理の最後において、記録装置は一時ブロック情報をクリアする。図4(b)の例では、一時ブロック情報内の各情報を無効なブロック番号を設定する等し、クリア(無効化)する。この巻き込み退避処理により、物理ブロック番号0x0001の領域は、データ格納済みブロックからフリーブロックに変更され、物理ブロック番号0x01BBの領域は一時ブロックからデータ格納済みブロックに変更される。巻き込み退避処理が完了した時点で一時ブロックは存在しないことになる。
(S310)次に記録装置は、データを記録するため、一時ブロックの取得処理を実施する。図3のフローチャートでは、この一時ブロックの取得処理はステップS310からS312までの処理に該当する。まず始めに記録装置は、フリーブロック情報を参照し、フリーブロックとして登録されている物理ブロック番号を取得する。図4(b)の例ではフリーブロック情報の先頭に登録されているフリーブロック番号0x000Eを記録対象のブロックの番号として取得する。
(S311)続いて記録装置は、ステップS310で取得した物理ブロック番号(0x000E)の領域を一括消去する。
(S312)一時ブロックの取得処理の最後において、記録装置は、ステップS310で取得したフリーブロックの番号をフリーブロック情報から削除し、一時ブロック情報に登録する。図4(c)の例では、記録装置は、フリーブロック情報の先頭に登録されていた物理ブロック番号0x000Eの値をフリーブロック情報のリストから削除し、0x000Eの値を一時ブロック情報の一時ブロック番号として設定している。また記録装置は、ステップS301で取得したOLD_BLKの値を一時ブロック情報の旧データブロック番号として設定している。
(S313)最後に記録装置は、一時ブロックに所望のデータを書き込む。図4(c)の例では、一時ブロックの2ページ目、3ページ目の領域にそれぞれデータK、データLを書き込む。
このように、NAND型フラッシュメモリを用いた記録装置は、データを上書きする際に一時ブロックを確保して一時ブロック内のデータを一括消去した上で新データを記録し、そして旧データを一時ブロックにコピーする必要がある。このデータコピー処理が多い場合、実質的な新データの記録時間が長くなることから、記録処理時間が長くなり、記録装置の性能が低下する要因となる。
よって、NAND型フラッシュメモリを用いた記録装置による高速な記録を実現するためには、このコピー処理を削減する必要がある。
本開示では、リアルタイム記録時のストリームデータ記録においてコピー処理を削減し、記録装置の高速記録を可能としつつ、領域使用効率を向上させる方法を提案する。
<3.本実施形態のアドレス管理情報>
本実施形態のアドレス管理情報221の構成について、図5を用いて説明する。図5に示すように、本実施形態のアドレス管理情報221は、アドレス変換情報222およびフリーブロック情報223を含む。アドレス変換情報222およびフリーブロック情報223は図4で説明した従来のアドレス管理情報に含まれる情報と同一のものである。本実施形態のアドレス管理情報221は、更にストリーム管理情報224を含む。ストリーム管理情報224は本実施形態の記録装置2に特徴的な情報であり、従来の記録装置には存在しない情報である。
本実施形態のアドレス管理情報221の構成について、図5を用いて説明する。図5に示すように、本実施形態のアドレス管理情報221は、アドレス変換情報222およびフリーブロック情報223を含む。アドレス変換情報222およびフリーブロック情報223は図4で説明した従来のアドレス管理情報に含まれる情報と同一のものである。本実施形態のアドレス管理情報221は、更にストリーム管理情報224を含む。ストリーム管理情報224は本実施形態の記録装置2に特徴的な情報であり、従来の記録装置には存在しない情報である。
ストリーム管理情報224は、ストリーム管理番号、論理セクタ番号、論理ブロック番号、および物理ブロック番号を含む。
本実施形態の記録装置2は、ストリーム記録を実施する際、物理ブロック内全てが空き領域である物理ブロックを取得し、取得した物理ブロックに対してストリーム記録を実施する。これにより、記録装置の高速な記録が可能となる。
更に本実施形態の記録システムにおいて、ストリーム記録を物理ブロックの途中まで実施した時点でストリーム記録を中断する場合、アクセス装置1はストリーム記録の中断を指示するための中断指示を記録装置2に送信する。記録装置2は中断指示を受信すると、ストリーム記録を中断する。その際、記録装置2は、現在ストリーム記録中となっている物理ブロックを巻き込み退避処理の対象とはせずそのまま保持し、その後のストリーム記録の再開時に中断箇所からストリーム記録を継続できるようにする。つまり記録装置2は、中断指示を受信すると、アクセス装置から、中断箇所を記録の開始位置としてデータを記録するための再開指示を受け付けるまで、中断箇所を含むブロックの未記録領域にデータを記録しない。これにより、ストリーム記録の中断、再開が繰り返される場合においても、ストリームデータを物理ブロック内に詰めて格納することができ、よって領域使用効率を向上させることが可能となる。
ストリーム管理情報224は、上記中断指示を記録装置2が受信した際に、ストリーム記録中の物理ブロックに関する情報を格納する。ストリーム管理番号は管理されているストリーム記録中のブロックに関する情報の通し番号である。図5に示す例では、ストリーム管理情報224はN個の情報を格納できる。これにより、複数ストリームを同時に記録している場合に、複数の中断箇所を記録装置2に記憶することができ、より利便性が高まる。
論理セクタ番号は記録中断時にストリームデータが記録されていた位置を示す情報であり、論理ブロック境界以外の位置を示す。図5に示す例では、ストリーム管理情報224は、2つのストリームが中断状態となっていることを示し、各々論理セクタ番号0x4400、0x6800までストリームデータが記録されていることを示す。論理ブロック番号は、論理セクタ番号を含む論理ブロックの位置を示す情報である。
ここで、図5に示す例では、1つの論理ブロックの大きさを4MB(0x2000セクタ)、1セクタの大きさを512バイトと定義しているため、論理セクタ番号0x4400を含む論理ブロック番号は0x0002となる。同様に論理セクタ番号0x6800を含む論理ブロック番号は0x0003となる。物理ブロック番号は論理ブロック番号に対応付けられた物理ブロックの位置を示す情報である。図5に示す例では、論理ブロック番号0x0002、0x0003に対応付けられた物理ブロック番号は各々0x0002、0x0003となる。
<4.本実施形態における、中断処理が発生しない場合のストリーム記録処理>
次に本実施形態における、中断処理が発生しない場合のストリーム記録処理について、図6、図7を用いて説明する。図6は本実施形態における中断処理が発生しない場合のストリーム記録処理のフローを示す図である。図7は図6のフローにおける各時点の物理ブロックの状態を示す図である。
次に本実施形態における、中断処理が発生しない場合のストリーム記録処理について、図6、図7を用いて説明する。図6は本実施形態における中断処理が発生しない場合のストリーム記録処理のフローを示す図である。図7は図6のフローにおける各時点の物理ブロックの状態を示す図である。
(S601)まず始めにアクセス装置1のファイルシステム制御部102においてストリームファイルを作成する。具体的にはストリームファイルとしてファイルサイズ0のファイルを記録装置2上に作成するため、アクセス装置1のファイルシステム制御部102は、アクセス部103を経由してファイルシステム管理情報(一例としてFATファイルの場合、FATテーブルやディレクトリエントリ等の情報)を、記録装置2の不揮発性メモリ22に書き込む。
(S602)続いてアクセス装置1の第1記録制御部104において空きブロックの取得を行う。本実施形態では、論理アドレス空間を固定長ブロック単位(以下、「アロケーションユニット」(AU)という)に区切って管理し、ストリーム記録中断後の再開時(別ファイルの記録開始も含む)以外は、AU内全てが空き領域となっているAUに対してストリームデータを記録する。そのため、第1記録制御部104は、ストリーム記録に先立ち、ストリーム記録用に割り当てるAUとしてAU内全てが空き領域となっているAUを検索し、その位置を特定する(以降、本処理で位置を特定したAUをAU1と呼ぶ)。一例としてファイルシステムがFATファイルシステムの場合、第1記録制御部104は、FATテーブルを記録装置2から読み出し、FATテーブル上でAU内全てが空き領域となっているAUを特定する処理を実施することとなる。図7(a)はステップS602の処理後の物理ブロックAU1(物理ブロック番号0x000E)の状態を示す。AU1はFATテーブル等のファイルシステムの領域管理情報の上では空き領域として管理されている。AU1には過去に削除されたファイルのデータ(データAからデータH)が格納された状態であるので、このままではAU1にデータを上書きすることはできない。
(S603)次に第1記録制御部104は、ステップS602で取得したAU1内のデータを一括消去する。メモリカード等、NAND型フラッシュメモリを記憶素子として使用している本実施形態の記録装置2には、データ消去のためのイレースコマンドがデータ書き込みのためのライトコマンドとは別に用意されている。本処理では、第1記録制御部104はAU1の領域に対してイレースコマンドを発行する処理を実施する。また、明示的にイレースコマンドを発行するのではなく、AUに対してストリームデータの記録を開始する旨を示す特殊なコマンドを記録装置2に送信しても良い。この特殊なコマンドを受信した場合、記録装置2は該当領域へのストリームデータ記録の準備として一括消去処理を記録装置2で実施する。図7(b)はステップS603の処理後の物理ブロックAU1の状態を示す。
(S604)次にアクセス装置1はAU1の先頭を開始位置としてストリームデータを記録するよう記録装置2に指示するためのライトコマンドを記録装置2に送信する。本実施形態においては、ストリームデータは所定の記録単位(以下、「レコーディングユニット」(RU)という)毎に記録装置2に記録される。これにより1回のライトコマンドに対して記録装置2に送信されるストリームデータの量を一定量確保することができ、コマンド発行のオーバーヘッドによる記録速度低下を防止することが可能となる。アクセス装置1は、ステップS604の処理では、AU1の先頭に存在する1つ分のRU(RU1_1)にデータA’を記録するようライトコマンドを記録装置2に送信する。ライトコマンドを受信した記録装置2は、指定されたRU(RU1_1)にデータA’を記録する。図7(c)はステップS604の処理後の物理ブロックAU1の状態を示す。
(S605)続いてアクセス装置1はAU1内の続きの領域にストリームデータを記録する。ステップS605の処理では、AU1のRU1_2にデータB’を記録する。図7(d)はステップS605の処理後の物理ブロックAU1の状態を示す。
(S606)アクセス装置1は、同様にAU1内の残りの領域にストリームデータを記録する。AU1は8つのRUから構成されているため、最後のRU1_8までストリームデータを順次記録していくこととなる。図7(e)はステップS606の処理後の物理ブロックAU1の状態を示す。
(S607)次にアクセス装置1の第1記録制御部104は、ステップS602と同様に、別の空きAU(AU2)を取得する。
(S608)続いて第1記録制御部104は、ステップS603と同様にAU2内のデータを一括消去する。図7(f)はステップS608の処理後の物理ブロックAU1およびAU2の状態を示す。AU1は既に全領域にストリームデータが記録された状態であり、AU2は全領域が消去済みの状態となっている。
(S609)続いてアクセス装置1は、ステップS604と同様にAU2のRU2_1の領域にストリームデータI’を記録する。図7(g)はステップS609の処理後の物理ブロックAU1およびAU2の状態を示す。
(S610)続いてアクセス装置1は、ステップS605と同様にAU2のRU2_2の領域にストリームデータJ’を記録する。図7(h)はステップS610の処理後の物理ブロックAU1およびAU2の状態を示す。
(S611)続いてアクセス装置1は、ステップS606と同様にAU2内の残りの領域にストリームデータを記録する。図7(i)はステップS611の処理後の物理ブロックAU1およびAU2の状態を示す。ここまでの処理により、AU1およびAU2内の全領域にストリームデータが格納された状態となる。
以降は同様の処理を繰り返し実施することにより、ストリームデータを記録する。
このように本実施形態においては、ストリーム記録の中断が発生しない限り、新規にAUを取得して取得したAU内のデータを一括消去し、AUにストリームデータを記録する。これにより、巻き込み退避処理によるコピー処理を削減し、リアルタイム記録時に記録装置による高速な記録が可能となる。
<5.中断処理が発生する場合のストリーム記録処理>
次に本実施形態のストリーム記録処理と従来のストリーム記録処理との違いを明確にするため、まず、中断処理が発生する場合における従来のストリーム記録処理手順を図8、図9を用いて説明し、その後、中断処理が発生する場合における本実施形態のストリーム記録処理手順を図10、図11を用いて説明する。図8、図10は中断処理が発生する場合のストリーム記録処理のフローを示す図であり、図9、図11は各フローにおける各時点の物理ブロックの状態を示す図である。
次に本実施形態のストリーム記録処理と従来のストリーム記録処理との違いを明確にするため、まず、中断処理が発生する場合における従来のストリーム記録処理手順を図8、図9を用いて説明し、その後、中断処理が発生する場合における本実施形態のストリーム記録処理手順を図10、図11を用いて説明する。図8、図10は中断処理が発生する場合のストリーム記録処理のフローを示す図であり、図9、図11は各フローにおける各時点の物理ブロックの状態を示す図である。
<5-1.従来の、中断処理が発生する場合のストリーム記録処理>
図8、図9を用いて従来のストリーム記録処理手順について説明する。
図8、図9を用いて従来のストリーム記録処理手順について説明する。
(S801からS804)図6に示した本実施形態におけるストリーム記録処理(ステップS601からS604)と同じ処理であるため、詳細な説明を割愛する。ステップS804の処理後、物理ブロックAU1は、図9(c)の状態となる。
(S805)図8に示す例では、RU1_1のストリームデータ記録が完了した時点で、ストリーム記録を中断する場合を想定する。これは、ムービーカメラで動画撮影を実施しているときに、ユーザによって記録停止ボタンが押された場合に相当する。ストリーム記録が中断されると、アクセス装置1のファイルシステム制御部102は、ストリームデータの記録を終了し、記録中であったストリームファイルに関するファイルシステム管理情報(FATテーブルやディレクトリエントリ等)の更新を実施する。具体的には、ストリーム記録を中断したAU1以外の領域に格納されているファイルシステム管理情報に対して記録処理が実施される。
(S806)ストリーム記録中のAU以外のブロックに対する任意のライトコマンドを受信した場合、記録装置2は、図3で説明した一時ブロックに対する巻き込み退避処理を実施する。図9(d)はステップS806の処理後の物理ブロックAU1の状態を示す。ストリームデータ記録によってRU1_1に記録されたデータA’より後のRU(RU1_2~RU1_8)には、旧データブロックの対応するRUに格納されていたデータX2~X8がコピーされる。巻き込み退避処理完了後、一時ブロックとして管理されていたAU1はデータ格納済みブロックとして管理される。そのため、これ以降、物理ブロックAU1に対するデータ書き込みを実施する際には、図3で説明したように再度物理ブロックAU1以外の物理ブロクを一時ブロックとして割り当て、その一時ブロックに新データを記録し、物理ブロックAU1に格納されている旧データをその一時ブロックにコピーする必要がある。
(S807)ステップS801と同様、アクセス装置1のファイルシステム制御部102がストリームファイルを作成する。この処理が行われるのは、例えば、ムービーカメラで動画撮影を実施しているときにユーザによって再度記録開始ボタンが押された場合である。
(S808)次にファイルシステム制御部102は、ステップS802と同様に別の空きAU(AU2)を取得する。図9(e)はステップS808の処理後の物理ブロックAU2の状態を示している。
(S809)続いてファイルシステム制御部102は、ステップS803と同様にAU2内のデータを一括消去する。図9(f)はステップS809の処理後の物理ブロックAU2の状態を示し、AU2内の全領域が消去済みの状態となっている。
(S810)続いてアクセス装置1は、ステップS804と同様にAU2のRU2_1の領域にストリームデータI’を記録する。図9(g)はステップS810の処理後の物理ブロックAU2の状態を示す。
(S811)続いてアクセス装置1は、AU2のRU2_2の領域にストリームデータJ’を記録する。図9(h)はステップS811の処理後の物理ブロックAU2の状態を示す。アクセス装置1は、以下同様にストリームデータの記録処理を実施する。
<5-2.本実施形態における、中断処理が発生する場合のストリーム記録処理>
続いて図10、図11を用いて本実施形態におけるストリーム記録処理について説明する。
続いて図10、図11を用いて本実施形態におけるストリーム記録処理について説明する。
(S1001からS1004)図8に示した従来のストリーム記録処理(ステップS801からS804)と同じ処理であるため、詳細な説明を割愛する。ステップS1004の処理後、物理ブロックAU1は図11(c)の状態となる。
(S1005)図10に示す例では、図8に示す例と同様に、AU1のRU1_1へのストリームデータ記録が完了した時点で、ストリーム記録を中断する場合を想定する。これは、ムービーカメラで動画撮影を実施しているときにユーザによって記録停止ボタンが押された場合に相当する。本実施形態では、この時点でアクセス装置1の第1記録制御部104が、ストリーム記録を中断する旨を示す特殊なコマンド(中断指示コマンド)を記録装置2に発行する。
(S1006)中断指示コマンドを受信すると、記録装置2の第2記録制御部217はストリームの記録を停止する。また第2記録制御部217は、記録を停止した時点でストリームを記録していた最後の物理ブロックに関する情報をストリーム管理情報224に格納する。つまり、第2記録制御部217は、記録が中断された位置を示す論理セクタ番号と、その位置を含む論理ブロックの番号と、その論理ブロックに対応する物理ブロックの番号とをストリーム管理情報224に格納する。また第2記録制御部217は、中断指示コマンドを受信すると、次に記録の再開を指示するコマンドをアクセス装置1から受信するまで、記録が中断された位置を含む物理ブロックの未記録領域への記録(例えば、巻き込み退避処理)を禁止する。また、第2記録制御部217は、記録を中断した後、ストリーム管理情報224に基づいて中断アドレス情報を作成し、作成した中断アドレス情報を不揮発性メモリ22に格納する。ここで中断アドレス情報は、記録が中断した位置を示す中断アドレスを含む情報であり、アクセス装置1が参照できる情報である。中断アドレスは、ストリーム管理情報224に含まれる論理セクタ番号に対応する位置である。本実施形態において、例えば、中断アドレス情報は専用のレジスタに、または既存レジスタの一部に格納される。記録装置2は、アクセス装置1からの要求に応じて中断アドレス情報をアクセス装置1に送信することが可能である。中断アドレス情報の詳細については後述する。
(S1007)アクセス装置1のファイルシステム制御部102は、中断指示コマンドを記録装置2に送信すると、ストリームデータの記録を終了し、それまで記録中であったストリームファイルに関するファイルシステム管理情報(FATテーブルやディレクトリエントリ等)の更新を実施する。具体的にはこの時点で、ストリーム記録を中断したAU1以外の領域に格納されているファイルシステム管理情報に対して記録処理が実施されることになる。本実施形態における記録装置2は、本処理においてAU1以外の領域に記録処理が実施されても、記録が中断された位置を含む物理ブロックの未記録領域への記録が禁止されているので、AU1の領域に巻き込み退避処理を実施せず、AU1の領域をそのままの状態で保持する。これにより、後に行なわれる記録再開時にAU1の続きの領域に対してストリームデータを追記することが可能となる。
(S1008)(必要に応じて)ユーザの指示に基づき、アクセス装置1は電源のOFFおよびONを実施する。これは、例えば、ムービーカメラで動画撮影を実施しているときにユーザが撮影終了後に一旦ムービーカメラの電源をOFFし、再度記録を開始する際にムービーカメラの電源をONする場合に行なわれる処理である。本実施形態では、ストリーム管理情報224を不揮発性メモリ22に格納しているためアクセス装置1及び記録装置2の電源が落とされても、記録装置2は、記録が中断したAUに対する追記処理を実施するために必要な情報を保持し続ける。そのため、記録中断後の電源ON後に、記録が中断されたAUに対する追記処理を実施することができる。
(S1009)ステップS1001と同様、アクセス装置1のファイルシステム制御部102がストリームファイルを作成する。この処理が行われるのは、例えば、ムービーカメラで動画撮影を実施しているときにユーザによって再度記録開始ボタンが押された場合である。
(S1010)次に、アクセス装置1の第1記録制御部104は記録装置2の第2記録制御部217に中断アドレス情報を要求する。記録装置2の第2記録制御部217は、要求に応じて中断アドレス情報を、第2インタフェース部211を介してアクセス装置1の第1記録制御部104に送信する。これにより、アクセス装置1の第1記録制御部104は中断アドレス情報を、第1インタフェース部13を介して取得できる。
(S1011)続いてアクセス装置1の第1記録制御部104は、ステップS1010で取得した中断アドレス情報とファイルシステムの領域管理情報を参照し、中断アドレス付近の空き状態を確認し、ストリームデータの記録再開位置を決定する。ここで、ステップS1006の処理において記録装置2が中断アドレスを記憶した時点で、記録が中断されたAU内の残りの領域は空き領域としてファイルシステムにより管理されているはずである。しかし第1記録制御部104は、念のため、再度ファイルシステムの領域管理情報(FATテーブル等)を参照し、記録が中断されたAU内の残りの領域が本当に空き領域として管理されているか確認する。もしAU内の残りの領域が空き領域として管理されていない場合は、第1記録制御部104は中断アドレス情報が示すAUへの追記をあきらめ、ステップS1002の処理に戻り、新規に空きAUを取得してその取得したAUにストリームデータの記録を行う。AU内の残りの領域が空き領域として管理されていた場合には、アクセス装置1はステップS1012の処理に進む。
(S1012)アクセス装置1は、ステップS1011の処理において中断アドレスからのストリーム記録の再開が可能と判断した場合、中断アドレス(図10の例ではRU1_2の領域)を開始位置としてストリームデータを記録する。このとき、アクセス装置1は記録装置2へ、ストリームデータの記録が追記であることを示す情報を送信してもよい。
(S1013)続いてアクセス装置1は、RU1_3の領域にストリームデータを記録する。図11(d)はステップS1013の処理後の物理ブロックAU1の状態を示す。
アクセス装置1は、以下同様に、ストリームデータの記録処理を実施する。
このように図10に示すストリーム記録処理が図8に示すストリーム記録処理と異なる点は、ストリームデータの記録中断時にアクセス装置1から記録装置2に対して中断を指示し、記録装置2にストリーム管理情報224を保持する点である。これにより本実施形態では、中断再開時に、記録が中断されたAUの続きの領域に追記することが可能となる。これにより、本実施形態は、リアルタイム記録時のストリームデータの書き込みにおいて記録装置2による高速な記録を可能としつつ、領域使用効率を向上させることを可能とする。
<6.中断アドレス情報>
図12を用いて、本実施形態における中断アドレス情報の詳細について説明する。
図12を用いて、本実施形態における中断アドレス情報の詳細について説明する。
本実施形態において、前述の通り、記録装置2はストリーム管理情報224に基づいて、記録が中断された位置を示す中断アドレス情報を作成し、作成した中断アドレス情報を不揮発性メモリ22のレジスタ空間に格納する。記録装置2は、アクセス装置1の要求に応じて、格納した中断アドレス情報をアクセス装置1に送信する。これにより、アクセス装置1は、中断アドレス情報をレジスタとして記録装置2から取得できる。
図12は、中断アドレス情報のレジスタへの3種類の格納方法を示している。この3種類の格納方法のうちのいずれかが採用されればよい。または、この3種類の格納方法が適宜切り替えられてもよい。また、中断アドレス情報のレジスタへの格納方法は、この3種類以外の方法が採用されてもよい。
図12(a)は、ストリーム管理情報224に含まれる全て(すなわち、8個)の論理セクタ番号を中断アドレスとしてレジスタ空間でアクセス装置1に見せるよう構成された中断アドレス情報を示している(Suspended Address1からSuspended Address8)。図12(a)に示す例では、最大8個の論理セクタ番号を記録装置2が保持できる場合を想定している。しかし、論理セクタ番号の個数は一例であり、記録装置2は1つ以上の任意の数の論理セクタ番号を保持できるよう構成されてもよい。
図12(b)は、ストリーム管理情報224に含まれる複数の論理セクタ番号のうちの1つのみがレジスタ空間でアクセス装置1に提示される場合の中断アドレス情報の例を示す。本例においては、レジスタに現在表示されている論理セクタ番号の番号であるTarget Slotもアクセス装置1に提示される。本例の中断アドレス情報を採用する場合、アクセス装置1からの指示により、レジスタ空間に表示する論理セクタ番号を他の論理セクタ番号に切り替えられるようにすると、より利便性が高まる。
図12(c)は、ストリーム管理情報224に含まれる複数の論理セクタ番号のうちの1つのみがレジスタ空間で中断アドレスとしてアクセス装置1に提示される場合の中断アドレス情報の例を示す図である。ただし、本例では、図12(b)に示した例とは異なり、レジスタに現在表示されている論理セクタ番号の番号を表示しない。本例の中断アドレス情報を採用する場合、例えば、複数登録された論理セクタ番号の内、最も古い論理セクタ番号をレジスタに表示するようにしても良いし、最も新しい論理セクタ番号をレジスタに表示するようにしても良い。その他、最もアドレスの若い論理セクタ番号をレジスタに表示してもよい。表示する論理セクタ番号は任意の方法で決定されてよい。
図13は、図12(c)に示す中断アドレス情報を採用した場合の、記録装置2の第2記録制御部217における中断アドレス情報の更新処理の一例を示す図である。なお、以下では、ストリーム管理情報224において記録が中断された位置を示す論理セクタ番号を中断アドレスともいう。
図13(a)の状態では、2つの中断アドレスがストリーム管理情報224に登録されており、レジスタには、2つの中断アドレスのうち先頭の1つが表示されている。この状態で、中断アドレスが示すAUに対して図10のステップS1012の追記処理が実施されると、ストリーム管理情報224内の先頭の中断アドレスと、その中断アドレスに対応する論理ブロックおよび物理ブロックがクリア(消去)される。そしてレジスタは、次の中断アドレスが表示されるよう更新され、図13(b)の状態となる。この状態で更に現在レジスタに表示されている中断アドレスが示すAUに対する追記が実施されると、この中断アドレスもストリーム管理情報224からクリア(消去)される。そしてレジスタには記録中断状態となっているAUが存在しないことを示すブロック番号(例えば、0xFFFFFFFF等の無効であることを示す番号)が表示されるようになる。このようにすることで、図12(c)に示す中断アドレス情報を採用した場合において、中断アドレスが順にレジスタに表示され、アクセス装置1が順次中断アドレスを取得することが可能となる。
<7.アクセス装置および記録装置の記録再開動作>
続いて、図12(a)、(b)、(c)の各々の中断アドレス情報を用いたアクセス装置1の第1記録制御部104におけるストリームデータ記録処理、記録装置2の第2記録制御部217におけるストリームデータ記録処理について、図14から図17を用いて説明する。ここでの説明は、ストリームデータ記録領域の決定方法と、ストリームデータ自体の書き込みに焦点を絞っており、その他の処理(ファイルシステム管理情報の更新処理等)は割愛する。
続いて、図12(a)、(b)、(c)の各々の中断アドレス情報を用いたアクセス装置1の第1記録制御部104におけるストリームデータ記録処理、記録装置2の第2記録制御部217におけるストリームデータ記録処理について、図14から図17を用いて説明する。ここでの説明は、ストリームデータ記録領域の決定方法と、ストリームデータ自体の書き込みに焦点を絞っており、その他の処理(ファイルシステム管理情報の更新処理等)は割愛する。
<7-1.全ての中断アドレスがアクセス装置に提示される場合>
まず、図12(a)に示す中断アドレス情報が採用された場合の、アクセス装置1および記録装置2におけるストリームデータ記録処理を説明する。
まず、図12(a)に示す中断アドレス情報が採用された場合の、アクセス装置1および記録装置2におけるストリームデータ記録処理を説明する。
<7-1-1.アクセス装置の動作>
以下、本例における、アクセス装置1の第1記録制御部104によるストリームデータ記録処理について図14を参照して説明する。
以下、本例における、アクセス装置1の第1記録制御部104によるストリームデータ記録処理について図14を参照して説明する。
(S1401)アクセス装置1の第1記録制御部104は、記録装置2から全ての中断アドレス(Suspended Address、以下、「SA」という)を一括取得する。図12(a)に示す中断アドレス情報が採用された場合、全てのSAはレジスタ内に並べて格納されているため、アクセス装置1はレジスタを読み出すことで、一括してSAを取得することができる。
(S1402)第1記録制御部104は、SAを一括して取得すると、SA探索用のカウンタ値iを1に初期化する。
(S1403)第1記録制御部104は、カウンタ値iが最大登録数を超えているか確認する(図12に示す例の場合、最大登録数は“8”である)。カウンタ値iが最大登録数を超えている場合(YES)、第1記録制御部104はステップS1408の処理に進む。カウンタ値iが最大登録数を超えていない場合は(NO)、第1記録制御部104はステップS1404の処理に進む。
(S1404)カウンタ値iが最大登録数を超えていない場合、第1記録制御部104は、ステップS1401で一括取得したSAの内、i番目のSAを参照し、格納されているアドレスが有効なアドレスを示しているか確認する。ここで、有効なアドレスは、不揮発性メモリ22の論理アドレス空間内に存在するアドレスである。格納されているアドレスが有効なアドレスの場合(YES)、第1記録制御部104はステップS1405の処理に進み、格納されているアドレスが有効なアドレスでない場合は(NO)、第1記録制御部104はステップS1406の処理に進む。
(S1405)第1記録制御部104は、ステップS1404の処理で格納されているアドレスが有効なアドレスと判定した場合、該当SAを含む論理ブロックにおいて、SA以降の領域が全て空き領域であるか確認する。これは、SA以降の領域へストリームデータを記録するにあたり、ファイルシステム管理情報(FATテーブル等)の上でも空き領域として管理されていることを確認する処理である。SA以降の領域が空き領域である場合(YES)、第1記録制御部104はステップS1407の処理に進み、SA以降の領域が空き領域でない場合(NO)は、第1記録制御部104はS1406の処理に進む。
(S1406)格納されているアドレスが有効なアドレスでない場合、第1記録制御部104は、カウンタ値iを1加算し、ステップS1403の処理に戻る。
(S1407)第1記録制御部104は、ステップS1405の処理においてSA以降の領域が空き領域であると判定した場合、i番目のSAを開始位置として、対象論理ブロックにストリームデータを書き込み、ステップS1409の処理に進む。
(S1408)第1記録制御部104は、ステップS1403の処理においてカウンタ値iが最大登録数を超えていると判定した場合、中断アドレス情報に含まれるSAにはストリームデータ記録に使用できそうな論理ブロックが見つからなかったと判定する。すると第1記録制御部104は、全て空き領域となっている論理ブロックを新規にファイルシステム管理情報上で検索し、全て空き領域となっている論理ブロックを見つけたときは見つかった論理ブロックにストリームデータを書き込む。
(S1409)第1記録制御部104は、論理ブロックにストリームデータを書き込むと、全ストリームデータのサイズから今回記録したサイズを差し引き、未記録のストリームデータが残っているか確認する。第1記録制御部104は、未記録のストリームデータが残っている場合(YES)、ステップS1401の処理に戻り、未記録のストリームデータが残っていない場合(NO)、ストリームデータ記録処理を終了する。
このように図14に示すストリームデータ記録処理では、一括取得したSAに基づいてストリーム記録に使用可能な論理ブロックを特定し、見つかった場合に該当論理ブロック内の中断箇所からストリーム記録を実施することとなる。
<7-1-2.記録装置の動作>
以下、図12(a)に示す中断アドレス情報が採用された場合の、記録装置2の第2記録制御部217におけるストリームデータ記録処理について図15を参照して説明する。
以下、図12(a)に示す中断アドレス情報が採用された場合の、記録装置2の第2記録制御部217におけるストリームデータ記録処理について図15を参照して説明する。
(S1501)記録装置2の第2記録制御部217は、ライトコマンドの引数としてアクセス装置1から通知された書き込み開始アドレスが、ストリーム管理情報224に格納されているSA(論理セクタ番号)のいずれかと一致するか確認する。第2記録制御部217は、開始アドレスがストリーム管理情報224内のSAのいずれかと一致する場合(YES)、ステップS1502の処理に進み、開始アドレスがストリーム管理情報224内のSAのいずれとも一致しない場合(NO)は、ステップS1505の処理に進む。
(S1502)第2記録制御部217は、ステップS1501の処理で通知された開始アドレスと一致していると判定した該当SAを含む物理ブロックに対して、物理ブロック内の途中の領域から追記処理を実施する。具体的には、該当SAを開始位置として物理ブロックにデータを追記する。
(S1503)第2記録制御部217は、データを追記すると、ストリーム管理情報224からデータを追記した物理ブロックに関する情報をクリア(削除)する。
(S1504)第2記録制御部217は、SAを含む中断アドレス情報(図12(a))を更新する。
(S1505)第2記録制御部217は、ステップS1501の処理で開始アドレスがストリーム管理情報224内のSAのいずれとも一致していないと判定した場合、ライトコマンドの引数でアクセス装置1から通知された書き込み開始アドレスを含む論理ブロックの番号がストリーム管理情報224内に存在するか確認する。該当論理ブロック番号がストリーム管理情報224内に存在する場合(YES)、第2記録制御部217はステップS1506の処理に進み、該当論理ブロック番号がストリーム管理情報224内に存在しない場合は(NO)、第2記録制御部217はステップS1508の処理に進む。
(S1506)第2記録制御部217は、ステップS1505の処理で該当論理ブロック番号がストリーム管理情報224内に存在すると判定した場合、ストリーム管理情報224から該当論理ブロックに関する情報をクリア(削除)する。
(S1507)第2記録制御部217は、該当論理ブロックに関する情報をクリアすると、SAを含む中断アドレス情報(図12(a))を更新する。
(S1508)第2記録制御部217は、中断アドレス情報を更新したとき、またはステップS1505の処理で該当論理ブロック番号がストリーム管理情報224内に存在しないと判定したときは、ライトコマンドの引数としてアクセス装置1から通知された書き込み開始アドレスを含む物理ブロックに対して、必要に応じて巻き込み退避処理を実施した上で、データの書き込み処理を実施する。
(S1509)第2記録制御部217は、通知された書き込み開始アドレスを含む物理ブロックへのストリームデータの記録を完了すると、全ストリームデータのサイズから今回記録したサイズを差し引き、未記録のストリームデータが残っているか確認する。未記録のストリームデータが残っている場合(YES)、第2記録制御部217はステップS1501の処理に戻り、未記録のストリームデータが残っていない場合(NO)、第2記録制御部217はストリームデータ記録処理を終了する。
このように図15に示すストリームデータ記録処理では、記録装置2は、アクセス装置1からデータ書き込みを指示された領域が中断アドレスか否かを判定する。そして記録装置2は、指示された領域が中断アドレスに該当する場合はストリーム管理情報224等を更新し、ストリームデータを指示された領域を含む物理ブロックに追記することとなる。
<7-2.アクセス装置が中断アドレスを1つのみ提示される場合の、アクセス装置の動作(1)>
以下、図12(b)に示す中断アドレス情報を採用した場合の、アクセス装置1の第1記録制御部104におけるストリームデータ記録処理について図16を参照して説明する。
以下、図12(b)に示す中断アドレス情報を採用した場合の、アクセス装置1の第1記録制御部104におけるストリームデータ記録処理について図16を参照して説明する。
(S1601)第1記録制御部104は、SA探索用のカウンタ値(i)を1に初期化する。
(S1602)次に第1記録制御部104は、カウンタ値iが最大登録数を超えているか確認する。最大登録数は例えば8である。カウンタ値iが最大登録数を超えている場合(YES)、第1記録制御部104はステップS1608の処理に進む。カウンタ値iが最大登録数を超えていない場合(NO)、第1記録制御部104はステップS1603の処理に進む。
(S1603)Target Slot設定用の特殊コマンドを、カウンタ値iを引数としてアクセス装置1が記録装置2に発行する。この特殊コマンドでは、レジスタに表示させたいTarget Slotの番号を引数として記録装置2に通知する。記録装置2は、本コマンドを受信すると、レジスタに表示させるSAをアクセス装置1に指定されたTarget Slotに対応するSAに変更する。すなわち、本処理により、i番目のSAがレジスタに表示されるようになる。アクセス装置1は、記録装置2のレジスタを参照し、そこに表示されたSAを取得する。
(S1604)次に第1記録制御部104は、ステップS1603で取得したSAが示すアドレスが有効なアドレスであるかを確認する。SAが有効なアドレスの場合(YES)、第1記録制御部104はステップS1605の処理に進み、SAが有効なアドレスでない場合(NO)は、第1記録制御部104はステップS1606の処理に進む。
(S1605)第1記録制御部104は、ステップS1604の処理でSAが有効なアドレスであると判定した場合、該当SAを含む論理ブロックにおいて、SA以降の領域が全て空き領域であるか確認する。これは、SA以降の領域へストリームデータを記録するにあたり、ファイルシステム管理情報(FATテーブル等)の上でも空き領域として管理されていることを確認する処理である。論理ブロックのSA以降の領域が空き領域である場合(YES)、第1記録制御部104はステップS1607の処理に進み、論理ブロックのSA以降の領域が空き領域でない場合は(NO)、第1記録制御部104はステップS1606の処理に進む。
(S1606)第1記録制御部104は、ステップS1604の処理においてSAが有効なアドレスでないと判定した場合、またはステップS1605の処理において論理ブロックのSA以降の領域が空き領域でないと判定した場合、カウンタ値iの値を1加算し、ステップS1602の処理に戻る。
(S1607)第1記録制御部104は、ステップS1605の処理において論理ブロックのSA以降の領域が空き領域であると判定した場合、SAを開始位置として、対象論理ブロックにストリームデータを書き込み、ステップS1609の処理に進む。
(S1608)第1記録制御部104は、ステップS1602の処理においてカウンタ値iが最大登録数を超えている場合、ストリーム管理情報224に格納された中断位置を示す論理セクタ番号(中断アドレス)にはストリームデータ記録に使用できそうな論理ブロックが見つからなかったと判定する。すると第1記録制御部104は、全て空き領域となっている論理ブロックを新規にファイルシステム管理情報上で検索し、全て空き領域となっている論理ブロックを見つけたときは、見つけた論理ブロックにストリームデータを書き込む。
(S1609)第1記録制御部104は、論理ブロックへのストリームデータの記録を完了すると、全ストリームデータのサイズから今回記録したサイズを差し引き、未記録のストリームデータが残っているか確認する。未記録のストリームデータが残っている場合(YES)、第1記録制御部104はステップS1601の処理に戻り、未記録のストリームデータが残っていない場合(NO)、第1記録制御部104はストリームデータ記録処理を終了する。
このように図16に示すストリームデータ記録処理では、第1記録制御部104は、ストリーム管理情報224に格納されたSAのうち先頭から順にTarget Slotを変更しながらSAを取得してストリーム記録に使用可能な論理ブロックを特定する。そして第1記録制御部104は、ストリーム記録に使用可能な論理ブロックが見つかった場合、該当論理ブロック内の中断箇所(SA)からストリーム記録を実施することとなる。
なお、図12(b)に示す中断アドレス情報を採用する場合の記録装置2の第2記録制御部217におけるストリームデータ記録処理は、図15で説明したストリームデータ記録処理とほぼ同じであるため、説明を割愛する。
<7-3.中断アドレスが1つのみ提示される場合の、アクセス装置の動作(2)>
以下、図12(c)に示す中断アドレス情報を採用した場合の、アクセス装置1の第1記録制御部104におけるストリームデータ記録処理を説明する。図17を用いて、本例におけるストリームデータ記録処理を説明する。
以下、図12(c)に示す中断アドレス情報を採用した場合の、アクセス装置1の第1記録制御部104におけるストリームデータ記録処理を説明する。図17を用いて、本例におけるストリームデータ記録処理を説明する。
(S1701)アクセス装置1の第1記録制御部104は記録装置2のレジスタを参照し、SAを取得する。
(S1702)第1記録制御部104は、ステップS1701で取得したSAが示すアドレスが有効なアドレスであるかを確認する。SAが示すアドレスが有効なアドレスである場合(YES)、第1記録制御部104はステップS1703の処理に進み、SAが示すアドレスが有効なアドレスでない場合(NO)は、第1記録制御部104はステップS1705の処理に進む。
(S1703)第1記録制御部104は、ステップS1702の処理でSAが示すアドレスが有効なアドレスと判定した場合、判定したSAを含む論理ブロックにおいて、SA以降の領域が全て空き領域であるか確認する。これは、SA以降の領域へストリームデータを記録するにあたり、ファイルシステム管理情報(FATテーブル等)の上でも空き領域として管理されていることを確認するためである。SA以降の領域が全て空き領域である場合(YES)、第1記録制御部104はステップS1704の処理に進み、SA以降の領域が全て空き領域でない場合(NO)は、第1記録制御部104はステップS1705の処理に進む。
(S1704)第1記録制御部104は、有効なアドレスであると判定したSAを開始位置として、対象論理ブロックにストリームデータを書き込み、ステップS1706の処理に進む。
(S1705)第1記録制御部104は、記録装置2のレジスタに格納されたSAにはストリームデータ記録に使用できそうな論理ブロックが見つからなかったため、全て空き領域となっている論理ブロックを新規にファイルシステム管理情報上で検索する。そして第1記録制御部104は、全て空き領域となっている論理ブロックを見つけた場合、該当論理ブロックにストリームデータを書き込む。
(S1706)第1記録制御部104は、論理ブロックへのストリームデータの記録が完了すると、全ストリームデータのサイズから今回記録したサイズを差し引き、未記録のストリームデータが残っているか確認する。未記録のストリームデータが残っている場合(YES)、第1記録制御部104はステップS1701の処理に戻り、未記録のストリームデータが残っていない場合(NO)、第1記録制御部104はストリームデータ記録処理を終了する。
このように図17のストリームデータ記録処理では、記録装置2のレジスタに表示されたSAがストリーム記録に使用可能な論理ブロックか否かを判定される。そしてSAがストリーム記録に使用可能であれば該当論理ブロック内の中断箇所からストリーム記録を実施することとなる。
なお、図12(c)に示す中断アドレス情報が採用された場合の、記録装置2の第2記録制御部217におけるストリームデータ記録処理は、図15で説明した処理とほぼ同じであるため、説明を割愛する。
以上のように、本実施形態のアクセス装置1と記録装置2とを組み合わせて使用し、ストリーム記録の中断タイミングをアクセス装置1から記録装置2に通知することにより、中断箇所からストリームデータの記録を再開することが可能となる。これにより、リアルタイム記録時に記録装置2による高速な記録を可能としつつ、領域使用効率を向上させることが可能となる。
<8.本実施形態のまとめ>
以上のように、本実施形態の記録装置2は、アクセス装置1からの指示に基づいて動作する。記録装置2は、データを格納する不揮発性メモリ22と、アクセス装置1から発行される指示を受け付ける第2インタフェース部211と、不揮発性メモリ22を制御する第2記録制御部217とを備える。第2記録制御部217は、アクセス装置1から、データを不揮発性メモリ22に記録するための記録指示を受け付けると、不揮発性メモリ22へのデータの記録を開始し、アクセス装置1から、データの記録を中断するための中断指示を受け付けると、中断指示を受け付けたときに記録中であった不揮発性メモリ22内の記録領域の位置である中断位置を示す中断情報を、不揮発性メモリ22に格納する。
以上のように、本実施形態の記録装置2は、アクセス装置1からの指示に基づいて動作する。記録装置2は、データを格納する不揮発性メモリ22と、アクセス装置1から発行される指示を受け付ける第2インタフェース部211と、不揮発性メモリ22を制御する第2記録制御部217とを備える。第2記録制御部217は、アクセス装置1から、データを不揮発性メモリ22に記録するための記録指示を受け付けると、不揮発性メモリ22へのデータの記録を開始し、アクセス装置1から、データの記録を中断するための中断指示を受け付けると、中断指示を受け付けたときに記録中であった不揮発性メモリ22内の記録領域の位置である中断位置を示す中断情報を、不揮発性メモリ22に格納する。
また、本実施形態のアクセス装置1は、データを格納する不揮発性メモリ22を含む記録装置2にアクセスする。アクセス装置1は、不揮発性メモリ22内の領域を所定のブロック長単位に分割して管理し、所定のブロック長単位で不揮発性メモリ22内の未記録領域を検索し、未記録ブロックにデータを記録する第1記録制御部104と、アクセス装置1と記録装置2との間でデータの送受信を行なう第1インタフェース部とを備える。第1記録制御部104は、未記録ブロックへデータを記録するとき、データを不揮発性メモリ22に記録するための記録指示を、記録装置へ送信し、データの記録を未記録ブロックの途中で中断するとき、データ記録の中断を指示するための中断指示を記録装置へ送信する。
上記構成を有するアクセス装置1および記録装置2は、不揮発性メモリ22へのデータの記録を中断するとき、中断時に記録中であった不揮発性メモリ22内の位置を不揮発性メモリ22に格納する。これにより、データ記録の再開時、中断位置を開始位置として不揮発性メモリ22にデータを記録することが可能となり、よって領域使用効率を向上させることが可能となる。
また、アクセス装置1は、所定のブロック長単位で不揮発性メモリ22内の未記録領域を検索し、未記録領域が見つかったとき、ブロックにデータを記録する。これにより、リアルタイム記録時に記録装置2による高速な記録が可能となる。
<9.他の実施形態>
以上、本開示の実施形態について説明してきたが、本開示の思想は上記の実施形態に限定されない。本開示の趣旨を逸脱しない範囲で実施形態を変更することができる。以下、本開示の思想を適用できる他の実施形態について説明する。
以上、本開示の実施形態について説明してきたが、本開示の思想は上記の実施形態に限定されない。本開示の趣旨を逸脱しない範囲で実施形態を変更することができる。以下、本開示の思想を適用できる他の実施形態について説明する。
上記実施形態で記載された種々の数値は一例であり、他の値を使用しても良い。例えば、上記実施形態で説明された物理ブロックサイズやページサイズ等の値は全て一例であり、上記の値に限定されるものではない。
また上記実施形態では、図1を参照して記録装置2のコントローラ21の構成を説明したが、コントローラ21をその他の構成としても良い。例えば、コントローラ21のCPU212やRAM213等をコントローラ21の外部に配置しても良いし、逆にその他の構成要素をコントローラ21に含ませても良い。
また上記実施形態では、記録装置2の不揮発性メモリ22に格納されるアドレス管理情報221が、アドレス変換情報222、フリーブロック情報223、およびストリーム管理情報224から構成される例を説明した。しかし、このアドレス管理情報221の構成は一例であり、同様のアドレス管理を実現できるものであれば、アドレス管理情報221をその他の構成としても良い。例えば、アドレス変換情報222を一元的な管理テーブルとして実現せず、各ページの冗長部に情報を分散して格納するような構成としても良い。あるいはアドレス変換情報222とフリーブロック情報223を1つのテーブルで一元管理するような構成としても良い。
また上記実施形態では、記録装置2に使用される不揮発性メモリ22の枚数は1枚である必要はなく、複数枚を組み合わせて使用しても良い。特に複数の不揮発性メモリ22に対して並列にデータ書き込みできるように構成した場合、更に書き込み処理を高速化することが可能となる。この場合、上記実施形態でAUとして説明した管理単位を、複数の物理ブロックを束ねて1つのAUとして管理することで実現することができる。
また図5に記載したストリーム管理情報224には、ストリーム管理番号1、2の行に有効な中断アドレスが前詰で格納されているが、有効な中断アドレスは必ずしも前詰で管理しなくても良い。例えば、任意の箇所に有効な中断アドレスを格納するようにしても良い。また、ストリーム管理情報224の論理ブロック番号、物理ブロック番号は、必ずしもストリーム管理情報224に含めなくても良い。これは、論理ブロック番号および物理ブロック番号が論理セクタ番号から導出することができるためである。また、論理セクタ番号以外の形式で論理ブロック番号および物理ブロック番号と同様の情報を管理できるのであれば、論理セクタ番号以外の形式で情報を格納しても良い。
また図12(c)では、複数登録された中断アドレスの内、任意の1つのみがレジスタに表示される例(つまり、中断アドレス情報に中断アドレスが1つのみ含まれる例)について説明した。この場合、アクセス装置1は、レジスタに表示されているSA以外のSAを知る手段がないため、その他のSAを有効に使用することができない可能性がある。よって、アクセス装置1から記録装置2に対して、現在表示中のSAをクリアする指示を出せるようアクセス装置1および記録装置2を構成してもよい。これにより、図12(c)の例における中断アドレス情報の使用がより効果的になる。この構成により、アクセス装置1は、現在表示中のSAが何らかの理由でストリーム記録に使用できない場合でも、SAのクリア指示を出すことにより、次のSAをレジスタ経由で取得することができる。
また図12(c)に示す例に限らず、図12(a)に示す中断アドレス情報および図12(b)に示す中断アドレス情報のいずれか一方が採用される場合においても、登録済みの中断アドレスの一部あるいは全てを、アクセス装置1からの指示によりクリアすることができるようにしても良い。
また図10に示すストリームデータ記録の例では、1つのストリームファイルの記録が終了した後、次のストリームファイルを記録するケースに本開示の思想を適用することを説明した。しかし本開示の思想は、2つのストリームファイルに跨る場合に限定されず、1つのストリームファイルの記録中断、再開が行われる場合にも本開示の思想を適用しても良い。
以上、本開示における技術の例示として、実施形態を説明した。そのために、詳細な説明および添付の図面を開示した。よって、詳細な説明および添付の図面に記載された構成要素の中には、課題解決のために必須でない構成要素が含まれることがある。したがって、それらの必須でない構成要素が、詳細な説明および添付の図面に記載されているからといって、それらの必須でない構成要素が必須であると直ちに認定されるべきではない。
また、上記実施形態は、本開示における技術を例示するためのものである。よって、上記実施形態は、特許請求の範囲またはその均等の範囲において種々の変更、置換、付加および/または省略等を行なわれてもよい。
本開示の思想は、ムービーカメラやDSC等のリアルタイム記録を行うアクセス装置と、当該アクセス装置の記録媒体としてアクセス装置と組み合わせて使用されるメモリカード等の記録装置で利用可能な技術である。
Claims (9)
- アクセス装置からの指示に基づいて動作する記録装置であって、
データを格納する不揮発性メモリと、
前記アクセス装置から発行される指示を受け付ける通信部と、
前記不揮発性メモリを制御するメモリ制御部と
を備え、
前記メモリ制御部は、
前記アクセス装置から、データを前記不揮発性メモリに記録するための記録指示を受け付けると、前記不揮発性メモリへのデータの記録を開始し、
前記アクセス装置から、前記データの記録を中断するための中断指示を受け付けると、前記中断指示を受け付けたときに記録中であった不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を、前記不揮発性メモリに格納する、
記録装置。 - 前記不揮発性メモリはデータを格納する所定の大きさのブロックを含み、
前記メモリ制御部は、前記アクセス装置から前記中断指示を受け付けると、前記アクセス装置から、前記中断位置を記録の開始位置としてデータを記録するための再開指示を受け付けるまで、前記中断位置を含む前記ブロックの未記録領域にデータを記録しない、
請求項1記載の記録装置。 - 前記通信部は前記中断情報を前記アクセス装置へ送信する、
請求項1記載の記録装置。 - 前記不揮発性メモリはデータを格納する所定の大きさのブロックを含み、
前記メモリ制御部は、前記通信部がアクセス装置から、前記中断位置を含む前記ブロックの未記録領域へのデータの記録を指示するための記録指示を受け付けると、前記中断位置を示す中断情報を削除する、
請求項1記載の記録装置。 - データを格納する不揮発性メモリを含む記録装置にアクセスするアクセス装置であって、
前記不揮発性メモリ内の領域を所定のブロック長単位に分割して管理し、前記所定のブロック長単位で前記不揮発性メモリ内の未記録領域を検索し、前記未記録ブロックにデータを記録する記録制御部と、
前記アクセス装置と前記記録装置との間でデータの送受信を行なう通信部と
を備え、
前記記録制御部は、
前記未記録ブロックへデータを記録するとき、データを前記不揮発性メモリに記録するための記録指示を、前記記録装置へ送信し、
前記データの記録を前記未記録ブロックの途中で中断するとき、前記データ記録の中断を指示するための中断指示を前記記録装置へ送信する、
アクセス装置。 - 前記通信部は、前記アクセス装置が前記中断指示を受信したときに前記アクセス装置が記録中であった前記不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を、前記アクセス装置から取得する、
請求項5記載のアクセス装置。 - 前記記録制御部は、
前記記録装置から取得した中断情報によって示される中断位置が有効なアドレス情報であるか否かと、前記中断位置が未記録領域であるか否かとを判定し、
前記中断位置が有効なアドレス情報であり、かつ前記中断位置が未記録領域であると判定した場合、前記中断位置を記録の開始位置としてデータを記録するよう指示するための再開指示を、前記記録装置へ送信する、
請求項6記載のアクセス装置。 - データを格納する不揮発性メモリを含む記録装置と、前記不揮発性メモリにアクセスするアクセス装置とを備える記録システムであって、
前記アクセス装置は、
前記不揮発性メモリ内の領域を所定のブロック長単位に分割して管理し、前記所定のブロック長単位で前記不揮発性メモリ内の未記録領域を検索し、前記未記録ブロックにデータを記録する記録制御部と、
前記アクセス装置と前記記録装置との間でデータの送受信を行なう第1通信部と
を含み、
前記記録装置は、
前記アクセス装置から発行される指示を受け付ける第2通信部と、
前記不揮発性メモリを制御するメモリ制御部と、
を含み、
前記アクセス装置の前記記録制御部は、
前記未記録ブロックへデータを記録するとき、データを前記不揮発性メモリに記録するための記録指示を、前記記録装置へ送信し、
前記データ記録を前記未記録ブロックの途中で中断するとき、前記データ記録の中断を指示するための中断指示を前記記録装置へ送信し、
前記記録装置の前記メモリ制御部は、
前記アクセス装置から、前記記録指示を受け付けると、前記不揮発性メモリへのデータの記録を開始し、
前記アクセス装置から、前記中断指示を受け付けると、前記中断指示を受け付けたときに記録中であった不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を、前記不揮発性メモリに格納する、
記録システム。 - データを格納する不揮発性メモリを含む記録装置と、前記不揮発性メモリにアクセスするアクセス装置を備える記録システムにおいて、前記アクセス装置が前記不揮発性メモリにデータを記録するための記録方法であって、
前記アクセス装置において、
前記不揮発性メモリ内の領域を所定のブロック長単位に分割して管理し、前記所定のブロック長単位で前記不揮発性メモリ内の未記録領域を検索し、前記未記録ブロックにデータを記録するステップと、
前記アクセス装置と前記記録装置との間でデータの送受信を行なうステップと
を含み、
前記記録装置において、
前記アクセス装置から発行される指示を受け付けるステップと、
前記不揮発性メモリを制御するステップと
を含み、
さらに、前記アクセス装置において、
前記未記録ブロックへデータを記録するとき、データを前記不揮発性メモリに記録するための記録指示を、前記記録装置へ送信するステップと、
前記データ記録を前記未記録ブロックの途中で中断するとき、前記データ記録の中断を指示するための中断指示を前記記録装置へ送信するステップと、
前記メモリ制御部において、
前記アクセス装置から、前記記録指示を受け付けると、前記不揮発性メモリへのデータの記録を開始するステップと、
前記アクセス装置から、前記中断指示を受け付けると、前記中断指示を受け付けたときに記録中であった不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を、前記不揮発性メモリに格納するステップとを
含む、
記録方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014529247A JP6112461B2 (ja) | 2012-08-07 | 2013-04-12 | 記録装置、アクセス装置、記録システム、及び記録方法 |
CN201380041681.XA CN104583973B (zh) | 2012-08-07 | 2013-04-12 | 记录装置、记录***以及记录方法 |
US14/611,784 US9778857B2 (en) | 2012-08-07 | 2015-02-02 | Recording device, access device, recording system, and recording method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012174661 | 2012-08-07 | ||
JP2012-174661 | 2012-08-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014024350A1 true WO2014024350A1 (ja) | 2014-02-13 |
Family
ID=50067621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/002529 WO2014024350A1 (ja) | 2012-08-07 | 2013-04-12 | 記録装置、アクセス装置、記録システム、及び記録方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9778857B2 (ja) |
JP (1) | JP6112461B2 (ja) |
CN (1) | CN104583973B (ja) |
WO (1) | WO2014024350A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019053727A (ja) * | 2017-09-15 | 2019-04-04 | 三星電子株式会社Samsung Electronics Co.,Ltd. | メモリ装置、及びそれを含むメモリシステム |
CN110738750A (zh) * | 2018-07-19 | 2020-01-31 | 松下知识产权经营株式会社 | 车载探测***及其控制方法 |
JP2020036185A (ja) * | 2018-08-30 | 2020-03-05 | キヤノン株式会社 | 記録制御装置、および、その制御方法 |
JP2020036292A (ja) * | 2018-08-31 | 2020-03-05 | キヤノン株式会社 | 記録装置、記録方法、及びプログラム |
JP2020113105A (ja) * | 2019-01-15 | 2020-07-27 | キヤノン株式会社 | 記録制御装置およびその制御方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9535628B2 (en) * | 2013-10-10 | 2017-01-03 | Apple Inc. | Memory system with shared file system |
CN112468259B (zh) * | 2019-09-09 | 2023-12-15 | 华为技术有限公司 | 一种通信方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003331586A (ja) * | 2002-05-13 | 2003-11-21 | Nec Corp | データ記憶方法 |
JP2005292926A (ja) * | 2004-03-31 | 2005-10-20 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
JP2011210235A (ja) * | 2010-03-01 | 2011-10-20 | Panasonic Corp | 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970008188B1 (ko) * | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
JPH0728690A (ja) * | 1993-07-14 | 1995-01-31 | Hitachi Ltd | フラッシュメモリシステム |
WO2005055064A1 (ja) | 2003-12-03 | 2005-06-16 | Matsushita Electric Industrial Co., Ltd. | 情報記録媒体のデータ処理装置及びデータ記録方法 |
KR100858756B1 (ko) | 2004-07-12 | 2008-09-16 | 가부시끼가이샤 도시바 | 저장 디바이스 및 호스트 장치 |
JP4874588B2 (ja) * | 2004-07-12 | 2012-02-15 | 株式会社東芝 | 記憶デバイスおよびホスト機器 |
EP1794681B1 (en) * | 2004-10-01 | 2008-09-17 | Matsushita Electric Industrial Co., Ltd. | Memory card controller, memory card drive device, and computer program |
CN100361106C (zh) * | 2005-05-17 | 2008-01-09 | 北京中星微电子有限公司 | 连续访问环境下的中断恢复方法及装置 |
CN101377749B (zh) * | 2007-08-31 | 2010-06-02 | 华为技术有限公司 | 存储器数据校验方法、装置、可编程逻辑器件及*** |
CN101196845A (zh) * | 2007-12-17 | 2008-06-11 | 山东超越数控电子有限公司 | 一种硬盘保护方法 |
CN101794254B (zh) * | 2009-11-25 | 2012-07-04 | 深圳市硅格半导体有限公司 | Nand flash的数据处理方法 |
-
2013
- 2013-04-12 JP JP2014529247A patent/JP6112461B2/ja active Active
- 2013-04-12 CN CN201380041681.XA patent/CN104583973B/zh active Active
- 2013-04-12 WO PCT/JP2013/002529 patent/WO2014024350A1/ja active Application Filing
-
2015
- 2015-02-02 US US14/611,784 patent/US9778857B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003331586A (ja) * | 2002-05-13 | 2003-11-21 | Nec Corp | データ記憶方法 |
JP2005292926A (ja) * | 2004-03-31 | 2005-10-20 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
JP2011210235A (ja) * | 2010-03-01 | 2011-10-20 | Panasonic Corp | 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019053727A (ja) * | 2017-09-15 | 2019-04-04 | 三星電子株式会社Samsung Electronics Co.,Ltd. | メモリ装置、及びそれを含むメモリシステム |
JP7316031B2 (ja) | 2017-09-15 | 2023-07-27 | 三星電子株式会社 | メモリ装置、及びそれを含むメモリシステム |
CN110738750A (zh) * | 2018-07-19 | 2020-01-31 | 松下知识产权经营株式会社 | 车载探测***及其控制方法 |
JP2020036185A (ja) * | 2018-08-30 | 2020-03-05 | キヤノン株式会社 | 記録制御装置、および、その制御方法 |
JP7282491B2 (ja) | 2018-08-30 | 2023-05-29 | キヤノン株式会社 | 記録制御装置、および、その制御方法 |
JP2020036292A (ja) * | 2018-08-31 | 2020-03-05 | キヤノン株式会社 | 記録装置、記録方法、及びプログラム |
JP7212477B2 (ja) | 2018-08-31 | 2023-01-25 | キヤノン株式会社 | 記録装置、記録方法、及びプログラム |
JP2020113105A (ja) * | 2019-01-15 | 2020-07-27 | キヤノン株式会社 | 記録制御装置およびその制御方法 |
JP7263017B2 (ja) | 2019-01-15 | 2023-04-24 | キヤノン株式会社 | 記録制御装置およびその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2014024350A1 (ja) | 2016-07-25 |
US9778857B2 (en) | 2017-10-03 |
US20150149690A1 (en) | 2015-05-28 |
CN104583973B (zh) | 2017-09-08 |
JP6112461B2 (ja) | 2017-04-12 |
CN104583973A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6112461B2 (ja) | 記録装置、アクセス装置、記録システム、及び記録方法 | |
JP5400875B2 (ja) | メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム | |
JP5485163B2 (ja) | アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム | |
JP5577238B2 (ja) | アクセス装置、情報記録装置、コントローラ、及び情報記録システム | |
JP5481493B2 (ja) | アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム | |
JP2007034536A (ja) | データ記憶装置及び方法、並びに記録再生システム | |
US20110258372A1 (en) | Memory device, host device, and memory system | |
KR20070045114A (ko) | 정보 처리 장치와 정보 처리 방법, 및 컴퓨터 프로그램 | |
US8549213B2 (en) | Nonvolatile storage device, access device and nonvolatile storage system | |
JP4310821B2 (ja) | 情報記録装置および方法 | |
JP5209793B2 (ja) | 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム | |
JP5385835B2 (ja) | データ記録装置 | |
JP2007233512A (ja) | データ記録装置、データ記録方法、及びプログラム | |
WO2005055064A1 (ja) | 情報記録媒体のデータ処理装置及びデータ記録方法 | |
JP2008176455A (ja) | 情報記録装置、コントローラ、アクセス装置、及びアクセス速度保証システム | |
JP4496790B2 (ja) | データ記憶装置及び方法、並びに記録再生システム | |
JP2007004782A (ja) | 半導体メモリカード | |
JP2009151838A (ja) | データ処理装置及びデータ処理方法 | |
JPWO2005045680A1 (ja) | 情報記録媒体及びその制御方法 | |
JP2009205590A (ja) | アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム | |
JP7262977B2 (ja) | 記録装置及びその制御方法、並びにプログラム | |
JP2001337851A (ja) | ファイル管理装置および方法 | |
JP4219299B2 (ja) | 記録デバイスのキャッシュ方法及びデータ記録装置 | |
JP2009104695A (ja) | 記録メディア制御装置及び記録メディア制御方法、並びにコンピュータ・プログラム | |
JP2005174316A (ja) | 情報記録媒体、データ処理装置及び情報記録媒体の記録領域設定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13828619 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014529247 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13828619 Country of ref document: EP Kind code of ref document: A1 |