IP Library Granted Patent US 8,874,828
Granted Patent B2
US 8,874,828 · App. 13/462,286 · Granted Oct 28, 2014

Systems and methods for providing early hinting to nonvolatile memory charge pumps

Inventors: Anthony Fai (Palo Alto, CA); Nicholas C. Seroff (Los Gatos, CA)
Assignee: Apple Inc.
G06F3/0659G06F3/0679G06F3/0625
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,874,828
App. No.
13/462,286
Granted
Oct 28, 2014
Kind
B2
Abstract

Systems and methods for providing early hinting to nonvolatile memory charge pumps are disclosed. Charge pumps associated with one or more nonvolatile memory dies can be proactively activated based on a determination that a command queue of access requests contains at least a threshold number of consecutive access requests of the same type. Based on analysis of the command queue, the memory controller can transmit an early hint command to a nonvolatile memory die to proactively activate its charge pump to provide a voltage suitable for executing the consecutive access requests of the same type.

Claims (45)

1. A method comprising:

receiving a set of access requests at a nonvolatile memory (“NVM”) system controller;

storing the set of access requests in a command queue;

determining that the command queue contains a number of consecutive access requests of a particular type for an NVM;

determining that the number of consecutive access requests of the particular type exceeds a predetermined threshold;

transmitting a command from the NVM system controller to the NVM to proactively activate a charge pump to a voltage suitable for executing the consecutive access requests of the particular type;

executing the consecutive access requests of the particular type; and

deactivating the charge pump.

2. The method of claim 1 , wherein the consecutive access requests of a particular type are one of read commands, program commands, and erase commands.

3. The method of claim 1 , wherein the NVM system controller comprises a host controller of a host device.

4. The method of claim 1 , wherein the NVM system controller comprises a memory controller of an NVM package.

5. The method of claim 1 , wherein the predetermined threshold is three.

6. The method of claim 1 , wherein the command transmitted to the NVM to proactively activate the charge pump is transmitted via a side-band communications channel.

7. A method for proactively activating charge pumps of a nonvolatile memory (“NVM”) system, the method comprising:

receiving a plurality of access requests;

storing the plurality of access requests in a command queue;

re-queuing the plurality of access requests into groups of access requests of the same type; and

for each group of access requests of the same type:

transmitting a command to an NVM to proactively activate the one or more charge pumps of the NVM to a voltage suitable for the group of access requests of the same type; and

executing each access request of the group of access requests of the same type.

8. The method of claim 7 , wherein the command to proactively activate the one or more charge pumps is transmitted via a side-band communications channel.

9. The method of claim 7 , wherein re-queuing the plurality of access requests comprises reordering access requests within a single command queue.

10. The method of claim 7 , wherein re-queuing the plurality of access requests comprises segregating access requests of the same type into separate command queues.

11. The method of claim 7 , wherein re-queuing the plurality of access requests comprises combining access requests of the same type into a multi-access request.

12. The method of claim 7 , wherein the NVM system is a multi-die NVM system.

13. The method of claim 12 , further comprising re-queuing the plurality of access requests into groups of access requests based on which die of a multi-die NVM system the access requests are directed to.

14. The method of claim 7 , wherein the access request types comprise at least one of:

program commands;

read commands; and

erase commands.

15. A system for providing early hinting to nonvolatile memory charge pumps, comprising:

at least one nonvolatile memory (“NVM”) die;

at least one charge pump associated with each of the at least one NVM die;

volatile memory comprising a command queue for storing a plurality of access requests; and

an NVM system controller communicatively coupled to the at least one charge pump and the at least one NVM die, wherein the NVM system controller is configured to:

determine whether the plurality of access requests stored in the command queue comprises a number of consecutive access requests of the same type exceeding a predetermined threshold;

in response to determining that the plurality of access requests stored in the command queue contains the number of consecutive access requests of the same type exceeding the predetermined threshold, transmit a command to the at least one charge pump to generate an output voltage suitable for executing the consecutive access requests of the same type; and

dispatch the consecutive access requests of the same type to the at least one NVM die for execution.

16. The system of claim 15 , wherein the at least one charge pump is external to, and communicatively coupled to, the at least one NVM die.

17. The system of claim 15 , wherein the at least one charge pump is internal to the at least one NVM die.

18. The system of claim 15 , wherein the NVM system controller is further configured to re-queue the plurality of access requests stored in the command queue into groups of access requests of the same type.

19. The system of claim 15 , wherein the NVM system controller is further configured to combine the consecutive access requests of the same type into a multi-access request.

20. The system of claim 15 , wherein the NVM system controller is further configured to segregate the plurality of access requests stored in the command queue into separate command queues.

21. The system of claim 15 , further comprising a side-band communications channel between the NVM system controller and the at least one charge pump, wherein the side-band communications channel is configured to relay early hint commands from the NVM system controller to the at least one charge pump.

22. The system of claim 21 , wherein the command transmitted to the at least one charge pump to generate the output voltage suitable for executing the consecutive access requests of the same type is transmitted over the side-band communications channel.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2012
From: FAI, ANTHONY; SEROFF, NICHOLAS C.
To: APPLE INC.
Reel/Frame 028900/0819 →
Continuity (1)
Related Publication 20130297852A1 · Nov 7, 2013