IP Library › Granted Patent US 8,539,279
Granted Patent B2
US 8,539,279 · App. 13/732,544 · Granted Sep 17, 2013

Data storage with snapshot-to-snapshot recovery

Inventors: Haim Helman (Tel Aviv, IL); Shemer Schwarz (Tel Aviv, IL); Omri Palmon (Tel Aviv, IL); Kariel E. Sandler (Tel Aviv, IL)
Assignee: International Business Machines Corporation
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,539,279
App. No.
13/732,544
Granted
Sep 17, 2013
Kind
B2
Abstract

Embodiments of the present invention provide methods, apparatuses, systems, and computer software products for data storage. A corrupted node under a first meta-volume node in a hierarchical tree structure is deleted. The hierarchical tree structure further includes a source node under the first meta-volume node. The corrupted node and the source node each include a respective set of local pointers. The corrupted node and the source node represent respective copies of a logical volume. The source node is reconfigured to become a second meta-volume node having the same set of local pointers as the source node. A first new node is created under the second meta-volume node in the hierarchical tree structure to represent the corrupted node. A second new node is created under the second meta-volume node to represent the source node. The first and second new nodes are configured to have no local pointers.

Claims (46)

1. A method for data storage comprising:

deleting a corrupted node under a first meta-volume node in a hierarchical tree structure, wherein the hierarchical tree structure further comprises a source node under the first meta-volume node, the corrupted node and the source node each comprise a respective set of local pointers, and the corrupted node and the source node represent respective copies of a logical volume;

reconfiguring the source node to become a second meta-volume node having the same set of local pointers as the source node;

creating a first new node under the second meta-volume node in the hierarchical tree structure to represent the corrupted node;

configuring the first new node to have no local pointers;

creating a second new node under the second meta-volume node in the hierarchical tree structure to represent the source node; and

configuring the second new node to have no local pointers.

2. The method according to claim 1 , further comprising:

creating the corrupted node; and

creating the source node.

3. The method according to claim 2 , wherein the creating of the source node is based on the creating of the corrupted node.

4. The method according to claim 1 , wherein the creating of the first new node comprises updating a list indicating respective numbers of those nodes whose pointers point to physical storage locations in which data used by the copies is stored.

5. The method according to claim 4 , further comprising maintaining a use-count of physical partitions associated with the physical storage locations.

6. The method according to claim 1 , further comprising determining if the corrupted node and the source node represent snapshot copies of the respective logical volume.

7. The method according to claim 1 , wherein the creating of the first new node and the creating of the second new node comprise communicating with a host computer over a Storage Area Network (SAN).

8. An apparatus for data storage, comprising:

an interface configured to communicate with a host computer to receive data for storage that is addressed to a logical volume assigned on a storage device; and

a processor coupled to the interface and adapted to:

delete a corrupted node under a first meta-volume node in a hierarchical tree structure, wherein the hierarchical tree structure further comprises a source node under the first meta-volume node, the corrupted node and the source node each comprise a respective set of local pointers, and the corrupted node and the source node represent respective copies of a logical volume;

reconfigure the source node to become a second meta-volume node having the same set of local pointers as the source node;

create a first new node under the second meta-volume node in the hierarchical tree structure to represent the corrupted node;

configure the first new node to have no local pointers;

create a second new node under the second meta-volume node in the hierarchical tree structure to represent the source node; and

configure the second new node to have no local pointers.

9. The apparatus according to claim 8 , wherein the processor is further adapted to:

create the corrupted node; and

create the source node.

10. The apparatus according to claim 9 , wherein the creating of the source node is based on the creating of the corrupted node.

11. The apparatus according to claim 8 , wherein the creating of the first new node comprises updating a list indicating respective numbers of those nodes whose pointers point to physical storage locations in which data used by the copies is stored.

12. The apparatus according to claim 11 , wherein the processor is further adapted to maintain a use-count of physical partitions associated with the physical storage locations.

13. The apparatus according to claim 8 , wherein the processor is further adapted to determine if the corrupted node and the source node represent snapshot copies of the respective logical volume.

14. The apparatus according to claim 8 , wherein the creating of the first new node and the creating of the second new node comprise communicating with a host computer over a Storage Area Network (SAN).

15. A computer software product for data storage, the product comprising a non-transitory computer-readable medium, in which program instructions are stored, the program instructions comprising:

a first executable portion for deleting a corrupted node under a first meta-volume node in a hierarchical tree structure, wherein the hierarchical tree structure further comprises a source node under the first meta-volume node, the corrupted node and the source node each comprise a respective set of local pointers, and the corrupted node and the source node represent respective copies of a logical volume;

a second executable portion for reconfiguring the source node to become a second meta-volume node having the same set of local pointers as the source node;

a third executable portion for creating a first new node under the second meta-volume node in the hierarchical tree structure to represent the corrupted node;

a fourth executable portion for configuring the first new node to have no local pointers;

a fifth executable portion for creating a second new node under the second meta-volume node in the hierarchical tree structure to represent the source node; and

a sixth executable portion for configuring the second new node to have no local pointers.

16. The product according to claim 15 , wherein the program instructions further comprise:

a seventh executable portion for creating the corrupted node; and

an eighth executable portion for creating the source node.

17. The product according to claim 16 , wherein the creating of the source node is based on the creating of the corrupted node.

18. The product according to claim 17 , wherein the creating of the first new node comprises updating a list indicating respective numbers of those nodes whose pointers point to physical storage locations in which data used by the copies is stored.

19. The product according to claim 18 , wherein the program instructions further comprise a ninth executable portion for maintaining a use-count of physical partitions associated with the physical storage locations.

20. The product according to claim 15 , wherein the program instructions further comprise a seventh executable portion for determining if the corrupted node and the source node represent snapshot copies of the respective logical volume.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2013
From: HELMAN, HAIM; SANDLER, KARIEL E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030809/0543 →
Continuity (3)
Continuation 13089143 · Apr 18, 2011
Continuation 12192201 · Aug 15, 2008
Related Publication 20130124486A1 · May 16, 2013