IP Library Granted Patent US 11,244,727
Granted Patent B2
US 11,244,727 · App. 14/940,084 · Granted Feb 8, 2022

Dynamic memory rank configuration

Inventors: Gary B. Bronner (Los Altos, CA); Brent S. Haukness (Monte Sereno, CA); Mark A. Horowitz (Menlo Park, CA); Mark D. Kellam (Siler City, NC); Fariborz Assaderaghi (Emerald Hills, CA)
Assignee: Rambus Inc.
G11C16/06G11C13/0002G11C13/0033G11C13/0035G11C16/26G11C7/04H01L21/324
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,244,727
App. No.
14/940,084
Granted
Feb 8, 2022
Kind
B2
Abstract

Control logic within a memory control component outputs first and second memory read commands to a memory module at respective times, the memory module having memory components disposed thereon. Interface circuitry within the memory control component receives first read data concurrently from a first plurality of the memory components via a first plurality of data paths, respectively, in response to the first memory read command, and receives second read data concurrently from a second plurality of the memory components via a second plurality of data paths, respectively, in response to the second memory read command, the first plurality of the memory components including at least one memory component not included in the second plurality of the memory components and vice-versa.

Claims (27)

1. A method of controlling a memory module having memory components disposed thereon, the method comprising:

outputting first and second memory read commands to the memory module at respective times;

receiving first read data concurrently from a first plurality of the memory components via a first plurality of data paths, respectively, in response to the first memory read command; and

receiving second read data concurrently from a second plurality of the memory components via a second plurality of data paths, respectively, in response to the second memory read command, the first plurality of the memory components including at least one memory component not included in the second plurality of the memory components and vice-versa, and the first plurality of the memory components including at least one other memory component that is also included in the second plurality of the memory components.

2. The method of claim 1 further comprising outputting a maintenance command to the at least one memory component included in the first plurality of the memory components but not included in the second plurality of the memory components, the maintenance command instructing the at least one memory component to execute a maintenance operation during an interval that transpires concurrently with receiving the second read data from the second plurality of the memory components.

3. The method of claim 1 wherein outputting the first and second memory read commands to the memory module at respective times comprises outputting the first and second memory read commands to a dual inline memory module (DIMM) at respective times via a command/address path coupled in common to all the memory components included in the first and second pluralities.

4. The method of claim 1 wherein outputting the first and second memory read commands to the memory module at respective times comprises outputting the first and second memory read commands to first and second pluralities of nonvolatile memory components.

5. The method of claim 4 wherein the nonvolatile memory components comprise Flash memory components.

6. The method of claim 1 wherein outputting the first and second memory read commands to the memory module at respective times comprises, at a first time, outputting chip-select signals exclusively to the first plurality the components while outputting first command signals on a command signaling path coupled to each of the memory components of the first and second pluralities, and, at a second time, outputting chip-select signals exclusively to the second plurality of the memory components while outputting second command signals on the command signaling path.

7. The method of claim 1 further comprising outputting a third memory read command to the memory module after outputting the first and second memory read commands, and receiving third read data from the third plurality of memory components via a third plurality of data paths, respectively, in response to the third memory read command, the third plurality of memory components including (i) at least one memory component not included in the first plurality of memory components and (ii) at least one other memory component not included in the second plurality of memory components.

8. The method of claim 1 wherein the at least one memory component included in the first plurality of the memory components but not included in the second plurality of the memory components comprises a first memory component of a virtual pair of components, and the at least one memory component included in the second plurality of the memory components but not included in the first plurality of the memory components comprises a second memory component of the virtual pair of components, the method further comprising copying data from the first memory component of the virtual pair to the second memory component of the virtual pair.

9. The method of claim 1 wherein outputting the first memory command to the memory module comprises receiving a request to read data from the memory module, obtaining a value that indicates the first plurality of memory components and outputting chip-select signals exclusively to the first plurality of the memory components.

10. The method of claim 9 wherein obtaining the value that indicates the first plurality of memory components comprises obtaining the value from a page table based at least in part on an address received in association with the request to read data.

11. A memory control component comprising:

control logic to output first and second memory read commands to a memory module at respective times, the memory module having memory components disposed thereon; and

interface circuitry to receive (i) first read data concurrently from a first plurality of the memory components via a first plurality of data paths, respectively, in response to the first memory read command, and (ii) second read data concurrently from a second plurality of the memory components via a second plurality of data paths, respectively, in response to the second memory read command, the first plurality of the memory components including at least one memory component not included in the second plurality of the memory components and vice-versa, and the first plurality of the memory components including at least one other memory component that is also included in the second plurality of the memory components.

12. The memory control component of claim 11 wherein the control logic to output first and second memory read commands to the memory module is further to output a maintenance command to the at least one memory component included in the first plurality of the memory components but not included in the second plurality of the memory components, the maintenance command instructing the at least one memory component to execute a maintenance operation during an interval that transpires concurrently with receiving the second read data from the second plurality of the memory components.

13. The memory control component of claim 11 wherein the control logic to output first and second memory read commands to a memory module outputs the first and second memory read commands to a dual inline memory module (DIMM) at respective times via a command/address path coupled in common to all the memory components included in the first and second pluralities.

14. The memory control component of claim 11 wherein the control logic to output the first and second memory read commands to the memory module at respective times comprises circuitry to output the first and second memory read commands to first and second pluralities of nonvolatile memory components.

15. The memory control component of claim 14 wherein the nonvolatile memory components comprise Flash memory components.

16. The memory control component of claim 11 wherein the control logic to output the first and second memory read commands to the memory module at respective times comprises circuitry to output, at a first time, chip-select signals exclusively to the first plurality the components while outputting first command signals on a command signaling path coupled to each of the memory components of the first and second pluralities, and to output, at a second time, chip-select signals exclusively to the second plurality of the memory components while outputting second command signals on the command signaling path.

17. The memory control component of claim 11 wherein the control logic to output the first and second memory read commands is additionally to output a third memory read command to the memory module after outputting the first and second memory read commands and to receive third read data from the third plurality of memory components via a third plurality of data paths, respectively, in response to the third memory read command, the third plurality of memory components including (i) at least one memory component not included in the first plurality of memory components and (ii) at least one other memory component not included in the second plurality of memory components.

18. The memory control component of claim 11 wherein the at least one memory component included in the first plurality of the memory components but not included in the second plurality of the memory components comprises a first memory component of a virtual pair of components, and the at least one memory component included in the second plurality of the memory components but not included in the first plurality of the memory components comprises a second memory component of the virtual pair of components, the control logic further comprising circuitry to copy data from the first memory component of the virtual pair to the second memory component of the virtual pair.

19. The memory control component of claim 11 wherein the control logic to output the first memory command to the memory module comprises circuitry to receive a request to read data from the memory module, obtain a value that indicates the first plurality of memory components from a page table based at least in part on an address received in association with the request to read data, and output chip-select signals exclusively to the first plurality of the memory components.

20. A memory control component comprising:

means for outputting first and second memory read commands to a memory module at respective times, the memory module having memory components disposed thereon; and

means for receiving (i) first read data concurrently from a first plurality of the memory components via a first plurality of data paths, respectively, in response to the first memory read command, and (ii) second read data concurrently from a second plurality of the memory components via a second plurality of data paths, respectively, in response to the second memory read command, the first plurality of the memory components including at least one memory component not included in the second plurality of the memory components and vice-versa, and the first plurality of the memory components including at least one other memory component that is also included in the second plurality of the memory components.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2015
From: SHAEFFER, IAN P.; BRONNER, GARY B.; HAUKNESS, BRENT S.; DONNELLY, KEVIN S.; WARE, FREDERICK A.; HOROWITZ, MARK A.
To: RAMBUS INC.
Reel/Frame 037048/0628 →
Continuity (9)
Continuation 14097503 · Dec 5, 2013
Continuation 13726042 · Dec 22, 2012
Continuation 12859554 · Aug 19, 2010
Continuation In Part 12516499
Continuation In Part 12676594
Provisional Application 61235964 · Aug 21, 2009
Provisional Application 60867704 · Nov 29, 2006
Provisional Application 60970223 · Sep 5, 2007
Related Publication 20160071608A1 · Mar 10, 2016