CN112559392B - 一种加速读存储介质的方法、读加速硬件模块及存储器 - Google Patents
一种加速读存储介质的方法、读加速硬件模块及存储器 Download PDFInfo
- Publication number
- CN112559392B CN112559392B CN202011539885.4A CN202011539885A CN112559392B CN 112559392 B CN112559392 B CN 112559392B CN 202011539885 A CN202011539885 A CN 202011539885A CN 112559392 B CN112559392 B CN 112559392B
- Authority
- CN
- China
- Prior art keywords
- information
- pma
- npa
- algorithm
- storage medium
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000001133 acceleration Effects 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 31
- 238000006243 chemical reaction Methods 0.000 claims abstract description 26
- 238000013507 mapping Methods 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 abstract description 5
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 2
- 229920002319 Poly(methyl acrylate) Polymers 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 201000008752 progressive muscular atrophy Diseases 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种加速读存储介质的方法、读加速硬件模块及存储器,接收存储器的FE下发的LBA信息;基于固化在硬件中的查表算法进行查表操作,以获取与LBA信息对应的有效的PMA信息;基于固化在硬件中的地址转换算法,将有效的PMA信息转换为NPA信息,根据NPA信息从存储器的存储介质中读出相应数据。可见,本申请摒弃了FTL的处理方式,采用固化在硬件中的算法对LBA信息进行处理得到NPA信息,经实验发现能够大幅度提升主机的读带宽,使得单位时间内读取的数据显著增大,从而大大提升了读性能。
Description
技术领域
本发明涉及数据读取领域,特别是涉及一种加速读存储介质的方法、读加速硬件模块及存储器。
背景技术
随着大数据时代的发展,对数据处理速度的要求越来越高。在数据处理过程中,包含数据读取、数据扫描、数据分析等一系列的操作。对于数据读取环节来说,现有技术常规的数据读流程如图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及上述任一种读加速硬件模块。
本申请提供的存储器的介绍请参考上述读加速硬件模块的实施例,本申请在此不再赘述。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种加速读存储介质的方法,其特征在于,包括:
接收存储器的FE下发的LBA信息;
基于固化在硬件中的查表算法进行查表操作,以获取与所述LBA信息对应的有效的PMA信息;
基于固化在硬件中的地址转换算法,将有效的PMA信息转换为NPA信息,根据所述NPA信息从所述存储器的存储介质中读出相应数据。
2.如权利要求1所述的加速读存储介质的方法,其特征在于,基于固化在硬件中的查表算法进行查表操作,以获取与所述LBA信息对应的有效的PMA信息的过程,包括:
通过查找用于表示LBA信息与PMA信息之间映射关系的L2P表,获取与所述LBA信息对应的PMA信息;
通过查找用于表示已被擦除数据对应的无效PMA信息的trim表,判断所述PMA信息是否存在于所述无效PMA信息中;
若是,则确定所述PMA信息无效;
若否,则确定所述PMA信息初次有效。
3.如权利要求2所述的加速读存储介质的方法,其特征在于,基于固化在硬件中的查表算法进行查表操作,以获取与所述LBA信息对应的有效的PMA信息的过程,还包括:
在通过查找所述trim表确定所述PMA信息初次有效后,通过查找用于表示已坏的数据块的remap表,判断所述PMA信息是否存在于已坏的数据块对应的无效PMA信息中;
若是,则确定所述PMA信息无效;
若否,则确定所述PMA信息二次有效。
4.如权利要求3所述的加速读存储介质的方法,其特征在于,基于固化在硬件中的查表算法进行查表操作,以获取与所述LBA信息对应的有效的PMA信息的过程,还包括:
在通过查找所述remap表确定所述PMA信息二次有效后,判断所述PMA信息的数值是否小于预设最大PMA数值;
若是,则确定所述PMA信息最终有效;
若否,则确定所述PMA信息无效。
5.如权利要求1所述的加速读存储介质的方法,其特征在于,基于固化在硬件中的地址转换算法,将有效的PMA信息转换为NPA信息的过程,包括:
根据PMA信息与NPA信息的各bit位对应关系,将有效的PMA信息转换为NPA信息。
6.如权利要求5所述的加速读存储介质的方法,其特征在于,所述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信息。
7.一种读加速硬件模块,其特征在于,包括:
DB处理硬件模块,用于在接收到存储器的FE下发的LBA信息后,触发算法处理硬件模块对所述LBA信息进行处理得到NPA信息;
固化有查表算法和地址转换算法的算法处理硬件模块,用于在依次执行所述查表算法和地址转换算法时,实现如权利要求1-6任一项所述的加速读存储介质的方法的步骤。
8.如权利要求7所述的读加速硬件模块,其特征在于,所述DB处理硬件模块和所述算法处理硬件模块集成于所述存储器的BE内;
且所述BE包括:
分别与所述算法处理硬件模块和所述存储器的存储介质连接的FPH,用于根据所述NPA信息从所述存储介质中读出相应数据传送至所述算法处理硬件模块;
分别与所述算法处理硬件模块和所述FE连接的ADM,用于将从所述存储介质中读出的相应数据送回所述FE。
9.如权利要求7所述的读加速硬件模块,其特征在于,所述查表算法所需的L2P表、trim表及remap表存储于DDR中。
10.一种存储器,其特征在于,包括FE、BE、存储介质、DDR及如权利要求7-9任一项所述的读加速硬件模块。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011539885.4A CN112559392B (zh) | 2020-12-23 | 2020-12-23 | 一种加速读存储介质的方法、读加速硬件模块及存储器 |
PCT/CN2021/118472 WO2022134669A1 (zh) | 2020-12-23 | 2021-09-15 | 一种加速读存储介质的方法、读加速硬件模块及存储器 |
US18/201,754 US20230305956A1 (en) | 2020-12-23 | 2023-05-24 | Method for accelerating reading of storage medium, read acceleration hardware module, and memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011539885.4A CN112559392B (zh) | 2020-12-23 | 2020-12-23 | 一种加速读存储介质的方法、读加速硬件模块及存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112559392A CN112559392A (zh) | 2021-03-26 |
CN112559392B true CN112559392B (zh) | 2023-08-15 |
Family
ID=75032275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011539885.4A Active CN112559392B (zh) | 2020-12-23 | 2020-12-23 | 一种加速读存储介质的方法、读加速硬件模块及存储器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230305956A1 (zh) |
CN (1) | CN112559392B (zh) |
WO (1) | WO2022134669A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559392B (zh) * | 2020-12-23 | 2023-08-15 | 深圳大普微电子科技有限公司 | 一种加速读存储介质的方法、读加速硬件模块及存储器 |
CN117420966B (zh) * | 2023-12-19 | 2024-05-28 | 深圳大普微电子股份有限公司 | 物理地址的编址方法及闪存设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205059A (zh) * | 2012-04-27 | 2014-12-10 | 株式会社日立制作所 | 存储系统和存储控制装置 |
US9542118B1 (en) * | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
CN110297780A (zh) * | 2018-03-22 | 2019-10-01 | 东芝存储器株式会社 | 存储装置及计算机系统 |
CN110308863A (zh) * | 2018-03-27 | 2019-10-08 | 东芝存储器株式会社 | 存储装置、计算机系统及存储装置的动作方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559392B (zh) * | 2020-12-23 | 2023-08-15 | 深圳大普微电子科技有限公司 | 一种加速读存储介质的方法、读加速硬件模块及存储器 |
-
2020
- 2020-12-23 CN CN202011539885.4A patent/CN112559392B/zh active Active
-
2021
- 2021-09-15 WO PCT/CN2021/118472 patent/WO2022134669A1/zh active Application Filing
-
2023
- 2023-05-24 US US18/201,754 patent/US20230305956A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205059A (zh) * | 2012-04-27 | 2014-12-10 | 株式会社日立制作所 | 存储系统和存储控制装置 |
US9542118B1 (en) * | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
CN110297780A (zh) * | 2018-03-22 | 2019-10-01 | 东芝存储器株式会社 | 存储装置及计算机系统 |
CN110308863A (zh) * | 2018-03-27 | 2019-10-08 | 东芝存储器株式会社 | 存储装置、计算机系统及存储装置的动作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20230305956A1 (en) | 2023-09-28 |
CN112559392A (zh) | 2021-03-26 |
WO2022134669A1 (zh) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112559392B (zh) | 一种加速读存储介质的方法、读加速硬件模块及存储器 | |
JP4781373B2 (ja) | 記憶装置 | |
EP1647892A2 (en) | Data processing apparatus and method for flash memory | |
US20220164316A1 (en) | Deduplication method and apparatus | |
CN105094709A (zh) | 一种固态盘存储系统的动态数据压缩方法 | |
EP2219114A1 (en) | Method and apparatus for allocating storage addresses | |
CN112269752A (zh) | 一种PCIe虚拟通道的数据处理方法及相关装置 | |
CN114466196B (zh) | 视频数据处理方法、系统、装置及计算机可读存储介质 | |
CN116126763B (zh) | 总线互联系统、数据处理方法、装置、电子设备及介质 | |
CN115509799B (zh) | 一种基于副本和ldpc混合解码结合的存储器读取优化方法 | |
CN218631411U (zh) | 一种校验写入状态的固态存储器 | |
CN112637602B (zh) | 一种jpeg接口及数字图像处理系统 | |
CN114546292A (zh) | 一种nand flash坏块管理方法及系统 | |
US10838621B2 (en) | Method and flash memory controller capable of avoiding inefficient memory block swap or inefficient garbage collection | |
CN109783024B (zh) | 数据存储处理方法及装置 | |
CN111949557B (zh) | 一种数据读取方法、装置及存储设备 | |
CN111831227A (zh) | 一种nvme协议命令加速处理系统 | |
US20240184485A1 (en) | Flash memory controller and associated memory device and control method | |
CN116665836B (zh) | 序列数据的编辑存储方法、读取播放方法和电子设备 | |
CN111949558A (zh) | 一种垃圾数据回收方法、装置和存储设备 | |
US20240184484A1 (en) | Flash memory controller and associated memory device and control method | |
CN109697144B (zh) | 一种电子设备的硬盘检测方法及电子设备 | |
CN115454983B (zh) | 一种基于布隆过滤器的海量Hbase数据去重方法 | |
CN117420966B (zh) | 物理地址的编址方法及闪存设备 | |
CN113867642B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |