1 puan yazan GN⁺ 2024-05-20 | 1 yorum | WhatsApp'ta paylaş
  • Crucial BX500'ün QLC NAND yapısını MPTools ile pSLC modunda yeniden yapılandırarak, kapasiteyi 500GB'tan yaklaşık 120GB'a düşürme karşılığında dayanıklılığı ve bazı performans alanlarını ciddi ölçüde artıran bir deney
  • Dönüşüm, Silicon Motion SM2259XT2 denetleyici ve Micron N48R NAND kombinasyonuna uygun firmware ve yapılandırma işlemlerini içeriyor; başarısız olursa SSD hasarı, garanti iptali ve veri silinmesi yaşanabilir
  • Varsayılan QLC durumunda hesaplanan TBW 120TB iken, pSLC modunda 60.000 P/E döngüsü, 120GB kapasite ve 1.8 WAF baz alınarak bunun 4.000TB TBW seviyesine çıktığı hesaplanıyor
  • Kısa sıralı benchmark'larda fark küçük kalsa da, rastgele performans, gecikme, PCMark 10 üretkenlik testi ve uzun süreli yazma senaryolarında pSLC modu farkını net biçimde gösteriyor
  • Varsayılan durumda yaklaşık 45GB SLC önbellekten sonra ortalama 50MB/s seviyesine düşerken, pSLC dönüşümünden sonra 120GB kapasitenin tamamında ve tekrarlı yazmalarda bile yaklaşık 498~500MB/s korunuyor

Deney hedefi ve risk unsurları

  • Deneyin hedefi, birçok kez test edilmiş bir Crucial BX500 SSD
  • Prosedürün kendisi hız aşırtmadan daha güvenli olsa da firmware flash işlemi içerdiği için dikkat gerekiyor
  • Firmware flashlandığında tüm veriler silinir, bu yüzden yedek almak gerekir
  • Dönüşüm uygulanırsa SSD garantisi geçersiz olur
  • Gerekli araçlar, Jmicron JMS578 Bridge Chip tabanlı bir SATA-USB 3.0 adaptörü ve SSD PCB üzerindeki ROM/Safe Mode pinlerini kısa devre etmek için bir kelepçe

BX500 donanım yapısı

  • Denetleyici Silicon Motion SM2259XT2 ve SM2259XT'nin türetilmiş bir modeli
    • Tek çekirdekli denetleyici
    • 32 bit ARC mimarisi
    • En fazla 550MHz hızda çalışabiliyor
    • Bu SSD'de 437.5MHz'de çalışıyor
  • SM2259XT2 en fazla 2 kanal ve kanal başına en fazla 8 Chip Enable destekliyor; interleaving ile en fazla 16 die ile iletişim kurabiliyor
  • Karşılaştırma yapılan SM2259XT ise 4 kanal ve 4 C.E. yapısıyla en fazla 16 die destekliyor
  • Bu SATA SSD, DRAM-Less yapıda ve Host Memory Buffer da desteklemiyor

NAND ve varsayılan çalışma özellikleri

  • 500GB modelde “NY240” işaretli 2 NAND flash bulunuyor
  • Kod çözümüne göre bunların Micron MT29F2T08GELCEJ4-QU:C, N48R Media Grade NAND olduğu doğrulanmış
    • Die başına 1Tb, yani 128GiB
    • 176 veri katmanı ve toplam 195 gate
    • Dizi verimliliği %90.2
  • Her NAND flash içinde 2 die bulunduğundan, NAND başına 256GB ve toplamda yaklaşık 500GB yapı elde ediliyor
  • NAND, denetleyiciyle 262.5MHz, yani 525MT/s hızında iletişim kuruyor
  • N48R die teorik olarak 800MHz, yani 1600MT/s'ye kadar çalışabiliyor ancak bu SSD'de çok daha düşük ayarlanmış
  • Bu düşük hız ayarı; güç ve ısıyı azaltma, yüksek hız kalite kriterlerini karşılamama, düşük dayanıklılık ihtimali veya düşük maliyetli NAND tedariği gibi nedenlerle ilişkili olabilir

MPTools tabanlı dönüşüm süreci

  • Silicon Motion denetleyicileri için üretim aracı olan MPTools kullanılıyor
  • Kullanılan araç “SMI SM2259XT2 MPTool FIMN48 V0304A FWV0303B0”; hem denetleyiciye hem de NAND flash'a uygun olması gerekiyor
  • Önce SSD'deki mevcut parametreler okunup korunmalı
    • Flash IO Driving ve alt öğeleri
    • Flash Control Driving
    • Flash DQS/Data Driving
    • Control ODT
    • Flash ODT
    • Schmitt Window Trigger
  • MPTools içindeki Scan ile SSD bulunuyor ve “Ready (FW: M6CR061, MN48R)” girdisinden fabrika ayarlarıyla denetleyici/NAND hızları doğrulanıyor
  • Adil bir karşılaştırma için denetleyici ve NAND frekansları mevcut değerlerde bırakılıyor

pSLC modu etkinleştirme ayarları

  • “Edit Config” bölümünde proje adı ve firmware sürüm etiketi ayarlanıyor
    • Örnek model adı: “SSD SLC Test”
    • Örnek firmware sürümü: “SSD-SLC”
  • Flash Control Driving ve Flash DQS/Data Driving, mevcut değer olan 66(hex) olarak bırakılıyor
  • CPU ve NAND frekansları da önceki karşılaştırma koşullarına göre korunuyor, Output driving ise 03H olarak ayarlanıyor
  • pSLC ile ilgili seçenekleri görünür kılmak için MPTools'un Setting.set dosyası düzenleniyor
    • [Function] altındaki ENFWTAG=1, ENFWTAG=0 olarak değiştiriliyor
    • [Option] bölümüne EnSLCMode=1 ekleniyor
  • Bundan sonra MPTools içinde Force SLC Mode seçeneği görünüyor
  • Gerçek dönüşüm için firmware klasörü içindeki boot ve başlatma dosyalarının belirli bir dizine kopyalanması gerekiyor
  • Bu dosya süreci SM2259XT2 + N48R NAND kombinasyonuna göre düzenlenmiş; farklı NAND'larda klasör adı ve dosya yapısı değişiyor
  • Bazı NAND modelleri %100 uyumlu olmayabilir; test edilen NAND'lar Intel ve Micron NAND

Dayanıklılık hesabı

  • Dayanıklılık hesabı için Write Amplification Factor, NAND Program/Erase Cycle ve SSD kapasitesi gerekiyor
  • Daha hassas hesaplamalarda JEDEC JESD218A standardı ve Wear-Leveling Efficiency gibi ek parametreler de kullanılıyor
  • Varsayılan QLC durumundaki SSD için TBW 120TB, N48R Media Grade NAND için P/E döngüsü ise yaklaşık 900 olarak hesaplanıyor
  • Varsayılan durumda WAF hesaplamaya göre 3.75 çıkarken, gerçek testte yaklaşık 3.8'e daha yakındı
  • pSLC durumunda NAND die, veri sayfasına göre en fazla 60.000 P/E cycles dayanabiliyor
  • pSLC dönüşümünden sonra kapasite yaklaşık 0.12TB, yani 120GB'a düşüyor
  • 1.8 WAF ile yapılan hesapta TBW sonucu 4.000TB oluyor
  • Böylece TBW, 500GB QLC durumundaki 120TB'den 120GB pSLC durumundaki 4.000TB'ye yükseliyor; artış oranı %3333'ün üzerinde

Performans test ortamı

  • İşletim sistemi Windows 11 Pro 64-bit 23H2
  • CPU, Intel Core i7-13700K ve tüm çekirdekler 5.7GHz'e ayarlanmış
  • RAM, 2×16GB DDR4-3200MHz CL16 Netac yapılandırması
  • Anakart MSI Z790-P PRO WIFI D4, BIOS sürümü 7E06v18
  • GPU, RTX 4060 Galax 1-Click OC
  • OS sürücüsü Solidigm P44 Pro 2TB, test edilen SSD ise BX500 “SLC-Test” olarak kullanılmış
  • Test sapmasını azaltmak için Windows indeksleme, güncellemeler, arka plan uygulamaları ve antivirüs devre dışı bırakılmış
  • Test SSD'si ikincil sürücü olarak kullanılmış; %0 doluluk ve %50 doluluk testleri dahil edilmiş
  • Güç testi için Quarch PPM QTL1999 kullanılarak idle, 1 saatlik yazma testi ve ortalama güç tüketimi ölçülmüş

CrystalDiskMark sonuçları

  • Sıralı testler 2×1GiB, 1MiB blok, 8 queue, 1 thread yapılandırmasında yapılmış
  • Rastgele testler 2×1GiB, 4KiB blok, 1 queue, 1/2/4/8/16 thread yapılandırmasında yapılmış
  • Sıralı testlerde neredeyse hiç fark görülmemiş
    • Çünkü varsayılan pSLC önbellek bile SATA SSD'nin azami bant genişliğine ve üretici sıralı hızlarına ulaşabiliyor
    • Daha uzun ve ağır benchmark'larda fark ortaya çıkıyor
  • Gecikme belirgin biçimde azalmış
    • Varsayılan durumda boşta beklemeden sonra NAND, QLC native mode'da okuma/yazmaya başlıyor ve SLC'ye yeniden programlanana kadar gecikme oluşuyor
    • pSLC modunda her zaman pSLC durumunda kaldığı için gecikme daha düşük
  • Rastgele hızlarda fark, sıralı hızlara göre daha büyük olmuş
  • QD1'de okuma hızı %16'dan fazla, yazma hızı ise %30'dan fazla artmış

ATTO, 3DMark ve PCMark 10 sonuçları

  • ATTO Disk Benchmark, 512B ile 8MiB arası blok boyutları, 256MB dosya boyutu ve Queue Depth 1 ile 4 kullanılarak test edilmiş
  • ATTO'da pSLC modundaki SSD, tüm blok boyutlarında varsayılan SSD'nin önüne geçiyor
  • Aynı desen QD1'de de tekrarlanıyor ancak bazı blok boyutlarında fark QD4'e göre daha küçük kalıyor
  • 3DMark Storage Benchmark; oyun yükleme, OBS 1080p 60FPS kayıt/yayın, oyun kurulumu ve oyun klasörü dosya aktarımı gibi iş yüklerini içeriyor
  • 3DMark gibi hafif gerçek kullanım senaryolarında da performans ve gecikme farkı var ancak günlük kullanımda her zaman çok belirgin hissedilmeyebilir
  • PCMark 10 Full System Drive Benchmark daha üretkenlik odaklı ve yazma ağırlığı 3DMark'a göre daha yüksek
  • PCMark 10'da gerçek kullanım farkı belirgin ve performans farkı neredeyse iki kata yaklaşıyor

Premiere Pro, açılış ve oyun yükleme

  • Adobe Premiere Pro 2021 testi, yaklaşık 16.5GB boyutunda, 4K çözünürlüklü, 120Mbps bitrate'e sahip ve efekt yoğun bir projeyi düzenlenebilir hale gelene kadar açma süresini ölçüyor
  • Premiere Pro proje yükleme büyük ölçüde sıralı okuma senaryosu olduğu için fark neredeyse yok ve çalıştırmalar arası sapma düzeyine yakın
  • Oyun yükleme süresi karşılaştırması için Final Fantasy XIV benchmark kullanılmış
  • Oyun yüklemede, DirectStorage dışı API sınırlamaları nedeniyle büyük fark hissetmek zor
  • Windows açılışı da yeni sistem referansında yapılıyor ancak SSD'ye uygulanan özelliklerden yararlanamadığı için büyük fark çıkmıyor

SLC önbellek ve uzun süreli yazma

  • Günümüzde birçok SSD, depolama alanının bir bölümünü SLC Caching için kullanıyor
    • MLC, TLC veya QLC NAND'ın bir kısmı, hücre başına 1 bitlik alan olarak yazma/okuma tamponu gibi çalışıyor
    • Tampon tükendiğinde denetleyici yazmayı native NAND alanına yönlendiriyor
  • IOmeter testine göre bu SSD'nin varsayılan pSLC önbelleği dinamik ve yaklaşık 45GB görünüyor
  • Varsayılan durumda önbellek bitene kadar ortalama yaklaşık 493MB/s korunuyor
  • 45GB yazımdan sonra folding sürecine giriyor ve QLC SSD'lerin zayıf noktası burada ortaya çıkıyor
  • Önbellek sonrası sürekli yazma hızı ortalama yaklaşık 50MB/s'ye düşüyor
  • pSLC dönüşümünden sonra 120GB kapasitenin tamamı ortalama 498MB/s ile yazılıyor
  • 500GB'a kadar yazıp kapasiteyi 4 kereden fazla tekrar yazsa bile hız neredeyse 500MB/s seviyesinde kalıyor
  • pSLC önbellek, folding ve native alan birlikte değerlendirildiğinde ortalama yazma hızı farkı neredeyse 10 kat seviyesine çıkıyor

Dosya kopyalama, sıcaklık ve güç

  • Dosya kopyalama testinde RAM Disk'ten SSD'ye Windows 10 21H1 ISO 6.25GB ve CSGO kurulum klasörü 25.2GB kopyalanmış
  • Her iki test dosyası da varsayılan SSD'nin 45GB SLC önbelleğinden küçük olduğundan, gerçekçi kopyalama testlerinde fark görülmemiş
  • Daha büyük dosyaların test edilmemesinin nedeni, RAM Disk için kullanılabilen belleğin 32GB ile sınırlı olması
  • Sıcaklık testinde SSD'nin çok ısınmadığı görülmüş; sensörün NAND Flash sensörü olduğu tahmin ediliyor
  • Güç testinde pSLC dönüşümünden sonra verimlilik belirgin biçimde artmış
    • Varsayılan QLC durumunda, 45GB önbelleği ciddi biçimde aşan testlerde uzun süre 55MB/s altına düştüğü için verimlilik düşüktü
    • pSLC modunda kendi kapasitesinin iki katı yazılırken bile bant genişliği düşmedi ve güç tüketimi de daha düşük kaldı
  • pSLC modunda güç tüketiminin azalmasının nedeni, SLC NAND'ın yalnızca 2 mantıksal seviye kullanması ve bu yüzden gereken threshold voltage değerinin daha düşük olması
  • QLC NAND ise 16 mantıksal seviye kullandığından daha yüksek threshold voltage gerektiriyor
  • Boşta durumda da pSLC modunun güç tüketimi daha düşüktü

Sonuç

  • Prosedür doğru uygulanmazsa SSD zarar görebilir, bu yüzden dikkatli olmak gerekiyor
  • pSLC dönüşümünün performans farkı senaryoya göre değişiyor
    • Kısa sıralı benchmark'lar, küçük dosya kopyalama, oyun yükleme ve Windows açılışında fark küçük
    • Rastgele performans, gecikme, üretkenlik testleri ve uzun süreli yazmada fark büyük
  • En büyük değişim dayanıklılık tarafında; hesaplamaya göre TBW 120TB'den 4.000TB'ye çıkıyor
  • Buna karşılık kullanılabilir kapasite 500GB'den yaklaşık 120GB'a düşüyor

