国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于分塊主成分分析的存儲器容錯方法研究

2018-11-29 05:44:22方嘉言邵翠萍李慧云
集成技術(shù) 2018年6期
關(guān)鍵詞:原始數(shù)據(jù)降維分塊

方嘉言 邵翠萍 李慧云

1(中國科學(xué)院深圳先進(jìn)技術(shù)研究院 深圳 518055)

2(西安電子科技大學(xué) 西安 710071)

1 引 言

自集成電路問世以來,該行業(yè)就一直按照摩爾定律以一種驚人的速度發(fā)展著。隨著集成電路工藝水平的飛速進(jìn)步,深亞微米時代已經(jīng)到來,集成電路的規(guī)模越來越大,密度也越來越高[1]。同樣,存儲器內(nèi)部存儲單元的尺寸也越來越小,存儲單元的密度隨之增加。這使得存儲單元更易受到溫度、電磁干擾、輻射等影響而發(fā)生參數(shù)變化和軟錯誤等故障[2],從而嚴(yán)重威脅器件功能的正確性,很可能會對生產(chǎn)、生活造成嚴(yán)重的影響。

隨著信息社會產(chǎn)生的數(shù)據(jù)量呈現(xiàn)爆炸性增長,人們對可靠且大容量存儲系統(tǒng)的需求也在急劇增加[1]。截至 2017 年,部分芯片內(nèi)部存儲器占據(jù)了約 70% 的面積,這將進(jìn)一步增加發(fā)生故障的概率[3]。

為了保持存儲設(shè)備中數(shù)據(jù)的正確性,國內(nèi)外目前常用糾錯碼(Error Correcting Code,ECC)[4],如 Hamming 碼(漢明碼)和低密度奇偶校驗碼(Low Density Parity Check Code,LDPC)作為糾正故障的手段。卜雷雷[5]采用擴展?jié)h明碼和三模冗余結(jié)合的糾錯檢錯方式,實現(xiàn)了一種可以選擇檢糾錯模式的星上隨機存儲器。與原有經(jīng)典設(shè)計相比,該設(shè)計增加了修正數(shù)據(jù)的回寫功能,并且在應(yīng)用上具有較好的靈活性。但是,在存儲單元的尺寸越來越小,存儲器中數(shù)據(jù)位數(shù)不斷增加的前提下,實現(xiàn)“糾一檢二”功能的 Hamming 碼不再能滿足增長的對糾錯能力需求。王方雨等[6]將里所碼(Reed-Solomon Codes,RS)應(yīng)用于閃存存儲器中,該設(shè)計在其相機項目中很好地保護了存儲器的數(shù)據(jù),但需要經(jīng)過復(fù)雜的計算,影響數(shù)據(jù)保護效率。Lee 等[7]采用非對稱的密度演化來優(yōu)化 LDPC 碼,顯著降低了 LDPC 編解碼過程的復(fù)雜度,但對硬件資源的消耗并沒有得到顯著降低。許志宏等[8]將 RS 碼和 LDPC 碼結(jié)合應(yīng)用于星上存儲器,采用擴展校驗碼的方式增強了 RS碼的糾錯能力,并通過改變編碼方式在一定程度上減少了 LDPC 碼的資源消耗,但對硬件資源消耗過大的問題并沒有得到解決,而且還增加了執(zhí)行時間。

為了限制硬件資源的消耗,許多應(yīng)用都采用了近似容錯的方法,并放寬了對數(shù)據(jù) 100% 精確的限制[9],如近似計算等領(lǐng)域。張罡和董朝領(lǐng)[10]針對目前標(biāo)準(zhǔn)蒸發(fā)器環(huán)形管板設(shè)計計算沒有統(tǒng)一標(biāo)準(zhǔn)的情況,提出了一種用于環(huán)形管板厚度的近似計算方法。與 SW6-2011 軟件的計算結(jié)果相比,該方法得到的結(jié)果更加安全可靠。Venkataramani 等[11]提出了一種用于近似計算的可編程平臺,該平臺顯著提高了處理數(shù)據(jù)的效率。

