MX2021005804A - Acceso mas rapido de la memoria de la maquina virtual respaldado por la memoria virtual de un dispositivo de computo anfitrion. - Google Patents

Acceso mas rapido de la memoria de la maquina virtual respaldado por la memoria virtual de un dispositivo de computo anfitrion.

Info

Publication number
MX2021005804A
MX2021005804A MX2021005804A MX2021005804A MX2021005804A MX 2021005804 A MX2021005804 A MX 2021005804A MX 2021005804 A MX2021005804 A MX 2021005804A MX 2021005804 A MX2021005804 A MX 2021005804A MX 2021005804 A MX2021005804 A MX 2021005804A
Authority
MX
Mexico
Prior art keywords
memory
computing device
host computing
virtual
slat
Prior art date
Application number
MX2021005804A
Other languages
English (en)
Inventor
Mehmet Iyigun
Yevgeniy Bak
Arun U Kishan
Original Assignee
Microsoft Technology Licensing Llc
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
Priority claimed from US16/198,620 external-priority patent/US10901911B2/en
Application filed by Microsoft Technology Licensing Llc filed Critical Microsoft Technology Licensing Llc
Publication of MX2021005804A publication Critical patent/MX2021005804A/es

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/1009Address translation using page tables, e.g. page table structures
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • 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]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
    • 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/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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
    • 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]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • 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
    • G06F2212/1024Latency reduction
    • 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/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or 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/65Details of virtual memory and virtual address translation
    • G06F2212/651Multi-level translation tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/654Look-ahead translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/656Address space sharing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/683Invalidation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Para aumentar la velocidad con la que se atraviesan los niveles jerárquicos de una tabla de direcciones de segunda capa (SLAT, por sus siglas en inglés) como parte de un acceso a la memoria en donde la memoria física del invitado de un entorno de la máquina virtual está respaldada por la memoria virtual asignada a uno o más procesos que se ejecutan en un dispositivo de cómputo anfitrión, uno o más niveles jerárquicos de las tablas dentro de la SLAT pueden omitirse o no hacerles referencia de otro modo. Si bien la SLAT puede completarse con correlaciones de memoria en niveles jerárquicamente más altos de las tablas, la tabla de paginación del dispositivo de cómputo anfitrión, que admite la provisión de memoria virtual del dispositivo de cómputo anfitrión, puede mantener un conjunto contiguo correspondiente de correlaciones de memoria en el nivel de tabla jerárquicamente más bajo, permitiendo así que el dispositivo de cómputo anfitrión pagine, o manipule de otro modo, fragmentos más pequeños de la memoria. Si ocurre tal manipulación, la SLAT puede completarse nuevamente con correlaciones de memoria al nivel de tabla jerárquicamente más bajo.
