Flash memory cache for data storage device
AssigneeNimble Storage, Inc.
InventorUmesh Maheshwari
Life of this patent
Estimating the term…
Abstract
A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.
Claims16
A method for operating a flash memory controller of a flash array, the flash array configured as a cache for a disk-based storage device, comprising:
- consolidating information concerning blocks of obsolete data stored in the flash array with information concerning blocks of data stored in the flash array that a cache management routine running on the controller has determined may be removed from the cache according to the determined data's likelihood of being accessed;
- ranking segments containing one or more of the blocks of obsolete data and the blocks of data that the cache management routine has determined may be removed from the cache;
- erasing the segments containing one or more of the blocks of obsolete data and the blocks of data that the cache management routine has determined may be removed from the cache to produce reclaimed segments of the flash array, each segment having multiple blocks of the flash array, wherein the segments are erased according to their respective rankings,
- wherein prior to erasing the segments containing one or more of the blocks of obsolete data and the blocks of data that the cache management routine has determined may be removed from the cache, writing valid data from the segments to other segments in the flash array, and
- wherein fewer than all of the segments containing one or more of the blocks of obsolete data and the blocks of data that the cache management routine has determined may be removed from the cache are erased.
A storage device, comprising:
- one or more magnetic storage media;
- a flash memory configured as a cache for data stored on the one or more magnetic storage media;
- a controller configured to manage operations of the cache by consolidating information concerning blocks of obsolete data stored in the cache with information concerning blocks of data no longer desired to be stored in the cache, as determined by the no longer desired data's likelihood of being accessed, to rank segments containing one or more of the blocks of obsolete data and the blocks of data no longer desired to be stored in the cache, and to erase the segments containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache according to their respective rankings to produce reclaimed segments of the cache,
- wherein each segment comprises multiple blocks of the flash memory,
- wherein the controller is further configured to write valid data from the segments containing one or more of the blocks of obsolete data and the blocks of data no longer desired to be stored in the cache to other segments of the cache prior to erasing said segments, and
- wherein the controller is further configured to erase fewer than all of the segments containing one or more of the blocks of obsolete data and the blocks of data no longer desired to be stored in the cache.
Dependencies are inferred from the claim text.