Managing Multiple Sets of Metadata
AssigneeFusion-Io, Inc.
InventorDavid Atkisson
Life of this patent
Estimating the term…
Abstract
Apparatuses, systems, and methods are disclosed for managing multiple sets of metadata. A method includes maintaining a first set of metadata on a volatile recording medium and a second set of metadata on a non-volatile recording medium. The first and second sets of metadata are associated with one or more logical addresses for data stored on the non-volatile recording medium. The first and second sets of metadata relate to a state of the data. A method includes updating the second set of metadata in response to a first operation performed on the data. The second set may be updated based on the first operation. A method includes updating the first set of metadata in response to a subsequent operation performed on the data. The first set may be updated based on the first operation.
Claims25
A method comprising:
- maintaining a first set of metadata on a volatile recording medium and a second set of metadata on a non-volatile recording medium, the first and second sets of metadata associated with one or more logical addresses for data stored on the non-volatile recording medium, the first and second sets of metadata relating to a state of the data;
- updating the second set of metadata in response to a first operation performed on the data, the second set updated based on the first operation;
- and
- updating the first set of metadata in response to a subsequent operation performed on the data, the first set updated based on the first operation.
An apparatus comprising:
- a metadata module configured to maintain a first set of metadata on a volatile medium and a second set of metadata on a non-volatile memory medium, the first and second sets of metadata associated with one or more logical addresses for data stored on the non-volatile memory medium, the first and second sets of metadata indicating a state of the data;
- a discovery module configured to determine a value of an indicator in the first set of metadata, wherein a value of an indicator in the second set of metadata is known without checking the second set of metadata in response to the value of the indicator in the first set of metadata comprising a first state;
- and
- an execution module configured to perform an operation on data stored on the non-volatile memory medium based on the value of the indicator in the second set of metadata.
A computer program product comprising a computer readable storage medium storing computer usable program code executable to perform operations, the operations comprising:
- maintaining a first set of metadata on a volatile medium and a second set of metadata on a non-volatile storage medium, the first and second sets of metadata associated with one or more logical addresses for data stored on the non-volatile storage medium, the first and second sets of metadata relating to a state of the data;
- ensuring that indicators in the first set of metadata comprising a first state remain synchronized with the second set of metadata;
- and
- allowing indicators in the first set of metadata comprising a second state to become out of synchronization with the second set of metadata.
An apparatus comprising:
- means for updating a dirty data indicator in a dirty data map for data stored on a non-volatile recording medium in response to a first destaging operation performed on the data without updating a corresponding dirty data indicator in a node of a logical-to-physical mapping structure on a volatile medium for the data;
- means for updating the corresponding dirty data indicator in the node in response to a subsequent destaging operation;
- and
- means for allowing access to the logical-to-physical mapping structure during updating of the dirty data indicator in the dirty data map and restricting access to the logical-to-physical mapping structure during the updating of the corresponding dirty data indicator in the node.
A method comprising:
- detecting a dirty indicator in a logical to physical mapping structure for a non-volatile storage device;
- checking for a corresponding dirty indicator in a digest in response to detecting the dirty indicator in the logical to physical mapping structure;
- destaging data corresponding to the dirty indicator in response to detecting the corresponding dirty indicator in the digest;
- and
- clearing the dirty indicator in the logical to physical mapping structure in response to failing to detect the corresponding indicator in the digest.
Dependencies are inferred from the claim text.