Patent ID: 7890727

Claim:
A system for memory protection based on data objects, comprising: an authority controller coupled to a processing unit for controlling access by said processing unit to a plurality of pages of memory, wherein each of a plurality of pages of memory is assigned a particular key number from among a plurality of key numbers distinguishable from a page number within a separate entry for each page within a page table of said memory, wherein each selection of pages of memory assigned a same key number from among said plurality key numbers are associated with a same region of said memory associated with a particular key number, wherein each of said plurality of key numbers is associated with at least one from among a plurality of data objects; said authority controller further programmed to: control assignment of a separate software key from among a plurality of software keys to each separate data object of said plurality of data objects; and map, in selections of at least one, each of said plurality of software keys to at least one key number from among a plurality of key numbers, wherein each of said plurality of key numbers is associated with a separate region of memory from among a memory unit; assign to each of said plurality of pages of memory within said separate entry for each page within said page table of said memory said separate key number from among a plurality of key numbers associated with said separate region of memory to which each page of said memory is associated; map a separate hardware protection key set for each module from among a plurality of modules from a separate selection of said key numbers assigned to a selection of software keys from among said plurality of software keys assigned to each said separate module; and responsive to loading a particular module in said processing unit from among a plurality of modules, load a particular hardware protection key set mapped for said particular module into said memory management unit for controlling access to said memory; and an authority register accessible to said authority controller, wherein said particular hardware protection key set currently loaded in said authority register specifies a particular selection of allowed key numbers from among said plurality of key numbers, wherein said authority controller only allows said processing unit access to those selections of pages assigned to one from among said selection of allowed key numbers.