IP Library › Granted Patent US 12,056,066
Granted Patent B2
US 12,056,066 · App. 17/466,726 · Granted Aug 6, 2024

System, device, and method for accessing memory based on multi-protocol

Inventors: Jeongho Lee (Gwacheon-si, KR); Younho Jeon (Gimhae-si, KR); Daehui Kim (Gumi-si, KR); Heehyun Nam (Seoul, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F13/1668G06F13/4022
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,056,066
App. No.
17/466,726
Granted
Aug 6, 2024
Kind
B2
Abstract

A device configured to communicate through a bus may include a first interface circuit configured to, based on a first protocol, provide first access to a first memory through the bus and a second interface circuit configured to, based on a second protocol, provide a non-coherent input/output (I/O) interface through the bus. The second interface circuit may be configured to access the first memory in response to a message received through the bus based on the second protocol to provide second access to the first memory through the bus.

Claims (82)

1. A device configured to communicate through a bus, the device comprising:

a first interface circuit configured to, based on a first protocol, provide a first access to a first memory through the bus, wherein the first access is to a first region of the first memory; and

a second interface circuit configured to, based on a second protocol, provide a non-coherent input/output (I/O) interface through the bus as a second access, wherein the second access is to a second region of the first memory, and the second protocol is different than the first protocol, wherein

the second interface circuit is further configured to receive a first message through the bus based on the second protocol and provide a second access to the first memory through the bus by accessing the first memory in response to the first message,

wherein the second interface circuit is further configured to receive a second message from the bus based on the second protocol, and

the second message is configured to cause the device to copy second data, stored in a second memory to the first memory, wherein the device is further configured to access the second memory through the second interface circuit,

wherein the first protocol is CXL.mem of a compute express link (CXL), and

the second protocol is CXL.io of CXL,

wherein the second message is further configured to cause the device to perform at least part of a data swap by copying the second data, and

wherein the second interface circuit is further configured to:

transmit the second data to the bus based on CXL.io in response to the second message,

receive the second data from the bus based on CXL.io, and

provide the first memory with the second data received from the bus.

2. The device of claim 1 , wherein the first access comprises first data having a first size which is fixed, and

the second access comprises second data having a second size which is variable.

3. The device of claim 2 , wherein the second size is greater than the first size.

4. The device of claim 1 , further comprising a coherency engine configured to:

monitor the first access and the second access, and

resolve a coherency of the first memory.

5. The device of claim 4 , further comprising a third interface circuit configured to provide a message of the coherency engine through the bus based on a third protocol.

6. The device of claim 1 , wherein the second interface circuit is further configured to:

transmit the second data to the bus based on the second protocol in response to the second message,

receive the second data from the bus based on the second protocol, and

provide the first memory with the second data received from the bus.

7. The device of claim 1 , wherein the second interface circuit is further configured to:

receive the second data from the second memory in response to the second message, and

provide the second data to the first memory.

8. The device of claim 1 , wherein the first interface is configured to support the first protocol and the first protocol is CXL.mem of a compute express link (CXL), and

wherein the second interface is configured to support the second protocol and the second protocol is CXL.io of the CXL.

9. An operating method of a device connected to a bus, the operating method comprising:

providing, based on a first protocol, a first access to a first memory through the bus, wherein the first access is to a first region of the first memory; and

providing, based on a second protocol, a non-coherent input/output interface through the bus as a second access, wherein the second access is to a second region of the first memory, and the second protocol is different than the first protocol, wherein

the providing of the non-coherent input/output interface comprises:

receiving a first message through the bus based on the second protocol; and

providing a second access to the first memory by accessing the first memory in response to the first message;

wherein the providing, based on a second protocol, the non-coherent input/output interface comprises:

receiving a second message from the bus based on the second protocol, wherein the second message is configured to cause the device to copy second data, stored in a second memory to the first memory, wherein the device is further configured to access the second memory through the second interface circuit,

wherein the first protocol is CXL.mem of a compute express link (CXL), and

the second protocol is CXL.io of CXL,

wherein the second message is further configured to cause the device to perform at least part of a data swap by copying the second data, and

wherein the providing, based on a second protocol, the non-coherent input/output interface further comprises:

transmitting the second data to the bus based on CXL.io in response to the second message;

receiving the second data from the bus based on CXL.io; and

providing the first memory with the second data received from the bus.

10. The operating method of claim 9 , wherein the providing of the first access comprises transmitting first data having a first size to the bus, or receiving the first data from the bus, the first size being fixed, and

the providing of the second access comprises transmitting second data having a second size to the bus, or receiving the second data from the bus, the second size being variable.

11. The operating method of claim 9 , further comprising resolving coherency of the first memory, wherein the resolving comprises monitoring the first access and the second access.

12. The operating method of claim 9 , further comprising providing a third access to a second memory based on the second protocol, wherein

the providing of the second access comprises receiving a second message, wherein the second message is based on the second protocol, and

copying, in response to the second message, second data stored in the second memory to the first memory.

13. The operating method of claim 12 , wherein the providing of the second access comprises:

transmitting the second data to the bus based on the second protocol in response to the second message;

receiving the second data from the bus based on the second protocol; and

storing the second data received from the bus in the first memory.

14. The operating method of claim 12 , wherein the providing of the second access comprises:

reading, in response to the second message, the second data from the second memory; and

storing the second data in the first memory.

15. A system comprising:

a device connected to a bus and configured to communicate with a first memory; and

a host processor, wherein the host processor is configured to:

select a first protocol or a second protocol based on a size of first data, which is to be written in the first memory or to be read from the first memory, and

perform a first access to the first memory through the bus based on the selected protocol,

wherein

the first protocol is CXL.mem of a compute express link (CXL), and the second protocol is CXL.io of CXL,

wherein the device is further configured to:

receive a second message from the bus based on the second protocol, wherein the second message is configured to cause the device to copy second data, stored in a second memory to the first memory, wherein the device is further configured to access the second memory through a second interface circuit,

perform at least part of a data swap by copying the second data, wherein the copying comprises:

transmitting, by the device, the second data to the bus based on CXL.io in response to the second message,

receiving, by the device, the second data from the bus based on CXL.io, and

providing, by the device, the first memory with the second data received from the bus.

16. The system of claim 15 , wherein the host processor is further configured to:

select the second protocol when the size of the first data is greater than a threshold value, and

select the first protocol when the size of the first data is less than or equal to the threshold value.

17. The system of claim 15 , wherein the device is further configured to:

monitor the first access based on the first protocol;

monitor a second access based on the second protocol; and

provide, based on a third protocol, the host processor with a message for resolving coherency.

18. The system of claim 15 , further comprising a switch connected to the bus, wherein

the device is further configured to:

read, based on the second protocol in response to the message, the second data from the second memory,

provide the switch with the second data, and

store the second data, received from the switch based on the second protocol, in the first memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2021
From: LEE, JEONGHO; JEON, YOUNHO; KIM, DAEHUI; NAM, HEEHYUN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 057385/0761 →
Priority Claims (1)
KR 10-2020-0150510 · Nov 11, 2020 · national
Continuity (1)
Related Publication 20220147470A1 · May 12, 2022
Cited By (3)
US 12,541,326 US 12,566,703 US 12,591,530