專利名稱:測試方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及測試技術(shù),尤其涉及測試方法及設(shè)備。
技術(shù)背景
利用測試軟件對存儲器進(jìn)行測試廣泛應(yīng)用于硬件開發(fā)領(lǐng)域。例如,測試軟件利用測試數(shù)據(jù)對閃存進(jìn)行測試。具體過程可以是,先將測試數(shù)據(jù)寫入待測試的存儲器的存儲塊中,然后讀取該存儲塊。通過比較寫入的測試數(shù)據(jù)與讀取的數(shù)據(jù)是否一致,判斷待測試的存儲器是否正常。
然而,對存儲器進(jìn)行測試可能會破壞存儲器中的數(shù)據(jù),訪問發(fā)生破壞的數(shù)據(jù)可能會發(fā)生錯誤。發(fā)明內(nèi)容
一方面,本發(fā)明實(shí)施例提供了一種測試方法,包括
將待測試的第一存儲器中的第一數(shù)據(jù)寫入第二存儲器中;
在對所述第一存儲器進(jìn)行測試的過程中,當(dāng)欲訪問所述第一存儲器中的所述第一數(shù)據(jù)時,對所述第二存儲器中寫入的所述第一數(shù)據(jù)執(zhí)行第一訪問。
另一方面,本發(fā)明實(shí)施例提供了一種測試方法,包括
將待測試的第一存儲器中的數(shù)據(jù)寫入第二存儲器中;
對所述第一存儲器進(jìn)行測試;
所述測試結(jié)束后,將所述第二存儲器中寫入的所述數(shù)據(jù)寫入所述第一存儲器中, 以便于通過所述第一存儲器對所述數(shù)據(jù)進(jìn)行訪問。
另一方面,本發(fā)明實(shí)施例提供了一種測試設(shè)備,包括
第一寫入單元,用于將待測試的第一存儲器中的第一數(shù)據(jù)寫入第二存儲器中;
訪問單元,用于在對所述第一存儲器進(jìn)行測試的過程中,當(dāng)欲訪問所述第一存儲器中的所述第一數(shù)據(jù)時,對所述第二存儲器中寫入的所述第一數(shù)據(jù)執(zhí)行第一訪問。
另一方面,本發(fā)明實(shí)施例提供了一種測試設(shè)備,包括
第一寫入單元,用于將待測試的第一存儲器中的數(shù)據(jù)寫入第二存儲器中;
測試單元,用于對所述第一存儲器進(jìn)行測試;
第二寫入單元,用于所述測試單元測試結(jié)束后,將所述第二存儲器中寫入的所述數(shù)據(jù)寫入所述第一存儲器中,以便于通過所述第一存儲器對所述數(shù)據(jù)進(jìn)行訪問。
現(xiàn)有技術(shù)中,對存儲器進(jìn)行測試可能會破壞存儲器中的數(shù)據(jù)。對被破壞的數(shù)據(jù)進(jìn)行訪問可能會發(fā)生錯誤。本實(shí)施例提供的技術(shù)方案中,訪問的是沒有被測試破壞的數(shù)據(jù),因此不會出現(xiàn)現(xiàn)有技術(shù)中由于訪問被破壞的數(shù)據(jù)而發(fā)生錯誤的問題。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種測試方法的流程示意圖2為本發(fā)明實(shí)施例提供的另一種測試方法的流程示意圖3為本發(fā)明實(shí)施例提供的另一種測試方法的流程示意圖4為本發(fā)明實(shí)施例提供的一種測試設(shè)備的結(jié)構(gòu)示意圖5為本發(fā)明實(shí)施例提供的另一種測試設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
圖1為本發(fā)明實(shí)施例提供的一種測試方法的流程示意圖。如圖1所示,本實(shí)施例的測試方法包括
101、將待測試的第一存儲器中的第一數(shù)據(jù)寫入第二存儲器中。
102、在對上述第一存儲器進(jìn)行測試的過程中,當(dāng)欲訪問上述第一存儲器中的上述第一數(shù)據(jù)時,對上述第二存儲器中寫入的上述第一數(shù)據(jù)執(zhí)行第一訪問。
101和102中都涉及到對存儲器的訪問。對存儲器進(jìn)行訪問可以是讀操作以及寫操作。訪問存儲器的主體可以是該存儲器的驅(qū)動程序,也可以是測試軟件、操作系統(tǒng)以及文件系統(tǒng)。其中,驅(qū)動程序可以直接訪問存儲器。操作系統(tǒng)可以通過驅(qū)動程序訪問存儲器。當(dāng)存在文件系統(tǒng)時,文件系統(tǒng)可以在操作系統(tǒng)的控制下,通過驅(qū)動程序訪問存儲器。測試軟件可以通過操作系統(tǒng)以及驅(qū)動程序訪問存儲器。另外,操作系統(tǒng)可以直接訪問某些類型的存儲器,例如內(nèi)存。另外,某些類型的存儲器是以“塊”的形式實(shí)現(xiàn)對數(shù)據(jù)的存儲。對這些類型的存儲器進(jìn)行訪問時,也是以“塊”的形式進(jìn)行。這些類型的存儲器包括閃存(Flash)、標(biāo)準(zhǔn)閃存(Compact Flash,CF)、固態(tài)硬盤(Solid State Drive, SSD)以及硬盤(hard drive, HD)等。
第一存儲器和第二存儲器可以是非易失性存儲器,例如閃存、固態(tài)硬盤、標(biāo)準(zhǔn)閃存、安全數(shù)字(Secure Digital,SD)、硬盤等。第一存儲器和第二存儲器也可以是易失性存儲器,例如雙倍數(shù)據(jù)率同步動態(tài)隨機(jī)存儲器(Double Data Rate Synchronous Dynamic Random Access Memory, DDRSDRAM)等。
測試方法具體實(shí)現(xiàn)時,可以是
測試軟件將待測試的第一存儲器中的第一數(shù)據(jù)讀出,并寫入第二存儲器中。
測試軟件在內(nèi)存中創(chuàng)建對應(yīng)表。對應(yīng)表可以包含第一數(shù)據(jù)存儲在第二存儲器的標(biāo)識、第一數(shù)據(jù)存儲在第一存儲器的標(biāo)識以及測試標(biāo)識。本實(shí)施例將第一數(shù)據(jù)存儲在第二存儲器的標(biāo)識簡稱為第一標(biāo)識。本實(shí)施例將第一數(shù)據(jù)存儲在第一存儲器的標(biāo)識簡稱為第二標(biāo)識。其中,當(dāng)操作系統(tǒng)是訪問第二存儲器的主體,并且操作系統(tǒng)可以直接訪問第二存儲器時,第一標(biāo)識可以是第一數(shù)據(jù)存儲在第二存儲器的物理地址。當(dāng)文件系統(tǒng)是訪問第二存儲器的主體,并且第一數(shù)據(jù)以文件的形式存儲在第二存儲器時,第一標(biāo)識也可以是第一數(shù)據(jù)對應(yīng)的文件名。本實(shí)施例將第一數(shù)據(jù)存儲在第二存儲器的物理地址簡稱為第一地址。本實(shí)施例將第一數(shù)據(jù)存儲在第一存儲器的物理地址簡稱為第二地址。第二標(biāo)識具體實(shí)現(xiàn)時,可以參考第一標(biāo)識。
對應(yīng)表創(chuàng)建后,測試軟件對第一存儲器進(jìn)行測試;測試過程中,當(dāng)操作系統(tǒng)欲對第一存儲器中的第一數(shù)據(jù)進(jìn)行訪問時,操作系統(tǒng)可以將第一標(biāo)識提供至第一存儲器的驅(qū)動程序。第一存儲器的驅(qū)動程序可以通過查找對應(yīng)表,得到測試標(biāo)識以及第二標(biāo)識。操作系統(tǒng)根據(jù)測試標(biāo)識可以確定出第一存儲器正在被測試。操作系統(tǒng)將第二標(biāo)識提供給第二存儲器的驅(qū)動程序。第二存儲器的驅(qū)動程序根據(jù)第二標(biāo)識對第二存儲器中寫入的第一數(shù)據(jù)進(jìn)行訪問。上述過程中,第一存儲器和第二存儲器可以不是同一存儲器。第一存儲器和第二存儲器也可以是同一存儲器。
可選地,上述測試結(jié)束后,還可以進(jìn)一步將上述第二存儲器中的第二數(shù)據(jù)寫入上述第一存儲器中,以便于通過上述第一存儲器對上述第二數(shù)據(jù)進(jìn)行訪問,上述第二數(shù)據(jù)為上述第二存儲器中的上述第一數(shù)據(jù)被執(zhí)行上述第一訪問后的數(shù)據(jù)。
具體實(shí)現(xiàn)時,對第二存儲器中的第一數(shù)據(jù)進(jìn)行第一訪問后,第一數(shù)據(jù)可能已發(fā)生改變,也可能沒有發(fā)生改變。當(dāng)?shù)谝辉L問是讀操作時,第一數(shù)據(jù)沒有發(fā)生改變。該場景下第二數(shù)據(jù)與第一數(shù)據(jù)是相同的;當(dāng)?shù)谝辉L問是寫操作時,第一數(shù)據(jù)可能已發(fā)生改變。該場景下第二數(shù)據(jù)與第一數(shù)據(jù)可能是不同的。
可選地,上述第二存儲器可以是獨(dú)立于上述第一存儲器的存儲設(shè)備。第一存儲器與第二存儲器也可以屬于同一存儲設(shè)備。當(dāng)?shù)谝淮鎯ζ骱偷诙鎯ζ鲗儆谕淮鎯υO(shè)備時,上述第一數(shù)據(jù)可以存儲在上述第一存儲器的第一存儲塊中;上述測試可以為對上述第一存儲塊進(jìn)行測試。
可選的,上述第二存儲器為上述第一存儲器的第二存儲塊。
本實(shí)施例中,將待測試的第一存儲器中的第一數(shù)據(jù)寫入第二存儲器中。這使得第一存儲器被測試時,當(dāng)欲訪問第一存儲器中的第一數(shù)據(jù)時,可以訪問第二存儲器中寫入的第一數(shù)據(jù)。現(xiàn)有技術(shù)中,對存儲器進(jìn)行測試可能會破壞存儲器中的數(shù)據(jù)。對被破壞的數(shù)據(jù)進(jìn)行訪問可能會發(fā)生錯誤。本實(shí)施例提供的技術(shù)方案中,訪問的是第二存儲器中第一數(shù)據(jù)。 第二存儲器中的第一數(shù)據(jù)沒有被該測試破壞。因此,本實(shí)施例提供的技術(shù)方案訪問的是沒有被測試破壞的數(shù)據(jù),不會出現(xiàn)現(xiàn)有技術(shù)中由于訪問被破壞的數(shù)據(jù)而發(fā)生錯誤的問題。
實(shí)施例二
圖2為本發(fā)明實(shí)施例提供的另一種測試方法的流程示意圖。如圖2所示,本實(shí)施例的測試方法包括
201、將待測試的第一存儲器中的數(shù)據(jù)寫入第二存儲器中。
202、對上述第一存儲器進(jìn)行測試。
203、上述測試結(jié)束后,將上述第二存儲器中寫入的上述數(shù)據(jù)寫入上述第一存儲器中,以便于通過上述第一存儲器對上述數(shù)據(jù)進(jìn)行訪問。
201和203中都涉及到對存儲器的訪問。對存儲器進(jìn)行訪問可以是讀操作或者寫操作。訪問存儲器的主體可以是該存儲器的驅(qū)動程序,也可以是測試軟件、操作系統(tǒng)以及文件系統(tǒng)。其中,驅(qū)動程序可以直接訪問存儲器。操作系統(tǒng)可以通過驅(qū)動程序訪問存儲器。當(dāng)存在文件系統(tǒng)時,文件系統(tǒng)可以在操作系統(tǒng)的控制下,通過驅(qū)動程序訪問存儲器。測試軟件可以通過操作系統(tǒng)以及驅(qū)動程序訪問存儲器。另外,操作系統(tǒng)可以直接訪問某些的存儲器, 例如內(nèi)存。另外,某些類型的存儲器是以“塊”的形式實(shí)現(xiàn)對數(shù)據(jù)的存儲。對這些類型的存儲器進(jìn)行訪問時,也是以“塊”的形式進(jìn)行。這些類型的存儲器包括閃存、標(biāo)準(zhǔn)閃存、固態(tài)硬盤以及硬盤等。
第一存儲器和第二存儲器可以是非易失性存儲器,例如閃存、固態(tài)硬盤、標(biāo)準(zhǔn)閃存、安全數(shù)字、硬盤等。第一存儲器和第二存儲器也可以是易失性存儲器,例如DDR SDRAM寸。
可選地,上述第二存儲器可以是獨(dú)立于上述第一存儲器的存儲設(shè)備。第一存儲器與第二存儲器也可以屬于同一存儲設(shè)備。當(dāng)?shù)谝淮鎯ζ骱偷诙鎯ζ鲗儆谕淮鎯υO(shè)備時,上述第一數(shù)據(jù)可以存儲在上述第一存儲器的第一存儲塊中;上述測試可以為對上述第一存儲塊進(jìn)行測試。
可選的,上述第二存儲器為上述第一存儲器的第二存儲塊。
本實(shí)施例中,通過將待測試的第一存儲器中的數(shù)據(jù)寫入第二存儲器中,測試結(jié)束后再將上述第二存儲器中寫入的上述數(shù)據(jù)寫入上述第一存儲器中,使得測試結(jié)束后,可以訪問上述第一存儲器中寫入的上述數(shù)據(jù)。現(xiàn)有技術(shù)中,對存儲器進(jìn)行測試可能會破壞存儲器中的數(shù)據(jù)。對被破壞的數(shù)據(jù)進(jìn)行訪問可能會發(fā)生錯誤。本實(shí)施例提供的技術(shù)方案中,第一存儲器中寫入的第一數(shù)據(jù)來源于第二存儲器中寫入的第一數(shù)據(jù)。第二存儲器的第一數(shù)據(jù)沒有被該測試破壞。因此,本實(shí)施例提供的技術(shù)方案訪問的是沒有被測試破壞的數(shù)據(jù),不會出現(xiàn)現(xiàn)有技術(shù)中由于訪問被破壞的數(shù)據(jù)而發(fā)生錯誤的問題。
實(shí)施例三
圖3為本發(fā)明實(shí)施例提供的另一種測試方法的流程示意圖,本實(shí)施例適用于閃存。如圖3所示,本實(shí)施例的測試方法可以包括
301、將待測試的閃存塊中的數(shù)據(jù)寫入緩存中與上述待測試的閃存塊對應(yīng)的緩存塊中。
例如可以先讀取待測試的閃存塊中的數(shù)據(jù),然后將上述數(shù)據(jù)寫入緩存中與上述待測試的閃存塊對應(yīng)的緩存塊中。
其中,閃存可以被劃分為大小相等或大小不等的若干閃存塊。
可選地,在301之前,還可以進(jìn)一步建立上述至少一個閃存塊與緩存中的緩存塊的對應(yīng)關(guān)系,以供將讀取的上述數(shù)據(jù)寫入上述緩存中與上述待測試的閃存塊對應(yīng)的緩存塊中。例如可以利用地址映射方式,根據(jù)閃存塊的地址空間與緩存塊的地址空間,建立上述至少一個閃存塊與緩存中的緩存塊的對應(yīng)關(guān)系。
302、對上述待測試的閃存塊進(jìn)行測試。
例如將測試數(shù)據(jù)寫入待測試的閃存塊中,然后再讀取該待測試的閃存塊,通過比較寫入的測試數(shù)據(jù)與讀取的數(shù)據(jù)的一致性,出判斷待測試的閃存塊是否正常。
303、若上述測試通過,將上述緩存塊中寫入的數(shù)據(jù)寫入上述待測試的閃存塊中。
例如若上述測試通過,可以讀取上述緩存塊中寫入的數(shù)據(jù),并寫入上述待測試的閃存塊中。
可選地,在303之后,還可以進(jìn)一步將上述緩存塊中寫入的數(shù)據(jù)清除,以供對該緩存塊對應(yīng)的其他閃存塊進(jìn)行測試。
可選地,本實(shí)施例中的緩存可以為內(nèi)存區(qū)域。
可選地,本實(shí)施例中的緩存還可以為上述閃存中的預(yù)留區(qū)域,上述預(yù)留區(qū)域中不存儲數(shù)據(jù)。
可選地,如果在執(zhí)行301 303的過程中,有文件系統(tǒng)需要訪問上述待測試的閃存塊,則可以訪問上述緩存中與上述待測試的閃存塊對應(yīng)的緩存塊,例如執(zhí)行301之后,可以將上述待測試的閃存塊的狀態(tài)設(shè)置為正在測試,當(dāng)文件系統(tǒng)需要訪問上述待測試的閃存塊時,文件系統(tǒng)可以測試到該待測試的閃存塊的狀態(tài)為正在測試;然后,文件系統(tǒng)則可以根據(jù)建立的閃存塊與緩存中的緩存塊的對應(yīng)關(guān)系,訪問上述緩存中與上述待測試的閃存塊對應(yīng)的緩存塊。具體來說,文件系統(tǒng)可以讀取上述緩存中與上述待測試的閃存塊對應(yīng)的緩存塊中的數(shù)據(jù),或者也可以將新的數(shù)據(jù)寫入上述緩存中與上述待測試的閃存塊對應(yīng)的緩存塊中。
可以理解的是本實(shí)施例中,可以遍歷整個閃存,依次對該閃存中的所有閃存塊執(zhí)行 301 303。
本實(shí)施例中,通過將待測試的閃存塊中的數(shù)據(jù)寫入緩存中與上述待測試的閃存塊對應(yīng)的緩存塊中,使得能夠?qū)ι鲜龃郎y試的閃存塊進(jìn)行測試,若上述測試通過,則可以將上述緩存塊中寫入的數(shù)據(jù)寫入上述待測試的閃存塊中,能夠避免現(xiàn)有技術(shù)中由于待測試的閃存塊中存儲有數(shù)據(jù)而導(dǎo)致的破壞待測試的閃存塊中的數(shù)據(jù)的問題,從而使得能夠在文件系統(tǒng)運(yùn)行時對閃存進(jìn)行測試
實(shí)施例四
圖4為本發(fā)明實(shí)施例提供的一種測試設(shè)備的結(jié)構(gòu)示意圖。該測試設(shè)備可以執(zhí)行實(shí)施例一中的測試方法。如圖4所示,測試設(shè)備包括
第一寫入單元41,用于將待測試的第一存儲器中的第一數(shù)據(jù)寫入第二存儲器中。
訪問單元42,用于在對上述第一存儲器進(jìn)行測試的過程中,當(dāng)欲訪問上述第一存儲器中的上述第一數(shù)據(jù)時,對上述第二存儲器中寫入的上述第一數(shù)據(jù)執(zhí)行第一訪問。
第一寫入單元41和訪問單元42中都涉及到對存儲器的訪問。對存儲器進(jìn)行訪問可以是讀操作以及寫操作。訪問存儲器的主體可以是該存儲器的驅(qū)動程序,也可以是測試軟件、操作系統(tǒng)以及文件系統(tǒng)。其中,驅(qū)動程序可以直接訪問存儲器。操作系統(tǒng)可以通過驅(qū)動程序訪問存儲器。當(dāng)存在文件系統(tǒng)時,文件系統(tǒng)可以在操作系統(tǒng)的控制下,通過驅(qū)動程序訪問存儲器。測試軟件可以通過操作系統(tǒng)以及驅(qū)動程序訪問存儲器。另外,操作系統(tǒng)可以直接訪問某些類型的存儲器,例如內(nèi)存。另外,某些類型的存儲器是以“塊”的形式實(shí)現(xiàn)對數(shù)據(jù)的存儲。對這些類型的存儲器進(jìn)行訪問時,也是以“塊”的形式進(jìn)行。這些類型的存儲器包括閃存、標(biāo)準(zhǔn)閃存、固態(tài)硬盤以及硬盤等。
第一存儲器和第二存儲器可以是非易失性存儲器,例如閃存、固態(tài)硬盤、標(biāo)準(zhǔn)閃存、安全數(shù)字、硬盤等。第一存儲器和第二存儲器也可以是易失性存儲器,例如DDR SDRAM寸。
測試裝置具體實(shí)現(xiàn)時,可以是
測試軟件將待測試的第一存儲器中的第一數(shù)據(jù)讀出,并寫入第二存儲器中。
測試軟件在內(nèi)存中創(chuàng)建對應(yīng)表。對應(yīng)表可以包含第一數(shù)據(jù)存儲在第二存儲器的標(biāo)識、第一數(shù)據(jù)存儲在第一存儲器的標(biāo)識以及測試標(biāo)識。本實(shí)施例將第一數(shù)據(jù)存儲在第二存儲器的標(biāo)識簡稱為第一標(biāo)識。本實(shí)施例將第一數(shù)據(jù)存儲在第一存儲器的標(biāo)識簡稱為第二標(biāo)識。其中,當(dāng)操作系統(tǒng)是訪問第二存儲器的主體,并且操作系統(tǒng)可以直接訪問第二存儲器時,第一標(biāo)識可以是第一數(shù)據(jù)存儲在第二存儲器的物理地址。當(dāng)文件系統(tǒng)是訪問第二存儲器的主體,并且第一數(shù)據(jù)以文件的形式存儲在第二存儲器時,第一標(biāo)識也可以是第一數(shù)據(jù)對應(yīng)的文件名。本實(shí)施例將第一數(shù)據(jù)存儲在第二存儲器的物理地址簡稱為第一地址。本實(shí)施例將第一數(shù)據(jù)存儲在第一存儲器的物理地址簡稱為第二地址。第二標(biāo)識具體實(shí)現(xiàn)時,可以參考第一標(biāo)識。
對應(yīng)表創(chuàng)建后,測試軟件對第一存儲器進(jìn)行測試;測試過程中,當(dāng)操作系統(tǒng)欲對第一存儲器中的第一數(shù)據(jù)進(jìn)行訪問時,操作系統(tǒng)可以將第一標(biāo)識提供至第一存儲器的驅(qū)動程序。第一存儲器的驅(qū)動程序可以通過查找對應(yīng)表,得到測試標(biāo)識以及第二標(biāo)識。操作系統(tǒng)根據(jù)測試標(biāo)識可以確定出第一存儲器正在被測試。操作系統(tǒng)將第二標(biāo)識提供給第二存儲器的驅(qū)動程序。第二存儲器的驅(qū)動程序根據(jù)第二標(biāo)識對第二存儲器中寫入的第一數(shù)據(jù)進(jìn)行訪問。上述過程中,第一存儲器和第二存儲器可以不是同一存儲器。第一存儲器和第二存儲器也可以是同一存儲器。
可選的,測試設(shè)備還可以包括,
第二寫入單元,用于上述測試結(jié)束后,將上述第二存儲器中的第二數(shù)據(jù)寫入上述第一存儲器中,以便于通過上述第一存儲器對上述第二數(shù)據(jù)進(jìn)行訪問,上述第二數(shù)據(jù)為上述第二存儲器中的上述第一數(shù)據(jù)被執(zhí)行上述第一訪問后的數(shù)據(jù)。
具體實(shí)現(xiàn)時,對第二存儲器中的第一數(shù)據(jù)進(jìn)行第一訪問后,第一數(shù)據(jù)可能已發(fā)生改變,也可能沒有發(fā)生改變。當(dāng)?shù)谝辉L問是讀操作時,第一數(shù)據(jù)沒有發(fā)生改變。該場景下第二數(shù)據(jù)與第一數(shù)據(jù)是相同的;當(dāng)?shù)谝辉L問是寫操作時,第一數(shù)據(jù)可能已發(fā)生改變。該場景下第二數(shù)據(jù)與第一數(shù)據(jù)可能是不同的。
可選地,上述第二存儲器可以是獨(dú)立于上述第一存儲器的存儲設(shè)備。第一存儲器與第二存儲器也可以屬于同一存儲設(shè)備。當(dāng)?shù)谝淮鎯ζ骱偷诙鎯ζ鲗儆谕淮鎯υO(shè)備時,上述第一數(shù)據(jù)可以存儲在上述第一存儲器的第一存儲塊中;上述測試可以為對上述第一存儲塊進(jìn)行測試。
可選的,上述第二存儲器為上述第一存儲器的第二存儲塊。
本實(shí)施例中,將待測試的第一存儲器中的第一數(shù)據(jù)寫入第二存儲器中。這使得第一存儲器被測試時,當(dāng)欲訪問第一存儲器中的第一數(shù)據(jù)時,可以訪問第二存儲器中寫入的第一數(shù)據(jù)?,F(xiàn)有技術(shù)中,對存儲器進(jìn)行測試可能會破壞存儲器中的數(shù)據(jù)。對被破壞的數(shù)據(jù)進(jìn)行訪問可能會發(fā)生錯誤。本實(shí)施例提供的技術(shù)方案中,訪問的是第二存儲器中第一數(shù)據(jù)。 第二存儲器中的第一數(shù)據(jù)沒有被該測試破壞。因此,本實(shí)施例提供的技術(shù)方案訪問的是沒有被測試破壞的數(shù)據(jù),不會出現(xiàn)現(xiàn)有技術(shù)中由于訪問被破壞的數(shù)據(jù)而發(fā)生錯誤的問題。
實(shí)施例五
圖5為本發(fā)明實(shí)施例提供的另一種測試設(shè)備的結(jié)構(gòu)示意圖。該測試設(shè)備可以執(zhí)行實(shí)施例二中的測試方法。如圖5所示,該測試設(shè)備包括
第一寫入單元51,用于將待測試的第一存儲器中的數(shù)據(jù)寫入第二存儲器中。
測試單元52,用于對上述第一存儲器進(jìn)行測試。
第二寫入單元53,用于上述測試單元測試結(jié)束后,將上述第二存儲器中寫入的上述數(shù)據(jù)寫入上述第一存儲器中,以便于通過上述第一存儲器對上述數(shù)據(jù)進(jìn)行訪問。
第一寫入單元51和第二寫入單元53中都涉及到對存儲器的訪問。對存儲器進(jìn)行訪問可以是讀操作或者寫操作。訪問存儲器的主體可以是該存儲器的驅(qū)動程序,也可以是測試軟件、操作系統(tǒng)以及文件系統(tǒng)。其中,驅(qū)動程序可以直接訪問存儲器。操作系統(tǒng)可以通過驅(qū)動程序訪問存儲器。當(dāng)存在文件系統(tǒng)時,文件系統(tǒng)可以在操作系統(tǒng)的控制下,通過驅(qū)動程序訪問存儲器。測試軟件可以通過操作系統(tǒng)以及驅(qū)動程序訪問存儲器。另外,操作系統(tǒng)可以直接訪問某些的存儲器,例如內(nèi)存。另外,某些類型的存儲器是以“塊”的形式實(shí)現(xiàn)對數(shù)據(jù)的存儲。對這些類型的存儲器進(jìn)行訪問時,也是以“塊”的形式進(jìn)行。這些類型的存儲器包括閃存、標(biāo)準(zhǔn)閃存、固態(tài)硬盤以及硬盤等。
第一存儲器和第二存儲器可以是非易失性存儲器,例如閃存、固態(tài)硬盤、標(biāo)準(zhǔn)閃存、安全數(shù)字、硬盤等。第一存儲器和第二存儲器也可以是易失性存儲器,例如DDR SDRAM寸。
可選地,上述第二存儲器可以是獨(dú)立于上述第一存儲器的存儲設(shè)備。第一存儲器與第二存儲器也可以屬于同一存儲設(shè)備。當(dāng)?shù)谝淮鎯ζ骱偷诙鎯ζ鲗儆谕淮鎯υO(shè)備時,上述第一數(shù)據(jù)可以存儲在上述第一存儲器的第一存儲塊中;上述測試可以為對上述第一存儲塊進(jìn)行測試。
可選的,上述第二存儲器為上述第一存儲器的第二存儲塊。
本實(shí)施例中,通過將待測試的第一存儲器中的數(shù)據(jù)寫入第二存儲器中,測試結(jié)束后再將上述第二存儲器中寫入的上述數(shù)據(jù)寫入上述第一存儲器中,使得測試結(jié)束后,可以訪問上述第一存儲器中寫入的上述數(shù)據(jù)?,F(xiàn)有技術(shù)中,對存儲器進(jìn)行測試可能會破壞存儲器中的數(shù)據(jù)。對被破壞的數(shù)據(jù)進(jìn)行訪問可能會發(fā)生錯誤。本實(shí)施例提供的技術(shù)方案中,第一存儲器中寫入的第一數(shù)據(jù)來源于第二存儲器中寫入的第一數(shù)據(jù)。第二存儲器的第一數(shù)據(jù)沒有被該測試破壞。因此,本實(shí)施例提供的技術(shù)方案訪問的是沒有被測試破壞的數(shù)據(jù),不會出現(xiàn)現(xiàn)有技術(shù)中由于訪問被破壞的數(shù)據(jù)而發(fā)生錯誤的問題。
上述五個實(shí)施例的技術(shù)方案,可以應(yīng)用于各種操作系統(tǒng),例如LINUX、UNIX、 SOLARIS或QNX等操作系統(tǒng)。以LINUX系統(tǒng)為例,運(yùn)行在LINUX系統(tǒng)上文件系統(tǒng)可以包括閃存日志文件系統(tǒng)第2版(Journaling Flash File System Version2,JFFS2)、無序分塊圖像文件系統(tǒng)(Unsorted Block Image File System,UBIFS)和壓縮只讀文件系統(tǒng)(Compressed ROM File System, CRAM FS)等文件系統(tǒng)。
需要說明的是對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
在上述五個實(shí)施例中,對各個實(shí)施例的描述都各有側(cè)重,某個實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
在本申請所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的部分步驟。而前述的存儲介質(zhì)包括U盤、移動硬盤、只讀存儲器(Read-Only Memory,簡稱 ROM)、隨機(jī)存取存儲器(Random Access Memory,簡稱RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種測試方法,其特征在于,包括將待測試的第一存儲器中的第一數(shù)據(jù)寫入第二存儲器中;在對所述第一存儲器進(jìn)行測試的過程中,當(dāng)欲訪問所述第一存儲器中的所述第一數(shù)據(jù)時,對所述第二存儲器中寫入的所述第一數(shù)據(jù)執(zhí)行第一訪問。
2.根據(jù)權(quán)利要求1所述方法,其特征在于,還包括所述測試結(jié)束后,將所述第二存儲器中的第二數(shù)據(jù)寫入所述第一存儲器中,以便于通過所述第一存儲器對所述第二數(shù)據(jù)進(jìn)行訪問,所述第二數(shù)據(jù)為所述第二存儲器中的所述第一數(shù)據(jù)被執(zhí)行所述第一訪問后的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2所述方法,其特征在于,所述第一數(shù)據(jù)存儲在所述第一存儲器的第一存儲塊中;所述測試為對所述第一存儲塊進(jìn)行測試。
4.根據(jù)權(quán)利要求3所述方法,其特征在于,所述第二存儲器為所述第一存儲器的第二存儲塊。
5.一種測試方法,其特征在于,包括將待測試的第一存儲器中的數(shù)據(jù)寫入第二存儲器中;對所述第一存儲器進(jìn)行測試;所述測試結(jié)束后,將所述第二存儲器中寫入的所述數(shù)據(jù)寫入所述第一存儲器中,以便于通過所述第一存儲器對所述數(shù)據(jù)進(jìn)行訪問。
6.根據(jù)權(quán)利要求5所述方法,其特征在于,所述數(shù)據(jù)存儲在所述第一存儲器的第一存儲塊中,所述測試為對所述第一存儲塊進(jìn)行測試。
7.根據(jù)權(quán)利要求6所述方法,其特征在于,所述第二存儲器為所述第一存儲器的第二存儲塊。
8.—種測試設(shè)備,其特征在于,包括第一寫入單元,用于將待測試的第一存儲器中的第一數(shù)據(jù)寫入第二存儲器中;訪問單元,用于在對所述第一存儲器進(jìn)行測試的過程中,當(dāng)欲訪問所述第一存儲器中的所述第一數(shù)據(jù)時,對所述第二存儲器中寫入的所述第一數(shù)據(jù)執(zhí)行第一訪問。
9.根據(jù)權(quán)利要求8所述設(shè)備,其特征在于,包括第二寫入單元,用于所述測試結(jié)束后,將所述第二存儲器中的第二數(shù)據(jù)寫入所述第一存儲器中,以便于通過所述第一存儲器對所述第二數(shù)據(jù)進(jìn)行訪問,所述第二數(shù)據(jù)為所述第二存儲器中的所述第一數(shù)據(jù)被執(zhí)行所述第一訪問后的數(shù)據(jù)。
10.一種測試設(shè)備,其特征在于,包括第一寫入單元,用于將待測試的第一存儲器中的數(shù)據(jù)寫入第二存儲器中;測試單元,用于對所述第一存儲器進(jìn)行測試;第二寫入單元,用于所述測試單元測試結(jié)束后,將所述第二存儲器中寫入的所述數(shù)據(jù)寫入所述第一存儲器中,以便于通過所述第一存儲器對所述數(shù)據(jù)進(jìn)行訪問。
全文摘要
本發(fā)明實(shí)施例提供了測試方法及設(shè)備,其中一種測試方法包括將待測試的第一存儲器中的第一數(shù)據(jù)寫入第二存儲器中;在對所述第一存儲器進(jìn)行測試的過程中,當(dāng)欲訪問所述第一存儲器中的所述第一數(shù)據(jù)時,對所述第二存儲器中寫入的所述第一數(shù)據(jù)執(zhí)行第一訪問。通過本發(fā)明實(shí)施例提供的測試方法及設(shè)備,訪問的是沒有被測試破壞的數(shù)據(jù),因此不會出現(xiàn)現(xiàn)有技術(shù)中由于訪問被破壞的數(shù)據(jù)而發(fā)生錯誤的問題。
文檔編號G11C29/56GK102522122SQ20111039491
公開日2012年6月27日 申請日期2011年12月2日 優(yōu)先權(quán)日2011年12月2日
發(fā)明者李坤 申請人:華為技術(shù)有限公司