Snapshots in a storage system
First Claim
Patent Images
1. A computer system comprising:
- one or more storage devices; and
a storage controller;
wherein the storage controller is configured to;
in response to receiving a request addressing a first volume and indicating a command to take a snapshot of the first volume, wherein the first volume is mapped to a first logical grouping of data;
create a second logical grouping of data;
map the second logical grouping of data to reference the first logical grouping of data;
remap the first volume to map to the second logical grouping of data instead of the first logical grouping of data such that the first volume remains addressable with similar access permissions before and after creating the snapshot; and
store an indication that the first logical grouping of data is read-only; and
in response to receiving a write request targeting the second logical grouping, split the second logical grouping into a plurality of ranges including a first range and a second range;
wherein the first range of the second logical grouping maps to the first logical grouping, and the second range of the second logical grouping maps to a third logical grouping of data.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for creating and managing snapshots. Mediums are recorded and maintained, all of which are read-only except for the most recent mediums in use by a volume. Multiple volumes may be maintained, including a first volume which points to a first medium. When a snapshot of the first volume is taken, a second medium is created that points to the first medium. The first volume is also updated to point to the second medium. The first medium becomes the underlying medium of the second medium, and lookups are performed initially on the second medium and then on the first medium if the data is not located in the second medium.
79 Citations
20 Claims
-
1. A computer system comprising:
-
one or more storage devices; and a storage controller; wherein the storage controller is configured to; in response to receiving a request addressing a first volume and indicating a command to take a snapshot of the first volume, wherein the first volume is mapped to a first logical grouping of data; create a second logical grouping of data; map the second logical grouping of data to reference the first logical grouping of data; remap the first volume to map to the second logical grouping of data instead of the first logical grouping of data such that the first volume remains addressable with similar access permissions before and after creating the snapshot; and store an indication that the first logical grouping of data is read-only; and in response to receiving a write request targeting the second logical grouping, split the second logical grouping into a plurality of ranges including a first range and a second range;
wherein the first range of the second logical grouping maps to the first logical grouping, and the second range of the second logical grouping maps to a third logical grouping of data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
receiving a request identifying a first volume and indicating a command to take a snapshot of the first volume, wherein the first volume is mapped to a first logical grouping of data; and responsive to receiving the request; creating a second logical grouping of data; mapping the second logical grouping of data to reference the first logical grouping of data; remapping the first volume to map to the second logical grouping of data instead of the first logical grouping of data such that the first volume remains addressable with similar access permissions before and after creating the snapshot; and storing an indication that the first logical grouping of data is read-only; and in response to receiving a write request targeting the second logical grouping, split the second logical grouping into a plurality of ranges including a first range and a second range;
wherein the first range of the second logical grouping maps to the first logical grouping, and the second range of the second logical grouping maps to a third logical grouping of data. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable by a processor to:
-
in response to receiving a request identifying a first volume and indicating a command to take a snapshot of the first volume, wherein the first volume is mapped to a first logical grouping of data; create a second logical grouping of data; map the second logical grouping of data to reference the first logical grouping of data; remap the first volume to map to the second logical grouping of data instead of the first logical grouping of data such that the first volume remains addressable with similar access permissions before and after creating the snapshot; and store an indication that the first logical grouping of data is read-only; and in response to receiving a write request targeting the second logical grouping, split the second logical grouping into a plurality of ranges including a first range and a second range;
wherein the first range of the second logical grouping maps to the first logical grouping, and the second range of the second logical grouping maps to a third logical grouping of data. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification