Patent application title:

Chiplet-based multi-chip module with die-to-die (D2D) interface that employs bandwidth balancing circuitry

Publication number:

-

Publication date:
Application number:

18/908,596

Filed date:

2024-10-07

✅ Patent granted

Patent number:

US 12,650,936 B1

Grant date:

2026-06-09

PCT filing:

-

PCT publication:

-

Examiner:

Tracy A Warren

Agent:

Lance Kreisman | Peninsula Patent Group

Adjusted expiration:

2044-12-11

Smart Summary: A memory chiplet has storage and several circuits that manage memory access. It uses multiple channels to move data between these circuits and the storage at a specific speed. There are also link circuits that connect the memory chiplet to another chip, allowing data transfer at a different speed. Bandwidth balancing technology adjusts how data is sent, either using the full speed of the link circuits or the full speed of the channel circuits. This ensures that data is transferred efficiently, optimizing performance based on the available bandwidth. 🚀 TL;DR

Abstract:

A memory chiplet includes storage and multiple memory control circuits. Each of the multiple memory control circuits to control a memory access operation to the storage. Multiple channel circuits are employed in the memory chiplet to transfer channel data between the multiple memory control circuits and the storage at a channel bandwidth. Multiple link input/output (I/O) circuits couple the memory chiplet to a host integrated circuit (IC) chiplet. Each of the multiple link I/O circuits transfer link data at a link bandwidth that is free to be different than the channel bandwidth. Bandwidth balancing circuitry, based on relative values between the channel bandwidth and the link bandwidth, selectively configures the multiple channels to transfer a total amount of data at a fully-available link bandwidth of the multiple links or selectively configure the multiple links to transfer the total amount of data at a fully-available channel bandwidth of the multiple channels.

Inventors:

Assignee:

Applicant:

Interested in similar patents?

Get notified when new applications in this technology area are published.

Classification:

G06F13/1684 »  CPC main

Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units; Handling requests for interconnection or transfer for access to memory bus; Details of memory controller using multiple buses

G06F13/1668 »  CPC further

Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units; Handling requests for interconnection or transfer for access to memory bus Details of memory controller

G06F13/1678 »  CPC further

Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units; Handling requests for interconnection or transfer for access to memory bus; Details of memory controller using bus width

G06F13/16 IPC

Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units; Handling requests for interconnection or transfer for access to memory bus

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Non-Provisional that claims priority to U.S. Provisional Application No. 63/543,037, filed Oct. 6, 2023, entitled PACKET-BASED DRAM INTERFACE ON DIE-TO-DIE PHY, which is incorporated herein by reference in its entirety.

TECHNICAL FIELD

The disclosure herein relates to semiconductor devices, packaging and associated methods.

BACKGROUND

As integrated circuit (IC) chips such as system on chips (SoCs) become larger, the yields realized in manufacturing the chips become smaller. Decreasing yields for larger chips increases overall costs for chip sellers. To address the yield problem, chiplet architectures have been proposed that favor a modular approach to SoCs. The solution employs smaller sub-processing die, known as chiplets, each containing a well-defined subset of functionality. Chiplets thus allow for dividing a complex design, such as a high-end processor or networking chip, into several small die instead of one large monolithic die.

When accessing memory, traditional chiplet architectures often employ relatively large and complex die-to-die (D2D) interfaces for transferring data between the chiplet and a specific memory type. While beneficial in certain circumstances, many conventional D2D interfaces are typically designed to support a variety of applications. Using generic interfaces specifically for memory applications in a chiplet context is often non-optimal, with sacrifices in bandwidth, area, latency and power efficiency often made in the interests of wider interface applicability.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the disclosure are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:

FIG. 1 illustrates a high-level top plan view of a chiplet-based multi-chip module (MCM), including a first integrated circuit (IC) chiplet that is coupled to a memory chiplet via multiple links and which employs bandwidth balancing circuitry to balance a total bandwidth between the multiple links and multiple memory channels associated with the memory chiplet.

FIG. 2 illustrates a flowchart of steps for one embodiment of a method of operating the chiplet-based MCM of FIG. 1.

FIG. 3 illustrates one specific embodiment of the chiplet-based MCM of FIG. 1 in a context where a first bandwidth of each of the multiple links is greater than a second bandwidth of each of the memory channels, and employing address mapping circuitry to balance the total bandwidth between the multiple links and multiple memory channels associated with the memory chiplet.

