Bir SSD'yi aşırı sağlama - hala geçerli mi?


14

Birden çok (ancak çok yeni olmayan) kaynak, sürücü aşınmasını azaltmak için SSD alanının ~% 7'sinin ayrılmadan bırakılmasını önermektedir. Şimdilik olduğu gibi hala geçerli mi veya durum değişti mi?


Dediğim gibi, TRIM etkinleştirme sorunu nedeniyle önemli. SU'nun bu soruya iyi geldiğinden şüpheleniyorum, ancak şimdi Linux'tan bahsetmek için düzenlemeye ihtiyacı var!
sourcejedi

boş alan daha iyi performans sağlar. Tahrik aşınması ve eskimesi abartılı ve muhtemelen bir efsane. Kaliteli bir SSD, 24/7 yazarken 10 yıldan fazla sürebilir. incelemek için iyi bir makale olabilir: howtogeek.com/165472/… - boş bir bloğa yazmak oldukça hızlıdır, ancak kısmen doldurulmuş bir bloğa yazmak, kısmen doldurulmuş bloğu okumak, değerini değiştirmek ve daha sonra yazmaktır geri. Dosyaya büyük olasılıkla birçok blok tüketeceğinden, sürücüye yazdığınız her dosya için bunu birçok kez tekrarlayın. ---
Paz

Yanıtlar:


15

Windows genellikle TRIM kullanır. Bu, dosya sisteminde% X boş alanınız olduğu sürece, sürücü% X'i ayrılmamış olarak görecektir. [*] Aşırı provizyon gerekli değildir.

İstisna: Tarihsel olarak, Sandforce kontrolörleri / bellenimi olan SSD'ler TRIM'den sonra tam performansı geri yüklememişlerdir :(.

Tam sürücüdeki performans kaybı diğer bazı sürücülerden daha önemli olabilir. Bu, yüksek yazma amplifikasyonu ile ilişkilendirilecek ve dolayısıyla aşınmayı artıracaktır. Kaynak: Anandtech yorumları.

Bu yüzden ve eğer sadece

  • TRIM'in kullanılacağından emin değilsiniz. AFAIK, birkaç eski ve kötü davranış gösteren sürücüdeki performans sorunları nedeniyle Linux'ta varsayılan olarak hala etkin değildir.
  • VEYA bir Sandforce sürücüsünü doldurmaktan endişe duyuyorsunuz (ve içeriğin akıllı denetleyici tarafından sıkıştırılmaya uygun olmaması).

TRIM'i Linux'ta etkinleştirmek çok zor değil ve herhangi bir sorun fark edemezsiniz.

Neyse ki, en popüler markalardan bazıları kendi denetleyicilerini yapıyor. Sandforce kontrol cihazları eskisi kadar popüler değil. Sandforce sorunları, zamanı için çok agresif olan bu "akıllı" denetleyici tasarımı hakkında şüpheci olmamı sağlıyor. Sandforce'dan özür dilerim, ancak etkilenen tam denetleyici modelleri için bir referansım yok.


[*] Dosya sistemleri, parçalanmayı azaltmak için de çok fazla boş alana sahip olmayı sever. TRIM harika, çünkü iki güvenlik marjını birlikte eklemek zorunda değilsiniz, aynı boş alan her ikisine de yardımcı olur :). Sürücü, performansı artırmak için ayrılmamış alandan yararlanabilir, ayrıca söylediğiniz gibi yüksek aşınmayı önleyebilir.


Bir SSD takıldıktan sonra bir Sandforce kontrol cihazını tespit etmek mümkün müdür?
marmistrz

Standart bir okuma veya farkında olduğum bir test yok. Sürücünün ne olduğunu bilmeniz ve aramaya çalışmanız gerekir. Görebildiğim kadarıyla "M4-CT128M4SSD2" gibi GNOME Disklerinde eşleşmesi garip olabilecek bir "model numarası" var. Tekrar özür dilerim. Samsung'un kendi denetleyicilerini kullandığını ve Crucial / Micron'un Marvell'i kullandığını düşünüyorum. OCZ / Toshiba, Sandforce dahil olmak üzere çeşitli kontrol cihazları kullanmıştır.
sourcejedi

Bu aslında varsayar sahip , doğru dosya sistemi üzerinde boş alan? : D
endolit

Lütfen hangi bölüme yanıt verdiğiniz konusunda net olun, bu bir yıldan uzun bir süre önceydi. Sanırım "[varsayımsal] Hiçbir disiplinim yok, sürekli kötüye kullanıma karşı geri itmek için sistemime ihtiyacım var ve yüksek bir su işareti alarmı ayarlayacak bir yazılımım yok " demek istiyorsun . Bu, ilk etapta aşırı provizyonu düşünecek birinden ilginç de olsa, mükemmel geçerli bir eleştiri.
sourcejedi

7

Modern SSD kontrolörleri, günlük kullanım için tipik olarak aşırı provizyonun gerekli olmayacağı kadar akıllıdır. Bununla birlikte, öncelikle veri merkezi ortamlarında, aşırı provizyonun önerildiği durumlar vardır. Aşırı provizyonun neden yararlı olabileceğini anlamak için SSD'lerin nasıl çalıştığını anlamak gerekir.

SSD'ler veri yazarken flash belleğin sınırlamaları ile başa çıkmak zorundadır

SSD'ler NAND flash bellek adı verilen bir bellek türü kullanır . Sabit disklerin aksine, veri içeren NAND hücrelerinin üzerine doğrudan yazılamaz; sürücünün yeni veri yazabilmesi için mevcut verileri silmesi gerekir. Ayrıca, SSD'ler genellikle 4 KB ila 16 KB boyutundaki sayfalara veri yazarken , yalnızca modern SSD'lerde birkaç blok ila birkaç MB boyutunda blok adı verilen büyük sayfa gruplarındaki verileri silebilirler .

NAND ayrıca sınırlı bir yazma dayanıklılığına sahiptir . Blokları silmek için verileri gereksiz yere yeniden yazmaktan kaçınmak ve hiçbir bloğun orantısız sayıda yazma almadığından emin olmak için, sürücü yazmaları, özellikle küçük rastgele yazmaları farklı bloklara yaymaya çalışır. Yazmalar eski verilerin yerini alırsa, eski sayfaları geçersiz olarak işaretler. Bir bloktaki tüm sayfalar geçersiz olarak işaretlendiğinde, sürücü geçerli verileri yeniden yazmak zorunda kalmadan silebilir.

SSD'lerin en iyi şekilde çalışması için boş alana ihtiyacı vardır, ancak her iş yükü boş alanı korumak için elverişli değildir

Sürücüde çok az boş alan varsa veya hiç boş alan kalmazsa, yazma işlemleri dağıtılamaz. Bunun yerine, yazma işlemleri sürücüye gönderilirken sürücünün blokları derhal silmesi ve bu bloklar içindeki geçerli verilerin diğer bloklara yeniden yazılması gerekir. Bu, yazma amplifikasyonu olarak bilinen bir fenomen olan NAND'a sürücüye gönderilenden daha fazla veri yazılmasına neden olur . Yazma amplifikasyonu, özellikle çevrimiçi işlem işleme (OLTP) gibi rastgele yazma yoğun iş yükleri ile telaffuz edilir ve performans ve dayanıklılığın azalmasıyla sonuçlandığı için minimumda tutulmalıdır.

Yazma amplifikasyonunu azaltmak için, çoğu modern sistem sürücüye artık geçerli veri içermeyen blokların silinebilmelerini söyleyen TRIM adlı bir komutu destekler . Bu gereklidir, çünkü sürücünün işletim sistemi tarafından mantıksal olarak silinen verilerin hala geçerli olduğunu varsayması gerekir, bu da sürücünün yeterli boş alanı koruma yeteneğini engeller.

Ancak, sürücünün harici bir kasada olduğu (çoğu kasanın TRIM'i desteklemediği) veya sürücünün eski bir işletim sistemiyle kullanıldığı gibi TRIM bazen mümkün değildir. Ayrıca, yüksek yoğunluklu rasgele yazma iş yükleri altında, yazma işlemleri temel alınan NAND'ın geniş bölgelerine yayılacaktır, bu da sürücü neredeyse dolu olmasa bile verilerin zorunlu olarak yeniden yazılmasının ve eşlik eden yazma amplifikasyonunun gerçekleşebileceği anlamına gelir.

Modern SSD'ler, eski sürücülerden önemli ölçüde daha az yazma amplifikasyonu yaşar, ancak bazı iş yükleri yine de aşırı provizyondan yararlanabilir

En eski SSD'ler, verileri gerektiğinden daha sık yeniden yazma eğiliminde olacak daha az olgunlaşmış bellenime sahipti. Erken Indilinx ve JMicron kontrolörleri ( JMF602, kekemelik ve dipsiz rastgele yazma performansı için ünlüydü ) yoğun rastgele yazma iş yükleri altında bazen 100x'i aşan aşırı yüksek yazma amplifikasyonundan muzdaripti. (Sadece 1 MB yazmaya çalışırken NAND'a 100 MB'tan fazla veri yazdığınızı düşünün!). Daha yüksek işlem gücü, gelişmiş flaş yönetimi algoritmaları ve TRIM desteği sayesinde daha yeni kontrolörler, ağır rastgele yazma iş yükleri hala modern SSD'lerde 10 katın üzerinde yazma amplifikasyonuna neden olsa da, bu durumları daha iyi idare edebilir .

Aşırı hazırlık, sürücüye rastgele yazma işlemlerini gerçekleştirmek ve verilerin zorunlu olarak yeniden yazılmasını önlemek için daha geniş bir boş alan sağlar. Tüm SSD'ler en az bir dereceye kadar aşırı provizyona tabi tutulur; bazıları sadece sürücünün çalışması için yaklaşık% 7 boş alan sağlamak için GB ve GiB arasındaki farkı kullanır , diğerleri ise belirli uygulamaların ihtiyaçlarına göre performansı optimize etmek için daha fazla provizyona sahiptir. Örneğin, yazma-ağır OLTP veya veritabanı iş yükleri için bir kurumsal SSD, 512 GiB fiziksel NAND'a sahip olabilir, ancak benzer miktarlarda NAND'a sahip tipik 480 ila 512 GB tüketici SSD'leri yerine, 400 GB'lik bir reklam kapasitesine sahip olabilir.

İş yükünüz özellikle zorluysa veya sürücüyü TRIM'in desteklenmediği bir ortamda kullanıyorsanız, bir miktar boş alan kullanılmayacak şekilde sürücüyü bölümlere ayırarak alanı el ile aşırı hazırlayabilirsiniz. Örneğin, 512 GB SSD'yi 400 GB'ye ayırabilir ve kalan alanı ayrılmadan bırakabilirsiniz; sürücü ayrılmamış alanı yedek alan olarak kullanır. Ancak, bu ayrılmamış alanın daha önce yazıldıysa kesilmesi gerektiğini unutmayın; aksi halde, sürücü o alanı dolu olarak göreceğinden faydası olmaz. (Bölümleme yardımcı programları bunu yapmak için yeterince akıllı olmalıdır, ancak% 100 emin değilim; bkz. "Windows bir SSD'de bölümlenmemiş (biçimlendirilmemiş) alanı kesiyor mu?" )

Sadece normal bir tüketiciyseniz, aşırı provizyon genellikle gerekli değildir

TRIM'in desteklendiği tipik tüketici ortamlarında, SSD% 70-80'den az doludur ve rastgele yazmalarla sürekli çarpılmaz, yazma amplifikasyonu genellikle bir sorun değildir ve aşırı provizyon genellikle gerekli değildir.

Nihayetinde, çoğu tüketici, yüksek yazma amplifikasyonu ile bile, çoğu SSD'nin amaçlanan hizmet ömrü içinde NAND'yi yıpratmak için diske neredeyse yeterli veri yazmaz, bu nedenle uykuda kaybolacak bir şey değildir.


1

Ek alanın boyutu SSD sürücü modelleri arasında çok farklıdır, ancak genel olarak bu hala doğrudur.


Bunun için referansınız var mı?
Léo Lam

Belirli bir sürücü için referans mı demek istediniz? Birçok sürücünün (sadece SSD değil) genel teknik referansları vardır, ancak üzgünüm, aramak için zamanım yok. Bununla birlikte, genel referansla ilgileniyorsanız, şunu kontrol edin: samsung.com/global/business/semiconductor/minisite/SSD/…
Tomasz Klim

1
Evet, bunun tüm sürücüler için mi yoksa sadece belirli modeller veya markalar için mi geçerli olduğunu merak ediyordum, diğer cevap ise son sürücülerde aşırı provizyonun artık gerekli olmadığını gösteriyor.
Léo Lam

Diğer cevap tam olarak doğru değil. Gerçekten de Sandforce kontrolörlü sürücülerde ek alan vardı. Bu kesinlikle doğru. Ancak diğer tüm SSD denetleyicileri ek alan kullanır, o kadar da değil. Bu muhtemelen değişmeyecek gibi.
Tomasz Klim

1
Samsung SSD için doc'den: "daha da gelişmiş performans için (örn. Zorlu iş yükleri altında) daha fazla elle manuel olarak bir kenara koyma seçeneği vardır", yani " iş yükü gerektiren ".
sourcejedi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.