一种加速读存储介质的方法、读加速硬件模块及存储器

文档序号:809171 发布日期:2021-03-26 浏览:29次 >En<

阅读说明:本技术 一种加速读存储介质的方法、读加速硬件模块及存储器 (Method for accelerating reading of storage medium, reading acceleration hardware module and storage ) 是由 陈祥 曹学明 杨颖� 黄朋 杨州 于 2020-12-23 设计创作,主要内容包括:本发明公开了一种加速读存储介质的方法、读加速硬件模块及存储器,接收存储器的FE下发的LBA信息;基于固化在硬件中的查表算法进行查表操作,以获取与LBA信息对应的有效的PMA信息;基于固化在硬件中的地址转换算法,将有效的PMA信息转换为NPA信息,根据NPA信息从存储器的存储介质中读出相应数据。可见,本申请摒弃了FTL的处理方式,采用固化在硬件中的算法对LBA信息进行处理得到NPA信息,经实验发现能够大幅度提升主机的读带宽,使得单位时间内读取的数据显著增大,从而大大提升了读性能。(The invention discloses a method for accelerating reading of a storage medium, a read acceleration hardware module and a memory, which are used for receiving LBA information issued by FE of the memory; performing table look-up operation based on a table look-up algorithm solidified in hardware to acquire effective PMA information corresponding to the LBA information; based on address conversion algorithm solidified in hardware, effective PMA information is converted into NPA information, and corresponding data is read out from storage medium of memory according to NPA information. Therefore, the processing mode of the FTL is abandoned, the algorithm solidified in hardware is adopted to process the LBA information to obtain the NPA information, and experiments show that the reading bandwidth of the host can be greatly improved, so that the data read in unit time is obviously increased, and the reading performance is greatly improved.)

一种加速读存储介质的方法、读加速硬件模块及存储器

技术领域

本发明涉及数据读取领域,特别是涉及一种加速读存储介质的方法、读加速硬件模块及存储器。

背景技术

随着大数据时代的发展,对数据处理速度的要求越来越高。在数据处理过程中,包含数据读取、数据扫描、数据分析等一系列的操作。对于数据读取环节来说,现有技术常规的数据读流程如图1所示,主机host向存储器的FE(Front End,前端)下发读取命令;FE接收并解析读取命令,并将解析得到的信息(包含LBA(Logical Block Address,逻辑区块地址))发送至FTL(Flash Translation Layer,闪存转换层);FTL将LBA信息转换成NPA(NandPhysical Address,闪存物理地址)信息下发至BE(Back End,后端);BE接收到NPA信息后,从存储介质中读出与NPA信息对应的数据送回FE,以由FE将数据返回主机,从而完成数据读流程。但是,现有的FTL因其处理方式存在高延迟、低效率的问题,导致读性能有所降低。

因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。

发明内容

本发明的目的是提供一种加速读存储介质的方法、读加速硬件模块及存储器,摒弃了FTL的处理方式,采用固化在硬件中的算法对LBA信息进行处理得到NPA信息,经实验发现能够大幅度提升主机的读带宽,使得单位时间内读取的数据显著增大,从而大大提升了读性能。

为解决上述技术问题,本发明提供了一种加速读存储介质的方法,包括:

接收存储器的FE下发的LBA信息;

基于固化在硬件中的查表算法进行查表操作,以获取与所述LBA信息对应的有效的PMA信息;

基于固化在硬件中的地址转换算法,将有效的PMA信息转换为NPA信息,根据所述NPA信息从所述存储器的存储介质中读出相应数据。

优选地,基于固化在硬件中的查表算法进行查表操作,以获取与所述LBA信息对应的有效的PMA信息的过程,包括:

通过查找用于表示LBA信息与PMA信息之间映射关系的L2P表,获取与所述LBA信息对应的PMA信息;

通过查找用于表示已被擦除数据对应的无效PMA信息的trim表,判断所述PMA信息是否存在于所述无效PMA信息中;

