IP Library Granted Patent US 11,211,949
Granted Patent B2
US 11,211,949 · App. 16/824,519 · Granted Dec 28, 2021

Dynamic multi-stage decoding

Inventors: Jun Tao (Ladera Ranch, CA); Niang-Chu Chen (Irvine, CA)
Assignee: Western Digital Technologies, Inc.
H03M13/3746G06F11/1012G06F11/1068G11C29/52H03M13/1108H03M13/1111H03M13/3715H03M13/3738H03M13/6325H03M13/1105
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,211,949
App. No.
16/824,519
Granted
Dec 28, 2021
Kind
B2
Abstract

Methods and systems for decoding raw data may include determining a sequence of a plurality of read-level voltages based on previous decoding data and executing a multi-stage decoding operation to decode raw data read from the plurality of memory cells using the determined sequence of the plurality of read-level voltages. Decoded data is returned from the multi-stage decoding operation upon completion of the multi-stage decoding operation and the previous decoding data is updated based on results of the multi-stage decoding operation.

Claims (72)

1. A machine-implemented method, comprising:

identifying, based on successful data decoding, a sequence of read-level voltages, to be used for decoding operations;

executing a first hard decoding operation, on a first data read from a plurality of memory cells, using a first read-level voltage in the sequence;

after the first hard decoding operation is unsuccessful, executing a second hard decoding operation, on the first data, using a second read-level voltage in the sequence;

after the second hard decoding operation is unsuccessful, executing a multi-stage decoding operation to decode the first data; and

based on a successful decoding operation, updating a successful data decoding indication and providing successfully decoded data,

wherein:

the multi-stage decoding operation includes up to two or more hard decoding operations,

each unsuccessful hard decoding operation of the multi-stage decoding operation is followed by up to two or more soft decoding operations of the multi-stage decoding operation, and

after the unsuccessful first hard decoding operation on the first data using the first read-level voltage and after the unsuccessful second hard decoding operation on the first data using the second read-level voltage, when a read-level voltage of a third hard decoding operation of a particular stage of the multi-stage decoding operation is same as the first read-level voltage of the unsuccessful first hard decoding operation, the third hard decoding operation on the first data is skipped, and one or more soft decoding operations of the particular stage are executed.

2. The machine-implemented method of claim 1 ,

wherein each unsuccessful hard decoding operation of the multi-stage decoding operation is followed by up to two or more soft decoding operations of the multi-stage decoding operation, regardless of availability of another hard decoding operation, and

wherein two or more consecutive soft decoding operations are executed without re-reading the plurality of memory cells.

3. The machine-implemented method of claim 1 ,

wherein each stage of the multi-stage decoding operation is associated with one respective read-level voltage from another sequence,

wherein each stage of the multi-stage decoding operation includes up to one hard decoding operation and up to multiple soft decoding operations.

4. The machine-implemented method of claim 3 , wherein the identifying the sequence of the read-level voltages comprises selecting the sequence from a plurality of predetermined sequences.

5. The machine-implemented method of claim 1 , wherein each stage of the multi-stage decoding operation comprises one or more decoding operations for decoding raw data read from the plurality of memory cells using a respective read-level voltage from another sequence of the read-level voltages corresponding to the stage, and

wherein the stages of the multi-stage decoding operation are executed sequentially until one of the one or more decoding operations in one of the stages successfully decodes the raw data read from the plurality of memory cells.

6. The machine-implemented method of claim 1 , wherein the updating the successful data decoding indication comprises incrementing a counter value corresponding to a read-level voltage of the read-level voltages used to obtain the successfully decoded data, and

wherein the sequence of the read-level voltages is determined based on the counter value.

7. The machine-implemented method of claim 6 , wherein the successful data decoding indication comprises counter values of a plurality of respective counters corresponding to the read-level voltages, and

wherein the identifying the sequence of the read-level voltages comprises ordering the read-level voltages according to the counter values of the respective counters.

8. The machine-implemented method of claim 1 , wherein:

each unsuccessful hard decoding operation of the multi-stage decoding operation is followed next by up to two or more soft decoding operations of the multi-stage decoding operation; and

the two or more soft decoding operations performed after the respective unsuccessful hard decoding operation, are executed without re-reading the plurality of memory cells.

9. The machine-implemented method of claim 1 , wherein:

the updating the successful data decoding indication allows a second sequence of read-level voltages to be determined based on the successful data decoding indication;

all hard decoding operations and all soft decoding operations of the multi-stage decoding operation use a default sequence of read-level voltages that is independent of successful data decoding and that is not adjusted over time; and

none of the hard decoding operations and the soft decoding operations of the multi-stage decoding operation uses the sequence of read-level voltages identified based on the successful data decoding.

10. A data storage system, comprising:

non-volatile memory comprising a plurality of memory cells; and

a controller configured to cause:

identifying, based on successful data decoding, a sequence of read-level voltages, to be used for decoding operations;

executing a first hard decoding operation, on a first data read from the plurality of memory cells, using a first read-level voltage in the sequence;

after the first hard decoding operation is unsuccessful, executing a second hard decoding operation, on the first data, using a second read-level voltage in the sequence;

after the second hard decoding operation is unsuccessful, executing a multi-stage decoding operation to decode the first data; and

based on a successful decoding operation, updating a successful data decoding indication and providing successfully decoded data,

wherein:

the multi-stage decoding operation includes up to two or more hard decoding operations,

the controller is configured to cause each unsuccessful hard decoding operation of the multi-stage decoding operation to be followed by up to two or more soft decoding operations of the multi-stage decoding operation, and

after the unsuccessful first hard decoding operation on the first data using the first read-level voltage and after the unsuccessful second hard decoding operation on the first data using the second read-level voltage, when a read-level voltage of a third hard decoding operation of a particular stage of the multi-stage decoding operation is same as the first read-level voltage of the unsuccessful first hard decoding operation, the controller is configured to skip the third hard decoding operation on the first data and configured to execute one or more soft decoding operations of the particular stage.

11. The data storage system of claim 10 ,

wherein the controller is configured to cause each unsuccessful hard decoding operation of the multi-stage decoding operation to be followed by up to two or more soft decoding operations of the multi-stage decoding operation, regardless of availability of another hard decoding operation, and

wherein the controller is configured to cause executing two or more consecutive soft decoding operations without re-reading the plurality of memory cells.

12. The data storage system of claim 10 ,

wherein each stage of the multi-stage decoding operation is associated with one respective read-level voltage from another sequence,

wherein each stage of the multi-stage decoding operation includes up to one hard decoding operation and up to multiple soft decoding operations.

13. The data storage system of claim 10 , wherein each stage of the multi-stage decoding operation comprises one or more decoding operations for decoding raw data read from the plurality of memory cells using a respective read-level voltage from another sequence of the read-level voltages corresponding to the stage, and

wherein the controller is configured to cause, executing the stages of the multi-stage decoding operation, sequentially until one of the one or more decoding operations in one of the stages successfully decodes the raw data read from the plurality of memory cells.

14. The data storage system of claim 10 , wherein the updating the successful data decoding indication comprises incrementing a counter value corresponding to a read-level voltage of the read-level voltages used to obtain the successfully decoded data, and

wherein the controller is configured to cause identifying the sequence of the read-level voltages based on the counter value.

15. The data storage system of claim 14 , wherein the successful data decoding indication comprises counter values of a plurality of respective counters corresponding to the read-level voltages, and

wherein the identifying the sequence of the read-level voltages comprises ordering the read-level voltages according to the counter values of the respective counters.

16. The data storage system of claim 10 , wherein the controller is configured to cause identifying the sequence of the read-level voltages, following completion of a plurality of read requests since the sequence was last identified.

17. The data storage system of claim 10 , wherein the controller is configured to cause executing all hard decoding operations of the multi-stage decoding operation using another sequence of the read-level voltages, and

wherein the controller is configured to cause executing all soft decoding operations of the multi-stage decoding operation using the another sequence of read-level voltages.

18. An apparatus, comprising:

means for identifying, based on successful data decoding, a sequence of read-level voltages, to be used for decoding operations;

means for executing a first hard decoding operation, on a first data read from a plurality of memory cells, using a first read-level voltage in the sequence;

means for, after the first hard decoding operation is unsuccessful, executing a second hard decoding operation, on the first data, using a second read-level voltage in the sequence;

means for, after the second hard decoding operation is unsuccessful, executing a multi-stage decoding operation to decode the first data; and

based on a successful decoding operation, means for updating a successful data decoding indication and means for providing successfully decoded data,

wherein:

the multi-stage decoding operation includes up to two or more hard decoding operations,

the apparatus comprises means for causing each unsuccessful hard decoding operation of the multi-stage decoding operation to be followed by up to two or more soft decoding operations of the multi-stage decoding operation, and

after the unsuccessful first hard decoding operation on the first data using the first read-level voltage and after the unsuccessful second hard decoding operation on the first data using the second read-level voltage, when a read-level voltage of a third hard decoding operation of a particular stage of the multi-stage decoding operation is same as the first read-level voltage of the unsuccessful first hard decoding operation, the apparatus comprises means for skipping the third hard decoding operation on the first data, and means for executing one or more soft decoding operations of the particular stage.

19. The apparatus of claim 18 ,

wherein the apparatus comprises means for causing each unsuccessful hard decoding operation of the multi-stage decoding operation to be followed by up to two or more soft decoding operations of the multi-stage decoding operation, regardless of availability of another hard decoding operation, and

wherein the apparatus comprises means for executing two or more consecutive soft decoding operations without re-reading the plurality of memory cells.

20. The apparatus of claim 18 , wherein the successful data decoding indication comprises counter values of a plurality of respective counters corresponding to the read-level voltages, and

wherein the means for identifying the sequence of the read-level voltages comprises means for ordering the read-level voltages according to the counter values of the respective counters.

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 - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 053482 FRAME 0453 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0279 →
SECURITY INTEREST Recorded May 14, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053482/0453 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2020
From: TAO, JUN; CHEN, NIANG-CHU
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 052304/0427 →
Continuity (2)
Continuation 15846020 · Dec 18, 2017
Related Publication 20200220562A1 · Jul 9, 2020