Bu makalede, SSD'lerin eskime nedenleri hakkında bilgiler verilmektedir.
Genel Bakış
Katı hal aygıtları neden eskir?
Flash tabanlı bir SSD'nin neden sınırlı bir yazma ömrüne sahip olduğunu tartışmak için öncelikle flash'ın çalışma mekaniklerine, bu mekaniklerin flash türleri arasında nasıl farklılık gösterdiğine ve flash işlevselliğinin geliştirilmesi için hangi tekniklerin kullanıldığına bir bakalım.
Flash bellek aygıtı, sayfalar halinde okunur ve yazılır. Okuma işlemi nispeten basittir; adresle birlikte bir okuma komutu verilir ve karşılığında ilgili veriler getirilir. Yazma işlemi ise yalnızca silinen sayfalarda yapılabilir; dolayısıyla ana bilgisayar yazma komutları, flash'a yazmadan önce flash silme döngülerini çalıştırır. Bu yazma/silme döngüsü, sınırlı yazma ömrünü dayatan hücre eskimesi durumuna neden olur.
NAND flash aygıtları, tek düzeyli hücre (SLC) veya çok düzeyli hücre (MLC) olabilir. SLC yalnızca bir bit bilgi depolar ve 0 veya 1'i temsil etmek için sadece iki voltaj düzeyi gerektirir. Bu, NAND'nin en basit uygulamasıdır ve yaklaşık 100.000 döngüyle en yüksek düzeyde dayanıklılığa sahiptir. Gelecek nesil flash aygıtları daha küçük boyutlarda üretildikçe aygıtların dayanıklılığı da azalacaktır (halihazırda 50.000 döngüye sahip aygıtlar görmekteyiz). MLC genellikle iki bit'lik bilgi depolamayı ifade eder ve 00, 01, 10 ve 11'i temsil etmek için dört voltaj düzeyi gerektirir. Hücre eskimesi, SLC ve MLC arasında benzerdir ancak daha fazla voltaj düzeyi algılanması gerektiğinden dayanıklılık düzeyleri önemli ölçüde azalır. MLC genellikle 10.000 civarında döngüye sahiptir ancak daha yeni nesil aygıtlarda bu sayı, 3000-5000 civarına düşmektedir.
Flash SSD, yüksek kapasiteler elde edilmesi için bir dizi flash zarından oluşur. SSD yazma ömrünü iyileştirmek için her iki NAND türüne de uygulanabilecek birkaç teknik kullanılır. Ana bilgisayar yazma erişimleri, etkin noktalara neden olabilecek her konumda meydana gelebilir; bu durum, bu konumlarda erken eskimeye yol açar. Etkin noktaları önlemek için yıpranma dengeleme adlı bir yöntem kullanılır. Yıpranma dengeleme, yazma erişimlerinin SSD'nin toplam kapasitesi boyunca neredeyse eşit şekilde dağıtılmasını sağlar. Write-amplification (Yazma Yükseltmesi), flash yazma sayısının ana bilgisayar yazma işlemine oranının bir ölçüsüdür. Örneğin, bir ana bilgisayar yazma işlemi için 2 flash yazma işlemi oluşturulduysa yazma yükseltmesi oranı da 2'dir. Yazma yükseltmesini azaltmak için over-provisioning (aşırı kaynak sağlama) adlı bir yöntem kullanılarak atık toplama verimliliği artırılır. Son olarak, genellikle MLC'ye uygulanan bir yöntem, hücrenin eskimesini yavaşlatmak için yazma döngüsü sırasında düşük voltaj düzeyleri kullanır; bu sayede yazma dayanıklılığı iyileştirilir.
Bir SSD'nin tam olarak ne kadar süre dayanabileceğini belirlemek zor olsa da bunu tahmin etmeye yardımcı olacak bazı yönergeler mevcuttur. SSD'ler, JEDEC tarafından geliştirilen ve TBW (yazılan terabayt) olarak adlandırılan bir ölçüm kullanır. Gerçek yazma ömrü, iş yükü profilinden (örneğin: Rastgele veya sıralı, blok boyutu ya da yazma etkinliği) etkilense de TBW tahmini bir değer sağlayacaktır ancak gerçek yazma ömrünüz farklılık gösterecektir. Beklenen ömrü belirlemek için TBW değeri alınır ve sürücüye yapılan yazma işlemlerinin beklenen ortalama BW'suna bölünür. Çok fazla kaynak gerektiren uygulamalar bir kenara bırakılırsa SSD'lerin genellikle üç yıldan uzun süre dayanması beklenir.
Yıpranma Dengeleme
NAND flash belleği, Flash Çeviri Katmanı (FTL) kullanan veri depolama uygulamalarında ve sistemlerde yaygın olarak yapılan tekrarlanan program ve silme döngüleri nedeniyle yıpranmaya elverişlidir. Sürekli olarak aynı bellek konumuna program ve silme işlemleri, belleğin o kısmını yıpratır ve geçersiz hale getirir. Sonuç olarak NAND flash'ın kullanım ömrü sınırlıdır. Bu gibi senaryoların oluşmasını önlemek için SSD içinde yıpranma dengeleme adı verilen özel algoritmalar dağıtılır. Terimden de anlaşılacağı gibi yıpranma dengeleme, program ve silme döngülerini SSD içindeki tüm bellek bloklarına dengeli bir şekilde dağıtmak için bir yöntem sağlar. Bu, aynı bellek bloğuna sürekli olarak program ve silme döngüleri uygulanmasını önleyerek NAND flash belleğinin daha uzun ömre sahip olmasını sağlar.
Dinamik ve statik olmak üzere iki tür yıpranma dengeleme vardır. Dinamik yıpranma algoritması veri program ve silme döngülerinin NAND flash içindeki tüm bloklara dengeli bir şekilde dağıtılmasını sağlar. Algoritma, sürücünün yazma tamponundaki veriler her seferinde temizlenip flash belleğe yazıldığında yürütüldüğünden dinamiktir. Dinamik yıpranma dengelemesi, tüm blokların aynı yıpranma seviyesinde olduğunu garanti edemez. Veriler uzun süre veya süresiz olarak flash'ta yazılıp depolandığında da özel bir durum söz konusudur. Diğer bloklar etkin olarak değiştirilmekte, silinmekte ve birleştirilmekte iken bu bloklar yıpranma dengeleme sürecinde etkin olmayan şekilde kalmaya devam eder. Tüm blokların aynı yıpranma seviyesinde olduğundan emin olmak için statik yıpranma dengeleme adı verilen ikinci bir yıpranma dengeleme algoritması dağıtılır. Statik yıpranma dengeleme, etkin olmayan ve üzerinde veri depolanan bloklara yöneliktir.
Dell SSD sürücüleri, SSD'nin kullanım ömrünü büyük oranda artırmak amacıyla NAND bloklarının dengeli şekilde yıpranmasını sağlamak için hem statik hem de dinamik yıpranma dengeleme algoritmaları kullanır.
Aşırı Kaynak Sağlama
Aşırı Kaynak Sağlama yöntemi şunları iyileştirir:
- Yazma performansı ve IOPS
- Güvenilirlik