IP Library Granted Patent US 8,954,663
Granted Patent B1
US 8,954,663 · App. 13/532,518 · Granted Feb 10, 2015

System, method and computer program product for synchronizing data written to tape including writing an index into a data partition so that data can be recovered in case of failure

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 8,954,663
App. No.
13/532,518
Granted
Feb 10, 2015
Kind
B1
Abstract

A system, method and computer program product for synchronizing data written to tape so that the data can be recovered in case of failure. 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 (49)

1. A device, comprising:

ports for connecting to one or more networks and a tape library;

a memory;

a processor;

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

reading an index from an index partition of a first tape in the tape library into the memory;

updating the index in the memory whenever a change is made to a file system mounted on the first tape;

causing a first synchronization operation to occur 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 a first location on the first tape in the tape library through the file system mounted on the first tape, the first synchronization operation comprising writing an updated, index from the memory into a data partition of the first tape; and, wherein the updated index from the memory is not written into the data partition of the first tape if the first synchronization operation is not successful or if the first synchronization operation is not performed;

writing to a second location any data that has not been successfully written to the first location on the first tape; and

if the updated index from the memory is successfully written into the data partition of the first tape but not the index partition of the first tape, causing a recovery operation to be performed automatically next time the first tape is mounted, the recovery operation comprising updating the index partition of the first tape with the updated index from the data partition of the first tape.

2. The device of claim 1 , wherein the file system is Linear Tape File System (LTFS) and wherein the first tape is formatted according to LTFS specification.

3. The device of claim 1 , wherein the predetermined amount of data comprises one or more files.

4. The device of claim 1 , wherein the instructions are further translatable by the processor to perform, if the first synchronization operation is not successful:

updating the index in the memory to reflect the second location; and

forcing a second synchronization operation to occur after a predetermined amount of time has passed, after a predetermined condition has been met, or after the predetermined amount of data is written to the second location.

5. The device of claim 4 , wherein the second location is on the first tape.

6. The device of claim 4 , wherein the second location is on a second tape in the tape library.

7. The device of claim 4 , wherein the instructions are further translatable by the processor to perform:

if the second synchronization operation is not successful, repeating the writing, the updating, and the forcing until a synchronization operation is successful.

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

at a device having a memory and connected to a tape library over a network connection, reading an index from an index partition of a first tape in the tape library into the memory;

the device updating the index in the memory whenever a change is made to a file system mounted on the first tape:

the device causing a first synchronization operation to occur 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 a first location on the first tape in the tape library through the file system mounted on the first tape, the first synchronization operation comprising writing an updated index from the memory of the device into a data partition of the first tape wherein the updated index from the memory is not written into the data partition of the first tape if the first synchronization operation is not successful or if the first synchronization operation is not performed;

writing to a second location any data that has not been successfully written to the first location on the first tape; and

if the updated index from the memory is successfully written into the data partition of the first tape but not the index partition of the first tape, causing a recovery operation to be performed automatically next time the first tape is mounted, the recovery operation comprising updating the index partition of the first tape with the updated index from the data partition of the first tape.

9. The method according to claim 8 , wherein the file system is Linear Tape File System (LTFS) and wherein the first tape is formatted according to LTFS specification.

10. The method according to claim 8 , wherein the predetermined amount of data comprises one or more files.

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

if the first synchronization operation is not successful:

updating the index in the memory to reflect the second location; and

forcing a second synchronization operation to occur after a predetermined amount of time has passed, after a predetermined condition has been met, or after the predetermined amount of data is written to the second location.

12. The method according to claim 11 , wherein the second location is on the first tape.

13. The method according to claim 11 , wherein the second location is on a second tape in the tape library.

14. The method according to claim 11 , further comprising:

if the second synchronization operation is not successful, repeating the writing, the updating, and the forcing until a synchronization operation is successful.

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

at a device having a memory and connected to a tape library over a network connection, reading an index from an index partition of a first tape in the tape library into the memory;

updating the index in the memory whenever a change is made to a file system mounted on the first tape;

causing a first synchronization operation to occur 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 a first location on the first tape in the tape library through the file system mounted on the first tape, the first synchronization operation comprising writing an updated index from the memory of the device into a data partition of the first tape, wherein the updated index from the memory is not written into the data partition of the first tape if the first synchronization operation is not successful or if the first synchronization operation is not performed;

writing to a second location any data that has not been successfully written to the first location on the first tape; and

if the updated index from the memory is successfully written into the data partition of the first tape but not the index partition of the first tape, causing a recovery operation to be performed automatically next time the first tape is mounted, the recovery operation comprising updating the index partition of the first tape with the updated index from the data partition of the first tape.

16. The computer program product of claim 15 , wherein the file system is Linear Tape File System (LTFS) and wherein the first tape is formatted according to LTFS specification.

17. The computer program product of claim 15 , wherein the instructions are further translatable by the processor to perform, if the first synchronization operation is not successful:

updating the index in the memory to reflect the second location; and

forcing a second synchronization operation to occur after a predetermined amount of time has passed, after a predetermined condition has been met, or after the predetermined amount of data is written to the second location.

18. The computer program product of claim 17 , wherein the second location is on the first tape.

19. The computer program product of claim 17 , wherein the second location is on a second tape in the tape library.

20. The computer program product of claim 17 , wherein the instructions are further translatable by the processor to perform:

if the second synchronization operation is not successful, repeating the writing, the updating, and the forcing until a synchronization operation is successful.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2014
From: FORTRESS CREDIT CO LLC
To: CF DB EZ LLC
Reel/Frame 033706/0340 →
SECURITY AGREEMENT Recorded Aug 1, 2013
From: CROSSROADS SYSTEMS, INC.
To: FORTRESS CREDIT CO LLC
Reel/Frame 030935/0910 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2013
From: CROSSROADS SYSTEMS, INC.
To: KIP CR P1 LP
Reel/Frame 030935/0916 →
SECURITY AGREEMENT Recorded Aug 1, 2013
From: KIP CR P1 LP
To: FORTRESS CREDIT CO LLC
Reel/Frame 030935/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2012
From: KLEIN, ANDREW GLEN; SIMS, ROBERT C.; MOODY, WILLIAM H. II
To: CROSSROADS SYSTEMS, INC.
Reel/Frame 028503/0499 →