IP Library › Granted Patent US 12,367,943
Granted Patent B2
US 12,367,943 · App. 17/359,442 · Granted Jul 22, 2025

Reference voltage adjustment per path for high speed memory signaling

Inventors: Arvind Kumar (Palo Alto, CA); Dean-Dexter R. Eugenio (Folsom, CA); John R. Goles (Folsom, CA)
Assignee: Intel Corporation
G11C29/10G06N20/00G11C29/12005
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 12,367,943
App. No.
17/359,442
Filed
Jun 25, 2021
Granted
Jul 22, 2025
Kind
B2
Art Unit
2112
USPC
714/721
Abstract

In a memory system, receiver reference voltage adjustment per path provides the capability to adjust receiver reference voltages on a per path basis. Adjustment of receiver reference voltages for the memory device to an optimal receiver reference voltage per path is accomplished with dedicated mode registers and a local receiver voltage reference adjuster circuit in the memory device for each data path. The optimal receiver reference voltage is determined during training based on selected feedback per path from the memory device. The dedicated mode registers contain adjustment values that were previously programmed during training, and include adjustments steps to add to or subtract from a global receiver reference voltage for all paths until reaching the optimal receiver reference voltage for a current path.

Claims (73)

1. A memory device comprising:

an input/output (I/O) interface to divide a data stream into two or more paths through a memory device;

a mode register to store adjustment values programmed by a host of the memory device using a training feedback for local receiver reference voltages (local Rx Vrefs) per each of the two or more paths through the memory device, the training feedback including retrieval of data from the memory device;

a global Rx Vref value for all paths through the memory device, programmed by the host of the memory device using the training feedback for the local Rx Vrefs; and

circuitry to adjust a local receiver reference voltage (local Rx Vref) for a path of a data stream received in the memory device, including to:

obtain the global Rx Vref value for all paths,

access the mode register to obtain an adjustment value for the path of the data stream received in the memory device,

adjust the global Rx Vref value for all paths using the adjustment value to obtain an adjusted local Rx Vref for the path, wherein the adjusted local Rx Vref is to ensure a least number of errors in the data stream received in the memory device.

2. The memory device of claim 1 , wherein the adjustment values were previously programmed by the host using the global Rx Vref value for all paths and adjusted local Rx Vrefs per each of the two or more paths through the memory device found to ensure a least number of errors in data exchanged between the host and the memory device, the adjustment values to compensate for a difference between the global Rx Vref and the adjusted local Rx Vref value for the path.

3. The memory device of claim 1 , the adjustment values programmed by the host using the training feedback is an average of adjusted local Rx Vrefs the circuitry determined for all paths, the average representing a midpoint of a range of the local Rx Vrefs per path for which a positive training feedback was received, wherein the positive training feedback matched known data for each path into which data streams for the local Rx Vrefs were divided.

4. The memory device of claim 3 , wherein:

the training feedback includes results from a functional block of the memory device for the path into which the data stream was divided, the functional block including any of a dynamic random access memory (DRAM), a register clock driver (“RCD”) and a data buffer; and

the positive training feedback includes the training feedback matching expected results from the functional block of the memory device, the expected results including known data for the path into which the data stream was divided during training.

5. The memory device of claim 3 , wherein the global Rx Vref value for all paths of the data stream was programmed by the host using any of the average of the adjusted local Rx Vrefs per path and a selected one of the adjusted local Rx Vrefs per path.

6. The memory device of claim 2 , wherein:

the mode register to store the adjustment values includes one or more adjustment steps of a predetermined size and a sign bit; and

the circuitry to adjust the local Rx Vref includes circuitry to:

access the mode register to obtain the one or more adjustment steps of the predetermined size and the sign bit, and

any of add to or subtract from the global Rx Vref value, based on the sign bit, the one or more adjustment steps of the predetermined size until reaching the adjusted local Rx Vref for the path found to ensure the least number of errors in the data stream received in the memory device.

7. The memory device of claim 1 , further comprising a loopback circuitry in which the training feedback was generated without having access to data retrieved from the memory device.

8. The memory device of claim 1 , wherein:

