-
公开(公告)号:US12204449B2
公开(公告)日:2025-01-21
申请号:US18167936
申请日:2023-02-13
Applicant: Microsoft Technology Licensing, LLC
Inventor: Yevgeniy M. Bak , Kevin Michael Broas , David Alan Hepkin , Landy Wang , Mehmet Iyigun , Brandon Alec Allsop , Arun U. Kishan
IPC: G06F12/06 , G06F9/4401 , G06F9/54 , G06F12/02
Abstract: Techniques for computer memory management are disclosed herein. In one embodiment, a method includes in response to receiving a request for allocation of memory, determining whether the request is for allocation from a first memory region or a second memory region of the physical memory. The first memory region has first memory subregions of a first size and the second memory region having second memory subregions of a second size larger than the first size of the first memory region. The method further includes in response to determining that the request for allocation of memory is for allocation from the first or second memory region, allocating a portion of the first or second multiple memory subregions of the first or second memory region, respectively, in response to the request.
-
2.
公开(公告)号:US11157306B2
公开(公告)日:2021-10-26
申请号:US17006858
申请日:2020-08-30
Applicant: Microsoft Technology Licensing, LLC
Inventor: Yevgeniy Bak , Mehmet Iyigun , Arun U. Kishan
IPC: G06F3/06 , G06F9/455 , G06F12/1045 , G06F12/109
Abstract: To increase the speed with which the hierarchical levels of a Second Layer Address Table (SLAT) are traversed as part of a memory access where the guest physical memory of a virtual machine environment is backed by virtual memory assigned to one or more processes executing on a host computing device, one or more hierarchical levels of tables within the SLAT can be skipped or otherwise not referenced. While the SLAT can be populated with memory correlations at hierarchically higher-levels of tables, the page table of the host computing device, supporting the host computing device's provision of virtual memory, can maintain a corresponding contiguous set of memory correlations at the hierarchically lowest table level, thereby enabling the host computing device to page out, or otherwise manipulate, smaller chunks of memory. If such manipulation occurs, the SLAT can be repopulated with memory correlations at the hierarchically lowest table level.
-
公开(公告)号:US10310893B2
公开(公告)日:2019-06-04
申请号:US15189557
申请日:2016-06-22
Applicant: Microsoft Technology Licensing, LLC
Inventor: Yevgeniy M. Bak , Lars Reuther , Kevin M. Broas , Mehmet Iyigun , Hari R. Pulapaka , Morakinyo Korede Olugbade , Benjamin M. Schultz
Abstract: An operating system running on a computing device uses containers for hardware resource partitioning. Using the techniques discussed herein, pausing and resuming of containers is managed to reduce the pressure a container exerts on system resources when paused. Resuming of containers can further be managed to reduce the startup time for containers. This managing of containers can implemented various different techniques, such as stopping scheduling of virtual processors, stopping scheduling of processes or threads, compressing memory, swapping pages of memory for the container to a page file on a hard drive, and so forth.
-
公开(公告)号:US20190102251A1
公开(公告)日:2019-04-04
申请号:US15723888
申请日:2017-10-03
Applicant: Microsoft Technology Licensing, LLC
Inventor: Mehmet Iyigun , Yevgeniy Bak
Abstract: Examples described herein generally relate to a computer device including a memory and at least one processor configured to execute a process and manage the memory for the process. The processor is configured to receive a registration from the process for notifications regarding errors in the memory. The processor is configured to create first metadata regarding content of a portion of the memory allocated to the process when a physical memory address associated with a virtual address for the portion of memory is made non-writable to the process. The processor is configured to detect an error in the memory by comparing second metadata for current contents of the portion of memory to the first metadata. The processor is configured to provide a notification to the process in response to detecting the error. In some implementations, the processor is configured to determine whether the error is correctable based on the metadata.
-
公开(公告)号:US10102148B2
公开(公告)日:2018-10-16
申请号:US13917149
申请日:2013-06-13
Applicant: Microsoft Technology Licensing, LLC
Inventor: Yevgeniy M. Bak , Mehmet Iyigun , Landy Wang
IPC: G06F13/00 , G06F12/126 , G06F12/02 , G06F12/08
Abstract: A memory is made up of multiple pages, and different pages can have different priority levels. A set of memory pages having at least similar priority levels are identified and compressed into an additional set of memory pages having at least similar priority levels. The additional set of memory pages are classified as being the same type of page as the set of memory pages that was compressed (e.g., as memory pages that can be repurposed). Thus, a particular set of memory pages can be compressed into a different set of memory pages of the same type and corresponding to at least similar priority levels. However, due to the compression, the quantity of memory pages into which the set of memory pages is compressed is reduced, thus increasing the amount of data that can be stored in the memory.
-
公开(公告)号:US20170322824A1
公开(公告)日:2017-11-09
申请号:US15280201
申请日:2016-09-29
Applicant: Microsoft Technology Licensing, LLC
Inventor: Lars Reuther , David A. Hepkin , Kevin M. Broas , John A. Starks , Arun U. Kishan , John J. Richardson , Mehmet Iyigun , Yevgeniy M. Bak
CPC classification number: G06F9/45558 , G06F3/0604 , G06F3/0632 , G06F3/065 , G06F3/0665 , G06F3/0683 , G06F9/4843 , G06F2009/45562 , G06F2009/45583
Abstract: An operating system running on a computing device, also referred to herein as a host device, uses containers for hardware resource partitioning. A container can include one or more of various different components, such as a base operating system, a user-mode environment, an application, virtual devices, combinations thereof, and so forth. One or more container templates are maintained for a computing device, and in response to a request to create a new container, a template container is copied into memory of the computing device to create the new container. The template container includes the various components of the container, and these components are copied into memory of the computing device rather than being launched or started one after the other. Thus, time need not be expended starting the various components included in the container—the components are just copied into memory as a new container.
-
公开(公告)号:US20170279678A1
公开(公告)日:2017-09-28
申请号:US15082914
申请日:2016-03-28
Applicant: Microsoft Technology Licensing, LLC
Inventor: Christopher Peter Kleynhans , Eric Wesley Wohllaib , Paul McAlpin Bozzay , Morakinyo Korede Olugbade , Frederick J. Smith , Benjamin M. Schultz , Gregory John Colombo , Hari R. Pulapaka , Mehmet Iyigun
IPC: H04L12/24
CPC classification number: H04L41/0816 , G06F9/44505 , G06F9/45558 , G06F2009/45587
Abstract: Configuring a node. A method includes at a first configuration layer, modifying configuration settings. The method further includes propagating the modified configuration settings to one or more other configuration layers implemented at the first configuration layer to configure a node.
-
公开(公告)号:US20170123996A1
公开(公告)日:2017-05-04
申请号:US15155964
申请日:2016-05-16
Applicant: Microsoft Technology Licensing, LLC
Inventor: Arun U. Kishan , Mehmet Iyigun , Landy Wang , Kevin Michael Broas , Yevgeniy M. Bak
CPC classification number: G06F12/10 , G06F9/45558 , G06F12/0284 , G06F12/1009 , G06F12/109 , G06F2009/45583 , G06F2212/1032 , G06F2212/1056 , G06F2212/151 , G06F2212/206 , G06F2212/656
Abstract: Mapping files in host virtual address backed virtual machines. A method includes receiving a request from a guest virtual machine for a file from a host. The method further includes, at the host determining that the file can be directly mapped to a physical memory location for virtual machines requesting access to the file. The method further includes, at the host, providing guest physical memory backed by the file flapping in host virtual memory.
-
公开(公告)号:US20160328243A1
公开(公告)日:2016-11-10
申请号:US15214383
申请日:2016-07-19
Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
Inventor: Mehmet Iyigun , Yevgeniy Bak , Emily N. Wilson , Kirsten V. Stark , Sushu Zhang , Patrick L. Stemen , Brian E. King , Vasilios Karagounis , Neel Jain
IPC: G06F9/44
CPC classification number: G06F9/4418 , G06F9/4406 , G06F9/4411
Abstract: Fast computer startup is provided by, upon receipt of a shutdown command, recording state information representing a target state. In this target state, the computing device may have closed all user sessions, such that no user state information is included in the target state. However, the operating system may still be executing. In response to a command to startup the computer, this target state may be quickly reestablished from the recorded target state information. Portions of a startup sequence may be performed to complete the startup process, including establishing user state. To protect user expectations despite changes in response to a shutdown command, creation and use of the file holding the recorded state information may be conditional on dynamically determined events. Also, user and programmatic interfaces may provide options to override creation or use of the recorded state information.
-
公开(公告)号:US20160232009A1
公开(公告)日:2016-08-11
申请号:US15131353
申请日:2016-04-18
Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
Inventor: Mehmet Iyigun , Yevgeniy Bak , Emily N. Wilson , Kirsten V. Stark , Sushu Zhang , Patrick L. Stemen , Brian E. King , Vasilios Karagounis , Neel Jain
CPC classification number: G06F9/4418 , G06F1/3234 , G06F8/65 , G06F9/4401 , G06F9/442
Abstract: Fast computer startup is provided by, upon receipt of a shutdown command, recording state information representing a target state. In this target state, the computing device may have closed all user sessions, such that no user state information is included in the target state. However, the operating system may still be executing. In response to a command to startup the computer, this target state may be quickly reestablished from the recorded target state information. Portions of a startup sequence may be performed to complete the startup process, including establishing user state. To protect user expectations despite changes in response to a shutdown command, creation and use of the file holding the recorded state information may be conditional on dynamically determined events. Also, user and programmatic interfaces may provide options to override creation or use of the recorded state information.
-
-
-
-
-
-
-
-
-