本文以數(shù)據(jù)塊為單位,采用主成分分析(Principal Component Analysis,PCA)方法對原始數(shù)據(jù)進(jìn)行特征提取,并將得到的不同塊的特征作平均,獲得一個平均的特征數(shù)據(jù),然后采用該平均特征數(shù)據(jù)作重構(gòu)恢復(fù),最后將重構(gòu)的塊結(jié)果作為原始數(shù)據(jù)的近似估計。當(dāng)檢測到原始塊中數(shù)據(jù)發(fā)生故障時,可用這個近似估計矩陣的相應(yīng)位去替換塊中的故障數(shù)據(jù),達(dá)到對原始數(shù)據(jù)容錯保護的目的。該方法的優(yōu)點是:首先,采用分塊 PCA極大程度地降低了算法復(fù)雜度,減少了算法運行時間;其次,利用分塊 PCA 作特征提取能夠有效地保留數(shù)據(jù)的局部特征[12],進(jìn)而提升原始數(shù)據(jù)重構(gòu)的精度;最后,采用重構(gòu)的子塊僅對原始數(shù)據(jù)中的故障數(shù)據(jù)作容錯替換,能夠極大地保留原始數(shù)據(jù)的精度。該方法利用數(shù)據(jù)的特征對數(shù)據(jù)進(jìn)行容錯,能夠?qū)K數(shù)據(jù)中的單比特位或者多比特位的翻轉(zhuǎn)故障進(jìn)行容錯糾正[9]。與現(xiàn)在普遍使用的 ECC 方法相比,該方法不需要增加硬件開銷,所需的執(zhí)行時間和消耗的內(nèi)存都較少。

本文內(nèi)容組織如下:第 2 部分介紹了主成分分析和現(xiàn)有容錯方法的背景;第 3 部分具體闡述了基于分塊主成分分析的存儲器容錯技術(shù);第 4部分對所提出的容錯技術(shù)進(jìn)行實驗驗證;第 5 部分將本文結(jié)果與國內(nèi)外相似研究進(jìn)行對比分析;第 6 部分總結(jié)。

2 背 景

2.1 主成分分析

PCA 是一種基于 Karhunen-Loeve 變換的統(tǒng)計分析方法,是尋求有效的線性變換的經(jīng)典方法之一。它的原理是使高維數(shù)據(jù)通過一個特殊的特征向量矩陣投影到一個低維空間,從而達(dá)到數(shù)據(jù)降維的目的,并且能夠消除數(shù)據(jù)之間的相關(guān)性。其中,所用到的特征向量是一個低維向量矩陣,通過高維數(shù)據(jù)投影后的低維表示和特征向量矩陣,可以近似重構(gòu)出該高維數(shù)據(jù)[12]。

主成分分析算法的降維步驟如下[13]。設(shè)原始高維數(shù)據(jù)X的尺寸為m×n,用向量可表示為[x1,x2, …,xn]。其中,每個列向量中包含m個元素。

首先,對于矩陣X中的所有列向量作中心化處理,使其平均值等于 0。均值中心化處理后,使用矩陣X來計算協(xié)方差矩陣S。然后,求取協(xié)方差矩陣S的特征值λ1,λ2, …,λn和特征向量v1,v2, …,vn。最后,將這些特征值從大到小依次排列后,按照貢獻(xiàn)率選取所需的主元。

設(shè)Vk是S中前k個主元所對應(yīng)的特征向量矩陣,經(jīng)過中心化處理的數(shù)據(jù)X在特征空間中的投影Y可由公式(1)得到。

通過投影Y可以重構(gòu)出原始數(shù)據(jù),重構(gòu)公式如下:

2.2 現(xiàn)有容錯加固技術(shù)

隨著存儲芯片容量的增大,器件的成品率呈指數(shù)規(guī)律下降。通常人們一方面從工藝角度入手,改良制造工藝以提高成品率;另一方面從設(shè)計角度入手,如電路級、門級和系統(tǒng)級,在電路設(shè)計時通過增加冗余的方式來實現(xiàn)可靠性的提高。這些方法都是為了從不同角度入手達(dá)到降低故障發(fā)生率、修復(fù)已發(fā)生故障的目的。具體的技術(shù)有:基于工藝級容錯加固技術(shù)、基于版圖級容錯加固技術(shù)、基于電路級容錯加固技術(shù)、基于系統(tǒng)級容錯加固技術(shù)和基于軟件級容錯加固技術(shù)[14]。

(1)基于工藝級容錯加固技術(shù)

工藝級容錯加固技術(shù)是指在集成電路的生產(chǎn)制造過程中,使用特殊的工藝技術(shù)來降低故障的發(fā)生率。采用的主要技術(shù)是絕緣體上硅(Silicon On Insulator,SOI)技術(shù)。采用 SOI 工藝制造的集成電路具有寄生電容小、短溝道效應(yīng)小、速度快、集成度高、抗輻射能力強等優(yōu)點,但其生產(chǎn)制造成本要遠(yuǎn)高于互補金屬氧化物半導(dǎo)體工藝。雖然工藝級加固技術(shù)可以很好地提高存儲器抗單粒子翻轉(zhuǎn)的能力,但由于需要使用特殊的工藝技術(shù)改進(jìn)生產(chǎn)線,提高了生產(chǎn)成本。

(2)基于版圖級容錯加固技術(shù)

版圖級加固技術(shù)是指通過調(diào)整電路的版圖結(jié)構(gòu)、隔離或者重排列晶體管等方式,抑制電路中敏感節(jié)點的軟錯誤。版圖加固技術(shù)主要基于隔離、源漏擴展、版圖優(yōu)化和脈沖窄化等。保護環(huán)和保護漏是最典型的兩種隔離技術(shù),這兩種方式分別在 P 型金屬氧化物半導(dǎo)體和 N 型金屬氧化物半導(dǎo)體上增加冗余結(jié)構(gòu),防止了敏感節(jié)點的電荷收集,能夠很好地抑制單粒子翻轉(zhuǎn)對晶體管的影響。版圖級加固需要對已有版圖設(shè)計增加冗余,改變布局結(jié)構(gòu),重新進(jìn)行布局布線,增加了后端設(shè)計的工作量。

(3)基于電路級容錯加固技術(shù)

電路級容錯加固技術(shù)是指采用特殊的電路結(jié)構(gòu),以提高電路抵制各種類型瞬態(tài)故障的能力。其中,靜態(tài)隨機存取存儲器、寄存器、鎖存器等基本單元及組合邏輯門的容錯屬于電路級加固的研究熱點。一般是在原有電路的基礎(chǔ)之上,不改變電路的功能,通過優(yōu)化電路結(jié)構(gòu)、改變電路連接方式或者插入冗余部分來實現(xiàn)對故障的預(yù)防。該種加固技術(shù)的容錯單元需要進(jìn)行全定制設(shè)計,增加了生產(chǎn)制造的時間和成本,不利于該技術(shù)的應(yīng)用和實現(xiàn)。

(4)基于系統(tǒng)級容錯加固技術(shù)

系統(tǒng)級加固技術(shù)是指通過信息冗余的方式,檢測并修正已發(fā)生的故障來提高電路對故障的抵制能力。存儲器采用糾錯編碼的方式,自動檢測并糾正故障,是提高存儲芯片成品率和可靠性的有效措施[15]。常用的檢糾錯碼有奇偶校驗碼、漢明碼及其改進(jìn)碼、RS 碼和 LDPC 碼。系統(tǒng)級容錯加固技術(shù)極大地提高了存儲器的可靠性,而且并不需要在工藝流程或設(shè)計方法上作任何改變,是比較常用的保護存儲器的方法。但該方法糾錯性能受限,并且也占據(jù)了較多的面積、消耗了很高的功耗和執(zhí)行時間[16]。

(5)基于軟件級容錯加固技術(shù)

軟件級加固技術(shù)是指采用軟件的方式,檢測并糾正存儲器中的故障數(shù)據(jù),提高存儲器的可靠性。軟件級的方法根據(jù)數(shù)據(jù)類型的不同,主要分為兩類:一類是通過重復(fù)或并行執(zhí)行從存儲器中讀出的程序數(shù)據(jù),并對結(jié)果進(jìn)行比較,以檢測數(shù)據(jù)中是否存在故障;另一類是基于算法的方式,通過相應(yīng)的容錯算法得到計算結(jié)果,并和預(yù)留參考信息對比,實現(xiàn)故障的檢測和糾正[14]。軟件級的容錯技術(shù),能夠充分利用現(xiàn)代計算機多處理器的硬件資源,配置方便,對硬件沒有特殊要求,成本低,應(yīng)用范圍廣。