FIG. 4 illustrates a flowchart of steps for one embodiment of a method of operating the chiplet-based MCM of FIG. 3.

FIG. 5 illustrates a further embodiment of a chiplet-based MCM that is similar to the embodiment of FIG. 3, in a context where the first bandwidth of each of the multiple links is less than the second bandwidth of each of the memory channels, and employing virtual lane control circuitry to balance the total bandwidth between the multiple links and multiple memory channels associated with the memory chiplet.

FIG. 6 illustrates a block diagram to show a relative spatial configuration of virtual link widths to default link widths.

FIG. 7 illustrates a flowchart of steps for one embodiment of a method of operating the chiplet-based MCM of FIG. 5.

DETAILED DESCRIPTION

Semiconductor devices, packaging architectures and associated methods are disclosed. In one embodiment, a chiplet-based multi-chip module (MCM) for coupling to a base substrate is disclosed. The chiplet-based MCM includes a package substrate that is separate from the base substrate. A first integrated circuit (IC) chiplet and a memory chiplet are coupled to the chiplet-based MCM. The memory chiplet includes storage and multiple memory control circuits. Each of the multiple memory control circuits controls a memory access operation to the storage. Multiple channel circuits are employed in the memory chiplet, with each of the multiple channel circuits to transfer channel data between the multiple memory control circuits and the storage at a channel bandwidth. Multiple links couple the memory chiplet to the host integrated circuit (IC) chiplet. Each of the multiple links transfers link data at a link bandwidth that is free to be different than the channel bandwidth. Bandwidth balancing circuitry, based on relative values between the channel bandwidth and the link bandwidth, selectively configures the multiple channels to transfer a total amount of data at a fully-available link bandwidth of the multiple links or selectively configures the multiple links to transfer the total amount of data at a fully-available channel bandwidth of the multiple channels. By balancing the total bandwidth through selectively configuring the multiple links and/or the multiple channels, bandwidth constraints placed on individual links or individual channels may be overcome, resulting in higher bandwidth utilization efficiencies.

In another embodiment, a memory chiplet includes storage and multiple memory control circuits. Each of the multiple memory control circuits to control a memory access operation to the storage. Multiple channel circuits are employed in the memory chiplet, with each of the multiple channel circuits to transfer channel data between the multiple memory control circuits and the storage at a channel bandwidth. Multiple link input/output (I/O) circuits couple the memory chiplet to a host integrated circuit (IC) chiplet. Each of the multiple link I/O circuits transfer link data at a link bandwidth that is free to be different than the channel bandwidth. Bandwidth balancing circuitry, based on relative values between the channel bandwidth and the link bandwidth, selectively configures the multiple channels to transfer a total amount of data at a fully-available link bandwidth of the multiple link I/O circuits or selectively configures the multiple link I/O circuits to transfer the total amount of data at a fully-available channel bandwidth of the multiple channels.

Throughout the disclosure provided herein, the term chiplet-based multi-chip module (MCM) is used to represent a packaged semiconductor device that incorporates multiple semiconductor die or sub-packages in a single unitary package. A chiplet-based MCM may also be referred to as a system in a package (SiP). The unpackaged bare die or sub-packages that are interconnected in an MCM or SiP are referred to herein as chiplets. Packaged die that are disposed external to a chiplet-based MCM or SiP, such as being mounted on a printed circuit board (PCB), are referred to herein as chips.

FIG. 1 illustrates one embodiment of a chiplet-based MCM, generally designated 100, that employs a package substrate 102 for mounting a host integrated circuit (IC) chiplet 104 and a memory chiplet 106. The package substrate 102 is coupled to a base substrate (not shown), such as a printed circuit board. Die-to-die (D2D) interface circuitry 108 interconnects the host IC chiplet 104 to the memory chiplet 106 via multiple signaling links 109. For one embodiment, the D2D interface circuitry takes the form of a Universal Memory Interface (UMI) such as that disclosed in U.S. patent application Ser. No. 18/652,675, filed May 1, 2024, titled UNIVERSAL MEMORY INTERFACE, assigned to the assignee of the present disclosure and expressly incorporated herein by reference. For other embodiments, the D2D interface circuitry 108 may take the form of an interface compliant with the universal Chiplet Interconnect Express (UCIe) D2D interface standard, the Bunch of Wires (BoW) interconnect standard, or the like.