若是,则确定所述PMA信息无效;

若否,则确定所述PMA信息初次有效。

优选地,基于固化在硬件中的查表算法进行查表操作,以获取与所述LBA信息对应的有效的PMA信息的过程,还包括:

在通过查找所述trim表确定所述PMA信息初次有效后,通过查找用于表示已坏的数据块的remap表,判断所述PMA信息是否存在于已坏的数据块对应的无效PMA信息中;

若是,则确定所述PMA信息无效;

若否,则确定所述PMA信息二次有效。

优选地,基于固化在硬件中的查表算法进行查表操作,以获取与所述LBA信息对应的有效的PMA信息的过程,还包括:

在通过查找所述remap表确定所述PMA信息二次有效后,判断所述PMA信息的数值是否小于预设最大PMA数值;

若是,则确定所述PMA信息最终有效;

若否,则确定所述PMA信息无效。

优选地,基于固化在硬件中的地址转换算法,将有效的PMA信息转换为NPA信息的过程,包括:

根据PMA信息与NPA信息的各bit位对应关系,将有效的PMA信息转换为NPA信息。

优选地,所述PMA信息依次由SuperBlock信息、superPage信息、mau信息组成;所述NPA信息依次由block信息、page信息、lun信息、ce信息、chan信息、mauoff信息组成;

相应的,根据PMA信息与NPA信息的各bit位对应关系,将有效的PMA信息转换为NPA信息的过程,包括:

将所述PMA信息按位拆解得到SuperBlock信息、superPage信息、mau信息;

将所述SuperBlock信息乘以预设系数值,得到所述NPA信息的block信息;

将所述superPage信息作为所述NPA信息的page信息;

根据所述mau信息与所述NPA信息的lun信息、ce信息、chan信息、mauoff信息的bit位对应关系,将所述mau信息的bit位信息对应作为所述NPA信息的lun信息、ce信息、chan信息、mauoff信息。

为解决上述技术问题,本发明还提供了一种读加速硬件模块,包括:

DB处理硬件模块,用于在接收到存储器的FE下发的LBA信息后,触发算法处理硬件模块对所述LBA信息进行处理得到NPA信息;

固化有查表算法和地址转换算法的算法处理硬件模块,用于在依次执行所述查表算法和地址转换算法时,实现上述任一种加速读存储介质的方法的步骤。

优选地,所述DB处理硬件模块和所述算法处理硬件模块集成于所述存储器的BE内;

且所述BE包括:

分别与所述算法处理硬件模块和所述存储器的存储介质连接的FPH,用于根据所述NPA信息从所述存储介质中读出相应数据传送至所述算法处理硬件模块;

分别与所述算法处理硬件模块和所述FE连接的ADM,用于将从所述存储介质中读出的相应数据送回所述FE。

优选地,所述查表算法所需的L2P表、trim表及remap表存储于DDR中。

为解决上述技术问题,本发明还提供了一种存储器,包括FE、BE、存储介质、DDR及上述任一种读加速硬件模块。

本发明提供了一种加速读存储介质的方法,接收存储器的FE下发的LBA信息;基于固化在硬件中的查表算法进行查表操作,以通过查表获取与LBA信息对应的有效的PMA信息;基于固化在硬件中的地址转换算法,将有效的PMA信息转换为NPA信息,以使存储器的BE根据NPA信息从存储器的存储介质中读出相应数据送回FE。可见,本申请摒弃了FTL的处理方式,采用固化在硬件中的算法对LBA信息进行处理得到NPA信息,经实验发现能够大幅度提升主机的读带宽,使得单位时间内读取的数据显著增大,从而大大提升了读性能。

本发明还提供了一种读加速硬件模块及存储器,与上述加速方法具有相同的有益效果。

附图说明

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

图1为现有技术中的一种数据读流程示意图;

图2为本发明实施例提供的一种加速读存储介质的方法的流程图;

图3为本发明实施例提供的一种加速读存储介质的方法的具体流程图;

图4为本发明实施例提供的一种PMA信息与NPA信息的bit位对应关系图;

图5为本发明实施例提供的一种读加速硬件模块的结构示意图。

具体实施方式

本发明的核心是提供一种加速读存储介质的方法、读加速硬件模块及存储器,摒弃了FTL的处理方式,采用固化在硬件中的算法对LBA信息进行处理得到NPA信息,经实验发现能够大幅度提升主机的读带宽,使得单位时间内读取的数据显著增大,从而大大提升了读性能。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图2,图2为本发明实施例提供的一种加速读存储介质的方法的流程图。

该加速读存储介质的方法包括:

步骤S1:接收存储器的FE下发的LBA信息。

需要说明的是,本申请的加速读存储介质的方法由读加速硬件模块(称为RACC)实现。

具体地,主机向存储器的FE下发读取命令(包含LBA信息);存储器的FE对主机下发的读取命令进行解析,得到LBA信息,并将LBA信息下发至RACC;RACC接收到存储器的FE下发的LBA信息,开始进入LBA信息的处理流程。

步骤S2:基于固化在硬件中的查表算法进行查表操作,以获取与LBA信息对应的有效的PMA信息。

具体地,RACC的硬件中提前固化有用于获取与LBA信息对应的有效的PMA(Physical Media Address,物理存储地址)信息的查表算法,所以RACC在接收到存储器的FE下发的LBA信息之后,基于固化在硬件中的查表算法进行查表操作,目的是通过查表获取与LBA信息对应的有效的PMA信息,以供后续进入NPA信息的地址转换流程。

步骤S3:基于固化在硬件中的地址转换算法,将有效的PMA信息转换为NPA信息,根据NPA信息从存储器的存储介质中读出相应数据。

具体地,RACC的硬件中还提前固化有用于将PMA信息转换为NPA信息的地址转换算法,所以RACC在获取有效的PMA信息之后,基于固化在硬件中的地址转换算法将有效的PMA信息转换为NPA信息,然后将NPA信息发送给存储器的BE。存储器的BE根据NPA信息从存储器的存储介质中读出相应数据送回存储器的FE,以由存储器的FE将从存储介质中读出的数据返给主机,从而完成数据读流程。

此外,主机向存储器的FE下发的读取命令中还可包含namespaceId(命名空间ID)、portId(端口ID)、dataFormat(读取数据的格式)等信息,存储器的FE将LBA信息及namespaceId、portId、dataFormat等信息下发至RACC。RACC在将LBA信息处理成NPA信息之后,将NPA信息及namespaceId、portId、dataFormat等信息一起发送给存储器的BE,供存储器的BE根据NPA信息及namespaceId、portId、dataFormat等信息,从存储器的存储介质中读出相应数据送回存储器的FE,从而使读加速同时支持多namespace、多dataFormat、多port。

本发明提供了一种加速读存储介质的方法,接收存储器的FE下发的LBA信息;基于固化在硬件中的查表算法进行查表操作,以通过查表获取与LBA信息对应的有效的PMA信息;基于固化在硬件中的地址转换算法,将有效的PMA信息转换为NPA信息,以使存储器的BE根据NPA信息从存储器的存储介质中读出相应数据送回FE。可见,本申请摒弃了FTL的处理方式,采用固化在硬件中的算法对LBA信息进行处理得到NPA信息,经实验发现能够大幅度提升主机的读带宽,使得单位时间内读取的数据显著增大,从而大大提升了读性能。

在上述实施例的基础上:

请参照图3,图3为本发明实施例提供的一种加速读存储介质的方法的具体流程图。

作为一种可选的实施例,基于固化在硬件中的查表算法进行查表操作,以获取与LBA信息对应的有效的PMA信息的过程,包括:

通过查找用于表示LBA信息与PMA信息之间映射关系的L2P表,获取与LBA信息对应的PMA信息;

