Methods and systems for caching data in a storage system based on user input
AssigneeNimble Storage, Inc.
InventorsUmesh Maheshwari, Varun Mehta
Life of this patent
Estimating the term…
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.
Claims20
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 be cached, writing by the storage controller the dataset to both the flash-based cache and the disk-based storage unit;
- otherwise, writing by the storage controller the dataset only to the disk-based storage unit.
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 be cached, write the dataset to both the flash-based cache and the disk-based storage unit;
- otherwise, write the dataset only to the disk-based storage unit.
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 be cached, write the dataset to both a flash-based cache and a disk-based storage unit of the storage system;
- otherwise, write the dataset only to the disk-based storage unit.
Dependencies are inferred from the claim text.