IP Library Granted Patent US 8,745,369
Granted Patent B2
US 8,745,369 · App. 13/296,898 · Granted Jun 3, 2014

Method and memory system for managing power based on semaphores and timers

Inventors: Damian P Yurzola (Santa Clara, CA); Rajeev Nagabhirava (Santa Clara, CA); Gary J Lin (San Jose, CA); Matthew Davidson (Mountain View, CA); Paul A Lassa (Cupertino, CA)
Assignee: SanDisk Technologies, Inc.
G06F3/0659G06F1/3203G06F9/52
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,745,369
App. No.
13/296,898
Granted
Jun 3, 2014
Kind
B2
Abstract

Disclosed are apparatus and techniques for managing power in a memory system having a controller and nonvolatile memory array. In one embodiment, prior to execution of each command with respect to the memory array, a request for execution of such command is received with respect to the memory array. In response to receipt of each request for each command, execution of such command is allowed or withheld with respect to the memory array based on whether such command, together with execution of other commands, is estimated to exceed a predetermined power usage specification for the memory system.

Claims (20)

1. A method for managing power in a memory system having a controller and nonvolatile memory array, the method comprising:

prior to issuing for a component of the memory system a current command having a type, receiving at the controller a request for execution of such current command;

in response to receipt of the request for execution of the current command, the controller allowing the current command to issue and incrementing a count for the current command type and resetting a timer associated with the current command type if the count has not reached a predefined semaphore capacity;

in response to receipt of the request for execution of the current command, the controller withholding the current command from issuing if the count for such current command has reached the predefined semaphore capacity and the timer has not expired; and

the controller resetting the count for such current command type if the timer for such current command type has expired.

2. The method of claim 1 , wherein the component is a memory cell array and the current command type pertains to programming, reading or erasing with respect to the memory cell array.

3. The method of claim 1 , wherein the count is reset by subtracting a timer expiration rate from the count.

4. The method of claim 3 , wherein the expiration rate equals the semaphore capacity.

5. The method of claim 1 , further comprising determining the type of the current command by comparing the current command to a plurality of command type values.

6. A memory system comprising:

a nonvolatile memory array for storing data;

a controller that is operable to perform the following operations:

prior to issuing for a component of the memory system a current command having a type, receiving a request for execution of such current command;

in response to receipt of the request for execution of the current command, allowing the current command to issue and incrementing a count for the current command type and resetting a timer associated with the current command type if the count has not reached a predefined semaphore capacity;

in response to receipt of the request for execution of the current command, withholding the current command from issuing if the count for such current command has reached the predefined semaphore capacity and the timer has not expired; and

resetting the count for such current command type if the timer for such current command type has expired.

7. The memory system of claim 6 , wherein the component is the nonvolatile memory array and the current command type pertains to programming, reading, or erasing with respect to the nonvolatile memory array.

8. The memory system of claim 6 , wherein the count is reset by subtracting a timer expiration rate from the count.

9. The memory system of claim 8 , wherein the expiration rate equals the semaphore capacity.

10. The memory system of claim 6 , wherein the component is the a error correction module or an encryption engine of the controller and the current command type pertains to performing a command with respect to such error correction module or an encryption engine.

Assignments (5)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2011
From: YURZOLA, DAMIAN P; NAGAGHIRAVA, REJEEV; LIN, GARY J; DAVIDSON, MATTHEW; LASSA, PAUL A
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 027230/0729 →
Continuity (2)
Continuation In Part 13167929 · Jun 24, 2011
Related Publication 20120331282A1 · Dec 27, 2012