Fine-grained dirty page tracking of IOMMU second-stage large pages
AssigneeIntel Corporation
InventorsKarthik V. Narayanan, Raghunathan Srinivasan
Life of this patent
Estimating the term…
Abstract
An example of an apparatus may include memory and an input/output (IO) bus, where an address space of the memory and the IO bus is at least partially organized as a plurality of large pages, and where a large page is organized as two or more sub-pages. In some examples, the apparatus further includes circuitry coupled to the memory and the IO bus to map an IO address to a physical address, and track a modification to a large page at a granularity that corresponds to a size of a subset of the large page. Other embodiments are disclosed and claimed.
Claims21
An apparatus, comprising:
- memory and an input/output (IO) bus, wherein an address space of the memory and the IO bus is at least partially organized as a plurality of large pages, and wherein a large page is organized as two or more sub-pages;
- and
- an input/output memory management unit (IOMMU) coupled to the memory and the IO bus, the IOMMU comprising circuitry to:
- map an IO address to a physical address;
- and
- track a modification to the large page at a granularity that corresponds to a size of a subset of the large page.
An apparatus, comprising:
- memory;
- and
- an input/output memory management unit (IOMMU) coupled to the memory, the IOMMU including circuitry to:
- manage access from input/output (IO) devices to the memory at a page level that includes at a higher-level page and a lower-level page, wherein a higher-level page includes a plurality of lower-level pages, and
- selectively track higher-level dirty pages at any of multiple granularities comprising:
- a first granularity that corresponds to a first size of a higher-level page;
- and
- a second granularity that corresponds to a second size of a subset of the higher-level page.
A system, comprising:
- a processor;
- memory;
- a memory management unit (MMU) coupled between the processor and the memory;
- and
- an input/output (IO) MMU (IOMMU) coupled to the memory to manage access to the memory from one or more IO devices and to selectively track dirty large pages at any of multiple granularities comprising:
- a first granularity that corresponds to a first size of a large page;
- and
- a second granularity that corresponds to a second size of a subset of the large page, wherein the large page includes two or more sub-pages.
Dependencies are inferred from the claim text.