US7512734B2ExpiredUtilityA1

Adaptive storage system

Assignee: MARVELL INT LTDPriority: Jun 10, 2004Filed: Jul 19, 2006Granted: Mar 31, 2009
Est. expiryJun 10, 2024(expired)· nominal 20-yr term from priority
Inventors:Sehat Sutardja
Y02D10/00G06F 1/3221G11B 19/00G06F 12/08G06F 12/0866G06F 12/123Y02D30/50G06F 1/3268
88
PatentIndex Score
15
Cited by
117
References
28
Claims

Abstract

A storage controller for a host device comprises a control module that receives data storing and data retrieving requests from the host device. A disk drive that is controlled by the control module and that selectively stores user data received from the control module and selectively retrieves the user data for the control module. Non-volatile semiconductor memory is controlled by the control module and selectively stores user data received from the control module and selectively retrieves the user data for the control module. The control module selects at least one of the disk drive and the non-volatile semiconductor memory for storage and retrieval of the user data.

Claims

exact text as granted — not AI-modified
1. A storage controller for a host device, comprising:
 a control module that receives data storing and data retrieving requests from said host device and that comprises an adaptive storage module; 
 a disk drive that is controlled by said control module and that selectively stores user data received from said control module and selectively retrieves said user data for said control module; and 
 non-volatile semiconductor memory that is controlled by said control module and that selectively stores user data received from said control module and selectively retrieves said user data for said control module, 
 wherein said control module selects at least one of said disk drive and said non-volatile semiconductor memory for storage and retrieval of said user data, 
 wherein said control module includes a least used block (LUB) module that identifies a LUB in said non-volatile semiconductor memory, and wherein said control module selectively transfers said LUB to said disk drive when at least one of said data storing request and said data retrieving request is received, and 
 wherein said adaptive storage module determines whether said write data is likely to be used before said LUB when there is insufficient space available for said write data in said non-volatile semiconductor memory. 
 
   
   
     2. The storage controller of  claim 1  wherein during a storing request for write data, said control module transfers said write data to said non-volatile semiconductor memory if sufficient space is available in said non-volatile semiconductor memory for said write data. 
   
   
     3. The storage controller of  claim 1  wherein if there is insufficient space available for said write data in said non-volatile semiconductor memory, said control module powers said disk drive and transfers said LUB from said non-volatile semiconductor memory to said disk drive and transfers said write data to said non-volatile semiconductor memory. 
   
   
     4. The storage controller of  claim 1  wherein if said write data is likely to be used after said LUB, said control module stores said write data in said disk drive. 
   
   
     5. The storage controller of  claim 1  wherein if said write data is likely to be used before said LUB, said control module powers said disk drive and transfers said LUB from said non-volatile semiconductor memory to said disk drive and then transfers said write data to said non-volatile semiconductor memory. 
   
   
     6. The storage controller of  claim 1  wherein during a data retrieving request for read data, said control module retrieves said read data from said non-volatile semiconductor memory if said read data is stored in said non-volatile semiconductor memory. 
   
   
     7. The storage controller of  claim 6  wherein if said read data is not located in said non-volatile semiconductor memory, said control module retrieves said read data from said disk drive. 
   
   
     8. The storage controller of  claim 1  wherein said control module includes an adaptive storage module that determines whether read data is likely to be used once when said read data is not located in said non-volatile semiconductor memory and wherein said control module retrieves said read data from said disk drive if said read data is likely to be used once. 
   
   
     9. The storage controller of  claim 8  wherein if said adaptive storage module determines that said read data is likely to be used more than once, said control module transfers said read data from said disk drive to said non-volatile semiconductor memory if sufficient space is available in said non-volatile semiconductor memory for said read data. 
   
   
     10. The storage controller of  claim 8  wherein if said adaptive storage module determines that said read data is likely to be used more than once, said control module transfers said LUB from said non-volatile semiconductor memory to said disk drive and said read data from said disk drive to said non-volatile semiconductor memory if sufficient space is not available in said non-volatile semiconductor memory for said read data. 
   
   
     11. The storage controller of  claim 1  wherein said control module transfers read data from said disk drive to said non-volatile semiconductor memory if sufficient space is available in said non-volatile semiconductor memory for said read data. 
   
   
     12. The storage controller of  claim 1  wherein said control module transfers said LUB from said non-volatile semiconductor memory to said disk drive and read data from said disk drive to said non-volatile semiconductor memory if sufficient space is not available in said non-volatile semiconductor memory for said read data. 
   
   
     13. The storage controller of  claim 1  wherein said disk drive includes one or more platters, wherein said one or more platters have a diameter that is greater than 1.8″. 
   
   
     14. The storage controller of  claim 1  wherein said disk drive includes one or more platters, wherein said one or more platters have a diameter that is less than or equal to 1.8″. 
   
   
     15. A method for operating a storage controller for a host device, comprising:
 receiving data storing and data retrieving requests from said host device at a control module; 
 selectively storing user data received from said control module in a disk drive; 
 selectively retrieving said user data for said control module from said disk drive; 
 selectively storing user data received from said control module in non-volatile semiconductor memory; 
 selectively retrieving said user data for said control module in said non-volatile semiconductor memory, 
 wherein said control module selects at least one of said disk drive and said non-volatile semiconductor memory for storage and retrieval of said user data; and 
 identifying a LUB in said non-volatile semiconductor memory; 
 selectively transferring said LUB to said disk drive when at least one of said data storing request and said data retrieving request is received; and 
 determining whether said write data is likely to be used before said LUB when there is insufficient space available for said write data in said non-volatile semiconductor memory. 
 
   
   
     16. The method of  claim 15  further comprising, during a storing request for write data, transferring said write data to said non-volatile semiconductor memory if sufficient space is available in said non-volatile semiconductor memory for said write data. 
   
   
     17. The method of  claim 15  further comprising, if there is insufficient space available for said write data in said non-volatile semiconductor memory, powering said disk drive and transferring said LUB from said non-volatile semiconductor memory to said disk drive and transferring said write data to said non-volatile semiconductor memory. 
   
   
     18. The method of  claim 15 , further comprising, if said write data is likely to be used after said LUB, storing said write data in said disk drive. 
   
   
     19. The method of  claim 15  further comprising, if said write data is likely to be used before said LUB, powering said disk drive and transferring said LUB from said non-volatile semiconductor memory to said disk drive and then transferring said write data to said non-volatile semiconductor memory. 
   
   
     20. The method of  claim 15  further comprising, during a data retrieving request for read data, retrieving said read data from said non-volatile semiconductor memory if said read data is stored in said non-volatile semiconductor memory. 
   
   
     21. The method of  claim 20  further comprising, if said read data is not located in said non-volatile semiconductor memory, retrieving said read data from said disk drive. 
   
   
     22. The method of  claim 15  further comprising determining whether read data is likely to be used once when said read data is not located in said non-volatile semiconductor memory and retrieving said read data from said disk drive if said read data is likely to be used once. 
   
   
     23. The method of  claim 22  further comprising, if said read data is likely to be used more than once, transferring said read data from said disk drive to said non-volatile semiconductor memory if sufficient space is available in said non-volatile semiconductor memory for said read data. 
   
   
     24. The method of  claim 22  further comprising, if said read data is likely to be used more than once, transferring said LUB from said non-volatile semiconductor memory to said disk drive and said read data from said disk drive to said non-volatile semiconductor memory if sufficient space is not available in said non-volatile semiconductor memory for said read data. 
   
   
     25. The method of  claim 15  further comprising transferring read data from said disk drive to said non-volatile semiconductor memory if sufficient space is available in said non-volatile semiconductor memory for said read data. 
   
   
     26. The method of  claim 15  further comprising transferring said LUB from said non-volatile semiconductor memory to said disk drive and read data from said disk drive to said non-volatile semiconductor memory if sufficient space is not available in said non-volatile semiconductor memory for said read data. 
   
   
     27. The method of  claim 15  wherein said disk drive includes one or more platters, wherein said one or more platters have a diameter that is greater than 1.8″. 
   
   
     28. The method of  claim 15  wherein said disk drive includes one or more platters, wherein said one or more platters have a diameter that is less than or equal to 1.8″.

Join the waitlist — get patent alerts

Track US7512734B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.