一种SSD写性能的提高方法及装置制造方法及图纸

技术编号:18350150 阅读:28 留言:0更新日期:2018-07-01 23:10
本申请公开了一种SSD写性能的提高方法及装置,涉及电子技术领域,为解决SSD写性能的持久度低的问题而发明专利技术。该方法主要包括:如果接收到写IO指令,则判断SLC Cache是否存在空闲物理空间,所述空闲物理空间是指所述SLC Cache的剩余空闲空间大于或等于写入数据的所需的存储空间;如果不存在所述空闲物理空间,则获取SSD的闪存的Block地址;更改所述Block地址的闪存模式为单层式存储SLC模式,所述Block地址为借用SLC Cache;根据所述SLC模式,在所述Block地址内所述执行所述写IO指令。本申请主要应用于SSD写指令的执行过程中。

【技术实现步骤摘要】
一种SSD写性能的提高方法及装置
本申请涉及电子
,尤其涉及一种SSD写性能的提高方法及装置。
技术介绍
SSD(SolidStateDrives,固态硬盘),是固态电子存储芯片阵列而制成的硬盘,由主控芯片和闪存组成。其闪存类型可以是SLC(SingleLevelCell,单层式存储)、MLC(MultiLevelCell,多层式存储)或TLC(Trinary-LevelCell,三层式存储)。MLC和TLC闪存支持SLC操作模式,所以无论采用何种闪存类型,SSD都开辟一段物理存储空间做SLC操作模块,用于数据缓存,称为SLCCache。在向SSD写入数据时,首先写入SLCCache;若SLCCache写满且写IO(InputOutput,输入输出)持续,新的写IO数据将写入到MLC、TLC中。由于MLC、TLC模式编程性能低于SLC模式,因此,性能将会下降。因此,在持续写IO进行时,盘片能够提供高写性能的容量或时间取决于SLCCache的大小。现有技术中SSD盘片在SLCCache大小固定,而SSD盘片SLCCache大小受限于SSD盘片在MLC、TLC模式下物理空间的冗余,在保证MLC、TLC空间满足逻辑空间和GC(GarbageCollector,垃圾回收)性能的前提下,剩余的空间才可用于SLCCache。因此,SSD盘片SLCCache空间大小将有明显的限制,也就限制了SSD写性能的持久度。
技术实现思路
本申请提供了一种SSD写性能的提高方法及装置,以解决SSD写性能的持久度低的的问题。第一方面,本申请提供了一种SSD写性能的提高方法,该方法包括:如果接收到写IO指令,则判断SLCCache是否存在空闲物理空间,所述空闲物理空间是指所述SLCCache的剩余空闲空间大于或等于写入数据的所需的存储空间;如果不存在所述空闲物理空间,则获取SSD的闪存的Block地址;更改所述Block地址的闪存模式为单层式存储SLC模式,所述Block地址为借用SLCCache;根据所述SLC模式,在所述Block地址内所述执行所述写IO指令。采用本实现方式,在SLCCache不存在空闲物理空间时,可以将闪存中的Block地址作为SLCCache使用,能够提高写性能的持久度。结合第一方面,在第一方面第一种可能的实现方式中,所述闪存模式包括多层式存储MLC模式和三层式存储TLC模式。结合第一方面,在第一方面第二种可能实现的方式中,所述在所述Block地址内所述执行所述写IO指令之后,所述方法还包括:判断所述SSD的属性是否满足预置释放条件;如果判断结果为是,则根据预置垃圾回收机制GC,将所述Block地址内的数据搬移到所述空闲存储空间;还原所述Block地址的闪存模式,释放所述借用SLCCache。结合第一方面,在第一方面的第三种可能实现的方式中,所述判断所述SSD是否满足预置释放条件,包括:判断所述SSD的闪存的空闲存储空间是否小于预置最小剩余存储空间;和/或,判断所述SSD的IO压力是否小于预置压力值。结合第一方面,在第一方面的第四中可能的实现方式中,所述Block地址包括闪存空间中n个Block,n大于或等于1,且n为整数。第二方面,本申请还提供了一种SSD写性能的提高装置,所述装置包括用于执行第一方面各种实现方式中方法步骤的模块。第三方面,本申请还提供了一种SSD,包括:处理器、及存储器;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第一方面各种实现方式所述SSD写性能的提高方法。第四方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的SSD写性能的提高方法各实施例中的部分或全部步骤。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请提供的一种SSD写性能的提高方法流程图;图2为本申请提供的另一种SSD写性能的提高方法流程图;图3为本申请提供的一种SSD写性能的提高装置组成框图;图4为本申请提供的另一种SSD写性能的提高装置组成框图。具体实施方式参见图1,为本申请提供的一种SSD写性能的提高方法流程图。如图1所示,该方法包括:101、如果接收到写IO指令,则判断SLCCache是否存在空闲物理空间。SSD的内部构造十分简单,其主体是一块PCB板,在该PCB板上最基本的配件包括控制芯片、缓存芯片和闪存芯片。写IO指令,是指向SSD的闪存芯片写入数据的命令。是使用SSD时,SSD响应于用户在主机上的操作,启动写IO指令。如果SSD的主控芯片接收到写IO指令,在执行写IO指令之前,还需判断该指令能够执行,在执行时是否具有其他限定条件。SLCCache是指SSD的缓存。空闲物理空间是指所述SLCCache的剩余空闲空间大于或等于写入数据所需的存储空间。写入数据所需的存储空间,可以通过写IO指令获取,也可以在写IO指令之前单独发出为写入数据所需存储空间的指令,在本申请实施例中对写入数据所需的存储空间的获取方式不做限定。如果接收到写IO指令,则判断SLCCache是否存在空闲物理空间。也就是判断SLCCache还是否存在能够写出数据的的存储空间。102、如果不存在空闲物理空间,则获取SSD的闪存的Block地址。如果SLCCache中不存在空闲物理空间,则不能执行写IO指令。为了能够继续执行写IO指令,将SSD内部的闪存暂时作为SLCCache使用。获取SSD的闪存的Block地址,其中Block地址可以是闪存中的任意地址。对于获取的Block地址所对应的物理空间大小,也就是能够存储的数据量大小,可以根据本次写IO指令预计写入的内容大小确定,也可以选取一个大小为预置存储空间的内存块,还可以选取存储空间总和为预置存在空间的多个内存块,在本申请实施例中对Block地址的获取方式不做限定。因为Flash空间管理粒度最大就是Block,分配空间均是按Block为单位进行,所以1Block地址包括闪存空间中n个Block,n大于或等于1,且n为整数。103、更改Block地址的闪存模式为单层式存储SLC模式。与SSD中的闪存类型相对应,其闪存模式包括多层式存储MLC模式和三层式存储TLC模式。更改Block地址的闪存模式为SLC模式,也就是更改了Block地址的应用环境,Block地址为借用SLCCache,借用SLCCache与SLCCache的使用方式相同。104、根据SLC模式,在Block地址内执行写IO指令。在Block地址写入写IO指令指示的写入内容。采用本实现方式,在SLCCache不存在空闲物理空间时,可以将闪存中的Block地址作为SLCCache使用,能够提高写性能的持久度。参见图2,为本申请提供的另一种SSD写性能的提高方法流程图。在图1所示方法的基础上,如图2所示,在Block地址内执行写IO指令之后,方法还包括:201、判断SSD的属性是否满足预置释放条件。具体的,判断SSD的闪存的空闲存储空间是否小于预置最小剩余存储空间;和/或,判断SSD的IO压力是否小于预置压力值。其中本文档来自技高网...
一种SSD写性能的提高方法及装置

【技术保护点】
1.一种SSD写性能的提高方法,其特征在于,所述方法包括:如果接收到写IO指令,则判断SLC Cache是否存在空闲物理空间,所述空闲物理空间是指所述SLC Cache的剩余空闲空间大于或等于写入数据所需的存储空间;如果不存在所述空闲物理空间,则获取SSD的闪存的Block地址;更改所述Block地址的闪存模式为单层式存储SLC模式,所述Block地址为借用SLCCache;根据所述SLC模式,在所述Block地址内所述执行所述写IO指令。

【技术特征摘要】
1.一种SSD写性能的提高方法,其特征在于,所述方法包括:如果接收到写IO指令,则判断SLCCache是否存在空闲物理空间,所述空闲物理空间是指所述SLCCache的剩余空闲空间大于或等于写入数据所需的存储空间;如果不存在所述空闲物理空间,则获取SSD的闪存的Block地址;更改所述Block地址的闪存模式为单层式存储SLC模式,所述Block地址为借用SLCCache;根据所述SLC模式,在所述Block地址内所述执行所述写IO指令。2.如权利要求1所述的方法,其特征在于,所述闪存模式包括多层式存储MLC模式和三层式存储TLC模式。3.如权利要求1所述的方法,其特征在于,所述在所述Block地址内所述执行所述写IO指令之后,所述方法还包括:判断所述SSD的属性是否满足预置释放条件;如果判断结果为是,则根据预置垃圾回收机制GC,将所述Block地址内的数据搬移到所述空闲存储空间;还原所述Block地址的闪存模式,释放所述借用SLCCache。4.如权利要求3所述的方法,其特征在于,所述判断所述SSD的属性是否满足预置释放条件,包括:判断所述SSD的闪存的空闲存储空间是否小于预置最小剩余存储空间;和/或,判断所述SSD的IO压力是否小于预置压力值。5.如权利要求1-4任一项所述的方法,其特征在于,所述Block地址包括闪存空间中n个Block,n大于或等于1,且n为整数。6.一种SSD写性能的提高装置,其特征在...

【专利技术属性】
技术研发人员:邹茂红彭鹏姜黎
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南,43

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

1