SLC-MLC COMBINATION FLASH STORAGE DEVICE
First Claim
1. A method of storing data in a flash storage device comprising SLC and MLC flash memory, the method comprising the steps of:
- mapping one or more logical data blocks to a physical address of one or more channels of non-volatile memory including SLC and MLC flash memory;
writing the one or more logical data blocks to a physical address of the non-volatile memory;
erasing data blocks from the one or more memory channels;
creating a list of one or more metrics associated with the erasing data blocks; and
rewriting the one or more logical blocks to a physical address of the non-volatile memory based on the one or more metrics.
7 Assignments
0 Petitions
Accused Products
Abstract
Flash memory drives and related methods are disclosed that operate to keep frequently written data, which results in frequently erased blocks, in SLC flash, and relatively static data in MLC flash. A flash drive according to the present disclosure keeps track of the number of times that data for each logical block address (LBA) has been written to the flash memory, and determines whether to store newly received data associated with a particular LBA in SLC flash or in MLC flash depending on the number of writes that have occurred for that particular LBA. For each logical block sent to the flash drive, a comparison is made of the write count of the associated LBA to a threshold. If the write count is above the threshold, the logical block is written to SLC flash. If the write count is below the threshold, the logical block is written to MLC flash.
183 Citations
32 Claims
-
1. A method of storing data in a flash storage device comprising SLC and MLC flash memory, the method comprising the steps of:
-
mapping one or more logical data blocks to a physical address of one or more channels of non-volatile memory including SLC and MLC flash memory; writing the one or more logical data blocks to a physical address of the non-volatile memory; erasing data blocks from the one or more memory channels; creating a list of one or more metrics associated with the erasing data blocks; and rewriting the one or more logical blocks to a physical address of the non-volatile memory based on the one or more metrics. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A flash storage device comprising:
-
a volatile memory; one or more channels of non-volatile flash including SLC and MLC flash; and a controller configured to; map one or more logical data blocks to a physical address of one or more channels of non-volatile memory including SLC and MLC flash memory; write the one or more logical data blocks to a physical address of the non-volatile memory; erase data blocks from the one or more memory channels; create a list of one or more metrics associated with the erasing data blocks; and rewrite the one or more logical blocks to a physical address of the non-volatile memory based on the one or more metrics. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A machine-readable storage medium including one or more sequences of machine-readable instructions for storing data in a flash storage device including SLC and MLC flash memory, wherein execution of the one or more sequences by one or more processors causes the one or more processors to perform the steps of:
-
mapping one or more logical data blocks to a physical address of one or more channels of non-volatile memory including SLC and MLC flash memory; writing the one or more logical data blocks to a physical address of the non-volatile memory; erasing data blocks from the one or more memory channels; creating a list of one or more metrics associated with the erasing data blocks; and rewriting the one or more logical blocks to a physical address of the non-volatile memory based on the one or more metrics. - View Dependent Claims (31, 32)
-
Specification