IP Library Granted Patent US 10,180,874
Granted Patent B2
US 10,180,874 · App. 15/614,140 · Granted Jan 15, 2019

Storage device operations based on bit error rate (BER) estimate

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 10,180,874
App. No.
15/614,140
Granted
Jan 15, 2019
Kind
B2
Abstract

A data storage device may include a memory and a controller that includes an error correction coding (ECC) decoder configured to operate in a plurality of decoding modes. The controller also includes a bit error rate estimator configured to determine, based on data received from the memory, bit error rate estimates for ECC codewords from the memory. The controller also includes a data path management unit configured to reorder the codewords based on the bit error rate estimates and to provide the reordered codewords to the ECC decoder.

Claims (63)

1. A data storage device comprising:

a memory; and

a controller including:

an error correction coding (ECC) decoder configured to operate in a plurality of decoding modes;

a bit error rate estimator configured to determine, based on data received from the memory, bit error rate estimates for codewords from the memory; and

a data path management unit configured to reorder the codewords based on the bit error rate estimates and to provide the reordered codewords to the ECC decoder.

2. The data storage device of claim 1 , wherein reordering the codewords reduces average decoding latency of the codewords as compared to decoding the codewords according to an order that the codewords are received, by the controller, from the memory.

3. The data storage device of claim 1 , further comprising a first queue coupled to the ECC decoder.

4. The data storage device of claim 3 , wherein the data path management unit is further configured to reorder the codewords to position codewords with lower bit error rate estimates closer to a front of the first queue than codewords with higher bit error rate estimates.

5. The data storage device of claim 4 , wherein the data path management unit is further configured to:

determine, for each of the codewords, a delay estimate indicating how long the codeword will remain in the first queue;

compare the delay estimates to a delay threshold; and

in response to one or more of the delay estimates exceeding the delay threshold, move the one or more codewords associated with the one or more of the delay estimates closer to the front of the first queue.

6. The data storage device of claim 3 , further comprising a second queue, wherein the data path management unit is further configured to:

determine, for each of the codewords, a decoding mode associated with the codeword;

in response to one or more of the codewords being associated with a first decoding mode, insert the one or more of the codewords that are associated with the first decoding mode into the first queue; and

in response to one or more of the codewords being associated with a second decoding mode, insert the one or more of the codewords that are associated with the second decoding mode into the second queue.

7. The data storage device of claim 6 , wherein in response to a failure to decode a particular codeword according to the first decoding mode, the data path management unit is further configured to insert the particular codeword into the second queue.

8. The data storage device of claim 7 , wherein the data path management unit is further configured to determine a position of the particular codeword in the second queue based on a bit error rate estimate of the particular codeword.

9. The data storage device of claim 8 , wherein the data path management unit is further configured to determine the position further based on a delay threshold.

10. The data storage device of claim 3 , wherein:

the ECC decoder includes:

a first decoder; and

a second decoder; and

the data path management unit is further configured to:

in response to detecting that a first codeword and a second codeword are to be decoded at the second decoder according to a second decoding mode and that other codewords are to be decoded at the first decoder according to a first decoding mode, to position one or more of the other codewords between the first codeword and the second codeword in the first queue;

dequeue the first codeword and initiate decode processing of the first codeword at the second decoder; and

while the decode processing of the first codeword is ongoing at the second decoder, sequentially dequeue and decode the one or more of the other codewords at the first decoder.

11. The data storage device of claim 1 , wherein the bit error rate estimates include syndrome weight.

12. A method comprising:

receiving error correction coding (ECC) codewords from a memory;

determining, based on data received from the memory, bit error rate estimates for the codewords;

reordering the codewords based on the bit error rate estimates; and

providing the reordered codewords to an ECC decoder that is configured to operate in a plurality of decoding modes.

13. The method of claim 12 , wherein reordering the codewords reduces average decoding latency of the codewords as compared to decoding the codewords according to a received order of the codewords.

14. The method of claim 12 , wherein reordering the codewords comprises:

determining a position of each of the codewords in a queue;

determining, for each of the codewords, a delay estimate indicating how long the codeword will remain in the queue; and

in response to one or more of the delay estimates exceeding a delay threshold, moving the one or more codewords associated with the one or more of the delay estimates closer to the front of the queue.

15. The method of claim 12 , further comprising:

determining, for each of the codewords, a decoding mode associated with the codeword;

in response to one or more of the codewords being associated with a first decoding mode, inserting the one or more of the codewords that are associated with the first decoding mode into a first queue;

in response to one or more of the codewords being associated with a second decoding mode, inserting the one or more of the codewords that are associated with the second decoding mode into the second queue; and

in response to a failure to decode a particular codeword according to the first decoding mode, inserting the particular codeword into a second queue.

16. The method of claim 12 , further comprising:

in response to detecting that a first codeword and a second codeword are to be decoded at a second decoder of the ECC decoder according to a second decoding mode and that other codewords are to be decoded at a first decoder of the ECC decoder according to a first decoding mode, positioning one or more of the other codewords between the first codeword and the second codeword in a queue;

dequeuing the first codeword and initiating decode processing of the first codeword at the second decoder; and

while the decode processing of the first codeword is ongoing at the second decoder, sequentially dequeuing and decoding the one or more of the other codewords at the first decoder.

17. An apparatus comprising:

means for storing data;

means for error correction coding (ECC) decoding in a plurality of decoding modes;

means for determining, based on data received from the means for storing data, bit error rate estimates for codewords from the means for storing data;

means for reordering the codewords based on the bit error rate estimates; and

means for providing the reordered codewords to the means for ECC decoding.

18. The apparatus of claim 17 , wherein the means for providing the reordered codewords includes means for enqueuing, the means for enqueuing coupled to the means for ECC decoding.

19. The apparatus of claim 18 , wherein the means for reordering is further configured to position codewords with lower bit error rate estimates closer to a front of the means for enqueuing than codewords with higher bit error rate estimates.

20. The apparatus of claim 18 , wherein:

the means for ECC decoding includes:

first means for decoding according to a first mode; and

second means for decoding according to a second mode; and

the means for providing the reordered codewords includes:

first means for enqueuing coupled to the first means for decoding; and

second means for enqueuing coupled to the second means for decoding.

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 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2017
From: BAZARSKY, ALEXANDER; SHARON, ERAN; RYABININ, YURI; DUMCHIN, YAN; ALROD, IDAN; NAVON, ARIEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 042602/0133 →