CN115168250B - 一种l2p表更新方法、系统、装置及可读存储介质 - Google Patents
一种l2p表更新方法、系统、装置及可读存储介质 Download PDFInfo
- Publication number
- CN115168250B CN115168250B CN202211068462.8A CN202211068462A CN115168250B CN 115168250 B CN115168250 B CN 115168250B CN 202211068462 A CN202211068462 A CN 202211068462A CN 115168250 B CN115168250 B CN 115168250B
- Authority
- CN
- China
- Prior art keywords
- logical address
- sub
- address range
- item
- trim
- 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 66
- 230000001174 ascending effect Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012005 ligant binding assay Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种L2P表更新方法、系统、装置及可读存储介质,涉及计算机技术领域。在接收到Trim命令时,确定与Trim命令对应的逻辑地址范围并填充至预先构建的对应的子项缩略图中,并更新Trim比特位图;在Trim后端对L2P表进行更新时,根据N个子项缩略图确定待Trim的逻辑块的逻辑地址范围,以更新L2P表。本申请中通过子项缩略图确定需要被Trim的逻辑块及对应的逻辑地址范围,进而完成对L2P表的更新,不需要逐个扫描Trim比特位图,进而可以避免在上电之后重新扫描Trim比特位图导致的部分L2P表二次更新的情况,由于子项缩略图中包括的逻辑地址不止一个,因此还可以提高L2P表更新的效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种L2P表更新方法、系统、装置及可读存储介质。
背景技术
NVME(Non-Volatile Memory Express,非易失性内存主机控制器接口规范)固态硬盘支持Trim命令,Trim命令将指定的一段或者多段范围的逻辑块进行删除。目前,为加快Trim命令的执行,一般将Trim命令分为Trim前端和Trim后端,其中Trim前端完成Trimbitmap(Trim比特位图)的更新,Trim后端根据Trim bitmap完成L2P表的更新(L2P表为是LBA(Logical Block Address,逻辑地址)和PBA(Physics Block Address,物理地址)的映射表)。对L2P表进行更新时,需要逐个扫描Trim bitmap中的每个Bit位,并对L2P表中对应部分进行更新,扫描的速率较慢。此外,目前在固态硬盘掉电时,固件只会对Trim bitmap进行保存,在重新上电之后,Trim后端会重新从头扫描Trim bitmap,并对应更新L2P表,此时部分L2P表的内容可能会存在二次更新的情况。
发明内容
本申请的目的是提供一种L2P表更新方法、系统、装置及可读存储介质,通过子项缩略图确定需要被Trim的逻辑块及对应的逻辑地址范围,进而完成对L2P表的更新,不需要逐个扫描Trim比特位图,进而可以避免在上电之后重新扫描Trim比特位图导致的部分L2P表二次更新的情况,由于子项缩略图中包括的逻辑地址不止一个,因此还可以提高L2P表更新的效率。
为解决上述技术问题,本申请提供了一种L2P表更新方法,包括:
构建N个子项缩略图,所述子项缩略图中填充待Trim的逻辑块的逻辑地址范围,N为大于1的整数;
在接收到Trim命令时,确定与所述Trim命令对应的逻辑地址范围;
将确定的所述逻辑地址范围填充至对应的子项缩略图中,并更新Trim比特位图;
在Trim后端对L2P表进行更新时,根据N个所述子项缩略图确定待Trim的逻辑块的逻辑地址范围,并根据确定的逻辑地址范围更新所述L2P表。
优选地,在接收到Trim命令时,确定与所述Trim命令对应的逻辑地址范围,包括:
在接收到第iTrim命令时,确定与所述第iTrim命令对应的第i逻辑地址范围,i为正整数;
将确定的所述逻辑地址范围填充至对应的子项缩略图中,包括:
确定所述i是否为一;
若所述i为一,则将确定的第一逻辑地址范围填充至第一子项缩略图中;
若所述i不为一,则判断所述第i逻辑地址范围与已填充的各个所述子项缩略图中的逻辑地址范围是否存在重合;
若存在重合,则确定与所述第i逻辑地址范围存在重合的子项缩略图,并将存在重合的所述子项缩略图中填充的逻辑地址范围与所述第i逻辑地址范围进行整合,将整合后的逻辑地址范围填充至存在重合的所述子项缩略图中;
若不存在重合,则将所述第i逻辑地址范围填充至待填充的子项缩略图中。
优选地,判断所述第i逻辑地址范围与已填充的各个所述子项缩略图中的逻辑地址范围是否存在重合之后,还包括:
若存在重合,则确定与所述第i逻辑地址范围存在重合的子项缩略图,并将存在重合的所述子项缩略图中填充的逻辑地址范围与所述第i逻辑地址范围进行整合,并将整合后的所述逻辑地址范围填充至待填充的子项缩略图中,并删除与所述第i逻辑地址范围存在重合的子项缩略图。
优选地,将所述第i逻辑地址范围填充至待填充的子项缩略图中之后,还包括:
获取多个已填充的所述子项缩略图对应的逻辑地址范围中的起始地址和结束地址;
将多个已填充的所述子项缩略图按照地址的升序进行排序;
所述地址的升序为前一个逻辑地址范围的结束地址小于后一个逻辑地址范围的起始地址。
优选地,N为所述Trim命令包含的逻辑地址范围的个数的最大值;
将所述第i逻辑地址范围填充至待填充的子项缩略图中之前,还包括:
判断N个所述子项缩略图中是否存在未填充逻辑地址范围的子项缩略图;
若存在,则进入将所述第i逻辑地址范围填充至待填充的子项缩略图中的步骤。
优选地,判断N个所述子项缩略图中是否存在未填充逻辑地址范围的子项缩略图之后,还包括:
若不存在,则将第j子项缩略图与第j+1子项缩略图合并,作为所述第j子项缩略图,然后进入将所述第i逻辑地址范围填充至待填充的子项缩略图中的步骤,N>j≥1,且j为整数。
优选地,在Trim后端对L2P表进行更新时,根据所述子项缩略图确定待Trim的逻辑块的逻辑地址范围,并根据确定的逻辑地址范围更新所述L2P表,包括:
判断已填充的子项缩略图的个数是否小于N;
若小于,则判定已填充的各个所述子项缩略图中填充的逻辑地址范围对应的逻辑块均待Trim,并根据已填充的各个所述子项缩略图中填充的逻辑地址范围对所述L2P表进行更新;
若不小于,则判定除所述第j子项缩略图之外的子项缩略图中填充的逻辑地址范围对应的逻辑块均为待Trim的逻辑块,根据除所述第j子项缩略图之外的子项缩略图对所述L2P表进行更新;并根据所述第j子项缩略图中填充的逻辑地址范围查询所述Trim比特位图,确定所述第j子项缩略图中待Trim的逻辑块的逻辑地址,并根据待Trim的逻辑块的逻辑地址对所述L2P表进行更新。
优选地,N为所述Trim命令包含的逻辑地址范围的个数的最大值;
在Trim后端对L2P表进行更新时,还包括:
在NVME对第m逻辑地址读取时,判断N个所述子项缩略图中是否存在未填充逻辑地址范围的子项缩略图;
若N个所述子项缩略图中存在未填充逻辑地址范围的子项缩略图,则判断所述第m逻辑地址是否在已填充的所述子项缩略图对应的逻辑地址范围内;
若所述第m逻辑地址在已填充的所述子项缩略图对应的逻辑地址范围内,则判定所述第m逻辑地址对应的逻辑块待Trim,并向所述NVME返回0值;
若N个所述子项缩略图中不存在未填充逻辑地址范围的子项缩略图,则判断所述第m逻辑地址是否在第j逻辑地址范围内;
若不在所述第j逻辑地址范围内,则判断所述第m逻辑地址是否在除所述第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内;
若在除所述第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内,则判定所述第m逻辑地址对应的逻辑块待Trim,并向所述NVME返回0值;
若在所述第j逻辑地址范围内,则查询所述Trim比特位图以确定所述第m逻辑地址对应的逻辑块是否为待Trim的逻辑块;
若所述第m逻辑地址对应的逻辑块为待Trim的逻辑块,则向所述NVME返回0值;
其中,m为正整数且小于确定的逻辑地址范围中逻辑地址的最大值。
优选地,N为所述Trim命令包含的逻辑地址范围的个数的最大值;
在Trim后端对L2P表进行更新时,还包括:
在NVME对第n逻辑地址写入时,判断N个所述子项缩略图中是否存在未填充逻辑地址范围的子项缩略图;
若N个所述子项缩略图中存在未填充逻辑地址范围的子项缩略图,则判断所述第n逻辑地址是否在已填充的所述子项缩略图对应的逻辑地址范围内;
若所述第n逻辑地址在已填充的所述子项缩略图对应的逻辑地址范围内,则以所述第n逻辑地址为界限,将包括所述第n逻辑地址的逻辑地址范围对应的子项缩略图分割为两个子项缩略图;
若N个所述子项缩略图中不存在未填充逻辑地址范围的子项缩略图,则判断所述第n逻辑地址是否在所述第j子项缩略图对应的逻辑地址范围内;
若不在第j逻辑地址范围内,则判断所述第n逻辑地址是否在除所述第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内;
若在除所述第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内,则以所述第n逻辑地址为界限,将包括第n逻辑地址的逻辑地址范围对应的子项缩略图分割为两个子项缩略图,并将所述第j子项缩略图与所述第j+1子项缩略图合并;
若在所述第j逻辑地址范围内,则根据所述第n逻辑地址更新所述Trim比特位图;
其中,n为正整数且小于确定的逻辑地址范围中逻辑地址的最大值。
优选地,构建N个子项缩略图之后,还包括:
将N个所述子项缩略图置为无效值。
优选地,并根据确定的逻辑地址范围更新所述L2P表,包括:
根据确定的逻辑地址范围中逻辑地址的升序或降序更新所述L2P表。
优选地,根据确定的逻辑地址范围中逻辑地址的升序或降序更新所述L2P表之后,还包括:
在更新完每个逻辑地址对应的L2P表项时,将已更新的所述逻辑地址从确定的所述逻辑地址范围中删除;
在所述子项缩略图中填充的逻辑地址范围的起始地址与结束地址相同时,删除所述起始地址与所述结束地址相同的子项缩略图。
为解决上述技术问题,本申请还提供了一种L2P表更新系统,包括:
构建单元,用于构建N个子项缩略图,所述子项缩略图中填充待Trim的逻辑块的逻辑地址范围,N为大于1的整数;
命令接收单元,用于在接收到Trim命令时,确定与所述Trim命令对应的逻辑地址范围;
填充单元,用于将确定的所述逻辑地址范围填充至对应的子项缩略图中,并更新Trim比特位图;
L2P表更新单元,用于在Trim后端对L2P表进行更新时,根据N个所述子项缩略图确定待Trim的逻辑块的逻辑地址范围,并根据确定的逻辑地址范围更新所述L2P表。
为解决上述技术问题,本申请还提供了一种L2P表更新装置,包括:
存储器,用于存储计算机程序;
处理器,用于在存储计算机程序时,实现如上述所述的L2P表更新方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的L2P表更新方法的步骤。
本申请提供了一种L2P表更新方法,涉及计算机技术领域。在接收到Trim命令时,确定与Trim命令对应的逻辑地址范围并填充至预先构建的对应的子项缩略图中,并更新Trim比特位图;在Trim后端对L2P表进行更新时,根据N个子项缩略图确定待Trim的逻辑块的逻辑地址范围,以更新L2P表。本申请中通过子项缩略图确定需要被Trim的逻辑块及对应的逻辑地址范围,进而完成对L2P表的更新,不需要逐个扫描Trim比特位图,进而可以避免在上电之后重新扫描Trim比特位图导致的部分L2P表二次更新的情况,由于子项缩略图中包括的逻辑地址不止一个,因此还可以提高L2P表更新的效率。
本申请还提供了一种L2P表更新系统、装置及可读存储介质,与上述描述的L2P表更新方法具有相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种L2P表更新方法的流程示意图;
图2为本申请提供的一种L2P表更新系统的结构框图;
图3为本申请提供的一种L2P表更新装置的结构框图。
具体实施方式
本申请的核心是提供一种L2P表更新方法、系统、装置及可读存储介质,通过子项缩略图确定需要被Trim的逻辑块及对应的逻辑地址范围,进而完成对L2P表的更新,不需要逐个扫描Trim比特位图,进而可以避免在上电之后重新扫描Trim比特位图导致的部分L2P表二次更新的情况,由于子项缩略图中包括的逻辑地址不止一个,因此还可以提高L2P表更新的效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参照图1,图1为本申请提供的一种L2P表更新方法的流程示意图,该方法包括:
S11:构建N个子项缩略图,子项缩略图中填充待Trim的逻辑块的逻辑地址范围,N为大于1的整数;
具体地,本申请中引入子项缩略图的概念,由于其子项缩略图中填充的是待Trim的逻辑块的逻辑地址范围,其并不是单一的逻辑地址,也即对应的并不是指单个的逻辑块。因此,本申请中的通过子项缩略图对L2P表进行更新时,可以根据子项缩略图同时确定需要被Trim的逻辑块的逻辑地址范围,也即,可以同时确定多个被Trim的逻辑块的逻辑地址,提高处理效率。
具体地,子项缩略图中所填充的逻辑地址范围可以表示为:(LBAs,LBAe),其中LBAs为该逻辑地址范围的起始地址,LBAe为该逻辑地址范围的结束地址。
作为一种优选的实施例,构建N个子项缩略图之后,还包括:
将N个子项缩略图置为无效值。
进一步的,在最初构建N个子项缩略图之后,本申请中先将初始的N个子项缩略图置为无效值,也即,使N个子项缩略图置为无效状态。此时,子项缩略图没有实际意义,固件也不对其进行处理。
S12:在接收到Trim命令时,确定与Trim命令对应的逻辑地址范围;
S13:将确定的逻辑地址范围填充至对应的子项缩略图中,并更新Trim比特位图;
具体地,每个Trim命令对应若干个要被Trim的逻辑块,其具体表现为这些需要被Trim的逻辑块的逻辑地址范围。在确定逻辑地址范围之后,将其填充至对应的子项缩略图中,并同时对Trim比特位图进行更新。
需要说明的是,本申请中每次接收到Trim命令以改变各个逻辑块是否被Trim的状态时,Trim比特位图均需要被更新,以下不再赘述。
作为一种优选的实施例,在接收到Trim命令时,确定与Trim命令对应的逻辑地址范围,包括:
在接收到第iTrim命令时,确定与第iTrim命令对应的第i逻辑地址范围,i为正整数;
将确定的逻辑地址范围填充至对应的子项缩略图中,包括:
确定i是否为一;
若i为一,则将确定的第一逻辑地址范围填充至第一子项缩略图中;
若i不为一,则判断第i逻辑地址范围与已填充的各个子项缩略图中的逻辑地址范围是否存在重合;
若存在重合,则确定与第i逻辑地址范围存在重合的子项缩略图,并将存在重合的子项缩略图中填充的逻辑地址范围与第i逻辑地址范围进行整合,将整合后的逻辑地址范围填充至存在重合的子项缩略图中;
若不存在重合,则将第i逻辑地址范围填充至待填充的子项缩略图中。
考虑到在接收多个Trim命令时,多个Trim命令对应的逻辑地址范围之间可能会存在重合,例如,已填充的子项缩略图对应的逻辑地址范围中包括(2,5)(表示逻辑地址2~逻辑地址5),若在接收到新的Trim命令对应的逻辑地址范围为(4,7),其中逻辑地址4和逻辑地址5则为重合的部分,此时,若将存在重合部分的逻辑地址范围分别填充至两个子项缩略图时,需要占用的子项缩略图的个数较多。
因此,本申请中在接收到新的Trim命令时,判断是否为首次接收Trim命令,也即,判定i是否为一,若是,则直接将第一Trim命令对应的第一逻辑地址范围填充至第一子项缩略图中。否则,表示N个子项缩略图中已经存在已填充逻辑地址范围的子项缩略图,此时,判断新接收的第iTrim命令对应的第i逻辑地址范围与已填充的各个子项缩略图中的逻辑地址范围是否存在重合的部分,若存在,则将两个存在重合的逻辑地址范围进行整合,整合为一个,并填充在原存在重合的子项缩略图中。例如,上述描述的逻辑地址范围(2,5)为第2子项缩略图对应的逻辑地址范围,若新接收到的Trim命令对应的逻辑地址范围为(4,7),此时,将逻辑地址范围(2,5)和(4,7)进行整合,以得到新的逻辑地址范围(2,7),并将其让填充至第2子项缩略图中。
作为一种优选的实施例,判断第i逻辑地址范围与已填充的各个子项缩略图中的逻辑地址范围是否存在重合之后,还包括:
若存在重合,则确定与第i逻辑地址范围存在重合的子项缩略图,并将存在重合的子项缩略图中填充的逻辑地址范围与第i逻辑地址范围进行整合,并将整合后的逻辑地址范围填充至待填充的子项缩略图中,并删除与第i逻辑地址范围存在重合的子项缩略图。
具体地,在判定存在重合时,还可以是将整合之后的新的逻辑地址范围填充至待填充的子项缩略图中,并删除原有的与第i逻辑地址范围存在重合的子项缩略图。
例如,上述描述的逻辑地址范围(2,5)为第2子项缩略图对应的逻辑地址范围,若新接收到的Trim命令对应的逻辑地址范围为(4,7),此时,将逻辑地址范围(2,5)和(4,7)进行整合,以得到新的逻辑地址范围(2,7),并将其填充至新的未填充的子项缩略图中,并删除原第2子项缩略图。
当然,还可以是其他的实现方式,本申请在此不再限定。
若已填充的子项缩略图对应的逻辑地址范围中不存在与新接收的第iTrim命令对应的第i逻辑地址范围重合的部分,则直接将第i逻辑地址范围填充至待填充的子项缩略图中。其中,由于在第iTrim命令之前可能存在整合逻辑地址范围,并将整合后的逻辑地址范围填充至原子项缩略图的情况,所以在i不为一时,第i逻辑地址范围填充的子项缩略图不一定是第i个子项缩略图。
作为一种优选的实施例,将第i逻辑地址范围填充至待填充的子项缩略图中之后,还包括:
获取多个已填充的子项缩略图对应的逻辑地址范围中的起始地址和结束地址;
将多个已填充的子项缩略图按照地址的升序进行排序;
地址的升序为前一个逻辑地址范围的结束地址小于后一个逻辑地址范围的起始地址。
考虑到在接收多个Trim命令时,并不会按照逻辑地址范围中地址的升序或降序依次发送,其对应的逻辑地址范围中的地址大小顺序是混乱的,不便于判断新接收到的第i逻辑地址范围和已填充的子项缩略图对应的逻辑地址范围之间是否存在重合。
因此,本申请中还对已填充的子项缩略图对应的逻辑地址范围中的起始地址和结束地址进行获取,以知晓各个逻辑地址范围中的地址的最大值和最小值,然后将已填充的子项缩略图按照地址的升序进行排序。其中地址的升序指的是前一个逻辑地址范围的结束地址小于后一个逻辑地址范围的起始地址,例如,前一个逻辑地址范围为(10,15)(结束地址为15),后一个逻辑地址范围为(20,22)(起始地址为20)。
以上限定其按照地址的升序进行排序的原因是:每个逻辑地址范围中的起始地址均小于结束地址。若每个逻辑地址范围中的起始地址均大于结束地址时,可以将多个已填充的子项缩略图按照地址的降序进行排序,本申请在此不做限定。
作为一种优选的实施例,N为Trim命令包含的逻辑地址范围的个数的最大值;
将第i逻辑地址范围填充至待填充的子项缩略图中之前,还包括:
判断N个子项缩略图中是否存在未填充逻辑地址范围的子项缩略图;
若存在,则进入将第i逻辑地址范围填充至待填充的子项缩略图中的步骤。
考虑到Trim命令包含的逻辑地址范围的个数是有限制的,此时,若N为Trim命令包含的逻辑地址范围的个数的最大值时,最多只能构建N个子项缩略图,其中N可以但限于为256。
此时,在新接收到第iTrim命令,并确定对应的第i逻辑地址范围时,若构建的N个子项缩略图中还存在未填充逻辑地址范围的子项缩略图时,判定还存在待填充的子项缩略图,此时才可以将与第iTrim命令对应的第i逻辑地址范围填充至待填充的子项缩略图中。
作为一种优选的实施例,判断N个子项缩略图中是否存在未填充逻辑地址范围的子项缩略图之后,还包括:
若不存在,则将第j子项缩略图与第j+1子项缩略图合并,作为第j子项缩略图,然后进入将第i逻辑地址范围填充至待填充的子项缩略图中的步骤,N>j≥1,且j为整数。
否则,若构建的N个子项缩略图中不存在未填充逻辑地址范围的子项缩略图时,判定所有的子项缩略图均已经被填充,不存在待填充的子项缩略图,但是此时若接收到第iTrim命令,并确定对应的第i逻辑地址范围时,若第i逻辑地址范围与已填充的子项缩略图对应的逻辑地址范围不存在重合,则需要为其分配一个新的子项缩略图。
本申请中将第j子项缩略图与第j+1子项缩略图合并,并作为新的第j子项缩略图,此时,已填充逻辑地址范围的子项缩略图的个数为N-1,腾出一个子项缩略图作为待填充的子项缩略图,并将与第iTrim命令对应的第i逻辑地址范围填充至该待填充的子项缩略图中。
本实施例中的方式可以保证只有第j子项缩略图中存在需要被Trim和不需要被Trim的逻辑块的逻辑地址,除第j子项缩略图之外的其他子项缩略图中均是需要被Trim的逻辑块的逻辑地址。
S14:在Trim后端对L2P表进行更新时,根据N个子项缩略图确定待Trim的逻辑块的逻辑地址范围,并根据确定的逻辑地址范围更新L2P表。
具体地,使用本申请中方式,由于子项缩略图中填充的均是需要被Trim的逻辑块的逻辑地址范围,因此,在Trim后端对L2P表进行更新时,只需要调用各个子项缩略图即可知晓是哪些个逻辑块为需要被Trim的逻辑块,并基于此对L2P表进行更新即可,不需要频繁的扫描Trim比特位图,可以减少扫描的次数,提高对L2P表进行更新的效率。
作为一种优选的实施例,在Trim后端对L2P表进行更新时,根据子项缩略图确定待Trim的逻辑块的逻辑地址范围,并根据确定的逻辑地址范围更新L2P表,包括:
判断已填充的子项缩略图的个数是否小于N;
若小于,则判定已填充的各个子项缩略图中填充的逻辑地址范围对应的逻辑块均待Trim,并根据已填充的各个子项缩略图中填充的逻辑地址范围对L2P表进行更新;
若不小于,则判定除第j子项缩略图之外的子项缩略图中填充的逻辑地址范围对应的逻辑块均为待Trim的逻辑块,根据除第j子项缩略图之外的子项缩略图对L2P表进行更新;并根据第j子项缩略图中填充的逻辑地址范围查询Trim比特位图,确定第j子项缩略图中待Trim的逻辑块的逻辑地址,并根据待Trim的逻辑块的逻辑地址对L2P表进行更新。
具体地,在上述限定了N为Trim命令包含的逻辑地址范围的个数的最大值时,此时对L2P表进行更新时,则需要判断已填充的子项缩略图的个数是否小于N,其本质是要判断已填充的子项缩略图对应的逻辑地址范围中是否存在需要被Trim和不需要被Trim的逻辑块的混合逻辑地址。也即是判断是否存在第j子项缩略图与第j+1子项缩略图合并作为新的第j子项缩略图的情况。
具体地,若已填充的子项缩略图的个数小于N,则表示每个已填充的子项缩略图对应的逻辑地址范围的逻辑块均为待Trim的逻辑块,此时,直接根据已填充的各个子项缩略图中填充的逻辑地址范围对L2P表进行更新即可。
若已填充的子项缩略图的个数不小于N,则表示第j子项缩略图可能存在不全是待Trim的逻辑块,但除第j子项缩略图之外的子项缩略图中填充的逻辑地址范围对应的逻辑块均为待Trim的逻辑块。此时,对于除第j子项缩略图之外的子项缩略图部分,直接根据其逻辑地址范围更新L2P表的对应部分即可;对于第j子项缩略图部分,需要扫描与第j子项缩略图的逻辑地址范围对应的Trim比特位图,以判断第j子项缩略图中待Trim的逻辑块的逻辑地址,并对待Trim的逻辑块对应的L2P部分进行更新。
本申请中限定j为1,也即是只有第一子项缩略图中不是纯的待Trim的逻辑块的逻辑地址。
需要说明的是,本申请中Trim比特位图对应的Bit的状态为1时,表示该Bit位对应的逻辑块为待Trim的逻辑块。
可见,通过本申请中的方式,可以减少扫描Trim比特位图的次数,即使在第j子项缩略图中存在不是待Trim的逻辑块的逻辑地址时,也只需要对第j子项缩略图对应的逻辑地址范围对应的对Trim比特位图进行扫描即可,不需要对Trim比特位图中所有的Bit位进行扫描。
作为一种优选的实施例,并根据确定的逻辑地址范围更新L2P表,包括:
根据确定的逻辑地址范围中逻辑地址的升序或降序更新L2P表。
进一步的,本申请中根据确定的逻辑地址范围对L2P表进行更新时,为方便管理,按照逻辑地址的升序或者降序进行更新。
作为一种优选的实施例,根据确定的逻辑地址范围中逻辑地址的升序或降序更新L2P表之后,还包括:
在更新完每个逻辑地址对应的L2P表项时,将已更新的逻辑地址从确定的逻辑地址范围中删除;
在子项缩略图中填充的逻辑地址范围的起始地址与结束地址相同时,删除起始地址与结束地址相同的子项缩略图。
具体的,在上述按照确定的逻辑地址范围中逻辑地址的升序或降序更新L2P表之后,每更新一个逻辑地址对应的L2P表项,则将已处理的这个逻辑地址从确定的逻辑地址范围中删除,更新的过程中逐渐删除已更新过的逻辑地址相当于是逐渐缩小确定的逻辑地址范围,直至子项缩略图中填充的逻辑地址范围的起始地址与结束地址相同时,表示该子项缩略图中所有逻辑地址均已经处理完,此时,删除起始地址与结束地址相同的子项缩略图。
例如,逻辑地址范围为(2,4)时,先对与逻辑地址为2对应的L2P表项进行更新,然后对与逻辑地址为3对应的L2P表项进行更新,最后对与逻辑地址为4对应的L2P表项进行更新,然后将(2,4)这一逻辑地址范围删除。
作为一种优选的实施例,N为Trim命令包含的逻辑地址范围的个数的最大值;
在Trim后端对L2P表进行更新时,还包括:
在NVME对第m逻辑地址读取时,判断N个子项缩略图中是否存在未填充逻辑地址范围的子项缩略图;
若N个子项缩略图中存在未填充逻辑地址范围的子项缩略图,则判断第m逻辑地址是否在已填充的子项缩略图对应的逻辑地址范围内;
若第m逻辑地址在已填充的子项缩略图对应的逻辑地址范围内,则判定第m逻辑地址对应的逻辑块待Trim,并向NVME返回0值;
若N个子项缩略图中不存在未填充逻辑地址范围的子项缩略图,则判断第m逻辑地址是否在第j逻辑地址范围内;
若不在第j逻辑地址范围内,则判断第m逻辑地址是否在除第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内;
若在除第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内,则判定第m逻辑地址对应的逻辑块待Trim,并向NVME返回0值;
若在第j逻辑地址范围内,则查询Trim比特位图以确定第m逻辑地址对应的逻辑块是否为待Trim的逻辑块;
若第m逻辑地址对应的逻辑块为待Trim的逻辑块,则向NVME返回0值;
其中,m为正整数且小于确定的逻辑地址范围中逻辑地址的最大值。
具体地,在NVME对第m逻辑地址的逻辑块进行读取时,考虑到Trim后端存在未完成的情况,需要先查询各个子项缩略图和Trim比特位图。
如果已填充的子项缩略图的数目小于N(如256),且第m逻辑地址在已填充的子项缩略图对应的逻辑地址范围内,则判定第m逻辑地址对应的逻辑块待Trim,并向NVME返回0值。
如果已填充的子项缩略图的数目不小于N(如256),且第m逻辑地址在除第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内,则判定第m逻辑地址对应的逻辑块待Trim,并向NVME返回0值。
如果已填充的子项缩略图的数目不小于N(如256),且第m逻辑地址在第j逻辑地址范围内,则查询Trim比特位图,以查询第m逻辑地址对应的逻辑块是否为待Trim的逻辑块,若是(具体可以为第m逻辑地址对应的Bit位为1),则判定第m逻辑地址对应的逻辑块为待Trim的逻辑块,向NVME返回0值。
需要说明的是,本申请中的NVME读取时,可以是指对某一个逻辑地址进行读取(如第m逻辑地址),也可以是对某一个长度的逻辑地址进行读取,例如,给出了起始地址和地址长度,然后根据起始地址和地址长度分别判断对应的逻辑地址中的逻辑块是否为待Trim的逻辑块,并在其为待Trim的逻辑块时,返回0值。
作为一种优选的实施例,N为Trim命令包含的逻辑地址范围的个数的最大值;
在Trim后端对L2P表进行更新时,还包括:
在NVME对第n逻辑地址写入时,判断N个子项缩略图中是否存在未填充逻辑地址范围的子项缩略图;
若N个子项缩略图中存在未填充逻辑地址范围的子项缩略图,则判断第n逻辑地址是否在已填充的子项缩略图对应的逻辑地址范围内;
若第n逻辑地址在已填充的子项缩略图对应的逻辑地址范围内,则以第n逻辑地址为界限,将包括第n逻辑地址的逻辑地址范围对应的子项缩略图分割为两个子项缩略图;
若N个子项缩略图中不存在未填充逻辑地址范围的子项缩略图,则判断第n逻辑地址是否在第j子项缩略图对应的逻辑地址范围内;
若不在第j逻辑地址范围内,则判断第n逻辑地址是否在除第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内;
若在除第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内,则以第n逻辑地址为界限,将包括第n逻辑地址的逻辑地址范围对应的子项缩略图分割为两个子项缩略图,并将第j子项缩略图与第j+1子项缩略图合并;
若在第j逻辑地址范围内,则根据第n逻辑地址更新Trim比特位图;
其中,n为正整数且小于确定的逻辑地址范围中逻辑地址的最大值。
具体地,在NVME对第n逻辑地址的逻辑块进行写入时,考虑到Trim后端存在未完成的情况,需要先查询各个子项缩略图和Trim比特位图。
如果已填充的子项缩略图的数目小于N(如256),且第n逻辑地址在已填充的子项缩略图对应的逻辑地址范围内,则判定需将第n逻辑地址对应的逻辑块的状态由待Trim修改为非待Trim。此时,以第n逻辑地址为界限,将包括第n逻辑地址的逻辑地址范围对应的子项缩略图分割为两个子项缩略图。其中,分割后的前一个子项缩略图的结束地址为n-1,分割后的后一个子项缩略图的结束地址为n+1,这两个子项缩略图中均不包括第n逻辑地址。
如果已填充的子项缩略图的数目不小于N(如256),且第n逻辑地址在除第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内,则以第n逻辑地址为界限,将包括第n逻辑地址的逻辑地址范围对应的子项缩略图分割为两个子项缩略图,并将第j子项缩略图与第j+1子项缩略图合并,此时,既能实现对第n逻辑地址对应的逻辑块的状态的修改,也使得子项缩略图的总个数仍保持在N个(256个)。同样的,此处分割后的前一个子项缩略图的结束地址为n-1,分割后的后一个子项缩略图的结束地址为n+1,这两个子项缩略图中均不包括第n逻辑地址。
如果已填充的子项缩略图的数目不小于N(如256),且第n逻辑地址在出第j逻辑地址范围内,此时由于第j逻辑地址范围内本身就可能包括非待Trim的逻辑块,无论修不修改第n逻辑地址对应的逻辑块的状态,在对第j逻辑地址范围处理时的过程都是不变的,也即是,均需要扫描与第j逻辑地址范围对应的Trim比特位图。因此,本申请中在已填充的子项缩略图的数目不小于N(如256),且第n逻辑地址在出第j逻辑地址范围内时,直接根据第n逻辑地址更新Trim比特位图,如具体可以为将与第n逻辑地址对应的Bit位由1修改为0。
综上,应用本申请中的L2P表的更新方法,在接收到Trim命令时,确定与Trim命令对应的逻辑地址范围并填充至预先构建的对应的子项缩略图中,并更新Trim比特位图;在Trim后端对L2P表进行更新时,根据N个子项缩略图确定待Trim的逻辑块的逻辑地址范围,以更新L2P表。本申请中通过子项缩略图确定需要被Trim的逻辑块及对应的逻辑地址范围,进而完成对L2P表的更新,不需要逐个扫描Trim比特位图,进而可以避免在上电之后重新扫描Trim比特位图导致的部分L2P表二次更新的情况,由于子项缩略图中包括的逻辑地址不止一个,因此还可以提高L2P表更新的效率。
为解决上述技术问题,本申请还提供了一种L2P表更新系统,请参照图2,图2为本申请提供的一种L2P表更新系统的结构框图,该系统包括:
构建单元21,用于构建N个子项缩略图,子项缩略图中填充待Trim的逻辑块的逻辑地址范围,N为大于1的整数;
命令接收单元22,用于在接收到Trim命令时,确定与Trim命令对应的逻辑地址范围;
填充单元23,用于将确定的逻辑地址范围填充至对应的子项缩略图中,并更新Trim比特位图;
L2P表更新单元24,用于在Trim后端对L2P表进行更新时,根据N个子项缩略图确定待Trim的逻辑块的逻辑地址范围,并根据确定的逻辑地址范围更新L2P表。
对于L2P表更新系统的介绍请参照上述实施例,本申请在此不再赘述。
为解决上述技术问题,本申请还提供了一种L2P表更新装置,请参照图3,图3为本申请提供的一种L2P表更新装置的结构框图,该装置包括:
存储器31,用于存储计算机程序;
处理器32,用于在存储计算机程序时,实现如上述的L2P表更新方法的步骤。
对于L2P表更新装置的介绍请参照上述实施例,本申请在此不再赘述。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的L2P表更新方法的步骤。对于计算机可读存储介质的介绍请参照上述实施例,本申请在此不再赘述。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种L2P表更新方法,其特征在于,包括:
构建N个子项缩略图,所述子项缩略图中填充待Trim的逻辑块的逻辑地址范围,N为大于1的整数;
在接收到Trim命令时,确定与所述Trim命令对应的逻辑地址范围;
将确定的与所述Trim命令对应的逻辑地址范围填充至对应的子项缩略图中,并更新Trim比特位图;
在Trim后端对L2P表进行更新时,根据N个所述子项缩略图确定待Trim的逻辑块的逻辑地址范围,并根据确定的所述待Trim的逻辑块的逻辑地址范围更新所述L2P表。
2.如权利要求1所述的L2P表更新方法,其特征在于,在接收到Trim命令时,确定与所述Trim命令对应的逻辑地址范围,包括:
在接收到第i个Trim命令时,确定与所述第i个Trim命令对应的第i逻辑地址范围,i为正整数;
将确定的与所述Trim命令对应的逻辑地址范围填充至对应的子项缩略图中,包括:
确定所述i是否为一;
若所述i为一,则将确定的第一逻辑地址范围填充至第一子项缩略图中;
若所述i不为一,则判断所述第i逻辑地址范围与已填充的各个所述子项缩略图中的逻辑地址范围是否存在重合;
若存在重合,则确定与所述第i逻辑地址范围存在重合的子项缩略图,并将存在重合的所述子项缩略图中填充的逻辑地址范围与所述第i逻辑地址范围进行整合,将整合后的逻辑地址范围填充至存在重合的所述子项缩略图中;
若不存在重合,则将所述第i逻辑地址范围填充至待填充的子项缩略图中。
3.如权利要求2所述的L2P表更新方法,其特征在于,判断所述第i逻辑地址范围与已填充的各个所述子项缩略图中的逻辑地址范围是否存在重合之后,还包括:
若存在重合,则确定与所述第i逻辑地址范围存在重合的子项缩略图,并将存在重合的所述子项缩略图中填充的逻辑地址范围与所述第i逻辑地址范围进行整合,并将整合后的逻辑地址范围填充至待填充的子项缩略图中,并删除与所述第i逻辑地址范围存在重合的子项缩略图。
4.如权利要求2所述的L2P表更新方法,其特征在于,将所述第i逻辑地址范围填充至待填充的子项缩略图中之后,还包括:
获取多个已填充的所述子项缩略图对应的逻辑地址范围中的起始地址和结束地址;
将多个已填充的所述子项缩略图按照地址的升序进行排序;
所述地址的升序为前一个逻辑地址范围的结束地址小于后一个逻辑地址范围的起始地址。
5.如权利要求4所述的L2P表更新方法,其特征在于,N为所述Trim命令包含的逻辑地址范围的个数的最大值;
将所述第i逻辑地址范围填充至待填充的子项缩略图中之前,还包括:
判断N个所述子项缩略图中是否存在未填充逻辑地址范围的子项缩略图;
若存在,则进入将所述第i逻辑地址范围填充至待填充的子项缩略图中的步骤。
6.如权利要求5所述的L2P表更新方法,其特征在于,判断N个所述子项缩略图中是否存在未填充逻辑地址范围的子项缩略图之后,还包括:
若不存在,则将第j子项缩略图与第j+1子项缩略图合并,作为所述第j子项缩略图,然后进入将所述第i逻辑地址范围填充至待填充的子项缩略图中的步骤,N>j≥1,且j为整数。
7.如权利要求6所述的L2P表更新方法,其特征在于,在Trim后端对L2P表进行更新时,根据所述子项缩略图确定待Trim的逻辑块的逻辑地址范围,并根据确定的逻辑地址范围更新所述L2P表,包括:
判断已填充的子项缩略图的个数是否小于N;
若小于,则判定已填充的各个所述子项缩略图中填充的逻辑地址范围对应的逻辑块均待Trim,并根据已填充的各个所述子项缩略图中填充的逻辑地址范围对所述L2P表进行更新;
若不小于,则判定除所述第j子项缩略图之外的子项缩略图中填充的逻辑地址范围对应的逻辑块均为待Trim的逻辑块,根据除所述第j子项缩略图之外的子项缩略图对所述L2P表进行更新;并根据所述第j子项缩略图中填充的逻辑地址范围查询所述Trim比特位图,确定所述第j子项缩略图中待Trim的逻辑块的逻辑地址,并根据待Trim的逻辑块的逻辑地址对所述L2P表进行更新。
8.如权利要求7所述的L2P表更新方法,其特征在于,N为所述Trim命令包含的逻辑地址范围的个数的最大值;
在Trim后端对L2P表进行更新时,还包括:
在NVME对第m逻辑地址读取时,判断N个所述子项缩略图中是否存在未填充逻辑地址范围的子项缩略图;
若N个所述子项缩略图中存在未填充逻辑地址范围的子项缩略图,则判断所述第m逻辑地址是否在已填充的所述子项缩略图对应的逻辑地址范围内;
若所述第m逻辑地址在已填充的所述子项缩略图对应的逻辑地址范围内,则判定所述第m逻辑地址对应的逻辑块待Trim,并向所述NVME返回0值;
若N个所述子项缩略图中不存在未填充逻辑地址范围的子项缩略图,则判断所述第m逻辑地址是否在第j逻辑地址范围内;
若不在所述第j逻辑地址范围内,则判断所述第m逻辑地址是否在除所述第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内;
若在除所述第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内,则判定所述第m逻辑地址对应的逻辑块待Trim,并向所述NVME返回0值;
若在所述第j逻辑地址范围内,则查询所述Trim比特位图以确定所述第m逻辑地址对应的逻辑块是否为待Trim的逻辑块;
若所述第m逻辑地址对应的逻辑块为待Trim的逻辑块,则向所述NVME返回0值;
其中,m为正整数且小于确定的逻辑地址范围中逻辑地址的最大值。
9.如权利要求7所述的L2P表更新方法,其特征在于,N为所述Trim命令包含的逻辑地址范围的个数的最大值;
在Trim后端对L2P表进行更新时,还包括:
在NVME对第n逻辑地址写入时,判断N个所述子项缩略图中是否存在未填充逻辑地址范围的子项缩略图;
若N个所述子项缩略图中存在未填充逻辑地址范围的子项缩略图,则判断所述第n逻辑地址是否在已填充的所述子项缩略图对应的逻辑地址范围内;
若所述第n逻辑地址在已填充的所述子项缩略图对应的逻辑地址范围内,则以所述第n逻辑地址为界限,将包括所述第n逻辑地址的逻辑地址范围对应的子项缩略图分割为两个子项缩略图;
若N个所述子项缩略图中不存在未填充逻辑地址范围的子项缩略图,则判断所述第n逻辑地址是否在所述第j子项缩略图对应的逻辑地址范围内;
若不在第j逻辑地址范围内,则判断所述第n逻辑地址是否在除所述第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内;
若在除所述第j逻辑地址范围之外的已填充的子项缩略图对应的逻辑地址范围内,则以所述第n逻辑地址为界限,将包括第n逻辑地址的逻辑地址范围对应的子项缩略图分割为两个子项缩略图,并将所述第j子项缩略图与所述第j+1子项缩略图合并;
若在所述第j逻辑地址范围内,则根据所述第n逻辑地址更新所述Trim比特位图;
其中,n为正整数且小于确定的逻辑地址范围中逻辑地址的最大值。
10.如权利要求1-9任一项所述的L2P表更新方法,其特征在于,构建N个子项缩略图之后,还包括:
将N个所述子项缩略图置为无效值。
11.如权利要求1-9任一项所述的L2P表更新方法,其特征在于,并根据确定的所述待Trim的逻辑块的逻辑地址范围更新所述L2P表,包括:
根据确定的所述待Trim的逻辑块的逻辑地址范围中逻辑地址的升序或降序更新所述L2P表。
12.如权利要求11所述的L2P表更新方法,其特征在于,根据确定的所述待Trim的逻辑块的逻辑地址范围中逻辑地址的升序或降序更新所述L2P表之后,还包括:
在更新完每个逻辑地址对应的L2P表项时,将已更新的所述逻辑地址从确定的所述待Trim的逻辑块的逻辑地址范围中删除;
在所述子项缩略图中填充的逻辑地址范围的起始地址与结束地址相同时,删除所述起始地址与所述结束地址相同的子项缩略图。
13.一种L2P表更新系统,其特征在于,包括:
构建单元,用于构建N个子项缩略图,所述子项缩略图中填充待Trim的逻辑块的逻辑地址范围,N为大于1的整数;
命令接收单元,用于在接收到Trim命令时,确定与所述Trim命令对应的逻辑地址范围;
填充单元,用于将确定的与所述Trim命令对应的逻辑地址范围填充至对应的子项缩略图中,并更新Trim比特位图;
L2P表更新单元,用于在Trim后端对L2P表进行更新时,根据N个所述子项缩略图确定待Trim的逻辑块的逻辑地址范围,并根据确定的所述待Trim的逻辑块的逻辑地址范围更新所述L2P表。
14.一种L2P表更新装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于在存储计算机程序时,实现如权利要求1-12任一项所述的L2P表更新方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-12任一项所述的L2P表更新方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211068462.8A CN115168250B (zh) | 2022-09-02 | 2022-09-02 | 一种l2p表更新方法、系统、装置及可读存储介质 |
PCT/CN2023/081739 WO2024045556A1 (zh) | 2022-09-02 | 2023-03-15 | 一种l2p表更新方法、系统、装置及非易失性可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211068462.8A CN115168250B (zh) | 2022-09-02 | 2022-09-02 | 一种l2p表更新方法、系统、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115168250A CN115168250A (zh) | 2022-10-11 |
CN115168250B true CN115168250B (zh) | 2023-01-24 |
Family
ID=83480573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211068462.8A Active CN115168250B (zh) | 2022-09-02 | 2022-09-02 | 一种l2p表更新方法、系统、装置及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115168250B (zh) |
WO (1) | WO2024045556A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168250B (zh) * | 2022-09-02 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 一种l2p表更新方法、系统、装置及可读存储介质 |
CN116302005B (zh) * | 2023-05-11 | 2023-08-22 | 合肥智芯半导体有限公司 | 芯片、芯片升级方法、装置、电子设备及可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9323667B2 (en) * | 2012-04-12 | 2016-04-26 | Violin Memory Inc. | System and method for managing trim operations in a flash memory system using mapping tables and block status tables |
KR102567140B1 (ko) * | 2017-11-24 | 2023-08-16 | 삼성전자주식회사 | 데이터 관리 방법 및 이를 수행하는 저장 장치 |
US11100005B2 (en) * | 2019-09-06 | 2021-08-24 | Micron Technology, Inc. | Logical-to-physical (L2P) table sharping strategy |
CN112463055B (zh) * | 2020-11-27 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种优化并使用固态硬盘l2p表的方法、系统、设备及介质 |
CN114253870A (zh) * | 2021-11-29 | 2022-03-29 | 山东云海国创云计算装备产业创新中心有限公司 | 一种更新l2p表的方法、系统、设备以及介质 |
CN115168250B (zh) * | 2022-09-02 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 一种l2p表更新方法、系统、装置及可读存储介质 |
-
2022
- 2022-09-02 CN CN202211068462.8A patent/CN115168250B/zh active Active
-
2023
- 2023-03-15 WO PCT/CN2023/081739 patent/WO2024045556A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN115168250A (zh) | 2022-10-11 |
WO2024045556A1 (zh) | 2024-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115168250B (zh) | 一种l2p表更新方法、系统、装置及可读存储介质 | |
US20220413706A1 (en) | Data Storage Method, Apparatus and Storage System | |
TWI653533B (zh) | 資料儲存裝置以及其操作方法 | |
US10303691B2 (en) | Column-oriented database processing method and processing device | |
JP4053115B2 (ja) | 文書画像データの記憶制御方式 | |
EP2924587A1 (en) | Data processing method and device | |
CN110750211B (zh) | 一种存储空间的管理方法及装置 | |
US20170160940A1 (en) | Data processing method and apparatus of solid state disk | |
CN110688349A (zh) | 一种文档整理方法、装置、终端及计算机可读存储介质 | |
WO2024119775A1 (zh) | 一种raid卡的节点更新方法、系统及相关装置 | |
CN113568582A (zh) | 数据管理方法、装置和存储设备 | |
CN113392089B (zh) | 一种数据库索引优化方法及可读存储介质 | |
EP3267329A1 (en) | Data processing method having structure of cache index specified to transaction in mobile environment dbms | |
EP0461046A2 (en) | File access processing system | |
US6178428B1 (en) | Method and apparatus for accessing a file that can be concurrently written | |
CN110334034B (zh) | 映射表动态加载的方法、装置、计算机设备及存储介质 | |
CN116880746A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
US10871945B2 (en) | Resumable merge sort | |
CN112214356B (zh) | 文件数据恢复方法、装置、计算机设备及存储介质 | |
CN111597149B (zh) | 一种数据库的数据清理方法及装置 | |
CN110413617B (zh) | 一种根据数据量的大小动态调节哈希表组的方法 | |
CN109284237B (zh) | 一种全闪存储阵列中的垃圾回收方法及系统 | |
CN107135265B (zh) | 基于云海os系统的二级存储缓冲区数据管理方法及装置 | |
CN110750495A (zh) | 文件管理方法、装置、存储介质以及终端 | |
JP2828354B2 (ja) | データベース管理装置 |
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 |