本發(fā)明涉及注錯測試技術,尤其涉及一種關于pmc-raid卡奇偶校驗錯誤的注錯測試的方法。
背景技術:
parityerror是raid卡芯片遇到的比特位發(fā)生變化導致的報錯,一般是由外部環(huán)境的原因導致的芯片內部單個比特位發(fā)生變化,但是沒有造成芯片內部硬件顆粒整體性的破壞。這種問題本身即不是芯片硬件設計引起的,也不是板卡設計引起的問題。針對這種問題,raid卡廠商都會在fw中設計相應的處理方案,來修復parityerror問題。通常有兩種方式來保護數據的完整性:校驗保護和ecc保護。校驗保護:一旦檢測到數據位出錯,硬件會產生校驗錯誤,軟件可以對這種錯誤進行處理,從未減輕這種問題帶來的影響。ecc保護方式:自動校正單比特的錯誤。
由于自然發(fā)生的parityerror很難復現,但是這個問題的影響又非常嚴重,會導致機器宕機等問題。
技術實現要素:
為了解決以上技術問題,本發(fā)明提出了一種關于pmc-raid卡奇偶校驗錯誤的注錯測試的方法。使用人工注錯的方式來測試,驗證raid卡fw中parityerror的處理機制。確保raid卡在遇到parityerror時也可以修復問題,正常的運行和工作
本發(fā)明的技術方案是:
一種關于pmc-raid卡奇偶校驗錯誤的注錯測試的方法,
首先,將待測pmc-raid卡安裝到機器上,并連接上串口工具。注錯測試需要同串口工具與raid卡的fw進行交互。
其次,將串口工具的另一端連接到工作電腦上,確認com口,使用串口工具軟件打開并連接相應的com口,保存會話日志,用于保留測試結果。再將待測機器開啟,運行壓力腳本,觀察硬盤上每秒的數據流量。
最后,使用不同的命令進行注錯測試。parityerror分為兩類:i-cache和d-cache。i-cache為命令錯誤,d-cache為數據錯誤??梢酝ㄟ^不同的命令分別進行測試??梢詧?zhí)行多次確保fw可以正常處理各種parityerror。如果測試過程中發(fā)現待測機器出現宕機或者重啟現象,即表示測試不通過,fw沒有很好的處理parityerror問題。
parityerror注錯測試主要包括如下的幾種測試項:
test0-dcacherandomerror
test1-dcachewayramerror
test2-dcachetagramerror
test3-n/a
test4-dcachedataramerror
test5-n/a
test6-icacherandomerror
test7-icachetagramerror
test8-icachedataramerror
test9-l2regioninit
test10-l2regionramerror(singlebit)
test11-l2regionramerror(doublebit)
通過如下命令分別選擇測試項和對應的raid卡的內核:
cache_exc_unit_testcore_idtest_num。
本發(fā)明的有益效果是
本次parityerror注錯測試,可以通過人工注錯的方式來測試,驗證raid卡fw中parityerror的處理機制,確保raid卡在遇到parityerror時也可以修復問題,正常的運行和工作。解決了raid卡存在的隱患問題,提高了公司服務器的質量。
附圖說明
圖1是本發(fā)明的工作流程示意圖。
具體實施方式
下面對本發(fā)明的內容進行更加詳細的闡述:
首先,將待測pmc-raid卡安裝到機器上,并連接上串口工具。注錯測試需要同串口工具與raid卡的fw進行交互。
其次,將串口工具的另一端連接到工作電腦上,確認com口,使用串口工具軟件打開并連接相應的com口,保存會話日志,用于保留測試結果。再將待測機器開啟,運行壓力腳本,觀察硬盤上每秒的數據流量。
最后,使用不同的命令進行注錯測試。parityerror分為兩類:i-cache和d-cache。i-cache為命令錯誤,d-cache為數據錯誤??梢酝ㄟ^不同的命令分別進行測試??梢詧?zhí)行多次確保fw可以正常處理各種parityerror。如果測試過程中發(fā)現待測機器出現宕機或者重啟現象,即表示測試不通過,fw沒有很好的處理parityerror問題。
parityerror注錯測試主要包括如下的幾種測試項:
test0-dcacherandomerror
test1-dcachewayramerror
test2-dcachetagramerror
test3-n/a
test4-dcachedataramerror
test5-n/a
test6-icacherandomerror
test7-icachetagramerror
test8-icachedataramerror
test9-l2regioninit
test10-l2regionramerror(singlebit)
test11-l2regionramerror(doublebit)
可以通過如下命令分別選擇測試項和對應的raid卡的內核:
cache_exc_unit_testcore_idtest_num
例如pm8060raid卡的core_id為0-2,即可使用如下命令進行測試: