專利名稱:能夠自測pcie接口的存儲系統(tǒng)及測試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及總線測試領(lǐng)域,特別是涉及一種能夠自測PCIE接口的存儲系統(tǒng)及測試方法。
背景技術(shù):
存儲系統(tǒng)是計算機(jī)中由存放程序和數(shù)據(jù)的各種存儲設(shè)備、控制部件及管理信息調(diào)度的設(shè)備(硬件)和算法(軟件)所組成的系統(tǒng)。隨著互聯(lián)網(wǎng)應(yīng)用的發(fā)展,應(yīng)用對存儲系統(tǒng)的性能要求越來越高,其中外部設(shè)備互聯(lián)高速總線接口(PCIE)是存儲系統(tǒng)與外部設(shè)備進(jìn)行數(shù)據(jù)交互的途徑,因此PCIE接口與相關(guān)硬件的匹配度或各自的性能好壞能夠反映存儲系統(tǒng)的性能高低,因此,存儲系統(tǒng)在設(shè)計完成后,通常要進(jìn)行基于PCIE的測試。目前的測試設(shè)備主要包括:數(shù)據(jù)發(fā)生器和測試分析儀,由數(shù)據(jù)發(fā)生器向存儲系統(tǒng)的PCIE接口產(chǎn)生大量數(shù)據(jù),由測試分析儀來抓取PCIE接口的數(shù)據(jù),再對所抓取的數(shù)據(jù)進(jìn)行分析,以提供圖形并茂的分析結(jié)果。上述測試設(shè)備的硬件結(jié)構(gòu)復(fù)雜、價格昂貴,還需要對存儲系統(tǒng)進(jìn)行開箱測試,這使得測試過程十分復(fù)雜。對于低成本的、簡化的存儲系統(tǒng)來說,使用這類測試設(shè)備會增加存儲系統(tǒng)的整體成本。因此,需要對現(xiàn)有的存儲系統(tǒng)進(jìn)行改進(jìn)。
發(fā)明內(nèi)容
鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種能夠自測PCIE接口的存儲系統(tǒng)及測試方法,用于解決現(xiàn)有技術(shù)中的存儲系統(tǒng)的測試過于復(fù)雜的問題。為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種能夠自測PCIE接口的存儲系統(tǒng),其至少包括:多個DMA內(nèi)存單元,用于存儲用于測試的數(shù)據(jù);與所述DMA內(nèi)存單元連接的數(shù)據(jù)處理單元,用于通過PCIE接口使所述存儲系統(tǒng)中的存儲控制單元與所述DMA內(nèi)存單元進(jìn)行至少一次預(yù)設(shè)數(shù)量的數(shù)據(jù)傳輸,并且在傳輸?shù)倪^程中記錄所產(chǎn)生的傳輸信息,并在傳輸完成所產(chǎn)生的中斷或傳輸過程中因出現(xiàn)錯誤所產(chǎn)生的中斷期間,將所述傳輸信息予以輸出;測試單元,用于根據(jù)所述數(shù)據(jù)處理單元所輸出的傳輸信息分析所述PCIE接口的至少一種性能。優(yōu)選地,所述DMA內(nèi)存單元為入棧循環(huán)隊(duì)列,用于循環(huán)存儲多個數(shù)據(jù)。優(yōu)選地,所述數(shù)據(jù)處理單元用于在預(yù)設(shè)的中斷產(chǎn)生時,將所記錄的傳輸信息發(fā)送至所述測試單元。優(yōu)選地,所述數(shù)據(jù)處理單元用于在每次傳輸完成后所產(chǎn)生的中斷或傳輸過程中每次出現(xiàn)錯誤時所產(chǎn)生的中斷期間,將新記錄的傳輸信息提供給所述測試單元。優(yōu)選地,所述傳輸信息包括:包含每個數(shù)據(jù)的數(shù)據(jù)量、傳輸所有數(shù)據(jù)所消耗的時間、所傳輸數(shù)據(jù)的數(shù)量的數(shù)據(jù)信息、和/或所述數(shù)據(jù)處理單元在傳輸數(shù)據(jù)的過程中出現(xiàn)錯誤的錯誤信息。優(yōu)選地,所述數(shù)據(jù)處理單元包括:多核處理器、DMA控制器、及寄存器,其中,所述寄存器用于存儲在傳輸數(shù)據(jù)的過程中產(chǎn)生的錯誤信息。優(yōu)選地,所述PCIE接口的性能包括:PCIE接口的帶寬、延時,穩(wěn)定性中的至少一種?;谏鲜瞿康?,本發(fā)明還提供一種測試PCIE接口性能的方法,應(yīng)用于具有PCIE接口的存儲系統(tǒng)中,所述存儲系統(tǒng)包括=DMA內(nèi)存單元、PCIE接口、以及與PCIE接口連接的存儲控制單元,其至少包括:1)使所述存儲控制單元與所述DMA內(nèi)存單元通過PCIE接口進(jìn)行至少一次預(yù)設(shè)數(shù)量的數(shù)據(jù)傳輸,并且在傳輸?shù)倪^程中記錄所產(chǎn)生的傳輸信息;2)在傳輸完成而產(chǎn)生的中斷或傳輸過程中因出現(xiàn)錯誤而產(chǎn)生的中斷期間,將所述傳輸信息予以保存;3)根據(jù)所保存的傳輸信息分析所述PCIE接口的至少一種性能。優(yōu)選地,在傳輸完成而產(chǎn)生的中斷或傳輸過程中因出現(xiàn)錯誤而產(chǎn)生的中斷期間,將所述傳輸信息予以保存的步驟還包 括:在預(yù)設(shè)的中斷產(chǎn)生時,將所記錄的傳輸信息發(fā)予以保存的步驟。優(yōu)選地,在傳輸完成而產(chǎn)生的中斷或傳輸過程中因出現(xiàn)錯誤而產(chǎn)生的中斷期間,將所述傳輸信息予以保存的步驟還包括:在每次傳輸完成后所產(chǎn)生的中斷或傳輸過程中每次出現(xiàn)錯誤時所產(chǎn)生的中斷期間,將新記錄的傳輸信息予以保存的步驟。優(yōu)選地,所述傳輸信息包括:包含每個數(shù)據(jù)的數(shù)據(jù)量、傳輸所有數(shù)據(jù)所消耗的時間、所傳輸數(shù)據(jù)的數(shù)量的數(shù)據(jù)信息、和/或所述數(shù)據(jù)處理單元在傳輸數(shù)據(jù)的過程中出現(xiàn)錯誤的錯誤信息。優(yōu)選地,所述PCIE接口的性能包括:PCIE接口的帶寬、延時,穩(wěn)定性中的至少一種。如上所述,本發(fā)明的能夠自測PCIE接口的存儲系統(tǒng)及測試方法,具有以下有益效果:通過軟件方式在PCIE接口上產(chǎn)生大量測試數(shù)據(jù),較現(xiàn)有技術(shù)中,減少了用于數(shù)據(jù)產(chǎn)生的硬件設(shè)備,可有效降低測試裝置的成本;同時,利用在傳輸完成或傳輸出現(xiàn)錯誤時產(chǎn)生的中斷將所記錄的傳輸信息輸至測試單元,能夠準(zhǔn)實(shí)時地將所記錄的傳輸信息提供給測試單元,以供測試單元及時得到測試結(jié)果;另外,在每次中斷產(chǎn)生時發(fā)送傳輸信息能夠有效減少如寄存器等硬件的數(shù)量,并且由于每次中斷時所傳輸?shù)膫鬏斝畔⒌臄?shù)據(jù)量很小,能夠減少傳送傳輸信息所消耗的時間對在整個傳輸過程所消耗的時間的影響,使得測試結(jié)果更為準(zhǔn)確。
圖1顯示為本發(fā)明的能夠自測PCIE接口的存儲系統(tǒng)的結(jié)構(gòu)示意圖。圖2顯示為本發(fā)明的測試PCIE接口的方法的流程圖。元件標(biāo)號說明I存儲系統(tǒng)11DMA內(nèi)存單元12數(shù)據(jù)處理單元13測試單元14PCIE 接口15存儲控制單元
S1-S3 步驟
具體實(shí)施例方式以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的具體實(shí)施方式
加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。請參閱圖1。需要說明的是,本實(shí)施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。本發(fā)明提供一種能夠自測PCIE接口的存儲系統(tǒng)。所述存儲系統(tǒng)為用于數(shù)據(jù)備份或容災(zāi)的專用信息系統(tǒng),可利用高速網(wǎng)絡(luò)進(jìn)行大數(shù)據(jù)量存儲信息的設(shè)備。如圖1所示。所述存儲系統(tǒng)I包括:PCIE接口 14、與所述PCIE接口連接的存儲控制單元15。其中,所述存儲控制單元15通常指存儲控制芯片(SAS控制芯片)等,在存儲系統(tǒng)中處于核心地位。所述存儲系統(tǒng)I還包括:DMA內(nèi)存單元11、數(shù)據(jù)處理單元12、測試單元13。所述DMA內(nèi)存單元11為多個,用于存儲測試數(shù)據(jù)。具體地,所述DMA內(nèi)存單元11以隊(duì)列或堆棧等形式存放一個或多個數(shù)據(jù),每個數(shù)據(jù)的數(shù)據(jù)量可以相同也可以不同。優(yōu)選地,所述DMA內(nèi)存單元11為入棧循環(huán)隊(duì)列,用于循環(huán)存儲多個數(shù)據(jù),例如,所述入棧循環(huán)隊(duì)列的內(nèi)存為2MB,每個數(shù)據(jù)的數(shù)據(jù)量最大限于27字節(jié),則所述入棧循環(huán)隊(duì)列能夠以214為一個循環(huán)來存儲所述數(shù)據(jù)。所述DMA內(nèi)存單元11的數(shù)量可根據(jù)PCIE接口 14的位寬和測試的次數(shù)進(jìn)行選擇,例如,待測試的PCIE接口 14位寬為X8,為了滿足多次傳輸?shù)臏y試要求,所述DMA內(nèi)存單元11的數(shù)量可選擇64個,且每個DMA內(nèi)存單元11可提供2MB內(nèi)存。所述數(shù)據(jù)處理單元12與所述DMA內(nèi)存單元11連接,用于通過PCIE接口 14使所述存儲系統(tǒng)I中的存儲控制單元15與所述DMA內(nèi)存單元11之間進(jìn)行至少一次預(yù)設(shè)數(shù)量的數(shù)據(jù)傳輸,并且在傳輸?shù)倪^程中記錄所產(chǎn)生的傳輸信息,并在傳輸完成所產(chǎn)生的中斷或傳輸過程中因出現(xiàn)錯誤所產(chǎn)生的中斷期間,將所述傳輸信息予以輸出。其中,所述傳輸信息包括任何通過PCIE接口 14進(jìn)行數(shù)據(jù)傳輸時產(chǎn)生的信息,其包括但不限于:包含每個數(shù)據(jù)的數(shù)據(jù)量、傳輸所有數(shù)據(jù)所消耗的時間、所傳輸數(shù)據(jù)的數(shù)量的數(shù)據(jù)信息、和/或所述數(shù)據(jù)處理單元12在傳輸數(shù)據(jù)的過程中出現(xiàn)錯誤的錯誤信息。所述數(shù)據(jù)處理單元12的硬件優(yōu)選包含多核處理器、DMA控制器的電路板或芯片,所述數(shù)據(jù)處理單元12還包括寄存器。其中,所述寄存器位于所述存儲控制單元15 —側(cè),用于存儲在傳輸數(shù)據(jù)的過程中產(chǎn)生的錯誤信息,所述寄存器的數(shù)量可以是一個也可以是多個。具體地,所述數(shù)據(jù)處理單元12根據(jù)預(yù)設(shè)的傳輸次數(shù)將所述存儲控制單元15通過所述PCIE接口 14傳來的預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入至少一個所述DMA內(nèi)存單元11,并記錄每一次傳輸過程中所產(chǎn)生的傳輸信息,在一次傳輸完成或傳輸出現(xiàn)錯誤時產(chǎn)生中斷,則所述數(shù)據(jù)處理單元12在預(yù)設(shè)的中斷產(chǎn)生時將所記錄的傳輸信息提供給所述測試單元13,再繼續(xù)新一次傳輸或繼續(xù)未完成的傳輸。其中,所述數(shù)據(jù)處理單元12與所述DMA內(nèi)存單元11采用DMA方式進(jìn)行讀/寫操作。優(yōu)選地,由于讀取DMA內(nèi)存單元的速度快于寫入DMA內(nèi)存單元的速度,為了減少DMA內(nèi)存單元的讀寫操作對PCIE接口性能測試的干擾,所述數(shù)據(jù)處理單元12從至少一個所述DMA內(nèi)存單元11中讀取預(yù)設(shè)數(shù)量的數(shù)據(jù),并通過PCIE接口 14發(fā)送給存儲控制單元15,并記錄每一次傳輸過程中所產(chǎn)生的傳輸信息,以及在預(yù)設(shè)的中斷產(chǎn)生時,將所記錄的傳輸信息發(fā)送至所述測試單元13。例如,預(yù)設(shè)兩次讀取傳輸操作,并在第二次傳輸完成時輸出所產(chǎn)生的中斷期間輸出所記錄的傳輸信息,則所述數(shù)據(jù)處理單元12第一次讀取傳輸操作為:所述數(shù)據(jù)處理單元12通過DMA方式從所連接的各DMA內(nèi)存單元11中讀取預(yù)設(shè)數(shù)量的數(shù)據(jù),并將所讀取的數(shù)據(jù)通過PCIE接口 14發(fā)送至所述存儲控制單元15,與此同時,所述數(shù)據(jù)處理單元12記錄每一個數(shù)據(jù)的數(shù)據(jù)量,以及本次傳輸?shù)臄?shù)據(jù)的數(shù)量等傳輸信息,在第一次傳輸完成時,產(chǎn)生中斷,再解除中斷進(jìn)行第二次讀取傳輸操作:所述數(shù)據(jù)處理單元12繼續(xù)從所連接的各DMA內(nèi)存單元11中讀取預(yù)設(shè)數(shù)量的數(shù)據(jù),并將所讀取的數(shù)據(jù)通過PCIE接口 14發(fā)送至所述存儲控制單元15,,并繼續(xù)記錄第二次傳輸過程中傳輸信息,在第二次傳輸完成時產(chǎn)生中斷期間,將所記錄的兩次傳輸 的傳輸信息予以輸出。更為優(yōu)選地,所述數(shù)據(jù)處理單元12基于每次中斷將新記錄的傳輸信息提供給所述測試單元13。例如,所述數(shù)據(jù)處理單元12在第一次傳輸完成時產(chǎn)生第一個中斷,則基于所述第一個中斷將第一次傳輸過程中的數(shù)據(jù)的數(shù)量、每個數(shù)據(jù)的數(shù)據(jù)量、本次傳輸完成所花費(fèi)的時間等傳輸信息提供給所述測試單元13,接著,所述數(shù)據(jù)處理單元12開始第二次傳輸,并因出現(xiàn)錯誤產(chǎn)生第二個中斷,則基于第二個中斷將第二次傳輸成功的數(shù)據(jù)的數(shù)量、傳輸成功的每個數(shù)據(jù)的數(shù)據(jù)量、及錯誤信息等傳輸信息提供給所述測試單元13。所述測試單元13用于根據(jù)所述數(shù)據(jù)處理單元12所輸出的傳輸信息,來測試所述PCIE接口 14的至少一種性能。其中,所述PCIE接口 14的性能包括但不限于:PCIE接口的帶寬、延時和穩(wěn)定性等。具體地,所述測試單元13根據(jù)所接收到的各數(shù)據(jù)的數(shù)據(jù)量、所有數(shù)據(jù)的數(shù)量以及每次傳輸所消耗的時間來計算單位時間所傳輸?shù)臄?shù)據(jù)量,由此來測試PCIE接口的帶寬 ’另夕卜,所述測試單元13還將所接收到的錯誤信息的數(shù)量與預(yù)設(shè)的閾值進(jìn)行比較,當(dāng)所述錯誤信息的數(shù)量大于閾值,則認(rèn)定所述PCIE接口的不穩(wěn)定。例如,所述測試單元13所接收到的傳輸信息為一次完整傳輸?shù)挠涗?,則根據(jù)所述傳輸信息進(jìn)行數(shù)據(jù)量、消耗時間的計算,以得到PCIE接口 14的流量性能的測試結(jié)果。又如,所述數(shù)據(jù)處理單元12在所有數(shù)據(jù)傳輸完成之前的每次中斷期間,將所記錄的新的傳輸信息輸至所述測試單元13,則待所有數(shù)據(jù)傳輸結(jié)束后,所述測試單元13根據(jù)所接收到多組傳輸信息中的所有數(shù)據(jù)的數(shù)據(jù)量、所有數(shù)據(jù)的數(shù)量以及每次傳輸所消耗的時間來計算單位時間所傳輸?shù)臄?shù)據(jù)量,由此來測試PCIE接口的帶寬,并將所接收到的多次傳輸信息中的錯誤信息的數(shù)量與閾值進(jìn)行比較,當(dāng)所述錯誤信息的數(shù)量大于閾值,則認(rèn)定所述PCIE接口的不穩(wěn)定。所述存儲系統(tǒng)I的工作過程舉例如下:
所述數(shù)據(jù)處理單元12利用DMA方式從所連接的每個DMA內(nèi)存單元11中讀取一個數(shù)據(jù),并將所讀取的數(shù)據(jù)通過PCIE接口 14發(fā)至所述存儲控制單元15,以完成一次數(shù)據(jù)傳輸,當(dāng)本次數(shù)據(jù)傳輸完成或產(chǎn)生錯誤信息時,所述數(shù)據(jù)處理單元12產(chǎn)生中斷,并基于所述中斷將所記錄的傳輸信息輸至測試單元13,再繼續(xù)啟動新一次數(shù)據(jù)傳輸或繼續(xù)該次數(shù)據(jù)傳輸,如此重復(fù)直至達(dá)到預(yù)設(shè)的傳輸次數(shù),所述測試單元13在接收到所述數(shù)據(jù)處理單元12輸至的最后一組傳輸信息后,對所有的傳輸信息進(jìn)行分析,若包含錯誤信息,則根據(jù)錯誤信息的類型和數(shù)量,來確定PCIE接口是否穩(wěn)定,若不包含錯誤信息,則根據(jù)每個數(shù)據(jù)的數(shù)據(jù)量、所有數(shù)據(jù)的數(shù)量以及消耗時間等測定所述PCIE接口 14的帶寬。如圖2所示,本發(fā)明還提供一種測試PCIE接口性能的方法。所述測試方法主要由測試系統(tǒng)來執(zhí)行,所述測試系統(tǒng)為安裝在存儲系統(tǒng)中的應(yīng)用。其中,所述存儲系統(tǒng)包括:DMA內(nèi)存單元、PCIE接口、以及與PCIE接口連接的存儲控制單元。步驟SI,所述測試系統(tǒng)使所述存儲控制單元與所述DMA內(nèi)存單元通過PCIE接口進(jìn)行至少一次預(yù)設(shè)數(shù)量的數(shù)據(jù)傳輸,并且在傳輸?shù)倪^程中記錄所產(chǎn)生的傳輸信息。其中,所述傳輸信息包括但不限于:包含每個數(shù)據(jù)的數(shù)據(jù)量、傳輸所有數(shù)據(jù)所消耗的時間、所傳輸數(shù)據(jù)的數(shù)量的數(shù)據(jù)信息、和/或所述數(shù)據(jù)處理單元在傳輸數(shù)據(jù)的過程中出現(xiàn)錯誤的錯誤信息。具體地,所述測試系統(tǒng)根據(jù)預(yù)設(shè)的傳輸次數(shù)使所述存儲控制單元通過所述PCIE接口傳來的預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入至少一個所述DMA內(nèi)存單元中,并記錄每一次傳輸過程中所產(chǎn)生的傳輸信息。優(yōu)選地,由于讀取DMA內(nèi)存單元的速度快于寫入DMA內(nèi)存單元的速度,為了減少DMA內(nèi)存單元的讀寫操作對PCIE接口性能測試的干擾,所述測試系統(tǒng)從至少一個所述DMA內(nèi)存單元中讀取預(yù)設(shè)數(shù)量的數(shù)據(jù),并通過PCIE接口發(fā)送給存儲控制單元,并記錄每一次傳輸過程中所產(chǎn)生的傳輸信息。在每一次傳輸完成或一次傳輸過程中出現(xiàn)錯誤時產(chǎn)生中斷,所述測試系統(tǒng)在預(yù)設(shè)的中斷期間執(zhí)行步驟S2。在步驟S2中,所述測試系統(tǒng)在傳輸完成而產(chǎn)生的中斷或傳輸過程中因出現(xiàn)錯誤而產(chǎn)生的中斷期間,將所述傳輸信息予以保存。具體地,所述測試系統(tǒng)在每一次傳輸完成或傳保存現(xiàn)錯誤時都會產(chǎn)生中斷,所述測試系統(tǒng)可以在預(yù)設(shè)的中斷產(chǎn)生時將所記錄的傳輸信息予以保存,保存后再繼續(xù)新一次傳輸或繼續(xù)未完成的傳輸或直接進(jìn)入步驟S3。例如,預(yù)設(shè)兩次讀取傳輸操作,并在第二次傳輸完成時輸出所產(chǎn)生的中斷期間輸出所記錄的傳輸信息,則所述測試系統(tǒng)第一次讀取傳輸操作為:通過DMA方式讀取各DMA內(nèi)存單元中所存儲的預(yù)設(shè)數(shù)量A的數(shù)據(jù),并將所讀取的數(shù)據(jù)通過PCIE接口發(fā)送至所述存儲控制單元,與此同時,所述測試系統(tǒng)記錄每一個數(shù)據(jù)的數(shù)據(jù)量,以及本次傳輸?shù)臄?shù)據(jù)的數(shù)量等傳輸信息,在第一次傳輸完成時,產(chǎn)生中斷,并解除中斷進(jìn)行第二次讀取傳輸操作:所述測試系統(tǒng)繼續(xù)通過DMA方式讀取各DMA內(nèi)存單元中的預(yù)設(shè)數(shù)量B數(shù)據(jù),并將所讀取的數(shù)據(jù)通過PCIE接口發(fā)送至所述存儲控制單元,并繼續(xù)記錄第二次傳輸過程中傳輸信息,在第二次傳輸完成時產(chǎn)生的中斷期間,將所記錄的兩次傳輸?shù)膫鬏斝畔⒂枰员4娌⑦M(jìn)入步驟S3。優(yōu)選地,所述步驟S2包括:所述測試系統(tǒng)基于每次中斷將新記錄的傳輸信息予以保存的步驟。
例如,所述測試系統(tǒng)在第一次傳輸完成時產(chǎn)生第一個中斷,則基于所述第一個中斷將第一次傳輸過程中的數(shù)據(jù)的數(shù)量、每個數(shù)據(jù)的數(shù)據(jù)量、本次傳輸完成所花費(fèi)的時間等傳輸信息予以保存,接著,所述測試系統(tǒng)開始第二次傳輸,并因出現(xiàn)錯誤產(chǎn)生第二個中斷,則基于第二個中斷將第二次傳輸成功的數(shù)據(jù)的數(shù)量、傳輸成功的每個數(shù)據(jù)的數(shù)據(jù)量、及錯誤信息等傳輸信息予以保存。在步驟S3中,所述測試系統(tǒng)根據(jù)所保存的傳輸信息測試所述PCIE接口的至少一種性能。其中,所述PCIE接口的性能包括但不限于:PCIE接口的帶寬、延時和穩(wěn)定性等。具體地,所述測試系統(tǒng)根據(jù)所接收到的各數(shù)據(jù)的數(shù)據(jù)量、所有數(shù)據(jù)的數(shù)量以及每次傳輸所消耗的時間來計算單位時間所傳輸?shù)臄?shù)據(jù)量,由此來測試PCIE接口的帶寬 ’另外,所述測試系統(tǒng)還將所接收到的錯誤信息的數(shù)量與預(yù)設(shè)的閾值進(jìn)行比較,當(dāng)所述錯誤信息的數(shù)量大于閾 值,則認(rèn)定所述PCIE接口的不穩(wěn)定。例如,所述測試系統(tǒng)所接收到的傳輸信息為一次完整傳輸?shù)挠涗洠瑒t根據(jù)所述傳輸信息進(jìn)行數(shù)據(jù)量、消耗時間的計算,以得到PCIE接口的流量性能的測試結(jié)果。又如,所述測試系統(tǒng)在所有數(shù)據(jù)傳輸完成之間的每次中斷期間保存所記錄的傳輸信息,并待所有數(shù)據(jù)傳輸結(jié)束后,根據(jù)所接收到多組傳輸信息中的所有數(shù)據(jù)的數(shù)據(jù)量、所有數(shù)據(jù)的數(shù)量以及每次傳輸所消耗的時間來計算單位時間所傳輸?shù)臄?shù)據(jù)量,由此來測試PCIE接口的帶寬,并將所接收到的多姿傳輸信息中的錯誤信息的數(shù)量與閾值進(jìn)行比較,當(dāng)所述錯誤信息的數(shù)量大于閾值,則認(rèn)定所述PCIE接口的不穩(wěn)定。綜上所述,本發(fā)明的能夠自測PCIE接口的存儲系統(tǒng)及測試方法,通過軟件方式在PCIE接口上產(chǎn)生大量測試數(shù)據(jù),較現(xiàn)有技術(shù)中,減少了用于數(shù)據(jù)產(chǎn)生的硬件設(shè)備,可有效降低測試裝置的成本;同時,利用在傳輸完成或傳輸出現(xiàn)錯誤時產(chǎn)生的中斷將所記錄的傳輸信息輸至測試單元,能夠準(zhǔn)實(shí)時地將所記錄的傳輸信息提供給測試單元,以供測試單元及時得到測試結(jié)果;另外,在每次中斷產(chǎn)生時發(fā)送傳輸信息能夠有效減少如寄存器等硬件的數(shù)量,并且由于每次中斷時所傳輸?shù)膫鬏斝畔⒌臄?shù)據(jù)量很小,能夠減少傳送傳輸信息所消耗的時間對在整個傳輸過程所消耗的時間的影響,使得測試結(jié)果更為準(zhǔn)確;另外,從每個DMA內(nèi)存單元讀取一個數(shù)據(jù)并傳輸至存儲控制單元,能夠快速在PCIE總線上產(chǎn)生大量數(shù)據(jù);此外,利用DMA讀取方式,能夠盡可能降低處理器對測試的影響,并以高的讀取速度來確保在PCIE接口上同時產(chǎn)生大量的數(shù)據(jù);同時,本發(fā)明利用存儲系統(tǒng)中的部分硬件單元,并未增加過多的硬件成本;此外,利用多核處理器能夠在PCIE接口上并發(fā)大量的數(shù)據(jù),使PCIE總線上有很高的流量,如此能夠達(dá)到對PCIE接口進(jìn)行性能測試的目的。所以,本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點(diǎn)而具高度產(chǎn)業(yè)利用價值。上述實(shí)施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實(shí)施例進(jìn)行修飾或改變。因此,舉凡所屬技術(shù)領(lǐng)域中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。
權(quán)利要求
1.一種能夠自測PCIE接口的存儲系統(tǒng),其特征在于,至少包括: 多個DMA內(nèi)存單元,用于存儲用于測試的數(shù)據(jù); 與所述DMA內(nèi)存單元連接的數(shù)據(jù)處理單元,通過PCIE接口,使所述存儲系統(tǒng)中的存儲控制單元與所述DMA內(nèi)存單元進(jìn)行至少一次預(yù)設(shè)數(shù)量的數(shù)據(jù)傳輸,并且在傳輸?shù)倪^程中記錄所產(chǎn)生的傳輸信息,并在傳輸完成所產(chǎn)生的中斷或傳輸過程中因出現(xiàn)錯誤所產(chǎn)生的中斷期間,將所述傳輸信息予以輸出; 測試單元,用于依據(jù)所述數(shù)據(jù)處理單元所輸出的傳輸信息分析所述PCIE接口的至少一種性能。
2.根據(jù)權(quán)利要求1所述的能夠自測PCIE接口的存儲系統(tǒng),其特征在于,所述DMA內(nèi)存單元為入棧循環(huán)隊(duì)列,用于循環(huán)存儲多個數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的能夠自測PCIE接口的存儲系統(tǒng),其特征在于,所述數(shù)據(jù)處理單元用于在預(yù)設(shè)的中斷產(chǎn)生時,將所記錄的傳輸信息發(fā)送至所述測試單元。
4.根據(jù)權(quán)利要求1所述的能夠自測PCIE接口的存儲系統(tǒng),其特征在于,所述數(shù)據(jù)處理單元用于在每次傳輸完成后所產(chǎn)生的中斷或傳輸過程中每次出現(xiàn)錯誤時所產(chǎn)生的中斷期間,將新記錄的傳輸信息提供給所述測試單元。
5.根據(jù)權(quán)利要求1所述的能夠自測PCIE接口的存儲系統(tǒng),其特征在于,所述傳輸信息包括:包括每個數(shù)據(jù)的數(shù)據(jù)量、傳輸所有數(shù)據(jù)所消耗的時間和所傳輸數(shù)據(jù)的數(shù)量的數(shù)據(jù)信息、和/或所述數(shù)據(jù)處理單元在傳輸數(shù)據(jù)的過程中出現(xiàn)錯誤的錯誤信息。
6.根據(jù)權(quán)利要求5所述的能夠自測PCIE接口的存儲系統(tǒng),其特征在于,所述數(shù)據(jù)處理單元包括:多核處理器、DMA控制器及寄存器,其中,所述寄存器用于存儲在傳輸數(shù)據(jù)的過程中產(chǎn)生的錯誤信息。
7.根據(jù)權(quán)利要求1所述的能夠自測PCIE接口的存儲系統(tǒng),其特征在于,所述PCIE接口的性能包括=PCIE接口的帶寬、延時、穩(wěn)定性中的至少一種。
8.—種測試PCIE接口性能的方法,應(yīng)用于具有PCIE接口的存儲系統(tǒng)中,所述存儲系統(tǒng)包括:DMA內(nèi)存單元、PCIE接口、以及與PCIE接口連接的存儲控制單元,其特征在于,至少包括: 使所述存儲控制單元與所述DMA內(nèi)存單元通過PCIE接口進(jìn)行至少一次預(yù)設(shè)數(shù)量的數(shù)據(jù)傳輸,并且在傳輸?shù)倪^程中記錄所產(chǎn)生的傳輸信息; 在傳輸完成而產(chǎn)生的中斷或傳輸過程中因出現(xiàn)錯誤而產(chǎn)生的中斷期間,將所述傳輸信息予以保存; 根據(jù)所保存的傳輸信息測試所述PCIE接口的至少一種性能。
9.根據(jù)權(quán)利要求8所述的測試PCIE接口性能的方法,其特征在于,在傳輸完成而產(chǎn)生的中斷或傳輸過程中因出現(xiàn)錯誤而產(chǎn)生的中斷期間,將所述傳輸信息予以保存的步驟還包括:在預(yù)設(shè)的中斷產(chǎn)生時,將所記錄的傳輸信息發(fā)予以保存的步驟。
10.根據(jù)權(quán)利要求8所述的測試PCIE接口性能的方法,其特征在于,在傳輸完成而產(chǎn)生的中斷或傳輸過程中因出現(xiàn)錯誤而產(chǎn)生的中斷期間,將所述傳輸信息予以保存的步驟還包括:在每次傳輸完成后所產(chǎn)生的中斷或傳輸過程中每次出現(xiàn)錯誤時所產(chǎn)生的中斷期間,將新記錄的傳輸信息予以保存的步驟。
11.根據(jù)權(quán)利要求8所述的測試PCIE接口性能的方法,其特征在于,所述傳輸信息包括:包含每個數(shù)據(jù)的數(shù)據(jù)量、傳輸所有數(shù)據(jù)所消耗的時間、所傳輸數(shù)據(jù)的數(shù)量的數(shù)據(jù)信息、和/或所述數(shù)據(jù)處理單元在傳輸數(shù)據(jù)的過程中出現(xiàn)錯誤的錯誤信息。
12.根據(jù)權(quán)利要求8所述的測試PCIE接口性能的方法,其特征在于,所述PCIE接口的性能包括=PCIE接口的帶寬、延時、穩(wěn)定性中的至少一種。
全文摘要
本發(fā)明提供一種能夠自測PCIE接口的存儲系統(tǒng)及測試方法。本發(fā)明所述存儲系統(tǒng),包括多個DMA內(nèi)存單元,用于存儲測試數(shù)據(jù);與所述DMA內(nèi)存單元連接的數(shù)據(jù)處理單元,通過PCIE接口,使所述存儲系統(tǒng)中的存儲控制單元與所述DMA內(nèi)存單元進(jìn)行至少一次預(yù)設(shè)數(shù)量的數(shù)據(jù)傳輸,并且在傳輸?shù)倪^程中記錄所產(chǎn)生的傳輸信息,并在傳輸完成所產(chǎn)生的中斷或傳輸過程中因出現(xiàn)錯誤所產(chǎn)生的中斷期間,將所述傳輸信息予以輸出;測試單元,依據(jù)所述數(shù)據(jù)處理單元所輸出的傳輸信息分析所述PCIE接口的至少一種性能。
文檔編號G06F11/22GK103198001SQ201310147830
公開日2013年7月10日 申請日期2013年4月25日 優(yōu)先權(quán)日2013年4月25日
發(fā)明者何學(xué)勤 申請人:加弘科技咨詢(上海)有限公司