掌桥专利:专业的专利平台
掌桥专利
首页

一种数据纠错恢复功能的测试方法、装置、设备及介质

文献发布时间:2024-04-18 19:58:26


一种数据纠错恢复功能的测试方法、装置、设备及介质

技术领域

本发明涉及非易失存储器技术领域,特别是涉及一种数据纠错恢复功能的测试方法、装置、设备及介质。

背景技术

固态硬盘(Solid State Disk,SSD)是一种固态存储设备,它是由固态电子存储芯片阵列制成的硬盘。SSD的主要存储介质是计算机闪存设备,计算机闪存设备一般为NAND闪存设备(NAND Flash),NAND Flash是一种非易失性的存储器,能够在断电的情况下保持内部存储的信息。

作为常用的计算机闪存设备的NAND Flash的基本存储单元是浮栅晶体管,由于浮栅晶体管的特性会导致NAND Flash在使用过程中发生读错误、编程失败或擦除失败等等错误,根本来说,这些错误一般由浮栅晶体管的电荷泄漏、氧化层老化、漂移效应、过度编程效应、读操作干扰、温度变化等等因素引起。

为了避免上述产生的读错误、编程失败或擦除失败等等错误对测试及后续使用产生影响,一般通过数据纠错恢复功能对产生的错误进行纠错和数据恢复,但现有的测试方法只能在出现错误后,才会触发错误处理流程并通过其流程中的数据纠错恢复功能对出现的错误进行纠错并恢复,此时用户才能确定数据纠错恢复功能可用,对应的,若在测试过程中一直没有错误产生只能遍历对应的数据表,遍历数据表的过程可以理解为不间断地覆盖NAND Flash的过程,不间断覆盖NAND Flash会导致测试成本增加,同时对NAND Flash损伤较大。

鉴于上述存在的问题,寻求如何及时确定数据纠错恢复功能是否可用,降低测试成本并降低对计算机闪存设备的损伤是本领域技术人员竭力解决的问题。

发明内容

本发明的目的是提供一种数据纠错恢复功能的测试方法、装置、设备及介质,用于解决现有的测试方法只能在出现错误后才能确定数据纠错恢复功能可用的问题,以及遍历对应的数据表导致测试成本增加并对计算机闪存设备造成损伤的问题。

为解决上述技术问题,本发明提供一种数据纠错恢复功能的测试方法,应用于固态硬盘,方法包括:

接收读数据指令;

控制计算机闪存控制器执行读数据指令,以便于从数据映射表中读取待测试数据;数据映射表中预先插入表征出现错误的偏移值,且数据映射表中存储有全部的待测试数据以及与待测试数据一一对应的映射值;

当获取的依据偏移值读取到的待测试数据正确时,确定数据纠错恢复功能可用。

另一方面,获取依据偏移值读取到的待测试数据,包括:

对数据映射表设置多个预设映射等级值;

对各预设映射等级值和偏移值加和,得到加和结果;

根据加和结果查询对应的待测试数据。

另一方面,当获取的依据偏移值读取到的待测试数据错误时,还包括:

确定数据纠错恢复功能不可用;

获取待测试数据的二进制字符串;

根据二进制字符串确定第一数量值和第二数量值,其中,第一数量值为二进制字符串中0出现的个数,第二数量值为二进制字符串中1出现的个数;

根据第一数量值和第二数量值得到第一概率值和第二概率值,其中,第一概率值为二进制字符串中的待恢复位元上的值为0的概率值,第二概率值为二进制字符串中的待恢复位元上的值为1的概率值;

当第一概率值大于第二概率值时,设置待恢复位元上的值为0,以便于对待测试数据进行数据恢复;

当第二概率值大于第一概率值时,设置待恢复位元上的值为1,以便于对待测试数据进行数据恢复。

另一方面,在控制计算机闪存控制器执行读数据指令之前,还包括:

监测表征开启数据纠错恢复功能的串口命令;

当接收到串口命令时,根据串口命令开启数据纠错恢复功能;

判断预先生成的验证数据与执行数据纠错恢复功能后获取的验证输出数据是否相同,验证数据为表征出现错误的数据;

若验证数据与验证输出数据相同,则确定数据纠错恢复功能不可用;

若验证数据与验证输出数据不相同,则确定数据纠错恢复功能可用。

另一方面,当获取的依据偏移值读取到的待测试数据正确时,还包括:

根据串口命令调用日志;

从日志中获取表征调用数据纠错恢复功能的次数的错误计数;

当错误计数不为0时,则确定数据纠错恢复功能可用;

当错误计数为0时,则确定数据纠错恢复功能不可用。

另一方面,在控制计算机闪存控制器执行读数据指令之前,还包括:

监测表征开启数据纠错恢复功能的标准协议命令;

当接收到标准协议命令时,根据标准协议命令开启数据纠错恢复功能;

判断预先生成的验证数据与执行数据纠错恢复功能后获取的验证输出数据是否相同,验证数据为表征出现错误的数据;

若验证数据与验证输出数据相同,则确定数据纠错恢复功能不可用;

若验证数据与验证输出数据不相同,则确定数据纠错恢复功能可用。

另一方面,获取依据偏移值读取到的待测试数据,包括:

对数据映射表设置三个预设映射等级值;其中,数据映射表中预先插入偏移电压值,且数据映射表中存储有全部的待测试数据以及与待测试数据一一对应的映射电压值,且三个预设映射等级值分别为第一预设映射等级电压值、第二预设映射等级电压值、第三预设映射等级电压值;

对第一预设映射等级电压值和偏移电压值加和,得到第一加和电压结果;

根据第一加和结果查询对应的待测试数据;

对应地,判断第一加和电压结果对应的待测试数据是否正确;

若第一加和电压结果对应的待测试数据正确,则确定数据纠错恢复功能可用;

若第一加和电压结果对应的待测试数据不正确,则确定数据纠错恢复功能不可用;

对第二预设映射等级电压值和偏移电压值加和,得到第二加和电压结果;

根据第二加和结果查询对应的待测试数据;

对应地,判断第二加和电压结果对应的待测试数据是否正确;

若第二加和电压结果对应的待测试数据正确,则确定数据纠错恢复功能可用;

若第二加和电压结果对应的待测试数据不正确,则确定数据纠错恢复功能不可用;

对第三预设映射等级电压值和偏移电压值加和,得到第三加和电压结果;

根据第三加和结果查询对应的待测试数据;

对应地,判断第三加和电压结果对应的待测试数据是否正确;

若第三加和电压结果对应的待测试数据正确,则确定数据纠错恢复功能可用;

若第三加和电压结果对应的待测试数据不正确,则确定数据纠错恢复功能不可用。

为解决上述技术问题,本发明还提供了一种数据纠错恢复功能的测试装置,应用于固态硬盘,装置包括:

接收模块,用于接收读数据指令;

控制模块,用于控制计算机闪存控制器执行读数据指令,以便于从数据映射表中读取待测试数据;数据映射表中预先插入表征出现错误的偏移值,且数据映射表中存储有全部的待测试数据以及与待测试数据一一对应的映射值;

第一确定模块,用于当获取的依据偏移值读取到的待测试数据正确时,确定数据纠错恢复功能可用。

此外,该装置还包括以下模块:

另一方面,获取依据偏移值读取到的待测试数据,包括:

第一设置模块,用于对数据映射表设置多个预设映射等级值;

第一加和模块,用于对各预设映射等级值和偏移值加和,得到加和结果;

第一查询模块,用于根据加和结果查询对应的待测试数据。

另一方面,当获取的依据偏移值读取到的待测试数据错误时,还包括:

第二确定模块,用于确定数据纠错恢复功能不可用;

第一获取模块,用于获取待测试数据的二进制字符串;

第三确定模块,用于根据二进制字符串确定第一数量值和第二数量值,其中,第一数量值为二进制字符串中0出现的个数,第二数量值为二进制字符串中1出现的个数;

得到模块,用于根据第一数量值和第二数量值得到第一概率值和第二概率值,其中,第一概率值为二进制字符串中的待恢复位元上的值为0的概率值,第二概率值为二进制字符串中的待恢复位元上的值为1的概率值;

第二设置模块,用于当第一概率值大于第二概率值时,设置待恢复位元上的值为0,以便于对待测试数据进行数据恢复;

第三设置模块,用于当第二概率值大于第一概率值时,设置待恢复位元上的值为1,以便于对待测试数据进行数据恢复。

另一方面,在控制计算机闪存控制器执行读数据指令之前,还包括:

第一监测模块,用于监测表征开启数据纠错恢复功能的串口命令;

第一开启模块,用于当接收到串口命令时,根据串口命令开启数据纠错恢复功能;

第一判断模块,用于判断预先生成的验证数据与执行数据纠错恢复功能后获取的验证输出数据是否相同,验证数据为表征出现错误的数据;

第四确定模块,用于若验证数据与验证输出数据相同,则确定数据纠错恢复功能不可用;

第五确定模块,用于若验证数据与验证输出数据不相同,则确定数据纠错恢复功能可用。

另一方面,当获取的依据偏移值读取到的待测试数据正确时,还包括:

调用模块,用于根据串口命令调用日志;

第二获取模块,用于从日志中获取表征调用数据纠错恢复功能的次数的错误计数;

第六确定模块,用于当错误计数不为0时,则确定数据纠错恢复功能可用;

第七确定模块,用于当错误计数为0时,则确定数据纠错恢复功能不可用。

另一方面,在控制计算机闪存控制器执行读数据指令之前,还包括:

第二监测模块,用于监测表征开启数据纠错恢复功能的标准协议命令;

第二开启模块,用于当接收到标准协议命令时,根据标准协议命令开启数据纠错恢复功能;

第二判断模块,用于判断预先生成的验证数据与执行数据纠错恢复功能后获取的验证输出数据是否相同,验证数据为表征出现错误的数据;

第八确定模块,用于若验证数据与验证输出数据相同,则确定数据纠错恢复功能不可用;

第九确定模块,用于若验证数据与验证输出数据不相同,则确定数据纠错恢复功能可用。

另一方面,获取依据偏移值读取到的待测试数据,包括:

第四设置模块,用于对数据映射表设置三个预设映射等级值;其中,数据映射表中预先插入偏移电压值,且数据映射表中存储有全部的待测试数据以及与待测试数据一一对应的映射电压值,且三个预设映射等级值分别为第一预设映射等级电压值、第二预设映射等级电压值、第三预设映射等级电压值;

第二加和模块,用于对第一预设映射等级电压值和偏移电压值加和,得到第一加和电压结果;

第二查询模块,用于根据第一加和结果查询对应的待测试数据;

对应地,第三判断模块,用于判断第一加和电压结果对应的待测试数据是否正确;

若第一加和电压结果对应的待测试数据正确,则触发第十确定模块,用于确定数据纠错恢复功能可用;

若第一加和电压结果对应的待测试数据不正确,则触发第十一确定模块,用于确定数据纠错恢复功能不可用;

第三加和模块,用于对第二预设映射等级电压值和偏移电压值加和,得到第二加和电压结果;

第三查询模块,用于根据第二加和结果查询对应的待测试数据;

对应地,第四判断模块,用于判断第二加和电压结果对应的待测试数据是否正确;

若第二加和电压结果对应的待测试数据正确,则触发第十二确定模块,用于确定数据纠错恢复功能可用;

若第二加和电压结果对应的待测试数据不正确,则触发第十三确定模块,用于确定数据纠错恢复功能不可用;

第四加和模块,用于对第三预设映射等级电压值和偏移电压值加和,得到第三加和电压结果;

第四查询模块,用于根据第三加和结果查询对应的待测试数据;

对应地,第五判断模块,用于判断第三加和电压结果对应的待测试数据是否正确;

若第三加和电压结果对应的待测试数据正确,则触发第十四确定模块,用于确定数据纠错恢复功能可用;