綜上所述,工藝級容錯加固技術(shù)需要改變現(xiàn)有工藝技術(shù),提高了生產(chǎn)成本和生產(chǎn)周期。版圖級容錯加固技術(shù)需要對電路結(jié)構(gòu)作出調(diào)整,重新進(jìn)行布局布線,增加了后端設(shè)計的難度。電路級容錯加固技術(shù)需要采用新的設(shè)計單元,增加了生產(chǎn)成本,不利于技術(shù)推廣。系統(tǒng)級容錯加固技術(shù)雖然不用在設(shè)計上或工藝流程上做出改變,較前幾種方法具有較大優(yōu)勢,但該方法需要消耗較大的硬件資源,執(zhí)行時間長。而本文采用分塊主成分分析的容錯方法,是基于軟件級的容錯加固技術(shù),不用改變工藝技術(shù)或現(xiàn)有設(shè)計,利用數(shù)據(jù)的特征對其作容錯保護,可以糾正多比特位翻轉(zhuǎn)的故障,硬件資源開銷小,算法的可移植性強。

3 基于分塊主成分分析的存儲器容錯方法

本文提出的基于分塊 PCA 的存儲器容錯方法是基于軟件級的,容錯方法如圖 1 所示。

3.1 生成校驗位

在故障檢測模塊中,對于m×n維的原始數(shù)據(jù)X,每一個數(shù)據(jù)都是 32 位的,本文對每個 32位數(shù)據(jù)都產(chǎn)生 1 位的奇偶校驗位,得到校驗位矩陣Xpar。該方法能夠很好地檢測到數(shù)據(jù)發(fā)生奇數(shù)個比特位翻轉(zhuǎn)故障的情況。原始數(shù)據(jù)X產(chǎn)生奇偶校驗位的方法如圖 2 所示。其中,xij(0<i<m,0<j<n)代表X中的具體數(shù)據(jù);Pij代表xij對應(yīng)的奇偶校驗位。

圖1 基于分塊主成分分析的存儲容錯方法Fig. 1 Fault-tolerant method based on modular principal component analysis

圖2 數(shù)據(jù)校驗位產(chǎn)生方法Fig. 2 Parity bit generation method for data

3.2 特征提取

分塊 PCA 是在 PCA 的基礎(chǔ)上,對需提取特征的數(shù)據(jù)進(jìn)行分塊預(yù)處理:先將其等尺寸分割為若干子塊數(shù)據(jù),然后對這些子塊數(shù)據(jù)分別應(yīng)用PCA 進(jìn)行數(shù)據(jù)降維和數(shù)據(jù)重構(gòu)。該方法既能在降維過程中很好地提取原始矩陣數(shù)據(jù)的局部特征[17],又能加快圖像的降維和重構(gòu),減少硬件資源的消耗。與 PCA 相比,分塊 PCA 重構(gòu)出的數(shù)據(jù)質(zhì)量較高[18]。

分塊 PCA 對于所分子塊數(shù)據(jù)的尺寸是敏感的。如果子塊數(shù)據(jù)的樣本維數(shù)較高,則會增加數(shù)據(jù)的降維時間;如果子塊數(shù)據(jù)的樣本個數(shù)較多,那么會增加數(shù)據(jù)的重構(gòu)時間,最終導(dǎo)致分塊 PCA的整體總降維或總重構(gòu)時間增加,這是由 PCA算法的屬性決定的。

分塊 PCA 的總執(zhí)行時間主要受子塊數(shù)據(jù)維數(shù)高低的影響,數(shù)據(jù)維數(shù)越高,執(zhí)行時間越長。但如果維數(shù)過小,隨著子塊數(shù)據(jù)數(shù)目的增多,執(zhí)行時間反而會增加。這是由于此時子塊數(shù)目增加對執(zhí)行時間的影響超過維數(shù)降低對執(zhí)行時間的影響所致。并且,當(dāng)分割維數(shù)過小時,降維獲得的主元數(shù)目也會很少,實驗中可用的結(jié)果就會變少。所以分塊數(shù)據(jù)的維數(shù)一般選擇較小的數(shù),如4 維或 8 維,這樣既可以控制執(zhí)行時間,又可以得到較多的實驗結(jié)果。在占用內(nèi)存差距不大的情況下,保留同樣比例主元時,重構(gòu)數(shù)據(jù)的質(zhì)量與子塊數(shù)據(jù)的維數(shù)成正比;而子塊數(shù)據(jù)樣本個數(shù)為了簡便,選為原數(shù)據(jù)的一半即可。

對于原始數(shù)據(jù)為X,分塊 PCA 的具體實現(xiàn)方法如下:首先,對于需要做降維處理的原始數(shù)據(jù)X,將其等尺寸分割為p×q個r×c維的小尺寸數(shù)據(jù)。其中,p×q=m,p×c=n。然后,對位于X中的第一塊r×c維的數(shù)據(jù)x1應(yīng)用 PCA 進(jìn)行降維,提取該塊數(shù)據(jù)的特征,得到塊降維結(jié)果y、塊特征向量矩陣vk和塊均值距陣。最后,按照前述方法依次實現(xiàn)對X中其余子塊數(shù)據(jù)的降維,并得到這些降維數(shù)據(jù)各自塊的y、vk、

分塊 PCA 實現(xiàn)對X中的任意塊數(shù)據(jù)xi的降維過程如圖 3 所示。

圖3 分塊主成分分析的降維過程Fig. 3 Dimension reduction process of modular principal component analysis

3.3 容錯塊計算

容錯塊即最佳估計矩陣,就是當(dāng)校驗位檢測到故障時,采用容錯塊中的數(shù)據(jù)對原始矩陣中的故障數(shù)據(jù)進(jìn)行替換,達(dá)到容錯的效果。容錯塊的計算方式首先通過采用類似卷積神經(jīng)網(wǎng)絡(luò)中的池化層處理特征的方式得到每一個塊的平均特征,然后利用這些平均特征做數(shù)據(jù)重構(gòu),進(jìn)而得到容錯塊。

在卷積神經(jīng)網(wǎng)絡(luò)中,池化操作可以降低圖像的尺寸,從而減少訓(xùn)練參數(shù),降低計算量,防止過擬合[19]。常用的池化方法包括 mean-pooling、max-pooling 和 stochastic-pooling。其中,meanpooling 使用上一層每個鄰域的平均值作為新特征;max-pooling 使用上一層每個鄰域的最大值作為新特征;stochastic-pooling 介于兩者之間,通過對上一層每個鄰域的值按照數(shù)值大小賦予概率,再按照概率進(jìn)行亞采樣獲得新特征。一般地,mean-pooling 能夠限制由于鄰域尺寸受限造成估計值方差增大的情況,保留更多的背景信息;而 max-pooling 能夠限制由于卷積層參數(shù)誤差造成估計均值偏移的情況,保留更多的紋理信息[20]。

由于該容錯方法使用r×c維的容錯塊數(shù)據(jù),替換X中任意子塊對應(yīng)位置上的故障。所以這些用于替換的數(shù)據(jù)可能會出現(xiàn)在多個數(shù)據(jù)塊的對應(yīng)位置。為了使容錯后的數(shù)據(jù)和原始數(shù)據(jù)間的誤差的平方和最小,選擇使用類似 mean-pooling求均值的方法得到容錯數(shù)據(jù)。獲得容錯塊Xr的具體步驟如下:

(1)利用分塊 PCA 方法對原始數(shù)據(jù)X進(jìn)行特征提取,得到降維結(jié)果矩陣Y、特征向量矩陣Vk和均值矩陣。

(2)從分塊 PCA 的降維過程可知,降維結(jié)果矩陣Y、特征向量矩陣Vk和均值矩陣都含有多塊數(shù)據(jù)。在降維結(jié)果矩陣Y的每塊數(shù)據(jù)中,將對應(yīng)位置 32 位數(shù)求和取平均,可得到一個Y的均值矩陣,該過程如圖 4 所示。按照相同的方式,也對特征向量矩陣Vk和均值矩陣每塊數(shù)據(jù)對應(yīng)位置數(shù)求和取平均,得到相應(yīng)的均值矩陣和。

圖4 從降維結(jié)果矩陣 Y 得到均值矩陣(和同理)Fig. 4 The mean matrixis obtained by the dimensionality reduction result matrix Y(andsimilarly)

3.4 容錯替換

