Storage system including hierarchical cache metadata
First Claim
1. A storage system comprising:
- a cache configured to store a plurality of data blocks in a first plurality of locations, wherein said cache is a non-volatile storage;
a first metadata storage including a plurality of entries configured to store metadata including block addresses of data blocks within said cache, wherein said first metadata storage is a non-volatile storage;
a second metadata storage including a second plurality of locations configured to store metadata including said block addresses identifying said data blocks within said cache and further including pointers to said data blocks within said cache, wherein said second metadata storage is a volatile storage;
said metadata stored within said second metadata storage is arranged into one or more cache descriptors each associated with a respective data block; and
wherein said one or more cache descriptors are arranged into one or more groups, wherein a given group includes one or more cache descriptors that correspond to contiguous logical block addresses of an underlying storage volume.
2 Assignments
0 Petitions
Accused Products
Abstract
A storage system including hierarchical cache metadata storages includes a cache, a first metadata storage, and a second metadata storage. In one embodiment, the cache may store a plurality of data blocks in a first plurality of locations. The first metadata storage may include a plurality of entries that stores metadata including block addresses of data blocks within the cache. The second metadata storage may include a second plurality of locations for storing metadata including the block addresses identifying the data blocks within the cache. The metadata stored within the second metadata storage may also include pointers to the data blocks within the cache. The cache and the first metadata storage are non-volatile storages. However, the second metadata storage may be a volatile storage.
139 Citations
17 Claims
-
1. A storage system comprising:
-
a cache configured to store a plurality of data blocks in a first plurality of locations, wherein said cache is a non-volatile storage; a first metadata storage including a plurality of entries configured to store metadata including block addresses of data blocks within said cache, wherein said first metadata storage is a non-volatile storage; a second metadata storage including a second plurality of locations configured to store metadata including said block addresses identifying said data blocks within said cache and further including pointers to said data blocks within said cache, wherein said second metadata storage is a volatile storage; said metadata stored within said second metadata storage is arranged into one or more cache descriptors each associated with a respective data block; and wherein said one or more cache descriptors are arranged into one or more groups, wherein a given group includes one or more cache descriptors that correspond to contiguous logical block addresses of an underlying storage volume. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
storing a plurality of data blocks in a first plurality of locations of a cache, wherein said cache is a non-volatile storage; storing within a non-volatile first metadata storage including a plurality of entries, metadata including block addresses of data blocks within said cache; storing within a volatile second metadata storage including a second plurality of locations, metadata including said block addresses identifying said data blocks within said cache and further including pointers to said data blocks within said cache; arranging said metadata stored within said second metadata storage into one or more cache descriptors each associated with a respective data block; and arranging said one or more cache descriptors are into one or more groups, wherein a given group includes one or more cache descriptors that correspond to contiguous logical block addresses of an underlying storage volume. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification