IP Library Granted Patent US 10,685,736
Granted Patent B2
US 10,685,736 · App. 16/044,278 · Granted Jun 16, 2020

Maintaining highest performance of DDR5 channel with marginal signal integrity

Inventors: Stuart A. Berke (Austin, TX); Vadhiraj Sankaranarayanan (Austin, TX); Bhyrav M. Mutnury (Austin, TX)
Assignee: Dell Products, L.P.
G11C29/846G06F11/1016G06F11/1044G06F11/221G11C29/06G11C29/42G11C2029/0407G11C2029/1204
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,685,736
App. No.
16/044,278
Granted
Jun 16, 2020
Kind
B2
Abstract

A memory subsystem includes one or more communication channels that enable communication with more than one memory module of an information handling system (IHS). A memory controller of the memory subsystem is in communication with the one or more communication channels. In response to determining that one or more lines fail signal integrity testing at a target communication speed, the memory controller invokes an error checking and correcting (ECC) mode that reassigns lines of the communication channel for carrying data and ECC code. Lines that passed signal integrity testing are assigned to carrying data and ECC code. Lines that failed signal integrity testing are not used.

Claims (58)

1. A method comprising:

testing, by a memory controller, signal integrity of each line of a communication channel to a memory module, the communication channel having a number of lines that meets or exceeds a specified number of lines required for data and error checking and correcting (ECC) code by a processor subsystem of an information handling system (IHS), the testing being performed at a target communication speed;

determining whether one or more lines of the communication channel fails the signal integrity test at the target communication speed;

in response to determining that one or more lines of the communication channel fails the signal integrity test at the target communication speed, invoking an ECC mode that reassigns lines of the communication channel assigned for carrying data and ECC code to use lines that passed signal integrity testing and to not use the one or more lines that failed signal integrity testing;

monitoring for errors on lines and nibbles of the communication channel during run-time operation of the IHS; and

designating any lines and nibbles that cause an error during run-time operation for signal integrity testing during a next boot to isolate any particular lines having marginal signal integrity.

2. The method of claim 1 , further comprising:

determining whether a user policy setting for memory reliability, availability, and serviceability (RAS) maps to an allowable ECC mode based on a quantity of the one or more lines that failed signal integrity testing at the target communication speed;

in response to determining that the user policy setting maps to the allowable ECC mode, invoking the ECC mode that reassigns lines of the communication channel assigned for carrying data and ECC code to use lines that passed signal integrity testing and to not use out the one or more lines that failed signal integrity testing; and

in response to determining that the user policy setting does not map to an allowable ECC mode:

performing a second signal integrity test of the one or more lines of the communication channel that failed the signal integrity testing, the second signal integrity testing performed at one or more lower communication speeds; and

in response to the one or more lines passing the second signal integrity testing at a reduced communication speed, setting the communication speed for the communication channel to the reduced communication speed.

3. The method of claim 1 , wherein the IHS comprises a plurality of nodes including spare nodes, and the IHS implements reliability, availability, and serviceability (RAS) across the plurality of nodes by utilizing the spare nodes instead of any nodes that are unable to operate at the target communication speed.

4. The method of claim 1 , further comprising:

associating detected errors with a system transient event; and

invoking an ECC mode that reassigns lines of the communication channel assigned for carrying data and ECC code to use lines that passed signal integrity testing and to not use the one or more lines that have errors for at least a duration of the system transient event.

5. The method of claim 1 , wherein the communication channel is a fifth-generation double data rate (DDR5) communication channel.

6. A memory subsystem comprising:

more than one memory module of an information handling system (IHS);

one or more communication channels that enable communication with the more than one memory module; and

a memory controller in communication with the one or more communication channels, the memory controller executing a memory control utility that enables the IHS to:

test signal integrity of each line of the one or more communication channels to a memory module, the communication channel having a number of lines that meets or exceeds a specified number of lines required for data and error checking and correcting (ECC) code by the processor subsystem, the testing being completed at a target communication speed;

determine whether one or more lines of the communication channel fail at the target communication speed due to insufficient signal integrity;

in response to determining that one or more lines fail at the target communication speed, invoke an ECC mode that reassigns lines of the communication channel for carrying data and ECC code to use lines that passed signal integrity testing and to not use the one or more lines that failed signal integrity testing;

monitors for errors on lines and nibbles of the communication channel during run-time operation of the IHS; and

