IP Library Granted Patent US 12,632,390
Granted Patent B2
US 12,632,390 · App. 18/322,954 · Granted May 19, 2026

Computing system and memory sharing method for computing system

Inventors: Tianchan Guan (Shanghai, CN); Dimin Niu (San Mateo, CA); Yijin Guan (Beijing, CN); Hongzhong Zheng (Los Gatos, CA)
Assignee: ALIBABA (CHINA) CO., LTD.
G06F12/10G06F9/45558G06F2009/4557G06F2009/45583
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,632,390
App. No.
18/322,954
Granted
May 19, 2026
Kind
B2
Abstract

The present application discloses a computing system and a memory sharing method for a computing system. The computing system includes a first host, a second host, a first memory extension device and a second memory extension device. The first memory extension device is coupled to the first host. The second memory extension device is coupled to the second host and the first memory extension device. The first host accesses a memory space of a memory of the second host through the first memory extension device and the second memory extension device according to a first physical address of the first host.

Claims (49)

1 . A computing system, comprising:

a first host, comprising a first memory;

a second host, comprising a second memory;

a first memory extension device, coupled to the first host, and comprising a first address management unit; and

a second memory extension device, coupled to the second host and the first memory extension device, and comprising a second address management unit;

wherein:

the first host is configured to access at least one memory space of the second memory through the first memory extension device and the second memory extension device according to at least one first physical address of the first host,

the first address management unit is configured to obtain at least one first virtual address of the first memory extension device corresponding to the at least one first physical address according to the at least one first physical address, and to obtain at least one second virtual address of the second memory extension device corresponding to the at least one first virtual address according to the at least one first virtual address,

the second address management unit is configured to look up at least one second physical address of the second host corresponding to the at least one second virtual address, and the second host is configured to access the at least one memory space of the second memory according to the at least one second physical address,

the second host is further configured to send the at least one second physical address corresponding to the at least one memory space that has not been specified in the second memory to the second memory extension device,

the second address management unit comprises a page table for storing the at least one second physical address and the at least one second virtual address corresponding to the at least one second physical address,

the second memory extension device is further configured to send a starting address of the at least one second virtual address and a capacity of the at least one memory space to the first memory extension device,

the first address management unit is further configured to establish the at least one first virtual address corresponding to the at least one second virtual address according to the starting address of the at least one second virtual address and the capacity of the at least one memory space, and to correspondingly generate at least one translation parameter for translating the at least one first virtual address into the at least one second virtual address and at least one configuration parameter needed for the first host to establish the at least one first physical address; and

the first host is further configured to establish the at least one first physical address according to the at least one configuration parameter.

2 . The computing system according to claim 1 , wherein the at least one first virtual address comprises a plurality of consecutive addresses, and the at least one second virtual address comprises a plurality of consecutive addresses.

3 . The computing system according to claim 1 , wherein the first address management unit comprises:

a register set, configured to store the at least one configuration parameter and the at least one translation parameter; and

a linear address translator, configured to, when the first host sends a first message packet to the first memory extension device, translate a first physical address in the first message packet into a first virtual address according to the at least one configuration parameter, and translate the first virtual address into a second virtual address according to the at least one translation parameter, wherein the at least one first physical address comprises the first physical address, the at least one first virtual address comprises the first virtual address, and the at least one second virtual address comprises the second virtual address.

4 . The computing system according to claim 3 , wherein:

the first memory extension device is further configured to generate a second message packet to the second memory extension device according to the second virtual address;

the second memory extension device is further configured to look up a second physical address corresponding to the second virtual address according to the page table, and to generate a third message packet to the second host according to the second physical address; and

the second host is further configured to access a memory space in the second memory corresponding to the second physical address according to the third message packet.

5 . The computing system according to claim 1 , wherein the first address management unit and the second address management unit are identically structured, and the second host is further configured to access at least one memory space of the first memory through the second memory extension device and the first memory extension device according to at least one third physical address of the second host.

6 . The computing system according to claim 1 , wherein the at least one second physical address corresponds to a plurality of non-consecutive address segments, and the at least one first physical address corresponds to consecutive address segments.

