一種內嵌式存儲器的模擬測試開發平臺的制作方法
【技術領域】
[0001]本發明涉及計算機領域,尤其涉及一種內嵌式存儲器的模擬測試開發平臺。
【背景技術】
[0002]內嵌式存儲器(Embedded Multi Media Card,eMMC)是一種主要針對于手機或平板電腦等電子設備的內嵌式存儲器。其中,內嵌式存儲器中包含了 NandFlash,目前,NandFlash逐漸成為嵌入式系統的主要存儲介質之一,沒有文件系統來管理NandFlash上的數據是不可想象的。
[0003]為了便于管理NandFlash 上的數據,引入了 FTL(Flash Translat1n Layer,文件傳輸層),一旦FTL出現問題,那么會使數據讀寫發生錯誤,更為嚴重的是內嵌式存儲器無法被訪問;由此可見,FTL的穩定性及效率對內嵌式存儲器來說至關重要。現有技術中,對內嵌式存儲器中FTL的測試,是將內嵌式存儲器硬件與外界的PC進行連接,對內嵌式存儲器進行測試,判斷FTL的效率及穩定性,操作復雜,測試效率低。
【發明內容】
[0004]有鑒于此,本發明實施例提供一種內嵌式存儲器的模擬測試開發平臺,操作簡單,提高內嵌式存儲器中FTL的開發效率,提高FTL的穩定性。
[0005]本發明實施例提供了一種內嵌式存儲器的模擬測試開發平臺,包括:設備系統和測試系統;
[0006]所述設備系統用于模擬內嵌式存儲器;
[0007]所述測試系統用于模擬外界PC,實現對設備系統的測試。
[0008]進一步的,所述設備系統包括前端硬件模擬模塊、文件傳輸層FTL和后端硬件模擬豐吳塊;
[0009]所述前端硬件模擬模塊與測試系統連接,用于對測試命令的解析以及測試命令和數據的傳輸;
[0010]FTL與前端硬件模擬模塊連接,用于分析測試命令,并將數據進行地址映射管理,將數據存入后端硬件模擬模塊;
[0011]后端硬件模擬模塊與FTL連接,用于數據的存儲。
[0012]進一步的,所述前端硬件模擬模塊,還用于測試命令的記錄。
[0013]進一步的,所述FTL,還用于錯誤數據的識別。
[0014]進一步的,所述前端硬件模擬模塊包括前端接口處理模塊,所述前端接口處理模塊,用于對測試命令進行解析;
[0015]所述后端硬件t吳擬t吳塊包括后端接口處理t吳塊和NAND t吳擬t旲塊;
[0016]所述后端接口處理模塊,用于NAND模擬模塊和FTL之間數據的傳輸;
[0017]NAND模擬模塊,用于模擬NandFlash,并進行數據的存儲。
[0018]進一步的,所述測試系統,包括:
[0019]單元測試模塊,用于對設備系統進行單元測試;
[0020]壓力測試模塊,用于對設備系統進行壓力測試;
[0021]代碼覆蓋率模塊,用于記錄測試過程中代碼行覆蓋率、分支覆蓋率以及函數覆蓋率;
[0022]系統性能模塊,用于記錄測試系統的性能參數信息。
[0023]進一步的,所述測試系統還包括:
[0024]日志模塊,用于記錄壓力測試模塊中的命令;
[0025]錯誤產生模塊,用于記錄設備系統中NAND模擬模塊產生的錯誤數據;
[0026]數據檢測模塊,用于檢測設備系統反饋回的數據;
[0027]測試框架模塊,用于對單元測試模塊和壓力測試模塊進行管理;
[0028]線程管理模塊,用于實現測試系統對設備系統的管理。
[0029]進一步的,所述單元測試模塊第一用例注冊單元、第一用例運行單元、第一用例報告生成單元和第一用例注銷單元;所述壓力測試模塊包括:包括第二用例注冊單元、第二用例運行單元、第二用例報告生成單元和第二用例注銷單元;
[0030]所述第一用例注冊單元和第二用例注冊單元,均用于控制設備系統上電以及獲得讀取目標用例的命令;
[0031]第一用例運行單元和第二用例運行單元,均用于控制設備系統運行;
[0032]第一用例報告生成單元和第二用例報告生成單元,均用于調用數據檢測模塊中的目標數據,將數據檢測模塊中的目標數據與相對應的寫入用例數據比較,生成結果報告;
[0033]第一用例注銷單元和第二用例注銷單元,均用于設備系統下電,結束流程。
[0034]進一步的,第一用例運行單元或第二用例運行單元具體用于,向設備系統發送讀取目標用例的命令;控制FTL調用NAND模擬模塊中的與目標用例相對應的數據,經前端硬件模擬模塊反饋給數據檢測模塊。
[0035]進一步的,第一用例報告生成單元或第二用例報告生成單元具體用于,將數據檢測模塊中的目標數據與相對應的寫入用例數據比較,如果相吻合,則生成正確的結果報告;否則,生成錯誤的結果報告,并且給出錯誤提示。
[0036]本發明實施例提供的一種內嵌式存儲器的模擬測試開發平臺,通過設備系統和測試系統分別對內嵌式存儲器和外界的PC進行模擬,實現測試系統對設備系統測試,操作簡單,能夠提高FTL的開發效率,提高FTL的穩定性。
【附圖說明】
[0037]通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發明的其它特征、目的和優點將會變得更明顯:
[0038]圖1為本實施例一提供的一種內嵌式存儲器的模擬測試開發平臺的結構框圖;
[0039]
[0040]圖2為本實施例二提供的一種內嵌式存儲器的模擬測試開發平臺的結構框圖;
[0041]
[0042]圖3是本實施例二提供的單元測試模塊或壓力測試模塊進行單元測試或壓力測試的流程圖。
[0043]
【具體實施方式】
[0044]下面結合附圖和實施例對本發明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發明相關的部分而非全部內容。
[0045]實施例一
[0046]圖1為本實施例一提供的一種內嵌式存儲器的模擬測試開發平臺的結構框圖;所述的測試開發平臺通過軟件的方式來實現,所述測試開發平臺被設于計算機中。如圖1所示,包括:設備系統110和測試系統120 ;
[0047]所述設備系統110用于模擬內嵌式存儲器;
[0048]所述測試系統120用于模擬外界PC,實現對設備系統110的測試。
[0049]所述設備系統110包括前端硬件模擬模塊111、文件傳輸層FTL 112和后端硬件模擬豐旲塊113 ;
[0050]所述前端硬件模擬模塊111與測試系統120連接,用于對測試命令的解析以及測試命令和數據的傳輸;
[0051]其中,所述前端硬件模擬模塊111,還用于測試命令的記錄。
[0052]FTL 112與前端硬件模擬模塊111連接,用于分析測試命令,并將數據進行地址映射管理,將數據存入后端硬件模擬模塊113,其中,FTL 112還用于錯誤數據的識別。
[0053]后端硬件模擬模塊113與FTL 112連接,用于數據的存儲。
[0054]在本實施例中,所述前端硬件模擬模塊111包括前端接口處理模塊1111,所述前端接口處理模塊1111,用于對測試命令進行解析;所述后端硬件模擬模塊113包括后端接口處理模塊1131和NAND模擬模塊1132 ;所述后端接口處理模塊1131,用于NAND模擬模塊1132和FTL 112之間數據的傳輸;NAND模擬模塊1132,用于模擬NandFlash,并進行數據的存儲。
[0055]在本實施例中,例如,測試系統120要將數據A寫入后端硬件模擬模塊113中的NAND模擬模塊1132內,測試系統120向設備系統110發送寫入的命令以及寫入的數據A,設備系統110中前端接口處理模塊1111對寫入的命令進行解析,并通過前端硬件模擬模塊111將寫入的命令和數據A進行傳輸,FTL 112分析命令,查詢地址映射列表,將寫入的命令中數據A的邏輯地址轉換成后端硬件模擬模塊113中NAND模擬模塊1132的物理地址,并根據該物理地址將數據A存入到NAND模擬模塊1132中。
[0056]對設備系統110進行讀操作時,首先由測試系統120向設備系統110發送讀XXX地址下的數據的操作命令,FTL 112分析讀操作命令,查詢地址映射表,在NAND模擬模塊1132中,將與讀操作中邏輯地址XXX相對應的物理地址YYY下的數據A經前端硬件模擬模塊111反饋給測試系統120,如果讀出來的數據A與寫入的數據是相同的,則表明FTL對數據A的管理是正確的;否則FTL出現問題。通過上述測試,能夠對FTL的功能進行詳細的了解,有利于FTL的開發。
[0057]在上述實施例的基礎上,測試系統可以向設備系統發送多條測試命令,FTL在分析測試命令時,往往會出現錯誤。前端硬件模擬模塊能夠記錄測試命令,當FTL在分析具體某個或者某幾個測試命令出現錯誤時,前端硬件模擬模塊能夠通過預存的測試命令,將出現錯誤的某個或某幾個測試命令中的具體細節反饋給測試系統,這樣便于對FTL進行調試。
[0058]本實施例提供了一種內嵌式存儲器的模擬測試開發平臺,通過設備系統和測試系統分別對內嵌式存儲器和外界的PC進行模擬,實現測試系統對設備系統測試,操作簡單,能夠高效地對FTL進行測試,提高FTL的開發效率,提高FTL的穩定性。
[0059]實施例二
[0060]圖2為本實施例二提供的一種內嵌式存儲器的模擬測試開發平臺的結構框圖;在上述實施例的基礎上,對測試系統進行了優化。如圖2所示,所述測試系統包括:單元測試模塊121、壓力測試模塊122、代碼覆蓋率模塊123和系統性能模塊124。
[0061]其中,單元測試模塊121,用于對設備系統110進行單元測試;其中,單元測試模塊121偏向白盒測試,使用打粧函數實現對設備系統110的測試。
[0062]壓力測試模塊122,用于對設備系統110進行壓力測試;其中,壓力測試模塊122偏向于黑盒測試,可以測試設備系統110的可靠性、穩定性等。
[0063]代碼覆蓋率模塊123,用于記錄測試過程