I/O Memory Management Unit
E653443
An I/O Memory Management Unit (IOMMU) is a hardware component that maps device-visible virtual addresses to physical memory addresses, enabling secure and efficient direct memory access (DMA) and device isolation.
Statements (50)
| Predicate | Object |
|---|---|
| instanceOf |
computer hardware component
ⓘ
memory management unit ⓘ |
| abbreviation | IOMMU NERFINISHED ⓘ |
| benefit |
better performance isolation between devices
ⓘ
improved system security ⓘ improved system stability ⓘ support for advanced virtualization features ⓘ |
| componentOf |
chipset
ⓘ
platform I/O hub ⓘ system-on-chip ⓘ |
| configuredBy |
hypervisor
ⓘ
operating system ⓘ |
| controls |
device DMA address space
ⓘ
device access to host memory ⓘ |
| enables |
address translation for DMA operations
ⓘ
fine-grained control of device memory access ⓘ isolation between devices and main memory ⓘ safe device passthrough to virtual machines ⓘ |
| hasFunction |
enable secure direct memory access
ⓘ
enforce memory access permissions for devices ⓘ map device-visible virtual addresses to physical memory addresses ⓘ protect system memory from faulty or malicious devices ⓘ provide device isolation ⓘ remap DMA addresses ⓘ support virtualization of I/O devices ⓘ |
| implementedBy |
AMD-Vi
NERFINISHED
ⓘ
ARM System MMU NERFINISHED ⓘ Intel VT-d NERFINISHED ⓘ PowerPC IOMMU NERFINISHED ⓘ |
| prevents |
DMA attacks
ⓘ
devices accessing unauthorized memory regions ⓘ memory corruption by misbehaving devices ⓘ |
| relatedTo |
I/O virtualization
NERFINISHED
ⓘ
PCI Express NERFINISHED ⓘ SR-IOV ⓘ direct memory access ⓘ memory protection ⓘ virtual memory ⓘ |
| supportsConcept |
DMA remapping
ⓘ
device passthrough ⓘ interrupt remapping ⓘ multi-root I/O virtualization ⓘ single-root I/O virtualization ⓘ |
| usedIn |
cloud computing infrastructure
ⓘ
computer systems ⓘ high-performance computing systems ⓘ servers ⓘ virtualized environments ⓘ |
| uses |
page tables
ⓘ
translation structures maintained by the operating system ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.