IP Library Granted Patent US 8,767,471
Granted Patent B2
US 8,767,471 · App. 13/752,823 · Granted Jul 1, 2014

Systems and methods for auto-calibration of a storage memory controller

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 8,767,471
App. No.
13/752,823
Granted
Jul 1, 2014
Kind
B2
Abstract

Systems and methods for auto-calibrating a storage memory controller are disclosed. In some embodiments, the systems and methods may be realized as a method for auto-calibrating a storage memory controller including instructing a controllable delay circuit to delay a read strobe signal at one of a plurality of delay settings, receiving data captured at a data latch using the delayed read strobe signal, selecting an adjustment factor from the plurality of delay settings using a multi-scale approach, based on an accuracy of the data captured at the data latch, and instructing the controllable delay circuit to delay the read strobe signal by the adjustment factor.

Claims (51)

1. A system comprising:

a controllable delay circuit configured to receive a read strobe signal from a flash memory device and to delay the read strobe signal;

a data latch, coupled to the controllable delay circuit, configured to receive the delayed read strobe signal, and to capture data from the flash memory device using the delayed read strobe signal; and

a calibration circuit coupled to the controllable delay circuit, configured to:

instruct the controllable delay circuit to delay the read strobe signal at one of a plurality of delay settings,

receive data captured at the data latch using the read strobe signal delayed at the one of the plurality of delay settings,

select an adjustment factor from the plurality of delay settings, based on an accuracy of the data captured at the data latch, using a multi-scale approach, for delaying the read strobe signal, wherein the multi-scale approach is designed to determine the adjustment factor iteratively by, at each iteration, fine-tuning an intermediate adjustment factor determined at a previous iteration, and

instruct the controllable delay circuit to delay the read strobe signal by the adjustment factor so that the data latch captures sufficiently accurate data during subsequent memory read operations.

2. The system of claim 1 , wherein the calibration circuit is configured to select the adjustment factor from the plurality of delay settings by

identifying a first plurality of delay settings from the plurality of delay settings,

selecting an intermediate adjustment factor from the first plurality of delay settings for the controllable delay circuit, based on an accuracy of the data captured at the data latch, determining a second plurality of delay settings based on the intermediate adjustment factor,

instructing the controllable delay circuit to delay the read strobe signal at one of the second plurality of delay settings, and

selecting the adjustment factor for the controllable delay circuit from the second plurality of delay settings based on data captured at the data latch using the read strobe signal delayed at the one of the second plurality of delay settings.

3. The system of claim 2 , wherein the calibration circuit is configured to determine the second plurality of delay settings by selecting delay settings around the intermediate adjustment factor.

4. The system of claim 2 , wherein a minimum difference between any two of the first plurality of delay settings is greater than a minimum difference between any two of the second plurality of delay settings.

5. The system of claim 1 , wherein the calibration circuit is configured to determine the accuracy of the data captured at the data latch by comparing the data captured at the data latch to the data stored at the flash memory device.

6. The system of claim 1 , wherein the calibration circuit is configured to determine that two of the plurality of delay settings provide a substantially similar accuracy of the captured data at the data latch, and in response to the determination, the calibration circuit is further configured to select as the adjustment factor one of the two delay settings associated with a smaller amount of delay.

7. The system of claim 1 , wherein the read strobe signal is a repeating signal.

8. The system of claim 7 , wherein the calibration circuit is configured to receive the data captured over multiple periods of the read strobe signal, and to count a number of times the captured data matches the data in the flash memory device.

9. A computer program product tangibly embodied in a non-transitory computer-readable storage medium, the computer program product including instructions operable to cause a data processing apparatus to:

instruct a controllable delay circuit to delay a read strobe signal, received from a flash memory device, at one of a plurality of delay settings;

receive data captured at a data latch, coupled to the controllable delay circuit, using the read strobe signal delayed at the one of the plurality of delay settings;

select an adjustment factor from the plurality of delay settings using a multi-scale approach, based on an accuracy of the data captured at the data latch, wherein the multi-scale approach is designed to determine the adjustment factor iteratively by, at each iteration, fine-tuning an intermediate adjustment factor determined at a previous iteration, and