當(dāng)校驗位檢測到數(shù)據(jù)X中子塊Xwu(0<w<p,0<u<q)的數(shù)據(jù)xij(0<i<r,0<j<c)發(fā)生故障時,使用重構(gòu)的塊數(shù)據(jù)Xr的對應(yīng)位置數(shù)據(jù)xij替換該子塊中的故障數(shù)據(jù)xij,然后逐次完成對每個子塊中故障數(shù)據(jù)的容錯替換,達(dá)到對數(shù)據(jù)X容錯保護的目的。使用Xr對X進(jìn)行容錯保護的流程如圖 5 所示。

圖5 用容錯塊數(shù)據(jù) Xr 替換對應(yīng)位置的原始數(shù)據(jù) X 中的故障數(shù)據(jù)Fig. 5 The fault data in the original data X of the corresponding position is replaced by the fault-tolerant block data Xr

4 結(jié)果分析

4.1 實驗建立

采用圖片作為實驗分析的對象,這樣可以更直觀地體現(xiàn)出本文容錯方法對故障數(shù)據(jù)的保護效果。通常,峰值信噪比(Peak Signal to Noise Ratio,PSNR)是衡量圖像失真或者噪聲水平的客觀標(biāo)準(zhǔn),所以本文采用 PSNR[21]來評判經(jīng)過處理的圖片的質(zhì)量。該值越大,則表明兩張圖片越相似,一般認(rèn)為 PSNR 的典型值為 30 dB。

實現(xiàn)圖像數(shù)據(jù)容錯保護的具體步驟如下:

(1)對原始數(shù)據(jù)X中的每一個 32 位數(shù)據(jù)生成1 位的奇偶校驗位;

(2)按照 3.3 節(jié)中介紹的獲得容錯數(shù)據(jù)的方法,求得容錯塊Xr;

(3)將Xr、X及X的校驗位存入存儲器中;

(4)用 rand 函數(shù)產(chǎn)生的隨機數(shù)作為坐標(biāo),隨機地選中存儲器中的數(shù)據(jù)并進(jìn)行故障注入;

(5)當(dāng)需要從存儲器中讀取數(shù)據(jù)時,需對數(shù)據(jù)進(jìn)行校驗位檢查。如果檢測到故障,用Xr中相應(yīng)位置的數(shù)將故障數(shù)據(jù)替換;如果沒有檢測到故障,就可直接讀取圖片。

本文實驗平臺基于 Ubuntu 16.04.1 LTS,使用的軟件工具有 GCC 5.4.0 和 QMake 2.01a。基于分塊 PCA 的容錯系統(tǒng)使用 C++實現(xiàn),其偽代碼如算法 1(表 1)所示。

作為對比,下文也使用得到廣泛應(yīng)用的格式為[38,32]的擴展?jié)h明碼(糾一檢二碼)來保護原始數(shù)據(jù)X。其中,38 位數(shù)據(jù)為一組,有效數(shù)據(jù)占32 位,校驗位占 6 位。下文的糾錯碼(ECC)均指糾一檢二碼。

4.2 實驗結(jié)果

實驗采用 512×512 大小的圖片數(shù)據(jù)為例來展示該容錯方法的有效性。圖 6 為在不同分割尺寸情況下,各自保留一半主元數(shù)目時所對應(yīng)的執(zhí)行時間和信噪比統(tǒng)計圖。由圖 6 可知,將圖片切割為 256×8 的子塊時,重構(gòu)效果和執(zhí)行時間能夠得到較好的折中。

表1 基于分塊主成分分析的容錯方法的偽代碼Table 1 The pseudo code based on the fault-tolerant method of modular principal component analysis

圖6 執(zhí)行時間和信噪比統(tǒng)計Fig. 6 The statistics of execution time and peak signal to noise ratio

4.2.1 質(zhì)量評估

圖7 注入不同故障數(shù)目時采用容錯方法和不采用時的圖像結(jié)果Fig. 7 Image results of using fault-tolerant and not using fault-tolerant under different numbers of faults injection

由圖 7 可以看到,當(dāng)注入不同數(shù)目的故障時,本文提出的容錯方法的容錯效果明顯。如圖7(a)、(c)所示,在注入 500 和 1 000 個故障的情況下,由于未受到容錯保護,圖片質(zhì)量很差。而當(dāng)采用本文容錯方法之后(圖 7(b)、(d)),在注入相同故障數(shù)目的情況下,圖片質(zhì)量得到提升,PSNR 值均大于 30 dB。當(dāng)注入 1 200 個和 1 500個故障時,對比圖 7(e)和(f)、(g)和(h)可知,采用本文容錯保護方法后,圖片保護效果并不是很理想。這是因為此時注入故障數(shù)目過多,兩個(或偶數(shù)個)故障出現(xiàn)在一個數(shù)據(jù)中的情況逐漸增多,致使檢測模塊失效所致。

