Paged memory management unit which evaluates access permissions when creating translator
First Claim
1. In a page memory management unit (PMMU) adapted to translate each of a plurality of logical addresses into a corresponding physical address using a selected one of a plurality of descriptors comprising one or more translation tables stored in a memory, the PMMU receiving each of said logical addresses and the corresponding physical address from the memory, said PMMU including:
- a cache having a plurality of storage locations for storing said translators, each of said storage locations including a write protect indicator and a read protect indicator adapted to be selectively set;
control means for assembling each of said logical addresses and the corresponding physical address into a respective translator and controlling the storing of each translator in a selected one of said storage locations, the control means setting the write protect indicator of said one storage location in response to a write protect signal associated with the descriptor used to assemble said translator and setting the read protect indicator of said one storage location in response to a read protect signal associated with the descriptor used to assemble said translator; and
access control means for preventing said translator from being used to translate said logical address in support of a write operation when the write protect indicator of said one storage location is set and for preventing said translator from being used to translate said logical address in support of a read operation when the read protect indicator of said one storage location is set;
wherein said logical address has an access privilege level associated therewith and said descriptor includes a selected write access privilege level and a selected read access privilege level, said control means;
setting said write protect indicator of said one storage location to prevent said translator from being used in support of a write operation when the access privilege level associated with said logical address is logically less than said write access privilege of said descriptor; and
setting said read protect indicator of said one storage location to prevent said translator from being used in support of a read operation when the access privilege level associated with said logical address is logically less then said read access privilege level of said descriptor;
wherein said translator is assembled by the control means and stored in said one storage location even when the access privilege associated with said logical address is not logically less than said write a read access privilege levels of said descriptor, but is not allowed by the access control means to be used in support of a write operation, even when said descriptor used to assemble said translator does not have said write protect signal associated therewith, unless the access privilege associated with said logical address is at least equal to said write access privilege or said descriptor, or is not allowed by the access control means to be used in support of a read operation, even when said descriptor used to assemble said translator does not have said read protect signal associated therewith, unless the access privilege level associated with said logical address is at least equal to said read access privilege level of said descriptor.
3 Assignments
0 Petitions
Accused Products
Abstract
A paged memory management unit (PMMU) adapted to translate each of a plurality of logical addresses into a corresponding physical address using a selected one of a plurality of descriptors comprising one or more translation tables stored in a memory, the PMMU assembling each of the logical addresses and the corresponding physical address into a respective translator. In general, the PMMU includes: a cache having a plurality of storage locations for storing the translators, each of the storage locations including a write protect indicator and a read protect indicator adapted to be selectively set; translation control logic for storing an assembled translator in a selected one of the storage locations, the translation control logic setting the write protect indicator of the one storage location in response to a write protect signal associated with the descriptor used to assemble the translator and the read protect indicator of the one storage location in response to a read protect signal associated with that descriptor; and access control logic for preventing the translator from being used to translate the logical address in support of a write operation if the write protect indicator of the one storage location is set or in support of a read operation if the read protect indicator of the one storage location is set. In the preferred form, the logical address has an access privilege level associated therewith and the descriptor includes a selected write access privilege level and a selected read access privilege level, the translation control logic setting the write protect indicator of the one storage location if the access privilege level associated with the logical address is logically less than the write access privilege level and the read protect indicator of the one storage location if the access privilege level associated with the logical address is logically less than the read access privilege level.
84 Citations
22 Claims
-
1. In a page memory management unit (PMMU) adapted to translate each of a plurality of logical addresses into a corresponding physical address using a selected one of a plurality of descriptors comprising one or more translation tables stored in a memory, the PMMU receiving each of said logical addresses and the corresponding physical address from the memory, said PMMU including:
-
a cache having a plurality of storage locations for storing said translators, each of said storage locations including a write protect indicator and a read protect indicator adapted to be selectively set; control means for assembling each of said logical addresses and the corresponding physical address into a respective translator and controlling the storing of each translator in a selected one of said storage locations, the control means setting the write protect indicator of said one storage location in response to a write protect signal associated with the descriptor used to assemble said translator and setting the read protect indicator of said one storage location in response to a read protect signal associated with the descriptor used to assemble said translator; and access control means for preventing said translator from being used to translate said logical address in support of a write operation when the write protect indicator of said one storage location is set and for preventing said translator from being used to translate said logical address in support of a read operation when the read protect indicator of said one storage location is set; wherein said logical address has an access privilege level associated therewith and said descriptor includes a selected write access privilege level and a selected read access privilege level, said control means; setting said write protect indicator of said one storage location to prevent said translator from being used in support of a write operation when the access privilege level associated with said logical address is logically less than said write access privilege of said descriptor; and setting said read protect indicator of said one storage location to prevent said translator from being used in support of a read operation when the access privilege level associated with said logical address is logically less then said read access privilege level of said descriptor; wherein said translator is assembled by the control means and stored in said one storage location even when the access privilege associated with said logical address is not logically less than said write a read access privilege levels of said descriptor, but is not allowed by the access control means to be used in support of a write operation, even when said descriptor used to assemble said translator does not have said write protect signal associated therewith, unless the access privilege associated with said logical address is at least equal to said write access privilege or said descriptor, or is not allowed by the access control means to be used in support of a read operation, even when said descriptor used to assemble said translator does not have said read protect signal associated therewith, unless the access privilege level associated with said logical address is at least equal to said read access privilege level of said descriptor. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a paged memory management unit (PMMU) adapted to translate each of a plurality of logical addresses into a corresponding physical address using a selected one of a plurality of descriptors comprising one or more translation tables stored in a memory, the PMMU receiving each of said logical addresses and the corresponding physical address from the memory, said PMMU including:
-
a cache having a plurality of storage locations for storing said translators, each of said storage locations including a write protect indicator adapted to be selectively set; control means for assembling each of said logical addresses and the corresponding physical address into a respective translator and controlling the storing of an assembled translator in a selected one of said storage locations, the control means setting the write protect indicator of said one storage location in response to a write protect signal associated with the descriptor used to assemble said translator; and access control means for preventing said translator from being used to translate said logical address in support of a write operation when the write protect indicator of said one storage location is set; wherein said logical address has an access privilege level associated therewith and said descriptor includes a selected write access privilege level, said control means setting said write protect indicator of said one storage location to prevent said translator from being used in support of a write operation when the access privilege level associated with said logical address is logically less than said write access privilege level of said descriptor, wherein said translator is assembled by the control means and stored in said one storage location even when the access privilege level associated with said logical address is not logically less than said write access privilege level of said descriptor, but is not allowed by the access control means to be used in support of a write operation, even when said descriptor used to assemble said translator does not have said write protect signal associated therewith, unless the access privilege level associated with said logical address is at least equal to said write access privilege level of said descriptor. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. In a paged memory management unit (PMMU) adapted to translate each of a plurality of logical addresses into a corresponding physical address using a selected one of a plurality of descriptors comprising one or more translation tables stored in a memory, the PMMU receiving each of said logical addresses and the corresponding physical address into a respective translator, said PMMU including:
- said
a cache having a plurality of storage locations for storing said translators, each of said storage locations including a read protect indicator adapted to be selectively set; control means for assembling each of said addresses and the corresponding physical address into a respective translator and controlling the storing of each translator in a selected one of said storage locations, the control means setting the read protect indicator of said one storage location in response to a read protect signal associated with the descriptor used to assemble said translator; and access control means for preventing said translator from being used to translate said logical address in support of a read operation when the read protect indicator of said one storage location is set; wherein said logical address has an access privilege level associated therewith and said descriptor includes a selected read access privilege level, said control means setting said read protect indicator of said one storage location to prevent said translator from being used in support of a read operation when the access privilege level associated with said logical address is logically less than said read access privilege level of said descriptor, wherein said translator is assembled by the control means and stored in said on®
storage location even when the access privilege level associated with said logical address is not logically less than said read access privilege level of said descriptor, but is not allowed by the access control means to be used in support of a read operation, even when said descriptor used to assemble said translator does not have said read protect signal associated therewith, unless the access privilege level associated with said logical address is at least equal to said read access privilege level of said descriptor. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
- said
Specification