一种提升固态硬盘读性能的方法及其系统技术方案

技术编号:20566385 阅读:27 留言:0更新日期:2019-03-14 09:16
本发明专利技术涉及一种提升固态硬盘读性能的方法及其系统;其中,提升固态硬盘读性能的方法,包括以下步骤:S1,SSD前端区域将命令进行分割,并提交到命令类型识别区域;S2,判断识别分割后的命令是文件数据还是系统数据;S3,进入存放文件数据的顺序读写缓冲区;S4,进入存放系统数据的随机读写缓冲区;S5,建立前端区域与主机的数据传输;S6,对操作请求分配相对应的物理地址,并更新对应的映射表项;S7,控制操作请求依次返回上层区域,完成命令写请求。本发明专利技术通过判断识别分割后的命令类型,写入数据放置到不同的写缓冲区中,将不同类型的数据做并发度隔离,而在不同的并发区域之间,并发性没有损失,有效提升写入的文件后续读取性能。

A Method and System for Improving the Reading Performance of Solid State Hard Disk

The invention relates to a method and system for improving the read performance of solid state hard disk, in which the method for improving the read performance of solid state hard disk includes the following steps: S1, SSD front-end area divides commands and submits them to the command type recognition area; S2, determines whether the separated commands are file data or system data; S3, enters the sequential read-write buffer for storing file data. S4, enter the random read-write buffer for storing system data; S5, establish the data transmission between the front-end area and the host; S6, assign the corresponding physical address to the operation request and update the corresponding mapping table items; S7, control the operation request to return to the upper area in turn to complete the command write request. By judging the type of command after recognition and segmentation, the writing data is placed in different write buffers, and the concurrency degree of different types of data is isolated, while there is no loss of concurrency among different concurrent regions, thus effectively improving the subsequent reading performance of the written files.

【技术实现步骤摘要】
一种提升固态硬盘读性能的方法及其系统
本专利技术涉及固态硬盘读性能
,更具体地说是指一种提升固态硬盘读性能的方法及其系统。
技术介绍
SSD(固态硬盘)已经被广泛应用于各种场合,由于其在性能、功耗、环境适应性等方面的优秀指标,正逐步替换传统的硬盘。由于SSD的内部组成是由多个并发的NAND颗粒组成,其可以提供较好的读写性能;当SSD作为系统主盘时,OS写入的系统数据以及文件数据会被混合写入到相邻的位置,后续当主机读取文件内容时,由于在并发的条带内混杂了不同类型数据,所以性能有所损失,而且会表现为一定的波动,无法满足需求。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种提升固态硬盘读性能的方法及其系统。为实现上述目的,本专利技术采用于下技术方案:一种提升固态硬盘读性能的方法,包括以下步骤:S1,主机提交写命令到SSD,SSD前端区域将命令进行分割,并提交到命令类型识别区域;S2,判断识别分割后的命令是文件数据还是系统数据;若是文件数据,则进入S3;若是系统数据,则进入S4;S3,进入存放文件数据的顺序读写缓冲区,且当文件数据写满顺序读写缓冲区时,发起数据写入到NAND的请求;S4,进入存放系统数据的随机读写缓冲区,且当文件数据写满随机读写缓冲区时,发起数据写入到NAND的请求;S5,根据所分配的缓冲区空间,建立前端区域与主机之间的数据传输,当完成数据传输后,提交操作请求到映射表管理区域;S6,对操作请求分配相对应的物理地址,并更新对应的映射表项,后端区域根据物理地址发起对NAND的写请求;S7,等待NAND操作请求完成,控制操作请求依次返回上层区域,前端区域接收到完成的控制操作请求后,完成命令写请求。其进一步技术方案为:所述S2中,采用根据命令的访问地址是否连续或根据命令的大小来判断识别映射数据是文件数据还是系统数据。其进一步技术方案为:所述S5包括:S51,根据所分配的缓冲区空间,建立前端区域与主机之间的数据传输;S52,当完成数据传输后,提交操作请求到映射表管理区域。其进一步技术方案为:所述S6包括:S61,映射表管理区域对操作请求分配相对应的物理地址,并更新对应的映射表项;S62,提交操作请求到后端区域,后端区域根据物理地址发起对NAND的写请求。其进一步技术方案为:所述S7包括:S71,等待NAND操作请求完成,控制操作请求依次返回上层区域;S72,前端区域接收到完成的控制操作请求后,完成命令写请求。一种提升固态硬盘读性能的系统,包括提交分割单元,判断识别单元,存放单元,建立提交单元,分配发起单元,及返回完成单元;所述提交分割单元,用于主机提交写命令到SSD,SSD前端区域将命令进行分割,并提交到命令类型识别区域;所述判断识别单元,用于判断识别分割后的命令是文件数据还是系统数据;所述存放单元,用于存放数据,且当数据写满缓冲区时,发起数据写入到NAND的请求;所述建立提交单元,用于根据所分配的缓冲区空间,建立前端区域与主机之间的数据传输,当完成数据传输后,提交操作请求到映射表管理区域;所述分配发起单元,用于对操作请求分配相对应的物理地址,并更新对应的映射表项,后端区域根据物理地址发起对NAND的写请求;所述返回完成单元,用于等待NAND操作请求完成,控制操作请求依次返回上层区域,前端区域接收到完成的控制操作请求后,完成命令写请求。其进一步技术方案为:所述存放单元包括第一存放模块和第二存放模块;所述第一存放模块,用于进入存放文件数据的顺序读写缓冲区,且当文件数据写满顺序读写缓冲区时,发起数据写入到NAND的请求;所述第二存放模块,用于进入存放系统数据的随机读写缓冲区,且当文件数据写满随机读写缓冲区时,发起数据写入到NAND的请求。其进一步技术方案为:所述建立提交单元包括建立模块和提交模块;所述建立模块,用于根据所分配的缓冲区空间,建立前端区域与主机之间的数据传输;所述提交模块,用于当完成数据传输后,提交操作请求到映射表管理区域。其进一步技术方案为:所述分配发起单元包括分配模块和发起模块;所述分配模块,用于对操作请求分配相对应的物理地址,并更新对应的映射表项;所述发起模块,用于后端区域根据物理地址发起对NAND的写请求。其进一步技术方案为:所述返回完成单元包括返回模块和完成模块;所述返回模块,用于等待NAND操作请求完成,控制操作请求依次返回上层区域;所述完成模块,用于前端区域接收到完成的控制操作请求后,完成命令写请求。本专利技术与现有技术相比的有益效果是:通过判断识别分割后的命令类型,写入数据放置到不同的写缓冲区中,当拼凑满一个完整的写缓冲区后,再写入到NAND上,将不同类型的数据做有效的并发度隔离,而在不同的并发区域之间,并发性没有损失,可以有效提升OS环境下写入的文件后续读取性能,更好地满足了需求。下面结合附图和具体实施例对本专利技术作进一步描述。附图说明图1为SSD内部NAND物理组成的示意图;图2为传统SSD写入模型的流程示意图;图3为传统SSD写入模型下的数据物理分布示意图;图4为传统SSD写入的后续读取时的性能曲线图;图5为本专利技术一种提升固态硬盘读性能的方法的流程图;图6为本专利技术SSD写入模型的流程示意图;图7为本专利技术SSD写入数据在物理单元上的分布示意图;图8为本专利技术一种提升固态硬盘读性能的系统方框图。10提交分割单元20判断识别单元30存放单元31第一存放模块32第二存放模块40建立提交单元41建立模块42提交模块50分配发起单元51分配模块52发起模块60返回完成单元61返回模块62完成模块具体实施方式为了更充分理解本专利技术的
技术实现思路
,下面结合具体实施例对本专利技术的技术方案进一步介绍和说明,但不局限于此。如图1到图8所示的具体实施例,其中,如图1所示,为SSD内部NAND物理组成:其中,DIE为可独立并发操作的单元;Block为可独立擦除的单元,也称为物理块,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page为读写单元。进一步地,SSD内部由多个DIE组成,在任意时刻,每个DIE上提供一个物理块作为数据写入,从而能够提供并发写入性能,进而也为以后的读出提供并发功能;这些物理块的每个相同Page组成了一个并发单元,其可以同时读出或写入。其中,图2为传统SSD写入模型的流程示意图:1、主机提交写命令到SSD;2、SSD前端模块将命令分割成映射单元(典型如4KB),提交到读写缓冲区模块;3、读写缓冲区管理模块从Memory中(典型如DRAM)分配空间,注意到此时只存在一份活动的写缓冲区,故对于时间邻近的命令,数据会混合在一起,如图中所示的128KB命令和其他命令数据混合在一个写缓冲区中;4、根据所分配的缓冲区空间,建立前端与主机的数据传输;5、完成数据传输后,提交操作请求到映射表管理模块;6、映射表管理模块负责为对应请求分配物理地址,并更新对应的映射表项;7、提交操作请求到后端模块,后端模块根据物理地址发起对NAND写请求;8、等待NAND操作请求完成,控制操作请求依次返回上层模块;9、前端模块接收到完成的控制操作请求后,完成命令写请求。其中,如图3至图4所示,传统SSD写入模型下的数据物理分布以及后续读取时候的性能曲线;传统SSD内部读写缓冲区的分配本文档来自技高网
...

【技术保护点】
1.一种提升固态硬盘读性能的方法,其特征在于,包括以下步骤:S1,主机提交写命令到SSD,SSD前端区域将命令进行分割,并提交到命令类型识别区域;S2,判断识别分割后的命令是文件数据还是系统数据;若是文件数据,则进入S3;若是系统数据,则进入S4;S3,进入存放文件数据的顺序读写缓冲区,且当文件数据写满顺序读写缓冲区时,发起数据写入到NAND的请求;S4,进入存放系统数据的随机读写缓冲区,且当文件数据写满随机读写缓冲区时,发起数据写入到NAND的请求;S5,根据所分配的缓冲区空间,建立前端区域与主机之间的数据传输,当完成数据传输后,提交操作请求到映射表管理区域;S6,对操作请求分配相对应的物理地址,并更新对应的映射表项,后端区域根据物理地址发起对NAND的写请求;S7,等待NAND操作请求完成,控制操作请求依次返回上层区域,前端区域接收到完成的控制操作请求后,完成命令写请求。

【技术特征摘要】
1.一种提升固态硬盘读性能的方法,其特征在于,包括以下步骤:S1,主机提交写命令到SSD,SSD前端区域将命令进行分割,并提交到命令类型识别区域;S2,判断识别分割后的命令是文件数据还是系统数据;若是文件数据,则进入S3;若是系统数据,则进入S4;S3,进入存放文件数据的顺序读写缓冲区,且当文件数据写满顺序读写缓冲区时,发起数据写入到NAND的请求;S4,进入存放系统数据的随机读写缓冲区,且当文件数据写满随机读写缓冲区时,发起数据写入到NAND的请求;S5,根据所分配的缓冲区空间,建立前端区域与主机之间的数据传输,当完成数据传输后,提交操作请求到映射表管理区域;S6,对操作请求分配相对应的物理地址,并更新对应的映射表项,后端区域根据物理地址发起对NAND的写请求;S7,等待NAND操作请求完成,控制操作请求依次返回上层区域,前端区域接收到完成的控制操作请求后,完成命令写请求。2.根据权利要求1所述的一种提升固态硬盘读性能的方法,其特征在于,所述S2中,采用根据命令的访问地址是否连续或根据命令的大小来判断识别映射数据是文件数据还是系统数据。3.根据权利要求1所述的一种提升固态硬盘读性能的方法,其特征在于,所述S5包括:S51,根据所分配的缓冲区空间,建立前端区域与主机之间的数据传输;S52,当完成数据传输后,提交操作请求到映射表管理区域。4.根据权利要求1所述的一种提升固态硬盘读性能的方法,其特征在于,所述S6包括:S61,映射表管理区域对操作请求分配相对应的物理地址,并更新对应的映射表项;S62,提交操作请求到后端区域,后端区域根据物理地址发起对NAND的写请求。5.根据权利要求1所述的一种提升固态硬盘读性能的方法,其特征在于,所述S7包括:S71,等待NAND操作请求完成,控制操作请求依次返回上层区域;S72,前端区域接收到完成的控制操作请求后,完成命令写请求。6.一种提升固态硬盘读性能的系统,其特征在于,包括提交分割单元,判断识别单元,存放单元,建立提交单元,分配发起单元,及返回完成单...

【专利技术属性】
技术研发人员:王猛徐伟华
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东,44

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

1