一种提高固态硬盘中顺序读取流性能的方法及固态硬盘技术

技术编号:16429365 阅读:30 留言:0更新日期:2017-10-22 02:11
本发明专利技术一种提高固态硬盘中顺序读取流性能的方法及固态硬盘,其特征在于固态硬盘控制器接收到主机读数据指令后,先在硬盘缓存中查找是否存在所需读取的数据,如果有直接从硬盘缓存中将数据返回给主机;如果固态缓存中不存在则触发从存储介质读取数据的操作;同时将读数据指令访问的逻辑地址相邻特别是后续的数据预先读取到硬盘缓存中,实现数据预缓存。通过分析主机应用程序访问数据的特点,其存在大量的顺序读操作,将当前读指令顺序相邻的数据预缓存到固态缓存种,大概率减少后续指令数据读取响应时间,提升固态硬盘读取的性能,尤其是在顺序读取中。

Method for improving performance of sequential read stream in solid state disk and solid state disk

The invention relates to a method to improve the performance of sequential read the stream in the solid state disk and SSD, which is characterized in that the SSD controller receives the host read data command, if required to read the data in the hard disk cache to find, if there is a direct return to the host from the hard disk cache the data; if there is no solid state cache the trigger read data from a storage medium; at the same time will read the data access logic instruction address adjacent especially the subsequent data pre read to disk cache, data pre caching. Through the analysis of the host application to access the data, the existence of a large number of sequential read operation, data pre cache the current read instruction sequence adjacent to a solid cache, probably reduced the rate of subsequent instruction data read response time, improve the performance of solid state disk read, especially in order to read in.

