Managing extended RAID caches using counting bloom filters
AssigneeLSI Corporation
InventorRoss E Zwisler
Life of this patent
Estimating the term…
Abstract
Contentual metadata of an extended cache is stored within the extended cache. The contentual metadata of the extended cache is approximated utilizing a counting Bloom filter. The counting Bloom filter is stored within a primary cache. Contentual metadata of the primary cache is stored within the primary cache. One of a data read or a data write is executed without accessing the contentual metadata of the extended cache stored within the extended cache.
Claims12
A method for managing data within a Redundant Array of Independent Disks (RAID) array utilizing a RAID controller including an extended cache, comprising:
- storing contentual metadata of the extended cache within the extended cache;
- approximating the contentual metadata of the extended cache utilizing a counting Bloom filter;
- storing the counting Bloom filter within a primary cache;
- storing contentual metadata of the primary cache within the primary cache;
- executing one of a data read or a data write without accessing the contentual metadata of the extended cache stored within the extended cache;
- determining one of a presence or an absence of a first data set within the primary cache utilizing the contentual metadata stored within the primary cache upon receiving a request for at least one of the data read or the data write;
- and
- utilizing the counting Bloom filter to determine one of the presence or the absence of the first data set within the extended cache upon determining the absence of the data set within the primary cache.
A system for managing data within a Redundant Array of Independent Disks (RAID) array utilizing a primary cache and an extended cache, comprising:
- means for storing contentual metadata of the extended cache within the extended cache;
- means for approximating the contentual metadata of the extended cache utilizing a counting Bloom filter;
- means for storing the counting Bloom filter within a primary cache;
- means for storing contentual metadata of the primary cache within the primary cache;
- means for utilizing the contentual metadata of the primary cache stored within the primary cache to determine one of a presence or an absence of a data set within the primary cache upon receiving a request for at least one of a data read or a data write, wherein the data set corresponds with a location of the RAID array addressed by at least one of the data read or the data write;
- and
- means for utilizing the counting Bloom filter to determine one of the presence or the absence of the data set within the extended cache upon determining the absence of the data set within the primary cache.
A Redundant Array of Independent Disks (RAID) controller for management of a RAID array, comprising:
- an extended cache for storing a first data set of the RAID array including contentual metadata of the extended cache;
- a primary cache communicatively coupled to the extended cache for storing a second data set of the RAID array including contentual metadata of the primary cache and approximated contentual metadata of the extended cache, wherein the approximated contentual metadata is formatted as a counting Bloom filter;
- and
- a processor communicatively coupled to the primary cache and the extended cache for operation of the RAID controller, the processor configured to determine one of a presence or an absence of a third data set within the primary cache when the RAID controller receives at least one of a data read or a data write, the processor further configured to check the contentual metadata of the primary cache to determine the one of the presence or the absence of the third data set within the primary cache, the processor further configured to determine one of a presence or an absence of the third data set within the extended cache upon determining the absence of the third data set within the primary cache, the processor further configured for checking the counting Bloom filter to determine the one of the presence or the absence of the third data set within the extended cache.
Dependencies are inferred from the claim text.