Virtual storage devices
First Claim
1. A method of providing a point-in-time copy of stored data, comprising:
- providing a virtual storage area having a table of pointers that point to sections of the stored data and to sections of at least one other storage area, wherein the virtual storage area contains no sections of data;
in response to a write of new data to a section of the stored data pointed to by a pointer of the table of the virtual storage area, copying the section of stored data to a section of the at least one other storage area prior to the write, causing a pointer of the virtual storage area to point to the section of the at least one other storage area, and writing the new data to the section of the stored data;
in response to a request for accessing data of the virtual storage area, determining which particular one of the other storage areas contain the data; and
accessing the data on the particular one of the other storage areas using the table of pointers.
9 Assignments
0 Petitions
Accused Products
Abstract
Accessing stored data includes providing a virtual storage area having a table of pointers that point to sections of at least two other storage areas, where the virtual storage area contains no sections of data, in response to a request for accessing data of the virtual storage area, determining which particular one of the other storage areas contain the data, and accessing the data on the particular one of the other storage areas using the table of pointers. Accessing stored data may also include associating a first one of the other storage areas with the virtual storage area, where the virtual area device represents a copy of data of the first one of the other storage areas. Accessing stored data may also include causing all of the pointers of the table to initially point to sections of the first one of the other storage areas when the virtual storage area is initially associated with the first one of the other storage areas. The storage areas may be storage devices. The sections may be tracks.
49 Citations
26 Claims
-
1. A method of providing a point-in-time copy of stored data, comprising:
-
providing a virtual storage area having a table of pointers that point to sections of the stored data and to sections of at least one other storage area, wherein the virtual storage area contains no sections of data; in response to a write of new data to a section of the stored data pointed to by a pointer of the table of the virtual storage area, copying the section of stored data to a section of the at least one other storage area prior to the write, causing a pointer of the virtual storage area to point to the section of the at least one other storage area, and writing the new data to the section of the stored data; in response to a request for accessing data of the virtual storage area, determining which particular one of the other storage areas contain the data; and accessing the data on the particular one of the other storage areas using the table of pointers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of providing point-in-time copies of data stored in a data storage area, comprising:
-
providing a first virtual storage area having a first table of pointers that point to sections of the data storage area and to sections of at least one other storage area, wherein the first virtual storage area contains no sections of data; in response to a write of new data to a section of the data storage area pointed to by a pointer of the first table of the first virtual storage area, copying the section of data to a section of the at least one other storage area prior to the write, causing a pointer of the first virtual storage area to point to the section of the at least one other storage area, and writing the new data to the section of the data storage area; associating the data storage area with the first virtual storage area, wherein the first virtual storage area represents a copy of data of the data storage area at a first point in time; providing a second virtual storage area having a second table of pointers that point to sections of the data storage area and to sections of the at least one other storage area, wherein the second virtual storage area contains no sections of data; in response to a write to a section of the data storage area pointed to by a pointer of the second table of the second virtual storage area, copying the section of data to a section of the at least one other storage area prior to the write and causing a pointer of the second virtual storage area to point to the section of the at least one other storage area; associating the data storage area with the second virtual storage area, wherein the second virtual storage area represents a copy of data of the data storage area at a second point in time; in response to a request for accessing data of one of the virtual storage areas, determining which particular one of the storage areas contain the data; and accessing the data on the particular one of the storage areas using one of the tables of pointers. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A computer program product, comprising:
-
executable code that provides a virtual storage area having a table of pointers that point to sections of at least two other storage areas, wherein the virtual storage area contains no sections of data and wherein all of the pointers of the table of pointers initially point to a first one of the at least two other storage areas; executable code that, in response to a write of new data to a section of the first one of the at least two other storage areas, copies the section of the first one of the at least two other storage areas to a section of a second one of the at least two other storage areas, causes a pointer of the virtual storage area to point to the section of the second one of the at least two other storage areas, and writes the new data to the first one of the at least two other storage areas; executable code that determines which particular one of the at least two other storage areas contain the data in response to a request for accessing data of the virtual storage area; and executable code that accesses the data on the particular one of the at least two other storage areas using the table of pointers. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
Specification