Apparatus, system, and method for managing eviction of data
First Claim
Patent Images
1. A method for managing eviction of data, the method comprising:
- storing data on non-volatile storage medium sequentially using a log-based storage structure having a head region and a tail region, wherein the storing comprises caching the data on the non-volatile storage medium using the log-based storage structure, the data associated with storage operations between a host and a backing store storage device; and
evicting data of at least one region in succession from the log-based storage structure starting with the tail region and progressing toward the head region based on an order that regions of the log-based storage structure were added to the log-based storage structure.
9 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for managing eviction of data. A cache write module stores data on a non-volatile storage device sequentially using a log-based storage structure having a head region and a tail region. A direct cache module caches data on the non-volatile storage device using the log-based storage structure. The data is associated with storage operations between a host and a backing store storage device. An eviction module evicts data of at least one region in succession from the log-based storage structure starting with the tail region and progressing toward the head region.
354 Citations
22 Claims
-
1. A method for managing eviction of data, the method comprising:
-
storing data on non-volatile storage medium sequentially using a log-based storage structure having a head region and a tail region, wherein the storing comprises caching the data on the non-volatile storage medium using the log-based storage structure, the data associated with storage operations between a host and a backing store storage device; and evicting data of at least one region in succession from the log-based storage structure starting with the tail region and progressing toward the head region based on an order that regions of the log-based storage structure were added to the log-based storage structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus, comprising:
-
a cache module configured to cache data on a non-volatile storage device sequentially using a log-based storage structure having a head region and a tail region, the data associated with storage operations between a host and a backing store storage device; and an eviction module configured to evict at least one region of data sequentially from the log-based storage structure starting with the tail region and progressing toward the head region based on an order that regions of the log-based storage structure were added to the log-based storage structure. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A system for managing eviction of data, the system comprising:
-
a processor; a storage controller for a non-volatile storage device, the non-volatile storage device configured to communicate with the processor over one or more communications buses, the storage controller configured to store data on the non-volatile storage device sequentially using a sequential writing storage structure having a head portion and a tail portion; a cache controller configured to communicate with the storage controller, the cache controller configured to cache data on the non-volatile storage device through the storage controller using the sequential writing storage structure, the data associated with storage operations between the processor and a backing store storage device; and a data expiration module of the cache controller, the eviction module configured to expire, through the storage controller, data of at least one portion in succession from the sequential writing storage structure starting with the tail portion and progressing toward the head portion based on an order that regions of the log-based storage structure were added to the log-based storage structure. - View Dependent Claims (19, 20)
-
-
21. A method for managing eviction of data, the method comprising:
-
caching data on non-volatile storage medium sequentially using a log-based storage structure having a head part and a tail part, the data associated with storage operations between a host device and a backing store storage device; and trimming data of at least one region in order from the log-based storage structure starting with the tail part and progressing toward the head part based on an order that regions of the log-based storage structure are added to the log-based storage structure.
-
-
22. A system for clearing data, comprising:
-
a processor; a storage controller for a non-volatile storage device, the non-volatile storage device configured to communicate with the processor over one or more communications buses, the storage controller configured to store data on the non-volatile storage device sequentially using a sequential storage structure having a head part and a tail part; and a cache controller configured to communicate with the storage controller, the cache controller configured to place data on the non-volatile storage device through the storage controller using the sequential storage structure, the data associated with storage operations between the processor and a backing store storage device, the cache controller further configured to clear data from the storage structure through the storage controller starting with the tail part and progressing toward the head part based on an order that regions of the log-based storage structure were added to the log-based storage structure.
-
Specification