在圖 8(a)中,將本文容錯方法和 ECC 對圖片保護的實驗結(jié)果做了統(tǒng)計。對于未采用任何保護措施的數(shù)據(jù),隨著故障數(shù)目的增加,圖片質(zhì)量持續(xù)下降。對于采用 ECC 保護的數(shù)據(jù),在故障數(shù)目較少時,圖片能夠得到較好地保護;在故障數(shù)目增多時,圖片質(zhì)量也開始下降。而采用本文的容錯方法時,圖片質(zhì)量隨著故障數(shù)目的增加下降幅度很小。其中,由于 ECC 碼會為每個 32 位數(shù)據(jù)生成 6 位的校驗位,所以隨著故障數(shù)目的增多,故障出現(xiàn)在校驗位中的概率也會增加,致使校驗位發(fā)生比特位翻轉(zhuǎn)的情況增加,有可能將正確的數(shù)據(jù)改錯或?qū)е鹿收喜槐患m正,使得圖片質(zhì)量迅速下降。

對于本文容錯方法,由于降維數(shù)據(jù)矩陣Y只保留了原始數(shù)據(jù)X的主要特征,所以用容錯塊Xr去替換原始數(shù)據(jù)中的故障數(shù)據(jù)。雖然塊數(shù)據(jù)只是原始數(shù)據(jù)中的近似值,但在故障率為 0.003 5(相當(dāng)于有 1 000 個數(shù)發(fā)生故障)時,本文方法仍然能使圖片的 PSNR 超過 30 dB。

除了上述單比特故障外,本文還測試了多比特位翻轉(zhuǎn)故障的情況。實驗在 0.000 35 錯誤率的情況下(相當(dāng)于有 100 個數(shù)發(fā)生故障),對這些數(shù)據(jù)分別注入 0~10 個位翻轉(zhuǎn)的故障,然后統(tǒng)計采用不同保護方式時的圖片質(zhì)量,結(jié)果如圖 8(b)所示。其中,PSNR 值為 100 時代表圖像無損失。當(dāng)未采用任何保護措施時,隨著數(shù)據(jù)中翻轉(zhuǎn)位數(shù)的增加,圖片質(zhì)量迅速下降。若對圖片數(shù)據(jù)采用ECC 保護措施,當(dāng)只發(fā)生 1 位翻轉(zhuǎn)時,能夠保持較高的圖片質(zhì)量;而發(fā)生多于 1 位翻轉(zhuǎn)時,圖片質(zhì)量迅速變差,這體現(xiàn)了 ECC 方法對于多位故障檢測和糾正的局限性。如圖 8(b)所示,在發(fā)生多個奇數(shù)位翻轉(zhuǎn)故障的情況下,經(jīng)容錯后的圖片的 PSNR 都大于 30 dB,這體現(xiàn)了本文方法較ECC 方法在多位故障檢測和糾正上的優(yōu)越性。值得一提的是,由于本文對每 32 位數(shù)據(jù)只生成 1位奇偶校驗位,所以只能檢測到奇數(shù)個位翻轉(zhuǎn)情況,進(jìn)而當(dāng)發(fā)生偶數(shù)個位翻轉(zhuǎn)故障時,圖片質(zhì)量下降。后期可以通過改善故障校驗方法來彌補偶數(shù)位故障的漏檢。

圖8 未采用容錯保護、采用容錯保護和采用 ECC 保護的信噪比結(jié)果統(tǒng)計Fig. 8 Statistics on peak signal to noise ratio under no fault-tolerant protection, fault-tolerant protection and error correcting code protection

4.2.2 性能分析

表2 比較了不同圖片尺寸情況下,采用不同容錯算法的執(zhí)行時間。從表 2 中可以看出,隨著圖片尺寸的增加,采用 ECC 的執(zhí)行時間一直高于本文中的容錯方法。這是因為 ECC 是以每個32 位數(shù)據(jù)為單位進(jìn)行容錯的,而本文提出的容錯方法是以數(shù)據(jù)塊為單位對數(shù)據(jù)作保護的,算法的執(zhí)行效率較高。

