Memory isolation through address translation data edit control
AssigneeMicrosoft Corporation
InventorsBryan Mark Willman, Paul England, Marcus Peinado
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsBryan Mark Willman, Paul England, Marcus Peinado
Estimating the term…
Isolated memory is implemented by controlling changes to address translation maps. Control over the maps can be exercised in such a way that no virtual address referring to an isolated page is exposed to any untrusted process. Requests to edit an entry in a map are evaluated to ensure that the edit will not cause the map to point to isolated memory. Requests to change which map is active are evaluated to ensure that the map to be activated does not point to isolated memory. Preferably, these evaluations are performed by a trusted component in a trusted environment, since isolation of the memory depends on the evaluation component not being compromised. In systems that require all memory access requests to identify their target by virtual address, preventing the address translation maps from pointing to a portion of memory effectively prevents access to that portion of memory, thereby creating an isolated memory.
A method of controlling memory usage in a system that comprises a plurality of memory locations, some of the memory locations being designated to be accessible only by a trusted source, each of the memory locations having a physical address, the system supporting the use of virtual addresses to address the memory locations, the memory location that corresponds at a given point in time to a given virtual address being at least partly determined by a selectable group of address translation data that is storable in the memory locations, the system further comprising a writeable storage location that contains, at any given point in time, a pointer to the particular group of address translation data that has been selected to partly determine which of the memory locations corresponds to a given virtual address, the method comprising:
A method of controlling memory usage in a system that comprises a plurality of memory locations, each of the memory locations having a physical address, the system supporting the use of virtual addresses to address the memory locations, the memory location that corresponds at a given point in time to a given virtual address being at least partly determined by modifiable address translation data that are storable in the plurality of memory locations, some of the memory locations being designated to be accessible only by a trusted source, the method comprising:
In a system that comprises:
A method of managing memory in a system that comprises:
A computer-readable medium encoded with computer-executable instructions to implement a method of controlling memory usage in a system that comprises a plurality of memory locations, some of the memory locations being designated to be accessible only by a trusted source, each of the memory locations having a physical address, the system supporting the use of virtual addresses to address the memory locations, the memory location that corresponds at a given point in time to a given virtual address being at least partly determined by a selectable group of address translation data that is storable in the memory locations, the system further comprising a writeable storage location that contains, at any given point in time, a pointer to the particular group of address translation data that has been selected to partly determine which of the memory locations corresponds to a given virtual address, the method comprising:
A computer-readable medium encoded with computer-executable instructions to perform a method of controlling memory usage in a system that comprises a plurality of memory locations, each of the memory locations having a physical address, the system supporting the use of virtual addresses to address the memory locations, the memory location that corresponds at a given point in time to a given virtual address being at least partly determined by modifiable address translation data that are storable in the plurality of memory locations, some of the memory locations being designated to be accessible only by a trusted source, the method comprising:
A computer-readable medium encoded with computer-executable instructions for performing a method of managing memory in a system that comprises:
Dependencies are inferred from the claim text.