IP Library Granted Patent US 12,619,367
Granted Patent B2
US 12,619,367 · App. 18/794,915 · Granted May 5, 2026

Block copy

Inventors: Michael Raymond Miller (Raleigh, NC); Steven C. Woo (Saratoga, CA); Thomas Vogelsang (Jericho, VT)
Assignee: Rambus Inc.
G06F3/064G06F1/08G06F3/0604G06F3/0631G06F3/0659G06F3/0688
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,619,367
App. No.
18/794,915
Granted
May 5, 2026
Kind
B2
Abstract

An interconnected stack of one or more Dynamic Random Access Memory (DRAM) die also has one or more custom logic, controller, or processor die. The custom die(s) of the stack include direct channel interfaces that allow direct access to memory regions on one or more DRAMs in the stack. The direct channels are time-division multiplexed such that each DRAM die is associated with a time slot on a direct channel. The custom die configures a first DRAM die to read a block of data and transmit it via the direct channel using a time slot that is assigned to a second DRAM die. The custom die also configures the second memory device to receive the first block of data in its assigned time slot and write the block of data.

Claims (27)

1 . An integrated circuit stack, comprising:

a set of stacked memory integrated circuits comprising a first memory device, a second memory device, and a third memory device, each comprising memory cell arrays;

a controller electrically coupled to, and stacked with, the set of stacked memory devices comprising at least a portion of the integrated circuit stack; and

intra-device interconnect coupling the controller, the first memory device, the second memory device, and the third memory device to each other, the controller to configure the first memory device to read a first block of data from at least a first memory cell array of the first memory device and to transmit, in a first transmission, the first block of data via the intra-device stack interconnect, the controller to also configure the second memory device and the third memory device to receive the first block of data via the first transmission, the controller to also configure the second memory device to write the first block of data transmitted by the first memory device in the first transmission to at least a second memory cell array of the second memory device and the controller to also configure the third memory device to write the first block of data transmitted by the first memory device in the first transmission to at least a third memory cell array of the third memory device.

2 . The integrated circuit stack of claim 1 , wherein the second at least one memory cell array and the third memory cell array are each a one of directly above and directly below the first at least one memory cell array.

3 . The integrated circuit stack of claim 2 , wherein the first at least one memory cell array is a one of directly above and directly below the controller.

4 . The integrated circuit stack of claim 1 , wherein the controller communicates with the first memory device, the second memory device, and the third memory device via the intra-device stack interconnect using time-division multiplexing.

5 . The integrated circuit stack of claim 4 , wherein the time-division multiplexing uses time allocations that are cycled at a memory cell array cycle time.

6 . The integrated circuit stack of claim 4 , wherein the first memory device is configured to use a first time slot to transmit data to the controller, the second memory device is configured to use a second time slot to receive data from the controller, the third memory device is configured to use a third time slot to receive data from the controller, the first memory device to transmit the first block of data directly to the second memory device by transmitting the first block of data during the second time slot, the first memory device to transmit the first block of data directly to the third memory device by transmitting the first block of data during the third time slot.

7 . The integrated circuit stack of claim 4 , wherein the first memory device is configured to use a first time slot to receive data from the controller, the second memory device is configured to use a second time slot to receive data from the controller, the third memory device is configured to use a third time slot to receive data from the controller, the second memory device to receive the first block of data directly from the first memory device by sampling the first block of data during the second time slot, the third memory device to receive the first block of data directly from the first memory device by sampling the first block of data during the third time slot.

8 . An integrated circuit stack, comprising:

a set of stacked integrated circuit memory devices that include a first memory device, a second memory device, and a third memory device, the set of stacked memory devices each comprising memory cell circuitry; and

a processing device electrically coupled to, and stacked with, the set of stacked memory devices to form a first device stack, the processing device comprising a controller, the controller to communicate data with the first set of stacked memory devices using time-division multiplexing wherein respective ones of the set of stacked memory devices communicate data with the controller using respective ones of a set of non-overlapping and periodically repeating time slots that repeat at a frequency, the first memory device to communicate data with the controller using a first non-overlapping and periodically repeating time slot of the set of non-overlapping and periodically repeating time slots, the second memory device to communicate data with the controller using a second non-overlapping and periodically repeating time slot of the set of non-overlapping and periodically repeating time slots, the third memory device to communicate data with the controller using a third non-overlapping and periodically repeating time slot of the set of non-overlapping and periodically repeating time slots, the controller to configure the first memory device to transmit a block of data directly to the second memory device using at least one instance of the second non-overlapping and periodically repeating time slot without the data being re-transmitted by the controller, the controller to configure the first memory device to transmit the block of data directly to the third memory device using at least one instance of the third non-overlapping and periodically repeating time slot without the data being re-transmitted by the controller, the controller to configure the second memory device to write the block of data transmitted by the first memory device in the at least one instance of the second non-overlapping and periodically repeating time slot to memory cell circuitry of the second memory device, the controller to configure the third memory device to write the block of data transmitted by the first memory device in the at least one instance of the third non-overlapping and periodically repeating time slot to memory cell circuitry of the third memory device.

