A storage device includes a flash memory-based cache for a hard disk-based storage device and a controller that is configured to limit the rate of cache updates through a variety of mechanisms, including determinations that the data is not likely to be read back from the storage device within a time period that justifies its storage in the cache, compressing data prior to its storage in the cache, precluding storage of sequentially-accessed data in the cache, and/or throttling storage of data to the cache within predetermined write periods and/or according to user instruction.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for a storage system, the storage system including a storage controller, a flash-based cache and a disk-based storage unit, the storage controller communicatively coupled to the flash-based cache and the disk-based storage unit, the method comprising: receiving, by the storage controller and from a user of the storage system, information regarding a dataset; based on the information regarding the dataset, determining by the storage controller whether or not the dataset should be cached; and if the dataset should not be cached, writing by the storage controller the dataset only to the disk-based storage unit; otherwise, start writing the dataset to both the flash-based cache and the disk-based storage unit, and if a size of an initial portion of the dataset written to the flash-based cache and the disk-based storage unit grows beyond a threshold size, writing a remainder of the dataset only to the disk-based storage unit.
2. The method of claim 1 , wherein the information regarding the dataset is received from the user through a management interface of the storage system.
3. The method of claim 1 , further comprising: storing by the storage controller the information regarding the dataset as metadata with the dataset.
4. The method of claim 1 , wherein the information regarding the dataset comprises a data type of the dataset.
5. The method of claim 1 , wherein the information regarding the dataset indicates that the dataset comprises a database log.
6. The method of claim 5 , further comprising: based on the information regarding the dataset indicating that the dataset comprises a database log, determining by the storage controller that the dataset should not be cached.
7. The method of claim 1 , wherein the information regarding the dataset indicates whether or not the dataset should be cached.
8. A storage system, comprising a flash-based cache, a disk-based storage unit, and a storage controller, the storage controller (i) communicatively coupled to the flash-based cache and the disk-based storage unit; and (ii) configured to: receive, from a user of the storage system, information regarding a dataset; based on the information regarding the dataset, determine whether or not the dataset should be cached; and if the dataset should not be cached, write the dataset only to the disk-based storage unit; otherwise, start writing the dataset to both the flash-based cache and the disk-based storage unit, and if a size of an initial portion of the dataset written to the flash-based cache and the disk-based storage unit grows beyond a threshold size, write a remainder of the dataset only to the disk-based storage unit.
9. The storage system of claim 8 , wherein the information regarding the dataset is received from the user through a management interface of the storage system.
10. The storage system of claim 8 , wherein the storage controller is further configured to store the information regarding the dataset as metadata with the dataset.
11. The storage system of claim 8 , wherein the information regarding the dataset comprises a data type of the dataset.
12. The storage system of claim 8 , wherein the information regarding the dataset indicates that the dataset comprises a database log.
13. The storage system of claim 12 , wherein the storage controller is further configured to, based on the information regarding the dataset indicating that the dataset comprises a database log, determine that the dataset should not be cached.
14. The storage system of claim 8 , wherein the information regarding the dataset indicates whether or not the dataset should be cached.
15. A non-transitory computer-readable storage medium comprising software instructions that, when executed by a controller of a storage system, cause the controller to: receive, from a user of the storage system, information regarding a dataset; based on the information regarding the dataset, determine whether or not the dataset should be cached; and if the dataset should not be cached, write the dataset only to the disk-based storage unit; otherwise, start writing the dataset to both the flash-based cache and the disk-based storage unit, and if a size of an initial portion of the dataset written to the flash-based cache and the disk-based storage unit grows beyond a threshold size, write a remainder of the dataset only to the disk-based storage unit.
16. The non-transitory computer-readable storage medium of claim 15 , wherein the information regarding the dataset is received from the user through a management interface of the storage system.
17. The non-transitory computer-readable storage medium of claim 15 , further comprising software instructions that, when executed by the controller, cause the controller to store the information regarding the dataset as metadata with the dataset.
18. The non-transitory computer-readable storage medium of claim 15 , wherein the information regarding the dataset comprises a data type of the dataset.
19. The non-transitory computer-readable storage medium of claim 15 , wherein the information regarding the dataset indicates that the dataset comprises a database log.
20. The non-transitory computer-readable storage medium of claim 19 , further comprising software instructions that, when executed by the controller, cause the controller to, based on the information regarding the dataset indicating that the dataset comprises a database log, determine that the dataset should not be cached.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
November 30, 2015
November 22, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.