IP Library Granted Patent US 9,317,461
Granted Patent B2
US 9,317,461 · App. 14/452,743 · Granted Apr 19, 2016

Use of host system resources by memory controller

Inventors: Dotan Sokolov (Ra'anana, IL); Barak Rotbard (Tel Aviv, IL)
Assignee: Apple Inc.
G06F13/28G06F12/0246G11C16/10G06F2212/1041G06F2212/7201G06F2212/7203G06F2212/7205G06F2212/7211Y02B60/1225
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 9,317,461
App. No.
14/452,743
Granted
Apr 19, 2016
Kind
B2
Abstract

A method for data storage includes, in a system that includes a host having a host memory and a memory controller that is separate from the host and stores data for the host in a non-volatile memory including multiple analog memory cells, storing in the host memory information items relating to respective groups of the analog memory cells of the non-volatile memory. A command that causes the memory controller to access a given group of the analog memory cells is received from the host. In response to the command, a respective information item relating to the given group of the analog memory cells is retrieved from the host memory by the memory controller, and the given group of the analog memory cells is accessed using the retrieved information item.

Claims (39)

1. An apparatus, comprising:

a memory; and

a controller coupled to the memory, wherein the controller is configured to:

receive a command, from a host, to access a range of logical addresses in the memory;

send a signal to the host, in response to receiving the command, to exchange information with the host wherein the information includes a map of the range of logical addresses to a corresponding range of physical addresses;

receive a query message from the host, wherein the query message requests a type of information exchange to be performed from the host;

send the type of information exchange to the host in response to receiving the query message; and

exchange information with the host dependent upon the type of information exchange to be performed.

2. The apparatus of claim 1 , wherein the type of information exchange to be performed includes a transfer of data from the host.

3. The apparatus of claim 1 , wherein the type of information exchange to be performed includes a transfer of data to the host.

4. The apparatus of claim 2 , wherein the data is initially stored in a volatile memory.

5. The apparatus of claim 2 , wherein the controller is further configured to perform an access to the memory dependent upon the received command.

6. The apparatus of claim 5 , wherein the data includes at least one read threshold value.

7. A method, comprising:

receiving, from a host, a command to access a range of logical address in a first memory;

sending a signal to the host, by the first memory in response to receiving the command, to exchange information with the host responsive to receiving the command, wherein the information includes a map of the range of logical addresses to a corresponding range of physical addresses;

receiving a query message from the host by the first memory, wherein the query message requests, a type of information exchange to be performed;

sending the type of information exchange to the host in response to receiving the query message; and

exchanging information between the first memory and the host dependent upon the type of information exchange to be performed.

8. The method of claim 7 , wherein the type of information exchange to be performed includes a transfer of data from the host to the first memory.

9. The method of claim 7 , wherein the type of information exchange to be performed includes a transfer of data from the memory to the host.

10. The method of claim 8 , further comprising retrieving the data, by the host, from a second memory.

11. The method of claim 9 , further comprising storing the data, by the host, in a second memory.

12. The method of claim 10 , wherein the first memory comprises a non-volatile memory and the second memory comprises a volatile memory.

13. The method of claim 10 , further comprising, performing, by the first memory, an operation dependent upon the data.

14. A system, comprising:

a processor; and

a non-volatile memory configured to:

receive a command from the processor to access a range of logical addresses;

send a signal to the processor in response to receiving the command, to exchange information with the processor, wherein the information includes a map of the range of logical addresses to a corresponding range of physical addresses;

receive, from the processor, a query message that requests a type of information exchange to be performed;

send the type of information exchange to the processor in response to receiving the query message; and

exchange information with the host dependent upon the type of information exchange to be performed.

15. The system of claim 14 , wherein the type of information exchange to be performed includes a transfer of data from the processor.

16. The system of claim 14 , wherein the type of information exchange to be performed includes a transfer of data to the processor.

17. The system of claim 15 , further comprising a volatile memory, and wherein the processor is configured to retrieve the data from the volatile memory.

18. The system of claim 15 , wherein the non-volatile memory is further configured to perform an operation dependent upon the data.

19. The system of claim 18 , wherein the data includes at least one read threshold value.

20. The system of claim 18 , wherein to request, in response to the received command, to exchange information with the processor, the non-volatile memory is further configured to send a signal via a ready/busy line.

Continuity (3)
Continuation 12728287 · Mar 22, 2010
Provisional Application 61163133 · Mar 25, 2009
Related Publication 20140344498A1 · Nov 20, 2014