CN103473179B - 后台系统及其删除固态硬盘重复数据的方法 - Google Patents
后台系统及其删除固态硬盘重复数据的方法 Download PDFInfo
- Publication number
- CN103473179B CN103473179B CN201310345300.9A CN201310345300A CN103473179B CN 103473179 B CN103473179 B CN 103473179B CN 201310345300 A CN201310345300 A CN 201310345300A CN 103473179 B CN103473179 B CN 103473179B
- Authority
- CN
- China
- Prior art keywords
- data
- solid state
- fingerprint
- hard disc
- state hard
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Collating Specific Patterns (AREA)
- Storage Device Security (AREA)
Abstract
本发明适用于存储技术领域,提供了一种删除固态硬盘重复数据的方法,所述方法包括:通过错误检查和纠正算法计算固态硬盘数据的指纹,并保存为指纹库;查找所述固态硬盘的增量页,根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据;若所述固态硬盘中是有与所述增量页重复的数据,则更新所述固态硬盘的FTL映射表,并将所述增量页标记为无效。本发明还提供一种实现上述方法的后台系统。借此,本发明可以方便的删除固态硬盘的重复数据,提高固态硬盘的性能。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种后台系统及删除固态硬盘重复数据的方法。
背景技术
目前,SSD(Solid State Disk,固态硬盘)产品在市场中已经趋于成熟,其高速的性能,尤其是随机性能也广为人知,但仍有较多用户还是担心其寿命问题。影响SSD寿命的因素有多种,但其根本原因在于NAND Flash编程/擦除次数,即对NAND Flash编程/擦除次数越多,损耗越大,寿命越短。重复数据删除是一项减少NAND Flash磨损来延长SSD寿命的技术,目前大多数重复数据删除大都在IO路径上进行计算和匹配,这样会大大降低IO性能,即通过性能来换取空间。
综上可知,现有的固态硬盘重复数据的处理方法,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种后台系统及删除固态硬盘重复数据的方法,其可以方便的删除固态硬盘的重复数据,提高固态硬盘的性能。
为了实现上述目的,本发明提供一种删除固态硬盘重复数据的方法,所述方法包括:
通过错误检查和纠正算法计算固态硬盘数据的指纹,并保存为指纹库;
查找所述固态硬盘的增量页,根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据;
若所述固态硬盘中是有与所述增量页重复的数据,则更新所述固态硬盘的FTL映射表,并将所述增量页标记为无效。
根据本发明的删除固态硬盘重复数据的方法,所述后台通过LRU算法处理所述指纹库中的指纹。
根据本发明的删除固态硬盘重复数据的方法,所述根据所述指纹库判断所述固态硬盘中是否有与所述增量页相同的数据步骤包括:
判断所述指纹库中是否有与所述增量页的数据相同的指纹;
若所述指纹库中有与所述增量页的数据相同的指纹,则进一步判断所述指纹对应的数据与所述增量页数据是否相同,若相同则判定为重复数据。
根据本发明的删除固态硬盘重复数据的方法,所述查找所述固态硬盘的增量页的步骤包括:
对所述FTL建立时间点快照,记录并获取两个时间点之间的修改的页。
本发明还提供一种删除固态硬盘重复数据的后台系统,包括:
指纹库建立模块,用于通过错误检查和纠正算法计算固态硬盘数据的指纹,并保存为指纹库;
数据比较模块,用于查找所述固态硬盘的增量页,根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据;
数据处理模块,用于所述固态硬盘中是有与所述增量页重复的数据时,更新所述固态硬盘的FTL映射表,并将所述增量页标记为无效。
根据本发明的删除固态硬盘重复数据的后台系统,所述后台系统还包括算法处理模块,用于通过LRU算法处理所述指纹库中的指纹。
根据本发明的删除固态硬盘重复数据的后台系统,所述数据比较模块包括:
第一判断子模块,用于判断所述指纹库中是否有与所述增量页的数据相同的指纹;
第二判断子模块,用于所述指纹库中有与所述增量页的数据相同的指纹时,进一步判断所述指纹对应的数据与所述增量页数据是否相同,若相同则判定为重复数据。
根据本发明的删除固态硬盘重复数据的后台系统,所述后台系统还包括:
增量页处理模块,用于对所述FTL建立时间点快照,记录并获取两个时间点之间的修改的页。
本发明通过错误检查和纠正算法计算固态硬盘数据的指纹,并保存为指纹库,在固态硬盘有数据写入后,查找所述固态硬盘的增量页,根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据;若所述固态硬盘中是有与所述增量页重复的数据,则更新所述固态硬盘的FTL映射表,并将所述增量页标记为无效。借此,本发明可以方便的删除固态硬盘的重复数据,提高固态硬盘的性能。优选的是,本发明还可以通过后台系统以LRU算法处理所述指纹库中的指纹,减小指纹库的存储空间。
附图说明
图1是本发明一实施例的后台系统的结构示意图;
图2是本发明另一实施例的后台系统的结构示意图;
图3是本发明一实施例的后台操作结构示意图;
图4是本发明一实施例的删除固态硬盘重复数据的方法流程图;
图5是本发明另一实施例的删除固态硬盘重复数据的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明提供了一种删除固态硬盘重复数据的后台系统,其与固态硬盘连接,该系统100包括指纹库建立模块10、数据比较模块20以及数据处理模块30,其中:
指纹库建立模块10,用于通过错误检查和纠正算法(ECC)计算固态硬盘数据的指纹,并保存为指纹库。本实施例中,固态硬盘以数据页为单位进行读写,即,指纹库中存储有各数据页对应的指纹。本发明通过ECC算法对数据页进行计算获取到ECC数据作为该数据页的指纹。
数据比较模块20,用于查找所述固态硬盘的增量页,根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据。且本发明中扫描增量页的方式可根据FTL设计的不同而不同,本发明通过对FTL建立时间点快照,以记录并获取两个时间点之间的修改的页。
数据处理模块30,用于所述固态硬盘中是有与所述增量页重复的数据时,更新所述固态硬盘的FTL映射表,并将所述增量页标记为无效。若固态硬盘中没有与所述增量页重复的数据,则将数据交由FTL层处理,将其写入到固态硬盘,包括分配物理页,写入逻辑关系等,同时将该数据的指纹写入指纹库进行储存,借此方便固态硬盘再次有数据写入后的判断。
再参见图2,本实施例中,后台系统还包括算法处理模块40和增量页处理模块50,用于通过LRU算法处理所述指纹库中的指纹。指纹库保存在SSD的保留空间内,可通过对指纹进行替换的方式,来将最容易重复数据对应的指纹留在指纹库中,对不容易重复数据对应的指纹替换出指纹库,并且保证仅占用少量的SSD保留空间。
所述增量页处理模块50,用于对所述FTL建立时间点快照,记录并获取两个时间点之间的修改的页。
进一步的,所述数据比较模块20包括:
第一判断子模块21,用于判断所述指纹库中是否有与所述增量页的数据相同的指纹,若有,则交由第二判断子模块22处理。
第二判断子模块22,用于所述指纹库中有与所述增量页的数据相同的指纹时,进一步判断所述指纹对应的数据与所述增量页数据是否相同,若相同则判定为重复数据。
本发明的指纹采用ECC数据,节省计算时间。且本发明的实施例中,并非ECC数值相同就判定数据一致,其将ECC校验作为一级判断,相同后再比较数据,数据相同则可作为重复数据来处理。借此延长SSD的使用寿命,且能大大提高SSD的空间利用率及速率。
结合图3所示的具体实施例中,后台系统对固态硬盘进行扫描,收集指纹库,获取到块0的页0与块1的页0的ECC值相同,比较两者数据,且判定匹配,则更新FTL映射表,并将重复的物理页(块1的页0)标记为数据无效页。
参见图4,本发明提供了一种删除固态硬盘重复数据的方法,其可以通过如图1所示的后台系统100实现,该方法包括:
步骤S401,通过错误检查和纠正算法(ECC)计算固态硬盘数据的指纹,并保存为指纹库。本实施例中,固态硬盘以数据页为单位进行读写,即,指纹库中存储有各数据页对应的指纹。本发明通过ECC算法对数据页进行计算获取到ECC数据作为该数据页的指纹。
步骤S402,查找所述固态硬盘的增量页,根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据。且本发明中扫描增量页的方式可根据FTL设计的不同而不同,本发明通过对FTL建立时间点快照,以记录并获取两个时间点之间的修改的页。
步骤S403,所述固态硬盘中是有与所述增量页重复的数据时,更新所述固态硬盘的FTL映射表,并将所述增量页标记为无效。若固态硬盘中没有与所述增量页重复的数据,则将数据交由FTL层处理,将其写入到固态硬盘,包括分配物理页,写入逻辑关系等,同时将该数据的指纹写入指纹库进行储存,借此方便固态硬盘再次有数据写入后的判断。
参见图5,本发明提供了另一种删除固态硬盘重复数据的方法,其可以通过如图2所示的后台系统100实现,该方法包括:
步骤S501,通过错误检查和纠正算法计算固态硬盘数据的指纹,并保存为指纹库。
步骤S502,判断所述指纹库中是否有与所述增量页的数据相同的指纹,若是则执行步骤S503。本发明中扫描增量页的方式可根据FTL设计的不同而不同,本发明通过对FTL建立时间点快照,以记录并获取两个时间点之间的修改的页。
步骤S503,判断所述指纹对应的数据与所述增量页数据是否相同。若是则执行步骤S504。
步骤S504,判断数据为重复数据。
步骤S505,通过LRU算法处理所述指纹库中的指纹。
综上所述,本发明通过错误检查和纠正算法计算固态硬盘数据的指纹,并保存为指纹库,在固态硬盘有数据写入后,查找所述固态硬盘的增量页,根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据;若所述固态硬盘中是有与所述增量页重复的数据,则更新所述固态硬盘的FTL映射表,并将所述增量页标记为无效。借此,本发明可以方便的删除固态硬盘的重复数据,提高固态硬盘的性能。优选的是,本发明还可以通过后台系统以LRU算法处理所述指纹库中的指纹,减小指纹库的存储空间。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (6)
1.一种删除固态硬盘重复数据的方法,其特征在于,所述方法包括:
通过错误检查和纠正算法计算固态硬盘的数据的指纹,并保存为指纹库;
查找所述固态硬盘的增量页,根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据;
若所述固态硬盘中是有与所述增量页重复的数据,则更新所述固态硬盘的FTL映射表,并将所述增量页标记为无效;
所述查找所述固态硬盘的增量页的步骤包括:
对所述FTL映射表建立时间点快照,记录并获取两个时间点之间的修改的页;
所述指纹库保存在所述固态硬盘的保留空间内,将最容易重复数据对应的所述指纹留在所述指纹库中,对不容易重复数据对应的所述指纹替换出所述指纹库。
2.根据权利要求1所述的删除固态硬盘重复数据的方法,其特征在于,后台通过LRU算法处理所述指纹库中的指纹。
3.根据权利要求1所述的删除固态硬盘重复数据的方法,其特征在于,所述根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据步骤包括:
判断所述指纹库中是否有与所述增量页的数据相同的指纹;
若所述指纹库中有与所述增量页的数据相同的指纹,则进一步判断所述指纹对应的数据与所述增量页数据是否相同,若相同则判定为重复数据。
4.一种删除固态硬盘重复数据的后台系统,其特征在于,包括:
指纹库建立模块,用于通过错误检查和纠正算法计算固态硬盘数据的指纹,并保存为指纹库;
数据比较模块,用于查找所述固态硬盘的增量页,根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据;
数据处理模块,用于所述固态硬盘中是有与所述增量页重复的数据时,更新所述固态硬盘的FTL映射表,并将所述增量页标记为无效;
所述后台系统还包括:
增量页处理模块,用于对所述FTL映射表建立时间点快照,记录并获取两个时间点之间的修改的页;
所述指纹库保存在所述固态硬盘的保留空间内,将最容易重复数据对应的所述指纹留在所述指纹库中,对不容易重复数据对应的所述指纹替换出所述指纹库。
5.根据权利要求4所述的删除固态硬盘重复数据的后台系统,其特征在于,所述后台系统还包括算法处理模块,用于通过LRU算法处理所述指纹库中的指纹。
6.根据权利要求4所述的删除固态硬盘重复数据的后台系统,其特征在于,所述数据比较模块包括:第一判断子模块,用于判断所述指纹库中是否有与所述增量页的数据相同的指纹;
第二判断子模块,用于所述指纹库中有与所述增量页的数据相同的指纹时,进一步判断所述指纹对应的数据与所述增量页数据是否相同,若相同则判定为重复数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310345300.9A CN103473179B (zh) | 2013-08-09 | 2013-08-09 | 后台系统及其删除固态硬盘重复数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310345300.9A CN103473179B (zh) | 2013-08-09 | 2013-08-09 | 后台系统及其删除固态硬盘重复数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103473179A CN103473179A (zh) | 2013-12-25 |
CN103473179B true CN103473179B (zh) | 2017-04-19 |
Family
ID=49798043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310345300.9A Active CN103473179B (zh) | 2013-08-09 | 2013-08-09 | 后台系统及其删除固态硬盘重复数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103473179B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133888B (zh) * | 2014-07-30 | 2019-08-02 | 宇龙计算机通信科技(深圳)有限公司 | 一种多系统数据处理方法、装置及终端 |
CN110348269B (zh) | 2018-04-02 | 2021-07-20 | 杭州海康威视数字技术股份有限公司 | 一种指纹录入方法、装置、系统及电子设备 |
CN110175000A (zh) * | 2019-05-24 | 2019-08-27 | 深圳忆联信息系统有限公司 | 基于固态硬盘的读写性能提升方法、装置和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7085988B1 (en) * | 2002-04-08 | 2006-08-01 | Maxtor Corporation | Hashing system utilizing error correction coding techniques |
CN102629258A (zh) * | 2012-02-29 | 2012-08-08 | 浪潮(北京)电子信息产业有限公司 | 重复数据删除方法和装置 |
CN102981969A (zh) * | 2012-11-21 | 2013-03-20 | 记忆科技(深圳)有限公司 | 重复数据删除的方法及其固态硬盘 |
-
2013
- 2013-08-09 CN CN201310345300.9A patent/CN103473179B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7085988B1 (en) * | 2002-04-08 | 2006-08-01 | Maxtor Corporation | Hashing system utilizing error correction coding techniques |
CN102629258A (zh) * | 2012-02-29 | 2012-08-08 | 浪潮(北京)电子信息产业有限公司 | 重复数据删除方法和装置 |
CN102981969A (zh) * | 2012-11-21 | 2013-03-20 | 记忆科技(深圳)有限公司 | 重复数据删除的方法及其固态硬盘 |
Also Published As
Publication number | Publication date |
---|---|
CN103473179A (zh) | 2013-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391774B (zh) | 基于重复数据删除的日志文件系统的垃圾回收方法 | |
CN104461387B (zh) | 一种提高固态硬盘对未映射区域的读性能的方法 | |
CN110399310B (zh) | 一种存储空间的回收方法及装置 | |
US9959054B1 (en) | Log cleaning and tiering in a log-based data storage system | |
CN111026329B (zh) | 基于主机管理瓦记录磁盘的键值存储系统及数据处理方法 | |
US9772790B2 (en) | Controller, flash memory apparatus, method for identifying data block stability, and method for storing data in flash memory apparatus | |
CN108280229B (zh) | 内存数据读写方法和装置 | |
CN106201916B (zh) | 一种面向ssd的非易失缓存方法 | |
CN111552692B (zh) | 一种加减法布谷鸟过滤器 | |
CN102646069A (zh) | 一种延长固态盘使用寿命的方法 | |
CN103229164B (zh) | 数据访问方法和装置 | |
EP3598290B1 (en) | Solid-state disk access | |
CN112148928A (zh) | 一种基于指纹家族的布谷鸟过滤器 | |
CN103019887A (zh) | 数据备份方法及装置 | |
WO2016101145A1 (zh) | 一种控制器、识别数据块稳定性的方法和存储系统 | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
CN103309815A (zh) | 一种提高固态盘有效容量和寿命的方法和系统 | |
CN103473179B (zh) | 后台系统及其删除固态硬盘重复数据的方法 | |
CN106648991A (zh) | 数据容灾系统中的重复数据删除方法 | |
CN103383666A (zh) | 改善缓存预取数据局部性的方法和系统及缓存访问方法 | |
CN113867627B (zh) | 一种存储系统性能优化方法及系统 | |
US20150205538A1 (en) | Storage apparatus and method for selecting storage area where data is written | |
CN103019963B (zh) | 一种高速缓存的映射方法及存储设备 | |
CN106227466A (zh) | 一种数据段迁移方法及系统 | |
KR101252375B1 (ko) | 저장 장치의 중복 제거 성능 향상을 위한 맵핑 관리 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |