一种提升固态硬盘写性能的方法技术

技术编号:13732645 阅读:46 留言:0更新日期:2016-09-21 14:24
本发明专利技术公开了一种提升固态硬盘写性能的方法,按照如下步骤实现主机端写数据指令,通过接收主机端写数据指令;将主机端写数据的待写入数据按照page大小拆分成多个page数据块,将分组后的多个page数据块数据按各个组写入对应的临时block中lower page区域中,再通过执行内部数据搬移操作,将该数据按照最终数据block中page的自然顺序写入;最后擦除临时block,完成最终数据写入和临时block回收。通过利用lower page的写性能优于upper page,将host的写指令的数据全部快速写入block的lower page区域,有效的提升了host的写指令的响应速度。

【技术实现步骤摘要】

本专利技术涉及信息存储领域,尤其涉及一种提升固态硬盘写性能的方法
技术介绍
对于MLC NAND flash,每个存储单元可以存储2bit数据,这2bit数据分别分布在两个page中,所以一组存储单元对应两个page,这样的两个page被称之为shared page,分别为lower page和upper page。其中由于物理特性lower page的写性能优于upper page。现有对于MLC NAND flash的写操作,一般按block(数据块)内部page的序列号依次操作,即依次写page_0,page_1,page_2……,不区分lower page、upper page。因此host写指令请求端看来,基于此的固态硬盘写性能同时受到lower page和upper page的限制,因此受到后端NAND flash program操作耗时的限制,写性能不佳。
技术实现思路
针对以上缺陷,本专利技术目的在于提出如何提高固态硬盘写性能,特别是从host端角度,可快速完成host的数据写入指令。为了实现上述目的,本专利技术提供了一种提升固态硬盘写性能的方法,其特征在于按照如下步骤实现主机端写数据指令:步骤1:接收主机端写数据指令;步骤2:将主机端写数据的待写入数据按照page大小拆分成多个page数据块,并根据不同的block进行分组;步骤3:将分组后的多个page数据块数据按各个组写入对应的临时block中,写入过程跳过临时block的upper page区域,只写lower page区域,完成主机端写数据指令;步骤4:执行空间回收操作,具体为在所有已写入有效数据的block中选择2个或多个存储有效数据最少的block作为待回收block进行空间回收操作,读取选定的2个或多个存储有效数据最少的block中的有效数据,将该有效数据不区分是否为upper page和lower page,按新block的page的自然顺序写入;步骤5:擦除作为待回收block,完成空间回收操作。所述的提升固态硬盘写性能的方法,其特征在于包括数据空间评估操作,在执行步骤4之前先执行数据空间评估操作,当当前空闲空间大于30%-50%则不执行步骤4和步骤5。所述的提升固态硬盘写性能的方法,其特征在于包括定时监控操作,在执行步骤4之前先执行定时监控操作,判断定时进行执行空间回收操作定时器是否到,定时到则执行步骤4和步骤5;否则则不执行步骤4和步骤5。本专利技术通过利用lower page的写性能优于upper page,将host的写指令的数据全部快速写入block的lower page区域,数据写入lower page区域,后即可结束host的写指令;后台再增加内部数据搬移操作,实现将写入lower page区域搬移到合适的block中的lower page和upper page区域中,有效的提升了host的写指令的响应速度。附图说明图1是host数据写入临时block的lower page示意图;图2是空间回收操作流程示意图;图3是空间回收操作写操作数据流示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。SSD内部数据存储容量一般都大于用户可见容量,以128GB SSD为例,用户可见容量约为119GB。所以,在用户对SSD进行数据写入时,尤其是用户未完全使用SSD所有容量的时候,SSD可以提供多于用户写入数据量的存储空间来存储这些数据。图1是host数据写入临时block的lower page示意图,当硬盘控制器接收到主机端写数据指令Host data,该指令实际涉及到4个block数据的写入操作;本指令涉及4个block并行操作,只是一个示例,不同指令、不同的调度算法和硬盘控制器所能够支持的最大并发数可能支持的同时并发处理的block数也不同,将主机端写数据的待写入数据按照page大小拆分成多个page数据块,并根据不同的block进行分组;分别写入Block a、Block b、Block c和Block d,Block a、Block b、Block c和Block d内部都由交叉排布的lower page和upper page构成,将分组后的多个page数据块数据按各个组分别写入Block a、Block b、Block c和Block d的lower page区域,所有数据写完后,完成本次主机端写数据指令;从host端看来本次数据写入指令操作已经完成。整个操作的写操作只受lower page的写性能限制,与upper page部分的写性能无关,充分的利用了lower page的优越写性能优势,提高对host的写入响应速度。如果仅仅将数据全部写入lower page,将极大的造成储存空间的浪费,因此还需要在存储器内部增加内部数据搬移操作,图2是空间回收操作流程示意图,也叫垃圾回收操作。如在前面响应host写数据操作指令已经完成在Block a和Block b的lower page写入数据,完成主机端写数据指令。在所有已写入有效数据的block中选择2个存储有效数据最少的block作为待回收block进行空间回收操作示例,假设正好选择了Block a和Block b,读取Block a和Block b中的有效数据,将该有效数据不区分是否为upper page和lower page,按新block的page的自然顺序分别写入Block m和Block n中。对于Block n、Block m的写操作为并向操作,不同硬盘控制器可能支持的并行数不同,根据支持的数量可以同时进行多Block的回收操作。由于Block a和Block b中的有效数据已经转存到其他区域,因此可对这两个block进行回收,通过擦除操作,实现Block a和Block b的块回收。图3是空间回收操作写操作数据流示意图,根据含有有效数据数据长度信息,根据硬盘控制器可能支持的并行数,选取空间回收block,并提前对数据进行拼接,如将多个空间回收block的有效数据进行合并,作为空间回收操作写操作数据流GC data,将该数据按照分组并行写入对应的block中,本示意图,假设硬盘控制器支持最大并发数为4,分别实际写入到Block a’、Block b’、Block c’和Block d’中,该操作与host数据写入是最大的区别就是,不区分lower page还是upper page,同等对待。同时对已实现数据回收的空间回收block进行擦除操作,完成对本次选定的空间回收block的空间回收操作。以上所揭露的仅为本专利技术一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本专利技术权利要求所作的等同变化,仍属于本专利技术所涵盖的范围。本文档来自技高网...