若第三加和电压结果对应的待测试数据不正确,则触发第十五确定模块,用于确定数据纠错恢复功能不可用。

为解决上述技术问题,本发明还提供了一种数据纠错恢复功能的测试设备,包括:

存储器,用于存储计算机程序;

处理器,用于指向计算机程序,实现数据纠错恢复功能的测试方法的步骤。

为解决上述技术问题,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现上述全部数据纠错恢复功能的测试方法的步骤。

本发明提供一种数据纠错恢复功能的测试方法,应用于固态硬盘,方法包括:接收读数据指令;控制计算机闪存控制器执行读数据指令,以便于从数据映射表中读取待测试数据;数据映射表中预先插入表征出现错误的偏移值,且数据映射表中存储有全部的待测试数据以及与待测试数据一一对应的映射值;当获取的依据偏移值读取到的待测试数据正确时,确定数据纠错恢复功能可用。由于预先插入的偏移值就是表征出现错误的值,因此,若想要获取到正确的对应的待测试数据,必须启用数据纠错恢复功能得到正确待测试数据,由此能够直接确定数据纠错恢复功能可用,且在测试过程中无需遍历对应的数据表,不间断地覆盖计算机闪存设备,由此降低测试成本,同时降低对计算机闪存设备的损伤。

本发明还提供了一种数据纠错恢复功能的测试装置、设备及介质,效果同上。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例所提供的一种数据纠错恢复功能的测试方法流程图;

图2为本发明实施例所提供的一种数据纠错恢复功能的测试装置结构图;

图3为本发明实施例所提供的一种数据纠错恢复功能的测试设备结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种数据纠错恢复功能的测试方法、装置、设备及介质,其能够直接确定数据纠错恢复功能可用,且在测试过程中无需遍历对应的数据表,不间断地覆盖计算机闪存设备,由此降低测试成本,同时降低对计算机闪存设备的损伤。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例所提供的一种数据纠错恢复功能的测试方法流程图,如图1所示,该数据纠错恢复功能的测试方法,应用于固态硬盘,方法包括:

S10:接收读数据指令;

需要说明的是,读数据指令是指示计算机闪存控制器从设置有非易失性闪存设备的固态硬盘中存储的数据映射表中读取其中的映射值,根据该映射值读取对应的数据,将根据映射值读取出来的数据称为待测试数据,可以理解的是,待测试数据不一定正确的数据;

另外,在本实施例中,固态硬盘中设置有互相连接的计算机闪存设备和计算机闪存控制器,还可以设置有用于存储数据映射表的另外的计算机闪存设备;

S11:控制计算机闪存控制器执行读数据指令,以便于从数据映射表中读取待测试数据;数据映射表中预先插入表征出现错误的偏移值,且数据映射表中存储有全部的待测试数据以及与待测试数据一一对应的映射值;

由此可知,计算机闪存控制器指示执行接收到的各种指令,计算机闪存控制器不具有控制功能;另外,在本实施例中,数据映射表可以为由多个读电压值构成的,对应的,上述提及的偏移值为偏移电压值,映射值为映射电压值,且偏移电压值不与待测试数据对应;

S12:当获取的依据偏移值读取到的待测试数据正确时,确定数据纠错恢复功能可用;

当根据映射值和偏移值读取到对应的待测试数据之后,还需要判断读取出的待测试数据是否正确,若待测试数据是正确的,则说明启用了数据纠错恢复功能后才能够得到正确待测试数据,则此时数据纠错恢复功能确定可用;若待测试数据是错误的,则说明未启用数据纠错恢复功能,因此得到的待测试数据仍然是错误的,则此时数据纠错恢复功能确定不可用。

在本实施例中,由于预先插入的偏移值就是表征出现错误的值,因此,若想要获取到正确的对应的待测试数据,必须启用数据纠错恢复功能得到正确待测试数据,由此能够直接确定数据纠错恢复功能可用,且在测试过程中无需遍历对应的数据表,不间断地覆盖计算机闪存设备,由此降低测试成本,同时降低对计算机闪存设备的损伤。

在上述实施例的基础上,在一些实施例中,还需要获取依据偏移值读取到的待测试数据,其步骤具体包括:

对数据映射表设置多个预设映射等级值;

对各预设映射等级值和偏移值加和,得到加和结果;

根据加和结果查询对应的待测试数据。

为了能够对多个待测试数据进行全面的测试,以准确的确定数据纠错恢复功能是否可用,对数据映射表设置多个预设映射等级值,此时预设映射等级值的个数不具体限定为固定数量,可根据待测试数据的体量以及数据映射表的具体设置进行符合实施场景的个性化设置。

其中,由于偏移值是表征出现错误的值,此时,在设定好的预设映射等级值上再加入偏移值,得到的加和结果所对应的数据也是错误的数据,若数据纠错恢复功能可用,最终得到的数据是正确的数据,此时就能够确认在本实施例中数据纠错恢复功能可用。

另外,还可以通过串口命令调用日志;日志中存储了多种与确认数据纠错恢复功能是否可用的相关参数,在全部的相关参数中查找并获取表征调用数据纠错恢复功能的次数的错误计数;此时错误计数就能够直接表明数据纠错恢复功能被使用了几次,也就是说,此时能够根据错误计数确定数据纠错恢复功能可用,具体的,当错误计数不为0时,则确定数据纠错恢复功能可用;当错误计数为0时,则确定数据纠错恢复功能不可用,同时,当错误计数为1时,则数据纠错恢复功能被使用了1次。

具体的,在本实施例中,将数据映射表限定为最佳读电压表(Fixed Read Table,FRT),FRT表是根据数据保持时间和计算机闪存设备的编程次数确定的最佳的读电压的偏移值构成的表。在读取计算机设备闪存中的数据时,计算机闪存控制器通过查询FRT表来确定最佳的读电压,分级读取数据,以此减少错误出现的概率,达到纠错恢复数据的目的。

对数据映射表设置三个预设映射等级值;其中,数据映射表中预先插入偏移电压值,且数据映射表中存储有全部的待测试数据以及与待测试数据一一对应的映射电压值,且三个预设映射等级值分别为第一预设映射等级电压值、第二预设映射等级电压值、第三预设映射等级电压值;

对第一预设映射等级电压值和偏移电压值加和,得到第一加和电压结果;

根据第一加和结果查询对应的待测试数据;

对应地,判断第一加和电压结果对应的待测试数据是否正确;

若第一加和电压结果对应的待测试数据正确,则确定数据纠错恢复功能可用;

若第一加和电压结果对应的待测试数据不正确,则确定数据纠错恢复功能不可用;

需要说明的是,在对第一预设映射等级电压值对应的基准上进行注错失败时,会再次在第二预设映射等级电压值对应的基准上进行注错;

对第二预设映射等级电压值和偏移电压值加和,得到第二加和电压结果;

根据第二加和结果查询对应的待测试数据;

对应地,判断第二加和电压结果对应的待测试数据是否正确;

若第二加和电压结果对应的待测试数据正确,则确定数据纠错恢复功能可用;

若第二加和电压结果对应的待测试数据不正确,则确定数据纠错恢复功能不可用;

需要说明的是,在对第二预设映射等级电压值对应的基准上进行注错失败时,会再次在第三预设映射等级电压值对应的基准上进行注错;

对第三预设映射等级电压值和偏移电压值加和,得到第三加和电压结果;

根据第三加和结果查询对应的待测试数据;

对应地,判断第三加和电压结果对应的待测试数据是否正确;

若第三加和电压结果对应的待测试数据正确,则确定数据纠错恢复功能可用;

若第三加和电压结果对应的待测试数据不正确,则确定数据纠错恢复功能不可用。

