Teknoloji meraklıları vakit zaman ECC (Error Correction Code) kavramıyla karşılaşmıştır. Baştan belirtmek gerekirse, bu teknoloji ekseriyetle sunucu ve iş istasyonlarında, yani kurumsal alanda kullanılmakta. Yanılgı düzeltme kodlu bellekler, RAM yongalarında meydana gelebilecek yanılgıları otomatik olarak algılayıp düzeltmek üzere geliştiriliyor.
Elektronik/manyetik parazitler yahut kozmik ışınlar bellekteki bilgilerin bozulmasına sebep olabilir. ECC’nin hedefi ise bozulan datayı düzeltmek, düzeltemediği durumda da sisteme raporlamaktır. DDR5 teknolojisiyle birlikte gündeme gelen on-die ECC (ODECC) teknolojisi tüketiciler ortasında birçok tartışmaya ve baş karışıklığına neden oldu. Öncelikle bu teknolojinin standart ECC teknolojisinden çok farklı olduğunu belirtelim. Artık ECC’ye kısaca değineceğiz, akabinde ODECC’nin (yonga kalıbı üzerinde ECC) farklarından bahsedeceğiz.
Hata düzeltme kodu (Error correction code), bellekte depolanan bilgilerin gerçek olmasını sağlayan matematiksel bir süreçtir. ECC, bir kusur durumunda sistemin yanlışsız bilgileri gerçek vakitli olarak tekrar oluşturmasına da müsaade verir.
ECC, RAM’deki sekiz bit üzere büyük data kümelerindeki yanılgıları tespit etmek için tek bir bit (eşlik biti/parity bit) kullanma metodu olan daha gelişmiş bir eşlik biçimi kullanmakta. Ne yazık ki bir eşlik biti sistemin bir yanılgıyı algılamasına müsaade verirken, data yanlışını düzeltmek için kâfi bilgi sağlamaz.
Çoğu sistem, dataları 64 bitlik daha büyük kesimler halinde taşır. ECC, her sekiz bitlik bilgi için bir ekstra eşlik biti üretmek yerine, 64 bit bilgi başına yedi ekstra bit üretir. Sistem, öbür 64 bitin yanlışsız olduğundan emin olmak için ekstra yedi bitlik data üzerinde karmaşık bir matematiksel algoritma uygular. Tek bir bitin yanlış olması durumunda (tek bitlik bir hata), ECC algoritması bilgileri yine oluşturabilir, lakin daha büyük kusurlar (iki yahut daha fazla bit) olduğunda bunu yalnızca sisteme bildirebilir.
Standart ECC’den farklı olan ODECC, öncelikle gelişmiş üretim teknolojilerinde verimliliği artırmayı amaçlıyor ve böylece daha ucuz DRAM yongalar üretilebiliyor. On-die ECC, sadece yenilemeler sırasında bir hücrede yahut satırda meydana gelen yanlışları algılamakta. Datalar hücreden önbelleğe yahut CPU’ya taşındığında, bir bit kayması yahut bilgi bozulması varsa bu durum on-die ECC tarafından düzeltilmiyor. Standart ECC ise hücre içindeki ve öteki bir aygıta taşınırken yaşanacak data bozulmalarını düzeltme yeteneğine sahip.
DDR5, verimliliği artırmak ve bellek denetimcisi için data erişimi gecikmelerini azaltmak için bellek modülünü iki bağımsız 32 bit adreslenebilir alt kanala böler. DDR5 modülünün data genişliği 64 bit, yani birebir. Lakin bu data yolu 32 bitlik iki adreslenebilir kanala bölündüğünde genel performans artıyor. Sunucu sınıfı bellekler (RDIMM’ler), ECC dayanağı için her alt kanala 8 bit eklenerek alt kanal başına toplam 40 bit yahut sıra başına 80 bit bilgi yolu sağlar. Çift sıralı modüller dört adet 32 bit alt kanala sahiptir.
On-die ECC, DRAM çipindeki bit yanlışlarını düzeltmek için tasarlanmış yeni bir özellik. CPU ve GPU’larda olduğu üzere, RAM’lerin üretiminde kullanılan üretim teknolojileri de gelişiyor. Yeni litografi teknikleriyle DRAM yongaların yoğunluğu arttıkça data sızıntılarının potansiyeli de artıyor. DDR5 yongalarına entegre olan ECC ise çip içindeki kusurları düzeltiyor, güvenilirliği artırıyor ve kusur oranlarını en aza indirirken riski azaltıyor.
Bu teknoloji, çip dışındaki yanlışları yahut modül ile CPU içinde yer alan bellek denetimcisi ortasındaki bilgi yolunda meydana gelen yanlışları düzeltme kabiliyetine sahip değil. Sunucular ve iş istasyonlarında kullanılan ECC özellikli işlemciler, tek yahut çok bitli kusurları anında düzeltebilen kodlama özelliğine sahip.
Devam edecek olursak, DDR5’in on-die ECC özelliği DDR kanal kusurlarını düzeltmez. Yani işletmeler DDR5 ODECC takviyesinin yanı sıra standartlaşan yan bant ECC teknolojisini kullanmaya devam edecektir. Uzun lafın kısası, kalıp üzerinde ECC (on-die ECC) teknolojisinin kapsamı çok daha dar.
Intel, yıllar evvel ECC’nin profesyonel segmente özel olduğunu düşünerek sırf Xeon işlemcilerinde kullanmayı tercih etti. AMD bunu değiştirdi ve Ryzen işlemcilerine ECC dayanağı eklemeye başladı. Böylece ECC teknolojisinin maliyetleri arttı ve uygun ECC dayanağı RAM bulmak başka meseleler ortaya çıktı. Lakin DDR5 standardı ile her şey değişiyor. ECC artık DDR5’in olağan bir kesimi haline geldi.
Yeni kuşak işlemciler, data tutarlılığı konusunda önbelleği ve öteki bileşenleri denetim etmek için dahili olarak ECC (veya öteki bir tür) kullanıyor. Lakin ECC takviyeli RAM olmadan işletim sisteminin CPU ile RAM ortasındaki yahut RAM içindeki dahili dataları denetim etmesi mümkün değil.
İşletim sistemi bellek tutarlılığını bir dereceye kadar denetim eder. Bu süreç yavaştır ve tam olarak muteber değildir. Sonuç olarak, işletim sistemi RAM’de depolanan datalarla ilgili tüm meseleleri tespit edemez. Yani süreçlerin yanlışsız datalar üzerinde yapılıp yapılmaması, bilgilerin hakikat evrakta saklanıp saklanamaması üzere denetimler %100 olarak denetim edilemez.
Günlük kullanımda bu pek de değerli değil. Örneğin Word dokümanında geçersiz bir karakterin olması büyük problemlere yol açmaz. Fakat banka süreçlerinde her adım çok kritik.
Windows, data tutarsızlığını algıladığında çoklukla mavi ekran yanlışı gösterir. Söylediğimiz üzere, işletim sisteminin denetimleri tam olarak emniyetli değil.