# US 2014/0195762 A1 · Safety for volume operations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0195762 A1
- Document ID: US20140195762A1
- Status: Published application
- Kind: A1
- Application number: 14/046,878
- Filed: 2013-10-04
- Published: 2014-07-10
- Earliest claimed: 2013-01-10
- Assignees: Pure Storage, Inc.
- Applicants: PURE Storage, INC.
- Inventors: John Colgrove; Ethan Miller; John Hayes; Cary Sandvig; Christopher Golden; Jianting Cao
- Web page: https://patentgrep.com/patent/US20140195762A1

## CPC

- G06F 3/065: {Replication mechanisms}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0611: {in relation to response time}
- G06F 3/0614: {Improving the reliability of storage systems}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0626: {Reducing size or complexity of storage systems}
- G06F 3/0632: {by initialisation or re-initialisation of storage systems}
- G06F 3/0641: {De-duplication techniques}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0652: {Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket}
- G06F 3/0655: {Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices}
- G06F 3/0664: {at device level, e.g. emulation of a storage device or system}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/0667: {at data level, e.g. file, record or object virtualisation}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0671: {In-line storage system}
- G06F 3/0673: {Single storage device}
- G06F 3/0683: {Plurality of storage devices}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 16/1748: {De-duplication implemented within the file system, e.g. based on file segments (de-duplication techniques in storage systems for the management of data blocks G06F3/0641)}
- G06F 16/23: Updating
- G06F 2212/1008: Correctness of operation, e.g. memory ordering
- G06F 2212/1016: Performance improvement
- G06F 2212/1032: Reliability improvement, data loss prevention, degraded operation etc
- G06F 2212/1044: Space efficiency improvement
- G06F 2212/154: Networked environment
- G06F 2212/163: Server or database system
- G06F 2212/261: Storage comprising a plurality of storage devices
- G06F 2212/263: Network storage, e.g. SAN or NAS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for maintaining the safety of volume operations. A storage controller receives a request to delete a first volume. In response to this request, the storage controller can delete a link between the first volume and its anchor medium. The storage controller can also delay the deletion of the first volume's anchor medium. Later on, if the user wishes to restore the first volume, the storage controller can reconnect the first volume to its previous anchor medium, effectively restoring the first volume to its former state and undoing the deletion operation.

## Claims

### Claim 1

A computer system comprising:
one or more storage devices; and
a storage controller coupled to the one or more storage devices, wherein the storage controller is configured to:
receive a request to delete a first volume;
responsive to receiving the request to delete the first volume:
responsive to determining a first medium is an anchor medium of the first volume, store an indication that the first volume was previously linked to the first medium; and
remove any indication that the first volume is valid.

### Claim 2 (depends on 1)

The computer system as recited in claim 1, wherein the storage controller is further configured to maintain a volume to medium mapping table to track relationships between volumes and anchor mediums, and wherein removing any indication that the first volume is valid comprises deleting a first entry corresponding to the first volume from the volume to medium mapping table.

### Claim 3 (depends on 2)

The computer system as recited in claim 2, wherein after receiving the request to delete the first volume, the storage controller is further configured to:
receive a request to restore the first volume;
responsive to receiving the request to restore the first volume:
retrieve the indication that the first volume was previously linked to the first medium; and
create a new entry in the volume to medium mapping table, wherein the new entry links the first volume to the first medium.

### Claim 4 (depends on 2)

The computer system as recited in claim 2, wherein after receiving the request to delete the first volume, the storage controller is configured to:
receive a request to restore the first volume;
responsive to receiving the request to restore the first volume:
retrieve the indication that the first volume was previously linked to the first medium;
create a second medium;
store an indication that the first medium underlies the second medium; and
create a new entry in the volume to medium mapping table, wherein the new entry links the first volume to the second medium.

### Claim 5 (depends on 1)

The computer system as recited in claim 1, wherein responsive to receiving the request to delete the first volume, the storage controller is further configured to delay deletion of the first medium for a first period of time.

### Claim 6 (depends on 5)

The computer system as recited in claim 5, wherein after the first period of time has elapsed, the storage controller is configured to mark the first medium as ready to be reclaimed.

