IP Library › Granted Patent US 12,688,884
Granted Patent B2
US 12,688,884 · App. 18/634,799 · Granted Jul 21, 2026

Variable width memory module supporting enhanced error detection and correction

Inventors: Frederick A. Ware (Los Altos Hills, CA); John Eric Linstadt (Palo Alto, CA); Kenneth L. Wright (Sunnyvale, CA)
Assignee: Rambus Inc.
G11C11/4093G06F11/1048G11C7/02G11C11/4096G11C29/52G11C2029/0411
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,688,884
App. No.
18/634,799
Filed
Apr 12, 2024
Granted
Jul 21, 2026
Kind
B2
Examiner
PHAM, LY D
Art Unit
2827
USPC
365/189.02
Abstract

Described are memory modules that support different error detection and correction (EDC) schemes in both single- and multiple-module memory systems. The memory modules are width configurable and support the different EDC schemes for relatively wide and narrow module data widths. Data buffers on the modules support the half-width and full-width modes, and also support time-division-multiplexing to access additional memory components on each module in support of enhanced EDC.

Claims (35)

1 . A method of reading from a memory system having first memory components on a first memory module and a second memory components on a second memory module, the method comprising:

receiving a read command, addressed to the first memory module, at the first memory module and the second memory module;

the first memory module, responsive to the read command:

reading first and second data from the first memory components;

sending the first data to a memory controller; and

sending the second data to the second memory module; and

the second memory module, responsive to the read command:

holding the second memory components in a low-power mode; and

forwarding the second data to the memory controller.

2 . The method of claim 1 , wherein the second memory module introduces a module delay in the second data, the method further comprising the first memory module, responsive to the read command, adding the module delay to the first data to align the first data with the second data.

3 . The method of claim 1 , the first memory module, responsive to the read command, interleaving the first data from ones of the first memory components and the second data from others of the first memory components.

4 . The method of claim 3 , wherein the interleaving comprises time-division multiplexing.

5 . The method of claim 1 , further comprising:

receiving a second read command addressed to the second memory at the second memory module and the second memory module;

the second memory module, responsive to the second read command:

reading third and fourth data from the second memory components;

sending the third data to the memory controller; and

sending the fourth data to the first memory module; and

the first memory module, responsive to the second read command:

holding the first memory components in the low-power mode; and

forwarding the fourth data to the memory controller.

6 . The method of claim 5 , wherein the first memory module introduces the module delay in the third data, the method further comprising the second memory module, responsive to the second read command, adding the module delay to the third data.

7 . The method of claim 6 , the first memory module, responsive to the read command, interleaving the third data from ones of the second memory components and the fourth data from others of the second memory components.

8 . A memory system comprising:

a memory controller to issue a read command;

a first memory module coupled to the memory controller to receive the read command, the first memory module having first memory components, a first data buffer coupled to the first memory components; and a first address buffer coupled to the first memory components and the first data buffer; and

a second memory module coupled to the memory controller to receive the read command, the second memory module having second memory components, a second data buffer coupled to the second memory components; and a second address buffer coupled to the second memory components and the second data buffer;

the first address buffer, responsive to the read command, directing the first data buffer to read first and second data from the first memory components, send the first data to the memory controller; and send the second data to the second memory module; and

the second address buffer, responsive to the read command, holding the second memory components in a low-power mode and directing the second data buffer to forward the second data to the memory controller.

9 . The memory system of claim 8 , wherein the second data buffer introduces a module delay in the second data and the first data buffer adds the module delay to the first data to align this first data with the second data.

10 . The memory system of claim 8 , the first data buffer to interleave the first data from ones of the first memory components.

11 . The memory system of claim 10 , wherein the interleaving comprises time-division multiplexing.

12 . The memory system of claim 11 , the memory controller to issue a second read command:

the second address buffer, responsive to the second read command, directing the second data buffer to read third data and fourth data from the second memory components, send the third data to the memory controller, and send the fourth data to the first memory module; and

the first address buffer, responsive to the second read command, holding the first memory components in the low-power mode and directing the first data buffer to forward the fourth data to the memory controller.

