一种提高SSD写性能一致性的方法技术

技术编号:17541305 阅读:71 留言:0更新日期:2018-03-24 17:59
本发明专利技术公开了一种提高SSD写性能一致性的方法,其特征在于增加定时检测缓存往Nand Flash写数据D2N写速率的检测模块,当检测到D2N的写速率小于当前主机往缓存中写数据H2D的写速率时,控制逐步降低H2D的写速率,逐步降低到与D2N的写速率相同,当D2N的写速率和H2D的写速率相同时,缓存也刚好达到满状态;当检测到D2N的写速率突然大于当前主机往缓存中写数据H2D的写速率时,控制逐步提高H2D的写速率,逐步完全提高到H2D的写速率的极限带宽,控制逐步提高H2D的写速率的过程中一直保持缓存低于满状态。通过增加这种流控机制,在主机对SSD持续写数据时,性能的波动将会变得很温和,性能一致性将会得到保证,即提高了SSD的服务质量。

A method to improve the consistency of SSD writing performance

The invention discloses a method for improving the consistency of the SSD performance, which is characterized in that the detection module is added to the Nand Flash cache timing detection write data D2N write rate, when the detected D2N write rate is less than the current host to write cache to write data rate of H2D, gradually reduce the write speed of H2D control. Gradually reduced to the same with the write speed of D2N, when the D2N rate and H2D rate of write write cache is the same, just to reach the full state; when the detected D2N rate is greater than the current host to suddenly write write cache to write data rate of H2D, high speed H2D control gradually up, gradually improve to limit the bandwidth write rate of H2D, gradually improve the process control rate of H2D is kept in the cache is lower than the full state. By increasing this flow control mechanism, when the host continues to write data to SSD, the performance fluctuation will become very mild, and the performance consistency will be guaranteed, that is, the quality of service of SSD will be improved.

【技术实现步骤摘要】
一种提高SSD写性能一致性的方法
本专利技术涉及固态硬盘控制技术,特别涉及一种提高SSD写性能一致性的方法。
技术介绍
对于企业级的固态硬盘(SSD)而言,仅仅用性能和IOPS(Input/OutputOperationsPerSecond即每秒进行读写(I/O)操作的次数)去考量SSD是不全面的。更重要的是服务质量,即Qos(qualityofservice)。服务质量(Qos)指的是SSD性能的一致性,特别针对4KB随机写业务的服务质量,针对4KB随机写的性能的一致性。在企业级应用环境下,写入SSD的数据是密集型的,即会一直有数据往SSD中写,由于数据缓存cache(DRAM)的存在数据写到cache后,主机就认为该笔数据传输完成了,所以写命令的性能取决于cache的剩余量,如果cache有余量,则数据会很快传完,传完即写完,性能高;如果cache没有余量,则需要等待SSD把cache中数据写入到NandFlash介质,腾出足够的cache后才能响应命令,此时性能低;主机往cache中写数据(HosttoDRAM简称为H2D)和cache往NandFlash写数据(DRAMtoNand简称D2N)可以并行工作,图1是SSD写入数据的通路图;主机HOST通过H2D向SSD写入数据,SSD控制器接收到主机的写入命令时,接收数据并存储在数据缓存中;SSD控制器在根据一定的策略后台将缓存中的数据写入NandFlash中;由于NandFlash介质的特性,在主机持续往SSD写数据时,SSD内部的算法模块FTL需要对NandFlash上的旧数据做一些诸如垃圾回收、磨损均衡、内部管理数据写入的操作,达到延长介质使用寿命、保持介质性能的目的。即SSD内部FTL会不定时的对NandFlash做一些读写操作,这个时候这些内部操作会和D2N的写操作抢夺NandFlash的带宽,即D2N的带宽将会急剧减少,cache腾出余量的速度变缓慢,直接导致H2D的性能变差。如图2是SSD的性能表;由于内部操作会和D2N的写操作抢夺NandFlash的带宽,造成SSD的性能会发生抖动,忽高忽低,存在性能一致性很差的问题。
技术实现思路
针对以上缺陷,本专利技术目的是如何减小SSD性能特别是写性能的波动,提高性能一致性。为了解决以上问题本专利技术提出了一种提高SSD写性能一致性的方法,其特征在于增加定时检测缓存往NandFlash写数据D2N写速率的检测模块,当检测到D2N的写速率小于当前主机往缓存中写数据H2D的写速率时,根据D2N的写速率和H2D的写速率的差值,控制逐步降低H2D的写速率,逐步降低到与D2N的写速率相同,当D2N的写速率和H2D的写速率相同时,缓存也刚好达到满状态;当检测到D2N的写速率突然大于当前主机往缓存中写数据H2D的写速率时,根据D2N的写速率和H2D的写速率的差值,控制逐步提高H2D的写速率,逐步完全提高到H2D的写速率的极限带宽,控制逐步提高H2D的写速率的过程中一直保持缓存低于满状态。所述的提高SSD写性能一致性的方法,其特征在于D2N的写速率和H2D的写速率通过每毫秒内通过的数据量来标识写速率的大小,检测模块每毫秒更新一次。所述的提高SSD写性能一致性的方法,其特征在于根据触发SSD内部数据管理工作的不同阶段将SSD写数据划分为3种状态,分别为:稳态阶段、触发阶段和结束阶段。所述的提高SSD写性能一致性的方法,其特征在于所述稳态阶段为SSD内部数据管理没有触发,D2N的写速率保持大于H2D的写速率,允许H2D的写速率按极限速度写入。所述的提高SSD写性能一致性的方法,其特征在于所述触发阶段为SSD内部数据管理触发,D2N的写速率突然急剧下降,小于H2D的写速率。所述的提高SSD写性能一致性的方法,其特征在于所述结束阶段为SSD内部数据管理完成,D2N的写速率突然急剧上升,大于H2D的写速率。所述的提高SSD写性能一致性的方法,其特征在于当检测模块检测到D2N的写速率突然急剧下降,小于H2D的写速率,SSD写数据进入触发阶段,控制H2D的写速率匀速下降到与D2N的写速率相等,之后保持该H2D的写速率和缓存满状态。所述的提高SSD写性能一致性的方法,其特征在于当检测模块到D2N的写速率突然急剧上升,大于H2D的写速率,SSD写数据进入结束阶段,控制H2D的写速率匀速上升到与D2N的写速率相等,上升过程缓存低于满状态,并逐步保持空闲状态。本专利技术的有益效果是:通过增加这种流控机制,在主机对SSD持续写数据时,性能的波动将会变得很温和,性能一致性将会得到保证,即提高了SSD的服务质量。附图说明图1是SSD写入数据的通路图;图2是SSD的性能表;图3是增加检测D2N性能的模块后的SSD写入数据的通路图;图4是增加流控机制后的写性能波动示意图;图5是获取触发阶段的Step_performance_decrease示意图;图6是结束阶段获取Step_performance_increase的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。H2D的性能不稳定性来自于FTL内部的操作会不定时抢夺NandFlash的带宽,导致D2N通路的性能大大下降,但是H2D通路并不知道这个事情,还是以原来的速度消耗着cache,所以cache将会很快被填满,然后H2D的性能将会一下子降得很低。本方案提出了一种改进方法在D2N的通路增加一个检测D2N性能的模块,图3是增加检测D2N性能的模块后的SSD写入数据的通路图,该模块记录D2N的实时性能,我们用N_perpofmance来表示,为了提高检测的精度,我们以每毫秒(ms)内通过的数据量(KB)来标识性能大小,即N_perpofmance表示最近一毫秒内通过了多少KB的数据量。类似的,H2D通路中也维护一个前端性能,我们用H_performance表示,单位也是KB/ms,它记录了H2D通路允许放行的性能值,即H2D通路中单位毫秒内允许放行的数据量(KB),它需要根据N_perpofmance的大小动态更新。这两个值每毫秒更新一次。H2D通路放行时不仅要看缓存cache是否有余量,还要查询D2N通路的性能N_perpofmance,如果N_perpofmance很高,说明此时没有FTL内部请求占用NandFlash带宽,则H2D可以慢慢加大H_performance,系统表现为性能慢慢增大;如果N_perpofmance降低了,说明此时有FTL内部请求占用NandFlash带宽,则H2D需要慢慢减小H_performance,系统表现为性能慢慢降低。下面举个例子说明新技术的具体实现。假设SATA接口的极限带宽为600KB/ms(约等于600MB/s),NANDFlash的极限带宽为900KB/ms(约等于900MB/s),FTL内部任务工作时占用600KB/ms的后端带宽,cache的容量为5000KB(约等于5MB)。我们用Step_performance本文档来自技高网
...
一种提高SSD写性能一致性的方法

