# US 9,519,439 B2 · On-demand snapshot and prune in a data storage system

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

- Number: US 9,519,439 B2
- Document ID: US9519439B2
- Status: Granted
- Kind: B2
- Application number: 14/012,331
- Filed: 2013-08-28
- Published: 2015-03-05
- Granted: 2016-12-13
- Earliest claimed: 2013-08-28
- Assignees: Dell International L.L.C.
- Applicants: Compellent Technologies
- Inventors: Pradeep Sundarrajan; Melwyn D'Souza
- Web page: https://patentgrep.com/patent/US9519439B2

## CPC

- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/065: {Replication mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 11/1435: {using file system or storage system metadata}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/3409: {for performance assessment}
- G06F 11/3485: {for I/O devices}
- G06F 2201/81: Threshold
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method of data progression in a data storage system having at least two tiers of storage space. A first tier may include storage space in a SLC SSD and a second tier may include storage space in a MLC SSD. The method may include setting a predetermined free space threshold for the first tier of storage space, monitoring free space in the first tier of storage space, and when the amount of available free space in the first tier of storage space decreases to the predetermined free space threshold, generating an on-demand snapshot of at least a portion of the data of the first tier of storage space by designating that data as read-only. The on-demand snapshot may then be transferred to the second tier of storage space, thereby freeing the corresponding portion of data of the first tier of storage space for new writes.

## Claims

### Claim 1

A method of data progression in a data storage system having at least two tiers of storage space, a first tier comprising storage space in a single level cell (SLC) solid state device (SSD) and a second tier comprising storage space in a multi-level cell (MLC) SSD, the method comprising:
setting a predetermined free space threshold for the first tier of storage space that is a threshold relating to the amount of free space available on the first tier of storage space;
monitoring at least an amount of available free space in the first tier of storage space;
when the amount of available free space in the first tier of storage space decreases to the predetermined free space threshold, generating an on-demand snapshot of at least a portion of the data of the first tier of storage space by designating that data as read-only;
transferring the on-demand snapshot to the second tier of storage space, thereby freeing the corresponding at least a portion of data of the first tier of storage space for new writes;
wherein a write operation received by the data storage system directed to data stored by the on-demand snapshot is directed instead to newly allocated storage space of the first tier of storage space, and the corresponding data in the on-demand snapshot is considered to be overwritten; and
when a page of the on-demand snapshot contains overwritten data, freeing that page of the on-demand snapshot, such that the page is no longer associated with the on-demand snapshot;
wherein the on-demand snapshot is utilized internally by the data storage system and is not generally accessible by a user of the data storage system.

### Claim 2 (depends on 1)

The method of data progression of claim 1, further comprising, in addition to generating an on-demand snapshot, generating snapshots of at least a portion of the data of the first tier of storage space and transferring at least some of the generated snapshots to the second tier of storage space at regular intervals.

### Claim 3 (depends on 1)

The method of data progression of claim 1, wherein the storage space of the SLC SSD is configured as RAID 10 storage.

### Claim 4 (depends on 3)

The method of data progression of claim 3, wherein the storage space of the MLC SSD is configured as RAID 5 storage.

### Claim 5 (depends on 1)

The method of data progression of claim 1, wherein the data storage system stores data for a plurality of logical volumes, and wherein the on-demand snapshot comprises data from a first of the logical volumes utilizing the most storage space in the first tier.

### Claim 6 (depends on 1)

The method of data progression of claim 1, wherein the page of the on-demand snapshot is freed substantially as soon as the corresponding data is overwritten.

### Claim 7 (depends on 1)

The method of data progression of claim 1, wherein the page of the on-demand snapshot is freed according to a batch pruning method that operates on at least a portion of the second tier of storage space as a batch and frees multiple pages of the batch, each page containing data considered to be overwritten.

### Claim 8 (depends on 7)

The method of data progression of claim 7, wherein the batch pruning method is triggered when the amount of available free space in the second tier of storage space decreases to a predetermined free space threshold for the second tier of storage space.

### Claim 9 (depends on 7)

The method of data progression of claim 7, wherein the batch pruning method is triggered according to a periodic schedule.

### Claim 10

An information handling system comprising:
a data storage subsystem having at least two tiers of storage space, a first tier comprising storage space in a single level cell (SLC) solid state device (SSD) and a second tier comprising storage space in a multi-level cell (MLC) SSD;
a controller managing the data storage subsystem and configured to:
monitor at least an amount of available free space in the first tier of storage space;
when the amount of available free space in the first tier of storage space decreases to a predetermined free space threshold, generate an on-demand snapshot of at least a portion of the data of the first tier of storage space by designating that data as read-only;
transfer the on-demand snapshot to the second tier of storage space, thereby freeing the corresponding at least a portion of data of the first tier of storage space for new writes;
when a write operation is received by the data storage system directed to data stored by the on-demand snapshot, direct the write operation to newly allocated storage space of the first tier of storage space, and the corresponding data in the on-demand snapshot is considered to be overwritten; and
when a page of the on-demand snapshot contains overwritten data, free that page of the on-demand snapshot, such that the page is no longer associated with the on-demand snapshot;
wherein the on-demand snapshot is utilized internally by the controller and is not generally accessible by a user of the data storage subsystem.

### Claim 11 (depends on 10)

The information handling system of claim 10, wherein the storage space of the SLC SSD is configured as RAID 10 storage.

### Claim 12 (depends on 11)

The information handling system of claim 11, wherein the storage space of the MLC SSD is configured as RAID 5 storage.

### Claim 13 (depends on 10)

The information handling system of claim 10, wherein the controller is configured to free the page of the on-demand snapshot according to a batch pruning method that operates on at least a portion of the second tier of storage space as a batch and frees multiple pages of the batch, each page containing data considered to be overwritten.

### Claim 14 (depends on 13)

The information handling system of claim 13, wherein the controller runs the batch pruning method according to a periodic schedule.
