Patentable/Patents/US-6958873
US-6958873

Data rewrite control in data transfer and storage apparatus

PublishedOctober 25, 2005
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Apparatus for transferring data from a host computing system to one or more magnetic tape storage devices or the like, the apparatus comprising input apparatus for receiving data and converting it into codeword pairs in a format suitable for storage on the tape, a write head for writing the codeword pairs in codeword quad (CQ) sets of 2×8 codeword pairs to the tape, a read head for reading back data written to the tape and transferring the read data to an error checking block which is arranged to generate a negative output if a codeword pair includes an error and/or more than a predetermined number of errors, and control apparatus for causing the write head to rewrite a CQ set to the tape in response to a negative output from the error checking block, the control apparatus being configured or configurable to rewrite a CQ set to the tape until all of the codeword pairs (or CQ's) in that CQ set are written without error (or less than a predetermined number of errors) during the same rewrite, thereby maximizing the quality of the stored data and minimizing the probability that data will not be recoverable from the tape when required. In a preferred embodiment, the apparatus includes a control register having a number of bits which, if set to 1, cause CQ sets to be rewritten if any of its CQ's are bad, irrespective of the number of previous rewrites.

Patent Claims
24 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. Apparatus for transferring data from a host computing system to one or more magnetic tape storage devices or the like, the apparatus comprising: an input apparatus for receiving data, dividing it into blocks, and converting said blocks of data to a format suitable for storage on said one or more storage devices; one or more data writers for writing said blocks of data in sets of a plurality of blocks to said one or more storage devices, data being adapted to be written to the one or more storage devices in codeword quad (CQ) sets comprising an array of ECC encoded codeword pairs; one or more data readers for reading back data written to said one or more storage devices and transferring said read data to error checking apparatus, said error checking apparatus being arranged to generate a negative output only if a block of data includes an error and/or more than a predetermined number of errors; a control apparatus for causing said one or more data writers to rewrite a set of blocks of data to said one or more storage devices in response to a negative output from said error checking apparatus, until all of the blocks of data in that set are written without error (or with fewer than a predetermined number of errors) during the same rewrite; and a history store for storing information relating to at least some of the CQ sets written to the one or more storage devices, together with information corresponding to the output of the error checking apparatus for each codeword pair of the set.

2

2. Apparatus according to claim 1 , wherein each CQ set is identified in the history store by a plurality of bits of data, including at least two row quality bits per codeword pair.

3

3. Apparatus according to claim 2 , wherein the row quality bits for each codeword pair are both set to 0 when a CQ set is first written to the one or more storage devices.

4

4. Apparatus according to claim 3 , including a detection apparatus for determining whether the header of a read codeword pair is correct and, if so, whether each codeword is good or bad, depending on the number of errors they contain, the apparatus further comprising apparatus for setting the row quality bits to indicate the result of such error checking.

5

5. Apparatus according to claim 4 , wherein the row quality bits are set to 00 if the header of the codeword pair is corrupted (so that the codeword pair cannot be identified), 01 if the header is correct but both codewords are bad, 10 if the header is correct but only one of the codewords is good, and 11 if the header is correct and both codewords are good.

6

6. Apparatus according to claim 1 , comprising a plurality of tracks by means of which a number of blocks of data are simultaneously written across said one or more storage devices.

7

7. Apparatus according to claim 6 , wherein said error checking apparatus comprises a number of parallel read heads for simultaneously reading back a number of blocks of data written to said one or more storage devices.

8

8. Apparatus according to claim 6 , comprising eight parallel tracks.

9

9. Apparatus according to claim 7 , comprising eight parallel read heads.

10

10. Apparatus according to claim 1 , wherein said at least one data reader is positioned such that it follows said at least one data writer and is arranged to read back data just written to said one or more storage devices, whilst data is still being written to said one or more storage devices.

11

11. Apparatus for transferring data from a host computing system to one or more tape storage devices or the like, the apparatus comprising: an input apparatus for receiving data, dividing it into blocks, and converting said blocks of data to a format suitable for storage on said one or more storage devices; one or more data writers for writing said blocks of data in sets of a plurality of blocks to said one or more storage devices; one or more data readers for reading back data written to said one or more storage devices and transferring said read data to error checking apparatus, said error checking apparatus being arranged to generate a negative output only if a block of data includes an error and/or more than a predetermined number of errors; a control apparatus for causing said one or more data writers to rewrite a set of blocks of data to said one or more storage devices in response to a negative output from said error checking apparatus, until all of the blocks of data in that set are written without error (or with fewer than a predetermined number of errors) during the same rewrite; and a control register having 1 or more bits which can be set by a user to cause a set of blocks of data or CQ set to always be rewritten unless all of its blocks of data or codewords are good, regardless of previous rewrites.

12

12. Apparatus according to claim 11 , wherein the control register includes 4 bits.

13

13. A method of transferring data from a host computing system to one or more tape storage devices or the like, the method comprising the steps of: receiving data and dividing it into blocks; converting said blocks of data to a format suitable for storage on said one or more storage devices; writing said blocks of data in sets of a plurality of blocks to said one or more storage devices; reading back data written to said one or more storage devices and transferring said read data to error checking apparatus, said error checking apparatus being arranged to generate a negative output if a block of data includes an error and/or more than a predetermined number of errors; rewriting a set of blocks of data to said one or more devices in response to a negative output from said error checking apparatus until all of the blocks of data in that set are written without error during the same rewrite; writing the data to the tape in codeword quad (or CQ) sets comprising an array of ECC encoded codeword pairs; and storing in a history store information relating to at least some of the CQ sets written to the one or more storage devices together with information corresponding to the output of the error checking apparatus for each codeword pair of the set.

14

14. A method according to claim 13 , further comprising the step of identifying each CQ set in the history store by a plurality of bits of data, comprising at least two 1 valid bit, 32 row quality bits per codeword pair.

15

15. A method according to claim 14 , further comprising the step of setting both of the row quality bits for each codeword pair to 0 when a CQ set is first written to the one or more storage devices.

16

16. A method according to claim 15 , further comprising the steps of determining whether the header of a read codeword pair is correct and, if so, whether each codeword is good or bad, depending on the number of errors they contain, and setting the row quality bits to indicate the result of such error checking.

17

17. A method according to claim 16 , wherein the row quality bits are set to 00 if the header of the codeword pair is corrupted (so that the codeword pair cannot be identified), 01 if the header is correct but both codewords are bad, 10 if the header is correct but only one of the codewords is good, and 11 if the header is correct and both codewords are good.

18

18. A method according to claim 13 , wherein said error checking apparatus is arranged to generate a negative output if a block of data includes more than a predetermined number of errors.

19

19. A method of transferring data from a host computing system to one or more tape storage devices or the like, the method comprising the steps of: receiving data and dividing it into blocks; converting said blocks of data to a format suitable for storage on said one or more storage devices, writing said blocks of data in sets of a plurality of blocks to said one or more storage devices; reading back data written to said one or more storage devices and transferring said read data to error checking apparatus, said error checking apparatus being arranged to generate a negative output if a block of data includes an error and/or more than a predetermined number of errors; rewriting a set of blocks of data to said one or more devices in response to a negative output from said error checking apparatus until all of the blocks of data in that set are written without error (or with fewer than a predetermined number of errors) during the same rewrite; and providing a control register including 1 or more bits which can be set by a user to cause a set of blocks of data or CQ set to always be rewritten unless all of its blocks of data or codewords are good, regardless of previous rewrites.

20

20. A method according to claim 19 , wherein the control register includes 4 bits.

21

21. A method of supplying data to one or more tape storage devices or the like, the method comprising the steps of: dividing the data into blocks; converting said blocks of data to a format suitable for storage on said one or more storage devices; writing said blocks of data in sets of a plurality of blocks to said one or more storage devices; reading back data written to said one or more storage devices and error checking said read data by generating a first output if a block of data includes an error; rewriting a set of blocks of data to said one or more devices in response to the first output from said error checking step until all of the blocks of data in that set are written without error during the same rewrite; writing the data to the tape in codeword quad (or CQ) sets comprising an array of EGG encoded codeword pairs; and storing information relating to at least some of the CQ sets written to the one or more storage devices together with information corresponding to the output of the error checking apparatus for each codeword pair of the set.

22

22. Apparatus for performing the method of claim 21 .

23

23. A method of supplying data to one or more tape storage devices or the like, the method comprising the steps of: dividing the data into blocks; converting said blocks of data to a format suitable for storage on said one or more storage devices; writing said blocks of data in sets of a plurality of blocks to said one or more storage devices; reading back data written to said one or more storage devices and error checking said read data by generating a first output if a block of data includes more than a predetermined number of errors; rewriting a set of blocks of data to said one or more devices in response to the first output from said error checking step until all of the blocks of data in that set are written with fewer than a predetermined number of errors during the same rewrite; writing the data to the tape in codeword quad (or CQ) sets comprising an array of ECC encoded codeword pairs; and storing information relating to at least some of the CQ sets written to the one or more storage devices together with information corresponding to the output of the error checking apparatus for each codeword pair of the set.

24

24. Apparatus for performing the method of claim 23 .

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

July 31, 2001

Publication Date

October 25, 2005

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Data rewrite control in data transfer and storage apparatus” (US-6958873). https://patentable.app/patents/US-6958873

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.