instruct the controllable delay circuit to delay the read strobe signal by the adjustment factor so that the data latch captures sufficiently accurate data during subsequent memory read operations.

10. The computer program product of claim 9 , wherein the data from the flash memory device comprises at least one bit, and the read strobe signal comprises a repeating signal.

11. The computer program product of claim 9 , wherein instructions operable to cause the data processing apparatus to select the adjustment factor from the plurality of delay settings comprises instructions operable to cause the data processing apparatus to:

identify a first plurality of delay settings from the plurality of delay settings,

select an intermediate adjustment factor from the first plurality of delay settings for the controllable delay circuit, based on an accuracy of the data captured at the data latch using the read strobe signal delayed at the one of the first plurality of delay settings,

determine a second plurality of delay settings based on the intermediate adjustment factor, and

select the adjustment factor for the controllable delay circuit from the second plurality of delay settings based on data captured at the data latch using the read strobe signal delayed at the one of the second plurality of delay settings.

12. The computer program product of claim 11 , wherein instructions operable to cause the data processing apparatus to determine the second plurality of delay settings comprises instructions operable to cause the data processing apparatus to select at least two of the plurality of delay settings around the intermediate adjustment factor.

13. The computer program product of claim 11 , wherein a minimum difference between any two of the first plurality of delay settings is greater than a minimum difference between any two of the second plurality of delay settings.

14. The computer program product of claim 9 , further comprising instructions operable to cause the data processing apparatus to:

determine that two of the plurality of delay settings provide a substantially similar accuracy of the captured data at the data latch, and

in response to the determination, select as the adjustment factor one of the two delay settings associated with a smaller amount of delay.

15. A method comprising:

instructing a controllable delay circuit to delay a read strobe signal, received from a flash memory device, at one of a plurality of delay settings;

receiving data captured at a data latch, coupled to the controllable delay circuit, using the read strobe signal delayed by the controllable delay circuit at the one of the plurality of delay settings;

selecting an adjustment factor from the plurality of delay settings using a multi-scale approach, based on an accuracy of the data captured at the data latch, wherein the multi-scale approach is designed to determine the adjustment factor iteratively by, at each iteration, fine-tuning an intermediate adjustment factor determined at a previous iteration; and

instructing the controllable delay circuit to delay the read strobe signal by the adjustment factor so that the data latch captures sufficiently accurate data during subsequent memory read operations.

16. The method of claim 15 , wherein selecting the adjustment factor from the plurality of delay settings comprises:

identifying a first plurality of delay settings from the plurality of delay settings;

selecting an intermediate adjustment factor from the first plurality of delay settings for the controllable delay circuit, based on an accuracy of the data captured at the data latch using the read strobe signal delayed at the one of the first plurality of delay settings;

determining a second plurality of delay settings based on the intermediate adjustment factor; and

selecting the adjustment factor for the controllable delay circuit from the second plurality of delay settings based on data captured at the data latch using the read strobe signal delayed at the one of the second plurality of delay settings.

17. The method of claim 16 , wherein a minimum difference between any two of the first plurality of delay settings is greater than a minimum difference between any two of the second plurality of delay settings.

18. The method of claim 16 , wherein determining the second plurality of delay settings comprises selecting at least two of the plurality of delay settings around the intermediate adjustment factor.

19. The method of claim 15 , further comprising:

determining that two of the plurality of delay settings provide a substantially similar accuracy of the captured data at the data latch; and

in response to the determination, selecting as the adjustment factor one of the two delay settings associated with a smaller amount of delay.

20. The method of claim 15 , wherein the read strobe signal includes a repeating signal.

Assignments (12)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
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 May 16, 2018
From: HGST TECHNOLOGIES SANTA ANA, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046174/0446 →
CHANGE OF NAME Recorded Aug 4, 2015
From: STEC, INC.
To: HGST TECHNOLOGIES SANTA ANA, INC.
Reel/Frame 036275/0435 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: CHEN, TSAN LIN
To: STEC, INC.
Reel/Frame 031992/0760 →