MX2021005804A 2018-11-21 2019-11-14 Acceso mas rapido de la memoria de la maquina virtual respaldado por la memoria virtual de un dispositivo de computo anfitrion. MX2021005804A (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/198,620 US10901911B2 (en) 2018-11-21 2018-11-21 Faster computer memory access by reducing SLAT fragmentation
US16/423,137 US10761876B2 (en) 2018-11-21 2019-05-27 Faster access of virtual machine memory backed by a host computing device's virtual memory
PCT/US2019/061345 WO2020106533A1 (en) 2018-11-21 2019-11-14 Faster access of virtual machine memory backed by a host computing device's virtual memory

Publications (1)

Publication Number Publication Date
MX2021005804A true MX2021005804A (es) 2021-07-02

Family

ID=68841205

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2021005804A MX2021005804A (es) 2018-11-21 2019-11-14 Acceso mas rapido de la memoria de la maquina virtual respaldado por la memoria virtual de un dispositivo de computo anfitrion.

Country Status (14)

Country Link
US (2) US10761876B2 (es)
EP (2) EP4418129A3 (es)
JP (1) JP2022509906A (es)
KR (1) KR20210089150A (es)
CN (1) CN113168379A (es)
AU (1) AU2019384498A1 (es)
BR (1) BR112021008419A2 (es)
CA (1) CA3116380A1 (es)
IL (1) IL283228B2 (es)
MX (1) MX2021005804A (es)
PH (1) PH12021551164A1 (es)
SG (1) SG11202104744UA (es)
WO (1) WO2020106533A1 (es)
ZA (1) ZA202102321B (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021144656A1 (en) 2020-01-15 2021-07-22 Monday.Com Digital processing systems and methods for graphical dynamic table gauges in collaborative work systems
US11410129B2 (en) 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices
US11188651B2 (en) * 2016-03-07 2021-11-30 Crowdstrike, Inc. Hypervisor-based interception of memory accesses
US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US11775890B2 (en) 2019-11-18 2023-10-03 Monday.Com Digital processing systems and methods for map-based data organization in collaborative work systems
EP4062313A1 (en) 2019-11-18 2022-09-28 Monday.com Ltd. Collaborative networking systems, methods, and devices
IL297858A (en) 2020-05-01 2023-01-01 Monday Com Ltd Digital processing systems and methods for improved networking and collaborative work management systems, methods and devices
US20240184989A1 (en) 2020-05-01 2024-06-06 Monday.com Ltd. Digital processing systems and methods for virtualfile-based electronic white board in collaborative work systems systems
US11277361B2 (en) 2020-05-03 2022-03-15 Monday.com Ltd. Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems
GB2595479B (en) * 2020-05-27 2022-10-19 Advanced Risc Mach Ltd Apparatus and method
US11397847B1 (en) 2021-01-14 2022-07-26 Monday.com Ltd. Digital processing systems and methods for display pane scroll locking during collaborative document editing in collaborative work systems
US11455239B1 (en) * 2021-07-02 2022-09-27 Microsoft Technology Licensing, Llc Memory reduction in a system by oversubscribing physical memory shared by compute entities supported by the system
US11586371B2 (en) * 2021-07-23 2023-02-21 Vmware, Inc. Prepopulating page tables for memory of workloads during live migrations
US12056664B2 (en) 2021-08-17 2024-08-06 Monday.com Ltd. Digital processing systems and methods for external events trigger automatic text-based document alterations in collaborative work systems
US12105948B2 (en) 2021-10-29 2024-10-01 Monday.com Ltd. Digital processing systems and methods for display navigation mini maps
US11860783B2 (en) 2022-03-11 2024-01-02 Microsoft Technology Licensing, Llc Direct swap caching with noisy neighbor mitigation and dynamic address range assignment
WO2023239671A1 (en) * 2022-06-06 2023-12-14 Onnivation Llc Virtual memory paging system and translation lookaside buffer with pagelets
US11853228B1 (en) * 2022-06-10 2023-12-26 Arm Limited Partial-address-translation-invalidation request
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes
US12056255B1 (en) 2023-11-28 2024-08-06 Monday.com Ltd. Digital processing systems and methods for facilitating the development and implementation of applications in conjunction with a serverless environment

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645665B1 (en) * 2012-12-14 2014-02-04 Intel Corporation Virtualizing physical memory in a virtual machine system utilizing multilevel translation table base registers to map guest virtual addresses to guest physical addresses then to host physical addresses
US7428626B2 (en) * 2005-03-08 2008-09-23 Microsoft Corporation Method and system for a second level address translation in a virtual machine environment
US7653803B2 (en) 2006-01-17 2010-01-26 Globalfoundries Inc. Address translation for input/output (I/O) devices and interrupt remapping for I/O devices in an I/O memory management unit (IOMMU)
US7917725B2 (en) 2007-09-11 2011-03-29 QNX Software Systems GmbH & Co., KG Processing system implementing variable page size memory organization using a multiple page per entry translation lookaside buffer
US8352705B2 (en) 2008-01-15 2013-01-08 Vmware, Inc. Large-page optimization in virtual memory paging systems
GB2478727B (en) 2010-03-15 2013-07-17 Advanced Risc Mach Ltd Translation table control
US8364932B2 (en) 2010-10-29 2013-01-29 Vmware, Inc. System and method to prioritize large memory page allocation in virtualized systems
EP2691857B1 (en) * 2011-03-31 2016-11-30 Intel Corporation Memory mirroring and redundancy generation for high availability
US10324863B2 (en) * 2013-06-24 2019-06-18 Intel Corporation Protected memory view for nested page table access by virtual machine guests
US9202046B2 (en) * 2014-03-03 2015-12-01 Bitdefender IPR Management Ltd. Systems and methods for executing arbitrary applications in secure environments
EP2955634B1 (en) * 2014-06-10 2021-03-03 Deutsche Telekom AG Paravirtualization-based interface for memory management in virtual machines
US9501422B2 (en) 2014-06-11 2016-11-22 Vmware, Inc. Identification of low-activity large memory pages
US9703726B2 (en) * 2014-06-24 2017-07-11 Bitdefender IPR Management Ltd. Systems and methods for dynamically protecting a stack from below the operating system
US9792222B2 (en) * 2014-06-27 2017-10-17 Intel Corporation Validating virtual address translation by virtual machine monitor utilizing address validation structure to validate tentative guest physical address and aborting based on flag in extended page table requiring an expected guest physical address in the address validation structure
US9703720B2 (en) * 2014-12-23 2017-07-11 Intel Corporation Method and apparatus to allow secure guest access to extended page tables
US20160299712A1 (en) * 2015-04-07 2016-10-13 Microsoft Technology Licensing, Llc Virtual Machines Backed by Host Virtual Memory
US20170123996A1 (en) * 2015-11-02 2017-05-04 Microsoft Technology Licensing, Llc Direct Mapped Files in Virtual Address-Backed Virtual Machines
US10447728B1 (en) * 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture

Also Published As

Publication number Publication date
EP4418129A2 (en) 2024-08-21
US20200159558A1 (en) 2020-05-21
US20200394065A1 (en) 2020-12-17
BR112021008419A2 (pt) 2021-09-14
IL283228A (en) 2021-07-29
US10761876B2 (en) 2020-09-01
EP4418129A3 (en) 2024-10-02
KR20210089150A (ko) 2021-07-15
IL283228B2 (en) 2024-04-01
JP2022509906A (ja) 2022-01-25
IL283228B1 (en) 2023-12-01
CN113168379A (zh) 2021-07-23
ZA202102321B (en) 2022-06-29
WO2020106533A1 (en) 2020-05-28
AU2019384498A1 (en) 2021-05-13
EP3884392B1 (en) 2024-07-17
EP3884392A1 (en) 2021-09-29
US11157306B2 (en) 2021-10-26
PH12021551164A1 (en) 2021-10-25
CA3116380A1 (en) 2020-05-28
SG11202104744UA (en) 2021-06-29

Similar Documents

Publication Publication Date Title
PH12021551164A1 (en) Faster access of virtual machine memory backed by a host computing device`s virtual memory
US10831672B2 (en) Memory management for a hierarchical memory system
JP5214670B2 (ja) マルチプロセッサ仮想マシン環境においてアドレス変換をサポートする方法及び装置
JP5654056B2 (ja) 階層的な変換テーブル制御
US20170147224A1 (en) Memory and processor affinity in a deduplicated environment
US10303604B2 (en) Data caching
US10671542B2 (en) Application execution enclave memory method and apparatus
US20160246730A1 (en) Efficient Memory Management System for Computers Supporting Virtual Machines
US9436751B1 (en) System and method for live migration of guest
US9251102B2 (en) Virtualizing processor memory protection with “L1 iterate and L2 drop/repopulate”
US20160246732A1 (en) Translation lookaside buffer for guest physical addresses in a virtual machine
ATE549680T1 (de) Vorrichtung und verfahren zur neuzuordnung von speicheradressen für graphikdaten
US9612975B2 (en) Page cache device and method for efficient mapping
BR112017002780A2 (pt) método e aparelho de acesso de arquivo, e sistema de armazenamento
US9483400B2 (en) Multiplexed memory for segments and pages
WO2013095579A1 (en) Indexed page address translation to reduce memory footprint in virtualized environments
CN104239237A (zh) 一种tlb管理方法及装置
GB2537960A (en) Memory management
US10565126B2 (en) Method and apparatus for two-layer copy-on-write
CN104077176A (zh) 增加虚拟机标识符域的方法及装置
RU2016135934A (ru) Эффективности операционной системы/гипервизора для подразделенных уровней привилегии
US8621136B2 (en) Virtualizing processor memory protection with “L1 iterate and L2 swizzle”
GB2510784A (en) Data sharing using difference-on-write
Lee et al. The page cache deduplication mechanism in virtualized systems
Zhang et al. Paging method switching for QEMU-KVM guest machine