CN111597129B - 缓存管理方法、装置、存储介质和固态非易失存储设备 - Google Patents
缓存管理方法、装置、存储介质和固态非易失存储设备 Download PDFInfo
- Publication number
- CN111597129B CN111597129B CN202010437457.4A CN202010437457A CN111597129B CN 111597129 B CN111597129 B CN 111597129B CN 202010437457 A CN202010437457 A CN 202010437457A CN 111597129 B CN111597129 B CN 111597129B
- Authority
- CN
- China
- Prior art keywords
- cache
- mapping table
- sub
- compression ratio
- unit
- 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
Images
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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
-
- 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供了一种缓存管理方法、装置、存储介质和固态非易失存储设备,该缓存管理方法包括:根据各第一L2P映射表子层单元的压缩比确定统一压缩比,第一L2P映射表子层单元为压缩格式的L2P映射表子层单元;根据统一压缩比和缓存容量确定缓存空间的拆分数量,缓存空间为高速缓冲存储器的存储空间;按照拆分数量拆分缓存空间,得到多个子空间;采用子空间存储第一L2P映射表子层单元。方法根据各第一L2P映射表子层单元的压缩比确定统一压缩比,根据统一压缩比和缓存容量,从而将存储空间拆分成合适数量的子空间,使得子空间可以存储更多的第一L2P映射表子层单元,从而提高了高速缓冲存储器的缓存空间的利用率。
Description
技术领域
本申请涉及固态非易失存储设备技术领域,具体而言,涉及一种缓存管理方法、装置、存储介质、处理器和固态非易失存储设备。
背景技术
L2P映射表,即Logical-to-Physical,逻辑地址到物理地址的地址映射表,可以分为父层和子层,子层包括多个L2P映射表子层单元,父层存储L2P映射表子层单元的信息。为改善DRAMLESS固态非易失存储设备的性能,对L2P表子层单元做压缩,从而在不增大片上缓存的情况下,可以同时缓存更多的子层单元,进而提升L2P子层单元的cache命中率,从而达到提升固态非易失存储设备性能的目的。
未压缩的L2P表子层单元,其占用的空间都是固定统一的。例如,子层单元是以1024为限拆分而来,则每个子层单元均包含1024个基本信息单位entry,每个基本信息单位entry如果占用4Bytes,即占用32bits。这种情况下每个子层单元的空间占用都是4KB,那么,缓存子层单元的cache空间只需要以4KB为标准拆分开来加以管理就可以了。
不同的子层单元,会有不同的压缩率,经过压缩后的子层单元,其空间占用不再统一,但是,以固定4KB为标准拆分cache空间并管理的方法,仍然可以用在压缩格式的子层单元上,在这种情况下,cache空间能够放下的压缩格式的子层单元数量和不压缩格式的子层单元数量完全一样,压缩没有提高cache空间的利用率。
另外一种管理方法将各压缩的子层单元紧密的放置在cache空间中,如图1所示,如此确实可以提升子层单元的缓存数量,但是cache中的数据不是一成不变的,子层单元经常会需要替换。
如图2所示,固件FW需要将子层单元3淘汰出cache,腾出空间放子层单元5。但在这种情况下,淘汰子层单元3所腾出的空隙并不足以放下子层单元5,如果采用图3所示的方法,将子层单元5拆开放置,那么,随着后续更多的替换操作,整个cache空间会变得支离破碎,管理工作的复杂度会彻底失控。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。
发明内容
本申请的主要目的在于提供一种缓存管理方法、装置、存储介质、处理器和固态非易失存储设备,以解决现有技术的固态非易失存储设备中高速缓冲存储器的缓存空间的利用率较低的问题。
根据本发明实施例的一个方面,提供了一种缓存管理方法,包括:根据各第一L2P映射表子层单元的压缩比确定统一压缩比,所述第一L2P映射表子层单元为压缩格式的L2P映射表子层单元;根据所述统一压缩比和缓存容量确定缓存空间的拆分数量,所述缓存空间为高速缓冲存储器的存储空间;按照所述拆分数量拆分所述缓存空间,得到多个子空间;采用所述子空间存储所述第一L2P映射表子层单元。
可选地,根据第一L2P映射表子层单元的压缩比确定统一压缩比,包括:在预定比例小于或者等于预定阈值的情况下,确定预备压缩比为所述统一压缩比,所述预定比例为所述第一L2P映射表子层单元中第二L2P映射表子层单元的数量比例,所述第二L2P映射表子层单元的压缩比大于所述预备压缩比。
可选地,所述预定阈值为5%~20%。
可选地,采用所述子空间存储所述第一L2P映射表子层单元,包括:将多个所述子空间进行编号;根据压缩容量确定占用数量,所述压缩容量为所述第一L2P映射表子层单元的容量,所述占用数量为所述第一L2P映射表子层单元占用的所述子空间的数量;根据所述占用数量将所述第一L2P映射表子层单元的数据进行拆分,得到拆分数据;将所述拆分数据按照空白子空间的编号的大小顺序依次存储在所述空白子空间内,所述空白子空间为未存储数据的所述子空间。
可选地,将所述拆分数据按照空白子空间的编号的大小顺序存储在所述空白子空间内,包括:确定所述空白子空间的数量;在所述空白子空间的数量大于或者等于所述占用数量的情况下,将所述拆分数据按照所述空白子空间的编号的大小顺序依次存储在所述空白子空间内;在所述空白子空间的数量小于所述占用数量的情况下,删除部分已存储的所述第一L2P映射表子层单元,以使得删除后得到的所述空白子空间的数量大于或者等于所述占用数量。
可选地,将所述拆分数据按照编号顺序依次存储在未存储数据的所述子空间内之后,所述缓存管理方法还包括:确定存储所述拆分数据的所述子空间的最小编号;将所述最小编号更新至L2P映射表的父层的对应单元,所述对应单元用于记录子层信息,所述第一L2P映射表子层单元与所述对应单元一一对应。
根据本发明实施例的另一方面,还提供了一种缓存管理装置,包括:第一确定单元,用于根据各第一L2P映射表子层单元的压缩比确定统一压缩比,所述第一L2P映射表子层单元为压缩格式的L2P映射表子层单元;第二确定单元,用于根据所述统一压缩比和缓存容量确定缓存空间的拆分数量,所述缓存空间为高速缓冲存储器的存储空间;第一处理单元,用于按照所述拆分数量拆分所述缓存空间,得到多个子空间;第二处理单元,用于采用所述子空间存储所述第一L2P映射表子层单元。
根据本发明实施例的再一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行任意一种所述的缓存管理方法。
根据本发明实施例的又一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的缓存管理方法。
根据本发明实施例的再一方面,还提供了一种固态非易失存储设备,包括L2P映射表、高速缓冲存储器和缓存管理装置,所述缓存管理装置为任意一种所述的缓存管理装置。
可选地,所述固态非易失存储设备包括固态硬盘,通用闪存设备、嵌入式的多媒体存储卡以及U盘中的至少一种。
在本发明实施例中,上述缓存管理方法中,首先,根据各第一L2P映射表子层单元的压缩比确定统一压缩比,然后,根据统一压缩比和缓存容量确定缓存空间的拆分数量,之后,按照拆分数量拆分缓存空间,得到多个子空间,最后,采用子空间存储第一L2P映射表子层单元。由于单个不压缩L2P映射表子层单元的容量为固定的,但是各第一L2P映射表子层单元的压缩比不同,上述方法根据各第一L2P映射表子层单元的压缩比确定统一压缩比,根据统一压缩比和缓存容量,从而将高速缓冲存储器的存储空间拆分成合适数量的子空间,使得子空间可以存储更多的第一L2P映射表子层单元,从而提高了固态非易失存储设备中高速缓冲存储器的缓存空间的利用率,解决了现有技术的固态非易失存储设备中高速缓冲存储器的缓存空间的利用率较低的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1至图3示出了现有技术中cache空间的示意图;
图4示出了根据本申请的一种实施例的缓存管理方法的流程图;
图5至图8示出了根据本申请的一种实施例的高速缓冲存储器的存储空间的示意图;以及
图9示出了根据本申请的一种实施例的缓存管理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
cache:即高速缓冲存储器,位于CPU和主存储器DRAM之间,规模较小但速度很高的存储器;
正如背景技术中所说的,现有技术的固态非易失存储设备中高速缓冲存储器的缓存空间的利用率较低,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种缓存管理方法、装置、存储介质、处理器和固态非易失存储设备。
根据本申请的实施例,提供了一种缓存管理方法。
图4是根据本申请实施例的缓存管理方法的流程图。如图4所示,该方法包括以下步骤:
步骤S101,根据各第一L2P映射表子层单元的压缩比确定统一压缩比,上述第一L2P映射表子层单元为压缩格式的L2P映射表子层单元;
步骤S102,根据上述统一压缩比和缓存容量确定缓存空间的拆分数量,上述缓存空间为高速缓冲存储器的存储空间;
步骤S103,按照上述拆分数量拆分上述缓存空间,得到多个子空间;
步骤S104,采用上述子空间存储上述第一L2P映射表子层单元。
上述缓存管理方法中,首先,根据各第一L2P映射表子层单元的压缩比确定统一压缩比,然后,根据统一压缩比和缓存容量确定缓存空间的拆分数量,之后,按照拆分数量拆分缓存空间,得到多个子空间,最后,采用子空间存储第一L2P映射表子层单元。由于单个不压缩L2P映射表子层单元的容量为固定的,但是各第一L2P映射表子层单元的压缩比不同,上述方法根据各第一L2P映射表子层单元的压缩比确定统一压缩比,根据统一压缩比和缓存容量,从而将高速缓冲存储器的存储空间拆分成合适数量的子空间,使得子空间可以存储更多的第一L2P映射表子层单元,从而提高了固态非易失存储设备中高速缓冲存储器的缓存空间的利用率,解决了现有技术的固态非易失存储设备中高速缓冲存储器的缓存空间的利用率较低的问题。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的一种实例中,根据第一L2P映射表子层单元的压缩比确定统一压缩比,包括:在预定比例小于或者等于预定阈值的情况下,确定预备压缩比为上述统一压缩比,上述预定比例为上述第一L2P映射表子层单元中第二L2P映射表子层单元的数量比例,上述第二L2P映射表子层单元的压缩比大于上述预备压缩比。具体地,选取一个预备压缩比,计算得到预定比例,在预定比例小于或者等于预定阈值的情况下,确定该预备压缩比为统一压缩比,在预定比例大于预定阈值的情况下,重新选取预备压缩比,直至预备压缩比对应的预定比例小于或者等于预定阈值,确定该预备压缩比为统一压缩比,例如,预定阈值为10%,预备压缩比为8,若预备压缩比对应的预定比例小于10%,则确定统一压缩比为8。
本申请的一种实例中,上述预定阈值为5%~20%。具体地,将预定阈值设置在上述范围内,以确定合适的统一压缩比,从而确定合适的拆分数量,进一步提高固态非易失存储设备中高速缓冲存储器的缓存空间的利用率,当然,上述预定阈值也不限于此,本领域技术人员可以根据实际情况调整预定阈值,以进一步提高固态非易失存储设备中高速缓冲存储器的缓存空间的利用率。
本申请的一种实例中,采用上述子空间存储上述第一L2P映射表子层单元,包括:将多个上述子空间进行编号;根据压缩容量确定占用数量,上述压缩容量为上述第一L2P映射表子层单元的容量,上述占用数量为上述第一L2P映射表子层单元占用的上述子空间的数量;根据上述占用数量将上述第一L2P映射表子层单元的数据进行拆分,得到拆分数据;将上述拆分数据按照空白子空间的编号的大小顺序依次存储在上述空白子空间内,上述空白子空间为未存储数据的上述子空间。具体地,将多个子空间进行编号,根据高速缓冲存储器的缓存容量和子空间的数量,即可确定单个子空间的容量,根据压缩容量和单个子空间的容量即可确定占用数量,再根据占用数量将第一L2P映射表子层单元的数据进行拆分,将拆分数据按照空白子空间的编号的大小顺序依次存储在空白子空间内,避免漏用空白子空间,使得子空间可以存储更多的第一L2P映射表子层单元,进一步提高固态非易失存储设备中高速缓冲存储器的缓存空间的利用率。例如,高速缓冲存储器的缓存容量为512KB,单个不压缩L2P映射表子层单元的容量为4KB,统一压缩比为8,则拆分数量为1024,即子空间的数量为1024,单个子空间的容量为0.5KB,则容量为2.7KB的第一L2P映射表子层单元的占用数量为6。
本申请的一种实例中,将上述拆分数据按照空白子空间的编号的大小顺序存储在上述空白子空间内,包括:确定上述空白子空间的数量;在上述空白子空间的数量大于或者等于上述占用数量的情况下,将上述拆分数据按照上述空白子空间的编号的大小顺序依次存储在上述空白子空间内;在上述空白子空间的数量小于上述占用数量的情况下,删除部分已存储的上述第一L2P映射表子层单元,以使得删除后得到的上述空白子空间的数量大于或者等于上述占用数量。具体地,上述方法通过比较当前的空白子空间的数量和占用数量,确定是否删除部分已存储的第一L2P映射表子层单元,以确保空白子空间的数量大于或者等于占用数量,使得拆分数据可以按照空白子空间的编号的大小顺序依次存储在空白子空间内,以保证高速缓冲存储器可以调取需要的第一L2P映射表子层单元。
需要说明的是,如图5所示,高速缓冲存储器的缓存空间存储3个第一L2P映射表子层单元,存储第一L2P映射表子层单元X的子空间的编号分别为1、2、3和4,存储第一L2P映射表子层单元Y的子空间的编号分别为6、7、8、10和11,存储第一L2P映射表子层单元Z的子空间的编号分别为15、16和17,高速缓冲存储器调取占用数量为6的第一L2P映射表子层单元A,将第一L2P映射表子层单元A的拆分数据依次存储在编号5、9、12、13、14和18的空白子空间内,如图6所示,高速缓冲存储器调取占用数量为4的第一L2P映射表子层单元B,删除第一L2P映射表子层单元Y,得到5个空白子空间,如图7所示,将第一L2P映射表子层单元A的拆分数据依次存储在编号6、7、8和10的空白子空间内,如图8所示。
需要说明的是,图5、图6、图7和图8中子空间中不同的填充表示子空间的占用状态不同,具体的占用状态包括是否被占用以及被哪个第一L2P映射表子层单元占用的状态。
本申请的一种实例中,将上述拆分数据按照编号顺序依次存储在未存储数据的上述子空间内之后,上述缓存管理方法还包括:确定存储上述拆分数据的上述子空间的最小编号;将上述最小编号更新至L2P映射表的父层的对应单元,上述对应单元用于记录子层信息,上述第一L2P映射表子层单元与上述对应单元一一对应。具体地,上述方法将存储第一L2P映射表子层单元的子空间的最小编号存储在L2P映射表的父层的对应单元,并将最小编号与第一L2P映射表子层单元建立链表,从而根据最小编号找到存储第一L2P映射表子层单元的子空间,便于后续根据链表删除已存储的第一L2P映射表子层单元,降低了高速缓冲存储器的缓存空间的管理复杂度。
本申请实施例还提供了一种缓存管理装置,需要说明的是,本申请实施例的缓存管理装置可以用于执行本申请实施例所提供的缓存管理方法。以下对本申请实施例提供的缓存管理装置进行介绍。
图9是根据本申请实施例的缓存管理装置的示意图,上述控制装置包括:
第一确定单元10,用于根据第一L2P映射表子层单元的压缩比确定统一压缩比,上述第一L2P映射表子层单元为压缩格式的L2P映射表子层单元;
第二确定单元20,用于根据上述统一压缩比和缓存容量确定缓存空间的拆分数量,上述缓存空间为高速缓冲存储器的存储空间;
第一处理单元30,用于按照上述拆分数量拆分上述缓存空间,得到多个子空间;
第二处理单元40,用于采用上述子空间存储上述第一L2P映射表子层单元。
上述缓存管理装置中,第一确定单元根据各第一L2P映射表子层单元的压缩比确定统一压缩比,第二确定单元根据统一压缩比和缓存容量确定缓存空间的拆分数量,第一处理单元按照拆分数量拆分缓存空间,得到多个子空间,第二处理单元采用子空间存储第一L2P映射表子层单元。由于单个不压缩L2P映射表子层单元的容量为固定的,但是各第一L2P映射表子层单元的压缩比不同,上述装置根据各第一L2P映射表子层单元的压缩比确定统一压缩比,根据统一压缩比和缓存容量,从而将高速缓冲存储器的存储空间拆分成合适数量的子空间,使得子空间可以存储更多的第一L2P映射表子层单元,从而提高了固态非易失存储设备中高速缓冲存储器的缓存空间的利用率,解决了现有技术的固态非易失存储设备中高速缓冲存储器的缓存空间的利用率较低的问题。
本申请的一种实例中,上述第一确定单元包括第一确定模块,其中,上述第一确定模块用于在预定比例小于或者等于预定阈值的情况下,确定预备压缩比为上述统一压缩比,上述预定比例为上述第一L2P映射表子层单元中第二L2P映射表子层单元的数量比例,上述第二L2P映射表子层单元的压缩比大于上述预备压缩比。具体地,选取一个预备压缩比,计算得到预定比例,在预定比例小于或者等于预定阈值的情况下,确定该预备压缩比为统一压缩比,在预定比例大于预定阈值的情况下,重新选取预备压缩比,直至预备压缩比对应的预定比例小于或者等于预定阈值,确定该预备压缩比为统一压缩比,例如,预定阈值为10%,预备压缩比为8,若预备压缩比对应的预定比例小于10%,则确定统一压缩比为8。
本申请的一种实例中,上述预定阈值为5%~20%。具体地,将预定阈值设置在上述范围内,以确定合适的统一压缩比,从而确定合适的拆分数量,进一步提高固态非易失存储设备中高速缓冲存储器的缓存空间的利用率,当然,上述预定阈值也不限于此,本领域技术人员可以根据实际情况调整预定阈值,以进一步提高固态非易失存储设备中高速缓冲存储器的缓存空间的利用率。
本申请的一种实例中,上述第二处理单元包括第一处理模块、第二确定模块、第二处理模块和第三处理模块,其中,上述第一处理模块用于将多个上述子空间进行编号;上述第二确定模块用于根据压缩容量确定占用数量,上述压缩容量为上述第一L2P映射表子层单元的容量,上述占用数量为上述第一L2P映射表子层单元占用的上述子空间的数量;上述第二处理模块用于根据上述占用数量将上述第一L2P映射表子层单元的数据进行拆分,得到拆分数据;上述第三处理模块用于将上述拆分数据按照空白子空间的编号的大小顺序依次存储在上述空白子空间内,上述空白子空间为未存储数据的上述子空间。具体地,将多个子空间进行编号,根据高速缓冲存储器的缓存容量和子空间的数量,即可确定单个子空间的容量,根据压缩容量和单个子空间的容量即可确定占用数量,再根据占用数量将第一L2P映射表子层单元的数据进行拆分,将拆分数据按照空白子空间的编号的大小顺序依次存储在空白子空间内,避免漏用空白子空间,使得子空间可以存储更多的第一L2P映射表子层单元,进一步提高固态非易失存储设备中高速缓冲存储器的缓存空间的利用率。例如,高速缓冲存储器的缓存容量为512KB,单个不压缩L2P映射表子层单元的容量为4KB,统一压缩比为8,则拆分数量为1024,即子空间的数量为1024,单个子空间的容量为0.5KB,则容量为2.7KB的第一L2P映射表子层单元的占用数量为6。
本申请的一种实例中,上述第三处理模块包括确定子模块、第一处理子模块和第二处理子模块,其中,上述确定子模块用于确定上述空白子空间的数量;上述第一处理子模块用于在上述空白子空间的数量大于或者等于上述占用数量的情况下,将上述拆分数据按照上述空白子空间的编号的大小顺序依次存储在上述空白子空间内;上述第二处理子模块用于在上述空白子空间的数量小于上述占用数量的情况下,删除部分已存储的上述第一L2P映射表子层单元,以使得删除后得到的上述空白子空间的数量大于或者等于上述占用数量。具体地,上述装置通过比较当前的空白子空间的数量和占用数量,确定是否删除部分已存储的第一L2P映射表子层单元,以确保空白子空间的数量大于或者等于占用数量,使得拆分数据可以按照空白子空间的编号的大小顺序依次存储在空白子空间内,以保证高速缓冲存储器可以调取需要的第一L2P映射表子层单元。
需要说明的是,如图5所示,高速缓冲存储器的缓存空间存储3个第一L2P映射表子层单元,存储第一L2P映射表子层单元X的子空间的编号分别为1、2、3和4,存储第一L2P映射表子层单元Y的子空间的编号分别为6、7、8、10和11,存储第一L2P映射表子层单元Z的子空间的编号分别为15、16和17,高速缓冲存储器调取占用数量为6的第一L2P映射表子层单元A,将第一L2P映射表子层单元A的拆分数据依次存储在编号5、9、12、13、14和18的空白子空间内,如图6所示,高速缓冲存储器调取占用数量为4的第一L2P映射表子层单元B,删除第一L2P映射表子层单元Y,得到5个空白子空间,如图7所示,将第一L2P映射表子层单元A的拆分数据依次存储在编号6、7、8和10的空白子空间内,如图8所示。
本申请的一种实例中,上述缓存管理装置还包括记录单元,上述记录单元包括第三确定模块和记录模块,其中,上述第三确定模块用于将上述拆分数据按照编号顺序依次存储在未存储数据的上述子空间内之后,确定存储上述拆分数据的上述子空间的最小编号;上述记录模块用于将上述最小编号更新至L2P映射表的父层的对应单元,上述对应单元用于记录子层信息,上述第一L2P映射表子层单元与上述对应单元一一对应。具体地,上述装置将存储第一L2P映射表子层单元的子空间的最小编号存储在L2P映射表的父层的对应单元,并将最小编号与第一L2P映射表子层单元建立链表,从而根据最小编号找到存储第一L2P映射表子层单元的子空间,便于后续根据链表删除已存储的第一L2P映射表子层单元,降低了高速缓冲存储器的缓存空间的管理复杂度。
本申请实施例还提供了一种固态非易失存储设备,包括L2P映射表、高速缓冲存储器和缓存管理装置,上述缓存管理装置为任意一种上述的缓存管理装置。
上述固态非易失存储设备中,包括缓存管理装置,第一确定单元根据各第一L2P映射表子层单元的压缩比确定统一压缩比,第二确定单元根据统一压缩比和缓存容量确定缓存空间的拆分数量,第一处理单元按照拆分数量拆分缓存空间,得到多个子空间,第二处理单元采用子空间存储第一L2P映射表子层单元。由于单个不压缩L2P映射表子层单元的容量为固定的,但是各第一L2P映射表子层单元的压缩比不同,上述装置根据各第一L2P映射表子层单元的压缩比确定统一压缩比,根据统一压缩比和缓存容量,从而将高速缓冲存储器的存储空间拆分成合适数量的子空间,使得子空间可以存储更多的第一L2P映射表子层单元,从而提高了固态非易失存储设备中高速缓冲存储器的缓存空间的利用率,解决了现有技术的固态非易失存储设备中高速缓冲存储器的缓存空间的利用率较低的问题。
上述缓存管理装置包括处理器和存储器,上述第一确定单元、第二确定单元、第一处理单元和第二处理单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述固态非易失存储设备包括固态硬盘,通用闪存设备(Universal FlashStorage,简称UFS)、嵌入式的多媒体存储卡(embedded Multi Media Card,简称eMMC)以及U盘中的至少一种。
当然,实际的应用中,并不限于上述的具体存储设备,固态非易失存储设备还可以包括其他的对应设备。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术的固态非易失存储设备中高速缓冲存储器的缓存空间的利用率较低的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述缓存管理方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述缓存管理方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,根据各第一L2P映射表子层单元的压缩比确定统一压缩比,上述第一L2P映射表子层单元为压缩格式的L2P映射表子层单元;
步骤S102,根据上述统一压缩比和缓存容量确定缓存空间的拆分数量,上述缓存空间为高速缓冲存储器的存储空间;
步骤S103,按照上述拆分数量拆分上述缓存空间,得到多个子空间;
步骤S104,采用上述子空间存储上述第一L2P映射表子层单元。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,根据各第一L2P映射表子层单元的压缩比确定统一压缩比,上述第一L2P映射表子层单元为压缩格式的L2P映射表子层单元;
步骤S102,根据上述统一压缩比和缓存容量确定缓存空间的拆分数量,上述缓存空间为高速缓冲存储器的存储空间;
步骤S103,按照上述拆分数量拆分上述缓存空间,得到多个子空间;
步骤S104,采用上述子空间存储上述第一L2P映射表子层单元。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的缓存管理方法中,首先,根据各第一L2P映射表子层单元的压缩比确定统一压缩比,然后,根据统一压缩比和缓存容量确定缓存空间的拆分数量,之后,按照拆分数量拆分缓存空间,得到多个子空间,最后,采用子空间存储第一L2P映射表子层单元。由于单个不压缩L2P映射表子层单元的容量为固定的,但是各第一L2P映射表子层单元的压缩比不同,上述方法根据各第一L2P映射表子层单元的压缩比确定统一压缩比,根据统一压缩比和缓存容量,从而将高速缓冲存储器的存储空间拆分成合适数量的子空间,使得子空间可以存储更多的第一L2P映射表子层单元,从而提高了固态非易失存储设备中高速缓冲存储器的缓存空间的利用率,解决了现有技术的固态非易失存储设备中高速缓冲存储器的缓存空间的利用率较低的问题。
2)、本申请的缓存管理装置中,第一确定单元根据各第一L2P映射表子层单元的压缩比确定统一压缩比,第二确定单元根据统一压缩比和缓存容量确定缓存空间的拆分数量,第一处理单元按照拆分数量拆分缓存空间,得到多个子空间,第二处理单元采用子空间存储第一L2P映射表子层单元。由于单个不压缩L2P映射表子层单元的容量为固定的,但是各第一L2P映射表子层单元的压缩比不同,上述装置根据各第一L2P映射表子层单元的压缩比确定统一压缩比,根据统一压缩比和缓存容量,从而将高速缓冲存储器的存储空间拆分成合适数量的子空间,使得子空间可以存储更多的第一L2P映射表子层单元,从而提高了固态非易失存储设备中高速缓冲存储器的缓存空间的利用率,解决了现有技术的固态非易失存储设备中高速缓冲存储器的缓存空间的利用率较低的问题。
3)、本申请的固态非易失存储设备中,包括缓存管理装置,第一确定单元根据各第一L2P映射表子层单元的压缩比确定统一压缩比,第二确定单元根据统一压缩比和缓存容量确定缓存空间的拆分数量,第一处理单元按照拆分数量拆分缓存空间,得到多个子空间,第二处理单元采用子空间存储第一L2P映射表子层单元。由于单个不压缩L2P映射表子层单元的容量为固定的,但是各第一L2P映射表子层单元的压缩比不同,上述装置根据各第一L2P映射表子层单元的压缩比确定统一压缩比,根据统一压缩比和缓存容量,从而将高速缓冲存储器的存储空间拆分成合适数量的子空间,使得子空间可以存储更多的第一L2P映射表子层单元,从而提高了固态非易失存储设备中高速缓冲存储器的缓存空间的利用率,解决了现有技术的固态非易失存储设备中高速缓冲存储器的缓存空间的利用率较低的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种缓存管理方法,其特征在于,包括:
根据各第一L2P映射表子层单元的压缩比确定统一压缩比,所述第一L2P映射表子层单元为压缩格式的L2P映射表子层单元;
根据所述统一压缩比和缓存容量确定缓存空间的拆分数量,所述缓存空间为高速缓冲存储器的存储空间;
按照所述拆分数量拆分所述缓存空间,得到多个子空间;
采用所述子空间存储所述第一L2P映射表子层单元;
根据上述的缓存管理方法,其特征在于,根据第一L2P映射表子层单元的压缩比确定统一压缩比,包括:
在预定比例小于或者等于预定阈值的情况下,确定预备压缩比为所述统一压缩比,所述预定比例为所述第一L2P映射表子层单元中的第二L2P映射表子层单元的数量比例,所述第二L2P映射表子层单元的压缩比大于所述预备压缩比。
2.根据权利要求1所述的缓存管理方法,其特征在于,所述预定阈值为5%~20%。
3.根据权利要求1所述的缓存管理方法,其特征在于,采用所述子空间存储所述第一L2P映射表子层单元,包括:
将多个所述子空间进行编号;
根据压缩容量确定占用数量,所述压缩容量为所述第一L2P映射表子层单元的容量,所述占用数量为所述第一L2P映射表子层单元占用的所述子空间的数量;
根据所述占用数量将所述第一L2P映射表子层单元的数据进行拆分,得到拆分数据;
将所述拆分数据按照空白子空间的编号的大小顺序依次存储在所述空白子空间内,所述空白子空间为未存储数据的所述子空间。
4.根据权利要求3所述的缓存管理方法,其特征在于,将所述拆分数据按照空白子空间的编号的大小顺序存储在所述空白子空间内,包括:
确定所述空白子空间的数量;
在所述空白子空间的数量大于或者等于所述占用数量的情况下,将所述拆分数据按照所述空白子空间的编号的大小顺序依次存储在所述空白子空间内;
在所述空白子空间的数量小于所述占用数量的情况下,删除部分已存储的所述第一L2P映射表子层单元,以使得删除后得到的所述空白子空间的数量大于或者等于所述占用数量。
5.根据权利要求4所述的缓存管理方法,其特征在于,将所述拆分数据按照编号顺序依次存储在未存储数据的所述子空间内之后,所述缓存管理方法还包括:
确定存储所述拆分数据的所述子空间的最小编号;
将所述最小编号更新至L2P映射表的父层的对应单元,所述对应单元用于记录子层信息,所述第一L2P映射表子层单元与所述对应单元一一对应。
6.一种缓存管理装置,其特征在于,包括:
第一确定单元,用于根据各第一L2P映射表子层单元的压缩比确定统一压缩比,所述第一L2P映射表子层单元为压缩格式的L2P映射表子层单元;
第二确定单元,用于根据所述统一压缩比和缓存容量确定缓存空间的拆分数量,所述缓存空间为高速缓冲存储器的存储空间;
第一处理单元,用于按照所述拆分数量拆分所述缓存空间,得到多个子空间;
第二处理单元,用于采用所述子空间存储所述第一L2P映射表子层单元;
上述第一确定单元包括第一确定模块,其中,上述第一确定模块用于在预定比例小于或者等于预定阈值的情况下,确定预备压缩比为上述统一压缩比,上述预定比例为上述第一L2P映射表子层单元中的第二L2P映射表子层单元的数量比例,上述第二L2P映射表子层单元的压缩比大于上述预备压缩比。
7.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的缓存管理方法。
8.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的缓存管理方法。
9.一种固态非易失存储设备,包括L2P映射表、高速缓冲存储器和缓存管理装置,其特征在于,所述缓存管理装置为权利要求6 所述的缓存管理装置。
10.根据权利要求9所述的固态非易失存储设备,其特征在于,所述固态非易失存储设备包括固态硬盘,通用闪存设备、嵌入式的多媒体存储卡以及U盘中的至少一种。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010437457.4A CN111597129B (zh) | 2020-05-21 | 2020-05-21 | 缓存管理方法、装置、存储介质和固态非易失存储设备 |
PCT/CN2020/132910 WO2021232743A1 (zh) | 2020-05-21 | 2020-11-30 | 缓存管理方法、装置、存储介质和固态非易失存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010437457.4A CN111597129B (zh) | 2020-05-21 | 2020-05-21 | 缓存管理方法、装置、存储介质和固态非易失存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597129A CN111597129A (zh) | 2020-08-28 |
CN111597129B true CN111597129B (zh) | 2022-06-07 |
Family
ID=72187463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010437457.4A Active CN111597129B (zh) | 2020-05-21 | 2020-05-21 | 缓存管理方法、装置、存储介质和固态非易失存储设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111597129B (zh) |
WO (1) | WO2021232743A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597129B (zh) * | 2020-05-21 | 2022-06-07 | 北京泽石科技有限公司 | 缓存管理方法、装置、存储介质和固态非易失存储设备 |
CN112069189B (zh) * | 2020-09-16 | 2024-05-17 | 深圳市硅格半导体有限公司 | 多层级映射表格的更新方法、系统、终端设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201007451A (en) * | 2008-08-12 | 2010-02-16 | Phison Electronics Corp | Block management method for flash memory and storage system and controller using the same |
US8751830B2 (en) * | 2012-01-23 | 2014-06-10 | International Business Machines Corporation | Memory address translation-based data encryption/compression |
US9229874B2 (en) * | 2013-09-27 | 2016-01-05 | Intel Corporation | Apparatus and method for compressing a memory address |
US9229876B2 (en) * | 2013-12-17 | 2016-01-05 | Sandisk Technologies Inc. | Method and system for dynamic compression of address tables in a memory |
CN106776376B (zh) * | 2015-11-24 | 2019-08-06 | 群联电子股份有限公司 | 缓冲存储器管理方法、存储器控制电路单元及存储装置 |
US10067881B2 (en) * | 2016-06-15 | 2018-09-04 | Western Digital Technologies, Inc. | Compression and caching for logical-to-physical storage address mapping tables |
KR20190059053A (ko) * | 2017-11-22 | 2019-05-30 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
TWI662410B (zh) * | 2017-12-18 | 2019-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
KR102571629B1 (ko) * | 2018-05-23 | 2023-08-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20190143073A (ko) * | 2018-06-20 | 2019-12-30 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200006379A (ko) * | 2018-07-10 | 2020-01-20 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작방법 |
CN111104052B (zh) * | 2018-10-26 | 2023-08-25 | 伊姆西Ip控股有限责任公司 | 用于存储数据的方法、装置和计算机可读存储介质 |
CN109992530A (zh) * | 2019-03-01 | 2019-07-09 | 晶天电子(深圳)有限公司 | 一种固态驱动器设备及基于该固态驱动器的数据读写方法 |
CN111104345B (zh) * | 2019-12-12 | 2022-11-08 | 苏州浪潮智能科技有限公司 | 一种ssd上电恢复方法、系统及主机 |
CN111597129B (zh) * | 2020-05-21 | 2022-06-07 | 北京泽石科技有限公司 | 缓存管理方法、装置、存储介质和固态非易失存储设备 |
-
2020
- 2020-05-21 CN CN202010437457.4A patent/CN111597129B/zh active Active
- 2020-11-30 WO PCT/CN2020/132910 patent/WO2021232743A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021232743A1 (zh) | 2021-11-25 |
CN111597129A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108287669B (zh) | 数据存储方法、装置及存储介质 | |
CN103064639B (zh) | 数据存储方法及装置 | |
CN111506262B (zh) | 一种存储系统、文件存储和读取方法及终端设备 | |
US11347443B2 (en) | Multi-tier storage using multiple file sets | |
CN103218224B (zh) | 一种提高存储空间利用率的方法和终端 | |
US20170177497A1 (en) | Compressed caching of a logical-to-physical address table for nand-type flash memory | |
US9213731B2 (en) | Determining whether to relocate data to a different tier in a multi-tier storage system | |
EP3037988A1 (en) | Configuration method and device for hash database | |
CN114860163B (zh) | 一种存储系统、内存管理方法和管理节点 | |
CN106406759B (zh) | 一种数据存储方法及装置 | |
CN111597129B (zh) | 缓存管理方法、装置、存储介质和固态非易失存储设备 | |
EP3059679B1 (en) | Controller, flash memory device, method for identifying data block stability and method for storing data on flash memory device | |
CN107209714A (zh) | 分布式存储系统及分布式存储系统的控制方法 | |
CN106170757B (zh) | 一种数据存储方法及装置 | |
CN109804359A (zh) | 用于将数据回写到存储设备的系统和方法 | |
US20190370009A1 (en) | Intelligent swap for fatigable storage mediums | |
CN103473266A (zh) | 固态硬盘及其删除重复数据的方法 | |
US10802726B2 (en) | Optimized placement of data contained in a garbage collected storage system | |
CN102541969B (zh) | 基于fat文件系统的文件保护方法、系统及存储器 | |
CN110147203A (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN108304142B (zh) | 一种数据管理方法和装置 | |
CN111930305A (zh) | 数据的存储方法和装置、存储介质、电子装置 | |
CN107423425B (zh) | 一种对k/v格式的数据快速存储和查询方法 | |
CN115934002B (zh) | 固态硬盘的访问方法、固态硬盘、存储系统及云服务器 | |
CN111007988B (zh) | 一种raid内部磨损均衡方法、系统、终端及存储介质 |
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 |