1 yorum

 
GN⁺ 2024-05-20
Hacker News yorumları
  • Ucuz DRAM’siz SSD’yi pSLC modunda kullanmak için o kadar uğraşmaya gerek yok
    Sadece toplam kapasitenin %25~33’ünü kullanacak şekilde over-provisioning yapmak yeterli
    Ucuz, DRAM’siz denetleyicilerin çoğu tüm disk önbellekleme modunda çalışır; yani önce tüm yazmaları pSLC olarak yapar, hücreler dolduktan sonra ancak bazı hücreleri TLC/QLC olarak yeniden düzenleyip alan açar
    TLC ise diskin 1/3’ü, QLC ise 1/4’ü kadar bir bölüm oluşturup kalan boş alanın TRIM’lenmiş halde kalmasını ve asla yazılmamasını sağlarsanız, sürekli pSLC olarak yazmış olursunuz
    İlgilendiğiniz SSD’nin bu şekilde çalışıp çalışmadığını anlamak için o modele ait "HD Tune" tam disk yazma benchmark’ına bakabilirsiniz. İlk 1/3~1/4 bölüm hızlı, geri kalanı ise felaket derecede yavaşsa bunun tüm disk önbellekleme modu olduğunu varsayabilirsiniz

    • Bunun zaman içinde gerçekten böyle kalıp kalmadığını nasıl doğrulayabileceğimizi merak ediyorum
      Diskin sadece bir kısmını bölümlemek, 160GB SCSI dönemindeki “yalnızca dış sektörleri kullanalım” yaklaşımını andırıyor
    • LBA’nın yalnızca bir kısmına erişiliyorsa ideal bir FTL gerçekten bu şekilde davranır
      Ama dediğiniz gibi üretici firmware’i farklı ayarlamış olabilir; bu modifikasyon ise tüm alanın SLC olarak kullanılmasını fiilen garanti ediyor
    • Orijinal yazının sonundaki “SLC CACHING” bölümüne bakın
      Bu yaklaşım, gerçek SLC önbellek 120GB olsa bile muhtemelen yalnızca 45GB’a kadar düzgün çalışacaktır; çünkü SLC tamamen tükenmeden önce sayfalama için süreç başlamaya başlar
      Sürücünün SLC kapasitesinin %66’sına ihtiyacınız yoksa küçük bölüm yaklaşımı daha kolay ve daha güvenlidir
    • Boş alanın TRIM’lendiği nasıl garanti edilebilir? Diskin yalnızca belirli bir kısmında TRIM uygulanıp uygulanamayacağını merak ediyorum
  • Bu hack aslında 480GB SSD’yi 120GB SSD’ye çevirmek demek
    Ama karşılığında yazma dayanıklılığı, yani arıza beklenmeden önce yazılabilecek veri miktarı, 120TB’den 4000TB’ye çıkıyor; bu da log depolama diski gibi kullanım alanları için çok faydalı bir ödünleşim olabilir
    Üreticilerin böyle bir seçenek sunduğunu hiç görmedim; neden yapmadıklarını merak ediyorum

    • Endüstriyel kullanım için SLC SSD satan şirketler var
      Örneğin Swissbit, TLC ya da QLC flash kullanıp o modlarda çalıştırmadığı ürünleri endüstriyel pazara satıyor
    • Yazarın write amplification factor’ı 3.8’den 2.0’a düşürdüğünü söyleyip dayanıklılığın 30 kat arttığını hesaplamasını anlayamadım
      O durumda beklentim yaklaşık 2 kat olurdu
      Görünüşe göre başlangıç değeri için OEM garanti değeri olan 120TBW kullanılmış, son değer içinse NAND’ın P/E cycle spesifikasyonu alınmış; bu da şüpheli duruyor
      Kaçırdığım bir şey varsa o da pSLC modunun hücre programlama voltajını ciddi biçimde düşürerek P/E cycle sayısını dramatik biçimde artırması olabilir; ama bunun da write amplification hesabına dahil edilmesi gerekirdi gibi geliyor
    • Bunu ZFS ya da Synology için cache disk olarak kullanmak işe yarar mı diye merak ediyorum. Biraz ek uğraş gerektirebilir gerçi
    • Üreticiler bunu zaten TLC sürücüler şeklinde sunuyor
      Bu hack veri kaybına yol açabilir ve desteklenmez, ama TLC sürücüler desteklenir
      Bu yöntem 120GB için 4000TB yazma dayanıklılığı sağlıyor ama 200 dolara 4TB TLC sürücü ve 3000TB yazma dayanıklılığı satın alabiliyorsunuz
    • Veri saklama süresi firmware uygulamasına bağlı, ama kullanıcı bunun içine hiç bakamaz
      Tüketici sınıfı sürücülerin çoğunun retention değerini düşük tutması muhtemel
  • Yazıda yeterince vurgulanmayan nokta, dayanıklılık ile veri saklama süresinin çok yakından ilişkili olması
    Flash hücreler cycle gördükçe sızıntıları artacak şekilde aşınır; bu yüzden cycle sayısı arttıkça yüklerini daha hızlı kaybederler
    SLC, QLC’deki gibi 16 durum ayırt etmek yerine yalnızca 2 durum ayırt ettiği için, aynı cycle sayısında veriyi SLC modunda çok daha uzun süre tutar
    Yani bu modifikasyon size yalnızca aşırı dayanıklılık değil, daha iyi retention da kazandırır
    Üreticiler bunu genelde “M cycle sonrası N yıl” şeklinde belirtir; ilk dönem SLC’ler 100K cycle sonrası 10 yıl olarak derecelendirilirdi, bu QLC ise QLC modunda 900 cycle sonrası 1 yıl, SLC modunda ise 60K cycle sonrası 1 yıl olabilir
    Blokları gerçekte bu kadar yoğun döndürmüyorsanız retention çok daha yüksek olur
    Firmware’in SLC modundaki bloklar için de QLC’nin gerektirdiği daha güçlü error correction code’u aynen kullanıp kullanmadığını bilmiyorum; ama kullanıyorsa güvenilirlik daha da artar

  • Yaklaşık 10 yıl önce benchmark için son üretim partilerinden bazı FusionIO SLC kartları elime geçmişti
    Yazılım, müşterilerin daha fazla kapasiteyle çalıştırmak istediği bir in-memory veritabanıydı ve kelimenin tam anlamıyla Fusion kartlarını sadece swap olarak kullandım
    Veriyi birkaç dakika yükledikten sonra kernel dengelendi ve gerçekten çok iyi çalıştı
    500 dolarlık bir bilgisayarda saniyede yüz binlerce işlemle milyarlarca kayıt işleniyordu ve kartlar arabamdan daha pahalıydı
    Bugün olsa bunu asla yapmazdım ama gerçekten etkileyici ekipmanlardı

    • Eskiden çalıştığım bir yerde FusionIO şirketi kurtardı diyebilirim
      Uygulamanın büyük kısmı tek bir Postgres veritabanına dayanıyordu ve yatay ölçekleme projesi başlatmaya çalışmıştık ama pek sonuç alamamıştık. Karmaşık ve eski bir kod tabanında partitioning’in zor olduğunu öğrendik
      Sonra bir şekilde bir FusionIO kart geldi ve en ucuz 2TB kartla pgbench’te okuma QPS’i yaklaşık 5,000’den 300k’ya çıktı
      Bundan sonra dikey ölçeklemenin düşündüğümüzden çok daha uygulanabilir olduğunu fark ettik. Donanım, sandığımızdan çok daha fazlasını yapabiliyor
    • İlk Intel SSD’lerin çıktığı dönemde, 10K diskten oluşan 8’li RAID-10 dizi kullanan bir e-posta sunucusu işleten bir ISP ile çalışmıştım
      Çok sayıda küçük rastgele I/O olduğu için yükü kaldırıp kaldıramayacağı sürekli sınırdaydı
      Deneme olarak dizüstü disk form faktöründe 600GB’lık bir Intel SSD gönderdim, yardımcı düğümü kapattılar, SSD’yi takıp yeniden açtılar
      DRBD ile diziyi senkronize ettikten sonra birincil düğümden SSD düğümüne failover yaptılar, SSD’yi mantıksal volume’e ekleyip pvmove ile 8 diskli dizideki blokları SSD’ye taşıdılar
      Birkaç saat içinde yük istikrarlı biçimde düştü ve sonunda neredeyse yok oldu
      Avuca rahatça sığan tek bir parçanın 3.5 inç 10K diskten oluşan 8’li bir dizinin yerini alması eğlenceliydi
    • 90’larda, daha yüksek ölçeklenmeye acil ihtiyaç duyan veritabanlarının WAL verileri için yeni bir arabadan daha pahalı batarya destekli RAM kullanıldığı da olurdu
  • Gömülü cihazlarda eMMC kullanıyorsanız bunu da tavsiye ederim
    Linux sistemlerde mmc-utils içindeki mmc komutuyla cihazı pSLC moduna ayarlayabilirsiniz
    U-Boot üzerinde de mümkün ama komut biraz daha karmaşıktır. Yalnızca bir kez programlanabildiği için ayarladıktan sonra geri alınamaz
    Seri üretim adetlerinde, programlama firması bu ayarı ve diğer eMMC ayarlarını önceden yapılandırabilir

  • Veri yolu aktarım hızına kadar inen bu tür analizlerin daha yaygın olmasını isterdim
    Tüm SSD'ler için önemli IC model adlarını, çalışma saat frekansını ve IC'ler arasındaki veri yolu genişliği ile çalışma hızını gösteren bir blok diyagram olsa iyi olurdu

  • Bazı Kingston SSD'lerde üreticinin sağladığı yazılım aracıyla over-provisioning yönetilebiliyor
    Yani kapasite ile dayanıklılık arasındaki dengeyi doğrudan kendiniz seçebiliyorsunuz

    • Yine de hücre başına depolanan bit sayısının değişeceğini sanmıyorum
      Örneğin over-provisioning'i %80 yaparsanız, QLC kapasitesinin %80'i yedek alan olarak bırakılır ve kalan %20 de hâlâ QLC modunda kullanılır
      Bunu, SLC'nin %20'si over-provisioning uygulanmış bir SLC gibi kullanabiliyormuşsunuz gibi düşünmemek gerekir
  • Üreticiler SSD'yi SLC'ye düşürerek kullanma yöntemini sürücü ayarı benzeri bir yolla sunsa iyi olurdu

    • SSD'nin kendisi için olmasa da tüm flash çiplerde bu mümkündür
      SSD'yi kendiniz yapıyor ya da flash'ı bir SoC'nin boş pinlerine doğrudan bağlıyorsanız, bu şekilde programlayabilirsiniz
      Yeterli talep olursa bunu NVMe için sunacak şekilde genişletmek de mümkün görünüyor
    • Diskin güzel tarafı, zaten baştan sürücü gerektirmemesidir
      Böyle bir özellik gelse bile Windows için sürücü ayar uygulaması muhtemelen açık kaynak olarak yayımlanmazdı
    • Yoksa üretici daha fazla parayı nasıl kazanacak ki
  • Bunun donanım seviyesinde bir fark olduğunu sanıyordum, şaşırtıcı

    • Belirli bir NAND çipinin hücre başına kaç bit depolayabildiği donanım seviyesinde bir şey olmalı
      Yine de TLC ya da QLC desteklese bile hepsinde SLC uygulamanın mümkün olduğunu düşünüyorum
      Şu an bilgisayarımda bulunan Silicon Power NVMe SSD de yazma için SLC kullanıyor gibi görünüyor, sonra da boşta kaldığı zaman bu veriyi TLC'ye taşıyor
      NAND'ı SLC modunda çalıştırmak bu tür sürücülerin bir özelliğidir ve buna “SLC caching” denir
    • TLC SSD'deki hücrelere 0'ı 000, 1'i 111 olarak yazarsanız, onu fiilen bir SLC SSD'ye dönüştürmenin elbette kolay olduğu düşünülebilir
      Ama bu tek başına, neden TLC'ye göre okuma ve yazmanın çok daha hızlı olduğunu açıklamaz
      Örneğin DRAM gibi veriyi bir kapasitördeki yük olarak sakladığını varsaysak, değeri yazmak için R-2R ladder DAC ve okumak için flash ADC kullanıldığını hayal edebilirsiniz. Bu durumda gürültü gibi etkenleri yok sayarsak, hücre başına geçerli seviye sayısına bağlı bir hız farkı olmazdı
      pSLC modunun daha hızlı olmasının nedeni, flash'ın programlanma ve okunma biçiminde ve flash belleğin analog özelliklerinde yatıyor gibi görünüyor
      DRAM'deki gibi değer saklamak için yük kullanılır ama bu, basit bir kapasitörde değil çift MOSFET kapısında tutulur
      Yük miktarı transistörün etkin eşik gerilimini değiştirir ve okuma sırasında transistörün ne zaman iletime geçtiğini görmek için çeşitli gerilimler uygulanması gerekir
      Hücre programlanırken, istenen bit desenine karşılık gelen eşik gerilimine ulaşacak kadar belirli miktarda yük enjekte edilmelidir. Yük yalnızca enjekte edilebildiği için fazla kaçırmamak adına kısa darbeler art arda uygulanır ve gerekli seviyeye ulaşılıp ulaşılmadığı okuma döngüleriyle kontrol edilerek bu süreç tekrarlanır
      Bu yüzden hücre başına seviye sayısı arttıkça daha kısa darbeler ve daha fazla okuma döngüsü gerekir
      Çok seviyeli bir hücre tek seviyeli modda programlanırsa, daha büyük tek bir yük enjeksiyonu yeterli olabilir ve okumada da yalnızca tek bir eşikte iletim olup olmadığına bakmak yeterlidir
      Özetle pSLC, çok seviyeli hücrenin kendisini değiştirmeyi gerektirmez ama o hücrenin programlanma ve okunma biçimini değiştirmeyi gerektirir. Bu nedenle ilgili devrelerin de bir ölçüde farklı olması muhtemeldir ve bunun yalnızca saf firmware ile uygulanabilmesi zor görünür
      https://en.wikipedia.org/wiki/Flash_memory#Floating-gate_MOS...
      https://dr.ntu.edu.sg/bitstream/10356/80559/1/Read%20and%20w...
      https://people.engr.tamu.edu/ajiang/CellProgram.pdf
      http://nyx.skku.ac.kr/publications/papers/ComboFTL.pdf
  • Acaba bu, zaten yıpranmış bir SSD'nin ömrünü uzatmak için de kullanılabilir mi diye merak ediyorum
    Çin'in bir yerlerinde böyle SSD'leri alıp yeniden flash'layarak “yeni ürün” diye satan bir iş olabilir