Decoding policy management to support multiple decoding schemes in a single buffer space

US11797396B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11797396-B2
Application numberUS-202016944039-A
CountryUS
Kind codeB2
Filing dateJul 30, 2020
Priority dateJul 30, 2020
Publication dateOct 24, 2023
Grant dateOct 24, 2023

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 error recovery process provides for selecting a first recovery scheme for a decoding attempt on a first subset of a set of failed data blocks read from a data track; selecting a second different recovery scheme for a decoding attempt on a second subset of the set of failed data blocks read from the data track; and during a single revolution of the data track, performing operations to decode a first subset of the failed data blocks according to the first recovery scheme operations to decode the second subset of the failed data blocks according to the second different recovery scheme.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving a set of failed data blocks from a storage medium during execution of a host-initiated read command; selecting a first number of decoder iterations to perform on each data block of a first subset of failed data blocks according to a first decoding policy associated with a primary recovery process; and selecting a second number of decoder iterations to perform on each data block of a second subset of failed data blocks according to a second different decoding policy associated with a secondary recovery process; and during a single revolution of the storage medium, performing operations of the primary recovery process on the first subset of the failed date blocks and operations of the secondary recovery process on the second subset of the failed data blocks, the first recovery process and the second recovery process being different types of recovery processes that each entail a decoding attempt by a detector and decoder. 2. The method of claim 1 , further comprising: reserving a first subset of sample buffers in a read channel to support the primary recovery process; and reserving a second subset of the sample buffers in the read channel to support the secondary recovery process. 3. The method of claim 1 , wherein at least one of the first decoding policy and the second decoding policy specifies a guaranteed maximum number of decoding iterations to be performed by a decoder. 4. The method of claim 1 , wherein at least one of the First decoding policy and the second decoding policy dynamically assigns a maximum number of decoding iterations to a data block sample based on channel elasticity. 5. The method of claim 1 , wherein at least one of the first decoding policy and the second decoding policy dynamically assigns a maximum number of decoding iterations to a data block sample based on quality metric computed with respect to the data block sample, the assigned number of decoding iterations being greater when the quality metric indicates the data block is of high quality than when the quality metric indicates the data is of low quality. 6. The method of claim 1 , wherein at least one of the first decoding policy and the second decoding policy provides for decoding the set of failed data blocks according to an order that is different than the order in which failed data blocks are arranged on the storage medium. 7. The method of claim 1 , wherein the first decoding policy allocates a first quantity of decoding time and the second decoding policy allocates a second quantity of decoding time such that the first decoding time and the second decoding time in aggregate equal a time in which a storage media makes a single revolution. 8. The method of claim 1 , wherein at least one of the first decoding policy and the second decoding policy dynamically assigns a maximum number of decoding iterations to a data block sample based on an associated data block location on the storage medium. 9. The method of claim 1 , wherein the primary recovery process is a read sample combining recovery process and wherein performing the operations of the primary recovery process includes executing multiple rounds of recovery operations on the set of failed data blocks, each of the multiple rounds entailing updates to previously-acquired samples based on newly-acquired samples and operations to decode the updated samples. 10. The method of claim 9 , wherein the secondary recovery process is a free retry recovery process, the free retry recovery process entailing operations to decode a newly-acquired sample not combined with any previously-acquired samples. 11. A system comprising: a read/write channel configured to: select a first recovery scheme for a decoding attempt on a first subset of a set of failed data blocks read from a data track of a storage medium; select a second recovery scheme for a decoding attempt on a second subset of the set of failed data blocks read from the data track, the first recovery scheme and the second recovery scheme being different types of recovery schemes that each entail a decoding attempt by a detector and decoder; select a first number of decoder iterations to perform on each data block of the first subset of failed data blocks according to a first decoding policy associated with the first recovery scheme; and select a second number of decoder iterations to perform on each data block of the second subset of failed data blocks according to a second decoding policy associated with the second recovery scheme; and during a single revolution of the storage medium, perform operations to decode the first subset of the failed data blocks according to the first recovery scheme and perform operations to decode the second subset of the failed data blocks according to the second recovery scheme. 12. The system of claim 11 , wherein the read/write channel is further configured to: reserve a first subset of sample buffers in a read channel to support the first recovery scheme; reserve a second subset of the sample buffers the read channel to support the second recovery scheme; and populate the first subset of the sample buffers with data read from the first subset of the set of failed data blocks and populate the second subset of the sample buffers with data read from the second subset of the data blocks. 13. The system of claim 11 , wherein the first recovery scheme is a read sample combining recovery scheme and wherein the second recovery scheme is a free retry recovery scheme. 14. One or more computer-readable storage media encoding computer-executable instructions for executing a computer process comprising: selecting a first recovery scheme for a decoding attempt on a first subset of a set of failed data blocks read from a data track on a storage medium; selecting a second recovery scheme for a decoding attempt on a second subset of the set of failed data blocks read from the data track, the first recovery scheme and the second recovery scheme being different types of recovery schemes that each entail a decoding attempt by a detector and decoder; selecting a first number of decoder iterations to perform on each data block of the first subset of faded data blocks according to a first decoding policy associated with the first recovery scheme; selecting a second number of decoder iterations to perform on each data block of the second subset of failed data blocks according to a second decoding policy associated with the second recovery scheme; and during a single revolution of the storage medium, performing operations to decode the first subset of the failed data, blocks according to the first recovery scheme and performing operations to decode the second subset of the failed data blocks according to the second recovery scheme. 15. The one or more computer-readable storage media of claim 14 , wherein the first recovery scheme is a read sample combining recovery scheme and wherein the second recovery scheme is a free retry recovery scheme. 16. The one or more computer-readable storage media of claim 14 , wherein at least one of the first decoding policy and the second decoding policy specifies a guaranteed maximum number of decoding iterations to be performed by a decoder. 17. The one or more computer-readable storage media of claim 14 , wherein at least one of the first decoding poky and the second decoding policy dynamically assigns a maximum number of decoding iterations to a data block sample based on channel elasticity.

Assignees

Inventors

Classifications

  • involving logging of persistent data for recovery · CPC title

  • Management of blocks · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Monitoring storage devices or systems · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · 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 US11797396B2 cover?
An error recovery process provides for selecting a first recovery scheme for a decoding attempt on a first subset of a set of failed data blocks read from a data track; selecting a second different recovery scheme for a decoding attempt on a second subset of the set of failed data blocks read from the data track; and during a single revolution of the data track, performing operations to decode …
Who is the assignee on this patent?
Seagate Technology Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/1471. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 24 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).