CN103473179A - 后台系统及其删除固态硬盘重复数据的方法 - Google Patents
后台系统及其删除固态硬盘重复数据的方法 Download PDFInfo
- Publication number
- CN103473179A CN103473179A CN2013103453009A CN201310345300A CN103473179A CN 103473179 A CN103473179 A CN 103473179A CN 2013103453009 A CN2013103453009 A CN 2013103453009A CN 201310345300 A CN201310345300 A CN 201310345300A CN 103473179 A CN103473179 A CN 103473179A
- Authority
- CN
- China
- Prior art keywords
- data
- solid state
- hard disc
- state hard
- fingerprint
- 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.)
- Granted
Links
- 239000007787 solid Substances 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000013507 mapping Methods 0.000 claims abstract description 10
- 238000012217 deletion Methods 0.000 claims description 17
- 230000037430 deletion Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 11
- 239000003550 marker Substances 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000013461 design Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 210000001138 tear Anatomy 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
- Collating Specific Patterns (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 (8)
1.一种删除固态硬盘重复数据的方法,其特征在于,所述方法包括:
通过错误检查和纠正算法计算固态硬盘数据的指纹,并保存为指纹库;
查找所述固态硬盘的增量页,根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据;
若所述固态硬盘中是有与所述增量页重复的数据,则更新所述固态硬盘的FTL映射表,并将所述增量页标记为无效。
2.根据权利要求1所述的删除固态硬盘重复数据的方法,其特征在于,所述后台通过LRU算法处理所述指纹库中的指纹。
3.根据权利要求1所述的删除固态硬盘重复数据的方法,其特征在于,所述根据所述指纹库判断所述固态硬盘中是否有与所述增量页相同的数据步骤包括:
判断所述指纹库中是否有与所述增量页的数据相同的指纹;
若所述指纹库中有与所述增量页的数据相同的指纹,则进一步判断所述指纹对应的数据与所述增量页数据是否相同,若相同则判定为重复数据。
4.根据权利要求1所述的删除固态硬盘重复数据的方法,其特征在于,所述查找所述固态硬盘的增量页的步骤包括:
对所述FTL建立时间点快照,记录并获取两个时间点之间的修改的页。
5.一种删除固态硬盘重复数据的后台系统,其特征在于,包括:
指纹库建立模块,用于通过错误检查和纠正算法计算固态硬盘数据的指纹,并保存为指纹库;
数据比较模块,用于查找所述固态硬盘的增量页,根据所述指纹库判断所述固态硬盘中是否有与所述增量页重复的数据;
数据处理模块,用于所述固态硬盘中是有与所述增量页重复的数据时,更新所述固态硬盘的FTL映射表,并将所述增量页标记为无效。
6.根据权利要求5所述的删除固态硬盘重复数据的后台系统,其特征在于,所述后台系统还包括算法处理模块,用于通过LRU算法处理所述指纹库中的指纹。
7.根据权利要求5所述的删除固态硬盘重复数据的后台系统,其特征在于,所述数据比较模块包括:
第一判断子模块,用于判断所述指纹库中是否有与所述增量页的数据相同的指纹;
第二判断子模块,用于所述指纹库中有与所述增量页的数据相同的指纹时,进一步判断所述指纹对应的数据与所述增量页数据是否相同,若相同则判定为重复数据。
8.根据权利要求5所述的删除固态硬盘重复数据的后台系统,其特征在于,所述后台系统还包括:
增量页处理模块,用于对所述FTL建立时间点快照,记录并获取两个时间点之间的修改的页。
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 true CN103473179A (zh) | 2013-12-25 |
| CN103473179B CN103473179B (zh) | 2017-04-19 |
Family
ID=49798043
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310345300.9A Expired - Fee Related CN103473179B (zh) | 2013-08-09 | 2013-08-09 | 后台系统及其删除固态硬盘重复数据的方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN103473179B (zh) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104133888A (zh) * | 2014-07-30 | 2014-11-05 | 宇龙计算机通信科技(深圳)有限公司 | 一种多系统数据处理方法、装置及终端 |
| CN110175000A (zh) * | 2019-05-24 | 2019-08-27 | 深圳忆联信息系统有限公司 | 基于固态硬盘的读写性能提升方法、装置和计算机设备 |
| CN110348269A (zh) * | 2018-04-02 | 2019-10-18 | 杭州海康威视数字技术股份有限公司 | 一种指纹录入方法、装置、系统及电子设备 |
| CN111638852A (zh) * | 2014-12-31 | 2020-09-08 | 华为技术有限公司 | 将数据写入固态硬盘的方法及固态硬盘 |
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 not_active Expired - Fee Related
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 | 记忆科技(深圳)有限公司 | 重复数据删除的方法及其固态硬盘 |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104133888A (zh) * | 2014-07-30 | 2014-11-05 | 宇龙计算机通信科技(深圳)有限公司 | 一种多系统数据处理方法、装置及终端 |
| CN104133888B (zh) * | 2014-07-30 | 2019-08-02 | 宇龙计算机通信科技(深圳)有限公司 | 一种多系统数据处理方法、装置及终端 |
| CN111638852A (zh) * | 2014-12-31 | 2020-09-08 | 华为技术有限公司 | 将数据写入固态硬盘的方法及固态硬盘 |
| CN110348269A (zh) * | 2018-04-02 | 2019-10-18 | 杭州海康威视数字技术股份有限公司 | 一种指纹录入方法、装置、系统及电子设备 |
| US11514712B2 (en) | 2018-04-02 | 2022-11-29 | Hangzhou Hikvision Digital Technology Co., Ltd. | Fingerprint entry method and apparatus, and system and electronic device |
| CN110175000A (zh) * | 2019-05-24 | 2019-08-27 | 深圳忆联信息系统有限公司 | 基于固态硬盘的读写性能提升方法、装置和计算机设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN103473179B (zh) | 2017-04-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9003103B2 (en) | Nonvolatile media dirty region tracking | |
| US10372619B2 (en) | Data backup method, data recovery method and storage controller | |
| US9996297B2 (en) | Hot-cold data separation method in flash translation layer | |
| JP6817318B2 (ja) | フラッシュメモリデバイスにアクセスするための方法および装置 | |
| KR101870521B1 (ko) | 스토리지 저널링을 개선하는 방법 및 시스템 | |
| US10261705B2 (en) | Efficient data consistency verification for flash storage | |
| CN109117383B (zh) | 管理闪存模块的方法和闪存控制器 | |
| CN108255414B (zh) | 固态硬盘访问方法及装置 | |
| KR101933766B1 (ko) | 플래시 메모리 플러싱을 개선하는 방법 및 시스템 | |
| US20180188981A1 (en) | Methods and apparatus for read disturb detection based on logical domain | |
| CN110413454B (zh) | 基于存储阵列的数据重建方法、装置及存储介质 | |
| CN103473266A (zh) | 固态硬盘及其删除重复数据的方法 | |
| CN105980992A (zh) | 一种控制器、闪存装置、识别数据块稳定性的方法以及在闪存装置中存储数据的方法 | |
| CN105917303B (zh) | 一种控制器、识别数据块稳定性的方法和存储系统 | |
| US20140351628A1 (en) | Information processing device, control circuit, computer-readable recording medium for control program, and control method | |
| US20170017405A1 (en) | Systems and methods for improving flash-oriented file system garbage collection | |
| WO2014079201A1 (zh) | 重复数据删除的方法及其固态硬盘 | |
| CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
| TWI516934B (zh) | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 | |
| CN103473179B (zh) | 后台系统及其删除固态硬盘重复数据的方法 | |
| US10613973B1 (en) | Garbage collection in solid state drives | |
| CN107943415B (zh) | 基于fat文件系统的查找空闲簇的方法和系统 | |
| CN104391652A (zh) | 一种硬盘的损耗均衡方法及装置 | |
| US12099440B1 (en) | Access-based data storage in SSD devices | |
| TW201905701A (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器 |
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 | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170419 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |