固态硬盘控制器identify测试方法、装置及计算机设备与流程

文档序号:27064033发布日期:2021-10-24 09:13阅读:421来源:国知局
固态硬盘控制器identify测试方法、装置及计算机设备与流程

1.本发明涉及硬盘测试技术领域,特别是涉及一种固态硬盘控制器identify测试方法、装置、计算机设备及存储介质。


背景技术:

2.随着计算机技术的发展,计算机设备已经成为当今人们最具备生成力的实用工具,而其中计算机设备的安全性以及稳定性是人们在利用计算机进行工作时的必要保障。如今,固态硬盘因为其具备的快速读写、质量轻、能耗低以及体积小等特点,应用也越来越广泛。固态硬盘是计算机设备中的核心硬件设备之一,其稳定性和可靠性大大影响整个计算机设备的安全性和稳定性,因此在计算机设备出厂之前,需要对计算机设备中的固态硬盘进行系统测试。
3.identify测试是固态硬盘控制器的一个测试项,然而,在传统技术下做固态硬盘的identify测试只能依赖第三方的测试(非开源),因此当测试过程出现了问题之后,对异常进行分析会很繁琐,进而导致测试效率低下。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种固态硬盘控制器identify测试方法、装置、计算机设备及存储介质。
5.一种固态硬盘控制器identify测试方法,所述方法包括:
6.获取固态硬盘控制器identify测试请求;
7.根据所述固态硬盘控制器identify测试请求下载并安装windows软件开发工具包;
8.利用所述windows软件开发工具包开发对应的测试接口;
9.根据所述测试请求中协议规定的测试内容对所述测试接口中的接口参数进行设置;
10.在不同的接口参数的设置组合下对待测固态硬盘进行identify测试。
11.在其中一个实施例,所述测试接口的接口参数包括:控制器命名空间、命名空间类型以及控制器设置参数。
12.在其中一个实施例,所述根据所述测试请求中协议规定的测试内容对所述测试接口中的接口参数进行设置的步骤还包括:
13.分别将所述控制器命名空间设置为1、0、2;
14.分别将所述命名空间类型设置为0、1、active、ffffffffh、invalid;
15.分别将所述控制器设置参数设置为0、非0。
16.在其中一个实施例,所述在不同的接口参数的设置组合下对待测固态硬盘进行identify测试的步骤还包括:
17.在不同的接口参数的设置组合下对待测固态硬盘发送控制命令;
18.根据所述固态硬盘返回的状态判断所述控制命令的执行是否符合预期。
19.一种固态硬盘控制器identify测试装置,所述装置包括:
20.获取模块,所述获取模块用于获取固态硬盘控制器identify测试请求;
21.安装模块,所述安装模块用于根据所述固态硬盘控制器identify测试请求下载并安装windows软件开发工具包;
22.接口开发模块,所述接口开发模块用于利用所述windows软件开发工具包开发对应的测试接口;
23.参数设置模块,所述参数设置模块用于根据所述测试请求中协议规定的测试内容对所述测试接口中的接口参数进行设置;
24.测试模块,所述测试模块用于在不同的接口参数的设置组合下对待测固态硬盘进行identify测试。
25.在其中一个实施例,所述测试接口的接口参数包括:控制器命名空间、命名空间类型以及控制器设置参数。
26.在其中一个实施例,所述参数设置模块还用于:
27.分别将所述控制器命名空间设置为1、0、2;
28.分别将所述命名空间类型设置为0、1、active、ffffffffh、invalid;
29.分别将所述控制器设置参数设置为0、非0。
30.在其中一个实施例,所述装置包括命令下发模块,所述命令下发模块用于:
31.在不同的接口参数的设置组合下对待测固态硬盘发送控制命令;
32.根据所述固态硬盘返回的状态判断所述控制命令的执行是否符合预期。
33.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
34.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
35.上述固态硬盘控制器identify测试方法、装置、计算机设备及存储介质通过获取固态硬盘控制器identify测试请求;根据所述固态硬盘控制器identify测试请求下载并安装windows软件开发工具包;利用所述windows软件开发工具包开发对应的测试接口;根据所述测试请求中协议规定的测试内容对所述测试接口中的接口参数进行设置;在不同的接口参数的设置组合下对待测固态硬盘进行identify测试。本发明通过windows软件开发工具包搭建开源的控制器identify测试流程,实现了固态硬盘identify测试的全面覆盖,可以及时地发现测试中出现的异常,有效地提高了测试效率。
附图说明
36.图1为一个实施例中固态硬盘控制器identify测试方法的构思示意图;
37.图2为一个实施例中固态硬盘控制器identify测试方法的流程示意图;
38.图3为另一个实施例中固态硬盘控制器identify测试方法的流程示意图;
39.图4为一个实施例中固态硬盘控制器identify测试装置的结构框图;
40.图5为另一个实施例中固态硬盘控制器identify测试装置的结构框图;
41.图6为一个实施例中计算机设备的内部结构图。
具体实施方式
42.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
43.目前,identify测试是固态硬盘控制器的一个测试项,然而,在传统技术下做固态硬盘的identify测试只能依赖第三方的测试(非开源),因此当测试过程出现了问题之后,对异常进行分析会很繁琐,进而导致测试效率低下。。
44.基于此,本发明提供了一种固态硬盘控制器identify测试方法,具体地,该方法的整体构思如图1所示。具体地,首先,下载并安装最新的wsdk库,wsdk即windows software develop kit为windows软件开发工具包。接着,利用安装好的wsdk库开发测试接口。最后,根据测试的需要设计对应的测试方案,进行测试接口的各项参数设置,遍历协议规定的测试内容。
45.在一个实施例中,如图2所示,提供了一种固态硬盘控制器identify测试,该方法包括:
46.步骤202,获取固态硬盘控制器identify测试请求;
47.步骤204,根据固态硬盘控制器identify测试请求下载并安装windows软件开发工具包;
48.步骤206,利用windows软件开发工具包开发对应的测试接口;
49.步骤208,根据测试请求中协议规定的测试内容对测试接口中的接口参数进行设置;
50.步骤210,在不同的接口参数的设置组合下对待测固态硬盘进行identify测试。
51.在本实施例中,提供了一种固态硬盘控制器identify测试方法,其具体的实现步骤如下:
52.首先,待测设备获取固态硬盘控制器identify测试请求。具体地,该请求中可以包括具体的测试对象以及需要进行测试的测试项目。
53.接着,待测设备根据固态硬盘控制器identify测试请求访问服务器,下载并安装windows软件开发工具包。windows sdk是微软每推出一个重要的windows版本,一般都会同时推出一个sdk(software development kit)。sdk包含了开发该windows版本所需的windows函数和常数定义、api函数说明文档、相关工具和示例。sdk一般使用c语言,但不包括编译器。
54.然后,利用windows软件开发工具包开发对应的测试接口,并根据测试请求中协议规定的测试内容对测试接口中的接口参数进行设置。
55.在一个实施例中,测试接口的接口参数包括:控制器命名空间(cns,controller namespace)、命名空间类型(nsid,namespace id)以及控制器设置参数(cntid,controller identifier)。
56.在一个实施例,根据测试请求中协议规定的测试内容对所述测试接口中的接口参数进行设置的步骤还包括:分别将所述控制器命名空间设置为1、0、2;分别将所述命名空间类型设置为0、1、active、ffffffffh、invalid;分别将所述控制器设置参数设置为0、非0。
57.最后,根据测试的需要设计对应的测试方案,进行测试接口的各项参数设置,遍历
协议规定的测试内容。具体地,可以在上述不同参数的组合下对待测固态硬盘发送命令,并根据返回的状态判断其是否符合预期。
58.在本实施例中,通过获取固态硬盘控制器identify测试请求;根据所述固态硬盘控制器identify测试请求下载并安装windows软件开发工具包;利用所述windows软件开发工具包开发对应的测试接口;根据所述测试请求中协议规定的测试内容对所述测试接口中的接口参数进行设置;在不同的接口参数的设置组合下对待测固态硬盘进行identify测试。本方案通过windows软件开发工具包搭建开源的控制器identify测试流程,实现了固态硬盘identify测试的全面覆盖,可以及时地发现测试中出现的异常,有效地提高了测试效率。
59.在一个实施例中,如图3所示,提供了一种固态硬盘控制器identify测试,该方法包括:
60.步骤302,获取固态硬盘控制器identify测试请求;
61.步骤304,根据固态硬盘控制器identify测试请求下载并安装windows软件开发工具包;
62.步骤306,利用windows软件开发工具包开发对应的测试接口;
63.步骤308,根据测试请求中协议规定的测试内容对测试接口中的接口参数进行设置;
64.步骤310,在不同的接口参数的设置组合下对待测固态硬盘发送控制命令;
65.步骤312,根据固态硬盘返回的状态判断控制命令的执行是否符合预期。
66.在本实施例中,提供了一个完整的固态硬盘控制器identify测试方法,该方法包括如下执行步骤:
67.步骤1、下载安装最新的wsdk库。
68.步骤2、利用wsdk库开发测试接口。
69.步骤3、根据测试要求设计对应的测试方案:
70.步骤3a、分别对cns(控制器命名空间)设置为1、0、2。
71.步骤3b、分别对nsid(命名空间类型)设置为0、1、active、ffffffffh、invalid。
72.步骤3c、分别对cntid(控制器设置参数)设置为0、非0。
73.步骤4、在不同设置组合下对固态硬盘发送命令。
74.步骤5、根据返回状态判断其是否符合预期。
75.应该理解的是,虽然图1

3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1

3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
76.在一个实施例中,如图4所示,提供了一种固态硬盘控制器identify测试装置400,该装置包括:
77.获取模块401,所述获取模块用于获取固态硬盘控制器identify测试请求;
78.安装模块402,所述安装模块用于根据所述固态硬盘控制器identify测试请求下载并安装windows软件开发工具包;
79.接口开发模块403,所述接口开发模块用于利用所述windows软件开发工具包开发对应的测试接口;
80.参数设置模块404,所述参数设置模块用于根据所述测试请求中协议规定的测试内容对所述测试接口中的接口参数进行设置;
81.测试模块405,所述测试模块用于在不同的接口参数的设置组合下对待测固态硬盘进行identify测试。
82.在一个实施例,所述测试接口的接口参数包括:控制器命名空间、命名空间类型以及控制器设置参数。
83.在一个实施例,所述参数设置模块404还用于:
84.分别将所述控制器命名空间设置为1、0、2;
85.分别将所述命名空间类型设置为0、1、active、ffffffffh、invalid;
86.分别将所述控制器设置参数设置为0、非0。
87.在一个实施例中,如图5所示,提供了一种固态硬盘控制器identify测试装置400,该装置还包括命令下发模块406,所述命令下发模块用于:
88.在不同的接口参数的设置组合下对待测固态硬盘发送控制命令;
89.根据所述固态硬盘返回的状态判断所述控制命令的执行是否符合预期。
90.关于固态硬盘控制器identify测试装置的具体限定可以参见上文中对于固态硬盘控制器identify测试方法的限定,在此不再赘述。
91.在一个实施例中,提供了一种计算机设备,其内部结构图可以如图6所示。该计算机设备包括通过装置总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作装置和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种固态硬盘控制器identify测试方法。
92.本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
93.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
94.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
95.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可
包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
96.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
97.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1