在本实施例中,由于预先插入的偏移电压值就是表征出现错误的值,因此,若想要获取到正确的对应的待测试数据,必须启用数据纠错恢复功能得到正确待测试数据,由此能够直接确定数据纠错恢复功能可用,且在测试过程中无需遍历数据映射表,不间断地覆盖计算机闪存设备,由此降低测试成本,同时降低对计算机闪存设备的损伤。

在上述实施例的基础上,在一些实施例中,当获取的依据偏移值读取到的待测试数据错误时,还包括:

确定数据纠错恢复功能不可用;

获取待测试数据的二进制字符串;

根据二进制字符串确定第一数量值和第二数量值,其中,第一数量值为二进制字符串中0出现的个数,第二数量值为二进制字符串中1出现的个数;

根据第一数量值和第二数量值得到第一概率值和第二概率值,其中,第一概率值为二进制字符串中的待恢复位元上的值为0的概率值,第二概率值为二进制字符串中的待恢复位元上的值为1的概率值;

当第一概率值大于第二概率值时,设置待恢复位元上的值为0,以便于对待测试数据进行数据恢复;

当第二概率值大于第一概率值时,设置待恢复位元上的值为1,以便于对待测试数据进行数据恢复。

在本实施例中根据上述二进制字符串进行举例说明:

当待测试数据的二进制字符串为0111110x时,将其中x位元设置为待恢复位元,则此时对于0111110x的二进制字符串,其第一数量值为2,第二数量值为4,则对应地,确定第一概率值=[第一数量值/(第一数量值+第二数量值)]×100%=[2/(2+4)]×100%≈33.33%;确定第二概率值=[第二数量值/(第一数量值+第二数量值)]×100%=[4/(2+4)]×100%≈66.66%,由此可知,第二概率值大于第一概率值,此时将待恢复位元上的值设置为0,则待测试数据的二进制字符串为01111100。

需要说明的是,为了使得待测试数据恢复,当数据纠错恢复功能不可用时,使用其他的数据恢复方式对数据进行恢复,其中的一种数据恢复方式为调用低密度奇偶校验方式对待测试数据进行数据恢复。另外还可以通过磁盘阵列(Redundant Arrays ofIndependent Disks,RAID)恢复的方式对待测试数据进行数据恢复。当使用其他的数据恢复方式都无法对数据进行恢复,此时这些数据永久无法恢复。

另外,为了能够实现根据用户需求自主开启或关闭数据纠错恢复功能,此时需要在控制计算机闪存控制器执行读数据指令之前,进行以下操作:

监测表征开启数据纠错恢复功能的串口命令;

当接收到串口命令时,根据串口命令开启数据纠错恢复功能;

判断预先生成的验证数据与执行数据纠错恢复功能后获取的验证输出数据是否相同,验证数据为表征出现错误的数据;

若验证数据与验证输出数据相同,则确定数据纠错恢复功能不可用;

若验证数据与验证输出数据不相同,则确定数据纠错恢复功能可用。

本实施例中串口命令还可以设置为关闭数据纠错恢复功能的指令,且能够根据用户需求设定其开启数据纠错恢复功能还是关闭数据纠错恢复功能;

还能够通过以下操作实现根据用户需求自主开启或关闭数据纠错恢复功能,具体为:

监测表征开启数据纠错恢复功能的标准协议命令;

当接收到标准协议命令时,根据标准协议命令开启数据纠错恢复功能;

判断预先生成的验证数据与执行数据纠错恢复功能后获取的验证输出数据是否相同,验证数据为表征出现错误的数据;

若验证数据与验证输出数据相同,则确定数据纠错恢复功能不可用;

若验证数据与验证输出数据不相同,则确定数据纠错恢复功能可用。

在本实施例中标准协议命令(NVME CLI命令,可以通过该命令查看非易失性内存主机控制器接口规范对应的盘的其他设置信息,其中,非易失性内存主机控制器接口规范(Non Volatile Memory Host Controller Interface Specification,NVMHCIS,NVMe))还可以设置为关闭数据纠错恢复功能的指令,且能够根据用户需求设定其开启数据纠错恢复功能还是关闭数据纠错恢复功能;

还需要另外说明的是,在接收读数据指令之前,先通过测试工具(FIO)对古田硬盘写入一笔带校验的数据,这些带检验的数据可以按照MD5校验(checksum)方式的写入固态硬盘,用于后续数据读取校验时产生错误并通过数据纠错恢复功能进行数据纠错以及数据恢复。同时,还能够通过检测和控制内核环缓冲,用来帮助用户了解系统的启动信息,用于确定是否有超时或丢盘记录。

在上述实施例中,对于数据纠错恢复功能的测试方法进行了详细描述,本发明还提供数据纠错恢复功能的测试装置对应的实施例。需要说明的是,本发明从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。

图2为本发明实施例所提供的一种数据纠错恢复功能的测试装置结构图,如图2所示,本发明还提供了一种数据纠错恢复功能的测试装置,应用于固态硬盘,装置包括:

接收模块20,用于接收读数据指令;

控制模块21,用于控制计算机闪存控制器执行读数据指令,以便于从数据映射表中读取待测试数据;数据映射表中预先插入表征出现错误的偏移值,且数据映射表中存储有全部的待测试数据以及与待测试数据一一对应的映射值;

第一确定模块22,用于当获取的依据偏移值读取到的待测试数据正确时,确定数据纠错恢复功能可用。

此外,该装置还包括以下模块:

在一些实施例中,获取依据偏移值读取到的待测试数据,包括:

第一设置模块,用于对数据映射表设置多个预设映射等级值;

第一加和模块,用于对各预设映射等级值和偏移值加和,得到加和结果;

第一查询模块,用于根据加和结果查询对应的待测试数据。

在一些实施例中,当获取的依据偏移值读取到的待测试数据错误时,还包括:

第二确定模块,用于确定数据纠错恢复功能不可用;

第一获取模块,用于获取待测试数据的二进制字符串;

第三确定模块,用于根据二进制字符串确定第一数量值和第二数量值,其中,第一数量值为二进制字符串中0出现的个数,第二数量值为二进制字符串中1出现的个数;

得到模块,用于根据第一数量值和第二数量值得到第一概率值和第二概率值,其中,第一概率值为二进制字符串中的待恢复位元上的值为0的概率值,第二概率值为二进制字符串中的待恢复位元上的值为1的概率值;

第二设置模块,用于当第一概率值大于第二概率值时,设置待恢复位元上的值为0,以便于对待测试数据进行数据恢复;

第三设置模块,用于当第二概率值大于第一概率值时,设置待恢复位元上的值为1,以便于对待测试数据进行数据恢复。

在一些实施例中,在控制计算机闪存控制器执行读数据指令之前,还包括:

第一监测模块,用于监测表征开启数据纠错恢复功能的串口命令;

第一开启模块,用于当接收到串口命令时,根据串口命令开启数据纠错恢复功能;

第一判断模块,用于判断预先生成的验证数据与执行数据纠错恢复功能后获取的验证输出数据是否相同,验证数据为表征出现错误的数据;

第四确定模块,用于若验证数据与验证输出数据相同,则确定数据纠错恢复功能不可用;

第五确定模块,用于若验证数据与验证输出数据不相同,则确定数据纠错恢复功能可用。

在一些实施例中,当获取的依据偏移值读取到的待测试数据正确时,还包括:

调用模块,用于根据串口命令调用日志;

第二获取模块,用于从日志中获取表征调用数据纠错恢复功能的次数的错误计数;

第六确定模块,用于当错误计数不为0时,则确定数据纠错恢复功能可用;

第七确定模块,用于当错误计数为0时,则确定数据纠错恢复功能不可用。

在一些实施例中,在控制计算机闪存控制器执行读数据指令之前,还包括:

第二监测模块,用于监测表征开启数据纠错恢复功能的标准协议命令;

第二开启模块,用于当接收到标准协议命令时,根据标准协议命令开启数据纠错恢复功能;

第二判断模块,用于判断预先生成的验证数据与执行数据纠错恢复功能后获取的验证输出数据是否相同,验证数据为表征出现错误的数据;

