EP1125294A2 - Mehrstufige fehlererkennungs- und korrekturtechnik für datenspeicher-aufzeichnungsvorrichtung - Google Patents

Mehrstufige fehlererkennungs- und korrekturtechnik für datenspeicher-aufzeichnungsvorrichtung

Info

Publication number
EP1125294A2
EP1125294A2 EP99955084A EP99955084A EP1125294A2 EP 1125294 A2 EP1125294 A2 EP 1125294A2 EP 99955084 A EP99955084 A EP 99955084A EP 99955084 A EP99955084 A EP 99955084A EP 1125294 A2 EP1125294 A2 EP 1125294A2
Authority
EP
European Patent Office
Prior art keywords
packet
buffer
packets
ecc
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP99955084A
Other languages
English (en)
French (fr)
Other versions
EP1125294B1 (de
Inventor
Richard H. Mcauliffe
Thomas E. Zaczek
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Exabyte Corp
Original Assignee
Ecrix Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ecrix Corp filed Critical Ecrix Corp
Publication of EP1125294A2 publication Critical patent/EP1125294A2/de
Application granted granted Critical
Publication of EP1125294B1 publication Critical patent/EP1125294B1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • H03M13/2915Product codes with an error detection code in one dimension
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2918Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes with error correction codes in three or more dimensions, e.g. 3-dimensional product code where the bits are arranged in a cube
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2921Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes wherein error correction coding involves a diagonal direction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1843Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a cyclic redundancy check [CRC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1853Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a product code which has inner and outer parity symbols
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Definitions

  • the present invention pertains generally to data integrity in data recording/recovery devices, and more particularly to a multi-level error detection and correction technique.
  • the present invention is related to co-pending U.S. patent application entitled “Variable Speed Recording Method and Apparatus for a Magnetic Tape Drive”, invented by Beavers et al., and having an internal docket number of 9086/101 and a serial number of 09/176,079, filed concurrently herewith on October 20, 1998, and co-pending U.S. patent application entitled “Fine Granularity Rewrite Method and Apparatus for Data Storage Device", invented by Zaczek, and having an internal docket number of 9086/106 and a serial number of 09/176,015, filed concurrently herewith on October 20, 1998, and co-pending U.S.
  • CRC cyclical redundancy code
  • ECC Error correction code
  • Storage device manufacturers conventionally employ CRC and ECC techniques, at least to some degree, in the design of the data format and associated read/write logic to ensure data integrity.
  • CRC and ECC techniques typically employ CRC and ECC techniques, at least to some degree, in the design of the data format and associated read/write logic to ensure data integrity.
  • the present invention is a novel method and apparatus for providing multi-level error correction for data stored on a storage medium.
  • error correction is performed on data packets recovered from the storage medium at both the packet level and at the segment level.
  • Segment level error correction is performed over multiple instances of multiple patterns of buffer packets located in the buffer to correct (i.e., generate) missing packets not yet read from the storage medium.
  • FIG. 1 is a system diagram of a data recording/recovery device in which the invention operates.
  • FIG. 2 is a diagram illustrating one embodiment of the contents and organization of a segment of a multi-segment data buffer implemented in accordance with the invention
  • FIG. 3(a) is a diagram of a data packet completely filled with user data
  • FIG. 3(b) is a diagram of a data packet filled partially with user data and padded with fill data
  • FIGS. 4(a) - 4(d) illustrate one embodiment of key overhead packet
  • FIG. 5 is a diagram illustrating one embodiment of the contents and organization of a packet status table corresponding to the segment of FIG. 2;
  • FIG. 6 is a flowchart illustrating one embodiment of a method for performing error correction during a recovery session in accordance with the invention.
  • FIG. 1 is an illustrative embodiment of a data storage system in which the present invention operates.
  • user data 3 is typically transferred to and from a recording/recovery device 4 by a host system 2 in variable length logical block sets 3.
  • Each logical block set (LBS) 3 is a collection of user data bytes that contain a variable number of logical blocks (LBO, LB1 , ..., LBN).
  • Each logical block (LB) is defined within its LBS by a unique logical block address (LBA).
  • LBS data 3 is partitioned into a number of fixed-sized data packets 30 by a data buffer manager 6 and placed within a buffer packet 15 in a data buffer 10 until being transferred to the storage medium 50.
  • write logic manager 18 determines the local packet address (LPA) of the buffer packet 15 and then causes packet CRC generator 20 to generate a packet cyclical redundancy code (CRC) over the track packet and LPA.
  • LPA packet address
  • CRC packet cyclical redundancy code
  • Write logic manager 18 then causes packet ECC generator 22 to generate a packet ECC over the packet, LPA, and packet CRC.
  • Write logic manager 18 formats the packet, LPA, packet CRC, packet ECC, and framing information into a track packet 7.
  • the LPA comprises the address of the location of the packet in the segment 11. If the packet is a control packet 36, the LPA contains information pertaining to the type of control packet that it is.
  • a track formatter 24 receives formatted track packets 7 from write logic manager 18, and formats them into tracks.
  • a modulator/encoder 26 encodes and modulates the formatted track using, for example, a (1 ,6) Run Length Limited (RLL) channel modulation code into a 14-bit codeword.
  • RLL Run Length Limited
  • a track synchronization signal is added to the start of each track by track synchronization signal generator 28, and the track is then sent to a write channel 30 to be recorded onto storage medium 50.
  • Track packets 7 are recorded onto a storage medium 50 in tracks 9. Multiple track packets 7 exist on each track 9.
  • each track packet 7 is a fixed size and includes framing information 72, a local packet address field 74, a packet field 76, a packet CRC field 78, and a packet ECC field 80.
  • a packet frame synchronizer 34 uses the framing information 72 to detect the leading edge of a track packet 7.
  • Framing information 72 is a unique signal that is sent between track packets 7 in the channel domain to provide synchronization for track packet detection. This signal does not obey the run-length restriction of the channel modulation code and does not have a byte symbol associated with it, meaning that it is not decoded to a byte symbol by demodulator/decoder 36.
  • the packet framing signal is 16 bit cells long and is a 4, 8, 4 pattern.
  • a demodulator/decoder 36 demodulates and decodes the packet 7.
  • a read logic manager uses the local packet address field 74 to first determine whether the track packet 7 contains a control packet. The handling of control packets is performed by control packet processor 42 (discussed hereinafter). If the track packet 17 does not contain a control packet, it contains either a data packet 30, an overhead packet 32, or a segment ECC packet 34. Read logic manager 38 uses the local packet address 74 along with the current global segment address (discussed hereinafter with respect to control packets) to determine the correct location of the track packet in the buffer 10. Read logic manager 38, in conjunction with packet CRC generator/error detector 20, uses the packet CRC field 78 to detect whether track packet 7 contains any errors.
  • read logic manager 38 in conjunction with packet ECC generator/error corrector 22, uses the packet ECC field 80 to detect and correct track packet 7 errors. If the track packet 7 is good or has been corrected, read logic manager 38 extracts the contents of packet field 76 and send it to it proper location in the buffer 10.
  • Control packets 36 are generated during a recording session by a control packet processor 42, and contain information relating to the position of the media (such as beginning- or end-of-media), the beginning and or ending of files or data (e.g., filemarks, tapemarks, end-of-data marks), global address information (e.g., the global segment address of data surrounding the control packet), and system information (such as device control code).
  • control packets 36 are processed by control packet processor 42 to determine the position of the storage media and where to place recovered data packets, buffer overhead packets, and segment ECC packets in the data buffer.
  • Control packet process 42 extracts the global segment address from these control packets and maintains a current global segment address.
  • the global segment address (GSA) addresses each segment 11 boundary in the data buffer 10 which corresponds to a physical segment on tape.
  • the data buffer 10 comprises six buffer segments 11.
  • the GSA is a 24-bit number that spans an address range of 2 24 segments 11 , which covers the entire span of the storage media.
  • the lower 5 bits of the current GSA are shared by the upper 5 bits of the local packet address (LPA) field 74 of a track packet.
  • the upper two bits of the LPA allow for a four-segment aliasing.
  • FIG. 2 illustrates one embodiment of the contents and organization of a segment 11 of a multi-segment data buffer 10 implemented in accordance with the invention.
  • segment 11 comprises a set of fixed- size buffer packets 15, each belonging to either a data/overhead area 104 or a segment ECC area 106.
  • the data/overhead area 104 comprises 114 packets 15 of 64 bytes each, and arranged in a 32- by-32 array. Packets 15 in the data/overhead area 104 contain either data packets 30 or overhead packets 32.
  • Overhead packets 32 are used to locate the positions of where the LBS's 3 start and end in the segment 11.
  • a packet 15 residing in the data/overhead area 104 of segment 1 contains either a data packet 30 or a overhead packet 32.
  • Each data packet 30 is either completely filled with LBS data, as illustrated in FIG. 3(a) or contains LBS data followed by "fill" data, as illustrated in FIG. 3(b).
  • the last data packet 30 of a given LBS 3 is padded out with don't-care "fill" data. Every LBS 3 begins at the beginning of a data packet 30 boundary, and each data packet 30 contains no more than one LBS.
  • Data/overhead area 104 of segment 11 also contains at least one overhead packet 32.
  • Overhead packets 32 contain overhead information about the LBS's 3 that are stored in the segment 11. This information includes the location of all junctions between LBS's 3 residing in the segment 11 , the logical block address (LBA) of the first LBS 3 to start in the segment 11 , the size and number of logical blocks (LB's) within each LBS 3 that starts in the segment 11 , the tape partition, volume initialization count, compression mode indicator, segment flush indicator, and the segment CRC.
  • LBA logical block address
  • LB's logical blocks
  • the number of overhead packets 32 in a given segment 11 is variable and depends on the number of LBS's that reside in the same segment.
  • the variable overhead scheme optimizes the segment overhead space used.
  • Each segment 11 contains at least one overhead packet 32, called the key overhead packet 32.
  • the key overhead packet 32 always occupies the last packet location of the segment (in the illustrative embodiment, row 31 , column 31 ). If there are less than seven LBS junctions within the segment 1 1 , the key overhead packet 32 is the only overhead packet 32 in the segment 11 and the LBS data can occupy up to the next to last packet location (row 31 , column 30).
  • an additional overhead packet 32 is present in the segment 11.
  • the overhead packets 32 grow backwards in row 31 until the entire last row of the segment 11 is occupied with overhead packets 32. Accordingly, in the illustrative embodiment, the maximum number of LBS junctions that can exist in one segment 11 is 147.
  • FIG. 4(a) illustrates one embodiment of key overhead packet 32.
  • key overhead packet 32 occupies 64 bytes, comprising nine separate fields. These fields include a main key field 202, the segment CRC field 204, a first LBS attributes field 206, and six LBS boundary fields 208a-208f. Each field 202, 204, 206, and 208a-208f include an 8-bit CRC associated with them for error detection across their field.
  • the segment CRC 204 and main key field 202 and first LBS attributes field 206 are always valid.
  • the information in the main key field 202 determines which of the other overhead fields in the key overhead packet 32 are valid.
  • FIG. 4(b) illustrates one embodiment of the main key field 202 in key overhead packet 32.
  • Main key field 202 occupies four bytes including one unused byte 210, a segment key 212, the location of the last LBS boundary 214, and the main key field CRC 216.
  • the segment key 212 include bits SKIP, SYS DATA, LBS ENDED, LBS STARTED and FLUSH, which are used for conveying key information about the LBS's that are stored in the segment 11.
  • the last used overhead packet 32 is adjacent to the last data packet 30 in the segment 11 , except for when the segment 11 is flushed or when a single unused packet 15 is skipped.
  • SKIP bit is set to indicate the latter case.
  • SYS DATA is set to indicate that the LBS data in this segment 11 is not user logical block data but rather system data.
  • System data may include data created by the drive used to store control information such as locations of filemarks, directory structure, and logical format information as controlled by software.
  • LBS ENDED bit is set only when at least one LBS 3 has an endpoint residing in this segment 11.
  • LBS STARTED bit is set only when at least one LBS 3 has a starting point in this segment 11.
  • FLUSH bit is set to indicate that the segment 11 has been flushed, as described hereinafter.
  • the main key field 202 also includes a last LBS boundary field location 214. This is an 8-bit value which locates the last LBS boundary field location within the overhead area of the segment 11. Five bits are used to indicate which column of row 31 the overhead packet 32 that contains this field is located. The remaining three bits are intra- packet (IPK) bits used to specify one of eight starting addresses within the 64-byte data packet where the last LBS boundary field begins.
  • the main key field 202 includes an 8-bit CRC field 216 which is used to store the CRC calculated across the main key field 202.
  • the CRC polynomial is: X[8] + X[7] + X[2] + X[0].
  • Key overhead packet 200 in FIG. 4(a) also includes a segment CRC field 204.
  • segment CRC 204 is a 4-byte CRC used for storing the segment post-correction error detection, and is discussed hereinafter.
  • Key overhead packet 200 also includes a first LBS attributes field 206.
  • a first LBS attributes field 206 includes a four-byte field 220 containing the logical block address (LBA) of the first LBS 3 to have a starting point in this segment 11 , a two-byte field 222 containing the tape initialization count, a single-byte field 224 containing the tape partition number, and an 8-bit CRC field 226 used for error detection over the entire first LBS attributes field 206.
  • the CRC polynomial in the illustrative embodiment is: X[8] + X[7] + X[2] + X[0].
  • Key overhead packet 32 may also include one and up to six LBS boundary fields 208a-308f.
  • FIG. 4(d) illustrates one embodiment of the format of an LBS boundary field 208, including a logical block size field 230, a number of logical blocks per LBS field 232, a logical block compression mode (LBSC) indicator 234, an LBS endpoint location 236, 238, 240, a skip indicator 242, a flush indicator 244, an endpoint valid indicator 246, and an LBS boundary field CRC 248.
  • Logical block size field 230 occupies 18 bits in the illustrative embodiment and specifies the size of the logical blocks (LB) 104 stored within the logical block set (LBS) 3.
  • the number of logical blocks per LBS field 232 occupies 13 bits and specifies how many LB's 104 are stored within the LBS 3.
  • the logical block compression mode (LBSC) indicator 234 is set only when the LBS 3 has been compressed by compression hardware 116.
  • the location of a valid LBS endpoint is determined using a 6-bit LBS endpoint byte field 236, a 5-bit LBS endpoint column field 238, and a 5-bit LBS endpoint row field 240, in combination with endpoint validity indicator VALID END 246. Only if the VALID END indicator 246 is set is the endpoint location valid.
  • An example of a valid LBS boundary field 208 having an invalid endpoint would be for an LBS 3 that started in this segment 11 but ended in the next segment.
  • LBS boundary field CRC 248 contains the CRC calculated over the entire 8-byte LBS boundary field 208, using the polynomial: X[8] + X[7] + X[2] + X[0].
  • LBS boundary fields 208a-308f are valid in a given overhead packet 32.
  • the main key field 202 in the overhead packet 32 points to the last valid LBS boundary field 208 within the overhead packet 32. Also, if an LBS 3 starts in a segment 11 but does not end in the same segment 11 , the last four bytes of the endpoint are not valid, but the first four bytes are valid.
  • the FIRST VALID bit in the segment key field 212 in the main key field 202 of the key overhead packet 32 indicates that the first LBS that starts in the segment starts in the very first location of the segment (e.g., address 0).
  • segment 11 comprises a set of packets 15 organized into a segment ECC area 106.
  • Segment ECC area 106 includes pairs P and Q of different redundancy code row ECC packets 152, 153, column ECC packets 154, 155, diagonal ECC packets 156, 157, and a set of "special" ECC packets 158.
  • the row, column, diagonal and special ECC packets in the segment ECC area 106 are used to provide four-level error correction protection over the entire segment 11.
  • the contents of the packets 152-158 in the segment ECC area 106 are generated, under the control of data buffer manager 6, from the data packets 30 and overhead packets 32 residing in the segment data area 104 and provide for correction of the data area packets 30 during a recovery session.
  • each buffer segment 11 utilizes a 32-bit (4-byte) CRC for error detection and a multiple-layer Reed-Solomon scheme for error correction.
  • a 32-bit CRC used for segment post-correction error detection is stored in the segment CRC field 204 of the segment key overhead packet 32.
  • All of the data packets 30 residing in the segment data overhead area 104 of a segment 11 are divided by a CRC generator polynomial implemented in the CRC generator 14 to produce the 4-byte CRC.
  • the last data packet 30 of the segment 11 (which may contain fill data if an LBS ends in it) is always used as a complete segment in this calculation. Overhead packets 32 and skipped packets 15 are not included in the CRC calculation.
  • the polynomial used to calculate the segment CRC 304 is: X[32] + X[26] + X[23] + X[22] + X[16] + X[12] + X[11 ] + X[10] + X[8] +
  • Multi-layer redundancy is provided by pairs P and Q of redundant codes generated over a plurality of patterns of packets 15 of a segment 11 of buffer 10.
  • the plurality of patterns include rows, columns, and diagonals. Other patterns may be used.
  • error correction is performed over all of the first redundant codes P for both row and column ECC codes, and all of the second redundant codes Q for both row and column ECC codes to generate special ECC codes 158.
  • Segment correction processor 8 includes a Reed-Solomon Syndrome generator and correction circuit that provides for a one- or two-packet correction in any row, column, or diagonal of the data/overhead area 104 of segment 11 by using erasure pointers.
  • An erasure pointer is a pointer to a location of a missing packet that is treated as if it has been erased such that the data is all zeros. Erasure pointers are set by the SCP 8. Erasure pointers result from missing or uncorrectable data/overhead/segment ECC packets 30, 32, 34. Additionally, row ECC packets 152, 153 and column ECC packets 154, 155 can be corrected by a fourth level of correction provided in "special" ECC packets 158. Accordingly, four levels of error correction at the segment level occur.
  • Row redundancy is provided by row ECC packets P 152 and Q 153 for each row (0 through 31) of data/overhead area 104 of buffer segment 11.
  • the entire 32-packet-by-32-packet data/overhead area 104 of the buffer segment 11 is used to generate row ECC redundancy.
  • Each of the 32 rows of packets 30 in the data/overhead area 104 is used to generate two unique redundant code row ECC packets P 152 and Q 153.
  • Segment ECC generator 16 creates a byte in each of the two row ECC packets P 152 and Q 153 from the associated bytes of all the same-row packets 30. For example, byte address zero of each row ECC packet P 152 and Q 153 for row 5 is generated from all the byte address zero locations of the data packets 30 in row 5.
  • column redundancy is provided by column ECC packets P 154 and Q 155 for each column (0 through 31) of data/overhead area 104 of buffer segment 11.
  • the entire 32-packet-by- 32-packet data/overhead area 104 of the buffer segment 11 is used to generate column ECC redundancy.
  • Each of the 32 columns of packets 30 in the data/overhead area 104 is used to generate two unique redundant codes in column ECC packets P 154 and Q 155.
  • Diagonal redundancy is provided by diagonal ECC packets P 156 and Q 156 for each diagonal (0 through 31 ) of data/overhead area 104 of buffer segment 11.
  • the diagonals are defined to each include 32 packets.
  • a given diagonal N starts at column 0 and row N, and the next element of the diagonal is found by incrementing both the current column number and current row number, modulo 32.
  • Table 1 illustrates the calculation of the diagonals for this embodiment.
  • ECC packets 158 are generated from the 64 column ECC packets. These four special ECC packets 158 are used to correct missing row ECC packets 152, 153 or column ECC packets 154, 155.
  • data buffer manager 6 updates a packet status table (PST) 12.
  • PST packet status table
  • Each segment 11 has a corresponding PST 12 which contains an entry corresponding to each buffer packet 15 in the segment 11.
  • Each PST entry indicates: (1) whether the packet has been received and is good; (2) whether the packet was corrected by packet correction; (3) whether the packet was corrected by segment correction; and (4) whether the packet was corrected using either row, column, or diagonal ECC.
  • each PST 12 contains a packet count containing the total number of good packets received for each instance of each pattern (i.e., each row, column, and diagonal). Each PST 12 also contains a total count which indicates the total number of good packets present in the segment 11. The counts are used by the SCP 8 to determine when correction can be applied to the segment. The SCP 8 manages all segment correction activities.
  • FIG. 5 is a diagram of a PST 12 corresponding to the segment 11 of FIG. 2.
  • Each cell 502 of PST 12 comprises a byte. Bits of each cell byte are used to indicate the presence of a good packet at that location, and the different possibilities of the way in which it was corrected.
  • Row, column, and diagonal good packet counts 504 are maintained for each row, column, and diagonal. Missing packet pointers 506 for each row, column, and diagonal are maintained for each row, column, and diagonal.
  • the segment correction processor SCP is turned on (when the GS advances into a subsequent segment) to reconstruct packets that are as-yet "missing" from the buffer as they become reconstructable.
  • the SCP 8 is able to reconstruct the missing packets. Because every packet lies in a row, column, and diagonal, the reconstruction of one or two missing packets along one of the three different patterns may fill out at least one of the other two patterns enough such that the missing packets located in that pattern can then be reconstructed. For example, if a row is missing only a single packet, error correction is performed on the entire row using the two unique redundancy code row ECC packets P 152 and Q 153 to reconstruct the missing packet. The reconstruction of the missing packet may fill out the diagonal that the reconstructed packet lies in enough that it is only missing a single other packet. Error correction is then performed on the reconstructed packet's diagonal to reconstruct the missing packet in the diagonal. This process continues until all of the packets in the segment are recovered or reconstructed.
  • FIG. 6 is a flowchart illustrating one embodiment of a method 600 for performing error correction during a recovery session as implemented in SCP.
  • SCP is triggered in step 602 to begin segment correction by the detection of either a control packet or data packet recovered from tape that results in the updating of the current GSA to a new GSA.
  • SCP scans the PST to determine whether the buffer segment contains any missing packets.
  • the SCP scans the total packet count of each PST entry corresponding to each row, each column, and each diagonal. If all rows, columns, and diagonals have a total packet count of 32, all of the data packets are present and the contents of the segment are ready to be released to the host. This condition is signaled in step 610.
  • step 606 the SCP scans each instance of every predefined buffer packet pattern to determine whether any one or two packets is correctable.
  • SCP scans the total packet count 504 of each PST entry corresponding to each row, each column, and each diagonal. If any row, column, or diagonal has a total packet count 504 that is less by one or two of a total row/coiumn/diagonal count, that particular row/column/diagonal instance is correctable to recover the missing packet(s) of that instance.
  • Step 606 is repeated until a correctable instance is detected. Once a correctable instance is detected, packet correction is performed in step 608.
  • packet correction is performed by Reed-Solomon error correction code.
  • the SCP 12 uses erasure correction for correcting either single-or two-packet errors.
  • Using a Reed-Solomon correction code with two redundant code words provides the ability to locate a single error and correct it, or to correct two errors if the locations are known. To correct two errors, the known locations must be erased or reset to zero so that they do not contribute an error term to the syndrome calculations. This is referred to as erasure correction.
  • erasure correction it is possible to correct only one location with erasure correction. Steps 604 - 608 are repeated until all of the data packets are present in the segment, at which time this condition is signaled in step 610 and method 600 is complete.
  • data integrity is preserved via multi-layer error correction - one layer at the packet level, and four layers at the segment level.
  • the number of error correction layers can be increased or decreased simply by varying the number of buffer packet patterns over which error correction is to be performed.
  • the actual buffer packet patterns used when performing error correction may be varied from design to design while still employing the power error correction technique of the invention.
  • one or more of the plurality of buffer packet patterns may be a zig-zag or alternating buffer packet pattern instead of, or in addition to, a row, column or diagonal pattern.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
EP99955084A 1998-10-20 1999-10-20 Mehrstufige fehlererkennungs- und korrekturtechnik für datenspeicher-aufzeichnungsvorrichtung Expired - Lifetime EP1125294B1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/176,014 US6367047B1 (en) 1998-10-20 1998-10-20 Multi-level error detection and correction technique for data storage recording device
US176014 1998-10-20
PCT/US1999/024550 WO2000023997A2 (en) 1998-10-20 1999-10-20 Multi-level error detection and correction technique for data storage recording device

Publications (2)

Publication Number Publication Date
EP1125294A2 true EP1125294A2 (de) 2001-08-22
EP1125294B1 EP1125294B1 (de) 2002-09-25

Family

ID=22642627

Family Applications (1)

Application Number Title Priority Date Filing Date
EP99955084A Expired - Lifetime EP1125294B1 (de) 1998-10-20 1999-10-20 Mehrstufige fehlererkennungs- und korrekturtechnik für datenspeicher-aufzeichnungsvorrichtung

Country Status (7)

Country Link
US (1) US6367047B1 (de)
EP (1) EP1125294B1 (de)
JP (1) JP2002528838A (de)
AT (1) ATE225073T1 (de)
AU (1) AU1126800A (de)
DE (1) DE69903188T2 (de)
WO (1) WO2000023997A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936418B2 (en) 2013-03-11 2021-03-02 Intel Corporation Reduced uncorrectable memory errors

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3735498B2 (ja) 1999-11-09 2006-01-18 株式会社東芝 情報記録媒体、情報記録装置、情報記録方法
US7356752B2 (en) * 2000-03-14 2008-04-08 Comtech Telecommunications Corp. Enhanced turbo product codes
CA2404984A1 (en) * 2000-04-04 2001-10-11 Comtech Telecommunications Corp. Enhanced turbo product code decoder system
US7107505B2 (en) 2001-03-27 2006-09-12 Comtech Aha Corporation Concatenated turbo product codes for high performance satellite and terrestrial communications
US8656246B2 (en) * 2001-04-16 2014-02-18 Qualcomm Incorporated Method and an apparatus for use of codes in multicast transmission
US6757848B2 (en) * 2001-06-19 2004-06-29 Hewlett-Packard Development Company, L.P. Recovery of user data from partially incorrect data set in tape data storage system
US6978414B2 (en) * 2001-07-17 2005-12-20 Hewlett-Packard Development Company, L.P. Method and apparatus for protecting against errors occurring in data storage device buffers
US6958873B2 (en) * 2001-07-31 2005-10-25 Hewlett-Packard Development Company, L.P. Data rewrite control in data transfer and storage apparatus
US7042667B2 (en) * 2001-07-31 2006-05-09 Hewlett-Packard Development Company, L.P. Data storage
US6883122B2 (en) * 2001-07-31 2005-04-19 Hewlett-Packard Development Company, L.P. Write pass error detection
US6931576B2 (en) * 2002-01-07 2005-08-16 Sun Microsystems, Inc. Data integrity device providing heightened error protection in a data processing system
US7046610B2 (en) * 2002-04-24 2006-05-16 Ricoh Company, Ltd. Recording medium suitable for recording/reproducing multi-level data
DE10345438B4 (de) * 2003-09-30 2005-09-15 Siemens Ag Verfahren und Vorrichtung zum Dekodieren von mittels paketorientierten Datenübertragungsnetzen übertragenen kodierten Datenpaketen und Verfahren und Vorrichtung zum Kodieren und Dekodieren von über paketorientierte Datenübertragungsnetze zu übertragende Datenpaketen
US7437651B2 (en) * 2004-06-29 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for controlling application of an error correction code (ECC) algorithm in a memory subsystem
DE102004036383B4 (de) * 2004-07-27 2006-06-14 Siemens Ag Codier-und Decodierverfahren , sowie Codier- und Decodiervorrichtungen
US20060204209A1 (en) * 2005-03-09 2006-09-14 Exabyte Corporation Pause strategy for magnetic tape recording
US7433141B2 (en) * 2005-03-09 2008-10-07 Tandberg Data Corporation Data randomization for rewriting in recording/reproduction apparatus
US7707480B2 (en) * 2005-07-01 2010-04-27 Qnx Software Systems Gmbh & Co. Kg System employing data verification operations of differing computational costs
US7836379B1 (en) * 2006-04-03 2010-11-16 Marvell International Ltd. Method for computing buffer ECC
US7840878B1 (en) 2006-04-11 2010-11-23 Marvell International Ltd. Systems and methods for data-path protection
US9564988B2 (en) * 2007-07-26 2017-02-07 The Directv Group, Inc. Method and system for forming a formatted content stream and using a cyclic redundancy check
US8181094B2 (en) * 2008-01-31 2012-05-15 International Business Machines Corporation System to improve error correction using variable latency and associated methods
US8145975B2 (en) * 2008-02-28 2012-03-27 Ip Video Communications Corporation Universal packet loss recovery system for delivery of real-time streaming multimedia content over packet-switched networks
US8719621B1 (en) 2010-05-05 2014-05-06 Marvell International Ltd. Solid-state disk cache assisted redundant array of independent disks
WO2012137256A1 (en) * 2011-04-06 2012-10-11 Hitachi, Ltd. Disk array apparatus and control method thereof
WO2016009902A1 (ja) 2014-07-18 2016-01-21 ソニー株式会社 受信装置、受信方法およびコンピュータプログラム
US9553611B2 (en) * 2014-11-27 2017-01-24 Apple Inc. Error correction coding with high-degree overlap among component codes
US9632863B2 (en) 2015-01-13 2017-04-25 Western Digital Technologies, Inc. Track error-correcting code extension
CN111078460B (zh) * 2019-11-18 2020-08-25 北京中电兴发科技有限公司 一种快速纠删码计算方法

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3821710A (en) 1972-12-04 1974-06-28 Little Inc A Multimode search and retrieval tape system
JPS5736656B2 (de) 1973-11-20 1982-08-05
US4011587A (en) 1974-03-14 1977-03-08 International Business Machines Corporation Rotary head magnetic recorder for use with a specific record member
US4106065A (en) 1976-03-19 1978-08-08 Ampex Corporation Drive circuitry for controlling movable video head
US4175267A (en) 1976-07-30 1979-11-20 Sony Corporation Method and apparatus of inserting an address signal in a video signal
US4099211A (en) 1976-09-13 1978-07-04 Ampex Corporation Positionable transducing mounting structure and driving system therefor
US4125881A (en) 1977-05-19 1978-11-14 International Business Machines Corporation Tape motion control for reel-to-reel drive
JPS5492308A (en) 1977-12-29 1979-07-21 Sony Corp Head tracking device in recorder-reproducer
DE2841728C2 (de) 1978-09-26 1984-08-09 Robert Bosch Gmbh, 7000 Stuttgart Verfahren und Schaltungsanordnung zur Wiedergabe eines auf Magnetband gespeicherten Videosignals mit veränderlicher Geschwindigkeit
US4215377A (en) 1978-10-10 1980-07-29 Norris Elwood G Multi-speed tape cassette system
DE2906836A1 (de) 1979-02-22 1980-09-04 Blaupunkt Werke Gmbh Informationsaufzeichnungs- und informationswiedergabegeraet
US4257075A (en) 1979-03-23 1981-03-17 Minnesota Mining And Manufacturing Company Tape magazine and recording and/or playback machine with improved magazine locating and loading structure
AU536904B2 (en) 1979-06-06 1984-05-31 Sony Corporation Magnetic tape loading apparatus
AU540275B2 (en) 1979-09-27 1984-11-08 Sony Corporation V.t.r. synchronizing system
JPS5683808A (en) 1979-12-11 1981-07-08 Sony Corp Magnetic recording and reproducing device
JPS5693157A (en) 1979-12-26 1981-07-28 Hitachi Ltd Tape sound recorder
JPS56156924A (en) 1980-05-08 1981-12-03 Sony Corp Track following device
JPS5727421A (en) 1980-07-23 1982-02-13 Sony Corp Track following device
JPS5733417A (en) 1980-07-31 1982-02-23 Fujitsu Ltd Step feed controlling system of information medium
JPS5755579A (en) 1980-09-19 1982-04-02 Sharp Corp Recorder and reproducer
US4467373A (en) 1980-10-09 1984-08-21 Micro Consultants Limited Storage and retrieval of digital data on video tape recorders
JPS5783978A (en) 1980-11-12 1982-05-26 Sony Corp Video signal recorder and reproducer
JPS5786161A (en) 1980-11-17 1982-05-29 Sony Corp Tape loading device
US4412260A (en) 1981-04-24 1983-10-25 Magnetic Peripherals Inc. Cartridge receiver mechanism
JPS57203228A (en) 1981-06-09 1982-12-13 Sony Corp Tracking adjuster
GB2111288B (en) 1981-11-20 1985-04-11 Sony Corp Magnetic tape recording and reproducing arrangements
JPS58133665A (ja) 1982-02-04 1983-08-09 Pioneer Video Corp 情報再生装置における再生終了検出装置
US4544967A (en) 1982-04-02 1985-10-01 Ampex Corporation Automatic scan tracking servo system
JPS58185009A (ja) 1982-04-23 1983-10-28 Sony Corp 磁気記録再生装置
JPS58194480A (ja) 1982-05-07 1983-11-12 Matsushita Electric Ind Co Ltd 磁気録画再生装置
JPS5937783A (ja) 1982-08-25 1984-03-01 Sony Corp 映像信号の記録装置
JPS59112406A (ja) 1982-12-17 1984-06-28 Sony Corp Pcm信号の記録再生方法
JPS59139157A (ja) 1983-01-26 1984-08-09 Sony Corp キユ−信号の記録方法
US4628383A (en) 1983-01-28 1986-12-09 Victor Company Of Japan, Ltd. Tape cassette loading device in a magnetic recording and/or reproducing apparatus
US4642714A (en) 1983-02-08 1987-02-10 Victor Company Of Japan, Ltd. Tape cassette loading and ejecting device in a magnetic recording and/or reproducing apparatus
US4637023A (en) 1983-02-14 1987-01-13 Prime Computer, Inc. Digital data error correction method and apparatus
JPS59151348A (ja) 1983-02-16 1984-08-29 Sanyo Electric Co Ltd 記録モ−ド判別回路
JPS59157810A (ja) 1983-02-28 1984-09-07 Sony Corp デジタル信号の再生方法
JPS59185019A (ja) 1983-04-04 1984-10-20 Nec Corp 特殊再生装置
JPS59213057A (ja) 1983-05-16 1984-12-01 Sony Corp テ−プロ−デイング装置
US4564945A (en) * 1983-06-20 1986-01-14 Reference Technology, Inc. Error-correction code for digital data on video disc
JPS6025062A (ja) 1983-07-21 1985-02-07 Sony Corp 番地信号の記録方法
JPS6032110A (ja) 1983-08-03 1985-02-19 Victor Co Of Japan Ltd ヘツド位置制御装置
DE3475669D1 (en) 1983-09-08 1989-01-19 Fuji Photo Film Co Ltd Device for loading or unloading magnetic disc pack
US4641210A (en) 1983-09-24 1987-02-03 Sony Corporation Magnetic recording and reproducing apparatus
JPS6064441U (ja) 1983-10-05 1985-05-07 日本ビクター株式会社 テ−プ収納筐体挿入口蓋ロツク機構
JPS60197969A (ja) 1984-03-19 1985-10-07 Sanyo Electric Co Ltd テ−プ速度判別回路
US4554598A (en) 1984-05-25 1985-11-19 Honeywell Information Systems, Inc. Single revolution disk sector formatter
JPS60194793U (ja) 1984-06-01 1985-12-25 ソニー株式会社 カセツトテ−プレコ−ダ
JPH0687330B2 (ja) 1984-08-06 1994-11-02 ソニー株式会社 ディジタル信号の再生装置
JPS6166250A (ja) 1984-09-07 1986-04-05 Sony Corp トラツキング制御回路
AT382475B (de) 1984-11-15 1987-02-25 Philips Nv Aufzeichnungs- und/oder wiedergabegeraet
JPS61196422A (ja) 1985-02-25 1986-08-30 Sony Corp ビデオ信号の記録装置
JPH0792958B2 (ja) 1985-05-27 1995-10-09 ソニー株式会社 カセツト式記録再生装置
JPS629552A (ja) 1985-07-08 1987-01-17 Canon Inc 信号再生装置
JP2606186B2 (ja) 1985-07-09 1997-04-30 ソニー株式会社 記録再生装置
US4935824A (en) 1985-07-19 1990-06-19 Sony Corporation Information recording apparatus
JPS6252752A (ja) 1985-08-30 1987-03-07 Sony Corp 記録再生装置
JPH0664893B2 (ja) 1985-11-12 1994-08-22 ソニー株式会社 磁気テ−プ記録再生装置
US4731878A (en) 1985-11-29 1988-03-15 American Telephone And Telegraph Company, At&T Bell Laboratories Self-routing switch node combining electronic and photonic switching
US4757911A (en) 1985-12-09 1988-07-19 Abbott Laboratories Container and closure construction
JPS62140203A (ja) 1985-12-13 1987-06-23 Pioneer Electronic Corp 回転ヘツド式デジタル信号再生装置
JPH07107782B2 (ja) 1986-02-28 1995-11-15 ソニー株式会社 ディジタルテープレコーダ
EP0235782B1 (de) 1986-03-04 1992-01-22 Sony Corporation Digitalwiedergabegerät
JP2751150B2 (ja) 1986-03-11 1998-05-18 ソニー株式会社 磁気テープの記録装置および再生装置
US4897739A (en) 1986-04-07 1990-01-30 Canon Kabushiki Kaisha Multi-channel recording apparatus using a plurality of heads in turn
US4717974A (en) 1986-05-19 1988-01-05 Eastman Kodak Company Waveguide apparatus for coupling a high data rate signal to and from a rotary head scanner
US4821129A (en) 1986-11-21 1989-04-11 Hewlett-Packard Company Tape positioning using reverse boundary capture: tape drive system and method
KR970008628B1 (ko) 1986-12-26 1997-05-27 소니 가부시키사이샤 테이프형상체의 로딩장치
US4769811A (en) 1986-12-31 1988-09-06 American Telephone And Telegraph Company, At&T Bell Laboratories Packet switching system arranged for congestion control
US4947272A (en) 1987-03-30 1990-08-07 Pioneer Electronic Corporation Signal reproducing device which offsets the tracking error signal for a digital tape player
US4845577A (en) 1987-05-11 1989-07-04 Exabyte Corporation Apparatus and method for enabling rapid searching of helically recorded magnetic tape
US4843495A (en) 1987-05-11 1989-06-27 Exabyte Corporation Cyclical servo zone tracking method and apparatus for helical scan recording devices
US4835628A (en) 1987-05-11 1989-05-30 Exabyte Corporation Apparatus and method for formatting and recording digital data on magnetic tape
US4908826A (en) 1988-01-05 1990-03-13 Digital Equipment Corporation Stored data error correction system
US5115500A (en) 1988-01-11 1992-05-19 International Business Machines Corporation Plural incompatible instruction format decode method and apparatus
US5003411A (en) 1988-02-26 1991-03-26 Pioneer Electronic Corporation Method for recording/reproducing and searching digital signals using a helical scan type rotary head
NL8800856A (nl) 1988-04-05 1989-11-01 Philips Nv Magneetbandapparaat voorzien van een regeleenheid ter sturing van bandbuffers, de bandspanning en het bandtransport.
US4933784A (en) 1988-10-31 1990-06-12 Ampex Corporation Automatic head position tracking system for video signals recorded in a segmented format
US4935827A (en) 1988-11-09 1990-06-19 Ampex Corporation Dynamic head position tracking control for a magnetic tape playback system
US4930027A (en) 1988-11-23 1990-05-29 Ampex Corporation Method and apparatus for tape speed override operation when recovering helical audio
US5103355A (en) 1989-04-11 1992-04-07 Ampex Corporation System for correlating head scan tracking and tape timer transitions
JP2554743B2 (ja) * 1989-05-19 1996-11-13 シャープ株式会社 再生のための誤り訂正装置
US5274772A (en) 1989-06-28 1993-12-28 International Business Machines Corporation Data processing systems having means for selectively combining records into signal blocks for recording in a record medium
US5068757A (en) 1989-11-09 1991-11-26 Exabyte Corporation Servo tracking for helical scan recorder
US5034833A (en) 1989-11-09 1991-07-23 Exabyte Corporation Method and apparatus for loading data cartridge about two pivot axes into cartridge drive
US5142422A (en) 1989-11-09 1992-08-25 Exabyte Corporation Dual channel helical recorder
JP2940033B2 (ja) 1989-12-07 1999-08-25 ソニー株式会社 走査軌跡評定装置
US5050018A (en) 1990-04-19 1991-09-17 Exabyte Corporation Apparatus and method for reading helically recorded tracks and rereading tracks as necessary
JPH0447568A (ja) 1990-06-15 1992-02-17 Teac Corp 磁気テープ装置におけるデータ読み取り方法
US5220569A (en) 1990-07-09 1993-06-15 Seagate Technology, Inc. Disk array with error type indication and selection of error correction method
US5191491A (en) 1990-11-09 1993-03-02 Exabyte Corporation Method and apparatus for reading distorted helical stripes
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
US5327305A (en) 1992-08-14 1994-07-05 Conner Peripherals, Inc. Tape format detection system
US5349481A (en) 1993-06-10 1994-09-20 Exabyte Corporation Apparatus and method for distorted track data recovery by rewinding and re-reading the tape at a slower than nominal speed
US5369652A (en) 1993-06-14 1994-11-29 International Business Machines Corporation Error detection and correction having one data format recordable on record media using a diverse number of concurrently recorded tracks
JPH09509276A (ja) 1993-11-12 1997-09-16 エクサバイト コーポレイション キャプスタンレスヘリカルドライブシステム
JP3109363B2 (ja) 1993-12-28 2000-11-13 松下電器産業株式会社 磁気記録再生装置
KR100197594B1 (ko) 1995-10-24 1999-06-15 윤종용 배속재생을 위한 가변콘트롤신호 기록/재생장치 및 그 방법
US5872997A (en) 1997-02-14 1999-02-16 Exabyte Corporation System for dynamically determining motion and reconnect thresholds of a storage media based on the effective transfer rate
US5953177A (en) 1997-03-24 1999-09-14 Exabyte Corporation Write splicing for helical scan recorder
US6048090A (en) * 1997-04-23 2000-04-11 Cirrus Logic, Inc. Error correction and concurrent verification of a product code
TW334533B (en) * 1997-06-28 1998-06-21 United Microelectronics Corp The control circuit apparatus for CD-ROM optical disk driver
US6052815A (en) * 1997-11-14 2000-04-18 Cirrus Logic, Inc. ECC system for generating a CRC syndrome over randomized data in a computer storage device
US6272659B1 (en) * 1998-05-18 2001-08-07 Cirrus Logic, Inc. Error correction code processor employing adjustable correction power for miscorrection minimization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0023997A2 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936418B2 (en) 2013-03-11 2021-03-02 Intel Corporation Reduced uncorrectable memory errors

Also Published As

Publication number Publication date
ATE225073T1 (de) 2002-10-15
DE69903188D1 (de) 2002-10-31
JP2002528838A (ja) 2002-09-03
EP1125294B1 (de) 2002-09-25
AU1126800A (en) 2000-05-08
US6367047B1 (en) 2002-04-02
WO2000023997A3 (en) 2000-07-27
DE69903188T2 (de) 2003-05-28
WO2000023997A2 (en) 2000-04-27
WO2000023997A9 (en) 2000-09-14

Similar Documents

Publication Publication Date Title
US6367047B1 (en) Multi-level error detection and correction technique for data storage recording device
JP3405712B2 (ja) データ回復方法およびデータ記憶装置
US5757824A (en) Code error correction apparatus
JP4709485B2 (ja) オンドライブ統合化セクタ・フォーマットraidの誤り訂正符号システムおよび方法
US6661591B1 (en) Disk drive employing sector-reconstruction-interleave sectors each storing redundancy data generated in response to an interleave of data sectors
US7340665B2 (en) Shared redundancy in error correcting code
US6192499B1 (en) Device and method for extending error correction beyond one sector time
US6662334B1 (en) Method and device for performing error correction on ECC data sectors
US20050028067A1 (en) Data with multiple sets of error correction codes
US7188295B2 (en) Method and apparatus for embedding an additional layer of error correction into an error correcting code
US6381706B1 (en) Fine granularity rewrite method and apparatus for data storage device
US7178086B2 (en) Direct partial update of CRC/ECC check bytes
EP1640988B1 (de) Methode und Apparat um Mehrfachwortinformation zu dekodieren
US20060203367A1 (en) Data randomization for rewriting in recording/reproduction apparatus
US6769088B1 (en) Sector-coding technique for reduced read-after-write operations
JP3993921B2 (ja) 記憶装置
EP2270790A2 (de) Methode und Apparat um Mehrfachwortinformation zu dekodieren
US6694473B1 (en) Parallel signal decoding method
EP1232499A1 (de) Rogue-paket-detektion und korrekturmethode für eine datenspeichervorrichtung
EP1069569A2 (de) Datensatzzurückgewinnung durch Kodewortüberlagerung

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20010420

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

17Q First examination report despatched

Effective date: 20011227

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020925

Ref country code: LI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020925

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 20020925

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020925

Ref country code: FR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020925

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020925

Ref country code: CH

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020925

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020925

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020925

REF Corresponds to:

Ref document number: 225073

Country of ref document: AT

Date of ref document: 20021015

Kind code of ref document: T

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20021020

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20021021

RAP2 Party data changed (patent owner data changed or rights of a patent transferred)

Owner name: EXABYTE CORPORATION

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20021031

REF Corresponds to:

Ref document number: 69903188

Country of ref document: DE

Date of ref document: 20021031

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20021225

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20021225

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20021226

NLT2 Nl: modifications (of names), taken from the european patent patent bulletin

Owner name: EXABYTE CORPORATION

NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20030328

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20030501

EN Fr: translation not filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

26N No opposition filed

Effective date: 20030626

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20071018

Year of fee payment: 9

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20071017

Year of fee payment: 9

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20081020

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090501

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20081020