Method and apparatus for storing data in a flash memory including single level memory cells and multi level memory cells
First Claim
1. A method for storing data in a memory module including (i) a single-level cell memory block and (ii) a multi-level cell memory block, the method comprising:
- storing the data in the memory module, and periodically updating the data stored in the memory module; and
based on the periodic updating of the data stored in the memory module, predicting a frequency at which the data stored in the memory module is to be updated,wherein storing the data in the memory module further includesbased on the predicted frequency at which the data stored in the memory module is to be updated, storing the data in the single-level cell memory block or the multi-level cell memory block.
2 Assignments
0 Petitions
Accused Products
Abstract
Some of the embodiments of the present disclosure provide a method for programming a flash memory having a plurality of memory blocks, wherein each memory block of the plurality of memory blocks is either a single-level cell (SLC) memory block or a multi-level cell (MLC) memory block, the method comprising assigning a weighting factor to each memory block of the plurality of memory blocks based on whether the memory block is an SLC memory block or an MLC memory block, tracking a number of write-erase cycles for each memory block, and selecting one or more memory blocks for writing data based at least in part on the weighting factor and the tracked number of write-erase cycles of each memory block of the plurality of memory blocks. Other embodiments are also described and claimed.
-
Citations
18 Claims
-
1. A method for storing data in a memory module including (i) a single-level cell memory block and (ii) a multi-level cell memory block, the method comprising:
-
storing the data in the memory module, and periodically updating the data stored in the memory module; and based on the periodic updating of the data stored in the memory module, predicting a frequency at which the data stored in the memory module is to be updated, wherein storing the data in the memory module further includes based on the predicted frequency at which the data stored in the memory module is to be updated, storing the data in the single-level cell memory block or the multi-level cell memory block. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transient computer-readable storage medium having instructions tangibly stored thereon, the instructions for storing data in a memory module including (i) a single-level cell memory block and (ii) a multi-level cell memory block, the instructions being executable by a programmable processor to:
-
store the data in the memory module, and periodically update the data stored in the memory module; and based on the periodic updating of the data stored in the memory module, predict a frequency at which the data stored in the memory module is to be updated, wherein the instructions to store the data in the memory module further include instructions to based on the predicted frequency at which the data stored in the memory module is to be updated, store the data in the single-level cell memory block or the multi-level cell memory block. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A cache system configured to be operatively coupled to a memory module that comprises (i) a single-level cell memory block and (ii) a multi-level cell memory block, the cache system comprising:
-
a memory cache; and a cache controller configured to store data in the memory module, and periodically update the data stored in the memory module, and based on the periodic updating of the data stored in the memory module, predict a frequency at which the data stored in the memory module is to be updated, wherein the cache controller is further configured to store the data in the memory module by, based on the predicted frequency at which the data stored in the memory module is to be updated, storing the data in the single-level cell memory block or the multi-level cell memory block. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification