一种固态硬盘读方法和装置

文档序号:923451 发布日期:2021-03-02 浏览:5次 >En<

阅读说明:本技术 一种固态硬盘读方法和装置 (Solid state disk reading method and device ) 是由 邵文豪 苏军 于 2020-11-12 设计创作,主要内容包括:本发明公开了一种固态硬盘读方法和装置,方法包括:获取两个连续的读请求,并由固态硬盘的闪存转换层确定两个读请求分别请求读取的数据块位于固态硬盘的同一逻辑层还是不同逻辑层上;响应于两个读请求分别请求读取位于不同逻辑层上的数据块而将两个读请求合并为复合读请求;由与非门闪存处理器基于复合读请求而将固态硬盘的两个对应数据块中的数据并行加载到不同逻辑层的页面寄存器;将两个逻辑层的页面寄存器中的数据串行传输到内存储器以完成固态硬盘读操作。本发明能够提高固态硬盘的读响应速度和读操作的性能。(The invention discloses a solid state disk reading method and a solid state disk reading device, wherein the method comprises the following steps: acquiring two continuous read requests, and determining whether the data blocks respectively requested to be read by the two read requests are located on the same logic layer or different logic layers of the solid state disk by a flash conversion layer of the solid state disk; merging two read requests into a composite read request in response to the two read requests respectively requesting to read data blocks located on different logical layers; loading data in two corresponding data blocks of the solid state disk to page registers of different logic layers in parallel by the NAND gate flash memory processor based on the composite read request; and serially transmitting the data in the page registers of the two logic layers to an internal memory to complete the solid state disk reading operation. The invention can improve the read response speed and the read operation performance of the solid state disk.)

一种固态硬盘读方法和装置

技术领域

本发明涉及数据存储领域,更具体地,特别是指一种固态硬盘读方法和装置。

背景技术

在大数据时代,海量数据的存储位于越来重要的地位,在CPU等计算部件速率越来越高的同时,数据的存储与读取速率一直为系统瓶颈。目前随着NAND flash(闪存介质)价格逐渐下降,固态硬盘的使用数量也逐年上升。

不同于传统硬盘,固态硬盘的存储单元为NAND,NAND的读取分为两个步骤:1.从NAND的物理单元(数据块)读取到NAND内部的page register(页面寄存器);2.从pageregister传输到DDR。整个流程需要花费时间约70us,其中从物理cell读取到pageregister需要约50us,从NAND page register DMA到DDR需要约10us。可见从cell到pageregister的时间花费为较大的开销,导致读响应速度慢。

针对现有技术中固态硬盘读响应速度慢的问题,目前尚无有效的解决方案。

发明内容

有鉴于此,本发明实施例的目的在于提出一种固态硬盘读方法和装置,能够提高固态硬盘的读响应速度和读操作的性能。

基于上述目的,本发明实施例的第一方面提供了一种固态硬盘读方法,包括执行以下步骤:

获取两个连续的读请求,并由固态硬盘的闪存转换层确定两个读请求分别请求读取的数据块位于固态硬盘的同一逻辑层还是不同逻辑层上;

响应于两个读请求分别请求读取位于不同逻辑层上的数据块而将两个读请求合并为复合读请求;

由与非门闪存处理器基于复合读请求而将固态硬盘的两个对应数据块中的数据并行加载到不同逻辑层的页面寄存器;

将两个逻辑层的页面寄存器中的数据串行传输到内存储器以完成固态硬盘读操作。

在一些实施方式中,方法还包括:响应于两个读请求分别请求读取位于相同逻辑层上的数据块,而将两个读请求发送到与非门闪存处理器以分别执行两个读请求。

在一些实施方式中,方法还包括:响应于两个读请求分别请求读取位于相同逻辑层上的数据块,而将两个读请求中的一个发送到与非门闪存处理器以执行读请求。

在一些实施方式中,方法还包括:在将两个读请求中的一个发送到与非门闪存处理器以执行读请求之后,还获取下一个新的读请求,以迭代地确定两个读请求中的另一个和下一个新的读请求分别请求读取的数据块位于固态硬盘的同一逻辑层还是不同逻辑层上。

在一些实施方式中,固态硬盘中的每个数据块基于其标识而被分配到不同的逻辑层。

在一些实施方式中,将数据块中的数据加载到页面寄存器占用页面寄存器的第一时长;将页面寄存器中的数据传输到内存储器占用内存储器的第二时长,其中第二时长小于第一时长。

在一些实施方式中,将两个逻辑层的页面寄存器中的数据串行传输到内存储器包括:基于直接存储器访问而将两个逻辑层的页面寄存器中的数据按照完成到页面寄存器的加载的先后顺序来依次传输到内存储器。

本发明实施例的第二方面提供了一种固态硬盘读装置,包括:

处理器;和

存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:

获取两个连续的读请求,并由固态硬盘的闪存转换层确定两个读请求分别请求读取的数据块位于固态硬盘的同一逻辑层还是不同逻辑层上;

响应于两个读请求分别请求读取位于不同逻辑层上的数据块而将两个读请求合并为复合读请求;

由与非门闪存处理器基于复合读请求而将固态硬盘的两个对应数据块中的数据并行加载到不同逻辑层的页面寄存器;

将两个逻辑层的页面寄存器中的数据串行传输到内存储器以完成固态硬盘读操作。

在一些实施方式中,步骤还包括:响应于两个读请求分别请求读取位于相同逻辑层上的数据块,而将两个读请求发送到与非门闪存处理器以分别执行两个读请求,或将两个读请求中的一个发送到与非门闪存处理器以执行读请求。

在一些实施方式中,将数据块中的数据加载到页面寄存器占用页面寄存器的第一时长;将页面寄存器中的数据传输到内存储器占用内存储器的第二时长,其中第二时长小于第一时长。

本发明具有以下有益技术效果:本发明实施例提供的固态硬盘读方法和装置,通过获取两个连续的读请求,并由固态硬盘的闪存转换层确定两个读请求分别请求读取的数据块位于固态硬盘的同一逻辑层还是不同逻辑层上;响应于两个读请求分别请求读取位于不同逻辑层上的数据块而将两个读请求合并为复合读请求;由与非门闪存处理器基于复合读请求而将固态硬盘的两个对应数据块中的数据并行加载到不同逻辑层的页面寄存器;将两个逻辑层的页面寄存器中的数据串行传输到内存储器以完成固态硬盘读操作的技术方案,能够提高固态硬盘的读响应速度和读操作的性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的固态硬盘读方法的流程示意图;

图2为本发明提供的固态硬盘读方法的读流程-时间图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

基于上述目的,本发明实施例的第一个方面,提出了一种提高读响应速度和读操作性能的固态硬盘读方法的一个实施例。图1示出的是本发明提供的固态硬盘读方法的流程示意图。

所述的固态硬盘读方法,如图1所示,包括执行以下步骤:

步骤S101,获取两个连续的读请求,并由固态硬盘的闪存转换层确定两个读请求分别请求读取的数据块位于固态硬盘的同一逻辑层还是不同逻辑层上;

步骤S103,响应于两个读请求分别请求读取位于不同逻辑层上的数据块而将两个读请求合并为复合读请求;

步骤S105,由与非门闪存处理器基于复合读请求而将固态硬盘的两个对应数据块中的数据并行加载到不同逻辑层的页面寄存器;

步骤S107,将两个逻辑层的页面寄存器中的数据串行传输到内存储器以完成固态硬盘读操作。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

在一些实施方式中,方法还包括:响应于两个读请求分别请求读取位于相同逻辑层上的数据块,而将两个读请求发送到与非门闪存处理器以分别执行两个读请求。

在一些实施方式中,方法还包括:响应于两个读请求分别请求读取位于相同逻辑层上的数据块,而将两个读请求中的一个发送到与非门闪存处理器以执行读请求。

在一些实施方式中,方法还包括:在将两个读请求中的一个发送到与非门闪存处理器以执行读请求之后,还获取下一个新的读请求,以迭代地确定两个读请求中的另一个和下一个新的读请求分别请求读取的数据块位于固态硬盘的同一逻辑层还是不同逻辑层上。

在一些实施方式中,固态硬盘中的每个数据块基于其标识而被分配到不同的逻辑层。

在一些实施方式中,将数据块中的数据加载到页面寄存器占用页面寄存器的第一时长;将页面寄存器中的数据传输到内存储器占用内存储器的第二时长,其中第二时长小于第一时长。

在一些实施方式中,将两个逻辑层的页面寄存器中的数据串行传输到内存储器包括:基于直接存储器访问而将两个逻辑层的页面寄存器中的数据按照完成到页面寄存器的加载的先后顺序来依次传输到内存储器。

下面根据具体实施例进一步阐述本发明的具体实施方式。

本发明将处于不同plane(逻辑层)的两个读操作,由FTL(闪存转换层)确定为处于不同plane的两个读操作,并将两个读操作组合成一个读请求发送到后端NAND处理模块,由NAND处理模块将处于两个不同plane的读操作采用组合的方式,占用一个从数据块到pageregister(页面寄存器)的时间将其读出,之后再串行完成DMA(直接存储器访问)操作。这可以提高NAND处理模块的效率,减少读操作占用时间,最终提高读性能。

如图2所示,首先FTL将连续的两个读请求判断是否位于不同的plane;如果是,将两个读请求合并成一个请求,发送到NAND处理模块。NAND处理模块判断为两个plane读时,按plane-0/plane-1的顺序发送读命令到NAND。从概率上计算,连续的两个读操作位于不同的plane的概率为50%,在此基础上FCC处理时间可减少约40%.整体性能提升20%。

从上述实施例可以看出,本发明实施例提供的固态硬盘读方法,通过获取两个连续的读请求,并由固态硬盘的闪存转换层确定两个读请求分别请求读取的数据块位于固态硬盘的同一逻辑层还是不同逻辑层上;响应于两个读请求分别请求读取位于不同逻辑层上的数据块而将两个读请求合并为复合读请求;由与非门闪存处理器基于复合读请求而将固态硬盘的两个对应数据块中的数据并行加载到不同逻辑层的页面寄存器;将两个逻辑层的页面寄存器中的数据串行传输到内存储器以完成固态硬盘读操作的技术方案,能够提高固态硬盘的读响应速度和读操作的性能。

需要特别指出的是,上述固态硬盘读方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于固态硬盘读方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。

基于上述目的,本发明实施例的第二个方面,提出了一种提高读响应速度和读操作性能的固态硬盘读装置的一个实施例。固态硬盘读装置包括:

处理器;和

存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:

获取两个连续的读请求,并由固态硬盘的闪存转换层确定两个读请求分别请求读取的数据块位于固态硬盘的同一逻辑层还是不同逻辑层上;

响应于两个读请求分别请求读取位于不同逻辑层上的数据块而将两个读请求合并为复合读请求;

由与非门闪存处理器基于复合读请求而将固态硬盘的两个对应数据块中的数据并行加载到不同逻辑层的页面寄存器;

将两个逻辑层的页面寄存器中的数据串行传输到内存储器以完成固态硬盘读操作。

在一些实施方式中,步骤还包括:响应于两个读请求分别请求读取位于相同逻辑层上的数据块,而将两个读请求发送到与非门闪存处理器以分别执行两个读请求,或将两个读请求中的一个发送到与非门闪存处理器以执行读请求。

在一些实施方式中,将数据块中的数据加载到页面寄存器占用页面寄存器的第一时长;将页面寄存器中的数据传输到内存储器占用内存储器的第二时长,其中第二时长小于第一时长。

从上述实施例可以看出,本发明实施例提供的固态硬盘读装置,通过获取两个连续的读请求,并由固态硬盘的闪存转换层确定两个读请求分别请求读取的数据块位于固态硬盘的同一逻辑层还是不同逻辑层上;响应于两个读请求分别请求读取位于不同逻辑层上的数据块而将两个读请求合并为复合读请求;由与非门闪存处理器基于复合读请求而将固态硬盘的两个对应数据块中的数据并行加载到不同逻辑层的页面寄存器;将两个逻辑层的页面寄存器中的数据串行传输到内存储器以完成固态硬盘读操作的技术方案,能够提高固态硬盘的读响应速度和读操作的性能。

需要特别指出的是,上述固态硬盘读装置的实施例采用了所述固态硬盘读方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述固态硬盘读方法的其他实施例中。当然,由于所述固态硬盘读方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述固态硬盘读装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种固态硬盘存储数据的方法和设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类