# US 12,111,776 B2 · Multi-dimensional memory cluster

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

- Number: US 12,111,776 B2
- Document ID: US12111776B2
- Status: Granted
- Kind: B2
- Application number: 17/553,393
- Filed: 2021-12-16
- Published: 2023-05-04
- Granted: 2024-10-08
- Earliest claimed: 2021-11-01
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Byung Hee Choi
- Web page: https://patentgrep.com/patent/US12111776B2

## CPC

- G06F 12/0284: {Multiple user address space allocation, e.g. using different base addresses (interprocessor communication G06F15/163)}
- G06F 13/1668: {Details of memory controller}
- G06F 3/0617: {in relation to availability}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0635: {by changing the path, e.g. traffic rerouting, path reconfiguration}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 11/0727: {in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- G06F 11/0751: {Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06)}
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- H04L 45/22: {Alternate routing}
- H04L 45/28: using route fault recovery
- H04L 45/302: Route determination based on requested QoS
- G06F 2212/1024: Latency reduction
- G06F 2212/1048: Scalability
- G06F 2212/154: Networked environment
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A multi-dimensional memory cluster. In some embodiments, the memory cluster includes a first node, having an external port for making a connection to a host; a second node, connected to the first node by a first memory-centric connection; the second node storing a service level descriptor; the first node being configured to: receive, from the host, a first request, addressed to the second node, for the service level descriptor; and forward the first request to the second node, the second node being configured to: receive the first request; and send a first response, to the first node, the first response including the service level descriptor of the second node.

## Claims

### Claim 1

A system, comprising:
a first node, having an external port for making a connection to a host;
a second node, connected to the first node by a first memory-centric connection;
the second node storing a service level descriptor;
the first node being configured to:
receive, from the host, a first request, addressed to the second node, for the service level descriptor; and
forward the first request to the second node,
the second node being configured to:
receive the first request; and
send a first response to the host via the first node, the first response including the service level descriptor of the second node.

### Claim 2 (depends on 1)

The system of claim 1, wherein the second node further stores a topology identifier comprising an address of the second node along a first dimension, and an address of the second node along a second dimension.

### Claim 3 (depends on 2)

The system of claim 2, wherein:
the topology identifier further comprises:
a port identifier for a first port of the second node, and
a port identifier for a second port of the second node,
the first port of the second node is connected, by a second memory-centric connection, to a third node, the third node being separated from the second node along the first dimension; and
the second port of the second node is connected, by a third memory-centric connection, to a fourth node, the fourth node being separated from the second node along the second dimension.

### Claim 4 (depends on 3)

The system of claim 3, wherein the third memory-centric connection has a bandwidth at least twice as great as a bandwidth of the second memory-centric connection.

### Claim 5 (depends on 4)

The system of claim 4, wherein the second node is configured, upon receipt of a disconnect command identifying the first port of the second node, to disconnect the second node from the third node.

### Claim 6 (depends on 5)

The system of claim 5, further comprising a host, connected to the first node, wherein the host is configured:
to detect a fault affecting the third node, and
in response to detecting the fault, to send the disconnect command.

### Claim 7 (depends on 2)

The system of claim 2, wherein:
the first node is further configured to
receive, from the host, a second request, addressed to the second node, for the topology identifier; and
forward the second request to the second node,
the second node is further configured to:
receive the second request; and
send a second response, to the first node, the second response including the topology identifier of the second node.

### Claim 8 (depends on 2)

The system of claim 2, wherein the first node is connected, along the first dimension, to M other nodes, M being an integer greater than or equal to 4.

### Claim 9 (depends on 2)

The system of claim 2, wherein the first node is connected, along the first dimension, to M other nodes, M being equal to 1 or 2.

### Claim 10 (depends on 1)

The system of claim 1, wherein the host is configured to allocate memory from the first node or the second node to an application running on the host.

### Claim 11 (depends on 1)

The system of claim 1, wherein:
the first node is configured to receive the first request from the host via the external port; and
the second node is configured to receive the first request from the first node via the first memory-centric connection.

### Claim 12 (depends on 11)

The system of claim 11, wherein:
the first memory-centric connection is a Compute Express Link (CXL) connection; and
the external port comprises an electrical port or an optical port.

### Claim 13

A method, comprising:
receiving, by a first node having an external port for making a connection to a host, a first request, addressed to a second node connected to the first node by a first memory-centric connection, the first request being a request for a service level descriptor stored by the second node;
forwarding, by the first node, the first request to the second node;
receiving, by the second node, the first request; and
sending a first response, by the second node, to the host via the first node, the first response including the service level descriptor of the second node.

### Claim 14 (depends on 13)

The method of claim 13, wherein the second node further stores a topology identifier comprising an address of the second node along a first dimension, and an address of the second node along a second dimension.

### Claim 15 (depends on 14)

The method of claim 14, wherein:
the topology identifier further comprises:
a port identifier for a first port of the second node, and
a port identifier for a second port of the second node,
the first port of the second node is connected, by a second memory-centric connection, to a third node, the third node being separated from the second node along the first dimension; and
the second port of the second node is connected, by a third memory-centric connection, to a fourth node, the fourth node being separated from the second node along the second dimension.

### Claim 16 (depends on 15)

The method of claim 15, wherein the third memory-centric connection has a bandwidth at least twice as great as a bandwidth of the second memory-centric connection.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
receiving, by the second node, a disconnect command identifying the first port of the second node; and
disconnecting the second node from the third node.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
detecting, by a host connected to the first node, a fault affecting the third node; and
in response to detecting the fault, sending, by the host, the disconnect command.

### Claim 19 (depends on 14)

The method of claim 14, further comprising:
receiving, by the first node, from the host, a second request, addressed to the second node, for the topology identifier; and
forwarding, by the first node, the second request to the second node;
receiving, by the second node, the second request; and
sending, by the second node, a second response, to the first node, the second response including the topology identifier of the second node.

### Claim 20

A system, comprising:
a first node, comprising a first means for processing, and having an external port for making a connection to a host;
a second node, connected to the first node by a first memory-centric connection, the second node comprising a second means for processing;
the second node storing a service level descriptor;
the first means for processing being configured to:
receive, from the host, a first request, addressed to the second node, for the service level descriptor; and
forward the first request to the second node,
the second means for processing being configured to:
receive the first request; and
send a first response to the host via the first node, the first response including the service level descriptor of the second node.
