Bazı RAM veya Rastgele Erişimli bellek, ECC belleği olarak tanıtılır. ECC, Hata Düzeltme Kodu anlamına gelir ve bellekteki hataları belirleme ve düzeltme işlemidir. RAM'deki hatalar, verilerin bozulmasına veya değiştirilmesine neden olabilir, bu da cihaz çökmelerine ve hatta güvenlik açıklarına neden olabilir. ECC RAM tipik olarak tüketici sınıfı PC donanımıyla uyumlu değildir.
Bellek hataları nelerdir?
Bellek hataları, bellekte depolanan değerin değiştiği bir sorundur. RAM'deki veriler, 1 veya 0 değerleriyle ikili olarak saklanır. 1'in değeri 0'a çevrilirse veya tam tersi olursa, "bit çevirme" adı verilen bir işlemde, RAM'de depolanan veriler değişir.
Örneğin, değiştirilen bit, bir elektronik tabloda bir değeri depolamak için kullanılabilir. Bu durumda, elektronik tablodaki değer, tamamen farklı bir sayıyla değiştirilebilir. herhangi bir hesaplamanın sonucunu etkileyecektir, örneğin bir işletmenin ekonomik tahminlerini değiştirecektir. işletme. Diğer durumlarda, değiştirilen bit bir güvenlik özelliğini devre dışı bırakabilir veya bir programın çalışma şeklini değiştiren bir yazım hatası oluşturabilir. Bu iki örneğin, ECC belleği kullanılmadan saptanması ve çözülmesi son derece zordur. Aşırı bir senaryoda, tek bir bitin çevrilmesi, sistem çökmesine neden olan feci bir hataya neden olabilir.
Bit çevirmenin birçok potansiyel nedeni vardır, en yaygın neden, öncelikle kozmik ışın olaylarının yarattığı nötronların neden olduğu arka plan radyasyonunun sonucudur. Bir kozmik ışın, neredeyse ışık hızında hareket eden, tipik olarak bir proton olan yüksek enerjili bir parçacıktır. Güneş ve diğer yüksek enerjili astronomik nesneler de dahil olmak üzere yıldız cisimleri tarafından yayılırlar. Kozmik bir ışın bir atoma çarptığında, bir nötron yağmuru ve diğer atom altı parçacıklar yaratılır, bu nötronlar daha sonra ikincil etkileşimlere girer.
Bu ikincil nötron etkileşimlerinin, bit çevirme hatalarının birincil kaynağı olduğuna inanılmaktadır. Kozmik ışınlar, deniz seviyesinden 1.5 km yükseklikte 3.5 kat artış ve uçakların seyir irtifasında 300 kat artış ile daha yüksek irtifalarda daha yaygındır. Yükseklikte bu artan risk, ekstra güvenilirlik önlemleri gerektirir.
Bellek hataları ne kadar yaygındır?
Çoğu insan bilgisayarlarının her gün çöktüğünü görmez, bu nedenle bunun öncelikle teorik bir risk olduğunu düşünmek kolay olur. Bit çevirme olaylarının oranını analiz etmek için hiper ölçekli veri merkezlerinden yapılan araştırmalar kullanılmıştır. Google tarafından veri merkezlerinde gerçekleştirilen araştırma, her 1.8 saatte bir gigabayt RAM başına kabaca 1 tek bitlik bir hata oranı göstermiştir.
Nasa'nın 1997'de Satürn'e seyahat etmek için başlattığı Cassini-Huygens misyonu, her biri 2.5 Gb RAM'e sahip iki özdeş uçuş bilgisayarı ile yapılandırıldı. Yolculuğunun ilk iki buçuk yılı boyunca, uzay aracı günde 280 tek bitlik tutarlı hata gözlemledi. Bir gün boyunca, Cassini-Huygens bir güneş patlaması yolundayken, bit hızı dört kat arttı. Güneş'in çoğu bit çevirmenin nedeni olduğuna dair daha fazla kanıt sağlayan hatalar gözlemlendi. sorunlar.
RAM modüllerinin yoğunluğundaki devam eden artışın, RAM'in sonraki sürümlerinin bit çevirmelerine karşı giderek daha savunmasız olmasına yol açacağına dair endişeler vardı. Daha yakın tarihli çalışmalar, süreç geometrisi azaldıkça hatalar azaldığından, aslında durumun tam tersi olduğunu göstermiştir.
ECC belleği hatalara karşı nasıl koruma sağlar?
ECC belleği, RAM'deki tek bitlik hataları düzeltmek için Hamming kodları gibi hata düzeltme kodlarını kullanır. Çift bit hataları tespit edilebilir ancak düzeltilemez. Hamming hata düzeltme kodları, bir dizi eşlik biti kullanarak çalışır. Bu eşlik bitleri birlikte, herhangi bir veri bitinin değişip değişmediğini tespit etmek için kullanılabilir. Bir bitin ters çevrildiği belirlenirse, otomatik olarak geri değiştirilir.
İpucu: Tek bitlik bir hata, yalnızca tek bir bitin çevrildiği bir bit çevirme olayıdır. Double0bit hatalarında iki bit ters çevrilir. Aynı olayda iki bitin çevrilmesi gerekmez, ikinci bit çevirmenin yalnızca ilk çevrilen bit düzeltilmeden önce gerçekleşmesi gerekir.
Gerekenden bir fazla eşlik biti Hamming hata düzeltme kodlarına dahil edilmiştir. Bu ekstra eşlik biti, koda çift bit hatalarının oluşumunu algılama yeteneği verir, ancak bu hatalar düzeltilemez.
Hata algılama ve düzeltme işlemi, RAM çubuğu üzerindeki bellek denetleyicisi üzerinde gerçekleştirilir.
Tüketici kullanılabilirliği ve desteği
Çoğu tüketici sınıfı PC donanımı, ECC belleğini desteklemez. Bu kısmen sunucu donanımını tüketici donanımından yapay olarak ayırma yöntemidir. Ancak ECC RAM daha maliyetlidir ve biraz daha yavaş çalışır. Ek olarak, sistem çökmelerinin birincil nedeni bit çevirme hataları olmadığından ev tüketicilerine sağlayacağı ekstra kararlılık minimumdur.
Intel'in tüketici ve meraklı sınıfı CPU'larının hiçbiri ECC belleği desteklemez, yalnızca Xeon serisi CPU'lar gibi sunucu sınıfı CPU'ları destekler. AMD'nin tüketici sınıfı CPU'ları ECC'yi desteklemez, ancak iş istasyonları ve sunucu sınıfı CPU'ları sırasıyla Threadripper ve EPYC ECC belleği destekler.