IP Library Granted Patent US 10,204,063
Granted Patent B2
US 10,204,063 · App. 15/867,646 · Granted Feb 12, 2019

Local internal discovery and configuration of individually selected and jointly selected devices

Inventor: John Eric Linstadt (Palo Alto, CA)
Assignee: Rambus Inc.
G06F13/1694G06F12/0246G06F12/0623G06F12/0646G11C7/10G11C7/1045G11C7/20G11C7/22G06F13/1678G06F2212/7206
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,204,063
App. No.
15/867,646
Granted
Feb 12, 2019
Kind
B2
Abstract

A memory controller interfaces with one or more memory devices having configurable width data buses and configurable connectivity between data pins of the memory devices and data pins of the memory controller. Upon initialization of the memory devices, the memory controller automatically discovers the connectivity configuration of the one or more memory devices, including both individually selected and jointly selected devices. After discovering connectivity of the connected devices, the memory controller configures the memory devices according to the discovered connectivity and assigns unique addresses to jointly selected devices.

Claims (48)

1. A memory controller circuit for configuring connectivity of a memory device having a configurable width, the memory controller circuit comprising:

a command/address link coupled to the memory device;

a plurality of memory controller data pins coupled to respective memory device data pins of the memory device;

a connectivity read circuit to transmit a connectivity read command over the command/address link, wherein read data is received at the memory controller data pins from the memory device in response to the connectivity read command;

a connectivity logic circuit to determine a connectivity configuration between the plurality of data pins of the memory controller and one or more of the memory device data pins of the memory device based on the data received at the memory controller data pins of the memory controller matching one or more predetermined bit patterns; and

a connectivity write circuit to transmit a connectivity write command to the memory device over the command/address link, the connectivity write command to configure the memory device based on the determined connectivity configuration, wherein configuring the memory device comprises causing the memory device to selectively associate one or more of a plurality of internal data buses of the memory device to one or more of the memory device data pins of the memory device.

2. The memory controller circuit of claim 1 , further comprising:

an enable pin to transmit an enable signal to individually select the memory device coupled to the memory controller prior to the connectivity read circuit transmitting the connectivity read command.

3. The memory controller circuit of claim 1 , wherein the connectivity read circuit is further configured to transmit a sequence of the predetermined bit patterns to the memory device with the connectivity read command.

4. The memory controller circuit of claim 1 , wherein the connectivity read circuit is further configured to transmit a second connectivity read command after configuring the memory device to confirm the connectivity configuration of the memory device.

5. The memory controller circuit of claim 1 , wherein the connectivity logic circuit is configured to determine that the memory device is configured in one of a set of initially ambiguous connectivity configurations, transmit a connectivity echo command including one or more bit patterns to the memory device, receive echoed data on the memory controller data pins of the memory controller following the connectivity echo command, and determine the connectivity configuration from among the set of initially ambiguous connectivity configurations based on the echoed data.

6. The memory controller circuit of claim 1 , wherein the connectivity logic circuit is configured to determine the connectivity configuration by determining, for a given memory device data pin of the memory device, whether the given memory device data pin is coupled to the memory controller and to which memory controller data pin of the memory controller the given memory device data pin is coupled.

7. A memory controller circuit for configuring a plurality of memory devices coupled to a common enable link, the plurality of memory devices having configurable width data buses, the memory controller comprising:

a command/address link coupled to the plurality of memory devices;

a plurality of memory controller data pins coupled to respective memory device data pins of the plurality of memory devices;

a connectivity read circuit to transmit a connectivity read command to each of the plurality of memory devices over the command/address link;

a connectivity logic circuit to determine a connectivity configuration between the plurality of memory controller data pins of the memory controller and the memory device data pins of the plurality of memory devices based on one or more bit patterns received from the plurality of memory controller data pins of the memory controller following the connectivity read command; and

a connectivity write circuit to transmit configuration information to the plurality of memory devices over the command/address link based on the connectivity configuration.

