本发明涉及存储设备测试方法,特别涉及一种存储设备掉电测试方法、装置及系统。
背景技术:
对于存储设备而言,保证数据的可靠存储与稳定性是其功能属性中的重点,而异常掉电测试就是验证其数据存储可靠度的一个重要场景。当发生异常掉电时,若存储设备的掉电保护策略设计不当,往往会造成大量的数据丢失,从而给存储设备的提供者与使用者带来巨大的经济损失。
在现有的存储测试掉电测试方案中,虽然测试方案多样,如引入测试系统、掉电时间随机或函数增长等,但其在进行掉电时,都是系统整机的掉电,不能根据不同的数据处理状态来分析制定掉电保护策略。
技术实现要素:
为了解决现有技术中,针对存储器的测试采用系统整机掉电的方法,不能根据不同的数据处理状态来分析制定掉电保护策略的问题,本发明提出一种存储设备掉电测试方法、装置及系统。
第一,本发明提出一种存储设备掉电测试方法,包括以下步骤:
a1、向待测试的存储设备的至少两个不同的预设存储区域,分别写入两种不同的预设特征数据;
b1、在写入特征数据的同时,监测存储设备的数据存储状态,并当所述存储设备的存储状态为第一状态时,切断对所述存储设备的供电,并将至少一个预设存储区域作为掉电测试区域;
c1、恢复对所述存储设备的供电后,将至少两个不同的预设存储区域中的至少一个中所存储的数据,与对应该预设存储区域中的预设特征数据进行对比。
第二,本发明提出一种存储设备掉电测试方法,包括以下步骤:
a2、建立待测试的存储设备的数据与存储区域的预设的映射关系,并按照所述预设的映射关系将特征数据写入到所述存储设备中相应的存储区域中,其中,向所述存储设备的第一预设存储区域写入第一特征数据,向所述存储设备的第二预设存储区域写入第二特征数据,并向所述存储设备的第三预设存储区域写入第三特征数据;
b2、在写入特征数据的同时,监测存储设备的数据存储状态,并当所述存储设备的存储状态为第一状态时,切断对所述存储设备的供电,并将第一预设存储区域、第二预设存储区域和第三预设存储区域中的至少一个作为掉电测试区域;
c2、恢复对所述存储设备的供电后,寻找所述存储设备中是否存在与所述第一特征数据、第二特征数据以及第三特征数据均不同的数据;并检查恢复供电后,检测待测试的存储设备中的数据与存储区域的映射关系是否符合所述预设的映射关系。
进一步,在本发明提出的上述方法中,在步骤a2前,还包括以下步骤:
在所述待测试的存储设备上设置信号引脚。
进一步,在本发明提出的上述方法中,当所述信号引脚的电平由高变低时,所述存储设备的状态为第一状态。
进一步,在本发明提出的上述方法中,切断对所述存储设备的供电包括以下切断方式中的任意一种或多种:在预设的时间切断、在随机的时间切断,或根据所述存储器数据处理状态切断。
进一步,在本发明提出的上述方法中,所述第一预设存储区域包含所述第二预设存储区域和所述第三预设存储区域;并且,所述第二预设存储区域与所述第三预设存储区域不重叠。
第三,本发明提出一种应用上述所述的方法的存储设备掉电测试装置,包括:
待测试的存储设备;
信号引脚,所述信号引脚连接至所述待测试的存储设备,并且,所述信号引脚输出至少一种信号,所述信号指示所述待测试的存储设备的状态;
控制器,所述控制器与所述待测试的存储设备连接,用于至少向所述待测试的存储设备写入预设的特征数据、控制对所述存储设备的供电的切断与恢复、读出所述待测试的存储设备中的数据,在恢复对所述存储设备的供电后,寻找所述存储设备中是否存在与所述第一特征数据、第二特征数据以及第三特征数据均不同的数据,并检查恢复供电后,检测待测试的存储设备中的数据与存储区域的映射关系是否符合所述预设的映射关系。
第四,本发明提出一种应用上述所述的方法,并包括上述的存储设备掉电测试装置的存储设备掉电测试系统,包括:
服务器,所述服务器内存储有包括上述所述的方法的测试程序;
一个或多个测试节点,所述测试节点与所述服务器通信连接,所述测试节点内存储有包括上述所述的方法的测试程序;
一个或多个待测试的存储设备,所述存储设备连接至所述测试节点,接收并运行传输自所述测试节点的测试程序;
其中,所述测试节点是所述服务器的子节点;并且,所述待测的存储设备是所述测试节点的子节点。
进一步,在本发明提出的上述系统中,测试开始前,将包含至少一个测试参数传输至所述服务器后,将关联至所述至少一个测试参数的测试程度传输至所述待测试的存储设备并执行。
最后,本发明提出一种计算机可读存储介质,其上储存有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法的步骤。
本发明的有益成果是:获取存储设备对数据的处理状态,进而根据其执行掉电策略来测试对应的设备掉电保护策略,测试覆盖面更广。
附图说明
下面结合附图和实例对本发明作进一步说明。在所附的附图中,相同的附图标记表示相同的部件。
图1所示为根据本发明的一种存储设备掉电测试方法的第一实施例的流程图;
图2所示为根据本发明的一种存储设备掉电测试方法的第二实施例的流程图;
图3所示为根据本发明的一种存储设备掉电测试方法的第三实施例的流程图;
图4所示为根据本发明的一种存储设备掉电测试装置的第一实施例的框架图;
图5所示为根据本发明的一种存储设备掉电测试装置的第二实施例的框架图;
图6所示为根据本发明的一种存储设备掉电测试系统的一个实施例的架构图;
图7所示为根据本发明的一种存储设备掉电测试系统的工作方式的示意图。
具体实施方式
以下将结合实施实例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。附图中各处使用的相同的附图标记指示相同或相似的部分。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本申请中所使用的上、下、左、右等描述仅仅是相对于附图中本申请各组成部分的相互位置关系来说的。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
本文及附图所描述的示例性实施例不应视为限制。在不脱离本文和权利要求的范围的情况下,可以进行各种机械的、组成的、结构的、电气的和操作性的变形,包括等同物。在某些情况下,未详细示出或描述公知的结构和技术,以免与本公开混淆。两幅或多幅图表中的相同的附图标记表示相同或类似的元件。此外,参考一个实施例所详细描述的元件及其相关特征,可以在任何可行的情况下包括在未具体示出或描述它们的其他实施例中。例如,如果参考一个实施例详细描述了某个元件,并且没有参考第二实施例描述该元件,则也可以主张包括该元件在第二实施例中。
此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本申请中可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本申请范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”。
在本发明的实施例中,方法步骤可以按另一个顺序执行。本发明并不限于所述的方法步骤确定的顺序。
参照图1所示的根据本发明的一种存储设备掉电测试方法的第一实施例的流程图,图中示出了一种存储设备掉电测试方法的示例性实施例,包括以下步骤:a1、向待测试的存储设备的至少两个不同的预设存储区域,分别写入两种不同的预设特征数据;b1、在写入特征数据的同时,监测存储设备的数据存储状态,并当所述存储设备的存储状态为第一状态时,切断对所述存储设备的供电,并将至少一个预设存储区域作为掉电测试区域;c1、恢复对所述存储设备的供电后,将至少两个不同的预设存储区域中的至少一个中所存储的数据,与对应该预设存储区域中的预设特征数据进行对比。
优选地,在本发明的一个实施例中,在步骤a1前,还包括以下步骤:在所述待测试的存储设备上设置信号引脚。
优选地,在本发明的一个实施例中,当所述信号引脚的电平由高变低时,所述存储设备的状态为第一状态。
优选地,在本发明的一个实施例中,所述第一状态为编程状态(programmingstate)。进一步,在不违反本发明的精神的前提下,所述第一状态还可以为发送数据状态(sending-datastate)和接收数据状态(receive-datastate)等,这取决于要测试的存储器的数据状态以及相应的掉电保护策略。
进一步,在本发明的一个实施例中,本发明提出的上述方法能够根据存储设备对数据的不同的处理状态来进行相应的掉电,进而根据其执行的掉电策略来测试对应的设备掉电保护策略。
进一步,在本发明提出的上述方法中,切断对所述存储设备的供电包括以下切断方式中的任意一种或多种:在预设的时间切断、在随机的时间切断,或根据所述存储器数据处理状态切断。
进一步,参照图2所示的根据本发明的一种存储设备掉电测试方法的第二实施例的流程图,图中示出了一种存储设备掉电测试方法的优选实施例,包括以下步骤:a2、建立待测试的存储设备的数据与存储区域的预设的映射关系,并按照所述预设的映射关系将特征数据写入到所述存储设备中相应的存储区域中,其中,向所述存储设备的第一预设存储区域写入第一特征数据,向所述存储设备的第二预设存储区域写入第二特征数据,并向所述存储设备的第三预设存储区域写入第三特征数据;b2、在写入特征数据的同时,监测存储设备的数据存储状态,并当所述存储设备的存储状态为第一状态时,切断对所述存储设备的供电,并将第一预设存储区域、第二预设存储区域和第三预设存储区域中的至少一个作为掉电测试区域;c2、恢复对所述存储设备的供电后,寻找所述存储设备中是否存在与所述第一特征数据、第二特征数据以及第三特征数据均不同的数据;并检查恢复供电后,检测待测试的存储设备中的数据与存储区域的映射关系是否符合所述预设的映射关系。应当理解的是,上述的第一、第二、第三的术语仅仅表示区别而不是表示顺序也不是表示大小。
优选地,在本发明的一个实施例中,在步骤a2前,还包括以下步骤:在所述待测试的存储设备上设置信号引脚。
优选地,在本发明的一个实施例中,当所述信号引脚的电平由高变低时,所述存储设备的状态为第一状态。并且,优选地,所述第一特征数据、第二特征数据以及第三特征数据为不同数据的表示方式,在不违反本发明的精神的前提下,第一特征数据第二特征数据以及第三特征数据可以互相调换,也可以使用其他的不同的特征数据,只要保证三者各自不同即可。
优选地,在本发明的一个实施例中,所述第一状态为编程状态(programmingstate)。进一步,在不违反本发明的精神的前提下,所述第一状态还可以为发送数据状态(sending-datastate)和接收数据状态(receive-datastate)等,这取决于要测试的存储器的数据状态以及相应的掉电保护策略。
进一步,在本发明的一个实施例中,本发明提出的上述方法能够根据存储设备对数据的不同的处理状态来进行相应的掉电,进而根据其执行的掉电策略来测试对应的设备掉电保护策略。
进一步,在本发明的一个实施例中,切断对所述存储设备的供电包括以下切断方式中的任意一种或多种:在预设的时间切断、在随机的时间切断,或根据所述存储器数据处理状态切断。
进一步,在本发明的一个实施例中,所述第一预设存储区域包含所述第二预设存储区域和所述第三预设存储区域;并且,所述第二预设存储区域与所述第三预设存储区域不重叠。
优选地,在本发明的一个实施例中,第一预设存储区域为待测存储器的整个存储区域,而第二预设存储区域和第三存储区域可以是连续的也可以是多个不连续的随机区域,只要保证第二预设存储区域与所述第三预设存储区域不重叠,即两者之间没有交集即可。
进一步,对存储设备进行掉电测试的主要目的,在于验证存储设备在发生异常掉电时对数据处理和保护的能力,故掉电前后的数据对比校验是非常重要的一环。而要准确地进行数据校验,就要能够确定存储设备在掉电前的数据处理状态,如数据正在写时掉电与数据写完时掉电,校验时期望的存储数据就完全不同。以往的整机掉电测试方式,在数据校验上都存在不能精确校验的问题。本发明通过在测试板上增加数据信号引脚的设计解决了此问题。下面将以测试写数据时在编程状态(programmingstate)掉电来说明测试程序的执行过程,下面将以测试写数据时在编程状态(programmingstate)掉电来说明测试程序的执行过程,参照图3所示的根据本发明的一种存储设备掉电测试方法的第三实施例的流程图,测试程序运行之后,先对测试设备以第一特征数据进行全盘写操作作为背景数据,防止待测存储设备中存在不确定数据影响后面的数据校验过程。接着随机选择数据区域a,写入第二特征数据,需要说明的是区域a可以是多个不连续的随机区域,且这些区域有测试程序的映射表进行标记。接着选择区域b(与a不重叠)作为掉电测试区域,写入第三特征数据。在写入的过程中,并参考图5,测试板上的信号引脚会一直检测被测存储设备的数据存储状态。当信号引脚的电平由高变低时,表明此时被测存储设备正处于编程状态(programmingstate),信号处理模块便根据测试流程模块中设定的掉电策略,如全部掉电、只掉io供电或者只掉控制器供电等,通知pmu模块控制pmu切断相应的供电。恢复供电后,测试程序开始全盘读取被测存储设备的数据并进行校验。根据测试程序记录的区域映射关系可知,区域a的数据应为b,区域b的数据应为第一特征数据或第三特征数据,其余区域数据都应为第一特征数据。若发现新的特征数据,则表明该存储设备对发生异常掉电时对数据处理和保护的能力存在漏洞。
应当理解,上述应用编程状态(programmingstate)掉电来说明测试程序的执行过程仅仅出于说明的目的,并不意在对本发明作出限制,如前面所述的那样,还可以针对存储器的发送数据状态(sending-datastate)和接收数据状态(receive-datastate)等进行掉电测试。
进一步,参考图4所示的根据本发明的一种存储设备掉电测试装置的第一实施例的框架图,图中示出了根据在本发明的一个实施例的,应用上述所述的方法的存储设备掉电测试装置,包括:待测试的存储设备;信号引脚,所述信号引脚连接至所述待测试的存储设备,并且,所述信号引脚输出至少一种信号,所述信号指示所述待测试的存储设备的状态;控制器,所述控制器与所述待测试的存储设备连接,用于至少向所述待测试的存储设备写入预设的特征数据、控制对所述存储设备的供电的切断与恢复、读出所述待测试的存储设备中的数据,在恢复对所述存储设备的供电后,寻找所述存储设备中是否存在与所述第一特征数据、第二特征数据以及第三特征数据均不同的数据,并检查恢复供电后,检测待测试的存储设备中的数据与存储区域的映射关系是否符合所述预设的映射关系。
进一步,参考图6所示的根据本发明的一种存储设备掉电测试系统的一个实施例的架构图,图中示出了根据在本发明的一个实施例的,一种应用上述所述的方法,并包括上述的存储设备掉电测试装置的存储设备掉电测试系统,包括:服务器,所述服务器内存储有包括上述所述的方法的测试程序;一个或多个测试节点,所述测试节点与所述服务器通信连接,所述测试节点内存储有包括上述所述的方法的测试程序;一个或多个待测试的存储设备,所述存储设备连接至所述测试节点,接收并运行传输自所述测试节点的测试程序;其中,所述测试节点是所述服务器的子节点;并且,所述待测的存储设备是所述测试节点的子节点。进一步,在本发明提出的上述系统中,测试开始前,将包含至少一个测试参数传输至所述服务器后,将关联至所述至少一个测试参数的测试程度传输至所述待测试的存储设备并执行。
下面结合上述的图1至图6,并参照图7所示的根据本发明的一种存储设备掉电测试系统的工作方式的示意图,说明根据本发明的方法、装置及系统的一个优选的工作流程:
1.在测试系统上,其部署架构如图6所示。系统由服务器、多台测试节点、搭载存储设备的测试板组成。测试人员都过服务器将掉电测试项目远程分发至各个测试节点。测试节点下载测试程序至测试板并启动测试程序,同时在测试中监测测试状态,并将测试信息上传至服务器,从而实时将测试状况展示给测试人员。
2.在测试程序下载方式上,系统提供了有线和无线的下载方式,可较好适应测试环境的限制,快速搭建测试。所述有线下载方式包括但不限于串口、usb,所述无线下载方式包括但不限于wifi、蓝牙。
3.在掉电测试方法上,可根据存储设备对数据的处理状态进行掉电,覆盖面更广。所用测试板内置了特殊的信号引脚,其主体结构如图5所示。当存储设备进行数据存储时,可侦测到存储设备目前所处的数据处理状态,如发送数据状态(sending-datastate)、接收数据状态(receive-datastate)、编程状态(programmingstate)等。而测试程序检测该信号引脚的状态,当存储设备处于符合触发掉电的数据处理状态时,测试程序就会控制测试板的pmu输出,从而给存储设备掉电。
4.在掉电控制上,测试板可根据测试程序设定,只切断存储设备的部分电源,如只切断存储io或者控制器的供电,测试更为精准、充分和完整。
为更好地表明本发明的技术方案及优点,下文将结合图示及具体的实施例对本发明的内容做进一步的阐述。在本发明中,完整的掉电测试过程可如图7所示,其中:
1.测试人员通过浏览器登录测试管理系统,进行掉电测试配置。所述掉电测试配置包括测试节点及测试样机的选择、测试场景的设定、掉电类型的设定等,掉电类型包括固定时间掉电、随机时间掉电、根据数据处理状态掉电等。
2.测试人员完成测试配置之后,将配置参数提交至服务器。服务器接收到测试请求后,根据测试配置将任务分发至测试节点pc。
3.测试节点接收到测试任务命令之后,会先检查本地是否有对应的测试程序。若无,则先从服务器上同步到本地;若有,则开始将测试程序下载到测试板上并运行。在下载程序时,测试节点会根据与测试板之间的连接配置情况,选择使用有线下载或无线下载。
4.程序运行起来后,开始根据指定的测试情景,对存储设备进行数据读写操作,并实时监测存储设备当前对数据的处理状态是否符合掉电测试设定。如果符合,则触发掉电模块对存储设备进行掉电。
5.测试程序运行过程中,会将当前的测试信息返回给测试节点,如数据读写是否正常、是否已经开始掉电、是否已开始进行数据校验等。节点将信息转发给服务器后,服务器将数据进行解析处理,返回给浏览器后进而展示给测试人员。需要注意的是,整个测试数据的展示过程是一个实时的过程。
最后,在本发明的一个实施例中,提出了一种计算机可读存储介质,其上储存有计算机程序,其特征在于所述计算机程序被处理器执行时实现上述的方法的步骤。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作-根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
进一步,该方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
本文描述了本公开的实施例,包括发明人已知用于执行本发明的最佳模式。在阅读了上述描述后,这些所述实施例的变化对本领域的技术人员将变得明显。发明人希望技术人员视情况采用此类变型,并且发明人意图以不同于如本文具体描述的方式来实践本公开的实施例。因此,经适用的法律许可,本公开的范围包括在此所附的权利要求书中叙述的主题的所有修改和等效物。此外,本公开的范围涵盖其所有可能变型中的上述元素的任意组合,除非本文另外指示或以其他方式明显地与上下文矛盾。
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
因此,应以说明性意义而不是限制性意义来理解本说明书和附图。然而,将明显的是:在不脱离如权利要求书中阐述的本申请的更宽广精神和范围的情况下,可以对本申请做出各种修改和改变。
其他变型在本申请的精神内。因此,尽管所公开的技术可容许各种修改和替代构造,但在附图中已示出并且在上文中详细描述所示的其某些实施例。然而,应当理解,并不意图将本申请局限于所公开的一种或多种具体形式;相反,其意图涵盖如所附权利要求书中所限定落在本申请的精神和范围内的所有修改、替代构造和等效物。