本发明涉及计算机,具体涉及一种固态硬盘的坏块检测方法、装置、设备及存储介质。
背景技术:
1、固态硬盘是用于固态电子存储芯片阵列制成的硬盘,其主要存储单元为闪存颗粒(nand flash),一个nand flash由多个块(block)组成,一个block由多个page组成,由于nand flash的工艺难以保证其中的存储器阵列在其生命周期中保持性能的可靠性,因此在生产和使用过程中会产生坏块,坏块是指闪存中的某些区域不能进行擦写操作。在出厂阶段会有一定概率出现坏块,称为固有坏块。在使用过程中如果出现程序错误等情况,可将这个block作为坏块处理会将这个坏标记出来。
2、坏块会导致浮栅极充不进电子、浮栅极的电子容易跑出来或浮栅极里面的电子跑不出来。通常会在硬盘中存储坏块表,其中包括出厂坏块以及新增坏块。随着对固态硬盘性能的要求越来越高,需要确定固态硬盘中存在坏块的部分闪存颗粒的位置,以便对其进行及时的拦截和替换。
技术实现思路
1、有鉴于此,本发明实施例提供了一种固态硬盘的坏块检测方法、装置、设备及存储介质,以解决准确定位固态硬盘中存在坏块的闪存颗粒的问题。
2、第一方面,本发明实施例提供了一种固态硬盘的坏块检测方法,所述方法包括:
3、获取固态硬盘的坏块表,所述坏块表包括所述固态硬盘中所有坏块组;
4、对所述坏块表进行解析,确定各坏块组中的坏块数量,并判断所述坏块组中的坏块数量是否超过预设阈值;
5、当所述坏块组中的坏块数量超过预设阈值,获取所述坏块组中每个坏块的通道与片选信号的组合;
6、基于所述通道与片选信号的组合从预设对照表中确定所述通道与片选信号的组合对应的闪存颗粒的位置,所述预设对照表中存储所述通道与片选信号的组合和闪存颗粒的位置的映射关系。
7、本发明实施例提供的固态硬盘的坏块检测方法,通过解析坏块表,对坏块组进行筛选,当坏块组中的坏块数量超过预设阈值,则根据对坏块组中坏块的解析得到各个坏块对应的通道与片选信号的组合,进而基于预设对照表确定各通道与片选信号的组合对应的闪存颗粒的位置,以此准确定位固态硬盘中存在坏块的闪存颗粒,提升异常闪存颗粒的定位效率。在确定闪存颗粒的位置后,可对闪存颗粒进行更换,避免因人力检测耗费较多时间,该方法可减少故障硬盘的维修时间和测试成本,提高固态硬盘的质量。
8、在一些可选的实施方式中,所述对所述坏块表进行解析,确定各坏块组中的坏块数量,包括:
9、读取所述坏块表,从所述坏块表中确定所有坏块组;
10、基于所述坏块组中各个块的数据,确定各坏块组中的坏块数量。
11、在一些可选的实施方式中,所述基于所述坏块组中各个块的数据,确定各坏块组中的坏块数量,包括:
12、读取坏块组中的各块在同一行的数据;
13、对所述各块在同一行的数据进行转换并求和,以确定各坏块组中的坏块数量。
14、在一些可选的实施方式中,所述对所述各块在同一行的数据进行转换并求和,以确定各坏块组中的坏块数量,包括:
15、将所述各块在同一行的数据转换为二进制,得到二进制数据;
16、对所述二进制数据取或,得到所述各块在同一行数据对应的位数;
17、计算坏块组中所有位数之和,以确定各坏块组中的坏块数量。
18、本发明实施例提供的方法,读取各个坏块组中各个块的数量,经过对各个块中同一行数据的读取、转换以及取或操作,得到其中置1的数量,将各位数相加,得到该坏块组中的坏块数量。
19、在一些可选的实施方式中,所述判断所述坏块组中的坏块数量是否超过预设阈值,包括:
20、基于所述固态硬盘的内存大小确定对应的预设阈值;
21、判断所述坏块组中的坏块数量是否超过所述固态硬盘对应的预设阈值。
22、本发明实施例提供的方法,设定不同内存大小的固态硬盘有不同的预设阈值,根据固态硬盘的内存大小确定对应的预设阈值,再判断坏块组中的坏块数量是否超过对应的预设阈值。该方法考虑不同内存的固态硬盘有针对性地执行判断过程,得到的判断结果更加准确。
23、在一些可选的实施方式中,所述获取所述坏块组中每个坏块的通道与片选信号的组合,包括:
24、读取坏块组中每个坏块对应的预设描述表,所述预设描述表包括每个坏块的通道、片选信号分别对应的比特位;
25、从所述预设描述表中确定每个坏块的通道与片选信号分别对应的比特位,并读取所述比特位对应的数据,以确定所述坏块组中每个坏块的通道与片选信号的组合。
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、第四方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的固态硬盘的坏块检测方法。
1.一种固态硬盘的坏块检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述坏块表进行解析,确定各坏块组中的坏块数量,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述坏块组中各个块的数据,确定各坏块组中的坏块数量,包括:
4.根据权利要求3所述的方法,其特征在于,所述对所述各块在同一行的数据进行转换并求和,以确定各坏块组中的坏块数量,包括:
5.根据权利要求1所述的方法,其特征在于,所述判断所述坏块组中的坏块数量是否超过预设阈值,包括:
6.根据权利要求1所述的方法,其特征在于,所述获取所述坏块组中每个坏块的通道与片选信号的组合,包括:
7.根据权利要求1所述的方法,其特征在于,所述获取所述固态硬盘的坏块表,包括:
8.一种固态硬盘的坏块检测装置,其特征在于,所述装置包括:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的固态硬盘的坏块检测方法。