【技术保护点】
一种提升固态硬盘写性能的方法,其特征在于按照如下步骤实现主机端写数据指令:步骤1:接收主机端写数据指令;步骤2:将主机端写数据的待写入数据按照page大小拆分成多个page数据块,并根据不同的block进行分组;步骤3:将分组后的多个page数据块数据按各个组写入对应的临时block中,写入过程跳过临时block的upper page区域,只写lower page区域,完成主机端写数据指令;步骤4:执行空间回收操作,具体为在所有已写入有效数据的block中选择2个或多个存储有效数据最少的block作为待回收block进行空间回收操作,读取选定的2个或多个存储有效数据最少的block中的有效数据,将该有效数据不区分是否为upper page和lower page,按新block的page的自然顺序写入;步骤5:擦除作为待回收block,完成空间回收操作。

【技术特征摘要】
1.一种提升固态硬盘写性能的方法,其特征在于按照如下步骤实现主机端写数据指令:步骤1:接收主机端写数据指令;步骤2:将主机端写数据的待写入数据按照page大小拆分成多个page数据块,并根据不同的block进行分组;步骤3:将分组后的多个page数据块数据按各个组写入对应的临时block中,写入过程跳过临时block的upper page区域,只写lower page区域,完成主机端写数据指令;步骤4:执行空间回收操作,具体为在所有已写入有效数据的block中选择2个或多个存储有效数据最少的block作为待回收block进行空间回收操作,读取选定的2个或多个存储有效数据最...

【专利技术属性】
技术研发人员:华荣李建
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:广东;44

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

1