the I/O interface to divide the data stream into two or more paths through the memory device, including an interleave circuitry capable of dividing an interleaved data stream into N paths, each path corresponding to a unit interval (UI) of the interleaved data stream; and

wherein the data stream including any of a data signal (DQ) and a command/address (CA) signal streamed to the memory device.

9. The memory device of claim 1 , further comprising a memory module in which the memory device is contained, the memory module including a Dual Inline Memory Module (DIMM).

10. A method comprising:

in a circuit of a memory device, adjusting a local receiver reference voltage (local Rx Vref) for a path through the memory device, including:

accessing a global Rx Vref for all paths through the memory device, the global Rx Vref having been previously programmed by a host of the memory device using a training feedback for local Rx Vrefs per each of two or more paths through the memory device, the training feedback including retrieval of data from the memory device,

accessing adjustment values having been previously programmed by the host of the memory device using the training feedback for the local Rx Vrefs per each of the two or more paths through the memory device;

receiving a data stream for the path, the data stream having been divided into two or more paths; and

adjusting the global Rx Vref for all paths using an adjustment value to obtain an adjusted local Rx Vref for the path, wherein the adjusted local Rx Vref for the path is to ensure a least number of errors in the data stream received in the memory device.

11. The method of claim 10 , wherein the adjustment values were previously programmed by the host using the global Rx Vref for all paths and adjusted local Rx Vrefs per each of the two or more paths through the memory device found to ensure a least number of errors in data exchanged between the host and the memory device, the adjustment values to compensate for a difference between the global Rx Vref and the adjusted local Rx Vref for the path.

12. The method of claim 11 , the adjustment values programmed by the host using the training feedback is an average of the adjusted local Rx Vrefs the circuit determined for all paths, the average representing a midpoint of a range of the local Rx Vrefs per path for which a positive training feedback was received, wherein the positive training feedback matched known data for each path into which data streams for the local Rx Vrefs were divided.

13. The method of claim 12 , wherein:

the training feedback includes results from a functional block of the memory device for the path into which the data stream was divided, the functional block including any of a dynamic random access memory (DRAM), a register clock driver (“RCD”) and a data buffer; and

the positive training feedback includes the training feedback matching expected results from the functional block of the memory device, the expected results including known data for the path into which the data stream was divided during training.

14. The method of claim 13 , wherein the global Rx Vref for all paths of the data stream was programmed by the host using any of the average of the adjusted local Rx Vrefs per path and a selected one of the adjusted local Rx Vrefs per path.

15. The method of claim 10 , wherein:

the adjustment values includes one or more adjustment steps of a predetermined size and a sign bit; and

adjusting the local Rx Vref includes:

accessing the one or more adjustment steps of the predetermined size and the sign bit, and

any of adding to or subtracting from the global Rx Vref, based on the sign bit, the one or more adjustment steps of the predetermined size until reaching the adjusted local Rx Vref for the path found to ensure the least number of errors in the data stream received in the memory device.

16. The method of claim 10 , wherein the adjusted local Rx Vref for the path results in a performance characteristic indicating an improved voltage margin.

17. The method of claim 10 , wherein any of:

the training feedback is generated in a loopback circuitry of the memory device, without having access to data retrieved from the memory device;

the memory device is an N-way interleave memory device including an interleave circuit capable of dividing an interleaved data stream into N paths, each path corresponding to a unit interval (UI) of the interleaved data stream;

the data stream includes any of a data signal (DQ) and a command/address (CA) signal streamed to the memory device; and

the memory device is contained in a memory module, the memory module including a Dual Inline Memory Module (DIMM).

18. A system comprising:

a memory device;

a host of the memory device;

an input/output (I/O) interface to divide a data stream into two or more paths through the memory device;

a mode register to store adjustment values programmed by the host of the memory device using a training feedback for local receiver reference voltages (local Rx Vrefs) per each of the two or more paths through the memory device, the training feedback including retrieval of data from the memory device;

a global Rx Vref value for all paths through the memory device, programmed by the host of the memory device using the training feedback for the local Rx Vrefs; and

