IP Library Granted Patent US 8,296,510
Granted Patent B2
US 8,296,510 · App. 13/295,616 · Granted Oct 23, 2012

Hybrid memory management

Assignee: Round Rock Research, LLC
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,296,510
App. No.
13/295,616
Granted
Oct 23, 2012
Kind
B2
Abstract

Methods and apparatus for managing data storage in hybrid memory devices utilizing single level and multi level memory cells. Logical addresses can be distributed between single level and multilevel memory cells based on a frequency of write operations performed. Initial storage of data corresponding to a logical address in memory can be determined by various methods including initially writing all data to single level memory or initially writing all data to multilevel memory. Other methods permit a host to direct logical address writes to single level or multilevel memory cells based on anticipated usage.

Claims (42)

1. A method for managing data stored on a memory device having a first array of memory cells each memory cell having a first density and a second array of memory cells each memory cell having a second density, comprising:

determining a nature of data to be associated with a logical location in memory wherein the nature of the data is at least partially based on if the data is accessed during a boot load operation following power up of the memory device;

at least partially based on the nature, storing the data in one of the first array of memory cells and the second array of memory cells.

2. The method of claim 1 , wherein the nature of the data is a frequency of usage of the data.

3. The method of claim 1 , further comprising maintaining at least a particular number of spare locations in the first array of memory cells if locations are available in the second array of memory cells by moving data from the first array of memory cells to the second array of memory cells.

4. The method of claim 1 , wherein determining the nature of the data comprises determining an anticipated frequency of usage of the data.

5. The method of claim 1 , wherein the first array of memory cells are single level memory cells (SLC) and the second array of memory cells are multi-level memory cells (MLC).

6. The method of claim 1 , wherein the first array of memory cells comprises MLC memory cells configured to store a first number of bits per memory cell and the second array of memory cells comprises MLC memory cells configured to store a second number of bits per memory cell, and wherein the second number of bits is greater than the first number of bits.

7. The method of claim 6 , further comprising storing data corresponding to file allocation table data in the first array of memory cells.

8. The method of claim 1 , further comprising pinning a logical address to one of the first array of memory cells and the second array of memory cells in response to a command provided by the host coupled to the memory device.

9. The method of claim 1 , further comprising outputting from the memory device a size of the first array of memory cells and a size of the second array of memory cells in response to a request by the host coupled to the memory device.

10. A method for managing data stored on a memory device having a first array of memory cells each memory cell having a first density and a second array of memory cells each memory cell having a second density, comprising:

determining a nature of data to be associated with a logical location in memory, wherein determining the nature of the data comprises determining whether the data is accessed during a particular time frame following a power up or reset of the memory device;

at least partially based on the nature, storing the data in one of the first array of memory cells and the second array of memory cells; and

maintaining at least a particular number of spare locations in the first array of memory cells if locations are available in the second array of memory cells by moving data from the first array of memory cells to the second array of memory cells.

11. The method of claim 10 , wherein storing the data further comprises storing the data in one of the first array of memory cells and the second array of memory cells where the second density is greater than the first density.

12. The method of claim 11 , wherein the data is stored in the first array of memory cells if it is determined that the data is accessed during a particular time frame following reset of the memory device.

13. A method for managing data stored on a memory device having a first array of memory cells each memory cell having a first density and a second array of memory cells each memory cell having a second density, comprising:

determining a nature of data to be associated with a logical location in memory, wherein determining a nature of data at least partially comprises determining an anticipated frequency of updates of data associated with the logical location;

at least partially based on the nature, storing the data in one of the first array of memory cells and the second array of memory cells; and

maintaining at least a particular number of spare locations in the first array of memory cells if locations are available in the second array of memory cells by moving data from the first array of memory cells to the second array of memory cells;

wherein the second density is greater than the first density.

14. The method of claim 13 , wherein determining a nature of data further comprises determining the nature of the data responsive to an indicator received by the memory device from a host coupled to the memory device.

15. An electronic system comprising:

a host having a hard disk drive interface utilizing a hard disk drive protocol for interfacing with a hard disk drive having solid state memory and magnetic media memory;

a memory device configured to emulate a hard disk drive and coupled to the host at least in part through the hard disk drive interface, the memory device comprising:

a first array of memory cells wherein each memory cell has a first density;

a second array of memory cells wherein each memory cell has a second density; and

control circuitry configured to store data indicated by the host to be stored in the solid state memory of a hard disk drive in the first array of memory cells and store data indicated by the host to be stored in the magnetic media of a hard disk drive in the second array of memory cells;

wherein the first density is less than the second density.

16. The electronic system of claim 15 , wherein the first array of memory cells are single level memory cells (SLC) and the second array of memory cells are multi-level memory cells (MLC).

17. The electronic system of claim 15 , wherein the first array of memory cells comprises MLC memory cells configured to store a first number of bits per memory cell and the second array of memory cells comprises MLC memory cells configured to store a second number of bits per memory cell, and wherein the second number of bits is greater than the first number of bits.

18. The electronic system of claim 15 , wherein the control circuitry is further configured to pin a logical address to one of the first array of memory cells and the second array of memory cells in response to a command provided by the host.

19. The electronic system of claim 15 , wherein the control circuitry is further configured to output a size of the first array of memory cells and a size of the second array of memory cells in response to a request by the host.

20. A method for managing data stored on a memory device having a first array of memory cells each memory cell having a first density and a second array of memory cells each memory cell having a second density, comprising:

determining a nature of data to be associated with a logical location in memory;

at least partially based on the nature, storing the data in one of the first array of memory cells and the second array of memory cells; and

maintaining at least a particular number of spare locations in the first array of memory cells if locations are available in the second array of memory cells by moving data from the first array of memory cells to the second array of memory cells.

21. A method for managing data stored on a memory device having a first array of memory cells each memory cell having a first density and a second array of memory cells each memory cell having a second density, comprising:

determining a nature of data to be associated with a logical location in memory;

at least partially based on the nature, storing the data in one of the first array of memory cells and the second array of memory cells; and

outputting from the memory device a size of the first array of memory cells and a size of the second array of memory cells in response to a request by the host coupled to the memory device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2012
From: MICRON TECHNOLOGY, INC.
To: ROUND ROCK RESEARCH, LLC
Reel/Frame 028084/0627 →
Continuity (2)
Division 12127945 · May 28, 2008
Related Publication 20120059992A1 · Mar 8, 2012