SSD’de Aşırı Tahsisin (OP) Anlaşılması

Aşırı Tahsis (OP) Yüzdesi =

Fiziksel Kapasite - Kullanıcı Kapasitesi


Kullanıcı Kapasitesi

Aşırı Tahsis (Over-provisioning) yüzdesi formülü.

Katı hal sürücülerin (SSD'ler) fiziksel yapısı (ör. yükseklik, genişlik ve uzunluk) ve harici arayüzü (ör. SATA ya da SAS arayüzü) mekanik Sabit Diskli Sürücülere (HDD) benziyor olmasına karşın SSD'lerin iç alt seviye çalışmaları ve bileşenleri bir HDD'nin dönen manyetik plaka tasarımına göre çok farklıdır.

Bir SSD birleştirildikten sonra SSD üreticisi, yazılım (firmware) programlaması sırasında Aşırı Tahsis (Over-Provisioning - OP) için toplam sürücü kapasitesinin ek bir yüzdesini rezerve edebilir. Aşırı tahsis (Over-provisioning), performansı artırır ve genellikle SSD’lerin daha dayanıklı olmasını sağlayarak, SSD Denetleyicisinin, kullanım ömrü boyunca NAND Flash’ın yıpranmasını azaltmak için daha fazla Flash NAND belleğine sahip olması nedeniyle sürücünün daha uzun ömürlü olmasına yardımcı olur.

Fiziksel kapasiteKullanıcı kapasitesi% Aşırı Tahsis (Over-provisioning)Uygulama Sınıfı
64GB 60GB %7 Okuma Yoğun
96GB 90GB %7 Okuma Yoğun
128GB 120GB %7 Okuma Yoğun
128GB 100GB %28 Daha Çok Yazma Yoğun
256GB 240GB %7 Okuma Yoğun
256GB 200GB %28 Daha Çok Yazma Yoğun
512GB 480GB %7 Okuma Yoğun
512GB 400GB %28 Daha Çok Yazma Yoğun
1.024GB 960GB %7 Okuma Yoğun
1.024GB 800GB %28 Daha Çok Yazma Yoğun
2.048GB 1.800GB %14 Okuma Yoğun
2.048GB 1.600GB %28 Daha Çok Yazma Yoğun
Kapasite ve uygulama sınıfına bağlı olarak aşırı tahsis (over-provisioning)

Uygulamalar, kullanıcının genellikle %20 yazma ve %80 okuma yaptığı tipik müşteri iş yükleri gibi okuma yoğun olabilir. Okuma önbelleklemesi için bir veri saklama cihazı kullanan kurumsal uygulamalar okuma yoğun olacaktır; bu uygulamalar bir veri saklama cihazına daha fazla veri yazıyorsa, daha çok yazma yoğun olacaklardır.

SSD üreticisi tarafından belirlenen OP kapasitesi, SSD'nin uygulama sınıfına ve toplam NAND Flash bellek kapasitesine göre farklılık gösterebilir.

Büyük kapasiteli ve farklı uygulama sınıflarına sahip sürücüler, Garbage Collection (Gereksiz Veri Toplama), yedek bloklar ve daha iyi veri koruması özelliklerinin yönetilmesindeki kaynak gereksinimleri nedeniyle tipik olarak orantısal olarak daha büyük aşırı tahsis (over-provisioning) oranlarıyla yapılandırılırlar.

Bu aşırı tahsis (OP - over-provisioning) edilmiş kapasite kullanıcının erişimine kapalıdır ve ana makine işletim sistemleri tarafından görülemez. Sadece SSD denetleyicisinin kullanımı için ayrılmıştır.

Aşırı Tahsis'in (Over-Provisioning - OP) Yararları

OP, SSD’nin Performansını Nasıl Geliştirir

Her NAND Flash bellek kalıbı, çok sayıda sayfayı içeren birden fazla bloktan yapılmıştır.

NAND Flash, bir sayfa seviyesinde okunabilir ve yazılabilirken yalnızca blok seviyesinde silinebilir.

Bir blok içinde zaten programlanmış bir sayfada, bir sayfanın değiştirilmesi ya da silinmesi gerektiğinde yeni blok içerikleri aynı blok adresine programlanmadan önce birden fazla sayfadan oluşan tüm blok içeriği geçici bir belleğe okunur ve daha sonra silinir.

Bir sayfanın NAND Flash içindeki bir sayfaya bu karmaşık okuma-değiştirme-yazma döngüsü olmadan yazılması için tek senaryo, sayfanın zaten boş bir durumda olmasıdır.

Aşırı tahsis (over-provisioning) ile çok sayıda bloğun boş ve yedekte bekletilmesi, özellikle çok yüksek Yazma Yükseltmesi Faktörüne (WAF - Write Amplification Factor) sahip rastgele yazma senaryolarında performansın tutarlı kalmasının sağlanmasında yardımcı olmaktadır. {{Footnote.N52105}}

OP, SSD’nin Dayanıklılığını Nasıl Geliştirir

Bir SSD'nin neden aşırı tahsisle (over-provisioning) yapılandırıldığını ve SSD denetleyicisine avantajlarını anlamak için, bir SSD'nin tipik çalışmasını ve non-volatile (uçucu olmayan) NAND Flash belleğin sınırlamalarını anlamamız gerekiyor.

Her NAND Flash hücresi, NAND Flash üreticisi tarafından üretim işlemi sırasında belirlenen programlama ve silme dayanıklılığına (Program/Erase - P/E) göre sınırlı kullanım ömrü beklentisine sahiptir. Bunun nedeni, NAND Flash hücre üzerinde gerçekleştirilen her programlama ve silme işlevinin, hücrenin elektrik şarjını güvenilir biçimde saklama yeteneğini azaltması ve dolayısıyla veri güvenliğini tehdit etmesidir.

Ancak NAND geometrisi 2D’den 3D’ye geçtikte NAND dayanıklılığı gelişecek, kalıp yoğunlukları artacak ve üretim maliyetleri azalacak, bu sayede SSD’ler daha uygun fiyatlı hale gelecektir.

Özetlemek gerekirse SSD'nin dayanıklılığını etkileyen üç ana etken şunlardır:
  • NAND Flash program/silme dayanıklılığı ve geometri ile ilgili okuma/programlama/silme karmaşıklığı (Bu durumda geometri, 2 boyutlu ve 3 boyutlu üretim teknolojisini içerecektir)
  • SSD kapasitesi
  • SSD denetleyicinin özellikleri ve verimi (gereksiz veri toplama (garbage collection), yazma yükseltmesi (write amplification), blok yönetimi, yıpranma dengelemesi (wear-leveling), Hata Düzeltme Kodu (Error Correcting Code)).

Aşırı Tahsis (Over-provisioning - OP) ile Performansın ve Dayanıklılığın Korunması

SSD'nin geçersiz sayfalarla tam kapasitesine kadar dolduğu senaryolardan kaçınmak için SSD denetleyicisinin Gereksiz Veri Toplama işlevi tarafından, programlanmış geçerli sayfa birleştirmelerini yönetmek ve geçersiz (ya da silinmiş) sayfalarla dolu blokları kurtarmak için geçici bir çalışma alanı olarak kullanılır.

Daha sonra kurtarılan sayfa/bloklar, SSD Denetleyicisinden yazma işlemlerinin yapılması ve tüm geçerli sayfaların okunması, silinmesi, değiştirilmesi ve zaten geçersiz sayfalarla kısmen dolu bir bloğa yazılması yavaş bir işlem olduğundan yüksek veri trafiği sırasında performansın en üst düzeye çıkartılması için aşırı tahsis edilmiş (over-provisioning) kapasiteye eklenir.

Gereksiz veri toplama özelliği, işletim sisteminden bağımsız olarak çalışır ve etkinliğin düşük olduğu dönemlerde otomatik olarak , düzenli aralıklarla ya da gereksiz veri toplamayı çalıştırmak amacıyla ilgili ATA Data Set Management TRIM komutunun verilmesiyle başlatılır.

Aşırı tahsis (over-provisioning) kapasitesi sayesinde her zaman kullanılabilir durumda boş blokların bulunması, SSD denetleyicisinin yazma işlemlerini, yüksek veri trafiği yükü sırasında SSD'nin genel performansını etkilemeden tüm NAND Flash bellek hücrelerine akıllı biçimde dağıtması sayesinde NAND Flash'ın yıpranma-dengelemesinin etkili biçimde yapılmasına yardımcı olur.

Ayrıca, ATA Data Set Management TRIM komutu, geçersiz sayfaları ve kullanılmayan kullanıcı kapasitesini kurtararak SSD’deki kullanılabilir alana katkıda bulunabilir.

Biçimlendirilmiş Sürücü KapasitesiAşırı Tahsis (Over Provisioning - OP) BoyutuSıralı Okuma/Yazma Bant GenişliğiSabit Durum 4k Okuma/Yazma RastgeleTBW (JEDEC Enterprise{{Footnote.N52105}})DWPD{{Footnote.N37134}}
480GB (DC500R) %7 550/500MB/s 98.000/12.000 IOPS 438 0,5
480GB (DC500M) %32 555/520MB/s 98.000/58.000 IOPS 1.139 1,3
960GB (DC500R) %7 555/520MB/s 98.000/20.000 IOPS 876 0,5
960GB (DC500M) %32 555/520MB/s 98.000/70.000 IOPS 2.278 1,3
1.920GB (DC500R) %7 555/520MB/s 98.000/24.000 IOPS 1.752 0,5
1.920GB (DC500M) %32 555/520MB/s 98.000/75.000 IOPS 4.555 1,3
3.840GB (DC500R) %7 555/520MB/s  98.000/28.000 IOPS  3.504  0,5
3.840GB (DC500M)  %32 555/520MB/s  98.000/75.000 IOPS 9.110 1,3
Kapasite ve uygulama sınıfına bağlı olarak aşırı tahsis (over-provisioning)

OP’nin etkilerini anlkamak için Kingston’ın kurumsal SSD’leri olan DC500R SSD’leri inceleyeceğiz. Bu SSD’ler, 3,84TB’a varan kapasitelerde satılmaktadır ve kullanıcıların, aşırı tahsisi (OP - over-provisioning) ayarlamak için Kingston SSD Manager aracını kullanmasına izin vermektedir. OP’nin boyutunu ayarlayarak, %7 ya da daha fazla OP seviyesini kullanarak performans ve dayanıklılık üzerindeki etkilerini görebiliriz.

Her iki eşleştirilmiş kapasiteyi karşılaştırdığımızda aşağıdakileri görebiliriz:
  1. Her çiftteki yüksek kapasiteli sürücüler (daha az OP), aynı transfer hızını (Bant genişliği= sağlayabilmekte ancak Rastgele Yazma Saniye Başı IO (IOPS) değeri önemli ölçüde düşmektedir. Yanı daha az aşırı tahsis (OP - Over-provisioning) değerine sahip sürücüler Okuma yoğun uygulamalarda iyi performans gösterirken, %32 OP’li sürücülere kıyasla yazma yoğun uygulamalarda daha yavaş olabilirler.
  2. Daha az aşırı tahsis, aynı zamanda her sürücüdeki Toplam Yazılan Bayt (TBW - Total Bytes Written) değerinin daha düşük olması anlamına da gelmektedir. Aşırı tahsis (OP - Over-provisioning) yüzdesi ne kadar yüksek olursa bir SSD’nin kullanım ömrü de o kadar fazla olacaktır. Bir 960GB DC500R, 876TB veri yazılmasını kaldırırken 800GB DC500R 860TBW’ye ulaşabilmektedir. TBW değerleri, Kingston tarafından JEDEC iş yükleri referans alınarak elde edilmiştir{{Footnote.N52105}}.
  3. TBW değerleri, garanti süresi boyunca Günlük Sürücü Yazması (Drive Writes Per Day - DWPD) değerine dönüştürüldüğünde, %32 OP’li sürücülerin neredeyse iki kat yazma miktarına ulaşabildiğini görüyoruz. İşte bu nedenle, daha yazma yoğun uygulamalar %32 OP önerilmektedir.