With continued reference to FIG. 1, the host IC chiplet 104 generally includes processor circuitry 110 or other logic that performs operations on data, with the need to periodically carry out read and write data transfers with the memory chiplet 106. The processor circuitry 110 may take the form of one or more processors such as a computer processing unit (CPU), graphics processing unit (GPU), tensor processing unit (TPU), artificial intelligence (AI) processing circuitry, field-programmable gate array (FPGA) circuitry or other form of host chiplet with a need to access memory.

Further referring to FIG. 1, the host IC chiplet 104 may include a communications fabric 112 for controlling communications on-chip, and for also controlling how the host IC chiplet 104 communicates off-chip with other chiplets, such as the memory chiplet 106. For one embodiment, the communications fabric 112 includes network-on-chip (NoC) circuitry, such as that disclosed in U.S. patent Ser. No. 18/528,702, filed Dec. 4, 2023, titled: “UNIVERSAL NETWORK-ATTACHED MEMORY ARCHITECTURE”, owned by the assignee of the instant application and expressly incorporated herein by reference.

With continued reference to FIG. 1, the host IC chiplet 104 includes a host-side portion 114 of the D2D interface circuitry 108. For one embodiment, the host-side portion 114 includes host UMI adapter (UA) circuitry 116 and host input/output (I/O) circuitry 118. The host I/O circuitry 118 includes host-side transmit and receive circuitry to support transmission and/or reception of information between the host IC chiplet 104 and the memory chiplet 106 via the multiple signaling links 109, which are organized in a manner more fully described below. For some embodiments, host-side bandwidth balancing circuitry 120 is employed to selectively configure virtual links from the multiple signaling links 109 in an effort to optimize a total available bandwidth that is available from the memory chiplet 106.

Further referring to FIG. 1, for one embodiment, the memory IC chiplet 106 includes memory-centric interface circuitry 122 for accessing memory 123 via multiple memory channels 125. The memory 123 may be realized by one from a variety of different memory standards or types, such as high-bandwidth memory (HBM), double-data rate (DDR) memory, low-power double data rate (LPDDR), graphics double data rate (GDDR), to name but a few. For one embodiment, memory control circuitry 124 is positioned on the memory chiplet 106 to remove the need for the host IC chiplet 104 (often a costly application-specific integrated circuit) to know the type of memory being accessed. This generally frees the host IC chiplet 104 to interact with a variety of memory types, and unconstrained to interact with solely one type of memory associated with a specific on-chip memory controller.

For one embodiment, the memory chiplet 106 includes a memory-side portion 126 of the overall D2D interface circuitry 108. For one embodiment, the memory-side portion 126 includes memory-side bandwidth balancing circuitry 128 similar to the host-side bandwidth balancing circuitry 120. As described more fully below, for one embodiment, the memory-side bandwidth balancing circuitry 128 is capable of determining the total available bandwidths of the multiple links versus the multiple memory channels, and based on the difference between the total available bandwidths, selectively configures one or both of the links and/or channels to provide the highest total bandwidth possible between the chiplets 104 and 106. The memory chiplet 106 also includes memory-side UMI adapter circuitry 129 and memory-side input/output (I/O) circuitry 130. The memory-side I/O circuitry 130 includes transmit and receive circuitry for supporting the multiple signaling links 109, and that generally corresponds to the host-side D2D I/O circuitry 118.

For some embodiments, the memory chiplet 106 may take the form of a single-die chiplet that includes the memory control circuitry 124, the memory-centric interface 122, and the features of the memory interface sub-circuit 126. The single-die chiplet may then be employed as a base die upon which are stacked multiple memory die to form the memory 123 for a stacked memory implementation, such as for HBM. Other embodiments may employ the single die chiplet as a buffer or intermediary between the IC chiplet 104 and memory die 123, with the memory die 123 disposed proximate the single die chiplet on the package substrate 102 or off-MCM (not shown).

