US8292177B2ExpiredUtilityA1

Optimized non-volatile storage systems

82
Assignee: ELHAMIAS REUVENPriority: Jul 28, 2004Filed: Mar 14, 2011Granted: Oct 23, 2012
Est. expiryJul 28, 2024(expired)· nominal 20-yr term from priority
G06K 19/06G06F 3/0632G06F 3/0607Y02D10/00G06F 3/0679G06F 13/385
82
PatentIndex Score
6
Cited by
39
References
17
Claims

Abstract

A memory card that adapts its operation according to the application to which it applied or the conditions under which it is operated. This allows the card to dynamical self optimize. In a first set of embodiments, the card uses host profiling where it will learn about the host during host-card interactions and the card's controller will optimize its algorithms accordingly. In another set of embodiments, the host and card will report to one another their capabilities for a quality of service negotiation. A further set of embodiments allows the storage device to memorize access sequences issued by the host under various predefined conditions, such as host reset or a power on boot sequence. The storage device can use this information to optimize operation for the expected commands. On deviation from an expected sequence, the device would memorize the new command sequence and save it, thus operating in a self-adaptive manner.

Claims

exact text as granted — not AI-modified
1. A method of operating a non-volatile memory-card, the card including a controller for managing the card content and the interactions between the card and a host to which it is connected according to a set of algorithms, comprising:
 monitoring a plurality of host-card interactions by the controller; 
 based on said monitoring, determining characteristics of the host-card interactions; and 
 using said controller to optimize at least one algorithm of said set of algorithms based on said host-card interactions. 
 
     
     
       2. The method of  claim 1 , wherein said characteristics comprise:
 a bus clock rate. 
 
     
     
       3. The method of  claim 1 , wherein said monitoring comprises:
 measuring the amount of time to transfer a specified amount of data between the card and the host. 
 
     
     
       4. The method of  claim 3 , wherein said characteristics comprise:
 the read and write transfer rates of the host. 
 
     
     
       5. The method of  claim 1 , wherein said characteristics comprise:
 the read and write block count of the host. 
 
     
     
       6. The method of  claim 5 , wherein said optimizing said algorithms comprises:
 based on said block count, determining whether a host access is for user data stored on the card. 
 
     
     
       7. The method of  claim 5 , wherein said optimizing said algorithms comprises:
 caching data based on said block count. 
 
     
     
       8. The method of  claim 5 , wherein said optimizing said algorithms comprises:
 setting priorities for controller operations. 
 
     
     
       9. The method of  claim 5 , wherein said optimizing said algorithms comprises:
 determining data relocation preferences. 
 
     
     
       10. The method of  claim 1 , wherein said characteristics comprise:
 the external voltage level supplied to the card. 
 
     
     
       11. The method of  claim 10 , wherein said optimizing said algorithms comprises:
 adjusting a clock rate based on the external voltage level. 
 
     
     
       12. A method of optimizing a non-volatile memory card, the card including a controller for managing the card content and the interactions between the card and a host to which it is connected according to a set of algorithms, the method comprising:
 connecting the memory card to a host; 
 executing a plurality of host-card interactions; 
 monitoring by the controller of the interactions; 
 using the controller to optimize at least one algorithm of said set algorithms based on said monitoring; and 
 fixing by the controller of said optimized set of algorithms. 
 
     
     
       13. The method of  claim 12 , wherein each of said interactions comprise a control sequence pattern and said monitoring includes determining one or more of said patterns. 
     
     
       14. The method of  claim 13 , further comprising:
 prior to connecting the memory card to the host, pre-loading one or more control sequence patterns. 
 
     
     
       15. The method of  claim 12 , wherein said host-card interactions include one or more benchmark utilities. 
     
     
       16. The method of  claim 12 , wherein said host-card interactions include a boot sequence. 
     
     
       17. The method of  claim 12 , wherein said host-card interactions include a host reset.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.