US20170148482A1 - Track quality classifier - Google Patents
Track quality classifier Download PDFInfo
- Publication number
- US20170148482A1 US20170148482A1 US14/949,657 US201514949657A US2017148482A1 US 20170148482 A1 US20170148482 A1 US 20170148482A1 US 201514949657 A US201514949657 A US 201514949657A US 2017148482 A1 US2017148482 A1 US 2017148482A1
- Authority
- US
- United States
- Prior art keywords
- track
- failed
- tracks
- data
- metric
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000013442 quality metrics Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims abstract description 11
- 230000000717 retained effect Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 20
- 238000012958 reprocessing Methods 0.000 claims description 13
- 238000009826 distribution Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 description 21
- 238000012512 characterization method Methods 0.000 description 18
- 238000001514 detection method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 239000007787 solid Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 2
- 230000004907 flux Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10009—Improvement or modification of read or write signals
- G11B20/10305—Improvement or modification of read or write signals signal quality assessment
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/012—Recording on, or reproducing or erasing from, magnetic disks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/90—Tape-like record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/36—Monitoring, i.e. supervising the progress of recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/02—Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
- G11B5/09—Digital recording
Definitions
- Various embodiments of the present invention provide systems and methods for processing data, and more particularly to systems and methods for classifying tracks by quality metrics in a magnetic storage device to determine when tracks that have failed to be successfully decoded can be reprocessed within a particular time frame.
- Various data processing systems have been developed including storage systems, cellular telephone systems, and radio transmission systems.
- data is transferred from a sender to a receiver via some medium.
- data is sent from a sender (i.e., a write function) to a receiver (i.e., a read function) via a storage medium.
- a sender i.e., a write function
- a receiver i.e., a read function
- errors are introduced that, if not corrected, can corrupt the data and render the information unusable.
- the effectiveness of any transfer is impacted by any losses in data caused by various factors.
- Many types of error checking systems have been developed to detect and correct errors in digital data.
- parity bits can be added to groups of data bits, ensuring that the groups of data bits (including the parity bits) have either even or odd numbers of ones.
- the parity bits can be used in error correction systems, including in low density parity check (LDPC) decoders.
- LDPC low density parity check
- retry operations can be used to attempt to decode the data using a variety of recovery algorithms.
- the time available to perform retry operations is limited, and some data may not be possible to successfully decode within available time limits.
- FIG. 1 depicts a storage system including a read channel with track quality classification in accordance with some embodiments of the present invention
- FIG. 2 depicts a read channel with track quality classifier in accordance with some embodiments of the present invention
- FIG. 3A depicts a track gap between two successive tracks with a failed track being successfully reprocessed within the track gap
- FIG. 3B depicts a track gap between two successive tracks with a failed track that cannot be successfully reprocessed within the track gap
- FIG. 4A is a plot of flush out latency for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap;
- FIG. 4B is a plot, for a given flush out latency threshold, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track;
- FIG. 5A is a plot of the number of failed sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap;
- FIG. 5B is a plot, for a given threshold of the number of failed sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track;
- FIG. 6A is a plot of the number of retained sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap;
- FIG. 6B is a plot, for a given threshold of the number of retained sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track;
- FIG. 7A is a plot of the sum of the unsatisfied checks in failed sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap;
- FIG. 7B is a plot, for a given threshold of the sum of the unsatisfied checks in failed sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track;
- FIG. 8A is a plot of the sum of the minimum mean square error in failed sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap;
- FIG. 8B is a plot, for a given threshold of the sum of the minimum mean square error in failed sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track;
- FIG. 9A is a plot of the sum of the error bits in failed sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap;
- FIG. 9B is a plot, for a given threshold of the sum of the error bits in failed sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track;
- FIG. 10A is a plot of the sum of the unsatisfied checks in retained sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap;
- FIG. 10B is a plot, for a given threshold of the sum of the unsatisfied checks in retained sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track;
- FIG. 11A is a plot of the sum of the minimum mean square error in retained sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap;
- FIG. 11B is a plot, for a given threshold of the sum of the minimum mean square error in retained sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track;
- FIG. 12A is a plot of the sum of the error bits in retained sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap;
- FIG. 12B is a plot, for a given threshold of the sum of the error bits in retained sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track;
- FIG. 13 is a flow diagram of an operation to classify track quality in a magnetic storage device in accordance with some embodiments of the present invention.
- Embodiments of the present invention are related to systems and methods for classifying tracks by quality metrics in a magnetic storage device to determine when tracks that have failed to be successfully decoded can be reprocessed within a track gap between normal processing of data tracks.
- digital data is stored in a series of concentric circular tracks along a storage medium. Each data track can be divided into many data sectors.
- Data is written to the medium by positioning a read/write head assembly over the medium at a selected location as the storage medium is rotated, and subsequently passing a modulated electric current through the head assembly such that a corresponding magnetic flux pattern is induced in the storage medium.
- the head assembly is positioned anew over the track as the storage medium is rotated. In this position, the previously stored magnetic flux pattern induces a current in the head assembly that can be converted to the previously recorded digital data.
- each sector in the track is retrieved by the head assembly and data corresponding to the sector is processed.
- the processing can include, for example, performing a data detection algorithm to detect values of bits or multi-bit symbols in the data, and performing a decoding algorithm to detect and correct errors in the data.
- a decoding algorithm can include, for example, using parity checks with parity bits embedded in the data according to a low density parity check code. The detection/decoding process is continued until all parity checks have been satisfied (i.e., the data has converged) or until a limit on the number of detection/decoding iterations has been reached and processing of the sector has failed. Parity checks can be satisfied either because any errors in the decoded data have been corrected, or because combinations of errors result in the parity checks being satisfied and the data has been miscorrected. In some embodiments, additional techniques can be applied to identify miscorrected sectors.
- Attempts can be made to reprocess any tracks with sectors that have failed to converge, or in some cases with sectors that have been miscorrected and thus have failed to decode. Such attempts can be made either by reprocessing failed sectors in the track that have been retained in memory during gaps in between reading other tracks, or by rereading and reprocessing the track, which postpones reading of other tracks and increases system latency.
- the track quality classification disclosed herein distinguishes failed tracks that can be reprocessed in the track gaps between normal processing of other tracks (referred to herein as “good” tracks), and failed tracks that would take too much time and thus cannot be reprocessed in track gaps (referred to herein as “bad” tracks). Metrics are established to identify good tracks, and the system is allowed to reprocess good tracks in track gaps. Failed tracks identified as bad tracks are not reprocessed in track gaps, but are identified in some embodiments to the hard disk controller or other system controller so that it can issue a retry for the bad track so that it can be reread and reprocessed in the normal track read schedule.
- a storage system 100 is depicted with a read channel with track quality classification in accordance with some embodiments of the present invention.
- the storage system 100 includes a read channel circuit 102 with track quality classification in accordance with one or more embodiments of the present invention.
- Storage system 100 may be, for example, a hard disk drive.
- Storage system 100 also includes a preamplifier 104 , an interface controller 106 , a hard disk controller 110 , a motor controller 112 , a spindle motor 114 , a disk platter 116 , and a read/write head assembly 120 .
- Interface controller 106 controls addressing and timing of data to/from disk platter 116 .
- the data on disk platter 116 consists of groups of magnetic signals that may be detected by read/write head assembly 120 when the assembly is properly positioned over disk platter 116 .
- disk platter 116 includes magnetic signals recorded in accordance with either a longitudinal or a perpendicular recording scheme.
- read/write head assembly 120 is accurately positioned by motor controller 112 over a desired data track on disk platter 116 .
- Motor controller 112 both positions read/write head assembly 120 in relation to disk platter 116 and drives spindle motor 114 by moving read/write head assembly 120 to the proper data track on disk platter 116 under the direction of hard disk controller 110 .
- Spindle motor 114 spins disk platter 116 at a determined spin rate (RPMs).
- RPMs spin rate
- This minute analog signal is transferred from read/write head assembly 120 to read channel circuit 102 via preamplifier 104 .
- Preamplifier 104 is operable to amplify the minute analog signals accessed from disk platter 116 .
- read channel circuit 102 digitizes and decodes the received analog signal to recreate the information originally written to disk platter 116 .
- This data is provided as read data 122 to a receiving circuit. While processing the read data, read channel circuit 102 generates a track quality classification, identifying failed tracks as either good, enabling them to be reprocessed in track gaps, or as bad, requiring a retry to be issued.
- a write operation is substantially the opposite of the preceding read operation with write data 124 being provided to read channel circuit 102 .
- storage system 100 can be integrated into a larger storage system such as, for example, a RAID (redundant array of inexpensive disks or redundant array of independent disks) based storage system.
- a RAID storage system increases stability and reliability through redundancy, combining multiple disks as a logical unit.
- Data may be spread across a number of disks included in the RAID storage system according to a variety of algorithms and accessed by an operating system as if it were a single disk. For example, data may be mirrored to multiple disks in the RAID storage system, or may be sliced and distributed across multiple disks in a number of techniques.
- the disks in the RAID storage system may be, but are not limited to, individual storage systems such storage system 100 , and may be located in close proximity to each other or distributed more widely for increased security.
- write data is provided to a controller, which stores the write data across the disks, for example by mirroring or by striping the write data.
- the controller retrieves the data from the disks. The controller then yields the resulting read data as if the RAID storage system were a single disk.
- storage system 100 can be modified to include solid state memory that is used to store data in addition to the storage offered by disk platter 116 .
- This solid state memory may be used in parallel to disk platter 116 to provide additional storage.
- the solid state memory receives and provides information directly to read channel circuit 102 .
- the solid state memory can be used as a cache where it offers faster access time than that offered by disk platter 116 .
- the solid state memory can be disposed between interface controller 106 and read channel circuit 102 where it operates as a pass through to disk platter 116 when requested data is not available in the solid state memory or when the solid state memory does not have sufficient storage to hold a newly written data set. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of storage systems including both disk platter 116 and a solid state memory.
- Read channel 200 includes an analog front end circuit 204 that receives an analog signal 202 derived from a read/write head assembly that is disposed in relation to a storage medium.
- Analog front end circuit 204 processes analog signal 202 and provides a processed analog signal 206 to an analog to digital converter circuit 210 .
- Analog front end circuit 204 may include, but is not limited to, an analog filter and an amplifier circuit as are known in the art. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of circuitry that may be included as part of analog front end circuit 204 .
- Analog to digital converter circuit 210 converts processed analog signal 206 into a corresponding series of digital samples 212 .
- Analog to digital converter circuit 210 may be any circuit known in the art that is capable of producing digital samples corresponding to an analog input signal. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of analog to digital converter circuits that may be used in relation to different embodiments of the present invention.
- Digital samples 212 are provided to an equalizer circuit 214 .
- Equalizer circuit 214 applies an equalization algorithm to digital samples 212 to yield an equalized output 216 .
- equalizer circuit 214 is a digital finite impulse response (DFIR) filter circuit as are known in the art.
- DFIR digital finite impulse response
- Equalized output 216 is stored in a memory or Y buffer 220 .
- equalized output 216 is received directly from a storage device in, for example, a solid state storage system.
- analog front end circuit 204 , analog to digital converter circuit 210 and equalizer circuit 214 can be eliminated where the data is received as a digital data input.
- Equalized data 222 from Y buffer 220 is provided to a data detector circuit 224 , which is operable to apply a data detection algorithm to a received data set or sector, and in some cases data detector circuit 224 can process two or more codewords in parallel.
- data detector circuit 224 is a Viterbi algorithm data detector circuit as is known in the art.
- data detector circuit 224 is a maximum a posteriori data detector circuit as is known in the art.
- Viterbi data detection algorithm or “Viterbi algorithm data detector circuit” are used in their broadest sense to mean any Viterbi detection algorithm or Viterbi algorithm detector circuit or variations thereof including, but not limited to, bi-direction Viterbi detection algorithm or bi-direction Viterbi algorithm detector circuit.
- maximum a posteriori data detection algorithm or “maximum a posteriori data detector circuit” are used in their broadest sense to mean any maximum a posteriori detection algorithm or detector circuit or variations thereof including, but not limited to, simplified maximum a posteriori data detection algorithm and a max-log maximum a posteriori data detection algorithm, or corresponding detector circuits.
- Data detector circuit 224 is started based upon availability of a data set from Y buffer 220 or from a central memory circuit 230 .
- data detector circuit 224 Upon completion, data detector circuit 224 provides detected output 226 , or soft data.
- soft data As used herein, the phrase “soft data” is used in its broadest sense to mean reliability data with each instance of the reliability data indicating a likelihood that a corresponding bit position or group of bit positions has been correctly detected. In some embodiments of the present inventions, the soft data or reliability data is log likelihood ratio data as is known in the art.
- Detected output 226 is stored in central memory circuit 230 .
- the detected output 232 is accessed from central memory circuit 230 and provided to a decoder 234 , such as, but not limited to, a low density parity check decoder.
- the decoder 234 applies a data decode algorithm to detected output 232 in a variable number of local iterations.
- the decoder 234 fails to converge (i.e., fails to yield the originally written data set) and a number of local iterations through decoder 234 exceeds a threshold
- the resulting soft information can be provided as a decoded output 236 back to central memory circuit 230 where it is stored awaiting another global iteration through data detector circuit 224 and decoder 234 .
- data detector circuit 224 is available, a previously stored decoded output 240 is accessed from central memory circuit 230 and is used to guide subsequent detection of a corresponding data set received as equalized data 222 .
- Multiple sectors may be processed simultaneously in the read channel 200 , with additional sectors being admitted to the data detector 224 as other sectors converge in the decoder 234 and are output and cleared from the Y buffer 220 and central memory circuit 230 .
- the decoded output converges (i.e., yields the originally written data set) in the decoder 234
- the resulting decoded output is provided as an output codeword 242 to a hard decision output circuit 244 .
- Hard decisions 246 representing the actual bit or symbol values for the sector are provided to a read interface 250 , which in some embodiments can perform additional error checking such as cyclic redundancy checks (CRC).
- CRC cyclic redundancy checks
- Data 252 can then be forwarded to a hard disk controller 254 or other destination.
- Successfully decoded sectors can be combined in tracks in any suitable location, such as, but not limited to, in read interface 250 or hard disk controller 254 .
- Sectors that fail to converge in the decoder 234 or that are miscorrected are kicked out of the read channel 200 , meaning that the corresponding decoder output 242 is output from the system along with an indication that the sector failed to converge.
- Data corresponding to failed sectors can either be cleared from Y buffer 220 and central memory 230 , making room for another sector to be processed, or can be retained in Y buffer 220 and central memory 230 , allowing the failed sector to be reprocessed in data detector circuit 224 and decoder 234 in track gaps between processing of other tracks.
- failed sectors are retained Y buffer 220 and central memory 230 when no other sectors are waiting to be processed, although other criteria can be used to determine when to retain failed sectors.
- Detection and decoding are controlled by a scheduler 260 , which can generate control signals (e.g., 266 , 270 , 272 , 274 ) to control loading of sector data into memories 220 , 230 , initiation of detection and decoding processes, kickout of decoder output and retaining of failed sector data, etc.
- control signals e.g., 266 , 270 , 272 , 274
- metric information 256 can be received by the scheduler 260 from any suitable source for track quality classification, and status signals 262 , 264 can be used to communicate track quality classifications to the controller, identifying bad failed tracks for which re-read and reprocess commands should be issued.
- a diagram 300 depicts reading of two successive tracks 302 , 304 .
- the first track 302 is read in a first period 306 and the second track 304 is read in a second period 310 , with a track gap 312 separating the two track reading periods 306 , 310 .
- a flush out latency period 314 follows each track reading period 306 , representing the latency from the end of the last read gate triggering the reading of a sector in the track 302 and the last kickout when the hard decisions for the last sector to be read in the track 302 is output.
- the failed sectors in the track 302 can be reprocessed in the track gap 312 before the processing period 310 for the next track 304 . If the failed track 302 can be reprocessed in a period (e.g., 316 ) in the track gap 312 , the failed track 302 is referred to herein as a good track.
- a reprocessing period 320 for another failed track is depicted.
- the failed track 302 cannot be reprocessed in the track gap 312 before the next track's processing period 310 begins.
- the failed track 302 in the case of FIG. 3B is referred to herein as a bad track. If the system were to attempt to reprocess the failed track 302 in the track gap 312 , it would not complete before the controller initiated the read of the next track 304 , and the reprocessing would have to be terminated unsuccessfully.
- the track quality classifier disclosed herein uses one or more metrics to determine whether a failed track can likely be successfully reprocessed within a track gap. Those identified as good failed tracks based on the metrics can likely be successfully reprocessed within a track gap and are allowed to be reprocessed during the track gap. Those identified as bad tracks based on the metrics likely cannot be successfully reprocessed within a track gap and are not allowed to be reprocessed during the track gap. Bad failed tracks are identified to the controller so that it can issue a retry for the failed track, causing it to be re-read and reprocessed during a normal track read period (e.g., 306 or 310 ).
- a normal track read period e.g., 306 or 310
- the track quality classification can be performed by a classification circuit in any location having access to metric information, such as in the scheduler 260 , controller 254 or in any other suitable location.
- Any suitable metric can be used to perform the track quality classification, and in some embodiments, multiple metrics are used in a joint metric.
- the suitability of a metric for use in track quality classification can depend on a number of factors, such as, for example, availability of data for the metric, whether the metric distinguishes between failed sectors that can be reprocessed in a track gap and those that cannot, and the whether the nature of the metric can be used to characterize sectors on the fly.
- a plot 400 depicts the flush out latency for good failed tracks 402 that can be reprocessed within a track gap and for bad failed tracks 404 that cannot be reprocessed within a track gap.
- the flush out latency is substantially overlapping for good failed tracks 402 and for bad failed tracks 404 .
- flush out latency is not a good candidate for use as a metric for track quality classification to distinguish good failed tracks from bad failed tracks.
- FIG. 4B depicts a corresponding plot 410 with curves 412 , 414 showing the probability of making the wrong decision or characterization on a good track and the probability of making the wrong decision on a bad track, respectively, at a given threshold for flush out latency of failed tracks.
- the X-axis corresponds to the threshold value for flush out latency
- the Y-axis corresponds to the probability of a wrong decision. If there were a good location for a threshold in FIG. 4A to distinguish good failed tracks from bad failed tracks, the plot 410 of FIG. 4B could be used to optimize the threshold value to balance the probability of making the wrong decision on good tracks (incorrectly characterizing a good track as bad) versus the probability of making the wrong decision on bad tracks (incorrectly characterizing a bad track as good).
- a plot 420 depicts the number of failed sectors in a good track 422 and the number of failed sectors in a bad track 424 .
- there is a distinct difference in the number of failed sectors in good failed tracks and bad failed tracks with a peak in the distribution in the number of failed sectors in a good track 422 at about 1 failed sector per good track, and a different peak in the distribution in the number of failed sectors in a bad track 424 at about 6 failed sectors per bad track.
- a threshold in the number of failed sectors in a track could be used to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap.
- the number of failed sectors in the track could be compared with the threshold, and if it was less than the threshold, indicating that the track was good, the system could attempt to reprocess the failed sectors of the track during the track gap. If the number of failed sectors in the track was greater than the threshold, indicating that the track was bad, the system would not attempt to reprocess the failed sectors of the track during the track gap, and would instead indicate to the controller that the track was not successfully read so that it could issue a retry command to re-read and reprocess the track during a different normal track processing period.
- a corresponding plot 430 in FIG. 5B depicts the probability of making the wrong decision on a good track 432 and the probability of making the wrong decision on a bad track 434 , respectively, at a given threshold for the number of failed sectors in a track.
- This comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to set the threshold level for the metric to be used as a track quality classifier. For example, to minimize the likelihood of the wrong threshold placement for both good failed tracks and bad failed tracks, and because the probabilities trend in different directions, the threshold could be placed at or near the crossover point to minimize the likelihood of the wrong threshold placement for both good failed tracks and bad failed tracks.
- the threshold can be shifted one way or the other to reduce the likelihood of the more significant type of wrong decision. For example, if incorrectly characterizing a bad failed track as good and allowing the system to unsuccessfully attempt to reprocess it in a track gap is more problematic than incorrectly characterizing a good failed track as bad and not allowing the system to reprocess it in a track gap when it could have succeeded, then the threshold could be shifted to the left in FIG. 5B to reduce the likelihood of incorrectly characterizing a bad failed track as good.
- a plot 440 depicts the number of retained sectors in a good track 442 and the number of failed sectors in a bad track 444 .
- a retained sector is a sector that has failed to be correctly decoded and is retained in memory after kickout so that it can be reprocessed.
- There is a distinct difference in the number of retained sectors in good failed tracks and bad failed tracks with a peak in the distribution in the number of retained sectors in a good track 442 at about 1.3 retained sectors per good track, and a different peak in the distribution in the number of failed sectors in a bad track 444 at above 6 retained sector per bad track.
- a threshold in the number of retained sectors in a track could be used to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap.
- a corresponding plot 450 in FIG. 6B depicts the probability of making the wrong decision on a good track 432 and the probability of making the wrong decision on a bad track 434 , respectively, at a given threshold for the number of retained sectors in a track.
- this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier. For example, to minimize the likelihood of the wrong threshold placement for both good failed tracks and bad failed tracks, the threshold can be placed at or near the crossover point to minimize the likelihood of the wrong threshold placement for both good failed tracks and bad failed tracks.
- flush out latency is not a distinguishable metric as shown in FIG. 4A .
- the metric values are small integers and it is difficult to finely tune the classifier performance. For example, for both the number of failed sectors and the number of retained sectors, the crossing point is at around 4.5.
- the threshold could be set at either 4 or 5 , which would favor one type of incorrect characterization at the expense of the other. If this type of skewed balance is desired, these would be good metrics to use for track quality classification, but if a more equal balance is desired, these may not be the best metrics to use.
- a plot 440 depicts the sum of the number of unsatisfied parity checks in failed sectors in a good track 442 and the sum of the number of unsatisfied parity checks in failed sectors in a bad track 444 .
- this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap.
- a corresponding plot 470 in FIG. 7B depicts the probability of making the wrong decision on a good track 472 and the probability of making the wrong decision on a bad track 474 , respectively, at a given threshold for the sum of the number of unsatisfied parity checks in failed sectors of a track.
- this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier.
- the threshold can be placed at or near the crossover point, in this case about 3000, to minimize the likelihood of the wrong threshold placement for both good failed tracks and bad failed tracks.
- this metric has higher values, the balance between incorrect decisions on good tracks and incorrect decisions on bad tracks can be precisely adjusted.
- FIG. 7A indicates that failed tracks that can be successfully reprocessed within the track gap have a peak in the metric distribution at just over 0, and that failed tracks that cannot be successfully reprocessed within the track gap have a peak in the metric distribution at just over 4000.
- the threshold can be tuned to the crossover point, or can be skewed to favor one type of incorrect decision over the other.
- a plot 480 depicts the sum of the minimum mean square error in failed sectors in a good track 482 and the sum of the minimum mean square error in failed sectors in a bad track 484 .
- this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap.
- a corresponding plot 490 in FIG. 8B depicts the probability of making the wrong decision on a good track 492 and the probability of making the wrong decision on a bad track 494 , respectively, at a given threshold for the sum of the minimum mean square error in failed sectors of a track.
- this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier, for example setting the threshold at or near the crossover point.
- a plot 500 depicts the sum of the error bits in failed sectors in a good track 502 and the sum of the error bits in failed sectors in a bad track 504 .
- this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap.
- a corresponding plot 510 in FIG. 9B depicts the probability of making the wrong decision on a good track 512 and the probability of making the wrong decision on a bad track 514 , respectively, at a given threshold for the sum of the error bits in failed sectors of a track.
- this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier, for example setting the threshold at or near the crossover point.
- a plot 520 depicts the sum of the number of unsatisfied parity checks in retained sectors in a good track 522 and the sum of the number of unsatisfied parity checks in retained sectors in a bad track 524 .
- this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap.
- a corresponding plot 530 in FIG. 10B depicts the probability of making the wrong decision on a good track 532 and the probability of making the wrong decision on a bad track 534 , respectively, at a given threshold for the sum of the number of unsatisfied parity checks in retained sectors of a track.
- this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier, for example setting the threshold at or near the crossover point.
- a plot 540 depicts the sum of the minimum mean square error in retained sectors in a good track 542 and the sum of the minimum mean square error in retained sectors in a bad track 544 .
- this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap.
- a corresponding plot 550 in FIG. 11B depicts the probability of making the wrong decision on a good track 552 and the probability of making the wrong decision on a bad track 554 , respectively, at a given threshold for the sum of the minimum mean square error in retained sectors of a track.
- this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier, for example setting the threshold at or near the crossover point.
- a plot 560 depicts the sum of the error bits in retained sectors in a good track 562 and the sum of the error bits in retained sectors in a bad track 564 .
- this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap.
- a corresponding plot 570 in FIG. 12B depicts the probability of making the wrong decision on a good track 572 and the probability of making the wrong decision on a bad track 574 , respectively, at a given threshold for the sum of the error bits in retained sectors of a track.
- this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier, for example setting the threshold at or near the crossover point.
- the thresholds are adjusted using a cost matrix describing the cost of making wrong decisions according to P(good ⁇ bad)*cost(good ⁇ bad)+P(bad ⁇ good)*cost(bad ⁇ good).
- joint metrics are used as track quality classifiers by combining two or more of the single metrics disclosed above or of other single metrics.
- the single metric classifiers above can take the following format:
- Failed tracks are classified on the fly by comparing the metric with the threshold and making the decision according to the distinction above.
- the threshold can be user programmable, and in some embodiments, the choice of metric can be made on the fly, for example by storing a value in a user programmable register.
- the multivariate cost function ⁇ can have any arbitrary format, such as, but not limited to, linear or non-linear, continuous or discontinuous, etc.
- the performance of a number of joint metric classifiers can be simulated for a particular data processing system in any computational system such as, for example, Matlab.
- Matlab classifier simulations using the total number of unsatisfied parity checks and the minimum mean square error of all failed sectors and of normal process latency as joint metrics yield the following results for NaiveBayes, Discriminant, Tree and K-Nearest Neighbor (KNN) classifiers:
- the NaiveBayes classifier with joint metrics using the total number of unsatisfied parity checks and the minimum mean square error correctly identifies all bad tracks as bad tracks, correctly identifies about 96% of good tracks as good tracks, does not misidentify any bad tracks as good, and misidentifies only about 4% of good tracks as bad.
- the NaiveBayes classifier is therefore a good multivariate function to apply in the data processing system with joint metrics using the total number of unsatisfied parity checks and the minimum mean square error as a track quality classifier.
- This study assumes an equal cost of decision error of good ⁇ bad and bad ⁇ good, and hence minimizes the total decision error probability.
- the balance between the two types of misidentification errors can be controlled by minimizing cost function P(good ⁇ bad)*cost(good ⁇ bad)+P(bad ⁇ good).
- a flow diagram 600 depicts an operation to classify track quality in a magnetic storage device in accordance with some embodiments of the present invention.
- tracks are processed in sequence in a data processing system.
- tracks are processed sector by sector, applying iterative data detection and decoding algorithms until data converges or until a limit on the number of iterations has been reached.
- Data for a track quality classification metric is gathered.
- Data can be gathered by any suitable circuit and in any suitable manner. For example, an accumulator can be used to add the number of unsatisfied parity checks in a decoder as the sectors in a track are being processed.
- the track quality classification metric can be a single metric or a joint metric. Based on the track quality classification metric, determine whether reprocessing of the failed track can likely be completed within a track gap. (Block 608 ) The determination can be performed by comparing the metric or a multivariate multi-metric function with a threshold. If the track quality classification metric indicates that reprocessing of the failed track can likely be completed within a track gap, for example if the metric is less than a threshold, reprocess the failed track in a track gap.
- Block 610 If the track quality classification metric indicates that reprocessing of the failed track likely cannot be completed within a track gap, for example if the metric is greater than or equal to a threshold, alert hard disk controller that the track read failed so that it can issue a retry for the track rather than allowing the track to be reprocessed in a track gap. (Block 612 )
- Such integrated circuits may include all of the functions of a given block, system or circuit, or a subset of the block, system or circuit. Further, elements of the blocks, systems or circuits may be implemented across multiple integrated circuits. Such integrated circuits may be any type of integrated circuit known in the art including, but are not limited to, a monolithic integrated circuit, a flip chip integrated circuit, a multichip module integrated circuit, and/or a mixed signal integrated circuit. It should also be noted that various functions of the blocks, systems or circuits discussed herein may be implemented in either software or firmware. In some such cases, the entire system, block or circuit may be implemented using its software or firmware equivalent. In other cases, the one part of a given system, block or circuit may be implemented in software or firmware, while other parts are implemented in hardware.
- embodiments of the present invention provide novel systems, devices, methods and arrangements for track quality classification to determine whether failed tracks can be reprocessed in a track gap. While detailed descriptions of one or more embodiments of the invention have been given above, various alternatives, modifications, and equivalents will be apparent to those skilled in the art without varying from the spirit of the invention. Therefore, the above description should not be taken as limiting the scope of embodiments of the invention which are encompassed by the appended claims.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
- Various embodiments of the present invention provide systems and methods for processing data, and more particularly to systems and methods for classifying tracks by quality metrics in a magnetic storage device to determine when tracks that have failed to be successfully decoded can be reprocessed within a particular time frame.
- Various data processing systems have been developed including storage systems, cellular telephone systems, and radio transmission systems. In such systems data is transferred from a sender to a receiver via some medium. For example, in a storage system, data is sent from a sender (i.e., a write function) to a receiver (i.e., a read function) via a storage medium. As information is stored and transmitted in the form of digital data, errors are introduced that, if not corrected, can corrupt the data and render the information unusable. The effectiveness of any transfer is impacted by any losses in data caused by various factors. Many types of error checking systems have been developed to detect and correct errors in digital data. For example, parity bits can be added to groups of data bits, ensuring that the groups of data bits (including the parity bits) have either even or odd numbers of ones. The parity bits can be used in error correction systems, including in low density parity check (LDPC) decoders. When decoding of data fails, retry operations can be used to attempt to decode the data using a variety of recovery algorithms. However, the time available to perform retry operations is limited, and some data may not be possible to successfully decode within available time limits.
- A further understanding of the various embodiments of the present invention may be realized by reference to the figures which are described in remaining portions of the specification. In the figures, like reference numerals are used throughout several figures to refer to similar components.
-
FIG. 1 depicts a storage system including a read channel with track quality classification in accordance with some embodiments of the present invention; -
FIG. 2 depicts a read channel with track quality classifier in accordance with some embodiments of the present invention; -
FIG. 3A depicts a track gap between two successive tracks with a failed track being successfully reprocessed within the track gap; -
FIG. 3B depicts a track gap between two successive tracks with a failed track that cannot be successfully reprocessed within the track gap; -
FIG. 4A is a plot of flush out latency for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap; -
FIG. 4B is a plot, for a given flush out latency threshold, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track; -
FIG. 5A is a plot of the number of failed sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap; -
FIG. 5B is a plot, for a given threshold of the number of failed sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track; -
FIG. 6A is a plot of the number of retained sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap; -
FIG. 6B is a plot, for a given threshold of the number of retained sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track; -
FIG. 7A is a plot of the sum of the unsatisfied checks in failed sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap; -
FIG. 7B is a plot, for a given threshold of the sum of the unsatisfied checks in failed sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track; -
FIG. 8A is a plot of the sum of the minimum mean square error in failed sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap; -
FIG. 8B is a plot, for a given threshold of the sum of the minimum mean square error in failed sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track; -
FIG. 9A is a plot of the sum of the error bits in failed sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap; -
FIG. 9B is a plot, for a given threshold of the sum of the error bits in failed sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track; -
FIG. 10A is a plot of the sum of the unsatisfied checks in retained sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap; -
FIG. 10B is a plot, for a given threshold of the sum of the unsatisfied checks in retained sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track; -
FIG. 11A is a plot of the sum of the minimum mean square error in retained sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap; -
FIG. 11B is a plot, for a given threshold of the sum of the minimum mean square error in retained sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track; -
FIG. 12A is a plot of the sum of the error bits in retained sectors for tracks that can be reprocessed within a track gap and for tracks that cannot be reprocessed within a track gap; -
FIG. 12B is a plot, for a given threshold of the sum of the error bits in retained sectors, of the probability of making the wrong decision on a good track and the probability of making the wrong decision on a bad track; and -
FIG. 13 is a flow diagram of an operation to classify track quality in a magnetic storage device in accordance with some embodiments of the present invention. - Embodiments of the present invention are related to systems and methods for classifying tracks by quality metrics in a magnetic storage device to determine when tracks that have failed to be successfully decoded can be reprocessed within a track gap between normal processing of data tracks. In a typical magnetic storage system, digital data is stored in a series of concentric circular tracks along a storage medium. Each data track can be divided into many data sectors. Data is written to the medium by positioning a read/write head assembly over the medium at a selected location as the storage medium is rotated, and subsequently passing a modulated electric current through the head assembly such that a corresponding magnetic flux pattern is induced in the storage medium. To retrieve the stored data, the head assembly is positioned anew over the track as the storage medium is rotated. In this position, the previously stored magnetic flux pattern induces a current in the head assembly that can be converted to the previously recorded digital data.
- When a hard disk controller issues a read command for a data track, each sector in the track is retrieved by the head assembly and data corresponding to the sector is processed. The processing can include, for example, performing a data detection algorithm to detect values of bits or multi-bit symbols in the data, and performing a decoding algorithm to detect and correct errors in the data. Such a decoding algorithm can include, for example, using parity checks with parity bits embedded in the data according to a low density parity check code. The detection/decoding process is continued until all parity checks have been satisfied (i.e., the data has converged) or until a limit on the number of detection/decoding iterations has been reached and processing of the sector has failed. Parity checks can be satisfied either because any errors in the decoded data have been corrected, or because combinations of errors result in the parity checks being satisfied and the data has been miscorrected. In some embodiments, additional techniques can be applied to identify miscorrected sectors.
- Attempts can be made to reprocess any tracks with sectors that have failed to converge, or in some cases with sectors that have been miscorrected and thus have failed to decode. Such attempts can be made either by reprocessing failed sectors in the track that have been retained in memory during gaps in between reading other tracks, or by rereading and reprocessing the track, which postpones reading of other tracks and increases system latency.
- The track quality classification disclosed herein distinguishes failed tracks that can be reprocessed in the track gaps between normal processing of other tracks (referred to herein as “good” tracks), and failed tracks that would take too much time and thus cannot be reprocessed in track gaps (referred to herein as “bad” tracks). Metrics are established to identify good tracks, and the system is allowed to reprocess good tracks in track gaps. Failed tracks identified as bad tracks are not reprocessed in track gaps, but are identified in some embodiments to the hard disk controller or other system controller so that it can issue a retry for the bad track so that it can be reread and reprocessed in the normal track read schedule.
- Turning to
FIG. 1 , astorage system 100 is depicted with a read channel with track quality classification in accordance with some embodiments of the present invention. Thestorage system 100 includes aread channel circuit 102 with track quality classification in accordance with one or more embodiments of the present invention.Storage system 100 may be, for example, a hard disk drive.Storage system 100 also includes apreamplifier 104, aninterface controller 106, ahard disk controller 110, amotor controller 112, aspindle motor 114, adisk platter 116, and a read/write head assembly 120.Interface controller 106 controls addressing and timing of data to/fromdisk platter 116. The data ondisk platter 116 consists of groups of magnetic signals that may be detected by read/write head assembly 120 when the assembly is properly positioned overdisk platter 116. In one embodiment,disk platter 116 includes magnetic signals recorded in accordance with either a longitudinal or a perpendicular recording scheme. - In a typical read operation, read/
write head assembly 120 is accurately positioned bymotor controller 112 over a desired data track ondisk platter 116.Motor controller 112 both positions read/write head assembly 120 in relation todisk platter 116 and drivesspindle motor 114 by moving read/write head assembly 120 to the proper data track ondisk platter 116 under the direction ofhard disk controller 110.Spindle motor 114 spinsdisk platter 116 at a determined spin rate (RPMs). Once read/write head assembly 120 is positioned adjacent the proper data track, magnetic signals representing data ondisk platter 116 are sensed by read/write head assembly 120 asdisk platter 116 is rotated byspindle motor 114. The sensed magnetic signals are provided as a continuous, minute analog signal representative of the magnetic data ondisk platter 116. This minute analog signal is transferred from read/write head assembly 120 to readchannel circuit 102 viapreamplifier 104.Preamplifier 104 is operable to amplify the minute analog signals accessed fromdisk platter 116. In turn, readchannel circuit 102 digitizes and decodes the received analog signal to recreate the information originally written todisk platter 116. This data is provided as readdata 122 to a receiving circuit. While processing the read data, readchannel circuit 102 generates a track quality classification, identifying failed tracks as either good, enabling them to be reprocessed in track gaps, or as bad, requiring a retry to be issued. A write operation is substantially the opposite of the preceding read operation withwrite data 124 being provided to readchannel circuit 102. - It should be noted that
storage system 100 can be integrated into a larger storage system such as, for example, a RAID (redundant array of inexpensive disks or redundant array of independent disks) based storage system. Such a RAID storage system increases stability and reliability through redundancy, combining multiple disks as a logical unit. Data may be spread across a number of disks included in the RAID storage system according to a variety of algorithms and accessed by an operating system as if it were a single disk. For example, data may be mirrored to multiple disks in the RAID storage system, or may be sliced and distributed across multiple disks in a number of techniques. If a small number of disks in the RAID storage system fail or become unavailable, error correction techniques may be used to recreate the missing data based on the remaining portions of the data from the other disks in the RAID storage system. The disks in the RAID storage system may be, but are not limited to, individual storage systemssuch storage system 100, and may be located in close proximity to each other or distributed more widely for increased security. In a write operation, write data is provided to a controller, which stores the write data across the disks, for example by mirroring or by striping the write data. In a read operation, the controller retrieves the data from the disks. The controller then yields the resulting read data as if the RAID storage system were a single disk. - In addition, it should be noted that
storage system 100 can be modified to include solid state memory that is used to store data in addition to the storage offered bydisk platter 116. This solid state memory may be used in parallel todisk platter 116 to provide additional storage. In such a case, the solid state memory receives and provides information directly to readchannel circuit 102. Alternatively, the solid state memory can be used as a cache where it offers faster access time than that offered bydisk platter 116. In such a case, the solid state memory can be disposed betweeninterface controller 106 and readchannel circuit 102 where it operates as a pass through todisk platter 116 when requested data is not available in the solid state memory or when the solid state memory does not have sufficient storage to hold a newly written data set. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of storage systems including bothdisk platter 116 and a solid state memory. - Turning to
FIG. 2 , a read channel circuit withtrack quality classifier 200 is depicted in accordance with some embodiments of the present invention. Readchannel 200 includes an analogfront end circuit 204 that receives ananalog signal 202 derived from a read/write head assembly that is disposed in relation to a storage medium. Analogfront end circuit 204processes analog signal 202 and provides a processedanalog signal 206 to an analog todigital converter circuit 210. Analogfront end circuit 204 may include, but is not limited to, an analog filter and an amplifier circuit as are known in the art. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of circuitry that may be included as part of analogfront end circuit 204. - Analog to
digital converter circuit 210 converts processedanalog signal 206 into a corresponding series ofdigital samples 212. Analog todigital converter circuit 210 may be any circuit known in the art that is capable of producing digital samples corresponding to an analog input signal. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of analog to digital converter circuits that may be used in relation to different embodiments of the present invention.Digital samples 212 are provided to anequalizer circuit 214.Equalizer circuit 214 applies an equalization algorithm todigital samples 212 to yield an equalizedoutput 216. In some embodiments of the present inventions,equalizer circuit 214 is a digital finite impulse response (DFIR) filter circuit as are known in the art. Equalizedoutput 216 is stored in a memory orY buffer 220. In some cases, equalizedoutput 216 is received directly from a storage device in, for example, a solid state storage system. In such cases, analogfront end circuit 204, analog todigital converter circuit 210 andequalizer circuit 214 can be eliminated where the data is received as a digital data input. - Equalized
data 222 fromY buffer 220 is provided to adata detector circuit 224, which is operable to apply a data detection algorithm to a received data set or sector, and in some casesdata detector circuit 224 can process two or more codewords in parallel. In some embodiments of the present invention,data detector circuit 224 is a Viterbi algorithm data detector circuit as is known in the art. In other embodiments of the present inventions,data detector circuit 224 is a maximum a posteriori data detector circuit as is known in the art. Of note, the general phrases “Viterbi data detection algorithm” or “Viterbi algorithm data detector circuit” are used in their broadest sense to mean any Viterbi detection algorithm or Viterbi algorithm detector circuit or variations thereof including, but not limited to, bi-direction Viterbi detection algorithm or bi-direction Viterbi algorithm detector circuit. Also, the general phrases “maximum a posteriori data detection algorithm” or “maximum a posteriori data detector circuit” are used in their broadest sense to mean any maximum a posteriori detection algorithm or detector circuit or variations thereof including, but not limited to, simplified maximum a posteriori data detection algorithm and a max-log maximum a posteriori data detection algorithm, or corresponding detector circuits. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of data detector circuits that may be used in relation to different embodiments of the present inventions.Data detector circuit 224 is started based upon availability of a data set fromY buffer 220 or from acentral memory circuit 230. - Upon completion,
data detector circuit 224 provides detectedoutput 226, or soft data. As used herein, the phrase “soft data” is used in its broadest sense to mean reliability data with each instance of the reliability data indicating a likelihood that a corresponding bit position or group of bit positions has been correctly detected. In some embodiments of the present inventions, the soft data or reliability data is log likelihood ratio data as is known in the art. Detectedoutput 226 is stored incentral memory circuit 230. The detectedoutput 232 is accessed fromcentral memory circuit 230 and provided to adecoder 234, such as, but not limited to, a low density parity check decoder. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize other decoding algorithms that may be used in relation to different embodiments of the present invention. Thedecoder 234 applies a data decode algorithm to detectedoutput 232 in a variable number of local iterations. - Where the
decoder 234 fails to converge (i.e., fails to yield the originally written data set) and a number of local iterations throughdecoder 234 exceeds a threshold, the resulting soft information can be provided as a decodedoutput 236 back tocentral memory circuit 230 where it is stored awaiting another global iteration throughdata detector circuit 224 anddecoder 234. Oncedata detector circuit 224 is available, a previously stored decodedoutput 240 is accessed fromcentral memory circuit 230 and is used to guide subsequent detection of a corresponding data set received as equalizeddata 222. Multiple sectors may be processed simultaneously in theread channel 200, with additional sectors being admitted to thedata detector 224 as other sectors converge in thedecoder 234 and are output and cleared from theY buffer 220 andcentral memory circuit 230. - Alternatively, where the decoded output converges (i.e., yields the originally written data set) in the
decoder 234, the resulting decoded output is provided as anoutput codeword 242 to a harddecision output circuit 244.Hard decisions 246 representing the actual bit or symbol values for the sector are provided to aread interface 250, which in some embodiments can perform additional error checking such as cyclic redundancy checks (CRC).Data 252 can then be forwarded to ahard disk controller 254 or other destination. Successfully decoded sectors can be combined in tracks in any suitable location, such as, but not limited to, inread interface 250 orhard disk controller 254. - Sectors that fail to converge in the
decoder 234 or that are miscorrected are kicked out of theread channel 200, meaning that the correspondingdecoder output 242 is output from the system along with an indication that the sector failed to converge. Data corresponding to failed sectors can either be cleared fromY buffer 220 andcentral memory 230, making room for another sector to be processed, or can be retained inY buffer 220 andcentral memory 230, allowing the failed sector to be reprocessed indata detector circuit 224 anddecoder 234 in track gaps between processing of other tracks. In some embodiments, failed sectors are retainedY buffer 220 andcentral memory 230 when no other sectors are waiting to be processed, although other criteria can be used to determine when to retain failed sectors. - Detection and decoding are controlled by a
scheduler 260, which can generate control signals (e.g., 266, 270, 272, 274) to control loading of sector data intomemories scheduler 260,metric information 256 can be received by thescheduler 260 from any suitable source for track quality classification, and status signals 262, 264 can be used to communicate track quality classifications to the controller, identifying bad failed tracks for which re-read and reprocess commands should be issued. - Turning to
FIG. 3A , a diagram 300 depicts reading of twosuccessive tracks first track 302 is read in afirst period 306 and thesecond track 304 is read in asecond period 310, with atrack gap 312 separating the twotrack reading periods latency period 314 follows eachtrack reading period 306, representing the latency from the end of the last read gate triggering the reading of a sector in thetrack 302 and the last kickout when the hard decisions for the last sector to be read in thetrack 302 is output. If thefirst track 302 fails to be successfully processed during itstrack reading period 306, the failed sectors in thetrack 302 can be reprocessed in thetrack gap 312 before theprocessing period 310 for thenext track 304. If the failedtrack 302 can be reprocessed in a period (e.g., 316) in thetrack gap 312, the failedtrack 302 is referred to herein as a good track. - In the diagram 330 of
FIG. 3B , areprocessing period 320 for another failed track is depicted. In this case, the failedtrack 302 cannot be reprocessed in thetrack gap 312 before the next track'sprocessing period 310 begins. The failedtrack 302 in the case ofFIG. 3B is referred to herein as a bad track. If the system were to attempt to reprocess the failedtrack 302 in thetrack gap 312, it would not complete before the controller initiated the read of thenext track 304, and the reprocessing would have to be terminated unsuccessfully. - The track quality classifier disclosed herein uses one or more metrics to determine whether a failed track can likely be successfully reprocessed within a track gap. Those identified as good failed tracks based on the metrics can likely be successfully reprocessed within a track gap and are allowed to be reprocessed during the track gap. Those identified as bad tracks based on the metrics likely cannot be successfully reprocessed within a track gap and are not allowed to be reprocessed during the track gap. Bad failed tracks are identified to the controller so that it can issue a retry for the failed track, causing it to be re-read and reprocessed during a normal track read period (e.g., 306 or 310).
- The track quality classification can be performed by a classification circuit in any location having access to metric information, such as in the
scheduler 260,controller 254 or in any other suitable location. Any suitable metric can be used to perform the track quality classification, and in some embodiments, multiple metrics are used in a joint metric. The suitability of a metric for use in track quality classification can depend on a number of factors, such as, for example, availability of data for the metric, whether the metric distinguishes between failed sectors that can be reprocessed in a track gap and those that cannot, and the whether the nature of the metric can be used to characterize sectors on the fly. - Turning to
FIG. 4A , aplot 400 depicts the flush out latency for good failedtracks 402 that can be reprocessed within a track gap and for bad failedtracks 404 that cannot be reprocessed within a track gap. Notably, the flush out latency is substantially overlapping for good failedtracks 402 and for bad failed tracks 404. In other words, there is not a particular measurement of flush out latency or a particular point on the X-axis that could be selected between flush out latency values for good failed tracks versus flush out latency values for bad failed tracks. Thus, flush out latency is not a good candidate for use as a metric for track quality classification to distinguish good failed tracks from bad failed tracks. -
FIG. 4B depicts acorresponding plot 410 withcurves FIG. 4A to distinguish good failed tracks from bad failed tracks, theplot 410 ofFIG. 4B could be used to optimize the threshold value to balance the probability of making the wrong decision on good tracks (incorrectly characterizing a good track as bad) versus the probability of making the wrong decision on bad tracks (incorrectly characterizing a bad track as good). - Turning to
FIG. 5A , aplot 420 depicts the number of failed sectors in agood track 422 and the number of failed sectors in abad track 424. Notably, there is a distinct difference in the number of failed sectors in good failed tracks and bad failed tracks, with a peak in the distribution in the number of failed sectors in agood track 422 at about 1 failed sector per good track, and a different peak in the distribution in the number of failed sectors in abad track 424 at about 6 failed sectors per bad track. A threshold in the number of failed sectors in a track could be used to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap. When reading a track, if one or more sectors failed to correctly converge during normal processing, the number of failed sectors in the track could be compared with the threshold, and if it was less than the threshold, indicating that the track was good, the system could attempt to reprocess the failed sectors of the track during the track gap. If the number of failed sectors in the track was greater than the threshold, indicating that the track was bad, the system would not attempt to reprocess the failed sectors of the track during the track gap, and would instead indicate to the controller that the track was not successfully read so that it could issue a retry command to re-read and reprocess the track during a different normal track processing period. - A corresponding
plot 430 inFIG. 5B depicts the probability of making the wrong decision on agood track 432 and the probability of making the wrong decision on abad track 434, respectively, at a given threshold for the number of failed sectors in a track. This comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to set the threshold level for the metric to be used as a track quality classifier. For example, to minimize the likelihood of the wrong threshold placement for both good failed tracks and bad failed tracks, and because the probabilities trend in different directions, the threshold could be placed at or near the crossover point to minimize the likelihood of the wrong threshold placement for both good failed tracks and bad failed tracks. If the impact of making one type of wrong decision is more significant than the other type of wrong decision, the threshold can be shifted one way or the other to reduce the likelihood of the more significant type of wrong decision. For example, if incorrectly characterizing a bad failed track as good and allowing the system to unsuccessfully attempt to reprocess it in a track gap is more problematic than incorrectly characterizing a good failed track as bad and not allowing the system to reprocess it in a track gap when it could have succeeded, then the threshold could be shifted to the left inFIG. 5B to reduce the likelihood of incorrectly characterizing a bad failed track as good. - Turning to
FIG. 6A , aplot 440 depicts the number of retained sectors in agood track 442 and the number of failed sectors in a bad track 444. Again, a retained sector is a sector that has failed to be correctly decoded and is retained in memory after kickout so that it can be reprocessed. There is a distinct difference in the number of retained sectors in good failed tracks and bad failed tracks, with a peak in the distribution in the number of retained sectors in agood track 442 at about 1.3 retained sectors per good track, and a different peak in the distribution in the number of failed sectors in a bad track 444 at above 6 retained sector per bad track. A threshold in the number of retained sectors in a track could be used to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap. - A corresponding
plot 450 inFIG. 6B depicts the probability of making the wrong decision on agood track 432 and the probability of making the wrong decision on abad track 434, respectively, at a given threshold for the number of retained sectors in a track. Again, this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier. For example, to minimize the likelihood of the wrong threshold placement for both good failed tracks and bad failed tracks, the threshold can be placed at or near the crossover point to minimize the likelihood of the wrong threshold placement for both good failed tracks and bad failed tracks. - Again, flush out latency is not a distinguishable metric as shown in
FIG. 4A . While the number of failed sectors and the number of retained sectors are distinguishable and can be used as a track quality classifier, the metric values are small integers and it is difficult to finely tune the classifier performance. For example, for both the number of failed sectors and the number of retained sectors, the crossing point is at around 4.5. The threshold could be set at either 4 or 5, which would favor one type of incorrect characterization at the expense of the other. If this type of skewed balance is desired, these would be good metrics to use for track quality classification, but if a more equal balance is desired, these may not be the best metrics to use. - Turning to
FIG. 7A , aplot 440 depicts the sum of the number of unsatisfied parity checks in failed sectors in agood track 442 and the sum of the number of unsatisfied parity checks in failed sectors in a bad track 444. As can be clearly seen, this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap. - A corresponding
plot 470 inFIG. 7B depicts the probability of making the wrong decision on agood track 472 and the probability of making the wrong decision on abad track 474, respectively, at a given threshold for the sum of the number of unsatisfied parity checks in failed sectors of a track. Again, this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier. For example, to minimize the likelihood of the wrong threshold placement for both good failed tracks and bad failed tracks, the threshold can be placed at or near the crossover point, in this case about 3000, to minimize the likelihood of the wrong threshold placement for both good failed tracks and bad failed tracks. Furthermore, because this metric has higher values, the balance between incorrect decisions on good tracks and incorrect decisions on bad tracks can be precisely adjusted. - There are two different distributions in the sum of the number of unsatisfied parity checks in failed sectors of good tracks and bad tracks because the reprocessing time is not directly linked to the number of unsatisfied checks. A trapping set in a low density parity check code for example might be very difficult and time consuming to recover from, for example requiring exhaustive and lengthy targeted symbol flipping to overcome, but might still have a relatively low number of unsatisfied parity checks, whereas another failure mode that results in a large number of unsatisfied parity checks might respond more quickly to retry operations and can therefore be reprocessed successfully within a track gap. When considered in the aggregate, different failure modes combine in such a way that separates the distribution of the metric for good tracks and bad tracks. This distinction is also true for many other types of metrics. By simulating many failed tracks, which might fail for any number of reasons, such as, but not limited to, inter-track interference, inter-symbol interference, external noise, trapping sets, etc., and determining how long successful reprocessing takes for those failed tracks, the resulting metrics associated with reprocessing the failed tracks can be analyzed to determine whether they are good metrics to use for track quality classification. Thus,
FIG. 7A indicates that failed tracks that can be successfully reprocessed within the track gap have a peak in the metric distribution at just over 0, and that failed tracks that cannot be successfully reprocessed within the track gap have a peak in the metric distribution at just over 4000. By comparing the probabilities of the two types of incorrect decisions inFIG. 7B , the threshold can be tuned to the crossover point, or can be skewed to favor one type of incorrect decision over the other. - Turning to
FIG. 8A , aplot 480 depicts the sum of the minimum mean square error in failed sectors in agood track 482 and the sum of the minimum mean square error in failed sectors in a bad track 484. As can be clearly seen, this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap. - A corresponding
plot 490 inFIG. 8B depicts the probability of making the wrong decision on agood track 492 and the probability of making the wrong decision on abad track 494, respectively, at a given threshold for the sum of the minimum mean square error in failed sectors of a track. Again, this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier, for example setting the threshold at or near the crossover point. - Turning to
FIG. 9A , aplot 500 depicts the sum of the error bits in failed sectors in agood track 502 and the sum of the error bits in failed sectors in abad track 504. As can be clearly seen, this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap. - A corresponding
plot 510 inFIG. 9B depicts the probability of making the wrong decision on agood track 512 and the probability of making the wrong decision on abad track 514, respectively, at a given threshold for the sum of the error bits in failed sectors of a track. Again, this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier, for example setting the threshold at or near the crossover point. - Turning to
FIG. 10A , aplot 520 depicts the sum of the number of unsatisfied parity checks in retained sectors in agood track 522 and the sum of the number of unsatisfied parity checks in retained sectors in abad track 524. As can be clearly seen, this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap. - A corresponding
plot 530 inFIG. 10B depicts the probability of making the wrong decision on agood track 532 and the probability of making the wrong decision on abad track 534, respectively, at a given threshold for the sum of the number of unsatisfied parity checks in retained sectors of a track. Again, this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier, for example setting the threshold at or near the crossover point. - Turning to
FIG. 11A , aplot 540 depicts the sum of the minimum mean square error in retained sectors in a good track 542 and the sum of the minimum mean square error in retained sectors in abad track 544. As can be clearly seen, this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap. - A corresponding
plot 550 inFIG. 11B depicts the probability of making the wrong decision on agood track 552 and the probability of making the wrong decision on abad track 554, respectively, at a given threshold for the sum of the minimum mean square error in retained sectors of a track. Again, this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier, for example setting the threshold at or near the crossover point. - Turning to
FIG. 12A , aplot 560 depicts the sum of the error bits in retained sectors in agood track 562 and the sum of the error bits in retained sectors in abad track 564. As can be clearly seen, this metric can be used with a threshold to distinguish good tracks from bad tracks when determining whether to reprocess a failed track in a track gap. - A corresponding
plot 570 inFIG. 12B depicts the probability of making the wrong decision on agood track 572 and the probability of making the wrong decision on abad track 574, respectively, at a given threshold for the sum of the error bits in retained sectors of a track. Again, this comparison between the probability of one type of incorrect characterization and the probability of the other type of incorrect characterization can be used to adjust the threshold level for the metric to be used as a track quality classifier, for example setting the threshold at or near the crossover point. - The single metric classifiers depicted in
FIGS. 7-12 have similar performance at the crossover point P(good→bad)=P(bad→good) where the probability of making the wrong decision on a good track equals the probability of making the wrong decision on a bad track. In some embodiments, the thresholds are adjusted using a cost matrix describing the cost of making wrong decisions according to P(good→bad)*cost(good→bad)+P(bad→good)*cost(bad→good). - In some embodiments, joint metrics are used as track quality classifiers by combining two or more of the single metrics disclosed above or of other single metrics. The single metric classifiers above can take the following format:
-
- Failed tracks are classified on the fly by comparing the metric with the threshold and making the decision according to the distinction above. The threshold can be user programmable, and in some embodiments, the choice of metric can be made on the fly, for example by storing a value in a user programmable register.
- Single metric classifiers are extended in some embodiments to joint metrics by introducing a cost function:
-
- The multivariate cost function ƒ can have any arbitrary format, such as, but not limited to, linear or non-linear, continuous or discontinuous, etc. The performance of a number of joint metric classifiers can be simulated for a particular data processing system in any computational system such as, for example, Matlab. For example, Matlab classifier simulations using the total number of unsatisfied parity checks and the minimum mean square error of all failed sectors and of normal process latency as joint metrics yield the following results for NaiveBayes, Discriminant, Tree and K-Nearest Neighbor (KNN) classifiers:
-
classifier: NaiveBayes bad 0 1 good 0.9611 0.038904 good bad -
classifier: Discriminant bad 0.09507 0.90493 good 0.99113 0.0088749 good bad -
classifier: Tree bad 0.18574 0.81426 good 0.99304 0.0069622 good bad -
classifier: KNN bad 0.20335 0.79665 good 0.99166 0.0083394 good bad - As shown in the tables above, the NaiveBayes classifier with joint metrics using the total number of unsatisfied parity checks and the minimum mean square error correctly identifies all bad tracks as bad tracks, correctly identifies about 96% of good tracks as good tracks, does not misidentify any bad tracks as good, and misidentifies only about 4% of good tracks as bad. The NaiveBayes classifier is therefore a good multivariate function to apply in the data processing system with joint metrics using the total number of unsatisfied parity checks and the minimum mean square error as a track quality classifier. This study assumes an equal cost of decision error of good→bad and bad→good, and hence minimizes the total decision error probability. As with single metric classifiers, the balance between the two types of misidentification errors can be controlled by minimizing cost function P(good→bad)*cost(good→bad)+P(bad→good).
- Turning to
FIG. 13 , a flow diagram 600 depicts an operation to classify track quality in a magnetic storage device in accordance with some embodiments of the present invention. Following flow diagram 600, tracks are processed in sequence in a data processing system. (Block 602) For example, in some embodiments, tracks are processed sector by sector, applying iterative data detection and decoding algorithms until data converges or until a limit on the number of iterations has been reached. Data for a track quality classification metric is gathered. (Block 604) Data can be gathered by any suitable circuit and in any suitable manner. For example, an accumulator can be used to add the number of unsatisfied parity checks in a decoder as the sectors in a track are being processed. For a track that fails to successfully decode in a normal processing period, calculate a track quality classification metric. (Block 606) As disclosed above, the track quality classification metric can be a single metric or a joint metric. Based on the track quality classification metric, determine whether reprocessing of the failed track can likely be completed within a track gap. (Block 608) The determination can be performed by comparing the metric or a multivariate multi-metric function with a threshold. If the track quality classification metric indicates that reprocessing of the failed track can likely be completed within a track gap, for example if the metric is less than a threshold, reprocess the failed track in a track gap. (Block 610) If the track quality classification metric indicates that reprocessing of the failed track likely cannot be completed within a track gap, for example if the metric is greater than or equal to a threshold, alert hard disk controller that the track read failed so that it can issue a retry for the track rather than allowing the track to be reprocessed in a track gap. (Block 612) - It should be noted that the various blocks discussed in the above application may be implemented in integrated circuits along with other functionality. Such integrated circuits may include all of the functions of a given block, system or circuit, or a subset of the block, system or circuit. Further, elements of the blocks, systems or circuits may be implemented across multiple integrated circuits. Such integrated circuits may be any type of integrated circuit known in the art including, but are not limited to, a monolithic integrated circuit, a flip chip integrated circuit, a multichip module integrated circuit, and/or a mixed signal integrated circuit. It should also be noted that various functions of the blocks, systems or circuits discussed herein may be implemented in either software or firmware. In some such cases, the entire system, block or circuit may be implemented using its software or firmware equivalent. In other cases, the one part of a given system, block or circuit may be implemented in software or firmware, while other parts are implemented in hardware.
- In conclusion, embodiments of the present invention provide novel systems, devices, methods and arrangements for track quality classification to determine whether failed tracks can be reprocessed in a track gap. While detailed descriptions of one or more embodiments of the invention have been given above, various alternatives, modifications, and equivalents will be apparent to those skilled in the art without varying from the spirit of the invention. Therefore, the above description should not be taken as limiting the scope of embodiments of the invention which are encompassed by the appended claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/949,657 US9653111B1 (en) | 2015-11-23 | 2015-11-23 | Track quality classifier |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/949,657 US9653111B1 (en) | 2015-11-23 | 2015-11-23 | Track quality classifier |
Publications (2)
Publication Number | Publication Date |
---|---|
US9653111B1 US9653111B1 (en) | 2017-05-16 |
US20170148482A1 true US20170148482A1 (en) | 2017-05-25 |
Family
ID=58670571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/949,657 Active US9653111B1 (en) | 2015-11-23 | 2015-11-23 | Track quality classifier |
Country Status (1)
Country | Link |
---|---|
US (1) | US9653111B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11080621B2 (en) | 2018-06-18 | 2021-08-03 | Western Digital Technologies, Inc. | Machine learning-based read channel data detection |
US11811425B2 (en) | 2021-05-18 | 2023-11-07 | Western Digital Technologies, Inc. | Neural network soft information detector in a read channel |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5564013A (en) * | 1992-06-22 | 1996-10-08 | Matsushita Electric Industrial Co., Ltd. | Optical information recording and reproducing apparatus adapted to optically record and reproduce data in a sector, and method thereof |
JP2002140875A (en) * | 2000-11-01 | 2002-05-17 | Matsushita Electric Ind Co Ltd | Disk player and disk reading method |
JP2004087028A (en) * | 2002-08-28 | 2004-03-18 | Toshiba Corp | Disk drive and data reproducing method |
US6982842B2 (en) * | 2002-09-16 | 2006-01-03 | Seagate Technology Llc | Predictive disc drive failure methodology |
US8780679B2 (en) * | 2007-07-31 | 2014-07-15 | Seagate Technology Llc | Partial-block off-track data recovery |
US7948699B2 (en) * | 2009-01-02 | 2011-05-24 | Lsi Corporation | Systems and methods for equalizer optimization in a storage access retry |
US8625216B2 (en) * | 2012-06-07 | 2014-01-07 | Lsi Corporation | Servo zone detector |
US8705192B1 (en) | 2012-10-12 | 2014-04-22 | Lsi Corporation | Enhanced quality-sorting scheduler |
US9053747B1 (en) | 2013-01-29 | 2015-06-09 | Western Digitial Technologies, Inc. | Disk drive calibrating failure threshold based on noise power effect on failure detection metric |
-
2015
- 2015-11-23 US US14/949,657 patent/US9653111B1/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11080621B2 (en) | 2018-06-18 | 2021-08-03 | Western Digital Technologies, Inc. | Machine learning-based read channel data detection |
US11348037B2 (en) | 2018-06-18 | 2022-05-31 | Western Digital Technologies, Inc. | Machine learning-based read channel data detection |
US11811425B2 (en) | 2021-05-18 | 2023-11-07 | Western Digital Technologies, Inc. | Neural network soft information detector in a read channel |
Also Published As
Publication number | Publication date |
---|---|
US9653111B1 (en) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8819527B2 (en) | Systems and methods for mitigating stubborn errors in a data processing system | |
US8810940B2 (en) | Systems and methods for off track error recovery | |
US20120207201A1 (en) | Systems and Methods for Data Detection Using Distance Based Tuning | |
US8949704B2 (en) | Systems and methods for mis-correction correction in a data processing system | |
US9785504B2 (en) | Systems and methods for overlapping parity sectors | |
EP2672483B1 (en) | Data processing system with retained sector reprocessing | |
US8775897B2 (en) | Data processing system with failure recovery | |
US9184954B1 (en) | Systems and methods for directed soft data perturbation in layered decoding | |
US9385758B2 (en) | Systems and methods for efficient targeted symbol flipping | |
US8908307B1 (en) | Systems and methods for hard disk drive region based data encoding | |
US9653111B1 (en) | Track quality classifier | |
US8848776B1 (en) | Systems and methods for multi-dimensional signal equalization | |
US8564897B1 (en) | Systems and methods for enhanced sync mark detection | |
US8762815B2 (en) | Systems and methods for data decoder state preservation during extended delay processing | |
US8850289B2 (en) | Quality based priority data processing with soft guaranteed iteration | |
US9804919B2 (en) | Systems and methods for correlation based data alignment | |
US8699164B1 (en) | Data recovery using no sync mark retry | |
US9076492B2 (en) | Systems and methods for rapid erasure retry decoding | |
US8819521B2 (en) | Systems and methods for short media defect detection using non-binary coded information | |
EP2670074A2 (en) | Systems and methods for data processing including EET feedback | |
US8996970B2 (en) | Systems and methods for positive feedback short media defect detection | |
US8910005B2 (en) | Systems and methods for selective retry data retention processing | |
US8732562B2 (en) | Systems and methods for improved short media defect detection | |
US20140108875A1 (en) | Systems and Methods for Indirect Information Assisted Media Defect Scan | |
US9472237B1 (en) | Systems and methods for side-track aided data recovery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WU, XUEBIN;YANG, YUQING;HAN, YANG;AND OTHERS;SIGNING DATES FROM 20151119 TO 20151124;REEL/FRAME:037198/0573 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001 Effective date: 20160201 Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001 Effective date: 20160201 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001 Effective date: 20170119 Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001 Effective date: 20170119 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047422/0464 Effective date: 20180509 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:048883/0702 Effective date: 20180905 |
|
AS | Assignment |
Owner name: BROADCOM INTERNATIONAL PTE. LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED;REEL/FRAME:053771/0901 Effective date: 20200826 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED, SINGAPORE Free format text: MERGER;ASSIGNORS:AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED;BROADCOM INTERNATIONAL PTE. LTD.;REEL/FRAME:062952/0850 Effective date: 20230202 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |