CN109901797A - 数据预读方法、装置、计算机设备及存储介质 - Google Patents
数据预读方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109901797A CN109901797A CN201910137432.XA CN201910137432A CN109901797A CN 109901797 A CN109901797 A CN 109901797A CN 201910137432 A CN201910137432 A CN 201910137432A CN 109901797 A CN109901797 A CN 109901797A
- Authority
- CN
- China
- Prior art keywords
- data
- read
- control information
- host
- relevant information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Read Only Memory (AREA)
Abstract
本发明涉及数据预读方法、装置、计算机设备及存储介质,该方法包括设置读缓存区域;获取来自主机的读命令;根据读命令获取NAND闪存内的相关信息;判断读缓存区域内是否相关信息对应的数据;若否,则读取相关信息对应的数据,以形成待读取数据以及中间控制信息;将中间控制信息进行闪存转换处理,以形成目标控制信息;将相关数据所在数据页的下一数据页内的数据存放至读缓存区域;将目标控制信息以及待读取数据反馈至主机。本发明减少了读取数据的时间,有效提升了固态硬盘的读性能和读效率。
Description
技术领域
本发明涉及固态硬盘,更具体地说是指数据预读方法、装置、计算机设备及存储介质。
背景技术
若主机要读取固态硬盘中的数据,主机会通过发送NVME(Non-Volatile Memoryexpress,非易失性内存主机控制器接口规范)命令的方式获取所需的数据。对于具有三个中央处理器的固态硬盘控制器来说,其全系统固件对于每个中央处理器都具有明确的分工,每个核之间的操作都是互不影响的。其中一个中央处理器用于处理解析主机发送的NVME命令,并向主机反馈命令的处理情况;一个中央处理器用于运行固件的数据通路管理和管理NAND闪存的FTL(闪存转换层,Flash translation layer)算法;另外一个中央处理器用于处理NFC(NAND闪存控制器,NAND Flash controller)的读写操作,NFC会根据FTL传输给NFC的控制信息,对NAND闪存使用下发描述符的方式操作NAND闪存。
目前,固态硬盘的读命令流程:其中第一个中央处理器获取并解析该读命令,根据命令中的相关信息获取需要读取的NAND闪存数据块起始地址和长度,组成相应的第一控制信息发送给第二个中央处理器。第一控制信息经过第二个中央处理器进行数据通路管理和管理NAND闪存操作后,生成第二控制信息,第二个中央处理器再将第二控制信息发送给第三个中央处理器;第三个中央处理器根据第二控制信息从NAND闪存中读取相应的数据,存放在动态随机存取存储器中,以生成第三控制信息,第三个中央处理器将第三控制信息反馈给第二个中央处理器,由第二个中央处理器对第三控制信号进行数据通路管理和管理NAND闪存操作后生成第四控制信息,第二个中央处理器再将第四控制信息反馈给第一个中央处理器。第一个中央处理器向主机回复命令完成情况,同时从动态随机存取存储器中获取相应的数据传输给主机。
以上读取命令的处理过程存在以下缺陷:如果主机只发送一个读命令,第一个中央处理器在向主机传输数据的过程中,第二个中央处理器和第三个中央处理器处于空闲状态,引起中央处理器停顿,固件没有发挥多核控制器系统强大的性能优势。主机如果需要获取某个NAND闪存数据块中的数据,固件每次接收到读命令之后都得从NAND闪存的对应数据页中读取到动态随机存取存储器中,再从动态随机存取存储器中传输到主机,导致固态硬盘读性能和效率较低。
因此,有必要设计一种新的方法,实现提高固态硬盘读性能和读效率。
发明内容
本发明的目的在于克服现有技术的缺陷,提供数据预读方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:数据预读方法,包括:
设置读缓存区域;
获取来自主机的读命令;
根据所述读命令获取NAND闪存内的相关信息;
判断所述读缓存区域内是否所述相关信息对应的数据;
若否,则读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息;
将所述中间控制信息进行闪存转换处理,以形成目标控制信息;
将所述相关数据所在数据页的下一数据页内的数据存放至读缓存区域;
将目标控制信息以及所述待读取数据反馈至主机。
其进一步技术方案为:所述判断所述读缓存区域内是否所述相关信息对应的数据之后,还包括:
若是,则将所述相关信息对应的数据反馈至主机。
其进一步技术方案为:所述NAND闪存内的相关信息包括读命令所需要读取的数据所在的数据页起始地址和长度。
其进一步技术方案为:所述读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息,包括:
根据所述相关信息生成第一控制信息;
对第一控制信息进行数据通路管理处理和闪存转换处理,以形成第二控制信息;
根据所述第二控制信息从NAND内存内读取相关信息对应的数据,以形成待读取数据;
将所述待读取数据存储于动态随机存取存储器,以形成中间控制信息。
其进一步技术方案为:所述将目标控制信息以及所述待读取数据反馈至主机,包括:
将所述目标控制信息反馈至主机;
从动态随机存取存储器内读取所述待读取数据,并将所述待读取数据反馈至主机。
其进一步技术方案为:所述设置读缓存区域,包括:
在动态随机存取存储器内设置一区域,以形成读缓存区域。
本发明还提供了数据预读装置,包括:
缓存区域设置单元,用于设置读缓存区域;
读命令获取单元,用于获取来自主机的读命令;
信息获取单元,用于根据所述读命令获取NAND闪存内的相关信息;
判断单元,用于判断所述读缓存区域内是否所述相关信息对应的数据;
数据读取单元,用于若否,则读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息;
处理单元,用于将所述中间控制信息进行闪存转换处理,以形成目标控制信息;
数据缓存单元,用于将所述相关数据所在数据页的下一数据页内的数据存放至读缓存区域;
反馈单元,用于将目标控制信息以及所述待读取数据反馈至主机。
其进一步技术方案为:所述数据读取单元包括:
第一控制信息生成子单元,用于根据所述相关信息生成第一控制信息;
第二控制信息生成子单元,用于对第一控制信息进行数据通路管理处理和闪存转换处理,以形成第二控制信息;
待读取数据生成子单元,用于根据所述第二控制信息从NAND内存内读取相关信息对应的数据,以形成待读取数据;
存储子单元,用于将所述待读取数据存储于动态随机存取存储器,以形成中间控制信息。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过在动态随机存取存储器内设置读缓存区域,当对主机下发的读命令进行读取数据处理的过程中,以获取到待读取数据,若第三个中央处理器处于空闲状态时,第三个中央处理器会将读命令相关数据所在数据页的下一数据页内的数据存放至读缓存区域,主机读取下一数据页的数据时可直接从读缓存区域内读取,减少了读取数据的时间,有效提升了固态硬盘的读性能和读效率。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的固态硬盘读取数据的流程图;
图2为本发明实施例提供的数据预读方法的流程示意图;
图3为本发明实施例提供的数据预读方法的子流程示意图;
图4为本发明实施例提供的数据预读方法的子流程示意图;
图5为本发明实施例提供的数据预读装置的示意性框图;
图6为本发明实施例提供的数据预读装置的数据读取单元的示意性框图;
图7为本发明实施例提供的数据预读装置的反馈单元的示意性框图;
图8为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图2,图2为本发明实施例提供的数据预读方法的示意性流程图。该数据预读方法可以运用在固态硬盘以及NAND闪存内,该固态硬盘与主机进行数据交互,固态硬盘获取主机下发的读命令后,固态硬盘对该读命令进行处理后,反馈读命令对应的数据至主机,且将该读命令对应的数据所在数据页的下一数据页内的数据存放于动态随机存取存储器的读缓存区域内,以便于主机下次下发读取下一数据页内的数据的读命令时可以快速读取数据,提高固态硬盘的读取性能。
图2是本发明实施例提供的数据预读方法的流程示意图。如图3所示,该方法包括以下步骤S110至S190。
S110、设置读缓存区域。
读缓存区域是指用于存储当前主机下发读命令所要读取的数据所在数据页的下一数据页内的数据的空间,该空间是动态随机存取存储器内的一个区域。
具体地,在动态随机存取存储器内设置一区域,以形成读缓存区域。
为了便于区分读缓存区域以及用于存储主机下发的读命令所要读取的数据的区域,可以对该读缓存区域进行标识。
S120、获取来自主机的读命令。
在本实施例中,固态硬盘内有控制器,该控制器包括三个中央处理器,其中,第一中央处理器接收来自主机的读命令;也就是第一中央处理器与主机进行交互。
S130、根据所述读命令获取NAND闪存内的相关信息。
在本实施例中,NAND闪存内的相关信息包括读命令所需要读取的数据所在的数据页起始地址和长度。
获取读命令所要读取的数据所在的数据页起始地址和长度,便可在NAND内存内先找到该数据页起始地址对应的位置,读取该位置内的数据,并按照长度读取下一位置的数据,以使所读取的所有数据长度等于相关信息内的长度。
S140、判断所述读缓存区域内是否所述相关信息对应的数据。
在本实施例中,借助读缓存区域进行数据暂存,可以提高整个固态硬盘的读性能和读效率。
S150、若否,则读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息。
在本实施例中,待读取数据是指读命令所需要读取且存储在动态随机存取存储器内的数据;中间控制信息是指每个中央处理器工作后所形成的且传输至下一接收方的信息。
在一实施例中,请参阅图3,上述的步骤S150可包括步骤S151~S154。
S151、根据所述相关信息生成第一控制信息。
在本实施例中,第一控制信息是指包括接收方、读命令所需要读取的数据所在的数据页起始地址和长度。
具体是由第一个中央处理器将相关信息组合形成第一控制信息,并传输给第二个中央处理器。
S152、对第一控制信息进行数据通路管理处理和闪存转换处理,以形成第二控制信息。
在本实施例中,第二控制信息是将第一控制信息进行数据通路管理处理以及FTL算法处理后形成的信息。FTL算法其实就是一种LBA到PBA的映射,当文件系统发送指令要写入或者更新一个特定的逻辑页时,FTL算法实际上是把数据写入到一个不同的空闲物理页并更新映射表,也就是LBA(逻辑区块地址,Logical Block Address)和PBA(物理区块地址,Physics Block Address)的关联数据。
具体地,第二个中央处理器将第一控制信息进行数据通路管理处理和闪存转换处理,以形成第二控制信息,并传输至第三个中央处理器。
S153、根据所述第二控制信息从NAND内存内读取相关信息对应的数据,以形成待读取数据。
在本实施例中,待读取数据是指反馈至主机的数据,也就是读命令所需要读取的数据。
具体地,第三个中央处理器将根据所述第二控制信息从NAND内存内读取相关信息对应的数据,以形成待读取数据。
S154、将所述待读取数据存储于动态随机存取存储器,以形成中间控制信息。
在本实施例中,中间控制信息包括有待读取数据所存储在动态随机存取存储器的地址。
具体地,第三个中央处理器将所述待读取数据存储于动态随机存取存储器,以形成中间控制信息。
S160、将所述中间控制信息进行闪存转换处理,以形成目标控制信息。
在本实施例中,目标控制信息是指读命令以操作完成的信息。具体地,第二个中央处理器将目标控制信息传输至第一中央处理器。
S170、将所述相关数据所在数据页的下一数据页内的数据存放至读缓存区域。
在此过程中,第三个中央处理器处于空闲状态,则该第三个中央处理器会将NAND闪存内的所述相关数据所在数据页的下一数据页内的数据存放至读缓存区域,按照顺序存放,利用主机读取某一数据页的数据后,接着读取顺序下一个数据页的高概率现像,提前将NAND闪存中下一个数据页中的数据搬移到动态随机存取存储器的读缓存区域中,减少了读命令的操作流程,提高了读取性能。
S180、将目标控制信息以及所述待读取数据反馈至主机。
在一实施例中,如图4所示,上述的步骤S180可包括S181~S182。
S181、将所述目标控制信息反馈至主机;
S182、从动态随机存取存储器内读取所述待读取数据,并将所述待读取数据反馈至主机。
第一中央处理器向主机回复命令完成情况,同时从动态随机存取存储器中获取相应的待读取数据传输给主机。
S190、若是,则将所述相关信息对应的数据反馈至主机。
若读缓存区域内以存储有该读命令所要读取的数据,则直接从读缓存区域内读取该数据反馈至主机即可,减少读数据的时间,以提高读性能。
通常,主机程序所用到的数据块多数情况下都是相邻的。可推断出,主机在发送完一个数据页的读命令之后,主机会接着发读取顺序下一个数据块页命令的概率较大。在固态硬盘的动态随机存取存储器中设计一个读缓冲模块,用于存放NAND闪存下一个数据页中的数据。固件在第三个中央处理器的空闲阶段,将下一个数据页中的数据搬移到动态随机存取存储器中。一旦主机再发送读取顺序下一个数据块的命令,第一个中央处理器便可直接从动态随机存取存储器中获取数据,不必再经过数据通路管理、FTL处理、NAND控制器处理的复杂的操作,减少了读取数据的时间,有效提升了固态硬盘的读性能。
上述的数据预读取方法,通过在动态随机存取存储器内设置读缓存区域,当对主机下发的读命令进行读取数据处理的过程中,以获取到待读取数据,若第三个中央处理器处于空闲状态时,第三个中央处理器会将读命令相关数据所在数据页的下一数据页内的数据存放至读缓存区域,主机读取下一数据页的数据时可直接从读缓存区域内读取,减少了读取数据的时间,有效提升了固态硬盘的读性能和读效率。
图5是本发明实施例提供的一种数据预读装置300的示意性框图。如图6所示,对应于以上数据预读方法,本发明还提供一种数据预读装置300。该数据预读装置300包括用于执行上述数据预读方法的单元,该装置可以被配置于固态硬盘中。
具体地,请参阅图5,该数据预读装置300包括:
缓存区域设置单元301,用于设置读缓存区域;
读命令获取单元302,用于获取来自主机的读命令;
信息获取单元303,用于根据所述读命令获取NAND闪存内的相关信息;
判断单元304,用于判断所述读缓存区域内是否所述相关信息对应的数据;
数据读取单元305,用于若否,则读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息;
处理单元306,用于将所述中间控制信息进行闪存转换处理,以形成目标控制信息;
数据缓存单元307,用于将所述相关数据所在数据页的下一数据页内的数据存放至读缓存区域;
反馈单元308,用于将目标控制信息以及所述待读取数据反馈至主机。
在一实施例中,上述的装置还包括:
数据传输单元309,用于所述相关信息对应的数据反馈至主机。
在一实施例中,如图6所示,所述数据读取单元305包括:
第一控制信息生成子单元3051,用于根据所述相关信息生成第一控制信息;
第二控制信息生成子单元3052,用于对第一控制信息进行数据通路管理处理和闪存转换处理,以形成第二控制信息;
待读取数据生成子单元3053,用于根据所述第二控制信息从NAND内存内读取相关信息对应的数据,以形成待读取数据;
存储子单元3054,用于将所述待读取数据存储于动态随机存取存储器,以形成中间控制信息。
在一实施例中,如图7所示,所述反馈单元308包括:
信息反馈子单元3081,用于将所述目标控制信息反馈至主机;
数据反馈子单元3082,用于从动态随机存取存储器内读取所述待读取数据,并将所述待读取数据反馈至主机。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述数据预读装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述数据预读装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是带有固态硬盘的设备。
参阅图8,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种数据预读方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种数据预读方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
设置读缓存区域;
获取来自主机的读命令;
根据所述读命令获取NAND闪存内的相关信息;
判断所述读缓存区域内是否所述相关信息对应的数据;
若否,则读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息;
将所述中间控制信息进行闪存转换处理,以形成目标控制信息;
将所述相关数据所在数据页的下一数据页内的数据存放至读缓存区域;
将目标控制信息以及所述待读取数据反馈至主机。
其中,所述NAND闪存内的相关信息包括读命令所需要读取的数据所在的数据页起始地址和长度。
在一实施例中,处理器502在实现所述判断所述读缓存区域内是否所述相关信息对应的数据步骤之后,还实现如下步骤:
若否,则将所述相关信息对应的数据反馈至主机。
在一实施例中,处理器502在实现所述读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息步骤时,具体实现如下步骤:
根据所述相关信息生成第一控制信息;
对第一控制信息进行数据通路管理处理和闪存转换处理,以形成第二控制信息;
根据所述第二控制信息从NAND内存内读取相关信息对应的数据,以形成待读取数据;
将所述待读取数据存储于动态随机存取存储器,以形成中间控制信息。
在一实施例中,处理器502在实现所述将目标控制信息以及所述待读取数据反馈至主机步骤时,具体实现如下步骤:
将所述目标控制信息反馈至主机;
从动态随机存取存储器内读取所述待读取数据,并将所述待读取数据反馈至主机。
在一实施例中,处理器502在实现所述设置读缓存区域步骤时,具体实现如下步骤:
在动态随机存取存储器内设置一区域,以形成读缓存区域。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
设置读缓存区域;
获取来自主机的读命令;
根据所述读命令获取NAND闪存内的相关信息;
判断所述读缓存区域内是否所述相关信息对应的数据;
若否,则读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息;
将所述中间控制信息进行闪存转换处理,以形成目标控制信息;
将所述相关数据所在数据页的下一数据页内的数据存放至读缓存区域;
将目标控制信息以及所述待读取数据反馈至主机。
其中,所述NAND闪存内的相关信息包括读命令所需要读取的数据所在的数据页起始地址和长度。
在一实施例中,所述处理器在执行所述计算机程序而实现所述判断所述读缓存区域内是否所述相关信息对应的数据步骤之后,还实现如下步骤:
若否,则将所述相关信息对应的数据反馈至主机。
在一实施例中,所述处理器在执行所述计算机程序而实现所述读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息步骤时,具体实现如下步骤:
根据所述相关信息生成第一控制信息;
对第一控制信息进行数据通路管理处理和闪存转换处理,以形成第二控制信息;
根据所述第二控制信息从NAND内存内读取相关信息对应的数据,以形成待读取数据;
将所述待读取数据存储于动态随机存取存储器,以形成中间控制信息。
在一实施例中,所述处理器在执行所述计算机程序而实现所述将目标控制信息以及所述待读取数据反馈至主机步骤时,具体实现如下步骤:
将所述目标控制信息反馈至主机;
从动态随机存取存储器内读取所述待读取数据,并将所述待读取数据反馈至主机。
在一实施例中,所述处理器在执行所述计算机程序而实现所述设置读缓存区域步骤时,具体实现如下步骤:
在动态随机存取存储器内设置一区域,以形成读缓存区域。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.数据预读方法,其特征在于,包括:
设置读缓存区域;
获取来自主机的读命令;
根据所述读命令获取NAND闪存内的相关信息;
判断所述读缓存区域内是否所述相关信息对应的数据;
若否,则读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息;
将所述中间控制信息进行闪存转换处理,以形成目标控制信息;
将所述相关数据所在数据页的下一数据页内的数据存放至读缓存区域;
将目标控制信息以及所述待读取数据反馈至主机。
2.根据权利要求1所述的数据预读方法,其特征在于,所述判断所述读缓存区域内是否所述相关信息对应的数据之后,还包括:
若是,则将所述相关信息对应的数据反馈至主机。
3.根据权利要求1所述的数据预读方法,其特征在于,所述NAND闪存内的相关信息包括读命令所需要读取的数据所在的数据页起始地址和长度。
4.根据权利要求1至3任一项所述的数据预读方法,其特征在于,所述读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息,包括:
根据所述相关信息生成第一控制信息;
对第一控制信息进行数据通路管理处理和闪存转换处理,以形成第二控制信息;
根据所述第二控制信息从NAND内存内读取相关信息对应的数据,以形成待读取数据;
将所述待读取数据存储于动态随机存取存储器,以形成中间控制信息。
5.根据权利要求4所述的数据预读方法,其特征在于,所述将目标控制信息以及所述待读取数据反馈至主机,包括:
将所述目标控制信息反馈至主机;
从动态随机存取存储器内读取所述待读取数据,并将所述待读取数据反馈至主机。
6.根据权利要求1所述的数据预读方法,其特征在于,所述设置读缓存区域,包括:
在动态随机存取存储器内设置一区域,以形成读缓存区域。
7.数据预读装置,其特征在于,包括:
缓存区域设置单元,用于设置读缓存区域;
读命令获取单元,用于获取来自主机的读命令;
信息获取单元,用于根据所述读命令获取NAND闪存内的相关信息;
判断单元,用于判断所述读缓存区域内是否所述相关信息对应的数据;
数据读取单元,用于若否,则读取所述相关信息对应的数据,以形成待读取数据以及中间控制信息;
处理单元,用于将所述中间控制信息进行闪存转换处理,以形成目标控制信息;
数据缓存单元,用于将所述相关数据所在数据页的下一数据页内的数据存放至读缓存区域;
反馈单元,用于将目标控制信息以及所述待读取数据反馈至主机。
8.根据权利要求7所述的数据预读装置,其特征在于,所述数据读取单元包括:
第一控制信息生成子单元,用于根据所述相关信息生成第一控制信息;
第二控制信息生成子单元,用于对第一控制信息进行数据通路管理处理和闪存转换处理,以形成第二控制信息;
待读取数据生成子单元,用于根据所述第二控制信息从NAND内存内读取相关信息对应的数据,以形成待读取数据;
存储子单元,用于将所述待读取数据存储于动态随机存取存储器,以形成中间控制信息。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910137432.XA CN109901797A (zh) | 2019-02-25 | 2019-02-25 | 数据预读方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910137432.XA CN109901797A (zh) | 2019-02-25 | 2019-02-25 | 数据预读方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109901797A true CN109901797A (zh) | 2019-06-18 |
Family
ID=66945413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910137432.XA Pending CN109901797A (zh) | 2019-02-25 | 2019-02-25 | 数据预读方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109901797A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256338A (zh) * | 2020-10-27 | 2021-01-22 | 记忆科技(深圳)有限公司 | Soc启动方法、装置、计算机设备及存储介质 |
CN112540726A (zh) * | 2020-12-02 | 2021-03-23 | 深圳市硅格半导体有限公司 | 固态存储设备的数据读取方法、系统、设备及介质 |
CN113515232A (zh) * | 2021-04-26 | 2021-10-19 | 深圳忆联信息系统有限公司 | 提升ssd低命令深度读性能方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102378971A (zh) * | 2011-08-05 | 2012-03-14 | 华为技术有限公司 | 数据读取的方法和存储器控制器 |
CN102591686A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 基于固态硬盘的系统启动方法及固态硬盘 |
CN107274923A (zh) * | 2017-05-24 | 2017-10-20 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘中顺序读取流性能的方法及固态硬盘 |
-
2019
- 2019-02-25 CN CN201910137432.XA patent/CN109901797A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102378971A (zh) * | 2011-08-05 | 2012-03-14 | 华为技术有限公司 | 数据读取的方法和存储器控制器 |
CN102591686A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 基于固态硬盘的系统启动方法及固态硬盘 |
CN107274923A (zh) * | 2017-05-24 | 2017-10-20 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘中顺序读取流性能的方法及固态硬盘 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256338A (zh) * | 2020-10-27 | 2021-01-22 | 记忆科技(深圳)有限公司 | Soc启动方法、装置、计算机设备及存储介质 |
CN112256338B (zh) * | 2020-10-27 | 2023-12-05 | 记忆科技(深圳)有限公司 | Soc启动方法、装置、计算机设备及存储介质 |
CN112540726A (zh) * | 2020-12-02 | 2021-03-23 | 深圳市硅格半导体有限公司 | 固态存储设备的数据读取方法、系统、设备及介质 |
CN113515232A (zh) * | 2021-04-26 | 2021-10-19 | 深圳忆联信息系统有限公司 | 提升ssd低命令深度读性能方法、装置、计算机设备及存储介质 |
CN113515232B (zh) * | 2021-04-26 | 2023-08-29 | 深圳忆联信息系统有限公司 | 提升ssd低命令深度读性能方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109901797A (zh) | 数据预读方法、装置、计算机设备及存储介质 | |
CN102402394B (zh) | 一种基于哈希算法的数据存储方法及装置 | |
CN105988926B (zh) | 多版本测试数据的处理方法和装置 | |
JP6375056B2 (ja) | ストレージ・クラスタ・システムにおけるコマンドの並列的な実行及びキャンセルを調整するための装置、方法、記憶媒体及びコンピュータ・プログラム | |
CN105224444B (zh) | 日志生成方法及装置 | |
KR20170063332A (ko) | 솔리드 스테이트 드라이브 및 그것의 동작 방법 | |
CN105373487B (zh) | 一种存储操作系统的碎片整理方法及系统 | |
CN105474186A (zh) | 硬件管理的压缩的高速缓存 | |
CN105487987B (zh) | 一种处理并发顺序读io的方法及装置 | |
CN109828930A (zh) | 键值存储设备和操作键值存储设备的方法 | |
CN102656550A (zh) | 使用公共存储器区域中的虚拟文件来访问私有存储器区域中的多个受保护文件的存储设备和方法 | |
CN107122130B (zh) | 一种数据重删方法及装置 | |
CN104937564B (zh) | 组表格的数据冲洗 | |
CN106406756A (zh) | 一种文件系统的空间分配方法及装置 | |
CN104469717B (zh) | 短信发送方法及装置 | |
CN106610859A (zh) | 一种程序更新方法、装置、系统和成像盒 | |
CN105302489B (zh) | 一种异构多核远程嵌入式存储器系统与方法 | |
CN108351836A (zh) | 具有选择性储存的多级非易失性缓存 | |
CN106250322B (zh) | 一种写数据的方法和装置 | |
CN108763443A (zh) | 区块链账户处理方法与装置 | |
CN103365605A (zh) | 信息存储设备及方法 | |
CN103119567A (zh) | 用于管理虚拟带库域的系统和方法 | |
US20100153622A1 (en) | Data Access Controller and Data Accessing Method | |
WO2016183868A1 (zh) | 存储空间分配方法、装置及电子设备 | |
TWI601063B (zh) | 使用亂數產生器的電腦系統與資料處理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190618 |
|
RJ01 | Rejection of invention patent application after publication |