ERROR DETECTION AND CORRECTION SYSTEM WITH STATISTICALLY OPTIMIZED DATA RECOVERY
First Claim
1. A statistically optimized data recovery apparatus in a system having data storage means including recording medium wherein data is stored in paths, and retrieval means including reading means, comprising, in combination:
- error detection means coupled to said retrieval means, for detecting data errors;
a plurality of error correction means coupled to said error detection means for attempting to correct data errors according to a predetermined schedule;
a plurality of a first class of schedulers responsive to said error detection means and coupled to said plurality of error correction means, for scheduling a plurality of error correction attempts; and
a scheduler of a second class, coupled to said first class of scHedulers and responsive to the unsuccessful completion of said error correction attempts, said scheduler of said second class including selection means for the ordered selection of said first class of schedulers, and parameter variation means for the variation of parameters of said retrieval means.
0 Assignments
0 Petitions
Accused Products
Abstract
A statistically optimized data recovery apparatus in a system having data storage and retrieval means, said apparatus including error detection means, a plurality of error correction means, first schedulers for scheduling a plurality of error correction attempts, and a second scheduler and a parameter variation means, said second scheduler providing for ordered selection of the first scheduler, and said parameter variation means providing for variation of parameters of said retrieval means, in an attempt to recover data in error.
87 Citations
17 Claims
-
1. A statistically optimized data recovery apparatus in a system having data storage means including recording medium wherein data is stored in paths, and retrieval means including reading means, comprising, in combination:
- error detection means coupled to said retrieval means, for detecting data errors;
a plurality of error correction means coupled to said error detection means for attempting to correct data errors according to a predetermined schedule;
a plurality of a first class of schedulers responsive to said error detection means and coupled to said plurality of error correction means, for scheduling a plurality of error correction attempts; and
a scheduler of a second class, coupled to said first class of scHedulers and responsive to the unsuccessful completion of said error correction attempts, said scheduler of said second class including selection means for the ordered selection of said first class of schedulers, and parameter variation means for the variation of parameters of said retrieval means.
- error detection means coupled to said retrieval means, for detecting data errors;
-
2. The combination of claim 1 wherein said parameter variation means includes:
- tracking means for tracking data and clock transitions in said storage means;
detection means coupled to said storage means for detecting an indication of the substantial absence of recording medium in an area in which data is expected to be found;
means responsive to said indication and coupled to said tracking means for inhibiting said tracking means for a period of time; and
means coupled to said inhibiting means for activating said tracking means after said period of time in an attempt to read data appearing after said substantial absence of recording medium.
- tracking means for tracking data and clock transitions in said storage means;
-
3. The combination of claim 1 wherein said parameter variation means includes means coupled to said retrieval means for offsetting said reading mechanism from the expected data path on said recording medium, in either a first or second direction.
-
4. The combination of claim 1 wherein said parameter variation means includes:
- first means coupled to said error detection means for providing an indication of a failure to detect an expected start of a data block;
first counting means coupled to said first means and responsive to said indication for counting one number of bit positions of a group of predetermined numbers of bit positions from the expected start of said data block, during a subsequent pass of the approximate beginning of the data and said retrieval means relative to each other; and
means coupled to said first counting means and to said retrieval means for enabling reading of said data immediately after the last of said one number of bit positions is counted in an attempt to read correct or correctable data.
- first means coupled to said error detection means for providing an indication of a failure to detect an expected start of a data block;
-
5. The combination of claim 4 further including means coupled to said first counting means for setting said one number of bit positions to be counted in said counting means to the number of bit positions which were counted on the last use of said counting means, which resulted in correct or correctable data being read.
-
6. The combination of claim 10 wherein said means for setting said one number of bit positions to be counted includes second counting means coupled to said error correction means and to said first counting means for incrementing said one number in response to erroneous reading of data.
-
7. The process of recovering a desired data block from data storage when the identifier of said desired data block cannot be correctly read, including the steps of:
- causing a correct or correctable data block in the vicinity of said desired data block to be retrieved;
determining the numeric difference between the identifier of said retrieved data block and said desired data block;
moving a retrieving mechanism a magnitude corresponding to said numeric difference in the direction of said desired data block; and
retrieving a data block from the newly arrived at position in an attempt to retrieve said desired data block.
- causing a correct or correctable data block in the vicinity of said desired data block to be retrieved;
-
8. In an error detecting and correcting data storage system wherein data is encoded with a non-random code having a maximum power to correct up to a particular number of errors, the combination of:
- data storage means for storing system data in paths;
reading means, connected to said data storage means for reading said data from said storage means;
parameter variation means, coupled to said reading means, for varying physical parameters in said reading means;
error correction means for attempting to correct data errors according to a predetermined schedule;
error detection means coupled to said reading means and to said error correction means for detecting errors in said data; and
scheduling means coupled to said error detection means and to said error correction means for scheduling successive error correction attempts.
- data storage means for storing system data in paths;
-
9. The combination of claims 8 wherein said scheduling means includes a first class of schedulers for successively scheduling the number of errors attempted to be corrected by said error correction means.
-
10. The combination of claims 9 wherein said first class of schedulers includes means coupled to said error correction means for scheduling attempts at correcting a number of errors fewer than the maximum power of said code.
-
11. The combination of claim 10 wherein said included means initially schedules attempts at single error correction.
-
12. The combination of claim 9 wherein said scheduling means further includes a second class of scheduler for scheduling said first class of schedulers.
-
13. The combination of claim 12 wherein said second class of schedulers further includes means for scheduling the variation of said physical parameters in said reading means.
-
14. The combination of claim 13 wherein said means for scheduling the variation of said physical parameters includes tracking means coupled to said reading means for tracking data and clock transitions in said storage means;
- detection means coupled to said storage means for detecting an indication of the substantial absence of recording medium in an area in which data is expected to be found;
inhibiting means responsive to said indication and coupled to said tracking means for inhibiting said tracking means for a period of time; and
means coupled to said inhibiting means for activating said tracking means after said period of time in an attempt to read data appearing after said substantial absence of recording medium.
- detection means coupled to said storage means for detecting an indication of the substantial absence of recording medium in an area in which data is expected to be found;
-
15. The combination of claim 13 wherein said means for scheduling variation of physical parameters includes means coupled to said reading means for offsetting said reading means from the expected path of said data, in either a first or second direction.
-
16. The combination of claim 13 wherein said means for scheduling the variation of said physical parameters includes first means coupled to said error detection means for providing an indication of a failure to detect an expected start of the data ;
- counting means coupled to said first means and responsive to said indication for counting one number of bit positions of a group of predetermined numbers of bit positions from the expected start of said data, during a subsequent pass of the approximate beginning of the data and said reading means relative to each other; and
means coupled to said counting means and to said reading means for enabling reading of said data immediately after the last of said one number of bit positions is counted in an attempt to read correct or correctable data.
- counting means coupled to said first means and responsive to said indication for counting one number of bit positions of a group of predetermined numbers of bit positions from the expected start of said data, during a subsequent pass of the approximate beginning of the data and said reading means relative to each other; and
-
17. The combination of claim 16 further including means coupled to said counting means for setting the number of bit positions to be counted in said counting means to the number of bit positions which were counted on the last use of said counting means which resulted in correct or correctable data being read.
Specification