Kami telah menyatakan sebelumnya, dalam catatan koleksi komputer pribadi, bahwa berbagai jenis koreksi kesalahan digunakan, dalam kasus-kasus ketika media tidak dapat diandalkan. Hal ini berlaku terutama untuk pita magnetik dan cakram. Lapisan magnetik pada permukaan rekaman dapat mengalami keausan, banyak kode seperti CRC (Cyclic Redundancy Test) telah dibuat. Transmisi informasi sekarang juga memanfaatkan koreksi kesalahan, deteksi kesalahan lebih awal akan mendorong transmisi ulang.
Kebutuhan akan koreksi kesalahan dalam memori menjadi lebih mendesak ketika semikonduktor, atau memori chip diluncurkan pada tahun 1970-an. Meskipun menjanjikan kemampuan yang jauh lebih besar dalam ruang yang lebih sedikit, dengan biaya yang lebih tinggi, chip awal rentan terhadap kegagalan.
Pengenalan awal berbagai jenis memori ini dalam mainframe menandai diperkenalkannya kembali kode Hamming. Richard Hamming, seorang matematikawan yang pernah bekerja di Manhattan Undertaking pada Perang Dunia II, bekerja pada komputer-komputer awal, dan merancang kode tersebut pada tahun 1950.
Kode tersebut digunakan dalam memori chip untuk memperkuat efisiensi desktop sehingga dapat digunakan tanpa terlalu banyak kegagalan! Kode tersebut mampu memperbaiki kesalahan satu bit (SBE). Oleh karena itu, jika salah satu bit dalam kata yang dibaca dari memori adalah 1 alih-alih , maka bit tersebut dapat diubah kembali menjadi , dengan cepat. Operasi ini jelas bagi pengguna. Kode tersebut juga dapat mendeteksi, tetapi tidak memperbaiki Beberapa Kesalahan Bit (MBE), yang juga dikenal sebagai MUE (Banyak Kesalahan yang Tidak Dapat Diperbaiki).
Sejumlah kesalahan kecil menyebabkan metode pemulihan harus dimulai, yang mengakibatkan hilangnya waktu, skenario yang tidak disukai di kalangan komputer! Oleh karena itu, penting bagi para teknisi untuk mengawasi log kesalahan dengan cermat.
Pengulangan kesalahan bit tertentu mengindikasikan potensi kegagalan banyak bit, karena kegagalan bit lebih lanjut pada alamat yang sama, pada waktu yang sama akan memicu masalah. Oleh karena itu, chip yang menunjukkan kesalahan bit tunggal akan diganti pada sesi perawatan berikutnya.
Bagaimana cara kerja kode Hamming? Kode ini dapat dilihat sebagai perluasan dari kode paritas sederhana, yang telah kita bahas sebelumnya. Paritas ganjil menghitung jumlah bit 1 dalam karakter atau frasa, dan menetapkannya ke 1 atau untuk membuat keseluruhan hitungan menjadi ganjil. Misalnya 1011010 memiliki jumlah bit genap, jadi bit paritas 1 akan ditambahkan ke fakta yang ditulis dalam memori – 11011010. Sekarang kita dapat memeriksa detail yang dibaca dari memori untuk melihat apakah keseluruhan rentang bit ganjil atau genap. Jika genap, berarti ada kesalahan.
P101 1010 = jumlah bit genap
1101 1010 = jumlah bit ganjil dengan bit paritas.
Sekarang kita beralih ke langkah berikutnya, dan merancang kode yang akan mengenali area bit yang gagal. Cara kita melakukannya adalah dengan mempertimbangkan serangkaian set bit sehingga pemeriksaan saling tumpang tindih. Kita memilih set ini sesuai dengan nilai bit biner, atau pangkat, 1,2,4,8 dst. yang memiliki bit sebanyak yang kita perlukan untuk menyertakan panjang kata. Bit verifikasi ini dimasukkan ke dalam istilah yang dipublikasikan ke memori pada posisi bit yang ideal.
D7-D6-D5 C8-D4-D3-D2 C4-D1-C2-C1
D1 hingga D7 adalah bit informasi awal secara berurutan
C1 hingga C4 adalah bit uji pada posisi manfaat desimal.
Pada Bagian 2 kami akan menggunakan ilustrasi kegagalan bit untuk mengilustrasikan operasi.