应用于存储器的映射关系的写入方法以及存储器技术

技术编号:39810874 阅读:9 留言:0更新日期:2023-12-22 19:28
公开一种应用于存储器的映射关系的写入方法以及存储器

【技术实现步骤摘要】
应用于存储器的映射关系的写入方法以及存储器


[0001]本专利技术涉及存储
,特别涉及一种应用于存储器的映射关系的写入方法以及存储器


技术介绍

[0002]固态硬盘
(SSD

Solid State Drives)
是用固态电子存储芯片制作的存储硬盘,存储硬盘包括控制器和存储介质

目前最主流的固态硬盘采用闪存存储介质
(flash Memory)
作为存储介质来存储数据,例如以
NAND flash
为例的非易失性存储器

[0003]固态硬盘已经被广泛使用在各种场合,在使用
SSD
存储写数据时,需要用到
FTL(flash Translation Layer
,闪存转换层
)
的映射表,用于记录主机逻辑空间地址到闪存存储介质的物理地址之间的映射关系

因此,固态硬盘中不仅保存着用户写入的写数据,也保存着维护写数据映射关系的映射表

[0004]目前主流的固态硬盘一般有两种硬件设计:一种是带有
DRAM
作为缓存单元;另一种是不带
DRAM

(
称为
DRAM

Less
固态硬盘
)。DRAM

Less
固态硬盘由于缓存单元容量有限,因此通常使用两级映射表来存储主机逻辑空间地址到存储介质的物理地址之间的映射关系,并且在处理写操作时,先将二级映射表写入到缓存单元中,然后在满足条件时刷新到存储介质;在处理读操作时,先检索缓存单元中的二级映射表,如果不能获得相应数据,再从存储介质上加载需要的二级映射表到缓存单元中,因此二级映射表的写入设计也将影响后续的读取性能


技术实现思路

[0005]本专利技术的目的在于一种应用于映射关系的写入方法以及存储器,通过映射表设计和管理来提高主机的读写性能

[0006]根据本专利技术的第一方面,提供一种应用于存储器的映射关系的写入方法,所述写入方法包括:
[0007]根据待写入映射关系中的第一逻辑地址,从缓存单元中的一级映射表得到所述第一逻辑地址所属的第一逻辑地址集合对应的第一链表,其中,所述一级映射表包括
N
个逻辑地址集合与
N
个链表的索引地址之间的对应关系,所述
N
个链表存储在所述缓存单元中的写缓存区,
N
为正整数;
[0008]在所述第一逻辑地址与所述第一链表中的第一个结点存储的第一逻辑地址范围连续,且所述待写入映射关系中的第一物理地址与所述第一链表中的第一个结点存储的第一物理地址范围连续的情况下,更新所述第一逻辑地址范围;以及
[0009]在更新后的第一逻辑地址范围覆盖了所述第一链表中的第二个结点存储的第二逻辑地址范围的情况下,释放所述第一链表中的第二个结点

[0010]在一些实施例中,在所述更新所述第一逻辑地址范围之后,所述方法还包括:
[0011]在所述第一逻辑地址与上一次写入的第三逻辑地址不属于同一个链表的情况下,
释放所述第三逻辑地址所属的第二逻辑地址集合对应的第二链表中的无效结点,其中,所述无效结点所存储的逻辑地址范围是前位结点所存储的逻辑地址范围的子集,所述前位结点在所述第二链表中且位于所述无效结点之前

[0012]在一些实施例中,所述释放所述第三逻辑地址所属的第二逻辑地址集合对应的第二链表中的无效结点,包括:
[0013]遍历所述第二链表;
[0014]在所述第二链表中遍历到的当前结点所存储的逻辑地址范围覆盖了所述当前结点的后续结点所存储的逻辑地址范围的情况下,将所述当前结点的后续结点作为所述无效结点并进行释放

[0015]在一些实施例中,在所述第一逻辑地址与所述第一链表中的第一个结点存储的第一逻辑地址范围不连续,和
/
或,所述待写入映射关系中的第一物理地址与所述第一链表中的第一个结点存储的第一物理地址范围不连续的情况下,则从所述缓存单元申请新的空结点,并将所述待写入映射关系写入到所述新的空结点中

[0016]在一些实施例中,所述第一链表中的每个结点采用起始逻辑地址

起始物理地址和计数值来存储一个逻辑地址范围和物理地址范围的对应关系

[0017]在一些实施例中,判断所述第一逻辑地址与所述第一逻辑地址范围是否连续,通过如下方式:
[0018]判断所述第一逻辑地址是否等于所述第一个结点中的所述起始逻辑地址

所述计数值与1的和,若是,则连续,若否,则不连续;
[0019]判断第一物理地址与所述第一物理地址范围是否连续,通过如下方式:
[0020]判断所述第一物理地址是否等于所述第一个结点中的所述起始物理地址

所述计数值与1的和,若是,则连续,若否,则不连续

[0021]在一些实施例中,所述缓存单元可申请的结点数量有限,所述写入方法还包括:在所述缓存单元的已申请结点大于第一阈值时,将各个链表的数据刷新到存储介质中

[0022]在一些实施例中,所述写入方法还包括:如果根据所述待写入映射关系中的第一逻辑地址从所述一级映射表获得一空指针,则从所述缓存单元申请新的空结点,并将所述待写入映射关系写入到所述新的空结点中,以及该空指针修改为指向所述新的空结点

[0023]根据本专利技术的第二方面,提供一种存储器的控制器,与外部的存储介质耦接,所述控制器还包括缓存单元,所述控制器执行上述任一项所述的写入方法

[0024]根据本专利技术的第三方面,提供一种存储器,包括:
[0025]耦接的控制器和存储介质;
[0026]所述控制器还包括缓存单元,所述控制器用于执行上述任一项所述的写入方法

[0027]在一些实施例中,所述存储介质为闪存芯片

[0028]本公开实施例提供的映射表的写入方法,及时判断出
L2P
映射表占用的无效结点并将其释放,从而减少
L2P
映射表所占用的缓存空间

这种方式有助于提升顺序读写操作的读写性能

进一步地,采用计数值使得单个结点存储多条映射关系数据,从而使得整个缓存单元可以存储更多的映射关系

附图说明
[0029]通过以下参照附图对本专利技术实施例的描述,本专利技术的上述以及其他目的

特征和优点将更为清楚,在附图中:
[0030]图1示出了根据本专利技术实施例的固态硬盘的示意性框图;
[0031]图2是用于示意
Dram

less
固态本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种应用于存储器的映射关系的写入方法,其特征在于,所述方法包括:根据待写入映射关系中的第一逻辑地址,从缓存单元中的一级映射表得到所述第一逻辑地址所属的第一逻辑地址集合对应的第一链表,其中,所述一级映射表包括
N
个逻辑地址集合与
N
个链表的索引地址之间的对应关系,所述
N
个链表存储在所述缓存单元中的写缓存区,
N
为正整数;在所述第一逻辑地址与所述第一链表中的第一个结点存储的第一逻辑地址范围连续,且所述待写入映射关系中的第一物理地址与所述第一链表中的第一个结点存储的第一物理地址范围连续的情况下,更新所述第一逻辑地址范围;以及在更新后的第一逻辑地址范围覆盖了所述第一链表中的第二个结点存储的第二逻辑地址范围的情况下,释放所述第一链表中的第二个结点
。2.
根据权利要求1所述的写入方法,其特征在于,在所述更新所述第一逻辑地址范围之后,所述方法还包括:在所述第一逻辑地址与上一次写入的第三逻辑地址不属于同一个链表的情况下,释放所述第三逻辑地址所属的第二逻辑地址集合对应的第二链表中的无效结点,其中,所述无效结点所存储的逻辑地址范围是前位结点所存储的逻辑地址范围的子集,所述前位结点在所述第二链表中且位于所述无效结点之前
。3.
根据权利要求2所述的写入方法,其特征在于,所述释放所述第三逻辑地址所属的第二逻辑地址集合对应的第二链表中的无效结点,包括:遍历所述第二链表;在所述第二链表中遍历到的当前结点所存储的逻辑地址范围覆盖了所述当前结点的后续结点所存储的逻辑地址范围的情况下,将所述当前结点的后续结点作为所述无效结点并进行释放
。4.
根据权利要求1所述的写入方法,其特征在于,在所述第一逻辑地址与所述第一链表中的第一个结点存储的第一逻辑地址范围不连续,和
/
或,所述待写入映射关系中的第一物理地址与所述第一链表中的第一个结点存储的第一...

【专利技术属性】
技术研发人员:傅凯陈正亮王琛銮骆小敏沈佳奇
申请(专利权)人:联芸科技杭州股份有限公司
类型:发明
国别省市:

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

1