circuitry to adjust a local receiver reference voltage (local Rx Vref) for a path of a data stream received in the memory device, including to:

obtain the global Rx Vref value for all paths,

access the mode register to obtain an adjustment value for the path of the data stream received in the memory device,

adjust the global Rx Vref value for all paths using the adjustment value to obtain an adjusted local Rx Vref for the path, wherein the adjusted local Rx Vref is to ensure a least number of errors in the data stream received in the memory device.

19. The system of claim 18 , wherein the adjustment values were previously programmed by the host using the global Rx Vref value for all paths and adjusted local Rx Vrefs per each of the two or more paths through the memory device found to ensure a least number of errors in data exchanged between the host and the memory device, the adjustment values to compensate for a difference between the global Rx Vref and the adjusted local Rx Vref value for the path.

20. The system of claim 19 , the adjustment values programmed by the host using the training feedback is an average of the adjusted local Rx Vrefs the circuitry determined for all paths, the average representing a midpoint of a range of the local Rx Vrefs per path for which a positive training feedback was received, wherein the positive training feedback matched known data for each path into which data streams for the local Rx Vrefs were divided.

21. The system of claim 20 , wherein:

the training feedback includes results from a functional block of the memory device for the path into which the data stream was divided, the functional block including any of a dynamic random access memory (DRAM), a register clock driver (“RCD”) and a data buffer; and

the positive training feedback includes the training feedback matching expected results from the functional block of the memory device, the expected results including known data for the path into which the data stream was divided during training.

22. The system of claim 20 , wherein the global Rx Vref value for all paths of the data stream was programmed by the host using any of the average of the adjusted local Rx Vrefs per path and a selected one of the adjusted local Rx Vrefs per path.

23. The system of claim 18 , wherein:

the adjustment values stored in the mode register include one or more adjustment steps of a predetermined size and a sign bit; and

the circuitry to adjust the local Rx Vref includes circuitry to:

access the one or more adjustment steps of the predetermined size and the sign bit;

any of add to or subtract from the global Rx Vref value, based on the sign bit, the one or more adjustment steps of the predetermined size until reaching the adjusted local Rx Vref for the path found to ensure the least number of errors in the data stream received in the memory device.

24. The system of claim 18 , wherein any of:

the training feedback was generated in a loopback circuitry of the memory device without having access to data retrieved from the memory device;

the data stream includes any of a data signal (DQ) and a command/address (CA) signal streamed to the memory device;

the memory device is contained in a memory module, the memory module including a Dual Inline Memory Module (DIMM); and

the memory device is an N-way interleave memory device in which the I/O interface to divide the data stream into two or more paths through the memory device includes an interleave circuitry capable of dividing an interleaved data stream into N paths, each path corresponding to a unit interval (UI) of the interleaved data stream.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2021
From: KUMAR, ARVIND; EUGENIO, DEAN-DEXTER R.; GOLES, JOHN R.
To: INTEL CORPORATION
Reel/Frame 056898/0071 →
Continuity (1)
Related Publication 20210327524A1 · Oct 21, 2021
References Cited (13)
US 8089813B2 · Dreps · 2012 [cited by examiner]
US 8547135B1 · Yarlagadda · 2013 [cited by examiner]
US 8599967B2 · Hollis · 2013 [cited by examiner]
US 9046909B2 · Leibowitz · 2015 [cited by examiner]
US 9373365B2 · Mozak et al. · 2016 [cited by applicant]
US 9401721B1 · Barakat · 2016 [cited by examiner]
US 10496309B2 · Eugenio et al. · 2019 [cited by applicant]
US 11482262B1 · Lee · 2022 [cited by examiner]
US 11483185B1 · Gugwad · 2022 [cited by examiner]
US 11545196B2 · Lee · 2023 [cited by examiner]
US 11580048B1 · Wilson · 2023 [cited by examiner]
US 11829281B2 · Lee · 2023 [cited by examiner]
Ex parte Quayle Office Action for U.S. Appl. No. 17/359,423, Mailed Aug. 15, 2024, 4 pages. [cited by applicant]
Cited By (1)
US 12,573,464