上圖是eBird的產(chǎn)品外觀,這是一個(gè)四口的設(shè)備,說它可以同時(shí)對(duì)四臺(tái)機(jī)器進(jìn)行測(cè)試。
測(cè)試設(shè)備和測(cè)試機(jī)之間通過網(wǎng)絡(luò)連接,分布式的連接方式使我們的終端非常靈活,用戶可以選擇服務(wù)器、臺(tái)式機(jī)或者筆記本電腦進(jìn)行測(cè)試。
測(cè)試設(shè)備通過網(wǎng)絡(luò)把測(cè)試內(nèi)容發(fā)放到測(cè)試機(jī)上,然后,在測(cè)試機(jī)本地進(jìn)行測(cè)試,測(cè)試系統(tǒng)支持Windows、Linux和國產(chǎn)OS,這些配置和連接方式使用戶能夠構(gòu)建與實(shí)際應(yīng)用場(chǎng)景一致的測(cè)試環(huán)境,使測(cè)試結(jié)果更真實(shí)可信。
eBird是行業(yè)內(nèi)目前已知的,唯一一個(gè)實(shí)現(xiàn)跨平臺(tái)的SSD專業(yè)測(cè)試設(shè)備,也就是說,一套測(cè)試腳本可以跑在多種測(cè)試環(huán)境下,支持PCIe Gen3/Gen4/Gen5的硬件平臺(tái),也可以測(cè)試Windows、Linux或者是國產(chǎn)OS系統(tǒng),既可以是服務(wù)器,也可以是筆記本電腦。
這使得測(cè)試機(jī)的選擇會(huì)非常靈活,終端配置也非常靈活,讓客戶更加貼近實(shí)際應(yīng)用場(chǎng)景,讓測(cè)試更真實(shí)。
上圖是eBird的軟件界面,風(fēng)格簡(jiǎn)單易用,測(cè)試的內(nèi)容都以用例化的形式呈現(xiàn),用戶可以根據(jù)需求去勾選,隨后點(diǎn)擊開始即可進(jìn)行測(cè)試。
協(xié)議級(jí)測(cè)試方面,我們提供了一個(gè)完整的協(xié)議規(guī)范測(cè)試,整套用例都已經(jīng)提供,用戶可以直接選擇測(cè)試用例去跑測(cè)試。
應(yīng)用級(jí)測(cè)試方面,我們從系統(tǒng)應(yīng)用層面設(shè)計(jì)了一些用例,比如性能、校驗(yàn)、壓力、QoS等等測(cè)試可選,勾選之后,點(diǎn)擊“Start”即可進(jìn)行相關(guān)測(cè)試。
界面下半部分的標(biāo)簽顯示著Test-PC1、Test-PC2、Test-PC3、Test-PC4,意味著用戶可以選擇任何四臺(tái)中的一臺(tái)去任何測(cè)試,四臺(tái)相互完全獨(dú)立,相互不干擾,四臺(tái)可以完全并發(fā)地去跑不同的測(cè)試內(nèi)容,比如,一臺(tái)跑協(xié)議測(cè)試,一臺(tái)跑應(yīng)用測(cè)試,一臺(tái)跑掉電測(cè)試,都沒問題。
左邊的側(cè)邊欄是一些常規(guī)的操作按鈕,比如說Smart、identify,以及一些寄存器的操作。寄存器部分,我們開發(fā)了兩個(gè)小工具,可以針對(duì)寄存器操作。
上圖就是控制寄存器的小工具,通過工具界面就能輕松對(duì)寄存器進(jìn)行讀寫,比如,可以指定寫的位置,寫的內(nèi)容,點(diǎn)一個(gè)write,就寫下去了。同時(shí),還可以去做驗(yàn)證,把你要讀的地址寫在這里,你點(diǎn)read,就會(huì)要讀的內(nèi)容呈現(xiàn)出來,該功能在實(shí)際開發(fā)中比較實(shí)用。
這是一個(gè)Command Unit(命令集接口),把所有的NVMe命令以及一些常規(guī)操作,以一個(gè)圖形化的方式進(jìn)行呈現(xiàn)。
比如,可以敲一個(gè)deleteCQ,我們可以隨便指定一個(gè)qid,發(fā)送一個(gè)命令,就實(shí)現(xiàn)了cqid命令的操作。在開發(fā)和調(diào)試中,將給開發(fā)人員和測(cè)試人員提供很多便利,客戶的實(shí)際反饋也比較好。
整機(jī)掉電測(cè)試部分,常說的掉電主要是指對(duì)SSD進(jìn)行掉電,但實(shí)際應(yīng)用中,除了SSD掉電以外,更多真實(shí)場(chǎng)景下,可能是整臺(tái)機(jī)器掉電了,掉電分為異常、正常兩種,但都會(huì)讓SSD和主機(jī)有一個(gè)互動(dòng),完整地走完一個(gè)上電或者下電的流程,這一過程中觸發(fā)一些問題的概率會(huì)比單純讓SSD掉電大得多。
從之前的產(chǎn)品經(jīng)驗(yàn)來看,我們?cè)谡麢C(jī)掉電的地方,確實(shí)發(fā)現(xiàn)了很多很多的關(guān)于recovery(恢復(fù)),還有一些數(shù)據(jù)一致性等問題。在實(shí)際過程中,我們可以把正常、異常,還有盤的形態(tài),比如說主盤從盤,做一個(gè)組合,可以羅列任何你想要測(cè)試的組合,同時(shí),可以去選擇是否做填盤,做不做數(shù)據(jù)校驗(yàn)。
比如,用戶可以設(shè)置testloops為1000次,設(shè)置每次讀寫的時(shí)間,然后點(diǎn)擊“start”就可以讓這個(gè)測(cè)試跑起來了。
另外,這里也提供了Host和測(cè)試機(jī)交互的接口,測(cè)試設(shè)備可以去detect測(cè)試機(jī)的信息,一旦遇到異常,系統(tǒng)就會(huì)讓它停下來,保留現(xiàn)場(chǎng)給開發(fā)人員去調(diào)試。
eBird內(nèi)容主要就是NVMe協(xié)議級(jí)別、應(yīng)用級(jí)別、SSD整機(jī)掉電以及PCIe Link級(jí)別和開發(fā)級(jí)別等,能提供整套測(cè)試框架和接口,eBird以一個(gè)產(chǎn)品化的平臺(tái)基本上涵蓋了SSD所有要測(cè)的東西。
我們的產(chǎn)品化經(jīng)驗(yàn)非常豐富,也非常了解容易發(fā)現(xiàn)問題的地方,我們以一個(gè)測(cè)試用例的形式進(jìn)行提供,這樣也使得這個(gè)測(cè)試用例更具有實(shí)用性和高效性。
這是測(cè)試內(nèi)容列表,比如說協(xié)議級(jí)的測(cè)試,會(huì)提供一個(gè)常規(guī)的NVMe協(xié)議的覆蓋,也會(huì)提供些feature的測(cè)試,寄存器的測(cè)試等等,這部分可以通過進(jìn)一步的資料去了解。
PCIe Link層,我們有一個(gè)測(cè)試套件,可以幫助大家對(duì)Hot-reset、Link_reset,還有Speed相關(guān)內(nèi)容進(jìn)行測(cè)試,能用于測(cè)試SSD和主板的兼容性問題。
NVMe應(yīng)用級(jí)測(cè)試,從系統(tǒng)應(yīng)用層面來看,一個(gè)SSD要進(jìn)行哪些測(cè)試,比如說性能、數(shù)據(jù)網(wǎng)點(diǎn)性、壓力,以及像QoS等等標(biāo)準(zhǔn)測(cè)試,這些都是SSD在系統(tǒng)級(jí)作為一個(gè)產(chǎn)品要進(jìn)行的一些測(cè)試,這些都已經(jīng)把它例化成現(xiàn)成的用例,可以直接用。
整機(jī)掉電部分,可以選擇掉電的模式,選擇盤的狀態(tài)狀態(tài),是主盤從盤亦或是各種組合,基本上囊括了一個(gè)SSD所能遇到的各種掉電場(chǎng)景,這些都是實(shí)際場(chǎng)景中發(fā)生過很多,幫用戶發(fā)現(xiàn)了很多問題。
我們的測(cè)試平臺(tái)會(huì)向用戶提供整套的測(cè)試框架,包括測(cè)試腳本、測(cè)試庫以及NVMe接口、寄存器接口等等的,同時(shí)也會(huì)提供一些驅(qū)動(dòng)接口,用戶可以用來做二次開發(fā)。
為了常規(guī)的測(cè)試內(nèi)容,我們準(zhǔn)備了一些測(cè)試套件供用戶選擇,根據(jù)實(shí)際情況,比如說像企業(yè)級(jí)的一些feature,比如NVMe-MI的feature,ZNS、TCG、SR-IOV、DualPort、Multi-nameSpace、端對(duì)端保護(hù),這些偏企業(yè)級(jí)的一些功能。
另外,我們也提供功耗測(cè)量套件,包括電壓拉偏這種套件,軟硬議題的方案,這里不展開介紹了。
Trace這一塊,我們會(huì)提供針對(duì)開發(fā)者的模式,由于在實(shí)踐中經(jīng)常需要把Trace打印出來,所以,這里做了一個(gè)Debug Mode,需要的時(shí)候可以打開該模式,他能把整個(gè)NVMe整個(gè)通路的信息打印出來,能讓用戶更清楚地知道命令發(fā)送和處理的流程,定位問題。
Trace打印等級(jí)三個(gè)點(diǎn),information顯示的比較完整,更常用的是error等級(jí),只在出錯(cuò)時(shí)打印信息,另外一個(gè)等級(jí)介于這兩者之間,用戶可自行選擇。
除了現(xiàn)成的測(cè)試用例之外,我們也提供了整個(gè)框架和用戶手冊(cè),大家可以根據(jù)這個(gè)開發(fā)手冊(cè)去了解每條命令的使用,它的參數(shù),以及每條命令的用法示例,手冊(cè)內(nèi)容覆蓋整個(gè)協(xié)議的所有操作。
另外,我們還提供了一整套的參考代碼,包括命令、常規(guī)的操作以及它的一些源代碼,方便大家去做二次開發(fā)。
當(dāng)用戶有了整個(gè)框架,也有了用戶手冊(cè),也有了源代碼,當(dāng)用戶在做開發(fā)的時(shí)候,會(huì)非常容易上手,當(dāng)然,過程中我們也會(huì)提供一些技術(shù)支持。
測(cè)試完之后,接下來就需要整理和分析測(cè)試結(jié)果,并以報(bào)表的形式進(jìn)行呈現(xiàn)。
比如這個(gè)后面是性能的結(jié)構(gòu),我們會(huì)把這個(gè)測(cè)試的結(jié)果,以一個(gè)表格的形式給大家呈現(xiàn)出來,顯示帶寬和IOPS的情況,延遲和QoS的數(shù)據(jù)。
所有測(cè)試過程中生成的數(shù)據(jù)都能以表格的形式呈現(xiàn),方便統(tǒng)計(jì)出各種讀寫數(shù)據(jù),非常直觀。
這是SNIA的一個(gè)結(jié)果,顯示的是一個(gè)寫飽和的趨勢(shì)圖,通過對(duì)大量測(cè)試后得到的數(shù)據(jù)進(jìn)行分析提取,最終呈現(xiàn)出了這個(gè)結(jié)果。
這里統(tǒng)計(jì)了平均延遲和帶寬,讀寫混合的測(cè)試數(shù)據(jù)也都進(jìn)行了統(tǒng)計(jì)和展示。
這是我們的量產(chǎn)測(cè)試設(shè)備,我們除了研發(fā)端的測(cè)試設(shè)備,也提供一個(gè)多端口的量產(chǎn)測(cè)試設(shè)備,大家可以用這個(gè)測(cè)試設(shè)備去做一個(gè)穩(wěn)定性、可靠性的質(zhì)量測(cè)試,我們支持國產(chǎn)系統(tǒng)、Windows系統(tǒng)和Linux系統(tǒng)。
這使得我們可以完全適配客戶真實(shí)的工作環(huán)境,使測(cè)試與實(shí)際應(yīng)用相吻合,從而減少兼容性問題,讓測(cè)試結(jié)果更可靠。
比如想通過一個(gè)小型服務(wù)器來做企業(yè)級(jí)SSD的測(cè)試,但這與實(shí)際使用場(chǎng)景的差距還是和大的,這種測(cè)試并不能避免兼容性的問題,而我們的平臺(tái)能兼容市面上各種主流平臺(tái),包括硬件平臺(tái)和軟件平臺(tái)。
我們的測(cè)試用例比較豐富的,不但能從協(xié)議級(jí)做協(xié)議規(guī)范性測(cè)試,還從應(yīng)用級(jí)進(jìn)行測(cè)試,對(duì)SSD在實(shí)踐中真正要用到的能力進(jìn)行測(cè)試,我們測(cè)試的覆蓋面還是比較全的。
我們的測(cè)試產(chǎn)品簡(jiǎn)單易用,所有的測(cè)試用例都以圖形化的形式呈現(xiàn),配置使用簡(jiǎn)單方便,另外,可以多線程并發(fā)測(cè)試,可以快速搭建測(cè)試團(tuán)隊(duì),使用戶的測(cè)試水平盡量達(dá)到一個(gè)一線的水準(zhǔn)。
我們4口化的設(shè)計(jì),支持4臺(tái)機(jī)器完全獨(dú)立同時(shí)進(jìn)行測(cè)試,且相互完全不干擾,測(cè)試設(shè)備能夠減少對(duì)測(cè)試人員的資源占用,測(cè)試容量和測(cè)試效率也有很大提升。
這樣一來,在同等測(cè)試任務(wù)的情況下,能夠節(jié)省人力以及投入的時(shí)間。測(cè)試效率上能夠大大地提升,縮短產(chǎn)品的一個(gè)開發(fā)和發(fā)布周期。
上圖可見,以eBird設(shè)備為節(jié)點(diǎn),能夠快速搭建智能化的實(shí)驗(yàn)室,配合自動(dòng)化管理軟件,很容易實(shí)現(xiàn)整個(gè)實(shí)驗(yàn)室的自動(dòng)化的運(yùn)行,能夠高效地分配、管理測(cè)試用例,對(duì)測(cè)試結(jié)果進(jìn)行收集和整理并最后生成報(bào)告。
很容易打造成一個(gè)智能化的形式。
最后,也歡迎大家聯(lián)系我們,一起來探討SSD測(cè)試相關(guān)的技術(shù),我們?cè)谏虾:吞K州都有研發(fā)中心,也歡迎通過合作伙伴燊容電子科技來溝通,燊容電子科技是存儲(chǔ)領(lǐng)域非常專業(yè)的的測(cè)試設(shè)備提供商和技術(shù)支持者,在測(cè)試行業(yè)有出色的表現(xiàn)。
以上就是我們的介紹內(nèi)容,謝謝大家!