一种清空功能测试方法、装置、设备及介质与流程
- 国知局
- 2024-07-31 19:44:47
本发明涉及固态硬盘存储,特别是涉及一种清空功能测试方法、装置、设备及介质。
背景技术:
1、与非型闪存(nand flash)是一种常见的非易失存储介质,具有访问速度快、存储密度大、单位容量价格低廉等优点,因而在固态硬盘(solid state disk,ssd)中广泛应用。其中,nand flash需要配合与非型闪存控制器(nand flash controller,nfc)硬件以及配套驱动程序才能正常使用。
2、nfc的一个很重要的功能是清空(flush)功能。当固态硬盘发生异常断电或其他的异常情况时,nfc会根据状态执行flush功能,从而清空命令槽(command slot)中的存在的读命令或擦命令。flush功能正常是固态硬盘正常运行的基础之一,因此,flush功能的测试是固态硬盘生产中的重要环节。
3、鉴于上述问题,如何对与非型闪存控制器的flush功能进行测试,是该领域技术人员亟待解决的问题。
技术实现思路
1、本发明的目的是提供一种清空功能测试方法、装置、设备及介质,以对与非型闪存控制器的flush功能进行测试。
2、为解决上述技术问题,本发明提供一种清空功能测试方法,应用于与非型闪存控制器;所述方法包括:
3、生成清空功能测试项;其中,所述清空功能测试项中包含高命令槽对应命令的命令类型、命令数量、清空使能位置以及各命令是否支持清空功能,以及低命令槽对应命令的命令类型、命令数量、清空使能位置以及各命令是否支持清空功能;
4、根据所述清空功能测试项对与非型闪存进行预处理;
5、将所述清空功能测试项中的各所述命令对应放入所述高命令槽和所述低命令槽中,以分别执行所述高命令槽的清空使能和所述低命令槽的清空使能;
6、获取所述高命令槽的清空使能结果和所述低命令槽的清空使能结果;
7、根据所述高命令槽的清空使能结果和所述低命令槽的清空使能结果验证与非型闪存控制器的清空功能。
8、一方面,所述根据所述清空功能测试项对与非型闪存进行预处理包括:
9、获取所述清空功能测试项中的全部所述命令的命令类型;
10、若所述命令的所述命令类型为擦命令,则将所述与非型闪存中所述擦命令对应的块中的数据进行擦除处理,并在擦除后再次写入数据;
11、若所述命令的所述命令类型为写命令,则将所述与非型闪存中所述写命令对应的块中的数据进行擦除处理;
12、若所述命令的所述命令类型为读命令,则将所述与非型闪存中所述读命令对应的块中的数据进行擦除处理。
13、另一方面,所述获取所述高命令槽的清空使能结果和所述低命令槽的清空使能结果包括:
14、获取所述高命令槽和所述低命令槽中各所述命令的所述命令类型;其中,所述命令类型包括读命令、写命令和擦命令;
15、获取所述高命令槽和所述低命令槽中各所述命令对应的执行情况;其中,所述执行情况包括对应所述命令是否执行完成以及所述命令的执行时长;
16、获取所述高命令槽和所述低命令槽中各所述命令对应的状态;其中,所述状态表征清空使能对支持清空功能的所述命令的清空情况。
17、另一方面,所述根据所述高命令槽的清空使能结果和所述低命令槽的清空使能结果验证与非型闪存控制器的清空功能包括:
18、根据所述高命令槽和所述低命令槽中各所述命令对应的所述状态和所述执行情况,判断所述高命令槽和所述低命令槽中未执行且支持清空功能的各所述命令是否均被清除,且不支持清空功能的各所述命令是否均未被清除;
19、若确认未执行且支持清空功能的各所述命令未均被清除,和/或不支持清空功能的各所述命令被清除,则确认所述非型闪存控制器的清空功能不合格;
20、若确认未执行且支持清空功能的各所述命令均被清除,且不支持清空功能的各所述命令均未被清除,则根据所述高命令槽和所述低命令槽中各所述命令对应的所述执行情况判断执行清空使能时正在执行的所述命令是否满足预设要求;
21、若确认执行清空使能时正在执行的所述命令不满足所述预设要求,则确认所述非型闪存控制器的清空功能不合格;
22、若确认执行清空使能时正在执行的所述命令满足所述预设要求,则根据所述高命令槽和所述低命令槽中各所述命令的所述命令类型判断未执行且支持清空功能的各所述命令的所述状态是否正确;
23、若未执行且支持清空功能的各所述命令的所述状态不正确,则确认所述非型闪存控制器的清空功能不合格;
24、若未执行且支持清空功能的各所述命令的所述状态正确,则确认所述非型闪存控制器的清空功能合格。
25、另一方面,所述根据所述高命令槽和所述低命令槽中各所述命令对应的所述状态和所述执行情况,判断所述高命令槽和所述低命令槽中未执行且支持清空功能的各所述命令是否均被清除,且不支持清空功能的各所述命令是否均未被清除包括:
26、根据所述高命令槽和所述低命令槽中各所述命令对应的所述执行情况获取未执行且支持清空功能的各所述命令;
27、获取未执行且支持清空功能的各所述命令的所述状态和不支持清空功能的各所述命令的所述状态;
28、判断未执行且支持清空功能的各所述命令的所述状态的比特值是否均为1,且不支持清空功能的各所述命令的所述状态的比特值是否不全为1;
29、若是,则确认所述高命令槽和所述低命令槽中未执行且支持清空功能的各所述命令均被清除,且不支持清空功能的各所述命令均未被清除;
30、若否,则确认未执行且支持清空功能的各所述命令未均被清除,和/或不支持清空功能的各所述命令被清除。
31、另一方面,所述根据所述高命令槽和所述低命令槽中各所述命令对应的所述执行情况判断执行清空使能时正在执行的所述命令是否满足预设要求包括:
32、根据所述高命令槽和所述低命令槽中各所述命令对应的所述执行情况获取执行清空使能时正在执行的所述命令的所述执行时长;
33、判断所述执行时长是否小于预设时长;
34、若是,则确认执行清空使能时正在执行的所述命令满足所述预设要求;
35、若否,则确认执行清空使能时正在执行的所述命令不满足所述预设要求。
36、另一方面,所述根据所述高命令槽和所述低命令槽中各所述命令的所述命令类型判断未执行且支持清空功能的各所述命令的所述状态是否正确包括:
37、获取所述高命令槽和所述低命令槽中未执行且支持清空功能的各所述命令的所述命令类型;
38、当所述命令的所述命令类型为所述读命令时,获取所述读命令的所述执行情况,并获取所述读命令对应的数据存放地址;
39、根据所述执行情况判断所述读命令是否未执行成功,且所述数据存放地址中的数据为0;
40、若确认所述读命令未执行成功,且所述数据存放地址中的数据为0,则确认所述读命令的所述状态正确,否则确认所述读命令的所述状态不正确;
41、当所述命令的所述命令类型为所述写命令时,获取所述写命令对应的物理区块地址数据;
42、判断所述物理区块地址数据是否全为1;
43、若所述物理区块地址数据全为1,则确认所述写命令的所述状态正确,否则确认所述写命令的所述状态不正确;
44、当所述命令的所述命令类型为所述擦命令时,获取所述擦命令对应的块;
45、判断所述块是否为空页;
46、若所述块不为空页,则确认所述擦命令的所述状态正确,否则确认所述擦命令的所述状态不正确。
47、为解决上述技术问题,本发明还提供一种清空功能测试装置,应用于与非型闪存控制器;所述装置包括:
48、生成模块,用于生成清空功能测试项;其中,所述清空功能测试项中包含高命令槽对应命令的命令类型、命令数量、清空使能位置以及各命令是否支持清空功能,以及低命令槽对应命令的命令类型、命令数量、清空使能位置以及各命令是否支持清空功能;
49、处理模块,用于根据所述清空功能测试项对与非型闪存进行预处理;
50、写入模块,用于将所述清空功能测试项中的各所述命令对应放入所述高命令槽和所述低命令槽中,以分别执行所述高命令槽的清空使能和所述低命令槽的清空使能;
51、获取模块,用于获取所述高命令槽的清空使能结果和所述低命令槽的清空使能结果;
52、验证模块,用于根据所述高命令槽的清空使能结果和所述低命令槽的清空使能结果验证与非型闪存控制器的清空功能。
53、为解决上述技术问题,本发明还提供一种清空功能测试设备,包括:
54、存储器,用于存储计算机程序;
55、处理器,用于执行所述计算机程序时实现上述的清空功能测试方法的步骤。
56、为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的清空功能测试方法的步骤。
57、本发明所提供的清空功能测试方法,通过生成清空功能测试项;其中,清空功能测试项中包含高命令槽对应命令的命令类型、命令数量、清空使能位置以及各命令是否支持清空功能,以及低命令槽对应命令的命令类型、命令数量、清空使能位置以及各命令是否支持清空功能;根据清空功能测试项对与非型闪存进行预处理;将清空功能测试项中的各命令对应放入高命令槽和低命令槽中,以分别执行高命令槽的清空使能和低命令槽的清空使能;获取高命令槽的清空使能结果和低命令槽的清空使能结果;根据高命令槽的清空使能结果和低命令槽的清空使能结果验证与非型闪存控制器的清空功能。本发明的有益效果在于,考虑到闪存中读命令、写命令和擦命令三种命令的特性,在生成清空功能测试项时提前设置好各种类型的命令的配置,以此作为flush功能测试的条件。随后将清空功能测试项放入高命令槽和低命令槽中,从而实现flush功能测试并得到测试结果。由于测试过程中不受人为因素干扰,能够避免人工参数设置导致的测试项重复,提高了测试效率。
58、此外,本发明还提供了一种清空功能测试装置、设备及介质,效果同上。
本文地址:https://www.jishuxx.com/zhuanli/20240731/183813.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表