Reduction of operational costs of virtual TLBs
    1.
    发明授权
    Reduction of operational costs of virtual TLBs 有权
    降低虚拟TLB的运营成本

    公开(公告)号:US08694712B2

    公开(公告)日:2014-04-08

    申请号:US11634538

    申请日:2006-12-05

    IPC分类号: G06F12/00 G06F9/455

    CPC分类号: G06F12/1036

    摘要: Various operations are disclosed for improving the operational efficiency of a virtual translation look-aside buffer (TLB) in a virtual machine environment. For example, operations are disclosed that allow for determination of whether present entries in shadow page tables (SPTs) are stale by comparing shadowed guest page table (GPT) entries against snapshots taken when the entries were cached. Other operations are disclosed that allow a virtual machine monitor (VMM) to access shadow page table trees (SPTTs) by walking trees in software or in hardware. Still other operations are disclosed allowing the VMM to use a hash table to relate GVA ranges to SPTs that map them, thus significantly reducing the cost of having to walk each SPTT in order to invalidate desired GVA(s). And, finally, operations are disclosed allowing the VMM to determine global GVA ranges by checking a bitmap, when invalidating global GVAs.

    摘要翻译: 公开了用于提高虚拟机环境中的虚拟翻译后备缓冲器(TLB)的操作效率的各种操作。 例如,披露了允许通过比较阴影的访客页表(GPT)条目与条目被缓存时拍摄的快照来确定影子页表(SPT)中的现有条目是否过时的操作。 公开了允许虚拟机监视器(VMM)通过软件或硬件中的步行树来访问影子页表树(SPTT)的其他操作。 还公开了其他操作,允许VMM使用散列表将GVA范围与映射它们的SPT相关联,从而显着降低了必须走每个SPTT以使所需GVA无效的成本。 最后,公开了操作,允许VMM通过在使全局GVAs无效时检查位图来确定全局GVA范围。

    Scalability of virtual TLBs for multi-processor virtual machines
    3.
    发明申请
    Scalability of virtual TLBs for multi-processor virtual machines 有权
    用于多处理器虚拟机的虚拟TLB的可扩展性

    公开(公告)号:US20080155168A1

    公开(公告)日:2008-06-26

    申请号:US11644502

    申请日:2006-12-22

    IPC分类号: G06F12/10

    CPC分类号: G06F12/1027

    摘要: Various operations are provided that improve the scalability of virtual TLBs in multi-processor virtual machines, and they include: implicitly locking SPTs using per-processor generation counters; waiting for pending fills on other virtual processors to complete before servicing a GVA invalidation using the counters; write-protecting or unmaping guest pages in a deferred two-stage process or reclaiming SPTs in a deferred two-stage process; periodically coalescing two SPTs that shadow the same GPT with the same attributes; sharing SPTs between two SASes only at a specified level in a SPTT; flushing the entire virtual TLB using a generation counter; allocating a SPT to GPT from a NUMA node on which the GPT resides; having an instance for each NUMA node on which a virtual machine runs; and, correctly handling the serializing instructions executed by a guest in a virtual machine with more than one virtual processor sharing the virtual TLB.

    摘要翻译: 提供了提高多处理器虚拟机中虚拟TLB可扩展性的各种操作,包括:使用每处理器生成计数器隐式锁定SPT; 在使用计数器服务GVA无效之前等待其他虚拟处理器上的待处理填充; 在延迟的两阶段过程中写入保护或取消映射访客页面或在延迟的两阶段过程中回收SPT; 定期合并两个具有相同属性的相同GPT的SPT; 在SPTT之间仅在指定级别共享两个SAS之间的SPT; 使用生成计数器刷新整个虚拟TLB; 从GPT所在的NUMA节点向GPT分配SPT; 具有运行虚拟机的每个NUMA节点的实例; 并且正确地处理由具有多个共享虚拟TLB的虚拟处理器的虚拟机中的来宾执行的序列化指令。

    Efficient write-watch mechanism useful for garbage collection in a computer system
    4.
    发明授权
    Efficient write-watch mechanism useful for garbage collection in a computer system 失效
    在计算机系统中用于垃圾收集的高效写表机制

    公开(公告)号:US07065617B2

    公开(公告)日:2006-06-20

    申请号:US10828877

    申请日:2004-04-20

    申请人: Landy Wang

    发明人: Landy Wang

    IPC分类号: G06F12/00

    摘要: An efficient write-watch mechanism and process. A bitmap is associated with the virtual address descriptor (VAD) for a process, one bit for each virtual page address allocated to a process having write-watch enabled. As part of the write-watch mechanism, if a virtual address is trimmed to disk and that virtual address page is marked as modified, then the corresponding bit in the VAD is set for that virtual address page. In response to an API call (e.g., from a garbage collection mechanism) seeking to know which virtual addresses in a process have been modified since last checked, the memory manager walks the bitmap in the relevant VAD for the specified virtual address range for the requested process. If a bit is set, then the page corresponding to that bit is known to have been modified since last asked. If specified by the API, the bit is cleared in the VAD bitmap so that it will reflect the state since this time of asking. If the bit is not set, to determine if the page was modified, the page table entry (PTE) is checked for that page, and if the PTE indicates the page was modified, the page is known to be modified, otherwise that page is known to be unmodified since the last call. One enhancement uses page directory tables to locate a series of trimmed pages, sometimes avoiding the need to access the PTE.

    摘要翻译: 一个高效的写表机制和过程。 位图与进程的虚拟地址描述符(VAD)相关联,每个虚拟页面地址分配给具有启用写入监视的进程的一个位。 作为写表机制的一部分,如果虚拟地址被修剪到磁盘,并且虚拟地址页面被标记为已修改,则为该虚拟地址页面设置VAD中的对应位。 响应于API调用(例如,从垃圾回收机制),寻求知道自上次检查以来哪个虚拟地址已被修改,内存管理器将针对所请求的指定虚拟地址范围的相关VAD中的位图进行移动 处理。 如果设置了一个位,那么与该位相对应的页面已知最近被修改了。 如果由API指定,该位在VAD位图中被清除,以便它将反映自此询问之后的状态。 如果该位未设置,为了确定页面是否被修改,页面表项(PTE)被检查该页面,并且如果PTE指示页面被修改,则该页面已知被修改,否则该页面是 自从上次电话以来,已经被修改了。 一个增强功能使用页面目录表来定位一系列修剪页面,有时避免访问PTE。

    Providing access to physical memory allocated to a process by selectively mapping pages of the physical memory with virtual memory allocated to the process
    5.
    发明授权
    Providing access to physical memory allocated to a process by selectively mapping pages of the physical memory with virtual memory allocated to the process 有权
    通过分配给该进程的虚拟内存选择性地映射物理内存的页面来提供对分配给进程的物理内存的访问

    公开(公告)号:US06477612B1

    公开(公告)日:2002-11-05

    申请号:US09499918

    申请日:2000-02-08

    申请人: Landy Wang

    发明人: Landy Wang

    IPC分类号: G06F1200

    摘要: A system and method for providing applications with the ability to access an increased amount of memory. An application maps a specified address range in its (small) virtual memory space to a corresponding number of pages allocated thereto in (relatively large) physical memory. When the application accesses an address in that range in virtual memory, e.g., via a thirty-two-bit address, the mapping information is used to access the corresponding page currently pointed to in the physical memory, allowing access to significantly greater amounts of memory. Fine granularity of access (e.g., one page) is provided, along with fast remapping, cross-process security and coherency across multiple processors in a multiprocessor system. To this end, a memory manager maintains information related to the mapping of virtual addresses to physical pages, in order to verify remap requests and invalidate existing mappings from a virtual address to a previously mapped physical page. For coherency in a multi-processor system, a list is maintained for invalidating existing mappings in the translation buffers of other processors in a consolidated operation, thereby requiring only a single interrupt of each processor to invalidate mappings.

    摘要翻译: 一种用于向应用提供访问增加的存储量的能力的系统和方法。 应用程序将其(小)虚拟内存空间中的指定地址范围映射到(相对较大)的物理内存中分配给它的相应页数。 当应用程序访问虚拟内存中的该范围内的地址时,例如通过32位地址,使用映射信息访问物理内存中当前指向的对应页面,允许访问显着更大量的内存 。 提供精细的访问粒度(例如,一页),以及多处理器系统中的多个处理器的快速重映射,跨进程安全性和一致性。 为此,存储器管理器维护与虚拟地址映射到物理页面相关的信息,以便验证重映射请求并将现有映射从虚拟地址无效到先前映射的物理页面。 为了在多处理器系统中的一致性,维护一个列表,以使合并操作中的其他处理器的转换缓冲区中的现有映射无效,从而仅需要每个处理器的单个中断来使映射无效。

    Temporal standby list
    6.
    发明授权
    Temporal standby list 有权
    时间待机列表

    公开(公告)号:US09104606B2

    公开(公告)日:2015-08-11

    申请号:US13301781

    申请日:2011-11-22

    IPC分类号: G06F12/00 G06F12/12 G06F12/08

    摘要: In one embodiment, a memory management system temporarily maintains a memory page at an artificially high priority level 210. The memory management system may assign an initial priority level 212 to a memory page in a page priority list 202. The memory management system may change the memory page to a target priority level 214 in the page priority list 202 after a protection period 238 has expired.

    摘要翻译: 在一个实施例中,存储器管理系统临时维护人为高优先级级别210的存储器页面。存储器管理系统可以向页面优先级列表202中的存储器页面分配初始优先级212.存储器管理系统可以改变 存储器页面在保护周期238已经期满之后到页面优先级列表202中的目标优先级214。

    COMPUTER SYSTEM WITH MEMORY AGING FOR HIGH PERFORMANCE
    8.
    发明申请
    COMPUTER SYSTEM WITH MEMORY AGING FOR HIGH PERFORMANCE 有权
    具有高性能记忆衰减的计算机系统

    公开(公告)号:US20130138876A1

    公开(公告)日:2013-05-30

    申请号:US13306431

    申请日:2011-11-29

    申请人: LANDY WANG

    发明人: LANDY WANG

    IPC分类号: G06F12/00

    摘要: A memory manager in a computer system that ages memory for high performance. The efficiency of operation of the computer system can be improved by dynamically setting an aging schedule based on a predicted time for trimming pages from a working set. An aging schedule that generates aging information that better discriminates among pages in a working set based on activity level enables selection of pages to trim that are less likely to be accessed following trimming. As a result of being able to identify and trim less active pages, inefficiencies arising from restoring trimmed pages to the working set are avoided.

    摘要翻译: 计算机系统中的内存管理器,用于高性能的内存老化。 可以通过基于从工作组修剪页面的预测时间动态设置老化时间表来提高计算机系统的操作效率。 基于活动级别生成更好地区分工作集中的页面的老化信息的老化计划使得能够选择在修剪后不太可能被访问的页面。 由于能够识别和修剪较少的活动页面,因此避免了将修剪页面恢复到工作集中所产生的低效率。

    COMBINING MEMORY PAGES HAVING IDENTICAL CONTENT
    9.
    发明申请
    COMBINING MEMORY PAGES HAVING IDENTICAL CONTENT 有权
    组合具有标识内容的内存页

    公开(公告)号:US20120246436A1

    公开(公告)日:2012-09-27

    申请号:US13052562

    申请日:2011-03-21

    IPC分类号: G06F12/02

    CPC分类号: G06F9/5016 G06F12/109

    摘要: In a device having a memory accessed as multiple pages, two or more pages of the multiple pages having identical content are identified. While the two or more pages are being identified, other processes running in the device are allowed to use the two or more pages, including being allowed to change cache attributes of each of the two or more pages. The two or more pages are combined into a single combined page (e.g., a newly allocated page of the multiple pages), and a process page record having multiple entries pointing to the multiple pages is updated so that entries that previously pointed to one of the two or more pages instead point to the single page.

    摘要翻译: 在具有作为多页访问的存储器的设备中,识别具有相同内容的多页的两页或多页。 当正在识别两个或多个页面时,允许在设备中运行的其他进程使用两个或多个页面,包括被允许改变两个或更多个页面中的每一个的高速缓存属性。 将两个或多个页面组合成单个组合页面(例如,多页面中新分配的页面),并且更新具有指向多个页面的多个条目的处理页面记录,使得先前指向 两个或多个页面指向单个页面。

    PAGEFILE RESERVATIONS
    10.
    发明申请
    PAGEFILE RESERVATIONS 有权
    PAGEFILE预订

    公开(公告)号:US20120233438A1

    公开(公告)日:2012-09-13

    申请号:US13042128

    申请日:2011-03-07

    IPC分类号: G06F12/06

    摘要: A system and method for maintaining a pagefile of a computer system using a technique of reserving portions of the pagefile for related memory pages. Pages near one another in a virtual memory space often store related information and it is therefore beneficial to ensure that they are stored near each other in the pagefile. This increases the speed of reading data out of the pagefile because total seek time of a disk drive that stores the pagefile may decrease when adjacent pages in a virtual memory address space are read back from the disk drive. By implementing a reservation system that allows related pages to be stored adjacent to one another, the efficiency of memory management to of the computer system is increased.

    摘要翻译: 一种用于使用保留相关存储器页面的页面文件的部分的技术来维护计算机系统的页面文件的系统和方法。 在虚拟存储器空间中彼此靠近的页面通常存储相关信息,因此确保它们在页面文件中彼此靠近地存储是有益的。 这增加了从页面文件读取数据的速度,因为存储页面文件的磁盘驱动器的总查找时间可能会在从磁盘驱动器读取虚拟内存地址空间中的相邻页面时减少。 通过实现允许相关页面彼此相邻存储的预留系统,提高了计算机系统的存储器管理效率。