WO2016019566A1 - Système, dispositif et procédé de gestion de mémoire et réseau sur puce - Google Patents

Système, dispositif et procédé de gestion de mémoire et réseau sur puce Download PDF

Info

Publication number
WO2016019566A1
WO2016019566A1 PCT/CN2014/083966 CN2014083966W WO2016019566A1 WO 2016019566 A1 WO2016019566 A1 WO 2016019566A1 CN 2014083966 W CN2014083966 W CN 2014083966W WO 2016019566 A1 WO2016019566 A1 WO 2016019566A1
Authority
WO
WIPO (PCT)
Prior art keywords
physical
physical page
memory
page number
page
Prior art date
Application number
PCT/CN2014/083966
Other languages
English (en)
Chinese (zh)
Inventor
蔡卫光
程德华
吴祖光
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201480037710.XA priority Critical patent/CN105518631B/zh
Priority to PCT/CN2014/083966 priority patent/WO2016019566A1/fr
Publication of WO2016019566A1 publication Critical patent/WO2016019566A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a memory management method, apparatus and system, and an on-chip network. Background technique
  • Page-based virtual memory technology is a core part of memory management in current computing systems.
  • the operating system divides the address space of physical memory into multiple consecutive physical pages, and divides the address space of the virtual memory that the program will use into multiple consecutive virtual pages.
  • the memory management unit converts the virtual address that the program needs to access to a physical address, and then accesses the physical memory according to the physical address.
  • the process of address translation is usually implemented using TLB (Translation Look-aside Buffer). Specifically, after obtaining the virtual address, the CPU determines the virtual page number according to the virtual address, and then searches for the virtual page number in the TLB entry of the process (the mapping relationship between the virtual page number and the physical page number is saved), if the TLB is in the TLB. If the virtual page number is found in the entry, it is called TLB hit (that is, TLB Hit), and the physical page number corresponding to the virtual page number is output, and the physical address is determined according to the physical page number; if the virtual address is not found, The page number indicates that the TLB Missing page (TLB Miss) has occurred.
  • TLB Translation Look-aside Buffer
  • mapping information corresponding to the virtual page number (including the mapping relationship between the virtual page number and the physical page number) from the memory, and find the memory.
  • the mapping information of the virtual page number is reloaded into the TLB for next use.
  • the physical memory of the device configuration is getting larger and larger (for example, one server can integrate tens of GB or even TB of physical memory), while the TLB
  • the resources are limited, and the number of TLB entries that can be saved is limited. Therefore, in large memory applications, the situation of TLB missing pages is very serious, resulting in a large system overhead.
  • large page technology is usually used to reduce the system overhead caused by TLB page faults.
  • large page technology that is, increasing the page size, increasing the page size is equivalent to increasing the address space that each entry in the TLB can map.
  • For the program it is equivalent to reducing the number of pages used by the program.
  • Large page technology can reduce the page fault overhead to a certain extent.
  • experiments have shown that when the page size increases to a certain limit, the page fault overhead will not change, that is, the use of large page technology to reduce page fault overhead. Limited effect. Summary of the invention
  • an embodiment of the present invention provides a memory management method, device and system, and an on-chip network.
  • the technical solution is as follows:
  • an embodiment of the present invention provides a memory management method, where the method includes: when a physical memory needs to be allocated for a process, determining, from an idle physical page, a number allocated to the process a physical page;
  • the adjusting The instruction is configured to instruct the memory manager to perform an exchange process on at least one pair of second physical pages in the physical memory, where each pair of the second physical page includes the first physical page in which the physical page number is discontinuous One and one non-idle physical page such that the first physical page obtained after the exchange is continuous with at least one other of the first physical pages;
  • the memory manager is configured with a mapping table of a physical page number and an internal page number, where the adjustment instruction carries a first physical page number and a second physical page number.
  • the storage instruction is configured to instruct the memory manager to exchange an internal page number corresponding to the first physical page number and the second physical page number, where the memory manager is configured to access the physical according to the internal page number RAM.
  • the method may further include: sending a reset instruction to the memory manager, where the reset instruction is used to instruct the memory manager to create the physical page number and A mapping table of internal page numbers.
  • the adjustment instruction carries a first physical page number and a second physical page number, where the adjustment instruction is used to instruct the memory manager to exchange the first physical page The data in the physical page corresponding to the number and the data in the physical page corresponding to the second physical page number.
  • an embodiment of the present invention provides a memory management method, where the method includes: a memory manager receiving an adjustment instruction, where the adjustment instruction is used to instruct the memory manager to At least one pair of second physical pages in the physical memory is exchanged, and each pair of the second physical pages includes one of the first physical pages whose physical page numbers are discontinuous and one non-idle physical page, the A physical page is an idle physical page to be assigned to a process;
  • the physical page in the physical memory is exchanged according to the adjustment instruction, so that the first physical page obtained after the exchange is continuous with at least another of the first physical pages.
  • the memory manager is configured with a mapping table of a physical page number and an internal page number, where the adjustment instruction carries the first physical page number and the second physical page number.
  • the storage instruction is configured to instruct the memory manager to exchange an internal page number corresponding to the first physical page number and the second physical page number, where the memory manager is configured to access the physical according to the internal page number RAM.
  • the method may further include: receiving a reset instruction, where the reset instruction is used to instruct the memory manager to create a mapping table of the physical page number and the internal page number. ;
  • a mapping table of the physical page number and the internal page number is created according to the reset instruction.
  • the method may further include:
  • the physical memory is accessed according to the internal address.
  • the adjustment instruction carries a first physical page number and a second physical page number, where the adjustment instruction is used to instruct the memory manager to exchange the first physical page The data in the physical page corresponding to the number and the data in the physical page corresponding to the second physical page number.
  • an embodiment of the present invention provides a memory management apparatus, where the apparatus includes: a memory allocation module, configured to determine, when an physical memory needs to be allocated for a process, an idle physical page to allocate to the process a physical page;
  • a sending module configured to: when the first physical page determined by the memory allocation module is at least two, and the first physical page that is determined to have a discontinuous physical page number in the first physical page, The memory manager sends an adjustment instruction, where the adjustment instruction is used to instruct the memory manager to perform an exchange process on at least one pair of second physical pages in the physical memory, where each pair of the second physical page includes the physical page One of the first physical pages that are not consecutive and one non-idle physical page, so that after the exchange The first physical page is continuous with at least one other of the first physical pages;
  • An entry processing module configured to add an entry in the address translation buffer TLB page table of the process, where the entry records that at least two consecutive first physical pages are merged into one large physical page And a mapping relationship with the virtual page of the process, where the large physical page includes the first physical page obtained after the exchange.
  • the memory manager is configured with a mapping table of a physical page number and an internal page number, where the adjustment instruction carries the first physical page number and the second physical page number.
  • the storage instruction is configured to instruct the memory manager to exchange an internal page number corresponding to the first physical page number and the second physical page number, where the memory manager is configured to access the physical according to the internal page number RAM.
  • the sending module is further configured to send a reset instruction to the memory manager, where the reset instruction is used to instruct the memory manager to create the physical page A mapping table of numbers and internal page numbers.
  • the adjustment instruction carries a first physical page number and a second physical page number, where the adjustment instruction is used to instruct the memory manager to exchange the first physical page The data in the physical page corresponding to the number and the data in the physical page corresponding to the second physical page number.
  • an embodiment of the present invention provides a memory management apparatus, where the apparatus includes: a receiving module, configured to receive an adjustment instruction, where the adjustment instruction is used to instruct the memory manager to at least the physical memory A pair of second physical pages are exchanged, each pair of the second physical pages including one of the first physical pages whose physical page numbers are discontinuous and one non-idle physical page, the first physical page being An empty physical page assigned to the process;
  • An execution module configured to exchange physical pages in the physical memory according to the adjustment instruction received by the receiving module, so that the first physical page obtained after the exchange is continuous with at least another of the first physical pages of.
  • the memory manager is configured with a mapping table of a physical page number and an internal page number, where the adjustment instruction carries a first physical page number and a second physical page number.
  • the storage instruction is configured to instruct the memory manager to exchange an internal page number corresponding to the first physical page number and the second physical page number, where the memory manager is configured to access the physical according to the internal page number RAM.
  • the receiving module is further configured to receive a complex a bit instruction, the reset instruction is used to instruct the memory manager to create a mapping table of the physical page number and an internal page number; the execution module is further configured to: create the physical page number and an internal page number according to the reset instruction Mapping table.
  • the receiving module is further configured to receive a memory access instruction, where the memory access instruction includes a starting physical address and length information;
  • the device further includes:
  • An address conversion module configured to convert a starting physical address in the memory access instruction into an internal address according to a mapping table of the physical page number and an internal page number;
  • a memory access module configured to access the physical memory according to the internal address obtained by the address translation module.
  • the adjustment instruction carries a first physical page number and a second physical page number, where the adjustment instruction is used to instruct the memory manager to exchange the first physical page The data in the physical page corresponding to the number and the data in the physical page corresponding to the second physical page number.
  • an embodiment of the present invention provides a memory management apparatus, where the apparatus includes: a processor, a memory, a bus, and a communication interface; the memory is configured to store a computer to execute an instruction, and the processor and the memory pass The bus connection, when the computer is running, the processor executes the computer-executed instructions stored by the memory to cause the computer to perform the method of the first aspect.
  • an embodiment of the present invention provides a memory management apparatus, where the apparatus includes: the apparatus includes: a processor, a memory, a bus, and a communication interface; the memory is configured to store a computer execution instruction, The processor is coupled to the memory via the bus, and when the computer is running, the processor executes the computer-executed instructions stored by the memory to cause the computer to perform the method as described in the second aspect method.
  • an embodiment of the present invention provides a memory management system, where the system includes a central processor and a memory controller;
  • the central processing unit includes the memory management device of the third aspect or the fifth aspect; the memory controller includes the memory management device of the fourth aspect or the sixth aspect.
  • an embodiment of the present invention provides an on-chip network, where the on-chip network includes: multiple processors, multiple routers, and multiple memory controllers, and the processor passes the router and the memory controller connection;
  • the processor includes the memory management device according to the third aspect or the fifth aspect;
  • the router includes the memory management device according to the fourth aspect or the sixth aspect.
  • the technical solution provided by the embodiment of the present invention has the beneficial effects of: first determining the first physical page allocated to the process, and then performing an exchange process on the first physical page whose physical page number is discontinuous, thereby enabling the first physical body obtained after the exchange.
  • the page is contiguous with another physical page, so that at least two consecutive first physical pages can be merged into one large physical page, which is added as an entry to the process's TLB page table, thereby reducing the process at the address.
  • the number of TLB entries used during mapping which in turn reduces TLB page fault overhead.
  • FIG. 1 is a schematic structural diagram of a memory management system in a computer system
  • FIG. 2 is a flowchart of a memory management method according to Embodiment 1 of the present invention.
  • FIG. 3 is a flowchart of a memory management method according to Embodiment 2 of the present invention.
  • FIG. 4 is a flowchart of a memory management method according to Embodiment 3 of the present invention.
  • FIG. 5 is a flowchart of a memory management method according to Embodiment 4 of the present invention.
  • FIG. 6 is a structural block diagram of a memory management apparatus according to Embodiment 5 of the present invention.
  • FIG. 7 is a structural block diagram of a memory management apparatus according to Embodiment 6 of the present invention.
  • FIG. 8 is a structural block diagram of a memory management apparatus according to Embodiment 7 of the present invention.
  • FIG. 9 is a structural block diagram of a memory management apparatus according to Embodiment 8 of the present invention.
  • FIG. 10 is a structural block diagram of a memory management apparatus according to Embodiment 9 of the present invention.
  • FIG. 11 is a structural block diagram of a memory management apparatus according to Embodiment 10 of the present invention.
  • FIG. 12 is a structural block diagram of a memory management system according to Embodiment 11 of the present invention.
  • FIG. 13 is a structural block diagram of an on-chip network according to Embodiment 12 of the present invention. detailed description
  • Embodiments of the present invention provide a memory management method, apparatus, and system, which are applicable to a memory management system in a computer system.
  • the structure of the memory management system will be described below in conjunction with FIG.
  • the memory management system 100 includes a central processing unit 110 (CPU), a memory controller 120, and a physical memory 130 (also referred to as a main memory, such as a dynamic random access memory). Memory, referred to as DRAM)).
  • the CPU 110 is provided with an address generation unit 111 (AGU) and a memory management unit (MMU).
  • AGU address generation unit
  • MMU memory management unit
  • the core part of the MMU 112 is a translation look-aside buffer (Translation Look-aside Buffer). , referred to as TLB).
  • the physical memory 130 stores a page table of each process, and the page table of the process is used to record the physical page number of the physical page that is arranged in the main memory when the virtual page of the process is loaded into the main memory.
  • each process corresponds to a page table
  • the complete page table of the process is stored in a specific area of the main memory
  • the most active part of the page table is stored in the TLB (ie, the TLB page table).
  • the virtual address to be accessed is calculated by the AGU 111, and the virtual address is sent into the TLB to query the corresponding physical address. If the physical address is queried in the TLB, the memory access request is generated according to the physical address. A memory access request is issued to the MMU 112. If the corresponding physical address is not found in the TLB, the CPU 110 needs to find the physical address corresponding to the virtual address in the physical memory 130, and add the found mapping relationship to the TLB page table.
  • the embodiment of the invention provides a memory management method, which is applicable to the memory management system shown in FIG. 1, and the method can be executed by a CPU. As shown in Figure 2, the method includes:
  • Step 101 When physical memory needs to be allocated for the process, the first physical page allocated to the process is determined from the free physical page.
  • the operating system when the process starts, the operating system needs to allocate physical memory for the process; or, after the process starts, the process requests physical memory from the operating system as needed. At this time, the operating system also needs to allocate physical memory for the process.
  • Step 102 When the determined first physical page is at least two, and the first physical page having the physical page number discontinuous exists in the determined first physical page, the adjustment instruction is sent to the memory manager.
  • the adjustment instruction is used to instruct the memory manager to exchange at least one pair of second physical pages in the physical memory, each pair of second physical pages including one of the first physical pages whose physical page numbers are discontinuous and one non-idle
  • the physical page is such that the first physical page obtained after the exchange is continuous with at least one other first physical page.
  • the memory manager may be the memory controller in FIG. 1 or a router in an on-chip network.
  • Step 103 Add an entry in the TLB page table of the process, where the entry records the mapping relationship between the at least two consecutive first physical pages and the virtual page of the process after being merged into one large physical page.
  • the large physical page includes the first physical page obtained after the exchange.
  • the page table of the process in the physical memory is updated before an entry is added to the TLB page table of the process.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is continuous with another physical page.
  • the first physical page obtained after the exchange is continuous with another physical page.
  • at least two consecutive first physical pages can be merged into one large physical page, and added as an entry to the TLB page table of the process, thereby reducing the TLB entry used by the process in address mapping.
  • the number reduces the TLB page fault overhead.
  • the embodiment of the present invention has few changes to the operating system and is easy to popularize and apply.
  • Embodiment 2 Embodiment 2
  • the embodiment of the invention provides a memory management method, which is applicable to the memory management system shown in FIG. This method can be performed by a memory controller. As shown in Figure 3, the method includes:
  • Step 201 Receive an adjustment instruction.
  • the adjustment instruction is used to instruct the memory manager to exchange at least one pair of second physical pages in the physical memory, each pair of second physical pages including one of the first physical pages whose physical page numbers are discontinuous and one non-idle physical Page, the first physical page is the free physical page to be assigned to the process.
  • Step 202 Exchange physical pages in the physical memory according to the adjustment instruction, so that the first physical page obtained after the exchange is continuous with at least another first physical page.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is continuous with another physical page.
  • the first physical page obtained after the exchange is continuous with another physical page.
  • at least two consecutive first physical pages can be merged into one large physical page, and added as an entry to the TLB page table of the process, thereby reducing the process when the address mapping is performed.
  • the number of TLB entries used which in turn reduces the TLB page fault overhead.
  • the embodiment of the invention provides a memory management method, which is applicable to the memory management system shown in FIG.
  • the memory manager is a storage controller
  • the operating system divides the physical address space of the main memory into a plurality of physical pages, and assigns a physical page number to each physical page
  • the storage controller is each physical page.
  • An internal page number is allocated, and the storage controller is used to access the physical memory according to the internal page number, and the physical page number corresponds to the internal page number.
  • the method includes:
  • Step Mount 301 When the system is initialized, the CPU divides the physical page and the virtual page.
  • the operating system divides the physical address space of the entire physical memory into a plurality of consecutive physical pages, assigns a physical page number to each physical page, and divides the entire virtual address space that the program will use into Multiple consecutive virtual pages, each virtual page is assigned a virtual page number.
  • the physical page number is visible to the operating system, and the virtual page number is visible to the program.
  • the physical page numbers of different physical pages vary.
  • the operating system can divide the physical address space of the entire physical memory into a plurality of consecutive physical pages according to the same page size, for example, 4 KB, that is, the size of each physical page is the same, which is convenient for maintenance and management.
  • Virtual pages are divided by the same page size as physical pages.
  • the size of the physical page can also be different.
  • the physical page number of each physical page is fixed.
  • Step 302 The CPU sends a reset instruction to the storage controller, where the reset command is used to instruct the storage controller to establish a mapping relationship between the physical page number and the internal page number.
  • the reset instruction may be a page_reset instruction, and when the memory controller receives the instruction, a mapping relationship between the physical page number and the internal page number is established.
  • An internal page number can be assigned to each physical page by step 302, and the internal page number is visible to the storage controller.
  • the internal page numbers of different physical pages vary. At this point, each physical page has a physical page number and an internal page number.
  • Step 303 When it is necessary to allocate physical memory for the process, the CPU determines the size of the physical memory to be allocated to the process.
  • the operating system determines the size of the physical memory required by the process according to the information in the process's mirror (binary file); or the process requests the virtual memory space from the operating system during the process running.
  • the system will determine the size of the virtual memory space requested by the process. The size of the physical memory that needs to be allocated to the process.
  • Step 304 The CPU scans the free physical page.
  • a free physical page is an unallocated physical page.
  • a physical page table is usually saved to record the allocation of physical pages in physical memory. When implemented, the free physical page can be determined.
  • Step 305 The CPU determines, according to the determined size of the physical memory, the first physical page to be allocated to the process from the free physical page.
  • the first physical page allocated to the process is determined from the free physical page.
  • Step 306 When the first physical page is determined to be at least two, and the first physical page whose physical page number is discontinuous exists in the determined first physical page, the CPU sends an adjustment instruction to the storage controller.
  • the adjustment instruction is used to instruct the storage controller to perform at least one pair of second physical pages in the physical memory, and each pair of second physical pages includes one of the first physical pages whose physical page numbers are discontinuous and one non-idle physical
  • the page is such that the first physical page obtained after the exchange is continuous with at least the other first physical page.
  • the adjustment instruction carries a first physical page number and a second physical page number, where the storage instruction is used to instruct the storage controller to exchange the internal page number corresponding to the first physical page number and the second physical page number. Internal page number.
  • the adjustment instruction may be a page_swap ( fnl , pfn2 ) instruction, where pfn1 is used to indicate a first physical page number (for example, may be a physical page number of a first physical page in the second physical page), and pfn2 is used to indicate The second physical page number (eg, may be the physical page number of a non-idle physical page in the second physical page).
  • each adjustment instruction may include one or more pairs of physical page numbers of the second physical page (ie, including a plurality of first physical page numbers and a plurality of second physical page numbers), when an adjustment instruction includes multiple
  • the physical page number of the plurality of pairs of the second physical page may be separated by a semicolon.
  • the first physical page whose physical page number is not continuous may be discontinuous with the physical page number of the first physical page that is smaller than the physical page number of the current first physical page, or may be compared with the current physical page number of the first physical page.
  • the physical page number of the physical page number of the first physical page is not continuous, and may be a physical medium that is larger than the physical page number of the first physical page and smaller than the physical page number of the current first physical page.
  • the page numbers are not continuous. Specifically, which first physical pages are adjusted, the adjustment strategy can be configured according to actual needs. There is no limit to the comparison.
  • Step 307 The storage controller executes an adjustment instruction.
  • the storage controller is provided with a mapping table of physical page numbers and internal page numbers.
  • the storage controller receives the page_swap (pfnl, pfn2) instruction, it is about to be in the mapping table.
  • the internal page number corresponding to the physical page number is modified to the internal page number corresponding to the second physical page number
  • the internal page number corresponding to the second physical page number is modified to the internal page number corresponding to the first physical page number.
  • the physical page corresponding to the first physical page number becomes a non-idle physical page
  • the physical page corresponding to the second physical page number is the first physical page obtained after the exchange.
  • the effect seen by the operating system is to exchange data of two physical pages.
  • the storage controller may further send a response message to the CPU, where the response message is used to indicate whether the adjustment instruction is successfully executed.
  • Step 308 The CPU adds an entry in the TLB page table of the process, and the added entry records the mapping of at least two consecutive first physical pages into a large physical page and the virtual page of the process. relationship.
  • the method further includes updating the page table of the process in the main memory.
  • Each virtual page of the corresponding process in the page table of the process has an entry, and the content of the entry includes the address (physical page number) of the main memory page where the virtual page is located, and the effective indication of whether the virtual page is loaded into the main memory. Bit.
  • the entry may also include the size of the page.
  • the CPU may add it as an entry to the TLB page table, or may divide the consecutive multiple first physical pages into multiple The entry is added to the TLB page table of the process. For example, for 10 consecutive first physical pages, the CPU can splicing 10 first physical pages into one large physical page, and then adding it as an entry to the TLB.
  • the page table it is also possible to splicing 10 first physical pages into two large physical pages (for example, two large physical pages include five physical pages, or two large physical pages, one including four physical pages, One includes 6 physical pages). That is to say, the number of the large physical pages can be set according to actual needs, and the present invention is not limited thereto as long as the condition including at least two consecutive first physical pages is satisfied.
  • the physical page numbers of the three physical pages are Page_A, Page_B, and Page_C, respectively, and their corresponding internal page numbers are Page_0, Page_l, and Page_2, respectively, Page_A, Page_B, and Page_C.
  • Page_A and Page_C After scanning the free physical page, the physical page corresponding to Page_A and Page_C is obtained as a free physical page, and the physical page corresponding to Page_B is occupied by other processes. At this time, it is determined that the physical page corresponding to Page_A and Page_C is assigned to the process. (ie as the first physical page).
  • the physical pages corresponding to Page_A and Page_C need to be mapped separately by using two TLB entries, and in this embodiment, the physical page numbers of the two first physical pages (Page_A and Page_C) Is not continuous, in this case, the CPU sends a page_swap (Page_B, Page_C) instruction to the storage controller.
  • the storage controller modifies the corresponding table of the physical page number and the internal page number stored therein.
  • Page_B is modified to correspond to Page2
  • Page_C ' ⁇ is changed to correspond to pagel. Since the physical page number corresponding to the physical page is fixed, the operation is actually equivalent to two physical pages (the physical corresponding to Page_B and Page_C).
  • the corresponding internal page number of the page has been changed, so that the physical page numbers corresponding to the two first physical pages become continuous.
  • the two physical pages consecutive to the two physical page numbers are merged into one large physical page and added to the TLB entry. That is to say, the situation that the two TLB entries need to be mapped is implemented by using only one TLB entry, and the large physical page includes the physical page corresponding to Page_A and the physical corresponding to Page_B obtained after the exchange.
  • the page, that is, the large physical page corresponds to the two virtual pages of the process.
  • Step 309 The CPU sends a memory access request to the storage controller, where the memory access request includes a process number, a starting physical address, and a length information.
  • the fetch request usually also includes the type of operation, such as read operation, write operation.
  • the CPU when the process needs to access the virtual memory, the CPU generates the virtual address to be accessed, the high address of the virtual address is the logical page number, and the low bit is the offset within the page; then, the CPU converts the virtual address into a physical address, and converts
  • the process is as follows: First, according to the page table, the physical page number corresponding to the logical page number is found, and the physical page number is used as the high field of the physical address, and the offset is integrated with the page of the virtual address to form a complete physical address. After the CPU obtains the complete physical address, it generates a memory access request based on the physical address, and sends the generated memory access request to the storage controller.
  • Step 310 The storage controller converts the starting physical address in the fetch request into an internal address.
  • the upper bits of the physical address are physical page numbers, and the lower bits are offsets within the page; specifically, the step 310 may include:
  • the storage controller determines the physical page number according to the starting physical address
  • the internal page number corresponding to the starting physical page number is determined according to the mapping table of the physical page number and the internal page number;
  • the internal page number is spliced with the offset within the page to obtain the internal address corresponding to the starting physical address.
  • the step 310 can be completed when the memory access request is in the queue of the storage controller, and therefore, the access efficiency of the physical memory is not affected.
  • Step 311 The storage controller accesses the physical memory according to the obtained internal address.
  • the storage controller accesses the physical memory, the data corresponding to the internal address is transferred into the cache (Cache).
  • the mapping table of the physical page number and the internal page number is stored in the storage controller, and the storage controller executes the reset instruction, the adjustment instruction, and the conversion of the physical address and the internal address, in other implementations.
  • the method of the present invention can also be applied to, for example, a network-on-chip (NoC).
  • NoC a mapping table of physical page numbers and internal page numbers can be stored in an on-chip router. The router performs a reset instruction, an adjustment instruction, and a conversion of a physical address and an internal address.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is continuous with another physical page.
  • at least two consecutive first physical pages can be merged into one large physical page, and added as an entry to the TLB page table of the process. Since the page size corresponding to the entry becomes larger, the process can be reduced.
  • the number of TLB entries used in the address mapping reduces the TLB page fault overhead.
  • the page size corresponding to the TLB entry is adjusted in real time according to the actual situation. Compared with the existing large page technology, Reduce page fault overhead more effectively.
  • the embodiment of the present invention by configuring a physical page number and an internal page number for a physical page, and setting a mapping table of a physical page number and a physical page number in the storage controller, the first physical page that is not continuous with the physical page number is performed.
  • the embodiment of the present invention has few changes to the operating system, and is easy to popularize and apply.
  • the embodiment of the invention provides a memory management method, which is applicable to the memory management system shown in FIG.
  • the memory manager is a storage controller, and the operating system divides the physical address space of the main memory into a plurality of physical pages, and allocates a physical page number for each physical page, and the storage controller is based on the physical page number. Access physical memory.
  • the method includes:
  • Step Mount 401 When the system is initialized, the CPU divides the physical page and the virtual page.
  • This step 401 is the same as the aforementioned step 301, and a detailed description is omitted here.
  • Step 402 When it is necessary to allocate physical memory for the process, the CPU determines the score from the free physical page. The first physical page of the provisioning process.
  • step 402 The implementation process of the step 402 is the same as the foregoing steps 302-305, and details are not described herein again.
  • Step 403 When the first physical page is determined to be at least two, and the first physical page whose physical page number is discontinuous exists in the determined first physical page, the CPU sends an adjustment instruction to the storage controller.
  • the adjustment instruction is used to instruct the storage controller to perform at least one pair of second physical pages in the physical memory, and each pair of second physical pages includes one of the first physical pages whose physical page numbers are discontinuous and one non-idle
  • the physical page is such that the first physical page obtained after the exchange is continuous with at least the other first physical page.
  • the adjustment instruction carries a first physical page number and a second physical page number, where the storage instruction is used to instruct the storage controller to exchange data and a second physical page in a physical page corresponding to the first physical page number.
  • the data in the physical page corresponding to the number is used to instruct the storage controller to exchange data and a second physical page in a physical page corresponding to the first physical page number.
  • Step 404 The storage controller executes an adjustment instruction.
  • the physical page corresponding to the first physical page number is the first physical page
  • the physical page of the second physical page number is the non-idle physical page
  • the storage controller can complete the adjustment instruction by transmitting the data of the physical page corresponding to the second physical page number to the physical page corresponding to the first physical page number.
  • the physical page corresponding to the first physical page number becomes a non-idle physical page
  • the physical page corresponding to the second physical page number is an idle physical page, that is, the first physical page obtained after the exchange.
  • the storage controller may further send a response message to the CPU, where the response message is used to indicate whether the adjustment instruction is successfully executed.
  • Step 405 The CPU adds an entry in the TLB page table of the process, where the added entry records the mapping of at least two consecutive first physical pages into a large physical page and the virtual page of the process. relationship.
  • Step 406 The CPU sends a memory access request to the storage controller, where the memory access request includes a process number, a starting physical address, and a length information.
  • This step 406 is the same as the foregoing step 309, and details are not described herein again.
  • Step 407 The storage controller accesses the physical memory according to the starting physical address and length information in the memory access request.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is combined with another object.
  • the page is continuous, so that at least two consecutive first physical pages can be merged into one large physical page, which is added as an entry to the TLB page table of the process, because the page size corresponding to the entry becomes larger, so
  • the number of TLB entries used by the process in the address mapping can be reduced, and the page loss overhead of the TLB entry is reduced.
  • the page size corresponding to the TLB entry is adjusted in real time according to the actual situation, and the existing large page technology. In comparison, it is therefore possible to reduce page fault overhead more effectively.
  • the embodiment of the present invention has few changes to the operating system, and is easy to popularize and apply. Embodiment 5
  • the embodiment of the present invention provides a memory management apparatus, which can be used to implement the method provided in Embodiment 1.
  • the apparatus includes: a memory allocation module 501, a sending module 502, and an entry processing module 503.
  • the memory allocation module 501 is configured to determine, when the physical memory needs to be allocated for the process, the first physical page allocated to the process from the free physical page.
  • the sending module 502 is configured to: when the first physical page determined by the memory allocating module 501 is at least two, and the first physical page that is determined to have a discontinuous physical page number in the first physical page, send to the memory manager And an adjustment instruction, the adjustment instruction is used to instruct the memory manager to exchange at least one pair of second physical pages in the physical memory, where each pair of second physical pages includes one and one of the first physical pages whose physical page numbers are discontinuous a non-idle physical page such that the first physical page obtained after the exchange is contiguous with at least one other of the first physical pages;
  • the entry processing module 503 is configured to add an entry in the TLB page table of the process, where the entry records the mapping relationship between the at least two consecutive first physical pages and the virtual page of the process after being merged into one large physical page.
  • the large physical page includes the first physical page obtained after the exchange.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is continuous with another physical page.
  • the first physical page obtained after the exchange is continuous with another physical page.
  • at least two consecutive first physical pages can be merged into one large physical page, and added as an entry to the TLB page table of the process, thereby reducing the TLB entry used by the process in address mapping.
  • the number reduces the TLB page fault overhead.
  • the embodiment of the present invention has few changes to the operating system and is easy to popularize and apply.
  • the embodiment of the invention provides a memory management device, which can be used to implement the third or fourth embodiment.
  • the device includes:
  • the memory allocation module 601 is configured to determine, when the physical memory needs to be allocated for the process, the first physical page allocated to the process from the free physical page.
  • the sending module 602 is configured to send, when the first physical page determined by the memory allocation module 601 is at least two, and the first physical page in the first physical page that is determined to be discontinuous, to the memory manager And an adjustment instruction, the adjustment instruction is used to instruct the memory manager to exchange at least one pair of second physical pages in the physical memory, where each pair of second physical pages includes one and one of the first physical pages whose physical page numbers are discontinuous a non-idle physical page such that the first physical page obtained after the exchange is contiguous with at least one other of the first physical pages;
  • the entry processing module 603 is configured to add an entry in the TLB page table of the process, where the entry records the mapping relationship between the at least two consecutive first physical pages and the virtual page of the process after being merged into one large physical page.
  • the large physical page includes the first physical page obtained after the exchange.
  • the memory manager is provided with a mapping table of a physical page number and an internal page number, where the adjustment instruction carries the first physical page number and the second physical page number, and the storage instruction is used to indicate The memory manager exchanges the internal page number corresponding to the first physical page number and the second physical page number.
  • the memory manager is configured to access the physical memory according to the internal page number.
  • the sending module 602 is further configured to send a reset instruction to the memory manager, the reset instruction is used to instruct the memory manager to create a mapping table of the physical page number and the internal page number.
  • the memory manager can be a memory controller or a router for an on-chip network.
  • the adjustment instruction carries a first physical page number and a second physical page number, where the adjustment instruction is used to instruct the memory manager to exchange data in the physical page corresponding to the first physical page number and The data in the physical page corresponding to the second physical page number (for the implementation, refer to the third embodiment, and the detailed description is omitted here).
  • the memory manager can be a memory controller.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is continuous with another physical page.
  • the first physical page obtained after the exchange is continuous with another physical page.
  • at least two consecutive first physical pages can be merged into one large physical page, and added as an entry to the TLB page table of the process, thereby reducing the process when the address mapping is performed.
  • the number of TLB entries used which in turn reduces the TLB page fault overhead.
  • the embodiment of the present invention has few changes to the operating system, and is easy to popularize and apply. Example 7
  • the embodiment of the present invention provides a memory management apparatus, which can be used to implement the method provided in Embodiment 2.
  • the apparatus includes: a receiving module 701 and an executing module 702.
  • the receiving module 701 is configured to receive an adjustment instruction, where the adjustment instruction is used to instruct the memory manager to perform exchange processing on at least one pair of second physical pages in the physical memory, where each pair of second physical pages includes a physical page number discontinuous One of the first physical pages and one non-idle physical page, the first physical page being the free physical page to be assigned to the process.
  • the executing module 702 is configured to exchange physical pages in the physical memory according to the adjustment instruction received by the receiving module 701, so that the first physical page obtained after the exchange is continuous with at least another first physical page.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is continuous with another physical page.
  • the first physical page obtained after the exchange is continuous with another physical page.
  • at least two consecutive first physical pages can be merged into one large physical page, and added as an entry to the TLB page table of the process, thereby reducing the TLB entry used by the process in address mapping.
  • the number reduces the TLB page fault overhead.
  • the embodiment of the present invention has few changes to the operating system and is easy to popularize and apply. Example eight
  • the embodiment of the invention provides a memory management device, which can be used to implement the steps performed by the memory controller in the third or fourth embodiment.
  • the apparatus includes: a receiving module 801 and an executing module 802.
  • the receiving module 801 is configured to receive an adjustment instruction, where the adjustment instruction is used to instruct the memory manager to perform exchange processing on at least one pair of second physical pages in the physical memory, where each pair of second physical pages includes a physical page number discontinuous One of the first physical pages and one non-idle physical page, the first physical page being the free physical page to be assigned to the process.
  • the executing module 802 is configured to exchange physical pages in the physical memory according to the adjustment instruction received by the receiving module 801, so that the first physical page obtained after the exchange is continuous with at least another first physical page.
  • a physical page number and an internal part are provided in the memory manager.
  • a mapping table of the page number the adjustment instruction carries a first physical page number and a second physical page number
  • the adjustment instruction is used to instruct the memory manager to exchange the first physical page number and the internal page number corresponding to the second physical page number
  • the memory manager is used to access physical memory based on the internal page number.
  • the receiving module 801 is further configured to receive a reset instruction, where the reset instruction is used to instruct the memory manager to create a mapping table of the physical page number and an internal page number; It can also be used to create a mapping table of physical page numbers and internal page numbers according to the reset instruction.
  • the memory manager may be a memory controller or a router of an on-chip network (for the implementation, refer to Embodiment 4, and detailed description is omitted here).
  • the apparatus may further include: an address conversion module 803 and a memory access module 804.
  • the receiving module 801 is further configured to receive a memory access instruction, where the memory access instruction includes a starting physical address and length information.
  • the address conversion module 803 is configured to convert the starting physical address in the fetch instruction into an internal address according to the mapping table of the physical page number and the internal page number.
  • the memory access module 804 is configured to access the physical memory according to the internal address obtained by the address translation module 803.
  • the adjustment instruction carries a first physical page number and a second physical page number, where the adjustment instruction is used to instruct the memory manager to exchange data in the physical page corresponding to the first physical page number and The data in the physical page corresponding to the second physical page number (for the implementation, refer to Embodiment 4, and detailed description is omitted here).
  • the memory manager can be a memory controller.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is continuous with another physical page.
  • the first physical page obtained after the exchange is continuous with another physical page.
  • at least two consecutive first physical pages can be merged into one large physical page, and added as an entry to the TLB page table of the process, thereby reducing the TLB entry used by the process in address mapping.
  • the number reduces the TLB page fault overhead.
  • the embodiment of the present invention has few changes to the operating system and is easy to popularize and apply. Example nine
  • An embodiment of the present invention provides a memory management apparatus.
  • the apparatus includes a processor 1001, a memory 1002, a bus 1003, and a communication interface 1004.
  • the memory 1002 is configured to store computer execution instructions
  • the processor 1001 is connected to the memory 1002 via the bus 1003.
  • the processor 1001 executes the computer-executed instructions stored in the memory 1002 to cause the computer to execute the method executed by the CPU in the first embodiment or the third embodiment or the fourth embodiment.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is continuous with another physical page.
  • the first physical page obtained after the exchange is continuous with another physical page.
  • at least two consecutive first physical pages can be merged into one large physical page, and added as an entry to the TLB page table of the process, thereby reducing the TLB entry used by the process in address mapping.
  • the number reduces the TLB page fault overhead.
  • the embodiment of the present invention has few changes to the operating system and is easy to popularize and apply. Example ten
  • the embodiment of the present invention provides a memory management apparatus.
  • the apparatus includes a processor 1101, a memory 1102, a bus 1103, and a communication interface 1104.
  • the memory 1102 is used to store computer execution instructions
  • the processor 1101 is connected to the memory 1102 via a bus 1103.
  • the processor 1101 executes the computer execution instructions stored in the memory 1102 to cause the computer to execute the implementation.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is continuous with another physical page.
  • the first physical page obtained after the exchange is continuous with another physical page.
  • at least two consecutive first physical pages can be merged into one large physical page, and added as an entry to the TLB page table of the process, thereby reducing the TLB entry used by the process in address mapping.
  • the number reduces the TLB page fault overhead.
  • the embodiment of the present invention has few changes to the operating system and is easy to popularize and apply. Embodiment 11
  • the embodiment of the present invention provides a memory management system.
  • the system includes: a CPU 1201 and a memory controller 1202;
  • the CPU 1201 includes the memory management device provided in Embodiment 5, 6 or 9;
  • the memory controller 1202 includes the memory management device provided in the seventh, eighth or tenth embodiment.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is continuous with another physical page. In this way, at least two consecutive first physical pages can be merged into one large physical page. As an entry, it is added to the TLB page table of the process, which can reduce the number of TLB entries used by the process in address mapping, and thus reduce the TLB page fault overhead.
  • the embodiment of the present invention has few changes to the operating system, and is easy to popularize and apply. Example twelve
  • the embodiment of the present invention provides an on-chip network.
  • the on-chip network includes: a plurality of processors 1301, a plurality of routers 1302, and a plurality of memory controllers 1303.
  • the processor 1301 is connected to the memory controller 1303 through the router 1302. ;
  • the processor 1301 includes the memory management device provided in Embodiment 5, 6 or 9.
  • the router 1302 includes the memory management device provided in Embodiment 7, 8, or 10.
  • the first physical page allocated to the process is first determined, and then the first physical page whose physical page number is discontinuous is exchanged, so that the first physical page obtained after the exchange is continuous with another physical page.
  • the first physical page obtained after the exchange is continuous with another physical page.
  • at least two consecutive first physical pages can be merged into one large physical page, and added as an entry to the TLB page table of the process, thereby reducing the TLB entry used by the process in address mapping.
  • the number reduces the TLB page fault overhead.
  • the embodiment of the present invention has few changes to the operating system and is easy to popularize and apply. It should be noted that, when the memory management device provided by the foregoing embodiment performs memory management, only the division of each functional module described above is used as an example.
  • the function distribution may be completed by different functional modules as needed.
  • the internal structure of the device is divided into different functional modules to perform all or part of the functions described above.
  • the memory management device and the memory management method embodiment provided in the foregoing embodiments are in the same concept, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
  • the serial numbers of the embodiments of the present invention are merely for the description, and do not represent the advantages and disadvantages of the embodiments.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

