Bagaimana Cara Kerja SSD?

Di sini, di 2007es.com, kami sering membahas perbedaan antara berbagai jenis struktur NAND - NAND vertikal versus planar, atau sel multi-level (MLC) versussel tingkat tiga(TLC) dan sel tingkat empat (QLC). Sekarang, mari kita bicara tentang pertanyaan relevan yang lebih mendasar: Bagaimana cara kerja SSD pada awalnya, dan bagaimana perbandingannya dengan teknologi yang lebih baru, seperti teknologi penyimpanan non-volatil Intel, Optane?

Untuk memahami bagaimana dan mengapa SSD berbeda dengan cakram pemintalan, kita perlu berbicara sedikit tentang hard drive. Sebuah hard drive menyimpan data pada serangkaian disk magnetik berputar yang disebut piring-piring. Ada lengan aktuator dengan kepala baca / tulis yang terpasang padanya. Lengan ini memposisikan kepala baca-tulis di atas area drive yang benar untuk membaca atau menulis informasi.

Karena kepala drive harus sejajar dengan area disk untuk membaca atau menulis data, dan disk terus berputar, ada penundaan sebelum data dapat diakses. Drive mungkin perlu membaca dari beberapa lokasi untuk meluncurkan program atau memuat file, yang berarti drive mungkin harus menunggu piringan berputar ke posisi yang tepat beberapa kali sebelum dapat menyelesaikan perintah. Jika drive dalam mode tidur atau dalam kondisi daya rendah, diperlukan beberapa detik lagi agar disk berputar hingga daya penuh dan mulai beroperasi.



Sejak awal, sudah jelas bahwa hard drive tidak mungkin bisa menyamai kecepatan CPU yang dapat beroperasi. Latensi di HDD diukur dalam milidetik, dibandingkan dengan nanodetik untuk CPU Anda pada umumnya. Satu milidetik adalah 1.000.000 nanodetik, dan biasanya diperlukan hard drive 10-15 milidetik untuk menemukan data di drive dan mulai membacanya. Industri hard drive memperkenalkan piringan yang lebih kecil, cache memori dalam disk, dan kecepatan spindel yang lebih cepat untuk melawan tren ini, tetapi hanya ada drive yang begitu cepat yang dapat berputar. Rangkaian penggerak 10.000 RPM Western Digital VelociRaptor adalah rangkaian penggerak tercepat yang pernah dibuat untuk pasar konsumen, sementara beberapa penggerak perusahaan berputar secepat 15.000 RPM. Masalahnya adalah, bahkan penggerak yang berputar tercepat dengan cache terbesar dan piringan terkecil masih sangat lambat sejauh menyangkut CPU Anda.

Bagaimana SSD Berbeda

'Jika saya bertanya kepada orang-orang apa yang mereka inginkan, mereka akan mengatakan kuda yang lebih cepat.' - Henry Ford

Disebut solid-state drive secara khusus karena tidak bergantung pada bagian yang bergerak atau disk yang berputar. Sebagai gantinya, data disimpan ke kumpulan flash NAND. NAND sendiri terdiri dari apa yang disebut transistor gerbang mengambang. Berbeda dengan desain transistor yang digunakan dalam DRAM, yang harus di-refresh beberapa kali per detik, flash NAND dirancang untuk mempertahankan status pengisian daya bahkan saat tidak dinyalakan. Ini menjadikan NAND sebagai jenis memori non-volatile.

Struktur sel flash

Gambar oleh Cyferz di Wikipedia, Creative Commons Attribution-Share Alike 3.0.

Diagram di atas menunjukkan desain sel flash sederhana. Elektron disimpan di floating gate, yang kemudian dibaca sebagai bermuatan '0' atau tidak bermuatan '1'. Ya, dalam flash NAND, 0 berarti data disimpan dalam sel - ini kebalikan dari bagaimana kita biasanya menganggap nol atau satu. Flash NAND diatur dalam grid. Seluruh tata letak kisi disebut sebagai blok, sedangkan baris individual yang menyusun kisi disebut halaman. Ukuran halaman yang umum adalah 2K, 4K, 8K, atau 16K, dengan 128 hingga 256 halaman per blok. Oleh karena itu, ukuran blok biasanya bervariasi antara 256KB dan 4MB.

Satu keuntungan dari sistem ini harus segera terlihat. Karena SSD tidak memiliki bagian yang bergerak, SSD dapat beroperasi dengan kecepatan jauh di atas kecepatan HDD pada umumnya. Bagan berikut menunjukkan latensi akses untuk media penyimpanan tipikal yang diberikan dalam mikrodetik.

SSD-Latency

Gambar oleh CodeCapsule

NAND tidak secepat memori utama, tetapi memiliki beberapa kali lipat lebih cepat daripada hard drive. Meskipun latensi tulis jauh lebih lambat untuk flash NAND daripada latensi baca, latensi tersebut masih melebihi media pemintalan tradisional.

Ada dua hal yang perlu diperhatikan pada grafik di atas. Pertama, perhatikan bagaimana menambahkan lebih banyak bit per sel NAND memiliki dampak yang signifikan pada kinerja memori. Lebih buruk untuk penulisan dibandingkan dengan membaca - latensi sel tingkat tiga (TLC) tipikal 4x lebih buruk dibandingkan dengan NAND sel tingkat tunggal (SLC) untuk pembacaan, tetapi 6x lebih buruk untuk penulisan. Latensi penghapusan juga terpengaruh secara signifikan. Dampaknya juga tidak proporsional - TLC NAND hampir dua kali lebih lambat dari MLC NAND, meskipun hanya menyimpan 50% lebih banyak data (tiga bit per sel, bukan dua). Hal ini juga berlaku untuk drive QLC, yang menyimpan lebih banyak bit pada berbagai level tegangan dalam sel yang sama.

Alasan TLC NAND lebih lambat dari MLC atau SLC berkaitan dengan bagaimana data masuk dan keluar dari sel NAND. Dengan SLC NAND, pengontrol hanya perlu mengetahui apakah bit adalah 0 atau 1. Dengan MLC NAND, sel dapat memiliki empat nilai - 00, 01, 10, atau 11. Dengan TLC NAND, sel dapat memiliki delapan nilai , dan QLC memiliki 16. Membaca nilai yang tepat dari sel membutuhkan pengontrol memori untuk menggunakan tegangan yang tepat untuk memastikan apakah ada sel tertentu yang diisi.

Membaca, Menulis, dan Menghapus

Salah satu keterbatasan fungsional SSD adalah mereka dapat membaca dan menulis data dengan sangat cepat ke drive kosong, menimpa data jauh lebih lambat. Ini karena saat SSD membaca data di tingkat halaman (artinya dari setiap baris dalam kisi memori NAND) dan dapat menulis di tingkat halaman, dengan asumsi sel di sekitarnya kosong, mereka hanya dapat menghapus data di tingkat blok. Ini karena tindakan menghapus flash NAND membutuhkan voltase yang tinggi. Meskipun Anda secara teoritis dapat menghapus NAND di tingkat halaman, jumlah tegangan yang diperlukan menekan sel-sel individu di sekitar sel yang sedang ditulis ulang. Menghapus data di tingkat blok membantu mengurangi masalah ini.

Satu-satunya cara SSD untuk memperbarui halaman yang ada adalah dengan menyalin konten seluruh blok ke dalam memori, menghapus blok, dan kemudian menulis konten dari blok lama + halaman yang diperbarui. Jika drive penuh dan tidak ada halaman kosong yang tersedia, SSD harus terlebih dahulu memindai blok yang ditandai untuk dihapus tetapi belum dihapus, menghapusnya, lalu menulis data ke halaman yang sekarang telah dihapus. Inilah sebabnya mengapa SSD bisa menjadi lebih lambat seiring bertambahnya usia - drive yang sebagian besar kosong penuh dengan blok yang dapat ditulis segera, drive yang sebagian besar penuh lebih cenderung dipaksa melalui seluruh urutan program / penghapusan.

Jika Anda pernah menggunakan SSD, Anda mungkin pernah mendengar tentang sesuatu yang disebut 'pengumpulan sampah'. Pengumpulan sampah adalah proses latar belakang yang memungkinkan drive mengurangi dampak kinerja dari siklus program / penghapusan dengan melakukan tugas-tugas tertentu di latar belakang. Gambar berikut ini langkah-langkah melalui proses pengumpulan sampah.

Pengumpulan sampah

Gambar milik Wikipedia

Perhatikan dalam contoh ini, drive telah memanfaatkan fakta bahwa drive dapat menulis dengan sangat cepat ke halaman kosong dengan menulis nilai baru untuk empat blok pertama (A'-D '). Ada juga dua blok baru, E dan H. Blok A-D sekarang ditandai sebagai kedaluwarsa, artinya mereka berisi informasi yang telah ditandai drive sebagai kedaluwarsa. Selama periode idle, SSD akan memindahkan halaman baru ke blok baru, menghapus blok lama, dan menandainya sebagai ruang kosong. Ini berarti saat berikutnya SSD perlu melakukan penulisan, SSD dapat menulis langsung ke Blok X yang sekarang kosong, daripada menjalankan siklus program / hapus.

Konsep selanjutnya yang ingin saya bahas adalah TRIM. Saat Anda menghapus file dari Windows di hard drive biasa, file tersebut tidak segera dihapus. Sebaliknya, sistem operasi memberi tahu hard drive bahwa ia dapat menimpa area fisik disk tempat data itu disimpan saat diperlukan untuk menulis. Inilah sebabnya mengapa file dapat dibatalkan (dan mengapa menghapus file di Windows biasanya tidak mengosongkan banyak ruang disk fisik sampai Anda mengosongkan tempat sampah daur ulang). Dengan HDD tradisional, OS tidak perlu memperhatikan di mana data sedang ditulis atau bagaimana status relatif blok atau halaman tersebut. Dengan SSD, ini penting.

Perintah TRIM memungkinkan sistem operasi untuk memberi tahu SSD bahwa ia dapat melewati penulisan ulang data tertentu saat berikutnya ia melakukan penghapusan blok. Ini menurunkan jumlah total data yang ditulis drive dan meningkatkan umur panjang SSD. Baik membaca dan menulis merusak flash NAND, tetapi menulis melakukan lebih banyak kerusakan daripada membaca. Untungnya, umur panjang level blok tidak terbukti menjadi masalah dalam flash NAND modern. Lebih banyak data tentang Umur panjang SSD, atas izin Tech Report, dapat ditemukan di sini.

Dua konsep terakhir yang ingin kami bicarakan adalah perataan keausan dan amplifikasi tulis. Karena SSD menulis data ke halaman tetapi menghapus data dalam blok, jumlah data yang ditulis ke drive selalu lebih besar daripada pembaruan yang sebenarnya. Jika Anda membuat perubahan ke file 4KB, misalnya, seluruh blok di dalamnya file 4K harus diperbarui dan ditulis ulang. Bergantung pada jumlah halaman per blok dan ukuran halaman, Anda mungkin akan menulis data sebesar 4MB untuk memperbarui file 4KB. Pengumpulan sampah mengurangi dampak amplifikasi tulis, seperti halnya perintah TRIM. Menjaga sebagian besar drive bebas dan / atau penyediaan berlebih dari produsen juga dapat mengurangi dampak amplifikasi tulis.

Perataan keausan mengacu pada praktik memastikan blok NAND tertentu tidak ditulis dan dihapus lebih sering daripada yang lain. Meskipun perataan keausan meningkatkan harapan hidup dan daya tahan drive dengan menulis ke NAND secara merata, hal itu sebenarnya dapat meningkatkan amplifikasi tulis. Selain itu, untuk mendistribusikan penulisan secara merata di seluruh disk, terkadang perlu memprogram dan menghapus blok meskipun isinya belum benar-benar berubah. Algoritme perataan keausan yang baik berupaya menyeimbangkan dampak ini.

Pengontrol SSD

Seharusnya sekarang sudah jelas bahwa SSD membutuhkan mekanisme kontrol yang jauh lebih canggih daripada hard drive. Itu bukan untuk meremehkan media magnetis - menurut saya HDD layak mendapatkan lebih banyak rasa hormat daripada yang diberikan. Tantangan mekanis yang terlibat dalam menyeimbangkan beberapa kepala baca-tulis nanometer di atas piringan yang berputar pada 5.400 hingga 10.000 RPM tidak ada artinya. Fakta bahwa HDD melakukan tantangan ini sambil memelopori metode baru untuk merekam ke media magnetis dan akhirnya menjual hard disk dengan harga 3-5 sen per gigabyte sungguh luar biasa.

Pengontrol SSD

Pengontrol SSD tipikal

SSD pengendali, bagaimanapun, berada di kelas sendiri. Mereka sering memiliki kumpulan memori DDR3 atau DDR4 untuk membantu mengelola NAND itu sendiri. Banyak drive juga menyertakan cache sel tingkat tunggal yang bertindak sebagai buffer, meningkatkan kinerja drive dengan mendedikasikan NAND cepat untuk siklus baca / tulis. Karena flash NAND di SSD biasanya terhubung ke pengontrol melalui serangkaian saluran memori paralel, Anda dapat menganggap pengontrol drive melakukan beberapa pekerjaan penyeimbangan beban yang sama seperti array penyimpanan kelas atas - SSD tidak menerapkan RAID secara internal tetapi leveling keausan, pengumpulan sampah, dan manajemen cache SLC semuanya memiliki kesamaan di dunia besi yang besar.

Beberapa drive juga menggunakan algoritme kompresi data untuk mengurangi jumlah total penulisan dan meningkatkan masa pakai drive. Pengontrol SSD menangani koreksi kesalahan, dan algoritme yang mengontrol kesalahan bit tunggal menjadi semakin kompleks seiring berjalannya waktu.

Sayangnya, kami tidak dapat membahas terlalu banyak detail tentang pengontrol SSD karena perusahaan mengunci berbagai saus rahasia mereka. Sebagian besar performa flash NAND ditentukan oleh pengontrol yang mendasarinya, dan perusahaan tidak bersedia mengungkapkan terlalu jauh tentang cara mereka melakukan apa yang mereka lakukan, agar tidak memberikan keunggulan kepada pesaing.

Antarmuka

