Atomically managing data objects and assigned attributes
First Claim
Patent Images
1. A method of managing data storage, the method comprising:
- placing a data object in a first logical extent within a logical address space of a storage system, the first logical extent being a contiguous range of logical addresses that has a starting offset and a length;
placing a set of attributes of the data object in a second logical extent within the logical address space of the storage system, the set of attributes including information applied to the data object by one or more software constructs that have access to the data object, the logical address space providing a contiguous range of logical addresses within which the first logical extent and the second logical extent are disposed at respective logical addresses;
storing data of the first and second logical extents in a set of persistent storage devices; and
in response to a request to generate a second version of the data object, atomically duplicating the first logical extent together with the second logical extent, thereby preserving a second version of the attributes of the data object together with the second version of the data object,wherein the data object is associated with an inode that provides information about the data object, and wherein atomically duplicating the first logical extent together with the second logical extent includes creating a snapshot, the snapshot providing a unique copy of the inode but not a unique copy of the data of the first logical extent nor a unique copy of the second logical extent, the snapshot providing a point-in-time version of the data object and of the set of attributes and remaining stable even as the data object and the set of attributes change over time.
9 Assignments
0 Petitions
Accused Products
Abstract
A technique for managing data storage places a data object in a first logical extent within a logical address space of a storage system and places a set of attributes assigned to that data object in a second logical extent within the same logical address space of the storage system. In response to a request to generate a second version of the data object, such as a snap, clone, or replica, for example, the first and second logical extents are duplicated atomically, thereby preserving a second version of the attributes along with the second version of the data object.
12 Citations
15 Claims
-
1. A method of managing data storage, the method comprising:
-
placing a data object in a first logical extent within a logical address space of a storage system, the first logical extent being a contiguous range of logical addresses that has a starting offset and a length; placing a set of attributes of the data object in a second logical extent within the logical address space of the storage system, the set of attributes including information applied to the data object by one or more software constructs that have access to the data object, the logical address space providing a contiguous range of logical addresses within which the first logical extent and the second logical extent are disposed at respective logical addresses; storing data of the first and second logical extents in a set of persistent storage devices; and in response to a request to generate a second version of the data object, atomically duplicating the first logical extent together with the second logical extent, thereby preserving a second version of the attributes of the data object together with the second version of the data object, wherein the data object is associated with an inode that provides information about the data object, and wherein atomically duplicating the first logical extent together with the second logical extent includes creating a snapshot, the snapshot providing a unique copy of the inode but not a unique copy of the data of the first logical extent nor a unique copy of the second logical extent, the snapshot providing a point-in-time version of the data object and of the set of attributes and remaining stable even as the data object and the set of attributes change over time. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry, cause the control circuitry to perform a method of managing data storage, the method comprising:
-
placing a data object in a first logical extent within a logical address space of a storage system, the first logical extent being a contiguous range of logical addresses that has a starting offset and a length; placing a set of attributes of the data object in a second logical extent within the first logical extent, the set of attributes including information applied to the data object by one or more software constructs that have access to the data object, the logical address space providing a contiguous range of logical addresses within which the first logical extent and the second logical extent are disposed at respective logical addresses; storing data of the first logical extent, which includes data of the second logical extent, in a set of persistent storage devices; and in response to a request to generate a second version of the data object, duplicating the first logical extent, thereby preserving a second version of the attributes of the data object together with the second version of the data object, wherein the method further comprises placing an inode in a third logical extent within the logical address space of the storage system, the inode providing information about the data object and including a set of pointers to locations of the first logical extent and the second logical extent within the logical address space of the storage system, and wherein duplicating the first logical extent includes creating a snapshot, the snapshot providing a unique copy of the inode but not a unique copy of the data of the first logical extent, the snapshot providing a point-in-time version of the data object and of the set of attributes and remaining stable even as the data object and the set of attributes change over time. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A data storage system, comprising:
-
a set of persistent storage devices; and control circuitry, coupled to the set of persistent storage devices, the control circuitry constructed and arranged to; place a data object in a first logical extent within a logical address space of a storage system, the first logical extent being a contiguous range of logical addresses that has a starting offset and a length; place a set of attributes of the data object in a second logical extent within first logical extent, the set of attributes including information applied to the data object by one or more software constructs that have access to the data object, the logical address space providing a contiguous range of logical addresses within which the first logical extent and the second logical extent are disposed at respective logical addresses; store data of the first logical extent, which includes data of the second logical extent, in a set of persistent storage devices; and in response to a request to generate a second version of the data object, duplicate the first logical extent, thereby preserving a second version of the attributes of the data object together with the second version of the data object, wherein the control circuitry is further constructed and arranged to place an inode in a third logical extent within the logical address space of the storage system, the inode providing information about the data object and including a set of pointers to locations of the first logical extent and the second logical extent within the logical address space of the storage system, and wherein, the control circuitry, constructed and arranged to generate the second version of the data object, is further constructed and arranged to generate a snapshot, the snapshot providing a unique copy of the inode but not a unique copy of the data of the first logical extent, the snapshot providing a point-in-time version of the data object and of the set of attributes and remaining stable even as the data object and the set of attributes change over time. - View Dependent Claims (14, 15)
-
Specification