Efficient read and recovery with outer code

US11042439B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11042439-B1
Application numberUS-201615345440-A
CountryUS
Kind codeB1
Filing dateNov 7, 2016
Priority dateNov 7, 2016
Publication dateJun 22, 2021
Grant dateJun 22, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An apparatus may include a circuit configured to initialize a read operation to read one or more requested data segments of a respective data unit having a plurality of data segments. Based on a number of failed data segments of the requested data segments and an erasure capability of an outer code error correction scheme, the circuit may perform erasure recovery to recover the failed data segments. Based on the number of failed data segments, the erasure capability of the outer code error correction scheme, and a threshold value, the circuit may perform iterative outer code recovery to recover the failed data segments.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a circuit configured to: initialize a read operation to read multiple data segments of a respective data unit having a plurality of data segments; perform an inner decoder iterative decoding to recover data from a first data segment of the multiple data segments; determine if the first data segment has been recovered; when the first data segment has not been recovered, increment a fail counter; determine if a value of the fail counter is less than or equal to a threshold representing a sum of an erasure capability of an outer code error recovery and a number of hardware buffers available to store failed sample segments in a deferred decoding buffer; when the value of the fail counter is less than or equal to the threshold, store a sample of a respective failed segment in the deferred decoding buffer; when the value of the fail counter is greater than the threshold, discard the sample of the respective failed segment; once all segments of the plurality of data segments have had recovery attempted by the above process, perform deferred decoding of the failed sample segments stored in the deferred decoding buffer, the deferred decoding including variable-length decoding; decrement the value of the fail counter for each segment stored in the deferred decoding buffer that is successfully decoded via the deferred decoding; determine whether the fail counter is less than or equal to the erasure capability of the outer code recovery; when the value of the fail counter is less than the erasure capability, attempt to recover any remaining failed segments via erasure recovery including a segment-wise implementation of outer code recovery; and when the value of the fail counter is greater than the erasure capability, perform iterative outer code recovery via a symbol-wise implementation of outer code recovery to recover the failed data segments. 2. The apparatus of claim 1 , further comprising: the read operation being initialized to read a first number of data segments that is less than a second number of data segments included in an outer code block of the respective data unit; and the circuit further configured to: determine, at least in part based on the number of failed data segments, to extend the read operation to include more than the first number of data segments of the outer code block. 3. The apparatus of claim 1 , further comprising: a buffer; and the circuit further configured to: determine whether to store first samples of a first failed data segment in the buffer based on side information for the first failed data segment and side information for at least one second failed data segment corresponding to respective second samples stored in the buffer. 4. The apparatus of claim 3 , further comprising the side information including a data-success score representing one of a signal-to-noise ratio for the respective data segment and a residual mean squared error from an equalizer. 5. The apparatus of claim 1 , further comprising the circuit further configured to perform the symbol-wise implementation of outer code recovery at least in part by: performing a first iteration of inner code error correction on a plurality of symbol-based inner code words; performing a first iteration of outer code error correction on a plurality of symbol-based outer code words, wherein each symbol included in one of the inner code words is also included in one of the outer code words and wherein at least one of the outer code words is correctable; and performing a second iteration of inner code error correction on the plurality of symbol-based inner code words. 6. The apparatus of claim 1 , further comprising the circuit configured to perform error recovery for any failed segments that still are not recovered after the symbol-wise implementation of outer code recovery. 7. The apparatus of claim 6 , further comprising the error recovery includes an extended read of the unrecovered sectors. 8. The apparatus of claim 6 , further comprising the error recovery includes adjacent track interference cancellation. 9. The apparatus of claim 6 , further comprising the error recovery includes averaging of multiple samplings of a failed segment. 10. The apparatus of claim 6 , further comprising the error recovery may be employed only on failing sectors to reduce a number of failed segments. 11. A method of recovering data comprising: receiving one or more data segments of a respective data unit having a plurality of data segments; performing inner code iterative decoding to recover data from the data segments and increment a fail counter for each failed segment; for each failed segment, determining if a value of the fail counter is less than a threshold representing a sum of an erasure capability of an outer code error recovery and a number of hardware buffers available to store failed segments in a buffer; when the value of the fail counter is less than the threshold, storing a sample of a respective failed segment in the buffer; when the value of the fail counter is greater than the threshold, discarding the sample of the respective failed segment; performing deferred decoding of the failed segments stored in the buffer and decrement the value of the fail counter for each segment stored in the buffer that is successfully decoded via the deferred decoding, the deferred decoding including variable-length decoding and occurring before erasure recovery and iterative outer code recovery are attempted; determining whether the fail counter is less than the erasure capability of the outer code error correction scheme; when the value of the fail counter is less than the erasure capability, performing erasure recovery to recover the failed data segments; and when the value of the fail counter is greater than the erasure capability, performing iterative outer code recovery to recover the failed data segments. 12. The method of claim 11 , further comprising: receiving the one or more data segments includes performing a read operation on a data storage medium, the read operation being initialized to read a first number of data segments that is less than a second number of data segments included in an outer code block of the respective data unit; and determining, at least in part based on a number of failed data segments, to extend the read operation to include each segment of the outer code block. 13. The method of claim 11 , further comprising: determining whether to store first samples of a first failed data segment in the buffer based on side information for the first failed data segment, the side information including a decoding-success score that represents an amount of errors within a respective segment; and updating a counter of failed data segments in response to the deferred decoding recovering one or more of the failed data segments. 14. A device comprising: a buffer circuit; a data channel circuit configured to: initialize a read operation to read one or more requested data segments of a respective data unit having a plurality of data segments; perform inner code iterative decoding to recover data from the data segments, and and increment a fail counter for each failed segment; for each failed segment, determine if a value of the fail counter is less than a threshold representing a sum of an erasure capability of an outer code error recovery and a number of hardware buffers available to store failed segments in a buffer; when the value of the fail counter is less than the threshold, store a sample of a respective failed segment in the buffer; when the value of the fai

Assignees

Inventors

Classifications

  • using codes or arrangements adapted for a specific type of error (G06F11/1048 takes precedence) · CPC title

  • with iterative decoding · CPC title

  • with erasure setting · CPC title

  • omitting parity on parity · CPC title

  • Product codes · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11042439B1 cover?
An apparatus may include a circuit configured to initialize a read operation to read one or more requested data segments of a respective data unit having a plurality of data segments. Based on a number of failed data segments of the requested data segments and an erasure capability of an outer code error correction scheme, the circuit may perform erasure recovery to recover the failed data segm…
Who is the assignee on this patent?
Seagate Technology Llc
What technology area does this patent fall under?
Primary CPC classification H03M13/2912. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 22 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).