一种基于固态硬盘的存储块筛选方法、装置、设备及介质与流程
- 国知局
- 2024-07-31 19:45:26
本发明涉及计算机,特别是涉及一种基于固态硬盘的存储块筛选方法、装置、设备及介质。
背景技术:
1、随着各个数据中心需要存储的数据量的增加,固态硬盘被广泛应用。在固态硬盘中一般会设置有适用于大量数据存储的非易失性存储器(nand flash)。但是由于制作工艺的影响,nand flash中的大量存储块会出现损坏的情况,一般情况下,将损坏的存储块称为坏块,坏块一般分为3种,分别为:在出厂时因不符合厂商标准的出厂坏块;在使用过程中因为大量数据读写磨损产生的新增坏块;因异常掉电等原因被主控误判的假性坏块。其中只有出厂坏块能够提前被用户得知,在正常工作过程中可以避免使用出厂坏块,而无法规避新增坏块和假性坏块,此时会造成数据存储的不稳定性。
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、判断存储于预设表格中的存储位置的格式是否符合预设格式;
25、若存储位置的格式符合预设格式,则将存储位置存储于故障存储块统计表;
26、若存储位置的格式不符合预设格式,则返回至获取出现故障的存储块的存储位置的步骤。
27、另一方面,在根据写请求指令生成对应的写数据操作之后,还包括:
28、根据写数据操作生成表征执行写数据操作的写标志位;
29、在对应的存储块中设置写标志位;
30、对应的,在根据写数据操作的错误状态统计出现故障的存储块之后,还包括:
31、判断固态硬盘中的全部存储块是否都执行写数据操作;
32、若全部存储块都执行写数据操作,则结束;
33、若全部存储块未都执行写数据操作,则查找未设置写标志位的存储块,并返回至根据启动指令发起写请求指令的步骤。
34、另一方面,在根据出现故障的存储块的存储位置更新故障存储块统计表之后,还包括:
35、对更新后的故障存储块统计表设置表征更新故障存储块统计表成功的更新标志位;
36、判断更新后的故障存储块统计表是否设置有更新标志位;
37、若更新后的故障存储块统计表设置有更新标志位,则确定故障存储块统计表更新成功;
38、若更新后的故障存储块统计表未设置更新标志位,则返回至根据出现故障的存储块的存储位置更新故障存储块统计表的步骤。
39、另一方面,获取出现故障的存储块的存储位置包括:
40、确定出现故障的存储块的存储页;
41、根据存储页确定页码,并确定存储页所在的层级标号为1;
42、按照层级标号步进值为1,获取出现故障的存储块的块码和存储块所在的层级标号为2;
43、按照层级标号步进值为1,获取出现故障的存储矩阵的编码和存储矩阵所在的层级标号为3;
44、按照层级标号步进值为1,获取出现故障的非易失性存储器的编号和非易失性存储器所在的层级标号为4;
45、按照层级标号步进值为1,获取传输写数据操作的传输通道的通道编号和传输通道所在的层级标号为5;
46、按照层级标号由大到小的顺序,将通道编号、非易失性存储器的编号、存储矩阵的编码、存储块的块码、存储页的页码生成地址序列;
47、根据地址序列生成故障坐标,并将故障坐标作为出现故障的存储块的存储位置。
48、为解决上述技术问题,本发明还提供了一种基于固态硬盘的存储块筛选装置,装置包括:
49、接收模块,用于接收表征启动固态硬盘的启动指令;
50、扫描并建立模块,用于根据启动指令扫描固态硬盘中的全部存储块并建立故障存储块统计表;其中,故障存储块统计表中存储有被标记为故障存储块的存储块的存储位置;
51、第一发起模块,用于向未被标记为故障存储块的存储块发起写数据操作;
52、统计模块,用于根据写数据操作的错误状态统计出现故障的存储块;
53、第一更新模块,用于根据出现故障的存储块的存储位置更新故障存储块统计表;
54、筛选模块,用于根据更新后的故障存储块统计表筛选存储块;
55、再更新模块,用于当再次接收到启动指令时,调用更新后的故障存储块统计表;
56、第二发起模块,用于根据更新后的故障存储块统计表向未被标记为故障存储块的存储块发起写数据操作。
57、该装置还包括以下模块:
58、另一方面,向未被标记为故障存储块的存储块发起写数据操作包括:
59、控制模块,用于根据启动指令发起写请求指令;
60、访问模块,用于根据写请求指令访问非易失性存储器的存储矩阵;其中存储矩阵中设置有多个存储块;
61、第一生成模块,用于根据写请求指令生成对应的写数据操作;
62、写数据模块,用于根据写数据操作向非易失性存储器的存储矩阵写入数据。
63、另一方面,根据写数据操作的错误状态统计出现故障的存储块包括:
64、第一判断模块,用于判断执行写数据操作的执行时长是否超出预设时长;
65、若执行时长未超出预设时长,则触发第一确定模块,用于确定写数据操作为正确状态;
66、若执行时长超出预设时长,则触发第二确定模块,用于确定写数据操作为错误状态;
67、查询模块,用于根据写数据操作的错误状态查询对应的出现故障的存储块。
68、另一方面,根据出现故障的存储块的存储位置更新故障存储块统计表包括:
69、第一获取模块,用于获取出现故障的存储块的存储位置;
70、第一存储模块,用于将存储位置存储于预设表格中;
71、第二判断模块,用于判断存储于预设表格中的存储位置的格式是否符合预设格式;
72、若存储位置的格式符合预设格式,则触发第二存储模块,用于将存储位置存储于故障存储块统计表;
73、若存储位置的格式不符合预设格式,则返回至获取出现故障的存储块的存储位置的步骤。
74、另一方面,在根据写请求指令生成对应的写数据操作之后,还包括:
75、第二生成模块,用于根据写数据操作生成表征执行写数据操作的写标志位;
76、设置模块,用于在对应的存储块中设置写标志位;
77、对应的,在根据写数据操作的错误状态统计出现故障的存储块之后,还包括:
78、第三判断模块,用于判断固态硬盘中的全部存储块是否都执行写数据操作;
79、若全部存储块都执行写数据操作,则结束;
80、若全部存储块未都执行写数据操作,则触发查找模块,用于查找未设置写标志位的存储块,并返回至根据启动指令发起写请求指令的步骤。
81、另一方面,在根据出现故障的存储块的存储位置更新故障存储块统计表之后,还包括:
82、第二更新模块,用于对更新后的故障存储块统计表设置表征更新故障存储块统计表成功的更新标志位;
83、第四判断模块,用于判断更新后的故障存储块统计表是否设置有更新标志位;
84、若更新后的故障存储块统计表设置有更新标志位,则触发第三确定模块,用于确定故障存储块统计表更新成功;
85、若更新后的故障存储块统计表未设置更新标志位,则返回至根据出现故障的存储块的存储位置更新故障存储块统计表的步骤。
86、另一方面,获取出现故障的存储块的存储位置包括:
87、第四确定模块,用于确定出现故障的存储块的存储页;
88、第五确定模块,用于根据存储页确定页码,并确定存储页所在的层级标号为1;
89、第二获取模块,用于按照层级标号步进值为1,获取出现故障的存储块的块码和存储块所在的层级标号为2;
90、第三获取模块,用于按照层级标号步进值为1,获取出现故障的存储矩阵的编码和存储矩阵所在的层级标号为3;
91、第四获取模块,用于按照层级标号步进值为1,获取出现故障的非易失性存储器的编号和非易失性存储器所在的层级标号为4;
92、第五获取模块,用于按照层级标号步进值为1,获取传输写数据操作的传输通道的通道编号和传输通道所在的层级标号为5;
93、第三生成模块,用于按照层级标号由大到小的顺序,将通道编号、非易失性存储器的编号、存储矩阵的编码、存储块的块码、存储页的页码生成地址序列;
94、第四生成模块,用于根据地址序列生成故障坐标,并将故障坐标作为出现故障的存储块的存储位置。
95、为解决上述技术问题,本发明还提供了一种基于固态硬盘的存储块筛选设备,包括:
96、存储器,用于存储计算机程序;
97、处理器,用于指向计算机程序,实现基于固态硬盘的存储块筛选方法的步骤。
98、为解决上述技术问题,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现上述全部基于固态硬盘的存储块筛选方法的步骤。
99、本发明所提供的一种基于固态硬盘的存储块筛选方法,包括:接收表征启动固态硬盘的启动指令;根据启动指令扫描固态硬盘中的全部存储块并建立故障存储块统计表;其中,故障存储块统计表中存储有被标记为故障存储块的存储块的存储位置;此时能够将出厂坏块的存储块的信息直接存储至故障存储块统计表中;向未被标记为故障存储块的存储块发起写数据操作;根据写数据操作的错误状态统计出现故障的存储块;根据出现故障的存储块的存储位置更新故障存储块统计表;此时,能够将新增坏块和假性坏块更新存储到故障存储块统计表中,并且根据更新后的故障存储块统计表筛选存储块,实现了直接规避新增坏块和假性坏块,以提高数据存储的稳定性;根据更新后的故障存储块统计表筛选存储块;当再次接收到启动指令时,调用更新后的故障存储块统计表;根据更新后的故障存储块统计表向未被标记为故障存储块的存储块发起写数据操作。此时直接根据故障存储块统计表筛选存储块能够确定下一轮的故障存储块。
100、本发明还提供了一种基于固态硬盘的存储块筛选装置、设备及介质,效果同上。
本文地址:https://www.jishuxx.com/zhuanli/20240731/183877.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。