Data storage device with syndrome weight minimization for data alignment

US11449236B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11449236-B2
Application numberUS-202016864257-A
CountryUS
Kind codeB2
Filing dateMay 1, 2020
Priority dateMay 1, 2020
Publication dateSep 20, 2022
Grant dateSep 20, 2022

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.

A memory controller that includes, in one implementation, a memory interface and a controller circuit. The memory interface is configured to interface with a non-volatile memory. The controller circuit is configured to receive a skewed codeword read from the non-volatile memory. The controller circuit is also configured to scan the skewed codeword by inserting or removing a quantity of bits at different locations in the skewed codeword and determining resulting syndrome weights of the skewed codeword. The controller circuit is further configured to determine an adjusted codeword by inserting or removing the quantity of bits at one of the different locations in the skewed codeword which results in a smallest syndrome weight. The controller circuit is also configured to decode the adjusted codeword.

First claim

Opening claim text (preview).

What is claimed is: 1. A memory controller, comprising: a memory interface configured to interface with a non-volatile memory; and a controller circuit configured to: receive a skewed codeword read from the non-volatile memory, scan the skewed codeword by inserting or removing a quantity of bits at different locations in the skewed codeword and determining resulting syndrome weights of the skewed codeword, determine an adjusted codeword by inserting or removing the quantity of bits at one of the different locations in the skewed codeword which results in a smallest syndrome weight, and decode the adjusted codeword; and wherein, to scan the skewed codeword, the controller circuit is further configured to: scan the skewed codeword in first-sized steps that are larger than one bit, determine a search location in the skewed codeword as one of the different locations for the first-sized steps which results in the smallest syndrome weight, and scan the skewed codeword in second-sized steps near the search location until the resulting syndrome weight of the skewed codeword is below a decoding threshold, the second-sized steps being smaller than the first-sized steps. 2. The memory controller of claim 1 , wherein, to scan the skewed codeword, the controller circuit is further configured to scan the skewed codeword until the resulting syndrome weight of the skewed codeword is below a decoding threshold. 3. The memory controller of claim 1 , wherein, to scan the skewed codeword, the controller circuit is further configured to: determine a bit error rate based on the smallest syndrome weight, determine two candidate locations near the search location based on the bit error rate, and scan the skewed codeword at the two candidate locations. 4. The memory controller of claim 1 , wherein the skewed codeword is a first skewed codeword read from a first memory unit of the non-volatile memory, wherein the adjusted codeword is a first adjusted codeword, and wherein the controller circuit is further configured to: receive a second skewed codeword read from a second memory unit of the non-volatile memory, wherein the second memory unit follows the first memory unit, determine a second adjusted codeword by inserting or removing the quantity of bits at a location of a most significant bit in the second skewed codeword, and decode the second adjusted codeword. 5. The memory controller of claim 1 , wherein the quantity of bits includes more than one bit. 6. The memory controller of claim 1 , wherein, to scan the skewed codeword, the controller circuit is further configured to scan the skewed codeword in the second-sized steps of one bit. 7. A method, comprising: receiving, with a controller circuit, a skewed codeword read from a non-volatile memory; scanning, with the controller circuit, the skewed codeword by inserting or removing a quantity of bits at different locations in the skewed codeword and determining resulting syndrome weights of the skewed codeword; determining, with the controller circuit, an adjusted codeword by inserting or removing the quantity of bits at one of the different locations in the skewed codeword which results in a smallest syndrome weight; and decoding, with the controller circuit, the adjusted codeword; and wherein the scanning the skewed codeword further includes: scanning the skewed codeword in first-sized steps that are larger than one bit, determining a search location in the skewed codeword as one of the different locations for the first-sized steps which results in the smallest syndrome weight, determining a bit error rate based on the smallest syndrome weight, determining two candidate locations near the search location based on the bit error rate, and scanning the skewed codeword at the two candidate locations. 8. The method of claim 7 , wherein the scanning the skewed codeword further includes scanning the skewed codeword until the resulting syndrome weight of the skewed codeword is below a decoding threshold. 9. The method of claim 7 , wherein the scanning the skewed codeword further includes: scanning the skewed codeword in second-sized steps near the search location until the resulting syndrome weight of the skewed codeword is below a decoding threshold, and wherein the second-sized steps are smaller than the first-sized steps. 10. The method of claim 7 , wherein the skewed codeword is a first skewed codeword read from a first memory unit of the non-volatile memory, wherein the adjusted codeword is a first adjusted codeword, and wherein the method further comprises: receiving, with the controller circuit, a second skewed codeword read from a second memory unit of the non-volatile memory, wherein the second memory unit follows the first memory unit; determining, with the controller circuit, a second adjusted codeword by inserting or removing the quantity of bits at a location of a most significant bit in the second skewed codeword, and decoding, with the controller circuit, the second adjusted codeword. 11. The method of claim 7 , wherein the quantity of bits includes more than one bit. 12. The method of claim 7 , wherein the scanning the skewed codeword further includes scanning the skewed codeword in second-sized steps of one bit. 13. An apparatus, comprising: means for interfacing with a non-volatile memory; means for receiving a skewed codeword read from the non-volatile memory; means for scanning the skewed codeword by inserting or removing a quantity of bits at different locations in the skewed codeword and determining resulting syndrome weights of the skewed codeword; means for determining an adjusted codeword by inserting or removing the quantity of bits at one of the different locations in the skewed codeword which results in a smallest syndrome weight; and means for decoding the adjusted codeword; and wherein the means for scanning the skewed codeword is configured to: scan the skewed codeword in first-sized steps that are larger than one bit, determine a search location in the skewed codeword as one of the different locations for the first-sized steps which results in the smallest syndrome weight, and scan the skewed codeword in second-sized steps near the search location until the resulting syndrome weight of the skewed codeword is below a decoding threshold, the second-sized steps being smaller than the first-sized steps. 14. The apparatus of claim 13 , wherein the means for scanning the skewed codeword is configured to scan the skewed codeword until the resulting syndrome weight of the skewed codeword is below a decoding threshold. 15. The apparatus of claim 13 , wherein the means for scanning the skewed codeword is configured to: determine a bit error rate based on the smallest syndrome weight, determine two candidate locations near the search location based on the bit error rate, and scan the skewed codeword at the two candidate locations. 16. An apparatus, comprising: means for interfacing with a non-volatile memory; means for receiving a skewed codeword read from the non-volatile memory; means for scanning the skewed codeword by inserting or removing a quantity of bits at different locations in the skewed codeword and determining resulting syndrome weights of the skewed codeword; means for determining an adjusted codeword by inserting or removing the quantity of bits at one of the different locations in the skewed codeword which results in a smallest syndrome weight; and means for decoding the adjusted codeword; and wherein the means for scanning the skewed codeword is configured to: sca

Assignees

Inventors

Classifications

  • using a set of candidate code words, e.g. ordered statistics decoding [OSD] · CPC title

  • by updating bit probabilities or hard decisions in an iterative fashion for convergence to a final decoding result · CPC title

  • Adaptation to the number of estimated errors or to the channel state · CPC title

  • G06F3/0619Primary

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

  • Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 · 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 US11449236B2 cover?
A memory controller that includes, in one implementation, a memory interface and a controller circuit. The memory interface is configured to interface with a non-volatile memory. The controller circuit is configured to receive a skewed codeword read from the non-volatile memory. The controller circuit is also configured to scan the skewed codeword by inserting or removing a quantity of bits at …
Who is the assignee on this patent?
Western Digital Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 20 2022 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).