Langsung ke konten

Arsip

PCIe

16 artikel
Teknologi 22 Sep 2026 7 min read

Phase Tag Completion Queue NVMe Menandai Entri yang Digunakan Ulang

Completion Queue NVMe adalah array melingkar berukuran tetap di memori host. Controller menulis entri completion ketika command selesai, sedangkan software host mengonsumsi entri tersebut dan memajukan head queue. Pada akhirnya, kedua sisi kembali ke slot yang masih menyimpan data dari putaran ring sebelumnya. Penggunaan ulang memori menimbulkan ambiguitas kecil tetapi penting. Sebuah slot dapat berisi completion entry yang formatnya valid walaupun controller belum menulis completion baru ke posisi itu. Mengosongkan setiap entri yang sudah dikonsumsi akan menambah traffic memori dan tetap memerlukan koordinasi yang tepat antara host dan controller.

Teknologi 22 Sep 2026 6 min read

Phase Tag Completion Queue NVMe Membedakan Entri Baru Setelah Ring Wrap

Completion queue NVMe adalah struktur memori berbentuk ring yang dipakai bersama oleh controller dan software host. Controller menaruh completion queue entry setelah command selesai, sedangkan host mengonsumsi entry tersebut dan memajukan queue head. Saat salah satu pihak mencapai slot terakhir, indeks kembali ke slot nol. Wrap tersebut menimbulkan persoalan state yang kecil tetapi penting. Memori queue masih menyimpan byte dari completion sebelumnya. Entry yang tidak nol pada posisi head saat ini belum membuktikan bahwa controller sudah menaruh completion baru di sana. NVMe menangani kondisi ini dengan Phase Tag satu bit pada setiap completion queue entry.

Teknologi 19 Sep 2026 5 min read

Write MMIO Posted PCIe Dapat Bertahan Setelah Store CPU Selesai

CPU dapat menyelesaikan store MMIO sebelum PCIe Memory Write yang terkait mencapai perangkat target. Jarak ini muncul karena request PCIe Memory Write bersifat posted: requester mengirimkannya tanpa menunggu paket completion dari completer. Sifat tersebut membantu throughput, tetapi juga membentuk batas penting. Store instruction yang telah selesai dari sisi software, ordering barrier, dan pengamatan write oleh perangkat bukan otomatis merupakan event yang sama. PCIe Memory Write adalah transaksi posted PCIe mengklasifikasikan Memory Write sebagai posted request. Posted request tidak memiliki Completion TLP normal yang kembali untuk menyatakan keberhasilan kepada requester. Setelah host bridge menerima write MMIO dari CPU, transaksi dapat terus bergerak melalui buffer dan tahap interconnect meski prosesor sudah melanjutkan eksekusi.

Teknologi 19 Sep 2026 6 min read

State Link PCIe ASPM Menukar Daya Idle dengan Latensi Keluar

Link PCI Express tidak perlu mempertahankan setiap blok transmitter dan receiver dalam kondisi aktif penuh saat tidak ada paket yang bergerak. Active State Power Management, atau ASPM, memungkinkan link memasuki state berdaya lebih rendah selama periode idle dan kembali ke L0 ketika traffic muncul lagi. Mekanisme ini berada di bawah I/O aplikasi. Software dapat menjalankan operasi storage, network, atau perangkat yang sama tanpa bergantung pada state link saat itu, tetapi transaksi pertama setelah periode idle dapat menerima delay tambahan ketika link kembali ke operasi aktif.

Teknologi 19 Sep 2026 6 min read

PCIe Posted Write Memisahkan Penyelesaian CPU dari Visibilitas Perangkat

PCIe Posted Write Memisahkan Penyelesaian CPU dari Visibilitas Perangkat Sebuah MMIO store dapat selesai dari sudut pandang CPU ketika write terkait masih bergerak melalui jalur I/O. PCI dan PCIe memory write umumnya bersifat posted: requester tidak menunggu completion response untuk setiap write. Bridge dan logika interconnect dapat menerima transaction lalu membiarkan CPU melanjutkan eksekusi sebelum endpoint mengonsumsinya. Perilaku ini berguna untuk throughput, tetapi menciptakan boundary yang tidak dapat diperlakukan driver seperti memori cache biasa. Program order pada CPU, ordering yang diberikan accessor MMIO, dan bukti bahwa perangkat telah menerima write merupakan properti yang saling berkaitan, tetapi tidak dapat saling menggantikan.

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

MSI-X Memungkinkan Queue Perangkat Menargetkan Jalur Interrupt CPU Terpisah

MSI-X Memungkinkan Queue Perangkat Menargetkan Jalur Interrupt CPU Terpisah Perangkat PCIe multiqueue dapat memindahkan data melalui banyak queue secara bersamaan, tetapi satu jalur interrupt akan mengumpulkan penanganan completion kembali ke satu sinyal. MSI-X menghilangkan pemusatan tersebut dari interface interrupt perangkat. Setiap entry MSI-X yang dialokasikan mewakili message-signaled interrupt yang dapat dikonfigurasi secara independen, sehingga driver dapat mengaitkan queue atau kelas event yang berbeda dengan Linux IRQ dan kebijakan CPU affinity yang berbeda.

Teknologi 19 Sep 2026 4 min read

Memori Perangkat Write-Combining Dapat Menggabungkan Store CPU Sebelum I/O