9 . The integrated circuit stack of claim 8 , wherein the set of non-overlapping and periodically repeating time slots repeats with a duration substantially equal to a core cycle time of each of the set of stacked memory devices.

10 . The integrated circuit stack of claim 8 , wherein the controller is positioned in alignment with a first memory region of the first memory device, a second memory region of the second memory device, and a third memory region of the third memory device.

11 . The integrated circuit stack of claim 10 , wherein the controller, the first memory device, the second memory device, and the third memory device are electrically coupled using through-silicon vias.

12 . The integrated circuit stack of claim 10 , wherein communication between the controller and the set of stacked memory devices includes commands communicated via a command/address bus and data communicated via a data bus.

13 . The integrated circuit stack of claim 10 , wherein the set of stacked memory devices includes a fourth memory device, the fourth memory device to communicate with the controller using a fourth non-overlapping and periodically repeating time slot of the set of non-overlapping and periodically repeating time slots.

14 . The integrated circuit stack of claim 13 , wherein the controller is to configure the first memory device to communicate directly with the fourth memory device using at least one instance of the fourth non-overlapping and periodically repeating time slot.

15 . The integrated circuit stack of claim 14 , wherein the controller is to configure the first memory device to communicate directly with the second memory device using a second instance of the second non-overlapping and periodically repeating time slot and to communicate with the fourth memory device using a first instance of the fourth non-overlapping and periodically repeating time slot that is a next successive fourth non-overlapping and periodically repeating time slot after the instance of second non-overlapping and periodically repeating time slot.

16 . A controller, comprising:

a command/address interface to communicate commands and addresses with a plurality of stacked memory devices via first set of shared interconnections using respectively assigned time-division multiplexing slots to address commands and addresses transmitted by the controller to all of the plurality of stacked memory devices, to respective ones of the plurality of stacked memory devices, each of the first set of shared interconnections being connected with each of the plurality of stacked memory devices; and

a data interface to communicate data with a plurality of the plurality of stacked memory devices via a second set of shared interconnections using time-division multiplexing that uses a plurality of ones of a set of non-overlapping and periodically repeating time slots assigned to respective ones of the plurality of stacked memory devices to address data communication between the controller and respectively addressed plurality of ones of the plurality of stacked memory devices, each of the second set of shared interconnections being connected with each of the plurality of stacked memory devices.

17 . The controller of claim 16 , wherein the controller is to configure a first memory device of the plurality of stacked memory devices to transmit data in a first instance of a first periodically repeating time slot that is assigned to a second memory device of the plurality of stacked memory devices for communication with the controller, and to configure the first memory device of the plurality of stacked memory devices to transmit data in a second instance of the first periodically repeating time slot that is assigned to a third memory device of the plurality of stacked memory devices for communication with the controller.

18 . The controller of claim 17 , wherein the controller is to configure the second memory device to receive data from the first memory device in the instance of the first periodically repeating time slot, and is to configure the third memory device to receive data from the first memory device in the second instance of the first periodically repeating time slot.

19 . The controller of claim 16 , wherein the controller is to transmit, to a first memory device of the plurality of stacked memory devices, a first indicator of a first instance of a first periodically repeating time slot that the first memory device is to use to transmit data, the first periodically repeating time slot being assigned to a second memory device of the plurality of stacked memory devices for communication with the controller, and the controller is also to transmit, to the first memory device of the plurality of stacked memory devices, a second indicator of a second instance of the first periodically repeating time slot that the first memory device is to use to transmit data, the second periodically repeating time slot being assigned to a third memory device of the plurality of stacked memory devices for communication with the controller.

20 . The controller of claim 16 , wherein the controller is to transmit, to a first memory device of the plurality of stacked memory devices, a first indicator of a first instance of a first periodically repeating time slot that the first memory device is to receive data from a second memory device of the plurality of stacked memory devices, the first periodically repeating time slot being assigned to the first memory device for communication with the controller, the controller is also to transmit, to the first memory device of the plurality of stacked memory devices, a second indicator of a second instance of the first periodically repeating time slot that the first memory device is to receive data from a third memory device of the plurality of stacked memory devices, the second periodically repeating time slot being assigned to the first memory device for communication with the controller.

Continuity (3)
Continuation 17461105 · Aug 30, 2021
Provisional Application 63077153 · Sep 11, 2020
Related Publication 20250028467A1 · Jan 23, 2025
References Cited (7)
US 20060129701A1 · Qawami et al. · 2006 [cited by applicant]
US 20150016172A1 · Loh · 2015 [cited by examiner]
US 20150041971A1 · Lee · 2015 [cited by applicant]
US 20190205244A1 · Smith · 2019 [cited by applicant]
US 20210263671A1 · O · 2021 [cited by examiner]
CN 109599136A · 2019 [cited by examiner]
Rezaei, Seyyed Hossein Seyyedahaei et al., “NOM: Network-on-Memory for Inter-Bank Data Transfer in Highly-Banked Memories”, IEEE Computer Architecture Letters, vol. 19, No. 1, Jan.-Jun. 2020, pp. 80-83. 4 pages. [cited by applicant]