IP Library Granted Patent US 7,007,193
Granted Patent B1
US 7,007,193 · App. 09/479,146 · Granted Feb 28, 2006

Method and system for reconstructing data serially arranged on a magnetic tape track

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 7,007,193
App. No.
09/479,146
Granted
Feb 28, 2006
Kind
B1
Abstract

A RAID or RAIT type data storage array such as a single tape RAIT includes storage elements storing data blocks and a parity block based on the data blocks. The array reads the data blocks sequentially from respective storage devices. The array determines if any of the data blocks are bad as the data blocks are being read. The array accumulates the parity of good data blocks as the data blocks are being read. A bad data block is reconstructed from the accumulated parity of the good data blocks and the parity block.

Claims (25)

1. In a magnetic tape having data blocks and a parity block in which the data blocks and the parity block are serially arranged on a track of the magnetic tape with the parity block following the data blocks and the parity block being based on the data blocks, a method for providing the data blocks from the track of the magnetic tape to a host, the method comprising:

reading the data blocks sequentially from the track of the magnetic tape;

determining if the data block currently being read is good or bad based on the reading of the data block currently being read;

providing the data block currently being read to the host if the currently being read data block does not follow a bad data block;

if one of the data blocks is bad, storing the good data blocks following the bad data block in sequential order;

accumulating parity of the good data blocks as the data blocks are being read;

reading the parity block from the track of the magnetic tape after all of the data blocks have been read;

if one of the data blocks is bad, reconstructing the bad data block from the accumulated parity of the data blocks and the parity block in order to form a reconstructed good data block;

providing the reconstructed good data block to the host; and

providing the stored good data blocks to the host in sequential order after the reconstructed good data block has been provided to the host.

2. The method of claim 1 wherein:

accumulating parity of the good data blocks includes exclusive ORing the parity of the good data blocks read prior to the good data block currently being read with the good data block currently being read.

3. The method of claim 2 wherein:

reconstructing the bad data block includes exclusive ORing the parity of the good data blocks with the parity block.

4. A data storage array system for providing data blocks to a host, the system comprising:

magnetic tape having data blocks and a parity block in which the data blocks and the parity block are serially arranged on a track of the magnetic tape with the parity block following the data blocks and the parity block being based on the data blocks;

a controller for reading the data blocks sequentially from the track of the magnetic tape and for reading the parity block from the track of the magnetic tape, wherein the controller determines if the data block currently being read is good or bad based on the reading of the data block currently being read, the controller providing the data block currently being read to the host if the currently being read data block does not follow a bad data block, the controller reading the parity block from the track of the magnetic tape after all of the data blocks have been read;

a buffer, wherein if one of the data blocks is bad, the buffer stores the good data blocks following the bad data block in sequential order; and

a parity accumulator for accumulating parity of the good data blocks as the controller reads the data blocks;

wherein if one of the data blocks is bad, the controller reconstructs the bad data block from the accumulated parity of the good data blocks and the parity block in order to form a reconstructed good data block;

wherein the controller provides the reconstructed good data block to the host and then provides the good data blocks stored in the buffer to the host in sequential order after the reconstructed good data block has been provided to the host.

5. The system of claim 4 wherein:

the parity accumulator accumulates parity of the good data blocks by exclusive ORing the parity of the good data blocks read prior to the good data block currently being read with the good data block currently being read.

6. The system of claim 5 wherein:

the controller reconstructs the bad data block by exclusive ORing the parity of the good data blocks with the parity block.

Assignments (3)
MERGER Recorded Feb 4, 2016
From: STORAGE TECHNOLOGY CORPORATION
To: SUN MICROSYSTEMS, INC.
Reel/Frame 037692/0820 →
MERGER AND CHANGE OF NAME Recorded Feb 4, 2016
From: SUN MICROSYSTEMS, INC.; ORACLE USA, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037694/0966 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2000
From: FULD, STEPHEN
To: STORAGE TECHNOLOGY CORPORATION
Reel/Frame 010489/0615 →