Hardware-enforced control of access to memory within a computer using hardware-enforced semaphores and other similar, hardware-enforced serialization and sequencing mechanisms
OwnerBret McKeeinventor
Life of this patent
Estimating the term…
Abstract
Method and system for providing hardware-enforced synchronization and serialization mechanisms, such as semaphores, to allow for control of access to memory regions within a computer system. In addition to the traditional semaphore protocol, hardware enforced semaphores are associated with memory regions and with protection keys selected from a pool of protection keys that control access to those memory regions. Hardware-enforced semaphores control insertion and deletion of protection keys from protection-key registers and internal data structures in order to enforce access grants provided by the semaphore protocol.
Claims27
A method for protecting access to a memory region associated with a protection key within a computer system, the method comprising:
- providing a hardware-enforced semaphore to executing entities that may access the memory region;
- when an executing entity obtains access to the memory region by calling an access-granting routine associated with the semaphore, inserting the protection key into a protection-key register;
- and
- when an executing entity relinquishes access to the memory region by calling an access-grant-removing routine associated with the semaphore, removing the protection key from the protection-key register.
A method for hardware-enforcing access granted to a memory region by a serialization-and-sequencing software device, the method comprising:
- during granting of access by the serialization-and-sequencing software device, inserting a protection key associated with the memory region into a protection-key register;
- and
- during revocation of a grant of access by the serialization-and-sequencing software device, removing a protection key associated with the memory region into from protection-key register.
A hardware-enforced serialization-and-sequencing software device for protecting a region of memory, the serialization-and-sequencing software device comprising:
- an access lock for serializing access to the serialization-and-sequencing software device;
- an associated access granting routine that enables hardware-level access to the region of memory by a requesting executing entity;
- and
- an associated access relinquishing routine that disables hardware-level access to the region of memory by a requesting executing entity.
A hardware-enforced serialization-and-sequencing software device for protecting a region of memory, the serialization-and-sequencing software device comprising:
- a means for serializing access to the serialization-and-sequencing software device;
- a means for enabling access to the region of memory for an executing entity requesting access to the region of memory;
- and
- a means for disabling access to the region of memory for an executing entity requesting relinquishment of access to the region of memory.
A method for protecting access to a memory region associated with a protection key within a computer system, the method comprising:
- providing a hardware-enforced semaphore to executing entities that may access the memory region;
- when an executing entity obtains access to the memory region by calling an access-granting routine associated with the semaphore,
- when the protection key already resides in a protection-key register, validating the protection-key register, and
- when the protection key does not already reside in a protection-key register, inserting the protection key into a protection-key register;
- and
- when an executing entity relinquishes access to the memory region by calling an access-grant-removing routine associated with the semaphore, invalidating the protection-key register that contains the protection key.
Dependencies are inferred from the claim text.