EP1528474B1

Shadow page tables for address translation control

Abstract

This record has no abstract on file.

EP1528474B1, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Expired 6 August 2024, 2.1 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

18 claims: 2 independent, 16 dependent

  1. 1
    A method of creating shadow pages for an address translation map, the address translation map comprising a page directory (202) and a plurality of page tables (204(1), 204(2), 204(3)), the page directory comprising a links to the plurality of page tables, each of the page tables comprising links to a plurality of data pages (206(1), 206(2), 206(3), 206(4)), the page directory and page tables each being stored in one of the data pages, the method characterized by further comprising the steps of:for at least one of the plurality of page tables, creating a first shadow page table based on said one of the plurality of page tables, said first shadow page table differing from said first one of the plurality of page tables in at least one of the following respects: at least one entry in said first shadow page table links to a different data page than that entry's corresponding link in said first one of the plurality of page tables;and said first shadow page table contains one or more read-only links whose corresponding links in said first one of the plurality of pages tables are read/write;and creating a shadow page directory based on the page directory, the page directory comprising a link to said one of the plurality of page tables, said shadow page directory comprising a link to said shadow page table instead of the link to said one of said plurality of page tables.
  2. 11
    A system for managing the use of a memory comprising:a memory comprising a plurality of individually-addressable components that can be read and written, each of the individually-addressable components having a physical address associated therewith, wherein said memory is organized into a plurality of pages (206(1), 206(2), 206(3), 206(4)), said first one of the individually-addressable components being located within one of said plurality of pages;an address translation data structure that defines a mapping between virtual addresses and the physical addresses of the individually-addressable components, wherein said address translation structure comprises: a plurality of page tables (204(1), 204(2), 204(3)) that contain links to said plurality of pages, and a page directory (202) that contains links to said plurality of page tables;wherein the system is further characterized in that for at least one of the plurality of page tables, a first shadow page table is created based on said one of the plurality of page tables, said first shadow page table differing from said first one of the plurality of page tables in at least one of the following respects: at least one entry in said first shadow page table links to a different data page than that entry's corresponding link in said first one of the plurality of page tables;and said first shadow page table contains one or more read-only links whose corresponding links in said first one of the plurality of pages tables are read/write;a shadow page directory is created based on the page directory, the page directory comprising a link to said one of the plurality of page tables, said shadow page directory comprising a link to said shadow page table instead of the link to said one of said plurality of page tables.