US20080235433A1 - Hybrid density memory storage device and control method thereof - Google Patents
Hybrid density memory storage device and control method thereof Download PDFInfo
- Publication number
- US20080235433A1 US20080235433A1 US12/050,614 US5061408A US2008235433A1 US 20080235433 A1 US20080235433 A1 US 20080235433A1 US 5061408 A US5061408 A US 5061408A US 2008235433 A1 US2008235433 A1 US 2008235433A1
- Authority
- US
- United States
- Prior art keywords
- command
- memory storage
- list
- logical
- density memory
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Definitions
- the present invention relates to a storage device; in particular, to a hybrid density memory storage device and control method thereof.
- Non-volatile memory also known as Electrically Independent memory
- 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.
- 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.
- SLC Single-Level-Cell
- MLC Multi-Level-Cell
- 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.
- 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.
- hybrid density memory comprises both high density memory and low density memory as the same time.
- 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.
- 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.
- FIG. 1 illustrates a system architecture diagram of a computer system.
- the system depicted therein is used to optimize action parameters of hard drive.
- the computer system 8 consists of a motherboard 81 , a hard drive 83 and a data retrieving device 87 , in which the motherboard 81 is coupled to the hard drive 83 through a bus 85 , and the motherboard 81 is installed with components such as central processing unit and memory, for supporting the various operations of the computer system 8 .
- Such a technology provides the computer system 8 with a benchmark software to control the data retrieving device 87 in order to record I/O command sequence information between the motherboard 81 and hard drive 83 , and through user-aided settings and operations, analyze the recorded information with the benchmark software so as to further optimize the action parameters for the hard drive 83 according to the analysis result.
- 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.
- 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).
- LA logical address
- LBA logical block address
- 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.
- FIG. 1 is a system architecture diagram of a computer system in the prior art
- FIG. 2 is a system architecture diagram of an embodiment of the hybrid density memory storage device according to the present invention.
- FIG. 3 is a system architecture diagram of an embodiment of the hot data verifying unit according to the present invention.
- FIGS. 4A and 4B are diagrams of an embodiment of hot data identification according to the present invention.
- FIG. 5 is a step-wise flowchart of the control method for the hybrid density memory storage device according to the present invention.
- FIG. 6 is a step-wise flowchart of an embodiment of the control method for the hybrid density memory storage device according to the present invention.
- FIG. 7 is a step-wise flowchart of an embodiment of the control method for the hybrid density memory storage device according to the present invention.
- FIG. 8 is a step-wise flowchart of the data update transition process according to the present invention.
- 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.
- FIG. 2 a system architecture diagram of an embodiment of the hybrid density memory storage device according to the present invention is shown.
- a hybrid density memory storage device 10 (hereunder referred as a storage device) is applied in a digital system 1 to cooperate with data storage jobs and participate in data read/write operations.
- the storage device 10 is coupled to a host computer 17 to receive the command provided from the host computer 17 .
- the host computer 17 may be a computer system, and the storage device 10 executes the hard drive feature of the computer system.
- 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
- 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 .
- FTL Flash Transition Layer
- 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.
- 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.
- 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
- the read command is to read a data of a logical location from the non-volatile memory unit 11
- 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.
- 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.
- 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.
- the control unit 13 comprises a system interface 131 , a microprocessor 132 , a hot data verifying unit 133 , a data transfer butter 134 and a memory interface 135 .
- the system interface 131 is coupled to the host computer 17 , receiving the command from the host computer 17 and transferring the data corresponding to the command.
- the microprocessor is coupled to the system interface 131 for receiving, processing and responding to the command, so as to control the operations of the storage device 10 and the control unit 13 .
- the hot list is registered in the hot data verifying unit 133 , in which the hot data verifying unit 133 is coupled to the system interface 131 , identifying the logical location of the command, verifying whether the logical location of the command belongs to one of the specific logical locations recorded in the hot list, and further outputting a verification to the microprocessor 132 .
- the data transfer butter 134 is coupled to the system interface 131 for registering the data transferred to the storage device 10 by the host computer 17 , or registering the data to be read from the storage device 10 by the host computer 17 .
- the memory interface 135 is coupled between the data transfer butter 134 and the non-volatile memory unit 11 as a data transfer interface between the control unit 13 and the non-volatile memory unit 11 .
- the hot data verifying unit 133 comprises a list registry 200 , an input/output monitoring unit 202 , a hot list verifying unit 204 , a hot list updating unit 206 , a hot list backup unit 208 and an interface control unit 210 .
- the hot list is stored in the non-volatile memory unit 11 .
- 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.
- the storage device 10 further comprises a candidate list.
- the identified logical location will be recorded in this candidate list.
- the parameters recorded in the candidate list 302 and the hot list 304 consist of logical address LA, length of address space L and cycle AGE.
- the logical address LA represents the start address of the data
- length L means the length of the address space, i.e. the amount of hot data
- cycle AGE indicates the period that a recorded data is not hit (repeatedly accessed) by the command, wherein the cycle AGE may be an actual time or numbered in terms of command input/output counts, or else implemented by other computational approaches, acting as a foundation for data replacement in the hot list, in order to discard logical locations having not been hit by the access command for a long time.
- the candidate list 302 and the hot list 304 each has a space for recording 5 data entries
- the command 300 uses the logical address LA as its logical location
- the cycle AGE assigns the number of command no-hits.
- the candidate list 302 and the hot list 304 are both empty, and six logical addresses that the command accesses are sequentially 0x0000, 0x0010, 0x0123, 0x0200, 0x0210 and 0x0123.
- the first five data entries are sequentially filled in the candidate list 302 , while the logical address of the sixth command is 0x0123, which repeats the third record retained in the candidate list 302 , whose cycle update is 1, and other records continue to accumulate.
- the repeated third record in the candidate list 302 will then be transited to the hot list 304 .
- 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.
- FIG. 4B this Figure depicts the same access operation as the one in FIG. 4A . Since it is based on the logical block address LB, the probability of hit may be expanded.
- the logical block addresses LB of the hot list 314 are two records, i.e. 0x000 and 0x0002, which repeat respectively at the second access and fifth access in the candidate list, enlisted thus in the hot list.
- the logical location of the sixth command 310 is also enlisted as the newest record in the hot list 314 .
- 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.
- FIG. 5 a step-wise flowchart of the control method for the hybrid density memory storage device according to the present invention is shown.
- the relevant system architecture thereof may be conjunctively referred to FIG. 2 .
- said control method comprises the following steps:
- step S 102 receiving a command, and decoding the command to identify its logical location
- step S 104 verifying whether the logical location of the command belongs to one of the specific logical locations recorded in the hot list (step S 104 );
- step S 106 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 S 106 ).
- FIG. 6 a step-wise flowchart of an embodiment of the control method for the hybrid density memory storage device according to the present invention is shown, which illustrates the operational steps of, under write mode, the host computer 17 writing a data into the non-volatile memory unit 11 .
- the write mode of the control method comprises the following steps:
- control unit 13 receives a write command provided by the host computer 17 , and identifies the logical location of the write command (step S 202 );
- 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 S 204 );
- step S 206 assign a physical location of the low density storage space 110 as the physical location corresponding to the logical location of the command
- step S 208 assign a physical location of the high density storage space 112 as the physical location corresponding to the logical location of the command.
- FIG. 7 a step-wise flowchart of an embodiment of the control method for the hybrid density memory storage device according to the present invention is shown, which embodiment comprises three operation modes for the digital system 1 , i.e. start, read and write.
- the relevant system architecture thereof may be conjunctively referred to FIGS. 2 and 3 .
- step S 300 After the initiation of the digital system 1 (step S 300 ), it enters into start mode, determining whether a hot list is stored in the non-volatile memory unit 11 (step S 302 ). If the determination in step S 302 is negative, then it waits for the host computer 17 to input a command (step S 304 ); however, if the determination in step S 302 is yes, then it loads the found hot list in the list registry 200 of the hot data verifying unit 133 (step S 306 ), and then executes the step S 304 . After the step S 304 , it determines whether the command provided from the host computer 17 is received (step S 308 ).
- step S 308 If the determination in step S 308 is not received, then it returns to step S 304 ; if the determination in step S 308 is yes, then it further determines whether the start cycle has been reached (step S 310 ). If the determination in step S 310 is no, then it determines whether the logical location of the command is not enlisted in the start hot list (step S 312 ); in case the determination in step S 312 is no, then it returns to step S 304 ; otherwise, if the determination in step S 312 is yes, then it updates the start hot list (step S 314 ). After this, it returns to step S 304 .
- step S 310 determines whether the command provided by the host computer 17 is a read command (step S 316 ). If the determination in step S 316 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 S 318 ).
- step S 318 determines whether the logical location of the command is not enlisted in the read hot list (step S 320 ). If the determination in step S 320 is no, then it returns to step S 304 ; if the determination in step S 320 is yes, then it updates the read hot list (step S 322 ).
- step S 332 determines whether the hot list backup is needed (step S 332 ); if the determination in the step S 332 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 S 334 ); if the determination in the step S 332 is no, then it returns to step S 304 .
- step S 316 determines whether the command provided by the host computer 17 is a write command (step S 324 ); if the determination in the step S 324 is no, then it returns to step S 304 ; if the determination in the step S 324 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 S 326 ). In case the determination in step S 326 is no, then it returns to step S 304 ; if the determination in step S 326 is yes, then it determines whether the logical location of the command is not enlisted in the write hot list (step S 328 ).
- step S 328 determines whether the hot list backup and subsequent steps are needed to perform.
- the storage device 10 further consists of a candidate list, and in steps S 318 and S 326 , 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 S 318 and S 326 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.
- FIG. 8 a step-wise flowchart of the data update transition process according to the present invention is shown, wherein the relevant system architecture thereof may be referred to FIG. 2 .
- step S 400 after the start of the data update transition process (step S 400 ), it first determines whether there exists any newly added logical location data in the hot list (step S 402 ); if the determination in step S 402 is no, then the data update transition process ends (S 408 ); if the determination in step S 402 is yes, then it reads the high density memory storage space 112 to acquire the data for the newly added logical location (S 404 ). After this, it transits the data acquired from the high density memory storage space 112 to the low density memory storage space 110 for storage (step S 406 ). Finally, it enters into step S 408 , where the data update transition process ends.
- the above-mentioned embodiments all determine whether the logical location of a command belongs to a hot data by means of verification.
- 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.
- 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 hybrid density memory storage device and control method thereof 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.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
The present invention discloses a control method for a hybrid density memory storage device. The method arranges physical locations for a file system stored in the storage device. The storage device includes a high density storage space, a low density storage space and a hot list capable of recording a plurality of logical locations. The method includes the following steps: receiving a command; verifying whether the logical location of the command belongs to the logical locations recorded in the hot list; and according to the verification, assigning a physical location of the high density storage space or a physical location of the low density storage space as the physical location corresponding to the logical location of the command.
Description
- 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
FIG. 1 , which illustrates a system architecture diagram of a computer system. The system depicted therein is used to optimize action parameters of hard drive. As shown inFIG. 1 , thecomputer system 8 consists of amotherboard 81, ahard drive 83 and adata retrieving device 87, in which themotherboard 81 is coupled to thehard drive 83 through abus 85, and themotherboard 81 is installed with components such as central processing unit and memory, for supporting the various operations of thecomputer system 8. Such a technology provides thecomputer system 8 with a benchmark software to control thedata retrieving device 87 in order to record I/O command sequence information between themotherboard 81 andhard drive 83, and through user-aided settings and operations, analyze the recorded information with the benchmark software so as to further optimize the action parameters for thehard drive 83 according to the analysis result. - 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.
-
FIG. 1 is a system architecture diagram of a computer system in the prior art; -
FIG. 2 is a system architecture diagram of an embodiment of the hybrid density memory storage device according to the present invention; -
FIG. 3 is a system architecture diagram of an embodiment of the hot data verifying unit according to the present invention; -
FIGS. 4A and 4B are diagrams of an embodiment of hot data identification according to the present invention; -
FIG. 5 is a step-wise flowchart of the control method for the hybrid density memory storage device according to the present invention; -
FIG. 6 is a step-wise flowchart of an embodiment of the control method for the hybrid density memory storage device according to the present invention; -
FIG. 7 is a step-wise flowchart of an embodiment of the control method for the hybrid density memory storage device according to the present invention; and -
FIG. 8 is a step-wise flowchart of the data update transition process according to the present invention. - 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
FIG. 2 , a system architecture diagram of an embodiment of the hybrid density memory storage device according to the present invention is shown. As illustrated inFIG. 2 , a hybrid density memory storage device 10 (hereunder referred as a storage device) is applied in adigital system 1 to cooperate with data storage jobs and participate in data read/write operations. In thedigital system 1, thestorage device 10 is coupled to ahost computer 17 to receive the command provided from thehost computer 17. In practice, thehost computer 17 may be a computer system, and thestorage device 10 executes the hard drive feature of the computer system. - The
storage device 10 consists of anon-volatile memory unit 11, acontrol unit 13 and a powersource management unit 15. Thenon-volatile memory unit 11 is formed by flash memory, comprising a low densitymemory storage space 110 and a high densitymemory storage space 112. The low densitymemory storage space 110 is formed by low density memory, and the high densitymemory 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 apower source 19, receives the output power thereof and transforms the received power into the power source required by thecontrol unit 13 and thenon-volatile memory unit 11 inside thestorage device 10. - The
storage device 10 stores a file system, and thehost 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, thestorage device 10, by using the Flash Transition Layer (FTL), maps the logical location of the file to the physical location of thenon-volatile memory unit 11. - The
control unit 13 is coupled between thehost computer 17 and thenon-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 densitymemory 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 densitymemory storage space 110 or the physical location of the high densitymemory storage space 112 as the physical location of the file data. In practice, thecontrol unit 13 receives a command provided from thehost 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 thenon-volatile memory unit 11, and the read command is to read a data of a logical location from thenon-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 thehost computer 17. Thecontrol 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 densitymemory storage space 112 or the physical location of the low densitymemory 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 thecontrol unit 13 assigns the physical location of the low densitymemory 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 thecontrol unit 13 assigns the physical location of the high densitymemory 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 densitymemory 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 thehost computer 17. Thecontrol unit 13 verifies the logical location of the command by using different hot lists, based on the differences among operation modes. - In
FIG. 2 , thecontrol unit 13 comprises asystem interface 131, amicroprocessor 132, a hotdata verifying unit 133, adata transfer butter 134 and amemory interface 135. Thesystem interface 131 is coupled to thehost computer 17, receiving the command from thehost computer 17 and transferring the data corresponding to the command. The microprocessor is coupled to thesystem interface 131 for receiving, processing and responding to the command, so as to control the operations of thestorage device 10 and thecontrol unit 13. The hot list is registered in the hotdata verifying unit 133, in which the hotdata verifying unit 133 is coupled to thesystem interface 131, identifying the logical location of the command, verifying whether the logical location of the command belongs to one of the specific logical locations recorded in the hot list, and further outputting a verification to themicroprocessor 132. The data transferbutter 134 is coupled to thesystem interface 131 for registering the data transferred to thestorage device 10 by thehost computer 17, or registering the data to be read from thestorage device 10 by thehost computer 17. Thememory interface 135 is coupled between the data transferbutter 134 and thenon-volatile memory unit 11 as a data transfer interface between thecontrol unit 13 and thenon-volatile memory unit 11. - Subsequently, referring now to
FIG. 3 , a system architecture diagram of an embodiment of the hot data verifying unit according to the present invention is shown. As illustrated inFIG. 3 , the hotdata verifying unit 133 comprises alist registry 200, an input/output monitoring unit 202, a hotlist verifying unit 204, a hotlist updating unit 206, a hotlist backup unit 208 and aninterface control unit 210. - The hot list is stored in the
non-volatile memory unit 11. When thedigital system 1 is started, the hot list is duplicated into thelist registry 200 for temporary storage. Theinterface control unit 210 acts as a connection interface for coupling between the hotdata verifying unit 133 and theexternal system interface 131,microprocessor 132 andnon-volatile memory unit 11. The input/output monitoring unit 202, hotlist verifying unit 204, hotlist updating unit 206 and hotlist backup unit 208 are coupled between thelist registry 200 and theinterface control unit 210, able to access the hot list registered in thelist registry 200, and coupled to theexternal system interface 131,microprocessor 132 andnon-volatile memory unit 11 via theinterface control unit 210. - The input/
output monitoring unit 202 is coupled to thesystem interface 131 through theinterface control unit 210, for identifying the logical location of the command provided by thehost computer 17. The hotlist 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. Themicroprocessor 132 receives the verification, and assigns the low densitymemory storage space 110 or the high densitymemory storage space 112 as the physical location corresponding to the command. The hotlist updating unit 206 is controlled by themicroprocessor 132, and updates the hot list registered in thelist registry 200 based on the verification of the hotlist verifying unit 204. The hotlist backup unit 208 is controlled by themicroprocessor 132, forwarding the hot list registered in thelist registry 200 to thenon-volatile memory unit 11 for backup storage, so as to load and forward the hot list from thenon-volatile memory unit 11 to thelist 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 thehost 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 toFIGS. 4A and 4B , these diagrams illustrate an embodiment of hot data identification according to the present invention, in which a concise example of the hot list data identification is shown. - In
FIG. 4A , the parameters recorded in thecandidate list 302 and thehot list 304 consist of logical address LA, length of address space L and cycle AGE. Herein the logical address LA represents the start address of the data; length L means the length of the address space, i.e. the amount of hot data; cycle AGE indicates the period that a recorded data is not hit (repeatedly accessed) by the command, wherein the cycle AGE may be an actual time or numbered in terms of command input/output counts, or else implemented by other computational approaches, acting as a foundation for data replacement in the hot list, in order to discard logical locations having not been hit by the access command for a long time. - In
FIG. 4A , thecandidate list 302 and thehot list 304 each has a space for recording 5 data entries, thecommand 300 uses the logical address LA as its logical location, and the cycle AGE assigns the number of command no-hits. Assume, after start of the system, thecandidate list 302 and thehot list 304 are both empty, and six logical addresses that the command accesses are sequentially 0x0000, 0x0010, 0x0123, 0x0200, 0x0210 and 0x0123. The first five data entries are sequentially filled in thecandidate list 302, while the logical address of the sixth command is 0x0123, which repeats the third record retained in thecandidate list 302, whose cycle update is 1, and other records continue to accumulate. The repeated third record in thecandidate list 302 will then be transited to thehot list 304. - 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
FIG. 4B , this Figure depicts the same access operation as the one inFIG. 4A . Since it is based on the logical block address LB, the probability of hit may be expanded. InFIG. 4B , the logical block addresses LB of thehot list 314 are two records, i.e. 0x000 and 0x0002, which repeat respectively at the second access and fifth access in the candidate list, enlisted thus in the hot list. The logical location of thesixth command 310 is also enlisted as the newest record in thehot list 314. - 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
FIG. 5 , a step-wise flowchart of the control method for the hybrid density memory storage device according to the present invention is shown. The relevant system architecture thereof may be conjunctively referred toFIG. 2 . As illustrated inFIG. 5 , said control method comprises the following steps: - 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 lowdensity storage space 110 as the physical location corresponding to the logical location of the command (step S106). - Referring now to
FIG. 6 , a step-wise flowchart of an embodiment of the control method for the hybrid density memory storage device according to the present invention is shown, which illustrates the operational steps of, under write mode, thehost computer 17 writing a data into thenon-volatile memory unit 11. As set out inFIG. 6 , the write mode of the control method comprises the following steps: - First, the
control unit 13 receives a write command provided by thehost 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 thehost 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
FIG. 7 , a step-wise flowchart of an embodiment of the control method for the hybrid density memory storage device according to the present invention is shown, which embodiment comprises three operation modes for thedigital system 1, i.e. start, read and write. The relevant system architecture thereof may be conjunctively referred toFIGS. 2 and 3 . - 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 thelist 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 thehost 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 hotdata 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 toFIG. 8 , a step-wise flowchart of the data update transition process according to the present invention is shown, wherein the relevant system architecture thereof may be referred toFIG. 2 . - As illustrated in
FIG. 8 , after the start of the data update transition process (step S400), it first determines whether there exists any newly added logical location data in the hot list (step S402); if the determination in step S402 is no, then the data update transition process ends (S408); if the determination in step S402 is yes, then it reads the high densitymemory storage space 112 to acquire the data for the newly added logical location (S404). After this, it transits the data acquired from the high densitymemory storage space 112 to the low densitymemory storage space 110 for storage (step S406). Finally, it enters into step S408, where the data update transition process ends. - 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 densitymemory storage space 110 or a physical location of the high densitymemory 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 densitymemory 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 densitymemory 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.
Claims (20)
1. 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, wherein the hybrid density memory storage device is used to store file data provided by a host computer, and has 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 including the following steps:
receiving a command;
verifying whether the logical location of the command belongs to one of the logical locations recorded in the hot list; and
assigning, according to the verification, 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.
2. The control method according to claim 1 , further comprising the step of identifying the logical location of the command after the step of receiving a command.
3. The control method according to claim 1 , wherein it assigns a physical location of the low density memory storage space to the logical location of the command, if the logical location of the command belongs to one of the logical locations recorded in the hot list.
4. The control method according to claim 1 , wherein the hybrid density memory storage device further comprises a candidate list, and if the logical location of the command does not belong to one of the logical locations recorded in the hot list, it records the logical location of the command in the candidate list.
5. The control method according to claim 4 , wherein the step of verifying whether the logical location of the command belongs to one of the logical locations recorded in the hot list further comprises the step of verifying whether the logical location of the command is recorded in the candidate list.
6. The control method according to claim 5 , wherein, if the logical location of the command is recorded in the candidate list, then it transits the logical location of the command from the candidate list to the hot list in order to update the hot list.
7. The control method according to claim 5 , wherein, after the update of the hot list, the control method further comprises executing a data update transition process, the data update transition process comprising the following steps:
reading the high density memory storage space to acquire the data for the newly added logical location in the hot list; and
transiting the data acquired from the high density memory storage space to the low density memory storage space for storage.
8. The control method according to claim 1 , wherein, under a start mode of the hybrid density memory storage device, if the logical location of the command does not belong to one of the logical locations recorded in the hot list, then the control method further comprises updating the hot list according to the logical location of the command.
9. The control method according to claim 8 , wherein, after the update of the hot list, the control method further comprises executing a data update transition process, in which the data update transition process comprises the following steps:
reading the high density memory storage space to acquire the data for the newly added logical location in the hot list; and
transiting the data acquired from the high density memory storage space to the low density memory storage space for storage.
10. The control method according to claim 1 , wherein the hot list comprises a read hot list, a write hot list and a start hot list.
11. A control method for hybrid density memory storage device, suitable for assigning the physical location of a hybrid density memory storage device corresponding to a file system, the hybrid density memory storage device having a high density memory storage space and a low density memory storage space, said control method including the following steps:
receiving a command;
executing a process of hot data verification to verify whether the logical location of the command belongs to hot data; and
assigning, according to the verification, 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.
12. The control method according to claim 11 , further comprising the step of identifying the logical location of the command after the step of receiving a command.
13. The control method according to claim 11 , wherein, it assigns a physical location of the low density memory storage space to the logical location of the command, if the logical location of the command belongs to the hot data.
14. The control method according to claim 11 , wherein the hot data verification process is to apply a hash operation to the logical location of the command.
15. 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 comprising:
a non-volatile memory unit, which comprises a high density memory storage space and a low density memory storage space; and
a control unit, which 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.
16. The hybrid density memory storage device according to claim 15 , wherein the hot list comprises a read hot list, a write hot list and a start hot list.
17. The hybrid density memory storage device according to claim 15 , wherein the control unit further comprises:
a system interface, which receives the command provided by the host computer and transfers the data corresponding to the command;
a microprocessor, which is coupled to the system interface for receiving, processing and responding to the command, so as to control the operations of the hybrid density memory storage device and the control unit; and
a hot data verifying unit, which is coupled to the system interface, so as to identify the logical location of the command, verifying whether the logical location of the command belongs to one of the logical locations recorded in the hot list, and further outputting a verification to the microprocessor;
in which the microprocessor assigns a physical location in the high density memory storage space or a physical location in the low density memory storage space to the logical location of the command, according to the verification.
18. The hybrid density memory storage device according to claim 17 , wherein the hot data verification unit further comprises:
a list registry, which registers the hot list;
an input/output monitoring unit, which is coupled to the system interface, identifying the logical location of the command; and
a hot list verifying unit, which is coupled to the list registry and the input/output monitoring unit, receiving the logical location of the command identified by the input/output monitoring unit, and verifying whether the logical location belongs to one of the logical locations recorded in the hot list to output the verification.
19. The hybrid density memory storage device according to claim 18 , wherein the hot list verifying unit further comprises a hot list updating unit, which is coupled to the list registry and the hot list verifying unit, and updates the hot list registered in the list registry according to the verification.
20. The hybrid density memory storage device according to claim 18 , wherein the hot list verifying unit further comprises a list backup unit, which is coupled to the list registry, is controlled by the microprocessor and transits the hot list registered in the list registry to the non-volatile memory unit for storage.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/050,614 US20080235433A1 (en) | 2007-03-19 | 2008-03-18 | Hybrid density memory storage device and control method thereof |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US90708807P | 2007-03-19 | 2007-03-19 | |
| US12/050,614 US20080235433A1 (en) | 2007-03-19 | 2008-03-18 | Hybrid density memory storage device and control method thereof |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20080235433A1 true US20080235433A1 (en) | 2008-09-25 |
Family
ID=39775861
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/050,567 Active 2030-04-12 US8015346B2 (en) | 2007-03-19 | 2008-03-18 | Memory system having hybrid density memory and methods for wear-leveling management and file distribution management thereof |
| US12/050,614 Abandoned US20080235433A1 (en) | 2007-03-19 | 2008-03-18 | Hybrid density memory storage device and control method thereof |
| US12/050,593 Active 2030-11-18 US8307163B2 (en) | 2007-03-19 | 2008-03-18 | Hybrid density memory storage device |
| US13/159,784 Active US8291156B2 (en) | 2007-03-19 | 2011-06-14 | Memory system having hybrid density memory and methods for wear-leveling management and file distribution management thereof |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/050,567 Active 2030-04-12 US8015346B2 (en) | 2007-03-19 | 2008-03-18 | Memory system having hybrid density memory and methods for wear-leveling management and file distribution management thereof |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/050,593 Active 2030-11-18 US8307163B2 (en) | 2007-03-19 | 2008-03-18 | Hybrid density memory storage device |
| US13/159,784 Active US8291156B2 (en) | 2007-03-19 | 2011-06-14 | Memory system having hybrid density memory and methods for wear-leveling management and file distribution management thereof |
Country Status (3)
| Country | Link |
|---|---|
| US (4) | US8015346B2 (en) |
| CN (3) | CN101271730B (en) |
| TW (3) | TWI368224B (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120137107A1 (en) * | 2010-11-26 | 2012-05-31 | Hung-Ming Lee | Method of decaying hot data |
| TWI467369B (en) * | 2008-10-01 | 2015-01-01 | A Data Technology Co Ltd | Hybrid density memory system and control method thereof |
| US20160062682A1 (en) * | 2012-02-24 | 2016-03-03 | Simplivity Corporation | Method and apparatus utilizing non-uniform hash functions for placing records in non-uniform access memory |
| US9390004B2 (en) | 2008-05-28 | 2016-07-12 | Round Rock Research, Llc | Hybrid memory management |
| US20180165010A1 (en) * | 2016-12-14 | 2018-06-14 | Via Technologies, Inc. | Non-volatile memory apparatus and iteration sorting method thereof |
| US10083095B1 (en) * | 2014-09-25 | 2018-09-25 | EMC IP Holding Company LLC | Analytics-based backup system for determining optimum backup methods and predicting backup windows |
| US20190050156A1 (en) * | 2017-08-09 | 2019-02-14 | Macronix International Co., Ltd. | Management system for memory device and management method for the same |
| EP4509993A3 (en) * | 2019-04-08 | 2025-05-14 | Lodestar Licensing Group LLC | Large data read techniques |
Families Citing this family (96)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9153337B2 (en) | 2006-12-11 | 2015-10-06 | Marvell World Trade Ltd. | Fatigue management system and method for hybrid nonvolatile solid state memory system |
| US8375190B2 (en) * | 2007-12-11 | 2013-02-12 | Microsoft Corporation | Dynamtic storage hierarachy management |
| US8200904B2 (en) * | 2007-12-12 | 2012-06-12 | Sandisk Il Ltd. | System and method for clearing data from a cache |
| TWI389125B (en) * | 2008-07-18 | 2013-03-11 | A Data Technology Co Ltd | Memory storage device and control method thereof |
| TW201007451A (en) * | 2008-08-12 | 2010-02-16 | Phison Electronics Corp | Block management method for flash memory and storage system and controller using the same |
| WO2010039149A1 (en) * | 2008-10-03 | 2010-04-08 | Hewlett-Packard Development Company, L.P. | Clearing secure system resources in a computing device |
| TWI413984B (en) * | 2008-10-16 | 2013-11-01 | Silicon Motion Inc | Flash memory apparatus and updating method |
| TWI395222B (en) * | 2008-12-05 | 2013-05-01 | Apacer Technology Inc | A storage device having a flash memory, and a storage method of a flash memory |
| US8261009B2 (en) * | 2008-12-30 | 2012-09-04 | Sandisk Il Ltd. | Method and apparatus for retroactive adaptation of data location |
| US20100169540A1 (en) * | 2008-12-30 | 2010-07-01 | Sinclair Alan W | Method and apparatus for relocating selected data between flash partitions in a memory device |
| US9336214B2 (en) * | 2009-01-31 | 2016-05-10 | Hewlett-Packard Development Company, L.P. | File-name extension characters for file distribution |
| CN101794253B (en) * | 2009-02-04 | 2012-08-22 | 威刚科技股份有限公司 | Memory storage device and control method thereof, and hot data control module |
| US8051241B2 (en) * | 2009-05-07 | 2011-11-01 | Seagate Technology Llc | Wear leveling technique for storage devices |
| US8380942B1 (en) * | 2009-05-29 | 2013-02-19 | Amazon Technologies, Inc. | Managing data storage |
| TWI412036B (en) * | 2009-07-22 | 2013-10-11 | Silicon Motion Inc | Data reading method and data storage device |
| US7948798B1 (en) * | 2009-07-22 | 2011-05-24 | Marvell International Ltd. | Mixed multi-level cell and single level cell storage device |
| US8914568B2 (en) * | 2009-12-23 | 2014-12-16 | Intel Corporation | Hybrid memory architectures |
| CN101794199A (en) * | 2010-03-26 | 2010-08-04 | 山东高效能服务器和存储研究院 | Method for accelerating performance of computer disk based on disk cache |
| US9104546B2 (en) * | 2010-05-24 | 2015-08-11 | Silicon Motion Inc. | Method for performing block management using dynamic threshold, and associated memory device and controller thereof |
| WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
| US9176864B2 (en) * | 2011-05-17 | 2015-11-03 | SanDisk Technologies, Inc. | Non-volatile memory and method having block management with hot/cold data sorting |
| US9141528B2 (en) | 2011-05-17 | 2015-09-22 | Sandisk Technologies Inc. | Tracking and handling of super-hot data in non-volatile memory systems |
| US9792218B2 (en) * | 2011-05-20 | 2017-10-17 | Arris Enterprises Llc | Data storage methods and apparatuses for reducing the number of writes to flash-based storage |
| TWI581097B (en) * | 2011-07-20 | 2017-05-01 | 欣承科技股份有限公司 | Access method |
| US9524957B2 (en) * | 2011-08-17 | 2016-12-20 | Intersil Americas LLC | Back-to-back stacked dies |
| US8713257B2 (en) * | 2011-08-26 | 2014-04-29 | Lsi Corporation | Method and system for shared high speed cache in SAS switches |
| US9417803B2 (en) * | 2011-09-20 | 2016-08-16 | Apple Inc. | Adaptive mapping of logical addresses to memory devices in solid state drives |
| US10152423B2 (en) | 2011-10-31 | 2018-12-11 | International Business Machines Corporation | Selective population of secondary cache employing heat metrics |
| CN102495806B (en) * | 2011-11-25 | 2014-09-03 | 清华大学 | Periodic wear balancing method and memory management method of phase change memory |
| US9240240B2 (en) * | 2011-11-29 | 2016-01-19 | Micron Technology, Inc. | Apparatus having indications of memory cell density and methods of their determination and use |
| US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
| KR20130116705A (en) | 2012-04-16 | 2013-10-24 | 삼성전자주식회사 | Mram : magnetic random access memory device and method for addressing threrof |
| US9846641B2 (en) | 2012-06-18 | 2017-12-19 | International Business Machines Corporation | Variability aware wear leveling |
| US8953398B2 (en) | 2012-06-19 | 2015-02-10 | Sandisk Technologies Inc. | Block level grading for reliability and yield improvement |
| US9430322B2 (en) | 2012-08-02 | 2016-08-30 | Sandisk Technologies Llc | Device based wear leveling using intrinsic endurance |
| CN103631737A (en) * | 2012-08-27 | 2014-03-12 | 鸿富锦精密工业(深圳)有限公司 | Memory data processing system and method |
| JP2014052785A (en) * | 2012-09-06 | 2014-03-20 | Toshiba Corp | Memory system |
| CN103885901B (en) * | 2012-12-21 | 2019-06-25 | 联想(北京)有限公司 | File reading, storage equipment and electronic equipment |
| CN102981972A (en) * | 2012-12-25 | 2013-03-20 | 重庆大学 | Wear-leveling method for phase change memory |
| CN103902226B (en) * | 2012-12-27 | 2017-08-04 | 宏碁股份有限公司 | Data writing method and system |
| US20140281129A1 (en) * | 2013-03-15 | 2014-09-18 | Tal Heller | Data tag sharing from host to storage systems |
| WO2014209234A1 (en) * | 2013-06-26 | 2014-12-31 | Agency For Science, Technology And Research | Method and apparatus for hot data region optimized dynamic management |
| KR102065664B1 (en) | 2013-08-09 | 2020-01-13 | 삼성전자 주식회사 | Method for estimating degradation state of memory device and wear leveling method in memory system using the same |
| US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
| US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
| US10019352B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for adaptive reserve storage |
| KR102289919B1 (en) * | 2014-04-15 | 2021-08-12 | 삼성전자주식회사 | Storage controller, storage device, storage system and method of operation of the storage controller |
| US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
| US9645749B2 (en) | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
| US9697247B2 (en) * | 2014-07-16 | 2017-07-04 | Facebook, Inc. | Tiered data storage architecture |
| US20170220422A1 (en) * | 2014-08-28 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Moving data chunks |
| US9582220B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Notification of trigger condition to reduce declared capacity of a storage device in a multi-storage-device storage system |
| US9582212B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Notification of trigger condition to reduce declared capacity of a storage device |
| US9524105B2 (en) | 2014-09-02 | 2016-12-20 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by altering an encoding format |
| US9582203B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by reducing a range of logical addresses |
| US9563370B2 (en) | 2014-09-02 | 2017-02-07 | Sandisk Technologies Llc | Triggering a process to reduce declared capacity of a storage device |
| US9524112B2 (en) | 2014-09-02 | 2016-12-20 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by trimming |
| US9582202B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by moving data |
| US9652153B2 (en) | 2014-09-02 | 2017-05-16 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by reducing a count of logical addresses |
| US9519427B2 (en) | 2014-09-02 | 2016-12-13 | Sandisk Technologies Llc | Triggering, at a host system, a process to reduce declared capacity of a storage device |
| US9665311B2 (en) | 2014-09-02 | 2017-05-30 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by making specific logical addresses unavailable |
| US9158681B1 (en) | 2014-09-02 | 2015-10-13 | Sandisk Technologies Inc. | Process and apparatus to reduce declared capacity of a storage device by conditionally trimming |
| US9582193B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system |
| US9552166B2 (en) | 2014-09-02 | 2017-01-24 | Sandisk Technologies Llc. | Process and apparatus to reduce declared capacity of a storage device by deleting data |
| US9563362B2 (en) | 2014-09-02 | 2017-02-07 | Sandisk Technologies Llc | Host system and process to reduce declared capacity of a storage device by trimming |
| KR102251216B1 (en) | 2014-11-21 | 2021-05-12 | 삼성전자주식회사 | Address-remapped memory chip, memory module and memory system including the same |
| KR102258126B1 (en) | 2015-03-19 | 2021-05-28 | 삼성전자주식회사 | Method of operating a memory controller, a data storage device including same, and data processing system including same |
| US9639282B2 (en) | 2015-05-20 | 2017-05-02 | Sandisk Technologies Llc | Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices |
| US9606737B2 (en) | 2015-05-20 | 2017-03-28 | Sandisk Technologies Llc | Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning |
| KR102374637B1 (en) * | 2015-07-08 | 2022-03-17 | 삼성전자주식회사 | Computing system and memory management method therfof |
| US10078448B2 (en) * | 2015-07-08 | 2018-09-18 | Samsung Electronics Co., Ltd. | Electronic devices and memory management methods thereof |
| CN105183379B (en) * | 2015-09-01 | 2018-10-23 | 上海新储集成电路有限公司 | A kind of data backup system and method for mixing memory |
| CN105302479A (en) * | 2015-09-29 | 2016-02-03 | 联想(北京)有限公司 | Data management method and storage device |
| CN105159843B (en) * | 2015-10-19 | 2018-07-31 | 深圳芯邦科技股份有限公司 | A kind of multichannel management method and system based on superblock |
| KR102388746B1 (en) * | 2015-11-11 | 2022-04-20 | 삼성전자주식회사 | Method of controlling memory cell access based on safe address mapping |
| US9946473B2 (en) | 2015-12-03 | 2018-04-17 | Sandisk Technologies Llc | Efficiently managing unmapped blocks to extend life of solid state drive |
| US9946483B2 (en) | 2015-12-03 | 2018-04-17 | Sandisk Technologies Llc | Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning |
| TWI598733B (en) * | 2016-01-12 | 2017-09-11 | 瑞昱半導體股份有限公司 | Weighting-type data relocation control device and method |
| US9959058B1 (en) * | 2016-03-31 | 2018-05-01 | EMC IP Holding Company LLC | Utilizing flash optimized layouts which minimize wear of internal flash memory of solid state drives |
| US10121555B2 (en) * | 2016-05-26 | 2018-11-06 | Advanced Micro Devices, Inc. | Wear-limiting non-volatile memory |
| CN107807786B (en) * | 2016-09-08 | 2021-09-07 | 宏碁股份有限公司 | Storage device and data mapping method thereof |
| US10331999B2 (en) * | 2017-04-03 | 2019-06-25 | Gyrfalcon Technology Inc. | Memory subsystem in CNN based digital IC for artificial intelligence |
| KR20180125694A (en) * | 2017-05-16 | 2018-11-26 | 에스케이하이닉스 주식회사 | Memory system and operating method thereof |
| TWI631461B (en) | 2017-06-27 | 2018-08-01 | 晨星半導體股份有限公司 | Controlling method of storage of driving recorder and storage controlling system |
| US11435922B2 (en) | 2017-06-27 | 2022-09-06 | Sigmastar Technology Ltd. | Control method for storage device of driving recorder and storage device control system |
| CN109308267B (en) * | 2017-07-28 | 2021-12-03 | 星宸科技股份有限公司 | Control method and control system of storage device of driving recorder |
| TWI652571B (en) | 2017-08-09 | 2019-03-01 | 旺宏電子股份有限公司 | Management system for memory device and management method for the same |
| US10705747B2 (en) * | 2018-03-21 | 2020-07-07 | Micron Technology, Inc. | Latency-based storage in a hybrid memory system |
| US10884889B2 (en) | 2018-06-22 | 2021-01-05 | Seagate Technology Llc | Allocating part of a raid stripe to repair a second raid stripe |
| US10713155B2 (en) | 2018-07-19 | 2020-07-14 | Micron Technology, Inc. | Biased sampling methodology for wear leveling |
| US10599576B2 (en) | 2018-07-23 | 2020-03-24 | International Business Machines Corporation | Hybrid memory access frequency |
| US10908824B2 (en) | 2018-11-08 | 2021-02-02 | Winbond Electronics Corp. | Flash memory storage device and method thereof |
| KR102721255B1 (en) | 2019-04-05 | 2024-10-24 | 삼성전자주식회사 | Memory device for swappping data and operating method thereof |
| TWI703450B (en) * | 2019-08-19 | 2020-09-01 | 技嘉科技股份有限公司 | Motherboard supporting different types of memories |
| US11256616B2 (en) * | 2019-12-24 | 2022-02-22 | Micron Technology, Inc. | Power loss data protection in a memory sub-system |
| KR20220048869A (en) * | 2020-10-13 | 2022-04-20 | 에스케이하이닉스 주식회사 | Storage device and operating method thereof |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4777589A (en) * | 1985-06-28 | 1988-10-11 | Hewlett-Packard Company | Direct input/output in a virtual memory system |
| US5787494A (en) * | 1992-10-06 | 1998-07-28 | Hewlett-Packard Company | Software assisted hardware TLB miss handler |
| US6009498A (en) * | 1995-02-16 | 1999-12-28 | Fujitsu Limited | Disk control unit for holding track data in cache memory |
| US6556567B1 (en) * | 1998-11-26 | 2003-04-29 | Hitachi, Ltd. | Method and system for multiplexing packets |
| US6615318B2 (en) * | 2002-01-22 | 2003-09-02 | International Business Machines Corporation | Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries |
| US6807106B2 (en) * | 2001-12-14 | 2004-10-19 | Sandisk Corporation | Hybrid density memory card |
| US20050033934A1 (en) * | 2003-08-07 | 2005-02-10 | Gianluca Paladini | Advanced memory management architecture for large data volumes |
| US7779426B2 (en) * | 2006-03-30 | 2010-08-17 | Microsoft Corporation | Describing and querying discrete regions of flash storage |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
| JPH05151097A (en) * | 1991-11-28 | 1993-06-18 | Fujitsu Ltd | Data management method for rewritable memory |
| DE69635105D1 (en) * | 1996-01-31 | 2005-09-29 | St Microelectronics Srl | Multi-stage memory circuits and corresponding reading and writing methods |
| US6003115A (en) * | 1997-07-29 | 1999-12-14 | Quarterdeck Corporation | Method and apparatus for predictive loading of a cache |
| US6732221B2 (en) * | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
| US6985992B1 (en) | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
| US6831865B2 (en) | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
| JP4270994B2 (en) * | 2003-09-29 | 2009-06-03 | 株式会社東芝 | Nonvolatile semiconductor memory device |
| US20050251617A1 (en) * | 2004-05-07 | 2005-11-10 | Sinclair Alan W | Hybrid non-volatile memory system |
| JP4357304B2 (en) * | 2004-01-09 | 2009-11-04 | 株式会社バッファロー | External storage device |
| JP4215746B2 (en) * | 2005-05-20 | 2009-01-28 | Necインフロンティア株式会社 | Information processing apparatus and life monitoring method |
| KR101257848B1 (en) * | 2005-07-13 | 2013-04-24 | 삼성전자주식회사 | Data storing apparatus comprising complex memory and method of operating the same |
| US7752382B2 (en) * | 2005-09-09 | 2010-07-06 | Sandisk Il Ltd | Flash memory storage system and method |
| US7646636B2 (en) * | 2007-02-16 | 2010-01-12 | Mosaid Technologies Incorporated | Non-volatile memory with dynamic multi-mode operation |
| TWI354996B (en) * | 2007-12-31 | 2011-12-21 | Phison Electronics Corp | Wear leveling method and controller thereof |
| US7948798B1 (en) * | 2009-07-22 | 2011-05-24 | Marvell International Ltd. | Mixed multi-level cell and single level cell storage device |
-
2007
- 2007-05-18 TW TW096117892A patent/TWI368224B/en active
- 2007-07-17 CN CN2007101294619A patent/CN101271730B/en active Active
- 2007-10-01 TW TW096136716A patent/TWI382421B/en active
- 2007-10-01 TW TW096136719A patent/TWI348618B/en active
- 2007-11-01 CN CN2007101651480A patent/CN101271379B/en active Active
- 2007-11-02 CN CN2007101659321A patent/CN101271380B/en active Active
-
2008
- 2008-03-18 US US12/050,567 patent/US8015346B2/en active Active
- 2008-03-18 US US12/050,614 patent/US20080235433A1/en not_active Abandoned
- 2008-03-18 US US12/050,593 patent/US8307163B2/en active Active
-
2011
- 2011-06-14 US US13/159,784 patent/US8291156B2/en active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4777589A (en) * | 1985-06-28 | 1988-10-11 | Hewlett-Packard Company | Direct input/output in a virtual memory system |
| US5787494A (en) * | 1992-10-06 | 1998-07-28 | Hewlett-Packard Company | Software assisted hardware TLB miss handler |
| US6009498A (en) * | 1995-02-16 | 1999-12-28 | Fujitsu Limited | Disk control unit for holding track data in cache memory |
| US6556567B1 (en) * | 1998-11-26 | 2003-04-29 | Hitachi, Ltd. | Method and system for multiplexing packets |
| US6807106B2 (en) * | 2001-12-14 | 2004-10-19 | Sandisk Corporation | Hybrid density memory card |
| US6615318B2 (en) * | 2002-01-22 | 2003-09-02 | International Business Machines Corporation | Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries |
| US20050033934A1 (en) * | 2003-08-07 | 2005-02-10 | Gianluca Paladini | Advanced memory management architecture for large data volumes |
| US7779426B2 (en) * | 2006-03-30 | 2010-08-17 | Microsoft Corporation | Describing and querying discrete regions of flash storage |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9390004B2 (en) | 2008-05-28 | 2016-07-12 | Round Rock Research, Llc | Hybrid memory management |
| TWI467369B (en) * | 2008-10-01 | 2015-01-01 | A Data Technology Co Ltd | Hybrid density memory system and control method thereof |
| US20120137107A1 (en) * | 2010-11-26 | 2012-05-31 | Hung-Ming Lee | Method of decaying hot data |
| US20160062682A1 (en) * | 2012-02-24 | 2016-03-03 | Simplivity Corporation | Method and apparatus utilizing non-uniform hash functions for placing records in non-uniform access memory |
| US9684462B2 (en) * | 2012-02-24 | 2017-06-20 | Simplivity Corporation | Method and apparatus utilizing non-uniform hash functions for placing records in non-uniform access memory |
| US10083095B1 (en) * | 2014-09-25 | 2018-09-25 | EMC IP Holding Company LLC | Analytics-based backup system for determining optimum backup methods and predicting backup windows |
| US20180165010A1 (en) * | 2016-12-14 | 2018-06-14 | Via Technologies, Inc. | Non-volatile memory apparatus and iteration sorting method thereof |
| US10824554B2 (en) * | 2016-12-14 | 2020-11-03 | Via Technologies, Inc. | Method and apparatus for efficiently sorting iteration with small sorting set |
| US20190050156A1 (en) * | 2017-08-09 | 2019-02-14 | Macronix International Co., Ltd. | Management system for memory device and management method for the same |
| US10671296B2 (en) * | 2017-08-09 | 2020-06-02 | Macronix International Co., Ltd. | Management system for managing memory device and management method for managing the same |
| EP4509993A3 (en) * | 2019-04-08 | 2025-05-14 | Lodestar Licensing Group LLC | Large data read techniques |
| US12474927B2 (en) | 2019-04-08 | 2025-11-18 | Lodestar Licensing Group, Llc | Large data read techniques |
Also Published As
| Publication number | Publication date |
|---|---|
| US8307163B2 (en) | 2012-11-06 |
| CN101271730B (en) | 2013-08-21 |
| TWI382421B (en) | 2013-01-11 |
| CN101271380A (en) | 2008-09-24 |
| US8015346B2 (en) | 2011-09-06 |
| CN101271379B (en) | 2011-12-07 |
| TW200839773A (en) | 2008-10-01 |
| US20110246709A1 (en) | 2011-10-06 |
| US8291156B2 (en) | 2012-10-16 |
| TW200839510A (en) | 2008-10-01 |
| CN101271379A (en) | 2008-09-24 |
| US20080235468A1 (en) | 2008-09-25 |
| CN101271380B (en) | 2011-07-27 |
| CN101271730A (en) | 2008-09-24 |
| TW200839768A (en) | 2008-10-01 |
| US20080235432A1 (en) | 2008-09-25 |
| TWI348618B (en) | 2011-09-11 |
| TWI368224B (en) | 2012-07-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20080235433A1 (en) | Hybrid density memory storage device and control method thereof | |
| US9208079B2 (en) | Solid state memory (SSM), computer system including an SSM, and method of operating an SSM | |
| US8122193B2 (en) | Storage device and user device including the same | |
| US9298534B2 (en) | Memory system and constructing method of logical block | |
| US8166258B2 (en) | Skip operations for solid state disks | |
| US8180995B2 (en) | Logical address offset in response to detecting a memory formatting operation | |
| KR102087495B1 (en) | Changing storage parameters | |
| US8225050B2 (en) | Memory storage device and a control method thereof | |
| CN109947663A (en) | Distributed programming operations | |
| CN102047230A (en) | Hybrid memory management | |
| KR20040038711A (en) | Hybrid implementation for error correction codes within a non-volatile memory system | |
| CN110674056B (en) | Garbage recovery method and device | |
| CN114300032B (en) | Method and device for checking storage medium failure and solid state disk | |
| CN102483685B (en) | Multi-heap non-volatile memory system with attached file system | |
| CN106445401B (en) | Table updating method, memory storage device, and memory control circuit unit | |
| US20120198124A1 (en) | Methods and systems for optimizing read operations in a non-volatile memory | |
| JP2009503744A (en) | Non-volatile memory with scheduled playback operation | |
| US20120198125A1 (en) | Methods and systems for performing efficient page reads in a non-volatile memory | |
| JP2003263894A (en) | Control method for nonvolatile semiconductor memory device | |
| CN118969044A (en) | Instruction execution method and storage device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: A-DATA TECHNOLOGY CO., LTD., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHEN, MING-DAR;LIN, CHUAN-SHENG;CHANG, HUI-NENG;AND OTHERS;REEL/FRAME:020672/0459 Effective date: 20080318 |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |