一种固态硬盘的异常分支测试方法和系统技术方案

技术编号:22641226 阅读:30 留言:0更新日期:2019-11-26 16:03
本发明专利技术提出了一种固态硬盘的异常分支测试方法和系统,该方法在固件中增加设置异常参数的函数和注入异常的函数,再将固件烧写进固态硬盘,在测试之前,通过调试接口访问设置异常参数的函数,并且设置异常参数的函数使能对应注入异常的函数;开始测试后,通过注入异常的函数在NCM模块执行注入异常操作,根据FCC针对固态硬盘的数据操作返回的结果,以及判断是否满足注入异常的条件,固件进入不同的分支流程。还给出了normal read失败后的测试流程,基于本方法,还提出了一种固态硬盘的异常分支测试系统。通过在NCM模块执行注入异常操作,根据返回的结果,使固件更容易进入异常分支的处理,缩短测试和开发周期。

An abnormal branch test method and system for SSDs

The invention provides an abnormal branch test method and system of the solid-state hard disk. The method adds the function of setting the abnormal parameters and injecting the abnormal parameters in the firmware, and then burns the firmware into the solid-state hard disk. Before the test, the function of setting the abnormal parameters is accessed through the debugging interface, and the function of setting the abnormal parameters enables to correspond to the function of injecting the abnormal parameters; after the test starts According to the results of data operation returned by FCC for SSD, and whether the injection exception conditions are met, the firmware enters into different branch processes. Based on this method, an abnormal branch test system for SSDs is proposed. According to the returned results, it is easier for the firmware to enter the abnormal branch processing and shorten the test and development cycle.

【技术实现步骤摘要】
一种固态硬盘的异常分支测试方法和系统
本专利技术属于固态硬盘测试
,特别涉及一种固态硬盘的异常分支测试方法和系统。
技术介绍
在固态硬盘的firmware开发过程中,难免会涉及到对多种异常的处理,这些异常来自于多个层面,包括但不限于固态硬盘与主机的交互层面、固态硬盘的算法层面、固态硬盘中与read、write和erase直接相关的层面等。在编写好异常分支的处理流程后,需要对这些流程进行测试验证,然而固态硬盘在日常的fio等测试条件下出现异常并使firmware进入异常分支的处理流程的概率是极低的。目前,大多数异常分支的测试方法是通过人为注入错误,使firmware进入异常分支的处理流程。但是现有技术中通过人为注入错误的方式,没有对错误类型进行分类,不能很好的测试固态硬盘中与read、write和erase直接相关的层面。
技术实现思路
本专利技术提出了一种固态硬盘的异常分支测试方法和系统,通过在NCM模块执行注入异常,根据FCC针对固态硬盘的数据操作返回的结果,使固件更容易进入异常分支的处理,缩短测试和开发周期。为了实现上述目的,本专利技术提出了一种固态硬盘的异常分支测试方法,包括,在固件中增加设置异常参数的函数和注入异常的函数,再将所述固件烧写进固态硬盘,在测试之前,通过调试接口访问设置异常参数的函数,并且所述设置异常参数的函数使能对应所述注入异常的函数;开始测试后,通过所述注入异常的函数在NCM模块执行注入异常操作,即根据FCC针对固态硬盘的数据操作返回的结果,以及判断是否满足注入异常的条件,固件进入不同的分支流程。进一步的,所述测试方法还包括:在固件中增加设置异常参数的函数,再将所述固件烧写进固态硬盘,在测试之前,通过调试接口访问设置异常参数的函数;然后开始测试,在normalread失败后,FCC模块上的harddecoding函数注入概率恒定的异常,触发NCM模块做数据恢复。进一步的,所述设置异常参数的函数用于设置出现异常的概率以及单次触发异常时连续异常的次数,并使能对应的注入异常的函数。进一步的,所述调试接口采用固态硬盘上的连接器转接到RS232串口模块。进一步的,注入异常的类型包括主要异常和次要异常;所述主要异常概率和次要异常概率比例范围为大于5比1,小于7比1。进一步的,在NCM模块上,所述固态硬盘的操作包括固态硬盘的read,write,erase,rebuild和xor操作以及在硬盘上下电期间的read和write操作。进一步的,所述根据FCC针对所述固态硬盘的数据操作返回的结果,以及判断是否满足注入异常的条件,固件进入不同的分支流程包括:若FCC针对所述固态硬盘的数据操作返回的结果正常,则进行注入异常,若不满足注入异常的条件,FCC针对所述固态硬盘的数据操作返回的结果仍为正常,则固件进入正常流程;若FCC针对所述固态硬盘的数据操作返回的结果正常,则进行注入异常,若满足注入异常的条件,则根据所述注入异常的类型,固件进入主要异常流程或者次要异常流程;若FCC针对所述固态硬盘的数据操作返回的结果异常,则返回异常类型,固件进入主要异常流程或者次要异常流程。进一步的,所述注入条件为判断在NCM模块上,通过rand()函数产生的随机数能否被所述设置出现异常的概率整除;如果能被整除,则满足注入条件;如果不能被整除,则不满足注入条件。一种固态硬盘的异常分支测试系统,包括第一测试模块和第二测试模块;所述第一测试模块用于在固件中增加设置异常参数的函数和注入异常的函数,再将所述固件烧写进固态硬盘,在测试之前,通过调试接口访问设置异常参数的函数,并且所述设置异常参数的函数使能对应所述注入异常的函数;开始测试后,通过所述注入异常的函数在NCM模块执行注入异常操作,即根据FCC针对固态硬盘的数据操作返回的结果,以及判断是否满足注入异常的条件,固件进入不同的分支流程;所述第二测试模块用于在固件中增加设置异常参数的函数,再将所述固件烧写进固态硬盘,在测试之前,通过调试接口访问设置异常参数的函数;然后开始测试,在normalread失败后,FCC模块上的harddecoding函数注入概率恒定的异常,触发NCM模块做数据恢复。进一步的,所述第一测试模块包括设置参数模块和注入异常模块;所述设置参数模块用于在将所述固件烧写进固态硬盘,在测试之前,通过调试接口访问设置异常参数的函数,设置出现异常的概率以及单次触发异常时连续异常的次数,并使能对应所述注入异常的函数;所述注入异常模块用于开始测试后,通过所述注入异常的函数在NCM模块执行注入异常操作,即根据FCC针对固态硬盘的数据操作返回的结果,以及判断是否满足注入异常的条件,固件进入不同的分支流程。
技术实现思路
中提供的效果仅仅是实施例的效果,而不是专利技术所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:本专利技术实施例提出了一种固态硬盘的异常分支测试方法和系统,该方法包括在固件中增加设置异常参数的函数和注入异常的函数,再将固件烧写进固态硬盘,在测试之前,通过调试接口访问设置异常参数的函数,并且设置异常参数的函数使能对应注入异常的函数;开始测试后,通过注入异常的函数在NCM模块执行注入异常操作,即根据FCC针对固态硬盘的数据操作返回的结果,以及判断是否满足注入异常的条件,固件进入不同的分支流程。若FCC针对固态硬盘的数据操作返回的结果正常,则进行注入异常,若不满足注入异常的条件,FCC针对固态硬盘的数据操作返回的结果仍为正常,则固件进入正常流程;若FCC针对固态硬盘的数据操作返回的结果正常,则进行注入异常,若满足注入异常的条件,则根据注入异常的类型,固件进入主要异常流程或者次要异常流程;若FCC针对固态硬盘的数据操作返回的结果异常,则返回异常类型,固件进入主要异常流程或者次要异常流程。注入条件为判断在NCM模块上,通过rand()函数产生的随机数能否被设置出现异常的概率整除;如果能被整除,则满足注入条件;如果不能被整除,则不满足注入条件。该测试方法还包括在固件中增加设置异常参数的函数,再将固件烧写进固态硬盘,在测试之前,通过调试接口访问设置异常参数的函数;然后开始测试,在normalread失败后,FCC模块上的harddecoding函数注入概率恒定的异常,触发NCM模块做数据恢复。基于本专利技术提出的一种固态硬盘的异常分支测试方法,还提出了一种固态硬盘的异常分支测试系统。本专利技术通过调试接口向固件针对固态硬盘的数据操作注入异常的命令,根据FCC针对固态硬盘的数据操作返回的结果,使firmware更容易进入异常分支的处理,缩短测试和开发周期。本专利技术的注入异常的命令还可设置单次触发异常后连续异常的次数,针对read操作,设置10次,针对write,设置2次。使固件在短时间内更频繁地进入异常分支的处理,此可增大测试压力,后续根据测试情况优化固件,使其能承受尽可能大的异常压力,提高固件的异常处理能力。本专利技术的固件中的异常注入代码保证主要本文档来自技高网
...