【技术实现步骤摘要】
一种提高固态硬盘中顺序读取流性能的方法及固态硬盘
本专利技术涉及固态硬盘控制技术,特别涉及一种提高固态硬盘中顺序读取流性能的方法及固态硬盘。
技术介绍
固态硬盘的顺序读性能是固态硬盘的重要性能指标,对于器件固有响应时间很难进行改进,一般只能通过硬件设计更改进行优化,因此较为困难。固态硬盘内设有内部控制器,实现与主机HOST通讯,接受主机的控制指令,完成对固态硬盘存储介质的访问。一般情况下内部还设有DRAM缓存,用于缓存主机HOST下发的写入数据的缓存和用于缓存主机从固态硬盘存储介质中读取的用户数据。一般都是根据主机HOST要求的地址进行操作,属于串行操作。图1是常规数据读取的流程示意图,主机下发读命令后,SSD才能启动NandFlash到DRAM,DRAM到HOST的数据传输。其中数据从NandFlash到DRAM与数据从DRAM到HOST理论上是并行的,但是他们传输启动点是不一致的,因为数据从NandFlash到DRAM之后,才能启动DRAM到HOST的传输,所以DRAM到HOST的启动点会稍晚一点。为方便描述,假设NandFlash到DRAM数据传输速度等于DRAM到HOST的数据传输速度。假设主机下发多个顺序读命令1,2,3,4,5,6,7,……,每个命令的大小一样,顺读命令实际执行时从DRAM反馈给主机的数据都具有一定的延时,因此整体的顺序读取的性能不佳。
技术实现思路
针对以上缺陷,本专利技术目的如何提高固态硬盘读操作的速度,提速固态硬盘性能。为了解决以上问题本专利技术提出了一种提高固态硬盘中顺序读取流性能的方法,其特征在于固态硬盘控制器接收到主机读数据指令后,先在硬盘缓存中查找是否存在所需读取的数据,如果有直接从硬盘缓存中将数据返回给主机;如果固态缓存中不存在则触发从固态硬盘读取数据的操作;同时将读数据指令访问的逻辑地址相邻特别是后续的数据预先读取到硬盘缓存中,实现数据预缓存。所述的提高固态硬盘中顺序读取流性能的方法,其特征在于所述固态硬盘的缓存中至少设置有一个缓存数据信息列表,固态硬盘接收到主机读数据指令后通过检索缓存数据信息列表快速判断硬盘缓存中是否存在所需读取的数据;所有从固态硬盘中读取到硬盘缓存的操作都包括将读缓存数据信息更新到缓存数据信息列表中。所述的提高固态硬盘中顺序读取流性能的方法,其特征在于将硬盘缓存的数据返回给主机后,立即将该数据所对应的硬盘缓存空间进行回收,并更新缓存数据信息列表。所述的提高固态硬盘中顺序读取流性能的方法,其特征在于所述缓存数据信息列表中包括各个缓存数据的存入时间。所述的提高固态硬盘中顺序读取流性能的方法,其特征在于所述固态硬盘控制器上还包括缓存回收程序,所述缓存回收程序根据缓存数据的存入时间,将缓存时间超过预先设定的时间的硬盘缓存空间进行回收。一种固态硬盘,其特征在于采用了权利要求1至5任意一项所述的提高固态硬盘中顺序读取流性能的方法提高固态硬盘的顺序读性能。本专利技术通过分析主机应用程序访问数据的特点,其存在大量的顺序读操作,将当前读指令顺序相邻的数据预缓存到固态缓存中,大概率减少后续指令数据读取响应时间,提升固态硬盘读取的性能,尤其是在顺序读取中。附图说明图1是常规数据读取的流程示意图;图2是改进后数据读取的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。经过分析大比例的APP应用也就是主机对固态硬盘的数据访问,大多存在顺序逻辑地址LBA数据的数据读取,因此如果可以提升顺序数据读取的速度,将可以对固态硬盘的读性能有较大提升。因此提出了一种提高固态硬盘中顺序读取流性能的方法,在于所述固态硬盘的缓存中至少设置有一个缓存数据信息列表,固态硬盘接收到主机读数据指令后通过检索缓存数据信息列表快速判断硬盘缓存中是否存在所需读取的数据;如果有直接从硬盘缓存中将数据返回给主机;如果固态缓存中不存在则触发从存储介质读取数据的操作;同时将读数据指令访问的逻辑地址相邻的逻辑地址上的多块数据预先读取到固态硬盘的硬盘缓存中,实现数据预缓存。所有从固态硬盘中读取到硬盘缓存的操作都包括将读缓存数据信息更新到缓存数据信息列表中。将硬盘缓存的数据返回给主机后,立即将该数据所对应的硬盘缓存空间进行回收,并更新缓存数据信息列表。为了进一步优化固态硬盘缓存,如果预缓存的数据在一段时间内都无访问,则其近期被访问的概率将降低,因此缓存数据信息列表中还包括了各个缓存数据的存入时间。缓存回收程序根据缓存数据的存入时间,将缓存时间超过预先设定的时间的硬盘缓存空间进行回收。图2是改进后数据读取的流程示意图;固态硬盘SSD预先把后面的数据从NandFlash上读到DRAM,待后续的顺序读命令下发到SSD后,直接进行DRAM到HOST的数据传输。依然假设主机下发多个顺序读命令1,2,3,4,5,6,7,8,9……,每个命令的大小一样。SSD在接收到命令2时发现它和之前的命令1的LBA区间是顺序的,那么猜测之后的命令也是顺序的,则SSD后台启动NandFlash到DRAM的数据传输,把后续的数据预先读到DRAM中,待后续的顺序读命令下发到SSD后,发现数据已在DRAM中准备好了,则直接从DRAM中拿数据,大大提升了顺序读性能。这些命令的执行情况见图2。从图中可以看出这些命令的总体执行时间具有较大的缩短。以上所揭露的仅为本专利技术一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分程,并依本专利技术权利要求所作的等同变化,仍属于本专利技术所涵盖的范围。本文档来自技高网...
一种提高固态硬盘中顺序读取流性能的方法及固态硬盘

【技术保护点】
一种提高固态硬盘中顺序读取流性能的方法,其特征在于固态硬盘控制器接收到主机读数据指令后,先在硬盘缓存中查找是否存在所需读取的数据,如果有直接从硬盘缓存中将数据返回给主机;如果固态缓存中不存在则触发从存储介质读取数据的操作;同时将读数据指令访问的逻辑地址相邻特别是后续的数据预先读取到硬盘缓存中,实现数据预缓存。

【技术特征摘要】
1.一种提高固态硬盘中顺序读取流性能的方法,其特征在于固态硬盘控制器接收到主机读数据指令后,先在硬盘缓存中查找是否存在所需读取的数据,如果有直接从硬盘缓存中将数据返回给主机;如果固态缓存中不存在则触发从存储介质读取数据的操作;同时将读数据指令访问的逻辑地址相邻特别是后续的数据预先读取到硬盘缓存中,实现数据预缓存。2.根据权利要求1所述的提高固态硬盘中顺序读取流性能的方法,其特征在于所述固态硬盘的缓存中至少设置有一个缓存数据信息列表,固态硬盘接收到主机读数据指令后通过检索缓存数据信息列表快速判断硬盘缓存中是否存在所需读取的数据;所有从固态硬盘中读取到硬盘缓存的操作都包括将读缓存数据信息更新到缓存数据信息列表...

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

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

1