一种坏块管理程序验证方法、产品及存储介质与流程
- 国知局
- 2024-07-31 20:01:21
本技术实施例存储,具体而言,涉及一种坏块管理程序验证方法、产品及存储介质。
背景技术:
1、ssd(solid state drive,固态硬盘)是由闪存(flash)构成的一种存储设备,每个闪存中包括了多个存储块(block),在使用时可能会遇见坏掉的存储块,相关技术中为了确定闪存中的存储块是否为坏块,通过坏块管理程序对坏块进行检测以及记录,在验证坏块管理程序的兼容性以及可靠性时,通过坏块扫描程序直接向后端的每个存储块发送操作命令,依据后端返回的状态信息确定存储块是否为坏块,再由工作人员手动验证该存储块是否为坏块。
2、相关技术中,对坏块管理程序的验证依赖于硬件结构,每次验证都需要与存储设备进行交互,再由工作人员手动验证,导致在固件开发中验证坏块管理程序的兼容性以及可靠性的步骤较为复杂,降低了开发效率,并且手动验证的方式也降低了测试效率。
技术实现思路
1、本技术实施例提供一种坏块管理程序验证方法、产品及存储介质,旨在提升坏块管理程序的验证效率。
2、本技术实施例第一方面提供一种坏块管理程序验证方法,所述方法包括:
3、接收坏块仿真配置命令;
4、对所述坏块仿真配置命令进行解析,得到所述坏块仿真配置命令对应的坏块仿真配置参数;
5、根据所述坏块仿真配置参数,生成对应的虚拟闪存;
6、根据预设的坏块条件,在所述虚拟闪存中指定多个第一坏块;
7、通过坏块扫描程序对所述虚拟闪存进行坏块检测,得到多个第二坏块;
8、通过对比多个所述第一坏块与多个所述第二坏块,对坏块管理程序进行验证。
9、可选地,所述对所述坏块仿真配置命令进行解析,得到所述坏块仿真配置命令对应的坏块仿真配置参数,包括:
10、依次读取所述坏块仿真配置命令的每个字段;
11、根据所述字段,确定所述坏块仿真配置参数指定的通道数、芯片使能单元数、功能单元数、存储矩阵数、存储块数以及坏块率。
12、可选地,所述方法还包括:
13、对所述坏块仿真配置命令进行验证;
14、在所述坏块仿真配置命令为合法命令的情况下,将所述坏块仿真配置参数加载至所述坏块扫描程序中;
15、在所述坏块仿真配置命令不是合法命令的情况下,返回命令错误消息。
16、可选地,所述根据所述坏块仿真配置参数,生成对应的虚拟闪存,包括:
17、根据所述坏块仿真配置参数,确定待生成的所述虚拟闪存的闪存结构;
18、根据所述闪存结构,生成对应的所述虚拟闪存。
19、可选地,所述根据预设的坏块条件,在所述虚拟闪存中指定多个第一坏块,包括:
20、按照地址增长顺序,遍历所述虚拟闪存中的每个存储块;
21、针对每个所述存储块,确定所述存储块是否满足所述坏块条件;
22、在所述存储块满足所述坏块条件的情况下,将所述存储块指定为所述第一坏块。
23、可选地,所述预设的坏块条件对应的表达式为:
24、rand()%(1/坏块率)==0
25、其中,1/坏块率代表了至少存在一个所述坏块所需要的所述存储块的数量,rand()代表随机数。
26、可选地,所述将所述存储块指定为所述第一坏块,包括:
27、运行坏块设置程序;
28、通过所述坏块设置程序,将所述存储块在位图中设置为所述第一坏块。
29、可选地,所述方法还包括:
30、对所述第一坏块在所述虚拟闪存中对应的存储块编号、功能单元编号、芯片使能单元编号、通道编号进行记录;
31、对所述第一坏块在所述位图中对应的比特数、字节数以及字节位置进行记录。
32、可选地,所述通过坏块扫描程序对所述虚拟闪存进行坏块检测,得到多个第二坏块,包括:
33、运行所述坏块扫描程序;
34、通过所述坏块扫描程序对所述虚拟闪存中的每个存储块进行扫描,得到多个所述第二坏块。
35、可选地,所述通过所述坏块扫描程序对所述虚拟闪存中的每个存储块进行扫描,得到多个所述第二坏块,包括:
36、通过所述坏块扫描程序对所述虚拟闪存中的每个所述存储块发送对应的指令;
37、在所述存储块返回的响应消息为异常消息时,确定所述存储块为所述第二坏块。
38、可选地,所述方法还包括:
39、对所述第二坏块在所述虚拟闪存中对应的存储块编号、功能单元编号、芯片使能单元编号、通道编号进行记录;
40、对所述第二坏块在所述位图中对应的比特数、字节数以及字节位置进行记录。
41、可选地,所述通过对比多个所述第一坏块与多个所述第二坏块,对坏块管理程序进行验证,包括:
42、针对每个所述第一坏块与每个所述第二坏块,读取所述第一坏块与所述第二坏块对应的记录信息;
43、在所述第一坏块与所述第二坏块对应的所述记录信息匹配时,确定所述第二坏块识别正确;
44、在每个所述第二坏块均识别正确的情况下,通过对所述坏块管理程序的验证;
45、在多个所述第二坏块中存在与多个所述第一坏块不匹配的坏块的情况下,所述坏块管理程序验证失败。
46、本技术实施例第二方面提供一种坏块管理程序验证装置,所述装置包括:
47、命令接收模块,用于接收坏块仿真配置命令;
48、仿真配置参数获取模块,用于对所述坏块仿真配置命令进行解析,得到所述坏块仿真配置命令对应的坏块仿真配置参数;
49、虚拟闪存生成模块,用于根据所述坏块仿真配置参数,生成对应的虚拟闪存;
50、第一坏块确定模块,用于根据预设的坏块条件,在所述虚拟闪存中指定多个第一坏块;
51、第二坏块确定模块,用于通过坏块扫描程序对所述虚拟闪存进行坏块检测,得到多个第二坏块;
52、程序验证模块,用于通过对比多个所述第一坏块与多个所述第二坏块,对坏块管理程序进行验证。
53、可选地,所述仿真配置参数获取模块包括:
54、字段读取子模块,用于依次读取所述坏块仿真配置命令的每个字段;
55、参数确定子模块,用于根据所述字段,确定所述坏块仿真配置参数指定的通道数、芯片使能单元数、功能单元数、存储矩阵数、存储块数以及坏块率。
56、可选地,所述装置还包括:
57、命令验证模块,用于对所述坏块仿真配置命令进行验证;
58、参数加载模块,用于在所述坏块仿真配置命令为合法命令的情况下,将所述坏块仿真配置参数加载至所述坏块扫描程序中;
59、错误消息返回模块,用于在所述坏块仿真配置命令不是合法命令的情况下,返回命令错误消息。
60、可选地,所述虚拟闪存生成模块包括:
61、闪存结构确定子模块,用于根据所述坏块仿真配置参数,确定待生成的所述虚拟闪存的闪存结构;
62、虚拟闪存生成子模块,用于根据所述闪存结构,生成对应的所述虚拟闪存。
63、可选地,所述第一坏块确定模块包括:
64、存储块检测子模块,用于按照地址增长顺序,遍历所述虚拟闪存中的每个存储块;
65、条件判断子模块,用于针对每个所述存储块,确定所述存储块是否满足所述坏块条件;
66、第一坏块指定子模块,用于在所述存储块满足所述坏块条件的情况下,将所述存储块指定为所述第一坏块。
67、可选地,所述预设的坏块条件对应的表达式为:
68、rand()%(1/坏块率)==0
69、其中,1/坏块率代表了至少存在一个所述坏块所需要的所述存储块的数量,rand()代表随机数。
70、可选地,所述第一坏块指定子模块包括:
71、设置程序运行子模块,用于运行坏块设置程序;
72、坏块设定子模块,用于通过所述坏块设置程序,将所述存储块在位图中设置为所述第一坏块。
73、可选地,所述装置还包括:
74、第一信息记录子模块,用于对所述第一坏块在所述虚拟闪存中对应的存储块编号、功能单元编号、芯片使能单元编号、通道编号进行记录;
75、第二信息记录子模块,用于对所述第一坏块在所述位图中对应的比特数、字节数以及字节位置进行记录。
76、可选地,所述第二坏块确定模块包括:
77、扫描程序运行子模块,用于运行所述坏块扫描程序;
78、存储块扫描子模块,用于通过所述坏块扫描程序对所述虚拟闪存中的每个存储块进行扫描,得到多个所述第二坏块。
79、可选地,所述存储块扫描子模块包括:
80、指令发送子模块,用于通过所述坏块扫描程序对所述虚拟闪存中的每个所述存储块发送对应的指令;
81、第二坏块确定子模块,用于在所述存储块返回的响应消息为异常消息时,确定所述存储块为所述第二坏块。
82、可选地,所述装置还包括:
83、第三信息记录子模块,用于对所述第二坏块在所述虚拟闪存中对应的存储块编号、功能单元编号、芯片使能单元编号、通道编号进行记录;
84、第四信息记录子模块,用于对所述第二坏块在所述位图中对应的比特数、字节数以及字节位置进行记录。
85、可选地,所述程序验证模块包括:
86、记录信息读取子模块,用于针对每个所述第一坏块与每个所述第二坏块,读取所述第一坏块与所述第二坏块对应的记录信息;
87、识别确定子模块,用于在所述第一坏块与所述第二坏块对应的所述记录信息匹配时,确定所述第二坏块识别正确;
88、验证通过子模块,用于在每个所述第二坏块均识别正确的情况下,通过对所述坏块管理程序的验证;
89、验证失败子模块,用于在多个所述第二坏块中存在与多个所述第一坏块不匹配的坏块的情况下,所述坏块管理程序验证失败。
90、本技术实施例第三方面提供一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如本技术第一方面所述方法中的步骤。
91、本技术实施例第四方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本技术第一方面所述的方法中的步骤。
92、本技术实施例第五方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本技术第一方面所述的方法的步骤。
93、采用本技术提供的坏块管理程序验证方法,接收坏块仿真配置命令;对所述坏块仿真配置命令进行解析,得到所述坏块仿真配置命令对应的坏块仿真配置参数;根据所述坏块仿真配置参数,生成对应的虚拟闪存;根据预设的坏块条件,在所述虚拟闪存中指定多个第一坏块;通过坏块扫描程序对所述虚拟闪存进行坏块检测,得到多个第二坏块;通过对比多个所述第一坏块与多个所述第二坏块,对坏块管理程序进行验证。
94、本技术中,通过仿真系统接收坏块仿真配置命令,进而获取到坏块仿真配置参数,再生成对应的虚拟闪存,该虚拟闪存不依赖于硬件,是由仿真程序模拟出的闪存,不依赖于硬件,可以灵活的调整闪存的结构,并且根据预设的坏块条件在虚拟闪存中指定了多个第一坏块,再通过坏块管理程序对虚拟闪存进行扫描,得到多个第二坏块,通过对比第一坏块与第二坏块,完成对坏块管理程序的验证,通过这种验证方式,可以实现坏块管理程序对各种结构的闪存的兼容性和可靠性的验证,并且不需要工作人员再手动验证坏块管理程序的扫描结果,提升了固件开发中坏块管理程序的验证效率以及测试效率。
本文地址:https://www.jishuxx.com/zhuanli/20240731/185066.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表