糾錯碼在容錯存儲器設計中的應用(圖)
關鍵詞:容錯;ecc;改進漢明碼;存儲器
容錯存儲器概述
存儲器是數(shù)字系統(tǒng)中常用的器件之一,是采用大規(guī)模集成電路存儲芯片構成的。實際統(tǒng)計表明,存儲器的主要錯誤是單個電路故障所引起的一位錯或者相關多位錯,而隨機獨立的多位錯誤極少。在按字節(jié)組織的內存儲器中,主要錯誤模式為單字節(jié)錯;而在按位組織的內存儲器中,主要錯誤模式為單位錯。
半導體存儲器的錯誤大體上分為硬錯誤和軟錯誤,其中主要為軟錯誤。硬錯誤所表現(xiàn)的現(xiàn)象是在某個或某些位置上,存取數(shù)據(jù)重復地出現(xiàn)錯誤,出現(xiàn)這種現(xiàn)象的原因是一個或幾個存儲單元出現(xiàn)故障。軟錯誤主要是由α粒子引起的,存儲器芯片的材料中含有微量放射性元素,它們會間斷地釋放α粒子。這些粒子以相當大的能量沖擊存儲電容,改變其電荷,從而引起存儲數(shù)據(jù)的錯誤。引起軟錯誤的另一原因是噪聲干擾。
隨著存儲芯片容量的增大,器件的成品率呈指數(shù)規(guī)律下降。通常人們一方面改良制造工藝以提高成品率,另一方面在電路設計時通過硬件冗余的方式來實現(xiàn)可靠性的提高。當前,vlsi存儲器芯片的設計過程中主要采用兩種錯誤檢測與糾正方案。
● 備份行(或列)方案
這種方案是在存儲芯片的設計與制造過程中,增加若干備份的行(或列)。在芯片測試時,若發(fā)現(xiàn)失效的行(或列),則通過激光(或電學)的處理,用備份行(或列)去代替它們。這種方法的優(yōu)點是設計簡單,管芯面積增加較少,電路速度沒有損失。但是,它需要增加某些測試與修正失效行(或列)的工藝環(huán)節(jié),更重要的弱點是這種方案僅適用于ram,不能用于rom。
● 糾錯編碼方案
這種方案是在存儲芯片內部采用糾錯編碼,自動檢測并糾正錯誤。這種方案不需要額外的測試和糾正錯誤等工藝環(huán)節(jié),除提高成品率外,還對可靠性有明顯改進。這種方案最突出的優(yōu)點是特別適合rom,在對速度要求不高的情況下也可用于ram。其主要缺點在于要占用額外的芯片面積,同時因編譯碼而影響芯片整個的工作速度。將用于存儲器系統(tǒng)級的糾錯編碼等容錯技術引入存儲器芯片內部,是提高存儲芯片成品率和可靠性的有效措施,例如ecc內存就采用了此技術。
常用的糾錯碼簡介
數(shù)據(jù)通信中常用的糾檢錯碼有奇偶校驗碼、漢明碼及其改進碼。
● 在串行通信中使用的一維奇偶校驗碼是最簡單的一種糾錯碼,它的編碼規(guī)律是在數(shù)據(jù)位末尾添加一位校驗位,使得整個碼字中含有奇數(shù)或偶數(shù)個1,它能發(fā)現(xiàn)所有的奇數(shù)位錯,但它不能用來糾正錯誤。需要指出的是采用二維奇偶校驗碼(即將數(shù)據(jù)按矩陣排列,分別對行、列進行一維奇偶校驗編碼)后,不僅可以糾正一位錯,還能檢出某些突發(fā)錯誤,所以在一些數(shù)據(jù)傳輸網(wǎng)絡中得以應用。
● 漢明碼是一種能糾一位錯的線性分組碼,由于它的編譯碼簡單,在數(shù)據(jù)通信和計算機存儲系統(tǒng)中廣泛應用,如在藍牙技術和硬盤陣列中。它的最小碼距為3,可以糾正一位錯誤,但對于兩位錯不能檢測,還可能會造成誤糾。盡管發(fā)生一位錯的概率相對最高,但在一些要求較高的應用中漢明碼不能滿足要求。
● 常用的能檢測兩位錯同時能糾正一位錯(簡稱糾一檢二,sec-ded)的糾錯碼有擴展?jié)h明碼(extended hamming code)和最佳奇權碼(optimal odd-weight-column code),它們的最小碼距都為4,兩者有相似之處,比如冗余度一樣,對于數(shù)據(jù)位數(shù)k,校驗位數(shù)r應滿足2r-1≥k+r,當k=16時,r=6,數(shù)據(jù)位長增加一倍,校驗位數(shù)只需增加一位,編碼效率較高。另外從來源上講,兩者分別是漢明碼的擴展碼和截短碼,也有資料稱最佳奇權碼為修正漢明碼(modified hamming code)。
本文應用于存儲器的糾錯碼是面向隨機字節(jié)數(shù)據(jù)的,一二維奇偶校驗碼都不能滿足要求,只能從最佳奇權碼和擴展?jié)h明碼中選取。從性能上看最佳奇權碼比擴展?jié)h明碼更為優(yōu)越,前者在糾檢錯能力方面也優(yōu)于后者,它的三位錯誤的誤糾概率低于后者,而四位錯誤的檢測概率高于后者,最重要的是它便于硬件實現(xiàn),故應用得最多,本文決定采用最佳奇權碼。
編譯碼原理
首先構造最佳奇權碼的校驗矩陣即h矩陣,最佳奇權碼的h矩陣應滿足:
(1)每列含有奇數(shù)個1,且無相同列;
(2)總的1的個數(shù)少,所以校驗位、伴隨式生成表達式中的半加項數(shù)少,從而生成邏輯所需的半加器少,可以節(jié)約器材、降低成本和提高可靠性。
(3)每行中1的個數(shù)盡量相等或接近某個平均值,這種決定了生成邏輯及其級數(shù)的一致性,不僅譯碼速度快,同時線路勻稱。
應用中采用(13,8,4)最佳奇權碼,數(shù)據(jù)碼為(d7d6
評論