亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于動(dòng)態(tài)i/o值不變式的硬件故障檢測系統(tǒng)及方法

文檔序號(hào):6604331閱讀:137來源:國知局
專利名稱:基于動(dòng)態(tài)i/o值不變式的硬件故障檢測系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及硬件故障檢測技術(shù),尤其涉及用于系統(tǒng)芯片的基于動(dòng)態(tài)I/O值不變式 的硬件故障檢測方法及其系統(tǒng)。
背景技術(shù)
隨著集成電路工藝和制造水平的快速發(fā)展,系統(tǒng)芯片(System-on-Chip,簡稱 SoC)的規(guī)模越來越大,所集成的晶體管越來越多,工作頻率越來越高,芯片面積越來越 小。隨著 3C(Computers、Consumer electronics、Communication)融合技術(shù)禾口應(yīng)用市場 的發(fā)展,3C融合產(chǎn)品越來越多地采用功耗低、成本低的系統(tǒng)芯片設(shè)計(jì),且產(chǎn)品上市時(shí)間 (Time-To-Market)越來越短。由于半導(dǎo)體工業(yè)的發(fā)展和消費(fèi)類電子上市時(shí)間的驅(qū)動(dòng),新開發(fā)的系統(tǒng)芯片存在硬 件故障的可能性越來越大,硬件故障包括功能故障和永久性故障(Permanent Faults)等, 比如設(shè)計(jì)缺陷和芯片生產(chǎn)缺陷等。為了保證系統(tǒng)芯片的正確性,一些高端系統(tǒng)采用硬件部 件冗余(如冗余多線程等)的方法來提高系統(tǒng)可靠性,但是這些方法要求在系統(tǒng)中加入特 定的額外硬件支持,導(dǎo)致成本昂貴,開銷偏大。由于冗余技術(shù)成本較高,非關(guān)鍵領(lǐng)域的系統(tǒng) 芯片通常不采用冗余技術(shù)來保障系統(tǒng)芯片正確性,而是通過硬件故障檢測技術(shù)來排除故 障,從而確保系統(tǒng)芯片的正確性。由此可見,高效的硬件故障檢測方法對于系統(tǒng)芯片的研發(fā) 是非常重要的。目前,硬件故障檢測方法大致可以分為基于硬件的故障檢測方法和基于軟件的故 障檢測方法。其中,基于硬件的硬件故障檢測方法,如基于掃描鏈等測試結(jié)構(gòu)的方法、基于 電路仿真器的方法和基于片上仿真的方法,它們依賴于特定的額外硬件支持,其成本較高, 使用靈活性較低?;谲浖挠布收蠙z測方法是指通過在軟件代碼中增加專用代碼或者通過已 有工具提取軟件行為來檢測與硬件故障相關(guān)的異常軟件癥狀的一類方法?;谲浖挠布?故障檢測方法的特點(diǎn)是應(yīng)用成本較低,并且只針對那些引發(fā)系統(tǒng)軟件失效的硬件故障,而 忽略那些被體系結(jié)構(gòu)或者軟件所屏蔽的硬件故障?,F(xiàn)有的基于軟件的硬件故障檢測方法大 多數(shù)針對瞬時(shí)故障(TransientFaults),或者需要軟件源代碼和編譯器的修改支持,或者只 采用小規(guī)模評測程序,其真實(shí)應(yīng)用存在諸多限制。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,提供一種基于動(dòng)態(tài)1/0值不變式的硬件故障檢測 系統(tǒng)及方法。為了解決上述技術(shù)問題,本發(fā)明公開了一種基于動(dòng)態(tài)1/0值不變式的硬件故障檢 測方法,包括目標(biāo)測試系統(tǒng)運(yùn)行過程中,實(shí)時(shí)檢測所述目標(biāo)測試系統(tǒng)的1/0值,當(dāng)檢測到不符 合事先所確定的目標(biāo)測試系統(tǒng)的動(dòng)態(tài)1/0值不變式的1/0值時(shí),判斷所述目標(biāo)測試系統(tǒng)發(fā)生硬件故障,其中,所述目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式是通過所述目標(biāo)測試系統(tǒng)的參考系統(tǒng)確定的。進(jìn)一步地,上述方法中,所述目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式指,所述目標(biāo)測試 系統(tǒng)中各I/O端口的動(dòng)態(tài)I/O值不變式。其中,所述I/O端口的動(dòng)態(tài)I/O值不變式采用目標(biāo)測試系統(tǒng)的I/O值范圍不變式 表示時(shí),若檢測到該I/O端口的I/O值位于所述目標(biāo)測試系統(tǒng)的I/O值范圍以外,則確定所 檢測到的I/O值不符合所述動(dòng)態(tài)I/O值不變式。所述I/O端口的I/O值范圍包括多個(gè)I/O值子范圍,當(dāng)檢測到該I/O端口的I/O 值不在所述多個(gè)I/O值子范圍中任一個(gè)I/O值子范圍內(nèi),則確定所檢測到的I/O值不符合 所述動(dòng)態(tài)I/O值不變式。所述I/O端口的動(dòng)態(tài)I/O值不變式采用目標(biāo)測試系統(tǒng)的I/O值的位掩碼不變式表 示,或者采用目標(biāo)測試系統(tǒng)的I/O值的布魯姆過濾器不變式表示。本發(fā)明還公開了一種基于動(dòng)態(tài)I/O值不變式的硬件故障檢測系統(tǒng),包括動(dòng)態(tài)I/O 值不變式提取單元和動(dòng)態(tài)I/O值不變式檢驗(yàn)單元,其中所述動(dòng)態(tài)I/O值不變式提取單元,用于根據(jù)目標(biāo)測試系統(tǒng)的參考系統(tǒng)確定所述目 標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式;所述動(dòng)態(tài)I/O值不變式檢驗(yàn)單元,用于實(shí)時(shí)檢測所述目標(biāo)測試系統(tǒng)的I/O值,當(dāng)檢 測到不符合所述目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式的I/O值時(shí),判斷所述目標(biāo)測試系統(tǒng)發(fā) 生硬件故障。進(jìn)一步地,上述系統(tǒng)中,所述目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式指,所述目標(biāo)測試 系統(tǒng)中各I/O端口的動(dòng)態(tài)I/O值不變式。其中,所述動(dòng)態(tài)I/O值不變式提取單元,采用目標(biāo)測試系統(tǒng)的I/O值范圍不變式表 示所述I/O端口的動(dòng)態(tài)I/O值不變式;所述動(dòng)態(tài)I/O值不變式檢驗(yàn)單元,檢測到該I/O端口的I/O值位于所述動(dòng)態(tài)I/O 值不變式提取單元所確定的I/O值范圍以外時(shí),確定所檢測到的I/O值不符合所述動(dòng)態(tài)I/ 0值不變式。所述動(dòng)態(tài)I/O值不變式檢驗(yàn)單元,在所述I/O端口的I/O值范圍包括多個(gè)I/O值 子范圍時(shí),檢測到該I/O端口的I/O值不在所述多個(gè)I/O值子范圍中任一個(gè)I/O值子范圍 內(nèi),則確定所檢測到的I/O值不符合所述動(dòng)態(tài)I/O值不變式。所述動(dòng)態(tài)I/O值不變式提取單元,采用目標(biāo)測試系統(tǒng)的I/O值的位掩碼不變式,或 者目標(biāo)測試系統(tǒng)的I/O值的布魯姆過濾器不變式表示所述I/O端口的動(dòng)態(tài)I/O值不變式。本發(fā)明技術(shù)方案,降低了硬件成本且故障檢測靈活,并提高了故障檢測效率。