### Claim 7 (depends on 6)

The computer system as recited in claim 6, wherein after the first period of time has elapsed, the storage controller is further configured to mark a second medium as ready to be reclaimed if the second medium underlies the first medium and if no other mediums are linked to the second medium.

### Claim 8

A method for use in a storage system, the method comprising:
receiving a request to delete a first volume;
responsive to receiving the request to delete the first volume:
responsive to determining a first medium is an anchor medium of the first volume, storing an indication that the first volume was previously linked to the first medium; and
removing any indication that the first volume is valid.

### Claim 9 (depends on 8)

The method as recited in claim 8, further comprising maintaining a volume to medium mapping table to track relationships between volumes and anchor mediums, and wherein removing any indication that the first volume is valid comprises deleting a first entry corresponding to the first volume from the volume to medium mapping table.

### Claim 10 (depends on 9)

The method as recited in claim 9, wherein after receiving the request to delete the first volume, the method further comprising:
receiving a request to restore the first volume;
responsive to receiving the request to restore the first volume:
retrieving the indication that the first volume was previously linked to the first medium; and
creating a new entry in the volume to medium mapping table, wherein the new entry links the first volume to the first medium.

### Claim 11 (depends on 9)

The method as recited in claim 9, wherein after receiving the request to delete the first volume, the method further comprising:
receiving a request to restore the first volume;
responsive to receiving the request to restore the first volume:
retrieving the indication that the first volume was previously linked to the first medium;
creating a second medium;
storing an indication that the first medium underlies the second medium; and
creating a new entry in the volume to medium mapping table, wherein the new entry links the first volume to the second medium.

### Claim 12 (depends on 8)

The method as recited in claim 8, wherein responsive to receiving the request to delete the first volume, the method further comprising delaying deletion of the first medium for a first period of time.

### Claim 13 (depends on 12)

The method as recited in claim 12, wherein after the first period of time has elapsed, the method comprising marking the first medium as ready to be reclaimed.

### Claim 14 (depends on 13)

The method as recited in claim 13, wherein after the first period of time has elapsed, the method further comprising marking a second medium as ready to be reclaimed if the second medium underlies the first medium and if no other mediums are linked to the second medium.

### Claim 15

A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable by a processor to:
receive a request to delete a first volume;
responsive to receiving the request to delete the first volume:
responsive to determining a first medium is an anchor medium of the first volume, store an indication that the first volume was previously linked to the first medium; and
remove any indication that the first volume is valid.

### Claim 16 (depends on 15)

The computer readable storage medium as recited in claim 15, wherein the program instructions are further executable by a processor to maintain a volume to medium mapping table to track relationships between volumes and anchor mediums, and wherein removing any indication that the first volume is valid comprises deleting a first entry corresponding to the first volume from the volume to medium mapping table.

### Claim 17 (depends on 16)

The computer readable storage medium as recited in claim 16, wherein after receiving the request to delete the first volume, the program instructions are further executable by a processor to:
receive a request to restore the first volume;
responsive to receiving the request to restore the first volume:
retrieve the indication that the first volume was previously linked to the first medium; and
create a new entry in the volume to medium mapping table, wherein the new entry links the first volume to the first medium.

### Claim 18 (depends on 16)

The computer readable storage medium as recited in claim 16, wherein after receiving the request to delete the first volume, the program instructions are further executable by a processor to:
receive a request to restore the first volume;
responsive to receiving the request to restore the first volume:
retrieve the indication that the first volume was previously linked to the first medium;
create a second medium;
store an indication that the first medium underlies the second medium; and
create a new entry in the volume to medium mapping table, wherein the new entry links the first volume to the second medium.

### Claim 19 (depends on 15)

The computer readable storage medium as recited in claim 15, wherein responsive to receiving the request to delete the first volume, the program instructions are further executable by a processor to delay deletion of the first medium for a first period of time.

### Claim 20 (depends on 19)

The computer readable storage medium as recited in claim 19, wherein after the first period of time has elapsed, the program instructions are executable by a processor to mark the first medium as ready to be reclaimed.
