Method and apparatus for managing a storage system using snapshot copy operations with snap groups
First Claim
1. A method in a data processing system for managing data access to a plurality of storage devices, the method comprising:
- grouping the plurality of storage devices into a set of groups;
responsive to a request for a copy operation to copy data from a first storage device to a second storage device, determining whether the first storage device and the second storage device are in a same group within the set of groups;
responsive to the first storage device and the second storage device being in the same group, creating a pointer to the data in the first storage device, wherein the pointer is associated with the second storage device; and
responsive to an absence of the first storage device and the second storage device being in the same group, preventing the copy operation from occurring.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus in a data processing system for managing data access to a plurality of storage devices. The present invention may be applied to copy operations involving virtual tracking. The plurality of storage devices is grouped into a set of groups. Responsive to a request for a copy operation to copy data from a first storage device to a second storage device, a determination is then made as to whether the first storage device and the second storage device are in the same group within the plurality of groups. Responsive to the first storage device and the second storage device being in the same group, a data file pointer to the original data is stored in a data structure for the second storage device. Responsive to an absence of the first storage device and the second storage device being in the same group, occurrence of the copy operation is prevented.
-
Citations
39 Claims
-
1. A method in a data processing system for managing data access to a plurality of storage devices, the method comprising:
-
grouping the plurality of storage devices into a set of groups;
responsive to a request for a copy operation to copy data from a first storage device to a second storage device, determining whether the first storage device and the second storage device are in a same group within the set of groups;
responsive to the first storage device and the second storage device being in the same group, creating a pointer to the data in the first storage device, wherein the pointer is associated with the second storage device; and
responsive to an absence of the first storage device and the second storage device being in the same group, preventing the copy operation from occurring. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
performing a reference count regeneration to recreate a total count of virtual tracks that refer to each physical track stored in physical storage.
-
-
3. The method of claim 2, wherein the step of performing includes:
-
scanning a set of virtual tracks associated with the plurality of storage devices; and
identifying a number of virtual tracks referencing each physical track.
-
-
4. The method of claim 3, wherein the number of virtual tracks is maintained using a counter for each physical track.
-
5. The method of claim 3, wherein the set of virtual tracks is scanned only once.
-
6. The method of claim 2, wherein the step of performing comprises:
-
initializing a counter for each physical track within a group within the set of groups;
reading a virtual track table entry for a virtual track within the set of virtual tracks within the group;
for the physical track referenced by the virtual track table entry, incrementing the counter for the physical track referenced by the virtual track table entry; and
repeating the initializing, reading, and incrementing steps for each group within the plurality of groups.
-
-
7. The method of claim 1, wherein the plurality of storage devices are a plurality of virtual storage devices.
-
8. The method of claim 1, wherein the pointer is stored in a table.
-
9. The method of claim 1 further comprising:
adding a new group to the set of groups.
-
10. The method of claim 1 further comprising:
removing a group from the set of groups.
-
11. The method of claim 1, wherein the pointer is a pointer to a data file identifier referencing the data file in the first storage device.
-
12. The method of claim 1 further comprising:
adding a volume to a group within the set of groups.
-
13. The method of claim 1 further comprising:
removing a volume from a group within the set of groups.
-
14. A method in a data processing system for performing snapshot copy operations, the method comprising:
-
receiving a request for the snapshot copy operation involving a source volume and a target volume;
responsive to receiving the request, determining whether the source volume and the target volume are in the same snap group;
responsive to the source volume and the target volume being in a same snap group, performing the snapshot copy operation; and
responsive to the source volume and the target volume being in different snap groups, preventing the snapshot copy operation. - View Dependent Claims (15, 16, 17)
performing a reference count regeneration to recreate a total count of virtual tracks that refer to each physical track stored in physical storage.
-
-
16. The method of claim 15, wherein the step of performing comprises:
-
scanning a set of virtual tracks associated with each snap group, wherein the set of virtual tracks is scanned only once; and
identifying a number of virtual tracks referencing each physical track.
-
-
17. The method of claim 15, wherein the step of performing comprises:
-
initializing a counter for each physical track within the snap group, wherein the snap group is unprocessed;
reading a virtual track table entry for a virtual track within a set of virtual tracks within the snap group;
for the physical track referenced by the virtual track table entry, incrementing the counter for the physical track referenced by the virtual track table entry; and
repeating the initializing, reading, and incrementing steps for each unprocessed snap group.
-
-
18. A storage system comprising:
-
a plurality of storage devices; and
a controller, wherein the controller monitors for a request for a copy operation involving a source storage device and a target storage device, determines whether the source device and the target device are in a same group in response to receiving the request, allowing the copy operation to occur only in response to the source storage device and the target storage device being in the same group. - View Dependent Claims (19, 20)
-
-
21. A data processing system for managing data access to a plurality of storage devices, the data processing system comprising:
-
grouping means for grouping the plurality of storage devices into a set of groups;
determining means, responsive to a request for a copy operation to copy data from a first storage device to a second storage device, for determining whether the first storage device and the second storage device are in a same group within a set of groups;
storing means, responsive to the first storage device and the second storage device being in the same group, for creating a pointer to the data in the first storage device, wherein the pointer is associated with the second storage device; and
preventing means, responsive to an absence of the first storage device and the second storage device being in the same group, for preventing the copy operation from occurring. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
performing means for performing a reference count regeneration to recreate a total count of virtual tracks that refer to each physical track stored in physical storage.
-
-
23. The data processing system of claim 22, wherein the performing means includes:
-
scanning means for scanning a set of virtual tracks associated with the plurality of storage devices; and
identifying means for identifying a number of virtual tracks referencing each physical track.
-
-
24. The data processing system of claim 23, wherein the set of virtual tracks is scanned only once.
-
25. The data processing system of claim 23, wherein the number of virtual tracks is maintained using a counter for each physical track.
-
26. The data processing system of claim 23, wherein the performing means comprises:
-
initializing means for initializing a counter for each physical track within a group within the set of groups;
reading means for reading a virtual track table entry for a virtual track within the set of virtual tracks within the group;
for the physical track referenced by the virtual track table entry, incrementing means for incrementing the counter for the physical track referenced by the virtual track table entry; and
repeating means for repeating the initializing means, reading means, and incrementing means for each group within the plurality of groups.
-
-
27. The data processing system of claim 21, wherein the plurality of storage devices are a plurality of virtual storage devices.
-
28. The data processing system of claim 21, wherein the data file pointer is stored in a table.
-
29. The data processing system of claim 21 further comprising:
adding means for adding a new group to the set of groups.
-
30. The data processing system of claim 21 further comprising:
removing means for removing a group from the set of groups.
-
31. The data processing system of claim 21, wherein the pointer is a pointer to a data file identifier referencing the data file in the first storage device.
-
32. The data processing system of claim 21 further comprising:
adding means for adding a volume to a group within the set of groups.
-
33. The data processing system of claim 21 further comprising:
removing means for removing a volume from a group within the set of groups.
-
34. A data processing system for performing snapshot copy operations, the data processing system comprising:
-
receiving means for receiving a request for the snapshot copy operation involving a source volume and a target volume;
determining means, responsive to receiving the request, for determining whether the source volume and the target volume are in a same snap group;
performing means, responsive to the source volume and the target volume being in a same snap group, for performing the snapshot copy operation; and
preventing means, responsive to the source volume and the target volume being in different snap groups, for preventing the snapshot copy operation. - View Dependent Claims (35, 36, 37)
performing means for performing a reference count regeneration to recreate a total count of virtual tracks that refer to each physical track stored in physical storage.
-
-
36. The data processing system of claim 35, wherein the performing means comprises:
-
scanning means for scanning a set of virtual tracks associated with each snap group, wherein the set of virtual tracks is scanned only once; and
identifying means for identifying a number of virtual tracks referencing each physical track.
-
-
37. The data processing system of claim 35, wherein the performing means comprises:
-
initializing means for initializing a counter for each physical track within the snap group, wherein the snap group is unprocessed;
reading means for reading a virtual track table entry for a virtual track within a set of virtual tracks within the snap group;
for the physical track referenced by the virtual track table entry, incrementing means for incrementing the counter for the physical track referenced by the virtual track table entry; and
repeating means for repeating the initializing means, reading means, and incrementing means for each unprocessed snap group.
-
-
38. A computer program product in a computer readable medium for managing data access to a plurality of storage devices, the computer program product comprising:
-
first instructions for grouping the plurality of storage devices into a set of groups;
second instructions, responsive to a request for a copy operation to copy data from a first storage device to a second storage device, for determining whether the first storage device and the second storage device are in a same group within a set of groups;
third instructions, responsive to the first storage device and the second storage device being in the same group, for storing a data file pointer to the data in a data structure for the second storage device; and
fourth instructions, responsive to an absence of the first storage device and the second storage device being in the same group, for preventing the copy operation from occurring.
-
-
39. A computer program product in a computer readable medium for performing snapshot copy operations, the computer program product comprising:
-
first instructions for receiving a request for the snapshot copy operation involving a source volume and a target volume;
second instructions, responsive to receiving the request, for determining whether the source volume and the target volume are in a same snap group;
third instructions, responsive to the source volume and the target volume being in the same snap group, for performing the snapshot copy operation; and
fourth instructions, responsive to the source volume and the target volume being in different snap groups, for preventing the snapshot copy operation.
-
Specification