Garbage Collection ( GC ) – Çöp Toplayıcısı: Flash bellek idâresinin bir diğer mühim ayağını teşkil eden Garbage Collection mekanizmasının temel çalışma mantığı, dağınık durumdaki verî paketlerini block’lar üzerinde düzenli bir şekilde yerleştirmek ve kontrolcüyü, kullanıcıdan gelecek bir sonraki emre rahat bir şekilde cevab verebilme durumuna getirmektir. Çünkü, hâlihazırda oldukça karmaşık olan emir ve komuta zincirleri arasında mili ve nano sâniyelerin mevzû bahis olduğu bir ortamda kontrolcü çekirdeğini aynı anda birden fazla iş ile meşgûl bırakmak SSD’de ciddî performans düşüklüklerine sebebiyet vermektedir. Garbage Collection mekanizmasının işleyişini çizimler ile görelim:
Üretim bandından çıkmış bir SSD’de Page’ler temiz ve yazılmaya hazır durumdadır.
Mes’eleyi olabildiğince basit bir şekilde ele almanın isâbetli olacağı kanaâtindeyiz. Bunun için not defterimizi açalım.
Not defterimize 1234 rakamlarını girelim ve kaydedelim.1234 rakamları girilmiş not defterimiz
4 byte eden 1234.txt dosyamız.
Müşâhede edileceği üzere 4 byte’lık txt dosyamız hazır. Burada her bir byte’ın bir Page’e tekâbül ettiğini varsayalım. Yâni 1234.txt dosyamız için toplamda 4 adet Page’e ihtiyâcımız vardır.
Görülen 4 Page’in toplamı hedef dosyamızı teşkil ediyor.
Şimdi hedef txt dosyamızın başına 5678 rakamlarını ekleyerek düzenleyelim.
56781234 rakamlarını ihtivâ eden not defterimiz.
Txt dosyamız şu an 8 byte boyutuna erişmiş durumda.
Son olarak dört rakam daha eklediğimiz txt dosyamızı üzerine yazmış idik. Fakat dosyamızın nihâî hâlinin şekillenebilmesi için arka plânda gerçekleşmesi gereken bir dizi işlem var.
Hedef dosyamızın ilk tutulduğu Page’ler silinmek üzere işâretleniyor. Yeni Page’lerde şu an aynı block’da durmakta.
8 byte’lık txt dosyamızın yeni hâli.
Yukarıda da görüldüğü üzere SSD’miz Block A‘daki txt dosyamızın yeni hâlini Block B‘ye taşımış vaziyette. Bu durumda Block A‘daki eski verilere de ihtiyâcımız kalmamaktadır. Hâli ile Block A”nın tümü silinmek üzere işâretlenmiştir. Peki katı hâl diskimizin kontrolcüsü neden sâdece atıl durumdaki Page’leri silmekle yetinmedi ? A’dan Z’ye SSD Rehberimizin evvelki sayfalarında dile getirmiş olduğumuz NAND Flash teknolojisinin üçüncü kâidesi aklımıza gelmelidir: ” SSD’ler üzerinde silinebilir en küçük birim Block’lardır. ”
Block A silinmiş ve Garbage Collection işlemimiz muvaffakiyet ile sona ermiştir.
Yukarıdaki tablolarda da ifâde edildiği üzere Garbage Collection komutlarının vazîfesi SSD kontrolcüsü için mümkün olabildiğince daha fazla temiz ve yazılmaya müsâit Page’ler hazırlamaktır. İşin ehemmiyetini îzah edebilmek için 960GB kapasiteli bir katı hâl diskinde takrîben 2 milyona yakın Page olduğunu ( farklı modellerde rakamlar değişiklik gösterebilir ) hatırlatalım.
Garbage Collection kısmı da buraya kadardır. Bir sonraki konumuz: Wear Levelling Nedir, Nasıl Çalışır ?
İKTİBASLAR: