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