La présente invention concerne un système, un dispositif et un procédé de gestion de mémoire, ainsi qu'un réseau sur puce. Le procédé de gestion de mémoire comprend les étapes consistant à : déterminer des premières pages physiques attribuées à un procédé à partir de pages physiques en veille; envoyer une instruction d'ajustement à un gestionnaire de mémoire, l'instruction d'ajustement étant utilisée pour ordonner au gestionnaire de mémoire d'échanger au moins une paire de secondes pages physiques dans une mémoire physique et chaque paire de secondes pages physiques comprenant l'une des premières pages physiques avec des numéros de pages physiques non consécutifs et une page physique non en veille, de sorte que la première page physique obtenue après l'échange et au moins une autre première page physique soient consécutives; et ajouter une entrée de table dans une table de page TLB du procédé, une relation de mappage entre au moins deux premières pages physiques consécutives, après avoir été combinées en une grande page physique et des pages virtuelles du procédé étant enregistrée dans l'entrée de la table et la grande page physique comprenant la première page physique obtenue après l'échange. La présente invention peut réduire la baisse de performances due à un défaut de page TLB dans l'application d'une grande mémoire.
PCT/CN2014/083966 2014-08-08 2014-08-08 Système, dispositif et procédé de gestion de mémoire et réseau sur puce WO2016019566A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201480037710.XA CN105518631B (zh) 2014-08-08 2014-08-08 内存管理方法、装置和***、以及片上网络
PCT/CN2014/083966 WO2016019566A1 (fr) 2014-08-08 2014-08-08 Système, dispositif et procédé de gestion de mémoire et réseau sur puce

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/083966 WO2016019566A1 (fr) 2014-08-08 2014-08-08 Système, dispositif et procédé de gestion de mémoire et réseau sur puce

