Mixed multi-level cell and single level cell storage device
First Claim
1. A cache system configured to be operatively coupled to a memory module comprising 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 cache system comprising:
- a memory cache; and
a cache controller configured to;
update, one or more times, one or more information units stored in the memory module;
track a frequency of updating of individual information units;
categorize individual information units based on the tracked frequency of updating; and
determine, for each information unit, whether the information unit is to be written to an SLC memory block or to an MLC memory block based at least in part on the categorizing.
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.
6 Citations
19 Claims
-
1. A cache system configured to be operatively coupled to a memory module comprising 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 cache system comprising:
-
a memory cache; and a cache controller configured to; update, one or more times, one or more information units stored in the memory module; track a frequency of updating of individual information units; categorize individual information units based on the tracked frequency of updating; and determine, for each information unit, whether the information unit is to be written to an SLC memory block or to an MLC memory block based at least in part on the categorizing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of storing, using a cache controller within a cache system, individual information units in a memory module comprising 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:
-
updating, one or more times, one or more information units stored in the memory module; tracking a frequency of updating of individual information units; categorizing individual information units based on the tracked frequency of updating; and determining for each information unit, whether the information unit is to be written to an SLC memory block or to an MLC memory block based at least in part on the categorizing. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
Specification