System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种固态盘数据去重方法技术_技高网

一种固态盘数据去重方法技术

技术编号:40665883 阅读:3 留言:0更新日期:2024-03-18 19:00
本发明专利技术涉及计算机硬件技术领域,具体是一种固态盘数据去重方法。该方法是一种离线数据去重方法。当主机端发送数据后,固态盘不会对主机端输入的数据立即进行去重,而是像普通固态盘一样将数据根据地址映射表的指示,直接写入到NAND Flash相应物理页中。在固态盘正常工作一段时间之后,通过地址映射表中的损耗均衡方法将已经写入的数据根据擦写频率的不同,分为冷数据和热数据,固态盘再对已识别的冷数据进行去重。由于冷数据一般占固态盘所存储数据的80%左右,因此对这部分数据进行去重可以更容易地识别重复数据,同时可以使固态盘在进行冷热数据交换时,减少数据交换量,降低其写放大系数。

【技术实现步骤摘要】

本专利技术涉及计算机硬件,具体涉及固态盘离线数据去重方法的研究,公开一种固态盘数据去重方法


技术介绍

1、固态盘作为一种以nand flash为存储介质的数据存储设备,其可靠性受到nandflash擦除次数的影响。随着固态盘使用时间的增加,nand flash数据块的擦除次数也会随之增长,这就导致固态盘可靠性的降低。固态盘损耗均衡方法虽然能够有效平衡nandflash中各个块的擦写次数,但是该方法无法从根本上降低nand flash的擦写次数。随着固态盘控制器整体性能的不断提升以及外围硬件资源不断地扩充,很多以往只能在主机端实现的方法,目前已经可以在固态盘控制器中实现。数据去重由于能够有效降低数据实际写入量,减少nand flash的擦写次数,对于提升固态盘的可靠性具有重要的意义。目前数据去重方法已经被引入到固态盘内部,作为固态盘数据存储的一种关键技术被广泛研究。

2、固态盘数据去重方法是指在固态盘控制器内部对要写入其存储介质的数据进行重复性识别,通过删除识别到的重复数据,可以有效减少写入到nand flash中的数据量,以此来降低nand flash的磨损,提高固态盘的可靠性。同时,通过在固态盘控制器内部建立高效的数据去重架构,例如使用fpga进行数据去重加速,还能有效提高固态盘的读写性能。

3、目前固态盘的一个发展趋势是通过引入边界计算概念,将过去主机端才能实现的一些方法卸载到设备端,从而充分发挥设备端处理器的功效,释放主机端处理器,使其能够完成其他任务。因此,固态盘数据去重既能减轻主机端处理器计算压力,又能提高固态盘存储空间利用率和可靠性。

4、通过对现有大量数据的分析可以发现,目前写入到存储设备中的数据,具有较高的重复度。例如,微软技术人员通过对个人电脑存储数据进行分析,分析结果表明个人电脑中所存储的数据有40%左右是重复数据;emc对备份存储系统的研究发现,备份数据中有60%~90%是重复数据;德国研究人员对hpc数据中心所存储的数据进行了分析,结果表明该数据中心存储的数据中有30%左右是重复数据。正是由于在各种不同数据存储应用场景中,数据存储设备内部都存储有大量的重复数据,因此,利用固态盘对所存储的数据进行重复度识别与去除是可行的也是十分必要的。

5、目前的固态盘数据去重方法一般是在线式的,即主机端发送数据后马上进行数据去重,生成指纹信息、对比指纹信息和删除重复数据,在线式去重方式工作量大,降低固态盘的读写效率。


技术实现思路

1、本专利技术要解决的技术问题是提供一种离线式的固态盘数据去重方法,将数据根据擦写频率的不同,分为冷数据和热数据,由于冷数据一般占固态盘所存储数据的80%左右,因此对这部分数据进行去重可以更容易地识别重复数据,同时可以使固态盘在进行冷热数据交换时,减少数据交换量,降低其写放大系数。

2、为了解决所述技术问题,本专利技术采用的技术方案是:一种固态盘数据去重方法,包括以下步骤:

3、s01)、主机端发送数据,将数据根据地址映射表的指示直接写入到nand flash相应物理页中;

4、s02)、固态盘工作一段时间后,通过地址映射表中的损耗均衡方法将已经写入的数据根据擦写频率的不同,分为冷数据和热数据,然后对冷数据进行去重;

