针对随机写性能优化的免外置缓存的SSD映射表算法的制作方法

文档序号:30525899发布日期:2022-06-25 06:55阅读:134来源:国知局
针对随机写性能优化的免外置缓存的SSD映射表算法的制作方法
针对随机写性能优化的免外置缓存的ssd映射表算法
技术领域
1.本发明属于固态硬盘技术领域,更具体涉及一种针对随机写性能优化的免外置缓存的ssd映射表算法。


背景技术:

2.随着固态硬盘技术的发展,目前越来越多的固态硬盘取消了外置缓存(ddr),这一方面带来了硬盘成本和功耗的降低,推动了固态硬盘的应用普及;但同时给硬盘的性能设计带来了挑战。传统的带外置缓存固态硬盘设计中,外置缓存用来存放完整的逻辑地址到物理地址的映射表,硬盘的随机性能有不错的表现,取消外置缓存后,映射表只能部分暂存在主控内部的很小的缓存空间中,映射表往往需要从内存中进行频繁交换,极大的降低了系统的随机性能。在较大范围内的随机写入的场景应用中,相比于有外置缓存的ssd,性能往往有数量级的影响。


技术实现要素:

3.本发明的目的是提供一种随机性能较高的针对随机写性能优化的免外置缓存的ssd映射表算法。
4.根据本发明的一个方面,提供了一种针对随机写性能优化的免外置缓存的ssd映射表算法,包括:
5.当ssd处理一笔新的写入命令请求时,通过哈希算法获得该写入命令的逻辑地址lta对应查询索引表wlt链表位置;
6.查询地址缓存表wct的缓存状态后,插入或更新逻辑地址lta到地址缓存表wct;
7.地址缓存表wct更新完查询索引表wlt检索链表后,根据逻辑地址lta,计算缓存刷新索引表ut链表的位置,并更新缓存刷新索引表ut信息;
8.当地址缓存表wct满足刷新条件后,将地址缓存表wct的地址信息刷新到计算机闪存设备nand中,并释放地址缓存表wct对应元素。
9.在一些实施方式中,所述地址缓存表wct用于缓存每一笔写入数据的逻辑地址lta和对应的闪存物理地址ppa。
10.在一些实施方式中,所述地址缓存表wct刷新包括:
11.读取待刷新的地址缓存表wct锁在缓存刷新索引表ut对应的l2p表项;
12.将相同的缓存刷新索引表ut对应的地址缓存表wct逐个刷新到l2p中;
13.l2p刷新完成后,更新l2p到计算机闪存设备nand中,并更新缓存刷新索引表ut表项中对应闪存物理地址ppa值;
14.释放更新完成后的地址缓存表wct到空闲链表。
15.在一些实施方式中,所述查询索引表wlt用于查询地址缓存表wct指定逻辑地址lta的缓存状态,址缓存表wct中各个有效元素都属于记录在对应的查询索引表wlt中。
16.在一些实施方式中,所述查询索引表wlt的表头元素所在位置通过哈希函数:wlt
[index]=hash(lta)计算获得。
[0017]
在一些实施方式中,所述查询索引表wlt链表数组的更新包括:
[0018]
写缓存刷新;写入指定逻辑地址lta;从地址缓存表wct中检查并获得空表项;根据逻辑地址lta计算哈希值,作为该笔写入逻辑地址lta的查询索引表wlt索引序号;将从地址缓存表wct中检查并获得空表项的序号填入上一步骤中查询索引表wlt对应的索引序列中;
[0019]
若查询索引表wlt的表头元素为空,则直接填入地址缓存表wct空表项序号到查询索引表wlt头元素,完成查询索引表wlt更新;
[0020]
若查询索引表wlt的表头元素不为空,根据查询索引表wlt链表顺序,找到地址缓存表wct最后一个元素,并将申请的地址缓存表wct空表项序号更新到链表尾指针srch ptr字段中,完成查询索引表wlt更新。
[0021]
在一些实施方式中,所述缓存刷新索引表ut用于将地址缓存表wct缓存表中属于相同ut元素集中刷新。
[0022]
在一些实施方式中,其表头所在位置的计算公式:ut[index]=lta[lta/1000]。
[0023]
在一些实施方式中,所述缓存刷新索引表ut链表数组的更新包括:
[0024]
新的地址缓存表wct完成查询索引表wlt链表更新,计算逻辑地址lta对应的缓存刷新索引表ut表项的索引,根据缓存刷新索引表ut表项中类型位信息判断是否对应缓存刷新索引表ut表项为空;
[0025]
若缓存刷新索引表ut链表头元素为空,直接填入地址缓存表wct新表项序号到缓存刷新索引表ut链表头元素,同时将缓存刷新索引表ut表位置闪存物理地址ppa信息更新到对应地址缓存表wct的ut ppa字段中,缓存刷新索引表ut链表更新完毕;
[0026]
若缓存刷新索引表ut链表头元素不为空,根据ut链表顺序,更新队列尾元素对应地址缓存表wct表项的flush ptr字段,将新地址缓存表wct表项序号填入该字段,ut链表更新完毕。
[0027]
其有益效果为:本发明的映射表算法,通过引入多级写缓存表项,针对免外置缓存的ssd的随机写入性能进行优化,在较大范围的随机写场景中,性能得到较大提升。
[0028]
本发明同步引入了查询索引表和刷新索引表,通过查询索引表和缓存刷新索引表对地址缓存表进行高效管理。
附图说明
[0029]
图1为本发明一实施方式的针对随机写性能优化的免外置缓存的ssd映射表算法的完整框图;
[0030]
图2为本发明一实施方式的针对随机写性能优化的免外置缓存的ssd映射表算法的查询索引表wlt链表数组的更新流程图;
[0031]
图3为本发明一实施方式的针对随机写性能优化的免外置缓存的ssd映射表算法的缓存刷新索引表ut链表数组的更新流程图。
具体实施方式
[0032]
如图1所示,针对随机写性能优化的免外置缓存的ssd映射表算法,包括:当ssd处理一笔新的写入命令请求时,通过哈希算法获得该写入命令的逻辑地址lta对应查询索引
表wlt链表位置;查询地址缓存表wct的缓存状态后,插入或更新逻辑地址lta到地址缓存表wct;地址缓存表wct更新完查询索引表wlt检索链表后,根据逻辑地址lta,计算缓存刷新索引表ut链表的位置,并更新缓存刷新索引表ut信息;当地址缓存表wct满足刷新条件后,将地址缓存表wct的地址信息刷新到计算机闪存设备nand中,并释放地址缓存表wct对应元素。
[0033]
地址缓存表wct用来缓存每一笔写入数据的逻辑地址lta和对应的闪存物理地址ppa。地址缓存表wct本身通过数组链表进行管理。地址缓存表wct数组链表的大小即为最多缓存的写入数据映射表。地址缓存表wct刷新包括:读取待刷新的地址缓存表wct锁在缓存刷新索引表ut对应的l2p表项;将相同的缓存刷新索引表ut对应的地址缓存表wct逐个刷新到l2p中;l2p刷新完成后,更新l2p到计算机闪存设备nand中,并更新缓存刷新索引表ut表项中对应闪存物理地址ppa值;释放更新完成后的地址缓存表wct到空闲链表。
[0034]
查询索引表wlt,以实现快速查询地址缓存表wct指定逻辑地址lta的缓存状态。址缓存表wct中各个有效元素都属于记录在对应的查询索引表wlt中,其表头元素所在位置通过哈希函数:wlt[index]=hash(lta)计算获得,查询索引表wlt的长度和地址缓存表wct缓存表一致。当地址缓存表wct中插入新的地址缓存时,可根据目标逻辑地址lta,迅速计算查询索引表wlt索引表头位置,以确定地址缓存表wct中是否有重复的逻辑地址lta,进行地址缓存表wct表项的合并管理。查询索引表wlt大小和地址缓存表wct大小保持一致,由此减少了哈希函数碰撞的概率,提高写入速度。如图2所示,查询索引表wlt链表数组的更新包括:写缓存刷新;写入指定逻辑地址lta;从地址缓存表wct中检查并获得空表项;根据逻辑地址lta计算哈希值,作为该笔写入逻辑地址lta的查询索引表wlt索引序号;将从地址缓存表wct中检查并获得空表项的序号填入上一步骤中查询索引表wlt对应的索引序列中。若查询索引表wlt的表头元素为空,则直接填入地址缓存表wct空表项序号到查询索引表wlt头元素,完成查询索引表wlt更新。若查询索引表wlt的表头元素不为空,根据查询索引表wlt链表顺序,找到地址缓存表wct最后一个元素,并将申请的地址缓存表wct空表项序号更新到链表尾指针srch ptr字段中,完成查询索引表wlt更新。
[0035]
缓存刷新索引表ut,以实现将地址缓存表wct缓存表中属于相同ut元素集中刷新的目标,提高地址缓存表wct的刷新效率。当地址缓存表wct中插入新的元素后,该元素都会记录在缓存刷新索引表ut中,其表头所在位置的计算公式:ut[index]=lta[lta/1000]。其中缓存刷新索引表ut的大小和ssd对应容量有关。当wct的表项满足刷新条件后,对应缓存刷新索引表ut所有的wct元素会一起刷新到计算机闪存设备nand中并释放wct对应元素。如图3所示,缓存刷新索引表ut链表数组的更新包括:新的地址缓存表wct完成查询索引表wlt链表更新,计算逻辑地址lta对应的缓存刷新索引表ut表项的索引,根据缓存刷新索引表ut表项中类型位信息判断是否对应缓存刷新索引表ut表项为空。若缓存刷新索引表ut链表头元素为空,直接填入地址缓存表wct新表项序号到缓存刷新索引表ut链表头元素,同时将缓存刷新索引表ut表位置闪存物理地址ppa信息更新到对应地址缓存表wct的ut ppa字段中,缓存刷新索引表ut链表更新完毕。若缓存刷新索引表ut链表头元素不为空,根据ut链表顺序,更新队列尾元素对应地址缓存表wct表项的flush ptr字段,将新地址缓存表wct表项序号填入该字段,ut链表更新完毕。
[0036]
以上的内容是结合具体的优选实施方式对本发明所做的进一步实施说明,不能认
定本发明的具体实施仅限于这些说明。同时对于本领域的一般技术人员,依据本发明的思想,在具体实施方式以及应用范围上均会有改变之处,这些均属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1