System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及存储领域,特别涉及一种数据映射方法及相关装置。
技术介绍
1、存储级内存(storage class memory,scm)是一种新兴的存储技术,结合了传统内存和闪存的特点,既具有内存的高速读写性能,又拥有闪存的持久存储能力。
2、如果将scm用于固态硬盘(solid state disk或solid state drive,ssd)的ftl(flash translate layer)映射表,可以减少ftl映射表保存、恢复和重建等工作的时间开销,同时也不需要再预留用于保存ftl映射表所需的nand-flash存储,极大地减少了管理和nand-flash存储开销。但是,scm不是可以无限写入的,如果scm的某些区域写入太频繁,频繁写入的scm区域会磨损导致该区域的数据异常或者数据丢失。
3、因此,如何克服scm用于固态硬盘的ftl映射表带来的scm磨损问题成为了本领域人员亟待解决的技术问题。
技术实现思路
1、鉴于上述问题,本专利技术提供一种克服上述问题或者至少部分地解决上述问题的一种数据映射方法及相关装置。
2、第一方面,一种数据映射方法,包括:
3、在进行数据写入操作时,根据lba地址读取对应的ftl映射表项,其中,所述ftl映射表项存储在存储级内存scm中;
4、若所述ftl映射表项的内容是fba地址,则所述ftl映射表项的写入次数增大1;
5、若所述ftl映射表项的写入次数增大1之后达到预
6、若所述ftl映射表项的写入次数增大1之后仍未达到所述预设次数阈值,则将所述ftl映射表项的内容更新为新的fba地址,其中,所述新的fba地址排列在最近一次更新的fba地址之后,所述ftl映射表项的原来的内容被所述新的fba地址覆盖。
7、可选的,在某些可选的实施方式中,在所述在进行数据写入操作时,根据lba地址读取对应的ftl映射表项之后,所述方法还包括:
8、若所述ftl映射表项的内容是ram地址,则将所述重定位映射表中所述ram地址对应的重定位映射表项的内容更新为新的fba地址,其中,所述ram地址对应的重定位映射表项原来的内容被所述新的fba地址覆盖。
9、可选的,在某些可选的实施方式中,所述方法还包括:
10、标记被覆盖的内容,以便于对被覆盖的内容进行回收。
11、可选的,在某些可选的实施方式中,所述方法还包括:
12、在进行数据读取操作时,根据lba地址读取对应的ftl映射表项;
13、若所述ftl映射表项的内容是fba地址,则从nand-flash存储器中读取所述fba地址对应的数据。
14、可选的,在某些可选的实施方式中,在所述在进行数据读取操作时,根据lba地址读取对应的ftl映射表项之后,所述方法还包括:
15、若所述ftl映射表项的内容是ram地址,则读取所述ram地址对应的内容,其中,所述ram地址对应的内容为fba地址;
16、根据所述ram地址对应的fba地址,从nand-flash存储器中读取对应的数据。
17、第二方面,一种数据映射装置,包括:数据写入操作单元、写入次数增大单元、重映射新增单元和ftl更新单元;
18、所述数据写入操作单元,用于在进行数据写入操作时,根据lba地址读取对应的ftl映射表项,其中,所述ftl映射表项存储在存储级内存scm中;
19、所述写入次数增大单元,用于若所述ftl映射表项的内容是fba地址,则所述ftl映射表项的写入次数增大1;
20、所述重映射新增单元,用于若所述ftl映射表项的写入次数增大1之后达到预设次数阈值,则在重定位映射表中新增一个重定位映射表项,并将新增的所述重定位映射表项的ram地址写入到所述ftl映射表项,其中,所述ftl映射表项原来的内容被所述ram地址覆盖,所述重定位映射表存储在dram或者sram中;
21、所述ftl更新单元,用于若所述ftl映射表项的写入次数增大1之后仍未达到所述预设次数阈值,则将所述ftl映射表项的内容更新为新的fba地址,其中,所述新的fba地址排列在最近一次更新的fba地址之后,所述ftl映射表项的原来的内容被所述新的fba地址覆盖。
22、可选的,在某些可选的实施方式中,所述装置还包括:重映射更新单元;
23、所述重映射更新单元,用于在所述在进行数据写入操作时,根据lba地址读取对应的ftl映射表项之后,若所述ftl映射表项的内容是ram地址,则将所述重定位映射表中的所述ram地址对应的重定位映射表项的内容更新为新的fba地址,其中,所述ram地址对应的重定位映射表项原来的内容被所述新的fba地址覆盖。
24、可选的,在某些可选的实施方式中,所述装置还包括:标记回收单元;
25、所述标记回收单元,用于标记被覆盖的内容,以便于对被覆盖的内容进行回收。
26、第三方面,一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的数据映射方法。
27、第四方面,一种电子设备,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的数据映射方法。
28、借由上述技术方案,本专利技术提供的一种数据映射方法及相关装置,可以在进行数据写入操作时,根据lba地址读取对应的ftl映射表项,其中,所述ftl映射表项存储在存储级内存scm中;若所述ftl映射表项的内容是fba地址,则所述ftl映射表项的写入次数增大1;若所述ftl映射表项的写入次数增大1之后达到预设次数阈值,则在重定位映射表中新增一个重定位映射表项,并将新增的所述重定位映射表项的ram地址写入到所述ftl映射表项,其中,所述ftl映射表项原来的内容被所述ram地址覆盖,所述重定位映射表存储在dram或者sram中;若所述ftl映射表项的写入次数增大1之后仍未达到所述预设次数阈值,则将所述ftl映射表项的内容更新为新的fba地址,其中,所述新的fba地址排列在最近一次更新的fba地址之后,所述ftl映射表项的原来的内容被所述新的fba地址覆盖。由此可以看出,本专利技术对于写入次数较多的lba地址建立对应的重定位映射表项,后续可以基于该重定位映射表项进行数据操作,减少对该lba地址对应的ftl映射表项的操作次数,在不额外增加其他scm的前提下,能够避免对scm过度磨损导致的数据异常和数据丢失的问题。
29、上述说明仅是本专利技术技本文档来自技高网...
【技术保护点】
1.一种数据映射方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述在进行数据写入操作时,根据LBA地址读取对应的FTL映射表项之后,所述方法还包括:
3.根据权利要求1或者2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,在所述在进行数据读取操作时,根据LBA地址读取对应的FTL映射表项之后,所述方法还包括:
6.一种数据映射装置,其特征在于,包括:数据写入操作单元、写入次数增大单元、重映射新增单元和FTL更新单元;
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:重映射更新单元;
8.根据权利要求6或者7所述的装置,其特征在于,所述装置还包括:标记回收单元;
9.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至5中任一项所述的数据映射方法。
10.一种电子设备,其特征在于,所述电子设备包括至少一个处理
...【技术特征摘要】
1.一种数据映射方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述在进行数据写入操作时,根据lba地址读取对应的ftl映射表项之后,所述方法还包括:
3.根据权利要求1或者2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,在所述在进行数据读取操作时,根据lba地址读取对应的ftl映射表项之后,所述方法还包括:
6.一种数据映射装置,其特征在于,包括:数据写入操作单元、写入次数增大单元、重映射新增单元和ftl更新单...
【专利技术属性】
技术研发人员:丁跞,熊伟,马翼,游毓,
申请(专利权)人:成都芯盛集成电路有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。