IP Library Granted Patent US 9,043,590
Granted Patent B2
US 9,043,590 · App. 14/055,144 · Granted May 26, 2015

Reducing peak current in memory systems

Inventors: Ori Isachar (Tel Aviv, IL); Julian Vlaiko (Kfar Saba, IL); Gil Semo (Tel Aviv, IL); Atai Levy (Ra'anana, IL)
Assignee: Apple Inc.
G06F3/0659G06F1/3225G06F3/0604G06F3/0683
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,043,590
App. No.
14/055,144
Granted
May 26, 2015
Kind
B2
Abstract

A memory device includes a plurality of memory cells, a token input interface, a token output interface and control circuitry. The control circuitry is configured to accept a storage command, to condition execution of at least a part of the storage command on a presence of a token pulse on the token input interface, to execute the storage command, including the conditioned part, in the memory cells upon reception of the token pulse on the token input interface, and to reproduce the token pulse on the token output interface upon completion of the execution.

Claims (34)

1. A memory controller comprising:

a controller token output interface coupled to a token input interface of a first memory device of a plurality of memory devices coupled together in series;

a controller token input interface coupled to a token output interface of a last memory device of the plurality of memory devices; and

token generation circuitry configured to circulate a token pulse through the plurality of memory devices, wherein the token generation circuitry is further configured to:

generate and provide the token pulse via the controller token output interface to the first memory device;

receive the token pulse from the last memory device; and

in response to receiving the token pulse from the last memory device, provide the token pulse to the first memory device, thereby causing each given memory device to conditionally execute storage commands dependent upon a presence of the token pulse at the token input interface of the given memory device;

wherein the token generation circuitry is further configured to cause each of the plurality of memory devices to execute storage commands that are expected to exceed a current consumption threshold only upon the condition that the token pulse is present in that memory device.

2. The memory controller according to claim 1 , wherein the token generation circuitry is configured to generate multiple token pulses and to circulate the multiple token pulses to the plurality of memory devices.

3. The memory controller according to claim 1 , wherein the token generation circuitry is configured to generate multiple types of the token pulses corresponding to multiple respective current consumption thresholds.

4. The memory controller according to claim 1 , wherein the token generation circuitry is configured to concurrently circulate two or more token pulses to the plurality of memory devices.

5. The memory controller according to claim 1 , wherein the plurality of memory devices are connected to the memory controller in two or more separate series connected loops, and wherein the token generation circuitry is configured to circulate at least one token pulse in each of the series connected loops.

6. A memory system, comprising:

a plurality of memory devices, each including a respective token input interface and a respective token output interface, wherein the plurality of memory devices is coupled together in a series loop using the token input and token output interfaces, wherein each of the memory devices is configured to conditionally execute storage commands dependent on a presence of a token pulse on the respective token input interface when it is determined that the execution of the storage commands are expected to exceed a current threshold, and wherein each of the memory devices is further configured to execute storage commands that are not expected to exceed the current threshold irrespective of the presence of the token pulse on its respective token input interface, and to reproduce the token pulse on the token output interface; and

a memory controller coupled to a token input interface of a first memory device of the plurality of memory devices and to a token output interface of a last memory device of the plurality of memory devices, wherein the memory controller is configured to generate and provide the token pulse to the first memory device and to receive the token pulse from the last memory device, and to provide the token pulse to the first memory device in response to receiving the token pulse from the last memory device.

7. The memory system of claim 6 , wherein each memory device is further configured to reproduce the token pulse on the token output interface in response to completion of the execution.

8. The memory system of claim 6 , wherein each memory device is further configured to reproduce the token pulse on the token output interface in response to receiving the token pulse and determining that the token pulse is not presently needed.

9. The memory system of claim 6 , wherein the plurality of memory devices are connected to the memory controller in two or more separate series connected loops, and wherein the memory controller is configured to circulate at least one token pulse in each of the series connected loops.

10. The memory system of claim 6 , wherein the memory controller is configured to concurrently circulate two or more token pulses to the plurality of memory devices.

11. A method comprising:

a memory controller circulating a token pulse through a plurality of memory devices that are coupled together in a series loop using respective token input and token output interfaces, thereby causing each memory device to conditionally execute storage commands dependent upon a presence of the token pulse at a token input interface of the memory device;

wherein the circulating includes:

generating at least one token pulse;

providing the at least one token pulse to the first memory device;

receiving the at least one token pulse from the last memory device; and

in response to receiving the at least one token pulse from the last memory device, providing the at least one token pulse to the first memory device;

wherein the method further comprises:

receiving a storage command at one of the plurality of memory devices;

determining if execution of the storage command is expected to exceed a current threshold;

executing the storage command, irrespective of whether the at least one token pulse is present at the token input interface of the one of the plurality of memory devices if the storage command is not expected to exceed the current threshold; and

execute the storage command only upon receiving the at least one token pulse at the token input interface of the one of the plurality of memory devices if the storage command is expected to exceed the current threshold.

12. The method of claim 11 , further comprising concurrently circulating two or more token pulses to the plurality of memory devices.

13. The method of claim 11 , further comprising circulating a different token pulse through a plurality of series loops that each include a plurality of memory devices that are coupled together in a series loop using respective token input and token output interfaces.

14. The method of claim 11 , further comprising generating multiple token pulses and circulating the multiple token pulses to the plurality of memory devices.

Continuity (3)
Division 13021754 · Feb 6, 2011
Provisional Application 61357114 · Jun 22, 2010
Related Publication 20140047200A1 · Feb 13, 2014