IP Library › Granted Patent US 9,442,805
Granted Patent B2
US 9,442,805 · App. 14/484,250 · Granted Sep 13, 2016

Recovering a volume table and data sets

Inventors: Kyle B. Dudgeon (Vail, AZ); Franklin E. McCune (Tucson, AZ); David C. Reed (Tucson, AZ); Max D. Smith (Tucson, AZ)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/1448G06F11/1435G06F11/1451
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 9,442,805
App. No.
14/484,250
Granted
Sep 13, 2016
Kind
B2
Abstract

Provided are a computer program product, system, and method for recovering a volume table and data sets from a volume. Content from a backup volume table comprising a valid backup of a volume table from backup of the volume is processed to generate a recovery volume table for a recovery volume. The data sets in the volume are processed to determine whether they are valid. The valid data sets are moved to the recovery volume. A data recovery operation is initiated for the data sets determined not to be valid.

Claims (76)

1. A computer program product for data recovery of a volume having data sets in a storage device, the computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therein that executes to perform operations, the operations comprising:

processing content from a backup volume table comprising a valid backup of a volume table from a backup of the volume to generate a recovery volume table for a recovery volume;

processing the data sets in the volume to determine whether they are valid;

moving the valid data sets to the recovery volume; and

initiating a data recovery operation for the data sets determined not to be valid.

2. The computer program product of claim 1 , wherein the processing of the content from the backup volume table to generate the recovery volume table comprises:

determining data sets in the volume;

determining differences between the determined data sets in the volume and information on the data sets indicated in the content from the backup volume table; and

generating the recovery volume table comprising the content from the backup volume table updated with the determined differences.

3. The computer program product of claim 2 , wherein the determined differences comprise information on data sets that were deleted, updated and/or added since a time of the backup volume, wherein generating the recovery volume table comprises:

deleting, from the content from the backup volume table, information on those data sets that are determined to have been deleted since the time of the backup volume;

adding information to the content from the backup volume table on those data sets that have been added since the time of the backup volume; and

updating information in the content from the backup volume table for those data sets that have been modified to make consistent with the determined data sets.

4. The computer program product of claim 1 , wherein the processing the data sets in the volume to determine whether they are valid comprises:

comparing the data sets with corresponding backup data sets from the backup of the volume, wherein data sets that do not differ from backup versions of the data sets are valid and wherein differing data sets comprise the data sets that differ from the corresponding backup data sets;

processing the differing data sets to determine whether data in the differing data sets is recoverable; and

moving the differing data sets that are determined to have the data that is recoverable to the recovery volume.

5. The computer program product of claim 4 , wherein the processing of the differing data sets to determine whether they have data that is recoverable comprises:

determining whether at least one data attribute of data in the differing data sets and the corresponding backup data sets is consistent, wherein the data in the differing data sets is determined to be recoverable in response to determining that the at least one data attribute is consistent.

6. The computer program product of claim 5 , wherein the at least one data attribute comprises a block size of data in the differing data sets, wherein the at least one data attribute of the differing data sets and the corresponding backup data sets are consistent in response to determining that the block size of data in the differing data sets and the corresponding backup data sets match.

7. The computer program product of claim 4 , further comprising:

processing the data records to determine whether the backup data sets corresponding to the differing data sets were updated since a time of the backup volume, wherein the data in the differing data sets is determined to be recoverable in response to determining that the corresponding backup data sets were updated.

8. The computer program product of claim 4 , further comprising:

determining unrecoverable data sets comprising the data sets determined not to be recoverable;

presenting to a user information indicating the unrecoverable data sets with an option to recover from the backup volume;

receiving user selection of at least one unrecoverable data set to recover from the backup volume; and

restoring the at least one selected unrecoverable data set from the corresponding backup data sets to the recovery volume.

9. The computer program product of claim 4 , further comprising:

determining unrecoverable data sets, comprising the data sets determined not to be recoverable, to recover;

determining valid portions of the determined unrecoverable data sets;

moving the determined valid portions of the determined unrecoverable data sets to the recovery volume; and

erasing the unrecoverable data sets not moved to the recovery volume remaining in the volume in response to the moving to the recovery volume all the valid data sets, the differing data sets having data that is recoverable, and the determined valid portions of the unrecoverable data sets to the recovery volume.

10. The computer program product of claim 9 , wherein the determining the valid portions comprises:

determining blocks in the determined unrecoverable data sets that have a same block size as indicated in the recovery volume table for the blocks in the data set, wherein the valid portions comprise the blocks in the data sets that have the block size indicated in the recovery volume table.

11. The computer program product of claim 4 , further comprising:

