IP Library › Granted Patent US 11,467,986
Granted Patent B2
US 11,467,986 · App. 17/009,102 · Granted Oct 11, 2022

Memory controller for selective rank or subrank access

Inventors: Craig E. Hampel (Los Altos, CA); Frederick A. Ware (Los Altos Hills, CA)
Assignee: Rambus Inc.
G06F13/1642G06F12/1081G06F13/1663G06F13/1678G06F13/1684G06F13/28G06F13/4243G11C5/04G11C7/1012G11C7/1045G11C7/1075H05K1/181G06F2212/656H05K2201/09227H05K2201/10159Y02D10/00Y02P70/50
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 11,467,986
App. No.
17/009,102
Granted
Oct 11, 2022
Kind
B2
Abstract

A memory module having reduced access granularity. The memory module includes a substrate having signal lines thereon that form a control path and first and second data paths, and further includes first and second memory devices coupled in common to the control path and coupled respectively to the first and second data paths. The first and second memory devices include control circuitry to receive respective first and second memory access commands via the control path and to effect concurrent data transfer on the first and second data paths in response to the first and second memory access commands.

Claims (72)

1. A memory controller comprising:

circuitry to determine whether a memory comprising memory arrays is to be operated in a first mode or a second mode; and

circuitry to issue memory access commands;

wherein

in the first mode, the circuitry to issue is to transmit first memory access command to the memory which selects read data in a first one of the memory arrays and read data in a second one of the memory arrays, and

in the second mode, the circuitry to issue is to transmit a second memory access command to the memory which selects read data in the first one of the memory arrays and, prior to output by the memory of the read data from the first one of the memory arrays, is to transmit a third memory access command to the memory which selects read data in the second one of the memory arrays.

2. The memory controller of claim 1 , wherein:

the memory controller is to couple to both of the first one of the memory arrays and the second one of the memory arrays via a common control path;

the circuitry to issue is to transmit first, second and third memory access commands to the memory via the common control path;

the memory controller is to couple to the first one of the memory arrays via a first data path and to the second one of the memory arrays via a second data path;

the memory controller comprises further comprises circuitry to receive the read data selected by the first memory access command via the first data path and the second data path, to receive the read data selected by the second memory access command via the first data path, and to receive the read data selected by the third memory access command via the second data path.

3. The memory controller of claim 1 , wherein:

the memory comprises a first memory device which embodies the first one of the memory arrays and a second memory device which embodies the second one of the memory arrays;

the memory controller is to couple to the first memory device via a first chip select signal and to the second memory device using a second chip select signal; and

the memory controller is to operate the first chip select signal and the second chip select signal in association with the first memory access command to select both of the first memory device and the second memory device, is to operate the first chip select signal and the second chip select signal in association with the second memory access command to select the first memory device but not the second memory device, and is to operate the first chip select signal and the second chip select signal in association with the third memory access command to select the second memory device but not the first memory device.

4. The memory controller of claim 1 , wherein:

the memory comprises a first register associated with the first one of the memory arrays and a second register associated with the second one of the memory arrays;

the memory controller further comprises circuitry to, in response to a determination that the memory is to be operated in the second mode, program at least one of the first register and the second register to have a value which is to cause the respective first one of the memory arrays or second one of the memory arrays to selectively respond to a command transmitted to the memory by the circuitry to issue.

5. The memory controller of claim 1 , wherein:

the memory comprises dynamic random access memory (DRAM); and

the circuitry to issue is to, in association with each of the first data access command, the second data access command and the third data access command, transmit each of a row activation command and a corresponding column selection command to the memory, the column selection command to select a column in a row activated responsive to the corresponding row activation command.

6. The memory controller of claim 1 , wherein:

the circuitry to issue to maintain a transaction queue for both of the first one of the memory arrays and the second one of the memory arrays in response to a determination that the memory is to be operated in the first mode; and

the circuitry to issue to maintain first and second transaction queues respective to the first and second ones of the memory arrays in response to a determination that the memory is to be operated in the second mode.

7. The memory controller of claim 1 , wherein:

the memory controller is to couple to the memory via a first path that is to carry a command value and via a second path that is to carry an address value to be used by the memory in association with the command value;

the circuitry to issue is free to issue the second memory access command to the first one of the memory arrays and the third memory access command to the second one of the memory arrays with respective, different address values transmitted to the memory via the second link.

8. The memory controller of claim 1 , wherein:

the memory controller is to issue the second memory access command and the third memory access command at respective times, and is to receive the read data selected by the second memory command concurrently with the read data selected by the third memory command.

9. The memory controller of claim 1 , wherein:

the memory comprises at least one register;

the memory controller comprises circuitry to program the register in association with a determination that the memory is to be operated in the second mode so as to employ a memory output latency;

the circuitry to issue is to transmit the second memory access command and the third memory access command at respective times; and

