NVMe menghapus perbedaan antara memori dan penyimpanan





Sejarah penyimpanan adalah perlombaan antara penyimpanan dan kekuatan pemrosesan. Dalam perjalanan ke nirwana komputer, ada kemacetan - penyimpanan miliaran angka nol dan satu. Pemain terbaru di bidang ini adalah Non-Volatile Memory Express (NVMe), yang merupakan gabungan dari beberapa solusi teknis sebelumnya.



Komputer rumah generasi pertama menggunakan disket dan kaset kompak sebagai perangkat penyimpanan tetapi seiring pertumbuhan komputer, begitu pula pentingnya penyimpanan. Pada 1990-an, hard drive tersebar luas, memungkinkan Anda menyimpan megabyte pertama, lalu gigabyte informasi. Akibatnya, kebutuhan akan sistem komunikasi yang cepat antara drive dan seluruh sistem telah berkembang. Pada saat itu, antarmuka ATA (IDE) paling sering digunakan dalam mode Programmed Input-Output (PIO).



Hasilnya, teknologi telah berpindah ke Direct Memory Access (DMA), UDMA, juga dikenal sebagai Ultra ATA dan Parallel ATA, dan antarmuka berbasis SCSI di komputer Apple dan sebagian besar server. Hasilnya, Parallel ATA menjadi Serial ATA (SATA), dan Parallel SCSI menjadi Serial Attached SCSI (SAS). SATA terutama digunakan di laptop dan desktop sebelum kedatangan NVMe dan solid state drive.



Semua antarmuka ini dirancang untuk mengikuti perangkat penyimpanan. Dalam hal ini, NVMe tidak terlihat dengan integrasinya ke dalam sistem. NVMe juga berbeda karena tidak terikat pada antarmuka atau konektor tertentu, yang dapat membingungkan. Siapa yang dapat memisahkan M.2 dan U.2, apalagi protokol mana yang digunakan antarmuka, baik itu SATA atau NVMe?



Mari kita pahami dunia NVMe yang indah dan aneh.



Penampilan yang menipu





Elemen SATA Express, secara fungsional mirip dengan M.2.



Minta siapa pun untuk menunjukkan slot NVMe pada motherboard dan kemungkinan besar Anda akan diperlihatkan gambar slot M.2 karena ini telah menjadi solid state drive (SSD) paling populer di elektronik konsumen. Pada saat yang sama, bahkan slot M.2 dengan solid-state drive yang dimasukkan ke dalamnya mungkin bukan milik NVMe, karena antarmuka ini juga menggunakan SATA.



Papan di sebelah slot M.2 sering menunjukkan teknologi mana yang didukungnya. Ini juga merupakan ide yang baik untuk membaca instruksi untuk motherboard. Alasan kebingungan ini adalah karena awalnya ada standar Mini-SATA (mSATA) untuk TTN, yang menggunakan faktor bentuk Kartu Mini PCIe, yang kemudian berkembang menjadi faktor bentuk M.2 dan antarmuka U.2. Yang terakhir ini lebih seperti antarmuka SATA dan SAS, dan menggabungkan dua saluran, SATA dan PCIe, menjadi satu antarmuka untuk menghubungkan TTN.



Sementara itu, standar M.2 (setelah perjalanan singkat ke standar SATA Express berumur pendek) diperluas untuk mendukung tidak hanya SATA, tetapi juga AHCIdengan NVMe. Oleh karena itu, slot M.2 sering salah disebut sebagai "slot NVMe", padahal NVMe adalah protokol berbasis PCIe yang tidak menentukan faktor bentuk atau jenis konektor apa pun.





Antarmuka M.2 dengan tombol B dan M



Sementara itu, faktor bentuk M.2 sendiri cukup fleksibel - atau membingungkan, sama seperti semua orang. Secara fisik, ini dapat memiliki lebar 12, 16, 22 dan 30 mm, dan panjang penyangga dari 16 hingga 110 mm. Di tepi slot, serangkaian label diterapkan untuk menunjukkan fungsionalitas dan mencocokkan label pada slot itu sendiri. Paling sering ini adalah tanda B dan M dari daftar tanda kunci, yang, misalnya, berisi yang berikut ini:



A: 2x PCIe x1, USB 2.0, I2C dan DP x4.

B: PCIe x2, SATA, USB 2.0 / 3.0, audio, dll.

E: 2x PCIe x1, USB 2.0, I2C, dll.

M: PCIe x4, SATA dan SMBus.



Ternyata ukuran fisik kartu ekspansi M.2 adalah sebanyak 32 buah, dan ini bahkan sebelum kami memperhitungkan 12 kemungkinan modifikasi dari daftar. Untungnya, industri umum tampaknya telah mengadopsi standar lebar 22mm yang umum untuk kartu penyimpanan dengan panjang terbatas. Hasilnya, NVMe TTN ditandai sebagai "2242", yang berarti lebar 22 mm dan panjang 42 mm. Kartu TTN dapat ditandai dengan huruf B, M atau keduanya.



Penting untuk dicatat bahwa saat ini slot M.2 secara aktif digunakan sebagai ekspansi PCIe dalam kondisi sempit. Oleh karena itu, kartu WiFi sering kali menggunakan faktor bentuk M.2.



