Apakah ruang disk yang rendah memengaruhi kinerja SSD?

16

Saya bertanya-tanya apakah memiliki ruang kosong kurang dari 5-10GB pada SSD akan memengaruhi kinerja. Apakah ini khusus untuk SSD atau lebih dari aspek sistem operasi?

Misalnya, pada Intel X-25 G2 yang memiliki dukungan TRIM (pada Windows 7).

Gabe
sumber

Jawaban:

14

Sebagian besar SSD akan melambat saat terisi. SSD cenderung memilih blok kosong untuk ditulis, karena mereka hanya dapat memodifikasi blok dengan menghapus dan menulis ulang seluruh blok. Setelah semua blok ini terisi sebagian, maka setiap operasi penulisan akan membutuhkan penghapusan dan penulisan ulang, artinya SSD harus membaca blok menjadi cache, memodifikasi cache dengan data baru, kemudian menghapus blok dan menulis cache. Ini keluar untuk satu operasi membaca dan dua pemrograman untuk setiap blok yang perlu dimodifikasi. Juga, meskipun fragmentasi memiliki efek yang sangat kecil pada SSD, fragmentasi yang tinggi dan fakta bahwa sebagian besar OS tidak mengetahui SSD dapat menyebabkan OS mengeluarkan lebih banyak penulisan daripada yang dibutuhkan. Blok SSD biasanya lebih besar dari unit alokasi OS, jadi jika SSD tidak mengharapkan penulisan tambahan, itu bisa berakhir mengulangi proses tiga langkah yang sama beberapa kali per blok, sehingga memperlambat menulis lebih banyak lagi. Bahkan menghapus file tidak memecahkan masalah ini, karena data tetap ada, dan SSD tidak tahu bahwa itu tidak lagi digunakan, dan terus menulis ulang data yang dihapus ini.

Operasi TRIM, yang didukung drive Anda, memungkinkan OS untuk memberitahu drive untuk menyingkirkan data yang dihapus. Ini memungkinkan drive untuk mendapatkan kembali blok kosong. Namun, satu-satunya sistem operasi yang mendukung TRIM adalah Windows 7, Windows Server 2008 R2, dan distribusi Linux menggunakan kernel 2.6.33 atau lebih baru.

Karena Anda memiliki Windows 7, sistem Anda menggunakan perintah TRIM, dan dapat mengklaim kembali blok yang tidak digunakan. Namun, TRIM tidak mengatur ulang data, jadi jika drive hampir penuh, fragmentasi tinggi masih dapat menyebabkan data menempati sebagian blok, dan membatasi efektivitas TRIM. Hal terbaik untuk dilakukan sejauh yang saya tahu adalah membebaskan ruang disk sebanyak yang Anda bisa. Jika Anda dapat mengosongkan ruang yang cukup, maka blok penuh dapat dipangkas dan drive Anda akan mendapatkan kecepatan kembali. Juga, ada program defragmentasi yang diarahkan pada SSD, yang berarti bahwa mereka hanya akan cukup defrag untuk memangkas beberapa blok tambahan, tapi saya tidak tahu ada yang gratis. Saya pikir Diskeeper seharusnya melakukan ini, tapi mahal dan saya pernah mendengar ulasan yang sangat beragam.

TuxRug
sumber
1
Lapisan FTL berada di bawah level sistem file. Walaupun mungkin terlihat seperti filesystem terfragmentasi, ini TIDAK berarti bahwa lapisan FTL terfragmentasi. Program SSD "defrag" itu tidak berharga, mereka tidak bisa mendapatkan akses ke lapisan FTL, itu adalah minyak ular. Sekarang, kurangnya ruang kosong memang membuat SSD lebih lambat, karena memiliki lebih sedikit ruang untuk melakukan pengumpulan sampah, dan perataan keausan, & semua hal bagus itu. SSD tidak secara otomatis memilih blok kosong per se, mereka perlu memperhitungkan leveling keausan juga. Intinya adalah, filesystem TIDAK tahu apa-apa tentang bagaimana ia menyimpan sesuatu pada lapisan FTL
Time Twin
Filesystem tidak dioptimalkan untuk SSD gagal memangkas sebanyak, yang memiliki efek yang sama dengan ruang kosong yang lebih kecil.
Basilev
4

Dalam artikel yang luar biasa ini di AnandTech, mereka mengeksplorasi hubungan antara area cadangan dan kinerja SSD. Intinya adalah bahwa semua SSD mendapatkan / menjaga kinerja ketika membiarkan sebagian ruangnya tidak digunakan. Kadang-kadang bahkan ada perbedaan antara 25% ruang kosong dan 50% ruang kosong.

Stefan Seidel
sumber
3

Itu tergantung pada model SSD tertentu, vendor dan pola penggunaan.

Dalam beberapa situasi, SSD yang digunakan secara intensif dapat memberikan kinerja yang terdegradasi secara signifikan dengan mengabaikan jumlah ruang disk yang digunakan yang membutuhkan penghapusan tingkat rendah untuk mengembalikan ke tingkat kinerja yang sama seperti baru.

ocsid80
sumber
Misalnya, pada Intel X-25 G2 yang memiliki dukungan TRIM (pada Windows 7).
Gabe
0

Saya telah mendengar bahwa SSD cenderung melambat ketika mereka hampir penuh, tetapi saya menduga bahwa itu harus memiliki ruang kosong kurang dari 5-10GB yang tersisa agar Anda dapat merasakan hal seperti itu. Mungkin ketika Anda memiliki kurang dari 1GB tersisa atau sesuatu.

Ben
sumber
0

Sistem file secara umum menjadi lambat ketika mereka penuh. Itu karena fragmentasi. Pada disk kosong, Anda dapat yakin bahwa Anda dapat menulis file dalam satu blok. Ketika filesystem semakin penuh, maka peluang untuk menyesuaikan file menjadi satu blok bersebelahan berkurang, dan Anda harus melakukan lebih banyak dan lebih banyak lagi untuk mencari data, mengubah apa yang semula merupakan akses sekuensial dari data menjadi sebuah lebih seperti akses data acak, dan karenanya lebih lambat.

gorila
sumber
2
Ini tidak berlaku untuk SSD karena tidak ada bagian yang bergerak, oleh karena itu akses acak menambah jumlah waktu akses yang dapat diabaikan. Anda mungkin harus memiliki file yang melompat-lompat dengan ribuan fragmen yang ditempatkan secara acak untuk memiliki dampak yang nyata, yang sebagian besar berasal dari OS itu sendiri yang merencanakan membaca dan menulis.
TuxRug
1
Masih ada perbedaan antara pembacaan berurutan dan pembacaan acak. Misalnya codinghorror.com/blog/2008/06 /... memberikan 26MB / s untuk pembacaan berurutan, dan 6Mb / s untuk pembacaan acak.
gorilla
@TuxRug: Drive dikelompokkan ke dalam blok penghapusan ratusan Kbytes atau lebih; setelah satu halaman (mewakili 512 atau 4096 byte data "disk logis") ditulis, itu tidak dapat ditulis ulang kecuali dengan menghapus semua halaman dalam bloknya. Ketika sektor "disk logis" ditimpa, drive mengalokasikan halaman yang sebelumnya kosong untuk menyimpan konten baru dan mencatat bahwa halaman lama dapat dianggap usang. Daripada menghapus halaman usang dengan segera, sebagian besar drive akan menunggu sampai mereka membutuhkan ruang dan kemudian mencari blok di mana sebagian besar atau semua halaman sudah usang.
supercat
@TuxRug: Jika jumlah halaman kosong menjadi sangat rendah, kinerja drive akan sebanding dengan jumlah halaman bebas atau usang terbanyak dalam blok apa pun [jika masing-masing ada 10 blok dengan 15 halaman usang, maka untuk 150 berikutnya menulis, menulis / Hapus siklus akan dibutuhkan setiap tanggal 15. Jika ada masing-masing tiga blok dengan 50 halaman usang, maka siklus tulis / hapus hanya akan diperlukan pada setiap penulisan ke-50.] Fragmentasi membuatnya lebih mungkin bahwa satu akan berakhir dengan banyak blok yang hanya memiliki beberapa halaman usang masing-masing.
supercat
0

Faktor penting lainnya adalah jika dan berapa banyak ketentuan berlebih yang ditetapkan oleh pabrikan SSD, seperti yang dijelaskan di sini . Pemberian yang berlebihan berarti bahwa beberapa ruang dicadangkan untuk kegiatan latar belakang seperti pengumpulan sampah, dan tidak tersedia untuk pengguna. Misalnya, SSD yang diiklankan sebagai 256 GB sebenarnya bisa 282 GB jika 10% ketentuan berlebih ditetapkan.

Jika pabrikan SSD telah bermurah hati dengan ruang penyediaan yang berlebihan, ruang disk yang rendah mungkin tidak terlalu memengaruhi kinerja, mis. Bahkan SSD yang tampak 100% penuh mungkin sebenarnya hanya 85% penuh. Tetapi jika Anda benar-benar dapat mengisi SSD Anda mendekati 100%, itu akan menyebabkan penurunan kinerja yang signifikan.

Singkatnya, jumlah efek dan apakah efeknya akan terlihat spesifik untuk SSD. Tetapi sebagai aturan umum, SSD berperforma terbaik ketika sebagian besar kosong dan kinerjanya memburuk saat diisi, karena alasan yang dijelaskan dalam jawaban lain dan di tautan.

Debie Downer
sumber