一种提高SSD读写性能的方法及其系统技术方案

技术编号:22054361 阅读:30 留言:0更新日期:2019-09-07 14:57
本发明专利技术涉及一种提高SSD读写性能的方法及其系统;其中,方法,包括:S1,主机下发写数据命令;S2,判断动态SLC Cache是否已写满;S3,将数据写入SLC Cache;S4,判断除SLC Cache以外的SSD空间是否写满;S5,将数据保存在SLC中;S6,判断静态SLC Cache是否已写满;S7,将数据写入SLC Cache;S8,将数据搬移至TLC;S9,完成数据写入。本发明专利技术有效提高了SSD顺序读写和随机读写的性能,能够更好地满足需求。

A Method and System for Improving SSD Reading and Writing Performance

【技术实现步骤摘要】
一种提高SSD读写性能的方法及其系统
本专利技术涉及固态硬盘使用寿命
,更具体地说是指一种提高SSD读写性能的方法及其系统。
技术介绍
NANDFlash闪存芯片是SSD(SolidStateDisk)存储数据的主要部分。目前市场主流的闪存芯片是TLC,TLC(Triple-LevelCell),即单个存储单元存储三比特的数据,其特点是读写速度慢,寿命短(约500-1500次擦写寿命),价格便宜;而SLC(Single-LevelCell),即单个存储单元存储一比特的数据,其特点是读写速度快,但是价格贵;TLCSSD为了解决NANDFlash读写慢的问题,固件会分配一定比例的SLCCache,之所以称之为SLCCache,是因为它并不是真正意义上的SLCNANDFlash,是在既有的TLCNANDFlash里面划出一部分空间作为SLC使用,以提升SSD的读写性能。不同的SSD厂商算法不同,一部分SSD会选择划定专属空间来充当静态SLCCache以提高读写性能,这样做的坏处是,这块SLCCache专属区域由于要面临最多数据量的读写,这块区域的P/ECycle将会更快耗尽,另外一部分SSD就选择动态划分SLCCache区域,SLCCache的大小会随着SSD的实际使用容量而变化,这样SLCCache的空间无法得到保证。但是,不管使用哪种分配方式,都存在弊端。目前大部分TLCSSD的使用过程中,需要从TLC中读取数据,导致读性能低,并且在SSD使用后期和大量写入导致SLCCache用完的情况下,读写性能下降明显;因此,无法满足需求。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种提高SSD读写性能的方法及其系统。为实现上述目的,本专利技术采用于下技术方案:一种提高SSD读写性能的方法,包括以下步骤:S1,主机下发写数据命令;S2,判断动态SLCCache是否已写满;若是,进入S6;若否,则进入S3;S3,将数据写入SLCCache;S4,判断除SLCCache以外的SSD空间是否写满;若是,进入S8;若否,则进入S5;S5,将数据保存在SLC中,并进入S9;S6,判断静态SLCCache是否已写满;若是,进入S8;若否,则进入S7;S7,将数据写入SLCCache;S8,将数据搬移至TLC;S9,完成数据写入。其进一步技术方案为:所述S2中,动态SLCCache为SSD容量的9%-11%。其进一步技术方案为:所述S5中,还包括:主机读数据从SLC中读取。其进一步技术方案为:所述S6中,静态SLCCache的容量为3GB。其进一步技术方案为:所述S7之后,还包括:判断主机是否空闲或SSD空间是否写满;若是,进入S8;若否,则返回S1。一种提高SSD读写性能的系统,包括:下发单元,第一判断单元,第一写入单元,第二判断单元,保存单元,第三判断单元,第二写入单元,搬移单元,及完成单元;所述下发单元,用于主机下发写数据命令;所述第一判断单元,用于判断动态SLCCache是否已写满;所述第一写入单元,用于将数据写入SLCCache;所述第二判断单元,用于判断除SLCCache以外的SSD空间是否写满;所述保存单元,用于将数据保存在SLC中;所述第三判断单元,用于判断静态SLCCache是否已写满;所述第二写入单元,用于将数据写入SLCCache;所述搬移单元,用于将数据搬移至TLC;所述完成单元,用于完成数据写入。其进一步技术方案为:所述第一判断单元中,动态SLCCache为SSD容量的9%-11%。其进一步技术方案为:所述保存单元中,主机读数据从SLC中读取。其进一步技术方案为:所述第三判断单元中,静态SLCCache的容量为3GB。其进一步技术方案为:还包括第四判断单元,用于判断主机是否空闲或SSD空间是否写满。本专利技术与现有技术相比的有益效果是:在主机写入数据时,按优先写入动态SLCCache,其次写入静态SLCCache,最后写入TLC的原则,固件分配一部分SSD容量空间作为动态SLCCache,数据在空闲时不搬入TLC,提高写入性能的同时,可以提高随机读的性能,还分配3GB空间的静态SLCCache,空闲时搬入TLC,以提高用户在使用过程中的读写性能,通过动态SLCCache和静态SLCCache结合的分配方式,有效提高了SSD顺序读写和随机读写的性能,能够更好地满足需求。下面结合附图和具体实施例对本专利技术作进一步描述。附图说明图1为现有技术中使用静态SLCCache的处理流程示意图;图2为本专利技术一种提高SSD读写性能的方法流程图;图3为本专利技术一种提高SSD读写性能的系统方框图。具体实施方式为了更充分理解本专利技术的
技术实现思路
,下面结合具体实施例对本专利技术的技术方案进一步介绍和说明,但不局限于此。如图1到图3所示的具体实施例,现有技术中,TLCSSD会依据SSD本身的容量划分一定比例的空间用于实现SLCCache,比例有2%-12%不等,当SSD实际使用容量超过SSD本身容量减去SLCCache之差后,就不再承担SLCCache缓存义务,重新变成TLC区域,这样做的好处是SLCCache专属区域只有实际使用容量超过临界值时才会被解散,在绝大多数没有达到临界值时,SLCCache就可以全部参与为SSD读写加速,当然这样做也有坏处的,这块SLCCache专属区域由于要面临最多数据量的读写,这块区域的P/ECycle将会更快耗尽,而且由于静态SLCCache的空间固定,所以完成写入后要及时将Cache中的数据搬运到TLC,因此使用静态SLCCache只对写性能有明显提高,对随机读性能几乎没有提高。其中,如图1所示的现有技术,Host(主机)下发写命令,首先判断除SLCCache外SSD是否有剩余空间,如果有则将数据写入SLC,待主机空闲将数据搬入TLC,如果没有剩余空间,则将SLCCache用作TLC增加存储空间;这种处理策略可以有效提升写性能,但是由于读数据时(特别是随机读),因数据已经被搬入TLC,需要从TLC中读取数据,导致读性能低,并且在SSD使用后期和大量写入导致SLCCache用完的情况下,读写性能下降明显。如图2所示,本专利技术公开了一种提高SSD读写性能的方法,包括以下步骤:S1,主机下发写数据命令;S2,判断动态SLCCache是否已写满;若是,进入S6;若否,则进入S3;S3,将数据写入SLCCache;S4,判断除SLCCache以外的SSD空间是否写满;若是,进入S8;若否,则进入S5;S5,将数据保存在SLC中,并进入S9;S6,判断静态SLCCache是否已写满;若是,进入S8;若否,则进入S7;S7,将数据写入SLCCache;S8,将数据搬移至TLC;S9,完成数据写入。其中,所述S2中,动态SLCCache为SSD容量的9%-11%,在本实施例中,动态SLCCache为SSD容量的10%。其中,所述S5中,还包括:主机读数据从SLC中读取,提高了读性能。其中,所述S6中,静态SLCCache的容量为3GB,其中,基于大数据的研究结论显示,TLC固态硬盘的SLC缓存容量应该大于3GB,电脑用户平均每小时产生1.17GB数据写入,90%以上的用户平均工作负载容量小于3GB;因此,在本文档来自技高网
...

【技术保护点】
1.一种提高SSD读写性能的方法,其特征在于,包括以下步骤:S1,主机下发写数据命令;S2,判断动态SLC Cache是否已写满;若是,进入S6;若否,则进入S3;S3,将数据写入SLC Cache;S4,判断除SLC Cache以外的SSD空间是否写满;若是,进入S8;若否,则进入S5;S5,将数据保存在SLC中,并进入S9;S6,判断静态SLC Cache是否已写满;若是,进入S8;若否,则进入S7;S7,将数据写入SLC Cache;S8,将数据搬移至TLC;S9,完成数据写入。

【技术特征摘要】
1.一种提高SSD读写性能的方法,其特征在于,包括以下步骤:S1,主机下发写数据命令;S2,判断动态SLCCache是否已写满;若是,进入S6;若否,则进入S3;S3,将数据写入SLCCache;S4,判断除SLCCache以外的SSD空间是否写满;若是,进入S8;若否,则进入S5;S5,将数据保存在SLC中,并进入S9;S6,判断静态SLCCache是否已写满;若是,进入S8;若否,则进入S7;S7,将数据写入SLCCache;S8,将数据搬移至TLC;S9,完成数据写入。2.根据权利要求1所述的一种提高SSD读写性能的方法,其特征在于,所述S2中,动态SLCCache为SSD容量的9%-11%。3.根据权利要求1所述的一种提高SSD读写性能的方法,其特征在于,所述S5中,还包括:主机读数据从SLC中读取。4.根据权利要求1所述的一种提高SSD读写性能的方法,其特征在于,所述S6中,静态SLCCache的容量为3GB。5.根据权利要求1所述的一种提高SSD读写性能的方法,其特征在于,所述S7之后,还包括:判断主机是否空闲或SSD空间是否写满;若是,进入S8;若否,则返回S1。6.一种提高SSD读写性能的系统,其特征在于,包括...

【专利技术属性】
技术研发人员:冷志源冯元元周晨杰
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东,44

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

1