Pada awalnya, SSD menggunakan port SATA, seperti halnya hard drive. Dalam beberapa tahun terakhir, kami telah melihat pergeseran ke drive M.2 - drive yang sangat tipis, panjang beberapa inci, yang dimasukkan langsung ke motherboard (atau, dalam beberapa kasus, ke braket pemasangan pada kartu riser PCIe. Sebuah Samsung Drive 970 EVO Plus ditampilkan di bawah ini.


Drive NVMe menawarkan kinerja yang lebih tinggi daripada driver SATA tradisional karena mereka mendukung antarmuka yang lebih cepat. SSD konvensional yang dipasang melalui SATA memiliki kecepatan ~ 550MB / s dalam hal kecepatan baca / tulis praktis. Drive M.2 mampu menghasilkan kinerja yang jauh lebih cepat hingga kisaran 3,2 GB / dtk.

Jalan di depan

Flash NAND menawarkan peningkatan yang sangat besar dibandingkan hard drive, tetapi bukannya tanpa kekurangan dan tantangannya sendiri. Kapasitas drive dan harga per gigabyte diperkirakan akan terus naik dan turun, tetapi kecil kemungkinan SSD akan mengejar hard drive dalam harga per gigabyte. Node proses yang menyusut merupakan tantangan yang signifikan untuk flash NAND - sementara sebagian besar perangkat keras meningkat saat node menyusut, NAND menjadi lebih rapuh. Waktu retensi data dan kinerja tulis secara intrinsik lebih rendah untuk 20nm NAND daripada 40nm NAND, bahkan jika kepadatan data dan kapasitas total jauh lebih baik. Sejauh ini, kami telah melihat hard disk dengan hingga 96 lapisan dalam pasar, dan 128 lapisan tampaknya masuk akal pada saat ini. Secara keseluruhan, peralihan ke 3D NAND telah membantu meningkatkan kepadatan tanpa menyusutkan node proses atau mengandalkan penskalaan planar.

Sejauh ini, produsen SSD telah memberikan kinerja yang lebih baik dengan menawarkan standar data yang lebih cepat, lebih banyak bandwidth, dan lebih banyak saluran per pengontrol - ditambah penggunaan cache SLC yang kami sebutkan sebelumnya. Meskipun demikian, dalam jangka panjang, NAND diasumsikan akan digantikan oleh hal lain.

Apa yang akan terlihat seperti itu masih terbuka untuk diperdebatkan. Kedua RAM magnetik dan memori perubahan fase telah menampilkan diri sebagai kandidat, meskipun kedua teknologi tersebut masih dalam tahap awal dan harus mengatasi tantangan yang signifikan untuk benar-benar bersaing sebagai pengganti NAND. Apakah konsumen akan memperhatikan perbedaannya adalah pertanyaan terbuka. Jika Anda telah meningkatkan dari NAND ke SSD dan kemudian meningkatkan ke SSD yang lebih cepat, Anda mungkin menyadari bahwa celah antara HDD dan SSD jauh lebih besar daripada celah SSD-ke-SSD, bahkan saat meningkatkan dari drive yang relatif sederhana. Meningkatkan waktu akses dari milidetik ke mikrodetik sangat penting, tetapi meningkatkannya dari mikrodetik ke nanodetik mungkin jatuh di bawah apa yang sebenarnya dapat dilihat manusia dalam banyak kasus.

3D XPoint Intel (dipasarkan sebagai Intel Optane) telah muncul sebagai salah satu penantang potensial untuk flash NAND, dan satu-satunya teknologi alternatif saat ini dalam produksi arus utama. Optane SSD tidak menggunakan NAND - mereka dibuat menggunakan memori non-volatile yang diyakini diimplementasikan dengan cara yang mirip dengan RAM pengubah fase - tetapi mereka menawarkan kinerja sekuensial yang serupa dengan flash drive NAND saat ini, tetapi dengan kinerja yang jauh lebih baik pada antrian drive yang rendah. Drive latency juga kira-kira setengah dari flash NAND (10 mikrodetik, versus 20) dan daya tahan yang jauh lebih tinggi (30 drive-write per hari, dibandingkan dengan 10 full drive write per hari untuk Intel SSD kelas atas).

Optane1

Target kinerja Intel Optane

Optane sekarang tersedia dalam berbagai format, termasuk kartu ekspansi server, SSD pribadi, dan sebagai cache tambahan untuk mempercepat hard drive konvensional. Intel juga telah mendorong Optane sebagai bentuk memori yang terpasang langsung dengan total kapasitas yang jauh lebih banyak daripada DRAM, dengan biaya latensi akses yang lebih tinggi.

Lihat seri 2007es.com Explains kami untuk liputan yang lebih mendalam tentang topik teknologi terpanas saat ini.

Copyright © Seluruh Hak Cipta | 2007es.com