Extent metadata update logging and checkpointing
First Claim
1. A system comprising:
- a central processing unit (CPU) adapted to execute a storage input/output (I/O) stack having an extent storage layer;
a memory coupled to the CPU and configured to store the extent store layer of the storage I/O stack, the memory further configured to store a set of hash tables having a plurality of slots embodying extent metadata that describe write data of one or more write requests organized into one or more extents;
one or more non-volatile logs (NVLogs) coupled to the CPU, the one or more NVLogs including an extent store layer log maintained by the extent store layer, the extent store layer log configured to record changes to the set of hash tables as a plurality of log stream structures, each log stream structure associated with a hash table of the set of hash tables such that changed slots of the hash table are recorded as entries in the log stream structure;
one or more solid state drives (SSDs) coupled to the CPU and organized as a plurality of log streams, each log stream associated with a corresponding log stream structure of the extent store layer log and including one or more log stream pages storing copies of corresponding entries of the log stream structure; and
the CPU configured to write the hash table to the one or more SSDs using a fuzzy checkpointing technique wherein contents of a checkpoint are configured for applying log entry and log stream page updates occurring during the checkpoint.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a cluster uses an extent store layer and a set of hash tables having a plurality of slots embodying extent metadata that describe write data of one or more write requests organized into one or more extents. One or more non-volatile logs (NVLogs) are maintained in the cluster. The one or more NVLogs include an extent store layer log maintained by the extent store layer. The extent store layer log records changes to the set of hash tables as a plurality of log stream structures, where each log stream structure is associated with a hash table. One or more storage devices of the cluster are organized as a plurality of log streams, where each log stream is associated with a corresponding log stream structure of the extent store layer log.
62 Citations
14 Claims
-
1. A system comprising:
-
a central processing unit (CPU) adapted to execute a storage input/output (I/O) stack having an extent storage layer; a memory coupled to the CPU and configured to store the extent store layer of the storage I/O stack, the memory further configured to store a set of hash tables having a plurality of slots embodying extent metadata that describe write data of one or more write requests organized into one or more extents; one or more non-volatile logs (NVLogs) coupled to the CPU, the one or more NVLogs including an extent store layer log maintained by the extent store layer, the extent store layer log configured to record changes to the set of hash tables as a plurality of log stream structures, each log stream structure associated with a hash table of the set of hash tables such that changed slots of the hash table are recorded as entries in the log stream structure; one or more solid state drives (SSDs) coupled to the CPU and organized as a plurality of log streams, each log stream associated with a corresponding log stream structure of the extent store layer log and including one or more log stream pages storing copies of corresponding entries of the log stream structure; and the CPU configured to write the hash table to the one or more SSDs using a fuzzy checkpointing technique wherein contents of a checkpoint are configured for applying log entry and log stream page updates occurring during the checkpoint. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
executing, by a node of a cluster, an extent store layer of a storage input/output (I/O) stack; storing, in the cluster, a set of hash tables having a plurality of slots embodying extent metadata that describe write data of one or more write requests organized into one or more extents; maintaining one or more non-volatile logs (NVLogs) in the cluster, the one or more NVLogs including an extent store layer log maintained by the extent store layer, the extent store layer log configured to record changes to the set of hash tables as a plurality of log stream structures, each log stream structure associated with a hash table of the set of hash tables such that changed slots of the hash table are recorded as entries in the log stream structure; organizing one or more solid state drives (SSDs) of the cluster as a plurality of log streams, each log stream associated with a corresponding log stream structure of the extent store layer log and including one or more log stream pages storing copies of corresponding entries of the log stream structure; and writing the hash table to the one or more SSDs using a fuzzy checkpointing technique wherein contents of a checkpoint are configured for applying log entry and log stream page updates occurring during the checkpoint. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium including program instructions for execution on one or more processors, the program instructions when executed operable to:
-
store a set of hash tables having a plurality of slots embodying extent metadata that describe write data of one or more write requests organized into one or more extents; maintain one or more non-volatile logs (NVLogs), the one or more NVLogs including an extent store layer log maintained by an extent store layer of a storage input/output (I/O) stack, the extent store layer log configured to record changes to the set of hash tables as a plurality of log stream structures, each log stream structure associated with a hash table of the set of hash tables such that changed slots of the hash table are recorded as entries in the log stream structure; organize one or more solid state drives (SSDs) as a plurality of log streams, each log stream associated with a corresponding log stream structure of the extent store layer log and including one or more log stream pages storing copies of corresponding entries of the log stream structure; and write the hash table to the one or more SSDs using a fuzzy checkpointing technique wherein contents of a checkpoint are configured for applying log entry and log stream page updates occurring during the checkpoint. - View Dependent Claims (12, 13, 14)
-
Specification