IP Library Granted Patent US 12,430,262
Granted Patent B2
US 12,430,262 · App. 18/733,709 · Granted Sep 30, 2025

Processing device and method of updating translation lookaside buffer thereof

Inventor: Chang-Hyo Yu (Seongnam-si, KR)
Assignee: Rebellions Inc.
G06F12/1027G06N3/04G06N3/08
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,430,262
App. No.
18/733,709
Granted
Sep 30, 2025
Kind
B2
Abstract

A neural processing device and a method of updating translation lookaside buffer thereof are provided. The neural processing device includes at least one processor module each of which includes at least one micro translation lookaside buffer (TLB), a hierarchical memory that is accessed by the at least one micro TLB, and a command processor configured to update the at least one micro TLB in a push mode by generating a first update signal which indicates update of the at least one micro TLB and transmitting the first update signal to the at least one micro TLB.

Claims (67)

1. A processing device configured to cause:

generating a task for a machine learning operation of a machine learning model to be assigned to processing circuitry;

determining, based on at least one of a characteristic of the task or a type of a memory accessed by the task, whether a translation table is updated in a push mode for a translation memory of the processing circuitry, wherein the translation table specifies relationship between virtual memory addresses and physical memory addresses;

in response to a determination that the translation table is updated in the push mode, pushing an update signal comprising update information to the translation table into the translation memory of the processing circuitry and updating the translation table using the update information; and

in response to a determination that the translation table is not updated in the push mode, assigning the task to the processing circuitry without pushing the update signal comprising the update information to the translation table into the translation memory of the processing circuitry,

wherein the processing circuitry is configured to process the task based on the translation table in the translation memory to generate an output,

the processing device processes the machine learning operation of the machine learning model based on the output from the processing circuitry.

2. The processing device of claim 1 , wherein

whether the translation table is updated in the push mode is determined during the machine learning operation based on the at least one of the characteristic of the task or the type of the memory accessed by the task.

3. The processing device of claim 2 , wherein the characteristic of the task comprises a type of a layer associated with the task.

4. The processing device of claim 3 , wherein the type of the layer associated with the task represents whether the task is associated with a next layer of a current layer of the machine learning model, the current layer corresponding to a layer for which the processing circuitry is processing, and

wherein determining whether the translation table is updated in the push mode comprises:

determining whether the task is associated with the next layer of the current layer of the machine learning model; and

determining that the translation table is updated in the push mode, when the task is for the next layer.

5. The processing device of claim 3 , wherein the type of the layer associated with the task represents whether the task is associated with a front layer of the machine learning model, and

wherein determining whether the translation table is updated in the push mode comprises:

determining whether the task is associated with the front layer of the machine learning model; and

determining that the translation table is updated in the push mode, when the task is for the front layer.

6. The processing device of claim 2 , wherein the characteristic of the task comprises a number of query streams of the machine learning operation associated with the task.

7. The processing device of claim 6 , wherein determining whether the translation table is updated in the push mode comprises:

determine whether the number of query streams is equal to 1; and

determining that the translation table is updated in the push mode, when the task is equal to 1.

8. The processing device of claim 2 , wherein determining whether the translation table is updated in the push mode comprises:

determine whether a quality of service (QoS) level for the machine learning operation associated with the task is higher than a threshold QoS; and

determining that the translation table is updated in the push mode, when the QoS level is higher than a threshold QoS.

9. The processing device of claim 1 , wherein the pushing the update signal comprising the update information to the translation table into the translation memory comprises pushing the update signal into the translation memory of the processing circuitry before assigning the task to the processing circuitry.

10. The processing device of claim 1 , wherein the pushing the update signal comprising the update information to the translation table into the translation memory comprises pushing the update signal into the translation memory of the processing circuitry during the machine learning operation.

11. The processing device of claim 1 , wherein the type of the memory accessed by the task represents whether the task accesses a memory located within the processing circuitry, and

wherein determining whether the translation table is updated in the push mode comprises:

determine whether the task accesses the memory located within the processing circuitry; and

determining that the translation table is updated in the push mode, when the task accesses a memory located within the processing circuitry.

12. The processing device of claim 1 , wherein the type of the memory accessed by the task represents whether the task accesses a memory located outside the processing device, and

wherein determining whether the translation table is updated in the push mode comprises:

determine whether the task accesses the memory located outside the processing device; and

determining that the translation table is updated in the push mode, when the task accesses a memory located outside the processing device.