Memori Perangkat Write-Combining Dapat Menggabungkan Store CPU Sebelum I/O Serangkaian store CPU ke memori perangkat tidak selalu berubah menjadi rangkaian transaksi bus yang identik. Pada mapping write-combining, prosesor dapat menampung store yang berdekatan lalu mengirimkannya sebagai transfer yang lebih besar. Perilaku ini cocok untuk framebuffer dan region perangkat lain yang dirancang menerima penulisan blok, tetapi asumsi tentang ordering dan bentuk transaksi menjadi lebih terbatas. Linux menyediakan kelas mapping ini melalui antarmuka seperti ioremap_wc(). Semantiknya berbeda dari mapping ioremap() default yang digunakan untuk control register biasa.

Teknologi 19 Sep 2026 6 min read

Masking Per-Vector MSI-X Memisahkan Kontrol Interrupt Antar-Queue Perangkat

Masking Per-Vector MSI-X Memisahkan Kontrol Interrupt Antar-Queue Perangkat PCI function yang memakai MSI-X dapat mengekspos beberapa interrupt vector dengan state delivery yang dikontrol secara independen. Software dapat melakukan mask pada satu entry tabel MSI-X sementara entry lain yang aktif tetap dapat mengirim interrupt. Properti ini penting pada perangkat multi-queue karena kontrol interrupt dapat mengikuti pembagian kerja I/O, alih-alih menempatkan semua sumber notifikasi di balik satu state interrupt untuk seluruh perangkat.

Teknologi 17 Sep 2026 6 min read

PCIe ASPM Menukar Latensi Bangun Link dengan Daya Idle

Link PCI Express tidak perlu terus berada pada daya aktif penuh ketika tidak ada paket yang bergerak. Active State Power Management, atau ASPM, memungkinkan pasangan link yang kompatibel memasuki state link berdaya lebih rendah selama periode idle lalu kembali aktif ketika trafik berlanjut. Trade-off-nya langsung: state idle yang lebih dalam dapat menghemat lebih banyak energi, tetapi membutuhkan waktu lebih lama untuk keluar. Sistem karena itu menyeimbangkan daya link dengan latensi tambahan pada transfer berikutnya.

Teknologi 17 Sep 2026 8 min read

NVMe Queue Pair Memisahkan Submission Command dari Completion

NVMe Queue Pair Memisahkan Submission Command dari Completion SSD NVMe tidak mengharuskan CPU menyerahkan setiap storage command langsung ke register perangkat lalu menunggu command tersebut selesai. Sebaliknya, NVMe menempatkan record command dan completion dalam queue yang berada di memori host. Controller membaca command yang menunggu dari submission queue dan menulis hasil ke completion queue terkait. Susunan ini cocok untuk storage PCIe berkecepatan tinggi. Controller SSD modern dapat memproses banyak operasi sekaligus melalui flash channel, die internal, dan pipeline controller. Model queue memungkinkan software menjaga hardware paralel tersebut tetap sibuk tanpa rangkaian panjang penyerahan command secara sinkron.

Teknologi 16 Sep 2026 4 min read

PCIe Relaxed Ordering Memungkinkan Transaksi Melintas dalam Aturan Ordering

PCIe Relaxed Ordering Memungkinkan Transaksi Melintas dalam Aturan Ordering PCI Express membawa request dan completion melalui switch, bridge, dan logika endpoint yang dapat memiliki beberapa transaksi in-flight sekaligus. Strict ordering di antara setiap packet akan membuat banyak transfer independen menunggu di belakang traffic yang tidak memiliki dependency dengannya. Relaxed Ordering menyediakan sinyal protokol yang mengizinkan reordering lebih luas ketika requester dapat menoleransinya. Fitur ini tidak menghapus seluruh constraint ordering. Sebuah transaksi ditandai agar memenuhi syarat untuk bergerak lebih bebas relatif terhadap traffic lain, sementara aturan ordering PCIe tetap menentukan kombinasi mana yang dapat saling melintas. Software dan logika device hanya boleh memakai atribut tersebut ketika reordering tidak dapat mengekspos stale state atau merusak dependency producer-consumer.

Teknologi 16 Sep 2026 5 min read

PCIe Active State Power Management Menukar Daya Idle dengan Exit Latency

Link PCI Express tidak harus tetap berada pada state elektrik yang sepenuhnya aktif ketika tidak ada trafik yang bergerak. Active State Power Management, yang umum disingkat ASPM, memungkinkan pasangan link yang kompatibel menempatkan link ke state berdaya lebih rendah selama periode idle. Tradeoff praktisnya sederhana: state idle yang lebih dalam dapat menghemat lebih banyak daya, tetapi kembali ke operasi aktif membutuhkan waktu. Exit delay tersebut menjadi bagian dari latency yang terlihat ketika trafik baru datang.

Teknologi 16 Sep 2026 3 min read

NVMe Doorbell Register Memberi Tahu Controller tentang Progres Queue

NVMe Doorbell Register Memberi Tahu Controller tentang Progres Queue NVMe menempatkan submission queue dan completion queue di memory host, tetapi controller tetap membutuhkan sinyal ketika software menambahkan command atau selesai mengonsumsi completion entry. Doorbell register menyediakan sinyal tersebut. Software host menulis nilai pointer queue ke register controller yang dipetakan ke memory sehingga device dapat melacak progres tanpa terus-menerus memindai memory host. Mekanisme ini memisahkan penyimpanan queue dari notifikasi queue. Command dan completion entry berada di memory yang dapat diakses DMA, sedangkan write kecil ke register memberi tahu controller bagian queue mana yang berubah.