GLOBAL IN-LINE EXTENT-BASED DEDUPLICATION
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a layered file system includes a volume layer and an extent store layer configured to provide sequential log-structured layout of data and metadata on solid state drives (SSDs) of one or more storage arrays. The data is organized as variable-length extents of one or more logical units (LUNs). The metadata includes volume metadata mappings from offset ranges of a LUN to extent keys and extent metadata mappings of the extent keys to storage locations of the extents on the SSDs. The extent store layer maintaining the extent metadata mappings determines whether an extent is stored on a storage array, and, in response to determination that the extent is stored on the storage array, returns an extent key for the stored extent to the volume layer to enable global inline de-duplication that obviates writing a duplicate copy of the extent on the storage array.
21 Citations
40 Claims
-
1-20. -20. (canceled)
-
21. A system comprising:
-
a central processing unit (CPU) of a node of a cluster having a plurality of nodes, each node coupled to one or more storage arrays of solid state drives (SSDs); and a memory coupled to the CPU and configured to store a layered file system of a storage input/output (I/O) stack, the layered file system including a volume layer and an extent store layer configured to provide sequential log-structured layout of data and metadata on the SSDs, the data organized as variable-length extents of one or more logical units (LUNs) served by the nodes, the metadata including volume metadata mappings from offset ranges of a LUN to extent keys and extent metadata mappings of the extent keys to storage locations of the extents on the SSDs, wherein the extent store layer maintaining the extent metadata mappings is configured to determine whether an extent is stored on a storage array of the cluster and, in response to determination that the extent is stored on the storage array of the cluster, return an extent key for the stored extent to the volume layer to enable global inline de-duplication that obviates writing a duplicate copy of the extent on the storage array. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. A method comprising:
-
providing, by a node of a cluster, a layered file system, the layered file system including a volume layer and an extent store layer configured to provide sequential log-structured layout of data and metadata on solid state drives (SSDs) of one or more storage arrays of the cluster, the data organized as variable-length extents of one or more logical units (LUNs), the metadata including volume metadata mappings from offset ranges of a LUN to extent keys and extent metadata mappings of the extent keys to storage locations of the extents on the SSDs; determining, whether an extent is stored on a storage array of the cluster; and in response to determining that the extent is stored on the storage array of the cluster, returning an extent key for the stored extent to the volume layer to enable global inline de-duplication that obviates writing a duplicate copy of the extent on the storage array. - View Dependent Claims (28, 29, 30, 31, 32, 33)
-
-
34. A non-transitory computer readable medium including program instructions for execution on one or more processors, the program instructions when executed operable to:
-
provide a layered file system, the layered file system including a volume layer and an extent store layer configured to provide sequential log-structured layout of data and metadata on solid state drives (SSDs) of one or more storage arrays of the cluster, the data organized as variable-length extents of one or more logical units (LUNs), the metadata including volume metadata mappings from offset ranges of a LUN to extent keys and extent metadata mappings of the extent keys to storage locations of the extents on the SSDs; determine, whether an extent is stored on a storage array of the cluster; and in response to determination that the extent is stored on the storage array of the cluster, return an extent key for the stored extent to the volume layer to enable global inline de-duplication that obviates writing a duplicate copy of the extent on the storage array. - View Dependent Claims (35, 36, 37, 38, 39, 40)
-
Specification