一种固态存储设备坏块表的生成与维护方法技术

技术编号:31507816 阅读:23 留言:0更新日期:2021-12-22 23:41
本发明专利技术公开一种固态存储设备坏块表的生成与维护方法,本方法通过以文本形式记录坏块条目并配合脚本解析生成Bin文件的方式,可更容易地实现坏块表的离线维护,当SSD实际使用过程中发现不稳定、性能变弱的Flash存储块但固件未能将其识别为坏块时,如果经人工分析能确定其为坏块,可通过该方法直观、方便地手动新增坏块条目进行维护。此外,导出坏块表到上位机的过程中,通过对比直接输出的Bin文件和根据记录文本解析生成的Bin文件,可确保扫描结果的正确性和稳定性,避免缺失遗漏。避免缺失遗漏。避免缺失遗漏。

【技术实现步骤摘要】
一种固态存储设备坏块表的生成与维护方法


[0001]本专利技术涉及存储器
,具体是一种固态存储设备坏块表的生成与维护方法。
[0002]背景方法固态存储设备(SSD)具有容量大、速度块、体积小、抗干扰能力强等优点,可以为服务器主机等提供廉价高效的大规模存储解决方案,因此受到广泛应用。其内部使用的存储介质——闪存(NAND Flash)颗粒是一种非易失性存储器。
[0003]一块SSD上的NAND Flash颗粒按照组织结构一般可划分为Channel、CE(Target)、LUN、Block、WordLine、Page、DataFrame等层次,其中Block(块)是擦除的最小单位,对已写入数据的块进行回收重复利用时,必须先擦除再写,而不能覆盖写。块写入/擦除操作(P/E)循环的次数会影响NAND Flash颗粒的寿命,随着P/E次数的增多,块的性能或稳定性会逐渐变差,成为坏块或弱块。如果SSD固件像访问普通块一样对坏块进行读写,存储数据的正确性就无法得到保障,因此需要建立坏块表对NAND Flash颗粒中的块进行鉴别。
[0004]SSD坏块分为原厂坏块和使用过程中新增的坏块,前者在NAND Flash颗粒出厂时就已被做了特殊标记,可通过特定手段直接识别出来。但对于后者,由于是逐渐磨损产生的,其与普通块之间并没有非常清晰的界限,因此无法保证SSD固件能准确识别出来,有时需要专业人员现场鉴定出错后才能确认。对于这种情况,维护坏块表是比较麻烦的,因为它一般是存放于SSD的内存中,直接修改不方便。

技术实现思路

[0005]针对现有技术的缺陷,本专利技术提供一种固态存储设备坏块表的生成与维护方法,可通过该方法直观、方便地手动新增坏块条目进行维护。
[0006]为了解决所述技术问题,本专利技术采用的技术方案是:一种固态存储设备坏块表的生成与维护方法,包括以下步骤:S01)、执行SSD全盘坏块扫描命令,调用固件中的坏块扫描子程序,扫描出的坏块信息以链表形式记录在SSD内存指定区域建立的临时坏块表中,同时将扫描出的坏块信息输出到与之连接的上位机日志文件中;S02)、将SSD内存中建立的临时坏块表根据存储组织结构转换成掩码位图格式文件,用内存转储命令导出到上位机;此处“临时坏块表”即指步骤S01)中的坏块扫描程序创建的以链表形式保存的坏块信息,该方式不利于快速判定某给定块是否为坏块(需要遍历比对)且占用较多空间,因此需要对临时坏块表的格式进行转化。
[0007]“存储组织结构”即指SSD中Channel、CE、LUN的数量,后文中有提到。
[0008]此处的“掩码位图格式”即用1个Bit位0或1代表某个Block是否为坏块的格式,其克服了临时坏块表不方便检索和体积大的问题。
[0009]“内存转储命令”是将给定起始地址和范围的SSD内存原始数据通过Ymodem或其他
通信协议导出到外部(上位机),并保存成文件的串口调试命令。上位机串口工具通常只支持以字符形式进行I/O交互,若要直接传输二进制数据(掩码位图格式的坏块表)需要用到内存转储命令。
[0010]S03)、利用脚本解析串口解析上位机日志文本中的坏块记录项,提取包括块物理地址、坏块总数在内的信息,以同样格式生成二进制掩码位图格式文件;S04)、将以上两步生成的掩码位图格式文件进行对比,检验是否匹配,若不一致则重复步骤S01)至步骤S03),若匹配则将文本格式坏块表在上位机上保存;S05)、当有新增坏块的需求时,修改以上位机日志文本格式保存的坏块表,将新增坏块条目以字符串形式添加到其中并更新坏块总数,再利用脚本解析文本文件,按照位映射规则重新生成图格式的Bin坏块表;S06)、将更新后的Bin格式坏块表重新写入到SSD内存中。
[0011]进一步的,步骤S01中,扫描出的坏块信息通过串口以文本形式打印到上位机日志文本中。
[0012]进一步的,扫描过程中得到的坏块信息以Block编号为索引的有序链表形式保存在临时坏块表中,并通过调试串口将包括坏块物理地址的数据以文本的形式实时打印输出到上位机终端的日志文件中,每条记录保持统一格式,格式为:Index: A, Channel: B, CE:B, LUN: D, Block: E, xxx,含义为Block E下的LUN D下的CE B下的Channel A对应的坏块信息,xxx为具体的坏块信息,是一串二进制序列,0表示非坏块,1表示坏块。
[0013]进一步的,步骤S02中,转换后的掩码位图格式文件结合存储组织结构按照SuperBlock序号递增的方式依次排列,然后在掩码序列前插入文件头结构段用于区分坏块表类型。
[0014]文件头结构段应包括坏块表文件标识符、SSD存储组织结构、闪存颗粒类型及所含的SuperBlock总数。
[0015]进一步的,步骤S03中,解析上位机日志文本的基本过程为:读取扫描程序运行期间的串口日志,从中提取SSD存储组织结构、Block总数及坏块总数,根据以上信息新建与日志文本同名的Bin格式坏块表,写入头结构并初始化全部Block标记位为假,后用正则表达式逐条解析坏块记录条目文本,提取出坏块所属的Channel、CE、LUN及Block序号,然后根据存储组织结构计算出此坏块的标记位在掩码位图中的偏移位置,并利用OR位运算将偏移位置处的坏块标记位标为真;脚本处理完所有坏块记录项后,判断已解析的条目数是否与日志中给出的坏块总数相等,以检验记录文本是否完整,若一致则保存Bin文件,否则报告错误并废弃解析结果。
[0016]进一步的,偏移可按以下公式求出:字节偏移:Byte_Ofs = 16
ꢀ×ꢀ
BLK + 8
ꢀ×ꢀ
LUN + CE,位偏移:Bit_Ofs = CHAN,其中,LUN、CE、CHAN取值范围分别为0~1、0~7、0~7,BLK则为Block的序号,LUN、CE分别为LUN、CE的序号, CHAN为Channel的序号。
[0017]进一步的,步骤S04中,通过检验两者哈希值是否匹配来判断步骤S02)和步骤S03)生成的掩码位图格式文件是否匹配。
[0018]本专利技术的有益效果:通过以文本形式记录坏块条目并配合脚本解析生成Bin文件的方式,可更容易地
实现坏块表的离线维护,当SSD实际使用过程中发现不稳定、性能变弱的Flash存储块但固件未能将其识别为坏块时,如果经人工分析能确定其为坏块,可通过该方法直观、方便地手动新增坏块条目进行维护。此外,导出坏块表到上位机的过程中,通过对比直接输出的Bin文件和根据记录文本解析生成的Bin文件,可确保扫描结果的正确性和稳定性,避免缺失遗漏。
附图说明
[0019]图1为本方法的流程图;图2为SSD的存储组织结构为8Channel
×
8CE
×
2LUN时,用本方法生成的位图格式坏块表中坏块标志位排列示意图。
具体实施方式
[0020]下面结合附图和具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固态存储设备坏块表的生成与维护方法,其特征在于:包括以下步骤:S01)、执行SSD全盘坏块扫描命令,调用固件中的坏块扫描子程序,扫描出的坏块信息以链表形式记录在SSD内存指定区域建立的临时坏块表中,同时将扫描出的坏块信息输出到与之连接的上位机日志文件中;S02)、将SSD内存中建立的临时坏块表根据存储组织结构转换成掩码位图格式文件,用内存转储命令导出到上位机;S03)、利用脚本解析串口解析上位机日志文本中的坏块记录项,提取包括块物理地址、坏块总数在内的信息,以同样格式生成二进制掩码位图格式文件;S04)、将以上两步生成的掩码位图格式文件进行对比,检验是否匹配,若不一致则重复步骤S01)至步骤S03),若匹配则将文本格式坏块表在上位机上保存;S05)、当有新增坏块的需求时,修改以上位机日志文本格式保存的坏块表,将新增坏块条目以字符串形式添加到其中并更新坏块总数,再利用脚本解析文本文件,按照位映射规则重新生成图格式的Bin坏块表;S06)、将更新后的Bin格式坏块表重新写入到SSD内存中。2.根据权利要求1所述的固态存储设备坏块表的生成与维护方法,其特征在于:步骤S01中,扫描出的坏块信息通过串口以文本形式打印到上位机日志文本中。3.根据权利要求1所述的固态存储设备坏块表的生成与维护方法,其特征在于:扫描过程中得到的坏块信息以Block编号为索引的有序链表形式保存在临时坏块表中,并通过调试串口将包括坏块物理地址的数据以文本的形式实时打印输出到上位机终端的日志文件中,每条记录保持统一格式,格式为:Index: A, Channel: B, CE:B, LUN: D, Block: E, xxx,含义为Block E下的LUN D下的CE B下的Channel A对应的坏块信息,xxx为具体的坏块信息,是一串二进制序列,0表示非坏块,1表示坏块。4.根据权利要求1所述的固态存储设备坏块表的生成与维护方法,其特征...

【专利技术属性】
技术研发人员:徐源长唐汉钊王璞
申请(专利权)人:山东华芯半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1