IP Library › Granted Patent US 10,866,916
Granted Patent B2
US 10,866,916 · App. 16/525,315 · Granted Dec 15, 2020

Folded memory modules

Inventors: Amir Amirkhany (Sunnyvale, CA); Suresh Rajan (San Jose, CA); Ravindranath Kollipara (Palo Alto, CA); Ian Shaeffer (Los Gatos, CA); David A. Secker (San Jose, CA)
Assignee: Rambus Inc.
G06F13/4022G06F12/00G06F13/00G06F13/1673G06F13/1694
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,866,916
App. No.
16/525,315
Granted
Dec 15, 2020
Kind
B2
Abstract

A memory module comprises a data interface including a plurality of data lines and a plurality of configurable switches coupled between the data interface and a data path to one or more memories. The effective width of the memory module can be configured by enabling or disabling different subsets of the configurable switches. The configurable switches may be controlled by manual switches, by a buffer on the memory module, by an external memory controller, or by the memories on the memory module.

Claims (37)

1. A buffer for a memory module, comprising:

a mode register to enable or disable a first plurality of switches of the memory module, the first plurality of switches controlling a data width of the memory module;

first controller side data lines coupled to the first plurality of switches, the first controller side data lines to communicate data to or from a memory controller when the first plurality of switches is enabled, and the first controller side data lines decoupled from the memory controller when the first plurality of switches is disabled;

memory side data lines to communicate the data to one or more memories; and

a data router coupled between the first controller side data lines and the memory side data lines, the data router to route the data between the first controller side data lines and a first subset of the memory side data lines during a first time period, and to route the data between the first controller side data lines and a second subset of the memory side data lines during a second time period.

2. The buffer of claim 1 , further comprising: second controller side data lines coupled to a second plurality of switches, the second controller side data lines to communicate the data to or from the memory controller when the second plurality of switches is enabled.

3. The buffer of claim 2 , wherein the mode register is further configured to enable or disable the second plurality of switches.

4. The buffer of claim 3 , wherein the mode register is configurable between at least a first mode and a second mode, wherein in the first mode, the mode register enables the first plurality of switches and disables the second plurality of switches, and wherein in the second mode, the mode register is configured to enable the second plurality of switches and disable the first plurality of switches.

5. The buffer of claim 4 , wherein the mode register is configurable in a third mode wherein the mode register enables both the first plurality of switches and the second plurality of switches.

6. The buffer of claim 2 , wherein the first controller side data lines comprise odd data lines and the second controller side data lines comprise even data lines, wherein the odd data lines are coupled to communicate first non-adjacent data words of the data, and wherein the even data lines are coupled to communicate second non-adjacent data words of the data interleaved with the first non-adjacent data words.

7. The buffer of claim 2 , wherein the first controller side data lines comprise lower data lines and the second controller side data lines comprise upper data lines, wherein the lower data lines are coupled to communicate least significant bits of the data and the upper data lines are coupled to communicate most significant bits of the data.

8. The buffer of claim 1 , further comprising:

a circuit to receive a memory controller control signal from the memory controller via a controller side control line, read the mode register in response to the memory controller control signal to determine a mode of the mode register, and a generate memory control signal on a memory side control line based on the mode.

9. The buffer of claim 1 , wherein the buffer comprises a central buffer in which the memory side data lines are directly coupled to the one or more memories.

10. The buffer of claim 1 , wherein the buffer comprises a distributed microbuffer in which the memory side data lines are coupled to a central buffer that communicates with the one or more memories.

11. A method for operating a buffer for a memory module, comprising:

controlling a mode register to enable a first plurality of switches of the memory module that control a data width of the memory module;

communicating, by first controller side data lines coupled to the first plurality of switches, data to or from a memory controller when the first plurality of switches is enabled;

routing, by a data router coupled between the first controller side data lines and memory side data lines, the data between the first controller side data lines and a first subset of the memory side data lines during a first time period;

routing, by the data router, the data between the first controller side data lines and a second subset of the memory side data lines during a second time period; and

communicating, by the memory side data lines, the data to one or more memories.

12. The method of claim 11 , further comprising:

controlling the mode register to enable a second plurality of switches of the memory module;

communicating, by second controller side data lines coupled to the second plurality of switches, the data to or from the memory controller when the second plurality of switches is enabled.

13. The method of claim 12 , wherein the first controller side data lines comprise odd data lines and the second controller side data lines comprise even data lines, wherein the odd data lines are coupled to communicate first non-adjacent data words of the data, and wherein the even data lines are coupled to communicate second non-adjacent data words of the data interleaved with the first non-adjacent data words.

14. The method of claim 12 , wherein the first controller side data lines comprise lower data lines and the second controller side data lines comprise upper data lines, wherein the lower data lines are coupled to communicate least significant bits of the data and the upper data lines are coupled to communicate most significant bits of the data.

15. The method of claim 11 , further comprising:

receiving a memory controller control signal from the memory controller via a controller side control line;

reading the mode register in response to the memory controller control signal to determine a mode of the mode register; and

generating memory control signals on a memory side control line based on the mode.

16. The method of claim 11 , wherein the buffer comprises a central buffer in which the memory side data lines are directly coupled to the one or more memories.

17. The method of claim 11 , wherein the buffer comprises a distributed microbuffer in which the memory side data lines are coupled to a central buffer that communicates with the one or more memories.

18. A buffer for a memory module, comprising:

a mode control means for enabling or disabling a first plurality of switches of the memory module, the first plurality of switches controlling a data width of the memory module;

first controller side data transmission means coupled to the first plurality of switches, the first controller side data transmission means for communicating data to or from a memory controller when the first plurality of switches is enabled, and the first controller side data transmission means decoupled from the memory controller when the first plurality of switches is disabled;

memory side data transmission means for communicating the data to one or more memories; and

data routing means coupled between the first controller side data transmission means and the memory side data transmission means, the data routing means for routing the data between the first controller side data transmission means and a first subset of the memory side data transmission means during a first time period, and for routing the data between the first controller side data transmission means and a second subset of the memory side data transmission means during a second time period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2019
From: AMIRKHANY, AMIR; RAJAN, SURESH; KOLLIPARA, RAVINDRANATH; SECKER, DAVID A.; SHAEFFER, IAN
To: RAMBUS INC
Reel/Frame 051070/0134 →
Continuity (4)
Continuation 15289785 · Oct 10, 2016
Continuation 14182986 · Feb 18, 2014
Provisional Application 61767097 · Feb 20, 2013
Related Publication 20200026677A1 · Jan 23, 2020
Cited By (2)
US 12,547,349 US 12,591,528