Systems and methods for configuring product codes for error correction in a hard disk drive
US-9214964-B1 · Dec 15, 2015 · US
US9632863B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9632863-B2 |
| Application number | US-201514595801-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 13, 2015 |
| Priority date | Jan 13, 2015 |
| Publication date | Apr 25, 2017 |
| Grant date | Apr 25, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In general, techniques are described for performing track-error-correcting code on data. A hard drive comprising a storage device and a read channel may be configured to perform the techniques. The read channel may be configured to read data from a track comprising a plurality of data sectors each comprising a plurality of bits, and a parity sector comprising a plurality of parity bits, wherein the data includes a plurality of bit groups, each bit group including a single bit from each data sector, and wherein each parity bit corresponds to a respective bit group, perform a track parity check, and, responsive to determining that the data includes an error, identify one or more data sectors as possible sources of the at least one error and adjust a log-likelihood ratio for at least one bit from the bit group.
Opening claim text (preview).
The invention claimed is: 1. A method comprising: reading, by a read channel of a hard drive, data from a track, wherein the track comprises a plurality of data sectors and a parity sector, wherein each data sector in the plurality of data sectors comprises a plurality of bits, wherein the parity sector comprises a plurality of parity bits, wherein the data includes a plurality of bit groups, each bit group including a single bit from each of the plurality of data sectors, wherein each parity bit from the plurality of parity bits corresponds to a respective bit group having a single bit from each of the plurality of data sectors, and wherein each parity bit indicates a binary characteristic of the respective bit group with which the parity bit is associated; determining, by the read channel and based at least in part on a bit group from the plurality of bit groups and a corresponding parity bit from the plurality of parity bits, whether the data from the track includes at least one error by performing a track parity check; and, responsive to determining that the data includes at least one error: identifying, by the read channel, one or more data sectors from the plurality of data sectors as one or more possible sources of the at least one error; and adjusting, by the read channel, a log-likelihood ratio for at least one bit from the bit group. 2. The method of claim 1 , wherein adjusting the log-likelihood ratio comprises: determining, by the read channel, the log-likelihood ratio for each bit in the bit group that corresponds to the one or more data sectors from the plurality of data sectors identified as the one or more possible sources of the at least one error; determining, by the read channel, a first magnitude of the log-likelihood ratio for a first error prone bit, wherein the first error prone bit is one of the bits for which a log-likelihood ratio is determined that has a log-likelihood ratio with the smallest magnitude; determining, by the read channel, a second magnitude of the log-likelihood ratio for a second error prone bit, wherein the second error prone bit is one of the bits for which a log-likelihood ratio is determined that has a log-likelihood ratio with the second smallest magnitude; and determining, by the read channel, an updated log-likelihood ratio for each bit for which a log-likelihood ratio is determined based on the first magnitude and the second magnitude. 3. The method of claim 2 , wherein determining the updated log-likelihood ratio comprises: determining, by the read channel, extrinsic information for the first error prone bit by at least: determining whether the log-likelihood ratio for the first error prone bit is positive or negative; determining a first product, wherein the first product is equal to the second magnitude in response to determining the log-likelihood ratio for the first error prone bit is positive, and wherein the first product is equal to the second magnitude multiplied by negative one in response to determining the log-likelihood ratio for the first error prone bit is negative; and determining the extrinsic information for the first error prone bit, wherein the extrinsic information is equal to the first product if the track parity check is satisfied, and wherein the extrinsic information is equal to the first product multiplied by negative one if the track parity check is not satisfied; determining, by the read channel, respective extrinsic information for a remainder of the bits for which a log-likelihood ratio is determined by at least: determining whether the log-likelihood ratio for the respective bit is positive or negative; determining a second product, wherein the second product is equal to the first magnitude in response to determining the log-likelihood ratio for the respective bit is positive, and wherein the second product is equal to the first magnitude multiplied by negative one in response to determining the log-likelihood ratio for the respective bit is negative; and determining the extrinsic information for the respective bit, wherein the extrinsic information is equal to the second product if the track parity check is satisfied, and wherein the extrinsic information is equal to the second product multiplied by negative one if the track parity check is not satisfied; and determining the updated log-likelihood for each bit for which a log-likelihood ratio is determined by adding the respective extrinsic information for the respective bit to the log-likelihood ratio for the respective bit. 4. The method of claim 1 , wherein performing a track parity check comprises: performing, by the read channel, an XOR operation on each bit in the bit group to obtain a result bit; and comparing, by the read channel, the result bit to the parity bit that corresponds to the respective bit group. 5. The method of claim 4 , wherein determining that an error is present in the data from the track comprises determining, by the read channel and based on the comparison of the result bit to the parity bit, that the result bit is different than the parity bit. 6. The method of claim 1 , the method further comprising: for each data sector in the plurality of data sectors, performing, by the read channel, at least one sector parity check using the plurality of bits in each respective data sector. 7. The method of claim 6 , wherein the sector parity check is a first sector parity check performed before the track parity check, the method further comprising: for each data sector in the plurality of data sectors, performing, by the read channel, a second sector parity check using the plurality of bits in each respective data sector after performing the track parity check. 8. The method of claim 7 , further comprising: responsive to performing the second sector parity check, alternating, by the read channel, performing a track parity check and performing a sector parity check using the plurality of bits in each respective data sector until there are no errors in the data from the track. 9. The method of claim 6 , wherein the plurality of bits in each data sector of the plurality of data sectors comprise a plurality of data bits and one or more parity bits. 10. The method of claim 9 , wherein performing the sector parity check comprises: performing, by the read channel, at least one sector parity check equation comprising an XOR operation on a subset of the plurality of data bits to obtain at least one result bit; and comparing, by the read channel, the at least one result bit to a respective one of the one or more parity bits. 11. The method of claim 1 , wherein the track parity check is a first track parity check, the method further comprising: determining, by the read channel and based at least in part on the bit group from the plurality of bit groups and the corresponding parity bit from the plurality of parity bits, that the data does not contain any errors by at least performing a second track parity check, wherein performing the second track parity check comprises: performing, by the read channel, an XOR operation on each bit in the bit group to obtain a result bit; and comparing, by the read channel, the result bit to the parity bit that corresponds to the respective bit group, and wherein determining that the data does not contain any errors comprises determining, by the read channel and based on the comparison of a result bit to the parity bit, that the result bit is the same as the parity bit. 12. The method of claim 1 , further comprising: determining, by the read channel, an index value, wherein the index value indicates a bit group of the plurality of bit groups that the read channel wil
Error control coding in combination with demodulation · CPC title
Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms · CPC title
Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.