13. The processing device of claim 1 , wherein the type of the memory accessed by the task represents whether the task accesses a read-only sharable memory region which is shared by a plurality of processors, and

wherein determining whether the translation table is updated in the push mode comprises:

determine whether the task accesses the read-only sharable memory region; and

determining that the translation table is updated in the push mode, when the task accesses the read-only sharable memory region.

14. The processing device of claim 1 , wherein the type of the memory accessed by the task represents whether the task accesses a memory region for backing up a register file, and

wherein determining whether the translation table is updated in the push mode comprises:

determine whether the task accesses the memory region for backing up a register file or a memory region for register spilling; and

determining that the translation table is updated in the push mode, when the task accesses the memory region for backing up a register file.

15. The processing device of claim 1 , wherein the type of the memory accessed by the task represents whether the task accesses a memory region for register spilling, and

wherein determining whether the translation table is updated in the push mode comprises:

determine whether the task accesses the memory region for register spilling; and

determining that the translation table is updated in the push mode, when the task accesses the memory region for register spilling.

16. The processing device of claim 1 , wherein the type of the memory accessed by the task represents whether the task accesses a memory region whose size is less than a threshold size and whose access frequency is greater than a threshold frequency, and

wherein determining whether the translation table is updated in the push mode comprises:

determine whether the task accesses the memory region whose size is less than the threshold size and whose access frequency is greater than the threshold frequency; and

determining that the translation table is updated in the push mode, when the task accesses the memory region whose size is less than the threshold size and whose access frequency is greater than the threshold frequency.

17. The processing device of claim 1 , wherein the type of the memory accessed by the task represents whether the task accesses a memory region storing a memory mapped file, and

wherein determining whether the translation table is updated in the push mode comprises:

determine whether the task accesses the memory region storing a memory mapped file; and

determining that the translation table is updated in the push mode, when the task accesses the memory region storing a memory mapped file.

18. The processing device of claim 1 , wherein generating the task for the machine learning model comprises:

receiving a command descriptor for the machine learning model; and

generating the task to be assigned to the processing circuitry based on the received command descriptor.

19. A method performed by a processing device including processing circuitry, comprising:

generating a task for a machine learning operation of a machine learning model to be assigned to processing circuitry;

determining, based on at least one of a characteristic of the task or a type of a memory accessed by the task, whether a translation table is updated in a push mode for a translation memory of the processing circuitry, wherein the translation table specifies relationship between virtual memory addresses and physical memory addresses;

in response to a determination that the translation table is updated in the push mode, pushing an update signal comprising update information to the translation table into the translation memory of the processing circuitry and updating the translation table using the update information;

in response to a determination that the translation table is not updated in the push mode, assigning the task to the processing circuitry without pushing the update signal comprising the update information to the translation table into the translation memory of the processing circuitry;

processing the task based on the translation table in the translation memory to generate an output; and

processing the machine learning operation of the machine learning model based on the output from the processing circuitry.

20. The method of claim 19 , wherein

whether the translation table is updated in the push mode is determined before assigning the task to the processing circuitry or during the machine learning operation, based on the at least one of the characteristic of the task or the type of the memory accessed by the task.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded May 22, 2025
From: REBELLIONS INC.; SAPEON KOREA INC.
To: REBELLIONS INC.
Reel/Frame 071355/0107 →
Priority Claims (1)
KR 10-2022-0186294 · Dec 27, 2022 · national
Continuity (2)
Continuation 18500781 · Nov 2, 2023
Related Publication 20240378157A1 · Nov 14, 2024
References Cited (13)
US 12159214B1 · Ko · 2024 [cited by examiner]
US 20160140048A1 · Mukherjee et al. · 2016 [cited by applicant]
US 20190340491A1 · Norden et al. · 2019 [cited by applicant]
US 20200379809A1 · Yudanov · 2020 [cited by examiner]
US 20210303156A1 · Kachare · 2021 [cited by examiner]
US 20220066931A1 · Ray · 2022 [cited by examiner]
US 20220318139A1 · Speier et al. · 2022 [cited by applicant]
US 20230385105A1 · Yoon · 2023 [cited by applicant]
KR 1020200143479A · 2020 [cited by applicant]
KR 102258566B1 · 2021 [cited by applicant]
KR 102480300B1 · 2022 [cited by applicant]
“How is a page walk implemented?”, Quora. Link: https://www.quora.com/How-is-a-page-walk-implemented. [cited by applicant]
Office Action for KR 10-2022-0186294 by Korean Intellectual Property Office dated Sep. 10, 2024. [cited by applicant]