WO2007135967A1 - データ記憶装置およびデータ記憶方法 - Google Patents
データ記憶装置およびデータ記憶方法 Download PDFInfo
- Publication number
- WO2007135967A1 WO2007135967A1 PCT/JP2007/060179 JP2007060179W WO2007135967A1 WO 2007135967 A1 WO2007135967 A1 WO 2007135967A1 JP 2007060179 W JP2007060179 W JP 2007060179W WO 2007135967 A1 WO2007135967 A1 WO 2007135967A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- management information
- storage device
- area
- data storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
Definitions
- the present invention relates to a technique for recording data transferred from a host device in a data storage device.
- a file system called FAT is generally used as a file system applied to these data storage devices.
- FAT file system a management area called a file allocation table is secured in the data storage device in order to manage the location of recorded data.
- management information called a cluster chain indicating the structure and recording position of each file to be managed is recorded. Since the file allocation table is very important information, two file allocation tables with the same contents are generally reserved in the data storage device. Therefore, even if one of the file allocation tables is damaged, it becomes possible to read and write data normally by using the other file allocation table (Japanese Patent Laid-Open No.
- the problem to be solved by the present invention is to improve data writing efficiency in a data storage device that records a plurality of pieces of management information having the same contents. Based on the above problems, a data storage device which is one embodiment of the present invention is provided.
- a data storage device for storing data transferred from a host device, having a data area in which the data is recorded, first management information for managing the data, and contents similar to the management information
- a storage device having a management area in which second management information is recorded;
- the data storage device having the above configuration when one management information of the first management information and the second management information having the same contents is received from the host device, the reception of the other management information is not waited for.
- the management information is recorded in the management area of the storage device as first management information and second management information.
- the management information recording unit when the management information recording unit receives the other management information, the management information recording unit does not record the management information in the management area, and indicates that the recording is completed. Means for notifying the host device may be provided. According to such a configuration, it is possible to immediately respond to the host device that the second management information has been written. As a result, the host device is immediately released from the management information writing process, and can immediately start another process (for example, data writing).
- the management information recording unit may record the first management information and the second management information at consecutive positions in the management area. With such a configuration, it is possible to easily write two pieces of management information together in a storage device by one writing process. As a result, write efficiency can be improved.
- the data storage device includes a plurality of the storage devices, and the management information recording unit records the first management information in a single storage device, and the second storage device The management information may be recorded in another storage device.
- the management information recording unit records the first management information in a single storage device, and the second storage device The management information may be recorded in another storage device.
- the data recording unit may record the data in a distributed manner in each storage device. According to such a configuration, data received from the host device can be distributed to a plurality of storage devices and simultaneously recorded in parallel. Therefore, the write efficiency can be further improved. In the data storage device having the above configuration, the data recording unit may record the data in one storage device and record correction data for correcting the data in another storage device. W
- the data recording unit may record ECC data obtained by Hamming encoding the data as the correction data. According to such a configuration, error checking and error correction can be performed using ECC data when reading data. In the data storage device configured as described above, the data recording unit may record data having the same content as the data as the correction data. According to such a configuration, it is possible to easily check errors only by comparing the data to be read with the correction data. Even if an error occurs in one of the data, normal data can be read by using the data on the side where no error has occurred.
- the management information may be data recorded in a file allocation table in a FAT file system.
- file writing efficiency is improved in a FAT file system that uses two file allocation tables as standard.
- the storage device may be a non-volatile semiconductor memory. According to such a configuration, a small data storage device excellent in portability can be provided.
- the nonvolatile semiconductor memory for example, NAND type or NOR type flash memory, EEPROM, or DRAM backed up can be used.
- a hard disk drive can be adopted as the storage device.
- the host device and the data storage device may be connected by a USB interface.
- the data storage device of the present invention can be easily used by simply connecting the data storage device of the present invention to a USB port prepared in a host device such as a computer. Therefore, user convenience can be improved.
- the PCMC IA interface is connected via a serial ATA interface, IEEE 1394 interface, various memory interfaces used in SD memory cards and CompactFlash (registered trademark), etc. It is good also as what is done.
- the present invention can also be configured as a data storage method in which the data storage device stores data transferred from the host device.
- FIG. 1 is an explanatory diagram showing a schematic configuration of a data storage device as a first embodiment.
- FIG. 2 is an explanatory diagram showing the data structure of the data storage device.
- FIG. 3 is an explanatory diagram showing the correspondence between the FAT 1 and 2 areas and the FAT 3 area and the outline of the read / write operation for the FAT 3 area.
- FIG. 4 is an explanatory diagram showing an outline of the operation of the data storage device together with the operation of the host device.
- FIG. 5 is a flowchart of the main process.
- FIG. 6 is a flowchart of the pointer setting process.
- FIG. 7 is a flowchart of the rice processing.
- FIG. 8 is a flowchart of the read process.
- FIG. 9 is an explanatory diagram showing a schematic configuration of a data storage device according to the second embodiment.
- FIG. 10 is an explanatory diagram showing a data structure in the second embodiment.
- FIG. 11 is an explanatory diagram showing a data structure in the third embodiment.
- FIG. 1 is an explanatory diagram showing a schematic configuration of a data storage device 10 as the first embodiment.
- the data storage device 10 of the present embodiment is configured by a USB connector 110, a USB control circuit 120, a flash controller 130, and a flash memory FL.
- the USB connector 110 is exposed from the housing of the data storage device 10 (broken line portion in the figure), and is connected to the USB interface provided in a host device such as a personal computer or a printer.
- the USB control circuit 120 is connected to the US B connector 110 and the flash controller 130.
- the USB control circuit 120 is a circuit that operates the data storage device 10 as a USB mass storage class device, and is a circuit that controls communication with the host device based on the USB protocol.
- the USB control circuit 120 further has a function of converting a US B command received from the host device into an ATA command, and converting data and status received from the flash controller 130 into US B data.
- the ATA command is a command standardized by AN SI (American National Standard Institute).
- various data storage such as a hard disk and a PC card type memory is possible.
- the flash controller 130 is an integrated circuit that interprets the ATA command transferred from the USB control circuit 120 and controls reading / writing of data from / to the flash memory FL.
- the flash controller 130 includes a CPU, ROM, RAM, and the like in order to perform such control.
- ROM a program for controlling the operation of the data storage device 10 is recorded.
- the CPU controls the overall operation of the data storage device 10 by executing this program while using RAM as a work area.
- the flash controller 130 includes a register 1 35, and various address pointers are stored in the register 1 35.
- the flash controller 130 has a function of performing an address conversion of the FAT area, which will be described later, by referring to the address pointer, and efficiently reading and writing the FAT area. Details of this function will be described later. FIG.
- FIG. 2 is an explanatory diagram showing the data structure of the data storage device 10.
- each area as shown on the left side of the figure is generated by the format process based on the FAT file system from the host device.
- the master boot record area hereinafter referred to as the “MBR area”
- the bioparameter block area hereinafter referred to as the ⁇ area
- FAT 1 area FAT 2 An area
- FAT 2 An area FAT 1 area
- FAT 2 An area a root directory area
- a user data area are created.
- the MBR area is the area that is read first when the host device is connected.
- the Information such as bootstrap code and partition table (hereinafter referred to as “MBR information”) is recorded in this area.
- the partition table records information such as the number of partitions created, the start and end sectors of each partition, the offset, and the total number of sectors. In this example, it is assumed that only one partition is created.
- the BPB area is recorded in the first sector of each partition, and information such as the partition format, the number of sectors, and the number of FATs (hereinafter referred to as “BPB information”) is recorded.
- management information representing the location of each file recorded in the user data area and the connection state of clusters constituting the file is recorded. Such management information is usually called cluster information.
- cluster information is usually called cluster information.
- the same management information is recorded in the FAT 1 area and FAT 2 area in order to improve data reliability.
- the file name, extension, and attributes of the file recorded in the user data area and the first cluster number constituting the file are recorded.
- the data storage device 10 performs address conversion on the FAT 1 area and the FAT 2 area among the areas described above by the action of the flash controller 1 30, and these areas are combined into the FAT 3 area as shown on the right side of the figure. Manage as an area.
- the host device recognizes each area as described above by the address map as shown on the left side of FIG. 2, and actually the address as shown on the side of the figure.
- Each area is secured in the reflash memory FL by the Les Map.
- the FAT 1 area, FAT 2 area, and FAT 3 area may be collectively referred to as “FAT area”.
- the flash controller 130 uses the address pointers AP1 to AP3 shown in FIG. 2 when performing address conversion of the FAT area. These address pointers are stored in register 1 35 in flash controller 1 30.
- the address pointer AP 1 indicates the start address Ac of the FAT 1 area
- the address pointer AP 2 indicates the start address Ad of the FAT 2 area.
- the address pointer AP3 indicates the head address Ae of the root directory area.
- the flash controller 1 30 refers to these address pointers, and when the access destination from the host device is the FAT 1 area or the FAT 2 area, performs address conversion, and converts the FAT 3 in the flash memory FL. Read and write to the area.
- FIG. 3 is an explanatory diagram showing the correspondence between the FAT 1 and 2 areas and the FAT 3 area and the outline of the read / write operation for the FAT 3 area.
- the left side of the figure shows the FAT 1 area and the FAT 2 area as seen from the host device, and the right side of the figure shows the FAT 3 area as seen from the flash controller 130.
- one piece of management information which is a unit of FAT area recording, is represented as “# 1 j, ⁇ # 2”, and management information written to the FAT 1 area is represented as “FAT 1 # 1 J”.
- management information about the FAT 1 area is recorded in order from address A c to address A d-1 from the host device. And accessed. Also, the management information about the FAT 2 area is accessed as being recorded in order from the address A d to the address A e 11.
- the flash controller 130 alternately arranges management information about the FAT 1 area and management information about the FAT 2 area with respect to the FAT 3 area as shown on the right side of FIG. In other words, the flash controller 1 30 performs address conversion according to the following formula (1) when the FAT 1 area is accessed, and when the FAT 2 area is accessed, the following formula (2) Perform address translation according to. However, in the following formula, the address accessed from the host device is represented as AD1, and the converted address is represented as AD2.
- AD 2 AP 1 +2 * (AD 1—AP 1) (1)
- the flash controller 1 30 is, for example, “FAT 1 # from the host device to the FAT 1 area shown on the left side of When the management information writing instruction “1” is received, this management information is written to the address converted by the above formula (1) in the FAT 3 area shown on the right side of FIG. Further, management information having the same contents as this management information is written as FAT 2 area management information (FAT 2 # 1) to the next address adjacent to the address. As described above, in the FAT file system, the same management information is normally written in the FAT 1 area and the FAT 2 area.
- management information about FAT 1 and management information about FAT 2 are written in a continuous address, so that management information can be written at high speed.
- FIG. 4 is an explanatory diagram showing an outline of the operation of the data storage device 10 together with the operation of the host device.
- the host device In order for the host device to write a file to the data storage device 10, roughly, (a) write management information to the FAT 1 area, (b) write management information to the FAT 2 area, (c ) The procedure of writing a file entity to the user data area is executed.
- Figure 4 shows this sequence.
- the host device first instructs the data storage device 10 to write management information of the file to be written to the FA area 1 (step S 100). Management information is transmitted from the host device to the data storage device 10 at the same time as this instruction.
- the flash controller 1 30 of the data storage device 10 Upon receiving the above instruction and management information, the flash controller 1 30 of the data storage device 10 writes the management information to the address in the FAT3 area corresponding to the address in the designated FAT 1 area, and then continuously. Information that copies the management information is written to the address (step S 1 1 0).
- step S 110 A specific example of the process in step S 110 will be described with reference to FIG. Assuming that the host device is instructed to write the information shown as “FAT 1 # 1 J” as the management information to the address Ac in the FAT 1 area, the data storage device 10 will have the FAT 3 corresponding to that address. Write “FAT 1 # 1” to address A c in the area. Further, information having the same contents as the information is written as “F AT 2 # 1” in the next address A c + 1.
- F AT 2 # 1 is information that is originally written at the start address Ad of the FAT 2 area. Therefore, the management information written to the FAT 1 area and FAT 2 area is put together in the FAT 3 area at the same time. Will be written. In other words, the FAT file system uses the fact that the same data is recorded in the FAT 1 area and the FAT 2 area. When the management information is written, the management information for the FAT 2 area is written together without waiting for an instruction from the host device.
- the flash controller 1 30 When writing to the FAT 3 area is completed (step S 1 1 5), the flash controller 1 30 returns a write completion notification indicating that writing to the FAT 1 area is completed to the host device (step S 1). 1 20).
- the host device receives the write completion notification from the flash controller 130, it subsequently sends a management information write instruction to the FAT 2 area (step S1 30). However, as described above, at this time, the management information has already been written to the FAT 2 area in step S 110. Therefore, when the flash controller 130 receives this write instruction, it immediately returns a write completion notification to the host device (step S 140).
- the host device instructs the flash controller 130 to write the file entity (step S 150).
- the flash controller 130 writes such a file in the user data area in the flash memory FL (step S 1 60).
- the flash controller 1 30 sends a write completion notification indicating that the file writing is completed to the host device (step S 1 70).
- the data storage device 10 of this embodiment performs writing to the FAT 2 area simultaneously with writing to the FAT 1 area. Therefore, even if the host device issues a FAT 2 area write instruction, a notification that writing has been completed can be sent back immediately. As a result, the host device is quickly released from the writing process to the FAT 2 area, and can immediately start writing the next data.
- the user data area is written after the FAT 1 area and the FAT 2 area are written, but these may be performed in the reverse order.
- FIG. 5 is a flowchart of main processing executed by the data storage device 10. This process is a process in which the flash controller 130 starts executing at the same time when the data storage device 10 is connected to the host device and power is supplied. When this process is started, the flash controller 130 first performs a pointer setting process for setting the values of the address pointers AP1 to AP3 (step S200). Details of this pointer setting processing will be described later. Subsequently, the flash controller 130 determines whether any command is received from the host device via the USB control circuit 120 (step S 21 0).
- step S210: No If a command has not been received (step S210: No), this process is looped until the command is received. On the other hand, when a command is received (step S210: Yes), the type of the command is determined (step S220). If it is determined in step S220 that the received command is a write command for writing data (step S220: “write”), the flash controller 130 can perform write processing described later. (Step S 230). On the other hand, if it is determined that the received command is a read command for reading data (Step S 220: “Read”), a read process described later is performed (Step S 220).
- step S 240 the process returns to step S 210.
- the process according to the command received from the host device is performed until the power supply is stopped.
- FIG. 6 is a flowchart of the pointer setting process executed in step S200 of the main process described above.
- This process is a process for setting the values of address pointers AP 1 to AP 3 shown in FIG. 2 and FIG. 3 when the data storage device 10 is turned on and when the format is completed.
- the flash controller 130 reads the MBR area and the BPB area of the flash memory FL (step S300). Then, it is determined whether MBR information and BP B information have already been written in these areas (step S 3 1 0). If it is determined in step S 3 10 above that the MBR information and BPB information have not been written (step S 3 10: No), the data storage device 10 has not yet been formatted. It will be.
- the flash controller 1 30 sets the values of the address pointers AP 1 to AP 3 as follows.
- the value of the address pointer AP 1 is set as the final address A z of the flash memory FL, and the address pointers AP 2 and AP 3 are not set (step S 320).
- the host device can normally use the data storage device 10 even by a file system other than the FAT file system.
- step S320 when the value of the address pointer AP1 is set, the flash controller 130 records the value in the register 135 (step S330) and ends the pointer setting process.
- step S 3 10 If it is determined in step S 3 10 above that the MBR information and the BP B information have already been written (step S 31 0: Yes), the data storage device 10 is It has already been formatted. Therefore, the flash controller 130 obtains the first address Ac of the FAT 1 area based on information such as the partition table and the number of sectors recorded in the MBR area and the BPB area, and uses this as the value of the address pointer AP 1. (Step S 34 0). Similarly, the flash controller 130 obtains the start address Ad of the FAT 2 area and sets this value as the address pointer AP 2 (step S 350). Further, the flash controller 130 obtains the head address A e of the root directory area, and sets this as the value of the address pointer AP 3 (step S 360). Finally, the flash controller 130 records the values of the address pointers AP1 to AP3 set in this way in the register 135 (step S330), and ends the process.
- FIG. 7 is a flowchart of the write process executed in step S 230 of the main process described above.
- This write process is a process for writing data received from the host device (hereinafter referred to as “write data”) to the flash memory FL.
- the flash controller 130 When this process is executed, the flash controller 130 first analyzes the write command received from the host device via the USB control circuit 120 and analyzes the write destination address (hereinafter “write”). Address WA) (step S 400). Subsequently, the flash controller 1 30 refers to register 1 35 and It is determined whether the toad WA is an address lower than the address indicated by the address pointer AP 1 (step S 41 0). As a result of this determination, if the write address WA is an address lower than the address indicated by the address pointer AP 1 (Step S 4100: Yes), the command received from the host device is accompanied by the format process.
- write write destination address
- the flash controller 130 writes the write data as it is to the write address WA of the flash memory FL without performing any address conversion or the like (step S 420).
- MBR information and BPB information are usually written only once during formatting. Therefore, when data is written to an address lower than the address pointer AP1, the flash controller 130 determines that there is a possibility that a format process has been performed by the host device. The pointer setting process is executed (step S430). By doing so, the address pointers AP 1 to AP 3 can be appropriately set after the formatting is completed. When the pointer setting process is completed, the flash controller 130 sends a write completion notification to the host device (step S440).
- step S 410 If it is determined in step S 410 above that the write address WA is higher than the address indicated by the address pointer AP 1 (step S 410: No), the flash controller 1 30 Then, referring to the register 1 35, it is determined whether or not the write address WA is higher than the address indicated by the address pointer AP3 (step S450). As a result of this determination, the write address WA is higher than the address indicated by the address pointer AP3. If it is determined that there is a step (step S 45 0: Y es), it can be determined that the write is to the root directory area or user data area (see FIG. 2). Therefore, the flash controller 1 30 writes the write data as it is to the write address WA of the flash memory FL without performing any address conversion or the like (step S 4 60).
- the flash controller 13 30 sends a writing completion notification to the host device (step S 44 0). If it is determined in step S 4 50 above that the write address WA is lower than the address indicated by the address pointer AP 3 (step S 4 5 0: No), the write address WA is It will indicate either 1 area or FAT 2 area. Therefore, the flash controller 1 3 0 next refers to the register 1 3 5 to determine whether the write address WA is an address lower than the address indicated by the address pointer AP 2 (step S 4 7 0). As a result of this determination, if it is determined that the write address WA is an address lower than the address pointer AP 2 (step S 47 0: Y es), the write address WA indicates that it is in the FAT 1 area.
- the flash controller 1 3 0 performs address conversion according to the above equation (1) (step S 4 8 0).
- the flash controller 1 30 writes the received write data as management information to the converted address. Further, the flash controller 1 3 0 writes the same data to the next address following the address (step S 4 90). In this way, management information to be written in the FAT 1 area and FAT 2 area can be written together in the FAT 3 area.
- the rush controller 130 sends a write completion notification to the host device (step S440).
- step S 470 If it is determined in step S 470 that the write address WA is higher than the address pointer AP 2 (step S 470: No), the write address WA is an address in the FAT 2 area. Will be shown.
- the information to be written in the FAT 2 area has already been written in step S490 above. Therefore, in this case, the flash controller 130 does not write anything to the flash memory FL, and sends a write completion notification to the host device as it is (step S440).
- the line processing described above in areas other than the FAT area, the data transmitted from the host device is written as it is without performing address conversion or the like.
- data is written to the FAT 3 area by performing a predetermined address conversion only when there is an instruction to write to the FAT 1 area. At this time, since the flash controller 130 collectively writes information to be written to the FAT 2 area into the FAT 3 area, the management information can be efficiently written to the flash memory FL.
- FIG. 8 is a flowchart of the read process executed in step S240 of the main process described above.
- This read process is a process for reading data from the flash memory FL in response to a request from the host device.
- the flash controller 1 30 is connected to the host device. Analyzes the read command received from the device via the USB control circuit 120 and obtains the read destination address (hereinafter referred to as “read address RAJ”) (Step S 500). Referring to register 1 35, it is determined whether read address RA is higher than the address indicated by address pointer AP 1 and lower than the address indicated by address pointer AP 3 (step S 51 0).
- Step S 51 0: No If the result of this determination is that the read address RA is lower than the address pointer AP 1 or higher than the address pointer AP 3 (step S 51 0: No), the read address RA is FAT Therefore, the flash controller 1 30 reads the data from the read address RA as it is. (Step S520) and transfer the read data to the host device (Step S530) In Step S510 above, the read address RA is higher than the address indicated by the address pointer AP1, and the address pointer AP3 If the address is lower than the address indicated by (step S 51 0: Yes), the read address RA indicates the address in the FAT 1 area or FAT 2 area (see Figure 2).
- the flash controller 130 determines whether or not the read address RA is higher than the address indicated by the address pointer AP 2 (step S540) As a result of the determination, the read address RA becomes the address pointer AP. If it is determined that the address is lower than 2 (step S 540: No), the read address RA is the address in the FAT 1 area. Become. Therefore, the flash controller 1 30 performs Adoresu converted by the above formula (1) (step S 550), reads data from the converted address (step S 520) . By doing so, the flash controller 130 can appropriately read management information about the FAT 1 area from the FAT 3 area. When the flash controller 1 30 reads data from the FAT3 area, it transfers it to the host device (step S530).
- step S540 determines whether the read address 8 is higher than the address indicated by the address pointer AP2 (step S540: Yes). If it is determined in step S540 that the read address 8 is higher than the address indicated by the address pointer AP2 (step S540: Yes), the read address RA is in the FAT 2 area. Address. Therefore, the flash controller 130 performs address conversion according to the above equation (2) (step S560), and reads data from the converted address (step S520). By doing so, the flash controller 130 can appropriately read management information about the FAT 2 area from the FAT 3 area. When the flash controller 130 reads data from the FAT 3 area, it transfers it to the host device (step S530). According to the read processing described above, the flash controller 130 can read data from an area other than the FAT area as it is and transfer it to the host. Also, when reading from the FAT 1 area or FAT 2 area, the flash controller 130 reads the management information from the FAT 3 area appropriately by performing address conversion, and Can be transferred to.
- the data storage device 10 also performs data writing to the FAT 2 area when the host device instructs to write data to the FAT 1 area. Therefore, data on the FAT 2 area from the host device Even if there is an instruction to write, a notification that writing has been completed can be sent back immediately.
- management information about the FAT 1 area and the FAT 2 area is collectively written in the adjacent addresses in the FAT 3 area in the flash memory FL. Therefore, data can be written efficiently, and the processing speed can be improved.
- the data storage device 10 of the present embodiment employs a flash memory having a relatively large data write unit as a storage device, so that it is easy to write two adjacent data together in one write operation. Become. As a result, the processing speed can be greatly improved.
- FIG. 9 is an explanatory diagram showing a schematic configuration of the data storage device 10 b as the second embodiment.
- the data storage device 1 Ob of this embodiment includes a USB connector 110, a USB control circuit 120, and a flash controller 130, as in the first embodiment.
- Two flash memories FLa and FLb are provided.
- FIG. 10 is an explanatory diagram showing the data structure of the data storage device 10 b. The left side of FIG. 10 shows an address map of the data storage device 10 0 b as viewed from the host device.
- the address maps of two flash memories F and a and FL b are shown together.
- the addresses forming the address space are (1) flash memory FL a, (2) Assume that flash memory FL b is allocated alternately in this order.
- the first address of the MBR area exists in the flash memory FL a and the second address exists in the flash memory FL b.
- the third address is present in the flash memory FLa, and the fourth address is present in the flash memory FLb.
- the data storage device 10 b can write data to two flash memories in parallel (simultaneously).
- the data storage device 1 Ob includes two flash memories FL a 'FLI? Since the bus width is substantially doubled, the data can be read and written at high speed if data is written in parallel (simultaneously) as described above.
- a FAT 1 area is secured on the flash memory FL a side
- a FAT 2 area is secured on the flash memory FL b side. Therefore, in this embodiment, when there is an instruction to write data to the FAT 1 area from the host device, the flash controller 130 writes the data to the FAT 1 area of the flash memory FL a and the same.
- the flash memory FLa or the flash memory FLb is appropriately read / written.
- the same management information is written in two consecutive addresses in the FAT 3 area in step S490 of the write process shown in FIG.
- the same management information is written in parallel to the FAT 1 area of the memory FL a and the FAT 2 area of the flash memory FL b.
- the address conversion in step S 550 of the read processing in FIG. 8 the address conversion to the FAT 1 area of the flash memory FL a is performed, and in the address conversion in step S 560, the address to the FAT 2 area of the flash memory FLb is performed. Perform each conversion.
- FIG. “I 1 is an explanatory diagram showing a data structure of a data storage device I 0 b in the third embodiment.
- the left side of Fig. 11 shows the address map of the data storage device 1 Ob as seen from the host device.
- the right side of Figure 1 1 shows two flash memories F An address map of L a and FL b is shown.
- the same data is written in the flash memory FL a and the flash memory FL b.
- the FAT area the FAT 1 area is secured in the flash memory FL a and the FAT 2 area is secured in the flash memory FL b as in the second embodiment.
- the writing efficiency for the FAT area can be improved.
- the address map viewed from the host side and the address system viewed from the flash controller 130 are the same. Therefore, data can be read and written in areas other than FAT 2 without performing address conversion. As a result, the processing efficiency can be improved.
- the area shown as "NU LL" is an area where the FAT 2 area should be reserved, and is not an area directly recognized by the host device. Become.
- this NU LL area can be used as a user data area by performing a predetermined address conversion that links this NU LL area to the user data area.
- the same data is written to the flash memory FL a and the flash memory FL b.
- the ECC generated from the data written to the flash memory FL a is stored in the flash memory FL b.
- Data may be written. With such a configuration, it is possible to easily perform error checking and error correction written to the flash memory FL a based on the ECC data written to the flash memory FL b, so the stored data It becomes possible to improve the reliability of the.
- the data storage device 10 is provided with a flash memory as a storage device.
- a flash memory as a storage device.
- another storage device such as a hard disk drive may be provided.
- the data storage device 10 is formatted in the FAT format.
- the format of the format is not limited to this, and may be formatted by another format in which multiple pieces of management information with the same contents are written.
- the host device and the data storage device 10 are connected by the USB interface, but the interface type is not limited to this.
- it may be connected by a PCMCIA interface, or may be connected by a serial ATA interface or an IEEE 1394 interface.
- the data storage location of the flash memory has been described using the term “address”.
- this term is applied to the type of file system, operating system, and storage device that is applied.
- “sector”, ⁇ cluster ”,“ block ”, etc. can be read as appropriate.
- the present invention should not be construed as being limited in any way by the above-described embodiments, modifications, or other embodiments, and the scope of protection of the present invention is of course interpreted in accordance with the claims and the spirit of the present invention. It is.
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP07743614A EP2031514A4 (en) | 2006-05-18 | 2007-05-11 | DATA MEMORY ARRANGEMENT AND DATA STORAGE METHOD |
| US12/300,789 US8364730B2 (en) | 2006-05-18 | 2007-05-11 | Data storage apparatus and data storage method |
| CN200780018136.3A CN101449248B (zh) | 2006-05-18 | 2007-05-11 | 数据存储装置以及数据存储方法 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006-138781 | 2006-05-18 | ||
| JP2006138781A JP4676378B2 (ja) | 2006-05-18 | 2006-05-18 | データ記憶装置およびデータ記憶方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2007135967A1 true WO2007135967A1 (ja) | 2007-11-29 |
Family
ID=38723278
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2007/060179 Ceased WO2007135967A1 (ja) | 2006-05-18 | 2007-05-11 | データ記憶装置およびデータ記憶方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US8364730B2 (https=) |
| EP (1) | EP2031514A4 (https=) |
| JP (1) | JP4676378B2 (https=) |
| CN (1) | CN101449248B (https=) |
| TW (1) | TW200809494A (https=) |
| WO (1) | WO2007135967A1 (https=) |
Families Citing this family (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
| CN101187830B (zh) * | 2007-12-27 | 2012-05-23 | 成都市华为赛门铁克科技有限公司 | 掉电保护方法、装置、逻辑器件及存储系统 |
| CN101661438B (zh) * | 2008-08-29 | 2013-08-28 | 鸿富锦精密工业(深圳)有限公司 | 电子装置及中央处理器寻址空间扩展方法 |
| US20100161952A1 (en) * | 2008-12-18 | 2010-06-24 | Texas Instruments Incorporated | Performance optimizations by dynamic reduction of file allocation tables |
| CN101576966A (zh) * | 2009-06-02 | 2009-11-11 | 中兴通讯股份有限公司 | 一种读写存储卡的方法及装置 |
| US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
| US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
| US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
| US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
| US8924636B2 (en) | 2012-02-23 | 2014-12-30 | Kabushiki Kaisha Toshiba | Management information generating method, logical block constructing method, and semiconductor memory device |
| US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
| CN103176753B (zh) * | 2013-03-07 | 2016-06-01 | 深圳市江波龙电子有限公司 | 存储设备及其数据管理方法 |
| US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
| US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
| US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
| US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
| US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
| US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
| US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
| US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
| US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
| US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
| US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
| US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
| US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
| JP6150669B2 (ja) * | 2013-08-22 | 2017-06-21 | キヤノン株式会社 | 情報処理装置、画像形成装置、及びその制御方法 |
| US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
| US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
| US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
| US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
| US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
| JP2017021561A (ja) * | 2015-07-10 | 2017-01-26 | ファナック株式会社 | 制御装置のファイルシステム |
| US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
| US10229052B2 (en) * | 2017-05-31 | 2019-03-12 | Seagate Technology Llc | Reverse map logging in physical media |
| US11138069B2 (en) | 2018-06-11 | 2021-10-05 | Seagate Technology, Llc | Providing additional parity for non-standard sized parity data sets |
| US11520696B2 (en) * | 2018-06-28 | 2022-12-06 | Seagate Technology Llc | Segregating map data among different die sets in a non-volatile memory |
| US10896002B2 (en) | 2018-06-29 | 2021-01-19 | Seagate Technology Llc | Reverse directory structure in a garbage collection unit (GCU) |
| CN109658867A (zh) * | 2018-12-10 | 2019-04-19 | 北京欧徕德微电子技术有限公司 | 数据读写方法及其装置 |
| KR102929688B1 (ko) * | 2019-12-03 | 2026-02-20 | 삼성전자주식회사 | 메모리 컨트롤러를 포함하는 스토리지 장치 및 비휘발성 메모리 시스템과 이의 동작 방법 |
| KR102323844B1 (ko) | 2020-02-20 | 2021-11-08 | 엘에스일렉트릭(주) | 휴먼 머신 인터페이스 시스템에서 저장장치의 교체 방법 |
| CN112800007B (zh) * | 2021-01-28 | 2022-06-14 | 上海华元创信软件有限公司 | 适用于fat32文件系统的目录项扩展方法和系统 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04106643A (ja) * | 1990-08-27 | 1992-04-08 | Nec Ibaraki Ltd | フロッピィディスクのファイル領域管理方式 |
| JP2005216119A (ja) * | 2004-01-30 | 2005-08-11 | Matsushita Electric Ind Co Ltd | 記録媒体 |
| EP1585135A2 (en) | 2001-06-04 | 2005-10-12 | Pioneer Corporation | Data recording apparatus and data erasing apparatus |
Family Cites Families (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5029125A (en) * | 1989-03-07 | 1991-07-02 | Drexler Technology Corporation | Method of reading and writing files on nonerasable storage media |
| JP2888958B2 (ja) * | 1990-10-20 | 1999-05-10 | 富士通株式会社 | 部分書き換え可能な記憶媒体におけるファイル管理方式 |
| US5422762A (en) * | 1992-09-30 | 1995-06-06 | Hewlett-Packard Company | Method and apparatus for optimizing disk performance by locating a file directory on a middle track and distributing the file allocation tables close to clusters referenced in the tables |
| JP2883791B2 (ja) * | 1993-08-26 | 1999-04-19 | 富士通株式会社 | 記憶媒体とその制御方法 |
| JP3358795B2 (ja) * | 1997-03-27 | 2002-12-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ディスクドライブ装置及びその制御方法 |
| JPH11249968A (ja) * | 1998-03-05 | 1999-09-17 | Sanyo Electric Co Ltd | ファイル記録方法及びファイルシステム |
| JP3182129B2 (ja) * | 1998-10-19 | 2001-07-03 | 富士通株式会社 | 記憶媒体とその制御方法 |
| ATE249645T1 (de) * | 1999-03-04 | 2003-09-15 | Deka Products Lp | Verfahren und anordnung für blockdatenübertragung |
| JP4106643B2 (ja) | 2000-03-27 | 2008-06-25 | トーソー株式会社 | 折れ戸の接触防止装置 |
| US6675180B2 (en) * | 2000-06-06 | 2004-01-06 | Matsushita Electric Industrial Co., Ltd. | Data updating apparatus that performs quick restoration processing |
| US20020103907A1 (en) * | 2000-06-20 | 2002-08-01 | Erik Petersen | System and method of storing data to a recording medium |
| US6823417B2 (en) * | 2001-10-01 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | Memory controller for memory card manages file allocation table |
| JP3797191B2 (ja) * | 2001-10-25 | 2006-07-12 | 株式会社日立製作所 | 情報記録装置 |
| US6675276B2 (en) * | 2001-11-13 | 2004-01-06 | Eastman Kodak Company | Method for providing extensible dos-fat system structures on one-time programmable media |
| JP2003217237A (ja) * | 2002-01-21 | 2003-07-31 | Toshiba Corp | 磁気ディスク装置 |
| NO315959B1 (no) * | 2002-04-16 | 2003-11-17 | Thin Film Electronics Asa | Fremgangsmåter til lagring av data i et ikke-flyktig minne |
| JP4495899B2 (ja) * | 2002-05-29 | 2010-07-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 接続切替装置およびその接続切替装置を用いたファイルシステム |
| US7363540B2 (en) * | 2002-10-22 | 2008-04-22 | Microsoft Corporation | Transaction-safe FAT file system improvements |
| US7174420B2 (en) * | 2002-10-22 | 2007-02-06 | Microsoft Corporation | Transaction-safe FAT file system |
| US7181611B2 (en) * | 2002-10-28 | 2007-02-20 | Sandisk Corporation | Power management block for use in a non-volatile memory system |
| US20040128269A1 (en) * | 2002-12-27 | 2004-07-01 | Milligan Charles A. | System and method for managing data through families of inter-related metadata tables |
| JP2004280752A (ja) * | 2003-03-19 | 2004-10-07 | Sony Corp | データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム |
| JP4468666B2 (ja) * | 2003-08-22 | 2010-05-26 | 富士通株式会社 | 二重書込機能を有する装置およびストレージ制御装置 |
| JP4722704B2 (ja) * | 2003-10-31 | 2011-07-13 | パナソニック株式会社 | 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法 |
| US20050149493A1 (en) * | 2004-01-07 | 2005-07-07 | Kazuhiko Yamashita | Data recording apparatus and data recording method |
| JP4515132B2 (ja) * | 2004-03-31 | 2010-07-28 | 株式会社日立製作所 | ストレージシステム、ストレージ装置及びリモートコピー方法 |
| WO2005106673A1 (ja) | 2004-04-28 | 2005-11-10 | Matsushita Electric Industrial Co., Ltd. | 不揮発性記憶装置及びデータ書込み方法 |
| KR100858756B1 (ko) * | 2004-07-12 | 2008-09-16 | 가부시끼가이샤 도시바 | 저장 디바이스 및 호스트 장치 |
| KR100684887B1 (ko) * | 2005-02-04 | 2007-02-20 | 삼성전자주식회사 | 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법 |
| JP2006285669A (ja) * | 2005-03-31 | 2006-10-19 | Toshiba Corp | ホスト機器 |
| US7644092B2 (en) * | 2005-05-03 | 2010-01-05 | Kabushiki Kaisha Toshiba | System for managing data on memory device using file system |
| US20060277333A1 (en) * | 2005-06-01 | 2006-12-07 | Creative Technology Ltd. | Portable data storage device |
| US7693882B2 (en) * | 2005-10-04 | 2010-04-06 | Oracle International Corporation | Replicating data across the nodes in a cluster environment |
| US20070100893A1 (en) * | 2005-10-31 | 2007-05-03 | Sigmatel, Inc. | System and method for accessing data from a memory device |
| US7734603B1 (en) * | 2006-01-26 | 2010-06-08 | Netapp, Inc. | Content addressable storage array element |
| US7689807B2 (en) * | 2006-02-09 | 2010-03-30 | Sigmatel, Inc. | Mass storage device, mass storage controller and methods for use therewith |
| US7650458B2 (en) * | 2006-06-23 | 2010-01-19 | Microsoft Corporation | Flash memory driver |
| US7752412B2 (en) * | 2006-09-29 | 2010-07-06 | Sandisk Corporation | Methods of managing file allocation table information |
| US7577643B2 (en) * | 2006-09-29 | 2009-08-18 | Microsoft Corporation | Key phrase extraction from query logs |
-
2006
- 2006-05-18 JP JP2006138781A patent/JP4676378B2/ja active Active
-
2007
- 2007-05-11 CN CN200780018136.3A patent/CN101449248B/zh active Active
- 2007-05-11 EP EP07743614A patent/EP2031514A4/en not_active Withdrawn
- 2007-05-11 US US12/300,789 patent/US8364730B2/en active Active
- 2007-05-11 WO PCT/JP2007/060179 patent/WO2007135967A1/ja not_active Ceased
- 2007-05-15 TW TW096117256A patent/TW200809494A/zh unknown
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04106643A (ja) * | 1990-08-27 | 1992-04-08 | Nec Ibaraki Ltd | フロッピィディスクのファイル領域管理方式 |
| EP1585135A2 (en) | 2001-06-04 | 2005-10-12 | Pioneer Corporation | Data recording apparatus and data erasing apparatus |
| JP2005216119A (ja) * | 2004-01-30 | 2005-08-11 | Matsushita Electric Ind Co Ltd | 記録媒体 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP2031514A4 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP4676378B2 (ja) | 2011-04-27 |
| JP2007310637A (ja) | 2007-11-29 |
| CN101449248A (zh) | 2009-06-03 |
| EP2031514A1 (en) | 2009-03-04 |
| TW200809494A (en) | 2008-02-16 |
| TWI379196B (https=) | 2012-12-11 |
| EP2031514A4 (en) | 2010-11-03 |
| CN101449248B (zh) | 2013-07-24 |
| US8364730B2 (en) | 2013-01-29 |
| US20090132620A1 (en) | 2009-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2007135967A1 (ja) | データ記憶装置およびデータ記憶方法 | |
| US8136015B2 (en) | Data storage apparatus and data storage method | |
| US8966231B2 (en) | Modifying commands | |
| US7849242B2 (en) | PCI express-compatible controller and interface that provides PCI express functionality and flash memory operations to host device | |
| KR101395778B1 (ko) | 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 | |
| US6754765B1 (en) | Flash memory controller with updateable microcode | |
| US20050080985A1 (en) | Data storage device | |
| US20030028733A1 (en) | Memory apparatus | |
| JP2000067574A (ja) | 半導体記憶装置 | |
| KR100610647B1 (ko) | 직접실행제어 기능과 스토리지 기능이 복합된 대용량저장장치 | |
| JP2005107838A (ja) | ディスクアレイコントローラ及びログ情報記録方法 | |
| US8489802B2 (en) | Recordable memory device which writes data to reformatted user area of nonvolatile semiconductor memory | |
| US20090164538A1 (en) | Data storage apparatus and initialization method thereof | |
| CN103455444B (zh) | 文件保护方法与系统及其存储器控制器与存储器存储装置 | |
| JP2007299249A (ja) | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 | |
| JP2008065725A (ja) | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 | |
| JP2003050725A (ja) | ストレージデバイス制御装置 | |
| JP2003030045A (ja) | 記憶装置 | |
| WO2006051583A1 (ja) | インタフェースカード |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 200780018136.3 Country of ref document: CN |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07743614 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 12300789 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2007743614 Country of ref document: EP |