Continuity (10)
Continuation 18203511 · May 30, 2023
Continuation 17501311 · Oct 14, 2021
Continuation 17101574 · Nov 23, 2020
Continuation 16856596 · Apr 23, 2020
Continuation 16440015 · Jun 13, 2019
Continuation 16011539 · Jun 18, 2018
Continuation 15610001 · May 31, 2017
Continuation 15262741 · Sep 12, 2016
Provisional Application 62239158 · Oct 8, 2015
Related Publication 20240321339A1 · Sep 26, 2024
References Cited (46)
US 5204841A · Chappell et al. · 1993 [cited by applicant]
US 6134638A · Olarig et al. · 2000 [cited by applicant]
US 6493843B1 · Raynham · 2002 [cited by applicant]
US 6502161B1 · Perego et al. · 2002 [cited by applicant]
US 6643752B1 · Donnelly et al. · 2003 [cited by applicant]
US 6839266B1 · Garrett, Jr. et al. · 2005 [cited by applicant]
US 6876678B1 · Chow et al. · 2005 [cited by applicant]
US 7096407B2 · Olarig · 2006 [cited by applicant]
US 7120727B2 · Lee et al. · 2006 [cited by applicant]
US 7136958B2 · Jeddeloh · 2006 [cited by applicant]
US 7464225B2 · Tsern · 2008 [cited by applicant]
US 7580309B2 · Yang et al. · 2009 [cited by applicant]
US 7694093B2 · Shaw et al. · 2010 [cited by applicant]
US 7779215B2 · Liou et al. · 2010 [cited by applicant]
US 7836213B2 · Vashisth et al. · 2010 [cited by applicant]
US 8098539B2 · Sankuratri et al. · 2012 [cited by applicant]
US 8108607B2 · Shaeffer et al. · 2012 [cited by applicant]
US 8112608B2 · Perego et al. · 2012 [cited by applicant]
US 8130560B1 · Rajan et al. · 2012 [cited by applicant]
US 8140937B2 · Dasari et al. · 2012 [cited by applicant]
US 8321756B2 · Rueping et al. · 2012 [cited by applicant]
US 8484410B2 · Bains et al. · 2013 [cited by applicant]
US 8788904B2 · Li et al. · 2014 [cited by applicant]
US 9026714B2 · Peterson et al. · 2015 [cited by applicant]
US 9430324B2 · Ware et al. · 2016 [cited by applicant]
US 9697884B2 · Ware et al. · 2017 [cited by applicant]
US 10014047B2 · Ware et al. · 2018 [cited by applicant]
US 10339999B2 · Ware et al. · 2019 [cited by applicant]
US 20010029571A1 · Shibayama · 2001 [cited by applicant]
US 20060277355A1 · Ellsberry et al. · 2006 [cited by applicant]
US 20080016254A1 · Kruger et al. · 2008 [cited by applicant]
US 20080080261A1 · Shaeffer et al. · 2008 [cited by applicant]
US 20080270649A1 · Pearson et al. · 2008 [cited by applicant]
US 20090063785A1 · Gower et al. · 2009 [cited by applicant]
US 20100149427A1 · Limberg · 2010 [cited by applicant]
US 20120234831A1 · Lin · 2012 [cited by applicant]
US 20130111122A1 · Song et al. · 2013 [cited by applicant]
US 20140185226A1 · Lam et al. · 2014 [cited by applicant]
US 20140351629A1 · Ware et al. · 2014 [cited by applicant]
US 20150100746A1 · Rychlik et al. · 2015 [cited by applicant]
US 20150223333A1 · Ware et al. · 2015 [cited by applicant]
US 20160232112A1 · Lee · 2016 [cited by applicant]
Advanced Micro Devices, “BIOS and Kernel Developer's Guide (BKDG) for AMD Family 10h Processors”, Rev. 3.62, Jan. 11, 2013, pp. 1-475. 475 pages. [cited by applicant]
Jacob, Bruce et al., “High-Speed Memory Systems”, University of Crete/University of Maryland CS-590.26 Lecture F, Spring 2014. 25 Pages. [cited by applicant]
Locklear, David, “Chipkill Correct Memory Architecture”, Dell.com Technology Brief, pp. 1-4, Aug. 2000. 4 Pages. [cited by applicant]
Wikipedia, “Error Detection and Correction”, https://en.wikipedia.org/wiki/Error_detection_and_correction, pp. 1-7, Aug. 31, 2015. 7 Pages. [cited by applicant]