IP Library › Granted Patent US 12,572,477
Granted Patent B2
US 12,572,477 · App. 18/673,967 · Granted Mar 10, 2026

Processor, address translation, based on plurality of memory management units (MMUs), method and apparatus, storage medium, and program product

Inventors: Wei Pan (Shenzhen, CN); Junping Luo (Shenzhen, CN); Tao Li (Shenzhen, CN); Kenneth Chong Yin Tan (Shenzhen, CN); Junlong Liu (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F12/1009
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,572,477
App. No.
18/673,967
Granted
Mar 10, 2026
Kind
B2
Abstract

A plurality of physical cores of a processor share a memory management unit (MMU) pool comprising a plurality of MMUs. The plurality of MMUs provides each physical core with an address translation function from a virtual address (VA) to a physical address (PA). If an address translation requirement of a physical core is high, for example, when a main memory is concurrently accessed, the plurality of MMUs can serve the physical core.

Claims (39)

1 . A processor, comprising:

an internal bus;

a memory management unit (MMU) pool comprising a plurality of MMUs; and

a plurality of physical cores connected, through the internal bus, to the MMU pool, wherein plurality of physical cores comprises a first physical core that is any one of the plurality of physical cores, and wherein the first physical core is configured to:

query, for a page table entry in which a to-be-translated first virtual address (VA) is located, a translation lookaside buffer (TLB) corresponding to the first physical core, wherein the page table entry comprises a mapping relationship between the to-be-translated first VA and a first physical address (PA);

send, to the MMU pool of the processor, an address translation request when the TLB does not cache the page table entry, wherein the address translation request carries the to-be-translated first VA; and

receive, from the MMU pool, an address translation response carrying the first PA corresponding to the to-be-translated first VA.

2 . The processor of claim 1 , wherein the MMU pool is further configured to provide an address translation function for the plurality of physical cores and a peripheral connected to the processor.

3 . The processor of claim 1 , wherein the MMU pool is located in a home agent (HA) of the processor.

4 . The processor of claim 1 , wherein the MMU pool is located in a memory controller (MC) of the processor.

5 . The processor of claim 1 , wherein the MMU pool is further configured to:

receive the address translation request;

translate the to-be-translated first VA into the first PA; and

send the address translation response to the first physical core.

6 . The processor of claim 5 , wherein the MMU pool is further configured to query a memory page table for the page table entry to obtain the first PA corresponding to the to-be-translated first VA, and wherein the memory page table records page table entries in which all VAs in a main memory are located.

7 . The processor of claim 6 , wherein the memory page table is a single-level page table.

8 . The processor of claim 6 , wherein the memory page table is a multi-level page table.

9 . The processor of claim 1 , wherein the processor is a general-purpose processing unit.

10 . The processor of claim 1 , wherein the processor is a network processor (NP).

11 . The processor of claim 1 , wherein the processor is an application-specific integrated circuit (ASIC).

12 . The processor of claim 1 , wherein the processor is a programmable logic device (PLD).

13 . The processor of claim 12 , wherein the PLD is a complex programmable logic device (CPLD).

14 . The processor of claim 12 , wherein the PLD is a field-programmable gate array FPGA).

15 . The processor of claim 12 , wherein the PLD is a generic array logic (GAL).

16 . A method, comprising:

querying, by a first physical core of a processor and for a page table entry in which a to-be-translated first virtual address (VA) is located, a translation lookaside buffer (TLB) corresponding to the first physical core, wherein the page table entry comprises a mapping relationship between the to-be-translated first VA and a first physical address (PA);

the TLB does not cache the page table entry;

sending, by the first physical core of the processor and to a memory management unit (MMU) pool of the processor, an address translation request in response to the TLB does not cache the page table entry, wherein the MMU pool comprises a plurality of MMUs, wherein the address translation request carries the to-be-translated first VA, and wherein the first physical core is any one of a plurality of physical cores of the processor; and

receiving, by the first physical core and from the MMU pool, an address translation response carrying the first PA corresponding to the to-be-translated first VA.

17 . A method, comprising:

a translation lookaside buffer (TLB), corresponding to a first physical core of a processor, does not cache a page table entry comprising a mapping relationship between a to-be-translated first virtual address (VA) and a first physical address (PA), wherein a memory management unit (MMU) pool comprises a plurality of MMUs, wherein an address translation request carries the to-be-translated first VA, and wherein the first physical core is any one of a plurality of physical cores of the processor;

receiving, by the MMU pool of the processor and from the first physical core, the address translation request in response to the TLB does not cache the page table entry;

translating, by the MMU pool, the to-be-translated first VA into the first PA; and

sending, by the MMU pool and to the first physical core, an address translation response carrying the first PA corresponding to the to-be-translated first VA.

18 . The method of claim 17 , wherein translating the to-be-translated first VA into the first PA comprises querying, by the MMU pool and for the page table entry in which the to-be-translated first VA is located, a memory page table to obtain the first PA corresponding to the to-be-translated first VA, and wherein the memory page table records page table entries in which all VAs in a main memory are located.

19 . The method of claim 17 , wherein the plurality of MMUs correspond to one management module, and wherein translating, the to-be-translated first VA into the first PA comprises:

selecting, by the MMU pool, from the plurality of MMUs, and by using the management module, one MMU as a target MMU; and

translating, by the MMU pool and by using the target MMU, the to-be-translated first VA into the first PA.

20 . The method of claim 17 , further comprising querying, by the MMU pool, a memory page table for the page table entry to obtain the first PA corresponding to the to-be-translated first VA, wherein the memory page table records page table entries in which all VAs in a main memory are located.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2025
From: PAN, WEI; LUO, JUNPING; LI, TAO; LIU, JUNLONG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 073284/0777 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2025
From: TAN, KENNETH CHONG YIN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 073284/0801 →
Priority Claims (2)
CN 202111417305.9 · Nov 25, 2021 · national
CN 202210087387.3 · Jan 25, 2022 · national
Continuity (2)
Continuation PCTCN2022110069 · Aug 3, 2022
Related Publication 20240330202A1 · Oct 3, 2024
References Cited (19)
US 5983332A · Watkins · 1999 [cited by applicant]
US 10725915B1 · Jagtap · 2020 [cited by examiner]
US 20130111158A1 · Suzuki · 2013 [cited by examiner]
US 20140195742A1 · Kim et al. · 2014 [cited by applicant]
US 20150199280A1 · Molnar et al. · 2015 [cited by applicant]
US 20160170896A1 · Steiss · 2016 [cited by examiner]
US 20160328823A1 · Rao · 2016 [cited by examiner]
US 20160378674A1 · Cheng · 2016 [cited by examiner]
US 20170039396A1 · Sharp · 2017 [cited by examiner]
US 20170153983A1 · Sherlock · 2017 [cited by examiner]
US 20170373839A1 · Suresh · 2017 [cited by examiner]
US 20180239714A1 · Abhishek Raja · 2018 [cited by examiner]
US 20190042799A1 · Durham · 2019 [cited by examiner]
US 20200278925A1 · Imamura · 2020 [cited by examiner]
US 20210124533A1 · Gao et al. · 2021 [cited by applicant]
US 20210314086A1 · Ansari · 2021 [cited by examiner]
CN 103914405A · 2014 [cited by applicant]
CN 105302765A · 2016 [cited by applicant]
CN 112748848A · 2021 [cited by applicant]