Pemacu wujud padat

**Pemacu wujud padat** atau ****, disingkat **SSD**, adalah perangkat penyimpanan wujud padat yang menggunakan rakitan rangkaian terpadu untuk menyimpan data secara terus-menerus, biasanya menggunakan memori kilat, dan berfungsi sebagai penyimpanan sekunder dalam hierarki penyimpanan komputer. Dalam bahasa Inggris, selain "", perangkat ini terkadang juga disebut "" dan "", walau SSD sebenarnya tidak memiliki cakram pemintalan fisik dan kepala baca-tulis bergerak, sehingga SSD berbeda dengan cakram keras (HDD) dan cakram liuk.

Dibandingkan dengan kandar elektromekanis, SSD biasanya lebih tahan terhadap guncangan fisik, berjalan secara diam-diam, dan memiliki waktu akses yang lebih cepat dan latensi yang lebih rendah. SSD menyimpan data dalam sel semikonduktor. Pada 2019, sel dapat berisi antara 1 dan 4 bit data. Perangkat penyimpanan SSD memiliki sifat yang berbeda-beda sesuai dengan jumlah bit yang disimpan di setiap sel, dengan sel bit tunggal ("SLC") umumnya jenis yang paling handal, tahan lama, cepat, dan mahal, dibandingkan dengan sel 2 dan 3 bit ("MLC" dan "TLC"), dan akhirnya sel-sel bit quad ("QLC") digunakan untuk perangkat konsumen yang tidak memerlukan sifat ekstrem seperti itu dan merupakan yang termurah dari keempatnya. Selain itu, memori 3D XPoint (dijual oleh Intel di bawah merek Optane), menyimpan data dengan mengubah resistansi listrik sel alih-alih menyimpan muatan listrik dalam sel, dan SSD yang dibuat dari RAM dapat digunakan untuk kecepatan tinggi, ketika data bertahan setelah daya kehilangan tidak diperlukan, atau dapat menggunakan daya baterai untuk menyimpan data saat sumber dayanya yang biasa tidak tersedia.

SSD yang berdasar *[[NAND Flash]]* perlahan akan bocor dari waktu ke waktu jika dibiarkan dalam waktu lama tanpa daya. Hal ini menyebabkan *hard disk* yang sudah usang (yang telah melebihi peringkat ketahanannya) mulai kehilangan data biasanya setelah satu tahun (jika disimpan pada suhu 30&nbsp;°C) hingga dua tahun (pada suhu 25&nbsp;°C) dalam penyimpanan; untuk kandar baru membutuhkan waktu lebih lama. Oleh karena itu, SSD tidak cocok untuk penyimpanan arsip. 3D XPoint menjadi kemungkinan pengecualian untuk cara kerja ini, tetapi ini masih teknologi yang relatif baru dengan ciri-ciri retensi data jangka panjang yang tidak diketahui.

## Pengembangan dan sejarah

### SSD awal menggunakan RAM dan teknologi serupa
pada awal — jika bukan yang pertama — perangkat penyimpanan semikonduktor yang kompatibel dengan antarmuka hard drive (misalnya SSD seperti yang ditentukan) adalah StorageTek STC 4305 1978. STC 4305, pengganti yang kompatibel dengan plug untuk disk drive kepala tetap IBM 2305, awalnya menggunakan charge-coupled devices (CCD) untuk penyimpanan dan akibatnya dilaporkan tujuh kali lebih cepat daripada produk IBM dengan harga setengahnya ($400.000 untuk kapasitas 45 MB). Kemudian beralih ke DRAM. Sebelum StorageTek SSD ada banyak DRAM dan core (mis. DATARAM BULK Core, 1976) produk dijual sebagai alternatif untuk HDD tetapi produk ini biasanya memiliki antarmuka memori dan bukan SSD seperti yang didefinisikan.

Pada akhir 1980-an, Zitel menawarkan produk SSD berbasis keluarga DRAM, dengan nama dagang "RAMDisk" untuk digunakan pada sistem oleh UNIVAC dan Perkin-Elmer, antara lain.

### SSD berbasis flash

Dasar untuk SSD berbasis flash, memori flash, diciptakan oleh Fujio Masuoka di Toshiba pada 1980, dan dikomersialkan oleh Toshiba pada 1987. Pendiri SanDisk Corporation (saat itu SunDisk) Eli Harari dan Sanjay Mehrotra, bersama dengan Robert D. Norman, melihat potensi memori flash sebagai alternatif untuk hard drive, dan mengajukan paten untuk SSD berbasis flash pada tahun 1989. SSD berbasis flash komersial pertama dikirimkan oleh SunDisk pada tahun 1991. Itu adalah 20 MB SSD dalam konfigurasi PCMCIA, dan dijual OEM sekitar $1.000 dan digunakan oleh IBM di laptop ThinkPad. Pada tahun 1998, SanDisk memperkenalkan SSD dalam faktor bentuk 2½ dan 3½ dengan antarmuka PATA.