In operation, and depending on the application, a link bandwidth (in terms of data rate) for each link may not match a channel bandwidth associated with each channel. Conventional D2D interfaces that typically match a given fixed unit interface architecture (such as the UCIe standardized 64b unit architecture) to a given channel with bandwidth imbalances thus often fail to take advantage of the fully-available bandwidth of the system. To avoid bandwidth underutilization, and referring now to FIG. 2, the chiplet-based MCM 100 generally employs the first IC chiplet 104 coupled to the multi-channel memory chiplet 106 via the multiple links 109, at 202. A fully-available link bandwidth provided by the multiple configurable links is then balanced with a corresponding bandwidth provided by the multiple channels, at 204. For one embodiment, at 206, where a first bandwidth associated with each link is greater than a second bandwidth associated with each channel, the bandwidth balancing circuitry 128 of the memory chiplet 106 selectively configures at least a first portion of the multiple channels to transfer data at the fully-available link bandwidth of the multiple links. In another embodiment, at 208, where the first bandwidth associated with each link is less than a second bandwidth associated with each channel, the bandwidth balancing circuitry 120 and 128 selectively configures at least a portion of the multiple links to transfer data at a fully-available channel bandwidth of the multiple channels. Further detail for each of these embodiments is set forth below.

FIG. 3 illustrates a chiplet-based MCM, generally designated 300, that includes many of the features that are incorporated into the embodiment of FIG. 1, with like features identified by the corresponding numerals presented in FIG. 1. For one specific embodiment, the memory chiplet 106 communicates with the host IC chiplet 104 via “M” links 109, with a corresponding number of “M” I/O circuits 302 included in the host-side I/O circuitry 118 and “M” I/O circuits 304 included at the memory-side I/O circuitry 130. For one embodiment, the memory control circuitry 124 is configured such that a “N” separate memory controllers 306 manage memory transactions over “N” corresponding channels 308. Generally, a channel is an independent interface that is capable of accessing an independent set of one or more memory banks in the memory 123.

The specific embodiment of FIG. 3 addresses situations where a usable link bandwidth, defined as a raw data rate of a link less the overhead involved with request fields, response fields and data formatting constraints, is greater than the bandwidth of a single channel (or the corresponding independent set of banks) of the memory chiplet 106. To avoid underutilization of each link, the memory chiplet 106 employs bandwidth balancing circuitry 306 that takes the form of memory mapping circuitry. The memory mapping circuitry 306 generally distributes memory requests from each link of the multiple links 109 to a subset (more than one) of the memory channels 125, and vice versa. In an overall bandwidth context, this balances the higher bandwidth capabilities of the individual links 109 with the relatively lower bandwidth capabilities of the memory channels 125. As explained more fully below, this may be accomplished dynamically or statically.

Further referring to FIG. 3, the M-to-N mapping circuitry 306 may take one of several embodiments, depending on the application. For one specific embodiment, the mapping may be dynamic through use of a hash function capability that evaluates incoming requests (such as data requests) and creates an index that identifies addressing information for distributing the various requests across the available channels. Distributed requests are tagged with appropriate addressing information based on the hash function, with the tag information being stored in the memory with the data, so that the data may be properly reassembled as read data in a read response operation. Crossbar switch circuitry (not shown) may be included, in some embodiments, to route a stream of data from a single input to multiple distributed outputs. By distributing requests from each link across a subset of the channels, the links are able to collectively realize a total available bandwidth even though the link bandwidth for each individual link is greater than the channel bandwidth of each individual channel.

For some embodiments, a static mapping capability may be preferred over the dynamic hash-based mapping functionality described above. Static mapping may be achieved for one embodiment by pre-configuring the links to route data in a partitioned manner to fixed regions of the memory space served by sub-sets of the channels. This avoids the use of hash-functions and the underlying processing resources used to carry out the hash function.

In operation, and referring now to FIG. 4, the chiplet-based MCM 300 of FIG. 3 is configured based on a determination, at 402, that a link bandwidth of each link is greater than a channel bandwidth of each channel. The number of links is then selectively configured, at 404, to either match the number of channels (such as when the relative link and channel bandwidths are very close), or to be less than the number of channels. If the number of links match the number of channels, at 406, then a selective power reduction capability may be enabled that powers-down target channels when a corresponding link is inactive, at 408. Where the number of configured links is less than the number of channels, at 406, then memory request information from each link is distributed to a subset (more than one) of the memory channels, at 410. This may take the form of dynamic hash-based address distributing, at 412, or static address mapping based on fixed partitioning, at 414.

