# US 2014/0195748 A1 · Efficient replica cleanup during resynchronization

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

- Number: US 2014/0195748 A1
- Document ID: US20140195748A1
- Status: Published application
- Kind: A1
- Application number: 13/748,743
- Filed: 2013-01-24
- Published: 2014-07-10
- Earliest claimed: 2013-01-10
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Murali Bashyam; Sreekanth Garigala
- Web page: https://patentgrep.com/patent/US20140195748A1

## CPC

- G06F 12/121: using replacement algorithms
- G06F 3/0617: {in relation to availability}
- G06F 3/0652: {Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Mechanisms are provided for efficient replica cleanup during resynchronization. According to various embodiments, a plurality of deleted data segment ranges on a first storage node may be identified. The first storage node may be configured to store a plurality of data segments. Each of the plurality of data segments may have associated therewith a respective identifier. Each of the data segment ranges may designate one or more data segments that have been deleted from the first storage node. The plurality of deleted data segment ranges may be transmitted to a second storage node configured to mirror the plurality of data segments stored on the first storage node. The plurality of deleted data segment ranges may be capable of being used to identify one or more data segments to delete from the second storage node.

## Claims

### Claim 1

A method comprising:
identifying a plurality of deleted data segment ranges on a first storage node, the first storage node being configured to store a plurality of data segments, each of the plurality of data segments having associated therewith a respective identifier, each of the data segment ranges designating one or more data segments that have been deleted from the first storage node; and
transmitting the plurality of deleted data segment ranges to a second storage node configured to mirror the plurality of data segments stored on the first storage node, the plurality of deleted data segment ranges capable of being used to identify one or more data segments to delete from the second storage node.

### Claim 2 (depends on 1)

The method recited in claim 1, wherein each deleted data segment range comprises a respective initial data segment identifier and a respective terminal data segment identifier, the one or more data segments that have been deleted from the first storage node comprising data segments associated with identifiers that are between the initial data segment identifier and the terminal data segment identifier.

### Claim 3 (depends on 1)

The method recited in claim 1, the method further comprising:
deleting, at the second storage node, the one or more data segments identified for deletion from the second storage node.

### Claim 4 (depends on 1)

The method recited in claim 1, wherein each identifier comprises an inode number in a file system.

### Claim 5 (depends on 1)

The method recited in claim 1, the method further comprising:
detecting a reestablishment of communication between the first and second storage nodes, wherein the plurality of deleted data segment ranges are transmitted when the reestablishment of communication is detected.

### Claim 6 (depends on 1)

The method recited in claim 1, wherein the plurality of deleted data segment ranges are capable of being used to resynchronize deletions on the first storage node with deletions on the second storage node.

### Claim 7 (depends on 1)

The method recited in claim 1, wherein the resynchronization is capable of being performed in O(1) CPU-time.

### Claim 8 (depends on 7)

The method recited in claim 7, wherein the resynchronization is capable of being performed in O(1) memory usage.

### Claim 9 (depends on 7)

The method recited in claim 7, wherein each of the first and second storage nodes comprises a hard drive.

### Claim 11

A system comprising:
a processor configured to identify a plurality of deleted data segment ranges on a first storage node, the first storage node being configured to store a plurality of data segments, each of the plurality of data segments having associated therewith a respective identifier, each of the data segment ranges designating one or more data segments that have been deleted from the first storage node; and
a communications interface configured to transmit the plurality of deleted data segment ranges to a second storage node configured to mirror the plurality of data segments stored on the first storage node, the plurality of deleted data segment ranges capable of being used to identify one or more data segments to delete from the second storage node.

### Claim 12 (depends on 11)

The system recited in claim 11, wherein each deleted data segment range comprises a respective initial data segment identifier and a respective terminal data segment identifier, the one or more data segments that have been deleted from the first storage node comprising data segments associated with identifiers that are between the initial data segment identifier and the terminal data segment identifier.

### Claim 13 (depends on 11)

The system recited in claim 11, wherein the processor is further operable to:
detect a reestablishment of communication between the first and second storage nodes, wherein the plurality of deleted data segment ranges are transmitted when the reestablishment of communication is detected.

### Claim 14 (depends on 11)

The system recited in claim 11, wherein the plurality of deleted data segment ranges are capable of being used to resynchronize deletions on the first storage node with deletions on the second storage node.

### Claim 15 (depends on 14)

The system recited in claim 14, wherein the resynchronization is capable of being performed in O(1) CPU-time.

### Claim 16 (depends on 14)

The system recited in claim 14, wherein the resynchronization is capable of being performed in O(1) memory usage.

### Claim 17

One or more computer readable media having instructions stored thereon for performing a method, the method comprising:
identifying a plurality of deleted data segment ranges on a first storage node, the first storage node being configured to store a plurality of data segments, each of the plurality of data segments having associated therewith a respective identifier, each of the data segment ranges designating one or more data segments that have been deleted from the first storage node; and
transmitting the plurality of deleted data segment ranges to a second storage node configured to mirror the plurality of data segments stored on the first storage node, the plurality of deleted data segment ranges capable of being used to identify one or more data segments to delete from the second storage node.

### Claim 18 (depends on 17)

The one or more computer readable media recited in claim 17, wherein each deleted data segment range comprises a respective initial data segment identifier and a respective terminal data segment identifier, the one or more data segments that have been deleted from the first storage node comprising data segments associated with identifiers that are between the initial data segment identifier and the terminal data segment identifier.

### Claim 19 (depends on 17)

The one or more computer readable media recited in claim 17, the method further comprising:
deleting, at the second storage node, the one or more data segments identified for deletion from the second storage node.

### Claim 20 (depends on 17)

The one or more computer readable media recited in claim 17, wherein each identifier comprises an Mode number in a file system.
