Identification of blocks to be retained in a cache based on temperature
First Claim
Patent Images
1. A method for managing a flash memory cache that stores data in multiple segments, each of the segments including multiple blocks, the method comprising:
- determining respective temperatures of at least some of the blocks of the segments;
selecting one of the segments to be erased based at least in part on the respective temperatures of the blocks included in the selected segment;
identifying, among the blocks included in the selected segment, a block to be retained in the flash memory cache based on its temperature;
writing a new segment in the flash memory cache that includes the identified block; and
erasing the selected segment from the flash memory cache.
0 Assignments
0 Petitions
Accused Products
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.
32 Citations
20 Claims
-
1. A method for managing a flash memory cache that stores data in multiple segments, each of the segments including multiple blocks, the method comprising:
-
determining respective temperatures of at least some of the blocks of the segments; selecting one of the segments to be erased based at least in part on the respective temperatures of the blocks included in the selected segment; identifying, among the blocks included in the selected segment, a block to be retained in the flash memory cache based on its temperature; writing a new segment in the flash memory cache that includes the identified block; and erasing the selected segment from the flash memory cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A storage system comprising:
-
a flash memory cache that stores data in multiple segments, each of the segments including multiple blocks; and a controller communicatively coupled to the flash memory cache, wherein the controller is configured to; determine respective temperatures of at least some of the blocks of the segments; select one of the segments to be erased based at least in part on the respective temperatures of the blocks included in the selected segment; identify, among the blocks included in the selected segment, a block to be retained in the flash memory cache based on its temperature; write a new segment in the flash memory cache that includes the identified block; and erase the selected segment from the flash memory. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A storage system comprising:
-
a flash memory cache that stores data in multiple segments, each of the segments including multiple blocks; and a controller communicatively coupled to the flash memory cache, wherein the controller is configured to; determine respective temperatures of each non-obsolete block of the blocks of the segments, select one or more of the segments to be erased based at least in part on the respective temperatures of the non-obsolete blocks included in the segments; identify, among the blocks included in the selected segments, one or more blocks that are non-obsolete and that have a hot temperature as blocks to be retained in the flash memory cache; write one or more new segments in the flash memory cache that collectively include the one or more blocks identified as to be retained and that exclude non-identified blocks of the selected segments; and erase the selected one or more segments from the flash memory cache. - View Dependent Claims (19, 20)
-
Specification