通过查找用于表示已被擦除数据对应的无效PMA信息的trim表,判断PMA信息是否存在于无效PMA信息中;

若是,则确定PMA信息无效;

若否,则确定PMA信息初次有效。

具体地,本申请设有用于表示LBA信息与PMA信息之间映射关系的L2P(Logic toPhysical,逻辑到物理)表,即RACC通过查找L2P表,可找到与LBA信息对应的PMA信息。

与此同时,考虑到存储器中存储的数据可能被用户擦除,已被擦除数据对应的PMA信息无效,应被滤除掉,不进入后续NPA信息的地址转换流程,所以本申请设有用于表示已被擦除数据对应的无效PMA信息的trim表,具体可为:trim表的一个bit位对应表示一个PMA信息是否有效,如“0”表示对应的PMA信息无效,“1”表示对应的PMA信息有效。基于此,RACC在查L2P表找到与LBA信息对应的PMA信息之后,通过查找trim表判断找到的PMA信息是否存在于trim表包含的无效PMA信息中;若找到的PMA信息存在于trim表包含的无效PMA信息中,说明找到的PMA信息无效,应被滤除掉,不进入后续NPA信息的地址转换流程;若找到的PMA信息不存在于trim表包含的无效PMA信息中,初次说明找到的PMA信息有效,如无其它问题,可进入后续NPA信息的地址转换流程。

作为一种可选的实施例,基于固化在硬件中的查表算法进行查表操作,以获取与LBA信息对应的有效的PMA信息的过程,还包括:

在通过查找trim表确定PMA信息初次有效后,通过查找用于表示已坏的数据块的remap表,判断PMA信息是否存在于已坏的数据块对应的无效PMA信息中;

若是,则确定PMA信息无效;

若否,则确定PMA信息二次有效。

进一步地,考虑到存储器中用于存储数据的数据块可能坏掉,已经坏掉的数据块对应的PMA信息无效,应被滤除掉,不进入后续NPA信息的地址转换流程,所以本申请设有用于表示已经坏掉的数据块的remap表。基于此,RACC在通过查找trim表确定PMA信息初次有效之后,通过查找remap表判断初次有效的PMA信息是否存在于已经坏掉的数据块对应的无效PMA信息中;若初次有效的PMA信息存在于已经坏掉的数据块对应的无效PMA信息中,说明初次有效的PMA信息应属于无效,应被滤除掉,不进入后续NPA信息的地址转换流程;若初次有效的PMA信息不存在于已经坏掉的数据块对应的无效PMA信息中,说明初次有效的PMA信息当前仍属于有效,如无其它问题,可进入后续NPA信息的地址转换流程。

作为一种可选的实施例,基于固化在硬件中的查表算法进行查表操作,以获取与LBA信息对应的有效的PMA信息的过程,还包括:

在通过查找remap表确定PMA信息二次有效后,判断PMA信息的数值是否小于预设最大PMA数值;

若是,则确定PMA信息最终有效;

若否,则确定PMA信息无效。

进一步地,考虑到PMA信息的数值存在最大值,若通过L2P表找到的PMA信息的数值大于最大值,说明找到的PMA信息异常,即PMA信息无效,应被滤除掉,不进入后续NPA信息的地址转换流程,所以本申请提前根据实际情况合理设置最大PMA数值,如PMA信息为32bit时,最大PMA数值设为maxU32-5(maxU32:将32bit的二进制最大数值转换为十进制的数值,而后转换的十进制数值减去5的数值结果作为最大PMA数值;预留的5用于UNMAP、UNC、DEBUG、INVALID和TRIM等特定PMA的判定,需要说明的是,预留值可根据实际情况进行调整)。基于此,RACC在通过查找remap表确定PMA信息二次有效之后,判断二次有效的PMA信息的数值是否小于预设最大PMA数值;若二次有效的PMA信息的数值不小于预设最大PMA数值,说明二次有效的PMA信息应属于无效,应被滤除掉,不进入后续NPA信息的地址转换流程;若二次有效的PMA信息的数值小于预设最大PMA数值,说明二次有效的PMA信息当前仍属于有效,可直接进入后续NPA信息的地址转换流程。

