一种固态硬盘的测试方法及系统与流程

文档序号:29360457发布日期:2022-03-23 01:16阅读:165来源:国知局
一种固态硬盘的测试方法及系统与流程

1.本发明涉及固态硬盘技术领域,尤其涉及一种固态硬盘的测试方法及系统。


背景技术:

2.随着现代社会的信息化程度的不断提高,越来越多的数据被生成并保存下来,现代社会已经从互联网时代进入大数据时代。固态硬盘作为高性能、大容量的存储媒介,正在被广泛使用。固态硬盘有时会作为缓存盘使用,在该场景下向固态硬盘内写入的数据几乎只在刚写入时会被读取,然后又有新数据写入、被读取,较早写入的数据会在固态硬盘内保存较长时间,这样,较早写入的数据就变为冷数据,新写入的数据是热数据。
3.由于冷数据和热数据在固态硬盘内保持的时间不同,保持时间越长,下次被读取时出错的概率就越高,因此固态硬盘的firmware固件会采取一定的算法避免出错概率升高。但是,在研发固态硬盘时,对固态硬盘的测试通常是循环地全盘写及全盘读,缺乏固态硬盘内冷热数据的测试,从而对固态硬盘的firmware功能验证不全面。


技术实现要素:

4.为了解决上述问题,本发明提供一种固态硬盘的测试方法及系统,具体地,本发明实施例提供了以下技术方案:第一方面,本发明实施例提供了一种固态硬盘的测试方法,包括:将固态硬盘按照容量分为n份并记录硬盘各份容量的位置信息,所述n为大于1的整数;依据硬盘各份容量的位置信息,在不同时间点向硬盘各份容量依次写入对应容量的数据;对包含不同写入时间的数据的所述固态硬盘进行测试。
5.进一步地,在所述依据硬盘各份容量的位置信息,在不同时间点向硬盘各份容量依次写入对应容量的数据之前,还包括:对所述固态硬盘进行数据的全盘写入。
6.进一步地,所述在不同时间点向硬盘各份容量依次写入对应容量的数据包括:按照硬盘各份容量对应的写入时间间隔,依次向硬盘各份容量写入对应容量的数据。
7.进一步地,硬盘各份容量对应的写入时间间隔由预设的时间函数确定,所述时间函数体现所述写入时间间隔与硬盘各份容量的标识信息之间的关系。
8.进一步地,所述对包含不同写入时间的数据的所述固态硬盘进行测试包括:当任一份硬盘写入对应容量的数据后,在对应的写入时间间隔内对所述固态硬盘进行测试。
9.进一步地,所述测试包括:电静置测试或读测试。
10.进一步地,所述时间函数包括非线性函数。
11.第二方面,本发明还提供了一种固态硬盘的测试系统,包括:划分单元:用于将固态硬盘按照容量分为n份并记录硬盘各份容量的位置信息,所述n为大于1的整数;存储单元:用于依据硬盘各份容量的位置信息,在不同时间点向硬盘各份容量依次写入对应容量的数据;测试单元:用于对包含不同写入时间的数据的所述固态硬盘进行测试。
12.第三方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的固态硬盘的测试方法的步骤。
13.第四方面,本发明还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的固态硬盘的测试方法的步骤。
14.由上述技术方案可知,本发明提供的一种固态硬盘的测试方法,通过将固态硬盘按照容量分为若干份并在不同时间点向硬盘各份容量依次写入对应容量的数据,使得硬盘的每份容量的写入时间不同,从而使数据保持的时间也不同,以此构造固态硬盘中的冷热数据。进而,对包含不同写入时间的冷热数据的固态硬盘进行测试,解决了固态硬盘的firmware固件功能验证不全面的问题,可以准确地、全面地验证固态硬盘firmware固件的相关算法和功能,提高固态硬盘测试的灵活度和全面性。
附图说明
15.此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1为本发明一个实施例提供的固态硬盘的测试方法的流程示意图;图2为本发明一个实施例提供的固态硬盘的测试装置的架构示意图;图3为本发明一个实施例提供的电子设备的结构示意图。
具体实施方式
16.为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
17.下面将结合附图对本发明实施例进行详细介绍。
18.图1示出了本发明实施例提供的固态硬盘的测试方法的流程图。如图1所示,本发明实施例提供的固态硬盘的测试方法,包括如下步骤:步骤s1:将固态硬盘按照容量分为n份并记录硬盘各份容量的位置信息,n为大于1的整数。
19.具体地,将固态硬盘按照容量c划分成n份,n为大于1的整数,划分方式可以为等分或不等分,所得到的每一份为硬盘各份容量,之后记录划分得到的硬盘各份容量的位置信
息,其中,位置信息包括偏移量offset参数和数据大小size参数。例如,将固态硬盘的容量c等分为10份,通过offset参数和size参数设置硬盘各份容量的位置信息,则硬盘的每份容量的数据大小为size=10%c,从第1份到第10份的偏移量依次为offset=0%至offset=90%c。
20.步骤s2:依据硬盘各份容量的位置信息,在不同时间点向硬盘各份容量依次写入对应容量的数据。
21.具体地,在完成对固态硬盘容量的划分之后,硬盘的各份容量便有其对应的大小,之后依据硬盘各份容量的位置信息,在不同时间点向硬盘各份容量依次写入对应容量的数据,就在固态硬盘内构造了不同写入时间的冷热数据。例如,将固态硬盘的容量c等分成n份,则硬盘各份容量对应的容量大小为,在时间t1,对固态硬盘容量的第1份写入 大小的数据,在时间t2,再对固态硬盘容量的第2份写入大小的数据,如此循环,直到固态硬盘的第n份被写入 大小的数据,这样固态硬盘内每份容量的写入时间不一样,数据保持的时间也就不一样,在固态硬盘内就构造了冷热数据。
22.在本发明的一个实施例中,本步骤中在依据硬盘各份容量的位置信息,在不同时间点向硬盘各份容量依次写入对应容量的数据之前,还包括:对固态硬盘进行数据的全盘写入。
23.具体地,在向固态硬盘中的硬盘各份容量写入对应容量的数据之前,先进行固态硬盘数据的全盘写入,将固态硬盘全盘写一遍,从而保证固态硬盘内有数据,之后在任意一份硬盘被写入对应容量的数据之后,便可对固体硬盘进行测试,使得固态硬盘的测试时间更灵活。
24.在本发明的一个实施例中,本步骤中在不同时间点向硬盘各份容量依次写入对应容量的数据包括:按照硬盘各份容量对应的写入时间间隔,依次向硬盘各份容量写入对应容量的数据。
25.具体地,本实施例通过对固态硬盘中的硬盘各份容量设置不同的写入时间间隔,从而实现在不同的时间点依次向硬盘各份容量写入对应容量的数据,进而构造固态硬盘中的冷热数据。其中,硬盘各份容量对应的写入时间间隔可以是随机生成的,也可以是根据函数关系确定的,从而更好地模拟用户在实际使用固态硬盘时存储数据的过程。
26.本发明实施例提供的固态硬盘的测试方法,从固态硬盘的容量出发,将容量分为若干份,对每一份在不同的时间间隔后进行写入操作,思路简明,容易实现,使得冷数据在固态硬盘中的保持时间不同,在保证固态硬盘的测试方法有效性的同时也提高了测试的灵活性。
27.在本发明的一个实施例中,硬盘各份容量对应的写入时间间隔由预设的时间函数确定,时间函数体现写入时间间隔与硬盘各份容量的标识信息之间的关系。
28.具体地,硬盘各份容量的标识信息代表向硬盘各份容量写入数据的顺序,如硬盘各份容量的编号、序号等,该标识信息与硬盘各份容量的位置信息具有对应关系。例如,将固态硬盘的容量c分成n份,硬盘各份容量对应的编号即标识信息依次为12,3,
ꢀ…
,n。硬盘各份容量对应的写入时间间隔为t,设置时间函数t=f(n), n=1,2