While the chiplet-based MCM embodiment 300 described above with respect to FIGS. 3 and 4 addresses bandwidth balancing situations where the link bandwidth of each link is greater than the channel bandwidth of each channel, the opposite situation where the link bandwidth of each link is less than the channel bandwidth of each channel is addressed by a further embodiment of a chiplet-based MCM, generally designated 500, that is illustrated in FIG. 5. The chiplet-based MCM 500 includes many of the features that are incorporated into the embodiment of FIG. 1, with like features identified by the corresponding numerals presented in FIG. 1. For one specific embodiment, the memory chiplet 106 communicates with the host IC chiplet 104 via “M” links 109, with a corresponding number of “M” I/O circuits 502 included in the host-side I/O circuitry 118 and “M” I/O circuits 504 included in the memory-side I/O circuitry 130. For one embodiment, the memory control circuitry 124 is configured such that “N” separate memory controllers 506 manage memory transactions over “N” corresponding channels 508.

The specific embodiment of FIG. 5 addresses situations where a usable link bandwidth, defined as the raw data rate of a link less the overhead involved with request fields, response fields and data formatting constraints, is less than the bandwidth of a single channel (or the corresponding independent set of banks) of the memory chiplet 106. To avoid underutilization of each channel, both the host IC chiplet 104 and the memory chiplet 106 employ bandwidth balancing circuitry 510 and 512 that takes the form of virtual lane control circuitry. The virtual lane control circuitry 510 and 512 generally combines portions of two or more links to form larger virtual links.

As an example, and referring now to FIG. 6, for a situation where the number of links M is five (5), and the number of channels N is four (4), then each memory channel may be configured to utilize 5/4 the bandwidth of one link. For an actual link configuration having a unit architecture width of thirty-two (32) bits, then bits 0-31 of a first actual link UA1 may be combined with bits 0-7 of a second actual link UA2 (such as an adjacent link) to create a first 40-bit wide virtual link VL1. A second virtual link VL2 may be configured from bits 8-31 of the second actual link UA2 along with bits 0-15 of a third actual link UA3, and so on. FIG. 6 illustrates five UMI adapter blocks that are coupled to corresponding thirty-two-bit links, with the virtual lane control circuitry 510 and 512 each configuring forty-bit virtual links to feed information at a virtual link bandwidth that matches (or corresponds to) the channel bandwidth for each channel.

In operation, and referring now to FIG. 7, the chiplet-based MCM 500 of FIG. 5 is configured based on a determination, at 702, that a link bandwidth of each link is less than a channel bandwidth of each channel. Virtual links are then configured, at 704, that combine portions of multiple default links, where each virtual link supports a bandwidth corresponding to the channel bandwidth of each channel.

When received within a computer system via one or more computer-readable media, such data and/or instruction-based expressions of the above described circuits may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs including, without limitation, net-list generation programs, place and route programs and the like, to generate a representation or image of a physical manifestation of such circuits. Such representation or image may thereafter be used in device fabrication, for example, by enabling generation of one or more masks that are used to form various components of the circuits in a device fabrication process.

In the foregoing description and in the accompanying drawings, specific terminology and drawing symbols have been set forth to provide a thorough understanding of the present disclosure. In some instances, the terminology and symbols may imply specific details that are not required to practice aspects of the disclosure. For example, any of the specific numbers of bits, signal path widths, signaling or operating frequencies, component circuits or devices and the like may be different from those described above in alternative embodiments. Also, the interconnection between circuit elements or circuit blocks shown or described as multi-conductor signal links may alternatively be single-conductor signal links, and single conductor signal links may alternatively be multi-conductor signal links. Signals and signaling paths shown or described as being single-ended may also be differential, and vice-versa. Similarly, signals described or depicted as having active-high or active-low logic levels may have opposite logic levels in alternative embodiments. Component circuitry within integrated circuit devices may be implemented using metal oxide semiconductor (MOS) technology, bipolar technology or any other technology in which logical and analog circuits may be implemented. With respect to terminology, a signal is said to be “asserted” when the signal is driven to a low level for active-low signals or high logic level for active-high signals (or discharged to low logic state or charged to a high logic state) to indicate a particular condition. Conversely, a signal is said to be “deasserted” to indicate that the signal is driven (or charged or discharged) to a state other than the asserted state (including a high or low logic state, or the floating state that may occur when the signal driving circuit is transitioned to a high impedance condition, such as an open drain or open collector condition). A signal driving circuit is said to “output” a signal to a signal receiving circuit when the signal driving circuit asserts (or deasserts, if explicitly stated or indicated by context) the signal on a signal line coupled between the signal driving and signal receiving circuits. A signal line is said to be “activated” when a signal is asserted on the signal line, and “deactivated” when the signal is deasserted. Additionally, the prefix symbol “/” attached to signal names indicates that the signal is an active low signal (i.e., the asserted state is a logic low state). A line over a signal name (e.g., ‘<signal name>’) is also used to indicate an active low signal. The term “coupled” is used herein to express a direct connection as well as a connection through one or more intervening circuits or structures. Integrated circuit device “programming” may include, for example and without limitation, loading a control value into a register or other storage circuit within the device in response to a host instruction and thus controlling an operational aspect of the device, establishing a device configuration or controlling an operational aspect of the device through a one-time programming operation (e.g., blowing fuses within a configuration circuit during device production), and/or connecting one or more selected pins or other contact structures of the device to reference voltage lines (also referred to as strapping) to establish a particular device configuration or operation aspect of the device. The term “exemplary” is used to express an example, not a preference or requirement.

