IP Library Granted Patent US 11,449,236
Granted Patent B2
US 11,449,236 · App. 16/864,257 · Granted Sep 20, 2022

Data storage device with syndrome weight minimization for data alignment

Inventors: David Avraham (Even Yehuda, IL); Omer Fainzilber (Herzliya, IL); Mark Shlick (Ganey-Tikva, IL); Yoav Markus (Tel-Aviv, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0619G06F3/0659H03M13/37
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,449,236
App. No.
16/864,257
Granted
Sep 20, 2022
Kind
B2
Abstract

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.

Claims (70)

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:

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,

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.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 053926 FRAME 0446 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0321 →
SECURITY INTEREST Recorded Sep 29, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053926/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2020
From: AVRAHAM, DAVID; FAINZILBER, OMER; SHLICK, MARK; MARKUS, YOAV
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 052546/0497 →
Continuity (1)
Related Publication 20210342095A1 · Nov 4, 2021
Cited By (1)
US 12,373,283