王穎穎,莊 毅,孫逸帆
(南京航空航天大學大學 計算機科學與技術學院,南京 211106)
存儲系統(tǒng)是計算機中外存與CPU進行數(shù)據(jù)交換過程中的必不可少的部分之一。其主要作用是暫時存放在程序運行過程中由CPU產(chǎn)生的運算數(shù)據(jù),以及其他與硬盤等外部存儲器交換而產(chǎn)生的數(shù)據(jù)。由于物理結構原因,存儲系統(tǒng)只能將數(shù)據(jù)保持很短的時間。為了保持數(shù)據(jù),存儲系統(tǒng)使用電容存儲,所以必須隔一段時間刷新一次,如果存儲單元沒有被刷新,存儲的信息就會丟失。關機也會導致丟失數(shù)據(jù)。
傳統(tǒng)的可靠性評估技術主要是可靠性框圖、故障樹、事件樹等??煽啃钥驁D[1]通過使用可用于分析系統(tǒng)故障概率的圖形來表示系統(tǒng)及其組件,每個圖形根據(jù)它們對系統(tǒng)的影響進行鏈接,從而實現(xiàn)對系統(tǒng)的可靠性分析。故障樹分析方法[2-3]是通過描述部件與部件之間、部件與系統(tǒng)之間的邏輯關系來進行可靠性分析的,其邏輯關系主要是通過邏輯門來表達。事件樹分析方法[4]是將系統(tǒng)的失效與導致失效發(fā)生的各種原因之間的邏輯關系用一種樹形圖的方式表示,通過對事件樹的定性與定量分析,找出事故發(fā)生的主要原因。后來,Markov理論[4,6]、GSPN[7-8]等方法被用來研究動態(tài)特征。
雖然傳統(tǒng)方法已經(jīng)取得了不少成果,但是隨著硬件結構的日益復雜,傳統(tǒng)方法也越來越難以描述可靠性的動態(tài)特征,也難以反映可靠性與時間的相關性。
本文的主要貢獻如下:該方法將存儲系統(tǒng)簡化為兩級,分為功能單元和存儲系統(tǒng)整體兩部分:1)在針對功能單元進行可靠性評估時,本文建立了一種基于Z語言的可靠性模型。該模型能夠很好的描述存儲系統(tǒng)功能單元的硬件結構及其組成對功能單元可靠性的影響;2)本文提出了一種基于CTMC的可靠性評估方法對功能單元的可靠性進行評估,該方法充分考慮可靠性與時間的相關性,能夠更準確的評估和分析功能單元的可靠性;3)針對存儲系統(tǒng)整體的可靠性評估,本文通過建立功能單元失效率與存儲系統(tǒng)整體失效率之間的貝葉斯網(wǎng)絡,依據(jù)CTMC計算得到各功能單元的失效率利用標準貝葉斯推理計算存儲系統(tǒng)整體的可靠性;4)通過貝葉斯網(wǎng)絡的雙向推理特性得到存儲系統(tǒng)整體的可靠度,同時識別出薄弱的功能單元,對存儲系統(tǒng)的可靠性評估有一定的參考作用。
可靠性描述的是系統(tǒng)可以持續(xù)提供正確服務數(shù)據(jù)的能力。因此,可靠性一直是存儲系統(tǒng)相關研究的重點關注領域之一。對于存儲系統(tǒng)的可靠性研究,國內(nèi)外學者針對不同類型的存儲系統(tǒng)的可靠性[9-15]都做出了許多努力。文獻[16]在對分布式存儲器進行可靠性分析時考慮順序事件的時間相關性,提出了一種基于多值決策圖的方法來定量評估,而且該方法適用于故障、盜竊或損壞的隨機時間遵循任意分布的系統(tǒng);Ma[17]等人為了更好地發(fā)掘NANA flash存儲系統(tǒng)中塊的耐用性提高提出了一種基于過程變化感知的方法Block Hammer,該方法考慮了過程變化和塊相似,可以主動預測發(fā)生故障的塊,大大提升了NANA flash的可靠性;黃敏[18]為解決MLC NAND flash存儲系統(tǒng)的錯誤率高的問題,提出了兩種非對稱訪問的方法;為解決系統(tǒng)使用壽命較低的問題,提出了一種非并行調(diào)度策略及混合并行訪問策略;Wang[19]等人針對基于分塊散布的多副本系統(tǒng)的可靠性提出了一個可靠性的分析模型,通過合并副本的丟失概率來研究其可靠性水平。
此外,也有很多研究工作是通過建模的方式來研究存儲系統(tǒng)的可靠性。D.Fitch[20]等人提出了一個使用分層著色Petri網(wǎng)的形式化模型,引入了新的機制來提高系統(tǒng)的可靠性;李靜[21]等人基于蒙特卡洛仿真算法對主動容錯副本存儲系統(tǒng)的可靠性進行了分析,采用韋布分布函數(shù)模擬系統(tǒng)中設備故障和故障修復的時間分布,定量評價了各種事件對存儲器可靠性的影響。文獻[22]將SMART屬性值視為時間序列數(shù)據(jù),使用隱馬爾可夫模型(HMM, hidden Markov model)和隱半馬爾可夫模型(HSMM, hidden semi-Markov model)來預測磁盤的故障,結果表明在Hughes數(shù)據(jù)集上獲得了0誤報率和52%的準確率;Tan[23]等人則是提出了一種基于樹擴張的樸素貝葉斯方法來提高硬盤的故障預測準確率,結果表明當誤報率為30%時,其檢測率可達到80%,而當誤報率為0%時,其檢測率只有20%~30%。
近年來,隨著機器學習技術的發(fā)展,已有不少國內(nèi)外學者將其引入存儲系統(tǒng)可靠性分析中。文獻[24]針對存儲系統(tǒng)中的扇區(qū)錯誤,通過分類和回歸樹(CART, regression tree)、隨機森林、支持向量機、神經(jīng)網(wǎng)絡和邏輯回歸技術進行分析,結果表明隨機森林可以準確預測硬盤驅(qū)動器中的扇區(qū)錯誤;文獻[25]通過使用機器學習技術對分布式存儲系統(tǒng)中的磁盤故障進行檢測,但該方法的不足之處在于對于不同型號磁盤的故障檢測的正確率是不同的;龐帥[26]等人提出了一種聯(lián)合貝葉斯網(wǎng)絡模型來預測其剩余壽命,該模型結合了人工神經(jīng)網(wǎng)絡、進化神經(jīng)網(wǎng)絡、支持向量機和決策樹4個分類器的預測結果來共同完成;Xu[27]等人基于硬盤SMART屬性的時序性特征通過采用遞歸神經(jīng)網(wǎng)絡(RNN, recurrent neural network)來建立硬盤的故障預測模型,使得故障預測的準確率有了很大的提高。
綜上所述:對可靠性的研究一直是國內(nèi)外研究者的熱點問題,無論是基于模型的方法還是基于機器學習技術的方法都在可靠性的研究領域取得了不少研究成果。但目前的研究中仍然存在難以動態(tài)地描述系統(tǒng)的可靠性特征,也難以反映其可靠性與時間的關系等問題,針對此問題,本文提出了一個基于Z語言和貝葉斯網(wǎng)絡的可靠性模型,其中Z語言可以對存儲系統(tǒng)中的可靠性屬性進行建模,并具有強大的數(shù)據(jù)約束能力和可擴展能力;貝葉斯網(wǎng)絡可以清晰地描述系統(tǒng)的多狀態(tài)關系,使系統(tǒng)可靠性的評估計算更加簡單。
為了準確地對存儲系統(tǒng)(MS, memory system)的可靠性進行建模,本文將MS劃分為不同的功能單元(MFU, functional unit of memory),包括存儲模塊、數(shù)據(jù)寄存器、地址寄存器和內(nèi)存控制器共4個功能單元。其中,存儲模塊(SM, storage module)是內(nèi)存中負責存儲數(shù)據(jù)的模塊,當存儲模塊發(fā)生翻轉(zhuǎn)導致軟錯誤的時候,數(shù)據(jù)發(fā)生變化,引發(fā)內(nèi)存故障;數(shù)據(jù)寄存器(MER, memory data register)是計算機控制單元中的寄存器,寄存了將要寫入到計算機主存儲器的數(shù)據(jù),或由計算機主存儲器讀取后的數(shù)據(jù)。當數(shù)據(jù)寄存器發(fā)生翻轉(zhuǎn)導致軟錯誤時,其中所轉(zhuǎn)存的數(shù)據(jù)改變,造成存儲系統(tǒng)故障;地址寄存器(MAR, memory address register)是用來保存當前CPU所訪問的內(nèi)存單元的地址。因此,如果地址寄存器發(fā)生單位翻轉(zhuǎn)時,會使訪問的內(nèi)存地址發(fā)生改變,引發(fā)數(shù)據(jù)錯讀,造成存儲系統(tǒng)故障;內(nèi)存控制器 (MC, memory controller)主要是用來控制內(nèi)存工作,并控制內(nèi)存與CPU之間進行數(shù)據(jù)交換。當內(nèi)存控制器發(fā)生軟錯誤時,也會引發(fā)存儲系統(tǒng)故障。
其次,不同的功能單元也是由不同的組件構成,以存儲模塊為例,存儲模塊又可以分為存儲體(BA, bank)、地址譯碼器(AD, address decoder)、行緩沖區(qū)(RB, row buffer)三個組件。存儲體是由若干個存儲單元組成,當存儲數(shù)據(jù)庫中的存儲單元發(fā)生翻轉(zhuǎn)時,所存數(shù)據(jù)發(fā)生改變,造成存儲模塊故障。地址譯碼器又分為行譯碼器和列譯碼器,行譯碼器負責輸出行地址選擇信號,列譯碼器負責輸出列地址選擇信號;當?shù)刂纷g碼器輸出信號錯誤時,將訪問錯誤的內(nèi)存地址。行緩沖區(qū)主要負責將讀出的行內(nèi)容暫存,等待列位址送到后輸出正確的位元,以及判斷存儲的內(nèi)容是0還是1。當行緩沖區(qū)里的存儲單元發(fā)生翻轉(zhuǎn)時,也將造成存儲模塊故障。
因此,從底層硬件和MFU出發(fā)對存儲系統(tǒng)進行可靠性評估,能夠從本質(zhì)上對存儲系統(tǒng)進行可靠性建模與分析。
根據(jù)對MS體系結構的分析和抽象,本文可以得到一個簡單的MS抽象模型,如圖1所示。
圖1 存儲系統(tǒng)抽象結構圖
針對該抽象結構,本文給出了MFU以及MS的形式化定義如定義1和定義2所示。
定義1:以MS的存儲單元SU為例,其形式化定義可以用式(1)所示的一個三元組表示,其中每個元素表示組成該MFU的一個組件。
SU={BA,AD,RB}
(1)
其中:BA表示組成SU的存儲體,AD表示組成SU中的地址譯碼器,RB表示組成SU的行緩沖器。
定義2:MS可用如式(2)所示的三元組表示。其中,MFUs表示構成MS的功能單元的集合,BUS表示各個功能單元的連接總線。
MS={MFUs,BUS}
(2)
從式(2)可以得到,存儲系統(tǒng)主要是由不同的功能單元MFU共同構成的,而且也可以把總線看成是一個特殊的功能單元。所以,針對存儲系統(tǒng)可靠性的研究就可以從包含的功能單元出發(fā),而且研究其功能單元的可靠性能夠從本質(zhì)上對存儲系統(tǒng)進行可靠性分析。
本文設計的存儲系統(tǒng)可靠性建模與評估框架設計所如圖2示。該框架主要分為3個階段:初始化階段、MFU可靠性評估階段以及整體可靠性評估階段。
圖2 存儲系統(tǒng)可靠性建模與評估框架
初始化階段:初始化階段主要是在進行可靠性分析之前對存儲系統(tǒng)的硬件組成進行分析,并根據(jù)不同的功能把存儲系統(tǒng)劃分為不同的功能單元。
MFU可靠性評估階段:該階段是在劃分的功能單元的基礎上,分別對劃分的每個功能單元進行可靠性評估。提取不同功能單元中與可靠性相關的約束,基于Z語言建立功能單元的可靠性模型。在可靠性模型的基礎上,基于相應的轉(zhuǎn)換規(guī)則確定評估模型中的狀態(tài)空間、轉(zhuǎn)移概率等相關參數(shù),通過計算得到各功能單元的可靠度。
整體可靠性評估階段:該階段是在得到各個功能單元的可靠度的基礎上,對存儲系統(tǒng)整體進行可靠性評估?;谪惾~斯網(wǎng)絡建立描述功能單元與系統(tǒng)整體失效率之間的可靠性模型?;谪惾~斯網(wǎng)絡對系統(tǒng)進行可靠性計算,并推理出系統(tǒng)的可靠性關鍵模塊。
功能單元的可靠性評估過程主要分兩步,首先需要建立功能單元的可靠性模型,其次根據(jù)相應的轉(zhuǎn)換規(guī)則將建立的可靠性模型轉(zhuǎn)換成相應的評估模型,最后基于建立的評估模對功能單元的可靠性進行可靠性評估。
3.2.1 功能單元可靠性模型Z-FURM
Z語言是一種形式規(guī)格說明語言,在精確描述系統(tǒng)狀態(tài)與操作方面具有很大的優(yōu)勢[26]。此外,Z語言還具有支持可擴展、建模形式呈現(xiàn)模塊化等優(yōu)點。并且,隨著Z語言的日益被重視,使得Z語言將擁有更加廣泛的適用范圍和更強、更規(guī)范的描述能力。因此,這也是本文采用該語言作為建模語言的原因。
功能單元可靠性模型(Z-FURM, functional unit reliability model based on Z language)是通過使用Z語言將構成功能單元的元器件的可靠性元素與功能單元的可靠性相關聯(lián),將這兩個層級融合到一起,使得功能單元的可靠性模型更清晰和簡潔,能夠更準確對可靠性進行描述。其中,單個功能單元的可靠性模型Z-FURM的定義如定義3所示。定義3詳細描述了構成功能單可靠性模型的要素。具體定義如下:
定義3:Z-FURM模型可以表示為一個如式(3)所示的三元組:
Z-FURM=(FRate,States,STR)
(3)
式(3)中,F(xiàn)Rate(failure rate)表示MFU的失效率,States表示MFU的狀態(tài)空間,包含系統(tǒng)中功能單元的所有可能狀態(tài);STR(state transfer relationship)表示功能單元的所有狀態(tài)之間存在的所有狀態(tài)轉(zhuǎn)移關系。本文將無法使用軟件方法恢復的狀態(tài)稱之為失效狀態(tài)Failure State。失效狀態(tài)可以通過系統(tǒng)重啟等方式恢復。
1)失效率(FRate):
一個MFU通常也是由不同的模塊構成,以存儲單元MEM為例。根據(jù)定義3可知,SU是由存儲體BA、地址譯碼器AD和行緩沖器RB組成。假設組成SU中的任意一個組件發(fā)生故障都會引起SU功能的失效,這些組件的失效率分別為λΒΑ、λAD、λRB,則該功能單元的失效率λSU可表示為式(4):
λSU=1-(1-λBA)*(1-λAD)*(1-λRB)
(4)
Z語言描述存儲單元MEM的失效率如下:
SU_FRate=1-(1-BA_FRate)*(1-AD_FRate)*(1-RB_FRate)
其中:BA_FRate、AD_FRate、RB_FRate分別表示λΒΑ、λAD、λRB,SU_FRate則表示功能單元SU的失效率,且MS中存在多個MFU,所以可以通過在名稱中加入
3)狀態(tài)空間States:
在系統(tǒng)運行過程中,功能單元可能包含的狀態(tài)有正常狀態(tài)(NS, normal state),故障狀態(tài)(ES, error state),失效狀態(tài)(FS, failure state),故障檢測狀態(tài)(DS, detected state)和恢復狀態(tài)(RS, recovery state)等等。正常狀態(tài)是指功能單元正常運行,通常被定義為開始時的狀態(tài)。故障狀態(tài)表示功能單元在某一時刻發(fā)生故障時所處的狀態(tài),是一種瞬間狀態(tài);故障檢測狀態(tài)是在故障發(fā)生后由系統(tǒng)自主發(fā)起的一種對故障進行檢測的狀態(tài),通常也是一種瞬間狀態(tài)。由以上所提及的功能單元的狀態(tài)可得功能單元的一種狀態(tài)轉(zhuǎn)移關系如圖3(a)所示。由于瞬間狀態(tài)是一種轉(zhuǎn)瞬即逝的短暫狀態(tài),因此在對可靠性進行分析和評估時,通常不把這些瞬間狀態(tài)考慮在內(nèi),因此將瞬間狀態(tài)剔除后可得圖3(b)所示的關系圖。在圖中,圓圈即表示功能單元當前所處的狀態(tài),連接圓圈的弧線即表示兩個狀態(tài)之間的轉(zhuǎn)移關系,發(fā)出箭頭的圓圈表示轉(zhuǎn)移關系中的源狀態(tài),箭頭指向的一方表示轉(zhuǎn)移關系中的目標狀態(tài);連接線上的參數(shù)表示狀態(tài)轉(zhuǎn)移概率,其圖中各參數(shù)代表的含義如表1所示。
圖3 MFU狀態(tài)轉(zhuǎn)移圖
表1 MFU狀態(tài)轉(zhuǎn)移參數(shù)及其含義
通過上述的狀態(tài)轉(zhuǎn)移關系圖即可得到每個功能單元的狀態(tài)空間,因此可以采用以下方式對功能單元的狀態(tài)空間進行定義:
isInitial∈{0,1}
isArrive∈{0,1}
其中:isInitial和isArrive分別表示是否是初始狀態(tài)和是否是當前狀態(tài)。
4)狀態(tài)轉(zhuǎn)移關系STR:
同樣,通過圖 3構成的狀態(tài)轉(zhuǎn)移關系圖也可以得到狀態(tài)空間內(nèi)所有狀態(tài)彼此之間的轉(zhuǎn)移關系。每一段狀態(tài)轉(zhuǎn)移關系中都需要包含3個要素,分別是源狀態(tài)(SS, source state)、目標狀態(tài)(TS, target state)以及轉(zhuǎn)移概率參數(shù)(TR, transfer rates)。其中,SS和TS必須是每個MFU狀態(tài)空間中具有的,TR則是對應于每個轉(zhuǎn)移關系中存在的轉(zhuǎn)移參數(shù)。具體Z語言模式定義如下:
SS:State
TS:State
Conditions:seq Predicate
3.2.2 功能單元可靠性評估模型FU-REM
在功能單元的可靠性模型Z-FURM中,根據(jù)其描述可知每個功能單元的可靠性都與時間相關聯(lián),而且功能單元在不同時刻時所處的狀態(tài)也都只與該時刻的前一時刻功能單元所處的狀態(tài)相關,與其它時刻的狀態(tài)無關,因此本文采用基于CTMC的方法建立功能單元的可靠性評估模型(FU-REM, function unit reliability evaluate model based on CTMC)。本文建立的FU-REM可靠性評估模型定義如式(6)所示:
FU-REM=(S,Sin,T,t)
(6)
其中:S表示評估模型的狀態(tài)空間,包含每個功能單元MFU中所有可能狀態(tài)的集合;Sin∈S表示在進行可靠性評估時功能單元所處的初始狀態(tài);T=[aij]是狀態(tài)轉(zhuǎn)移概率矩陣,aij表示一個功能單元MFU從狀態(tài)si∈T轉(zhuǎn)移到狀態(tài)sj∈T的概率;t表示評估可靠性時的某一時刻。
當使用可靠性評估模型FU-REM對功能模塊進行評估之前,需要先把Z-FURM模型中的建模元素轉(zhuǎn)換成FU-REM模型中的元素,然后再進行相應的可靠性評估。在進行模型轉(zhuǎn)換過程中,因為需要將兩個模型中的元素進行等價轉(zhuǎn)換,因此需要構建相應的映射規(guī)則。本文定義的兩種模型間的映射轉(zhuǎn)換規(guī)則如表2所示。
表2 Z-FURM與FU-REM之間的元素映射規(guī)則
由于指數(shù)模型對功能單元失效率的真實曲線的擬合程度相較于其它模型更好,因此本文采用指數(shù)模型描述功能單元失效率與時間之間的關系。其表達式如式(7)所示:
λMFU(t)=exp(λMFU*t)
(7)
在式(7)中,λMFU(t)表示在t時刻功能單元的失效率,λMFU表示當t=0時MFU的失效率。
根據(jù)FU-REM模型中的狀態(tài)轉(zhuǎn)移方程可得到如式(8)所示的關于MFU的狀態(tài)概率方程:
P(t′)=P(t)*T
(8)
式(8)中,P(t)=(PN(t),PR(t),PF(t))表示t時刻時MFU的狀態(tài)概率向量,PN(t)表示t時刻時MFU的狀態(tài)為正常時的概率,PR(t)表示t時刻時MFU的狀態(tài)為恢復時的概率,PF(t)表示t時刻時MFU的狀態(tài)為失效時的概率。同理,P(t′)=(PN(t′),PR(t′),PF(t′))表示t′時刻MFU的狀態(tài)概率向量,t′為t的下一時刻,T表示狀態(tài)轉(zhuǎn)移概率矩陣,是由圖2(b)得到的一個3×3的矩陣,其具體表示形式如式(9)所示。其中,行表示的是狀態(tài)轉(zhuǎn)移關系中的源狀態(tài),列表示狀態(tài)轉(zhuǎn)移關系中的目標狀態(tài),矩陣中的參數(shù)代表的是由源狀態(tài)向目標狀態(tài)轉(zhuǎn)移的概率參數(shù),其含義如式(9)所示:
(9)
所以,聯(lián)立式(7)~(9)可得MFU的狀態(tài)概率方程,如式(10)所示:
(10)
通過對式(10)中方程的求解,即可得到功能模塊在t時刻時所處狀態(tài)的概率分布。因此,功能模塊在t時刻時可靠度的計算方式如式(11)所示:
RMFU(t)=1-PF(t)
(11)
基于上述方法可以得到存儲系統(tǒng)中每個功能單元的失效率以及可靠度,但由于存儲系統(tǒng)中功能單元較多,其狀態(tài)轉(zhuǎn)移關系更加復雜,在使用CTMC對其進行可靠性評估時計算量較大,所以在對存儲系統(tǒng)整體進行可靠性評估時,本文建立從功能單元到存儲系統(tǒng)整體的兩層貝葉斯網(wǎng)絡為系統(tǒng)整體的可靠性模型(MSR-BN, memory system reliability model on Bayesian network),以貝葉斯推理方式對存儲系統(tǒng)的可靠性進行評估。
本節(jié)以兩狀態(tài)節(jié)點描述存儲系統(tǒng)和功能單元的不同狀態(tài),其兩個狀態(tài)分別為故障狀態(tài)和正常狀態(tài),用1和0表示,且存儲系統(tǒng)中各個功能單元之間相互獨立。
3.3.1 MSR-BN模型的構建
存儲系統(tǒng)可靠性模型如式(12)所示:
MSR-BN=(G,P)
(12)
其中:G=(I,E),I表示構成MSR-BN模型中的節(jié)點,即各功能模塊的失效變量;E表示有向邊的集合;P表示非根節(jié)點的條件概率表,表示節(jié)點間的關聯(lián)強度。所以,構建MSR-BN的具體步驟如下:
1)確定模型中的節(jié)點;要構建MSR-BN模型首先應確定整個系統(tǒng)中可以設立的變量個數(shù),在上節(jié)中MFU的失效率與其組件之間的關系已經(jīng)根據(jù)FU-REM模型進行評估,所以這里只考慮MS與MFU之間的可靠性關系,不考慮MS與MFU組件狀態(tài)的關系。因此,MSR-BN中的節(jié)點即為存儲系統(tǒng)整體MS和存儲系統(tǒng)的4個功能單元,存儲單元SU、數(shù)據(jù)寄存器MER、地址寄存器MAR和內(nèi)存控制器MC。此外,由第3節(jié)可知,每個功能單元的失效率都可由FU-REM模型計算得到。
2)確定模型中各節(jié)點的連接關系;在確定完變量后,需要分析變量之間的相互關系。本文假定一個功能單元失效就會引起存儲系統(tǒng)整體發(fā)生失效。所以其MSR-BN中的葉子節(jié)點為存儲系統(tǒng)失效,MSR-BN中的根節(jié)點為4個功能單元失效,然后根據(jù)各節(jié)點的依賴關系將各個節(jié)點用有向邊進行連接,從而就可以得到存儲系統(tǒng)的MSR-BN模型。
3)確定模型中節(jié)點的條件概率表;在建立的MSR-BN模型中,本文通過條件概率來描述變量之間的相互關系。通過分析模型中各個節(jié)點之間相互的邏輯關系,為每個節(jié)點編寫各自的條件概率表,然后基于條件概率表來計算節(jié)點的條件概率。
由于各功能單元與存儲系統(tǒng)為串聯(lián),所以當功能單元中的任意一個發(fā)生失效時,系統(tǒng)整體也會發(fā)生失效。因此,可根據(jù)經(jīng)驗得到系統(tǒng)的條件概率表。
3.3.2 系統(tǒng)整體可靠性評估
系統(tǒng)整體可靠度是指系統(tǒng)處于正常運行狀態(tài)的可能性大小,是一個在0和1之間的概率值。當可靠度為1時,說明系統(tǒng)處于完全失效狀態(tài);當可靠度值為0時,說明系統(tǒng)處于可靠狀態(tài)或是正常狀態(tài)。
基于貝葉斯網(wǎng)絡的可靠性計算應首先要生成各節(jié)點的先驗概率和條件概率,其步驟如下:
1)根據(jù)MSR-BN中的節(jié)點所對應的功能單元的失效概率,可以直接得到各根節(jié)點(xi)的先驗概率,即各功能模塊的失效率。計算公式如式(13)所示:
P(xi=1)=λi,i∈{SU,MER,MAR,MC}
(13)
其中:λi即為第3節(jié)通過FU-REM模型計算得到的各功能單元的失效率;
2)確定非根節(jié)點的條件概率。該模型只有兩層,所以非根節(jié)點即為葉子節(jié)點。因此,非根節(jié)點的條件概率即存儲系統(tǒng)的失效概率。根據(jù)聯(lián)合概率公式,基于條件獨立性原則,存儲系統(tǒng)的失效概率的計算公式如式(14)所示:
P(MS=1)=P(MS=1|xSU,xMER,xMAR,xMC)=
(14)
在式(14)中,P(MS=1)即為存儲系統(tǒng)失效概率;λi表示各功能單元的失效率,即第3節(jié)求得的PF(t)。
3)計算存儲系統(tǒng)可靠度。針對MSR-BN模型,可靠度的計算公式如式(15)所示:
RMS=1-P(MS=1)
(15)
由于各個MFU的失效率是依據(jù)FU-REM模型得到的,因此MS的可靠度是一個隨時間不停變化的值。
關鍵模塊是指存儲系統(tǒng)中的可靠性關鍵模塊。通過識別該模塊能夠分析出系統(tǒng)中的薄弱地方,對提高系統(tǒng)的可靠性有著積極的作用。
本文在MS的故障條件下,通過計算得到任意一個功能單元的后驗故障概率,然后計算底事件的重要度,最后按照計算出的底事件的重要度進行排序,從而識別出可靠性關鍵模塊。本文主要從兩個方面來衡量底事件的重要度。
3.4.1 概率重要度IPr
概率重要度IPr是指當且僅當該功能單元處于失效狀態(tài)時,系統(tǒng)發(fā)生失效的概率。它反映的是當功能單元的狀態(tài)發(fā)生改變時,對系統(tǒng)狀態(tài)變化的影響程度。
IPr(xi)=P(MS=1|xi=1)-P(MS=1|xi=0)
i∈{SU,MAR,MER,MC}
(16)
3.4.2 關鍵重要度ICr
關鍵重要度ICr是指功能單元發(fā)生失效的概率變化對系統(tǒng)發(fā)生失效的概率變化的影響,是判斷功能單元是否為可靠性關鍵模塊的關鍵性指標。
ICr(xi)=
(17)
式(16)和式(17)中,xi=1表示模塊i處于失效狀態(tài),xi=0表示模塊i處于正常狀態(tài),MS=1表示存儲系統(tǒng)處于失效狀態(tài)。其中,概率重要度和關鍵重要度均靠前的MFU被定義為可靠性關鍵模塊。
為了驗證本文提出方法的有效性,本文選取文獻[29]中的實例進行分析和對比。
某一型號的彈載固態(tài)存儲器,其主要組成有機械殼類和存儲記錄電路,且此固態(tài)存儲器可靠性研究重點在于存儲記錄電路。該彈載固態(tài)存儲器的內(nèi)部存儲記錄電路主要由模擬采編模塊1、模擬采編模塊2、數(shù)字采編模塊、電源調(diào)節(jié)模塊以及存儲控制模塊5個部分組成。從底層元器件出發(fā)對存儲記錄電路進行剖析,電路各模塊是由電阻與電容、連接導線、集成電路、接插件、印制板與焊點、半導體分立器件等組成。集成電路又包括模擬電路、模擬開關、A/D變換器、數(shù)字電路、Flash存儲。半導體分立器件又包括二極管和光耦。存儲記錄電路如圖4所示。
圖4 存儲記錄電路框圖
根據(jù)文獻可以得到該固態(tài)存儲器的存儲電路不同的可靠性功能單元,其可靠性如圖5所示。
圖5 可靠性框圖
本文以存儲電路的電阻與電容(RC, resistance and capacitance)單元為例,建立單個功能單元的可靠性評估模型。
1)失效率FRate:
根據(jù)文獻可知,與RC單元失效率相關的元器件的失效概率表3所示。
表3 RC單元中元器件失效率
所以,由式(4)可知RC的失效率為:
λRC=1-(1-λResistance)*(1-λCapacitance)=
1-(1-9.22×10-5)*(1-4.24×10-5)=1.35×10-4
RC功能單元的失效率RC_FRate的Z模式可聲明為:
RC_FRate
Resistance_FRate=9.22×10-5
Capacitance_FRate=4.24×10-5
MFU_FRate=1.35×10-4
2)狀態(tài)空間States:
下面分別以RC功能單元的正常狀態(tài)NS和失效狀態(tài)FS為例,演示狀態(tài)空間的建模過程。
NSState
isInitial=1
isArrive=1
FSState
isInitial=0
isArrive=0
3)狀態(tài)轉(zhuǎn)移關系STR:
以NS狀態(tài)和FS狀態(tài)之間的轉(zhuǎn)移關系為例進行演示說明。
RC_NStoFSSTR
SS:State
TS:State
SS=NSState
TS=FSState
TRate=RCFRate.MFU_FRate
圖2中各項狀態(tài)轉(zhuǎn)移概率設置為表4中所列數(shù)據(jù),其中剩余的狀態(tài)轉(zhuǎn)移關系以同樣的方式進行定義。
表4 RC單元各項狀態(tài)轉(zhuǎn)移參數(shù)設置
根據(jù)3.2小節(jié)建立的Z-FURM模型,結合表2所設計的Z-FURM與FU-REM的建模要素映射轉(zhuǎn)換規(guī)則,可以為RC功能單元建立評估模型FU-REMRC=(S,Sin,T,t)。其中,S={NS,RS,FS};Sin=NS;轉(zhuǎn)移矩陣:
將PF_RC(0)=[1,0,0,0]與轉(zhuǎn)移矩陣T代入式(10)可得RC功能單元處于失效狀態(tài)的概率PF_RC(t)與時間t的函數(shù)關系為式(18):
PF_RC(t)=0.001 33×exp(1.35×10-4*t)
(18)
利用Matlab畫出式(18)在時間范圍為[0,50 000]之間的概率變化曲線,如圖6中實線所示。
圖6 RC單元處于失效狀態(tài)時的概率曲線
從圖6中可以看出,當時間t接近5×104h時RC模塊的處于失效狀態(tài)的概率接近1,這也與硬件的客觀老化、淘這相符合。圖 6中的虛線則是RC單元的可靠性隨時間變化的曲線。
4.3.1 系統(tǒng)可靠性評估
由分析可知,該存儲器電路的貝葉斯網(wǎng)絡中共有7個變量,分別是存儲器電路失效、電阻電容失效、導線故障、集成電路失效、接插件故障、印制板和焊點失效以及分離器失效。
由文獻[27]可知,該存儲器電路為串聯(lián)結構,其中一個功能單元失效都會引起存儲器電路整體失效,所以可得其貝葉斯網(wǎng)絡模型如圖 7所示。其根節(jié)點的先驗概率即各功能單元的失效率可依據(jù)上述方法求得,表 5中列出了當時間t=1 000 h時,存儲器電路中所有MFU的失效率。
圖7 存儲電路的MSR-BN模型
表5 存儲電路各MFU在t=1 000 h時的失效率
所以,存儲電路發(fā)生失效的概率為:P(T=1)=0.99×10-2;存儲電路正常工作的概率即可靠度為:R=1-(P(T=1)=0.990 1。
4.3.2 關鍵模塊識別
由式(16)可得每個功能單元的概率重要度如表 6所示。
表6 各個功能單元的概率重要度
由式(17)可得每個功能單元的關鍵重要度如表 7所示。
表7 各個功能單元的關鍵重要度
為了更好地對結果進行分析,本文把每個模塊的概率重要度和關鍵重要度畫成折線圖的形式來展示,如圖8所示。
圖8 概率重要度和關鍵重要度折線圖
從表6、表7和圖8可知,當系統(tǒng)失效時,計算的概率重要度和關鍵重要度中,C3、C1、C6對應的功能單元的重要度更加靠前。其中,節(jié)點C3即集成電路失效排在第一,這說明集成電路失效對該存儲器電路影響較大,而這也與實際情況相符,因此該存儲電路中的可靠性關鍵模塊為C3。從文獻[27]中,也可以得到集成電路為存儲電路中的可靠性關鍵模塊,以此說明了該方法的有效性和正確性。
通過實例分析與計算可知,存儲系統(tǒng)基于本文建立的可靠性評估模型可量化計算其可靠性。同時,根據(jù)貝葉斯網(wǎng)絡雙向推理的優(yōu)勢,可以得到其可靠性關鍵模塊。在使用期間,對關鍵模塊進行維護與保養(yǎng),可以有效地提高存儲系統(tǒng)的可靠性。
針對傳統(tǒng)的存儲系統(tǒng)可靠性評估方法難以動態(tài)地描述其可靠性特征,也難以反映其與時間關系的問題,本文提出了一種結合Z語言和貝葉斯網(wǎng)絡的評估方法。該方法既具有Z語言的數(shù)據(jù)約束能力以及可擴展性,又可以通過貝葉斯網(wǎng)絡的雙向推理特性得到系統(tǒng)的可靠度以及可靠性關鍵模塊。最后通過一個實例,驗證了本文模型的正確性、評估方法和關鍵模塊識別方法的有效性。