designate any lines and nibbles that cause an error during run-time operation for signal integrity testing during a next boot to isolate any particular lines having marginal signal integrity.

7. The memory subsystem of claim 6 , wherein the memory controller:

determines whether a user policy setting for memory reliability, availability and serviceability (RAS) maps to an allowable ECC mode based on a quantity of the one or more lines that failed signal integrity testing at the target communication speed;

in response to determining that the user policy setting maps to the allowable ECC mode, invoke the ECC mode that reassigns lines of the communication channel assigned for carrying data and ECC code to use lines that passed signal integrity testing and to not use the one or more lines that failed signal integrity testing; and

in response to determining that the user policy setting does not map to an allowable ECC mode:

perform a second signal integrity test of the one or more lines of the communication channel that failed the signal integrity testing, the second signal integrity testing performed at one or more lower communication speeds; and

in response to the one or more lines passing the second signal integrity testing a reduced communication speed, sets the communication speed for the communication channel to the reduced communication speed.

8. The memory subsystem of claim 6 , wherein the IHS comprises a plurality of nodes including spare nodes, and the IHS implements reliability, availability, and serviceability (RAS) across the plurality of nodes by utilizing the spare nodes instead of any nodes that are unable to operate at the target communication speed.

9. The memory subsystem of claim 6 , wherein the memory controller:

associates detected errors with a system transient event; and

invoking an ECC mode that reassigns lines of the communication channel assigned for carrying data and ECC code to use lines that passed signal integrity testing and to not use the one or more lines that have errors for at least a duration of the system transient event.

10. The memory subsystem of claim 6 , wherein the communication channel is a fifth-generation double data rate (DDR5) communication channel.

11. An information handling system (IHS) comprising:

at least one processor;

more than one memory module;

one or more communication channels that address memory locations in the more than one memory module; and

a memory controller in communication with the at least one processor and the one or more communication channels, the memory controller executing a memory control utility that enables the IHS to:

test signal integrity of each line of the one or more communication channels to a memory module, the communication channel having a number of lines that meets or exceeds a specified number of lines required for data and error checking and correcting (ECC) code by the processor subsystem, the testing being completed at a target communication speed;

determine whether one or more lines of the communication channel fail at the target communication speed due to insufficient signal integrity;

in response to determining that one or more lines fail at the target communication speed, invoke an ECC mode that reassigns lines of the communication channel assigned for carrying data and ECC code to use lines that passed signal integrity testing and to not use the one or more lines that failed signal integrity testing;

monitors for errors on lines and nibbles of the communication channel during run-time operation of the IHS; and

designate any lines and nibbles that cause an error during run-time operation for signal integrity testing during a next boot to isolate any particular lines having marginal signal integrity.

12. The IHS of claim 11 , wherein the memory controller:

determines whether a user policy setting for memory reliability, availability and serviceability (RAS) maps to an allowable ECC mode based on a quantity of the one or more lines that failed signal integrity testing at the target communication speed;

in response to determining that the user policy setting maps to the allowable ECC mode, invoke the ECC mode that reassigns lines of the communication channel assigned for carrying data and ECC code to use lines that passed signal integrity testing and to not use the one or more lines that failed signal integrity testing; and

in response to determining that the user policy setting does not map to an allowable ECC mode:

perform a second signal integrity test of the one or more lines of the communication channel that failed the signal integrity testing, the second signal integrity testing performed at one or more lower communication speeds; and

in response to the one or more lines passing the second signal integrity testing a reduced communication speed, sets the communication speed for the communication channel at the reduced communication speed.

13. The IHS of claim 11 , further comprising a plurality of nodes including spare nodes, and the IHS implements reliability, availability, and serviceability (RAS) across the plurality of nodes by utilizing the spare nodes instead of any nodes that are unable to operate at the target communication speed.

14. The IHS of claim 11 , wherein the memory controller:

associates detected errors with a system transient event; and

invoking an ECC mode that reassigns lines of the communication channel assigned for carrying data and ECC code to use lines that passed signal integrity testing and to not use the one or more lines that have errors for at least a duration of the system transient event.

15. The IHS of claim 11 , wherein the communication channel is a fifth-generation double data rate (DDR5) communication channel.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2018
From: BERKE, STUART A.; SANKARANARAYANAN, VADHIRAJ; MUTNURY, BHYRAV M.
To: DELL PRODUCTS, L.P.
Reel/Frame 046573/0238 →
Continuity (1)
Related Publication 20200035321A1 · Jan 30, 2020