RAM’lerde Parity Control,ECC ve AECC Hata Tolere Denetimleri
Bellek (RAM) sistemleri, bilgisayar performansının temel yapı taşlarından biridir. Ancak RAM’ler, çalışma esnasında çeşitli hatalara maruz kalabilirler. Bu hatalar çoğu zaman “soft error” olarak adlandırılır. Bu yazıda, bu hataların nedenleri, tespiti ve önlenmesine yönelik kullanılan Parity Control, ECC (Error-Correcting Code) ve AECC (Advanced ECC) gibi hata tolerans teknolojilerine derinlemesine bakacağız.
Sunucu belleklerinde hata yönetimi hayati önem taşır ve bu hatalar genel olarak iki ana kategoriye ayrılır: Soft Error ve Hard Error.
A) Soft Error: Donanımda fiziksel bir bozulma olmadan, verinin yanlış okunması veya yazılması ile ortaya çıkan geçici bir hatadır. Bu hatalar, donanım yeniden başlatıldığında veya veri yeniden yazıldığında ortadan kalkar. Soft Error’ler 3 tip yöntem ile tespit edilebilir ve onarılabilir.
- Parity Control
- Error Checking and Correction Memory (ECC)
- Advanced Error Checking and Correcting Memory (AECC)
B) Hard Error: Bellekteki fiziksel bileşenlerin hasar görmesi sonucu oluşan kalıcı ve tekrarlanabilir bir hatadır. Bu hata donanım onarılmadan veya değiştirilmeden düzelmez. Hard Error’ler 3 tip yöntem ile tespit edilebilir ve onarılabilir.
- Online Spare Memory
- Mirrored Memory
- RAID Memory
A) Soft Error
Parity Control
Parity (eşlik) kontrolü, RAM’deki verinin doğruluğunu kontrol etmek için yazılan her 1 byte’a 1 bitlik parity bilgisi eklenen hata kontrol yöntemidir. Bu yöntem, yalnızca tek bitlik hataları tespit edebilir, ancak düzeltemez.
Nasıl Çalışır?
- Verideki 1’lerin sayısı sayılır.
- Bu sayıya göre ek bir parity biti eklenir:
- Even Parity (Çift Eşlik): Toplam 1 sayısı çift olacak şekilde parity biti belirlenir.
- Odd Parity (Tek Eşlik): Toplam 1 sayısı tek olacak şekilde parity biti belirlenir.
Avantajları:
- Basit ve ucuz
- Hızlı kontrol imkânı sağlar
Dezavantajları:
- Sadece tek bitlik hataları tespit edebilir
- Hataları düzeltemez
- Çoklu bit hataları (örneğin 2 bit değişirse) fark edilemeyebilir

ECC – Error Checking and Correction Memory
ECC RAM, veri hatalarını hem tespit eden hem de düzeltebilen bir hafıza türüdür. RAM modülüne fazladan kontrol bitleri eklenerek veri bütünlüğü korunur. Genellikle 64 bitlik veri için 8 ek bit kullanılır.
Nasıl Çalışır?
ECC RAM, yazılan her veri için özel bir hata düzeltme kodu (genellikle Hamming Code) üretir ve bu kod RAM modülünde saklanır.
- Veriler okunduğunda bu kod yeniden hesaplanır ve saklanan kodla karşılaştırılır.
- Eğer fark varsa:
- 1-bit hata varsa → otomatik düzeltilir.
- 2-bit hata varsa → tespit edilir, ama düzeltilemez (bazı ECC türleri hariç).
Avantajları:
- 1-bit hataları otomatik olarak düzeltir
- 2-bit hataları tespit eder
- Güvenilir sistemler için olmazsa olmazdır
Dezavantajları:
- Parity’e göre daha maliyetlidir
- Daha fazla kontrol devresi gerektirir
- Okuma/yazma sırasında hafif gecikme yaratabilir

AECC – Advanced Error Checking and Correcting Memory
AECC (Advanced ECC), standart ECC’nin daha gelişmiş ve kapsamlı bir versiyonudur. Özellikle çok bitli hataları düzeltme yeteneğine sahiptir. ECC belleğin yetersiz kaldığı durumlarda daha fazla hata toleransı sağlar.
Nasıl Çalışır?
AECC, genellikle belirli ECC algoritmalarının daha gelişmiş varyasyonlarını kullanır. Ayrıca ek redundant (yedek) bilgi ve kontrol mekanizmaları içerir. AECC sistemleri genellikle:
- Chipkill
- Lockstep
- Patrol Scrubbing gibi teknolojilerle birlikte çalışır.
Örnek: Bir AECC RAM sistemi, aynı anda 4 farklı bit’teki hatayı düzeltebilir, hatta bir RAM çipindeki tüm veriyi kaybetse bile kurtarabilir (örneğin Chipkill).
Avantajları:
- Birden fazla bitlik hataları düzeltebilir
- Tüm bir DRAM yongası bozulsa bile çalışmaya devam edebilir (Chipkill gibi teknolojilerle)
- Sürekli veri güvenliği sağlar
Dezavantajları:
- Maliyet yüksektir
- Donanım karmaşıklığı artar
- Performansa etkisi olabilir (özellikle yoğun ECC işlemlerinde)

