存储块写入方法、SSD控制器、存储块替换方法和装置与流程

文档序号:36921193发布日期:2024-02-02 21:48阅读:24来源:国知局
存储块写入方法、SSD控制器、存储块替换方法和装置与流程

本发明实施例涉及计算机,尤其涉及一种存储块写入方法、ssd控制器、存储块替换方法和装置。


背景技术:

1、诸如闪存的固态硬盘(solid state drive,ssd)中有时会包括坏存储块,例如,原始坏存储块,和生长坏存储块。原始坏存储块是指固态硬盘出厂时已测试确定的坏存储块。生长坏存储块是指在出厂的时候测试通过的块中,随着ssd的使用磨损而也会逐渐产生坏存储块。

2、坏存储块无法再正常的读写数据,坏存储块需要被及时检测并避免后续数据的写入,从而防止数据丢失。如果超级块中坏存储块数量超过一定阈值就不能再使用,会导致ssd整体可用的存储空间损失,进而使得写入性能降低。


技术实现思路

1、有鉴于此,本发明实施例提供一种数据写入方法、ssd控制器、存储块配置方法以及设备,以至少部分解决上述问题。

2、根据本发明实施例的第一方面,提供了一种存储块写入方法,包括:获取针对存储器中存储块的写操作命令,所述存储器包括按照阵列排序的多个存储块;查询替换正向表,确定替换当前坏存储块的替换存储块的块地址,作为写操作命令的当前写入块地址,所述替换正向表指示在存储块序列中替换存储块的块地址到坏存储块的块地址的映射;基于所述当前写入块地址,将先前地址映射表更新为当前地址映射表;基于所述当前写入块地址,查询替换反向表,确定所述当前坏存储块的块地址,所述替换反向表指示在所述存储块序列中坏存储块的块地址到替换存储块的块地址的映射;更新所述当前坏存储块的块地址的有效页计数。

3、在本发明的另一实现方式中,所述方法还包括:在所述先前地址映射表中的先前写入块地址指示替换存储块时,查询所述替换反向表,确定所述先前写入块地址所替换的先前坏存储块的块地址;更新所述先前坏存储块的块地址的有效页计数。

4、在本发明的另一实现方式中,所述方法还包括:在所述先前地址映射表中的先前写入块地址未指示替换存储块时,更新所述先前写入块地址的有效页计数。

5、在本发明的另一实现方式中,所述方法还包括:根据写操作命令,确定所述当前分配块地址;在所述当前分配块地址指示所述当前坏存储块时,开始查询所述替换正向表。

6、在本发明的另一实现方式中,所述方法还包括:在所述当前分配块地址未指示所述当前坏存储块时,基于所述当前分配块地址,将先前地址映射表更新为当前地址映射表,并且更新所述当前分配块地址的有效页计数。

7、在本发明的另一实现方式中,所述方法还包括:查询所述当前分配块地址的存储块的可用状态;在所述可用状态指示所述当前分配块地址的存储块为不可用时,将所述当前分配块地址的存储块确定为所述当前坏存储块。

8、在本发明的另一实现方式中,所述方法还包括:在所述可用状态指示所述当前分配块地址的存储块为可用时,判定所述当前分配块地址未指示所述当前坏存储块。

9、根据本发明实施例的第二方面,提供了一种存储块替换方法,包括:利用存储块序列中第一块地址范围的替换存储块替换第二块地址范围的坏存储块,所述第一块地址范围与所述第二块地址范围不具有相同的块地址;基于所述坏存储块在所述存储块序列中的块地址,生成替换反向表;基于所述替换存储块在所述存储块序列中的块地址,生成替换正向表。

10、在本发明的另一实现方式中,所述方法还包括:确定所述存储块序列中所述第二块地址范围对应的坏存储块比例;所述利用存储块序列中第一块地址范围的替换存储块替换第二块地址范围的坏存储块,包括:在所述坏存储块比例超过预设阈值时,利用所述存储块序列中第一块地址范围的替换存储块,替换所述第二块地址范围的坏存储块,使得替换后所述坏存储块比例不超过所述预设阈值。

11、在本发明的另一实现方式中,所述利用所述存储块序列中第一块地址范围的替换存储块,替换所述第二块地址范围的坏存储块,包括:确定块地址指示的序列位置在所述坏存储块之后的存储块,作为替换存储块;交换所述替换存储块的块地址与所述坏存储块的块地址,直到所述替换存储块的块地址在所述第二块地址范围内,所述坏存储块的块地址在所述第一块地址范围内。

12、根据本发明实施例的第三方面,提供了一种ssd控制器,包括:存储单元,存储替换正向表和替换反向表,所述替换正向表指示在存储块序列中替换存储块的块地址到坏存储块的块地址的映射,所述替换反向表指示在所述存储块序列中坏存储块的块地址到替换存储块的块地址的映射;获取单元,获取针对存储器中存储块的写操作命令,所述存储器包括按照阵列排序的多个存储块;第一查询单元,查询替换正向表,确定替换当前坏存储块的替换存储块的块地址,作为写操作命令的当前写入块地址;第一更新单元,基于所述当前写入块地址,将先前地址映射表更新为当前地址映射表;第二查询单元,基于所述当前写入块地址,查询替换反向表,确定所述当前坏存储块的块地址;第二更新单元,更新所述当前坏存储块的块地址的有效页计数。

13、在本发明的另一实现方式中,所述第一查询单元和所述第二查询单元被配置为查询电路,所述查询电路用于执行所述替换正向表和所述替换反向表的查询。

14、根据本发明实施例的第四方面,提供了一种存储块替换装置,包括:替换模块,利用存储块序列中第一块地址范围的替换存储块替换第二块地址范围的坏存储块,所述第一块地址范围与所述第二块地址范围不具有相同块地址;第一生成模块,基于所述坏存储块在所述存储块序列中的块地址,生成替换反向表;第二生成模块,基于所述替换存储块在所述存储块序列中的块地址,生成替换正向表。

15、在本发明实施例的方案中,通过存储块在存储块序列中的块地址实现了坏存储块的替换,使得能够将数据写入到替换存储块中,避免了数据写入到坏存储块中,从而提高了写入性能,此外,替换正向表和替换反向表反映了替换存储块的块地址和坏存储块的块地址彼此的映射关系,通过这样的映射关系,兼容了传统地址映射表的更新逻辑和传统有效页计数的更新逻辑,无需过多改变传统写入过程的配置。



技术特征:

1.一种存储块写入方法,包括:

2.根据权利要求1所述的方法,其中,所述方法还包括:

3.根据权利要求1所述的方法,其中,所述方法还包括:

4.根据权利要求1所述的方法,其中,所述方法还包括:

5.根据权利要求4所述的方法,其中,所述方法还包括:

6.根据权利要求4所述的方法,其中,所述方法还包括:

7.根据权利要求6所述的方法,其中,所述方法还包括:

8.一种存储块替换方法,包括:

9.根据权利要求8所述的方法,其中,所述方法还包括:

10.根据权利要求8所述的方法,其中,所述利用所述存储块序列中第一块地址范围的替换存储块,替换所述第二块地址范围的坏存储块,包括:

11.一种ssd控制器,包括:

12.根据权利要求11所述的方法,其中,所述第一查询单元和所述第二查询单元被配置为查询电路,所述查询电路用于执行所述替换正向表和所述替换反向表的查询。

13.一种存储块替换装置,包括:


技术总结
本发明实施例提供了一种存储块写入方法、SSD控制器、存储块替换方法和装置。存储块写入方法包括:查询替换正向表,确定替换存储块的块地址,作为写操作命令的当前写入块地址,替换正向表指示在存储块序列中替换存储块的块地址到坏存储块的块地址的映射;基于当前写入块地址,将先前地址映射表更新为当前地址映射表;在先前地址映射表对应的先前写入块地址指示替换存储块时,查询替换反向表,确定先前写入块地址所替换的先前坏存储块的块地址,替换反向表指示在存储块序列中坏存储块的块地址到替换存储块的块地址的映射;更新先前坏存储块之前写入的存储块的有效页计数。本发明实施例的方案兼容了传统写入过程的配置,同时提高了写入性能。

技术研发人员:金加靖,薛菲,高祥,王记锋,许玉铭,吴文涛,恒久
受保护的技术使用者:平头哥(上海)半导体技术有限公司
技术研发日:
技术公布日:2024/2/1
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1