IP Library Granted Patent US 11,347,581
Granted Patent B2
US 11,347,581 · App. 16/859,494 · Granted May 31, 2022

System for accelerated training of bit output timings

Inventors: Robert Ellis (Phoenix, AZ); Atif Hussain (Denver, CO); Venugopal Garuda (Denver, CO); Kevin O'Toole (Chandler, AZ); Todd Lindberg (Phoenix, AZ)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F11/1028G06F3/0604G06F3/0647G06F3/0679G06F11/0727G06F11/0751G06F13/1678
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,347,581
App. No.
16/859,494
Granted
May 31, 2022
Kind
B2
Abstract

Aspects of a storage device including a controller memory, a die memory, and a plurality of accumulators corresponding to individual DQs are provided for accelerated DQ training and error detection. A controller stores first data in the controller memory, transfers second data to the die memory over an n-bit bus, and receives n bits of the second data from the die memory based on a DQS. The controller then compares n bits of the first data with n bits of the second data to produce n bit results received into respective accumulators, and the controller simultaneously updates different accumulators in response to bit mismatches. During DQ training, if an accumulator value meets a mismatch threshold, the controller modifies a DQS-DQ timing accordingly. During error detection of a read scrambled page, if an accumulator value does not meet an entropy threshold, the controller identifies an error associated with the page.

Claims (38)

1. A storage device, comprising:

a controller memory and a die memory;

a controller configured to store first data in the controller memory, to transfer second data to the die memory over a bus having an n-bit width, and to compare n bits of the first data with n bits of the second data to produce n bit results; and

a plurality of accumulators each corresponding to one of the n bit results and including a first accumulator and a second accumulator;

wherein the controller is further configured to update the first accumulator in response to a first one of the n bit results indicating a first mismatch, and to simultaneously update the second accumulator in response to a second one of the n bit results indicating a second mismatch.

2. The storage device of claim 1 ,

wherein the controller is further configured to receive the n bits of the second data from the die memory based on a data strobe;

wherein the data strobe is offset with respect to a first one of the n bits of the second data by a first timing, and wherein the data strobe is offset with respect to a second one of the n bits of the second data by a second timing; and

wherein the controller is further configured to determine whether a first value of the first accumulator or a second value of the second accumulator meet a mismatch threshold, to modify the first timing when the first value meets the mismatch threshold, and to modify the second timing when the second value meets the mismatch threshold.

3. The storage device of claim 2 , wherein the controller is further configured to modify the first timing based on the first value and to modify the second timing based on the second value.

4. The storage device of claim 1 , wherein the second data transferred to the die memory comprises the first data.

5. The storage device of claim 1 , wherein the second data transferred to the die memory comprises a page from a non-volatile memory.

6. The storage device of claim 5 , wherein the controller is further configured to determine whether at least one of a first value of the first accumulator or a second value of the second accumulator does not meet an entropy threshold, and to identify an error associated with the page based on the determination.

7. The storage device of claim 1 , wherein the controller is further configured to compare the first data with the second data using one or more exclusive-or (XOR) gates or exclusive-nor (XNOR) gates.

8. A storage device, comprising:

a controller memory and a die memory;

a controller configured to store first data in the controller memory, to transfer second data to the die memory over a bus having an n-bit width, to receive n bits of the second data from the die memory based on a data strobe, and to compare n bits of the first data with the n bits of the second data to produce n bit results, wherein the data strobe is offset with respect to a first one of the n bits of the second data by a first timing, and wherein the data strobe is offset with respect to a second one of the n bits of the second data by a second timing; and

a plurality of accumulators each corresponding to one of the n bit results and including a first accumulator and a second accumulator, wherein the controller is further configured to update the first accumulator in response to a first one of the n bit results indicating a first mismatch, and to simultaneously update the second accumulator in response to a second one of the n bit results indicating a second mismatch;

wherein the controller is further configured to determine whether a first value of the first accumulator or a second value of the second accumulator meet a mismatch threshold, to modify the first timing when the first value meets the mismatch threshold, and to modify the second timing when the second value meets the mismatch threshold.

9. The storage device of claim 8 , wherein the controller is further configured to modify the first timing based on the first value and to modify the second timing based on the second value.

10. The storage device of claim 8 , wherein the second data transferred to the die memory comprises the first data.

11. The storage device of claim 8 , wherein the second data transferred to the die memory comprises a page from a non-volatile memory.

12. The storage device of claim 11 , wherein the controller is further configured to determine whether at least one of the first value of the first accumulator or the second value of the second accumulator does not meet an entropy threshold, and to identify an error associated with the page based on the determination.

13. The storage device of claim 8 , wherein the controller is further configured to compare the first data with the second data using one or more exclusive-or (XOR) gates or exclusive-nor (XNOR) gates.

14. A storage device, comprising:

a controller memory and a die memory;

a controller configured to store first data in the controller memory, to transfer second data to the die memory over a bus having an n-bit width, and to compare n bits of the first data with n bits of the second data to produce n bit results; and

a plurality of accumulators each corresponding to one of the n bit results and including a first accumulator and a second accumulator, wherein the controller is further configured to update the first accumulator in response to a first one of the n bit results indicating a first mismatch, and to simultaneously update the second accumulator in response to a second one of the n bit results indicating a second mismatch;

wherein the controller is further configured to determine whether at least one of a first value of the first accumulator or a second value of the second accumulator does not meet an entropy threshold, and to identify an error associated with the second data based on the determination.

15. The storage device of claim 14 ,

wherein the controller is further configured to receive the n bits of the second data from the die memory based on a data strobe;

wherein the data strobe is offset with respect to a first one of the n bits of the second data by a first timing, and wherein the data strobe is offset with respect to a second one of the n bits of the second data by a second timing; and

wherein the controller is further configured to determine whether the first value of the first accumulator or the second value of the second accumulator meet a mismatch threshold, to modify the first timing when the first value meets the mismatch threshold, and to modify the second timing when the second value meets the mismatch threshold.

16. The storage device of claim 15 , wherein the controller is further configured to modify the first timing based on the first value and to modify the second timing based on the second value.

17. The storage device of claim 14 , wherein the second data transferred to the die memory comprises the first data.

18. The storage device of claim 14 , wherein the second data transferred to the die memory comprises a page from a non-volatile memory.

19. The storage device of claim 14 , wherein the controller is further configured to compare the first data with the second data using one or more exclusive-or (XOR) gates.

20. The storage device of claim 14 , wherein the controller is further configured to compare the first data with the second data using one or more exclusive-nor (XNOR) gates.

Assignments (11)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FIRST NAME OF THE FIFTH ASSIGNOR PREVIOUSLY RECORDED ON REEL 052506 FRAME 0277. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 29, 2020
From: ELLIS, ROBERT; HUSSAIN, ATIF; GARUDA, VENUGOPAL; O'TOOLE, KEVIN; LINDBERG, TODD
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 052522/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2020
From: ELLIS, ROBERT; HUSSAIN, ATIF; GARUDA, VENUGOPAL; O'TOOLE, KEVIN; LINDBERG, TODD LINDBERG
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 052506/0277 →
Continuity (1)
Related Publication 20210334028A1 · Oct 28, 2021
Cited By (1)
US 12,367,160