B) Hard Error
Online Spare Memory
Online Spare Memory, bellekte hata tespit edildiğinde otomatik olarak devreye giren yedek bir bellek modülüdür. Sistem çalışırken hatalı bellek adresi yedek alana aktarılır, yani hata düzeltme sırasında donanım seviyesi bir migration (göç) yapılır.
Nasıl Çalışır?
- Sistemde, normal RAM’lerin yanı sıra bir miktar yedek RAM (spare DIMM) tanımlanır.
- ECC, artan hata oranlarını izler.
- Belirli bir eşik aşıldığında, hatalı modülde kullanılan veri spare modüle otomatik olarak kopyalanır.
- Bundan sonra sistem spare modülü kullanmaya devam eder.
Örnek Senaryo:
Sunucuda çalışan DIMM_A üzerinde art arda düzeltilebilir ECC hataları (Correctable Errors) oluşmaya başlar. Bu bir “DIMM yorgunluğu” işareti sayılır. Sistem, veriyi DIMM_Spare üzerine aktarır ve DIMM_A kullanım dışı bırakılır – sistem çalışmaya devam eder.
Avantajları:
- Hatalı modül devre dışı bırakılır ama sistem kapanmaz
- Planlanmamış kesinti olmadan hata toleransı sağlar
- Veri kaybını önler
Dezavantajları:
- Boşta bekleyen RAM kapasitesi gerekir
- Tüm hatalar için geçerli değildir (örneğin ani çökme gibi durumlar)
- Migration işlemi kısa süreli performans düşüklüğüne neden olabilir

Mirrored Memory
Mirrored Memory, sistemdeki belleği birbirinin aynısı olacak şekilde çift olarak kullanır. Aynı veri iki farklı DIMM setine eşzamanlı olarak yazılır. Okuma işlemleri ise genellikle sadece bir kanaldan yapılır, fakat hata tespit edilirse diğer aynadan okunur.
Nasıl Çalışır?
- Toplam RAM kapasitesinin yarısı aktif olarak kullanılır.
- Diğer yarısı birebir yedek olarak tutulur.
- Hata tespit edildiğinde, yedek veriden okuma yapılır veya ECC devreye girer.
Örnek Senaryo:
Sunucuda DIMM_A ve DIMM_B aynı anda aynı veriyi taşır. DIMM_A’dan okuma sırasında ECC hatası tespit edilir. Sistem otomatik olarak DIMM_B’den veriyi çeker – hiçbir kesinti yaşanmaz.
Avantajları:
- Gerçek zamanlı hata toleransı sağlar
- Veri kaybına karşı çok güçlü koruma
- Kritik görevlerde maksimum güvenlik sağlar
Dezavantajları:
- Bellek kapasitesinin %50’si yedek olarak kullanılır → efektif RAM azalır
- Donanım ve konfigürasyon gereksinimleri karmaşıktır
- Maliyetlidir

RAID Memory
RAID Memory, tıpkı disklerde kullanılan RAID (Redundant Array of Independent Disks) mantığını belleklere uygular. Yani bellek modülleri arasında veri ve parity bilgileri dağıtılır, böylece bir modülde hata olsa bile sistem diğer modüllerle çalışmaya devam edebilir.
Nasıl Çalışır?
- RAID-5 benzeri yapı: Örneğin, 3 DIMM varsa, 2’si veri tutar, 1’i parity tutar.
- Hatalı DIMM’den gelen veri, parity ve diğer modüllerle yeniden oluşturulur.
- ECC ile birlikte çalışarak çoklu bit hatalarında bile sistemin çökmesini engeller.
Örnek Senaryo:
4 DIMM’li bir sistemde DIMM_3 arızalanır. DIMM_1, DIMM_2 ve parity bilgileriyle DIMM_3’teki eksik veri yeniden hesaplanarak sistem kesintisiz çalışmaya devam eder.
Avantajları:
- Daha yüksek hata toleransı sağlar
- Çoklu modül arızasında bile veri kurtarma mümkündür
- Özellikle çok modüllü sistemlerde avantajlıdır
Dezavantajları:
- Karmaşık donanım/firmware gerektirir
- Performans düşüklüğü olabilir (parity hesaplama süreci)
- Tüm sunucular desteklemez

Hata önleme teknolojilerinden yararlanabilmek için;
- RAM’leri sunucu üreticisinin belirttiği şekilde sıralamalısınız.
- Üreticinin yazılımı ile bu teknolojileri aktif etmelisiniz.

Sonuç ve Öneriler
Günümüz bilgi işlem ortamlarında veri bütünlüğü her zamankinden daha kritiktir. Soft error gibi görünüşte basit hatalar bile ciddi sonuçlar doğurabilir. Bu nedenle:
- Kişisel bilgisayarlarda parity veya basit ECC tercih edilebilir.
- Sunucularda ve kritik altyapılarda mutlaka ECC veya AECC RAM kullanılmalıdır.
- RAM seçimi yapılırken sadece kapasite değil, hata düzeltme yetenekleri de göz önünde bulundurulmalıdır.
Share this content:
Yorum gönder