1. Field of the Invention
The present invention relates to a storage device; in particular, to a hybrid density memory storage device and control method thereof.
2. Description of Related Art
Non-volatile memory (also known as Electrically Independent memory) is used to store data, commonly applied to storage devices such as memory card, thumb drive with USB interface, solid state drive etc. Flash memory provides advantages of high storage density, low power consumption, effective access efficiency and reasonable price, thus becoming the main stream of the current non-volatile memory nowadays.
The memory records the stored bit values by voltage values conserved in memory units. In traditional memory storage technology, a bit data as one (1) or zero (0) is record by means of high level or zero level of the voltage value conserved in one memory unit. The current technologies may further divide the level values conserved within a memory unit, so that more different voltage values can be stored in one memory unit, thus for storing more bit values. For example, if a memory unit can retain four different level values, it is possible to store two-bit data. The industry refers the traditional memory manufacture technology for storing one single bit data as the Single-Level-Cell (SLC) process, and memory fabricated thereby as low density memory; memory manufacture technology for storing multi-bit data as the Multi-Level-Cell (MLC) process;, and memory fabricated thereby as high density memory.
Compared with low density memory, the data storage capacity provided within a unit area of high density memory multiplicatively increases, offering desirable advantages in terms of significant increase in storage capacity and lowered cost, but it requires longer time for read/write, edit and erase actions. Besides, MLC process also results in significant reduction in endurance count, conjunctively affecting storage features like data access rate and lifespan in high density memory storage.
The features of high density memory lie in high storage capacity and low cost, but with slower data access rate and less endurance count; contrarily, the advantages of low density memory exist in high erase endurance and faster access rate, whereas with high cost and low storage capacity. Since each type of memory respectively demonstrates features thereof, the industry therefore has developed the application of hybrid density memory. The so-called hybrid density memory comprises both high density memory and low density memory as the same time. As for exploiting advantages provided by both types of memory to enhance storage performance, it has now become one major research subject aggressively devoted by relevant industry.
Furthermore, since the address method of earlier hard drives needs to combine the relative locations of various structures such as track, head and section to decide the physical location for actual data storage, as a result, computer system has to perform setting operations during the boot of Basic Input/Output System (BIOS) to allow accurate data access in computer operation processes. The main stream storage media of current hard drives has now gradually evolved to flash memory, and therefore, based on the concept of logical block address (LBA), the computer system prescribes the correspondence between logical block addresses and flash memory storage blocks, and builds a transition table within the firmware of hard drives according to such a correspondence. During data access process, a host computer transits first the logical address of a file to the logical block address, and issues a command only to the hard drive in data access process, which marks the logical locations of logical address to be accessed and logical block address etc. in the assignment field of the command. After decoding the command by the hard drive controller, the Flash Transition Layer (FTL) transits the logical location of the file into the physical location in the memory according to the transition table previously built in the firmware.
The optimization method of storage performance used in prior art is shown in
However, several defects do exist in the above-mentioned technology: first of all, it is required to install extra benchmark software in the computer system to retrieve the I/O command sequence; next, human participation is needed during the processes of data retrieval, analysis and parameter optimization etc.; also, such a technology is directed to application scope of earlier hard drives, not suitable for storage devices whose storage media is the type of non-volatile memory.
In view that the existing technologies are not suitable for the hard drive adopting flash memory as principal storage media thereof, the inventors hence propose the present invention with an expectation to improve the defects of existing solutions.
The object of the present invention is to provide a hybrid density memory storage device and control method thereof, which categorizes the frequently used file data or user-appointed file data as hot data, and uses a hot list to record the logical locations of the hot data, thus when the host computer issues a command, the storage device verifies whether the logical location of the command belongs to one of the logical locations recorded in the hot list, so as to assign the physical location corresponding to the logical location, which enhances the data storage performance of the hybrid density memory device and prevents storage resources from being wasted.
The present invention discloses a control method for a hybrid density memory storage device, suitable for assigning a physical location of the hybrid density memory storage device corresponding to a file system. Such a storage device is used to store file data, and provided with a high density memory storage space, a low density memory storage space and a hot list, in which the hot list is used to record a plurality of logical locations of the file system. Said method includes the following steps: receiving a command, and identifying the logical location of the command; subsequently, verifying whether the logical location of the command belongs to one of the logical locations recorded in the hot list; finally, according to the verification, assigning a physical location of the high density storage space or the low density storage space as the physical location corresponding to the logical location of the command.
Said logical location is a logical address (LA) and/or a logical block address (LBA).
The present invention also discloses another control method for hybrid density memory storage device, suitable for assigning the physical location of a hybrid density memory storage device according to a file system. The storage device has a high density memory storage space and a low density memory storage space. Said control method includes the following steps: first, receiving a command; next, executing a process of hot data verification to verify whether the logical location of the command belongs to a hot data; finally, according to the verification, assigning a physical location of the high density storage space or the low density storage space as the physical location corresponding to the logical location of the command.
The present invention further discloses a hybrid density memory storage device, suitable for receiving a command provided by a host computer to access a file data. Said hybrid density memory storage device comprises a non-volatile memory unit and a control unit. The non-volatile memory unit includes a high density memory storage space and a low density memory storage space. The control unit has a hot list for recording a plurality of logical locations belonging to hot data, such that the control unit can assign, through the hot list, a physical location of the high density storage space or the low density storage space as the physical location for accessing the file data.
The above-mentioned summary as well as subsequent descriptions and appended drawings are all for further illustrating the measures, means and effects taken by the present invention to achieve the prescribed objectives. Other goals and advantages of the present invention will be explained in details in the following descriptions and drawings.
The hybrid density memory storage device and control method thereof of the present invention is to categorize the frequently used files or user-appointed files of the file system as hot data, uses a hot list to record the logical locations of the hot data, and then assigns the physical locations to which the logical locations of the hot data correspond to the low density memory storage space, thus meeting the requirement of the hot data for faster access rate and higher endurance count, in order to achieve the effect enhancement for storage performance.
Initially, referring now to
The storage device 10 consists of a non-volatile memory unit 11, a control unit 13 and a power source management unit 15. The non-volatile memory unit 11 is formed by flash memory, comprising a low density memory storage space 110 and a high density memory storage space 112. The low density memory storage space 110 is formed by low density memory, and the high density memory storage space 112 is formed by high density memory. The aspects of low density memory are low storage capacity per unit, high endurance count and fast data access rate, whereas the aspects of high density memory lie in high storage capacity, less endurance count and low data access rate.
The power source management unit 15, coupled to a power source 19, receives the output power thereof and transforms the received power into the power source required by the control unit 13 and the non-volatile memory unit 11 inside the storage device 10.
The storage device 10 stores a file system, and the host computer 17 manages the file data in the file system based on a system architecture regulated under FAT12, FAT16, FAT32 or NTFS files systems. Based on a prescribed transition table located in the firmware, the storage device 10, by using the Flash Transition Layer (FTL), maps the logical location of the file to the physical location of the non-volatile memory unit 11.
The control unit 13 is coupled between the host computer 17 and the non-volatile memory unit 11, which has a hot list for recording a plurality of logical locations. The present invention categorizes the frequently used files or user-appointed files of the file system as hot data, and since the hot data is frequently accessed and updated, the physical locations of the hot data are assigned to the low density memory storage space 110. Said hot list is used to record the logical locations of the hot data, so as to define the frequently used logical area in the file system. Hereunder the logical locations recorded in the hot list are referred as specific logical locations to be differentiated from general logical locations. Said logical locations are logical addresses (LA) and/or logical block addresses (LBA).
The control unit 13 can assign, through the hot list, the physical location of the low density memory storage space 110 or the physical location of the high density memory storage space 112 as the physical location of the file data. In practice, the control unit 13 receives a command provided from the host computer 17, in which the command may be a write command or a read command. The write command is to write a data of a logical location into the non-volatile memory unit 11, and the read command is to read a data of a logical location from the non-volatile memory unit 11, and the logical locations of logical address, length of address space and logical block address are marked in the assignment field of the command by the host computer 17. The control unit 13 decodes the received command, identifies the logical location of the command, verifies whether the logical location of the command belongs to one of the specific logical locations recorded in the hot list, and further, based on the verification, assigns the physical location of the high density memory storage space 112 or the physical location of the low density memory storage space 110 as the physical location corresponding to the identified logical location, then therein stores the data. That is, if the logical location of the command belongs to one of the specific logical locations recorded in the hot list, then the control unit 13 assigns the physical location of the low density memory storage space 110 as the physical location corresponding to the logical location, such that the physical location of the data has the features of higher data access rate and endurance count; otherwise, in case that the logical location of the command does not belong to any of the specific logical locations recorded in the hot list, then the control unit 13 assigns the physical location of the high density memory storage space 112 as the physical location corresponding to the logical location.
In one embodiment, said hot list comprises a start hot list, a read hot list and a write hot list, respectively recording the logical locations frequently accessed by the digital system 1 during the three operation modes of start, read and write.
The start hot list records the logical locations frequently read or written by the host computer 17 in a start cycle (i.e. a specific period of time when the system executes boot process; for example, 30 seconds). When the system starts, it generally repeats the same access mode, e.g. processes like loading operating system etc., therefore, the start speed may be accelerated if the physical location of the file frequently access during the start cycle is assigned to the low density memory storage space 110. The read hot list records the logical locations frequently read, and the write hot list records the logical locations frequently written by the host computer 17. The control unit 13 verifies the logical location of the command by using different hot lists, based on the differences among operation modes.
In
Subsequently, referring now to
The hot list is stored in the non-volatile memory unit 11. When the digital system 1 is started, the hot list is duplicated into the list registry 200 for temporary storage. The interface control unit 210 acts as a connection interface for coupling between the hot data verifying unit 133 and the external system interface 131, microprocessor 132 and non-volatile memory unit 11. The input/output monitoring unit 202, hot list verifying unit 204, hot list updating unit 206 and hot list backup unit 208 are coupled between the list registry 200 and the interface control unit 210, able to access the hot list registered in the list registry 200, and coupled to the external system interface 131, microprocessor 132 and non-volatile memory unit 11 via the interface control unit 210.
The input/output monitoring unit 202 is coupled to the system interface 131 through the interface control unit 210, for identifying the logical location of the command provided by the host computer 17. The hot list verifying unit 204 is coupled to the input/output monitoring unit 202, which receives the identified logical location, and, according to the hot list, verifies whether the logical location of the command belongs to one of the specific logical locations recorded in the hot list, then outputs a verification result. The microprocessor 132 receives the verification, and assigns the low density memory storage space 110 or the high density memory storage space 112 as the physical location corresponding to the command. The hot list updating unit 206 is controlled by the microprocessor 132, and updates the hot list registered in the list registry 200 based on the verification of the hot list verifying unit 204. The hot list backup unit 208 is controlled by the microprocessor 132, forwarding the hot list registered in the list registry 200 to the non-volatile memory unit 11 for backup storage, so as to load and forward the hot list from the non-volatile memory unit 11 to the list registry 200 for registering in the next start.
In an embodiment, the storage device 10 further comprises a candidate list. In case that the logical location of the command provided by the host computer 17 does not belong to any of the specific logical locations recorded in the hot list, the identified logical location will be recorded in this candidate list. Referring now to
In
In
In practice, since the length of address space usually varies, in another embodiment, the length of address space may be discarded from the parameter set of the candidate list and hot list may set, but logical block address and cycle AGE may be alternatively used. Refer now to
According to the aforementioned examples, it can be appreciated that the logical location recorded in the candidate list and the hot list of the present invention may be a logical address or a logical block address. In practice, it is necessary to take hardware resources of flash memory controller, logical/physical transition algorithm and file system into integral consideration to decide the adequate approach.
Next, referring to
First, receiving a command, and decoding the command to identify its logical location (step S102);
Subsequently, verifying whether the logical location of the command belongs to one of the specific logical locations recorded in the hot list (step S104); and
Finally, based on the verification, assigning a physical location of the high density storage space 112 or a physical location of the low density storage space 110 as the physical location corresponding to the logical location of the command (step S106).
Referring now to
First, the control unit 13 receives a write command provided by the host computer 17, and identifies the logical location of the write command (step S202);
Next, the hot data verifying unit 133 verifies whether the logical location of the write command belongs to one of the specific logical locations recorded in the hot list, so as to determine whether the data to be written by the host computer 17 is a hot data (step S204);
If the logical location of the write command belongs to one of the specific logical locations, then assign a physical location of the low density storage space 110 as the physical location corresponding to the logical location of the command (step S206);
If the logical location of the write command does not belong to one of the specific logical locations, then assign a physical location of the high density storage space 112 as the physical location corresponding to the logical location of the command (step S208); and
Finally, transfer the data to the assigned memory storage space (110 or 112) for storage (step S210).
Referring now to
After the initiation of the digital system 1 (step S300), it enters into start mode, determining whether a hot list is stored in the non-volatile memory unit 11 (step S302). If the determination in step S302 is negative, then it waits for the host computer 17 to input a command (step S304); however, if the determination in step S302 is yes, then it loads the found hot list in the list registry 200 of the hot data verifying unit 133 (step S306), and then executes the step S304. After the step S304, it determines whether the command provided from the host computer 17 is received (step S308). If the determination in step S308 is not received, then it returns to step S304; if the determination in step S308 is yes, then it further determines whether the start cycle has been reached (step S310). If the determination in step S310 is no, then it determines whether the logical location of the command is not enlisted in the start hot list (step S312); in case the determination in step S312 is no, then it returns to step S304; otherwise, if the determination in step S312 is yes, then it updates the start hot list (step S314). After this, it returns to step S304.
In case the determination in step S310 is yes, which means the start cycle is full, then at this moment it enters into read mode and write mode from start mode, and, in the present embodiment, it first determines whether the command provided by the host computer 17 is a read command (step S316). If the determination in step S316 is yes, it enters into read mode, identifying and verifying whether the logical location of the read command belongs to one of the specific logical locations in the hot list, in order to decide whether the data corresponding to the command is a hot data (step S318). If the determination in step S318 is no, then it returns to step S304; if the determination in step S318 is yes, then it determines whether the logical location of the command is not enlisted in the read hot list (step S320). If the determination in step S320 is no, then it returns to step S304; if the determination in step S320 is yes, then it updates the read hot list (step S322). Afterwards, it determines whether the hot list backup is needed (step S332); if the determination in the step S332 is yes, then hot list registered in the hot data verifying unit 133 will be backed up to the non-volatile memory unit 11 (step S334); if the determination in the step S332 is no, then it returns to step S304.
In case the determination in the step S316 is no, then it determines whether the command provided by the host computer 17 is a write command (step S324); if the determination in the step S324 is no, then it returns to step S304; if the determination in the step S324 is yes, then it identifies whether the logical location of the command belongs to one of the specific logical locations recorded in the hot list, so as to decide whether the data corresponding to the command is a hot data (step S326). In case the determination in step S326 is no, then it returns to step S304; if the determination in step S326 is yes, then it determines whether the logical location of the command is not enlisted in the write hot list (step S328). If the determination in step S328 is no, then it returns to step S304; if the determination in step S328 is yes, then it updates the write hot list (step S330). Afterwards, it enters in step S332 to determine whether the hot list backup and subsequent steps are needed to perform.
In an embodiment, the storage device 10 further consists of a candidate list, and in steps S318 and S326, if the logical location of the command does not belong to any of the specific logical locations, then the identified logical location will be recorded in the candidate list. In steps S318 and S326 it further determines whether the logical location of the command belongs to one of the logical locations recorded in the candidate list; if the determination is yes, then the identified logical location will be transited from the candidate list to the hot list, so as to update the hot list.
Furthermore, after the update of the hot list, the storage device 10 needs to execute a data update transition process, such that the correspondence between the logical location and physical location in the file system is consistent with the contents of the hot list. Referring now to
As illustrated in
The above-mentioned embodiments all determine whether the logical location of a command belongs to a hot data by means of verification. Whereas in another embodiment, said control method, after reception of the command from the host computer 17 and the identification of the logical location of the received command, executes a hot data determination process to determine whether the logical location of the command belongs to one of the logical locations stored in the hot data by means of applying operational methods such as hash function, hash table and decay period on the logical location of the command. Afterwards, based on the determination, it assigns a physical location of the low density memory storage space 110 or a physical location of the high density memory storage space 112 as the physical location corresponding to the logical location of the command. That is, if the logical location of the command belongs to the hot data, then it assigns a physical location of the low density memory storage space 110 as the physical location corresponding to this logical location; in case, however, this logical location does not belong to the hot data, then it assigns a physical location of the high density memory storage space 112 as the physical location corresponding to this logical location.
The aforementioned hot data determination process is an existing technology, which is illustrated in the dissertation of Mr. Hsieh Ren-Wei, research graduate in the College of Information Science of National Taiwan University, titled “The Reliability and Performance Enhancement of Flash Memory Management” published in June 2006, and herein further detailed description thereof is omitted.
Through the examples set out supra, it can be appreciated that the hybrid density memory storage device and control method thereof according to the present invention is to categorize the frequently used files or user-appointed files as hot data, and through verifying whether the logical location of the command provided by the host computer belongs to logical locations stored in the hot data, it assigns the physical location corresponding to the logical location to either the high density memory storage space or to the low density memory storage space. In this way, it is possible to not only improve the defects of assigning file header area and data area of the same file to different memories in the prior art, causing early failure problem in the storage devices and inefficient usage of storage resources, but cooperate with the operation modes in the storage devices to further enhance the data access performance of the hybrid density memory storage devices.
The above-mentioned illustrations present simply the detailed descriptions and drawings of the embodiments of the present invention, without any intention to restrict the scope of the present invention thereto. The entire scope of the present invention should be based on the subsequent claims; all changes, substitutions or modifications that persons skilled in the art can easily consider and fabricate are encompassed in the scope of the present invention delineated by the following claims.
Number | Date | Country | |
---|---|---|---|
60907088 | Mar 2007 | US |