CN112069088B - 一种地址映射管理方法及相关装置、设备 - Google Patents

一种地址映射管理方法及相关装置、设备 Download PDF

Info

Publication number
CN112069088B
CN112069088B CN202010833801.1A CN202010833801A CN112069088B CN 112069088 B CN112069088 B CN 112069088B CN 202010833801 A CN202010833801 A CN 202010833801A CN 112069088 B CN112069088 B CN 112069088B
Authority
CN
China
Prior art keywords
mapping
item
cache
address
level
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
Application number
CN202010833801.1A
Other languages
English (en)
Other versions
CN112069088A (zh
Inventor
吴鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Huayi Core Technology Co ltd
Original Assignee
Zhejiang Huayi Core Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Huayi Core Technology Co ltd filed Critical Zhejiang Huayi Core Technology Co ltd
Priority to CN202010833801.1A priority Critical patent/CN112069088B/zh
Publication of CN112069088A publication Critical patent/CN112069088A/zh
Application granted granted Critical
Publication of CN112069088B publication Critical patent/CN112069088B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种地址映射管理方法及相关装置、设备,其中,地址映射管理方法包括:基于第二映射项的特征,将一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组;利用划分结果,对第二映射项进行管理,其中,管理包括第二映射项的检索和/或写入至二级映射集。通过上述方式,本发明的地址映射管理方法能够增强一级映射集和缓存映射集中映射项的逻辑组织性,从而提高第二映射项的检索效率和/或第二映射项写入至二级映射集的效率。

Description

一种地址映射管理方法及相关装置、设备
技术领域
本发明涉及存储器的技术领域,特别是涉及一种地址映射管理方法及相关装置、设备。
背景技术
存储器是计算机系统中的记忆设备,主要用来存放程序和数据。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果以及和最终运行结果,都保存在存储器中。其中,计算机的存储器可分成内存储器和外存储器。内存储器在程序执行期间被计算机频繁地使用,并且在一个指令周期期间是可直接进行访问的。外存储器要求计算机从一个外贮藏装置例如硬盘或磁盘中读取信息。常见的外存储器有固态硬盘、软盘、光盘、U盘等。
目前,在诸如No-Dram(Dynamic Random Access Memory)的SSD(Solid StateDisk或Solid State Drive)固态硬盘之类的存储器中,其地址映射集一般都设计成2级映射关系进行管理。其中,2级映射的地址映射集包括有一级映射集、二级映射集与缓存映射集。二级映射集用于表示的是整个存储器中全部数据单元的逻辑地址和物理地址的映射关系。一级映射集用于表示数据单元在存储器中存储的位置。缓存映射集中表示的是最新写入的数据单元的逻辑地址和物理地址的映射关系。
行业内的对一级映射集与缓存映射集内部没有进行一定程度的管理,使得在对缓存映射集中数据单元进行同步或检索时,需要频繁的遍历整个缓存映射集,这容易造成存储器的写入放大,从而影响到存储器的读写性能。
发明内容
本发明提供一种地址映射管理方法及相关装置、设备,以解决现有技术中存在对缓存映射集中数据单元进行同步或检索时,效率低下的问题。
为解决上述技术问题,本发明提供一种地址映射管理方法,地址映射管理方法应用于存储器,存储器存储有一级映射集和二级映射集,一级映射集包括若干个第一映射项,二级映射集包括若干个表示数据的地址映射的第二映射项,每个第一映射项用于映射二级映射集中的至少一个第二映射项的存储地址,二级映射集对应有缓存映射集,缓存映射集包含待写入至二级映射集的第二映射项,方法包括:基于第二映射项的特征,将一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组;利用划分结果,对第二映射项进行管理,其中,管理包括第二映射项的检索和/或写入至二级映射集。
其中,在划分结果中,每组映射项串联形成一条串联链。
其中,第二映射项的特征包括以下至少一者:所映射的第一映射项、存储在存储器中的存储地址、第二映射项中的逻辑地址所满足的哈希关系。
其中,基于第二映射项的特征,将一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组的步骤具体包括:在缓存映射集中,将映射于同一第一映射项的第二映射项串联划分为一组第一映射组。
其中,利用划分结果,对第二映射项进行管理,包括:利用待读取数据的逻辑地址,确定待读取数据对应的第一映射项,其中,每个第一映射项映射对应一逻辑地址范围的第二映射项的存储地址;在第一映射项对应的第一映射组中进行检索,以得到待读取数据对应的第二映射项。
其中,每组第一映射组为按照写入至缓存映射集的先后顺序将第二映射项串联形成的第一串联链,其中,最新写入至缓存映射集的第二映射项作为第一串联链的链头;在第一映射项对应的第一映射组中进行检索,以得到待读取数据对应的第二映射项,包括:从第一映射项对应的第一串联链的链头开始依序对第一串联链中的第二映射项进行检索,以得到待读取数据对应的第二映射项。
其中,基于第二映射项的特征,将一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组的步骤具体包括:在一级映射集中,将存储在存储器的同一硬件单元上的第一映射项划分为一组第二映射组。
其中,利用划分结果,对第二映射项进行管理,包括:在检测到缓存映射集满足同步条件时,确定需要进行同步的目标硬件单元;基于目标硬件单元对应的第二映射组所映射的存储地址,将缓存映射集的第二映射项同步至目标硬件单元中的对应第二映射项。
其中,基于目标硬件单元对应的第二映射组所映射的存储地址,将缓存映射集的第二映射项同步至目标硬件单元中的对应第二映射项的步骤具体包括:基于确定的第二映射组中的第一映射项所映射的存储地址,读取二级映射集中与目标硬件单元对应的第二映射项;按照缓存映射集的第二映射项,更新与目标硬件单元对应的第二映射项;将更新后的第二映射项存储至存储器中,并根据更新后的第二映射项的存储地址更新第一映射项。
其中,在存在多个目标硬件单元时,分别对多个目标硬件单元并行执行基于目标硬件单元对应的第二映射组所映射的存储地址,将缓存映射集的第二映射项同步至目标硬件单元中的对应第二映射项的步骤。
为解决上述技术问题,本发明还提供一种电子设备,包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述任一项的地址映射管理方法。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述任一项的地址映射管理方法。
本发明的有益效果是:区别于现有技术的情况,本发明的地址映射管理方法基于第二映射项的特征,将一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组,并利用划分结果对第二映射项进行管理,实现了无序混乱的第二映射项的有序化与规范化,增强缓存映射集中的第二映射项的逻辑组织性,从而在对第二映射项进行检索时,能够针对所划分的组进行检索,减少对第二映射项的检索范围、提高第二映射项的检索效率,或者对第二映射项进行同步时,能够针对所划分的组的第二映射项进行同步,提高第二映射项写入至二级映射集的速度,由上,提高对第二映射项的管理效率。
附图说明
图1是一般情况下一级映射集、二级映射集以及缓存映射集之间的映射关系示意图;
图2是本发明地址映射管理方法一实施例的流程示意图;
图3是本发明地址映射管理方法另一实施例的流程示意图;
图4是图3实施例中的缓存映射集在串联前后的结构示意图;
图5是本发明地址映射管理方法又一实施例的流程示意图;
图6是图5实施例中存储器一实施例的结构示意图;
图7是本发明提供的电子设备一实施例的结构示意图;
图8是本发明计算机可读存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
存储器中存储有一级映射集和二级映射集,一级映射集包括若干个第一映射项,二级映射集包括若干个用于表示数据单元的地址映射的第二映射项,每个第一映射项用于映射二级映射集中的至少一个第二映射项的存储地址,二级映射集对应有缓存映射集,缓存映射集包含待写入至二级映射集的第二映射项。
请参阅图1,图1是一般情况下一级映射集、二级映射集以及缓存映射集之间的映射关系示意图。
一级映射集11包括多个第一映射项111,缓存映射集12包括多个待写入至二级映射集13的待存第二映射项121,二级映射集13包括多个已被写入至存储器的第二映射项131,其中待存第二映射项121和第二映射项131用于表示数据单元的地址映射,即表示数据的逻辑地址和物理地址的映射关系。其中,每个第一映射项111映射了二级映射集13中的至少一个第二映射项131的存储地址,该存储地址可以为二级映射集13中第二映射项131的物理地址,每个第一映射项111映射的二级映射集13中至少一个第二映射项131都表示同一个固定的逻辑地址范围,而每个第一映射项111表示该固定逻辑地址范围内的二级映射集13中至少一个第二映射项131的存储地址,也就是,表示同一个固定的逻辑地址范围的至少一个第二映射项131与其对应的单个第一映射项111建立有映射关系,从而建立一级映射集11与二级映射集13之间的映射关系。
然而,一般情况下,一级映射集11与缓存映射集12之间的内部结构却没有进行有效管理,对待写入至二级映射集13的缓存映射集12中的待存第二映射项121没有施加任何逻辑管理。待存第二映射项121混乱地存储在缓存映射集12内,这样在对缓存映射集12中的待存第二映射项121进行检索或同步时,需要遍历整个缓存映射集12来进行查找数据。而更新同步时则需要对整个缓存映射集12进行频繁的换入和换出,容易造成存储器的写入放大。同时这种方式没有利用一级映射集11和缓存映射集12的内在联系,导致缓存映射集12中的待存第二映射项121的同步或检索的效率不高,影响存储器整体读写性能。
其中,待存第二映射项121的同步是指在写入数据时,表示有新写入数据的地址映射的待存第二映射项121会优先缓存在缓存映射集12中,当新写入的待存第二映射项121达到一定的触发条件时,则启动待存第二映射项121的同步工作,将缓存映射集12中的待存第二映射项121同步到二级映射集13中,并同时更新相应一级映射集11的第一映射项111。其中,同步工作过程具体为:先根据一级映射集11的第一映射项111的存储地址获取二级映射集13中的需要更新的部分第二映射项131,将部分第二映射项131提取出来进行更新,再进行存储,此时,更新前后的部分第二映射项131的存储地址可能会发生改变,因此,该部分第二映射项131对应的第一映射项111中的存储地址也需要对应进行更新。
而待存第二映射项121的检索指的是,在读数据的时候,因为缓存映射集12保存的是最新输入的地址映射,所以首先需要在缓存映射集12中检索目标数据,并根据目标数据获得与其对应的第一映射项111中的存储地址,最后根据得到的存储地址到二级映射集13中读取数据,以完成对待存第二映射项121的检索。
请参阅图2,图2是本发明地址映射管理方法一实施例的流程示意图,本实施例的地址映射管理方法包括以下步骤:
步骤S11:基于第二映射项的特征,将一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组。
在本实施例中,基于第二映射项自身的特征,将一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组。在一个具体的实施场景中,基于第二映射项自身的特征,将一级映射集和缓存映射集中的至少一个映射项进行划分成若干组,具体地,可以将一级映射集中具有同一特征的至少一个第一映射项划分成若干组;也可以将缓存映射集中具有同一特征的至少一个第二映射项划分成若干组。使得每一组的至少一个映射项都具有同一特征。映射项的特征可以包括以下至少一者:所映射的第一映射项、存储在存储器中的存储地址、第二映射项中的逻辑地址所满足的哈希关系。在一个具体的实施场景中,当缓存映射集中的部分第二映射项映射于同一个第一映射项时,可以将该部分映射于同一个第一映射项的第二映射项划分成一组,以形成一个第一映射项与至少一个缓存映射集中的第二映射项具有一对多映射关系的组别。
本发明的地址映射管理方法应用于存储器,而存储器是用来存储程序和各种数据信息的记忆部件。在一个具体的实施场景中,存储器可以为固态硬盘、软盘、光盘以及U盘等存储器,而固态硬盘也可以为No-Dram(Dynamic Random Access Memory,DRAM)的SSD(Solid State Disk或Solid State Drive)固态硬盘,在此不做限定。
步骤S12:利用划分结果,对第二映射项进行管理,其中,管理包括第二映射项的检索和/或写入至二级映射集。
在上一步骤对一级映射集和缓存映射集中的所包含的映射项被划分成若干组后,对划分后的各组第二映射项进行管理。其中,管理包括对第二映射项进行检索和/或将第二映射项写入至二级映射集中。
在一个具体的实施场景中,当缓存映射集中的第二映射项按照组类划分依次与一级映射集的第一映射项进行对应后,对第二映射项进行检索。根据目标数据的逻辑地址获得该目标地址所属的第一映射项,并根据该第一映射项和与其对应的某组第二映射项之间的对应关系,在缓存映射集中查找该组第二映射项。在找到该组第二映射项后,依次对该组第二映射项进行检索,即可得到目标第二映射项。
在一个具体的实施场景中,当一级映射集中的第一映射项按照同一特征进行划分后成第二映射组后,对第二映射项进行同步写入。在一个具体的实施场景中,当缓存映射集中的第二映射项满足一定的触发条件后,利用第二映射组与第一映射项之间的对应关系,确定需要进行同步的第一映射项,并根据第一映射项获取到该组第二映射项的存储地址,从而根据该组第二映射项的存储地址对第二映射项进行同步。
通过上述方式,本发明的地址映射管理方法基于第二映射项的特征,将一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组,并利用划分结果对第二映射项进行管理,实现了无序混乱的第二映射项的有序化与规范化,增强缓存映射集中的第二映射项的逻辑组织性,从而在对第二映射项进行检索时,能够针对所划分的组进行检索,减少对第二映射项的检索范围、提高第二映射项的检索效率,或者对第二映射项进行同步时,能够针对所划分的组的第二映射项进行同步,提高第二映射项写入至二级映射集的速度,由上,提高对第二映射项的管理效率。
请参阅图3,图3是本发明地址映射管理方法另一实施例的流程示意图,本实施例应用于对第二映射项进行检索的管理方法。
在本实施例中,存储器为No-Dram的SSD固态硬盘,而No-Dram的SSD固态硬盘本身可用的内部存储资源是非常有限的。因此,本实施例通过地址映射管理方法对No-Dram的SSD固态硬盘中的2级映射表进行改良,从而提高No-Dram的SSD固态硬盘的使用效率,是具有重大意义的。具体地,本实施例的地址映射管理方法包括以下步骤:
步骤S21:在缓存映射集中,将映射于同一第一映射项的第二映射项串联划分为一组第一映射组。
No-Dram的SSD固态硬盘的2级映射的地址映射集包括有一级映射集、二级映射集与缓存映射集。在缓存映射集中,将映射于同一第一映射项的第二映射项串联划分为一组第一映射组,直至将缓存映射集中所有的第二映射项都进行划分,形成多组第一映射组。其中,每组串联的第一映射组映射于同一第一映射项。在一个具体的实施场景中,将映射于同一第一映射项的第二映射项用单链表串联起来形成第一映射组,其中,单链表为一种链式存储数据结构。
请参阅图4,图4是图3实施例中的缓存映射集在串联前后的结构示意图。
串联前的缓存映射集10包括多个第二映射项(图中未标注),多个第二映射项无序且混乱地排列在缓存映射集10中,具体地,映射于同一第一映射项的第二映射项中的多个第一子映射项101、多个第二子映射项102以及第三子映射项103混乱地排列在缓存映射集10中,当对某个子映射项进行检索时,需要从整个缓存映射集10中进行查找。
基于不同第二映射项之间的特征,将串联前的缓存映射集10中的第二映射项进行划分并串联。在本实施例中,以分别映射于同一第一映射项(图中未示出)的多个第一子映射项101、多个第二子映射项102以及第三子映射项103为例进行说明,将映射于同一第一映射项的多个第一子映射项101按写入至缓存映射集10的先后顺序将多个第一子映射项101串联起来,并形成第一串联链h2f-101;将映射于另一第一映射项的多个第二子映射项102按写入至缓存映射集10的先后顺序将多个第二子映射项102串联起来,并形成第二串联链h2f-102;以及将映射于又一第一映射项的多个第三子映射项103按写入至缓存映射集10的先后顺序将多个第三子映射项103串联起来,并形成第三串联链h2f-103。其中,本实施例中的串联链指的是将第二映射项用单链表串联起来后形成的第一映射组。
如图所示,串联后的缓存映射集20的结构被拆分为三条分别映射于不同第一映射项的第一串联链h2f-101、第二串联链h2f-102以及第三串联链h2f-103,从而将缓存映射集20的结构进行划分归类。
在其他实施例中,缓存映射集的结构可以包括多条分别具有同一特征的串联链,图4中所示的结构仅对串联链的形成和结构进行说明,并不对其进行限定。
步骤S22:利用待读取数据的逻辑地址,确定待读取数据对应的第一映射项,其中,每个第一映射项映射对应一逻辑地址范围的第二映射项的存储地址。
当对第二映射项进行检索时,先获取待读取数据的逻辑地址,根据待读取数据的逻辑地址确定待读取数据对应的第一映射项。其中,每个第一映射项映射对应一逻辑地址范围的第二映射项的存储地址,而该一逻辑地址范围的第二映射项在上一步骤中已被串联排序,则在获取待读取数据对应的第一映射项后即可获取第一映射项所对应的第一映射组。
步骤S23:在第一映射项对应的第一映射组中进行检索,以得到待读取数据对应的第二映射项。
在获取第一映射项所对应的第一映射组后,以该第一映射组为检索范围进行检索,在一个具体的应用场景中,依次从第一映射项对应的第一串联链的链头开始依序对第一串联链中的第二映射项进行检索,直至得到待读取数据对应的第二映射项,此时,检索完成。在一个具体的应用场景中,当第一串联链中有10个第二映射项,且目标第二映射项在该第一串联链的第3位,则依次从第一串联链的链头开始依序对第一串联链中的第二映射项进行检索到第3位时,获取到目标第二映射项,后续7个第二映射项不需要再进行检索,从而进一步减少检索量。
通过上述方式,本实施例的地址映射管理方法可以应用于No-Dram的SSD固态硬盘中,通过将映射于同一映射项的第二映射项串联划分成一组第一映射组,来增强缓存映射集中第二映射项的逻辑组织性,并实现利用第一映射组的串联结构,使第二映射项的检索范围缩小至单组第一映射组,避免了对整个缓存映射集的检索,以减少检索工作量,从而提高对缓存映射集中第二映射项进行检索的效率,并进一步提升了No-Dram的SSD固态硬盘的读写性能。
请参阅图5,图5是本发明地址映射管理方法又一实施例的流程示意图,本实施例应用于对第二映射项进行同步更新的管理方法,其中,本实施例的地址映射管理方法包括以下步骤:
步骤S31:在一级映射集中,将存储在存储器的同一硬件单元上的第一映射项划分为一组第二映射组。
在一级映射集中,将存储在存储器的同一硬件单元上的第一映射项划分为一组第二映射组。在一个具体的实施场景中,存储器上包括多个阵列并行排布的硬件单元,而同一硬件单元上可能存储有一个第一映射项或多个第一映射项,将存储在同一硬件单元上的第一映射项划分为一组第二映射组,多个不同硬件单元上的第一映射项分别划分成多组第二映射组。其中,硬件单元可以为存储器中用于存储数据的独立单元。
在一个具体的实施场景中,当存储器为不带动态随机存取存储器(DynamicRandom Access Memory,DRAM)的固态硬盘(Solid State Disk或Solid State Drive,SSD)时,硬件单元可以为固态硬盘上阵列设置的DIE(晶片晶圆体)。
请参阅图6,图6是图5实施例中存储器一实施例的结构示意图。
本实施例的存储器30包括并行设置的第一硬件单元31、第二硬件单元32以及第三硬件单元33。其中,第一硬件单元31、第二硬件单元32以及第三硬件单元33上分别存储有多个第一映射项(图中未标注)。以第一硬件单元31为单位将存储在第一硬件单元31上的4个第一映射项划分为第一组第二映射组311;以第二硬件单元32为单位将存储在第二硬件单元32上的3个第一映射项划分为第二组第二映射组321;以第三硬件单元33为单位将存储在第三硬件单元33上的2个第一映射项划分为第三组第二映射组331。其中,第一组第二映射组311、第二组第二映射组321以及第三组第二映射组331都为单链表的串联结构。
也就是说,本步骤中将属于同一个硬件单元的所有第一映射项进行串联,从而对一级映射集进行划分,并形成多组第二映射组。其中,每个硬件单元上存储的第一映射项的数量可能不同,但在本划分步骤中,将同一个硬件单元上存储的所有第一映射项进行串联划分。
在一个具体的实施场景中,在将同一个硬件单元上存储的所有第一映射项进行串联划分形成第二映射组后,也可以将缓存映射集中映射于同一第一映射项上的第二映射项也串联划分成多组第一映射组(串联方式如图2实施例),其中,多组第一映射组之间也可以进一步进行串联,将多组第一映射组所对应的串联链的尾部进行串联,以将同一第二映射组上的所有第一映射组进行串联,以进一步对硬件单元上的数据进行组织管理,增加缓存映射集的逻辑组织性。
步骤S32:在检测到缓存映射集满足同步条件时,确定需要进行同步的目标硬件单元。
在检测到缓存映射集满足同步条件时,先确定需要进行同步的目标硬件单元。在一个具体的实施场景中,当新写入进缓存映射集的第二映射项的数量超过一定数值时,即可确定缓存映射集满足同步条件。其中,一定数值可以根据实际应用进行设定,在此不做限定。
在一个具体的实施场景中,当新写入进缓存映射集的第二映射项的数量超过一定数值时,启动第二映射项的同步工作。根据新写入进缓存映射集的第二映射项确定该第二映射项对应的第一映射项,再根据第一映射项中表示的存储地址确定与该第二映射项表示同一个固定的逻辑地址范围的二级映射集中第二映射项的的物理地址,从而确定需要进行更新同步的该第二映射项所属的硬件单元。
步骤S33:基于目标硬件单元对应的第二映射组所映射的存储地址,将缓存映射集的第二映射项同步至目标硬件单元中的对应第二映射项。
由于在步骤S31中,已将属于同一硬件单元上的所有第一映射项串联划分成一组第二映射组。则在本步骤中,可直接基于目标硬件单元对应的第二映射组中所有第一映射项所映射的存储地址,将该组第二映射组所对应的第二映射项同步至二级映射集中,也就是目标硬件单元中的对应的第二映射项中。从而完成第二映射项的同步更新写入。将更新后的第二映射项存储至存储器中,并根据更新后的第二映射项的存储地址更新对应第一映射项中的存储地址。
在一个具体的实施例中,当存储器为不带Dram的固态硬盘时,二级映射集存储在NAND(计算机闪存设备中),而NAND在更新时,其需要以硬件单元DIE为单位统一进行同步。在本实施例将统一硬件单元DIE上的所有一级映射项进行串联划分成第二映射组,使得NAND在以硬件单元DIE为单位进行同步时,能够直接根据第二映射组中的一级映射项去定位该硬件单元DIE上所有二级映射集中第二映射项在NAND中的存储位置,从而根据该存储位置将缓存映射集中需要进行同步的第二映射项写入至二级映射集中,实现第二映射项的同步写入。
在一个具体的实施例中,当被确定的需要进行同步更新的硬件单元为多个时,可利用NAND的并行结构,分别对多个目标硬件单元并行执行基于目标硬件单元对应的第二映射组所映射的存储地址,将缓存映射集的第二映射项同步至目标硬件单元中的对应第二映射项的步骤,以同时对多个硬件单元对应的第二映射项进行更新,从而节省更新同步的时间,提高更新同步效率。
通过上述方式,本实施例的地址映射管理方法应用于第二映射项写入至二级映射集的同步更新步骤时,根据缓存映射集中需要更新的第二映射项确定需要更新的目标硬件单元,再利用目标硬件单元所对应的第二映射组确定整个目标硬件单元上第一映射项上所对应的全部第二映射组的存储地址,从而根据上述存储地址对需要更新的第二映射项进行更新写入。本实施例通过将同一目标硬件单元上的第一映射项串联形成第二映射组,同一缓存映射集上具有同一特征的第二映射项串联形成第一映射组,提高了缓存映射集与以及映射集的逻辑组织性使得同步更新时,能够根据一映射组与第二映射组快速查询到所需的第一映射项与第二映射项,进一步提高对第二映射项进行检索或同步的效率,从而提升了整体固件的读写性能,且本实施例的地址映射管理方法不会额外增加处理器的资源,具有很强的移植性,可应用于多种数据管理场合。
基于同样的发明构思,本发明还提出了一种电子设备,该电子设备能够被执行以实现上述任一实施例的地址映射管理方法,请参阅图7,图7是本发明提供的电子设备一实施例的结构示意图,电子设备包括处理器71以及存储器72。
其中存储器72用于存储一级映射集和二级映射集,而一级映射集包括若干个第一映射项,二级映射集包括若干个表示数据的地址映射的第二映射项,每个第一映射项用于映射二级映射集中的至少一个第二映射项的存储地址,二级映射集对应有缓存映射集,缓存映射集包含待写入至二级映射集的第二映射项。
处理器71用于基于第二映射项的特征,将一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组,并利用划分结果,对第二映射项进行管理,其中,管理包括第二映射项的检索和/或写入至二级映射集。
基于同样的发明构思,本发明还提出了一种计算机可读存储介质,请参阅图8,图8是本发明计算机可读存储介质一实施方式的结构示意图。
计算机可读存储介质80中存储有至少一个程序数据81,程序数据81用于实现上述任一方法。在一个实施例中,计算机可读存储介质80包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、固态硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (11)

1.一种地址映射管理方法,其特征在于,所述地址映射管理方法应用于存储器,所述存储器存储有一级映射集和二级映射集,所述一级映射集包括若干个第一映射项,所述二级映射集包括若干个表示数据的地址映射的第二映射项,每个所述第一映射项用于映射所述二级映射集中的至少一个第二映射项的存储地址,所述二级映射集对应有缓存映射集,所述缓存映射集包含待写入至所述二级映射集的第二映射项,所述方法包括:
基于所述第二映射项的特征,将所述一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组;其中,所述第二映射项的特征包括以下至少一者:所映射的第一映射项、存储在所述存储器中的存储地址、所述第二映射项中的逻辑地址所满足的哈希关系;
利用划分结果,对所述第二映射项进行管理,其中,所述管理包括所述第二映射项的检索和/或写入至所述二级映射集。
2.根据权利要求1所述的地址映射管理方法,其特征在于,在所述划分结果中,每组所述映射项串联形成一条串联链。
3.根据权利要求1所述的地址映射管理方法,其特征在于,所述基于所述第二映射项的特征,将所述一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组的步骤具体包括:
在所述缓存映射集中,将映射于同一所述第一映射项的所述第二映射项串联划分为一组第一映射组。
4.根据权利要求1所述的地址映射管理方法,其特征在于,所述利用划分结果,对所述第二映射项进行管理,包括:
利用待读取数据的逻辑地址,确定所述待读取数据对应的第一映射项,其中,每个所述第一映射项映射对应一逻辑地址范围的第二映射项的存储地址;
在所述第一映射项对应的第一映射组中进行检索,以得到所述待读取数据对应的第二映射项。
5.根据权利要求4所述的地址映射管理方法,其特征在于,每组所述第一映射组为按照写入至所述缓存映射集的先后顺序将所述第二映射项串联形成的第一串联链,其中,最新写入至所述缓存映射集的第二映射项作为所述第一串联链的链头;
所述在所述第一映射项对应的第一映射组中进行检索,以得到所述待读取数据对应的第二映射项,包括:
从所述第一映射项对应的第一串联链的链头开始依序对所述第一串联链中的第二映射项进行检索,以得到所述待读取数据对应的第二映射项。
6.根据权利要求2所述的地址映射管理方法,其特征在于,所述基于所述第二映射项的特征,将所述一级映射集和缓存映射集中的至少一个所包含的映射项划分成若干组的步骤具体包括:
在所述一级映射集中,将存储在所述存储器的同一硬件单元上的所述第一映射项划分为一组第二映射组。
7.根据权利要求6所述的地址映射管理方法,其特征在于,所述利用划分结果,对所述第二映射项进行管理,包括:
在检测到所述缓存映射集满足同步条件时,确定需要进行同步的目标硬件单元;
基于所述目标硬件单元对应的所述第二映射组所映射的存储地址,将所述缓存映射集的第二映射项同步至所述目标硬件单元中的对应第二映射项。
8.根据权利要求7所述的地址映射管理方法,其特征在于,所述基于所述目标硬件单元对应的所述第二映射组所映射的存储地址,将所述缓存映射集的第二映射项同步至所述目标硬件单元中的对应第二映射项的步骤具体包括:
基于所述第二映射组中的第一映射项所映射的存储地址,读取所述二级映射集中与所述目标硬件单元对应的第二映射项;
按照所述缓存映射集的第二映射项,更新与所述目标硬件单元对应的第二映射项;
将更新后的所述第二映射项存储至所述存储器中,并根据更新后的第二映射项的存储地址更新所述第一映射项。
9.根据权利要求7所述的地址映射管理方法,其特征在于,在存在多个所述目标硬件单元时,分别对所述多个目标硬件单元并行执行所述基于所述目标硬件单元对应的所述第二映射组所映射的存储地址,将所述缓存映射集的第二映射项同步至所述目标硬件单元中的对应第二映射项的步骤。
10.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至9任一项所述的地址映射管理方法。
11.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至9任一项所述的地址映射管理方法。
CN202010833801.1A 2020-08-18 2020-08-18 一种地址映射管理方法及相关装置、设备 Active CN112069088B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010833801.1A CN112069088B (zh) 2020-08-18 2020-08-18 一种地址映射管理方法及相关装置、设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010833801.1A CN112069088B (zh) 2020-08-18 2020-08-18 一种地址映射管理方法及相关装置、设备

Publications (2)

Publication Number Publication Date
CN112069088A CN112069088A (zh) 2020-12-11
CN112069088B true CN112069088B (zh) 2023-03-28

Family

ID=73662066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010833801.1A Active CN112069088B (zh) 2020-08-18 2020-08-18 一种地址映射管理方法及相关装置、设备

Country Status (1)

Country Link
CN (1) CN112069088B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799972B (zh) * 2021-01-27 2023-04-07 成都佰维存储科技有限公司 Ssd映射表的实现方法、装置、可读存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049397A (zh) * 2012-12-20 2013-04-17 中国科学院上海微系统与信息技术研究所 一种基于新型存储器的固态硬盘内部缓存管理方法及系统
CN108647157A (zh) * 2018-03-14 2018-10-12 深圳忆联信息系统有限公司 一种基于相变存储器的映射管理方法及固态硬盘
CN110968529A (zh) * 2019-11-28 2020-04-07 深圳忆联信息系统有限公司 无缓存固态硬盘的实现方法、装置、计算机设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307148B2 (en) * 2006-06-23 2012-11-06 Microsoft Corporation Flash management techniques
US9213633B2 (en) * 2013-04-30 2015-12-15 Seagate Technology Llc Flash translation layer with lower write amplification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049397A (zh) * 2012-12-20 2013-04-17 中国科学院上海微系统与信息技术研究所 一种基于新型存储器的固态硬盘内部缓存管理方法及系统
CN108647157A (zh) * 2018-03-14 2018-10-12 深圳忆联信息系统有限公司 一种基于相变存储器的映射管理方法及固态硬盘
CN110968529A (zh) * 2019-11-28 2020-04-07 深圳忆联信息系统有限公司 无缓存固态硬盘的实现方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN112069088A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
CN110321344B (zh) 关联数据的信息查询方法、装置、计算机设备及存储介质
CN108009008A (zh) 数据处理方法和系统、电子设备
CN102129458B (zh) 关系型数据库的存储方法及装置
US11586629B2 (en) Method and device of storing data object
US20150113230A1 (en) Directory storage method and query method, and node controller
CN110555001B (zh) 数据处理方法、装置、终端及介质
CN105117417A (zh) 一种读优化的内存数据库Trie树索引方法
CN104809179A (zh) 访问哈希表的装置和方法
US11288287B2 (en) Methods and apparatus to partition a database
CN113821171B (zh) 一种基于哈希表与lsm树的键值存储方法
US20220414155A1 (en) Database management method and apparatus based on lookup table
CN110134335A (zh) 一种基于键值对的rdf数据管理方法、装置及存储介质
CN110851474A (zh) 数据查询方法、数据库中间件、数据查询设备及存储介质
CN115794669A (zh) 一种扩展内存的方法、装置及相关设备
CN114327280A (zh) 一种基于冷热分离存储的消息存储方法及系统
CN104598652B (zh) 一种数据库查询方法及装置
CN107423321B (zh) 适用大批量小文件云存储的方法及其装置
CN112069088B (zh) 一种地址映射管理方法及相关装置、设备
CN113407120B (zh) 基于hmb的映射表管理方法、装置及计算机设备
US20210349918A1 (en) Methods and apparatus to partition a database
CN107273443B (zh) 一种基于大数据模型元数据的混合索引方法
WO2016175880A1 (en) Merging incoming data in a database
CN108804571B (zh) 一种数据存储方法、装置以及设备
CN103902693A (zh) 一种读优化的内存数据库t树索引结构的方法
CN110110034A (zh) 一种基于图的rdf数据管理方法、装置及存储介质

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
CB02 Change of applicant information

Address after: Room 1202, Floor 12, Building 3, No. 126, Yueda Lane, Changhe Street, Binjiang District, Hangzhou City, Zhejiang Province, 310056

Applicant after: Zhejiang Huayi Core Technology Co.,Ltd.

Address before: 310051 room 512, building 2, 2930 South Ring Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Zhejiang Dahua Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant