WO2015161804A1 - Procédé et dispositif de partitionnement de mémoire cache - Google Patents

Procédé et dispositif de partitionnement de mémoire cache Download PDF

Info

Publication number
WO2015161804A1
WO2015161804A1 PCT/CN2015/077223 CN2015077223W WO2015161804A1 WO 2015161804 A1 WO2015161804 A1 WO 2015161804A1 CN 2015077223 W CN2015077223 W CN 2015077223W WO 2015161804 A1 WO2015161804 A1 WO 2015161804A1
Authority
WO
WIPO (PCT)
Prior art keywords
cache
physical memory
cache set
execution
target
Prior art date
Application number
PCT/CN2015/077223
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 华为技术有限公司
Publication of WO2015161804A1 publication Critical patent/WO2015161804A1/fr

Links

Images

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

Definitions

  • the present invention relates to the field of electronic information technology, and in particular, to a method and an apparatus for a Cache partition.
  • the operating system allocates discontinuous physical memory for the execution entity, so that one execution entity is cached in the same Cache Set, and different Cache Sets do not. Interference occurs, so when multiple execution entities are running, there is no delay in access.
  • the operating system needs to allocate continuous physical memory to the execution entity, while continuous physical memory often spans multiple different Cache Sets, requiring continuous physics.
  • the execution entity of the memory is likely to share the same one or more Cache Sets with other execution entities. In this case, multiple execution entities still have interference in the use of the Cache, resulting in delays in access and thus reduced access. Performance.
  • An embodiment of the present invention provides a method and an apparatus for Cache partitioning, which can flexibly allocate physical memory and a Cache Set for an execution entity, reduce interference generated by multiple execution entities in the use of the Cache, and improve the memory access performance.
  • an embodiment of the present invention provides a method for a Cache partition, which is used for a host, and the host An operating system is provided, the host includes a physical memory and a cache group Cache Sets, the physical memory is used to store data, and the Cache Set is used to cache data in the physical memory; the method includes:
  • the operating system allocates physical memory to the execution entity, and the physical memory allocated to the execution entity is used to store data required for the execution entity to run;
  • the host includes a re-staining component, the re-staining component is configured to read a re-staining table, and the re-staining table is configured to record the execution entity Corresponding relationship between the physical memory and the selected Cache Set; the correspondence between the physical memory allocated to the execution entity and the selected Cache Set includes:
  • the method further includes:
  • the target Cache Set Mask corresponds to a physical memory address allocated for the execution body, according to a physical memory address allocated to the execution body;
  • the method includes:
  • the target Cache Set is determined and accessed according to the target Cache Set Mask stored in the Shadow Address Space.
  • the host further includes a memory management unit MMU, where the MMU is configured to cache a page table cache entry, the page table cache entry Included in the identifier of the execution entity; after the finding and obtaining the target Cache Set Mask, the method includes:
  • the target Cache Set Mask is obtained in the page table cache entry according to the identifier ID of the execution entity
  • the host includes a cache register; and the obtaining the re-staining table includes:
  • the re-staining table is obtained from physical memory.
  • an embodiment of the present invention provides a device for a Cache partition, where the device runs an operating system, and the device includes a physical memory and a cache group Cache Sets, where the physical memory is used to store data, and the Cache Set is used by the Cache Set.
  • Caching data in the physical memory the device includes:
  • An allocation module configured to allocate physical memory to an execution entity, to be allocated within the physical entity of the execution entity Stored for storing data required by the execution entity to run;
  • Establishing a relationship module configured to: in the Cache Sets included in the host, select one or more cache sets that are not occupied, and cache data in physical memory allocated for the execution body to the selected Cache Set. Establishing a correspondence between the physical memory allocated to the execution body and the selected Cache Set.
  • the apparatus includes a re-staining component for reading a re-staining table, the re-staining table being used for recording the execution of the execution subject Corresponding relationship between the physical memory and the selected Cache Set; the establishing relationship module includes:
  • a re-staining table unit for establishing the re-staining table, and establishing, in the re-staining table, a correspondence between a physical memory address allocated to the execution body and a cache group mask Cache Set Mask, the Cache Set Mask is used to identify the selected Cache Set.
  • the apparatus further includes:
  • a re-staining table obtaining module configured to obtain the re-staining table
  • a search module configured to find and acquire a target Cache Set Mask in the re-staining table according to a physical memory address allocated for the execution body, the target Cache Set Mask and a physical memory address allocated to the execution body correspond;
  • the first access module is configured to determine and access the target Cache Set according to the target Cache Set Mask, where the target Cache Set Mask corresponds to the target Cache Set.
  • the apparatus includes:
  • a storage module configured to store the target Cache Set Mask to a shadow address space of a physical memory address allocated to the execution body
  • a second access module configured to determine and access the target Cache Set according to the target Cache Set Mask stored in the Shadow Address Space when the execution entity indexes the target Cache Set again.
  • the apparatus further includes a memory management unit MMU, where the MMU is configured to cache a page table cache entry, the page table cache entry Included in the identification ID of the execution entity; the device includes:
  • Adding a module configured to add, in the page table cache entry of the MMU, the target Cache Set Mask corresponding to the identifier ID of the execution entity;
  • a mask acquisition module configured to: when the execution entity indexes the target Cache Set again, obtain the target Cache Set Mask in the page table cache item according to the identifier ID of the execution entity;
  • the third access module is configured to determine and access the target Cache Set according to the target Cache Set Mask.
  • the apparatus includes a cache register, and the re-staining table obtaining module includes:
  • a detecting unit configured to detect whether the re-staining table exists in the cache register
  • a first obtaining unit configured to obtain the re-staining table from the cache register when present
  • a second obtaining unit configured to acquire the re-staining table from physical memory when not present.
  • the method and device for the Cache partition provided by the embodiment of the present invention can allocate physical memory to the execution entity, and select one or more Cache Sets that are not occupied in the Cache Sets included in the host, and the physics to be allocated for the execution entity
  • the data in the memory is cached in the selected Cache Set, and the correspondence between the physical memory allocated by the execution subject and the selected Cache Set is established.
  • continuous physical memory is required to be executed.
  • the data required to run a row entity is cached in comparison to multiple different Cache Sets.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets.
  • the interference generated by multiple execution entities in the use of the Cache is reduced, and the cache access performance is improved.
  • FIG. 1 is a flowchart of a method for a Cache partition according to an embodiment of the present invention
  • FIG. 1 is a schematic diagram of an execution entity, physical memory, and Cache Set correspondence according to an embodiment of the present disclosure
  • FIG. 2 is a flowchart of a specific implementation manner of a method for a Cache partition according to an embodiment of the present invention
  • FIG. 2a is a schematic structural diagram of an example of a Cache system according to an embodiment of the present invention.
  • 2b is a schematic diagram of a re-staining table according to an embodiment of the present invention.
  • FIG. 4, and FIG. 5 are flowcharts of another method for a Cache partition according to an embodiment of the present invention.
  • 4a, 4b, and 4c are schematic diagrams showing an example of accessing a Cache Set according to an embodiment of the present invention
  • FIG. 5 is a schematic diagram of an example of a page table cache entry according to an embodiment of the present disclosure
  • FIG. 6a, FIG. 6b, and FIG. 6c are schematic diagrams of another method for Cache partitioning according to an embodiment of the present invention. Flow chart of the body implementation;
  • FIG. 7 is a schematic structural diagram of an apparatus for a Cache partition according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of a specific implementation manner of an apparatus for a Cache partition according to an embodiment of the present disclosure
  • FIG. 9 is a schematic structural diagram of another apparatus for a Cache partition according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram of another apparatus for a Cache partition according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic structural diagram of another apparatus for a Cache partition according to an embodiment of the present disclosure.
  • FIG. 12 is a schematic structural diagram of a specific implementation manner of an apparatus for another Cache partition according to an embodiment of the present disclosure
  • FIG. 13 is a schematic structural diagram of a Cache partition device according to an embodiment of the present invention.
  • the technical solution provided by the embodiment of the present invention is applied to a host, and an operating system running on the host can flexibly allocate physical memory and a Cache Set to the execution entity.
  • the host may include a multi-virtual machine operating system under the virtual machine system, a multi-core operating system under the multi-core hardware platform, or a multi-process scheduling system under the single system, that is, the executing entity may be a process, a kernel, or Virtual machine, etc.
  • at least a Cache partition device or a Cache partition module is added to the Cache system in the host to establish and query the correspondence between the physical memory allocated by the execution entity and the Cache Set.
  • This solution can be applied to all levels of cache, such as: level 1 cache, level 2 cache, level 3 cache, and so on.
  • the embodiment of the invention provides a method for Cache partitioning, as shown in FIG. 1 , including:
  • the operating system allocates physical memory for an execution entity.
  • the operating system runs on the host, and the host includes a physical memory and a cache group Cache Set.
  • the execution entity may be a process, a virtual machine, or a kernel.
  • the operating system may allocate appropriate physical memory to the execution entity according to the specific conditions of each execution entity and the policy decision of the operating system.
  • the physical memory allocated for the execution entity is used to store the data needed to execute the entity runtime.
  • the cache group Cache Set can be used to cache data in physical memory.
  • the physical memory allocated for the execution entity may be continuous or discontinuous, depending on the scenario of the execution entity, for example, a scenario of starting a scene or direct memory access of the device, and operating The system allocates continuous physical memory for the execution entity; in other scenarios, the operating system can also allocate non-contiguous physical memory to the execution entity.
  • Cache Sets included in the host select one or more Cache Sets that are not occupied, and cache data in the physical memory allocated to the execution entity to the selected Cache Set, and establish Corresponding relationship between the physical memory allocated by the execution subject and the selected Cache Set.
  • the host often includes multiple cache group Cache Sets.
  • some cache sets may have been occupied by other execution entities, and other data required for the execution of the main body are cached; another part of the Cache Set is not executed.
  • the main body is occupied and is in an idle state. It is an unoccupied Cache Set.
  • the unoccupied Cache Set is selected to avoid occupying the same Cache Set together with other execution entities.
  • the selected unoccupied Cache Set may be one or more.
  • the data in the physical memory allocated to the execution entity is cached in the selected Cache Set, and the correspondence between the physical memory of the execution entity and the Cache Set is established, so that the physical memory of one execution entity corresponds to one Cache Set or multiple Cache Sets.
  • the physical memory of the execution entity corresponds to a different Cache Set.
  • the correspondence between the physical memory allocated to the execution entity and the Cache Set may be represented by a correspondence between a physical memory address allocated by the execution entity and a Cache Set Mask, and the Cache Set Mask is used to identify the Cache Set.
  • the operating system updates the established correspondence, thereby ensuring the normal operation of the execution entity.
  • the management kernel is equivalent to the operating system.
  • the management kernel allocates physical memory for each lightweight kernel, and selects an unoccupied Cache Set (cache group), which will be lightweight.
  • the data in the physical memory allocated by the level kernel is cached into the selected Cache Set, and the correspondence between the physical memory allocated by the lightweight kernel and the selected Cache Set is established, so that the cache partition management function of the management kernel can be utilized, and the cache performance is obtained.
  • the isolation function module assigns a corresponding Cache Set to each lightweight kernel. When creating, destroying, and migrating lightweight kernels, the management kernel resets the cache partition management functionality.
  • a method for Cache partitioning is capable of allocating physical memory for an execution entity, and selecting one or more Cache Sets that are not occupied in a Cache Sets included in the host, and is to be allocated physical memory for the execution entity.
  • the data is cached into the selected Cache Set, and the correspondence between the physical memory allocated by the execution subject and the selected Cache Set is established.
  • the data required for the execution of the continuous physical memory execution entity is cached in comparison with a plurality of different Cache Sets.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets. Reduced interference caused by multiple execution entities in the use of Cache, improved Cache's memory access performance.
  • the embodiment of the present invention further provides a specific solution of a method for Cache partitioning, where the host includes a re-staining component, and the re-staining component is used to read a re-staining table, and re-staining The table is used to record the correspondence between the physical memory allocated to the execution entity and the Cache Set.
  • the implementation of the solution in the solution shown in FIG. 1 is further refined.
  • the 102 may be specifically implemented as 1021.
  • the method includes:
  • the operating system may record the correspondence between the physical memory allocated to the executing entity and the Cache Set in the form of an entry.
  • the operating system uses the re-staining table to record the correspondence between the physical memory allocated to the executing entity and the Cache Set.
  • the resampling table can be stored in physical memory or in the cache register of the Cache controller.
  • the cache cache system in the host often includes a Cache controller, and a Cache partition device or a Cache partition module may be added in the Cache controller, and the Cache partition device or the Cache partition module includes a re-staining component. It is also possible to add a Cache partition device or a Cache partition module to other devices or parts in the cache Cache system, which is not limited herein.
  • the re-staining table is managed, established, and updated by the operating system kernel; in the virtual machine system, the re-staining table is managed, established, and updated by the VMM (Virtual Machine Manager); In multi-core systems, the re-staining table is managed, built, and updated by the management kernel.
  • VMM Virtual Machine Manager
  • a Cache may be used in the Cache system of the host.
  • a Cache partition module is added to the controller.
  • the Cache partition module includes a re-staining component, a buffer register, and a control space.
  • the re-staining component is used to read the re-staining table
  • the cache register can be used to cache the re-staining table
  • the control space provides a set of control registers to support the startup and initialization of the Cache partitioning module.
  • the memory management unit can perform the conversion of the virtual address and the physical address.
  • the correspondence between the physical memory and the Cache Set may be represented by a physical memory address and a Cache SetMask, and the Cache Set Mask is used to identify the Cache Set.
  • the correspondence between the physical memory address assigned to the execution entity and the Cache Set Mask is recorded in the re-staining table.
  • the execution entity runs, it can be based on the corresponding record in the re-staining table. Relationship, find the Cache Set assigned to this execution entity to get the data needed to run this execution entity.
  • the size of the physical memory address range in the re-staining table may be the size of the Cache line, that is, 64 bytes, or the size of one memory page, that is, 4 KB, or the size of multiple memory pages.
  • the Cache Set Mask can identify a Cache Set or multiple Cache Sets.
  • the re-staining table is also updated synchronously.
  • the specific update process is as follows: updating the data structure of the execution entity, and the data structure of the execution entity is used to generate relevant data about the execution entity in the re-staining table.
  • the operating system updates the data of the corresponding relationship in the re-staining table according to the updated data structure of the executing entity.
  • the corresponding Cache line can be emptied or the Cache line can be written back.
  • a method for Cache partitioning is capable of allocating physical memory for an execution entity, and selecting one or more Cache Sets that are not occupied in a Cache Sets included in the host, and is to be allocated physical memory for the execution entity.
  • the data is cached into the selected Cache Set to establish a re-staining table, and in the re-staining table, a correspondence relationship between the physical memory address allocated to the execution subject and the cache group mask Cache SetMask is established.
  • the data required for the execution of the continuous physical memory is cached in multiple Compared to different Cache Sets.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets.
  • the interference generated by multiple execution entities in the use of the Cache is reduced, and the cache access performance is improved.
  • the embodiment of the present invention further provides a specific solution of a method for Cache partitioning, adding 103-105, specifically indicating that physical memory and Cache Set allocated for the execution entity are established. After the corresponding relationship, how to access the Cache Set corresponding to the execution entity, as shown in Figure 3, includes:
  • the re-staining table can be stored in physical memory or in a cache register.
  • the target Cache Set Mask corresponds to a physical memory address allocated for the execution body, and the corresponding relationship between the physical memory address allocated to all the execution entities and the Cache Set Mask is recorded in the re-staining table, according to the physical memory address allocated for the execution subject, You can find the corresponding Cache Set Mask, which is the target Cache Set Mask.
  • the target Cache Set Mask corresponds to the target Cache Set.
  • a method for Cache partitioning can allocate physical memory for an execution entity, and select one or more Cache Sets that are not occupied in the Cache Sets included in the host, and The data in the physical memory allocated by the row body is cached into the selected Cache Set to establish a re-staining table, and in the re-staining table, the correspondence between the physical memory address allocated by the execution subject and the cache group mask Cache SetMask is established;
  • the re-staining table according to the physical memory address allocated for the execution subject, finds and acquires the target Cache Set Mask in the re-staining table, and accesses the target Cache Set according to the target Cache Set Mask.
  • the data required for the execution of the continuous physical memory execution entity is cached in comparison with a plurality of different Cache Sets.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets.
  • the interference generated by multiple execution entities in the use of the Cache is reduced, and the cache access performance is improved.
  • the embodiment of the present invention further provides a specific solution of a method for Cache partitioning, and the scheme adds 106-107, as shown in FIG. 4, including:
  • the existing processor has a large address space, but the physical memory address of the mainstream processor uses only a part of the space, and the unused space of the other part is idle.
  • the free space of the part of the physical memory address is Shadow Address Space.
  • the existing 64-bit processor addressing space is 64-bit, but the mainstream processor only uses the lower 48 bits of the physical memory address.
  • the upper 16 bits of the physical memory address are basically idle, and the upper 16 bits of the physical memory address. It is the Shadow Address Space.
  • the Cache Set Mask is stored in the Shadow Address Space, so that when the execution entity indexes the target Cache Set again, the Cache Set can be indexed by the Shadow Address Space of the physical address. High cache access efficiency.
  • timings of 105 and 106 are in no particular order, and 106 may be executed before 105, 106 may be executed after 105, and the timing relationships of 105 and 106, 105 and 106 may be performed at the same time.
  • the target cache set is determined and accessed according to the correspondence in the re-staining table and the Shadow Address Space.
  • the virtual address translation may be performed in the Shadow Address Space in the Shadow Address Space. Cache Set Mask.
  • an execution entity identifier may be added to the memory access request to identify the execution entity that sends the request, and the corresponding relationship between the execution entity identifier and the Cache Set Mask may also be recorded in the re-staining table, as shown in FIG. 4c.
  • the execution entity ID can be stored to the Shadow Address Space, and the target Cache Set can be determined and accessed based on the correspondence in the re-staining table and the Shadow Address Space.
  • a method for Cache partitioning is capable of allocating physical memory for an execution entity, and selecting one or more Cache Sets that are not occupied in a Cache Sets included in the host, and is to be allocated physical memory for the execution entity.
  • the data is cached into the selected Cache Set to establish a re-staining table, and in the re-staining table, the correspondence between the physical memory address allocated by the execution subject and the cache group mask Cache SetMask is established; the re-staining table is obtained, according to the execution
  • the physical memory address assigned by the principal is heavy In the dyeing table, find and obtain the target Cache Set Mask, access the target Cache Set according to the target Cache Set Mask, and store the target Cache Set Mask to the shadow address space of the physical memory address allocated for the execution subject, when the execution entity is again
  • the target Cache Set is indexed, the target Cache Set is determined and accessed according to the target Cache Set Mask stored to the Shadow Address Space.
  • the data required for the execution of the continuous physical memory execution entity is cached in comparison with a plurality of different Cache Sets.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets.
  • the interference generated by multiple execution entities in the use of the Cache is reduced, and the cache access performance is improved. Moreover, when the execution entity indexes the target Cache Set again, the Cache Set Mask in the Shadow Address Space can be directly used for indexing. And access to the target Cache Set, saving the time to determine the target Cache Set, improving the efficiency of Cache access.
  • the embodiment of the present invention further provides a specific solution of a method for Cache partitioning, where the host further includes a memory management unit MMU, and the MMU is used to cache a page table cache entry, and the page The table cache entry includes the ID of the execution entity; this scheme adds 108-110, and uses the page table cache entry to access the target Cache Set, as shown in FIG. 5, including:
  • a Cache Set corresponding to the execution entity identifier is added.
  • Mask which facilitates determining and accessing the target Cache Set through the MMU's page table cache entry.
  • 105 and 108 are in no particular order in time, 108 may be executed before 105, 108 may be executed after 105, and the timing relationship of 105 and 108 may be performed at the same time, and the timing relationship of 105 and 108 is not limited herein.
  • the target Cache Set Mask can be determined according to the page table cache entry and the execution entity identifier of the execution entity as shown in FIG. 5a.
  • a method for Cache partitioning is capable of allocating physical memory for an execution entity, and selecting one or more Cache Sets that are not occupied in a Cache Sets included in the host, and is to be allocated physical memory for the execution entity.
  • the data is cached into the selected Cache Set to establish a re-staining table, and in the re-staining table, the correspondence between the physical memory address allocated by the execution subject and the cache group mask Cache SetMask is established; the re-staining table is obtained, according to the execution
  • the physical memory address allocated by the main body, in the re-staining table find and obtain the target Cache Set Mask, access the target Cache Set according to the target Cache Set Mask, and add the target corresponding to the identification ID of the executing entity in the page table cache item of the MMU
  • the Cache Set Mask when the execution entity indexes the target Cache Set again, obtains the target Cache Set Mask in the page table cache item according to the ID of the execution entity, thereby determining and accessing the target Cache Set.
  • the data required for the execution of the continuous physical memory execution entity is cached in comparison with a plurality of different Cache Sets.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory is continuous, you can flexibly allocate physical memory for the execution entity.
  • the Cache Set which allocates different Cache Sets for different execution entities, avoids the situation where multiple execution entities share the same one or more Cache Sets, and thus reduces the interference generated by multiple execution entities in the use of the Cache.
  • the Cache access performance is improved. Moreover, when the execution entity indexes the target Cache Set again, the execution entity identifier and the Cache Set Mask in the page table cache entry of the MMU can be directly indexed to determine and access the target Cache Set. The time for determining the target Cache Set is saved, and the Cache access efficiency is improved.
  • the embodiment of the present invention further provides a specific scheme of a method for Cache partitioning, and the solution is implemented in FIG. 3, FIG. 4, and FIG.
  • the execution process of 103 in the illustrated solution is further refined, wherein 103 can be specifically implemented as 1031-1033, as shown in FIG. 6a, FIG. 6b, and FIG. 6c, including:
  • the Cache system includes a cache register
  • the re-staining table can be stored in physical memory, or can be stored in a cache register, and reading the re-staining table from the cache register is faster.
  • a method for Cache partitioning is capable of allocating physical memory for an execution entity, and selecting one or more Cache Sets that are not occupied in a Cache Sets included in the host, and is to be allocated physical memory for the execution entity.
  • the data is cached into the selected Cache Set to establish a re-staining table, and in the re-staining table, the correspondence between the physical memory address allocated to the execution subject and the cache group mask Cache SetMask is established; and whether the buffer is stored in the cache register is detected.
  • the table when present, obtains the re-staining table from the cache register.
  • the re-staining table is obtained from the physical memory, and the target Cache is found and obtained in the re-staining table according to the physical memory address allocated for the executing entity.
  • Set Mask according to Target Cache Set Mask, access target Cache Set.
  • the data required for the execution of the continuous physical memory execution entity is cached in comparison with a plurality of different Cache Sets.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets. It reduces the interference generated by multiple execution entities in the use of Cache, and improves the memory access performance of the Cache; moreover, the speed of obtaining the re-staining table from the cache register is faster, first consider obtaining the re-staining table from the cache register, saving The time for determining the target Cache Set is improved, thereby improving the cache access efficiency.
  • the embodiment of the present invention provides a device 200 for Cache partitioning.
  • the device 200 runs an operating system.
  • the device 200 includes physical memory and a cache group Cache Sets.
  • the physical memory is used to store data, and the Cache Set is used to cache the physical memory.
  • the data as shown in Figure 7, includes:
  • the allocating module 201 is configured to allocate physical memory for the executing entity.
  • the physical memory allocated for the execution entity is used to store the data needed to execute the entity runtime.
  • the establishing relationship module 202 is configured to: in the Cache Sets included in the host, select one or more Cache Sets that are not occupied, and cache data in the physical memory allocated for the execution body to the selected Cache Set And establishing a correspondence between the physical memory allocated to the execution entity and the selected Cache Set.
  • the device of the Cache partition provided by the embodiment of the present invention can allocate physical memory for the execution entity, and select one or more Cache Sets that are not occupied in the Cache Sets included in the host, and The data in the physical memory allocated by the row body is cached in the selected Cache Set, and the correspondence between the physical memory allocated by the execution subject and the selected Cache Set is established.
  • the data required for the execution of the continuous physical memory execution entity is cached in comparison with a plurality of different Cache Sets.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets.
  • the interference generated by multiple execution entities in the use of the Cache is reduced, and the cache access performance is improved.
  • the device 200 includes a re-staining component for reading a re-staining table, and the re-staining table is used to record a correspondence between the physical memory allocated to the executing body and the selected Cache Set;
  • establishing relationship module 202 includes:
  • the re-staining table unit 2021 is configured to establish the re-staining table, and establish, in the re-staining table, a correspondence between a physical memory address allocated to the execution body and a cache group mask Cache Set Mask.
  • the Cache Set Mask is used to identify the selected Cache Set.
  • the device of the present invention provides a device for Cache partitioning, which is capable of allocating physical memory for an executing entity, and selecting one or more Cache Sets that are not occupied in the Cache Sets included in the host, which will be allocated in physical memory allocated to the executing entity.
  • the data is cached into the selected Cache Set to establish a re-staining table, and in the re-staining table, a correspondence relationship between the physical memory address allocated to the execution subject and the cache group mask Cache Set Mask is established.
  • the data required for the execution of the continuous physical memory execution entity is cached in a plurality of different Compared to the Cache Set.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets.
  • the interference generated by multiple execution entities in the use of the Cache is reduced, and the cache access performance is improved.
  • the apparatus 200 further includes:
  • the re-staining table obtaining module 203 is configured to obtain the re-staining table.
  • the searching module 204 is configured to find and acquire a target Cache Set Mask in the re-staining table according to a physical memory address allocated for the execution body.
  • the target Cache Set Mask corresponds to a physical memory address allocated for the execution entity.
  • the first access module 205 is configured to determine and access the target Cache Set according to the target Cache Set Mask.
  • the target Cache Set Mask corresponds to the target Cache Set.
  • An apparatus for Cache partitioning is capable of allocating physical memory for an execution entity, and selecting one or more Cache Sets that are not occupied in a Cache Sets included in the host, and is to be allocated physical memory for the execution entity.
  • the data is cached into the selected Cache Set to establish a re-staining table, and in the re-staining table, the correspondence between the physical memory address allocated by the execution subject and the cache group mask Cache SetMask is established; the re-staining table is obtained, according to the execution
  • the physical memory address allocated by the subject, in the re-staining table finds and acquires the target Cache Set Mask, and accesses the target Cache Set according to the target Cache Set Mask.
  • the data required for the execution of the continuous physical memory is cached in multiple different Compared to the Cache Set.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets.
  • the interference generated by multiple execution entities in the use of the Cache is reduced, and the cache access performance is improved.
  • the apparatus 200 includes:
  • the storage module 206 is configured to store the target Cache Set Mask to a shadow address space Shadow Address Space of a physical memory address allocated to the execution entity.
  • the second access module 207 is configured to determine and access the target Cache Set according to the target Cache Set Mask stored in the Shadow Address Space when the execution entity indexes the target Cache Set again.
  • An apparatus for Cache partitioning is capable of allocating physical memory for an execution entity, and selecting one or more Cache Sets that are not occupied in a Cache Sets included in the host, and is to be allocated physical memory for the execution entity.
  • the data is cached into the selected Cache Set to establish a re-staining table, and in the re-staining table, the correspondence between the physical memory address allocated by the execution subject and the cache group mask Cache SetMask is established; the re-staining table is obtained, according to the execution
  • the physical memory address allocated by the main body, in the re-staining table find and obtain the target Cache Set Mask, access the target Cache Set according to the target Cache Set Mask, and store the target Cache Set Mask to the shadow address of the physical memory address allocated for the execution subject
  • the space Shadow Address Space when the execution entity indexes the target Cache Set again, determines and accesses the target Cache Set according to the target Cache Set Mask stored to the Shadow Address Space.
  • the interference generated by multiple execution entities in the use of the Cache is reduced, and the cache access performance is improved. Moreover, when the execution entity indexes the target Cache Set again, the Cache Set Mask in the Shadow Address Space can be directly used for indexing. And access to the target Cache Set, saving the time to determine the target Cache Set, improving the efficiency of Cache access.
  • the device 200 further includes a memory management unit MMU, where the MMU is used to cache the page table cache entry, and the page table cache entry includes the identifier ID of the execution entity. As shown in FIG.
  • the adding module 208 is configured to add, in the page table cache entry of the MMU, the target Cache Set Mask corresponding to the ID of the execution entity.
  • the mask obtaining module 209 is configured to obtain the target Cache Set Mask in the page table cache item according to the identifier ID of the execution entity when the execution entity indexes the target Cache Set again.
  • the third access module 210 is configured to determine and access the target Cache Set according to the target Cache Set Mask.
  • An apparatus for Cache partitioning is capable of allocating physical memory for an execution entity, and selecting one or more Cache Sets that are not occupied in a Cache Sets included in the host, and is to be allocated physical memory for the execution entity.
  • the data is cached into the selected Cache Set to establish a re-staining table, and in the re-staining table, a physical memory address and a cache group mask Cache Set allocated for the execution subject are established.
  • the corresponding relationship of the mask; the re-staining table is obtained, and according to the physical memory address allocated for the execution subject, in the re-staining table, the target Cache Set Mask is searched and acquired, and the target Cache Set is accessed according to the target Cache Set Mask; the page table of the MMU is accessed.
  • a target Cache Set Mask corresponding to the ID of the execution entity is added to the cache entry.
  • the target Cache Set Mask is obtained in the page table cache entry according to the ID of the execution entity, thereby determining and accessing. Target Cache Set.
  • the data required for the execution of the continuous physical memory execution entity is cached in comparison with a plurality of different Cache Sets.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets.
  • the interference generated by multiple execution entities in the use of the Cache is reduced, and the cache access performance is improved. Moreover, when the execution entity indexes the target Cache Set again, the execution entity identifier and the Cache in the page table cache entry of the MMU can be directly utilized. The corresponding relationship of the Set Mask is indexed, and the target Cache Set is determined and accessed, which saves the time for determining the target Cache Set, and improves the Cache access efficiency.
  • the Cache system includes a cache register, as shown in FIG. 12, the re-staining table obtaining module 203 includes:
  • the detecting unit 2031 is configured to detect whether the re-staining table exists in the cache register.
  • the first obtaining unit 2032 is configured to, when present, obtain the re-staining table from the cache register.
  • the second obtaining unit 2033 is configured to acquire the re-staining table from the physical memory when not present.
  • An apparatus for Cache partitioning is capable of allocating physical memory for an execution entity, and selecting one or more Cache Sets that are not occupied in a Cache Sets included in the host, and is to be allocated physical memory for the execution entity.
  • the data is cached into the selected Cache Set to establish a re-staining table, and in the re-staining table, the correspondence between the physical memory address allocated to the execution subject and the cache group mask Cache SetMask is established; and whether the buffer is stored in the cache register is detected.
  • the table when present, obtains the re-staining table from the cache register.
  • the re-staining table is obtained from the physical memory, and the target Cache is found and obtained in the re-staining table according to the physical memory address allocated for the executing entity.
  • Set Mask access the target Cache Set according to the target Cache Set Mask.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets. It reduces the interference generated by multiple execution entities in the use of Cache, and improves the memory access performance of the Cache; moreover, the speed of obtaining the re-staining table from the cache register is faster, first consider obtaining the re-staining table from the cache register, saving The time for determining the target Cache Set is improved, thereby improving the cache access efficiency.
  • the embodiment of the present invention further provides a Cache Partitioning Device 300, as shown in FIG. 13, comprising: at least one processor 301, such as a CPU (central process unit), at least one communication bus 302, and a memory 303. Additionally, the network management server 300 can also include at least one network interface 304 and a user interface 305. Communication bus 302 is used to implement connection communication between these components. Optionally, user interface 305 Includes devices such as monitors, keyboards, mice, and touch screens.
  • the memory 303 includes a buffer Cache, which may include a high speed RAM (random access memory) memory, and may also include a non-volatile memory such as a disk memory.
  • the memory 303 is configured to store data required for the execution entity to run, and is also used to store the established correspondence between the physical memory allocated to the execution entity and the Cache Set.
  • the memory 303 is further configured to store a correspondence between a physical memory address allocated to the execution entity in the re-staining table and the Cache Set Mask, or a correspondence between the identification ID of the entity and the Cache Set Mask.
  • the processor 301 may be configured to allocate physical memory to the execution entity; and, in the Cache Sets included in the host, select one or more cache sets that are not occupied, and allocate the same to the execution entity.
  • the data in the physical memory is cached in the selected Cache Set, and the corresponding relationship between the physical memory allocated by the execution entity and the selected Cache Set is established.
  • the processor 301 may be configured to establish the re-staining table, and establish, in the re-staining table, a correspondence between a physical memory address allocated to the executing entity and a cache group mask Cache Set Mask, The Cache Set Mask is used to identify the selected Cache Set.
  • the Cache Partitioning Device 300 includes a re-staining component for reading a re-staining table, and the re-staining table is used to record a correspondence between a physical memory allocated to an execution subject and a selected Cache Set.
  • the processor 301 can be configured to acquire the re-staining table; and, for determining, in the re-staining table, a target Cache Set Mask, according to a physical memory address allocated for the executing entity, the target Cache Set Mask corresponding to a physical memory address allocated to the execution entity; and configured to determine and access the target Cache Set according to the target Cache Set Mask, where the target Cache Set Mask corresponds to the target Cache Set .
  • the processor 301 can be further configured to store the target Cache Set Mask to a shadow address space Shadow Address Space of a physical memory address allocated to the execution entity; and, for when the execution entity indexes the target again In the Cache Set, the target Cache Set is determined and accessed according to the target Cache Set Mask stored in the Shadow Address Space.
  • the processor 301 is further configured to: add, in the page table cache entry of the MMU, a Cache Set Mask corresponding to the identifier of the execution entity; and, when the execution entity indexes the target again And the Cache Set, the target Cache Set Mask is obtained in the page table cache item according to the identifier ID of the execution entity; and configured to determine and access the target Cache Set according to the target Cache Set Mask.
  • the processor 301 is further configured to detect whether the re-staining table exists in the cache register; and, when present, obtain the re-staining table from the cache register; and, for When not present, the re-staining table is obtained from physical memory.
  • the Cache partition device can allocate physical memory for the execution entity, and select one or more Cache Sets that are not occupied in the Cache Sets included in the host, and will be allocated in the physical memory allocated for the execution entity.
  • the data is cached into the selected Cache Set to establish a re-staining table, and in the re-staining table, the correspondence between the physical memory address allocated to the execution subject and the cache group mask Cache Set Mask is established; and whether the buffer is stored in the cache register is detected.
  • the table when present, obtains the re-staining table from the cache register.
  • the re-staining table is obtained from the physical memory, and the target Cache is found and obtained in the re-staining table according to the physical memory address allocated for the executing entity.
  • Set Mask according to the target Cache Set Mask, access the target Cache Set; store the target Cache Set Mask to the shadow address space of the physical memory address allocated for the execution subject, and when the execution entity indexes the target Cache Set again, according to the storage to Shadow Address Space's target Cache Set Mask, identify and access the target Cach e Set; or, add and identify the identity of the executing entity in the page table cache entry of the MMU
  • the target Cache Set Mask corresponding to the ID when the execution entity indexes the target Cache Set again, obtains the target Cache Set Mask in the page table cache item according to the ID of the execution entity, thereby determining and accessing the target Cache Set.
  • the data required for the execution of the continuous physical memory execution entity is cached in comparison with a plurality of different Cache Sets.
  • the data in the physical memory allocated for the execution entity is cached into the selected unoccupied Cache Set, and the correspondence between the physical memory allocated to the execution entity and the Cache Set is established, regardless of the allocation to the execution entity.
  • the physical memory and the Cache Set can be allocated to the execution entity flexibly, and different Cache Sets are allocated to different execution entities, thereby avoiding the situation where multiple execution entities share the same one or more Cache Sets.
  • the interference generated by multiple execution entities in the use of the Cache is reduced, and the cache access performance is improved.
  • the Cache Set Mask in the Shadow Address Space can be directly used for indexing, or
  • the index of the execution entity in the MMU's page table cache entry and the Cache Set Mask are used to index and determine the target Cache Set, which saves the time for determining the target Cache Set, and improves the efficiency of the Cache access; and, from the cache register Get the resampling table faster, first consider getting it from the cache register
  • the re-staining table saves the time for determining the target Cache Set, further improving the efficiency of the Cache access.
  • the machine can be read into a storage medium, and when executed, the program can include the flow of an embodiment of the methods as described above.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

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

L'invention concerne un procédé et un dispositif de partitionnement de mémoire cache qui se rapportent au domaine de l'informatique et qui sont susceptibles d'attribuer de manière flexible des mémoires physiques et des ensembles de mémoires caches destinés à des entités d'exécution, ce qui réduit une interférence générée par une pluralité d'entités d'exécution au cours de l'utilisation d'une mémoire cache et améliore les performances d'accès à une mémoire. Le procédé comprend les étapes au cours desquelles un système d'exploitation : attribue une mémoire physique à une entité d'exécution (101) ; puis sélectionne un ou plusieurs ensembles de mémoires caches inoccupés parmi les ensembles de mémoires caches intégrés dans un hôte, met en mémoire cache des données provenant de la mémoire physique attribuée à l'entité d'exécution dans l'ensemble de mémoires caches sélectionné et établit une corrélation entre la mémoire physique attribuée à l'entité d'exécution et l'ensemble de mémoires caches sélectionné (102). Le procédé est approprié pour un scénario dans lequel un ensemble de mémoires caches approprié est attribué à une entité d'exécution.
PCT/CN2015/077223 2014-04-24 2015-04-22 Procédé et dispositif de partitionnement de mémoire cache WO2015161804A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410168515.2A CN105095105B (zh) 2014-04-24 2014-04-24 一种Cache分区的方法及装置
CN201410168515.2 2014-04-24

Publications (1)

Publication Number Publication Date
WO2015161804A1 true WO2015161804A1 (fr) 2015-10-29

Family

ID=54331761

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/077223 WO2015161804A1 (fr) 2014-04-24 2015-04-22 Procédé et dispositif de partitionnement de mémoire cache

Country Status (2)

Country Link
CN (1) CN105095105B (fr)
WO (1) WO2015161804A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112581351A (zh) * 2020-12-05 2021-03-30 西安翔腾微电子科技有限公司 一种双发射simt染色处理单元写回单元结构及写回通路冲突检测方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799977B (zh) * 2021-02-26 2022-07-19 中国人民解放军国防科技大学 计算机的缓存分区和缓存访问实时性保护方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221538A (zh) * 2008-01-24 2008-07-16 杭州华三通信技术有限公司 实现对缓存中数据快速查找的系统和方法
US20090216953A1 (en) * 2008-02-25 2009-08-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures
CN101571835A (zh) * 2009-03-26 2009-11-04 浙江大学 基于程序的需求来改变Cache组相联度的实现方法
CN101719105A (zh) * 2009-12-31 2010-06-02 中国科学院计算技术研究所 一种多核系统中对内存访问的优化方法和系统
CN102323909A (zh) * 2011-09-13 2012-01-18 北京北大众志微系统科技有限责任公司 实现使用大容量高速缓存的内存管理方法及装置
CN102521150A (zh) * 2011-11-28 2012-06-27 华为技术有限公司 一种应用程序cache分配方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446187B1 (en) * 2000-02-19 2002-09-03 Hewlett-Packard Company Virtual address bypassing using local page mask
US8996814B2 (en) * 2010-12-21 2015-03-31 Microsoft Technology Licensing, Llc System and method for providing stealth memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221538A (zh) * 2008-01-24 2008-07-16 杭州华三通信技术有限公司 实现对缓存中数据快速查找的系统和方法
US20090216953A1 (en) * 2008-02-25 2009-08-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures
CN101571835A (zh) * 2009-03-26 2009-11-04 浙江大学 基于程序的需求来改变Cache组相联度的实现方法
CN101719105A (zh) * 2009-12-31 2010-06-02 中国科学院计算技术研究所 一种多核系统中对内存访问的优化方法和系统
CN102323909A (zh) * 2011-09-13 2012-01-18 北京北大众志微系统科技有限责任公司 实现使用大容量高速缓存的内存管理方法及装置
CN102521150A (zh) * 2011-11-28 2012-06-27 华为技术有限公司 一种应用程序cache分配方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112581351A (zh) * 2020-12-05 2021-03-30 西安翔腾微电子科技有限公司 一种双发射simt染色处理单元写回单元结构及写回通路冲突检测方法

