CN102841850B - 减小固态硬盘写放大的方法及系统 - Google Patents

减小固态硬盘写放大的方法及系统 Download PDF

Info

Publication number
CN102841850B
CN102841850B CN201210202638.4A CN201210202638A CN102841850B CN 102841850 B CN102841850 B CN 102841850B CN 201210202638 A CN201210202638 A CN 201210202638A CN 102841850 B CN102841850 B CN 102841850B
Authority
CN
China
Prior art keywords
data page
write
logical address
allochthonous
buffer memory
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.)
Expired - Fee Related
Application number
CN201210202638.4A
Other languages
English (en)
Other versions
CN102841850A (zh
Inventor
何浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201210202638.4A priority Critical patent/CN102841850B/zh
Publication of CN102841850A publication Critical patent/CN102841850A/zh
Application granted granted Critical
Publication of CN102841850B publication Critical patent/CN102841850B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明适用于计算机技术领域,提供了一种减小固态硬盘写放大的方法,所述方法包括:当所述固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页,若是,则将所述有效数据页进行无效处理,否则进行正常数据搬移。本发明还相应的提供一种减小固态硬盘写放大的系统。借此,本发明可以减少数据的搬移量,降低固态硬盘的写放大。

Description

减小固态硬盘写放大的方法及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种减小固态硬盘写放大的方法及系统。
背景技术
在固态存储系统中,写放大是一个重要的概念。它是硬盘实际上写入的数据量和主机要求写入数据量的一个比值,应当控制在较小的范围内。闪存的读写最小单位是页(page),而擦除的最小单位是块(block)。目前常见的物理块具有256个页,这样会产生在一个块内既有有效页又有无效页。垃圾回收的功能就是在系统空闲空间不足时候将块中的有效页搬移到统一的空闲块中,然后把产生的垃圾块擦除从而产生多余的空闲块。另外,闪存物理块的擦除次数是有限的,最新工艺的MLC(Multi-LevelCell,多层单元)擦写次数一般只有3000~5000次。在固态存储设备使用期间,由于主机端写入数据序列的差异,会产生冷热数据。冷数据被更新的频率很低,其所占用的物理块被擦的次数很低;而热数据所占用的物理块则相反。如果不做特殊的磨损均衡处理,热数据占用的块被频繁使用,将提前到达其寿命。因此,需要不断的把冷数据搬移到擦写次数较高的块上,而热数据则写入到擦除次数较少的块上,达到磨损均衡的效果,这样做的结果势必会增加搬移数据的次数,导致写放大的增加。当然还有其它因素影响写放大,而写放大的增加会使固态硬盘寿命的缩短。
在现有相关技术中,主要是优化垃圾回收和磨损均衡等算法,来降低写放大。例如,在搜索将要进行数据搬移的源block时选择有效页最小的,使得一次搬移的数据最少;或者放宽磨损均衡的触发条件,降低搬移的次数。这些算法的优化虽然可以在一定程度上降低写放大,但也会降低垃圾回收和磨损均衡的效率。另外,这些算法在数据搬移的过程后没有考虑到被主机复写部分数据的情况。
综上可知,现有的固态硬盘减小写放大的技术,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种减小固态硬盘写放大的方法及系统,可以减少数据的搬移量,有效的降低固态硬盘的写放大。
为了实现上述目的,本发明提供一种减小固态硬盘写放大的方法,所述方法包括:
当所述固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页,若是,则将所述有效数据页进行无效处理,否则进行正常数据搬移。
根据本发明的减小固态硬盘写放大的方法,所述判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页步骤包括:
获取所述被搬移的有效数据页的逻辑地址;
检查所述主机端的写缓存,若所述主机端的写缓存中存在数据页的逻辑地址与所述被搬移的有效数据页的逻辑地址相同,则确定该数据页与所述被搬移的有效数据页相同。
根据本发明的减小固态硬盘写放大的方法,所述方法还包括:
在预定时间间隔内检查所述写缓存中写入的逻辑地址的排列规则,并根据所述逻辑地址的排列规则预测所述主机端的写入规则。
根据本发明的减小固态硬盘写放大的方法,若在预定时间间隔内检查所述写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则确定所述主机端会在后序顺序写入所述预设值数量的连续的逻辑地址。
本发明还提供一种减小固态硬盘写放大的系统,所述系统包括:
判断模块,用于当所述固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页,若是,则交由无效处理模块处理,否则进行正常的数据搬移;
无效处理模块,用于主机端的写缓存中储存有与所述被搬移的有效数据页相同的数据页时,将所述被搬移的有效数据页进行无效处理。
根据本发明的减小固态硬盘写放大的系统,所述判断模块包括:
获取子模块,用于获取所述被搬移的有效数据页的逻辑地址;
检查子模块,用于检查所述主机端的写缓存,若所述主机端的写缓存中存在数据页的逻辑地址与所述被搬移的有效数据页的逻辑地址相同,则确定该数据页与所述被搬移的有效数据页相同。
根据本发明的减小固态硬盘写放大的系统,所述固态硬盘还包括写预测模块,用于在预定时间间隔内检查所述写缓存中写入的逻辑地址的排列规则,并根据所述逻辑地址的排列规则预测所述主机端的写入规则。
根据本发明的减小固态硬盘写放大的系统,若在预定时间间隔内检查所述写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则所述写预测模块确定所述主机端会在后序顺序写入所述预设值数量的连续的逻辑地址。
本发明通过在固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页,若是,则说明此搬移的有效页将要被复写,则直接将该搬移的有效页进行无效处理,并取消搬移操作,否则继续进行正常的搬移处理。借此可减小数据的搬移量,减小固态硬盘的写放大。
附图说明
图1是本发明一实施例的减小固态硬盘写放大的系统结构示意图;
图2是本发明一实施例的固态硬盘数据搬移示意图;
图3是本发明一实施例的写预测示意图;
图4是本发明一实施例的减小固态硬盘写放大的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明提供了一种减小固态硬盘写放大的系统结构,该系统100应用于固态硬盘,其包括判断模块10和无效处理模块20,其中:
判断模块10用于当固态硬盘有数据搬移时,判断主机端200的写缓存(cache)中是否储存有与所述被搬移的有效数据页相同的数据页,若是则交由无效处理模块20处理,否则继续正常的数据搬移处理。
具体的,判断模块10包括获取子模块11和检查子模块12。当固态硬盘有数据搬移时,获取子模块11获取被搬移的有效数据页的逻辑地址,检查子模块12检查主机端200的写缓存,若主机端的写缓存中存在数据页的逻辑地址与所述被搬移的有效数据页的逻辑地址相同,则确定该数据页与所述被搬移的有效数据页相同。
无效处理模块20,用于当主机端200的写缓存中储存有与被搬移的有效数据页相同的数据页时,将所述被搬移的有效数据页进行无效处理。写缓存中存在与被搬移的数据页相同,则可以直接从写缓存中转移相应的数据,而无需再从被搬移的数据页中进行移动,可以直接将该数据页进行无效处理,然后进行垃圾回收,借此大大减小数据的搬移量,降低系统100的写放大。
参见图2所示的实施例,Block1为数据搬移的源块,block2是空闲块,是block1数据搬移的目标块。在对block1的有效页搬移过程中,先读出其逻辑地址(LPA),和host(主机)端200的写cache中逻辑地址一一进行比对,如果命中的话,说明此搬移的有效页将要被复写,可以直接将该有效页无效处理,并取消搬移操作,若没有命中则进行正常的搬移操作,借此减小写放大。
更好的,本发明的系统100还包括写预测模块30,用于在预定时间间隔内检查所述写缓存中写入的逻辑地址的排列规则,并根据逻辑地址的排列规则预测所述主机端200的写入规则。若在预定时间间隔内检查写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则写预测模块30确定所述主机端200会在后序顺序写入所述预设值数量的连续的逻辑地址。
结合图3所示的实施例,在一定时间间隔内对写cache进行检查,若获取逻辑地址是顺序写入的,并且达到一定数量,则返回host端200是顺序写入的。例如,写cache中已经有LPA0~LPA9,可以预测主机端200是顺序写入的,后面会写入LPA10~LPA19。在进行图2所示数据搬移过程时,增大和写cache比对的长度(LPA0~LPA16),而实际写cache里只有LPA0~LPA9,可以显著的提高写cache的命中率,从而减少数据的搬移量,降低系统的写放大。
参见图4,本发明提供了一种减小固态硬盘写放大的方法,其可以通过如图1所示的系统100实现,具体的,该方法包括:
步骤S401,当所述固态硬盘有数据搬移时,判断模块10判断主机端的写cache中是否储存有与被搬移的有效数据页相同的数据页,若是,则执行步骤S402,否则继续正常的数据搬移。
具体的,判断模块10首先通过获取子模块11获取所述被搬移的有效数据页的逻辑地址,然后通过检查子模块12检查写cache中是否有相同的逻辑地址,若是,则确定该逻辑地址的数据页与所述被搬移的有效数据页相同。
步骤S402,将所述有效数据页进行无效处理,并取消该数据页的搬移。
被搬移的有效数据页与写cache的数据页相同,说明该数据页将要被复写,则直接将被搬移的有效数据页无效处理,并取消其搬移操作,借此可减少搬移的数据量,减小写放大。
更好的,本发明的实施例中,在数据搬移过程中,可以在在预定时间间隔内检查写cache中写入的逻辑地址的排列规则,并根据所述逻辑地址的排列规则预测所述主机端的写入规则。具体的,若在预定时间间隔内检查所述写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则确定所述主机端200会在后序顺序写入所述预设值数量的连续的逻辑地址。借此增大和写cache比对的长度(LPA0~LPA16),而实际写cache里只有LPA0~LPA9,可以显著的提高写cache的命中率。
综上所述,本发明通过在固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页,若是,则说明此搬移的有效页将要被复写,则直接将该搬移的有效页进行无效处理,并取消搬移操作,否则继续进行正常的搬移处理。借此可减小数据的搬移量,减小固态硬盘的写放大。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (2)

1.一种减小固态硬盘写放大的方法,其特征在于,所述方法包括:
当固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与被搬移的有效数据页相同的数据页,若是,则将所述有效数据页进行无效处理,否则进行正常数据搬移;
所述判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页步骤包括:
获取所述被搬移的有效数据页的逻辑地址;
检查所述主机端的写缓存,若所述主机端的写缓存中存在数据页的逻辑地址与所述被搬移的有效数据页的逻辑地址相同,则确定该数据页与所述被搬移的有效数据页相同;
所述方法还包括:
在预定时间间隔内检查所述写缓存中写入的逻辑地址的排列规则,并根据所述逻辑地址的排列规则预测所述主机端的写入规则;
若在预定时间间隔内检查所述写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则确定所述主机端会在后序顺序写入所述预设值数量的连续的逻辑地址。
2.一种减小固态硬盘写放大的系统,其特征在于,所述系统包括:
判断模块,用于当固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与被搬移的有效数据页相同的数据页,若是,则交由无效处理模块处理,否则进行正常的数据搬移;
无效处理模块,用于主机端的写缓存中储存有与所述被搬移的有效数据页相同的数据页时,将所述被搬移的有效数据页进行无效处理;
所述判断模块包括:
获取子模块,用于获取所述被搬移的有效数据页的逻辑地址;
检查子模块,用于检查所述主机端的写缓存,若所述主机端的写缓存中存在数据页的逻辑地址与所述被搬移的有效数据页的逻辑地址相同,则确定该数据页与所述被搬移的有效数据页相同;
所述固态硬盘还包括写预测模块,用于在预定时间间隔内检查所述写缓存中写入的逻辑地址的排列规则,并根据所述逻辑地址的排列规则预测所述主机端的写入规则;
若在预定时间间隔内检查所述写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则所述写预测模块确定所述主机端会在后序顺序写入所述预设值数量的连续的逻辑地址。
CN201210202638.4A 2012-06-19 2012-06-19 减小固态硬盘写放大的方法及系统 Expired - Fee Related CN102841850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210202638.4A CN102841850B (zh) 2012-06-19 2012-06-19 减小固态硬盘写放大的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210202638.4A CN102841850B (zh) 2012-06-19 2012-06-19 减小固态硬盘写放大的方法及系统

Publications (2)

Publication Number Publication Date
CN102841850A CN102841850A (zh) 2012-12-26
CN102841850B true CN102841850B (zh) 2016-04-20

Family

ID=47369238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210202638.4A Expired - Fee Related CN102841850B (zh) 2012-06-19 2012-06-19 减小固态硬盘写放大的方法及系统

Country Status (1)

Country Link
CN (1) CN102841850B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257928B (zh) * 2013-04-16 2016-01-13 深圳市江波龙电子有限公司 闪存设备数据管理方法和系统
US10025530B2 (en) 2014-09-29 2018-07-17 Western Digital Technologies, Inc. Optimized garbage collection for solid-state storage devices
CN105677236B (zh) * 2015-12-29 2018-10-02 华为技术有限公司 一种存储设备及其存储数据的方法
CN107122124B (zh) * 2016-02-25 2021-06-15 中兴通讯股份有限公司 数据处理方法及装置
CN106227471A (zh) 2016-08-19 2016-12-14 深圳大普微电子科技有限公司 固态硬盘和应用于固态硬盘的数据存取方法
CN106708444A (zh) * 2017-01-17 2017-05-24 北京联想核芯科技有限公司 数据存储方法和硬盘控制器
CN107908358A (zh) * 2017-10-25 2018-04-13 记忆科技(深圳)有限公司 一种降低NVMe固态硬盘写放大的方法
KR20190083517A (ko) * 2018-01-04 2019-07-12 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
CN109496300B (zh) 2018-03-23 2021-11-19 华为技术有限公司 一种存储介质垃圾回收方法、存储介质和程序产品
CN108920107B (zh) * 2018-07-13 2022-02-01 深圳忆联信息系统有限公司 筛选冷数据的方法、装置、计算机设备及存储介质
CN108984124B (zh) * 2018-07-13 2022-03-25 深圳忆联信息系统有限公司 减少写放大的方法、装置、计算机设备及存储介质
CN111930301A (zh) * 2020-06-29 2020-11-13 深圳佰维存储科技股份有限公司 垃圾回收优化方法、装置、存储介质及电子设备
CN111858394B (zh) * 2020-07-28 2024-02-13 深圳忆联信息系统有限公司 垃圾回收的流量控制方法、装置、计算机设备及存储介质
CN112527194B (zh) * 2020-12-04 2024-02-13 北京浪潮数据技术有限公司 固态硬盘写放大设定方法、系统、装置及可读存储介质
CN117032591B (zh) * 2023-10-08 2024-02-06 苏州元脑智能科技有限公司 直接访问通道的应用方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719099A (zh) * 2009-11-26 2010-06-02 成都市华为赛门铁克科技有限公司 减小固态硬盘写入放大的方法及装置
CN101944066A (zh) * 2009-07-10 2011-01-12 成都市华为赛门铁克科技有限公司 固态硬盘的接口处理方法、固态硬盘以及存储系统
CN102289412A (zh) * 2011-09-07 2011-12-21 上海交通大学 固态硬盘的静态磨损均衡方法及系统
CN102498522A (zh) * 2009-09-15 2012-06-13 国际商业机器公司 用于减小固态器件中的写入放大的容器标记方案

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944066A (zh) * 2009-07-10 2011-01-12 成都市华为赛门铁克科技有限公司 固态硬盘的接口处理方法、固态硬盘以及存储系统
CN102498522A (zh) * 2009-09-15 2012-06-13 国际商业机器公司 用于减小固态器件中的写入放大的容器标记方案
CN101719099A (zh) * 2009-11-26 2010-06-02 成都市华为赛门铁克科技有限公司 减小固态硬盘写入放大的方法及装置
CN102289412A (zh) * 2011-09-07 2011-12-21 上海交通大学 固态硬盘的静态磨损均衡方法及系统

Also Published As

Publication number Publication date
CN102841850A (zh) 2012-12-26

Similar Documents

Publication Publication Date Title
CN102841850B (zh) 减小固态硬盘写放大的方法及系统
US10019369B2 (en) Apparatuses and methods for pre-fetching and write-back for a segmented cache memory
KR102333297B1 (ko) 압축 데이터 및 태그가 있는 캐시
EP3204859B1 (en) Methods and systems for cache lines de-duplication
CN103136121B (zh) 一种固态盘的缓存管理方法
US9990289B2 (en) System and method for repurposing dead cache blocks
JP6017065B2 (ja) ストレージシステム及びキャッシュコントロール方法
US20100185806A1 (en) Caching systems and methods using a solid state disk
CN103150258A (zh) 一种固态存储系统的写入、读取及垃圾收集方法
KR102515417B1 (ko) 캐시 메모리 장치 및 그것의 동작 방법
US20150006815A1 (en) Backup of cached dirty data during power outages
US20090094391A1 (en) Storage device including write buffer and method for controlling the same
CN105930282A (zh) 一种用于nand flash的数据缓存方法
US9176866B2 (en) Active recycling for solid state drive
CN102768645A (zh) 混合缓存的固态硬盘预取方法和固态硬盘ssd
CN103543955A (zh) 利用固态硬盘作为设备读缓存的方法、系统及固态硬盘
CN103631536A (zh) 一种利用ssd的无效数据优化raid5/6写性能的方法
US20130067289A1 (en) Efficient non-volatile read cache for storage system
CN103077119A (zh) 数据处理系统及方法
CN110321081B (zh) 一种闪存读缓存的方法及其系统
Wu et al. FastGC: Accelerate garbage collection via an efficient copyback-based data migration in SSDs
CN109815166B (zh) 一种存储数据的动态回收处理方法及存储装置
KR101180288B1 (ko) 하이브리드 메모리와 ssd 로 구성된 시스템에서의 읽기 캐시 및 쓰기 캐시 관리 방법
US20120260041A1 (en) Simultaneous eviction and cleaning operations in a cache
US8473685B2 (en) Cache memory device, processor, and control method for cache memory device to reduce power unnecessarily consumed by cache memory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160420