CN111930643B - 一种数据处理方法及相关设备 - Google Patents

一种数据处理方法及相关设备 Download PDF

Info

Publication number
CN111930643B
CN111930643B CN202011044170.1A CN202011044170A CN111930643B CN 111930643 B CN111930643 B CN 111930643B CN 202011044170 A CN202011044170 A CN 202011044170A CN 111930643 B CN111930643 B CN 111930643B
Authority
CN
China
Prior art keywords
block
data item
page
page address
cache
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
CN202011044170.1A
Other languages
English (en)
Other versions
CN111930643A (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.)
Chipsbank Technologies Shenzhen Co ltd
Original Assignee
Chipsbank Technologies Shenzhen 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 Chipsbank Technologies Shenzhen Co ltd filed Critical Chipsbank Technologies Shenzhen Co ltd
Priority to CN202011044170.1A priority Critical patent/CN111930643B/zh
Publication of CN111930643A publication Critical patent/CN111930643A/zh
Application granted granted Critical
Publication of CN111930643B publication Critical patent/CN111930643B/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0871Allocation or management of cache space
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0873Mapping of cache memory to specific storage devices or parts thereof
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement

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

一种数据处理方法及相关设备
技术领域
本申请涉及存储领域,尤其涉及一种数据处理方法及相关设备。
背景技术
大数据在万物互联时代的普及应用对数据存储和处理的速度以及密度提出了更高的要求,具有更低成本和更高密度的3D NandFlash应运而生。越来越多的大容量U盘、EMMC(Embedded Multi Media Card的简称,是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格)以及固态驱动器(Solid State Disk或Solid State Drive,SSD)等存储设备使用3D TLC/QLC NandFlash作为存储介质。为了提供与大容量更加匹配的读写性能和使用寿命,需要根据3D TLC/QLC NandFlash的新特点对FTL(FlashTranslation Layer的简称,为Nand Flash上增加一个管理软件,主要就是进行映射管理)算法进行创新性改进。
鉴于TLC/QLC模式编程时间达到毫秒级别,通常会采用SLC模式来缓存数据(但数据缓存块的容量仅为TLC/QLC模式的1/3或1/4,因此只能分配几组块来进行数据缓存,最终仍需将几个缓存块中的用户数据重新写入TLC/QLC模式的物理块),由于FLASH单块容量上升至几十MB,则用于进行Flash管理和数据缓存的块数不能过多,否则将直接影响到产品的容量。
这样就导致了只要存储芯片的逻辑块内逻辑页地址到物理页地址的映射表MapTbl写满,就会导致SLC模式缓存块到TLC/QLC模式物理块频繁的搬家操作,增加物理块的擦写次数。
发明内容
本申请提供了一种数据处理方法及相关设备,可以尽量避免出现虽然缓存块没有写满但因MapTbl满而导致的SLC模式缓存块到TLC/QLC模式物理块的搬家操作,尽可能的减少物理块的擦写次数,增加存储设备的使用寿命。
本申请第一方面提供了一种数据处理方法,包括:
当第一映射表中数据项达到第一预设值,且所述第一映射表中数据项对应的数据页不连续,且第一缓存块中空闲页的数量达到第二预设值时,遍历所述第一映射表的所有数据项,以确定出所述第一映射表中满足预设条件的第一数据项,所述第一映射表为存储芯片中第一逻辑块内逻辑页地址与物理页地址的映射表,所述第一逻辑块为所述存储芯片对应的逻辑块中的任意一个逻辑块,所述第一缓存块为所述存储芯片中所述第一逻辑块对应的缓存块;
判断所述第一数据项的逻辑页地址与第二数据项的逻辑页地址的间隔是否大于第三预设值,所述第二数据项为所述第一映射表中与所述第一数据项相邻的数据项;
当所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址间隔不大于所述第三预设值时,将所述第一数据项对应的数据页以及所述第一数据项对应的间隔页写入所述第一缓存块中的第一空闲页,所述第一数据项对应的间隔页为所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址之间的逻辑页地址对应的数据页;
根据所述第一空闲页对应的缓存页地址、第一逻辑页地址、第一缓存页地址以及第一项页数修改所述第一数据项对应的逻辑页地址、缓存页地址以及项页数,所述第一逻辑页地址、所述第一缓存页地址以及所述第一项页数均与所述第二数据项相对应。
可选地,所述方法还包括:
当所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址间隔大于所述第三预设值时,将所述第一数据项对应的数据页写入所述第一空闲页;
根据所述第一空闲页对应的缓存页地址修改所述第一数据项对应的缓存页地址。
可选地,所述方法还包括:
当所述第一映射表中的空闲项达到第四预设值,且所述第一缓存块中的空闲页不小于第五预设值,且所述存储芯片中不存在未分配的扩展缓存块时,确定所述存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块;
根据所述第二逻辑块对应的第二映射表中的页地址映射记录,将所述第二逻辑块对应的所有有效数据从第二缓存块中拷贝至所述存储芯片的第一物理块,所述第二缓存块为所述存储芯片中与所述第二逻辑块对应的缓存块:
根据所述第一物理块的物理块地址修改所述存储芯片对应的物理块地址映射表。
可选地,所述确定所述存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块包括:
通过所述存储芯片的扩展缓存块对应的逻辑块的空闲计数器对所述存储芯片的扩展缓存块的空闲时长进行对比,得到所述目标缓存块对应的第二逻辑块。
可选地,所述方法还包括:
当所述第一缓存块中空闲页的数量未达到所述第二预设值时,判断所述存储芯片中是否存在可分配的扩展缓存块;
当所述存储芯片中不存在可分配的扩展缓存块时,根据所述第一映射表中的页地址映射记录,将所述第一逻辑块对应的所有有效数据从所述第一缓存块中拷贝至所述存储芯片的第二物理块;
根据所述存储芯片的第二物理块的物理块地址修改所述存储芯片对应的物理块地址映射表。
本申请第二方面提供了一种数据处理装置,包括:
确定单元,用于当第一映射表中数据项达到第一预设值,且所述第一映射表中数据项对应的数据页不连续,且第一缓存块中空闲页的数量达到第二预设值时,遍历所述第一映射表的所有数据项,以确定出所述第一映射表中满足预设条件的第一数据项,所述第一映射表为存储芯片中第一逻辑块内逻辑页地址与物理页地址的映射表,所述第一逻辑块为所述存储芯片对应的逻辑块中的任意一个逻辑块,所述第一缓存块为所述存储芯片中所述第一逻辑块对应的缓存块;
判断单元,用于判断所述第一数据项的逻辑页地址与第二数据项的逻辑页地址的间隔是否大于第三预设值,所述第二数据项为所述第一映射表中与所述第一数据项相邻的数据项;
写入单元,用于当所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址间隔不大于所述第三预设值时,将所述第一数据项对应的数据页以及所述第一数据项对应的间隔页写入所述第一缓存块中的第一空闲页,所述第一数据项对应的间隔页为所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址之间的逻辑页地址对应的数据页;
根据所述第一空闲页对应的缓存页地址、第一逻辑页地址、第一缓存页地址以及第一项页数修改所述第一数据项对应的逻辑页地址、缓存页地址以及项页数,所述第一逻辑页地址、所述第一缓存页地址以及所述第一项页数均与所述第二数据项相对应。
可选地,所述写入单元,还用于当所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址间隔大于所述第三预设值时,将所述第一数据项对应的数据页写入所述第一空闲页;
所述修改单元,还用于根据所述第一空闲页对应的缓存页地址修改所述第一数据项对应的缓存页地址。
可选地,所述确定单元,还用于当所述第一映射表中的空闲项达到第四预设值,且所述第一缓存块中的空闲页不小于第五预设值,且所述存储芯片中不存在未分配的扩展缓存块时,确定所述存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块;
所述写入单元,还用于根据所述第二逻辑块对应的第二映射表中的页地址映射记录,将所述第二逻辑块对应的所有有效数据从第二缓存块中拷贝至所述存储芯片的第一物理块,所述第二缓存块为所述存储芯片中与所述第二逻辑块对应的缓存块:
所述修改单元,还用于根据所述第一物理块的物理块地址修改所述存储芯片对应的物理块地址映射表。
可选地,所述确定单元确定所述存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块包括:
通过所述存储芯片的扩展缓存块对应的逻辑块的空闲计数器对所述存储芯片的扩展缓存块的空闲时长进行对比,得到所述目标缓存块对应的第二逻辑块。
可选地,所述判断单元,还用于当所述第一缓存块中空闲页的数量未达到所述第二预设值时,判断所述存储芯片中是否存在可分配的扩展缓存块;
所述写入单元,还用当所述存储芯片中不存在可分配的扩展缓存块时,根据所述第一映射表中的页地址映射记录,将所述第一逻辑块对应的所有有效数据从所述第一缓存块中拷贝至所述存储芯片的第二物理块;
所述修改单元,还用于根据所述存储芯片的第二物理块的物理块地址修改所述存储芯片对应的物理块地址映射表。
本申请第三方面提供了一种计算机装置,其包括至少一个连接的处理器和存储器,其中,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现上述所述的数据处理方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述所述的数据处理方法的步骤。
综上所述,可以看出,本申请提供的实施例中,数据处理装置将存储芯片中逻辑块的映射表中所含页数较小的项(也即满足预设条件的项)重新写入缓存块的空闲地址,同时比较相邻两个逻辑页地址,如果相差在第三预设值以内,则将间隔页补齐至缓存块,根据文件系统的写入规律,该操作可将相当大一部分不连续的数据改为连续的数据,从而将MapTbl的项数合并,可以尽量避免出现虽然缓存块没有写满但因MapTbl满而导致的SLC模式缓存块到TLC/QLC模式物理块的搬家操作,尽可能的减少物理块的擦写次数,增加存储设备的使用寿命。
附图说明
图1为本申请实施例提供的数据处理方法的流程示意图;
图2为本申请实施例提供的数据处理装置的虚拟结构示意图;
图3为本申请实施例提供的服务器的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征向量可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
请参阅表1,首先对3D TLC/QLC NandFlash和传统SLC/MLC/TLCNandFlash特点进行对比说明:
表1
Figure 980435DEST_PATH_IMAGE001
鉴于3D TLC&QLC NandFlash的上述特点,FTL算法存在以下几方面的挑战:
1、每块页数上升至千页级别导致块内逻辑页地址到物理页地址的映射表MapTbl在随机写的极端情况下最大可能需要8KDW(1DW/PAGE),这几乎相当于所有RAM空间,而对于传统的FLASH结构,目前是采用128DW的RAM来进行管理,如何在不增加硬件资源(RAM)的条件下对这种块页数千页级的Flash进行快速有效的页地址映射,需要在MapTbl管理算法上创新;
2、采用3D TLC&QLC NandFlash的存储产品容量普遍在32GB以上,其对应的FAT文件系统分配的每簇扇区数亦上升至32/64/128扇区,即每簇需要占用1个或多个FLASH页,而系统写文件时又是以簇为最小单位来分配的逻辑地址,导致在拷贝具有多层次文件夹结构的小文件(容量几KB或更小)时,会加剧不连续的随机写操作,随机写的性能远低于顺序写,如何提高文件拷贝速度需要进行FTL算法的创新;
3、鉴于TLC/QLC模式编程时间达到ms级别,通常会采用SLC模式来缓存数据(但数据缓存块的容量仅为TLC/QLC模式的1/3或1/4,因此只能分配几组块来进行数据缓存,最终仍需将几个缓存块中的用户数据重新写入TLC/QLC模式的物理块),由于FLASH单块容量上升至几十MB,则用于进行Flash管理和数据缓存的块数不能过多,否则将直接影响到产品的容量,如何在不大幅增加数据缓存块的前提下提升写文件速度需要进行FTL算法的创新。
针对上述问题,本申请提供了一种数据处理方法,在不增加硬件资源且不影响产品容量的前提下,尽量减小TLC/QLC模式物理块的擦写次数,从而较大幅度的提高碎文件(具有多层次文件夹结构或KB大小的文件)写入FLASH的速度,同时延长存储设备的使用寿命。
为实现上述目的,本申请在技术上主要从以下三方面进行:
1、仍然用128DW RAM存储MapTbl(块内逻辑页地址到物理页地址映射表,每一项为5B,2B记录块内逻辑页地址,2B记录块内缓存页地址,1B记录该项对应的页数),但增加适当的MapTbl项合并操作,在不连续情况下,将所含页数较小的项(小于等于3页,在拷贝碎文件时会存在几十个该种情况的映射项)重新写入缓存块的空闲地址,同时比较相邻两个逻辑页地址,如果相差在8页以内,则将间隔页补齐至缓存块,根据文件系统的写入规律,该操作在一定情况下可将相当大一部分不连续的数据改为连续的数据(逻辑页地址和缓存页地址均连续),从而实现MapTbl的项数合并,以尽量避免出现虽然缓存块没有写满但因MapTbl满而导致的SLC模式缓存块到TLC/QLC模式物理块的搬家操作;
2、增加SLC模式缓存块(扩展缓存块),当某个逻辑块对应的基本缓存块已写满且缓存块内的数据逻辑地址不连续时(当该逻辑块对应的地址段包含有目录项的操作时,文件系统会根据需要反复修改目录项的数据,导致该种情况会频繁出现),动态分配扩展缓存块给该逻辑块,仅在其对应的基本缓存块+扩展缓存块均写满或者该逻辑块一段时间内没有写操作时才将缓存块中的数据更新入TLC/QLC模式物理块,根据文件系统的写入规则,此时释放的缓存块会被用于其它逻辑块的读写,该逻辑地址一段时间内不会再有写入操作,从而将擦写TLC/QLC模式物理块的次数尽量降低;
3、改用16bit变量(计数范围0~65535)来作逻辑块写入操作的空闲计数器IDLECNT,该IDLECNT在选择对哪个逻辑块进行搬家操作时起关键作用,必须真实有效,因原先的8bit的计数范围仅为0~255,远小于TLC/QLC FLASH的每块页数(3072~5184页/块),无法真实反映对应的逻辑块空闲的时间。
下面从数据处理装置的角度对本申请提供的数据处理方法进行说明,该数据处理装置可以为服务器,也可以为服务器中的服务单元,具体不做限定。
请参阅图1,图1为本申请实施例提供的数据处理方法的流程示意图,包括:
101、当第一映射表中数据项达到第一预设值,且第一映射表中数据项对应的数据页不连续,且第一缓存块中空闲页的数量达到第二预设值,遍历第一映射表的所有数据项,以确定出第一映射表中满足预设条件的第一数据项。
本实施例中,数据处理装置可以首先判断第一映射表中数据项是否达到第一预设值(此处需要判断的第一映射表中的项是否已经全部或者接近全部使用,该第一预设值的设置于第一映射表中的项数有关系,例如该第一映射表中的项有128项,该第一预设值例如可以设置为125,当然也还可以根据实际情况进行设置,具体不做限定),其中,该存储芯片中仍然使用128DW RAM存储MapTbl也即第一映射表,其中,该第一映射表为第一逻辑块内逻辑页地址到物理页地址映射表,每一数据项为5B,2B记录第一逻辑块内逻辑页地址,2B记录第一逻辑块内缓存页地址,1B记录该第一数据项对应的页数,该第一逻辑块为存储芯片对应的逻辑块中的任意一个逻辑块,该第一缓存块为第一逻辑块对应的缓存块。
可以理解的是,该第一映射表占用的是存储芯片的RAM空间,第一映射表中的项的数量是固定的,如果不连续,每页就占用一个数据项,因此需要将第一映射表中包含页数较小的数据项中的页进行合并,来释放第一映射表中的项。当数据处理装置确定该第一映射表中数据项达到第一预设值,也即该第一映射表中的项已经全部使用或者接近全部使用时,可以判断该第一映射表中数据项对应的数据页是否连续,数据处理装置可以根据数据项中各个页的物理页地址进行判断来确定第一映射表中的数据项对应的数据页是否连续。
当数据处理装置确定第一映射表中数据项达到第一预设值,且第一映射表中数据项对应的数据页不连续时,可以判断该第一缓存块中空闲页的数量是否达到第二预设值(该第二预设值的设置于第一映射表中的项数有关系,例如该第一映射表中的项数为3个,该第二预设值可以设置为24,当然也还可以根据实际情况进行设置,具体不做限定,只要该第一缓存块中空闲页的数量能够使得对第一数据项中的页进行合并时,可以写的下合并的页即可),当数据处理装置确定该第一缓存块中的空闲页的数量达到第二预设值时,遍历第一映射表中的所有数据项,以确定出第一映射表中满足预设条件的第一数据项,其中该预设条件为小于或等于3页的数据项(此处的3页仅为举例说明,当然也还可以根据实际情况进行设置,例如4页,具体不限定),也即该数据处理装置可以根据该预设条件从第一映射表中找到小于或等于3页的数据项,作为第一数据项。
需要说明的是,此处具体不限定数据处理装置判断第一映射表中数据项是否达到第一预设值,判断第一映射表中数据项对应的数据页是否连续以及判断第一缓存块中空闲页的数量是否达到第二预设值的时序,可以是先判断第一映射表中数据项是否达到第一预设值,也可以是先判断第一映射表中数据项对应的数据页是否连续,当然也还可以是判断第一缓存块中空闲页的数量是否达到第二预设值,或者同时具体执行。
102、判断第一数据项的逻辑页地址与第二数据项的逻辑页地址的间隔是否大于第三预设值,若否,则执行步骤103,若是,则执行步骤105。
本实施例中,数据处理装置在根据预设条件从第一映射表中确定出第一数据项之后,可以判断该第一数据项的逻辑页地址与第二数据项的逻辑页地址之间的间隔是否大于第三预设值,若第一数据项的逻辑页地址与第二数据项的逻辑页地址之间的间隔不大于第三预设值,则执行步骤103,若第一数据项的逻辑页地址与第二数据项的逻辑页地址之间的间隔大于第三预设值,则执行步骤105。其中,该第二数据项为第一映射表中与第一数据项相邻的数据项,例如该第一数据项的编号为6,则该第二数据项的编号为5和7,以此为例对逻辑页地址的判断进行说明,在判断第一数据项的逻辑页地址与第二数据项的逻辑页地址的间隔是否大于第三预设值。对于编号5的数据项,判断的是编号为5的数据项的结束逻辑页地址与编号为6的数据项的起始逻辑页地址之间的间隔是否大于8页(此处以第三预设值为8页为例进行说明,当然也还可以根据实际情况进行设置,具体不做限定),对于编号为7的数据项,判断的是编号为6的数据项的结束逻辑页地址与编号为7的数据项的起始逻辑页地址之间的间隔是否大于8页。可以理解的是,第一映射表中除了初始的数据项以及结尾的数据项之外,其他的所有数据项都会有两个相邻的数据项,如上述所述,编号为6的数据项有5和7两个相邻的数据项,当第一映射表有两个相邻的数据项时,在进行逻辑页地址的间隔判断时,只要有一个相邻的数据项与第一数据项的间隔是不大于第三预设值,则执行步骤103,只有当相邻的两个数据项与第一数据项之间的间隔均大于第三预设值时,执行步骤105。
103、将第一数据项对应的数据页以及第一数据项对应的间隔页写入第一缓存块中的第一空闲页。
本实施例中,数据处理装置在确定第一数据项的逻辑页地址与所述第二数据项的逻辑页地址间隔不大于第三预设值时,将第一数据项对应的数据页以及第一数据项对应的间隔页写入第一缓存块中的第一空闲页,该第一数据项对应的间隔页为第一数据项的逻辑页地址与第二数据项的逻辑页地址之间的逻辑页地址对应的数据页,该第二数据项可以为1个,也可以为两个。例如该第一数据项的结束逻辑页地址为5,第二数据项的初始逻辑页地址为11,第三预设值为8,此时即可以确定结束逻辑页地址为5与初始逻辑页地址为11之间的页为间隔页,数据处理装置可以将第一数据项对应的数据页与间隔页写入第一空闲页中。
104、根据第一空闲页对应的缓存页地址、第一逻辑页地址、第一缓存页地址以及第一项页数修改第一数据项对应的逻辑页地址、缓存页地址以及项页数。
本实施例中,数据处理装置在将第一数据项对应的数据页以及第一数据项对应的间隔页写入第一缓存块中的第一空闲页之后,数据处理装置可以根据第一空闲页对应的缓存页地址、第一逻辑页地址、第一缓存页地址以及第一项页数修改第一数据项对应的逻辑页地址、缓存页地址以及项页数,其中第一逻辑页地址、第一缓存页地址以及第一项页数均与第二数据项相对应,也即该第一逻辑页地址为第二数据项对应的逻辑页地址,第一缓存页地址为第二数据项对应的缓存页地址,第一项页数为第二数据项中的项页数。可以理解的是,在将第一数据项对应的数据页以及第一数据项对应的间隔页写入第一缓存块中的第一空闲页之后,该第一空闲页的缓存页地址可以与第二数据项对应的缓存页地址连续起来,同时,第一数据项对应的逻辑页地址、间隔页的逻辑页地址以及第二数据项对应的逻辑页地址也可以连续起来,数据处理装置可以基于连续后的逻辑页地址、连续后的缓存页地址、第一数据项的项页数、间隔页的页数以及第二数据项的项页数修改第一数据项的逻辑页地址、数据页地址以及项页数,也就相当于将第二数据项对应逻辑页地址、缓存页地址和项页数,以及,第一空闲页的缓存页地址和间隔页的页数合并至第一数据项中,合并后的第一数据项中的逻辑页地址包括合并前第一数据项的逻辑页地址、间隔页的逻辑页地址以及第二数据项的逻辑页地址,合并后的第一数据项中缓存页地址包括第一空闲页的缓存页地址以及第二数据项的缓存页地址,合并后的第一数据项中的项页数包括合并前第一数据项的项页数、间隔页的项页数以及第二数据项的项页数,这样可以释放第二数据项,使得第二数据项成为空闲项。
105、执行其他操作。
本实施例中,当第一数据项的逻辑页地址与第二数据项的逻辑页地址间隔大于第三预设值时,将第一数据项对应的数据页写入第一缓存块中的第一空闲页;根据第一空闲页对应的缓存页地址修改第一数据项对应的缓存页地址。也就是说,数据处理装置在确定第一数据项的逻辑页地址与第二数据项的逻辑页地址间隔大于第三预设值时,说明该第一数据项不能与第二数据项进行合并,那么只需要将第一数据项对应的数据页写入第一缓存块中的第一空闲页,同时也只需要根据该第一空闲页对应的缓存页地址修改第一数据项对应的缓存页地址即可。
一个实施例中,数据处理装置在将第一数据项对应的数据页以及第一数据项对应的间隔页写入第一缓存块中的第一空闲页之后,还执行如下操作:
当第一映射表中的空闲项达到第四预设值,且第一缓存块中的空闲页不小于第五预设值,且存储芯片中不存在未分配的扩展缓存块时,确定存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块;
根据第二逻辑块对应的第二映射表中的页地址映射记录,将第二逻辑块对应的所有有效数据从第二缓存块中拷贝至存储芯片的第一物理块,第二缓存块为存储芯片中与第二逻辑块对应的缓存块;
根据第一物理块的物理块地址修改存储芯片对应的物理块地址映射表。
本实施例中,将第一数据项对应的数据页以及第一数据项对应的间隔页写入第一缓存块中的第一空闲页之后,或,将第一数据项对应的数据页写入第一缓存块中的第一空闲页之后,可以判断此时的第一映射表中空闲项的数量是否达到第四预设值(例如该第一映射表中的项有128个,其中,空闲的数项为20个,同时该第四预设值为20个,那么即可以确定该第一映射表中空闲项的数量达到第四预设值,反之则未达到,可以理解的是,上述第一映射表中的项的数量、空闲项的数量以及第四预设值仅为举例说明,当然也还可以根据实际情况设置其他的数值,具体不做限定),当数据处理装置确定第一映射表中的空闲项达到第四预设值时,判断第一缓存块中的空闲页是否小于第五预设值,当该第一缓存块中的空闲页小于第五预设值时,判断该存储芯片中是否存在未分配的扩展缓存块,当该存储芯片中不存在未分配的扩展缓存块时,确定存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块。
数据处理装置可以比较存储芯片的每个扩展缓存块对应的逻辑块的空闲计数器IDLECNT,之后找出空闲计数器IDLECNT最大的目标扩展缓存块对应的第二逻辑块;并根据该第二逻辑块对应的第二映射表的页地址映射记录,将第二逻辑块对应的所有有效数据从第二缓存块中拷贝至存储芯片的第一物理块,该第二缓存块为存储芯片中与第二逻辑块对应的缓存块。也就是说,数据处理装置在将第一数据项对应的数据页以及第一数据项对应的间隔页写入第一缓存块中的第一空闲页之后,或,将第一数据项对应的数据页写入第一缓存块中的第一空闲页之后,可以检查该第一逻辑块对应的第一缓存块是否写满,若该第一缓存块已满(或者将近写满,也即第一缓存块中的空闲页小于第五预设值时),则尝试分配扩展缓存块,若无可分配的扩展缓存块,则比较存储芯片的扩展缓存块对应的逻辑块的空闲计数器IDLECNT,找到空闲时间最久的第二逻辑块,并根据该第二逻辑块的映射表的页地址映射记录,将该第二逻辑块对应的所有有效数据从缓存块中拷贝至TLC/QLC模式的物理块中。之后数据处理装置可以修改存储芯片对应的物理块地址映射表(也即修改存储芯片对应的zone表记录,zone表中记录存储芯片所有物理块的地址)。由此即可以释放多个缓存块和对应的MapTbl。需要说明的是,若数据处理装置确定第一缓存块中的空闲页大于第五预设值,则说明该第一缓存块中还有空闲页可以写数据,那么则无需进行任何操作,后续的写操作仍由该第一缓存块来执行。另外,若数据处理装置确定该存储芯片有可分配的扩展缓存块,则后续的写操作由扩展缓存块来之行。
需要说明的是,数据处理装置确定第一缓存块中空闲页的数量未达到第二预设值时,判断存储芯片中是否存在可分配的扩展缓存块;
当存储芯片中不存在可分配的扩展缓存块时,根据第一映射表中的页地址映射记录,将第一逻辑块对应的所有有效数据从第一缓存块中拷贝至存储芯片的第二物理块。也就是说,数据处理装置在确定第一缓存块中空闲页的数量未达到第二预设值时,且存储芯片中不存在可分配的扩展缓存块时,当存储芯片中不存在可分配的扩展缓存块时,数据处理装置可以根据第一逻辑块中的页地址映射记录,将该第一逻辑块对应的所有有效数据从第一缓存块至存储芯片在TLC/QLC模式的物理块中,并修改zone表记录,即可释放第一逻辑块对应的多个缓存块和第一逻辑块的MapTbl。
综上所述,可以看出,本申请提供的实施例中,数据处理装置将存储芯片中逻辑块的映射表中所含页数较小的项(也即满足预设条件的项)重新写入缓存块的空闲地址,同时比较相邻两个逻辑页地址,如果相差在第三预设值以内,则将间隔页补齐至缓存块,根据文件系统的写入规律,该操作在一定情况下可将相当大一部分不连续的数据改为连续的数据,从而将MapTbl的项数合并,可以尽量避免出现虽然缓存块没有写满但因MapTbl满而导致的SLC模式缓存块到TLC/QLC模式物理块的搬家操作,尽可能的减少物理块的擦写次数,增加存储设备的使用寿命。
上面从的数据处理方法的角度对本申请进行说明,下面从数据处理装置的角度对本申请进行说明。
请参阅图2,图2为本申请实施例提供的一种数据处理装置的虚拟结构示意图,包括:
确定单元201,用于当第一映射表中数据项达到第一预设值,且所述第一映射表中数据项对应的数据页不连续,且第一缓存块中空闲页的数量达到第二预设值时,遍历所述第一映射表的所有数据项,以确定出所述第一映射表中满足预设条件的第一数据项,所述第一映射表为存储芯片中第一逻辑块内逻辑页地址与物理页地址的映射表,所述第一逻辑块为所述存储芯片对应的逻辑块中的任意一个逻辑块,所述第一缓存块为所述存储芯片中所述第一逻辑块对应的缓存块;
判断单元202,用于判断所述第一数据项的逻辑页地址与第二数据项的逻辑页地址的间隔是否大于第三预设值,所述第二数据项为所述第一映射表中与所述第一数据项相邻的数据项;
写入单元203,用于当所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址间隔不大于所述第三预设值时,将所述第一数据项对应的数据页以及所述第一数据项对应的间隔页写入所述第一缓存块中的第一空闲页,所述第一数据项对应的间隔页为所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址之间的逻辑页地址对应的数据页;
修改单元204,用于根据所述第一空闲页对应的缓存页地址、第一逻辑页地址、第一缓存页地址以及第一项页数修改所述第一数据项对应的逻辑页地址、缓存页地址以及项页数,所述第一逻辑页地址、所述第一缓存页地址以及所述第一项页数均与所述第二数据项相对应。
可选地,所述写入单元203,还用于当所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址间隔大于所述第三预设值时,将所述第一数据项对应的数据页写入所述第一空闲页;
所述修改单元204,还用于根据所述第一空闲页对应的缓存页地址修改所述第一数据项对应的缓存页地址。
可选地,所述确定单元201,还用于当所述第一映射表中的空闲项达到第四预设值,且所述第一缓存块中的空闲页不小于第五预设值,且所述存储芯片中不存在未分配的扩展缓存块时,确定所述存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块;
所述写入单元203,还用于根据所述第二逻辑块对应的第二映射表中的页地址映射记录,将所述第二逻辑块对应的所有有效数据从第二缓存块中拷贝至所述存储芯片的第一物理块,所述第二缓存块为所述存储芯片中与所述第二逻辑块对应的缓存块:
所述修改单元204,还用于根据所述第一物理块的物理块地址修改所述存储芯片对应的物理块地址映射表。
可选地,所述确定单元201确定所述存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块包括:
通过所述存储芯片的扩展缓存块对应的逻辑块的空闲计数器对所述存储芯片的扩展缓存块的空闲时长进行对比,得到所述目标缓存块对应的第二逻辑块。
可选地,所述判断单元202,还用于当所述第一缓存块中空闲页的数量未达到所述第二预设值时,判断所述存储芯片中是否存在可分配的扩展缓存块;
所述写入单元203,还用当所述存储芯片中不存在可分配的扩展缓存块时,根据所述第一映射表中的页地址映射记录,将所述第一逻辑块对应的所有有效数据从所述第一缓存块中拷贝至所述存储芯片的第二物理块;
所述修改单元204,还用于根据所述存储芯片的第二物理块的物理块地址修改所述存储芯片对应的物理块地址映射表。
综上所述,可以看出,本申请提供的实施例中,数据处理装置将存储芯片中逻辑块的映射表中所含页数较小的项(也即满足预设条件的项)重新写入缓存块的空闲地址,同时比较相邻两个逻辑页地址,如果相差在第三预设值以内,则将间隔页补齐至缓存块,根据文件系统的写入规律,该操作在一定情况下可将相当大一部分不连续的数据改为连续的数据,从而将MapTbl的项数合并,可以尽量避免出现虽然缓存块没有写满但因MapTbl满而导致的SLC模式缓存块到TLC/QLC模式物理块的搬家操作,尽可能的减少物理块的擦写次数,增加存储设备的使用寿命。
图3是本申请实施例提供的一种服务器结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。
服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由数据处理装置所执行的步骤可以基于该图3所示的服务器结构。
本申请实施例还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述所述数据处理方法的步骤。
本申请实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述数据处理方法的步骤。
本申请实施例还提供了一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,所述程序代码由所述处理器加载并执行以实现上述所述数据处理方法的步骤。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述所述数据处理方法的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
当第一映射表中数据项达到第一预设值,且所述第一映射表中数据项对应的数据页不连续,且第一缓存块中空闲页的数量达到第二预设值时,遍历所述第一映射表的所有数据项,以确定出所述第一映射表中满足预设条件的第一数据项,所述第一映射表为存储芯片中第一逻辑块内逻辑页地址与物理页地址的映射表,所述第一逻辑块为所述存储芯片对应的逻辑块中的任意一个逻辑块,所述第一缓存块为所述存储芯片中所述第一逻辑块对应的缓存块,所述第二预设值不小于所述第一数据项中的页数;
判断所述第一数据项的逻辑页地址与第二数据项的逻辑页地址的间隔是否大于第三预设值,所述第二数据项为所述第一映射表中与所述第一数据项相邻的数据项;
当所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址间隔不大于所述第三预设值时,将所述第一数据项对应的数据页以及所述第一数据项对应的间隔页写入所述第一缓存块中的第一空闲页,所述第一数据项对应的间隔页为所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址之间的逻辑页地址对应的数据页;
根据所述第一空闲页对应的缓存页地址、第一逻辑页地址、第一缓存页地址以及第一项页数修改所述第一数据项对应的逻辑页地址、缓存页地址以及项页数,所述第一逻辑页地址、所述第一缓存页地址以及所述第一项页数均与所述第二数据项相对应。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址间隔大于所述第三预设值时,将所述第一数据项对应的数据页写入所述第一空闲页;
根据所述第一空闲页对应的缓存页地址修改所述第一数据项对应的缓存页地址。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一映射表中的空闲项达到第四预设值,且所述第一缓存块中的空闲页不小于第五预设值,且所述存储芯片中不存在未分配的扩展缓存块时,确定所述存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块;
根据所述第二逻辑块对应的第二映射表中的页地址映射记录,将所述第二逻辑块对应的所有有效数据从第二缓存块中拷贝至所述存储芯片的第一物理块,所述第二缓存块为所述存储芯片中与所述第二逻辑块对应的缓存块:
根据所述第一物理块的物理块地址修改所述存储芯片对应的物理块地址映射表。
4.根据权利要求3所述的方法,其特征在于,所述确定所述存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块包括:
通过所述存储芯片的扩展缓存块对应的逻辑块的空闲计数器对所述存储芯片的扩展缓存块的空闲时长进行对比,得到所述目标扩展缓存块对应的第二逻辑块。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
当所述第一缓存块中空闲页的数量未达到所述第二预设值时,判断所述存储芯片中是否存在可分配的扩展缓存块;
当所述存储芯片中不存在可分配的扩展缓存块时,根据所述第一映射表中的页地址映射记录,将所述第一逻辑块对应的所有有效数据从所述第一缓存块中拷贝至所述存储芯片的第二物理块;
根据所述存储芯片的第二物理块的物理块地址修改所述存储芯片对应的物理块地址映射表。
6.一种数据处理装置,其特征在于,包括:
确定单元,用于当第一映射表中数据项达到第一预设值,且所述第一映射表中数据项对应的数据页不连续,且第一缓存块中空闲页的数量达到第二预设值时,遍历所述第一映射表的所有数据项,以确定出所述第一映射表中满足预设条件的第一数据项,所述第一映射表为存储芯片中第一逻辑块内逻辑页地址与物理页地址的映射表,所述第一逻辑块为所述存储芯片对应的逻辑块中的任意一个逻辑块,所述第一缓存块为所述存储芯片中所述第一逻辑块对应的缓存块,所述第二预设值不小于所述第一数据项中的页数;
判断单元,用于判断所述第一数据项的逻辑页地址与第二数据项的逻辑页地址的间隔是否大于第三预设值,所述第二数据项为所述第一映射表中与所述第一数据项相邻的数据项;
写入单元,用于当所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址间隔不大于所述第三预设值时,将所述第一数据项对应的数据页以及所述第一数据项对应的间隔页写入所述第一缓存块中的第一空闲页,所述第一数据项对应的间隔页为所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址之间的逻辑页地址对应的数据页;
修改单元,用于根据所述第一空闲页对应的缓存页地址、第一逻辑页地址、第一缓存页地址以及第一项页数修改所述第一数据项对应的逻辑页地址、缓存页地址以及项页数,所述第一逻辑页地址、所述第一缓存页地址以及所述第一项页数均与所述第二数据项相对应。
7.根据权利要求6所述的装置,其特征在于,
所述写入单元,还用于当所述第一数据项的逻辑页地址与所述第二数据项的逻辑页地址间隔大于所述第三预设值时,将所述第一数据项对应的数据页写入所述第一空闲页;
所述修改单元,还用于根据所述第一空闲页对应的缓存页地址修改所述第一数据项对应的缓存页地址。
8.根据权利要求6所述的装置,其特征在于,
所述确定单元,还用于当所述第一映射表中的空闲项达到第四预设值,且所述第一缓存块中的空闲页不小于第五预设值,且所述存储芯片中不存在未分配的扩展缓存块时,确定所述存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块;
所述写入单元,还用于根据所述第二逻辑块对应的第二映射表中的页地址映射记录,将所述第二逻辑块对应的所有有效数据从第二缓存块中拷贝至所述存储芯片的第一物理块,所述第二缓存块为所述存储芯片中与所述第二逻辑块对应的缓存块:
所述修改单元,还用于根据所述第一物理块的物理块地址修改所述存储芯片对应的物理块地址映射表。
9.根据权利要求8所述的装置,其特征在于,所述确定单元确定所述存储芯片的扩展缓存块中空闲时长最大的目标扩展缓存块对应的第二逻辑块包括:
通过所述存储芯片的扩展缓存块对应的逻辑块的空闲计数器对所述存储芯片的扩展缓存块的空闲时长进行对比,得到所述目标扩展缓存块对应的第二逻辑块。
10.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行上述权利要求1至5中任一项所述的数据处理方法的步骤。
CN202011044170.1A 2020-09-28 2020-09-28 一种数据处理方法及相关设备 Active CN111930643B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011044170.1A CN111930643B (zh) 2020-09-28 2020-09-28 一种数据处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011044170.1A CN111930643B (zh) 2020-09-28 2020-09-28 一种数据处理方法及相关设备

Publications (2)

Publication Number Publication Date
CN111930643A CN111930643A (zh) 2020-11-13
CN111930643B true CN111930643B (zh) 2021-01-12

Family

ID=73334713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011044170.1A Active CN111930643B (zh) 2020-09-28 2020-09-28 一种数据处理方法及相关设备

Country Status (1)

Country Link
CN (1) CN111930643B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113409846A (zh) * 2021-06-30 2021-09-17 芯天下技术股份有限公司 一种不连续地址的处理方法、装置、电子设备及存储介质
CN114238167B (zh) * 2021-12-14 2022-09-09 海光信息技术股份有限公司 信息预取方法、处理器、电子设备
CN115543970B (zh) * 2022-11-29 2023-03-03 本原数据(北京)信息技术有限公司 数据页处理方法、数据页处理装置、电子设备及存储介质
CN115858417B (zh) * 2023-02-01 2023-05-23 南京砺算科技有限公司 缓存数据处理方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980177A (zh) * 2010-10-21 2011-02-23 北京握奇数据系统有限公司 一种操作Flash的方法和装置
CN102004697A (zh) * 2010-10-21 2011-04-06 北京握奇数据系统有限公司 一种Flash的回收方法和装置
CN105930282A (zh) * 2016-04-14 2016-09-07 北京时代民芯科技有限公司 一种用于nand flash的数据缓存方法
CN107844266A (zh) * 2016-09-19 2018-03-27 芬基波尔有限责任公司 使用映射表的缓冲区分配和存储器管理
CN109471594A (zh) * 2018-10-09 2019-03-15 华中科技大学 一种mlc闪存读写方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI438630B (zh) * 2011-03-22 2014-05-21 Phison Electronics Corp 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
US9836108B2 (en) * 2014-09-10 2017-12-05 Toshiba Memory Corporation Memory system and controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980177A (zh) * 2010-10-21 2011-02-23 北京握奇数据系统有限公司 一种操作Flash的方法和装置
CN102004697A (zh) * 2010-10-21 2011-04-06 北京握奇数据系统有限公司 一种Flash的回收方法和装置
CN105930282A (zh) * 2016-04-14 2016-09-07 北京时代民芯科技有限公司 一种用于nand flash的数据缓存方法
CN107844266A (zh) * 2016-09-19 2018-03-27 芬基波尔有限责任公司 使用映射表的缓冲区分配和存储器管理
CN109471594A (zh) * 2018-10-09 2019-03-15 华中科技大学 一种mlc闪存读写方法