Also Published As

Publication number Publication date
CN105095105B (zh) 2018-07-03
CN105095105A (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
US10552337B2 (en) Memory management and device
US8261267B2 (en) Virtual machine monitor having mapping data generator for mapping virtual page of the virtual memory to a physical memory
US9223712B2 (en) Data cache method, device, and system in a multi-node system
KR20120068454A (ko) 원격 페이지 폴트 처리 장치 및 그 방법
CN114860163B (zh) 一种存储系统、内存管理方法和管理节点
JP2000506659A (ja) マルチプロセッサデータ処理システム内でメモリを割り当てる方法
US10824555B2 (en) Method and system for flash-aware heap memory management wherein responsive to a page fault, mapping a physical page (of a logical segment) that was previously reserved in response to another page fault for another page in the first logical segment
JP2018518733A (ja) ファイル操作方法及び装置
US10108553B2 (en) Memory management method and device and memory controller
KR101587579B1 (ko) 가상화 시스템에서 메모리 조정방법
WO2021047425A1 (fr) Procédé et système de virtualisation pour une mémoire persistante
US20210191777A1 (en) Memory Allocation in a Hierarchical Memory System
US20140289739A1 (en) Allocating and sharing a data object among program instances
WO2015161804A1 (fr) Procédé et dispositif de partitionnement de mémoire cache
CN113010452A (zh) 一种高效且支持QoS的虚拟内存架构
US10341177B2 (en) Parallel computing system and migration method
US20220382672A1 (en) Paging in thin-provisioned disaggregated memory
US20220237126A1 (en) Page table manager
CN115729438A (zh) 数据访问方法、装置及存储介质
JPWO2021218038A5 (fr)
US11687359B2 (en) Hybrid memory management apparatus and method for many-to-one virtualization environment
KR102565873B1 (ko) Numa 시스템에서 메모리 버스에 연결하여 사용하는 저장장치의 할당 방법
US20230168822A1 (en) Memory management method and semiconductor device adjusting size of contiguous memory allocation area
US11714753B2 (en) Methods and nodes for handling memory
CN115756742A (zh) 直通i/o虚拟化的性能优化设计方法、系统、介质及设备

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: 15783688

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: 15783688

Country of ref document: EP

Kind code of ref document: A1