System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及存储设备,特别涉及一种存储装置的p2l数据管理方法及装置。
技术介绍
1、nand flash是一种非易失性存储介质,广泛应用于sd,emmc,ufs,ssd等闪存存储产品(以下简称为闪存)。根据现有技术可知,闪存存储产品具有以下三个特性:1.擦后写,只有被擦除过后,该页才能被写入新数据;2.读/写操作以页为粒度,擦除操作以块为粒度;3.每个块具有有限的擦除次数。基于上述特性,闪存存储产品无法像传统的磁盘一样与主机的文件系统直接相连,而是需要使用闪存转换层(ftl)来隐藏闪存的三个特性带来的接口不一致问题,使得文件系统可以像机械硬盘(hard disk drive,hdd)一样访问闪存。ftl主要包括地址映射、垃圾回收和损耗均衡三个功能模块。地址映射记录逻辑地址与物理地址的映射关系。为了减少擦后写特性带来的写放大影响,在ftl层提出异地更新技术来减少擦除和数据移动的开销。由于异地更新会产生一些无效的空间,当闪存没有足够的剩余空间,系统会触发垃圾回收操作来回收无效的空间。为避免由于频繁擦写操作带来的物理失效,提出损耗均衡技术来使所有块均匀的损耗从而延长闪存寿命。
2、为了实现上述三个功能模块,现有技术中需要建立l2p(逻辑地址到物理地址,logical_2_physical)表和p2l(物理地址到逻辑地址,physical_2_logical)表,其中,l2p记录逻辑地址与物理地址映射关系,记录的内容是物理地址,表的地址偏移与逻辑地址是一一对应关系;p2l记录物理地址与逻辑地址映射关系,记录的内容是逻辑地
3、根据上述内容可知,p2l表是闪存装置运行过程中不可或缺的数据结构,因此闪存装置需要分配相应的存储单元用于储存对应的p2l表,因此,如何降低存储p2l表所需的存储空间是需要优化的方向。经检索,专利文献2公开了一种可以提高缓存l2p映射表内映射记录密度的方案,该方案应用于对l2p表占用的缓存空间进行优化,其原理为调整l2p映射条目的数据结构,原来的每条l2p映射条目仅包括逻辑地址和对应的物理地址(即映射记录),而专利文献2中,为每条映射条目增加了长度字段,对于若干个连续的l2p映射记录,将其合并成一条l2p映射条目,调整后的每条l2p映射条目包括若干连续映射记录的最小逻辑地址、最小逻辑地址对应的物理地址,以及长度字段记录的连续l2p映射记录的数量(即长度),该方案实现了利用一条l2p映射条目记录多条l2p映射记录,从而提高缓存l2p映射表内映射记录密度。
4、专利技术人在专利文献2提供的提高缓存l2p映射表内映射记录密度的方案基础上,对如何提高p2l映射表的映射记录密度进行研究,研究过程中发现专利文献2的方案仍然存在以下不足:
5、1、原来的每条映射条目仅包括一对逻辑地址和对应的物理地址(即一条映射记录),而专利文献2中的方案,要在每条映射条目中新增长度字段,需要对映射条目的数据结构进行调整,每条映射条目都需要增加字段后,实现映射表的编程任务也会变得更复杂。例如,需要修改现有映射条目数据结构的代码并编写新的代码来实现映射条目的新数据结构。
6、2、由于专利文献2中对于每条映射条目都需要增加长度字段,即与原来的映射条目数据结构不同,想要达到其提高缓存映射表内映射记录密度的效果,就必须对闪存中映射表的所有内容进行全部更新,意味着对于有部分映射条目已经写入数据的闪存装置,只能够将该闪存装置格式化后才能实现达到其提高缓存映射表内映射记录密度的效果,即无法实现热更新。
7、3、对于长度为1的映射条目,在写操作时,也需要维护其长度字段,即将其设置为1,增加了维护开销。
8、专利文献1:中国专利,专利名称,非易失性存储设备中数据管理方法和映射表更新方法,授权公告号,cn101458961b,授权公告日,2014-06-18。
9、专利文献2:中国专利,专利名称,提高地址映射表中映射信息密度的方法,授权公告号,cn107066393b,授权公告日,2020-06-09。
技术实现思路
1、本专利技术的目的在于提供一种存储装置的p2l数据管理方法及装置,能够在提高p2l映射表的映射记录密度的基础上,无需重新编写代码实现p2l映射条目的数据结构,并且对于有部分映射条目已经写入数据的闪存装置(即存储装置),可以实现热更新来提高p2l映射表的映射记录密度。
2、为了实现上述专利技术目的,提供如下技术方案:
3、第一方面,提供一种存储装置的p2l数据管理方法,所述方法包括:
4、在写入数据时,将数据按页为单位进行分割,再按逻辑地址从低到高的顺序将数据依次写入闪存中具有多个连续空闲页的块内,存储后的每一页数据均对应一条p2l映射记录,则根据这些p2l映射记录生成一到多条p2l映射条目;如果写入时没有产生跨块写入,则p2l映射记录是连续的,能够合并成一组相邻的2条p2l映射条目;如果写入时产生了跨块写入,则存储在同一个块内的数据对应的p2l映射记录是连续的,所对应的全部p2l映射记录能够合并成一组相邻的2条p2l映射条目;因此,如本文档来自技高网...
【技术保护点】
1.一种存储装置的P2L数据管理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种存储装置的P2L数据管理方法,其特征在于,所述数量数据的最高前N位为预设的标志符号,所述数量数据除了最高前N位之外的其他位共同组成的数用于指示所在组合并的多条P2L映射记录的数量,N为自然数。
3.根据权利要求2所述的一种存储装置的P2L数据管理方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的一种存储装置的P2L数据管理方法,其特征在于,所述方法还包括从P2L映射表中计算出目标物理地址对应的逻辑地址的流程,该流程具体包括:
5.根据权利要求4所述的一种存储装置的P2L数据管理方法,其特征在于,在执行垃圾回收操作时,所述方法还包括:
6.根据权利要求5所述的一种存储装置的P2L数据管理方法,其特征在于,在执行垃圾回收操作时,所述方法还包括:
7.根据权利要求1所述的一种存储装置的P2L数据管理方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的一种存储装置的P2L数据管理方法,其特征在于
9.一种存储装置,其特征在于,包括闪存、内存、处理器以及存储在闪存上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的一种存储装置的P2L数据管理方法中的各个步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的一种存储装置的P2L数据管理方法中的各个步骤。
...【技术特征摘要】
1.一种存储装置的p2l数据管理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种存储装置的p2l数据管理方法,其特征在于,所述数量数据的最高前n位为预设的标志符号,所述数量数据除了最高前n位之外的其他位共同组成的数用于指示所在组合并的多条p2l映射记录的数量,n为自然数。
3.根据权利要求2所述的一种存储装置的p2l数据管理方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的一种存储装置的p2l数据管理方法,其特征在于,所述方法还包括从p2l映射表中计算出目标物理地址对应的逻辑地址的流程,该流程具体包括:
5.根据权利要求4所述的一种存储装置的p2l数据管理方法,其特征在于,在执行垃圾回收操作时,所述方法还包括:
【专利技术属性】
技术研发人员:陈运松,聂建强,陈建佑,
申请(专利权)人:深圳星火半导体科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。