一种用于固态硬盘的固件测试方法、装置、设备及介质制造方法及图纸

技术编号:36390894 阅读:13 留言:0更新日期:2023-01-18 09:55
本发明专利技术涉及存储领域,尤其涉及一种用于固态硬盘的固件测试方法、装置、设备及介质。所述方法包括:利用测试工具FIO向固态硬盘写入测试数据;在测试工具FIO执行读取所述测试数据时产生并注入至少一笔错误;判断串口打印中是否存在与至少一笔错误对应的数据恢复过程;响应于存在与所述至少一笔错误对应的数据恢复过程,则确认固件中错误处理流程代码正常;响应于不存在与所述至少一笔错误对应的数据恢复过程,则确认固件中错误处理流程代码异常。本发明专利技术的方案有效验证固态硬盘错误处理流程代码的功能是否可用,能有效排除固件代码中存在的未知错误,提升产品合格率,丰富了固态硬盘的固件测试方式。盘的固件测试方式。盘的固件测试方式。

【技术实现步骤摘要】
一种用于固态硬盘的固件测试方法、装置、设备及介质


[0001]本专利技术涉及存储领域,尤其涉及一种用于固态硬盘的固件测试方法、装置、设备及介质。

技术介绍

[0002]固态硬盘(Solid State Disk,简称SSD)后端的主要功能是解析SSD闪存转换层(Flash Translation Layer,简称FTL)消息并操作闪存控制器(Nand Flash Controller,简称NFC)执行对应的操作,目前后端的主要错误处理集中在FTL消息断言、ECC的错误处理。例如RAID5错误处理是基于31+1的方式进行错误数据恢复,FTL读消息时每次读取32笔数据,其中前31笔是从主机host读取的数据,第32笔是通过前31笔数据异或出的一笔数据,若消息中有1笔错误出现,就会通过31笔数据异或方式恢复出错误数据。从而实现数据恢复,若第32笔异或数据出错,则软件代码不予理会。
[0003]现有FTL读消息错误处理采用RAID异或数据恢复,NFC核从闪存(Nand)读取数据后传给FTL核,FTL核读取数据的时候如果出现读错误,就会走到FTL读消息错误处理,也就是RAID冗余错误处理。然而,传统固态硬盘的固件只有错误处理流程没有注错流程,当前只能等到被动发生错误的时候才会走到错误处理流程,无法检查固态硬盘软件代码数据恢复功能是否可用。

技术实现思路

[0004]有鉴于此,有必要针对以上技术问题,提供一种用于固态硬盘的固件测试方法、装置、设备及介质。
[0005]根据本专利技术的第一方面,提供了一种用于固态硬盘的固件测试方法,所述方法包括:
[0006]利用测试工具FIO向固态硬盘写入测试数据;
[0007]在测试工具FIO执行读取所述测试数据时产生并注入至少一笔错误;
[0008]判断串口打印中是否存在与至少一笔错误对应的数据恢复过程;
[0009]响应于存在与所述至少一笔错误对应的数据恢复过程,则确认固件中错误处理流程代码正常;
[0010]响应于不存在与所述至少一笔错误对应的数据恢复过程,则确认固件中错误处理流程代码异常。
[0011]在一些实施例中,利用测试工具FIO向固态硬盘写入所述测试数据,包括:
[0012]由测试工具FIO按照预设校验方式向闪存的任意位置写入任意大小数据作为测试数据。
[0013]在一些实施例中,在测试工具FIO执行读取所述测试数据时产生并注入至少一笔错误,包括:
[0014]采用概率方式触发注错程序运行以注入至少一笔错误;或者
[0015]采用定时方式触发注错程序运行以注入至少一笔错误;
[0016]其中,所述注错程序用于在闪存控制器向固态硬盘闪存转换层传送消息的过程中通过串口命令或者nvme

cli工具注入错误,以强制修改消息队列中的一笔数据。
[0017]在一些实施例中,采用概率方式触发注错程序运行以注入至少一笔错误,包括:
[0018]预先设置错误与读取次数比值;
[0019]在测试工具FIO执行读取所述测试数据前,利用待执行的总读取次数和预先设置的错误与读取次数比值计算出错笔数;
[0020]在测试工具FIO执行读取所述测试数据的过程中随机运行所述注错程序,其中,所述注错程序运行次数等于所述出错笔数。
[0021]在一些实施例中,采用定时方式触发注错程序运行以注入至少一笔错误,包括:
[0022]预先设置触发间隔时间;
[0023]统计前一次注错程序触发运行时间与当前时刻的时间间隔;
[0024]响应于所述时间间隔大于预先设置触发间隔时间,则运行所述注错程序以注入一笔错误。
[0025]在一些实施例中,判断串口打印中是否存在与至少一笔错误对应的数据恢复过程,包括:
[0026]判断串口打印中是否存在数据恢复的过程;以及
[0027]利用串口命令查询错误计数,并判断错误计数是否与产生的错误笔数相同。
[0028]在一些实施例中,判断串口打印中是否存在与至少一笔错误对应的数据恢复过程,还包括:
[0029]响应于串口打印中存在数据恢复的过程且错误计数与产生的错误笔数相同,则存在与所述至少一笔错误对应的数据恢复过程;
[0030]响应于串口打印中不存在数据恢复的过程,和/或错误计数与产生的错误笔数不同,则不存在与所述至少一笔错误对应的数据恢复过程。
[0031]根据本专利技术的第二方面,提供了一种用于固态硬盘的固件测试装置,所述装置包括:
[0032]数据写入模块,配置用于利用测试工具FIO向固态硬盘写入测试数据;
[0033]错误注入模块,配置用于在测试工具FIO执行读取所述测试数据时产生并注入至少一笔错误;
[0034]判断模块,配置用于判断串口打印中是否存在与至少一笔错误对应的数据恢复过程;
[0035]第一确认模块,配置用于响应于存在与所述至少一笔错误对应的数据恢复过程,则确认固件中错误处理流程代码正常;
[0036]第二配置模块,配置用于响应于不存在与所述至少一笔错误对应的数据恢复过程,则确认固件中错误处理流程代码异常。
[0037]根据本专利技术的第三方面,还提供了一种计算机设备,该计算机设备包括:
[0038]至少一个处理器;以及
[0039]存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的用于固态硬盘的固件测试方法。
[0040]根据本专利技术的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的用于固态硬盘的固件测试方法。
[0041]上述一种用于固态硬盘的固件测试方法,根据FTL和NFC之间消息的传递方式开发用于固态硬盘的软件注错功能,在消息读取的过程中会随机产生错误,产生错误后固件会自动进入错误处理流程中进行数据恢复,有效验证固态硬盘错误处理流程代码的功能是否可用,实现了在固态硬盘固件测试中增加代码检查代码测试覆盖率,能有效排除固件代码中存在的未知错误,有效提升产品合格率,丰富了固态硬盘的固件测试方式。
[0042]此外,本专利技术还提供了一种用于固态硬盘的固件测试装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
[0043]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0044]图1为本专利技术一个实施例提供的一种用于固态硬盘的固件测试方法的流程图;
[0045]图2为本专利技术另一个实施例提供的一种用于固态硬盘的固件测试装置的结构示意图;
[0046]图3为本专利技术另一个实施例中计算机设备的内部结构图。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于固态硬盘的固件测试方法,其特征在于,所述方法包括:利用测试工具FIO向固态硬盘写入测试数据;在测试工具FIO执行读取所述测试数据时产生并注入至少一笔错误;判断串口打印中是否存在与至少一笔错误对应的数据恢复过程;响应于存在与所述至少一笔错误对应的数据恢复过程,则确认固件中错误处理流程代码正常;响应于不存在与所述至少一笔错误对应的数据恢复过程,则确认固件中错误处理流程代码异常。2.根据权利要求1所述的用于固态硬盘的固件测试方法,其特征在于,利用测试工具FIO向固态硬盘写入所述测试数据,包括:由测试工具FIO按照预设校验方式向闪存的任意位置写入任意大小数据作为测试数据。3.根据权利要求1所述的用于固态硬盘的固件测试方法,其特征在于,在测试工具FIO执行读取所述测试数据时产生并注入至少一笔错误,包括:采用概率方式触发注错程序运行以注入至少一笔错误;或者采用定时方式触发注错程序运行以注入至少一笔错误;其中,所述注错程序用于在闪存控制器向固态硬盘闪存转换层传送消息的过程中通过串口命令或者nvme

cli工具注入错误,以强制修改消息队列中的一笔数据。4.根据权利要求3所述的用于固态硬盘的固件测试方法,其特征在于,采用概率方式触发注错程序运行以注入至少一笔错误,包括:预先设置错误与读取次数比值;在测试工具FIO执行读取所述测试数据前,利用待执行的总读取次数和预先设置的错误与读取次数比值计算出错笔数;在测试工具FIO执行读取所述测试数据的过程中随机运行所述注错程序,其中,所述注错程序运行次数等于所述出错笔数。5.根据权利要求3所述的用于固态硬盘的固件测试方法,其特征在于,采用定时方式触发注错程序运行以注入至少一笔错误,包括:预先设置触发间隔时间;统计前一次注错程序触发运行时间与当前时刻的时间间隔;响应于所述时间...

【专利技术属性】
技术研发人员:包伟刘凯
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1