processing the data records to determine whether the backup data sets corresponding to the differing data sets were updated since a time of the backup volume, wherein the data in the differing data sets is determined to be recoverable in response to determining that the corresponding backup data sets were updated.

12. The computer program product of claim 1 , wherein the volume table includes a volume table of contents (VTOC) that provides allocation information for data sets in the volume.

13. A system in communication with a storage device having a volume with data sets comprising:

a processor; and

a computer readable storage medium having computer readable program code embodied therein executed by the processor to perform operations, the operations comprising:

processing content from a backup volume table comprising a valid backup of a volume table from a backup of the volume to generate a recovery volume table for a recovery volume;

processing the data sets in the volume to determine whether they are valid;

moving the valid data sets to the recovery volume; and

initiating a data recovery operation for the data sets determined not to be valid.

14. The system of claim 13 , wherein the processing of the content from the backup volume table to generate the recovery volume table comprises:

determining data sets in the volume;

determining differences between the determined data sets in the volume and information on the data sets indicated in the content from the backup volume table; and

generating the recovery volume table comprising the content from the backup volume table updated with the determined differences.

15. The system of claim 14 , wherein the determined differences comprise information on data sets that were deleted, updated and/or added since a time of the backup volume, wherein generating the recovery volume table comprises:

deleting, from the content from the backup volume table, information on those data sets that are determined to have been deleted since the time of the backup volume;

adding information to the content from the backup volume table on those data sets that have been added since the time of the backup volume; and

updating information in the content from the backup volume table for those data sets that have been modified to make consistent with the determined data sets.

16. The system of claim 13 , wherein the processing the data sets in the volume to determine whether they are valid comprises:

comparing the data sets with corresponding backup data sets from the backup of the volume, wherein data sets that do not differ from backup versions of the data sets are valid and wherein differing data sets comprise the data sets that differ from the corresponding backup data sets;

processing the differing data sets to determine whether data in the differing data sets is recoverable; and

moving the differing data sets that are determined to have the data that is recoverable to the recovery volume.

17. The system of claim 16 , wherein the processing of the differing data sets to determine whether they have data that is recoverable comprises:

determining whether at least one data attribute of data in the differing data sets and the corresponding backup data sets is consistent, wherein the data in the differing data sets is determined to be recoverable in response to determining that the at least one data attribute is consistent.

18. The system of claim 17 , wherein the at least one data attribute comprises a block size of data in the differing data sets, wherein the at least one data attribute of the differing data sets and the corresponding backup data sets are consistent in response to determining that the block size of data in the differing data sets and the corresponding backup data sets match.

19. The system of claim 16 , further comprising:

processing the data records to determine whether the backup data sets corresponding to the differing data sets were updated since a time of the backup volume, wherein the data in the differing data sets is determined to be recoverable in response to determining that the corresponding backup data sets were updated.

20. The system of claim 16 , further comprising:

determining unrecoverable data sets, comprising the data sets determined not to be recoverable, to recover;

determining valid portions of the determined unrecoverable data sets;

moving the determined valid portions of the determined unrecoverable data sets to the recovery volume; and

erasing the unrecoverable data sets not moved to the recovery volume remaining in the volume in response to the moving to the recovery volume all the valid data sets, the differing data sets having data that is recoverable, and the determined valid portions of the unrecoverable data sets to the recovery volume.

21. The system of claim 20 , wherein the determining the valid portions comprises:

determining blocks in the determined unrecoverable data sets that have a same block size as indicated in the recovery volume table for the blocks in the data set, wherein the valid portions comprise the blocks in the data sets that have the block size indicated in the recovery volume table.

22. The system of claim 16 , wherein the operations further comprise:

determining unrecoverable data sets comprising the data sets determined not to be recoverable;

presenting to a user information indicating the unrecoverable data sets with an option to recover from the backup volume;

receiving user selection of at least one unrecoverable data set to recover from the backup volume; and

restoring the at least one selected unrecoverable data set from the corresponding backup data sets to the recovery volume.

23. The system of claim 16 , wherein the operations further comprise:

processing the data records to determine whether the backup data sets corresponding to the differing data sets were updated since a time of the backup volume, wherein the data in the differing data sets is determined to be recoverable in response to determining that the corresponding backup data sets were updated.

24. The system of claim 13 , wherein the volume table includes a volume table of contents (VTOC) that provides allocation information for data sets in the volume.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2014
From: DUDGEON, KYLE B.; MCCUNE, FRANKLIN E.; REED, DAVID C.; SMITH, MAX D.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033751/0954 →
Continuity (3)
Continuation 14072717 · Nov 5, 2013
Continuation 13535253 · Jun 27, 2012
Related Publication 20140380097A1 · Dec 25, 2014