劉宵辰,李興智,王 俊,閆 穩(wěn),趙 剛
(航空工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安 710065)
在機(jī)載計(jì)算機(jī)設(shè)計(jì)中,通常使用非易失隨機(jī)訪問存儲(chǔ)器(NVRAM,Non-Volatile Random Access Memory)進(jìn)行產(chǎn)品故障信息記錄。NVRAM可實(shí)現(xiàn)持久化信息存儲(chǔ),即在產(chǎn)品斷電后仍能保持所存儲(chǔ)的數(shù)據(jù)不會(huì)丟失。
近年來,隨著機(jī)載電子系統(tǒng)綜合化程度的提高,機(jī)載計(jì)算機(jī)產(chǎn)品的故障排查過程也變得愈發(fā)復(fù)雜[1-3]。而傳統(tǒng)的故障記錄方式往往僅對計(jì)算機(jī)接口是否發(fā)生過故障進(jìn)行記錄,遠(yuǎn)不能滿足現(xiàn)有綜合化系統(tǒng)的故障診斷、分析及定位需求。
本文介紹了一種機(jī)載計(jì)算機(jī)故障信息記錄方法,該方法具有維護(hù)效率高、可移植性強(qiáng)、靈活性高的特點(diǎn)。通過計(jì)算機(jī)發(fā)生故障的時(shí)間順序?qū)收线M(jìn)行“日志式”滾動(dòng)記錄,為系統(tǒng)故障排查提供故障現(xiàn)場復(fù)原,從而提高排查效率[4]。
本文設(shè)計(jì)的故障記錄方案主要用于機(jī)載計(jì)算機(jī)故障信息存儲(chǔ),并為計(jì)算機(jī)產(chǎn)品的工作情況分析、故障定位及故障排查提供了依據(jù)。
第一,需根據(jù)產(chǎn)品配備的NVRAM存儲(chǔ)容量、BIT測試項(xiàng)目數(shù)量、單項(xiàng)BIT故障信息記錄格式所占存儲(chǔ)容量等,進(jìn)行NVRAM區(qū)域劃分。
第二,在NVRAM中分別設(shè)置信息區(qū)域及索引區(qū)域。信息區(qū)域用來記錄各類BIT的故障內(nèi)容,索引區(qū)域用于記錄每類BIT的實(shí)時(shí)記錄位置。本方案假定產(chǎn)品自測試(BIT,Built-in Test)類型包括上電BIT、周期BIT及維護(hù)BIT,則NVRAM內(nèi)容分布如圖1所示。
圖1 NVRAM內(nèi)容分布示意
第三,當(dāng)發(fā)生一項(xiàng)BIT測試故障時(shí),首先根據(jù)此項(xiàng)測試的BIT類型,進(jìn)行該類BIT的記錄索引查找;其次,將發(fā)生的BIT測試故障的故障時(shí)間、故障分類、故障現(xiàn)場等信息寫入NVRAM對應(yīng)的索引中;最后,對該類BIT的記錄索引進(jìn)行更新,以備下次記錄使用。
第一,根據(jù)產(chǎn)品設(shè)計(jì)的接口BIT機(jī)理情況,制定該產(chǎn)品的BIT故障信息記錄格式。
一個(gè)典型的故障信息記錄格式包括:
1)故障發(fā)生/消失時(shí)間;
2)故障項(xiàng)編碼;
3)故障發(fā)生次數(shù);
4)故障機(jī)理類型;
5)故障機(jī)理信息;
6)其它故障輔助信息。
第二,根據(jù)產(chǎn)品配備的NVRAM容量,進(jìn)行NVRAM區(qū)域劃分。
假定產(chǎn)品的NVRAM為128KB,可將0KB~100KB設(shè)置為信息記錄區(qū)域,而將索引區(qū)域設(shè)置在101KB~128KB范圍中??紤]到在產(chǎn)品工作過程中,幾類BIT檢測的故障發(fā)生頻次為周期BIT>維護(hù)BIT>上電BIT,因此可按BIT分類將信息記錄區(qū)域參照7:2:1的比例進(jìn)行劃分。
NVRAM區(qū)域劃分示例見圖2。
圖2 NVRAM空間劃分示例
第三,一次BIT測試故障的信息記錄過程應(yīng)包括:
首先,在產(chǎn)品上電后,對NVRAM中存儲(chǔ)的信息記錄索引的有效范圍進(jìn)行判斷。如果某項(xiàng)索引未在預(yù)先設(shè)定的范圍內(nèi)時(shí),將該項(xiàng)索引重置至對應(yīng)有效范圍的首條處。
其次,當(dāng)發(fā)生一項(xiàng)BIT測試故障時(shí),首先判斷此項(xiàng)測試的BIT類型,并根據(jù)類型進(jìn)行記錄索引查找。其中,如果查找到的索引未在預(yù)設(shè)范圍時(shí),將進(jìn)行索引重置。
再次,將該項(xiàng)BIT測試故障的發(fā)生/消失時(shí)間、故障項(xiàng)編碼、故障機(jī)理等信息按照規(guī)定的故障信息記錄格式寫入NVRAM中,并將相應(yīng)BIT類型的索引進(jìn)行更新。
最后,在產(chǎn)品下電時(shí),將各類BIT對應(yīng)的記錄索引存儲(chǔ)至NVRAM的索引記錄區(qū)域中。
第四,在進(jìn)行故障記錄時(shí),可結(jié)合產(chǎn)品接口的具體工作狀態(tài)和BIT測試運(yùn)行情況,為單次產(chǎn)品上電時(shí)各接口的故障記錄次數(shù)設(shè)置上限,以避免出現(xiàn)某種測試故障反復(fù)發(fā)生而大量占用NVRAM存儲(chǔ)資源的情況。此外還需注意,如果同一時(shí)刻發(fā)生多項(xiàng)故障時(shí),應(yīng)根據(jù)產(chǎn)品處理能力,在不影響正常運(yùn)行功能的前提下進(jìn)行酌情記錄。以某個(gè)離散量輸出接口為例,其解析出的故障信息記錄為:
表1 故障信息記錄實(shí)例
NVRAM中存儲(chǔ)的接口BIT故障信息,在產(chǎn)品發(fā)生故障后對系統(tǒng)故障的診斷、分析及定位具有重要的參考價(jià)值。使用NVRAM的出發(fā)點(diǎn)是為了更好的記錄信息、還原故障現(xiàn)場。
本文提出的故障信息記錄方法靈活可靠、可移植性強(qiáng)。通過對產(chǎn)品故障信息進(jìn)行“日志式”滾動(dòng)記錄,可進(jìn)行故障信息快速復(fù)原,極大降低故障排查的分析及定位難度,為產(chǎn)品高效維護(hù)提供了有力保障,并為產(chǎn)品后續(xù)的健康狀態(tài)監(jiān)控奠定了基礎(chǔ)。