METHODS AND SYSTEMS FOR REDUCING CHURN IN FLASH-BASED CACHE
First Claim
1. A method of throttling cache updates in a storage device having a flash memory-based cache and a disk-based storage unit, the method comprising:
- a controller determining a threshold number of permitted writes per write period, by dividing a remaining number of writes that can be tolerated by the storage device into a remaining number of write periods remaining in an expected service lifetime for the storage device, wherein the write periods comprise periods of fixed interval and the threshold number of permitted writes per write period is updated periodically; and
for a subject write period, the controller monitoring the number of writes to the cache during the subject write period and allowing, at most, that number of writes equal to the threshold number of permitted writes for the subject write period.
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.
11 Citations
19 Claims
-
1. A method of throttling cache updates in a storage device having a flash memory-based cache and a disk-based storage unit, the method comprising:
a controller determining a threshold number of permitted writes per write period, by dividing a remaining number of writes that can be tolerated by the storage device into a remaining number of write periods remaining in an expected service lifetime for the storage device, wherein the write periods comprise periods of fixed interval and the threshold number of permitted writes per write period is updated periodically; and
for a subject write period, the controller monitoring the number of writes to the cache during the subject write period and allowing, at most, that number of writes equal to the threshold number of permitted writes for the subject write period.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. 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 throttle updates to the cache by determining a threshold number of permitted writes per write period by dividing a remaining number of writes that can be tolerated by the storage device into a remaining number of write periods remaining in an expected service lifetime for the storage device, wherein the write periods comprise periods of fixed interval and the threshold number of permitted writes per write period is updated periodically;
for a subject write period, monitoring the number of writes to the cache during the subject write period; and
allowing, at most, that number of writes equal to the threshold number of permitted writes for the subject write period. - View Dependent Claims (13, 14, 15, 16, 17, 18)
- a disk-based storage unit; and
-
19. A tangible computer-readable media including a set of instructions stored thereon for throttling cache updates in a storage device having a flash memory-based cache and a disk-based storage unit, wherein execution of the set of instructions by a controller cause the controller to:
determine a threshold number of permitted writes per write period by dividing a remaining number of writes that can be tolerated by the storage device into a remaining number of write periods remaining in an expected service lifetime for the storage device, wherein the write periods comprise periods of fixed interval and the threshold number of permitted writes per write period is updated periodically; and
for a subject write period, monitor the number of writes to the cache during the subject write period and allow, at most, that number of writes equal to the threshold number of permitted writes for the subject write period.
Specification