Methods and systems for reducing churn in flash-based cache
First Claim
Patent Images
1. A method, comprising:
- receiving data to be stored in a storage device having a flash memory-based cache and a disk-based storage unit;
writing an initial portion of the data to the flash memory-based cache and the disk-based storage unit;
while the initial portion is being written to the flash memo-based cache and the disk-based storage unit, monitoring an amount of the initial portion that has been written sequentially;
determining whether the amount that has been written sequentially exceeds a predetermined threshold beyond which the data can be read from the flash memory-based cache at a substantially similar data rate as from the disk-based storage unit; and
if so, determining that the data will likely be sequentially accessed, ceasing writing of the data to the flash memory-based cache and writing the remaining portion of the data only to the disk-based storage unit so as to reduce the amount of data written to the flash memory-based cache.
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.
24 Citations
16 Claims
-
1. A method, comprising:
-
receiving data to be stored in a storage device having a flash memory-based cache and a disk-based storage unit; writing an initial portion of the data to the flash memory-based cache and the disk-based storage unit; while the initial portion is being written to the flash memo-based cache and the disk-based storage unit, monitoring an amount of the initial portion that has been written sequentially; determining whether the amount that has been written sequentially exceeds a predetermined threshold beyond which the data can be read from the flash memory-based cache at a substantially similar data rate as from the disk-based storage unit; and if so, determining that the data will likely be sequentially accessed, ceasing writing of the data to the flash memory-based cache and writing the remaining portion of the data only to the disk-based storage unit so as to reduce the amount of data written to the flash memory-based cache. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A storage device, comprising a flash memory-based cache;
- a disk-based storage unit; and
a controller communicatively coupled to the flash memory-based cache and the disk-based storage unit, the controller configured to;receive data to be stored in the storage device; write an initial portion of the data to the flash memory-based cache and the disk-based storage unit; while the initial portion is being written to the flash memo-based cache and the disk-based storage unit, 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 flash memory-based cache at a substantially similar data rate as from the disk-based storage unit; and if so, determine that the data will likely be sequentially accessed, cease writing of the data to the flash memory-based cache and write the remaining portion of the data only to the disk-based storage unit so as to reduce the amount of data written to the flash memory-based cache. - View Dependent Claims (8, 9, 10, 11)
- a disk-based storage unit; and
-
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 flash memory-based cache and a disk-based storage unit; write an initial portion of the data to the flash memory-based cache and the disk-based storage unit; while the initial portion is being written to the flash memo-based cache and the disk-based storage unit, 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 flash memory-based cache at a substantially similar data rate as from the disk-based storage unit; and if so, determine that the data will likely be sequentially accessed, cease writing of the data to the flash memory-based cache and write the remaining portion of the data only to the disk-based storage unit so as to reduce the amount of data written to the flash memory-based cache. - View Dependent Claims (13, 14, 15, 16)
-
Specification