IP Library Granted Patent US 11,522,563
Granted Patent B1
US 11,522,563 · App. 17/500,653 · Granted Dec 6, 2022

Processor instructions for iterative decoding operations

Inventors: Alexander Bazarsky (Holon, IL); Ran Zamir (Ramat Gan, IL); Eran Sharon (Rishon Lezion, IL)
Assignee: Western Digital Technologies, Inc.
H03M13/3746G06F11/1076H03M13/45
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,522,563
App. No.
17/500,653
Granted
Dec 6, 2022
Kind
B1
Abstract

A storage circuit is configured to store multiple vectors associated with variable and check nodes of an iterative decoding operation. As part of the iterative decoding operation, a processor circuit is configured to retrieve, from the storage circuit, an intermediate value vector, a first estimation vector, a second estimation vector, and a sign vector, and determine an absolute value of the intermediate value vector. The processor circuit is also configured, using the retrieved vectors, to generate updated values for the first and second estimation vectors as part of determining a bit estimate for a check node included in the iterative decoding operation.

Claims (44)

1. An apparatus, comprising:

a storage circuit configured to store a plurality of vectors associated with an iterative decoding operation; and

one or more processor cores, wherein a given processor core of the processor cores is configured to:

retrieve a subset of the plurality of vectors that includes a first intermediate value vector, a first estimation vector, a second estimation vector, and a sign vector;

determine an absolute value of the first intermediate value vector;

generate an updated value for the first estimation vector using the absolute value of the first intermediate value vector;

generate an updated value for the second estimation vector using the absolute value of the first intermediate value vector, the updated value of the first estimation vector, and a current value of the second estimation vector; and

generate an updated value for the sign vector of the plurality of vectors using a current value of the sign vector and a sign of the first intermediate value vector.

2. The apparatus of claim 1 , wherein to generate the updated value for the first estimation vector, the given processor core is further configured to:

determine a difference between the absolute value of the first intermediate value vector and the updated value for the first estimation vector;

determine a product of the difference and a coefficient; and

generate a corrected value for the first estimation vector using the updated value of the first estimation vector and the product.

3. The apparatus of claim 1 , wherein to generate the updated value for the first estimation vector, the given processor core is further configured to generate a corrected value for the first estimation vector using a coefficient and the updated value of the first estimation vector.

4. The apparatus of claim 1 , wherein the given processor core is further configured to:

determine an absolute value of a second intermediate value vector of the plurality of vectors; and

generate, in parallel to a generation of the updated value for the first estimation vector, an updated value for a third estimation vector of the plurality of vectors using a current value of the third estimation vector and the absolute value of the second intermediate value vector.

5. The apparatus of claim 1 , wherein the first intermediate value vector is included in a plurality of intermediate vectors stored in a corresponding one of a plurality of registers included in the storage circuit, and wherein the given processor core is further configured to:

change respective registers in which the plurality of intermediate vectors are stored; and

retrieve the first intermediate value vector from its new storage location prior to a determination of the absolute value of the first intermediate value vector.

6. The apparatus of claim 1 , wherein to generate the updated value for the first estimation vector, the given processor core is further configured to:

perform a comparison of the updated value for the first estimation vector to a threshold value; and

adjust the updated value for the first estimation vector using results of the comparison.

7. A method, comprising:

receiving, by a given processor core of a plurality of processor cores, a first intermediate value vector, a first estimation vector, a second estimation vector, and a sign vector;

determining, by the given processor core, an absolute value of the first intermediate value vector;

generating, by the given processor core, an updated value for the first estimation vector with a minimum of a current value of the first estimation vector and the absolute value of the first intermediate value vector;

generating, by the given processor core, an updated value for the second estimation vector with a minimum of the updated value of the first estimation vector, the absolute value of the first intermediate value vector, and a current value of the second estimation vector; and

generating, by the given processor core, an updated value for the sign vector using a current value of the sign vector and a sign of the first intermediate value vector.

8. The method of claim 7 , wherein generating the updated value for the first estimation vector includes:

determining, by the given processor core, a difference between the absolute value of the first intermediate value vector and the updated value for the first estimation vector;

determining, by the given processor core, a product of the difference and a coefficient; and

generating, by the given processor core, a corrected value for the first estimation vector using the updated value of the first estimation vector and the product.

9. The method of claim 7 , wherein generating the updated value for the first estimation vector includes generating, by the given processor core, a corrected value for the first estimation vector using a coefficient and the updated value of the first estimation vector.

10. The method of claim 7 , further comprising:

receiving a second intermediate value vector, a third estimation vector, a fourth estimation vector, and a second sign vector;

determining a second absolute value of the second intermediate value vector; and

generating, in parallel to generating the updated value for the first estimation vector, an updated value for the third estimation vector with a second minimum of a current value of the third estimation vector and the second absolute value of the second intermediate value vector.

11. The method of claim 7 , wherein the first intermediate value vector is included in a plurality of intermediate value vectors stored in corresponding ones of a plurality of registers, and wherein the method further includes:

changing respective registers in which the plurality of intermediate value vectors are stored; and

retrieving, by the given processor core, the first intermediate value vector from its new storage location prior to a determination of the absolute value of the first intermediate value vector.

12. The method of claim 7 , wherein generating the updated value for the first estimation vector includes:

performing, by the given processor core, a comparison of the updated value for the first estimation vector to a threshold value; and

adjusting, by the given processor core, the updated value for the first estimation vector using results of the comparison.

13. The method of claim 12 , wherein adjusting the updated value of the first estimation vector includes selecting a minimum value of the updated value for the first estimation vector and the threshold value.

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 058426 FRAME 0815 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0679 →
SECURITY INTEREST Recorded Dec 9, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 058426/0815 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: BAZARSKY, ALEXANDER; ZAMIR, RAN; SHARON, ERAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 057784/0126 →