另外,本文也對這兩種方法在內(nèi)存資源消耗方面做了比較,結(jié)果如表 3 所示。采用本文的容錯方法時,消耗的內(nèi)存資源明顯小于采用 ECC所消耗的內(nèi)存資源。具體來說,本文所提方法的內(nèi)存消耗比 ECC 方法減少了約 12%。

綜上所述,在數(shù)目較少的單比特位翻轉(zhuǎn)情況下,ECC 對數(shù)據(jù)的保護效果優(yōu)于本文容錯方法,但在對數(shù)據(jù)精確度要求不高的領(lǐng)域,這是可以忽略的。在糾正多比特位翻轉(zhuǎn)故障、執(zhí)行時間和內(nèi)存消耗等方面,本文容錯方法均優(yōu)于 ECC。

表2 本文容錯方法和 ECC 的執(zhí)行時間統(tǒng)計Table 2 The execution time statistics of the fault-tolerant method and error correcting code

表3 本文容錯方法和 ECC 的內(nèi)存消耗統(tǒng)計Table 3 The memory consumption statistics of the faulttolerant method and error correcting code

5 與國內(nèi)外相似研究的對比分析

現(xiàn)有級聯(lián)編碼方案雖然可以彌補單一編碼方案的缺陷,但增加了計算復(fù)雜度,加大了硬件開銷。例如,采用基于 RS+LDPC 碼的方案[8],雖增強了糾錯能力,提高了編碼效率,但卻增加了對于寄存器資源的消耗。

與混合糾錯碼方式相比,本文所提方法雖然不能精確糾正數(shù)據(jù),但在對數(shù)據(jù)精確度要求不高的領(lǐng)域,如人臉識別等領(lǐng)域,本文方法可以降低計算量,更高效地實現(xiàn)對數(shù)據(jù)的容錯保護,并且不需要消耗寄存器資源,減少了約 6%的硬件資源。

6 結(jié) 論

本文提出了一種能夠通過容錯替換有效保護數(shù)據(jù)的方法,利用了數(shù)據(jù)的數(shù)學(xué)特性,通過特征提取的方式獲得該數(shù)據(jù)的最佳估計,用于替換故障數(shù)據(jù)。實驗結(jié)果表明,與基于傳統(tǒng) ECC 容錯方法相比,本文提出的容錯保護方法可以在不增加硬件開銷情況下,獲得較好的保護效果,且算法的執(zhí)行時間和內(nèi)存消耗都較少。未來擬對故障檢測方法及容錯保護精度作進(jìn)一步的研究。

猜你喜歡
原始數(shù)據(jù)降維分塊
GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
混動成為降維打擊的實力 東風(fēng)風(fēng)神皓極
車主之友(2022年4期)2022-08-27 00:57:12
受特定變化趨勢限制的傳感器數(shù)據(jù)處理方法研究
分塊矩陣在線性代數(shù)中的應(yīng)用
降維打擊
海峽姐妹(2019年12期)2020-01-14 03:24:40
全新Mentor DRS360 平臺借助集中式原始數(shù)據(jù)融合及直接實時傳感技術(shù)實現(xiàn)5 級自動駕駛
汽車零部件(2017年4期)2017-07-12 17:05:53
反三角分塊矩陣Drazin逆新的表示
基于自適應(yīng)中值濾波的分塊壓縮感知人臉識別
基于多分辨率半邊的分塊LOD模型無縫表達(dá)
拋物化Navier-Stokes方程的降維仿真模型
計算物理(2014年1期)2014-03-11 17:00:18
中牟县| 桑日县| 马山县| 汶川县| 肥城市| 印江| 西华县| 体育| 武宣县| 拉孜县| 维西| 清苑县| 登封市| 佛冈县| 滦南县| 黄浦区| 崇阳县| 中山市| 乡城县| 张家界市| 武山县| 丹凤县| 沙坪坝区| 禹州市| 虹口区| 泾阳县| 临澧县| 武功县| 泰来县| 洪洞县| 寻甸| 兴文县| 修水县| 尼木县| 德庆县| 五常市| 罗甸县| 弥勒县| 玉树县| 康保县| 玉溪市|