CPC G06F 9/45558 (2013.01) [G06F 12/1408 (2013.01); G06F 12/1466 (2013.01); G06F 12/1475 (2013.01); H04L 9/0894 (2013.01); G06F 2009/45583 (2013.01); G06F 2009/45587 (2013.01); G06F 2212/1052 (2013.01); G06F 2212/402 (2013.01)] | 16 Claims |
7. A per-process memory encryption system, comprising, in each core of a multi-core processor:
at least one translation lookaside buffer (TLB) configured to map virtual memory addresses to physical addresses, wherein the TLB is configured to encode key identifiers for keys in one or more bits of either a virtual memory address or a physical address in the TLB;
a process state memory configured to store a first process key table for a first process that maps key identifiers to a first set of keys and a second process key table for a second process that maps the key identifiers to a second set of keys different from the first set of keys; and
an active process key table memory configured to selectively store one of the first process key table or the second process key table based on determining which of the first process or the second process is active.
|