7 . The computing system according to claim 1 , wherein the first host and the first memory extension device communicate with each other via a consistent interconnection protocol, and the second host and the second memory extension device communicate with each other via the consistent interconnection protocol.

8 . The computing system according to claim 1 , wherein the first host further comprises at least one first processing unit and at least one second processing unit, wherein the at least one first processing unit is configured with at least one memory space of the first memory into at least one first virtual machine, and the at least one second processing unit is configured with the at least one memory space of the second memory into at least one second virtual machine.

9 . A memory sharing method for a computing system, the computing system comprising a first host, a second host, a first memory extension device and a second memory extension device, the first host comprising a first memory, the second host comprising a second memory, the first memory extension device coupled to the first host, the second memory extension device coupled to the second host and the first memory extension device; the method comprising:

sending, by the second host, at least one second physical address corresponding to at least one memory space that has not been specified in the second memory to the second memory extension device;

creating a page table in the second memory extension device according to the at least one second physical address and at least one second virtual address corresponding to the at least one second physical address;

sending, by the second memory extension device, a starting address of the at least one second virtual address and a capacity of the at least one memory space to the first memory extension device;

establishing, by the first memory extension device, at least one first virtual address corresponding to the at least one second virtual address according to the starting address of the at least one second virtual address and the capacity of the at least one memory space;

generating, by the first memory extension device, at least one translation parameter for translating the at least one first virtual address into the at least one second virtual address and at least one configuration parameter needed for the first host to establish at least one first physical address;

sending, by the first memory extension device, the at least one configuration parameter to the first host;

establishing, by the first host, the at least one first physical address according to the at least one configuration parameter;

sending, by the first host, a first physical address of the first host to the first memory extension device;

obtaining, by the first memory extension device, a first virtual address of the first memory extension device corresponding to the first physical address according to the first physical address;

obtaining, by the first memory extension device, a second virtual address of the second memory extension device corresponding to the first virtual address according to the first virtual address;

sending, by the first memory extension device, the second virtual address to the second memory extension device;

looking up, by the second memory extension device, a second physical address of the second host corresponding to the second virtual address;

sending, by the second memory extension device, the second physical address to the second host; and

accessing, by the second host, a memory space of the second memory according to the second physical address;

wherein the at least one memory space comprises the memory space, the at least one second physical address comprises the second physical address, the at least one second virtual address comprises the second virtual address, the at least one first virtual address comprises the first virtual address, and the at least one first physical address comprises the first physical address.

10 . The method according to claim 9 , wherein:

the at least one first virtual address comprises a plurality of consecutive addresses, and the at least one second virtual address comprises a plurality of consecutive addresses; and

the at least one second physical address corresponds to a plurality of non-consecutive address segments, and the at least one first physical address corresponds to consecutive address segments.

11 . The method according to claim 9 , further comprising:

configuring at least one first processing unit and at least one memory space of the first memory of the first host into at least one first virtual machine; and

configuring at least one second processing unit and the at least one memory space of the second memory of the second host into at least one second virtual machine.

12 . The method according to claim 9 , wherein the first host and the first memory extension device communicate with each other via a consistent interconnection protocol, and the second host and the second memory extension device communicate with each other via the consistent interconnection protocol.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2023
From: GUAN, TIANCHAN; NIU, DIMIN; GUAN, YIJIN; ZHENG, HONGZHONG
To: ALIBABA (CHINA) CO., LTD.
Reel/Frame 063749/0227 →
Priority Claims (1)
CN 202211061258.3 · Aug 31, 2022 · national
Continuity (1)
Related Publication 20240069954A1 · Feb 29, 2024
References Cited (8)
US 9940287B2 · Das Sharma · 2018 [cited by examiner]
US 10114760B2 · Molnar · 2018 [cited by examiner]
US 10769076B2 · Duncan · 2020 [cited by examiner]
US 20160077976A1 · Raikin · 2016 [cited by examiner]
US 20210132999A1 · Haywood · 2021 [cited by examiner]
US 20210397566A1 · Goss · 2021 [cited by examiner]
US 20220004488A1 · Paul · 2022 [cited by examiner]
US 20230385220A1 · Li · 2023 [cited by examiner]