IP Library Granted Patent US 8,527,463
Granted Patent B2
US 8,527,463 · App. 13/442,037 · Granted Sep 3, 2013

Clustered filesystem with data volume snapshot maintenance

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,527,463
App. No.
13/442,037
Granted
Sep 3, 2013
Kind
B2
Abstract

A computer system with read/write access to storage devices creates a snapshot of a data volume at a point in time while continuing to accept access requests to the mirrored data volume by copying before making changes to the base data volume. Multiple snapshots may be made of the same data volume at different points in time. Only data that is not stored in a previous snapshot volume or in the base data volume are stored in the most recent snapshot volume.

Claims (83)

1. A method of maintaining a copy of at least one data volume in a computer system for at least one point in time, comprising:

initiating creation of a first snapshot of a base volume;

establishing a first repository for the first snapshot of the base volume;

creating a modified region map, the modified region map including a respective bit representing each region of the base volume, each bit indicating whether any data in a respective region has changed;

monitoring the base volume for write operations thereto;

identifying a write operation to a first region of the base volume;

determining whether the modified region map indicates that data has changed in the first region since initiation of the first snapshot;

prior to a write operation to the first region of the base volume, copying the first region of the base volume to the first repository in response to an indication by the modified region map that data in the first region has not been changed since initiation of the first snapshot; and

upon reinitialization of a system maintaining the first repository, rebuilding the modified region map to determine if bits should be set corresponding to regions for which a write operation was completed prior to interruption of the system.

2. The method of claim 1 , further comprising:

performing the write operation to the first region of the base volume; and

setting a respective bit in the modified region map corresponding to the first region of the base volume in response to completing the write operation to the first region of the base volume.

3. The method of claim 1 , further comprising:

performing the write operation to the base volume without copying in response to an indication by the modified region map that data in the first region has been changed since initiation of the first snapshot.

4. The method of claim 1 , further comprising:

receiving a read request for the first snapshot;

providing regions of the base volume that have changed from the first snapshot in the first repository in response to the read request; and

providing regions of the base volume that have not changed from the base volume in response to the read request.

5. The method of claim 1 , further comprising:

initiating creation of a second snapshot of the base volume;

establishing a second repository for the second snapshot of the base volume; and

resetting the modified region map upon initiating the second snapshot.

6. The method of claim 5 , further comprising:

monitoring the base volume for write operations thereto;

identifying a write operation to a second region of the base volume;

determining whether the modified region map indicates that data has changed in the second region since initiation of the second snapshot; and

prior to a write operation to the second region of the base volume, copying the second region of the base volume to the second repository in response to an indication by the modified region map that data in the second region has not been changed since initiation of the second snapshot.

7. A system for maintaining a copy of at least one data volume in a computer system for at least one point in time, comprising:

one or more processors; and

memory storing instructions, the instructions, when executed by the one or more processors, cause the processors to perform operations comprising:

initiating creation of a first snapshot of a base volume;

establishing a first repository for the first snapshot of the base volume;

creating a modified region map, the modified region map including a respective bit representing each region of the base volume, each bit indicating whether any data in a respective region has changed;

monitoring the base volume for write operations thereto;

identifying a write operation to a first region of the base volume;

determining whether the modified region map indicates that data has changed in the first region since initiation of the first snapshot;

prior to a write operation to a first region of the base volume, copying the first region of the base volume to the first repository in response to an indication by the modified region map that data in the first region has not been changed since initiation of the first snapshot; and

upon reinitialization of a system maintaining the first repository, rebuilding the modified region map to determine if bits should be set corresponding to regions for which a write operation was completed prior to interruption of the system.

8. The system of claim 7 , wherein the operations further comprise:

performing the write operation to the first region of the base volume; and

setting a respective bit in the modified region map corresponding to the first region of the base volume in response to completing the write operation to the first region of the base volume.

9. The system of claim 7 , wherein the operations further comprise:

performing the write operation to the base volume without copying in response to an indication by the modified region map that data in the first region has been changed since initiation of the first snapshot.

10. The system of claim 7 , wherein the operations further comprise:

receiving a read request for the first snapshot;

providing regions of the base volume that have changed from the first snapshot in the first repository in response to the read request; and

providing regions of the base volume that have not changed from the base volume in response to the read request.

11. The system of claim 7 , wherein the operations further comprise:

initiating creation of a second snapshot of the base volume;

establishing a second repository for the second snapshot of the base volume; and

resetting the modified region map upon initiating the second snapshot.

12. The system of claim 11 , wherein the operations further comprise:

monitoring the base volume for write operations thereto;

identifying a write operation to a second region of the base volume;

determining whether the modified region map indicates that data has changed in the second region since initiation of the second snapshot; and

prior to a write operation to the second region of the base volume, copying the second region of the base volume to the second repository in response to an indication by the modified region map that data in the second region has not been changed since initiation of the second snapshot.

13. A non-transitory computer readable storage medium including code for maintaining a copy of at least one data volume in a computer system for at least one point in time, the code when executed operable to:

initiate creation of a first snapshot of a base volume;

establish a first repository for the first snapshot of the base volume;

create a modified region map, the modified region map including a respective bit representing each region of the base volume, each bit indicating whether any data in a respective region has changed;

monitor the base volume for write operations thereto;

identify a write operation to a first region of the base volume;

determine whether the modified region map indicates that data has changed in the first region since initiation of the first snapshot;

prior to a write operation to the first region of the base volume, copy the first region of the base volume to the first repository in response to an indication by the modified region map that data in the first region has not been changed since initiation of the first snapshot; and

upon reinitialization of a system maintaining the first repository, rebuild the modified region map to determine if bits should be set corresponding to regions for which a write operation was completed prior to interruption of the system.

14. The computer readable storage medium of claim 13 , wherein the code is further operable to:

perform the write operation to the first region of the base volume; and

set a respective bit in the modified region map corresponding to the first region of the base volume in response to completing the write operation to the first region of the base volume.

15. The computer readable storage medium of claim 13 , wherein the code is further operable to:

receive a read request for the first snapshot;

provide regions of the base volume that have changed from the first snapshot in the first repository in response to the read request; and

provide regions of the base volume that have not changed from the base volume in response to the read request.

16. The computer readable storage medium of claim 13 , wherein the code is further operable to:

initiate creation of a second snapshot of the base volume;

establish a second repository for the second snapshot of the base volume; and

reset the modified region map upon initiating the second snapshot.

17. The computer readable storage medium of claim 16 , wherein the code is further operable to:

monitor the base volume for write operations thereto;

identify a write operation to a second region of the base volume;

determine whether the modified region map indicates that data has changed in the second region since initiation of the second snapshot; and

prior to a write operation to the second region of the base volume, copy the second region of the base volume to the second repository in response to an indication by the modified region map that data in the second region has not been changed since initiation of the second snapshot.

18. The computer readable storage medium of claim 13 , wherein the code is further operable to:

perform the write operation to the base volume without copying in response to an indication by the modified region map that data in the first region has been changed since initiation of the first snapshot.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
CHANGE OF NAME Recorded Apr 15, 2014
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 032693/0529 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2014
From: BECK, KENNETH
To: SILICON GRAPHICS, INC.
Reel/Frame 032675/0224 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2014
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 032675/0608 →
MERGER Recorded Apr 15, 2014
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 032676/0282 →