Also Published As

Publication number Publication date
CN111930643A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN111930643B (zh) 一种数据处理方法及相关设备
CN111033477B (zh) 逻辑到物理映射
CN109144887B (zh) 存储器系统及控制非易失性存储器的控制方法
EP3869316B1 (en) Hybrid storage
US7711892B2 (en) Flash memory allocation for improved performance and endurance
US9489239B2 (en) Systems and methods to manage tiered cache data storage
CN109669640B (zh) 一种数据存储方法、装置、电子设备及介质
CN108897642B (zh) 持久性事务内存系统中日志机制的优化方法及装置
KR20170094486A (ko) 저장 장치용 자동 i/o 스트림 선택
US20120151125A1 (en) Data processing method for nonvolatile memory system
US10108342B2 (en) Method for reducing use of DRAM in SSD and the SSD using the same
KR20160123370A (ko) 파일 액세스 방법 및 관련 기기
CN107562367B (zh) 基于软件化存储系统读写数据的方法以及装置
EP3974974A1 (en) Virtualization method and system for persistent memory
CN110597742A (zh) 用于具有持久系统存储器的计算机系统的改进存储模型
US9703593B2 (en) Apparatus and method for memory overlay
CN113407120B (zh) 基于hmb的映射表管理方法、装置及计算机设备
CN108664217B (zh) 一种降低固态盘存储系统写性能抖动的缓存方法及系统
KR101026634B1 (ko) 하이브리드 플래시 메모리의 데이터 저장 방법
CN113805792A (zh) 存储器系统及其操作方法
CN117215485A (zh) Zns ssd管理方法及数据写入方法、存储装置、控制器
EP2381354A2 (en) Data recording device
US11226738B2 (en) Electronic device and data compression method thereof
CN115079957A (zh) 请求处理方法、装置、控制器、设备及存储介质
KR20110070656A (ko) 플래시 메모리의 데이터 처리 방법 및 장치

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