作为一种可选的实施例,基于固化在硬件中的地址转换算法,将有效的PMA信息转换为NPA信息的过程,包括:

根据PMA信息与NPA信息的各bit位对应关系,将有效的PMA信息转换为NPA信息。

具体地,考虑到PMA信息与NPA信息的各bit位之间存在一定对应关系,所以RACC可根据PMA信息与NPA信息的各bit位对应关系,将有效的PMA信息转换为NPA信息。

作为一种可选的实施例,PMA信息依次由SuperBlock信息、superPage信息、mau信息组成(mau指media AU,即指介质的最小单元);NPA信息依次由block信息、page信息、lun信息(lun指逻辑单元号)、ce信息(ce指片选信息)、chan信息(chan指通道)、mauoff信息组成;

相应的,根据PMA信息与NPA信息的各bit位对应关系,将有效的PMA信息转换为NPA信息的过程,包括:

将PMA信息按位拆解得到SuperBlock信息、superPage信息、mau信息;

将SuperBlock信息乘以预设系数值,得到NPA信息的block信息;

将superPage信息作为NPA信息的page信息;

根据mau信息与NPA信息的lun信息、ce信息、chan信息、mauoff信息的bit位对应关系,将mau信息的bit位信息对应作为NPA信息的lun信息、ce信息、chan信息、mauoff信息。

具体地,如图4所示,PMA信息依次由SuperBlock(超级块)信息、superPage(超级页)信息、mau信息组成,NPA信息依次由block(块)信息、page(页)信息、lun信息、ce信息、chan信息、mauoff信息组成,二者的bit位具有一定对应关系:PMA信息的SuperBlock信息值×预设系数值=NPA信息的block信息值(该预设系数值与Nand颗粒相关,通过乘以预设系数值将PMA中的SuperBlockId换算成Nand中实际物理位置的BlockId,不同颗粒分配不同。);PMA信息的superPage信息值=NPA信息的page信息值;PMA信息的mau信息的bit位信息值对应等于NPA信息的lun信息、ce信息、chan信息、mauoff信息,如图4所示,mauoff信息占3bit,ce信息和chan信息分别占2bit,lun信息占1bit(这些信息所占的bit位数不限于此,可按实际颗粒需要进行配置),则mauoff信息值=mau信息的2、1、0bit位组成的信息值,chan信息值=mau信息的4、3bit位组成的信息值,ce信息值=mau信息的6、5bit位组成的信息值,lun信息值=mau信息的7bit位信息值。

基于此,PMA信息转换为NPA信息的转换流程为:将PMA信息按位拆解得到SuperBlock信息、superPage信息、mau信息。将SuperBlock信息乘以预设系数值,得到NPA信息的block信息。将superPage信息作为NPA信息的page信息。根据mau信息与NPA信息的lun信息、ce信息、chan信息、mauoff信息的bit位对应关系,将mau信息的bit位信息对应作为NPA信息的lun信息、ce信息、chan信息、mauoff信息,具体可通过移位处理方式依次得到NPA信息的mauoff信息、chan信息、ce信息、lun信息,即mau信息最后的与mauoff信息所占bit位相同的数值作为mauoff信息值(如图4所示,mauoff信息占3bit,mau信息最后的与mauoff信息所占bit位相同的数值作为mauoff信息值的意思是:将mau信息最后的2、1、0bit位数值作为mauoff信息值);将mau信息向右移位,以将mau信息最后的与mauoff信息所占bit位相同的数值移除(如图4所示,将mau信息最后的与mauoff信息所占bit位相同的数值移除的意思是:将mau信息最后的2、1、0bit位移除掉,此时mau信息的原来的5、4、3bit位代替mau信息原来的2、1、0bit位),并将移除处理的mau信息最后的与chan信息所占bit位相同的数值作为chan信息值(如图4所示,chan信息占2bit,即将mau信息当前最后的4、3bit位数值作为chan信息值,后续同理,本申请不再详细叙述);将mau信息继续向右移位,以将mau信息最后的与chan信息所占bit位相同的数值移除(如图4所示,将mau信息当前最后的4、3bit位移除掉,此时mau信息的原来的6、5bit位代替mau信息当前最后的4、3bit位,后续同理,本申请不再详细叙述),并将移除处理的mau信息最后的与ce信息所占bit位相同的数值作为ce信息值;将mau信息继续向右移位,以将mau信息最后的与ce信息所占bit位相同的数值移除,并将移除处理的mau信息最后的与lun信息所占bit位相同的数值作为lun信息值,从而得到NPA信息。

