IP Library Granted Patent US 7,788,415
Granted Patent B2
US 7,788,415 · App. 12/127,229 · Granted Aug 31, 2010

Management of internal operations by a storage device

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 7,788,415
App. No.
12/127,229
Granted
Aug 31, 2010
Kind
B2
Abstract

A method enables a storage device to autonomously (i.e., without intervention of a host device) determines whether an integral sequence of commands, which is related to one or more storage commands issued by the host device, is in a certain state (i.e., it is “active” or “inactive”) or is transitioning from “active” state to “inactive” state, or from “inactive” state to “active” state. Depending on the determined state or transition, the storage device determines whether to refrain from executing Extra-Sequence (“ESQ”) operations and permit executing Intra-Sequence (“ISQ”) operations, or vice versa.

Claims (89)

1. A method of handling internal operations of a storage device, the method comprising:

defining an integral sequence of commands capable of being in one of an active state and an inactive state;

associating with the integral sequence of commands a first set of internal memory management operations each of which is an extra-sequence operation, and a second set of internal memory management operations each of which is an intra-sequence operation, wherein the first set of internal, memory management operations is prohibited from being executed while the integral sequence of commands is in the active state and the second set of internal memory management operations is permitted to be executed while the integral sequence of commands is in the active state;

receiving a command from a host device when the storage device is coupled to the host device;

in response to the received command, determining when the integral sequence of commands is in the active state or is transitioning from the inactive state to the active state; and

when the integral sequence of commands is in the active state or is transitioning from the inactive state to the active state, refraining from executing any operation of the first set of internal memory management operations.

2. The method according to claim 1 , further comprising permitting execution of any operation of the second set of internal memory management operations when the integral sequence of commands is in the active state or is transitioning from the inactive state to the active state.

3. The method according to claim 1 , further comprising:

when the integral sequence of commands is in the inactive state or is transitioning from the active state to the inactive state, permitting execution of an operation of the first set of internal operations and, refraining from executing any operation of the second set of internal operations.

4. The method according to claim 3 , wherein determining a transition of the integral sequence of commands from the inactive state to the active state, or from the active state to the inactive state includes determining whether information derived from the received command satisfies predefined beginning-of-sequence conditions or end-of-sequence conditions, respectively.

5. The method according to claim 1 , wherein the integral sequence of commands is associated with playing back of multimedia content.

6. The method according to claim 1 , wherein the integral sequence of commands is associated with capturing multimedia content or images.

7. The method according to claim 1 , wherein the integral sequence of commands is associated with data synchronization.

8. The method according to claim 1 , wherein the integral sequence of commands is associated with a boot command.

9. The method according to claim 1 , wherein an operation of the first set of internal memory management operations is selected from the group consisting of:

flash memory management operation;

encryption/decryption of outgoing/incoming data;

compression/decompression of outgoing/incoming data;

anti-virus operation;

defragmentation operation;

ruggedization;

backing up data;

changing data format;

garbage collection;

employing an error correction mechanism;

caching data into a fast flash storage area;

flushing cached data;

low power mode operation; and

static wear leveling.

10. The method according to claim 1 , wherein an operation of the second set of internal memory management operations is selected from the group consisting of:

flash memory management operation;

encryption/decryption of outgoing/incoming data;

compression/decompression of outgoing/incoming data;

anti-virus operation;

defragmentation operation;

ruggedization;

backing up data;

changing data format;

garbage collection;

employing an error correction mechanism;

caching data into a fast flash storage area;

flushing cached data;

low power mode operation; and

static wear leveling.

11. A storage device comprising:

a communication interface configured to receive storage commands from a host device when the storage device is operationally coupled to the host device;

a mass storage area to store an integral sequence of commands, a first set of internal memory management operations each of which is an extra-sequence operation, and a second set of internal memory management operations each of which is an intra-sequence operation, wherein the integral sequence of commands is in one of an active state and in an inactive state; and

a controller to:

receive, via the communication interface, a command from the host device when the storage device is operationally coupled to the host device;

determine, based on the received command, when the integral sequence of commands is in the active state or is transitioning from the inactive state to the active state; and

responsive to the integral sequence of commands being in the active state or transitioning from the inactive state to the active state, prohibit execution of a first operation of the first set of internal memory management operations and enable execution of a second operation of the second set of internal memory management operations.

12. The storage device according to claim 11 , wherein the controller is further adapted to:

determine when the integral sequence of commands is in the inactive state or is transitioning from the active state to the inactive state based on information derived from the received command; and

responsive to the integral sequence of commands being in the inactive state or transitioning from the active state to the inactive state, permit execution of an operation of the first set of internal memory management operations.

13. The storage device according to claim 12 , wherein the controller is further adapted to determine a transition or a transitioning of the integral sequence of commands from the inactive state to the active state or from the active state to the inactive state by determining whether the information derived from the received command satisfies one of a predefined beginning-of-sequence condition and a predefined end-of-sequence condition, respectively.

14. The storage device according to claim 11 , wherein the integral sequence of commands is associated with playing back multimedia content.

15. The storage device according to claim 11 , wherein the integral sequence of commands is associated with capturing multimedia content.

16. The storage device according to claim 11 , wherein the integral sequence of commands is associated with a data synchronization command.

17. The storage device according to claim 11 , wherein the integral sequence of commands is associated with a boot command.

18. The storage device according to claim 11 , wherein the first operation of the first set of internal memory management operations is selected from the group consisting of:

flash memory management operations;

encryption/decryption of outgoing/incoming data;

compression/decompression of outgoing/incoming data;

anti-virus operation;

defragmentation operation;

ruggedization;

backing up data;

changing data format;

garbage collection;

employing an error correction mechanism;

caching data into a fast flash storage area;

flushing cached data;

using low power mode; and

static wear leveling.

19. The storage device according to claim 11 , wherein the second operation of the second set of internal memory management operations is selected from the group consisting of:

flash memory management operations;

encryption/decryption of outgoing/incoming data;

compression/decompression of outgoing/incoming data;

anti-virus operation;

defragmentation operation;

ruggedization;

backing up data;

changing data format;

garbage collection;

employing an error correction mechanism;

caching data into a fast flash storage area;

flushing cached data;

using low power mode; and

static wear leveling.

Assignments (3)
CHANGE OF NAME Recorded Jun 10, 2025
From: WESTERN DIGITAL ISRAEL LTD.
To: SANDISK ISRAEL LTD.
Reel/Frame 071587/0836 →
CHANGE OF NAME Recorded Aug 21, 2020
From: SANDISK IL LTD
To: WESTERN DIGITAL ISRAEL LTD
Reel/Frame 053574/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2008
From: MOSEK, AMIR; BARAM, ELAD
To: SANDISK IL LTD.
Reel/Frame 021001/0239 →