Mendefinisikan NVMe



Ini membawa kita ke definisi dasar NVMe: ini adalah antarmuka standar untuk drive PCIe yang dipasang langsung. Ini berbeda dari SATA karena yang pertama mengubah protokol PCIe menjadi protokol SATA, yang kemudian harus diinterpretasikan oleh chip khusus pada drive sebelum perintah apa pun yang terkait dengan penyimpanan data dapat dijalankan.



Sebaliknya, NVMe mendefinisikan antarmuka yang dapat langsung digunakan pada OS apa pun yang memiliki driver NVMe. Perintah dikirim ke drive NVMe, yang menjalankannya untuk membaca atau menulis atau melakukan beberapa jenis operasi pemeliharaan seperti TRIM... Karena perangkat apa pun yang mengklaim sebagai perangkat NVMe dapat diandalkan sebagai TTN (NAND Flash, 3D XPoint, dll.), Protokol NVMe dirancang dengan latensi rendah dan kecepatan transfer paket yang tinggi.





Optane SSD dari Intel seperti 3D XPoint bekerja dengan lancar terlepas dari beban kerja



Akhir-akhir ini, fitur NVMe sebagai buffer memori lokal, Host Memory Buffer ( HMB ), semakin populer . Ini adalah upaya untuk menghilangkan kebutuhan buffer data di DRAM menggunakan NAND Flash tipe TTN. Fitur ini menggunakan bagian dari memori sistem sebagai buffer, sementara kehilangan kinerja yang relatif sedikit, sedangkan buffer terutama digunakan untuk menyimpan cache tabel alamat.



Dalam jangka panjang, mengingat laju perkembangan penyimpanan, teknologi seperti 3D XPoint bahkan membuat trik seperti itu tidak diperlukan. Kecepatan akses ke titik 3D yang sama lebih dekat ke DRAM daripada ke NAND Flash. Karena TTN tipe 3D XPoint tidak memerlukan buffer DRAM, peningkatan popularitasnya dapat mengarah pada fakta bahwa NVMe sudah dioptimalkan untuk mereka.



Meretas NVMe





Memori pada inti magnet 64 × 64 (4 kB)



Perlu dipikirkan tentang apa lagi yang bisa dilakukan dengan NVMe, kecuali cara membeli TTN dan meletakkannya di slot M.2 B atau M. Di sana Anda perlu memutuskan apa lebih menarik bagi Anda - meretas drive (biarlah hanya semacam DRAM atau SRAM), atau slot M.2 itu sendiri.



Slot PCIe panjang penuh berukuran besar, dan kartu ekspansi menyediakan banyak ruang untuk komponen besar seperti chip BGA dan sistem pendingin raksasa. Sebaliknya, kartu ekspansi M.2 dirancang untuk solusi kecil dan ringkas yang dapat dimasukkan ke dalam laptop. Anda dapat, misalnya, menggabungkan FPGA dengan SerDes dan perangkat keras PCIe yang diperlukan dalam faktor bentuk M.2 untuk membuat kartu ekspansi yang ringkas untuk laptop dan perangkat yang disematkan.



Peretasan terbaru menyarankan untuk menambahkan dukungan NVMe ke Raspberry Pi, mengganti TTN di Pinebook Pro dengan kartu WiFi, dan membaca NVMe Flash drive dari iPhone menggunakan adaptor PCIe ZIF.



Pada saat yang sama, tidak ada yang melarang mencoba menggabungkan sesuatu yang sangat aneh - misalnya, drive NVMe pada inti magnetis.



Kesimpulan



Melihat kembali puluhan tahun teknologi komputasi, jelas bahwa perbedaan antara memori dan penyimpanan selalu ada. Selain itu, memori selalu berfungsi sebagai perangkat yang mudah menguap seperti SRAM atau DRAM. Akhir-akhir ini, perbedaan ini menjadi semakin tidak signifikan. NAND Flash dengan antarmuka NVMe sudah menjanjikan kita potensi latensi yang sangat rendah dan kecepatan beberapa gigabyte per detik (terutama menggunakan PCIe 4.0) tetapi ini bukanlah akhir dari cerita.



Fitur baru yang paling keren adalah DIMM "memori hanya-baca", yang terletak di slot memori biasa. Mereka menggunakan teknologi solid stateIntel Optane untuk memperluas memori sistem hingga 512GB per modul. Modul-modul ini, tentu saja, sejauh ini hanya berfungsi di server Intel. Mereka digunakan untuk menyangga basis data, yang volume besar tidak memungkinkan penggunaan memori biasa sebagai penyangga (misalnya, terabyte DDR4 DIMM).



Jika kita memiliki perangkat penyimpanan yang sangat cepat dan tidak mudah menguap yang terhubung langsung ke pengontrol memori prosesor, kita dapat mengurangi latensi ke minimum absolut. Dan meskipun 3D XPoint (sebagai semacam memori perubahan fase) belum secepat DDR SDRAM, ini menunjukkan kepada kita apa yang dapat muncul setelah NVMe, ketika perbedaan antara "memori sistem" dan "penyimpanan data" menghilang sepenuhnya atau berubah menjadi tidak dapat dikenali .



All Articles