Publications (1)

Publication Number Publication Date
WO2016019566A1 true WO2016019566A1 (fr) 2016-02-11

Family

ID=55263043

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/083966 WO2016019566A1 (fr) 2014-08-08 2014-08-08 Système, dispositif et procédé de gestion de mémoire et réseau sur puce

Country Status (2)

Country Link
CN (1) CN105518631B (fr)
WO (1) WO2016019566A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11298272B2 (en) 2016-11-25 2022-04-12 The Procter & Gamble Company Wearable article having elastic belt

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017190266A1 (fr) 2016-05-03 2017-11-09 华为技术有限公司 Procédé permettant de gérer un répertoire de pages actives de traduction et processeur multicœur
CN108139981B (zh) * 2016-08-11 2020-08-14 华为技术有限公司 一种页表缓存tlb中表项的访问方法,及处理芯片
CN107066393B (zh) * 2017-01-12 2020-06-09 安徽大学 提高地址映射表中映射信息密度的方法
CN108205472B (zh) * 2017-08-15 2021-11-05 珠海市魅族科技有限公司 内存释放方法、释放装置、计算机装置以及可读存储介质
CN112560086B (zh) * 2020-12-11 2022-11-08 海光信息技术股份有限公司 一种用于密码协处理器的配置方法、装置、cpu及电子设备
CN115129459A (zh) * 2021-03-24 2022-09-30 华为技术有限公司 一种内存管理的方法及设备
CN113778688B (zh) * 2021-09-17 2024-06-14 Oppo广东移动通信有限公司 内存管理***、内存管理方法、内存管理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617113A (zh) * 2003-11-13 2005-05-18 国际商业机器公司 向物理内存分配虚拟内存的方法、存储控制器和计算机***
CN101859279A (zh) * 2010-05-21 2010-10-13 北京星网锐捷网络技术有限公司 一种内存分配、释放方法及装置
CN102122268A (zh) * 2010-01-07 2011-07-13 华为技术有限公司 一种虚拟机内存分配访问方法、装置和***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277999B1 (en) * 2004-08-12 2007-10-02 Vmware, Inc. Restricting memory access to protect data when sharing a common address space

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617113A (zh) * 2003-11-13 2005-05-18 国际商业机器公司 向物理内存分配虚拟内存的方法、存储控制器和计算机***
CN102122268A (zh) * 2010-01-07 2011-07-13 华为技术有限公司 一种虚拟机内存分配访问方法、装置和***
CN101859279A (zh) * 2010-05-21 2010-10-13 北京星网锐捷网络技术有限公司 一种内存分配、释放方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11298272B2 (en) 2016-11-25 2022-04-12 The Procter & Gamble Company Wearable article having elastic belt

