×

Hierarchically tagged cache

  • US 8,874,850 B1
  • Filed: 05/10/2012
  • Issued: 10/28/2014
  • Est. Priority Date: 05/10/2012
  • Status: Active Grant
First Claim
Patent Images

1. A method for cache management, comprising:

  • identifying, by a cache device controller, a header of a received data access request as being associated with one of a filesystem layer, a physical mapping layer, or an indirection layer, where each layer is indicated with an indexing structure of headers and the indexing structure of each of the layers is in a cache corresponding to the cache device controller,wherein the cache device controller manages headers in the cache hierarchically, manages indexes of the physical mapping layer indexing structure to map to physical addresses for data buffers, manages indexes of the indirection layer indexing structure each to map to an index of the physical mapping layer, and manages indexes of the filesystem layer indexing structure each to map to an index of the indirection layer; and

    accessing the data buffer when an index includes the header, wherein accessing the data buffer comprises hierarchically traversing the indexes of the layers to a physical address for the data buffer, beginning at the index of the layer identified as being associated with the header, wherein the header comprises metadata when associated with either the filesystem layer or the indirection layer;

    when an index does not include the header, creating an entry, for the header, in the indexing structure of the layer identified as being associated with the header;

    maintaining a generation count for each data buffer, wherein for each data buffer the generation count is incremented each time the data buffer is evicted from the cache or each time the data buffer is used to hold a different data block; and

    maintaining a generation count in each index entry created that references a data buffer, wherein an index entry that has a generation count different from a generation count of the referenced data buffer is evicted.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×