Apa itu NVMe (non-volatile memory express)?
NVMe (non-volatile memory express) adalah protokol transfer data yang dirancang khusus untuk mempercepat kecepatan transfer data pada perangkat penyimpanan berbasis solid-state. Teknologi ini dipakai di sistem kelas enterprise maupun perangkat client.
Seiring berkembangnya teknologi solid-state sebagai media penyimpanan andalan di pasar, interface dan protokol lama seperti Serial ATA (SATA) dan Serial-Attached SCSI (SAS) mulai dirasa kurang mumpuni, terutama untuk kebutuhan data center. Maka dari itu, spesifikasi awal NVMe diluncurkan pada awal 2011 dengan dukungan dari hampir 100 perusahaan teknologi.
NVMe sering digunakan untuk penyimpanan solid-state, memori utama, cache, atau backup. Cara kerja NVMe adalah dengan menghubungkan interface penyimpanan ke CPU melalui bus PCIe (Peripheral Component Interconnect Express). Keunggulan utama dari SSD NVMe berbasis PCIe dibanding penyimpanan lain adalah latensi yang lebih rendah dan performa IOPS (input/output operations per second) yang tinggi.
Selain itu, NVMe juga sangat mendukung teknologi baru seperti Internet of Things (IoT), kecerdasan buatan (AI), dan machine learning yang memerlukan kinerja tinggi dengan latensi rendah.
Artikel ini merupakan bagian dari
Panduan flash memory: Arsitektur, jenis, dan produk
- Yang juga mencakup:
- Perbedaan flash memory dan RAM
- 5 produsen NAND flash yang menyeimbangkan performa dan reliabilitas
- QLC vs TLC SSD: Mana yang cocok untuk kebutuhan kamu?
Bagaimana cara kerja NVMe?
Logika NVMe dijalankan oleh chip kontroler NVMe yang berada di dalam media penyimpanan. Protokol NVMe memungkinkan SSD untuk langsung terhubung ke CPU melalui bus PCIe.
Standar NVMe mendefinisikan interface register, command set, dan fitur-fitur khusus untuk SSD berbasis PCIe, dengan tujuan agar performa tinggi dan interoperabilitas bisa dicapai pada berbagai sistem NVM.
Protokol NVMe bisa digunakan untuk semua bentuk NVM, termasuk SSD berbasis NAND flash. Driver NVMe tersedia untuk banyak OS, termasuk Windows dan Linux.
SSD NVMe dapat terhubung melalui bus PCIe menggunakan konektor M.2 atau U.2. Protokol ini mendukung latensi rendah, IOPS tinggi, dan efisiensi daya.
Perintah NVMe akan memetakan I/O (input/output) ke memori bersama di sistem host melalui interface PCIe. Protokol ini juga mendukung I/O paralel di prosesor multicore agar throughput tinggi tetap terjaga sambil menghindari bottleneck pada CPU.
Kenapa NVMe itu penting?
NVMe memang dirancang untuk penyimpanan non-volatile berperforma tinggi, jadi sangat cocok buat lingkungan komputasi berat dan intensif. Misalnya, NVMe dapat meng-handle beban kerja enterprise dengan footprint infrastruktur yang lebih kecil dan konsumsi daya yang lebih rendah dibanding penyimpanan seperti SAS atau SATA.
Dari segi performa, perbedaan NVMe dengan SAS dan SATA sangat besar. NVMe punya latensi jauh lebih rendah, sehingga cocok untuk aplikasi real-time tanpa bottleneck.
Lingkungan enterprise dan data center jadi pihak yang paling diuntungkan karena NVMe mampu memberi kinerja tinggi secara konsisten.
Apa saja use case NVMe?
Berkat performanya dan kemampuan menangani banyak antrian dan perintah, NVMe cocok untuk:
- Penggunaan profesional dan prosumer, seperti editing grafis atau video.
- Aplikasi dengan I/O antrian dalam seperti database dan beberapa layanan web.
- Komputasi performa tinggi (high-performance computing) yang menuntut latensi sangat rendah.
- Database relasional yang performanya meningkat berkat NVMe flash memory, sehingga jumlah server fisik bisa dikurangi.
- Aplikasi yang perlu akses data secara real-time, seperti aplikasi keuangan dan e-commerce.
Apa saja kelebihan NVMe?
Berikut beberapa keunggulan NVMe:
- NVMe bisa mengirim perintah 2x lebih cepat dibanding SATA/ACHI.
- Slot PCIe bisa mentransfer data jauh lebih besar dibanding drive SATA.
- SSD NVMe hanya punya latensi beberapa mikrodetik, sementara SATA bisa antara 30–100 mikrodetik.
- NVMe menawarkan efisiensi tinggi dalam penyimpanan, manajemen, dan akses data.
- Bandwidth NVMe jauh lebih besar dibanding SATA dan SAS.
- NVMe mendukung berbagai form factor seperti M.2 dan U.2.
- Command set NVMe efisien, sehingga parsing data jadi lebih cepat.
- Mendukung protokol tunneling demi menjaga privasi.
- Lebih hemat daya: saat idle hanya pakai 0.0032 watt dan aktif sekitar 0.08 watt.
- Bekerja di semua sistem operasi utama, dan dalam form factor M.2, bisa dipasang di laptop atau perangkat mobile.
- SSD NVMe bikin proses booting, loading, dan instalasi game jadi lebih cepat di konsol game modern.
Apa saja kekurangan dari NVMe?
Beberapa kekurangan potensial dari NVMe meliputi:
- Tidak kompatibel dengan sistem lama atau lawas.
- Kurang efisien dari sisi biaya untuk penyimpanan data dalam jumlah besar. NVMe cenderung lebih mahal jika dilihat dari kapasitas per GB dibandingkan hard disk tradisional.
- Biasanya hanya tersedia dalam format M.2, yang bisa membatasi pilihan jenis drive.
Apa perbedaan antara SATA, NVMe, dan SAS?
SATA. SATA adalah protokol komunikasi yang dibuat agar komputer bisa terhubung ke sistem penyimpanan berbasis hard disk. Diperkenalkan sejak tahun 2000, SATA menggantikan parallel ATA dan jadi protokol standar penyimpanan di banyak PC. Versi terbarunya mampu mentransfer data sampai 6 Gbps, dengan throughput efektif sekitar 600 MB/s.
Meskipun awalnya dirancang untuk hard disk mekanis, SSD generasi awal juga menggunakan antarmuka SATA agar bisa langsung dipakai di ekosistem yang sudah ada. Ini mempercepat adopsi SSD, tapi sebenarnya bukan antarmuka paling ideal untuk NAND flash dan malah jadi bottleneck sistem.
SATA mendukung hingga 100.000 IOPS, throughput 6 Gbps, latensi kurang dari 1 milidetik, satu queue dengan maksimal 32 command per queue. Bandingkan dengan NVMe yang bisa mencapai 10 juta IOPS, 16 Gbps throughput, latensi di bawah 10 mikrodetik, serta mendukung 65.535 queue dan 65.536 command per queue.
NVMe. NVMe dirancang khusus untuk media flash, jadi kecepatannya dan latensinya jauh lebih unggul dibanding SATA. NVMe juga mendukung kapasitas penyimpanan besar dalam ukuran fisik yang kecil seperti M.2. Performanya umumnya bisa 5 kali lipat lebih baik dibanding SATA.
SATA memang lebih lama digunakan dan biayanya lebih murah, tapi tetap saja itu adalah teknologi lama yang hanya disesuaikan dengan media penyimpanan yang lebih modern.
SAS. NVMe bisa mengelola 64.000 perintah dalam satu queue dan hingga 65.535 queue I/O. Sementara itu, perangkat SAS biasanya hanya bisa menangani hingga 256 perintah, dan SATA maksimal 32 perintah per queue.
Selain itu, SSD NVMe enterprise kelas atas bisa mengonsumsi daya lebih besar dibanding SSD SAS atau SATA. Menurut SCSI Trade Association, SSD SAS yang lebih matang punya kelebihan seperti skalabilitas tinggi, bisa hot-plug, dan failover yang sudah terbukti. Di sisi lain, performa tinggi NVMe sering kali berlebihan untuk beberapa aplikasi biasa.
Sejarah dan perkembangan NVMe
Pengembangan spesifikasi NVMe dimulai oleh Non-Volatile Memory Host Controller Interface Work Group pada tahun 2009 dan versi 1.0-nya resmi dirilis pada 1 Maret 2011. Spesifikasi ini mencakup antarmuka queue, command set untuk NVM, command set untuk administrasi, dan fitur keamanan. Beberapa momen penting lainnya:
- 8 Nov 2012. Dirilis NVMe 1.1 dengan dukungan SSD multi-port PCIe (untuk multipath I/O dan namespace). Termasuk juga penghematan daya otomatis saat idle dan koordinasi antar-host untuk namespace bersama demi meningkatkan fault tolerance.
- Mei 2013. Diselenggarakan Plugfest pertama untuk menguji kepatuhan produk terhadap spesifikasi NVMe dan kompatibilitas antarperangkat NVMe.
- Maret 2014. NVM Express Work Group resmi jadi organisasi nirlaba bernama NVM Express Inc., dengan lebih dari 100 anggota dari perusahaan teknologi besar.
- 3 Nov 2014. Rilis NVMe 1.2 dengan dukungan live firmware update, manajemen daya yang lebih baik, dan perlindungan data end-to-end.
- 17 Nov 2015. Diperkenalkan NVMe Management Interface (NVMe-MI) versi 1.0 yang memungkinkan pengelolaan perangkat NVMe secara out-of-band oleh kontroler manajemen.
- Juni 2017. Rilis NVMe 1.3 dengan fitur sanitize, framework directives baru, dan dukungan virtualisasi.
- Juli 2019. Rilis NVMe 1.4 dengan fitur seperti rebuild assist, persistent event log, host memory buffer, dan persistent memory region.
- 2020. Spesifikasi Zoned Namespaces (ZNS) disahkan, memungkinkan evolusi command set NVMe untuk teknologi baru seperti ZNS, key-value, dan computational storage.
- 3 Juni 2021. Rilis NVMe 2.0 yang dirombak agar pengembangan NVMe lebih cepat dan mudah, sekaligus mendukung keragaman ekosistem NVMe.
- 2022. NVMe 2.0 diperbarui jadi versi 2.0b (Januari) dan 2.0c (Oktober) untuk mendukung fitur seperti ZNS dan manajemen endurance group.
Bentuk Fisik (Form Factor) dan Standar NVMe
Kebutuhan akan antarmuka dan protokol penyimpanan yang bisa memaksimalkan potensi performa NAND flash di lingkungan enterprise jadi alasan utama lahirnya NVMe. Tapi, saat standar koneksi ini dirancang ulang, muncul juga berbagai implementasi antarmuka baru yang tetap sesuai spesifikasi NVMe, tapi dengan fleksibilitas implementasi yang lebih luas.
Beberapa form factor flash storage yang sesuai dengan spesifikasi NVMe antara lain:
- AIC. Add-In Card (AIC) adalah form factor yang memungkinkan produsen membuat kartu sendiri untuk dipasang langsung ke slot PCIe. Karena gak terbatas oleh desain tray penyimpanan konvensional, AIC ini biasanya dirancang untuk kebutuhan khusus—bahkan bisa ditambah prosesor dan chip lain biar performa SSD makin kenceng.
- M.2. M.2 dikembangkan biar bisa memanfaatkan ukuran NAND flash yang kecil dan panasnya yang minim. Jadi, M.2 NVMe ini memang nggak dirancang untuk tray drive tradisional, tapi justru buat ditempatkan di ruang-ruang sempit dalam perangkat. Bentuknya mirip permen karet, lebarnya 22 mm dan panjangnya sekitar 80 mm—meski ada juga yang lebih pendek atau lebih panjang.
- U.2. Berbeda dari M.2, form factor U.2 dirancang supaya muat di slot penyimpanan yang awalnya dibuat untuk drive SATA atau SAS. Bentuknya pun mirip hard disk konvensional, biasanya berukuran 2.5 atau 3.5 inci. Tujuannya biar perusahaan bisa adopsi NVMe tanpa perlu desain ulang sistem penyimpanan mereka.
- EDSFF. Enterprise and Data Center Standard Form Factor (EDSFF) adalah form factor NVMe yang memang ditujukan buat sistem penyimpanan kelas enterprise. Contoh paling terkenal adalah SSD Intel E1.L (panjang) dan E1.S (pendek), yang dulu dikenal sebagai form factor “ruler” karena bentuknya panjang mirip penggaris.
- U.3. U.3 ini fleksibel banget—bisa pasang drive NVMe, SAS, atau SATA di slot server yang sama. Dibangun berdasarkan spesifikasi U.2, U.3 pakai controller tri-mode, konektor SFF-8639, dan universal backplane management. Jadi, nggak perlu lagi adapter terpisah buat setiap jenis drive.
NVMe Over Fabrics (NVMe-oF)
NVM Express Inc. resmi merilis NVMe over Fabrics (NVMe-oF) versi 1.0 pada 5 Juni 2016. Protokol ini dibuat untuk membawa keunggulan NVMe yang cepat dan rendah latensi ke lingkungan jaringan (network fabric) yang menghubungkan server dan sistem storage. Versi 1.1 yang dirilis tahun 2019 menyempurnakan komunikasi di jaringan, manajemen sumber daya I/O yang lebih detail, serta flow control end-to-end. Protokol ini juga mendukung NVMe/TCP.
Transmisi NVMe-oF ini mencakup NVMe-oF yang memakai Remote Direct Memory Access (RDMA). Versi NVMe-oF berbasis RDMA dikembangkan oleh subgroup teknis dari NVM Express Inc., sementara NVMe over Fibre Channel (NVMe/FC) dikembangkan oleh komite T11 dari International Committee for Information Technology Standards.
Sebenarnya, struktur NVMe-oF mirip banget dengan spesifikasi NVMe biasa. Tapi bedanya ada di cara pengiriman dan penerimaan perintah (commands) serta responsenya. NVMe biasa pakai metode mapping ke shared memory via PCIe untuk perangkat lokal. Sebaliknya, NVMe-oF menggunakan sistem message-based buat komunikasi antara host dan storage lewat jaringan.
Target desain dari NVMe-oF adalah supaya komunikasi antara host dan storage NVMe yang terhubung jaringan hanya menambah latensi maksimal 10 mikrodetik saja—super cepat!
Masih bingung mulai dari mana soal NVMe? Tenang, semua jawaban pentingnya bisa kamu temukan di sini.