Methods and systems for caching data in a storage system based on user input
First Claim
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 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
- and (ii) configured to;
-
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. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification