Scratch protection in tape data storage system
First Claim
1. A method of applying data including redundancy coding to a tape, comprising the steps of:
- forming plural track blocks in a data frame by arranging a byte stream of data into a data set, each track block comprising plural complete first codeword pairs;
applying redundancy coding to said data set to obtain a corresponding data frame;
distributing said redundancy coding of said data frame over said plural track blocks within the data frame;
distributing said data frame across a plurality of physical tracks on said tape;
arranging said data frame so it comprises plural first codewords arranged in a first dimension on the tape and plural second codewords arranged in a second dimension on the tape;
writing each track block along a single corresponding physical track on the tape; and
distributing bytes of each of second codewords of said data frame over said plural track blocks such that said distributed bytes of the second codewords extend over said plural physical tracks.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of redundancy coding of user data received from a host apparatus and storage of said coded data on a magnetic tape data storage medium comprises inputting a byte stream of user data into a buffer and assembling a plurality of data sets in the buffer; for each data set assembling a data set into a two-dimensional data array and (1103) applying a second redundancy coding algorithm (C2 parity) to the two-dimensional data set in a second dimension; applying (1105) a first redundancy coding (C1 parity) algorithm to the second redundancy coded data array in a first dimension to form a two-dimensional data frame having second and first redundancy coding in respective second and first dimensions, the two-dimensional data frame comprising a plurality of rows, each row comprising a first codeword and a plurality of columns, each column comprising a second codeword; partitioning the two-dimensional data frame into a plurality of logical track blocks (1106) each comprising a plurality of first codewords; and recording (1110) each logical track block to a corresponding respective physical track on the magnetic tape data storage medium. Redundancy coding of a data frame is distributed across a plurality of other data frames along the tape, and redundancy bytes of each data frame are distributed across a plurality of data tracks. Redundancy coding may be distributed diagonally across a width of the tape. Data obliterated due to damage to individual physical recorded tracks or sections of tracks on the tape may be recovered from redundant coding data distributed across other adjacent parallel physical tracks on the tape.
74 Citations
14 Claims
-
1. A method of applying data including redundancy coding to a tape, comprising the steps of:
-
forming plural track blocks in a data frame by arranging a byte stream of data into a data set, each track block comprising plural complete first codeword pairs;
applying redundancy coding to said data set to obtain a corresponding data frame;
distributing said redundancy coding of said data frame over said plural track blocks within the data frame;
distributing said data frame across a plurality of physical tracks on said tape;
arranging said data frame so it comprises plural first codewords arranged in a first dimension on the tape and plural second codewords arranged in a second dimension on the tape;
writing each track block along a single corresponding physical track on the tape; and
distributing bytes of each of second codewords of said data frame over said plural track blocks such that said distributed bytes of the second codewords extend over said plural physical tracks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
arranging said data set into a two-dimensional array;
applying a first coding algorithm to said data set in a first dimension to obtain a plurality of said first codewords; and
applying a second coding algorithm to said data set in a second dimension to obtain a plurality of said second codewords.
-
-
3. The method of claim 2 wherein said step of distributing said redundancy coding comprises:
-
partitioning said data frame into a plurality of track blocks, each track block comprising a plurality of said first codewords arranged as rows of said data frames so that during a read operation said first codewords are read sequentially as rows of said data frames; and
for each second codeword of said data frame, distributing bytes of said second codeword across a plurality of said track blocks of said data frame.
-
-
4. The method of claim 1 wherein said step of distributing said redundancy coding comprises:
-
partitioning said data frame into a plurality of track blocks, each track block comprising a plurality of said first codewords arranged as rows of said data frames so that during a read operation said first codewords are read sequentially as rows of said data frames; and
for each second codeword of said data frame, distributing bytes of said second codeword across a plurality of said track blocks of said data frame.
-
-
5. The method of claim 4 wherein said track blocks are formed so that for said data set, said redundancy coding comprises plural first codewords and second codewords;
and said redundancy coding distributing step comprises diagonally arranging bytes of said second codewords across a length of said tape.
-
6. The method of claim 5, further including distributing bytes of said second codeword substantially uniformly over an area of said tape occupied by said recorded data frame.
-
7. The method of claim 1 wherein said track blocks are formed so that for said data set, said redundancy coding distributing comprises plural first codewords and second codewords;
and said redundancy coding comprises diagonally arranging bytes of said second codewords across a length of said tape.
-
8. The method of claim 7, further including distributing, bytes of said second codeword substantially uniformly over an area of said tape occupied by said recorded data frame.
-
9. An encoding apparatus for encoding a byte stream of data, said encoding apparatus comprising:
-
a data processor for arranging said byte stream into a two-dimensional data array;
an encoder arrangement for encoding said two-dimensional data array with (a) a first redundancy coding in a first of said dimensions and (b) a second redundancy coding in a second of said dimensions;
said encoder arrangement being arranged for;
(a) forming a plurality of track blocks having the first and second redundancy coding distributed over said plurality of track blocks within said two-dimensional data array, each of said track blocks comprising a plurality of first codeword pairs, (b) writing each track block along a single corresponding physical track of the tape, and (c) distributing bytes of each of second codewords of said data array over said plurality of track blocks to cause the distributed bytes of said second codewords to extend over said plurality of physical track blocks on the tape.- View Dependent Claims (10)
-
-
11. A method of storing redundancy coded data in a data storage medium method comprising the steps:
-
forming a plurality of track blocks in a data frame by arranging a byte stream of data into a data set;
applying redundancy coding to said data set to obtain a corresponding redundancy coded data frame having a plurality of first codeword pairs extending along a first dimension of said data frame and a plurality of second codewords extending in a second dimension of said data frame;
applying said track blocks to physical tracks on said data storage medium such that successive bytes of each said second codeword are recorded across said plurality of track blocks of said data frame so (a) there is one byte of said second codeword per track block, and (b) the bytes are distributed across all track blocks of said data frame and distributed lengthwise and widthwise across the plurality of physical tracks of the tape.
-
-
12. A tape storing plural track blocks in a data frame resulting from a byte stream of data being arranged into a data set, each track block comprising plural complete first codeword pairs, and redundancy coding of the data set;
-
the redundancy coding of said data frame being distributed over said track blocks within the data frame;
the tape comprising plural elongated side-by-side physical tracks over which said data frame is distributed, the tracks being parallel to each other and to elongated edges of the tape;
said data frame being distributed on the tape so it includes plural first codewords arranged in a first dimension in the tracks and plural second codewords arranged in a second dimension;
each track block comprising plural complete first codeword pairs;
each track block being located in a single track on the tape; and
bytes of each second codeword of said data frame being distributed over said plural track blocks such that said bytes of the second codewords extend over said plural side-by-side tracks. - View Dependent Claims (13, 14)
-
Specification