Methods and systems for throttling writes to a caching device in response to read misses
First Claim
Patent Images
1. A method for throttling cache updates in a storage system having a caching device and a storage device, the method comprising:
- for each of a plurality of write periods of the storage system, each of the write periods having an associated threshold number of permitted writes to the caching device, receiving a request to read data that is stored on the storage system, and, upon determining that the requested data is stored on the storage device, but not on the caching device, then;
(i) if a number of writes to the caching device for the write period is less than or equal to the threshold number of permitted writes, reading the requested data from the storage device and storing the requested data in the caching device;
otherwise,(ii) if the number of writes to the caching device for the write period is greater than the threshold number of permitted writes for the write period, reading the requested data from the storage device without storing the requested data in the caching device.
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.
29 Citations
20 Claims
-
1. A method for throttling cache updates in a storage system having a caching device and a storage device, the method comprising:
for each of a plurality of write periods of the storage system, each of the write periods having an associated threshold number of permitted writes to the caching device, receiving a request to read data that is stored on the storage system, and, upon determining that the requested data is stored on the storage device, but not on the caching device, then; (i) if a number of writes to the caching device for the write period is less than or equal to the threshold number of permitted writes, reading the requested data from the storage device and storing the requested data in the caching device;
otherwise,(ii) if the number of writes to the caching device for the write period is greater than the threshold number of permitted writes for the write period, reading the requested data from the storage device without storing the requested data in the caching device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A storage system, comprising a caching device, a storage device, and a storage controller communicatively coupled to the caching device and the storage device, the storage controller configured to:
for each of a plurality of write periods of the storage system, each of the write periods having an associated threshold number of permitted writes to the caching device, receive a request to read data that is stored on the storage system, and, upon determining that the requested data is stored on the storage device, but not on the caching device, then; (i) if a number of writes to the caching device for the write period is less than or equal to the threshold number of permitted writes, read the requested data from the storage device and store the requested data in the caching device;
otherwise,(ii) if the number of writes to the caching device for the write period is greater than the threshold number of permitted writes for the write period, read the requested data from the storage device without storing the requested data in the caching device. - View Dependent Claims (9, 10, 11, 12, 13)
-
14. A non-transitory computer-readable storage medium comprising software instructions stored thereon for throttling cache updates in a storage system having a caching device and a storage device, wherein execution of the set of instructions by a controller of the storage system causes the controller to:
for each of a plurality of write periods of the storage system, each of the write periods having an associated threshold number of permitted writes to the caching device, receive a request to read data that is stored on the storage system, and, upon determining that the requested data is stored on the storage device, but not on the caching device, then; (i) if a number of writes to the caching device for the write period is less than or equal to the threshold number of permitted writes, read the requested data from the storage device and store the requested data in the caching device;
otherwise,(ii) if the number of writes to the caching device for the write period is greater than the threshold number of permitted writes for the write period, read the requested data from the storage device without storing the requested data in the caching device. - View Dependent Claims (15, 16, 17, 18, 19, 20)
Specification