本發(fā)明涉及硬盤測試,具體涉及一種硬盤熱插拔測試方法、裝置、控制電路板及系統(tǒng)。
背景技術(shù):
1、硬盤的熱插拔測試,是指在不關(guān)閉計(jì)算機(jī)或相關(guān)設(shè)備電源的情況下,對(duì)硬盤進(jìn)行插入或拔出的操作,并測試這一過程中硬盤及系統(tǒng)的穩(wěn)定性和性能表現(xiàn)。這種測試主要用于驗(yàn)證硬盤的熱插拔功能是否正常,以及硬盤在熱插拔過程中是否能夠保持?jǐn)?shù)據(jù)的完整性和系統(tǒng)的穩(wěn)定性。硬盤的熱插拔測試是對(duì)硬盤結(jié)構(gòu)與服務(wù)器機(jī)箱的配合、硬盤高速接口(如pcie、sata等)si(signal?integrity,信號(hào)完整性)設(shè)計(jì)可靠性、硬盤高速連接器等方面的綜合測試,測試過程中主要關(guān)注高速接口是否存在鏈接問題、降帶寬等情況。
2、硬盤在客戶現(xiàn)場或者生產(chǎn)組裝時(shí),一般由人工進(jìn)行硬盤裝配,將硬盤插入目標(biāo)機(jī)箱,比如pcie設(shè)備。因此,人工熱插拔測試,最貼近客戶的使用現(xiàn)場。但是一次插拔測試往往需要成百上千次的插拔硬盤操作,會(huì)導(dǎo)致耗費(fèi)大量人力。即便有提出的一種自動(dòng)熱插拔的測試治具,用于代替人工插拔,但由于其插拔力度、插拔行程固定,導(dǎo)致不能模擬實(shí)際客戶現(xiàn)場或者生產(chǎn)組裝時(shí)硬盤的插入狀態(tài),不能滿足對(duì)硬盤插拔的速度、插入行程等的各種情形模擬測試。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供了一種硬盤熱插拔測試方法、裝置、控制電路板及系統(tǒng),以解決準(zhǔn)確模擬硬盤插拔的各種情形的問題。
2、第一方面,本發(fā)明提供了一種硬盤熱插拔測試方法,應(yīng)用于控制電路板,所述控制電路板固定連接在測試支架上,所述測試支架上安裝有精密電機(jī)和水平運(yùn)動(dòng)桿,所述水平運(yùn)動(dòng)桿的一端連接硬盤,所述方法包括:
3、接收來自終端設(shè)備的測試指令,所述測試指令中包括硬盤中待測試的至少一個(gè)功能項(xiàng);
4、解析所述測試指令,并根據(jù)所述測試指令中的內(nèi)容判斷是否啟動(dòng)模擬人工插拔模式;
5、如果是,則在預(yù)設(shè)范圍內(nèi)選擇第一隨機(jī)數(shù),并根據(jù)所述第一隨機(jī)數(shù)、轉(zhuǎn)動(dòng)角和硬盤移動(dòng)距離之間的對(duì)應(yīng)關(guān)系,確定與所述第一隨機(jī)數(shù)相對(duì)應(yīng)的第一轉(zhuǎn)動(dòng)角;
6、生成包含所述第一轉(zhuǎn)動(dòng)角的驅(qū)動(dòng)指令,并將所述驅(qū)動(dòng)指令發(fā)送給所述精密電機(jī),以使所述精密電機(jī)按照所述驅(qū)動(dòng)指令控制所述水平運(yùn)動(dòng)桿帶動(dòng)硬盤移動(dòng)目標(biāo)距離,將所述硬盤的另一端插入至目標(biāo)設(shè)備;
7、接收所述硬盤在插入所述目標(biāo)設(shè)備后反饋的至少一個(gè)功能項(xiàng)的測試數(shù)據(jù),并根據(jù)所述測試數(shù)據(jù)判斷各功能項(xiàng)是否通過測試,以及統(tǒng)計(jì)對(duì)所述硬盤的一次測試結(jié)果;
8、將所述測試結(jié)果發(fā)送給所述終端設(shè)備。
9、結(jié)合第一方面,在一種可能的實(shí)施方式中,所述測試指令中還包括:測試的啟動(dòng)或停止、測試的總輪數(shù)、是否啟動(dòng)模擬人工插拔信息、硬盤標(biāo)稱的插拔行程常量、定制化測試項(xiàng)、失敗率統(tǒng)計(jì)模式中的至少一種;
10、解析所述測試指令,并根據(jù)測試指令中的內(nèi)容判斷是否啟動(dòng)模擬人工插拔模式,包括:
11、解析所述測試指令,得到是否啟動(dòng)模擬人工插拔信息;根據(jù)所述是否啟動(dòng)模擬人工插拔信息,判斷是否啟動(dòng)模擬人工插拔模式;
12、如果所述是否啟動(dòng)模擬人工插拔信息指示為是,則啟動(dòng)所述模擬人工插拔模式;如果所述是否啟動(dòng)模擬人工插拔信息指示為否,則不啟動(dòng)所述模擬人工插拔模式。
13、結(jié)合第一方面,在另一種可能的實(shí)施方式中,所述根據(jù)所述第一隨機(jī)數(shù)、轉(zhuǎn)動(dòng)角和硬盤移動(dòng)距離之間的對(duì)應(yīng)關(guān)系,確定與所述第一隨機(jī)數(shù)相對(duì)應(yīng)的第一轉(zhuǎn)動(dòng)角之前,還包括:建立轉(zhuǎn)動(dòng)角和硬盤移動(dòng)距離之間的對(duì)應(yīng)關(guān)系;
14、所述建立轉(zhuǎn)動(dòng)角和硬盤移動(dòng)距離之間的對(duì)應(yīng)關(guān)系,包括:
15、獲取所述硬盤插入到所述目標(biāo)設(shè)備的最大深度,根據(jù)所述最大深度設(shè)置所述水平運(yùn)動(dòng)桿在水平方向的行程范圍,作為所述預(yù)設(shè)范圍;
16、獲取所述測試支架上結(jié)構(gòu)的相關(guān)參數(shù),所述相關(guān)參數(shù)包括:電機(jī)軸心距離硬盤插拔水平運(yùn)動(dòng)面的高度、旋轉(zhuǎn)運(yùn)動(dòng)桿固定軸心距離電機(jī)軸心距離、旋轉(zhuǎn)運(yùn)動(dòng)軸心距離電機(jī)軸心距離;
17、根據(jù)所述相關(guān)參數(shù)和所述水平運(yùn)動(dòng)桿在水平方向的行程范圍,建立轉(zhuǎn)動(dòng)角和硬盤移動(dòng)距離之間的所述對(duì)應(yīng)關(guān)系。
18、結(jié)合第一方面,在又一種可能的實(shí)施方式中,所述在預(yù)設(shè)范圍內(nèi)選擇第一隨機(jī)數(shù),并根據(jù)所述第一隨機(jī)數(shù)、轉(zhuǎn)動(dòng)角和硬盤移動(dòng)距離之間的對(duì)應(yīng)關(guān)系,確定與所述第一隨機(jī)數(shù)相對(duì)應(yīng)的第一轉(zhuǎn)動(dòng)角,包括:在所述預(yù)設(shè)范圍0~x內(nèi)選擇第一隨機(jī)數(shù)x;獲取所述轉(zhuǎn)動(dòng)角和硬盤移動(dòng)距離之間的所述對(duì)應(yīng)關(guān)系,將所述第一隨機(jī)數(shù)x經(jīng)過所述對(duì)應(yīng)關(guān)系,運(yùn)算得到第一轉(zhuǎn)動(dòng)角。
19、結(jié)合第一方面,在又一種可能的實(shí)施方式中,所述轉(zhuǎn)動(dòng)角和硬盤移動(dòng)距離之間的所述對(duì)應(yīng)關(guān)系通過公式表示為:
20、
21、其中,α表示電機(jī)的轉(zhuǎn)動(dòng)角度、h1表示電機(jī)軸心距離硬盤插拔水平運(yùn)動(dòng)面的高度、h2表示旋轉(zhuǎn)運(yùn)動(dòng)桿固定軸心距離電機(jī)軸心距離、r表示旋轉(zhuǎn)運(yùn)動(dòng)軸心距離電機(jī)軸心距離、x表示預(yù)設(shè)范圍0~x內(nèi)的任一隨機(jī)數(shù)。
22、結(jié)合第一方面,在又一種可能的實(shí)施方式中,所述至少一個(gè)功能項(xiàng)包括:接口速率測試、接口寬度測試和硬盤性能測試中的至少一種;所述測試數(shù)據(jù)包括:硬盤的接口速率、接口帶寬信息和讀性能指標(biāo)中的至少一種;
23、所述接收所述硬盤在插入所述目標(biāo)設(shè)備后反饋的至少一個(gè)功能項(xiàng)的測試數(shù)據(jù),并根據(jù)所述測試數(shù)據(jù)判斷各功能項(xiàng)是否通過測試,以及統(tǒng)計(jì)對(duì)所述硬盤的一次測試結(jié)果,包括:
24、當(dāng)所述至少一個(gè)功能項(xiàng)包括接口速率測試時(shí),接收所述硬盤反饋的接口速率,判斷所述接口速率是否大于等于預(yù)設(shè)接口速率;如果是,則根據(jù)所述測試數(shù)據(jù)確定硬盤的接口速率測試通過;否則,測試不通過;
25、當(dāng)所述至少一個(gè)功能項(xiàng)包括接口寬度測試時(shí),接收所述硬盤反饋的接口帶寬信息,判斷所述接口帶寬信息是否符合帶寬要求;如果符合,則根據(jù)測試數(shù)據(jù)確定硬盤的接口寬度測試通過;否則,測試不通過;
26、當(dāng)所述至少一個(gè)功能項(xiàng)包括硬盤性能測試時(shí),接收所述硬盤反饋的讀性能指標(biāo),判斷所述讀性能指標(biāo)是否在預(yù)設(shè)指標(biāo)范圍內(nèi);如果是,則根據(jù)測試數(shù)據(jù)確定硬盤性能測試通過;否則,測試不通過;
27、當(dāng)所述至少一個(gè)功能項(xiàng)包括接口速率測試、接口寬度測試和硬盤性能測試中的兩種或兩種以上時(shí),根據(jù)接收的所述硬盤的接口速率、所述接口帶寬信息和所述讀性能指標(biāo)中的兩種或兩種參數(shù),判斷所述接口速率測試、所述接口寬度測試和所述硬盤性能測試是否均測試通過;
28、統(tǒng)計(jì)如果均測試通過,則確定所述硬盤的一次測試成功;
29、統(tǒng)計(jì)如果有一項(xiàng)或一項(xiàng)以上測試不通過,則確定所述硬盤的一次測試失敗。
30、結(jié)合第一方面,在又一種可能的實(shí)施方式中,所述方法還包括:
31、根據(jù)所述測試指令中指示的失敗率統(tǒng)計(jì)模式,重復(fù)執(zhí)行n次隨機(jī)數(shù)的選擇和驅(qū)動(dòng)指令的生成過程,并發(fā)送n次驅(qū)動(dòng)指令給所述精密電機(jī),n≥2且為正整數(shù);
32、接收所述硬盤經(jīng)過n次插拔所述目標(biāo)設(shè)備后反饋的n次測試數(shù)據(jù);
33、根據(jù)所述n次測試數(shù)據(jù)判斷每一次測試是否通過,并通過n次測試結(jié)果,將所述n次測試結(jié)果發(fā)送給所述終端設(shè)備。
34、第二方面,本發(fā)明還提供了一種控制電路板,包括:存儲(chǔ)器、處理器和至少一個(gè)接口,其中,所述存儲(chǔ)器、所述處理器和所述至少一個(gè)接口通過總線連接;所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)指令;所述處理器通過執(zhí)行所述計(jì)算機(jī)指令,從而執(zhí)行前述第一方面或第一方面任一實(shí)施方式所述的硬盤熱插拔測試方法;所述至少一個(gè)接口用于連接終端設(shè)備、精密電機(jī)和硬盤。
35、第三方面,本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行前述第一方面或第一方面任一實(shí)施方式所述的硬盤熱插拔測試方法。
36、此外,本發(fā)明提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)指令,計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行上述第一方面或第一方面任一實(shí)施方式所述的硬盤熱插拔測試方法。
37、第四方面,本發(fā)明還提供了一種硬盤熱插拔測試系統(tǒng),其特征在于,所述系統(tǒng)包括:控制電路板、測試支架、硬盤、終端設(shè)備和目標(biāo)設(shè)備,其中,所述控制電路板固定連接在所述測試支架上;所述測試支架上包括:精密電機(jī)、水平運(yùn)動(dòng)桿、水平運(yùn)動(dòng)軸、電機(jī)轉(zhuǎn)動(dòng)軸,旋轉(zhuǎn)運(yùn)動(dòng)桿、轉(zhuǎn)動(dòng)圓盤、旋轉(zhuǎn)運(yùn)動(dòng)軸和旋轉(zhuǎn)運(yùn)動(dòng)桿固定軸;其中所述水平運(yùn)動(dòng)桿的一端連接硬盤的一端;
38、所述終端設(shè)備,用于啟動(dòng)測試,并向所述控制電路板發(fā)送測試指令,所述測試指令中包括硬盤中待測試的至少一個(gè)功能項(xiàng);
39、所述控制電路板,用于接收所述測試指令,解析所述測試指令,并根據(jù)所述測試指令中的內(nèi)容判斷是否啟動(dòng)模擬人工插拔模式;如果是,則在預(yù)設(shè)范圍內(nèi)選擇第一隨機(jī)數(shù),并根據(jù)所述第一隨機(jī)數(shù)、轉(zhuǎn)動(dòng)角和硬盤移動(dòng)距離之間的對(duì)應(yīng)關(guān)系,確定與所述第一隨機(jī)數(shù)相對(duì)應(yīng)的第一轉(zhuǎn)動(dòng)角;生成包含所述第一轉(zhuǎn)動(dòng)角的驅(qū)動(dòng)指令,并將所述驅(qū)動(dòng)指令發(fā)送給所述精密電機(jī);
40、所述精密電機(jī),用于按照所述驅(qū)動(dòng)指令,控制所述水平運(yùn)動(dòng)桿帶動(dòng)硬盤移動(dòng)目標(biāo)距離,將所述硬盤的另一端插入至目標(biāo)設(shè)備;
41、所述硬盤,在插入至所述目標(biāo)設(shè)備后,根據(jù)與所述目標(biāo)設(shè)備的通信和測試,將至少一個(gè)功能項(xiàng)的測試數(shù)據(jù)發(fā)送給所述控制電路板;
42、所述控制電路板,還用于接收所述硬盤反饋的至少一個(gè)功能項(xiàng)的測試數(shù)據(jù),并根據(jù)所述測試數(shù)據(jù)判斷各功能項(xiàng)是否通過測試,以及統(tǒng)計(jì)對(duì)所述硬盤的一次測試結(jié)果;將所述測試結(jié)果發(fā)送給所述終端設(shè)備;
43、所述終端設(shè)備,還用于接收所述控制電路板發(fā)送的所述測試結(jié)果。
44、本發(fā)明提供的硬盤熱插拔測試方法、裝置、控制電路板及系統(tǒng),由控制電路板生成包含轉(zhuǎn)動(dòng)角的驅(qū)動(dòng)指令,從而控制測試支架上的水平運(yùn)動(dòng)桿帶動(dòng)硬盤移動(dòng),將硬盤的另一端插入至目標(biāo)設(shè)備,從而實(shí)現(xiàn)硬盤插拔的自動(dòng)化,代替人工熱插拔測試。
45、另外,由于生成的驅(qū)動(dòng)指令是在預(yù)設(shè)范圍內(nèi)選擇的隨機(jī)數(shù)生成,所以驅(qū)動(dòng)硬盤的移動(dòng)進(jìn)程也具有隨機(jī)性,按照該每次隨機(jī)數(shù)生成驅(qū)動(dòng)指令的方法,能夠模擬人工插拔測試的各種特性,使得測試結(jié)果更貼近硬盤的實(shí)際硬盤場景,提高了測試準(zhǔn)確度。