【技术实现步骤摘要】
实现大容量SSD在小内存机器上进行数据校验测试的方法
本专利技术涉及硬盘测试领域,具体是实现大容量SSD在小内存机器上进行数据校验测试的方法。
技术介绍
对SSD存储设备的数据一致性校验测试中,需对写入SSD设备的数据再读上来,进行校验,以验证SSD设备对数据的存储功能。在此测试场景中,目前行业内在用的主流测试工具fio,在应对容量不断增大的ssd设备在内存较小的普通pc机器上进行全盘数据校验时,存在缺陷。针对上述场景,行业内主流测试工具fio的实现方案及缺陷如下:fio通过verify_backlog参数,实现写入一定量的io,然后进行校验,再写入下一批io,这样循环写入、读校验,来完成全盘的数据一致性测试。这样的缺陷在于,在全盘随机写校验过程中,如果已写过并校验的数据发生垃圾回收(gc)错误,但本次循环写入、读校验正常,软件工具就不会发现这种错误。必须进行全盘数据校验,才能够发现。fio不设置verify_backlog参数,就需要先完整写入,再完整读出、校验,但此种方案,对内存较小、配置较低的测试机器,满足不了测试需求。
技术实现思路
针对现有技术的缺陷,本专利技术提出一种实现大容量SSD在小内存机器上进行数据校验测试的方法,代替fio完成全盘数据校验测试,对测试机器内存要求低,目前普通的pc机即可满足测试要求。为了解决所述技术问题,本专利技术采用的技术方案是:一种实现大容量SSD在小内存机器上进行数据校验测试的方法,大容量SSD是指容量大于或者等于8T的SS ...
【技术保护点】
1.实现大容量SSD在小内存机器上进行数据校验测试的方法,大容量SSD是指容量大于或者等于8T的SSD,小内存机器是指内存小于或者等于1G的机器,其特征在于:本方法包括随机写数据和数据校验两部分,随机写数据时,根据命令参数中的mode参数,决定LBA序列的存储方式,mode=1时,遇到低配置测试机器,不记录LBA序列,mode=2时,在本地文件存储LBA序列,mode=3时,在内存中通过bitmap存储LBA序列;/n数据校验时,生成LBA序列,根据写数据时存储LBA序列的方式,采用不同的校验方式,mode=1时,写操作未记录LBA序列,直接对随机LBA地址进行读取,通过读取内容中的标示信息判断是否进行校验;mode=2时,在本地文件存储LBA序列,打开本地保存的LBA序列文件,判断LBA地址之前是否被写入,进而读取校验,mode=3时,通过比对在内存中保存的bitmap,判断是否对随机生成的LBA地址进行读取校验。/n
【技术特征摘要】
1.实现大容量SSD在小内存机器上进行数据校验测试的方法,大容量SSD是指容量大于或者等于8T的SSD,小内存机器是指内存小于或者等于1G的机器,其特征在于:本方法包括随机写数据和数据校验两部分,随机写数据时,根据命令参数中的mode参数,决定LBA序列的存储方式,mode=1时,遇到低配置测试机器,不记录LBA序列,mode=2时,在本地文件存储LBA序列,mode=3时,在内存中通过bitmap存储LBA序列;
数据校验时,生成LBA序列,根据写数据时存储LBA序列的方式,采用不同的校验方式,mode=1时,写操作未记录LBA序列,直接对随机LBA地址进行读取,通过读取内容中的标示信息判断是否进行校验;mode=2时,在本地文件存储LBA序列,打开本地保存的LBA序列文件,判断LBA地址之前是否被写入,进而读取校验,mode=3时,通过比对在内存中保存的bitmap,判断是否对随机生成的LBA地址进行读取校验。
2.根据权利要求1所述的实现大容量SSD在小内存机器上进行数据校验测试的方法,其特征在于:写数据时,申请n个内存,在已申请的n个内存中,动态的寻找可用内存并还原清理内存,配合libaio库函数的功能,实现内存管理和数据写入。
3.根据权利要求1所述的实现大容量SSD在小内存机器上进行数据校验测试的方法,其特征在于:写数据或者数据校验时,获取命令参数中的待写入总量、校验量和指定的IO包大小,规定写读轮数等于待写入总量除以校验量,提交次数等于校验量除以指定的IO包大小,以写读轮数作为外循环次数,提交次数作为内循环次数,直到完成循环,达到写入量。
4.根据权利要求1所述的实现大容量SSD在小内存机器上进行数据校验测试的方法,其特征在于:写数据的具体过程为:
S11)、解析命令参数,获取命令参数中的待写入总量、校验量和指定的IO包大小,令写读轮数等于待写入总量除以校验量,提交次数等于校验量除以指定的IO包大小;
S12)、动态申请n个内存;
S13)、在已申请的内存中寻找可用内存,根据rw参数,选择随机或者顺序生成LBA序列,准备IO写消息体;根据命令参数中的mode参数,决定LBA随机序列的存储方式,mode=1时,遇到低配置测试机器,不记录LBA随机序列,mode=2时,在本地文件存储LBA随机序列,mode=3时,在内存中通过bitmap存储LBA随机序列;
S14)、通过io_submit提交IO结构体,在io_submit函数的执行结果的异常处理中,针对因可用资源不足而提交失败的IO,进行重复提交,并计时,连续提交失败超30s...
【专利技术属性】
技术研发人员:王璞,刘正主,李铁,段好强,
申请(专利权)人:山东华芯半导体有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。