Methods and systems for reducing churn in a caching device
First Claim
Patent Images
1. A method for a storage device having a caching device and a backend storage device, the method comprising:
- receiving data at the storage device, the data including sequentially-accessed data; and
performing, by a controller of the storage device, a selective caching of the sequentially-accessed data, wherein the selective caching comprises;
if the sequentially-accessed data can be read from the backend storage device at a substantially similar data rate as from the caching device, writing the sequentially-accessed data only to the backend storage device so as to reduce the amount of data written to the caching device; and
if the sequentially-accessed data cannot be read from the backend storage device at a substantially similar data rate as from the caching device, writing the sequentially-accessed data to both the caching device and the backend storage device.
1 Assignment
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
18 Claims
-
1. A method for a storage device having a caching device and a backend storage device, the method comprising:
-
receiving data at the storage device, the data including sequentially-accessed data; and performing, by a controller of the storage device, a selective caching of the sequentially-accessed data, wherein the selective caching comprises; if the sequentially-accessed data can be read from the backend storage device at a substantially similar data rate as from the caching device, writing the sequentially-accessed data only to the backend storage device so as to reduce the amount of data written to the caching device; and if the sequentially-accessed data cannot be read from the backend storage device at a substantially similar data rate as from the caching device, writing the sequentially-accessed data to both the caching device and the backend storage device. - View Dependent Claims (2, 3, 4)
-
-
5. A storage device, comprising:
-
a controller; and a memory that stores instructions that, when executed by the controller, cause the controller to; receive data to be stored in the storage device; write an initial portion of the data to a caching device and a backend storage device; while the initial portion is being written to the caching device and the backend storage device, monitor an amount of the initial portion that has been written sequentially; determine whether the amount that has been written sequentially exceeds a predetermined threshold beyond which the data can be read from the caching device at a substantially similar data rate as from the backend storage device; and if so, predict that the data is to be sequentially accessed, cease writing of the data to the caching device and write the remaining portion of the data only to the backend storage device so as to reduce the amount of data written to the caching device. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable storage medium including a set of instructions stored thereon, which when executed by a storage device cause the storage device to:
-
receive data to be stored in the storage device, the storage device having a caching device and a backend storage device; write an initial portion of the data to the caching device and the backend storage device; while the initial portion is being written to the caching device and the backend storage device, monitor an amount of the initial portion that has been written sequentially; determine whether the amount that has been written sequentially exceeds a predetermined threshold beyond which the data can be read from the caching device at a substantially similar data rate as from the backend storage device; and if so, predict that the data is to be sequentially accessed, cease writing of the data to the caching device and write the remaining portion of the data only to the backend storage device so as to reduce the amount of data written to the caching device. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification