SSD'lerin (Solid State Disk) Bilinmeyen Sırları

Murat.Y

Üye
Üye
Katılım
Eyl 9, 2014
Mesajlar
1,998
Tepkime Puanı
0
Puanları
0
A.jpg

Ssd’lerin Bilinmeyen Sırları

Flash yongalarının bir araya gelmesiyle oluşan katı hal disklerinde kontrolcünün doğru biçimde konfigüre edilmesi şart ve bundan sorumlu olansa firmware paketleri.

TB'ları aşan yüksek depolama alanını uygun fiyata sunabilen ve onlarca seneden beri kullanımda olan sabit diskler yerini kademeli olarak SSD'ıere bırakıyor. Katı Hal Diskleri diyebileceğimiz SSD'ler içinde, USB parmak belleklerde gördüğümüz türden Flash yonga esaslı depolama hücreleri var. RAM belleklerdeyse veriyi kalıcı saklamayan DRAM modüller var ve durum farklı. Tüm bu Flash esaslı bellekler mekanik parça olmadığı için şoktan etkilenmiyor, gürültü yapmıyor, yüksek etkílenmiyor, gürültü yapmıyor, yüksek performans sunuyor ve çok az güç tüketiyorlar. Bir yandan da epey ufaklar ve tablet, ultrabook dizüstü bilgisayar ve ikisi bir arada hibrit gibi mobil cihazlarda sıkça karşımıza çıkıyorlar çünkü sundukları avantajlar sayesinde ideal hala geliyorlar. En büyük sıkıntı GB başına yüksek maliyet. Seneler önceki ilk nesil SSD’lere göre fiyat ciddi anlamda düştü ama hala 32, 64 GB depolama alanı sunan bilgisayarlar satılmakta. Sabit disklerin elindeki son kale yüksek kapasite ve düşük birim fiyat. Zaman içinde bu sorun da aşılınca diskler tarihe gömülebilir.

Aşağıdaki Videoyu İzlediğinizde Farkı Anlayacaksınız


SSD’lerin performansı kademeli olarak arttı ve son nesil SATA 3.0 yani 6.0 Gbps bağlantı bile yetmez hale geldi. Söz ettiğimiz bağlantıda teorik hız sınırı 600 MB/saniye. Çoğumuz için fazlasıyla yeterli ve yetmediğinde RAID0 seçeneği var ama son nesil ıntel yonga setli anakartlarda PCI Express bağlantısınıda kullanan SATA Express bağlantısını görmeye başladık. Bunu şart koşan SSD sürücü çok az ama geriye dönük olarak anakartlardaki SATA Express portlarını çift SATA 6.0 Gbps portlu olarak ta kullanabiliyoruz. Bir diğer yenilikse ufak formatlı mSATA yuvasının yerini almaya başlayan M.2 portu. Şimdilik M. ve SATA Express geçişi yapmanız şart değil. Senelerden beri SATA port sınırına takılmayan PCI Express tip SSD’ler de sunuluyordu ama bunlarda uyum, boot desteği gibi bazı sorunlar yaşanabiliyordu. Genel anlamda SSD sahiplerinin en büyük korkusu kullanım ömrü çünkü teknik şartnamelere bakılırsa günlük X GB veri yazılırsa şu kadar sene dayanır türünden açıklamalar var. Flash tip NAND bellekler belirli yazma işleminden sonra devre dışı kalıyor. Bir nevi SSD’lerin ölü sektörü diyebiliriz.


Kontrolcüyle NAND Yönetim

Her bir SSD içinde belirli sayıda NAND Flash bellek yer almakta. Örneğin 240 GB kapasite sunan 2.5 inç gövdeli bir SSD’yi açınca genelde karşımıza 16 tane NAND Flash yongası çıkar. Bunların yarısı bir yüzde, diğer yarısı diğer yüzdedir ve bir de kontrolcü görürüz. Sonuç olarak bu örnekte her bir yonga 16 GB depolama alanı sunuyor ve ortaya çıkan 256 GB toplam kapasitenin 16 GB’lık kısmı sürücü için ayrılıyor. Kontrolcünün görevi bu yongalar üzerine yazılan verinin doğru biçimde dağıtılmasını ve okuma sırasında organizasyonu sağlamak. Firmware denilen yazılımlarla kontrolcü yeniden Programlanabiliyor ve bulunan sorunlar düzeltiliyor ya da uyumla ilgili eklemeler yapılıyor. Ana kontrolcü üreticileri Intel, Samsung, Indilinx, JMicron, Marvell ve Sandforce olmakta. Kontrolcünün önemli görevlerinden biri SSD’deki NAND yongalarının dengeli biçimde kullanılmasını sağlamak yani ömür döngüsünü olabilecek en uzun değere ulaştırmak. Bu meseleyi açıklamak için NAND flash yongalarının nasıl yazıldığını, silindiğini ve yeniden yazıldığını açıklamamız gerekiyor. Sabit diskler aksine verilerin yazılması için Byte boyutlu ufak bloklar kullanılmıyor.


NAND Belleklerin Çalışma Yöntemi

SSD’lerde NAND Flash esaslı bellekler yer aldığı için bunların erişim süresi düşük ve rastgele veri erişiminde performans yüksek. Sabit disklerde sıralı okuma iyi olsa da rastgele veriler okunduğunda ve yazıldığında performans çok ciddi düşüş gösteriyor çünkü disk plakaları üzerinde yer değiştiren kafanın belirli yerlere gidip gelmesi zaman alıyor. SSD’lerdeyse böyle bir motor ve kafa hareketi olmadığından bekleme süresi düşük ve rastgele veriler hızla okanabiliyor. Flash NAND yongalarda yer alan hücrelere bir (SLC) ya da birden fazla bit (MLC) veri saklanabiliyor. Dikkat edilirse bir BİT ile iki olasılık var 0 ya da 1. İki Bite geçince seçenekler 00, 01,10 ve 11 yani iki katı. Slc ile performans daha yüksek ve ömür daha uzun ama daha az sakladığından maliyet yükseliyor. Diğer yandan MLC'ler zaten yeterince hızlı olduğundan pahalı olan SLC’leri sadece sunuculara özel SSD’lerde görebiliyoruz. Bir hücreye bir ya da iki Bit veri sığabildiği için 4 KB boyutlu paketler kullanılarak veri yazılır. Veri saklamak için kullanılan bloklarsa 128 paket içerir ve toplam 512 kb sunar. Bunu açıklamamızın sebebi NAND Flash yongalarda silinebilecek en ufak yapının bir blok (512 kb) olması. Bunun içindeki 128 ayrı paketi okumak ve boş olanlara veri yazmak mümkünken silme işlemi yapılınca 128 paketi içeren bir blok aynı anda sıfırlanır.

Bu yüzden bir blok içinde yer alan boş paketlere veri yazılır, eğer silinen veriler varsa bu bloktaki ilgili paketler için silindi notu konur ama silme işlemi uygulanmaz çünkü az önce söylediğimiz gibi silinebilen en düşük alan bir blok yani 128 paket olduğu için geriye kalan diğer paketlerin korunması adına silme işlemi ertelenir. Bu blok tamamen dolunca ve örneğin büyük kısmı silme için işaretlenmişse korunması gereken paketler bir diğer bloğa gönderilir ve silme işlemi gerçekleşir. Bu olaya ‘’ Garbage Collection (GC) ‘’ adı verilir çünkü gerçekten de ne zamandır işaretli duran çöpler temizlenir ve blok tamamen temize çıkar. Bu esnada verinin başka yere taşınmasından ötürü SSD’ye ek yük biner ve bazı bloklar gereksiz yere yazılır. Sıkıntı olan, bir bloğun bu şekilde silinme sayısının sınırlı olmasıdır. Bu yüzden SSD kontrolcüsü yeni verileri uygun biçimde bloklara dağıtır ve silme işlemlerini minimum sayıda tutar. Mesela bloğun yarısı silinme işareti almışsa ve diğer yarısı doluysa blok silme işlemine geçilince 64 paket başka yere taşınır. Buna "Write Amplification (WA)” adı verilir. Kontrolcünün amacı veriyi düzenli biçimde boş bloklara dağıtmak ve WA sıkıntısını azaltmaktır.

B.jpg

Parmak Bellekten SSD Performansına

Normalde USB bellek aldığımızda son nesil USB 3.0 modeller olmadıkça performansın genelde 10 MB/saniye değerini aşamadığını görüyorduk. Zaten ufak olan parmak belleklerde tek bir Flash NAND modülüyle uygun fiyata kalıcı depolama imkanı veriliyor ama yüksek performans arka plana atılıyordu. SSD’lerdeyse söz ettiğimiz gibi çok sayıda NAND Flash yonga bulunmakta ve modern SSD kontrolcülerle gelen çok kanal bağlantı desteği sayesinde aynı anda çok sayıda yonga üzerine yazma ve okuma uygulanarak performans kat kat arttırılmakta. SSD’leri kendi içinde RAID modunda işleyen USB bellekler gibi düşünebiliriz. Bu yüzden aynı seride yer alan SSD’lerin düşük kapasiteli olanlarında performans daha düşük çünkü NAND Flash yonga sayısı daha az. SSD’ler gibi USB bellekler içinde yer alan Flash yongaların da belirli bir ömrü var ve örneğin MLC tip ekonomik yongalarda 10 bin kez silme işlemi yapıldıktan sonra hatalar başlıyor ya da cevap alınamıyor. O yüzden SSD üreticilerinin ilk amacı sürücü içinde yer alan her bir bloğa sırayla veri yazmak. Böylece hiçbiri erkenden dolmaz ve silinmesi gerekmez. Sürücünüz daima yüzde 25 dolu olsa bile bir süre kullanımdan sonra tüm bloklar dolu hale gelir ( geçerli ya da silinmek üzere işaretlenmişler dahil ) ve veri yazılacak alan kalmayınca blok silme işlemleri başlar. Sabit diskler de silme komutu gelince fiziksel silme gerçekleştirmez, o alana bir başka verinin yazılması gerekince silme uygulanır.


Zaman İçinde Gözlenen Hız Düşüşü

Buraya kadar anlattıklarımızdan öğreneceğiz gibi blokların silinmesi ertelense de bir aşamadan sonra kaçınılmaz olur çünkü SSD’niz örneğin 120 GB ise birkaç günlük kullanımdan sonra boş blok kalmaz. Başta çok hızlı çalışan SSD’niz artık yazma komutu alınca sadece yazma yapmaz, taşıma, silme ve yeniden yazma yapar. Bu da işlem süresini arttırır ve sadece az bir veri yazılsa da süre arttığı için kullanıcıda SSD’nin yavaşladığı hissi uyanır. İşte bu olaya zaman içinde düşen SSD performansı sorunu denilmekte. Kutudan çıktığında ( FOB modu ) harika performans sunan Flash bellek esaslı bir cihazın ‘’ Steady State ‘’ denen ve genel kullanımı ifade eden bu kararlı durumdaki performansı çok daha önemlidir. Dikkat edilirse testlerin büyük kısmında hiç kullanılmamış ve boş olan SSD’ler özel uygulamalarla test edilince harika rakamlar ortaya çıkar ve en ideal durum temsil edilir. Kararlı durumda yani kullanım sırasında oluşan performans ve inilen noktanın daha önemli bir kriter olduğu ve ürün kıyaslamada kullanılmasının gerekliliği anlaşılmış olmalı.

C.jpg

Kayıp Kapasite ve Dayanıklılık

SSD’lerin kapasitesi her zaman Flash yongalarının kapasitesinin altında kalıyor çünkü ürüne bağlı olarak belirli oranda depolama alanı saklanıyor, herhangi bir blok silinip yazılamaz hale gelince bu yedekler kullanılmaya başlanıyor. Örneğin 256 GB kapasiteli SSD’de sunulan kapasite 240 GB ise yaklaşık yüzde 6 – 7 önlem alınmış oluyor. Bir üretici sürücünün garantisini daha uzun verme niyetindeyse bu oranı arttırabiliyor. Sürücünün dayanıklılığı yani ne kadar veri yazılabileceği son derece önemli bir mesele. Bu değeri ifade etmek için tbw yani yazılan toplam byte değeri kıyaslanıyor. Bazı üreticilerse günde X GB veri yazılsa bile X sene kullanım garantisinden söz ediyor. Kullanıcıların bu değeri kontrol etmesi ve dayanıklılığı daha iyi olan SSD'lerl tercih etmesi gerekiyor. Günümüzde çoğu sorun aşıldı ve sürücüler senelerce sorunsuz kullanabilir hale geldi. Üreticiler artık iki, üç ya da daha uzun sene garanti verebiliyor.


Slc, Mlc, Tlc ve Şimdi V-Nand

Başta söylediğimiz gibi daha pahalı ama uzun ömürlü olan SLC yongalar pek sık karşımıza çıkmıyor. Bunlarda bir blok 100 bin kez yazılabiliyor. MLC ise daha ucuz ama yaklaşık 10 bin kez yazılablllyor yani on kat düşüş var. Samsung öncülüğünde yaygınlaşan TLC (3-bit) üç katmanlı yongalarsa daha da ucuz ama yazma sayısı sadece birkaç bin! Paniğe gerek yok çünkü bunlar bile kaç senelik garanti sunabiliyor. 'Wear Leveling" olarak tanımlanan aşınma azaltıcı çözümler gelişti. Yeni sürücülerdeki kontrolcüler verinizi yazmadan önce sıkıştırıyor ve blokta daha az yer kaplamasını sağlıyor. Böylece gereken silme işlemi de azalmış oluyor. Biraz önce söz ettiğimiz gizli kapasite de yardımcı oluyor. Performans düşüşünü engelleme konusunda akla gelen ilk teknolojiyse TRIM ve buna az sonra değineceğiz. Üretim tekniklerindeki iyileşmelere rağmen 20nm altına inildikten sonra NAND Flash yongaların iki boyuttan üç boyuta geçmesi şart olmuştu. Samsung imzalı son nesil 3D V-NAND Flash bellekler daha da ileri gidip üç boyutlu dizilimle 32 katmanı bir alana topluyor, TLC’deki 3-bit yapısı kullanılıyor. Böylece tek bir NAND Flash yonga paketiyle 128 GB ( 8x16 ) elde edilebiliyor.

120 GB kapasite sunan samsung SSD 850 EVO içinde tek bir yonga ve kontrolcü var! Sonuç olarak maliyet ciddi biçimde düşüyor ama diğer yandan dayanıklılık azalmıyor çünkü beş sene garanti sunabilmekte. Ayrıca üçüncü boyuta geçişle gelen 32 katman avantajından ötürü üretim tekniği 40nm ve aşırı sıkıştırma gerekli olmuyor. Dayanıklılık açısından V-NAND ile P/E sayısı sadece iki bin değerine iniyor. Bu durumda 120 GB kapasiteli model, 240 TB yazılınca iflas ediyor. Sürücüye her gün kendi kapasitesi kadar yani 120 GB veri yazsanız bile 2000 gün yani beş buçuk sene dayanmalı ki çoğumuz asla günlük 120 GB veri yazmıyoruz. Diğer yandan önceden söz ettiğimiz WA farkından ötürü bloklar arası taşınan veri nedeniyle bu rakam artıyor ama durum ne olursa olsun genel kullanım için beş sene garanti sorunsuz biçimde tamamlanacak gibi görünüyor. SSD’nizin kapasitesi artarsa ve günlük yazılan verinin değişmediği düşünülürse ömrünün katlanarak artacağı ortada.

D.jpg

TRIM Artık Standart

Silinen verilerin yer aldığı Flash hücreleri doğrudan silinmez ve blok silme işlemi gerçekleşene kadar işaretli beklerler demiştik. Bu işlem gerçekleşince bekleme süresi artar ve yazma işlemi yavaşlar. SSD kontrolcü, bloklara silme işlemi uygulanacak olsa bile veri yazılana kadar silme işlemini erteler.

TRIM komutunun getirisi, SSD kontrolcünün bu silme işlemlerini beklemeden gerçekleştirmesini sağlamak. Böylece zaten eninde sonunda silinecek olan Flash blokları temizlenir ve yeniden yazma için boş bekler. Veri yazıldığı anda gecikme olmaz ve hız düşmez. TRIM için işletim sistemi, SSD sürücü, anakarttaki sata kontrolcüsü destek vermek zorunda. Yeni anakartlar ve sürücüler, Windows 7 ve sonrası buna destek veriyor. Eğer SSD’nizi ilk gün olduğu gibi hızlı görmek istiyorsanız format atmanız yetmez çünkü bloklar silinmez. Bunun için Secure Erase türü güvenli silme işlemi gerçekleştiren özel programlar kullanılıyor. Aksine okuma hızı zamanla ve kullanıma göre düşüş göstermiyor. SSD’lerde ana sıkıntı yazma performansındaki düşüş. İşte bu yüzden doğru seçim ve satın aldıktan sonra dikkatli kullanım ile periyodik kontrol şart.




Kaynak: PCkoloji Dergisi
 
Tekerlekli Sandalye
Üst