Rogue packet detection and correction method for data...

Error detection/correction and fault detection/recovery – Pulse or data error handling – Digital data error correction

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S769000

Reexamination Certificate

active

06421805

ABSTRACT:

FIELD OF THE INVENTION
The present invention pertains generally to data integrity in data recording/recovery devices, and more particularly to a method for detecting and correcting falsely detected “good” data packets recovered from a storage medium.
RELATED PATENTS
The present invention is related to co-pending U.S. patent application entitled “Method And Apparatus For Logically Rejecting Previously Recorded Track Residue From Magnetic Media”, invented by McAuliffe et al., and having an internal docket number of 9086/103 and a Ser. No. of 09/192,794, filed concurrently herewith on Nov. 16, 1998, and co-pending U.S. patent application entitled “A Method Of Reacquiring Clock Synchronization On A Non-Tracking Helical Scan Tape Device”, invented by Blatchley et al., and having an internal docket number of 9086/108 and a Ser. No. of 09/192,808, filed concurrently herewith on Nov. 16, 1998, and co-pending U.S. patent application entitled “Method And System For Monitoring And Adjusting Tape Position Using Control Data Packets”, invented by McAuliffe et al., and having an internal docket number of 9086/107 and a Ser. No. of 09/193,030, filed concurrently herewith on Nov. 16, 1998, and 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 Ser. No. of 09/176,079, filed on Oct. 20, 1998, and co-pending U.S. patent application entitled “Overscan Helical Scan Head for Non-Tracking Tap Subsystems Reading at up to 1× Speed and Method for Simulation of Same”, invented by Blatchley et al., and having an internal docket number of 9086/104 and a Ser. No. of 09/176,013, filed on Oct. 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 Ser. No. of 09/176,015, filed on Oct. 20, 1998, and co-pending U.S. patent application entitled “Multi-level Error Detection and Correction Technique for Data Storage Recording Device”, invented by McAuliffe et al., and having an internal docket number of 9086/102 and a Ser. No. of 09/176,014, filed on Oct. 20, 1998, all of which are commonly owned and all of which are hereby incorporated by reference.
BACKGROUND OF THE INVENTION
Data storage devices, which are used in both short- and long-term capacities, are an integral part of modern computer systems. While factors such as costs, device form factor, storage media size and capacity, and recording and recovery times are of high importance, of primary concern is the ability to maintain data integrity.
Techniques have been developed to detect data errors. One commonly used error detection technique is known as a polynomial or cyclical redundancy check (CRC). CRC generators are preloaded with a generating polynomial G(x) and treat data blocks as a polynomial D(x). The data polynomial D(x) is divided by the generating polynomial G(x) to obtain a quotient Q(x) and remainder R(x), such that D(x)/G(x)=Q(x)+R(x), where R(x) is known as the cyclic redundancy check (CRC). CRCs are generated over the data and recorded along with the data to the storage media. During the recovery of the data from the storage media during a later session, the CRC is regenerated from the recovered data and compared to the recorded CRC accompanying the data to determine whether or not the data contains an error. CRCs are useful in detection of a high percentage of data errors; however, because binary division is based on performing a logical exclusive OR (XOR) of a series of bits, and therefore the right combination of position and number of errors could result in the same CRC value as that of the correct value of a data packet, CRC checks cannot guarantee accuracy. Accordingly, occasionally a packet containing an error is falsely accepted as a good packet because the error is undetectable by the CRC generator using the particular predefined generating polynomial. This falsely detected “good” packet is herein termed a “rogue” packet.
Accordingly, in order to ensure data integrity, a need exists for a method of detecting and correcting rogue packets in data recovery systems.
SUMMARY OF THE INVENTION
The present invention is a novel method for detecting rogue packets in a data buffer. In accordance with the invention, a segment-level CRC is generated across the data and during the recording session by a segment CRC generator and recorded along with the data to the storage medium.
During a data recovery session, only those packets which pass a packet-level error detection test are allowed into the data buffer. When a buffer segment is filled with so-called “good” packets, and the segment-level CRC associated with the segment is recovered from the storage medium, a segment-level error detection test is performed across the segment-level CRC and the contents of the buffer segment. The segment-level error detection test will detect an error if the segment contains a rogue packet.
If the segment contains a rogue packet, a Reed-Solomon syndrome pair is calculated across each row in the buffer segment. If both syndromes are zero, the row does not contain a rogue packet. If both syndromes are not zero, the syndrome pair is used to calculate the location of a potential rogue packet. Once the location of all the potential rogue packets are determined, the potential rogue packets are effectively erased and error correction is performed on the segment to attempt to correct the rogue packets.
In accordance with one embodiment of the invention, a data segment includes a plurality of data packets arranged in a square array. For each data segment, there are two error correction code (ECC) packets per row, column, and diagonal that are used to correct either one or two missing packets in any data row, column, or diagonal. The ECC packets contain Reed-Solomon two redundancy data. Each data segment has a corresponding packet status table (PST) that contains an entry for each data and ECC packet. Each PST entry indicates whether its corresponding packet has been received and as valid. In addition, the PST contains a count of the number of good packets present in each row, column, and diagonal, and a total number of good data packets in the segment. These counts are used by a segment correction processor (SCP) to determine when correction can be applied to the segment. The SCP is responsible for all segment correction activities.
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.
During normal operation, the SCP uses only erasure correction for correcting either single- or two-packet errors. Under error recovery conditions, after a segment CRC test has failed, the SCP determines the location of a rogue packet using the first form of error location and correction. The SCP calculates the syndromes for each row. The resulting syndromes will both be zero if the row has only good packets. If the row has one or more rogue packets, the syndromes are non-zero. The SCP then uses both syndrome terms to calculate the location of a potential rogue packet. If there is only one rogue packet, the corresponding PST entry is marked as not received, and its corresponding row, column, and diagram count, along with the total good packet count are each decremented, and the SCP is restarted for normal correction. The SCP will then correct the missing packet and repeat the segment CRC test. Assuming that it passes the segment CRC test, the segment is released to the host for reading and the read process continues.
The rogue packet detection portion of the SCP searches each row including the row ECC and column ECC. The SCP can determine a possible column location in each row that one or more rogue pac

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Rogue packet detection and correction method for data... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Rogue packet detection and correction method for data..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Rogue packet detection and correction method for data... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2917471

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.