Hata doğrulama kodlarının veri önbelleğindeki hataları düzeltmedeki verimliliğinin araştırılması
Investigating the efficiency of error correcting codes in correcting the errors in data caches
Yazar: KADİR TUNÇER
Danışman: DOÇ. DR. İSMAİL KADAYIF
Çanakkale Onsekiz Mart Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2013
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Bellek hataları = Memory errors ; Ön bellek = Cache

Özet:
Programların doğru sonuç üretmesi, önemli ölçüde üzerinde işlem yapılan verilerin bozulmamasına bağlıdır. Isının etkisiyle paketleme malzemelerinden ortaya çıkan alfa parçacıkların ve güneş ışınlarından gelen nötron parçacıkların devre elemanlarına çarpmaları önbelleklerde saklanan verilerde hataların ortaya çıkmasına sebep olabilmektedir. Daha da kötüsü silikon teknolojisindeki gelişmelere paralel olarak transistor boyutlarında yaşanan küçülmeler devreleri bu hatalara karşı daha da duyarlı hale getirmektedir. Geçici hata diye adlandırılan bu tip hatalardan korunmak için eşlik kontrolü ve çeşitli hata düzeltme yöntemleri geliştirilmiştir.
 Bu araştırmada ilk önce geçici hatalara karşı bu tip hatadan korunma tekniklerinin mevcut veri saklama yöntemleri için genelde yetersiz kaldığı gösterilmeye çalışılmıştır. Daha sonra veri bitlerinin önbelleğe araya girmeli şekilde yerleştirildiğinde hata düzeltme yöntemlerinin hataları bulmada ve düzeltmede yeterli hale getirilebileceği gösterilmeye çalışılmıştır. Son olarak da, değiştirilmiş önbellek blokların geriye erken yazılması ile geçici hata yayılımının azaltılmasına yönelik yöntemimizin verimliliği incelenmiştir. 
Araştırmamızda önbellek verilerinde rastgele yapay hatalar oluşturularak SimpleScalar Simülatörü ortamında testler yapılmıştır. Testler SPEC2000 grubundan bazı programlar üzerinde gerçekleştirilmiştir.

Anahtar sözcükler: Veri Önbelleği, Geçici Hatalar, Hata Doğrulama Kodları, SECDED

Abstract:
The ability of programs to generate correct results largely depends on the processed data?s not being corrupted. The strikes to logic devices by alpha particles dissipating from packaging materials due to heating and by neutron particles from cosmic rays can raise transient errors in cache memories. To make things worse, the miniaturization of device geometries, in parallel with advances in silicon technologies, makes circuits more vulnerable to these errors. To protect data from such kinds of errors, which are referred to as transient (soft) errors, parity check and several error correcting mechanisms were developed. 
In this study, we first try to show that such kinds of techniques are generally not enough to provide the needed data reliability with current data storage techniques in caches. Then, we also show that these techniques can be turned into very effective error detection and correction mechanisms if data are stored in caches in an interleaved fashion. Finally, we investigate the efficiency of our early write-back mechanism, which writes dirty cache blocks back to L2 to reduce the spreading of corrupted data in array-intensive applications.
We have conducted our experiments with SimpleScalar Tools by generating random errors and injecting them into data stored in the cache. The tests have been carried out on some application programs in SPEC2000 suite.

Key Words: Data Caches, Soft Errors, Error Correction Codes, SECDED