n,该时间函数体现硬盘各份容量对应的写入时间间隔t与硬盘各份容量的标识信息n之间的关系,具体的函数体可以根据实际测试需要设置不同的函数。
29.本发明实施例提供的固态硬盘的测试方法,通过设置不同的时间间隔函数,在实现逻辑方面结构紧凑,可以控制冷数据在固态硬盘中的保持时间,从而模拟不同场景下的冷热数据,更加全面的验证固态硬盘的firmware固件相关功能。
30.在本发明的一个实施例中,时间函数包括非线性函数。
31.具体地,非线性函数即函数图像不是一条直线的函数,包括指数函数、对数函数、幂函数、多项式函数等等。例如,将固态硬盘的容量c分为10份,硬盘各份容量对应的编号即标识信息依次为1,2,3,
ꢀ…
,10;设置硬盘各份容量对应的写入时间间隔t为幂函数,t= ,n=1,2

10,单位是h(小时)。由此,便构造了非线性函数关系体现硬盘各份容量对应的不同的写入时间间隔。通过设置非线性函数作为时间函数,可以更好地模拟真实场景下的冷热数据的输入过程,更加全面地验证固态硬盘的固件功能,提高测试的灵活度和全面性。
32.步骤s3:对包含不同写入时间的数据的固态硬盘进行测试。
33.具体地,在完成上述步骤s1和s2之后,固态硬盘内便构造了包含不同写入时间的冷热数据,由此便可基于该冷热数据对固态硬盘进行测试,从而验证固态硬盘的firmware固件的功能和算法,并基于测试结果进行优化。对固态硬盘的测试可以基于任何对固态硬盘具有读写功能的工具,例如fio工具等。
34.在本发明的一个实施例中,本步骤中的测试包括:电静置测试或读测试。
35.具体地,电静置测试即在电静置,是指对固态硬盘通电,不进行操作;读测试包括读写测试等等。
36.在本发明的一个实施例中,本步骤中对包含不同写入时间的数据的固态硬盘进行测试包括:当任一份硬盘写入对应容量的数据后,在对应的写入时间间隔内对固态硬盘进行测试。
37.具体地,当任一份硬盘写入对应容量的数据后,都可以在对应的写入时间间隔内对固态硬盘进行测试,测试包括在电静置或读测试等,由此,测试的时间更加灵活,可以提升固态硬盘测试的全面性和准确性,更好地验证firmware的功能。
38.在上述各实施例的基础上,在本发明的一个具体的实施例中,本发明的固态硬盘的测试方法,具体流程描述如下:(1)将固态硬盘按照容量c等分成10份,本实施例采用fio工具对固态硬盘做读写测试,可以通过offset参数和size参数设置对固态硬盘容量的第n份( n=1,2

10)写入c/10大小的数据,均通过百分比表示;设硬盘各份容量对应的写入时间间隔t= ,n=1,2

10,单位是h;(2)首先将固态硬盘全盘写一遍,然后在任意时间内对固态硬盘在电静置或做读测试;(3)然后对固态硬盘容量的第1份写入c/10大小的数据,用fio工具写入,主要参数如下:offset=0%,size=10%,rw=write;写完成后,在时间t=2h内对固态硬盘在电静置或做读测试;(4)然后对固态硬盘容量的第2份写入c/10大小的数据,用fio工具写入,主要参数如下:offset=10%,size=10%,rw=write;写完成后,在时间t=4h内对固态硬盘在电静置或做读测试;(5)然后对固态硬盘容量的第3份写入c/10大小的数据,用fio工具写入,主要参数
如下:offset=20%,size=10%,rw=write;写完成后,在时间t=8h内对固态硬盘在电静置或做读测试;(6)如此循环,改变fio测试脚本的offset参数及时间间隔t,直到写完固态硬盘容量的第10份,这样固态硬盘内的10份数据写入时间不一样,数据保持的时间也就不一样。
39.(7)对包含不同保存时间不同的冷热数据的固态硬盘进行测试。
40.在上述各实施例的基础上,本发明提供的一种固态硬盘的测试方法,通过将固态硬盘按照容量分为若干份并在不同时间点向硬盘各份容量依次写入对应容量的数据,使得硬盘的每份容量的写入时间不同,从而使数据保持的时间也不同,以此构造固态硬盘中的冷热数据。进而,对包含不同写入时间的冷热数据的固态硬盘进行测试,解决了固态硬盘的firmware固件功能验证不全面的问题,可以准确地、全面地验证固态硬盘firmware固件的相关算法和功能,提高固态硬盘测试的灵活度和全面性。
41.与上述实施例相对应的,本发明的另一实施例还提供了一种固态硬盘的测试装置,其中,在本实施例中,与上述实施例相同或相应的内容,请参考上文介绍,后续不再赘述。
42.如图2所示,本发明实施例公开的一种固态硬盘的测试装置,包括划分单元201、存储单元202和测试单元203,其中:划分单元201:用于将固态硬盘按照容量分为n份并记录硬盘各份容量的位置信息,所述n为大于1的整数;存储单元202:用于依据硬盘各份容量的位置信息,在不同时间点向硬盘各份容量依次写入对应容量的数据;还用于在所述依据硬盘各份容量的位置信息,在不同时间点向硬盘各份容量依次写入对应容量的数据之前,对所述固态硬盘进行数据的全盘写入;所述在不同时间点向硬盘各份容量依次写入对应容量的数据包括:按照硬盘各份容量对应的写入时间间隔,依次向硬盘各份容量写入对应容量的数据;硬盘各份容量对应的写入时间间隔由预设的时间函数确定,所述时间函数体现所述写入时间间隔与硬盘各份容量的标识信息之间的关系;所述时间函数包括非线性函数;测试单元203:用于对包含不同写入时间的数据的所述固态硬盘进行测试;还用于当任一份硬盘写入对应容量的数据后,在对应的写入时间间隔内对所述固态硬盘进行测试;所述测试包括:电静置测试或读测试。
43.本发明实施例提供的固态硬盘的测试装置,采用上述实施例中的固态硬盘的测试方法,通过将固态硬盘按照容量分为若干份并在不同时间点向硬盘各份容量依次写入对应容量的数据,使得硬盘的每份容量的写入时间不同,从而使数据保持的时间也不同,以此构造固态硬盘中的冷热数据。进而,对包含不同写入时间的冷热数据的固态硬盘进行测试,解决了固态硬盘的firmware固件功能验证不全面的问题,可以准确地、全面地验证固态硬盘firmware固件的相关算法和功能,提高固态硬盘测试的灵活度和全面性。
44.由于本发明实施例提供的固态硬盘的测试装置,可以用于执行上述实施例所述的固态硬盘的测试方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
45.基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图3,所述电子设备具体包括如下内容:处理器、存储器、通信接口和通信总线;
其中,所述处理器、存储器、通信接口通过所述通信总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程: 将固态硬盘按照容量分为n份并记录硬盘各份容量的位置信息,n为大于1的整数;依据硬盘各份容量的位置信息,在不同时间点向硬盘各份容量依次写入对应容量的数据;对包含不同写入时间的数据的固态硬盘进行测试。
46.可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
47.基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:将固态硬盘按照容量分为n份并记录硬盘各份容量的位置信息,n为大于1的整数;依据硬盘各份容量的位置信息,在不同时间点向硬盘各份容量依次写入对应容量的数据;对包含不同写入时间的数据的固态硬盘进行测试。
48.可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
49.基于相同的发明构思,本发明又一实施例提供了一种计算机程序产品,所计算机程序产品包括有计算机程序,该计算机程序被处理器执行时实现上述方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:将固态硬盘按照容量分为n份并记录硬盘各份容量的位置信息,n为大于1的整数;依据硬盘各份容量的位置信息,在不同时间点向硬盘各份容量依次写入对应容量的数据;对包含不同写入时间的数据的固态硬盘进行测试。
50.此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
51.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
52.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指
令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的流量审计方法。
53.此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
54.此外,在本发明中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
55.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1