【技术保护点】
1.一种固态硬盘的异常分支测试方法,其特征在于,包括,/n在固件中增加设置异常参数的函数和注入异常的函数,再将所述固件烧写进固态硬盘,在测试之前,通过调试接口访问设置异常参数的函数,并且所述设置异常参数的函数使能对应所述注入异常的函数;开始测试后,通过所述注入异常的函数在NCM模块执行注入异常操作,即根据FCC针对固态硬盘的数据操作返回的结果,以及判断是否满足注入异常的条件,固件进入不同的分支流程。/n

【技术特征摘要】
1.一种固态硬盘的异常分支测试方法,其特征在于,包括,
在固件中增加设置异常参数的函数和注入异常的函数,再将所述固件烧写进固态硬盘,在测试之前,通过调试接口访问设置异常参数的函数,并且所述设置异常参数的函数使能对应所述注入异常的函数;开始测试后,通过所述注入异常的函数在NCM模块执行注入异常操作,即根据FCC针对固态硬盘的数据操作返回的结果,以及判断是否满足注入异常的条件,固件进入不同的分支流程。


2.根据权利要求1所述的一种固态硬盘的异常分支测试方法,其特征在于,所述测试方法还包括:
在固件中增加设置异常参数的函数,再将所述固件烧写进固态硬盘,在测试之前,通过调试接口访问设置异常参数的函数;然后开始测试,在normalread失败后,FCC模块上的harddecoding函数注入概率恒定的异常,触发NCM模块做数据恢复。


3.根据权利要求1或2所述的一种固态硬盘的异常分支测试方法,其特征在于,所述设置异常参数的函数用于设置出现异常的概率以及单次触发异常时连续异常的次数,并使能对应的注入异常的函数。


4.根据权利要求1或2所述的一种固态硬盘的异常分支测试方法,其特征在于,所述调试接口采用固态硬盘上的连接器转接到RS232串口模块。


5.根据权利要求1所述的一种固态硬盘的异常分支测试方法,其特征在于,注入异常的类型包括主要异常和次要异常;所述主要异常概率和次要异常概率比例范围为大于5比1,小于7比1。


6.根据权利要求1所述的一种固态硬盘的异常分支测试方法,其特征在于,在NCM模块上,所述固态硬盘的操作包括固态硬盘的read,write,erase,rebuild和xor操作以及在硬盘上下电期间的read和write操作。


7.根据权利要求1所述的一种固态硬盘的异常分支测试方法,其特征在于,所述根据FCC针对所述固态硬盘的数据操作返回的结果,以及判断是否满足注入异常的条件,固件进入不同的分支流程包括:
若FCC针对所述固态硬盘的数据操作返回的结果正常,则进行注入异常,若不满足注入异常的条件...

【专利技术属性】
技术研发人员:张彬苏军
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1