IP Library › Granted Patent US 12,271,329
Granted Patent B2
US 12,271,329 · App. 18/250,325 · Granted Apr 8, 2025

Multi-port memory link expander to share data among hosts

Inventors: Zhuangzhi Li (Shanghai, CN); Jie Bai (Shanghai, CN); Di Zhang (Shanghai, CN); Changcheng Liu (Shanghai, CN); Zhonghua Sun (Shanghai, CN)
Assignee: Intel Corporation
G06F13/4022G06F13/1663G06F13/4081G06F13/4221
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,271,329
App. No.
18/250,325
Granted
Apr 8, 2025
Kind
B2
Abstract

Systems, apparatuses and methods may provide for technology that collects, by a BIOS (basic input output system), memory information from a first host path to a coherent device memory on a memory expander, wherein the memory expander includes a plurality of host paths, transfers the memory information from the BIOS to an OS (operating system) via one or more OS interface tables, and initializes, by the OS, the memory expander based on the memory information, wherein the memory information includes memory capabilities and configuration settings associated with the memory expander.

Claims (43)

1. A computing system comprising:

a memory expander including a coherent device memory, a memory controller coupled to the coherent device memory, and a plurality of host paths coupled to the memory controller, wherein the memory controller is to initialize the coherent device memory as hot-pluggable memory;

a plurality of host devices coupled to the memory expander, the plurality of host devices including a first host device having a set of executable program instructions, which when executed by the first host device, cause the first host device to:

collect, by a basic input output system (BIOS), memory information from a first host path of the plurality of host paths to the coherent device memory,

transfer the memory information from the BIOS to an operating system (OS) via one or more OS interface tables, and

initialize, by the OS, the memory expander based on the memory information, wherein the memory information includes memory capabilities and configuration settings associated with the memory expander.

2. The computing system of claim 1 , wherein the instructions, when executed, further cause the first host device to synchronize access to the coherent device memory with one or more additional host devices in the plurality of host devices.

3. The computing system of claim 2 , wherein access to the coherent device memory is synchronized via a token and one or more keep alive communications.

4. The computing system of claim 1 , wherein the memory expander is to report address mapping information to the plurality of host devices.

5. The computing system of claim 1 , wherein the first host path includes a first port and a first coherence agent, and wherein the plurality of host paths further includes a second host path including a second port and a second coherence agent.

6. The computing system of claim 5 , wherein the first host path further includes a first set of registers and the second host path further includes a second set of registers, wherein the first set of registers and the second set of registers store memory capabilities and configuration settings associated with the memory expander.

7. The computing system of claim 1 , wherein the coherent device memory complies with a COMPUTE EXPRESS LINK standard.

8. A memory expander comprising:

a coherent device memory;

a memory controller coupled to the coherent device memory; and

a plurality of host paths coupled to the memory controller, wherein the memory controller is to initialize the coherent device memory as hot-pluggable memory, and wherein the plurality of host paths includes:

a first host path including a first port and a first coherence agent; and

a second host path including a second port and a second coherence agent;

wherein the memory expander is to report address mapping information to a plurality of host devices.

9. The memory expander of claim 8 , wherein the first host path further includes a first set of registers and the second host path further includes a second set of registers, wherein the first set of registers and the second set of registers store memory capabilities and configuration settings associated with the memory expander.

10. The memory expander of claim 8 , wherein the coherent device memory complies with a COMPUTE EXPRESS LINK standard.

11. The memory expander of claim 8 , wherein the first coherence agent is to:

receive a host request via the first host path;

convert the host request into an internal memory request for the coherent device memory; and

forward the internal memory request to the memory controller.

12. At least one non-transitory computer readable storage medium comprising a set of executable program instructions which, when executed by a host device, cause the host device to:

collect, by a basic input output system (BIOS), memory information from a first host path to a coherent device memory on a memory expander, wherein the memory expander includes a plurality of host paths;

transfer the memory information from the BIOS to an operating system (OS) via one or more OS interface tables; and

initialize, by the OS, the memory expander based on the memory information, wherein the memory information includes memory capabilities and configuration settings associated with the memory expander.

13. The at least one non-transitory computer readable storage medium of claim 12 , wherein the instructions, when executed, further cause the host device to synchronize access to the coherent device memory with one or more additional host devices.

14. The at least one non-transitory computer readable storage medium of claim 13 , wherein access to the coherent device memory is synchronized via a token.

15. The at least one non-transitory computer readable storage medium of claim 13 , wherein access to the coherent device memory is synchronized via one or more keep alive communications.

16. The at least one non-transitory computer readable storage medium of claim 13 , wherein to synchronize access to the coherent device memory, the instructions, when executed, cause the host device to bypass a copy of data from the coherent device memory to the host device.

17. The at least one non-transitory computer readable storage medium of claim 12 , wherein the coherent device memory is to be hot-pluggable memory that complies with a COMPUTE EXPRESS LINK standard.

18. A method comprising:

collecting, by a basic input output system (BIOS), memory information from a first host path to a coherent device memory on a memory expander, wherein the memory expander includes a plurality of host paths;

transferring the memory information from the BIOS to an operating system (OS) via one or more OS interface tables; and

initializing, by the OS, the memory expander based on the memory information, wherein the memory information includes memory capabilities and configuration settings associated with the memory expander.

19. The method of claim 18 , further including synchronizing access to the coherent device memory with one or more additional host devices.

20. The method of claim 19 , wherein access to the coherent device memory is synchronized via a token.

21. The method of claim 19 , wherein access to the coherent device memory is synchronized via one or more keep alive communications.

22. The method of claim 19 , wherein synchronizing access to the coherent device memory includes bypassing a copy of data from the coherent device memory to the host device.

23. The method of claim 18 , wherein the coherent device memory is hot-pluggable memory that complies with a COMPUTE EXPRESS LINK standard.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2025
From: BAI, JIE; LI, ZHUANGZHI; LIU, CHANGCHENG; SUN, ZHONGHUA; ZHANG, DI
To: INTEL CORPORATION
Reel/Frame 070388/0652 →
Continuity (1)
Related Publication 20230385220A1 · Nov 30, 2023
References Cited (14)
US 20050149314A1 · Looi · 2005 [cited by examiner]
US 20160034185A1 · Simionescu · 2016 [cited by examiner]
US 20190243637A1 · Nachimuthu · 2019 [cited by examiner]
US 20190305888A1 · Das Sharma · 2019 [cited by examiner]
US 20200019323A1 · Zagade · 2020 [cited by examiner]
US 20200117625A1 · Browne · 2020 [cited by examiner]
US 20200125503A1 · Graniello · 2020 [cited by examiner]
US 20200192832A1 · Regupathy et al. · 2020 [cited by applicant]
US 20210011864A1 · Guim Bernat · 2021 [cited by examiner]
US 20210064114A1 · Troia · 2021 [cited by examiner]
US 20210286752A1 · Modukuri · 2021 [cited by examiner]
CN 1549973A · 2004 [cited by applicant]
EP 1912115A1 · 2008 [cited by applicant]
International Search Report and Written Opinion for PCT/CN2020/131066 mailed Aug. 23, 2021. [cited by applicant]