ANKET

Sitemizde En Çok Hangisinin İncelemesini Görmek İstersiniz ?

Dizüstü Bilgisayar - 16 ( 28.07 % )

Ekran Kartı - 10 ( 17.54 % )

RAM - 1 ( 1.75 % )

Intel NUC Mini Bilgisayar - 1 ( 1.75 % )

USB Bellek - 2 ( 3.51 % )

Sadece SSD Yeterli ! - 27 ( 47.37 % )

TÜM ANKETLER

TOPLAM REY : 57

SON TWEETLER

ECC ( Error Correction Code ) Nedir, Nasıl Çalışır ?

Yazar: 27-11-13  21:44

 

ECC_Tema

 

 

ECC ( Error Correction Code ) – Hatâ Düzeltme Kodları: A’dan Z’ye SSD Rehberimizin daha evvelki sayfalarında nm ( nanometre ) bazındaki küçülmelere muvâzî NAND bellek yazma ömürlerinin de düştüğünü belirtmiş idik. ECC’yi daha iyi anlayabilmek adına öncelikle bu teknolojinin kısa bir tanımlamasını icrâ ertesinde târihçesine bir göz atalım ve ardından SSD’leri ilgilendiren noktasına temâs edelim.

 

Error Correction Code teknolojisi, depolama sistemlerinin işleyişinde vukû bulan hatâları tespit edip onları düzeltme kâbiliyetini kontrolcüye kazandıran komutsetleridir. Bellek üzerinde bir yazma işlemi gerçekleştirildiğinde ECC komutları muhtelif algoritmalar ile onu okur ve ikili sayı düzeninde hesaplama yaparak hatânın hangi 0 ve 1‘de olduğu çözüp onu düzenlerler.

 

Hatâ Düzeltme Kodları ilk defâ 1950’de Hamming ve Golay tarafından tanımlanmıştır. Bu teknoloji zamanla oldukça karmaşık bir yapı hâline gelmiş ve hakkında bir sürü müstakil kitab kaleme alınmıştır. Hamming ve Golay algoritmasına göre verî bitleri, kontrol merkezi ve depolama cihazı arasında ileri ve geri geçirilir, bu esnâda bir kod oluşturulur, ertesinde de bir tamsayı ile hatâlı noktalar işâretlenir. Çalışma mantığı îtibâri ile bu kısım, 18. yüzyıl Alman asıllı Fransız matematikçisi olan Gauss tarafından keşfedilen algoritmalara dayanır. O vakitlerden bu yana ECC teknolojisi veri koruma stratejilerinde ön sıraya yükselmiş ve günümüzde NASA’nın uzay mekiklerinden muhtelif müessesevî uygulamalara ve pek tabii depolama cihazlarına kadar geniş bir sahaya hitâb eder olmuştur.

 

Hâli ile ECC, Flash tabanlı depolama cihazlarına da yayılmış ve SSD’lerdeki yerini de almıştır. Flash depolama cihazlarında hatâları tesbit etmeyi sağlayan muhtelif algoritmalar vardır. Hamming’in îcâdı aynı anda iki bit hatâyı tesbit edebiliyor iken bunlardan sâdece birini düzeltebilmekteydi. Daha sonraları geliştirilen Reed-Solomon algoritmaları daha fazla hatâyı tesbit edip düzeltme kâbiliyetine sâhib olmasının yanında artan CPU kullanımını da berâberinde getiriyordu. İlerleyen vakitlerde geliştirilen BCH algoritmaları ise nisbeten basit olan kodlama ve kod çözme teknikleri ile Reed-Solomon’dan daha verimli çalışabilmekte ve geniş sahalara dağılmış hatâları tesbit edebilmekte. Günümüzde îmâl edilen SSD kontrolcülerinin ekserîsinde tercih edilen ECC tipi de BCH algoritmalarıdır.

 

 

 

Flash bellek teknolojisinin mevcud olduğu heryerde ECC de vardır.

Hatâ Düzeltme Kodlarının rolü geleneksel sâbit disklere nazâran SSD’lerde daha mühimdir. Yapıları gereği mekanik hatâlara müsait olan HDD’lerden yükselen o ürkütücü takılma sesi sâdir olduğu vakit diskin artık tamâmen kullanılamaz hâle gelmek üzere olduğu hissi kaplayıverir kullanıcıyı. ECC’nin burada yapabileceği birşey yoktur. SSD’lerde ise durum farklıdır. Katı hâlli olmaları îtibâri ile herhangi dönen bir plâka ve milimetrik hesablar üzerinde duran okuyucu kafalar ihtivâ etmeseler bile milyarlarca Flash hücresi taşırlar. Muazzam sayıdaki hücrenin varlığı şuna delâlettir ki bâzı hücreler tabiî işleyiş esnâsında ya hatâ çıkaracak ya da çalışmayacakdır. Pek iç açıcı olmayan böyle tablo karşısında SSD üreticileri de veri kaybı ihtimâlini asgarîye indirebilmek için ECC teknolojisine sarılmışlardır. Bâzı firmaların ürünlerini piyasaya sürmeden evvel istikrarsız hücreleri tesbit için burn-in ( stres ) testi uygulamakta olduklarını da belirttikten sonra, şimdi ECC’nin Flash teknolojisinde giderek artan payının esbâbına göz atalım:

 

 

Üretim mâliyetlerini düşürme gâyesinin başı çektiği muhtelif sebeblerden ötürüdür ki NAND bellek üretim tekniklerinde devamlı bir küçülme söz konusudur. Buradan maksadı da şu şekilde ifâde etmeye çalışalım:

 

 

Kum  >  Silikon  >  Wafer  >  Yonga   >  SSD

 

 

Mâlûmumuz, Silikon dediğimiz madde kumların özenle işlenmesi sonucu ortaya çıkar. Wafer’lar da silikonların kullanıma hazır hâle gelmiş, umûmen yuvarlak şekillerde hazırlanmış hâlleridir. NAND bellek yongalarını barından bu Wafer’ların en küçük yapı taşı da daha önceden işlemiş olduğumuz hücredir. Flash bellek teknolojisi ilk kullanılmaya başlandığında her hücreye ancak bir bit veri saklanabilmekteydi ve bunun adına SLC diyorduk. Fakat, nanometre sahasındaki küçülmeler ertesinde bir hücreye iki ya da daha fazla bit saklayabilmenin imkânı doğmuş, yonga bazında yoğunluk artmışdı. Yâni tek bir yongada sunulabilen kapasite miktârı yükseldi, velâkin bu esnâda önceden bir hücrede tek başına ikâmet eden bir bit’in yanına bir ya da daha fazla bir daha sıkıştırıldı. Böylelikle, birbirleri arasında haberleşen hücrelerin işi daha da zorlaştı ve sinyal üst üste binmeleri şeklinde ifâde ettiğimiz hatâlar ile de zâten mevcudda da vukû bulan matematiksel karışıklıkların da sayısında artış gerçekleşti. Buna tıpkı müstakil bir ev ve apartman binâsı mantığı ile bakabiliriz.

 

 

 

ECC_Tablosu_SSDLabNet

Resmi Büyütmek için Lütfen Üzerine Tıklayınız

 

 

 

 

İş bu sebeble, kontrolcü üreticileri SLC tipi NAND belleklerin idâresinde kullandıkları kısmen cüz’î miktardaki ECC’yi MLC tipi belleklerde kullanamadılar, çünkü MLC’lerde zuhûr eden hatâlar çok daha fazla idi ve bu da katı hâl diskinin kararlılığını düşürüyordu. ECC ünitelerinin sayısını arttırmakla bu işe bir çâre bulundu, fakat bu sefer de kontrolcünün sırtına fazladan bir yük daha binmiş oluyordu. Bu da MLC ve özellikle de TLC tipi belleklerin performans noktasında SLC’lerden geri kalmalarıyla netîcelendi.

 

Hatâ düzeltme kodlarının uygulanabilmesi iki yol ile gerçekleşmektedir. İlki bunu donanım, ikincisi de yazılım üzerinden hâlletmektir. Donanım üzerinden ECC’yi yürütebilmek için bu komutlar SSD kontrolcüsü içine dâhil edilir. Bu şekilde yazma performansındaki düşüş kabûl edilebilir miktardadır. Son senelerde ECC komutsetlerini kontrolcü yerine NAND yongalarının içine yerleştirme fikri kabûl görmeye başlamış ve bâzı NAND îmâlâtçılar da bu şekilde vücûda getirdikleri yongaları üst seviye çözümler olarak pazarlamaktadırlar. Mes’elenin diğer cihetine dönecek olursak, işin içinden yazılım ile çıkılmaya çalışıldığında ise durum oldukça vahim bir hâle gelmektedir ve yazma hızı, yerlerde gezen mesâbelere düşmektedir. SSD pazarının umûmunun teveccüh göstermediği yazılım üzerinden ECC teşebbüsleri de kendine ancak sayılı kullanım sahaları bulabilmiştir.

 

 

ECC konusundaki bilmemiz gereken temel denklemi ifâde ederek makâlemizin sonuna yaklaşalım:

 

Flash bellek olan heryerde ECC vardır ve bu komutlar kontrolcü ilâ bellek yongaları arasındaki haberleşme esnâsında vukû bulabilecek muhtemel hatâları, işlem sekteye uğramadan düzeltmekle mükelleftirler. Üretim tekniği olan nm ( nanometre ) küçüldükce hücre başına atanan bit sayısında artış görülebilir. Bu durumda da ECC ünitelerinin sayısının da muvâzî derecede artması gerekmektedir ki bu da kontrolcünün performansında, NAND Flash yongalarının da yazma ömründe düşme ve kısalmaların mevzû bahis olduğunu ifâde eder.

 

 

ECC ( Error Correction Code ) – Hatâ Düzeltme kodları kısmı da buraya kadardır, bir sonraki makâlemiz Over-Provisioning Nedir, Nasıl Çalışır olacaktır.

 

 

 

 

 

İKTİBASLAR: