Skip to main content

Solid State Drive

 Solid state drive (SSD) adalah perangkat penyimpanan yang menggunakan sirkuit elektronik, yang disebut juga memory flash, untuk menyimpan data secara permanen, berbeda dengan harddisk yang menggunakan piringan disk. SSD dikenal sebagai media penyimpanan yang lebih cepat dibandingkan harddisk serta lebih tahan terhadap guncangan ketika sedang digunakan.

Solid State Drive (Sumber: unixplus.com)

SSD menyimpan data menggunakan sel semikonduktor yang mana setiap selnya bisa menampung data sebanyak 1 hingga 4 bit. SSD yang menyimpan 1 bit di setiap sel dianggap sebagai yang paling durable, cepat, dan mahal dibandingkan dengan yang menyimpan data sebanyak 2-4 bit di setiap sel. Ada juga SSD yang dibuat dari RAM yang menyimpan data secara permanen menggunakan baterai sehingga RAM tersebut tetap meyimpan data walaupun arus listrik utama dimatikan. Yang terakhir ada teknologi gabungan antara SSD dan HDD yang dinamai SSHD yang bekerja dengan prinsip jika suatu data diakses lebih sering maka data tersebut akan diletakkan pada bagian SSD sementara data yang lebih jarang diakses akan diletakkan pada bagian HDD.

SSD berbasis pada teknologi NAND Flash yang akan mengalami kebocoran energi listrik yang digunakan untuk menyimpan data jika ditinggalkan dalam jangka waktu yang lama. SSD yang sudah digunakan dalam waktu cukup lama akan kehilangan daya simpannya biasanya setelah satu tahun jika disimpan pada ruangan dengan suhu normal. Oleh sebab itu makanya SSD tidak cocok digunakan untuk archival (penyimpanan data dalam jangka waktu yang sangat lama). SSD tidak memiliki batas dalam hal pembacaan data namun memiliki batas dalam hal penulisan data pada setiap selnya.

Sejarah

Pada tahun 1978, SSD berbasis teknologi charged coupled devices (CCD), yang merupakan gabungan dari beberapa kapasitor untuk menyimpan energi listrik. Kemudian teknologi tersebut diganti ke teknologi dynamic random access memory (DRAM) sekitar tahun 1980an yang mana pada setiap sel memorinya terdiri dari kapasitor dan transistor kecil.

Pada 1980an juga, teknologi flash memori mulai dikembangkan oleh Fujio Masuoka di Toshiba yang kemudian mulai dijual oleh Toshiba pada tahun 1987. Kemudian SanDisk mulai mencoba membuat produk SSD yang berbasis teknologi flash memori yang dijual oleh Toshiba dan mematenkannya pada tahun 1989. Produk SSD berbasis flash memori mulai dijual oleh SanDisk pada tahun 1991, yang memiliki kapasitas 20 MB dengan harga 1000 USD yang digunakan pada laptop ThinkPad. Pada tahun 1995, M-Systems memperkenalkan teknologi SSD berbasis memori flash ke insdustri penerbangan dan antariksa untuk menggantikan harddisk yang bisa tahan terhadap kondisi guncangan, getaran, dan suhu yang berubah-ubah. Pada tahun 2007, Fusion-io mengumumkan SSD berbasis PCIe dengan kapasitas 320 GB.

SSD pertama SanDisk pada 1991 (Sumber: storagenewsleter.com)

Arsitektur

Setiap SSD dilengkapi dengan controller yang berisi firmware yang berfungsi untuk:
  • Mengenali bad block/sector
  • Caching baca/tulis
  • Enkripsi
  • Crypto shredding (menghapus kunci enkripsi dengan melakukan overwrite)
  • Deteksi dan memperbaiki error
  • Wear leveling
Wear leveling merupakan suatu teknik untuk memperpanjang umur dari suatu SSD atau teknologi memori flash lainnya. Pada dasarnya, jika suatu blok memori ditulis dan dihapus (atau datanya ditulis ulang) maka blok tersebut akan mengalami wear sehingga tidak mampu menyimpan data lagi. Maka dari itu, controller SSD melakukan teknik wear leveling untuk menyebarkan penulisan data secara merata pada semua blok yang ada pada SSD sehingga diupayakan tidak ada blok SSD yang mengalami wear lebih dulu daripada blok-blok lainnya.

Ilustrasi Wear Leveling (Sumber: umahdroid.com)

Form Factor

Pada umumnya, storage device seperti harddisk pada komputer desktop memiliki form factor 3.5 inch, sedangkan pada laptop memiliki form factor 2.5 inch.

Perbandingan HDD 2.5 inch (kiri) dengan 3.5 inch (Sumber: CNET)

SSD di pasaran sekarang ini banyak yang memakai form factor 2.5 inch karena tidak memerlukan space yang besar. Konektor yang digunakan oleh SSD ini sama dengan yang digunakan oleh harddisk yaitu SATA. Pada harddisk menggunakan SATA, kecepatan baca tulis yang dapat dicapai yaitu sekitar 200MBps paling tinggi. Sementara jika menggunakan SSD dengan konektor SATA, kecepatan baca tulis yang dicapai bisa lebih dari 500MBps serta waktu respon yang lebih kecil dibandingkan dengan harddisk.

Konektor SATA (Sumber: wiseGEEK)

Selain SATA, ada satu konektor lagi yang cukup banyak digunakan yaitu M.2. Biasanya konektor ini digunakan bersamaan dengan teknologi NVMe (Non volatile memory express). Penggabungan antara M.2 dan NVMe menjadikan performa SSD jauh lebih cepat lagi dibandingkan dengan SSD dengan konektor SATA. Kecepatan baca tulis SSD NVMe bisa mencapai 3.5GBps.

SSD NVMe brand Samsung (Sumber: velocitymicro.com)

Kesimpulan

Baik HDD maupun SSD mempunyai keunggulan serta kelemahan masing-masing. Salah satu keunggulan SSD yaitu peformanya yang jauh lebih baik yang sangat dibutuhkan oleh komputer yang memproses data dalam jumlah yang banyak (seperti server) daripada HDD serta tahan dalam kondisi guncangan yang sangat cocok digunakan untuk perangkat bergerak (laptop dan sebagainya). Namun untuk penyimpanan data dalam jumlah besar serta dalam jangka waktu yang lama sejauh ini masih dimenangkan oleh HDD karena harganya yang lebih murah daripada SSD (walaupun sekarang harga SSD juga semakin murah). Maka dari itu penting untuk mencermati dalam hal memilih SSD atau HDD supaya disesuaikan dengan kebutuhan penggunaan kita masing-masing. Sekian.

Sumber: Wikipedia

Comments

Popular posts from this blog

Masalah Klasik Sinkronisasi

 Pada posting kali ini, saya akan membahas mengenai masalah-masalah klasik terkait dengan sinkronisasi yaitu Bounded Buffer Problem, Readers and Writers Problem, dan Dining Philosophers Problem. Readers/Writers dan Bounded Buffer Problem Misalnya suatu program memiliki tugas untuk menerima memproduksi (producing) suatu nilai dan melakukan konsumsi/proses (consuming) terhadap suatu nilai yang sudah diproduksi. Proses produksi dan konsumsi dilakukan secara terus menerus dan paralel. Untuk menampung data hasil produksi maka dibuat suatu array yang disebut buffer dengan ukuran tertentu. Dalam kasus ini kita buat ukurannya 5. Untuk mengetahui berapa banyak nilai yang sudah terisi maka dibuat variabel counter. Berikut ini adalah contoh kode pada bahasa C#. Pertama ada fungsi Produce. Fungsi ini tugasnya adalah untuk membuat angka acak lalu menambahkan angka acak tersebut ke buffer. Setelah itu menaikkan nilai counter. Pada fungsi Consume tugasnya adalah mengambil nilai terakhir yang ada pada