While aspects of the disclosure have been described with reference to specific embodiments thereof, it will be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the disclosure. For example, features or aspects of any of the embodiments may be applied, at least where practicable, in combination with any other of the embodiments or in place of counterpart features or aspects thereof. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Claims

We claim:

1. A chiplet-based multi-chip module (MCM) to couple to a base substrate, comprising:

a package substrate that is separate from the base substrate;

a host integrated circuit (IC) chiplet coupled to the package substrate;

a memory chiplet, comprising:

storage;

multiple memory control circuits, each of the multiple memory control circuits to control a memory access operation to the storage, and

multiple channel circuits, each channel circuit of the multiple channel circuits to transfer channel data between the multiple memory control circuits and the storage at a channel bandwidth;

multiple links coupling the host IC chiplet to the memory chiplet, each of the multiple links to transfer link data at a link bandwidth that is free to be different than the channel bandwidth; and

bandwidth balancing circuitry, based on relative values between the channel bandwidth and the link bandwidth, to selectively configure the multiple channel circuits to transfer a total amount of data at a fully-available link bandwidth of the multiple links or to selectively configure the multiple links to transfer the total amount of data at a fully-available channel bandwidth of the multiple channel circuits.

2. The chiplet-based MCM of claim 1, wherein the link bandwidth for each link is greater than the channel bandwidth for each channel circuit, and wherein:

the bandwidth balancing circuitry resides in the memory chiplet and comprises address mapping circuitry to distribute link data from each link of the multiple links to subsets of the multiple channel circuits.

3. The chiplet-based MCM of claim 2, wherein:

the address mapping circuitry is configured to dynamically distribute the link data based on a hash function.

4. The chiplet-based MCM of claim 3, wherein the address mapping circuitry further comprises:

crossbar switch circuitry to route a stream of data from a single input to multiple distributed outputs as distributed data portions; and

circuitry to attach tag information to the distributed data portions.

5. The chiplet-based MCM of claim 2, wherein:

the address mapping circuitry is configured to statically distribute the link data based on a predefined address partitioning of the storage into regions.

6. The chiplet-based MCM of claim 1, wherein the link bandwidth for each link is less than the channel bandwidth for each channel circuit, and wherein:

the bandwidth balancing circuitry comprises virtual lane control circuitry to assemble subsets of the multiple links into virtual links, with each of the virtual links transferring the data at a virtual bandwidth that corresponds to the channel bandwidth for each channel circuit.

7. The chiplet-based MCM of claim 1, wherein:

the multiple channel circuits are constrained to operate at the fully-available channel bandwidth; and

the bandwidth balancing circuitry activates a number of the multiple links sufficient to transfer the total amount of the data at the fully-available channel bandwidth.

8. A memory chiplet, comprising:

storage;

multiple memory control circuits, each of the multiple memory control circuits to control a memory access operation to the storage, and

multiple channel circuits, each channel circuit of the multiple channel circuits to transfer channel data between the multiple memory control circuits and the storage at a channel bandwidth;