the memory output latency is such that the read data selected by the second memory access command and the read data selected by the third memory access command are to be output by the memory synchronously.

10. The memory controller of claim 1 , wherein:

the memory controller is to issue to the memory at least one selection value with the first memory access command which selects the first one of the memory arrays and the second one of the memory rays, at least one selection value with the second memory access command which selects the first one of the memory arrays but not the second one of the memory arrays, and at least one selection value with the third memory access command which selects the second one of the memory arrays but not the first one of the memory arrays.

11. A method of operating circuitry in a memory controller, the method comprising:

determining whether a memory comprising memory arrays is to be operated in a first mode or a second mode; and

issuing memory access commands;

wherein issuing comprises

in the first mode, transmitting first memory access command to the memory in a manner which selects read data in a first one of the memory arrays and read data in a second one of the memory arrays, and

in the second mode, transmitting a second memory access command to the memory in a manner which selects read data in the first one of the memory arrays and, prior to output by the memory of the read data from the first one of the memory arrays, transmitting a third memory access command to the memory in a manner which selects read data in the second one of the memory arrays.

12. The method of claim 11 , wherein:

the memory controller is to couple to both of the first one of the memory arrays and the second one of the memory arrays via a common control path;

the method further comprises transmitting first, second and third memory access commands to the memory via the common control path;

the memory controller is to couple to the first one of the memory arrays via a first data path and to the second one of the memory arrays via a second data path;

the method further comprises receiving the read data selected by the first memory access command via the first data path and the second data path, receiving the read data selected by the second memory access command via the first data path, and receiving the read data selected by the third memory access command via the second data path.

13. The method of claim 11 , wherein:

the memory comprises a first memory device which embodies the first one of the memory arrays and a second memory device which embodies the second one of the memory arrays;

the memory controller is to couple to the first memory device via a first chip select signal and to the second memory device using a second chip select signal; and

the method further comprises operating the first chip select signal and the second chip select signal in association with the first memory access command to select both of the first memory device and the second memory device, operating the first chip select signal and the second chip select signal in association with the second memory access command to select the first memory device but not the second memory device, and operating the first chip select signal and the second chip select signal in association with the third memory access command to select the second memory device but not the first memory device.

14. The method of claim 11 , wherein:

the memory comprises a first register associated with the first one of the memory arrays and a second register associated with the second one of the memory arrays;

the method further comprises, in response to determining that the memory is to be operated in the second mode, programming at least one of the first register and the second register to have a value which is to cause the respective first one of the memory arrays or second one of the memory arrays to selectively respond to a command transmitted to the memory by the circuitry to issue.

15. The method of claim 11 , wherein:

the memory comprises dynamic random access memory (DRAM); and

the method further comprises, in association with each of the first data access command, the second data access command and the third data access command, transmitting each of a row activation command and a corresponding column selection command to the memory, the column selection command to select a column in a row activated responsive to the corresponding row activation command.

16. The method of claim 11 , wherein the method further comprises:

maintaining a transaction queue for both of the first one of the memory arrays and the second one of the memory arrays in response to determining that the memory is to be operated in the first mode; and

maintaining first and second transaction queues respective to the first and second ones of the memory arrays in response to determining that the memory is to be operated in the second mode.

17. The method of claim 11 , wherein:

the memory controller is to couple to the memory via a first path that is to carry a command value and via a second path that is to carry an address value to be used by the memory in association with the command value;

the circuitry is free to issue the second memory access command to the first one of the memory arrays and the third memory access command to the second one of the memory arrays with respective, different address values transmitted to the memory via the second link.

18. The method of claim 11 , wherein:

the method further comprises issuing the second memory access command and the third memory access command at respective times, and receiving the read data selected by the second memory command concurrently with the read data selected by the third memory command.

19. The method of claim 11 , wherein:

the memory comprises at least one register;

the method further comprises programming the register in association with determining that the memory is to be operated in the second mode so as to employ a memory output latency;

the method further comprises transmitting the second memory access command and the third memory access command at respective times; and

the memory output latency is such that the read data selected by the second memory access command and the read data selected by the third memory access command are to be output by the memory synchronously.

20. The method of claim 11 , wherein:

the method further comprises issuing to the memory at least one selection value with the first memory access command which selects the first one of the memory arrays and the second one of the memory rays, at least one selection value with the second memory access command which selects the first one of the memory arrays but not the second one of the memory arrays, and at least one selection value with the third memory access command which selects the second one of the memory arrays but not the first one of the memory arrays.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2020
From: HAMPEL, CRAIG E.; WARE, FREDERICK A.
To: RAMBUS INC.
Reel/Frame 053658/0980 →
Continuity (5)
Continuation 16223031 · Dec 17, 2018
Continuation 15665284 · Jul 31, 2017
Continuation 15295723 · Oct 17, 2016
Continuation 11381349 · May 2, 2006
Related Publication 20210049115A1 · Feb 18, 2021
Cited By (1)
US 12,242,298