A method and system for protecting data on a computer system uses one or
more restricted areas of memory to store proprietary or confidential data.
The translation lookaside buffer (TLB) is used to regulate access to the
restricted memory. When a TLB miss occurs during the execution of a
program, the TLB miss handling logic determines whether the program is
attempting to access restricted memory. If so, then the TLB miss handling
logic determines whether the program is authorized to have access. If the
program is not authorized to have access, then the TLB miss handling logic
generates an exception, such as an invalid page fault, and the TLB is not
loaded. If the program is authorized to have access to the restricted
page, then the TLB is loaded with the appropriate address translation. As
long as the translation remains in the TLB, future accesses to the page by
an authorized program will require no additional checks and no additional
CPU time.
Un método y un sistema para los datos de protección sobre un sistema informático utiliza unas o más áreas restrictas de la memoria para almacenar datos propietarios o confidenciales. El almacenador intermediario del lookaside de la traducción (TLB) se utiliza para regular el acceso a la memoria restricta. Cuando una falta de TLB ocurre durante la ejecución de un programa, la falta de TLB que maneja lógica se determina si el programa está procurando tener acceso a memoria restricta. Si es así entonces la falta de TLB que maneja lógica se determina si el programa está autorizado para tener acceso. Si el programa no se autoriza para tener acceso, entonces la falta de TLB que maneja lógica genera una excepción, tal como una avería de página inválida, y el TLB no se carga. Si el programa se autoriza para tener acceso a la página restricta, después el TLB se carga con la conversión de dirección apropiada. Mientras sigue habiendo la traducción en el TLB, los accesos futuros a la página por un programa autorizado no requerirán ningún cheque adicional y ninguna hora adicional de la CPU.