IP Library Granted Patent US 7,165,156
Granted Patent B1
US 7,165,156 · App. 10/655,961 · Granted Jan 16, 2007

Read-write snapshots

Assignee: 3PARdata, Inc.
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 7,165,156
App. No.
10/655,961
Granted
Jan 16, 2007
Kind
B1
Abstract

A chain of snapshots includes read-write snapshots descending from a read only snapshot. The read only snapshots presents a constant view of the data at the time the read only snapshot is created, and the read-write snapshot starts with the view but can be modified by the user without changing the view of its parent snapshot (e.g., the read only snapshot). Accordingly, the read-write snapshot can be written for various testing purposes while the read only snapshot remains undisturbed to preserve the original data.

Claims (30)

1. A chain of snapshots for preserving data, comprising:

a first snapshot, wherein the first snapshot is a read only snapshot that cannot be written by a user; and

a second snapshot descending from the first snapshot, wherein the second snapshot is a read-write snapshot that can be written by the user.

2. The chain of snapshots of claim 1 , further comprising a third snapshot descending from the first snapshot, wherein the third snapshot is another read-write snapshot.

3. The chain of snapshots of claim 1 , further comprising a third snapshot descending from the second snapshot, wherein the third snapshot is another read only snapshot.

4. The chain of snapshots of claim 1 , wherein at least one of the first and the second snapshots comprises:

a table comprising a plurality of entries corresponding to first parts of block addresses;

wherein one of the plurality of entries contains a pointer to contiguous data blocks in said at least one of the first and the second snapshots.

5. The chain of snapshots of claim 1 , wherein at least one of the first and the second snapshots comprises:

a first table comprising a first plurality of entries corresponding to first parts of block addresses;

a second table comprising a second plurality of entries corresponding to second parts of block addresses;

wherein one of the first plurality of entries contains a pointer to the second table and one of the second plurality of entries contains a pointer to contiguous data blocks in said at least one of the first and the second snapshots.

6. A method for writing to data blocks in snapshots for preserving data, comprising:

creating a first snapshot, wherein the first snapshot is a read only snapshot that cannot be written by a user; and

creating a second snapshot descending from the first snapshot, wherein the second snapshot is a read-write snapshot that can be written by the user.

7. The method of claim 6 , further comprising creating a third snapshot descending from the first snapshot, wherein the third snapshot is another read-write snapshot.

8. The method of claim 6 , further comprising creating a third snapshot descending from the second snapshot, wherein the third snapshot is another read only snapshot.

9. The method of claim 6 , wherein at least one of said creating a first snapshot and said creating a second snapshot comprises:

creating a first table comprising a first plurality of entries corresponding to first parts of block addresses.

10. The method of claim 9 , further comprising writing one or more data blocks to the first snapshot or the second snapshot, said writing comprising:

saving said one or more data blocks in a page of contiguous data blocks; and

writing one of the first plurality of entries with a pointer to the page of the contiguous data blocks if said one or more data blocks consist all of the data blocks with the same first part of their block addresses.

11. The method of claim 9 , further comprising writing one or more data blocks to the first snapshot or the second snapshot, said writing comprising:

creating a second table comprising a second plurality of entries corresponding to second parts of block addresses;

saving said one or more data blocks in a page of contiguous data blocks;

writing one of the first plurality of entries with a pointer to the second table; and

writing one of the second plurality of entries with a pointer to the page of the contiguous data block if said one or more data blocks consist all of the data blocks with the same first part and the same second part of their block addresses.

12. The method of claim 9 , further comprising, prior to said writing the data block:

determining if the write request is a first write to the data block in the second snapshot; and

if the write request is the first write to the data block in the second snapshot, copying the data block to a third snapshot descending from the second snapshot, wherein the third snapshot is a read-only snapshot.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2011
From: 3PAR INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 026250/0322 →
CHANGE OF NAME Recorded Feb 28, 2008
From: 3PARDATA, INC.
To: 3PAR INC.
Reel/Frame 020571/0664 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2004
From: CAMERON, GEORGE R.; HUANG, HUEICHIAN
To: 3PARDATA, INC.
Reel/Frame 014307/0247 →
Continuity (2)
Provisional Application 6040931100 · Sep 6, 2002
Provisional Application 6040873500 · Sep 6, 2002