5、对冷数据进行去重是离线去重,具体步骤为:

6、s21)、对地址映射表进行修改,增加字段ppa2、ftpa、ec、st、p,字段ppa2是重复数据物理页位置;字段st表示物理页数据状态,包括了空闲状态、有效状态以及无效状态,当物理页写入数据时,则该页为有效状态;当物理页数据被更新或者被去重后,该页为无效状态,处于无效状态的物理页最终被擦除回收,并将该页的状态恢复成空闲状态;字段ec表示块擦除次数,字段ftpa表示指纹信息物理页地址,字段p表示数据相关性;

7、s22)、当nand flash芯片中某一个块的擦写次数超过预先设置的k值时,启动固态盘静态损耗均衡;

8、s23)、根据地址映射表中p的值,查找具有时间相关性的冷数据;

9、s24)、将具有时间相关性的冷数据生成指纹信息并比较,如果指纹信息相同,删除重复数据并更新地址映射表,完成数据去重,如果指纹信息不相同,返回步骤s23),继续查找具有时间相关性的冷数据,直至达到设定的查找次数。

10、进一步的,步骤s24)中更新地址映射表具体为:将指纹信息相同的块的lpa值指向同一个ppa1,并将其余块对应的st修改为无效状态,为生成指纹信息且未修改ppa1值的块分配物理地址,lpa表示逻辑页地址,ppa1表示物理页地址。

11、进一步的,数据去重完成后将冷热数据进行交换,实现磨损均衡。

12、进一步的,步骤s02)中,根据擦写频率的不同,在冷数据、热数据的基础上增加温数据,冷数据去重完成后,对温数据进行去重。

13、进一步的,固态盘中设有两个arm处理器,分别为arm-1、arm-2,并且固态盘中增加两个缓存器,分别为缓存器m和缓存器d,arm-1与缓存器m通过axi总线相连,arm-2与缓存器d通过axi总线相连,缓存器m用于缓存地址映射表和部分热数据,缓存器d用于缓存部分冷数据及其所产生的指纹信息,arm-1用于对固态盘中地址映射表进行管理,arm-2用于生成冷数据指纹信息和数据重复情况的判别;当固态盘进行静态损耗均衡时,arm-2开始工作,进行指纹信息生成、重复数据判断,arm-1则根据arm-2运算的结果,对地址映射表进行相应的修改。

14、进一步的,若数据去重过程中发生主机端对缓存器m中的热数据进行更新或者删除的情况,固态盘控制器首先将总线上的冷数据全部传输到缓存器d中,并清空总线上的数据;其次,arm-2处理器对缓存器d中已有数据生成相应的指纹信息,同时arm-1完成对缓存器m中的热数据进行更新;最后,在完成热数据的更新后,继续完成数据去重工作。

15、进一步的,若数据去重过程中发生主机端对已有冷数据进行更新或者删除的情况,首先固态盘控制器将总线上的冷数据全部传输到缓存器d中,清空总线上的数据;其次,判断被更新的冷数据目前是否已经在指纹生成器中,如果没有在指纹生成器中,则直接对nand flash中的冷数据进行更新;如果,该数据已经在缓存器d或指纹信息生成器中,对缓存器d、指纹信息计算器以及nand flash中相对应的冷数据全部进行更新。

16、进一步的,若数据去重过程中发生主机端读取数据或者写入新数据的情况,固态盘先将总线上的冷数据全部传输到缓存器d中,然后直接从nand flash中读取相应的数据到主机端或将新的数据写入到相对应的nand flash中。

17、进一步的,在进行第n次数据去重时,第n-1次数据去重时生成的指纹信息依然有效。

18、本专利技术的有益效果:本专利技术基于现有嵌入式存储控制器设计了一种固态盘离线数据去重方法。该方法首先利用一种改进损耗均衡本文档来自技高网...

【技术保护点】

1.一种固态盘数据去重方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的固态盘数据去重方法,其特征在于:步骤S24)中更新地址映射表的具体过程为:将指纹信息相同的块的LPA值指向同一个PPA1,并将其余块对应的ST修改为无效状态,为生成指纹信息且未修改PPA1值的块分配物理地址,LPA表示逻辑页地址,PPA1表示物理页地址。

