# US 12,111,783 B2 · Flexible on-die fabric interface

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,111,783 B2
- Document ID: US12111783B2
- Status: Granted
- Kind: B2
- Application number: 18/349,055
- Filed: 2023-07-07
- Published: 2023-11-02
- Granted: 2024-10-08
- Earliest claimed: 2019-12-06
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Swadesh Choudhary; Robert G. Blankenship; Siva Prasad Gadey; Sailesh Kumar; Vinit Mathew Abraham; Yen-Cheng Liu
- Web page: https://patentgrep.com/patent/US12111783B2

## CPC

- G06F 13/4027: {using bus bridges (G06F13/4022 takes precedence)}
- G06F 13/4295: {using an embedded synchronisation}
- G06F 12/0806: Multiuser, multiprocessor or multiprocessing cache systems
- G06F 12/0815: Cache consistency protocols
- G06F 12/0875: with dedicated cache, e.g. instruction or stack
- G06F 12/109: for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence)
- G06F 13/4265: {on a point to point bus (G06F13/4247, G06F13/4282 take precedence)}
- G06F 12/1027: using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F 2213/0026: PCI express
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An interface for coupling an agent to a fabric supports a set of coherent interconnect protocols and includes a global channel to communicate control signals to support the interface, a request channel to communicate messages associated with requests to other agents on the fabric, a response channel to communicate responses to other agents on the fabric, and a data channel to couple to communicate messages associated with data transfers to other agents on the fabric, where the data transfers include payload data.

## Claims

### Claim 1

An apparatus comprising:
a controller comprising:
first protocol circuitry to implement one or more layers of a load/store protocol;
second protocol circuitry to implement one or more layers of at least one of a CXL.mem protocol or a CXL.cache protocol;
first interface circuitry to implement a first interface to couple the first protocol circuitry to a fabric;
second interface circuitry to implement a different, second interface to couple the second protocol circuitry to the fabric, wherein the second interface comprises:
a global channel to use a first set of wires, wherein the global channel is to carry signals for initialization of the interface;
a request channel to use a second set of wires, wherein the request channel is to carry requests to the fabric;
a response channel to use a third set of wires, wherein the response channel is to carry responses to the fabric; and
a data channel to use a fourth set of wires, wherein the data channel is to carry data transfers to the fabric.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the first interface comprises a Streaming Fabric Interface (SFI) and the second interface comprises a CXL Cache/Mem Protocol Interface (CPI).

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the global channel comprises an agent-to-fabric (A2F) global channel and a fabric-to-agent (F2A) global channel, the request channel comprises an A2F request channel and an F2A request channel, the response channel comprises an A2F response channel and an F2A response channel, and the data channel comprises an A2F data channel and an F2A data channel.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the second set of wires comprises a plurality of wires and the request channel comprises a plurality of signals, and respective signals in the plurality of signals are assigned to corresponding subsets of the plurality of wires.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the third set of wires comprises a plurality of wires and the response channel comprises a plurality of signals, and respective signals in the plurality of signals are assigned to corresponding subsets of the plurality of wires.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the fourth set of wires comprises a plurality of wires and the data channel comprises a plurality of signals, and respective signals in the plurality of signals are assigned to corresponding subset of the plurality of wires.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the request channel, the response channel, and the data channel comprise respective transfer signals from the controller to the fabric and respective flow control signals from the fabric to the controller.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein the second protocol circuitry implements the CXL.mem protocol and the CXL.cache protocol.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the request channel, the response channel, and the data channel define respective protocol identifier signals and respective header signals, wherein header signals carry a header of a particular message, and protocol identifier signals identify one of CXL.mem or CXL.cache as associated with the header.

### Claim 10 (depends on 1)

The apparatus of claim 1, wherein the load/store protocol comprises one of CXL.io or a Peripheral Component Interconnect Express (PCIe) protocol.

### Claim 11 (depends on 1)

The apparatus of claim 1, wherein the controller comprises an integrated circuit (IC) device.

### Claim 12

A method comprising:
sending an initialization signal on a global channel of an interface, wherein the interface is to couple a controller to a fabric, the controller comprises circuitry to implement a CXL.mem protocol and a CXL.cache protocol, and the global channel is implemented using a first set of wires of the interface;
receiving, at the controller, a request on a request channel from the fabric, wherein the request channel is implemented using a second set of wires of the interface;
sending, from the controller, a response on a response channel to the fabric, wherein the response is associated with the request, and the response channel is implemented using a third set of wires of the interface; and
sending flit data from the controller to the fabric on a data channel, wherein the data channel is implemented using a fourth set of wires of the interface.

### Claim 13

A system comprising:
a fabric device;
controller comprising:
first protocol circuitry to implement one or more layers of a CXL.io protocol layer;
second protocol circuitry to implement at least one of a CXL.mem protocol layer or a CXL.cache protocol layer;
first interface circuitry to implement a first interface to couple the first protocol circuitry to the fabric;
second interface circuitry to implement a different, second interface to couple the second protocol circuitry to the fabric, wherein the second interface comprises:
a global channel to use a first set of wires, wherein the global channel is to carry signals for initialization of the interface;
a request channel to use a second set of wires, wherein the request channel is to carry requests to the fabric;
a response channel to use a third set of wires, wherein the response channel is to carry responses to the fabric; and
a data channel to use a fourth set of wires, wherein the data channel is to carry data transfers to the fabric.

### Claim 14 (depends on 13)

The system of claim 13, wherein the second protocol circuitry is to implement the CXL.mem protocol layer and the CXL.cache protocol layer.

### Claim 15 (depends on 14)

The system of claim 14, wherein CXL.mem data and CXL.cache data are to be multiplexed over the second interface.

### Claim 16 (depends on 13)

The system of claim 13, further comprising:
a second device; and
a link to couple the controller to the second device, wherein the link is based on a CXL-based protocol.

### Claim 17 (depends on 16)

The system of claim 16, wherein the link comprises a Flex Bus physical layer (PHY).

### Claim 18 (depends on 13)

The system of claim 13, wherein the fabric device comprises an on-chip fabric device.

### Claim 19 (depends on 13)

The system of claim 13, wherein the fabric device comprises an Advanced Microcontroller Bus Architecture (AMBA) interconnect device.

### Claim 20 (depends on 13)

The system of claim 13, wherein the data transfers comprise flit-based data transfers.
