Data storage with snapshot-to-snapshot recovery
First Claim
Patent Images
1. A method for data storage, comprising:
- creating first and second copies of a logical volume, such that the first and second copies are represented by respective first and second sets of pointers to physical storage locations in which data used by the copies is stored; and
responsively to a corruption of at least part of the data that is used by the first copy, restoring the first copy from the second copy by replacing the first set with the pointers in the second set,wherein creating the copies comprises representing the copies by a hierarchical tree structure comprising nodes, wherein each of the nodes comprises a respective set of local pointers, and wherein the copies are represented by respective nodes such that the local pointers in the nodes located along a path via the tree structure that connects a given node to a root node of the tree structure point to the physical storage locations in which the data used by the given copy is stored,wherein the tree structure comprises first and second nodes respectively representing the first and second copies, wherein the second node is connected to the root node via a first path via the tree structure, and wherein restoring the first copy from the second copy comprises deleting the first node from the tree structure and creating a new node representing the restored first copy, such that the new node is connected to the root node via a second path whose nodes have the same local pointers as the nodes along the first path.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for data storage includes creating first and second copies of a logical volume, such that the first and second copies are represented by respective first and second sets of pointers to physical storage locations in which data used by the copies is stored. Responsively to a corruption of at least part of the data that is used by the first copy, the first copy is restored from the second copy by replacing the first set with the pointers in the second set.
-
Citations
15 Claims
-
1. A method for data storage, comprising:
-
creating first and second copies of a logical volume, such that the first and second copies are represented by respective first and second sets of pointers to physical storage locations in which data used by the copies is stored; and responsively to a corruption of at least part of the data that is used by the first copy, restoring the first copy from the second copy by replacing the first set with the pointers in the second set, wherein creating the copies comprises representing the copies by a hierarchical tree structure comprising nodes, wherein each of the nodes comprises a respective set of local pointers, and wherein the copies are represented by respective nodes such that the local pointers in the nodes located along a path via the tree structure that connects a given node to a root node of the tree structure point to the physical storage locations in which the data used by the given copy is stored, wherein the tree structure comprises first and second nodes respectively representing the first and second copies, wherein the second node is connected to the root node via a first path via the tree structure, and wherein restoring the first copy from the second copy comprises deleting the first node from the tree structure and creating a new node representing the restored first copy, such that the new node is connected to the root node via a second path whose nodes have the same local pointers as the nodes along the first path. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus for data storage, comprising:
-
an interface, which is operative to communicate with a host computer so as to receive data for storage that is addressed to a logical volume assigned on a storage device; and a processor, which is coupled to create first and second copies of the logical volume, such that the first and second copies are represented by respective first and second sets of pointers to physical storage locations on the storage device in which the data used by the copies is stored, and, responsively to a corruption of at least part of the data that is used by the first copy, to restore the first copy from the second copy by replacing the first set with the pointers in the second set, wherein the tree structure comprises first and second nodes respectively representing the first and second copies, wherein the second node is connected to the root node via a first path via the tree structure, and wherein the processor is coupled to restore the first copy from the second copy by deleting the first node from the tree structure and creating a new node representing the restored first copy, such that the crew node is connected to the root node via a second path whose nodes have the same local pointers as the nodes along the first path, wherein the tree structure comprises first and second nodes respectively representing the first and second copies, wherein the second node is connected to the root node via a first path via the tree structure, and wherein the processor is coupled to restore the first copy from the second copy by deleting the first node from the tree structure and creating a new node representing the restored first copy, such that the new node is connected to the root node via a second path whose nodes have the same local pointers as the lodes along the first path. - View Dependent Claims (8, 9, 10)
-
-
11. A data storage system, comprising:
-
a storage device; an interface, which is operative to communicate with a host computer so as to receive data for storage that is addressed to a logical volume assigned on the storage device; and a processor, which is coupled to create first and second copies of the logical volume, such that the first and second copies are represented by respective first and second sets of pointers to physical storage locations on the storage device in which the data used by the copies is stored, and, responsively to a corruption of at least part of the data that is used by the first copy, to restore the first copy from the second copy by replacing the first set with the pointers in the second set, wherein the processor is coupled to represent the copies by a hierarchical tree structure comprising nodes, wherein each of the nodes comprises a respective set of local pointers, and wherein the copies are represented by respective nodes such that the local pointers in the nodes located along a path via the tree structure that connects a given node to a root node of the tree structure point to the physical storage locations in which the data used by the given copy is stored, wherein the tree structure comprises first and second nodes respectively representing the first and second copies, wherein the second node is connected to the root node via a first path via the tree structure, and wherein the processor is coupled to restore the first copy from the second copy by deleting the first node from the tree structure and creating a new node representing the restored first copy, such that the new node is connected to the root node via a second lath whose nodes have the same local pointers as the nodes along the first path. - View Dependent Claims (12, 13)
-
-
14. A computer software product for data storage, the product comprising a non-transitory computer-readable medium, in which program instructions are stored, which instructions, when read by the computer, cause the computer to communicate with a host so as to receive data for storage that is addressed to a logical volume assigned on a storage device, to create first and second copies of the logical volume, such that the first and second copies are represented by respective first and second sets of pointers to physical storage locations on the storage device in which the data used by the copies is stored, and, responsively to a corruption of at least part of the data that is used by the first copy, to restore the first copy from the second copy by replacing the first set with the pointers in the second set,
wherein the instructions cause the computer to represent the copies by a hierarchical tree structure comprising nodes, wherein each. of the nodes comprises a respective set of local. pointers, and wherein the copies are represented by respective nodes such that the local pointers in the nodes located along a path via the tree structure that connects a given node to a root node of the co structure point to the physical storage locations in which the data use by the given copy is stored, wherein the tree structure comprises first and second nodes respectively representing the first and second copies, wherein the second node is connected to the root node via a first path via the tree structure, and wherein the instructions cause the computer to restore the first copy from the second copy by deleting the first node from the tree structure and creating a new node representing the restored first copy, such that the new node is connected to the root node via a second path whose nodes have the same local pointers as the nodes along the first path.
Specification