US7007193B1ExpiredUtility

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

Assignee: STORAGE TECHNOLOGY CORPPriority: Jan 7, 2000Filed: Jan 7, 2000Granted: Feb 28, 2006
Est. expiryJan 7, 2020(expired)· nominal 20-yr term from priority
Inventors:Stephen Fuld
G06F 2211/108G06F 2211/1061G06F 11/1088G06F 2211/1054
61
PatentIndex Score
11
Cited by
19
References
6
Claims

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

exact text as granted — not AI-modified
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.

Join the waitlist — get patent alerts

Track US7007193B1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.