本發(fā)明屬于集成電路抗輻照設(shè)計(jì)加固領(lǐng)域,尤其涉及一種存儲(chǔ)器單粒子多位翻轉(zhuǎn)容錯(cuò)方法及電路。
背景技術(shù):
單粒子效應(yīng)是指高能帶電粒子在穿過微電子器件的靈敏區(qū)時(shí),沉積能量,產(chǎn)生足夠數(shù)量的電荷,這些電荷被器件電極收集后,造成器件邏輯狀態(tài)的非正常改變或器件損壞,它是一種隨機(jī)效應(yīng)。除了空間高能粒子以外,各種核輻射、電磁輻射環(huán)境也是產(chǎn)生單粒子效應(yīng)的主要原因。單粒子翻轉(zhuǎn)是輻照環(huán)境下集成電路最常見的一種單粒子效應(yīng),它會(huì)導(dǎo)致存儲(chǔ)數(shù)據(jù)的錯(cuò)誤。
空間輻射環(huán)境中的高能粒子在芯片中引起的單粒子翻轉(zhuǎn)事件嚴(yán)重威脅到空間飛行器電子系統(tǒng)的可靠性。特別是隨著單位面積上器件的集成度不斷提高,特征尺寸及工作電壓不斷降低,導(dǎo)致單粒子翻轉(zhuǎn)事件所需的臨界電荷越來越小,導(dǎo)致單粒子翻轉(zhuǎn)事件發(fā)生的概率也越來越高。存儲(chǔ)器作為指令和數(shù)據(jù)保存的核心器件,廣泛應(yīng)用于各類衛(wèi)星,空間飛行器與探測器的電子系統(tǒng)中。處于空間環(huán)境的存儲(chǔ)器件容易被太空環(huán)境中的各種射線或高能粒子擊中,一旦存儲(chǔ)器中發(fā)生單粒子翻轉(zhuǎn)導(dǎo)致數(shù)據(jù)信息存儲(chǔ)錯(cuò)誤,可能會(huì)引起空間電子設(shè)備失效,甚至系統(tǒng)崩潰,造成空間任務(wù)失敗。因此,提高存儲(chǔ)器的抗單粒子翻轉(zhuǎn)能力,對(duì)空間電子設(shè)備的生存能力至關(guān)重要。目前存儲(chǔ)器的加固方法主要有兩種:
工藝加固技術(shù):工藝加固是指使用特殊的工藝流程和不同的工藝參數(shù)從而使器件具有良好的抗輻射特性,例如通過采用SOI(Silicon on Insulator)工藝,使用全介質(zhì)隔離技術(shù),可以有效減小重離子軌跡上的電荷收集量,從而達(dá)到提高抗單粒子翻轉(zhuǎn)性能的目的。但抗輻照加固工藝成本高,可選擇的工藝線少,集成度通常落后于商用工藝。
設(shè)計(jì)加固技術(shù):相對(duì)于工藝加固,設(shè)計(jì)加固可以使用較先進(jìn)的商用工藝生產(chǎn)線,從而使電子器件的成本更低、集成度更高、速度更快、功耗更低。目前糾錯(cuò)編碼是一種不但可以檢測錯(cuò)誤而且還可以定位錯(cuò)誤位置并進(jìn)而糾正錯(cuò)誤的一類編碼,是半導(dǎo)體存儲(chǔ)器的一種重要容錯(cuò)技術(shù)。漢明碼是常用的糾錯(cuò)碼,由于其簡單,易于實(shí)現(xiàn)等特點(diǎn)在存儲(chǔ)器中得到廣泛使用。
目前的抗輻照存儲(chǔ)器加固常用方案中,工藝加固可以有效減小單粒子軌跡上的電荷收集,但造價(jià)昂貴,可選擇的工藝線少,集成度通常比商用工藝落后三代左右;糾錯(cuò)編碼設(shè)計(jì)加固方案中,目前常用于存儲(chǔ)器的擴(kuò)展?jié)h明碼糾錯(cuò)能力較弱,難以滿足深亞微米工藝存儲(chǔ)器的可靠性需求。
技術(shù)實(shí)現(xiàn)要素:
(一)要解決的技術(shù)問題
本發(fā)明的目的在于提供一種存儲(chǔ)器單粒子多位翻轉(zhuǎn)容錯(cuò)方法及電路,提高了存儲(chǔ)器抗單粒子翻轉(zhuǎn)能力。
(二)技術(shù)方案
本發(fā)明提供一種存儲(chǔ)器單粒子多位翻轉(zhuǎn)容錯(cuò)方法,包括:
S1,向存儲(chǔ)器寫入數(shù)據(jù)時(shí),將16位的輸入數(shù)據(jù)A<15:0>進(jìn)行編碼,生成6位的校驗(yàn)位P<5:0>,并將所述校驗(yàn)位P<5:0>及對(duì)應(yīng)的輸入數(shù)據(jù)A<15:0>輸入到所述存儲(chǔ)器;
S2,從所述存儲(chǔ)器讀出數(shù)據(jù)時(shí),分別讀出與所述輸入數(shù)據(jù)A<15:0>對(duì)應(yīng)的16位存儲(chǔ)數(shù)據(jù)A'<15:0>及與所述校驗(yàn)位P<5:0>對(duì)應(yīng)的6位檢驗(yàn)位P'<5:0>,將該存儲(chǔ)數(shù)據(jù)A'<15:0>及該檢驗(yàn)位P'<5:0>進(jìn)行解碼,生成6位糾錯(cuò)碼S<5:0>,根據(jù)所述糾錯(cuò)碼S<5:0>對(duì)所述存儲(chǔ)數(shù)據(jù)A'<15:0>進(jìn)行糾錯(cuò),得到最終數(shù)據(jù)D<15:0>。
(三)有益效果
本發(fā)明提供的存儲(chǔ)器單粒子多位翻轉(zhuǎn)的容錯(cuò)方法,能對(duì)任意相鄰兩位錯(cuò)誤數(shù)據(jù)糾正,與傳統(tǒng)的擴(kuò)展?jié)h明碼相比,在不增加校驗(yàn)位的條件下,將存儲(chǔ)器抗單粒子翻轉(zhuǎn)能力提高近一倍。
附圖說明
圖1是本發(fā)明提供的存儲(chǔ)器單粒子多位翻轉(zhuǎn)的容錯(cuò)方法的流程圖。
圖2是本發(fā)明提供的存儲(chǔ)器單粒子多位翻轉(zhuǎn)容錯(cuò)電路的結(jié)構(gòu)示意圖。
圖3是本發(fā)明提供的存儲(chǔ)器單粒子多位翻轉(zhuǎn)容錯(cuò)電路中生成校驗(yàn)位P0的電路示意圖。
圖4是本發(fā)明提供的存儲(chǔ)器單粒子多位翻轉(zhuǎn)容錯(cuò)電路中生成糾錯(cuò)碼S0的電路示意圖。
圖5是本發(fā)明提供的存儲(chǔ)器單粒子多位翻轉(zhuǎn)容錯(cuò)電路中存儲(chǔ)數(shù)據(jù)位A'0與A'1的糾錯(cuò)電路示意圖。
圖6是本發(fā)明提供的存儲(chǔ)器單粒子多位翻轉(zhuǎn)容錯(cuò)電路中生成錯(cuò)誤標(biāo)志Error_flag的電路示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
本發(fā)明提供一種存儲(chǔ)器單粒子多位翻轉(zhuǎn)的容錯(cuò)方法,在數(shù)據(jù)寫入時(shí),通過編碼器生成校驗(yàn)位,并將校驗(yàn)位存入存儲(chǔ)器,在數(shù)據(jù)讀出時(shí),解碼器根據(jù)校驗(yàn)位生成糾錯(cuò)碼,通過此糾錯(cuò)碼對(duì)讀出的數(shù)據(jù)進(jìn)行糾錯(cuò),保證讀出數(shù)據(jù)的正確性,提高了存儲(chǔ)器抗單粒子翻轉(zhuǎn)能力。
如圖1所示,圖1是本發(fā)明提供的存儲(chǔ)器單粒子多位翻轉(zhuǎn)的容錯(cuò)方法的流程圖,該方法包括:
S1,寫入數(shù)據(jù)時(shí),將輸入數(shù)據(jù)A<15:0>輸入到編碼器,編碼器通過編碼方程組對(duì)輸入數(shù)據(jù)A<15:0>進(jìn)行編碼,生成校驗(yàn)位P<5:0>,
A<m:n>表示m-n+1位的二進(jìn)制數(shù)據(jù)A,第一位到最后一位分別是An、An+1…Am。
其中,編碼方程組為:
S2,讀出數(shù)據(jù)時(shí),存儲(chǔ)器分別讀出與所述輸入數(shù)據(jù)A<15:0>對(duì)應(yīng)的存儲(chǔ)數(shù)據(jù)A'<15:0>及與所述校驗(yàn)位P<5:0>對(duì)應(yīng)的檢驗(yàn)位P'<5:0>,將讀出的存儲(chǔ)數(shù)據(jù)A'<15:0>及其對(duì)應(yīng)的檢驗(yàn)位P'<5:0>輸入到解碼器,解碼器根據(jù)存儲(chǔ)數(shù)據(jù)A'<15:0>及編碼方程組計(jì)算出校驗(yàn)位P”<5:0>,再將計(jì)算出的校驗(yàn)位P”<5:0>與存儲(chǔ)器中讀出的校驗(yàn)位P'<5:0>作異或運(yùn)算,得到所述糾錯(cuò)碼S<5:0>,可以用如下方程式表示:
將存儲(chǔ)數(shù)據(jù)A'<15:0>及對(duì)應(yīng)的糾錯(cuò)碼S<5:0>輸入到糾錯(cuò)電路;
糾錯(cuò)電路根據(jù)糾錯(cuò)碼S<5:0>判斷出存儲(chǔ)數(shù)據(jù)A'<15:0>中的錯(cuò)誤數(shù)據(jù)位,其中,錯(cuò)誤數(shù)據(jù)位為一位數(shù)據(jù)位或兩位相鄰的數(shù)據(jù)位,對(duì)錯(cuò)誤數(shù)據(jù)位進(jìn)行取反操作,從而對(duì)存儲(chǔ)數(shù)據(jù)A'<15:0>進(jìn)行糾錯(cuò),輸出最終數(shù)據(jù)D<15:0>,本方法能對(duì)任意相鄰兩位錯(cuò)誤數(shù)據(jù)糾正,與傳統(tǒng)的擴(kuò)展?jié)h明碼相比,在不增加校驗(yàn)位的條件下,將存儲(chǔ)器抗單粒子翻轉(zhuǎn)能力提高近一倍;另外,糾錯(cuò)電路還輸出錯(cuò)誤標(biāo)志Error_flag,其中,錯(cuò)誤標(biāo)志Error_flag是二進(jìn)制一位數(shù)據(jù),S<5:0>等于0時(shí),錯(cuò)誤標(biāo)志Error_flag為0,表示沒有錯(cuò)誤數(shù)據(jù)位,S<5:0>不等于0時(shí),錯(cuò)誤標(biāo)志Error_flag為1,表示有錯(cuò)誤數(shù)據(jù)位。
如圖2所示,圖2是本發(fā)明提供的存儲(chǔ)器單粒子多位翻轉(zhuǎn)容錯(cuò)電路的結(jié)構(gòu)示意圖,存儲(chǔ)器單粒子多位翻轉(zhuǎn)容錯(cuò)電路包括編碼器、解碼器及糾錯(cuò)電路,其中:
編碼器通過編碼方程組對(duì)輸入數(shù)據(jù)A<15:0>進(jìn)行編碼,生成校驗(yàn)位 P<5:0>,其中,結(jié)合圖3所示生成校驗(yàn)位中P0的邏輯門電路,編碼方程組為:
再將校驗(yàn)位P<5:0>及對(duì)應(yīng)的輸入數(shù)據(jù)A<15:0>輸入到存儲(chǔ)器;
結(jié)合圖4所示生成糾錯(cuò)碼S0的邏輯門電路,解碼器分別讀出存儲(chǔ)數(shù)據(jù)A'<15:0>及其對(duì)應(yīng)的檢驗(yàn)位P'<5:0>,根據(jù)存儲(chǔ)數(shù)據(jù)A'<15:0>及編碼方程組計(jì)算出校驗(yàn)位P”<5:0>,再將計(jì)算出的校驗(yàn)位P”<5:0>與存儲(chǔ)器中讀出的校驗(yàn)位P'<5:0>作異或運(yùn)算,得到所述糾錯(cuò)碼S<5:0>,可以用如下方程式表示:
將存儲(chǔ)數(shù)據(jù)A'<15:0>及對(duì)應(yīng)的糾錯(cuò)碼S<5:0>輸入到糾錯(cuò)電路;
結(jié)合圖5所示對(duì)存儲(chǔ)數(shù)據(jù)位A'0與A'1的進(jìn)行糾錯(cuò)的邏輯門電路,糾錯(cuò)電路根據(jù)糾錯(cuò)碼S<5:0>判斷出存儲(chǔ)數(shù)據(jù)A'<15:0>中的錯(cuò)誤數(shù)據(jù)位,其中,錯(cuò)誤數(shù)據(jù)位為一位數(shù)據(jù)位或兩位相鄰的數(shù)據(jù)位,對(duì)錯(cuò)誤數(shù)據(jù)位進(jìn)行取反操作,從而對(duì)存儲(chǔ)數(shù)據(jù)A'<15:0>進(jìn)行糾錯(cuò),輸出最終數(shù)據(jù)D<15:0>,本方法能對(duì)任意相鄰兩位錯(cuò)誤數(shù)據(jù)糾正,與傳統(tǒng)的擴(kuò)展?jié)h明碼相比,在不增加校驗(yàn)位的條件下,將存儲(chǔ)器抗單粒子翻轉(zhuǎn)能力提高近一倍。
結(jié)合圖6所示生成錯(cuò)誤標(biāo)志Error_flag的邏輯門電路,糾錯(cuò)電路還輸 出錯(cuò)誤標(biāo)志Error_flag,其中,S<5:0>等于0時(shí),錯(cuò)誤標(biāo)志Error_flag為0,表示沒有錯(cuò)誤數(shù)據(jù)位,S<5:0>不等于0時(shí),錯(cuò)誤標(biāo)志Error_flag為1,表示有錯(cuò)誤數(shù)據(jù)位。
值得注意的是,由于將校驗(yàn)位P<5:0>也作為數(shù)據(jù)輸入到存儲(chǔ)器,讀出校驗(yàn)位時(shí)也可能出現(xiàn)數(shù)據(jù)位錯(cuò)誤,故糾錯(cuò)碼S<5:0>不僅可以對(duì)存儲(chǔ)數(shù)據(jù)A'<15:0>進(jìn)行糾錯(cuò),還可以對(duì)讀出的校驗(yàn)位P'<5:0>進(jìn)行糾錯(cuò),同樣,也能對(duì)任意相鄰兩位錯(cuò)誤數(shù)據(jù)糾正。如表格1和表格2所示,表格1是糾錯(cuò)碼與一位錯(cuò)誤位置的對(duì)應(yīng)關(guān)系,表格2是糾錯(cuò)碼與一位錯(cuò)誤位置的對(duì)應(yīng)關(guān)系:
表1 糾錯(cuò)碼與一位錯(cuò)誤位置的對(duì)應(yīng)關(guān)系
表2 糾錯(cuò)碼與兩位相鄰錯(cuò)誤位置的對(duì)應(yīng)關(guān)系
根據(jù)糾錯(cuò)碼與錯(cuò)誤位置對(duì)應(yīng)關(guān)系表可以設(shè)計(jì)出糾錯(cuò)電路,例如,當(dāng)數(shù)據(jù)位A'<0>出現(xiàn)錯(cuò)誤時(shí),生成的糾錯(cuò)碼S<5:0>=011010,此時(shí)糾錯(cuò)電路將 數(shù)據(jù)位A'0取反,其它數(shù)據(jù)位保持不變,輸出正確數(shù)據(jù),如果數(shù)據(jù)位A'0與A'1同時(shí)出現(xiàn)錯(cuò)誤,則生成的糾錯(cuò)碼為S<5:0>=111001,此時(shí)糾錯(cuò)電路將數(shù)據(jù)位A'0與A'1取反,其它數(shù)據(jù)位保持不變,輸出正確數(shù)據(jù),其它數(shù)據(jù)位類似,這里就不在贅述。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。