System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据存储,尤其涉及一种固态硬盘的实时数据校验测试方法、装置和介质。
技术介绍
1、固态硬盘在生产完成后,需要进行功能测试,测试过程中需对写入固态硬盘的数据再读上来,进行校验,以验证固态硬盘对数据的存储功能。在此测试场景中,目前行业内在用的主流测试工具是fio,fio是一款免费开源的磁盘测试工具,它的数据校验功能较为基础,主要适用于常规的数据完整性校验。
2、fio在进行固态硬盘测试时,是完成所有的写入数据以后,可以针对之前写入的所有lba(logical block address:逻辑区块地址)信息进行一次性读校验。通常采用两种方法,一种是verify参数,如果带上此参数,fio将会在写入完数据之后,进行一次全部写入lba的读校验;另一种是不使用参数,而是针对写入过的数据,再重新启动一次测试,把写改成读,来完成数据校验。fio在大量的数据校验发生时,会有明显的性能降低,这对于最新的pcie gen5 ssd这种超高速的固态硬盘进行读校验测试的时候,会带来明显的性能问题,速度慢、无法实时监测,从而无法满足测试的要求。
技术实现思路
1、为克服上述缺点,本专利技术的目的在于提供一种固态硬盘的实时数据校验测试方法、装置和介质。通过实时数据校验,确保数据在写入、读取和 trim 操作中的完整性,有效检测数据错误和丢失。
2、为了达到以上目的,本专利技术采用的技术方案是:一种固态硬盘的实时数据校验测试方法,包括:
3、解析测试脚本中的配置参
4、对所述数据块进行编码以形成编码数据块,所述编码数据块包括数据块和与所述数据块对应的唯一的数据特征信息;
5、根据所述读/写命令的写命令和逻辑地址将编码数据块写入到固态硬盘对应的逻辑区块地址,并将所述数据特征信息存储在所述固态硬盘的内存内;
6、根据所述读/写命令中的读命令读取数据,当所述配置参数中开启数据比对校验时,在每次所述读命令时,将所述内存内的数据特征信息与读取的编码数据块比对。
7、本专利技术的有益效果在于:
8、在数据写入固态硬盘后,可以在读取数据时进行数据校验,以确保写入的数据与源数据完全一致。因为读命令可以在任意时刻插入,通过任意时刻插入读命令对写入后的数据进行即时比对和验证,可以快速检测并修正任何潜在的数据错误,确保数据在写入过程中的完整性。即使在混合读写时,也实现了在读写操作同时进行数据校验,通过在读写过程中嵌入数据特征信息与读取的编码数据块比对,确保在高负载条件下的数据完整性。
9、进一步来说,所述数据特征信息包括特征标记、逻辑地址标记、数据块标记和校验码,所述特征标记记录所述数据块被写入的次数,所述逻辑地址标记记录所述数据块对应的所述逻辑地址的标识,所述数据块标记为所述数据块的唯一标识符,所述校验码记录所述数据块的校验信息。
10、数据块和所叠加的特征标记、逻辑地址标记、数据块标记和校验码全部得到后,将其写入到固态硬盘的对应位置里,为后续的数据校验和判定提供了基础信息。
11、进一步来说,所述校验码为所述数据块、所述特征标记和所述逻辑地址标记通过crc32加密算法得到。
12、进一步来说,将所述内存内的数据特征信息与读取的编码数据块比对时,若比对一致,则返回对所述数据块进行编码以形成编码数据块;若比对不一致,则记录错误并终止测试。
13、进一步来说,根据所述读/写命令的写命令和逻辑地址将编码数据块写入到固态硬盘对应的地址后,更新对应的所述特征标记,并所有所述特征标记形成的写入命令列表。做数据比对时,根据特征标记就可以判定,是否有完成并写入新数据,从而快速判定数据的新旧对比。
14、进一步来说,在读/写命令的执行过程中,发生掉电时,启动掉电测试场景,具体包括:
15、记录掉电前已完成的写命令形成完成列表;
16、记录掉电时所述固态硬盘没有回复的写命令形成未完成列表,并记录所述未完成列表中对应的编码数据块;
17、上电后仅对完成列表中的写命令进行数据校验。
18、进一步来说,启动掉电测试场景,还包括,在上电后仅对完成列表中的写命令进行数据校验后执行的:
19、重新启动读/写命令;
20、在执行所述写命令时,若未完成列表中的编码数据块被完成,则更新编码数据块对应的特征标记,并将这个所述编码数据块从所述未完成列表中移除。
21、设计了有效的掉电保护机制,确保在正常/异常掉电的情况下,都可以对写入的数据进行实时的校验。
22、进一步来说,所述写命令包括数据写入和数据擦除。
23、本专利技术还公开一种固态硬盘的实时数据校验测试装置,所述装置包括用于实现上述方法的功能模块。
24、本专利技术还公开一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
本文档来自技高网...【技术保护点】
1.一种固态硬盘的实时数据校验测试方法,其特征在于:包括:
2.根据权利要求1所述的固态硬盘的实时数据校验测试方法,其特征在于: 所述数据特征信息包括特征标记、逻辑地址标记、数据块标记和校验码,所述特征标记记录所述数据块被写入的次数,所述逻辑地址标记记录所述数据块对应的所述逻辑地址的标识,所述数据块标记为所述数据块的唯一标识符,所述校验码记录所述数据块的校验信息。
3.根据权利要求2所述的固态硬盘的实时数据校验测试方法,其特征在于:所述校验码为所述数据块、所述特征标记和所述逻辑地址标记通过CRC32加密算法得到。
4.根据权利要求1-3任一所述的固态硬盘的实时数据校验测试方法,其特征在于:将所述内存内的数据特征信息与读取的编码数据块比对时,若比对一致,则返回对所述数据块进行编码以形成编码数据块;若比对不一致,则记录错误并终止测试。
5.根据权利要求2所述的固态硬盘的实时数据校验测试方法,其特征在于:根据所述读/写命令的写命令和逻辑地址将编码数据块写入到固态硬盘对应的地址后,更新对应的所述特征标记,并所有所述特征标记形成的写入命令列表
6.根据权利要求1-3和权利要求5任一所述的固态硬盘的实时数据校验测试方法,其特征在于:在读/写命令的执行过程中,发生掉电时,启动掉电测试场景,具体包括:
7.根据权利要求6所述的固态硬盘的实时数据校验测试方法,其特征在于:启动掉电测试场景,还包括,在上电后仅对完成列表中的写命令进行数据校验后执行的:
8.根据权利要求1所述的固态硬盘的实时数据校验测试方法,其特征在于:所述写命令包括数据写入和数据擦除。
9.一种固态硬盘的实时数据校验测试装置,其特征在于:所述装置包括用于实现如权利要求1-8任一项所述方法的功能模块。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述的方法的步骤。
...【技术特征摘要】
1.一种固态硬盘的实时数据校验测试方法,其特征在于:包括:
2.根据权利要求1所述的固态硬盘的实时数据校验测试方法,其特征在于: 所述数据特征信息包括特征标记、逻辑地址标记、数据块标记和校验码,所述特征标记记录所述数据块被写入的次数,所述逻辑地址标记记录所述数据块对应的所述逻辑地址的标识,所述数据块标记为所述数据块的唯一标识符,所述校验码记录所述数据块的校验信息。
3.根据权利要求2所述的固态硬盘的实时数据校验测试方法,其特征在于:所述校验码为所述数据块、所述特征标记和所述逻辑地址标记通过crc32加密算法得到。
4.根据权利要求1-3任一所述的固态硬盘的实时数据校验测试方法,其特征在于:将所述内存内的数据特征信息与读取的编码数据块比对时,若比对一致,则返回对所述数据块进行编码以形成编码数据块;若比对不一致,则记录错误并终止测试。
5.根据权利要求2所述的固态硬盘的实时数据校验测试方法,其特征在于:根据所述读/...
【专利技术属性】
技术研发人员:苏醒,王骁,
申请(专利权)人:苏州德伽存储科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。