Also Published As

Publication number Publication date
CN105518631A (zh) 2016-04-20
CN105518631B (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
WO2016019566A1 (fr) Système, dispositif et procédé de gestion de mémoire et réseau sur puce
US8250254B2 (en) Offloading input/output (I/O) virtualization operations to a processor
US10719463B1 (en) Hardware handling memory write request during memory data migration
US11966612B2 (en) Solid-state disk (SSD) data migration
US20190243757A1 (en) Systems and methods for input/output computing resource control
CN106560791B (zh) 高效虚拟i/o地址转换
EP3441884B1 (fr) Procédé permettant de gérer un répertoire de pages actives de traduction et processeur multicoeur
US9584628B2 (en) Zero-copy data transmission system
WO2015180598A1 (fr) Procédé, appareil et système de traitement d'informations d'accès d'un dispositif de stockage
US9336158B2 (en) Method and system for simplified address translation support for static infiniband host channel adaptor structures
US20220179792A1 (en) Memory management device
US20210149815A1 (en) Technologies for offload device fetching of address translations
JP2017537404A (ja) メモリアクセス方法、スイッチ、およびマルチプロセッサシステム
AU2015402888B2 (en) Computer device and method for reading/writing data by computer device
US9772776B2 (en) Per-memory group swap device
US10331570B2 (en) Real time memory address translation device
WO2014101502A1 (fr) Procédé de traitement d'accès mémoire basé sur une interconnexion de puces mémoire, puce mémoire et système
CN114546902A (zh) 基于多协议访问存储器的***、设备和方法
CN113010452A (zh) 一种高效且支持QoS的虚拟内存架构
US9081764B2 (en) Iimplementing DMA migration of large system memory areas
WO2016119618A1 (fr) Procédé, dispositif et système d'attribution de mémoire déportée
WO2017031637A1 (fr) Procédé, appareil et système d'accès mémoire
JPWO2019124450A1 (ja) 入出力実行装置、デバイス仮想化システム、入出力実行方法、および、プログラム
US20240152476A1 (en) Data access method and related device
US11281612B2 (en) Switch-based inter-device notational data movement system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14899375

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14899375

Country of ref document: EP

Kind code of ref document: A1