综上,上述加速读存储介质的方法相比传统方式,主机读带宽有显著提升,在CPU为5M情况下,实测数据:传统方式处理host读,实测带宽为2000KiB/s;上述加速读存储介质的方法处理host读,实测带宽为3999KiB/s。

请参照图5,图5为本发明实施例提供的一种读加速硬件模块的结构示意图。

该读加速硬件模块包括:

DB处理硬件模块1,用于在接收到存储器的FE下发的LBA信息后,触发算法处理硬件模块2对LBA信息进行处理得到NPA信息;

固化有查表算法和地址转换算法的算法处理硬件模块2,用于在依次执行查表算法和地址转换算法时,实现上述任一种加速读存储介质的方法的步骤。

具体地,本申请的读加速硬件模块(称为RACC)包括DB(DoorBell,门铃)处理硬件模块1和算法处理硬件模块2,DB处理硬件模块1在接收到存储器的FE下发的LBA信息后,触发算法处理硬件模块2进行地址处理工作,算法处理硬件模块2主要对LBA信息进行处理得到NPA信息,其具体处理原理请参考上述加速读存储介质的方法的实施例,本申请在此不再赘述。

作为一种可选的实施例,DB处理硬件模块1和算法处理硬件模块2集成于存储器的BE内;

且BE包括:

分别与算法处理硬件模块2和存储器的存储介质连接的FPH,用于根据NPA信息从存储介质中读出相应数据传送至算法处理硬件模块2;

分别与算法处理硬件模块2和FE连接的ADM,用于将从存储介质中读出的相应数据送回FE。

具体地,如图5所示,本申请的RACC可集成于存储器的BE内,存储器的BE包括ADM(Advanced Data Management,高级数据管理)和FPH(Flash Protocol Hanlder,闪存协议处理器),存储器的BE由其内FPH根据NPA信息从存储介质中读出相应数据传送至算法处理硬件模块2,由其内ADM将从存储介质中读出的相应数据送回存储器的FE,以使存储器的FE将从存储介质中读出的相应数据返给主机。

此外,若FPH从存储介质中读数据时发现所读取的数据存在UNC(不可纠正错误),则不将数据返给算法处理硬件模块2,确认数据读异常。除此之外,还可能存在unmap错误,即转换的NPA信息对应的存储介质内没有写入过数据,无法进行数据读流程,确认数据读异常。

作为一种可选的实施例,查表算法所需的L2P表、trim表及remap表存储于DDR中。

具体地,本申请的查表算法所需的L2P表、trim表及remap表可存储于DDR(DoubleData Rate,双倍速率同步动态随机存储器)中,则算法处理硬件模块2与DDR进行交互,以完成L2P表、trim表及remap表的查表操作。

本申请还提供了一种存储器,包括FE、BE、存储介质、DDR及上述任一种读加速硬件模块。

本申请提供的存储器的介绍请参考上述读加速硬件模块的实施例,本申请在此不再赘述。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于定制TLB代换的虚拟机迁移时脏页记录方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类