Adaptive control of write cache size in a storage device
AssigneeSeagate Technology LLC
InventorsJun Cheol Kim, Hye Jeong Nam, Sang Yeel Ji
Life of this patent
Estimating the term…
Abstract
Technologies are described herein for adaptively controlling the size of a write cache in a storage device based on the time required to flush the cache. Upon receiving a write command at a controller for the storage device, an estimated cache flush time for the write cache is calculated based on the write commands contained therein. If the estimated cache flush time is greater than a maximum threshold time, the size of the write cache is decreased to control the cache flush time. If the estimated cache flush time is less than a minimum threshold time, the size of the write cache is increased to enhance random write performance.
Claims20
A method comprising steps of:
- receiving a write command at a controller for a storage device;
- calculating, by the controller, an estimated cache flush time for a write cache for the storage device;
- determining, by the controller, whether the estimated cache flush time is greater than a maximum threshold time;
- and
- upon determining that the estimated cache flush time is greater than the maximum threshold time, decreasing, by the controller, a size of the write cache.
A system for storing data comprising:
- a storage device comprising a recording medium;
- a write cache for temporarily storing write commands received for the storage device before processing;
- and
- a controller for processing the write commands, the controller configured to
- calculate an estimated cache flush time for the write cache,
- determine whether the estimated cache flush time is greater than a maximum threshold time,
- upon determining that the estimated cache flush time is greater than the maximum threshold time, decrease a maximum write cluster count indicating a number of write commands that may be stored in the write cache,
- upon determining that the estimated cache flush time is not greater than the maximum threshold time, determine whether the estimated cache flush time is less than a minimum threshold time, and
- upon determining that the estimated cache flush time is less than the minimum threshold time, increase the maximum write cluster count.
A non-transitory computer-readable medium containing processor-executable instructions that, when executed by a processor operably connected to a storage device, cause the processor to:
- receive a write command for the storage device;
- calculate an estimated cache flush time for a write cache for the storage device;
- determine whether the estimated cache flush time is greater than a maximum threshold time;
- upon determining that the estimated cache flush time is greater than the maximum threshold time, decrease a maximum write cluster count indicating a number of write commands that may be stored in the write cache;
- upon determining that the estimated cache flush time is not greater than the maximum threshold time, determine whether the estimated cache flush time is less than a minimum threshold time;
- and
- upon determining that the estimated cache flush time is less than the minimum threshold time, increase the maximum write cluster count.
Dependencies are inferred from the claim text.