【技术保护点】
一种提高SSD写性能一致性的方法,其特征在于增加定时检测缓存往NandFlash写数据D2N写速率的检测模块,当检测到D2N的写速率小于当前主机往缓存中写数据H2D的写速率时,根据D2N的写速率和H2D的写速率的差值,控制逐步降低H2D的写速率,逐步降低到与D2N的写速率相同,当D2N的写速率和H2D的写速率相同时,缓存也刚好达到满状态;当检测到D2N的写速率突然大于当前主机往缓存中写数据H2D的写速率时,根据D2N的写速率和H2D的写速率的差值,控制逐步提高H2D的写速率,逐步完全提高到H2D的写速率的极限带宽,控制逐步提高H2D的写速率的过程中一直保持缓存低于满状态。

【技术特征摘要】
1.一种提高SSD写性能一致性的方法,其特征在于增加定时检测缓存往NandFlash写数据D2N写速率的检测模块,当检测到D2N的写速率小于当前主机往缓存中写数据H2D的写速率时,根据D2N的写速率和H2D的写速率的差值,控制逐步降低H2D的写速率,逐步降低到与D2N的写速率相同,当D2N的写速率和H2D的写速率相同时,缓存也刚好达到满状态;当检测到D2N的写速率突然大于当前主机往缓存中写数据H2D的写速率时,根据D2N的写速率和H2D的写速率的差值,控制逐步提高H2D的写速率,逐步完全提高到H2D的写速率的极限带宽,控制逐步提高H2D的写速率的过程中一直保持缓存低于满状态。2.根据权利要求1所述的提高SSD写性能一致性的方法,其特征在于D2N的写速率和H2D的写速率通过每毫秒内通过的数据量来标识写速率的大小,检测模块每毫秒更新一次。3.根据权利要求2所述的提高SSD写性能一致性的方法,其特征在于根据触发SSD内部数据管理工作的不同阶段将SSD写数据划分为3种状态,分别为:稳态阶段、触发阶段和结束阶段。4.根据权利要求3所述的...

【专利技术属性】
技术研发人员:许毅姚兰郑春阳
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:广东,44

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

1