一种数据校验测试方法、装置及计算机可读存储介质与流程

文档序号:34242764发布日期:2023-05-25 01:07阅读:40来源:国知局
一种数据校验测试方法、装置及计算机可读存储介质与流程

本技术涉及计算机存储,特别是涉及一种数据校验测试方法、装置及计算机可读存储介质。


背景技术:

1、目前,采用非易失性内存主机控制器接口规范(nvm express,nvme)的固态硬盘(solid state disk,ssd)设备,由于其相对于传统磁盘所具有的高带宽和低延迟的良好性能,如今正在被越来越广泛地应用于企业和消费级存储设备领域中。作为存储数据的设备,数据读写的一致性功能是其最基本、最重要的功能。一般在产品的研发阶段会对ssd设备的数据一致性功能做专项测试,测试方法一般是使用主机侧工具构造测试数据并下发给ssd设备,然后对相同的地址做读操作,对读上来的数据与之前下发的测试数据进行校验,来判断是否有校验错误产生。

2、但是在此测试场景下,当发生写校验错误时,往往已错过了第一现场,校验动作只能在写完之后对设备进行读操作时才能进行;如果数据在写入闪存(flash)设备之前已经发生错误,此时不但写流程早已经执行完毕,且新的读流程也已经执行结束,问题发生的现场很有可能已不复存在,给问题定位造成了很大的困难。

3、鉴于上述问题,如何实现ssd设备一致性功能测试过程中校验错误位置的准确定位,是该领域技术人员亟待解决的问题。


技术实现思路

1、本技术的目的是提供一种数据校验测试方法、装置及计算机可读存储介质,以实现ssd设备一致性功能测试过程中校验错误位置的准确定位。

2、为解决上述技术问题,本技术提供一种数据校验测试方法,应用于主机侧;所述方法包括:

3、通过io测试工具生成控制命令,并发送控制命令至固态硬盘,以用于所述固态硬盘根据所述控制命令生成校验数据;其中,所述控制命令中至少包含时间戳、数据地址、测试用例信息和任务线程信息;

4、根据所述控制命令生成测试数据,并发送所述测试数据至所述固态硬盘,以用于所述固态硬盘通过内部的各处理单元依次比对所述测试数据与所述校验数据;

5、当通过所述处理单元确定发生校验错误时,接收所述固态硬盘发送的异步事件信息;

6、根据所述异步事件信息发送管理命令至所述固态硬盘,以用于通过所述管理命令获取所述固态硬盘内发生校验错误的现场环境数据。

7、优选地,所述固态硬盘通过内部的各所述处理单元依次比对所述测试数据与所述校验数据包括:

8、依次通过接口处理单元、算法处理单元和介质处理单元比对所述测试数据与所述校验数据,并存储所述测试数据至nand flash中;

9、若所述接口处理单元、所述算法处理单元和所述介质处理单元中任一所述处理单元确定发生校验错误,则发送所述异步事件信息至所述主机。

10、优选地,在所述通过所述管理命令获取所述固态硬盘内发生校验错误的现场环境数据之后,还包括:

11、输出根据所述现场环境数据解析出的校验错误原因信息。

12、优选地,若通过所述处理单元确定未发生校验错误,还包括:

13、发送停止指令至所述固态硬盘,以用于所述固态硬盘擦除所述校验数据并停止测试过程。

14、优选地,在所述发送停止指令至所述固态硬盘之后,还包括:

15、根据所述控制指令和所述停止指令生成数据校验测试日志。

16、为解决上述技术问题,本技术提供一种数据校验测试方法,应用于固态硬盘侧;所述方法包括:

17、接收主机发送的控制命令,并根据所述控制命令生成校验数据;其中,所述控制命令由所述主机通过io测试工具生成,所述控制命令至少包含时间戳、数据地址、测试用例信息和任务线程信息;

18、接收所述主机发送的测试数据,并通过内部的各处理单元依次比对所述测试数据与所述校验数据;其中,所述测试数据由所述主机根据所述控制命令生成;

19、当通过所述处理单元确定发生校验错误时,发送异步事件信息至所述主机;

20、接收所述主机根据所述异步事件信息发送的管理命令,以用于所述主机通过所述管理命令获取校验错误的现场环境数据。

21、为解决上述技术问题,本技术还提供一种数据校验测试装置,应用于主机侧;所述装置包括:

22、控制指令发送模块,用于通过io测试工具生成控制命令,并发送控制命令至固态硬盘,以用于所述固态硬盘根据所述控制命令生成校验数据;其中,所述控制命令中至少包含时间戳、数据地址、测试用例信息和任务线程信息;

23、测试数据发送模块,用于根据所述控制命令生成测试数据,并发送所述测试数据至所述固态硬盘,以用于所述固态硬盘通过内部的各处理单元依次比对所述测试数据与所述校验数据;

24、异步事件信息接收模块,用于当通过所述处理单元确定发生校验错误时,接收所述固态硬盘发送的异步事件信息;

25、管理命令发送模块,用于根据所述异步事件信息发送管理命令至所述固态硬盘,以用于通过所述管理命令获取所述固态硬盘内发生校验错误的现场环境数据。

26、为解决上述技术问题,本技术还提供一种数据校验测试装置,应用于固态硬盘侧;所述装置包括:

27、控制命令接收模块,用于接收主机发送的控制命令,并根据所述控制命令生成校验数据;其中,所述控制命令由所述主机通过io测试工具生成,所述控制命令至少包含时间戳、数据地址、测试用例信息和任务线程信息;

28、测试数据接收模块,用于接收所述主机发送的测试数据,并通过内部的各处理单元依次比对所述测试数据与所述校验数据;其中,所述测试数据由所述主机根据所述控制命令生成;

29、异步事件信息发送模块,用于当通过所述处理单元确定发生校验错误时,发送异步事件信息至所述主机;

30、管理命令接收模块,用于接收所述主机根据所述异步事件信息发送的管理命令,以用于所述主机通过所述管理命令获取校验错误的现场环境数据。

31、为解决上述技术问题,本技术还提供另一种数据校验测试装置,包括:

32、存储器,用于存储计算机程序;

33、处理器,用于执行所述计算机程序时实现上述的数据校验测试方法的步骤。

34、为解决上述技术问题,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据校验测试方法的步骤。

35、本技术所提供的数据校验测试方法,通过io测试工具生成控制命令,并发送控制命令至固态硬盘,以用于固态硬盘根据控制命令生成校验数据;其中,控制命令中至少包含时间戳、数据地址、测试用例信息和任务线程信息;根据控制命令生成测试数据,并发送测试数据至固态硬盘,以用于固态硬盘通过内部的各处理单元依次比对测试数据与校验数据;当通过处理单元确定发生校验错误时,接收固态硬盘发送的异步事件信息;根据异步事件信息发送管理命令至固态硬盘,以用于通过管理命令获取固态硬盘内发生校验错误的现场环境数据。由此可知,上述方案令固态硬盘根据控制指令生成校验数据,并发送测试数据至固态硬盘,从而在固态硬盘内部处理i/o的流程中实现了数据校验,因此能将校验错误第一时间暴露出来,从而不依赖主机侧的读命令,实现了校验错误位置的准确定位;同时在发生校验错误的第一时间向主机反馈,保护了现场环境,为进一步的问题定位提供了便利。

36、此外,本技术实施例还提供了一种数据校验测试装置及计算机可读存储介质,效果同上。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1