SSD映射表的实现方法、装置、可读存储介质及电子设备制造方法及图纸

技术编号:28467380 阅读:16 留言:0更新日期:2021-05-15 21:33
本发明专利技术公开一种SSD映射表的实现方法、装置、可读存储介质及电子设备,通过接收映射项存储请求,所述映射项存储请求中包括待存储的映射项和预设逻辑地址区间,根据所述待存储的映射项包括的逻辑地址对应的逻辑地址子区间、预设的逻辑地址对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存储所述逻辑地址子区间的目标平衡二叉树,再将所述待存储的映射项存储至所述目标平衡二叉树,避免了在小范围内进行随机读写时,所有映射项都存入同一颗平衡二叉树中,造成平衡二叉树层级过高的情况,均衡了各颗平衡二叉树的映射项,提高了对映射表的访问性能。提高了对映射表的访问性能。提高了对映射表的访问性能。

【技术实现步骤摘要】
SSD映射表的实现方法、装置、可读存储介质及电子设备


[0001]本专利技术涉及固态硬盘
,尤其涉及一种SSD映射表的实现方法、装置、可读存储介质及电子设备。

技术介绍

[0002]在SSD(Solid State Disk,固态硬盘)的使用过程中,firmware(固件)为了记录主机的LBA(Logical Block Address,逻辑地址块)地址与真实的NAND(闪存)地址之间的关系,需要建立一张从逻辑地址到物理地址的映射表。在DRAM

less(Dynamic Random Access Memory

less,无动态随机存储器或少动态随机存储器)产品中,由于内存资源有限,映射表只会部分缓存在内存中,采用何种方式实现内存的映射表,将直接影响SSD的读写性能。
[0003]对于映射表,若内存资源充足,那么构建一个逻辑地址到物理地址的映射数组是比较理想的实现方式。但是在DRAM

less产品中,由于内存不足,传统的做法多是使用平衡二叉树如AVL(Adelson

Velsky

Landis Tree,高度平衡树)树或者红黑树等方式来存储映射表:
[0004]法一是使用一棵平衡二叉树,当firmware产生一个entry(映射项)时,插入到该二叉树当中,该方式实现简单,但是当entry个数较多时,会造成树的层级多,而层级越多,对其进行增删查改的性能将会越慢;
[0005]法二是基于法一进行优化,使用多棵平衡二叉树组成树的集合,每一棵树只负责存储一段逻辑地址空间,如图4所示,假设整个SSD的容量包含了10000个逻辑地址,逻辑地址从0~9999,则最多有10000个映射entry;按照逻辑地址从小到大,每1000个entry放入一颗平衡二叉树中,那么最多需要10颗平衡二叉树,每颗二叉树的层级相对于法一中的层级来说就会大幅度下降,可以提高对entry的增删查改性能。该方式在对于全盘随机写的场景下,每颗树中的entry个数大致是比较均衡的,但是若使用场景为在小范围内,例如1G空间内,那么entry将会集中在个别的树上,导致这些树的层级很高,而其他区间对应的树上则没有entry,不能充分利用多棵平衡二叉树,且对于层级很高的个别树,降低了对其进行增删查改的性能。

技术实现思路

[0006]本专利技术所要解决的技术问题是:提供了一种SSD映射表的实现方法、装置、可读存储介质及电子设备,能够均衡各颗平衡二叉树的映射项,提高对映射表的访问性能。
[0007]为了解决上述技术问题,本专利技术采用的一种技术方案为:
[0008]一种SSD映射表的实现方法,包括步骤:
[0009]接收映射项存储请求,所述映射项存储请求中包括待存储的映射项和预设的逻辑地址区间;
[0010]根据所述待存储的映射项包括的逻辑地址对应的逻辑地址子区间、所述预设的逻辑地址区间对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存
储所述逻辑地址子区间的目标平衡二叉树;
[0011]将所述待存储的映射项存储至所述目标平衡二叉树。
[0012]为了解决上述技术问题,本专利技术采用的另一种技术方案为:
[0013]一种SSD映射表的实现装置,包括:
[0014]数据接收模块,用于接收映射项存储请求,所述映射项存储请求中包括待存储的映射项和预设的逻辑地址区间;
[0015]数据计算模块,用于根据所述待存储的映射项包括的逻辑地址对应的逻辑地址子区间、所述预设的逻辑地址区间对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存储所述逻辑地址子区间的目标平衡二叉树;
[0016]数据存储模块,用于将所述待存储的映射项存储至所述目标平衡二叉树。
[0017]为了解决上述技术问题,本专利技术采用的另一种技术方案为:
[0018]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述SSD映射表的实现方法中的各个步骤。
[0019]为了解决上述技术问题,本专利技术采用的另一种技术方案为:
[0020]一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述SSD映射表的实现方法中的各个步骤。
[0021]本专利技术的有益效果在于:
[0022]通过接收映射项存储请求,所述映射项存储请求中包括待存储的映射项和预设的逻辑地址区间,根据所述待存储的映射项包括的逻辑地址对应的逻辑地址子区间、预设的逻辑地址对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存储所述逻辑地址子区间的目标平衡二叉树,再将所述待存储的映射项存储至所述目标平衡二叉树,通过哈希算法能够确定映射项要存储至哪颗平衡二叉树中,改变传统的直接按照逻辑地址分段的方式,能够将映射项均匀地存储至多个平衡二叉树中,避免了在小范围内进行随机读写时,所有映射项都存入同一颗平衡二叉树中,造成平衡二叉树层级过高的情况,均衡了各颗平衡二叉树的映射项,提高了对映射表的访问性能。
附图说明
[0023]图1为本专利技术实施例的一种SSD映射表的实现方法的步骤流程图;
[0024]图2为本专利技术实施例的一种SSD映射表的实现装置的结构示意图;
[0025]图3为本专利技术实施例的一种电子设备的结构示意图;
[0026]图4为本专利技术
技术介绍
中直接按照逻辑地址分段的映射表实现方法示意图;
[0027]图5为本专利技术实施例的SSD映射表的实现方法中1G范围内使用8颗平衡二叉树存储映射项的示意图。
具体实施方式
[0028]为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0029]请参照图1,本专利技术实施例提供了一种SSD映射表的实现方法,包括步骤:
[0030]接收映射项存储请求,所述映射项存储请求中包括待存储的映射项和预设的逻辑地址区间;
[0031]根据所述待存储的映射项包括的逻辑地址对应的逻辑地址子区间、所述预设的逻辑地址区间对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存储所述逻辑地址子区间的目标平衡二叉树;
[0032]将所述待存储的映射项存储至所述目标平衡二叉树。
[0033]从上述描述可知,本专利技术的有益效果在于:通过接收映射项存储请求,所述映射项存储请求中包括待存储的映射项和预设的逻辑地址区间,根据所述待存储的映射项包括的逻辑地址对应的逻辑地址子区间、预设的逻辑地址对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存储所述逻辑地址子区间的目标平衡二叉树,再将所述待存储的映射项存储至所述目标平衡二叉树,通过哈希算法能够确定映射项要存储至哪颗平衡二叉树中,改变传统的直接按照逻辑地址分段的方式,能够将映射项均匀地存储至多个平衡二叉树中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SSD映射表的实现方法,其特征在于,包括步骤:接收映射项存储请求,所述映射项存储请求中包括待存储的映射项和预设的逻辑地址区间;根据所述待存储的映射项包括的逻辑地址对应的逻辑地址子区间、所述预设的逻辑地址区间对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存储所述逻辑地址子区间的目标平衡二叉树;将所述待存储的映射项存储至所述目标平衡二叉树。2.根据权利要求1所述的一种SSD映射表的实现方法,其特征在于,所述接收待存储的映射项之前包括步骤:将所述预设的逻辑地址区间进行划分,得到与所述预设平衡二叉树个数对应数量的逻辑地址子区间。3.根据权利要求1所述的一种SSD映射表的实现方法,其特征在于,所述根据所述待存储的映射项包括的逻辑地址对应的逻辑地址子区间、所述预设的逻辑地址区间对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存储所述逻辑地址子区间的目标平衡二叉树包括:根据所述逻辑地址对应的逻辑地址子区间确定所述逻辑地址子区间的首位的逻辑地址与末位的逻辑地址;将所述逻辑地址子区间的首位的逻辑地址、预设的逻辑地址区间对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存储所述逻辑地址子区间的首位的逻辑地址的第一平衡二叉树;将所述逻辑地址子区间的末位的逻辑地址、预设的逻辑地址区间对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存储所述逻辑地址子区间的末位的逻辑地址的第二平衡二叉树;根据所述第一平衡二叉树与所述第二平衡二叉树确定存储所述逻辑地址子区间的目标平衡二叉树。4.根据权利要求3所述的一种SSD映射表的实现方法,其特征在于,所述将所述逻辑地址子区间的首位的逻辑地址、预设的逻辑地址区间对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存储所述逻辑地址子区间的首位的逻辑地址的第一平衡二叉树包括:所述存储所述逻辑地址子区间的首位的逻辑地址的第一平衡二叉树标识ID为:式中,LAA
fist_N
表示所述逻辑地址子区间的首位的逻辑地址的标识,R表示所述预设的逻辑地址区间对应的逻辑地址个数,CNT表示所述预设平衡二叉树个数;所述将所述逻辑地址子区间的末位的逻辑地址、预设的逻辑地址区间对应的逻辑地址个数以及预设平衡二叉树个数基于哈希算法进行计算,确定存储所...

【专利技术属性】
技术研发人员:孙成思孙日欣曾煜
申请(专利权)人:成都佰维存储科技有限公司
类型:发明
国别省市:

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

1