Key value store using generation markers
AssigneeWestern Digital Technologies, Inc.
InventorsThomas Demoor, Carl Rene D'Halluin
Life of this patent
Estimating the term…
Abstract
Example storage systems and methods provide data storage management using generation markers in a key data store. A key data store includes a set of key data entries that each include a key value and a property value associated with a storage operation. An active generation of the key data entries include an active generation marker and a base generation does not. A base storage parameter is calculated from a data scan and a current storage parameter is calculated from the base storage parameter and the property values of the active generation of key data entries. The calculated storage parameter may be reported to manage storage configuration and operations in the storage system.
Claims20
A storage system, comprising:
- at least one storage node configured to execute storage operations;
- a key data store comprising a log configured to include a set of key data entries, wherein:
- each key data entry of the key data entries includes:
- a key value corresponding to at least one storage operation;
- and
- at least one property value related to the at least one storage operation;
- a second subset of the key data entries of the set of key data entries includes a second generation marker value configured to designate each key data entry in the second subset;
- and
- a first subset of the key data entries of the set of key data entries omits the second generation marker value;
- at least one memory;
- at least one processor;
- and
- a storage application executable by the at least one processor using the at least one memory to perform operations comprising:
- calculating a base storage system parameter from the key data store;
- initializing an incremental key scheme, wherein:
- a prior log subset of the key data entries is in the key data store at initialization;
- and
- the prior log subset includes the first subset of the key data entries of the set of key data entries;
- adding, responsive to at least one storage operation executed after initialization, at least one new key data entry in the second subset;
- calculating a current storage system parameter using:
- the base storage system parameter;
- and
- the at least one property value of the key data entries in the second subset of the key data entries;
- and
- reporting the current storage system parameter.
A system, comprising:
- at least one storage node configured to execute storage operations;
- a key data store comprising a log including a set of key data entries, wherein:
- each key data entry of the key data entries includes:
- a key value corresponding to at least one storage operation;
- and
- at least one property value related to the at least one storage operation;
- a second subset of the key data entries of the set of key data entries includes a second generation marker value configured to designate each of the key data entries in the second subset;
- and
- a first subset of the key data entries of the set of key data entries does not include the second generation marker value;
- means for calculating a base storage system parameter from a data scan of the key data store;
- means for initializing an incremental key scheme, wherein:
- a prior log subset of the key data entries is in the key data store at initialization;
- and
- the prior log subset includes the first subset of the key data entries of the set of key data entries:
- means for adding, responsive to at least one storage operation executed after initialization, at least one new key data entry in the second subset;
- means for calculating a current storage system parameter from the base storage system parameter and property values of the second subset of key data entries;
- and
- means for reporting the current storage system parameter.
A computer-implemented method, comprising:
- providing a key data store comprising a log configured to include a set of key data entries, wherein:
- each key data entry of the set of key data entries includes:
- a key value corresponding to at least one storage operation;
- and
- at least one property value related to the at least one storage operation;
- a second subset of the key data entries of the set of key data entries includes a second generation marker value configured to designate each key data entry in the second subset;
- and
- a first subset of the key data entries of the set of key data entries omits the second generation marker value;
- calculating, without garbage collection, a base storage system parameter from the key data store;
- executing garbage collection using the key data store;
- adding, responsive to executing garbage collection, garbage collection key data entries to the set of key data entries, wherein garbage collection key data entries include the second generation marker value;
- calculating, responsive to executing garbage collection, a current storage system parameter from:
- the base storage system parameter;
- and
- the at least one property value of the second subset of key data entries;
- and
- reporting the current storage system parameter.
Dependencies are inferred from the claim text.