Pada tahun 1995, STEC, Inc. memasuki bisnis memori flash untuk perangkat elektronik konsumen.

#### Perusahaan flash drive
Tampilan atas dan bawah model 2,5 inci 100 GB SATA 3.0 (6 Gbit / s) dari Intel DC S3700 seriesEnterprise flash drive (EFD) dirancang untuk aplikasi yang membutuhkan kinerja I/O (IOPS) tinggi, keandalan, efisiensi energi dan, baru-baru ini, kinerja yang konsisten. Dalam kebanyakan kasus, EFD adalah SSD dengan spesifikasi yang lebih tinggi, dibandingkan dengan SSD yang biasanya digunakan di komputer notebook. Istilah ini pertama kali digunakan oleh EMC pada Januari 2008, untuk membantu mereka mengidentifikasi produsen SSD yang akan menyediakan produk yang memenuhi standar yang lebih tinggi ini. Tidak ada badan standar yang mengontrol definisi EFD, sehingga setiap produsen SSD dapat mengklaim untuk menghasilkan EFD ketika sebenarnya produk tersebut mungkin tidak benar-benar memenuhi persyaratan tertentu.

### Drive menggunakan teknologi memori persisten lainnya
Pada 2017, produk pertama dengan memori 3D Xpoint dirilis di bawah merek Intel Optane. 3D Xpoint sepenuhnya berbeda dari NAND flash dan menyimpan data menggunakan prinsip yang berbeda.

## Fitur dan teknologi

### Tentang TRIM

TRIM merupakan sebuah perintah yang langsung ditujukan kepada perangkat tegar dari SSD. Jika Anda belum tahu, perangkat tegar itu sama dengan BIOS komputer pada umumnya.

Sebuah media penyimpanan akan selalu menulis dan membaca data. Saat menghapus sebuah data, hal tersebut sebenarnya juga merupakan sebuah kegiatan menulis data pula. Di sebuah hard disk, kegiatan penghapusan data tidak sepenuhnya terhapus. Yang terhapus adalah sebuah pranala yang merujuk pada data tersebut di rentetan data yang disebut dengan *Table of Contents*. Saat ada data yang mau ditulis di sektor yang sama, data baru tersebut akan ditimpa langsung di sektor yang lama. Hal ini disebut dengan *overwriting*.

Dalam hard disk, kegiatan overwrite ini adalah biasa. Sayangnya, tidak untuk SSD. Kegiatan *overwriting* akan menimbulkan “sampah data” atau bahasa Inggrisnya adalah *garbage*. *Garbage* ini yang menyebabkan sebuah SSD akan melambat seiring dengan waktu karena data lama masih ada sehingga membuat SSD harus memilah antara data lama dengan yang baru. Hal ini membuat SSD lamban dalam membaca data.

Di sinilah kegunaan TRIM. TRIM memastikan saat sistem operasi ingin menulis di sektor yang sama, data yang lama akan terhapus total tanpa ada sampah lagi. Selain itu, fungsi TRIM juga akan membuat semua sektor yang dihapus dan diformat menjadi bersih. Hal ini akan membuat sebuah SSD menjadi cepat sama seperti yang baru.

## Arsitektur dan fungsi
Komponen utama SSD adalah pengontrol dan memori untuk menyimpan data. Komponen memori utama dalam SSD dulunya adalah memori volatil DRAM, tetapi sejak 2009 lebih umum NAND flash memori non-volatil.

### ''Wear leveling''
Jika blok tertentu diprogram dan dihapus berulang kali tanpa menulis ke blok lain, blok itu akan aus sebelum semua blok lainnya - dengan demikian mengakhiri masa pakai SSD secara prematur. Karena alasan ini, pengontrol SSD menggunakan teknik yang disebut *wear leveling* untuk mendistribusikan penulisan serata mungkin di semua blok flash di SSD.

Dalam skenario yang sempurna, ini akan memungkinkan setiap blok untuk ditulis ke umur maksimum sehingga semuanya gagal pada saat yang sama. Proses untuk mendistribusikan penulisan secara merata membutuhkan data yang ditulis sebelumnya dan tidak berubah (cold data) untuk dipindahkan, sehingga data yang lebih sering berubah (hot data) dapat ditulis ke dalam blok tersebut. Merelokasi data meningkatkan amplifikasi tulis dan menambah keausan memori flash. Desainer berusaha meminimalkan keduanya.

### Memori

#### Memori flash

Sebagian besar produsen SSD menggunakan memori flash NAND non-volatil dalam pembuatan SSD mereka karena biayanya lebih rendah dibandingkan dengan DRAM dan kemampuan untuk menyimpan data tanpa catu daya yang konstan, memastikan persistensi data melalui pemadaman listrik yang tiba-tiba. SSD memori flash awalnya lebih lambat daripada solusi DRAM, dan beberapa desain awal bahkan lebih lambat daripada HDD setelah terus digunakan. Masalah ini diatasi dengan pengontrol yang keluar pada tahun 2009 dan yang lebih baru.

Drive dengan harga lebih rendah biasanya menggunakan memori flash triple-level cell (TLC) atau multi-level cell (MLC), yang lebih lambat dan kurang reliabel dibandingkan memori flash single-level cell (SLC). Ini dapat dikurangi atau bahkan dibalik dengan struktur desain internal SSD, seperti interleaving, perubahan pada penulisan algoritma, dan penyediaan berlebih yang lebih tinggi (lebih banyak kapasitas berlebih) yang dapat digunakan oleh algoritma wear-leveling.

Solid-state drive yang mengandalkan teknologi V-NAND, di mana lapisan sel ditumpuk secara vertikal, telah diperkenalkan.

#### DRAM
SSD yang didasarkan pada memori volatil seperti DRAM dicirikan oleh akses data yang sangat cepat, umumnya kurang dari 10 mikrodetik, dan digunakan terutama untuk mempercepat aplikasi yang jika tidak akan ditahan oleh latensi SSD flash atau HDD tradisional.

SSD berbasis DRAM biasanya menggabungkan baterai internal atau adaptor AC/DC eksternal dan sistem penyimpanan cadangan untuk memastikan persistensi data saat tidak ada daya yang disuplai ke drive dari sumber eksternal. Jika daya hilang, baterai memberikan daya sementara semua informasi disalin dari memori akses acak (RAM) ke penyimpanan cadangan. Saat daya dipulihkan, informasi disalin kembali ke RAM dari penyimpanan cadangan, dan SSD melanjutkan operasi normal (mirip dengan fungsi hibernasi yang digunakan dalam sistem operasi modern).

### Cache atau buffer
SSD berbasis flash biasanya menggunakan DRAM dalam jumlah kecil sebagai cache yang mudah menguap, mirip dengan buffer di drive hard disk. Direktori penempatan blok dan data leveling keausan juga disimpan dalam cache saat drive beroperasi. Satu produsen pengontrol SSD, SandForce, tidak menggunakan cache DRAM eksternal pada desain mereka tetapi masih mencapai kinerja tinggi. Penghapusan DRAM eksternal tersebut mengurangi konsumsi daya dan memungkinkan pengurangan ukuran SSD lebih lanjut.

### Baterai atau superkapasitor
Komponen lain dalam SSD yang berkinerja lebih tinggi adalah kapasitor atau beberapa bentuk baterai, yang diperlukan untuk menjaga integritas data sehingga data dalam cache dapat dialirkan ke drive saat daya hilang; beberapa bahkan mungkin memiliki daya yang cukup lama untuk mempertahankan data dalam cache sampai daya dilanjutkan. Dalam kasus memori flash MLC, masalah yang disebut *lower page corruption* dapat terjadi ketika memori flash MLC kehilangan daya saat memprogram upper page. Hasilnya adalah data yang ditulis sebelumnya dan dianggap aman dapat rusak jika memori tidak didukung oleh superkapasitor jika daya tiba-tiba hilang. Masalah ini tidak ada dengan memori flash SLC.

Sebagian besar SSD kelas konsumen tidak memiliki baterai atau kapasitor internal; di antara pengecualian adalah seri Crucial M500 dan MX100, seri Intel 320, dan seri Intel 710 dan 730 yang lebih mahal. SSD kelas perusahaan, seperti seri Intel DC S3700, biasanya memiliki baterai atau kapasitor bawaan.

### Antarmuka host

Antarmuka host secara fisik merupakan konektor dengan pensinyalan yang dikelola oleh pengontrol SSD. Ini paling sering salah satu antarmuka yang ditemukan di HDD. Mereka termasuk:

* Serial attached SCSI (SAS-3, 12.0&nbsp;Gbit/s) umumnya ditemukan di peladen
* Serial ATA dan varian mSATA (SATA 3.0, 6.0&nbsp;Gbit/s)
* PCI Express (PCIe 3.0 ×4, 31.5&nbsp;Gbit/s)
* M.2 (6.0&nbsp;Gbit/s untuk SATA 3.0 antarmuka perangkat logis, 31.5&nbsp;Gbit/s untuk PCIe 3.0 ×4)
* U.2 (PCIe 3.0 ×4)
* Fibre Channel (128 Gbit/s)hampir secara eksklusif ditemukan di peladen
* USB (10 Gbit/s)
* Parallel ATA (UDMA, 1064&nbsp;Mbit/s) kebanyakan diganti dengan SATA
* (Parallel) SCSI (40 Mbit/s-&nbsp;2560&nbsp;Mbit/s) umumnya ditemukan di server, sebagian besar digantikan oleh SAS; SSD berbasis SCSI terakhir diperkenalkan pada 2004

SSD mendukung berbagai antarmuka perangkat logis, seperti Advanced Host Controller Interface (AHCI) dan NVMe. Antarmuka perangkat logis menentukan kumpulan perintah yang digunakan oleh sistem operasi untuk berkomunikasi dengan SSD dan host bus adapters (HBA).

## Kerusakan SSD
SSD memiliki mode kegagalan yang sangat berbeda dari hard drive magnetik tradisional. Karena desainnya, beberapa jenis kegagalan tidak dapat diterapkan (motor atau kepala magnet tidak dapat gagal, karena mereka tidak diperlukan dalam SSD). Sebaliknya, jenis kegagalan lainnya mungkin terjadi (misalnya, penulisan yang tidak lengkap atau gagal karena kegagalan daya tiba-tiba bisa lebih merupakan masalah daripada dengan HDD, dan jika sebuah chip gagal maka semua data di dalamnya hilang, skenario tidak berlaku untuk drive magnetik). Namun, secara keseluruhan statistik menunjukkan bahwa SSD pada umumnya sangat andal, dan sering terus bekerja jauh melampaui umur yang diharapkan seperti yang dinyatakan oleh pabrikan mereka.

### Mode keandalan dan kegagalan SSD
Tes awal oleh *[[Techreport.com]]* yang berjalan selama 18 bulan selama 2013 - 2015 sebelumnya telah menguji sejumlah SSD untuk penghancuran untuk mengidentifikasi bagaimana dan pada titik mana mereka gagal; tes menemukan bahwa "Semua drive melampaui spesifikasi daya tahan resmi mereka dengan menulis ratusan terabyte tanpa masalah", digambarkan sebagai jauh melampaui ukuran biasa untuk "konsumen biasa". SSD pertama yang gagal adalah drive berbasis TLC - jenis desain yang diharapkan kurang tahan lama dibandingkan SLC atau MLC - dan SSD yang bersangkutan berhasil menulis lebih dari 800.000 GB (800 TB atau 0,8 petabyte) sebelum gagal; tiga SSD dalam tes ini berhasil menulis hampir tiga kali lipat dari jumlah itu (hampir 2,5 PB) sebelum gagal juga. Jadi kemampuan bahkan SSD konsumen menjadi sangat andal sudah stabil.

### Pemulihan data dan penghapusan aman
Solid state drive telah menetapkan tantangan baru bagi perusahaan pemulihan data, karena cara menyimpan data tidak linier dan jauh lebih kompleks daripada hard disk drive. Strategi drive beroperasi secara internal sebagian besar dapat bervariasi antara produsen, dan perintah TRIM nol seluruh rentang berkas yang dihapus. Leveling keausan juga berarti bahwa alamat fisik data dan alamat yang terpapar ke sistem operasi berbeda.

Sedangkan untuk penghapusan data secara aman, perintah ATA Secure Erase dapat digunakan. Program seperti hdparm dapat digunakan untuk tujuan ini.

### Performa
JEDEC Solid State Technology Association (JEDEC) telah menerbitkan standar untuk metrik keandalan:

* Unrecoverable Bit Error Ratio (UBER)
* Terabytes Written (TBW) - Jumlah terabyte yang dapat ditulis ke drive dalam garansi.
* Drive Writes Per Day (DWPD) - Jumlah kali total kapasitas drive dapat ditulis per hari dalam garansi.

## Dukungan sistem berkas untuk SSD

Biasanya sistem berkas yang sama yang digunakan pada hard disk drive juga dapat digunakan pada solid state drive. Biasanya diharapkan sistem berkas untuk mendukung perintah TRIM yang membantu SSD untuk mendaur ulang data yang dibuang (dukungan untuk TRIM tiba beberapa tahun setelah SSD sendiri tetapi sekarang hampir universal). Ini berarti bahwa sistem berkas tidak perlu mengatur leveling keausan atau karakteristik memori flash lainnya, karena ditangani secara internal oleh SSD. Beberapa sistem berkas flash menggunakan desain berbasis log (F2FS, JFFS2) membantu mengurangi amplifikasi penulisan pada SSD, terutama dalam situasi di mana hanya sejumlah kecil data yang diubah, seperti ketika memperbarui metadata sistem file.

### Linux
Dukungan awal untuk perintah TRIM telah ditambahkan ke versi 2.6.28 dari jalur utama kernel Linux.

Sistem berkas ext4, Btrfs, XFS, JFS, dan F2FS termasuk dukungan untuk fungsi discard (TRIM atau UNMAP).

Dukungan kernel untuk operasi TRIM diperkenalkan dalam versi 2.6.33 dari kernel Linux, dirilis pada 24 Februari 2010. Untuk memanfaatkannya, sistem berkas harus dipasang menggunakan parameter `discard`. Partisi swap Linux secara default melakukan operasi pembuangan ketika drive yang mendasarinya mendukung TRIM, dengan kemungkinan untuk mematikannya, atau untuk memilih antara operasi pembuangan satu kali atau dibuang secara terus-menerus. Dukungan untuk antrean TRIM, yang merupakan fitur SATA 3.1 yang menghasilkan perintah TRIM yang tidak mengganggu antrean perintah, diperkenalkan di Linux kernel 3.12, dirilis pada 2 November 2013.

### macOS
Versi sejak Mac OS X 10.6.8 (Snow Leopard) mendukung TRIM tetapi hanya ketika digunakan dengan SSD yang dibeli oleh Apple. TRIM tidak secara otomatis diaktifkan untuk drive pihak ketiga, meskipun dapat diaktifkan dengan menggunakan utilitas pihak ketiga seperti *Trim Enabler*. Status TRIM dapat diperiksa dalam aplikasi Informasi Sistem atau dalam alat baris perintah`system_profiler`.

Versi sejak OS X 10.10.4 (Yosemite) termasuk `sudo trimforce enable` sebagai perintah Terminal yang memungkinkan TRIM pada SSD non-Apple. Ada juga teknik untuk mengaktifkan TRIM dalam versi yang lebih awal dari Mac OS X 10.6.8, meskipun masih belum pasti apakah TRIM benar-benar digunakan dengan benar dalam kasus-kasus tersebut.

### Microsoft Windows
Versi Microsoft Windows sebelum 7 tidak mengambil tindakan khusus apa pun untuk mendukung solid state drive. Mulai dari Windows 7, sistem berkas NTFS standar menyediakan dukungan TRIM (sistem berkas lain pada Windows tidak mendukung TRIM).

Secara default, Windows 7 dan versi yang lebih baru menjalankan perintah TRIM secara otomatis jika perangkat terdeteksi sebagai solid-state drive. Untuk mengubah perilaku ini, di kunci Registri `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem` Value `DisableDeleteNotification` dapat diatur ke 1 untuk mencegah penyimpanan massal dari menerbitkan perintah TRIM. Ini dapat berguna dalam situasi di mana pemulihan data lebih disukai daripada perataan keausan (dalam kebanyakan kasus, TRIM mengatur ulang semua ruang yang kosong yang tidak dapat dikembalikan).

### ZFS
Solaris pada versi 10 Pembaruan 6 (dirilis pada Oktober 2008), dan versi terbaru OpenSolaris, Solaris Express Community Edition, Illumos, Linux dengan ZFS di Linux, dan FreeBSD semua dapat menggunakan SSD sebagai penguat kinerja untuk ZFS. SSD dengan latensi rendah dapat digunakan untuk ZFS Intent Log (ZIL), yang diberi nama SLOG. Ini digunakan setiap kali penulisan sinkron ke drive terjadi. SSD (tidak harus dengan latensi rendah) juga dapat digunakan untuk level 2 Adaptive Replacement Cache (L2ARC), yang digunakan untuk cache data untuk dibaca. Ketika digunakan baik sendiri atau dalam kombinasi, peningkatan besar dalam kinerja umumnya terlihat.

### FreeBSD
ZFS for FreeBSD memperkenalkan dukungan untuk TRIM pada 23 September 2012. Kode membangun peta wilayah data yang dibebaskan; pada setiap penulisan kode berkonsultasi peta dan akhirnya menghapus rentang yang dibebaskan sebelumnya, tetapi sekarang ditimpa. Ada utas prioritas rendah yang TRIMs rentang ketika saatnya tiba. Sistem Berkas Unix (UFS) juga mendukung perintah TRIM.

## Referensi