存储设备自动测试方法、装置、存储设备及存储介质与流程

文档序号:32305030发布日期:2022-11-23 09:41阅读:52来源:国知局
存储设备自动测试方法、装置、存储设备及存储介质与流程

1.本发明涉及测试领域,尤其涉及一种存储设备自动测试方法、装置、存储设备及存储介质。


背景技术:

2.原有的存储器的生产流程,通常是利用一台电脑实现一拖几的测试方案,在测试期间,需要一直占用电脑,而且每次测试都只能一个个依次测试及接收测试结果数据,耗时间。在存储设备测试过程中,算计完全依耐于电脑本身,电脑的算力是有限的,大规模的存储器测试的生产中,也会导致需要很大数量的电脑,并且一个存储器的测试过程,跟存储容量的大小来区分,可能需要2-8小时的时间进行测试;这样会导致生产效率低下,因为由电脑的数量,决定了可以同时并行测试的存储数量,电脑的数量,也会导致需要生产车间的空间要求和电力,制冷的要求。


技术实现要素:

3.第一方面,本技术提供一种存储设备自动测试方法,包括:
4.当接通电源时,通过所述存储设备的mcu运行预先存入的测试程序,并检测在测试结果数据区域中是否有测试结果数据;
5.若没有所述测试结果数据,则自动进行测试,并在测试结束后,生成测试结果数据并存入所述测试结果数据区域;
6.根据所述测试结果数据生成地址表,并将所述地址表存入所述存储设备中,所述地址表用于记录所述存储设备中的坏块地址。
7.进一步的,所述地址表为mask掩码表,所述mask掩码表用于使所述存储设备根据所述mask掩码表中记录的坏块地址,规划有效存储区域。
8.进一步的,所述预先写入测试程序,包括:
9.通过将所述存储设备和上位机连接,从所述上位机中下载测试程序到所述存储设备;
10.所述测试程序包括测试项目的具体流程。
11.进一步的,所述从上位机上下载测试程序到所述存储设备时包括:
12.所述上位机对所述存储设备的预设存储空间进行快捷测试,获取稳定的存储区域,在所述稳定的存储区域中划分测试结果数据区域和程序区域;
13.所述程序区域用于储存所述测试程序,所述测试结果数据区域用于储存所述测试结果数据。
14.进一步的,还包括:将所述测试结果数据进行加密后存储在所述测试结果数据区域。
15.进一步的,生成测试结果数据包括:
16.在进行测试时,实时记录测试过程中产生的日志,并根据关键字,从所述日志中获
取对应的测试数据;
17.在测试结束后,根据所述测试数据和所述测试的种类,得到所述测试结果数据。
18.进一步的,所述测试的种类包括数据读写压力测试、质量测试和覆盖测试中的一种。
19.第二方面,本技术还提供一种存储设备自动测试装置,包括:
20.启动模块,用于当接通电源时,通过所述存储设备的mcu运行预先存入的测试程序,并检测在测试结果数据区域中是否有测试结果数据;
21.自动测试模块,用于若没有所述测试结果数据,则自动进行测试,并在测试结束后,生成测试结果数据并存入所述测试结果数据区域;
22.解析模块,用于根据所述测试结果数据生成地址表,并将所述地址表存入所述存储设备中,所述地址表用于记录所述存储设备中的坏块地址。
23.第三方面,本技术还提供一种存储设备,包括处理器和存储器,所述存储设备存储有计算机程序,所述计算机程序在所述处理器上运行时执行所述的储设备自动测试方法。
24.第四方面,本技术还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的储设备自动测试方法。
25.本发明实施例公开了一种存储设备自动测试方法、装置、存储设备及存储介质,该方法包括:当接通电源时,通过所述存储设备的微处理器运行预先存入的测试程序,并检测在测试结果数据区域中是否有测试结果数据;若没有所述测试结果数据,则自动进行测试,并在测试结束后,生成测试结果数据并存入所述测试结果数据区域;根据所述测试结果数据生成地址表,并将所述地址表存入所述存储设备中,所述地址表用于记录所述存储设备中的坏块地址。使得在对存储设备进行测试时,无需上位机运行测试程序,只需要存储设备自己存储测试代码,并进行对自身的测试,不需要依赖上位机,同一时间测试的设备数量大大增加,因此增加了测试效率。
附图说明
26.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
27.图1示出了本技术实施例一种存储设备自动测试方法流程示意图;
28.图2示出了本技术实施例一种存储设备结构示意图;
29.图3示出了本技术实施例一种存储设备自动测试装置结构示意图。
具体实施方式
30.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
31.通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范
围。
32.在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
33.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
34.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
35.本技术的技术方案应用于对存储设备的自动化测试,通过将运行测试程序的主体由上位机变为被测试的存储设备,使得可以同时进行测试的存储设备数量不再受限制于上位机的连接接口数量,并且解放了上位机,即不用一直占用上位机,而是存储设备进行自我测试,大大增大了测试效率。
36.接下来以具体实施例来说明本技术的技术方案。
37.实施例1
38.如图1所示,本技术的存储设备的自动化测试方法包括以下步骤。
39.步骤s100,当接通电源时,通过所述存储设备的mcu运行预先存入的测试程序,并检测在测试结果数据区域中是否有测试结果数据。
40.在进行测试时,需要对应的测试程序进行相应的测试项目,例如会有数据读/写的压力测试、质量测试和覆盖性测试等不同的测试项目,以确保可以完整的测试存储设备的性能。
41.本技术实施例中的存储设备可以是机械硬盘、固态硬盘以及各种移动硬盘这些存储设备,可以应用在这些硬盘出厂时候的最终测试。
42.首先,存储设备在实际进行测试前,会预先存入相应的测试程序,测试程序通常都在上位机,例如电脑中编写,这些测试程序可以是测试脚本,或者带有多个测试脚本的测试程序,这些测试程序从上位机上直接存入存储设备中。存储设备存储完上述的测试程序后,就可以断开和上位机的数据连接。
43.在存入该测试程序前,上位机会对所述存储设备的预设存储空间进行快捷测试,例如对1t硬盘里的100m进行测试,空间小,对于上位机来讲很快就可以测试完毕,然后在这100m中找到稳定的存储区域,在所述稳定的存储区域中划分测试结果数据区域和程序区域。其中,所述程序区域用于储存所述测试程序,所述测试结果数据区域用于储存所述测试结果数据。
44.存储设备在存入了测试程序后,不需要通过上位机去触发这些测试程序,而是当存储设备再度上电的时候,就可以自动的开始运行这些测试程序。
45.在启动测试程序时,会预先检查在存储测试结果数据的测试结果数据区域内是不是有测试数据存在,若有,则代表该存储设备被测试过了,这是测试后第二次通电,不需要
执行测试程序。
46.这些测试数据都有规定的格式,如包头包尾的结构等,以传递这些数据是不是本机生成的,是否是测试全部结束后的完整的测试数据。
47.步骤s200,若没有所述测试结果数据,则自动进行测试,并在测试结束后,生成测试结果数据并存入所述测试结果数据区域。
48.当检测到在测试结果数据区域内没有这些符合格式的测试数据时,代表该存储设备还没有进行过测试,则会直接运行这些测试程序进行测试。
49.例如,将上述存储设备移动到一个存储测试柜中,该存储测试柜中携带有多个给存储设备供电的电源,存储设备在该测试柜中接通电源后,村塾设备内部的mcu会自动运行这些测试程序,以开始对存储器的测试工作。
50.具体而言,可以将存储设备视为一种简单的单片机,在一般的存储设备的应用当中,存储区内部的mcu只会负责数据传输,其主频大概在200mhz左右甚至更高,足以运行当前所需要的测试脚本和程序。因此,可以根据存储设备内部所搭载的单片机系统,编写其可以运行的程序和脚本即可。
51.当存储设备接通电源后,就会启动内在搭载的单片机系统,只需要给上述的测试程序配置一个自动启动的触发事件,就可以实现在存储设备接通电源后,自动开始测试的操作。
52.在进行测试时,实时记录测试过程中产生的日志,并根据关键字,从所述日志中获取对应的测试数据;在测试结束后,根据所述测试数据和所述测试的种类,得到所述测试结果数据。
53.具体而言,以压力测试为例,在测试过程中,会反复产生大量的文件数据在该存储设备中进行存储和擦除操作,然后通过收集在该测试过程中的日志,这些日志会记录存储设备在进行上述存储和擦除过程中的各种参数变化,例如存储成功、存储失败、擦除成功、擦除失败、数据校验是否错误以及操作存储区域的地址等。这些参数都有对应的关键字,因此只要在日志中通过搜寻相应的关键字,就可以获得对应的参数,以知道在该测试中,存储设备各个区块的状况。
54.例如,通过对关键字“addr”进行查询,可以得到测试时,所涉及到个各个存储区域的地址,在这些地址下面,可以通过对关键字“saved”或者“erase”来确定存储操作或者擦除操作是否成功。由此,可以根据关键字和关键字所带的参数,按照预定的格式,生成一个测试结果数据,该测试结果数据以文件的形式存储在该存储设备中。
55.可以理解的是,这些测试结果数据进行处理后,可以对该存储设备内的存储空间进行分类和定性,例如哪些块是好块,哪些块是坏块,这些都可以通过对测试结果数据的进一步处理得到,最终给该存储设备进行相应的测试评价和对应的处理。
56.同时,考虑到安全和数据丢失的问题,该测试结果数据可以是通过加密的方式存储,如进行简单的base64加密,或者预设的aes加密方式进行加密。同时为了保证数据的完整性,可以为该测试结果数据添加校验码,例如汉明码、奇偶校验码和循环冗余码等。
57.其中,存储设备在进行测试时,是并不知道设备中,哪些存储空间是稳定的,哪些存储空间是不稳定的,因此上述的测试程序以及后续产生的测试结果数据,都可以存储在指定的稳定空间中,以确保存储的程序和数据不会因为存储空间的不稳定而有所损坏,耽
误测试进度。
58.在一种可行的实施例中,存储设备上还搭载有指示灯或者蜂鸣器,当测试结束后,指示灯或者蜂鸣器会按照设定好的程序进行闪亮或者发出提示音,以告诉测试人员,测试已经结束了。
59.如图2所示,为存储设备100上搭载有指示灯110的示意图,该指示灯110可以如图2所示,设置两个在存储设备100的外壳上,当测试程序测试结束后,触发该指示灯110所在的接口,发出指定的闪光信号,例如在测试当中,为绿色,测试结束为红色,或者测试当中为常亮,测试结束为闪烁等方式,以提示测试人员发现测试结束,可以进行接下来的步骤。
60.可以理解的是,当测试结束后,测试结果数据会被存入测试结果数据区域内,这样在硬盘被接入上位机时就不会再启动测试程序了。
61.步骤s300,根据所述测试结果数据生成地址表,并将所述地址表存入所述存储设备中,所述地址表用于记录所述存储设备中的坏块地址。
62.测试结束后,可以将该存储设备和上位机连接,由上位机读取其中的测试结果数据,当上位机得到测试结果数据后,可以根据测试结果数据,生成一个可以体现该存储设备中,各个存储区域性能的地址表,该地址表可以是mask掩码表。通过将该表再度存储到存储设备的mcu中,可以使得该存储设备对自身各个存储区域有一个较好的了解。
63.具体而言,该地址表上存储有经过上述测试后,认定的坏块的地址,此处的坏块地址可以是根据测试结果数据中,那些存储失败次数或者校验次数大于预定次数的存储地址,mcu在读取该地址表后,可以对吱声的存储空间进行处理和分配,使得在实际使用时,不会将数据存储到这些坏块中,保证了存储设备出厂后的质量。
64.可以理解的是,以双核2.5ghz的电脑为例,一个电脑可以同时负责32个存储器的测试工作,为此每个存储器可以分到156mhz的算力,而因为接口数量等原因,可能还无法同时负责32个存储设备的测试,引起浪费。而现在低端的存储器内置mcu的主频一般到200mhz,考虑高端一点的ssd类产品,内置mcu的主频可以到400-800mhz,完全可以进行自我测试,同时测试时只需要接通电源即可,也不会有接口数量的要求的限制。同时,每个测试的时间都类似,可以等到时间差不多时,回收这些存储设备中的测试结果数据。
65.本技术的技术方案,通过在存储设备内存储需要的测试程序,由存储设备自身进行测试,降低了对上位机的依赖,以及和上位机连接的接口限制,使得在实际测试时,只需要一个可以提供电源的测试柜就可以进行存储器的自我测试,完成对存储区内部各个存储空间好坏的检测,然后再由上位机生成可以规避坏块的地址表,整个测试流程无需测试人员守在上位机前,且可以多个设备同时并行,等到测试结束时只需要进行测试结果数据的回收,就完成了测试。整个测试过程简单高效,节省成本,并且提升了整体的测试速度,减少了单位存储设备测试所用时间,使得在和以前相同的测试时间内,可以完成更多的存储设备的测试。
66.实施例2
67.第二方面,如图3所示,本技术还提供一种存储设备自动测试装置,包括:
68.启动模块10,用于当接通电源时,通过所述存储设备的mcu运行预先存入的测试程序,并检测在测试结果数据区域中是否有测试结果数据;
69.自动测试模块20,用于若没有所述测试结果数据,则自动进行测试,并在测试结束
后,生成测试结果数据并存入所述测试结果数据区域;
70.解析模块30,用于根据所述测试结果数据生成地址表,并将所述地址表存入所述存储设备中,所述地址表用于记录所述存储设备中的坏块地址。
71.第三方面,本技术还提供一种存储设备,包括处理器和存储器,所述存储设备存储有计算机程序,所述计算机程序在所述处理器上运行时执行所述的储设备自动测试方法。
72.第四方面,本技术还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的储设备自动测试方法。
73.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
74.另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
75.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
76.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1