一种固态盘数据去重方法与流程

文档序号:37342866发布日期:2024-03-18 18:14阅读:11来源:国知局
一种固态盘数据去重方法与流程

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


背景技术:

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、本发明的有益效果:本发明基于现有嵌入式存储控制器设计了一种固态盘离线数据去重方法。该方法首先利用一种改进损耗均衡算法识别冷热数据并生成相应的指纹,比较所有指纹并删除相同指纹所对应的冷数据,然后对去重后的冷数据与热数据进行交换。

19、优点在于,有效减少写入到nand flash中的数据量,从根本上降低nand flash的磨损平均重复数据识别率,接近于结构复杂成本昂贵的在线数据去重方法的识别率。相较于无数据去重功能的固态盘,采用本方法的固态盘读写速度提高了15%,且与采用在线数据去重的固态盘的读写性能相近。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1