第八确定模块,用于若验证数据与验证输出数据相同,则确定数据纠错恢复功能不可用;

第九确定模块,用于若验证数据与验证输出数据不相同,则确定数据纠错恢复功能可用。

在一些实施例中,获取依据偏移值读取到的待测试数据,包括:

第四设置模块,用于对数据映射表设置三个预设映射等级值;其中,数据映射表中预先插入偏移电压值,且数据映射表中存储有全部的待测试数据以及与待测试数据一一对应的映射电压值,且三个预设映射等级值分别为第一预设映射等级电压值、第二预设映射等级电压值、第三预设映射等级电压值;

第二加和模块,用于对第一预设映射等级电压值和偏移电压值加和,得到第一加和电压结果;

第二查询模块,用于根据第一加和结果查询对应的待测试数据;

对应地,第三判断模块,用于判断第一加和电压结果对应的待测试数据是否正确;

若第一加和电压结果对应的待测试数据正确,则触发第十确定模块,用于确定数据纠错恢复功能可用;

若第一加和电压结果对应的待测试数据不正确,则触发第十一确定模块,用于确定数据纠错恢复功能不可用;

第三加和模块,用于对第二预设映射等级电压值和偏移电压值加和,得到第二加和电压结果;

第三查询模块,用于根据第二加和结果查询对应的待测试数据;

对应地,第四判断模块,用于判断第二加和电压结果对应的待测试数据是否正确;

若第二加和电压结果对应的待测试数据正确,则触发第十二确定模块,用于确定数据纠错恢复功能可用;

若第二加和电压结果对应的待测试数据不正确,则触发第十三确定模块,用于确定数据纠错恢复功能不可用;

第四加和模块,用于对第三预设映射等级电压值和偏移电压值加和,得到第三加和电压结果;

第四查询模块,用于根据第三加和结果查询对应的待测试数据;

对应地,第五判断模块,用于判断第三加和电压结果对应的待测试数据是否正确;

若第三加和电压结果对应的待测试数据正确,则触发第十四确定模块,用于确定数据纠错恢复功能可用;

若第三加和电压结果对应的待测试数据不正确,则触发第十五确定模块,用于确定数据纠错恢复功能不可用。

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图3为本发明实施例所提供的一种数据纠错恢复功能的测试设备结构图,如图3所示,一种数据纠错恢复功能的测试设备包括:

存储器30,用于存储计算机程序;

处理器31,用于执行计算机程序时实现如上述实施例中所提到的数据纠错恢复功能的测试方法的步骤。

本实施例提供的数据纠错恢复功能的测试设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。

其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器30可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器30还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器30至少用于存储以下计算机程序,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任意一个实施例公开的数据纠错恢复功能的测试方法的相关步骤。另外,存储器30所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统可以包括Windows、Unix、Linux等。数据可以包括但不限于数据纠错恢复功能的测试方法等。

在一些实施例中,数据纠错恢复功能的测试设备还可包括有显示屏、输入输出接口、通信接口、电源以及通信总线。

本领域技术人员可以理解,图3中示出的结构并不构成对数据纠错恢复功能的测试设备的限定,可以包括比图示更多或更少的组件。

本发明实施例提供的数据纠错恢复功能的测试设备,包括存储器30和处理器31,处理器31在执行存储器30存储的程序时,能够实现数据纠错恢复功能的测试方法。

最后,本发明还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。

可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory),ROM、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本发明所提供的一种数据纠错恢复功能的测试方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

相关技术
  • 一种备份特性测试方法、装置、设备及存储介质
  • 一种硬盘测试方法、装置、设备以及计算机可读存储介质
  • 一种对象的测试方法、装置、介质及电子设备
  • 一种测试方法、装置、电子设备和存储介质
  • 一种快照特性测试方法、装置、设备及存储介质
  • 数据恢复软件的回归测试方法、装置、设备及存储介质
  • SSD FNV功能恢复写性能的测试方法、装置、计算机设备及存储介质
技术分类

06120116492526