IP Library Granted Patent US 9,235,347
Granted Patent B2
US 9,235,347 · App. 14/591,457 · Granted Jan 12, 2016

System, method and computer program product for synchronizing data written to tape including writing an index into a data partition

Inventors: Andrew Glen Klein (Leander, TX); Robert C. Sims (Round Rock, TX); William H. Moody, II (Austin, TX)
Assignee: KIP CR P1 LP
G06F3/0619G06F3/0601G06F3/0643G06F3/0644G06F3/0682G06F3/0686G06F2212/213
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,235,347
App. No.
14/591,457
Granted
Jan 12, 2016
Kind
B2
Abstract

A system, method and computer program product for synchronizing data written to tape with improved data recovery. When writing data to tape, an index is kept in memory and updated to reflect change(s) to a file system mounted on tape. After a predetermined amount of data is written to a tape, a device may perform a sync operation, causing the index to be written into a data partition of the tape. If the sync operation is successful, the index in the index partition of the tape can be updated using a copy of the index in the data partition of the tape next time the tape is mounted. If the sync operation is not successful, the device may write the data to a different location on the same or another tape, update the index, and force another sync operation. This process can be repeated.

Claims (42)

1. An apparatus, comprising:

a memory;

at least one processor; and

at least one non-transitory computer readable medium storing instructions translatable by the at least one processor to:

when a tape is mounted on a drive, write an index from an index partition of the tape into the memory such that the memory stores an in-memory version of the index;

after a predetermined amount of time has passed, after a predetermined condition has been met, or after a predetermined amount of data has been written to the tape, perform a synchronization operation to write the in-memory version of the index to a data partition of the tape such that the data partition of the tape stores a copy of the in-memory version of the index;

when the tape is to be unmounted, perform an unmount operation to write the in-memory version of the index from the memory into the index partition of the tape;

when the tape is to be mounted again, compare indexes most recently written to the index partition of the tape and to the data partition of the tape; and

if the indexes do not match, automatically perform a recovery operation to update the index partition of the tape with the copy of the in-memory version of the index from the data partition of the tape.

2. The apparatus of claim 1 , wherein the predetermined amount of data comprises a block or group of files approximately two wraps of the tape or a multiple of two wraps of the tape in size.

3. The apparatus of claim 1 , wherein the stored instructions are further translatable by the at least one processor to update the in-memory version of the index whenever a change is made to a file system mounted on the tape.

4. The apparatus of claim 3 , wherein, prior to the synchronization operation, any changes to the file system are held only in the memory.

5. The apparatus of claim 1 , wherein the synchronization operation comprises advancing an index generation number by a predetermined value.

6. The apparatus of claim 1 , wherein the stored instructions are further translatable by the at least one processor to write a previous index from the data partition of the tape into the index partition of the tape.

7. The apparatus of claim 1 , wherein the synchronization operation is a Linear Tape File System (LTFS) sync operation.

8. A method for writing data to tape, comprising:

when a tape is mounted on a tape drive, writing an index from an index partition of the tape into a memory of an archive node appliance connected to the tape drive such that the memory stores an in-memory version of the index;

after a predetermined amount of time has passed, after a predetermined condition has been met, or after a predetermined amount of data has been written to the tape, the archive node appliance performing a synchronization operation to write the in-memory version of the index to a data partition of the tape such that the data partition of the tape stores a copy of the in-memory version of the index;

when the tape is to be unmounted, the archive node appliance performing an unmount operation to write the in-memory version of the index from the memory into the index partition of the tape;

when the tape is to be mounted again, the archive node appliance comparing indexes most recently written to the index partition of the tape and to the data partition of the tape; and

if the indexes do not match, the archive node appliance automatically performing a recovery operation to update the index partition of the tape with the copy of the in-memory version of the index from the data partition of the tape.

9. The method according to claim 8 , wherein the predetermined amount of data comprises a block or group of files approximately two wraps of the tape or a multiple of two wraps of the tape in size.

10. The method according to claim 8 , further comprising:

updating the in-memory version of the index whenever a change is made to a file system mounted on the tape.

11. The method according to claim 10 , wherein, prior to the synchronization operation, any changes to the file system are held only in the memory.

12. The method according to claim 8 , wherein the synchronization operation comprises advancing an index generation number by a predetermined value.

13. The method according to claim 8 , further comprising:

writing a previous index from the data partition of the tape into the index partition of the tape.

14. The method according to claim 8 , wherein the synchronization operation is a Linear Tape File System (LTFS) sync operation.

15. A computer program product comprising at least one non-transitory computer readable medium storing instructions translatable by at least one processor to:

when a tape is mounted on a tape drive, write an index from an index partition of the tape into a memory of an archive node appliance connected to the tape drive such that the memory stores an in-memory version of the index;

after a predetermined amount of time has passed, after a predetermined condition has been met, or after a predetermined amount of data has been written to the tape, perform a synchronization operation to write the in-memory version of the index to a data partition of the tape such that the data partition of the tape stores a copy of the in-memory version of the index;

when the tape is to be unmounted, perform an unmount operation to write the in-memory version of the index from the memory into the index partition of the tape;

when the tape is to be mounted again, compare indexes most recently written to the index partition of the tape and to the data partition of the tape; and

if the indexes do not match, automatically perform a recovery operation to update the index partition of the tape with the copy of the in-memory version of the index from the data partition of the tape.

16. The computer program product of claim 15 , wherein the predetermined amount of data comprises a block or group of files approximately two wraps of the tape or a multiple of two wraps of the tape in size.

17. The computer program product of claim 15 , wherein the instructions are further translatable by the at least one processor to:

update the in-memory version of the index whenever a change is made to a file system mounted on the tape.

18. The computer program product of claim 17 , wherein, prior to the synchronization operation, any changes to the file system are held only in the memory.

19. The computer program product of claim 15 , wherein the synchronization operation comprises advancing an index generation number by a predetermined value.

20. The computer program product of claim 15 , wherein the instructions are further translatable by the at least one processor to:

write a previous index from the data partition of the tape into the index partition of the tape.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: KLEIN, ANDREW GLEN; SIMS, ROBERT C.; MOODY, WILLIAM H., II
To: CROSSROADS SYSTEMS, INC.
Reel/Frame 034656/0620 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: CROSSROADS SYSTEMS, INC.
To: KIP CR P1 LP
Reel/Frame 034656/0632 →
Continuity (2)
Continuation 13532518 · Jun 25, 2012
Related Publication 20150127980A1 · May 7, 2015