3.根据权利要求1所述的固态盘数据去重方法,其特征在于:数据去重完成后将冷数据和热数据进行交换。

4.根据权利要求1所述的固态盘数据去重方法,其特征在于:步骤S02)中,根据擦写频率的不同,在冷数据、热数据的基础上增加温数据,冷数据去重完成后,对温数据进行去重。

5.根据权利要求1所述的固态盘数据去重方法,其特征在于:固态盘中设有两个ARM处理器,分别为ARM-1、ARM-2,并且固态盘中增加两个缓存器,分别为缓存器M和缓存器D,ARM-1与缓存器M通过AXI总线相连,ARM-2与缓存器D通过AXI总线相连,缓存器M用于缓存地址映射表和部分热数据,缓存器D用于缓存部分冷数据及其所产生的指纹信息,ARM-1用于对固态盘中地址映射表进行管理,ARM-2用于生成冷数据指纹信息和数据重复情况的判别;当固态盘进行静态损耗均衡时,ARM-2开始工作,进行指纹信息生成、重复数据判断,ARM-1则根据ARM-2运算的结果,对地址映射表进行修改。

6.根据权利要求5所述的固态盘数据去重方法,其特征在于:若数据去重过程中发生主机端对缓存器M中的热数据进行更新或者删除的情况,固态盘控制器首先将总线上的冷数据全部传输到缓存器D中,并清空总线上的数据;其次,ARM-2处理器对缓存器D中已有数据生成相应的指纹信息,同时ARM-1完成对缓存器M中的热数据进行更新;最后,在完成热数据的更新后,继续完成数据去重工作。

7.根据权利要求5所述的固态盘数据去重方法,其特征在于:若数据去重过程中发生主机端对已有冷数据进行更新或者删除的情况,固态盘控制器首先将总线上的冷数据全部传输到缓存器D中,清空总线上的数据;其次,判断被更新的冷数据目前是否已经在指纹生成器中,如果没有在指纹生成器中,则直接对NAND Flash中的冷数据进行更新;如果该数据已经在缓存器D或指纹信息生成器中,对缓存器D、指纹信息计算器以及NAND Flash中相对应的冷数据全部进行更新。

8.根据权利要求5所述的固态盘数据去重方法,其特征在于:若数据去重过程中发生主机端读取数据或者写入新数据的情况,固态盘控制器首先将总线上的冷数据全部传输到缓存器D中,然后直接从NAND Flash中读取相应的数据到主机端或将新的数据写入到相对应的NAND Flash中。

9.根据权利要求1所述的固态盘数据去重方法,其特征在于:在进行第n次数据去重时,第n-1次数据去重时生成的指纹信息依然有效。

...

【技术特征摘要】

1.一种固态盘数据去重方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的固态盘数据去重方法,其特征在于:步骤s24)中更新地址映射表的具体过程为:将指纹信息相同的块的lpa值指向同一个ppa1,并将其余块对应的st修改为无效状态,为生成指纹信息且未修改ppa1值的块分配物理地址,lpa表示逻辑页地址,ppa1表示物理页地址。

3.根据权利要求1所述的固态盘数据去重方法,其特征在于:数据去重完成后将冷数据和热数据进行交换。

4.根据权利要求1所述的固态盘数据去重方法,其特征在于:步骤s02)中,根据擦写频率的不同,在冷数据、热数据的基础上增加温数据,冷数据去重完成后,对温数据进行去重。

5.根据权利要求1所述的固态盘数据去重方法,其特征在于:固态盘中设有两个arm处理器,分别为arm-1、arm-2,并且固态盘中增加两个缓存器,分别为缓存器m和缓存器d,arm-1与缓存器m通过axi总线相连,arm-2与缓存器d通过axi总线相连,缓存器m用于缓存地址映射表和部分热数据,缓存器d用于缓存部分冷数据及其所产生的指纹信息,arm-1用于对固态盘中地址映射表进行管理,arm-2用于生成冷数据指纹信息和数据重复情况的判别;当固态盘进行静态损耗均衡时,arm-2开始工作,进行指纹信息生成、重复数据判断,arm-1则根据arm-2运算的结果,对地址映射表进行修改。

【专利技术属性】
技术研发人员:刘峰李玉雪孙永升叶昕
申请(专利权)人:超越科技股份有限公司
类型:发明
国别省市:

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

1