圖1為本實(shí)施例1中硬件故障檢測的架構(gòu)示意圖;圖2為本發(fā)明所提出的硬件故障檢測系統(tǒng)對圖1所示的架構(gòu)進(jìn)行故障檢測的流程 圖;圖3為圖2中確定目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式的流程示意圖。
具體實(shí)施例方式本發(fā)明考慮到,現(xiàn)有硬件故障引發(fā)的系統(tǒng)(后文稱為目標(biāo)測試系統(tǒng))異常是指偏離預(yù)期設(shè)計(jì)的任何事件,而對于一個(gè)異常事件,存在一系列可觀察屬性或事件可以在特定 時(shí)間點(diǎn)反映出系統(tǒng)行為。其中,系統(tǒng)的I/O狀態(tài)就是一種可觀察屬性。因此,可以假設(shè)在上 述系統(tǒng)的參考系統(tǒng)中出現(xiàn)的所有事件均是正常行為,即在上述系統(tǒng)的參考系統(tǒng)中所出現(xiàn)的 所有I/O值均為正常值,從而根據(jù)這些正常值可以確定出上述系統(tǒng)正常運(yùn)行時(shí),正常的I/ 0值所屬的較為恒定的特征(即本文所稱的動(dòng)態(tài)I/O動(dòng)態(tài)值不變式,也稱為可能程序不變 式)。這樣,在目標(biāo)測試系統(tǒng)運(yùn)行過程中,在線地檢驗(yàn)I/O值,當(dāng)檢驗(yàn)出I/O值符合所確定的 恒定的特征(即不滿足動(dòng)態(tài)I/O動(dòng)態(tài)值不變式),則認(rèn)為這是異常事件(即從未出現(xiàn)過的事 件),該事件很可能導(dǎo)致系統(tǒng)運(yùn)行失效,從而確定出現(xiàn)硬件故障(硬件故障包括功能故障和 永久性故障)。下面結(jié)合具體實(shí)施例及附圖對本發(fā)明技術(shù)方案做進(jìn)一步詳細(xì)說明。一種基于動(dòng)態(tài)I/O值不變式的硬件故障檢測系統(tǒng),至少包括動(dòng)態(tài)I/O值不變式提 取單元和動(dòng)態(tài)I/O值不變式檢驗(yàn)單元。其中,動(dòng)態(tài)I/O值不變式提取單元,用于確定目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式, 并傳輸給動(dòng)態(tài)I/O值不變式檢驗(yàn)單元,其中,目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式指,目標(biāo)測 試系統(tǒng)中各I/O端口的動(dòng)態(tài)I/O值不變式;具體地,動(dòng)態(tài)I/O值不變式提取單元可利用目標(biāo)測試系統(tǒng)的參考系統(tǒng)來確定目標(biāo) 測試系統(tǒng)的硬件的動(dòng)態(tài)I/O值不變式。其中,目標(biāo)測試系統(tǒng)的參考系統(tǒng)可以是目標(biāo)測試系 統(tǒng)的等價(jià)硬件系統(tǒng),也可以是目標(biāo)測試系統(tǒng)的等價(jià)全系統(tǒng)模擬器;I/O端口的動(dòng)態(tài)I/O值不變式提取單元,可采用目標(biāo)測試系統(tǒng)的I/O值范圍不變 式、目標(biāo)測試系統(tǒng)的I/O值的位掩碼不變式或者目標(biāo)測試系統(tǒng)的I/O值的布魯姆過濾器不 變式表示所述動(dòng)態(tài)I/O值不變式。動(dòng)態(tài)I/O值不變式檢驗(yàn)單元,用于在線檢測與動(dòng)態(tài)I/O值不變式提取單元所確定 的動(dòng)態(tài)I/O值不變式?jīng)_突的I/O值,根據(jù)所檢測到的I/O值對應(yīng)的I/O地址和讀寫類型,即 可確定硬件設(shè)備發(fā)生故障的位置,此時(shí),可生成沖突位置報(bào)告以指示硬件故障位置(即哪 個(gè)硬件設(shè)備發(fā)生了故障);具體地,動(dòng)態(tài)I/O值不變式檢驗(yàn)單元在線檢測與動(dòng)態(tài)I/O值不變式提取單元所確 定的動(dòng)態(tài)I/O值不變式?jīng)_突的I/O值指,動(dòng)態(tài)I/O值不變式檢驗(yàn)單元在線檢測各I/O端口 的I/O值中與該I/O端口的動(dòng)態(tài)I/O值不變式?jīng)_突的I/O值。由于本發(fā)明不依賴額外的硬件支持,只需基于已有的調(diào)試工具來檢測異常I/O 值,所以本發(fā)明的應(yīng)用成本較低,并且具有靈活性。下面以圖1所示的架構(gòu)為例,說明上述基于動(dòng)態(tài)I/O值不變式的硬件故障檢測系 統(tǒng)通過目標(biāo)測試系統(tǒng)及其參考系統(tǒng),進(jìn)行導(dǎo)致目標(biāo)測試系統(tǒng)中失效的硬件故障檢測的過程。本實(shí)施例以北大眾志設(shè)計(jì)的PKUni ty86系統(tǒng)為目標(biāo)測試系統(tǒng)進(jìn)行說明。 PKUnity86系統(tǒng)是旨在開發(fā)一個(gè)基于AMBA開放協(xié)議總線架構(gòu)且MSWindows兼容的SoC系 統(tǒng),其結(jié)合ARM和Intel 二者SoC設(shè)計(jì)的優(yōu)點(diǎn),既能快速集成各種標(biāo)準(zhǔn)IP核,又能復(fù)用閉源 操作系統(tǒng)MS Windows及各種豐富的應(yīng)用軟件。其中,目標(biāo)測試系統(tǒng)的參考系統(tǒng)可以是目標(biāo)測試系統(tǒng)的等價(jià)硬件系統(tǒng),也可以是目標(biāo)測試系統(tǒng)的等價(jià)全系統(tǒng)模擬器。目標(biāo)測試系統(tǒng)的參考系統(tǒng)需要通過添加插樁功能以收集目標(biāo)測試系統(tǒng)正常運(yùn)行 時(shí)的所有I/O值,然后根據(jù)這些I/O值確定出目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式。并為目 標(biāo)測試系統(tǒng)加入I/O值檢驗(yàn)功能,這樣,目標(biāo)測試系統(tǒng)運(yùn)行時(shí)在線地檢驗(yàn)I/O值,通過所檢 驗(yàn)的I/O值與動(dòng)態(tài)I/O值不變式是否沖突來判斷是否存在硬件故障,并報(bào)告與沖突I/O值 相關(guān)的外部設(shè)備。具體地,基于動(dòng)態(tài)I/O值不變式的硬件故障檢測的過程如圖2所示,包括以下步 驟步驟200,確定目標(biāo)測試系統(tǒng)的參考系統(tǒng);
由于本發(fā)明技術(shù)方案進(jìn)行檢測硬件故障的方法,是基于系統(tǒng)運(yùn)行異常提出的,所 以需要定義一個(gè)正常行為的參考系統(tǒng),并通過目標(biāo)測試系統(tǒng)與參考系統(tǒng)的比較來識(shí)別異 常。參考系統(tǒng)可以是目標(biāo)測試系統(tǒng)的等價(jià)硬件系統(tǒng),也可以是目標(biāo)測試系統(tǒng)的等價(jià)全系統(tǒng) 模擬器。本實(shí)施例以北大眾志PKUnity86系統(tǒng)為目標(biāo)測試系統(tǒng),故選擇PKUnity86系統(tǒng)的 全系統(tǒng)模擬器作為參考系統(tǒng)。步驟210,根據(jù)目標(biāo)測試系統(tǒng)的參考系統(tǒng)確定目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式;該步驟中,確定目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式指,針對目標(biāo)測試系統(tǒng)中各I/O 端口分別確定動(dòng)態(tài)I/O值不變式??梢允孪仍趨⒖枷到y(tǒng)中添加獲取蹤跡的插樁功能,因此,可以獲得參考系統(tǒng)運(yùn)行 (相當(dāng)于目標(biāo)測試系統(tǒng)PKUnity86正常運(yùn)行)時(shí)的所有I/O操作,其包括I/O讀寫類型、I/ 0操作地址和I/O讀寫值,其中,同一 I/O操作地址即認(rèn)為對應(yīng)同一個(gè)I/O端口 ;其中,為了保證動(dòng)態(tài)I/O值不變式完備性、準(zhǔn)確性,需要獲取多次參考系統(tǒng)運(yùn)行的 所有I/O操作蹤跡。假設(shè),需要運(yùn)行η次參考系統(tǒng),每次運(yùn)行參考系統(tǒng)獲取的所有參考I/O 操作蹤跡作為一個(gè)蹤跡文件,最后得到η個(gè)蹤跡文件。每個(gè)蹤跡文件中每一條記錄對應(yīng)一 個(gè)I/O操作,包括I/O讀寫類型、I/O操作地址和I/O讀寫值。之后,根據(jù)所獲取的η個(gè)蹤 跡文件分別確定各I/O端口的動(dòng)態(tài)I/O值不變式。具體地,可以對η個(gè)蹤跡文件進(jìn)行離線 處理,提取η次參考系統(tǒng)運(yùn)行都成立的事件集合,即動(dòng)態(tài)I/O值不變式。其中,離線處理方 式主要是將數(shù)據(jù)獲取過程和數(shù)據(jù)處理過程進(jìn)行分離,這樣可以避免在參考系統(tǒng)運(yùn)行中數(shù)據(jù) 獲取時(shí)間過長,并且單獨(dú)的數(shù)據(jù)處理過程可以支持復(fù)雜的蹤跡數(shù)據(jù)挖掘和提取技術(shù),此過 程如圖3所示。本實(shí)施例中,動(dòng)態(tài)I/O值不變式采用基于動(dòng)態(tài)范圍的不變式格式。對于一個(gè)輸出 X,其基于范圍的不變式格式表示為[MIN,MAX],其中MIN和MAX分別是輸出χ在多次參考 運(yùn)行中訓(xùn)練得到的范圍邊界,即MIN < χ < MAX。即基于動(dòng)態(tài)范圍的不變式是基于范圍不變 式的擴(kuò)展。進(jìn)一步地,基于動(dòng)態(tài)范圍的不變式可將一個(gè)輸出值范圍劃分為多個(gè)大小不一的 子范圍,可動(dòng)態(tài)地建立每個(gè)子范圍。最開始所有的子范圍都無效,當(dāng)遇到新值時(shí)則以已記錄 的最小值和最大值的建立子范圍;當(dāng)所有子范圍都建立并遇到新值時(shí),調(diào)整新值相鄰的子 范圍,使得記錄的所有輸出值被包含于所建立的子范圍中(即所建立的子范圍的總和要覆 蓋記錄的所有輸出值),并且所有子范圍的總和最小?;趧?dòng)態(tài)范圍的不變式可以方便高效 地提取和檢驗(yàn)輸出值,并且具有較高的精確性,因?yàn)樗苊夥秶臻g包含過多的無用范圍。本實(shí)施例基于動(dòng)態(tài)二子范圍值不變式確定的動(dòng)態(tài)I/O值不變式如表1所示。假設(shè)I/O操作都為讀或者寫操作,并且操作的為同一 I/O端口地址i。兩個(gè)子范圍A和B的初始 狀態(tài)都為無效。接著假設(shè)頭兩個(gè)I/O操作值為1和100,這兩個(gè)新值分別加入子范圍A和 子范圍B,形成單值子范圍,格式分別為[1,1]和[100,100](如表1第3行所示)。接著出 現(xiàn)I/O操作新值為10,此時(shí)將10歸入到子范圍A,因?yàn)?0跟單值子范圍A最大值1的距離 更近,即單值子范圍A更新為[1,10]。當(dāng)接下來的I/O操作新值為1000時(shí),由于1000遠(yuǎn) 大于單值子范圍B最大值,所以將原來的單值子范圍B[100,100]歸入子范圍A,格式為[1, 100],此時(shí)歷史操作值10也在子范圍A中,并將1000單獨(dú)作為新的單值子范圍B,即單值子 范圍B更新為[1000,1000]。最后出現(xiàn)I/O操作新值為800的事件,由于800跟單值子范 圍B[1000,1000]的距離更近,所以將其歸入子范圍B,格式為[800,1000]。該例子最后得 出的I/O端口 i的動(dòng)態(tài)I/O值不變式為[1,100]且[800,1000]。表1為基于動(dòng)態(tài)二子范圍值的不變式表示 基于上述表1所示的動(dòng)態(tài)二子范圍動(dòng)態(tài)I/O值不變式的數(shù)據(jù)結(jié)構(gòu)I0_INVARIANT 包括11個(gè)子域,如下所示I/O 地址(io_addr);讀子范圍A的最小值ar_min ;讀子范圍A的最大值ar_max ;讀子范圍B的最小值br_min ;讀子范圍B的最大值br_max ;寫子范圍A的最小值aw_min ;寫子范圍A的最大值aw_max ;寫子范圍B的最小值bw_min ;寫子范圍B的最大值bw_max ;標(biāo)識(shí)flag,flag表明該I/O端口是否包含子結(jié)構(gòu)(如CMOS訪問和PCI空間訪問)、 是否被訪問過、是否為讀操作、是否為寫操作;子結(jié)構(gòu)sub,如果flag表明該I/O端口包含子結(jié)構(gòu),那么sub域指向類型為10_INVARIANT的子結(jié)構(gòu)。本實(shí)施例中,最后得到的動(dòng)態(tài)I/O值不變式文件包括所有I/O端口的10_ INVARIANT結(jié)構(gòu),如圖2的虛框所示。步驟220,檢驗(yàn)動(dòng)態(tài)I/O值不變式;針對可能存在硬件設(shè)備故障的目標(biāo)測試系統(tǒng),還可以檢驗(yàn)動(dòng)態(tài)I/O值不變式。具體地,一旦遇到I/O操作時(shí),就截取該I/O操作的讀寫類型、I/O地址、操作值,并根據(jù)該I/O操 作的讀寫類型和I/O地址在之前提取的所有動(dòng)態(tài)I/O值不變式中檢索對應(yīng)的動(dòng)態(tài)I/O值不變 式(即該I/O端口的動(dòng)態(tài)I/O值不變式),接著檢查該I/O操作的讀寫值是否屬于對應(yīng)不變 式表示的I/O值范圍內(nèi),從而檢驗(yàn)該I/O操作是否為動(dòng)態(tài)I/O值不變式?jīng)_突。如果該I/O操 作值遵循動(dòng)態(tài)I/O值不變式,則系統(tǒng)繼續(xù)運(yùn)行,并檢查其他I/O操作。否則,認(rèn)為存在動(dòng)態(tài)I/ 0值不變式?jīng)_突,報(bào)告與該I/O操作值相關(guān)的設(shè)備位置,以供調(diào)試人員進(jìn)一步診斷故障根源。動(dòng)態(tài)I/O值不變式檢驗(yàn)只需已有的調(diào)試支持,即I/O操作斷點(diǎn),它可以由軟件調(diào)試 器或者硬件探針調(diào)試器實(shí)現(xiàn)。動(dòng)態(tài)I/O值不變式檢驗(yàn)過程對系統(tǒng)運(yùn)行性能有一定的影響, 但它不影響系統(tǒng)運(yùn)行正確性,在系統(tǒng)調(diào)試階段,損失一些性能是可以接受的。還有一些實(shí)施例中,也可以不檢驗(yàn)動(dòng)態(tài)I/O值不變式。步驟230,基于動(dòng)態(tài)I/O值不變式,在線檢測目標(biāo)測試系統(tǒng)各I/O端口的I/O值,當(dāng) 檢測到目標(biāo)測試系統(tǒng)的I/O值不符合對應(yīng)的動(dòng)態(tài)I/O值不變式(即該I/O端口的動(dòng)態(tài)I/O 值不變式)時(shí),則確定發(fā)生硬件設(shè)備故障,未檢測到目標(biāo)測試系統(tǒng)的I/O值不符合對應(yīng)的動(dòng) 態(tài)I/O值不變式時(shí),則繼續(xù)在線檢測;該步驟中,檢測到目標(biāo)測試系統(tǒng)的I/O值不符合動(dòng)態(tài)I/O值不變式時(shí),根據(jù)所檢測 到的I/O值對應(yīng)的I/O地址和讀寫類型,即可確定硬件設(shè)備發(fā)生故障的位置,此時(shí)目標(biāo)測試 系統(tǒng)可生成沖突位置報(bào)告以指示硬件故障位置(即哪個(gè)硬件設(shè)備發(fā)生了故障)。還有一些實(shí)施例中,還可以采用動(dòng)態(tài)范圍的不變式以外的其他不變式來表示動(dòng)態(tài) I/O值不變式。例如,采用位掩碼的不變式或者布魯姆過濾器(BloomFilter)不變式來表示 動(dòng)態(tài)I/O值不變式。其中,采用位掩碼的不變式表示動(dòng)態(tài)I/O值不變式時(shí),由于位掩碼的不變式的主 要思想是,I/O端口狀態(tài)中某些位域值永遠(yuǎn)保持為零,其他非零的位域則設(shè)置為掩碼位,每 個(gè)I/O端口狀態(tài)的位掩碼值的位寬與I/O狀態(tài)值相同。因此,當(dāng)檢測到I/O值中永零位域 狀態(tài)發(fā)生改變,則認(rèn)為該I/O狀態(tài)值與動(dòng)態(tài)I/O值不變式?jīng)_突,即發(fā)生硬件設(shè)備故障。采用布魯姆過濾器(Bloom Filter)不變式來表示動(dòng)態(tài)I/O值不變式時(shí),采用布魯 姆過濾器算法確定動(dòng)態(tài)I/O值不變式,其主要思想是使用不同的哈希方式將I/O狀態(tài)值映 射到哈希向量中,每個(gè)I/O端口對應(yīng)哈希表中的一個(gè)哈希向量。在不變式提取階段,將每個(gè) I/O狀態(tài)值劃分成多個(gè)子塊,并采用不同的哈希函數(shù)將各子塊映射到哈希表的哈希向量中, 哈希向量中某一位被置1則表明該位是標(biāo)識(shí)該I/O狀態(tài)值正常所需的。在不變式檢驗(yàn)階 段,只要任何一個(gè)哈希函數(shù)返回的位沒有被置1,則認(rèn)為該I/O狀態(tài)值與動(dòng)態(tài)I/O值不變式 沖突,即發(fā)生硬件設(shè)備故障。以上所述,僅為本發(fā)明的較佳實(shí)例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本 發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范 圍之內(nèi)。
權(quán)利要求
一種基于動(dòng)態(tài)I/O值不變式的硬件故障檢測方法,其特征在于,該方法包括目標(biāo)測試系統(tǒng)運(yùn)行過程中,實(shí)時(shí)檢測所述目標(biāo)測試系統(tǒng)的I/O值,當(dāng)檢測到不符合事先所確定的目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式的I/O值時(shí),判斷所述目標(biāo)測試系統(tǒng)發(fā)生硬件故障,其中,所述目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式是通過所述目標(biāo)測試系統(tǒng)的參考系統(tǒng)確定的。
2.如權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式指,所述目標(biāo)測試系統(tǒng)中各I/O端口的動(dòng)態(tài)1/ 0值不變式。
3.如權(quán)利要求2所述的方法,其特征在于,所述I/O端口的動(dòng)態(tài)I/O值不變式采用目標(biāo)測試系統(tǒng)的I/O值范圍不變式表示時(shí),若 檢測到該I/O端口的I/O值位于所述目標(biāo)測試系統(tǒng)的I/O值范圍以外,則確定所檢測到的 I/O值不符合所述動(dòng)態(tài)I/O值不變式。
4.如權(quán)利要求3所述的方法,其特征在于,所述I/O端口的I/O值范圍包括多個(gè)I/O值子范圍,當(dāng)檢測到該I/O端口的I/O值不 在所述多個(gè)I/O值子范圍中任一個(gè)I/O值子范圍內(nèi),則確定所檢測到的I/O值不符合所述 動(dòng)態(tài)I/O值不變式。
5.如權(quán)利要求2所述的方法,其特征在于,所述I/O端口的動(dòng)態(tài)I/O值不變式采用目標(biāo)測試系統(tǒng)的I/O值的位掩碼不變式表示, 或者采用目標(biāo)測試系統(tǒng)的I/O值的布魯姆過濾器不變式表示。
6.一種基于動(dòng)態(tài)I/O值不變式的硬件故障檢測系統(tǒng),其特征在于,該系統(tǒng)包括動(dòng)態(tài)I/O 值不變式提取單元和動(dòng)態(tài)I/O值不變式檢驗(yàn)單元,其中所述動(dòng)態(tài)I/O值不變式提取單元,用于根據(jù)目標(biāo)測試系統(tǒng)的參考系統(tǒng)確定所述目標(biāo)測 試系統(tǒng)的動(dòng)態(tài)I/O值不變式;所述動(dòng)態(tài)I/O值不變式檢驗(yàn)單元,用于實(shí)時(shí)檢測所述目標(biāo)測試系統(tǒng)的I/O值,當(dāng)檢測到 不符合所述目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式的I/O值時(shí),判斷所述目標(biāo)測試系統(tǒng)發(fā)生硬 件故障。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式指,所述目標(biāo)測試系統(tǒng)中各I/O端口的動(dòng)態(tài)1/ 0值不變式。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述動(dòng)態(tài)I/O值不變式提取單元,采用目標(biāo)測試系統(tǒng)的I/O值范圍不變式表示所述1/ 0端口的動(dòng)態(tài)I/O值不變式;所述動(dòng)態(tài)I/O值不變式檢驗(yàn)單元,檢測到該I/O端口的I/O值位于所述動(dòng)態(tài)I/O值不 變式提取單元所確定的I/O值范圍以外時(shí),確定所檢測到的I/O值不符合所述動(dòng)態(tài)I/O值 不變式。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述動(dòng)態(tài)I/O值不變式檢驗(yàn)單元,在所述I/O端口的I/O值范圍包括多個(gè)I/O值子范 圍時(shí),檢測到該I/O端口的I/O值不在所述多個(gè)I/O值子范圍中任一個(gè)I/O值子范圍內(nèi),則 確定所檢測到的I/O值不符合所述動(dòng)態(tài)I/O值不變式。
10.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述動(dòng)態(tài)I/O值不變式提取單元,采用目標(biāo)測試系統(tǒng)的I/O值的位掩碼不變式,或者目 標(biāo)測試系統(tǒng)的I/O值的布魯姆過濾器不變式表示所述I/O端口的動(dòng)態(tài)I/O值不變式。
全文摘要
本發(fā)明公開了基于動(dòng)態(tài)I/O值不變式的硬件故障檢測系統(tǒng)及方法,涉及硬件故障檢測技術(shù)。本發(fā)明方法包括目標(biāo)測試系統(tǒng)運(yùn)行過程中,實(shí)時(shí)檢測所述目標(biāo)測試系統(tǒng)的I/O值,當(dāng)檢測到不符合事先所確定的目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式的I/O值時(shí),判斷所述目標(biāo)測試系統(tǒng)發(fā)生硬件故障,其中,所述目標(biāo)測試系統(tǒng)的動(dòng)態(tài)I/O值不變式是通過所述目標(biāo)測試系統(tǒng)的參考系統(tǒng)確定的。本發(fā)明技術(shù)方案,降低了硬件成本且故障檢測靈活,并提高了故障檢測效率。
文檔編號(hào)G06F11/34GK101866312SQ20101020303
公開日2010年10月20日 申請日期2010年6月18日 優(yōu)先權(quán)日2010年6月18日
發(fā)明者佟冬, 吳永軍, 張琦, 李皓, 程旭, 鄭衍松 申請人:北京北大眾志微系統(tǒng)科技有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1