USRE47500EActiveUtility

Management of internal operations by a storage device

56
Assignee: SANDISK IL LTDPriority: May 28, 2007Filed: Apr 1, 2014Granted: Jul 9, 2019
Est. expiryMay 28, 2027(~0.9 yrs left)· nominal 20-yr term from priority
G06F 3/0659G06F 3/0653G06F 3/0679G06F 3/0617G06F 9/00G06F 9/22G06F 9/06
56
PatentIndex Score
0
Cited by
24
References
24
Claims

Abstract

A method of handling internal operations of a storage device includes in response to information derived from one or more commands received from a host device when the storage device is coupled to the host device, determining whether a sequence of commands is in one of an active state, and a first transition state, where in the first transition state the sequence of commands is transitioning from an inactive state to the active state. The method includes, while the sequence of commands is in the active state or in the first transition state, refraining from executing any operation of a first set of internal memory management operations, each of the first set of internal memory management operations being an extra-sequence operation.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 at a storage device, while the storage device is operatively coupled to a host device, performing:
 in response to information derived from one or more commands received from the host device, determining whether a sequence of commands is in one of an active state and a first transition state based at least in part on whether the information derived from the received one or more commands satisfies a beginning-of-sequence condition, wherein the received one or more commands include one of a data-read request and a data-write request, and wherein in the first transition state the sequence of commands is transitioning from an inactive state to the active state; and 
 while the sequence of commands is in the active state or is in the first transition state, refraining from executing any internal memory management operation of a first type while permitting execution of at least one internal memory management operation of a second type. 
   
     
     
       2. The method of  claim 1 , wherein the first type of internal memory management operation is an extra-sequence operation that is disabled from being concurrently executed with a particular integral sequence of commands and wherein the second type of internal memory management operation is an intra-sequence operation that is permitted to be concurrently executed with the particular integral sequence of commands. 
     
     
       3. The method of  claim 2 , further comprising when the sequence of commands is in the inactive state or in a second transition state, wherein in the second transition state the sequence of commands is transitioning from the active state to the inactive state, permitting execution of an operation of the first type and refraining from executing any operation of the second type. 
     
     
       4. The method of  claim 3 , further comprising determining whether the sequence of commands is in the second transition state by determining whether the information derived from the received one or more commands satisfies an end-of-sequence condition. 
     
     
       5. The method of  claim 1 , A method comprising:
 at a storage device, while the storage device is operatively coupled to a host device, the storage device performing: 
 determining whether a sequence of commands is in one of an active state and a first transition state based at least in part on whether the information derived from one or more commands from the sequence of commands satisfies a beginning-of-sequence condition, wherein the one or more commands from the sequence of commands include one of a data-read request and a data-write request, and wherein in the first transition state the sequence of commands is transitioning from an inactive state to the active state; 
 in response to determining that the sequence of commands is in the active state or is in the first transition state, refraining from executing any internal memory management operation of a first type during execution of the sequence of commands while permitting execution of at least one internal memory management operation of a second type during execution of the sequence of commands; and 
 in response to determining that the sequence of commands is neither in the active state nor in the first transition state, permitting executing of internal memory operations of the first type, 
 wherein the beginning-of-sequence condition includes a condition that an average read rate associated with reading moving picture experts group audio layer 3 (MP3) data by the host device matches a predetermined read rate. 
 
     
     
       6. The method of  claim 1 , wherein the sequence of commands is associated with playing back of moving picture experts group audio layer 3 (MP3) content. 
     
     
       7. The method of  claim 1 , wherein the sequence of commands is associated with data synchronization. 
     
     
       8. The method of  claim 1 , wherein the sequence of commands is associated with a boot command. 
     
     
       9. The method of  claim 1 , wherein at least one internal memory management operation of the first type includes at least one of:
 a flash memory management operation;   encryption/decryption of outgoing/incoming data;   compression/decompression of outgoing/incoming data;   an anti-virus operation;   a 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 of  claim 1 , wherein at least one the internal memory management operation of the second type includes at least one of:
 a flash memory management operation;   encryption/decryption of outgoing/incoming data;   compression/decompression of outgoing/incoming data;   an anti-virus operation;   a 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;   a low-power mode operation; and   static wear leveling.   
     
     
       11. A storage device comprising:
 a mass storage area to store:
 a sequence of commands, wherein the sequence of commands is in one of an active state, an inactive state, a first transition state wherein the sequence of commands is transitioning from the inactive state to the active state, and a second transition state wherein the sequence of commands is transitioning from the active state to the inactive state; 
 a first set of internal memory management operations, each of the first set of internal memory management operations of a first type; and 
 a second set of internal memory management operations, each of the second set of internal memory management operations of a second type; and 
   a controller configured to:
 receive one or more commands from a host device when the storage device is operationally coupled to the host device; 
 determine, based on information derived from the received one or more commands, when the sequence of commands is in the active state or in the first transition state; and 
 responsive to the sequence of commands being in the active state or in the first transition state, refrain from executing 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 of  claim 11 , wherein the controller is further configured to:
 determine when the sequence of commands is in the inactive state or in the second transition state based on the information derived from the received one or more commands; and   responsive to the sequence of commands being in the inactive state or in the second transition state, permit execution of an operation of the first set of internal memory management operations.   
     
     
       13. The storage device of  claim 11 , wherein the first operation of the first set of internal memory management operations includes at least one of:
 a flash memory management operation;   encryption/decryption of outgoing/incoming data;   compression/decompression of outgoing/incoming data;   an anti-virus operation;   a 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.   
     
     
       14. The storage device of  claim 11 , wherein the second operation of the second set of internal memory management operations includes at least one of:
 a flash memory management operation;   encryption/decryption of outgoing/incoming data;   compression/decompression of outgoing/incoming data;   an anti-virus operation;   a 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.   
     
     
       15. The storage device of  claim 11 , wherein the first type of internal memory management operation is an extra-sequence operation that is disabled from being concurrently executed with a particular integral sequence of commands and wherein the second type of internal memory management operation is an intra-sequence operation that is permitted to be concurrently executed with the particular integral sequence of commands. 
     
     
       16. The storage device of  claim 11 , wherein the controller is further configured to determine that the sequence of commands is in the first transition state or in the second transition state by determining whether the information derived from the received one or more commands satisfies one of a beginning-of-sequence condition and an end-of-sequence condition, respectively. 
     
     
       17. The storage device of  claim 16 , wherein the beginning-of-sequence condition is that a particular number of data bursts is received by the storage device within a particular period of time. 
     
     
       18. The storage device of  claim 16 , A storage device comprising:
 a memory; and 
 a controller operatively coupled to the memory, wherein the controller is configured to:
 determine, based on information derived from one or more commands from a sequence of commands, when the sequence of commands is in an active state or in a first transition state; 
 in response to determining that the sequence of commands is in the active state or in the first transition state, refrain from executing a first operation of a first set of internal memory management operations on the memory and enable execution of a second operation of a second set of internal memory management operations on the memory; and 
 in response to determining that the sequence of commands is neither in the active state nor in the first transition state, permitting executing of internal memory operations of the first type, 
 
 wherein the controller is further configured to determine that the sequence of commands is in the first transition state by determining whether the information derived from the one or more commands from the sequence of commands satisfies one of a beginning-of-sequence condition and an end-of-sequence condition, respectively, wherein the controller is further configured to determine whether the information derived from the received one or more commands from the sequence of commands satisfies a particular end-of-sequence condition that a time delay between reception by the storage device of two consecutive data bursts exceeds a particular time period. 
 
     
     
       19. The storage device of  claim 16 , A storage device comprising:
 a memory; and 
 a controller operatively coupled to the memory, wherein the controller is configured to:
 determine, based on information derived from one or more commands from a sequence of commands, when the sequence of commands is in an active state or in a first transition state; 
 in response to determining that the sequence of commands is in the active state or in the first transition state, refrain from executing a first operation of a first set of internal memory management operations on the memory and enable execution of a second operation of a second set of internal memory management operations on the memory; and 
 in response to determining that the sequence of commands is neither in the active state nor in the first transition state, permitting executing of internal memory operations of the first type, 
 
 wherein the controller is further configured to determine that the sequence of commands is in the first transition state by determining whether the information derived from the one or more commands from the sequence of commands satisfies one of a beginning-of-sequence condition and an end-of-sequence condition, respectively, wherein the controller is further configured to determine whether the information derived from the received one or more commands from the sequence of commands satisfies a particular beginning-of-sequence condition by performing a comparison to a beginning-of-sequence threshold stored in a parameter table within the storage device. 
 
     
     
       20. The storage device of  claim 16 , A storage device comprising:
 a memory; and 
 a controller operatively coupled to the memory, wherein the controller is configured to:
 determine, based on information derived from one or more commands from a sequence of commands, when the sequence of commands is in an active state or in a first transition state; 
 in response to determining that the sequence of commands is in the active state or in the first transition state, refrain from executing a first operation of a first set of internal memory management operations on the memory and enable execution of a second operation of a second set of internal memory management operations on the memory; and 
 in response to determining that the sequence of commands is neither in the active state norin the first transition state, permitting executing of internal memory operations of the first type, 
 
 wherein the controller is further configured to determine that the sequence of commands is in the first transition state or in the second transition state by determining whether the information derived from the one or more commands from the sequence of commands satisfies one of a beginning-of-sequence condition and an end-of-sequence condition, respectively, wherein the controller is further configured to determine whether the information derived from the received one or more commands from the sequence of commands satisfies a particular end-of-sequence condition by performing a comparison to an end-of-sequence threshold stored in a parameter table within the storage device. 
 
     
     
       21. A storage device comprising:
 a memory; and   a controller operatively coupled to the memory and configured to:
 determine whether a sequence of commands is in one of an active state and a first transition state based at least in part on whether information derived from one or more commands from the sequence of commands satisfies a beginning-of-sequence condition, wherein the one or more commands from the sequence of commands include one of a data-read request to the memory and a data-write request to the memory, and wherein in the first transition state the sequence of commands is transitioning from an inactive state to the active state; 
 in response to determining that the sequence of commands is in the active state or is in the first transition state, refrain from executing any internal memory management operation of a first type on the memory during execution of the sequence of commands while permitting execution of at least one internal memory management operation of a second type on the memory during execution of the sequence of commands; and 
 in response to determining that the sequence of commands is neither in the active state nor in the first transition state, permitting executing of internal memory operations of the first type, 
   wherein the beginning-of-sequence condition includes a condition that an average read rate associated with reading moving picture experts group audio layer 3 (MP3) data by the host device matches a predetermined read rate.   
     
     
       22. A method comprising:
 at a storage device, while the storage device is operatively coupled to a host device, the storage device performing:
 determining, based on information derived from one or more commands from a sequence of commands, when the sequence of commands is in an active state or in a first transition state; 
 in response to determining that the sequence of commands is in the active state or in the first transition state, refraining from executing a first operation of a first set of internal memory management operations on the memory during execution of the sequence of commands and enable execution of a second operation of a second set of internal memory management operations on the memory during execution of the sequence of commands; 
 in response to determining that the sequence of commands is neither in the active state nor in the first transition state, permitting executing of internal memory operations of the first type; and 
 determining that the sequence of commands is in the first transition state by determining whether the information derived from the one or more commands from the sequence of commands satisfies one of a beginning-of-sequence condition and an end-of-sequence condition, respectively, wherein the end-of-sequence condition comprises a time delay between reception by the storage device of two consecutive data bursts exceeds a particular time period. 
   
     
     
       23. A method comprising:
 at a storage device, while the storage device is operatively coupled to a host device, the storage device performing:
 determining, based on information derived from one or more commands from a sequence of commands, when the sequence of commands is in an active state or in a first transition state; 
 in response to determining that the sequence of commands is in the active state or in the first transition state, refraining from executing a first operation of a first set of internal memory management operations on the memory during execution of the sequence of commands and enable execution of a second operation of a second set of internal memory management operations on the memory during execution of the sequence of commands; 
 in response to determining that the sequence of commands is neither in the active state nor in the first transition state, permitting executing of internal memory operations of the first type; and 
 determining that the sequence of commands is in the first transition state by determining whether the information derived from the one or more commands from the sequence of commands satisfies one of a beginning-of-sequence condition and an end-of-sequence condition, respectively, wherein determining whether the information derived from the one or more commands from the sequence of commands satisfies a particular beginning-of-sequence condition comprises performing a comparison to a beginning-of-sequence threshold stored in a parameter table within the storage device. 
   
     
     
       24. A method comprising:
 at a storage device, while the storage device is operatively coupled to a host device, the storage device performing:
 determining, based on information derived from one or more commands from a sequence of commands, when the sequence of commands is in an active state or in ahfirst transition state; 
 in response to determining that the sequence of commands is in the active state or in the first transition state, refraining from executing a first operation of a first set of internal memory management operations on the memory during execution of the sequence of commands and enable execution of a second operation of a second set of internal memory management operations on the memory during execution of the sequence of commands; 
 in response to determining that the sequence of commands is neither in the active state nor in the first transition state, permitting executing of internal memory operations of the first type; and 
 determining that the sequence of commands is in the first transition state by determining whether the information derived from the one or more commands from the sequence of commands satisfies one of a beginning-of-sequence condition and an end-of-sequence condition, respectively, whether the information derived from the one or more commands from the sequence of commands satisfies a particular end-of-sequence condition comprises performing a comparison to an end-of-sequence threshold stored in a parameter table within the storage device.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.