Langsung ke konten

Arsip

IOMMU

6 artikel
Teknologi 19 Sep 2026 6 min read

Translasi IOMMU Memisahkan Alamat DMA Perangkat dari Memori Fisik

Perangkat yang mendukung DMA dapat mengirim transaksi memori tanpa CPU menyalin setiap payload. Pada sistem dengan IOMMU, alamat yang dibawa transaksi perangkat tidak harus berupa alamat fisik host. IOMMU dapat menerjemahkan I/O virtual address yang terlihat oleh perangkat menjadi halaman fisik dan menolak akses di luar mapping yang telah dikonfigurasi. Batas translasi tersebut memengaruhi isolasi sekaligus perpindahan data. Driver dan sistem operasi dapat memberikan ruang alamat terbatas kepada perangkat, sementara hardware perlu mempertahankan state translasi cukup dekat dengan jalur I/O agar setiap permintaan DMA tidak selalu memicu page-table walk.

Teknologi 19 Sep 2026 5 min read

PCIe PASID Memungkinkan Satu Perangkat Membawa Banyak Konteks Address Space

PCIe PASID Memungkinkan Satu Perangkat Membawa Banyak Konteks Address Space Sebuah fungsi PCIe biasanya memiliki Requester ID yang berasal dari identitas bus, device, dan function. Identifier ini memberi tahu komponen platform fungsi mana yang mengirim transaksi, tetapi cakupannya terlalu kasar ketika satu perangkat menangani pekerjaan dari beberapa address space proses secara bersamaan. Process Address Space ID (PASID) menambahkan identitas lain pada jalur transaksi. PASID dapat memilih konteks address space di bawah fungsi perangkat yang sama, sehingga IOMMU dapat membedakan traffic memori milik proses yang berbeda tanpa memerlukan fungsi PCIe terpisah untuk setiap proses.

Teknologi 19 Sep 2026 5 min read

PCIe ATS Memindahkan Cache Translasi Alamat ke Dalam Perangkat

PCIe ATS Memindahkan Cache Translasi Alamat ke Dalam Perangkat IOMMU dapat menerjemahkan alamat DMA atas nama perangkat, tetapi susunan ini menempatkan mekanisme translasi di jalur trafik memori perangkat. PCIe Address Translation Services (ATS) menyediakan pilihan lain: perangkat yang mendukungnya dapat meminta translasi lalu menyimpan hasilnya dalam cache translasi miliknya. Transaksi berikutnya dapat membawa alamat hasil translasi tanpa memerlukan pekerjaan translasi yang sama di IOMMU pada setiap akses. Perubahan ini bukan sekadar memindahkan lokasi lookup. State translasi kini juga berada di dalam endpoint, sehingga software yang mengubah mapping address space harus memperhitungkan translasi yang tersimpan di perangkat sebagai bagian dari protokol invalidasi.

Teknologi 19 Sep 2026 6 min read

PCIe ACS Menentukan Apakah Traffic Peer Dapat Melewati IOMMU

PCIe ACS Menentukan Apakah Traffic Peer Dapat Melewati IOMMU IOMMU hanya dapat membatasi DMA untuk transaksi yang benar-benar mencapai pemeriksaan translasi dan permission miliknya. PCI Express membuat batas ini lebih rumit karena dua endpoint dalam hierarchy yang sama dapat bertukar traffic peer-to-peer tanpa mengirim setiap transaksi melalui root complex. Sebuah switch dapat meneruskan request langsung dari satu downstream port ke downstream port lain. PCIe Access Control Services (ACS) menambahkan kontrol pada batas routing tersebut. Bergantung pada komponen dan fitur ACS yang didukung, fabric dapat memvalidasi request, memblokir traffic hasil translasi tertentu, mengarahkan request atau completion peer ke upstream, atau membatasi egress. Dampaknya bukan sekadar pilihan rute. ACS dapat menentukan apakah dua perangkat bisa dipisahkan pada batas IOMMU.

Teknologi 19 Sep 2026 6 min read

Invalidasi IOTLB IOMMU Menentukan Saat Remapping DMA Berlaku

Invalidasi IOTLB IOMMU Menentukan Saat Remapping DMA Berlaku Mengubah entry pada page table IOMMU tidak selalu mengubah translasi yang dipakai oleh request DMA berikutnya. IOMMU dapat menyimpan translasi alamat di I/O translation lookaside buffer, yang umum disebut IOTLB. Software harus menginvalidasi state cache yang terdampak ketika sebuah mapping dihapus atau diganti, lalu mengikuti semantik completion yang diwajibkan IOMMU sebelum menganggap translasi lama benar-benar berhenti digunakan. Batas ini menyerupai pemeliharaan page table CPU, tetapi berada pada address space DMA. Page table merupakan state memori yang menjadi sumber translasi; IOTLB merupakan state hardware yang berasal darinya. Mengubah salah satunya tidak otomatis membuktikan bahwa yang lain telah berhenti melayani translasi sebelumnya.

Teknologi 17 Sep 2026 7 min read

IOMMU Memetakan Ulang Alamat DMA Perangkat untuk Isolasi Memori

Direct memory access memungkinkan perangkat memindahkan data antara dirinya dan memori sistem tanpa membuat CPU menyalin setiap byte. Network adapter, storage controller, GPU, dan perangkat ber-throughput tinggi lainnya mengandalkan DMA agar data dapat bergerak secara efisien. Kemampuan itu juga menciptakan persoalan proteksi. Perangkat yang dapat mengeluarkan transaksi memori tanpa pembatasan dapat membaca atau menimpa page fisik milik kernel, proses lain, atau virtual machine lain. Input-output memory management unit, yang umum disebut IOMMU, menempatkan translasi alamat dan access control di antara perangkat yang mampu melakukan DMA dan memori fisik.