8. The memory controller circuit of claim 7 , wherein the connectivity write circuit is configured to assign a unique address to each of the plurality of memory devices.

9. The memory controller circuit of claim 7 , wherein the connectivity write circuit is configured to transmit a mask value command to the plurality of memory devices including a mask value and output a data value to the memory controller data pins of the memory controller, wherein the mask value and the data value are selected based on the determined connectivity configuration of the memory devices and operate to provide a unique device address to each of the plurality of memory devices when a predetermined logical operation is applied to the mask value and the data value.

10. The memory controller circuit of claim 7 wherein the connectivity read circuit is further configured to transmit a sequence of the bit patterns to the memory device with the connectivity read command.

11. The memory controller circuit of claim 7 , wherein the connectivity read circuit is further configured to transmit a second connectivity read command after configuring the memory device to confirm the connectivity configuration of the memory device.

12. A method for operating a configurable width memory device comprising:

storing data in a memory core comprising a plurality of memory cells, the memory core having a plurality of data lines to read from or write to the plurality of memory cells;

selectively associating, by a multiplexer coupled to the plurality of data lines of the memory core, one or more of the plurality of data lines of the memory core with one or more of a plurality of data pins;

receiving, by memory device logic, a connectivity read command from a memory controller during an initialization sequence;

outputting, by the memory device logic, a plurality of bit patterns to the plurality of data pins responsive to the connectivity read command, each of the bit patterns having a single bit representing a first logic state that is predetermined and remaining bits representing a second logic state, and each of the bit patterns having a different one of the plurality of bits in the first logic state relative to remaining ones of the bit patterns.

13. The method of claim 12 , wherein outputting the plurality of bit patterns comprises:

reading the plurality of bit patterns from a pre-programmed register.

14. The method of claim 12 , wherein outputting the plurality of bit patterns comprises:

receiving the plurality of bit patterns from the memory controller with the connectivity read command; and

echoing the plurality of bit patterns.

15. The method of claim 12 , wherein outputting the plurality of bit patterns comprises:

outputting the plurality of bit patterns in a sequence, wherein each subsequent bit pattern in the sequence has a bit in the first logic state moved by one bit position relative to a prior bit pattern in the sequence.

16. The method of claim 12 , further comprising:

receiving, by the memory device logic, a connectivity write command after outputting the plurality of bit patterns; and

configuring the multiplexer to map the one or more of the plurality of data lines to the one or more of the plurality of data pins based on the connectivity write command.

17. The method of claim 16 , further comprising:

receiving a second connectivity read command following the connectivity write command; and

re-outputting the plurality of bit patterns following the second connectivity read command.

18. The method of claim 12 , wherein selectively associating the one or more of the plurality of data lines of the memory core with the one or more of the plurality of data pins comprises:

associating, by the multiplexer, the plurality of data lines and the plurality of data pins according to a one-to-one mapping.

19. The method of claim 12 , wherein selectively associating the one or more of the plurality of data lines of the memory core with the one or more of the plurality of data pins comprises:

associating, by the multiplexer, two or more of the plurality of data lines to a common data pin.

20. The method of claim 12 , further comprising:

receiving, by the memory device logic, a connectivity echo command including one or more echoed bit patterns and store the one or more echoed bit patterns to a register;

applying, by the memory device logic, a rotation to the one or more echoed bit patterns to generate one or more rotated bit patterns each corresponding to one of the echoed bit patterns, each of the rotated bit patterns having at least some of the bits at different bit positions compared to the corresponding one of the echoed bit pattern; and

outputting, by the memory device logic, the rotated bit patterns to the plurality of data pins.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2018
From: LINSTADT, JOHN ERIC
To: RAMBUS INC
Reel/Frame 047126/0944 →
Continuity (3)
Continuation 14438865
Provisional Application 61734203 · Dec 6, 2012
Related Publication 20180196767A1 · Jul 12, 2018