IP Library › Granted Patent US 11,875,184
Granted Patent B1
US 11,875,184 · App. 18/474,725 · Granted Jan 16, 2024

Method and apparatus for translating memory addresses in manycore system

Inventors: Ju Hyun Kim (Yongin-si, KR); Jae Wan Yeon (Yongin-si, KR); Kwang Sun Lee (Yongin-si, KR)
Assignee: MetisX CO., Ltd.
G06F9/4881G06F9/544
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 11,875,184
App. No.
18/474,725
Granted
Jan 16, 2024
Kind
B1
Abstract

A method for translating memory addresses in a manycore system is provided, which is executed by one or more processors, and includes receiving identification information of a thread accessing a memory associated with one or more cores of a cluster that includes a plurality of cores, receiving a virtual address of data accessed by the thread, and determining a physical address of data in the memory based on the virtual address and the identification information of the thread.

Claims (26)

1. A method for translating memory addresses in a manycore system, the method being executed by one or more processors and comprising:

after a thread associated with one or more tasks according to an offloading request from a host processor is created and assigned to one or more cores of a cluster that includes a plurality of cores, receiving, by a memory access module of the one or more cores, translation setting information for determining a physical address of data in a memory associated with the one or more cores accessed by the thread;

receiving, by the memory access module, identification information of the thread accessing the memory;

receiving, by the memory access module, a virtual address of data accessed by the thread; and

determining, by the memory access module, a physical address of the data in the memory based on the translation setting information, the virtual address, and the identification information of the thread,

wherein the method is performed by the core without intervention of an operating system of the manycore system.

2. The method according to claim 1 , wherein the determining the physical address of the data includes:

determining a start address of a segment where the data is included based on the virtual address;

calculating an address correction value associated with the thread based on the identification information of the thread; and

determining an address obtained by adding the address correction value to the start address of the segment as the physical address of the data.

3. The method according to claim 2 , wherein the determining the start address of the segment includes determining the start address of the segment based on the virtual address and a value of a register associated with the segment where the data is included.

4. The method according to claim 2 , wherein a size of the segment is determined based on user input.

5. The method according to claim 2 , wherein a size of the segment is determined based on a size of a data structure of the data.

6. The method according to claim 2 , wherein the calculating the address correction value associated with the thread includes calculating the address correction value by performing a shift-left operation on a value of the identification information of the thread based on a size of the segment.

7. The method according to claim 1 , wherein the translation setting information includes information on a size of an area of the virtual address and a starting point of the area, and

the determining the physical address of the data includes determining a physical address of the data based on the size of the area of the virtual address, information on the starting point of the area, and the identification information of the thread.

8. A non-transitory computer-readable recording medium storing instructions for execution by the one or more processors that, when executed by the one or more processors, cause the one or more processors to perform the method according to claim 1 .

9. A manycore system comprising:

one or more clusters comprising a plurality of cores; and

a memory access module that controls access to a memory associated with one or more cores of the one or more clusters,

wherein the memory access module is configured to:

after a thread associated with one or more tasks according to an offloading request from a host processor is created and allocated to the one or more cores, receive translation setting information for determining a physical address of data in a memory associated with the one or more cores accessed by the thread;

receive the identification information of the thread accessing the memory;

receive a virtual address of data accessed by the thread; and

determine a physical address of the data in the memory based on the translation setting information, the virtual address, and the identification information of the thread, and

the determining is performed by the memory access module without intervention of an operating system of the manycore system.

Assignments (2)
CHANGE OF NAME Recorded Jan 13, 2025
From: METISX CO., LTD.
To: XCENA INC.
Reel/Frame 069877/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2023
From: KIM, JU HYUN; YEON, JAE WAN; LEE, KWANG SUN
To: METISX CO., LTD.
Reel/Frame 065032/0267 →
Priority Claims (1)
KR 10-2023-0021250 · Feb 17, 2023 · national