Menyediakan SSD secara berlebihan - apakah masih tahan?

13

Berbagai sumber (tetapi tidak sangat baru) menunjukkan bahwa ~ 7% dari ruang SSD harus dibiarkan tidak terisi untuk mengurangi keausan drive. Apakah masih berlaku seperti sekarang atau apakah situasinya sudah berubah?

marmistrz
sumber
Itu penting karena masalah mengaktifkan TRIM, seperti yang saya katakan. Saya menduga SU cocok untuk pertanyaan ini, tetapi sekarang perlu diedit untuk menyebutkan Linux!
sourcejedi
ruang kosong memungkinkan untuk kinerja yang lebih baik. Drive wear & amp; air mata terlalu berlebihan dan mungkin mitos sekarang. SSD yang berkualitas baik dapat bertahan lebih dari 10 tahun hingga membuatnya 24/7. ini mungkin artikel yang bagus untuk diulas: howtogeek.com/165472/… - menulis ke blok kosong cukup cepat, tetapi menulis ke blok yang diisi sebagian melibatkan membaca blok yang diisi sebagian, mengubah nilainya, dan kemudian menulisnya kembali. Ulangi ini berkali-kali untuk setiap file yang Anda tulis ke drive karena file tersebut kemungkinan akan mengkonsumsi banyak blok. ---
Sun

Jawaban:

14

Windows umumnya akan menggunakan TRIM. Ini berarti selama Anda memiliki ruang kosong X% di sistem file, drive akan melihat X% tidak terisi. [*] Pemberian berlebihan tidak diperlukan.

Pengecualian: secara historis, SSD dengan pengontrol / firmware Sandforce belum memulihkan kinerja penuh setelah TRIM :(.

Kehilangan kinerja pada drive penuh dapat menjadi signifikan, dan lebih dari beberapa drive lain. Ini akan dikaitkan dengan amplifikasi tulis yang tinggi, dan karenanya meningkatkan keausan. Sumber: ulasan Anandtech.

Jadi itu perlu jika dan hanya jika

  • Anda tidak yakin bahwa TRIM akan digunakan. AFAIK masih belum diaktifkan secara default di Linux, karena masalah kinerja dengan beberapa lama & amp; drive berperilaku buruk.
  • ATAU Anda khawatir mengisi drive Sandforce (dan bahwa konten tidak akan dapat dikompresi oleh smart controller).

Tidak terlalu sulit untuk mengaktifkan TRIM di Linux, dan Anda tidak akan menemukan masalah.

Untungnya, beberapa merek paling populer membuat pengontrol sendiri. Pengontrol Sandforce tidak sepopuler dulu. Masalah Sandforce membuat saya skeptis tentang desain pengontrol "pintar" tertentu, yang sangat agresif pada masanya. Maaf untuk Sandforce tapi saya tidak punya referensi untuk model pengontrol yang tepat terpengaruh.


[*] Sistem file seperti memiliki banyak ruang kosong juga, untuk mengurangi fragmentasi. Jadi TRIM hebat, karena Anda tidak harus menambahkan dua margin keamanan bersama, ruang kosong yang sama membantu keduanya :) Drive dapat memanfaatkan ruang yang tidak dialokasikan untuk meningkatkan kinerja, serta menghindari keausan tinggi seperti yang Anda katakan.

sourcejedi
sumber
Apakah mungkin mendeteksi pengontrol Sandforce setelah SSD terpasang?
marmistrz
Tidak ada pembacaan standar atau tes yang saya ketahui. Anda perlu tahu apa drive itu & amp; coba cari itu. Tentang yang dapat saya lihat adalah "nomor model" mis. di GNOME Disks seperti "M4-CT128M4SSD2", yang mungkin aneh untuk dicocokkan. Maaf lagi. Saya percaya Samsung menggunakan pengontrol mereka sendiri, dan Crucial / Micron menggunakan Marvell. OCZ / Toshiba telah menggunakan berbagai pengontrol termasuk Sandforce.
sourcejedi
Ini mengasumsikan bahwa Anda sebenarnya memiliki ruang kosong pada sistem file, kan? : D
endolith
Jelaskan secara spesifik bagian mana yang Anda tanggapi, ini sudah lebih dari setahun yang lalu. Saya pikir maksud Anda "[hipotesis] saya tidak punya disiplin, perlu sistem saya untuk melawan melanjutkan penyalahgunaan, dan tidak memiliki perangkat lunak untuk mengatur alarm tanda air tinggi ". Yang merupakan kritik yang benar-benar valid, meskipun menarik dari seseorang yang akan mempertimbangkan penyediaan berlebihan di tempat pertama.
sourcejedi
6

Pengontrol SSD modern cukup pintar sehingga overprovisioning biasanya tidak diperlukan untuk penggunaan sehari-hari. Namun, masih ada situasi, terutama di lingkungan pusat data, di mana penyediaan berlebihan direkomendasikan. Untuk memahami mengapa overprovisioning bisa bermanfaat, perlu dipahami bagaimana SSD bekerja.

SSD harus mengatasi keterbatasan memori flash saat menulis data

SSD menggunakan jenis memori yang disebut Memori flash NAND . Tidak seperti hard drive, sel NAND yang berisi data tidak dapat ditimpa langsung; drive perlu menghapus data yang ada sebelum dapat menulis data baru. Selanjutnya, saat SSD menulis data halaman yang biasanya berukuran 4 KB hingga 16 KB, mereka hanya dapat menghapus data dalam kelompok halaman yang disebut besar blok , biasanya beberapa ratus KB hingga beberapa MB dalam ukuran SSD modern.

NAND juga memiliki daya tahan tulis yang terbatas . Untuk menghindari penulisan ulang data yang tidak perlu untuk menghapus blok, dan untuk memastikan bahwa tidak ada blok yang menerima jumlah penulisan yang tidak proporsional , drive mencoba untuk menyebar menulis, terutama menulis acak kecil, ke blok yang berbeda. Jika penulisan mengganti data lama, itu menandai halaman lama sebagai tidak valid. Setelah semua halaman di blok ditandai tidak valid, drive bebas untuk menghapusnya tanpa harus menulis ulang data yang valid.

SSD membutuhkan ruang kosong untuk berfungsi secara optimal, tetapi tidak setiap beban kerja kondusif untuk mempertahankan ruang kosong

Jika drive memiliki sedikit atau tidak ada ruang kosong yang tersisa, itu tidak akan dapat menyebar menulis. Sebagai gantinya, drive akan perlu menghapus blok segera saat menulis dikirim ke drive, menulis ulang data yang valid dalam blok tersebut ke dalam blok lain. Ini menghasilkan lebih banyak data yang ditulis ke NAND daripada dikirim ke drive, sebuah fenomena yang dikenal sebagai tulis amplifikasi . Amplifikasi tulis khususnya diucapkan dengan beban kerja intensif tulis acak, seperti pemrosesan transaksi online (OLTP) , dan perlu dijaga agar tetap minimum karena ini mengakibatkan berkurangnya kinerja dan daya tahan.

Untuk mengurangi amplifikasi tulis, kebanyakan sistem modern mendukung perintah yang disebut MEMANGKAS , yang memberitahu drive blok mana yang tidak lagi berisi data yang valid sehingga bisa dihapus. Ini diperlukan karena drive seharusnya mengasumsikan bahwa data yang dihapus secara logis oleh sistem operasi masih valid, yang menghambat kemampuan drive untuk mempertahankan ruang kosong yang memadai.

Namun, TRIM kadang-kadang tidak mungkin, seperti ketika drive berada di dalam selungkup eksternal (sebagian besar selungkup tidak mendukung TRIM) atau ketika drive digunakan dengan sistem operasi yang lebih lama. Lebih jauh lagi, di bawah beban kerja acak-intensif yang sangat tinggi, menulis akan tersebar di wilayah besar NAND yang mendasarinya, yang berarti bahwa penulisan ulang paksa data dan amplifikasi penulisan petugas dapat terjadi walaupun drive hampir tidak penuh.

SSD modern mengalami penguatan penulisan yang jauh lebih sedikit daripada drive yang lebih lama, tetapi beberapa beban kerja masih dapat mengambil manfaat dari penyediaan yang berlebihan

SSD paling awal memiliki firmware yang kurang matang yang cenderung menulis ulang data lebih sering daripada yang diperlukan. Pengontrol Indilinx dan JMicron Awal ( JMF602 terkenal karena kinerja penulisan acak yang gagap dan buruk ) menderita amplifikasi tulis yang sangat tinggi di bawah beban kerja tulis-acak yang intensif, kadang-kadang melebihi 100x. (Bayangkan menulis lebih dari 100 MB data ke NAND ketika Anda hanya mencoba menulis 1 MB!). Pengontrol yang lebih baru, dengan manfaat kekuatan pemrosesan yang lebih tinggi, algoritma manajemen flash yang ditingkatkan, dan dukungan TRIM, jauh lebih mampu menangani situasi ini, meskipun beban kerja tulis-acak yang berat masih dapat menyebabkan amplifikasi tulis lebih dari 10x pada SSD modern .

Overprovisioning menyediakan drive dengan wilayah yang lebih besar ruang bebas untuk menangani penulisan acak dan menghindari penulisan ulang data secara paksa. Semua SSD terlalu banyak tersedia setidaknya pada tingkat minimal; beberapa hanya digunakan perbedaan antara GB dan GiB untuk menyediakan sekitar 7% ruang cadangan untuk drive untuk bekerja dengan, sementara yang lain memiliki lebih banyak penyediaan untuk mengoptimalkan kinerja untuk kebutuhan aplikasi spesifik. Sebagai contoh, SSD perusahaan untuk OLTP tulis-berat atau beban kerja basis data mungkin memiliki 512 GiB NAND fisik namun memiliki kapasitas yang diiklankan sebesar 400 GB, daripada SSD konsumen SSD 480 hingga 512 GB dengan jumlah NAND yang serupa.

Jika beban kerja Anda sangat menuntut, atau jika Anda menggunakan drive di lingkungan di mana TRIM tidak didukung, Anda dapat secara manual menyediakan ruang yang lebih besar dengan mempartisi drive sehingga beberapa ruang tidak digunakan. Misalnya, Anda dapat mempartisi SSD 512 GB menjadi 400 GB dan membiarkan ruang yang tersisa tidak terisi, dan drive akan menggunakan ruang yang tidak terisi sebagai ruang cadangan. Namun perlu dicatat bahwa ruang yang tidak terisi ini harus dipangkas jika telah ditulis sebelumnya; jika tidak, itu tidak akan bermanfaat karena drive akan melihat ruang yang ditempati. (Utilitas Partisi harus cukup pintar untuk melakukan ini, tapi saya tidak 100% yakin; lihat "Apakah Windows memangkas ruang tanpa partisi (tidak diformat) pada SSD?" )

Jika Anda hanya konsumen biasa, penyediaan berlebihan biasanya tidak diperlukan

Dalam lingkungan konsumen tipikal di mana TRIM didukung, SSD kurang dari 70-80% penuh, dan tidak terus menerus dibanting dengan penulisan acak, amplifikasi penulisan biasanya tidak menjadi masalah dan penyediaan berlebihan biasanya tidak diperlukan.

Pada akhirnya, sebagian besar konsumen tidak akan menulis data yang hampir cukup ke disk untuk memusnahkan NAND dalam kehidupan layanan yang dimaksud dari sebagian besar SSD, bahkan dengan amplifikasi tulis yang tinggi, jadi itu bukan sesuatu untuk dilupakan.

bwDraco
sumber
1

Ukuran ruang tambahan sangat berbeda antara model drive SSD, tetapi secara umum ini masih benar.

Tomasz Klim
sumber
Apakah Anda punya referensi untuk ini?
Léo Lam
Apakah maksud Anda referensi untuk drive tertentu? Banyak drive (tidak hanya SSD) memiliki referensi teknis publik, tetapi maaf, saya tidak punya waktu untuk mencari. Namun jika Anda tertarik pada referensi umum, periksa ini: samsung.com/global/business/semiconductor/minisite/SSD/…
Tomasz Klim
1
Ya, saya bertanya-tanya apakah ini masih berlaku untuk semua drive, atau hanya untuk model atau merek tertentu, karena jawaban lain menunjukkan bahwa penyediaan yang berlebihan tidak lagi diperlukan pada drive terbaru.
Léo Lam
Jawaban lainnya tidak tepat. Memang drive dengan pengontrol Sandforce memiliki banyak ruang tambahan. Itu sepenuhnya benar. Tetapi juga setiap pengontrol SSD lainnya menggunakan ruang tambahan, hanya saja tidak sebanyak. Karena ini mungkin tidak akan berubah.
Tomasz Klim
1
Dari dokumen untuk Samsung SSD: "selalu ada opsi untuk secara manual menyisihkan ruang tambahan untuk kinerja yang lebih ditingkatkan lagi (misalnya di bawah beban kerja yang menuntut)", yaitu mereka menyarankan Anda tidak perlu mulai mempertimbangkan ini kecuali Anda memiliki " menuntut beban kerja ".
sourcejedi