multiple link input/output (I/O) circuits coupling the memory chiplet to a host integrated circuit (IC) chiplet, each of the multiple link I/O circuits to transfer link data at a link bandwidth that is free to be different than the channel bandwidth; and

bandwidth balancing circuitry, based on relative values between the channel bandwidth and the link bandwidth, to selectively configure the multiple channel circuits to transfer a total amount of data at a fully-available link bandwidth of the multiple link I/O circuits or to selectively configure the multiple link I/O circuits to transfer the total amount of data at a fully-available channel bandwidth of the multiple channel circuits.

9. The memory chiplet of claim 8, wherein the link bandwidth for each of the multiple link I/O circuits is greater than the channel bandwidth for each channel circuit, and wherein:

the bandwidth balancing circuitry comprises address mapping circuitry to distribute link data from each of the multiple link I/O circuits to subsets of the multiple channel circuits.

10. The memory chiplet of claim 9, wherein:

the address mapping circuitry is configured to dynamically distribute the link data based on a hash function.

11. The memory chiplet of claim 10, wherein the address mapping circuitry further comprises:

crossbar switch circuitry to route a stream of the link data from a single input to multiple distributed outputs as distributed data portions; and

circuitry to attach tag information to the distributed data portions.

12. The memory chiplet of claim 9, wherein:

the address mapping circuitry is configured to statically distribute the link data based on a predefined address partitioning of the storage into regions.

13. The memory chiplet of claim 8, wherein the link bandwidth for each of the multiple link I/O circuits is less than the channel bandwidth for each channel circuit, and wherein:

the bandwidth balancing circuitry comprises virtual lane control circuitry to assemble subsets of the multiple link I/O circuits into virtual link I/O circuits, with each of the virtual link I/O circuits transferring the link data at a virtual bandwidth that corresponds to the channel bandwidth for each channel circuit.

14. The memory chiplet of claim 8, further comprising:

a network-on-chip (NoC) circuit.

15. A method of operation in a chiplet-based multi-chip module (MCM), the chiplet-based MCM for coupling to a base substrate, and comprising a package substrate that is separate from the base substrate, the MCM comprising a first IC chiplet and a memory chiplet, wherein the memory chiplet comprises storage, multiple memory control circuits and multiple channel circuits, each channel circuit of the multiple channel circuits to transfer channel data between the multiple memory control circuits and the storage at a channel bandwidth, wherein the memory chiplet is coupled to the first IC chiplet by multiple links, each link of the multiple links transferring link data at a link bandwidth, wherein the method comprises:

balancing a total data bandwidth transferred between the multiple channel circuits and the multiple links, the balancing comprising

determining a greater one of a channel bandwidth of each channel circuit or a link bandwidth of each link;

if the link bandwidth of each link of the multiple links is greater than the channel bandwidth of each channel circuit of the multiple channel circuits, configuring the multiple channel circuits to transfer a total amount of data at a fully-available link bandwidth of the multiple links; and

if the link bandwidth of each link is less than the channel bandwidth of each channel circuit, configuring the multiple links to transfer the total amount of data at a fully-available channel bandwidth of the multiple channel circuits.

16. The method of claim 15, wherein the link bandwidth for each link of the multiple links is greater than the channel bandwidth for each channel circuit of the multiple channel circuits, and wherein:

the balancing comprises, using address mapping circuitry, distributing link data from each link of the multiple links to subsets of the multiple channel circuits.

17. The method of claim 16, wherein:

the balancing comprises dynamically distributing the link data based on a hash function.

18. The method of claim 17, wherein the dynamically distributing further comprises:

routing a stream of data from a single input to multiple distributed outputs as distributed data portions; and

attaching tag information to the distributed data portions to reassemble the distributed data portions back into the stream of data at a destination location.

19. The method of claim 16, wherein:

the balancing comprises statically distributing the link data based on a predefined address partitioning of the storage into regions.

20. The method of claim 15, wherein the link bandwidth for each link of the multiple links is less than the channel bandwidth for each channel circuit of the multiple channel circuits, and wherein:

the balancing comprises assembling, with virtual lane control circuitry, subsets of the multiple links into virtual links, with each virtual link transferring the data at a virtual bandwidth that corresponds to the channel bandwidth for each channel circuit of the multiple channel circuits.

Resources

Images & Drawings included:

Sources:

Recent applications in this class:

Recent applications for this Assignee: