Selective data storage in LSB and MSB pages
AssigneeApple Inc.
InventorAmit Rubowitz
Life of this patent
Estimating the term…
Abstract
A method for data storage includes providing a memory, which includes multiple groups of memory cells and is configured to concurrently store first data using a first storage configuration having a first access time, and second data using a second storage configuration having a second access time, longer than the first access time, such that each memory cell in each of the groups stores at least one bit of the first data and one or more bits of the second data. Data items are accepted for storage in the memory. The accepted data items are classified into a fast-access class and a normal-access class. The data items in the fast-access class are stored in the memory using the first storage configuration, and the data items in the normal-access class are stored in the memory using the second storage configuration.
Claims20
An apparatus for data storage, comprising:
- a first interface configured to communicate to a memory, wherein the memory includes a plurality of memory blocks and wherein each memory block includes a plurality of pages;
- a second interface configured to communicate to a host;
- and
- circuitry configured to:
- track a frequency of read accesses by the host of each data item of a plurality of data items, wherein each data item of the plurality of data items is stored in at least one memory block of the plurality of memory blocks, and wherein each data item of the plurality of data items includes one or more bytes of data;
- select a first group of memory blocks from the plurality of memory blocks dependent upon the tracked frequency of read accesses of each data item of the plurality of data items;
- copy a first subset of data items stored in the first group of memory blocks to a second group of memory blocks using a first storage configuration responsive to determining that the tracked frequency of read accesses of each data item in the first subset of data items is greater than a threshold;
- and
- copy a second subset of data items stored in the first group of memory blocks to a third group of memory blocks using a second storage configuration responsive to determining that the tracked frequency of read accesses of each data item in the second subset of data items is less than the threshold;
- wherein a time to access data stored using the first storage configuration is less than a time to access data stored using the second storage configuration.
A method, comprising:
- tracking a frequency of read accesses of each data item of a plurality of data items stored in a memory, wherein the memory includes a plurality of memory blocks and wherein each memory block includes a plurality of pages;
- selecting a first group of one or more memory blocks of the plurality of memory blocks dependent upon the tracked frequency of read accesses of each data item of data items in the first group of one or more memory blocks;
- copying a first subset of the data items in the first group to a second group of one or more memory blocks using a first storage configuration responsive to determining that the tracked frequency of read accesses of each data item in the first subset of data items is greater than a threshold;
- and
- copying a second subset of the data items in the first group to a third group of one or more memory blocks using a second storage configuration responsive to determining that the tracked frequency of read accesses of each data item in the second subset of data items is less than the threshold;
- wherein a time for accessing data stored using the first storage configuration is less than a time for accessing data stored using the second storage configuration;
- and
- wherein each data item of the plurality of data items includes one or more bytes of data.
A system, comprising:
- a memory including a plurality of memory blocks, wherein each memory block includes a plurality of pages, wherein the memory is configured to:
- use a first storage configuration for storing data;
- and
- use a second storage configuration for storing data;
- wherein a time for accessing data stored using the first storage configuration is less than a time for accessing data stored using the second storage configuration;
- and a host configured to access data stored in the memory;
- a memory controller coupled to the memory and to the host, wherein the memory controller is configured to:
- track a frequency of read accesses by the host, of each data item of a plurality of data items, wherein each data item of the plurality of data items is stored in at least one memory block of the plurality of memory blocks, and wherein each data item of the plurality of data items includes one or more bytes of data;
- select a first group of memory blocks from the plurality of memory blocks dependent upon the tracked frequency of read accesses of each data item of the plurality of data items;
- copy a first subset of data items stored in the first group of memory blocks to a second group of memory blocks using the first storage configuration, wherein the tracked frequency of read accesses of each data item in the first subset of data items is greater than a threshold;
- and
- copy a second subset of data items stored in the first group of memory blocks to a third group of memory blocks using the second storage configuration, wherein the tracked frequency of read accesses of each data item of the second subset is less than the threshold.
Dependencies are inferred from the claim text.