CN108491335B - 处理映射表项的方法、装置、设备及介质 - Google Patents

处理映射表项的方法、装置、设备及介质 Download PDF

Info

Publication number
CN108491335B
CN108491335B CN201810276811.2A CN201810276811A CN108491335B CN 108491335 B CN108491335 B CN 108491335B CN 201810276811 A CN201810276811 A CN 201810276811A CN 108491335 B CN108491335 B CN 108491335B
Authority
CN
China
Prior art keywords
mapping table
table entry
memory
linked list
accessed
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
CN201810276811.2A
Other languages
English (en)
Other versions
CN108491335A (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.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System 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 Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201810276811.2A priority Critical patent/CN108491335B/zh
Publication of CN108491335A publication Critical patent/CN108491335A/zh
Application granted granted Critical
Publication of CN108491335B publication Critical patent/CN108491335B/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/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例提供了一种处理映射表项的方法、装置、设备及介质。该方法包括:在待访问的映射表项不在内存中且内存无可用存储空间时,遍历环形链表,所述环形链表的链表项包括:加载到内存的映射表项对应的逻辑区块地址LBA,以及该映射表项上次加载到内存的时间和该映射表项的访问标记,所述访问标记表征在预设时长内映射表项是否被访问;将所述环形链表中上次加载到内存的时间距离当前时间大于预设阈值,且在所述预设时长内未被访问的映射表项,确定为待换出的映射表项;将所述待访问的映射表项写入所述待换出的映射表项对应的LBA,且将所述待换出的映射表项写入闪存。

Description

处理映射表项的方法、装置、设备及介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种处理映射表项方法、装置、设备及介质。
背景技术
随着固态硬盘的大量应用,低成本的固态硬盘越来越受到用户的欢迎。为了降低固态硬盘的成本,固态硬盘使用的内存越来越少,甚至不使用内存,仅使用少量的SRAM存储当前需要访问的Mapping Table,其余的Mapping Table写入Flash。当需要访问某个Mapping表项时,首先判断该Mapping表项是否在内存中,如果不在内存,则从Flash中加载该Mapping表项,同时将内存中已有的mapping表项写入Flash,即换入换出(swap in-out)。
相关技术中,主要有两种换入换出算法:1)先入先出(First-In,First-Out)算法;2)最少最近使用(The Least Recently Used)算法。然而,这些算法没有考虑到硬盘访问的局部性,会增加额外的换入换出操作。换入换出效率低,尤其对于随机读写,换入换出的频率很高,导致固态硬盘的读写性能下降。
发明内容
本发明实施例提供了一种处理映射表项的方法、装置、设备及介质,以减少换入换出操作的次数。
第一方面,本发明实施例提供了一种处理映射表项的方法,所述方法包括:
在待访问的映射表项不在内存中且内存无可用存储空间时,遍历环形链表,所述环形链表的链表项包括:加载到内存的映射表项对应的逻辑区块地址LBA,以及该映射表项上次加载到内存的时间和该映射表项的访问标记,所述访问标记表征在预设时长内映射表项是否被访问;
将所述环形链表中上次加载到内存的时间距离当前时间大于预设阈值,且在所述预设时长内未被访问的映射表项,确定为待换出的映射表项;
将所述待访问的映射表项写入所述待换出的映射表项对应的LBA,且将所述待换出的映射表项写入闪存。
可选地,所述方法还包括:
在初始化过程中,将所述环形链表设置为空;
在将映射表项加载到内存时,将该映射表项对应的链表项添加到所述环形链表中。
可选地,所述方法还包括:
在所述环形链表中链表项对应的映射表项被修改时,将该链表项从所述环形链表中移除,且将修改后的映射表项写入闪存。
可选地,遍历环形链表,包括:
从指针当前指向的链表项开始,遍历所述环形链表;
若链表项对应的映射表项的访问标记表征在预设时长内该映射表项曾被访问的第一值,则将所述访问标记设置为表征在预设时长内该映射表项未被访问的第二值,且指针移到下一个链表项。
可选地,将所述待访问的映射表项写入所述待换出的映射表项对应的LBA,且将所述待换出的映射表项写入闪存,包括:
将针对所述待访问的映射表项写入命令以及针对所述待换出的映射表项写入命令添加到高优先级队列;
按照优先级从高到低的顺序,处理所述高优先级队列中的命令。
第二方面,本发明实施例提供了一种处理映射表项的装置,所述装置包括:
遍历模块,用于在待访问的映射表项不在内存中且内存无可用存储空间时,遍历环形链表,所述环形链表的链表项包括:加载到内存的映射表项对应的逻辑区块地址LBA,以及该映射表项上次加载到内存的时间和该映射表项的访问标记,所述访问标记表征在预设时长内映射表项是否被访问;
确定模块,用于将所述环形链表中上次加载到内存的时间距离当前时间大于预设阈值,且在所述预设时长内未被访问的映射表项,确定为待换出的映射表项;
写入模块,用于将所述待访问的映射表项写入所述待换出的映射表项对应的LBA,且将所述待换出的映射表项写入闪存。
可选地,所述装置还包括:
设置模块,用于在初始化过程中,将所述环形链表设置为空;
添加模块,用于在将映射表项加载到内存时,将该映射表项对应的链表项添加到所述环形链表中。
可选地,所述装置还包括:
处理模块,用于在所述环形链表中链表项对应的映射表项被修改时,将该链表项从所述环形链表中移除,且将修改后的映射表项写入闪存。
可选地,所述遍历模块包括:
遍历子模块,用于从指针当前指向的链表项开始,遍历所述环形链表;
移动子模块,用于若链表项对应的映射表项的访问标记表征在预设时长内该映射表项曾被访问的第一值,则将所述访问标记设置为表征在预设时长内该映射表项未被访问的第二值,且指针移到下一个链表项。
可选地,所述写入模块包括:
添加子模块,用于将针对所述待访问的映射表项写入命令以及针对所述待换出的映射表项写入命令添加到高优先级队列;
处理子模块,用于按照优先级从高到低的顺序,处理所述高优先级队列中的命令。
第三方面,本发明实施例提供了一种处理映射表项的设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
本发明实施例提供的处理映射表项的方法、装置、设备及介质,从环形链表中选择待换出的映射表项,不仅提高了检索映射表项的速度,而且大大减少了换入换出的次数,提高了换入换出效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的处理映射表项的方法的流程图。
图2是本发明实施例提供的处理映射表项的方法的示意图。
图3是本发明实施例提供的处理映射表项的装置的示意图。
图4是本发明实施例提供的处理映射表项的设备的示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例提供了一种处理映射表项的方法。图1是本发明实施例提供的处理映射表项的方法的流程图,如图1所示,该方法包括以下步骤:
步骤S11:在待访问的映射表项不在内存中且内存无可用存储空间时,遍历环形链表,所述环形链表的链表项包括:加载到内存的映射表项对应的逻辑区块地址LBA,以及该映射表项上次加载到内存的时间和该映射表项的访问标记,所述访问标记表征在预设时长内映射表项是否被访问;
步骤S12:将所述环形链表中上次加载到内存的时间距离当前时间大于预设阈值,且在所述预设时长内未被访问的映射表项,确定为待换出的映射表项;
步骤S13:将所述待访问的映射表项写入所述待换出的映射表项对应的LBA,且将所述待换出的映射表项写入闪存。
在一种实施方式中,所述方法还包括:
在初始化过程中,将所述环形链表设置为空;
在将映射表项加载到内存时,将该映射表项对应的链表项添加到所述环形链表中。
本公开实施例中,基于工作集的思想,提出从环形链表中选择待换出的Mapping表项。在初始化过程中,将环形链表设置为空,然后,每加载一个Mapping表项到内存中时,同时将其对应的链表项加入环形链表。随着越来越多的Mapping表项各自对应的链表项被加入环形链表,多个Mapping表项各自对应的链表项共同构成了一个环。一个Mapping表项对应的链表项包括:该Mapping表项对应的LBA(Logic Block Address,逻辑区块地址)、该Mapping表项上次加载到内存的时间,以及该Mapping表项在最近一段时间内是否被访问的标记,记为R标记。
在一种实施方式中,所述方法还包括:
在所述环形链表中链表项对应的映射表项被修改时,将该链表项从所述环形链表中移除,且将修改后的映射表项写入闪存。
为了保证闪存中的映射表项是实时同步更新的,在环形链表中某一链表项对应的映射表项被修改时,需要将修改后的映射表项写入闪存中,以使得闪存中存储的映射表项始终是正确的。同时,考虑到环形链表所占的存储空间有限,由于已经将修改后的映射表项写入闪存,所以将修改后的映射表项对应的链表项从环形链表中移除,以提高环形链表所占的存储空间的利用率。
随着链表项被移除环形链表,可能会出现环形链表为空的情况。此时,当前内存中的所有Mapping表项均被修改过,且在Flash中没有有效的拷贝,因此,需要进行Mapping表项的写入操作,将修改后的Mapping表项写入闪存中。
在一种实施方式中,遍历环形链表,包括:
从指针当前指向的链表项开始,遍历所述环形链表;
若链表项对应的映射表项的访问标记表征在预设时长内该映射表项曾被访问的第一值,则将所述访问标记设置为表征在预设时长内该映射表项未被访问的第二值,且指针移到下一个链表项。
待访问的Mapping表项,如果不在内存中,并且内存无可用存储空间,则需要进行换入换出。图2是本发明实施例提供的处理映射表项的方法的示意图。如图2所示,从指针当前指向的链表项开始,遍历环形链表,如果R位为1,说明该Mapping表项在预设时长内被访问过,因而不是理想的待换出候选表项,将该Mapping表项的R位置0,指针移到下一个链表项。
对下一个链表项,如果R位为0,并且该Mapping表项的上次被加载到内存的时间距离当前时间大于阈值t0,并且未被修改过,说明该Mapping表项不在工作集中,并且在闪存中存在一个有效拷贝,该Mapping表项为理想的候选表项。如果该Mapping表项在工作集中,将上次被加载到内存的时间距离当前时间最长的Mapping表项,作为理想的候选表项。
在将确定出的理想的候选表项作为待换出的表项后,终止遍历,将待访问的映射表项写入该待换出的映射表项对应的LBA,且将该待换出的映射表项写入闪存,换入换出完成。
采用上述技术方案,从环形链表中选择待换出的映射表项,不仅提高了检索映射表项的速度,而且大大减少了换入换出的次数,提高了换入换出效率。
在一种实施方式中,步骤S13包括:
将针对所述待访问的映射表项写入命令以及针对所述待换出的映射表项写入命令添加到高优先级队列;
按照优先级从高到低的顺序,处理所述高优先级队列中的命令。
相关技术中,在对Mapping表项进行换入换出操作时,需等待当前I/O操作完成,不能及时进行换入换出操作,从而导致磁盘I/O不能被及时处理,增加延迟。
为了减少延迟,本公开实施例提出,在进行换入换出操作时,Mapping Table I/O使用高优先级队列,正常I/O使用低优先级队列,这样即使在当前有大量磁盘I/O需要处理时,换入换出操作仍然可以被及时处理。大大提高了换出效率。
基于同一发明构思,本发明实施例还提供一种处理映射表项的装置。图3是本发明实施例提供的处理映射表项的装置的示意图。如图3所示,该装置200包括:
遍历模块201,用于在待访问的映射表项不在内存中且内存无可用存储空间时,遍历环形链表,所述环形链表的链表项包括:加载到内存的映射表项对应的逻辑区块地址LBA,以及该映射表项上次加载到内存的时间和该映射表项的访问标记,所述访问标记表征在预设时长内映射表项是否被访问;
确定模块202,用于将所述环形链表中上次加载到内存的时间距离当前时间大于预设阈值,且在所述预设时长内未被访问的映射表项,确定为待换出的映射表项;
写入模块203,用于将所述待访问的映射表项写入所述待换出的映射表项对应的LBA,且将所述待换出的映射表项写入闪存。
可选地,所述装置还包括:
设置模块,用于在初始化过程中,将所述环形链表设置为空;
添加模块,用于在将映射表项加载到内存时,将该映射表项对应的链表项添加到所述环形链表中。
可选地,所述装置还包括:
处理模块,用于在所述环形链表中链表项对应的映射表项被修改时,将该链表项从所述环形链表中移除,且将修改后的映射表项写入闪存。
可选地,所述遍历模块包括:
遍历子模块,用于从指针当前指向的链表项开始,遍历所述环形链表;
移动子模块,用于若链表项对应的映射表项的访问标记表征在预设时长内该映射表项曾被访问的第一值,则将所述访问标记设置为表征在预设时长内该映射表项未被访问的第二值,且指针移到下一个链表项。
可选地,所述写入模块包括:
添加子模块,用于将针对所述待访问的映射表项写入命令以及针对所述待换出的映射表项写入命令添加到高优先级队列;
处理子模块,用于按照优先级从高到低的顺序,处理所述高优先级队列中的命令。
本发明实施例提供了一种处理映射表项的设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中处理映射表项的方法。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中的处理映射表项的方法。
结合图1描述的本发明实施例的处理映射表项的方法可以由处理映射表项的设备来实现。图4示出了本发明实施例提供的处理映射表项的设备的硬件结构示意图。
处理映射表项的设备可以包括处理器301以及存储有计算机程序指令的存储器302。
具体地,上述处理器301可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在数据处理装置的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。在特定实施例中,存储器302包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器301通过读取并执行存储器302中存储的计算机程序指令,以实现上述实施例中的任意一种处理映射表项的方法。
在一个示例中,处理映射表项的设备还可包括通信接口303和总线310。其中,如图4所示,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
通信接口303,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线310包括硬件、软件或两者,将处理映射表项的设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、***组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
另外,结合上述实施例中的处理映射表项的方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种处理映射表项的方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或***。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

Claims (8)

1.一种处理映射表项的方法,其特征在于,所述方法包括:
在待访问的映射表项不在内存中且内存无可用存储空间时,遍历环形链表,所述环形链表的链表项包括:加载到内存的映射表项对应的逻辑区块地址LBA,以及该映射表项上次加载到内存的时间和该映射表项的访问标记,所述访问标记表征在预设时长内映射表项是否被访问;
将所述环形链表中上次加载到内存的时间距离当前时间大于预设阈值,且在所述预设时长内未被访问的映射表项,确定为待换出的映射表项;
将所述待访问的映射表项写入所述待换出的映射表项对应的LBA,且将所述待换出的映射表项写入闪存;
还包括:
在初始化过程中,将所述环形链表设置为空;
在将映射表项加载到内存时,将该映射表项对应的链表项添加到所述环形链表中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述环形链表中链表项对应的映射表项被修改时,将该链表项从所述环形链表中移除,且将修改后的映射表项写入闪存。
3.根据权利要求1所述的方法,其特征在于,遍历环形链表,包括:
从指针当前指向的链表项开始,遍历所述环形链表;
若链表项对应的映射表项的访问标记表征在预设时长内该映射表项曾被访问的第一值,则将所述访问标记设置为表征在预设时长内该映射表项未被访问的第二值,且指针移到下一个链表项。
4.根据权利要求1所述的方法,其特征在于,将所述待访问的映射表项写入所述待换出的映射表项对应的LBA,且将所述待换出的映射表项写入闪存,包括:
将针对所述待访问的映射表项写入命令以及针对所述待换出的映射表项写入命令添加到高优先级队列;
按照优先级从高到低的顺序,处理所述高优先级队列中的命令。
5.一种处理映射表项的装置,其特征在于,所述装置包括:
遍历模块,用于在待访问的映射表项不在内存中且内存无可用存储空间时,遍历环形链表,所述环形链表的链表项包括:加载到内存的映射表项对应的逻辑区块地址LBA,以及该映射表项上次加载到内存的时间和该映射表项的访问标记,所述访问标记表征在预设时长内映射表项是否被访问;
确定模块,用于将所述环形链表中上次加载到内存的时间距离当前时间大于预设阈值,且在所述预设时长内未被访问的映射表项,确定为待换出的映射表项;
写入模块,用于将所述待访问的映射表项写入所述待换出的映射表项对应的LBA,且将所述待换出的映射表项写入闪存;
还包括:
设置模块,用于在初始化过程中,将所述环形链表设置为空;
添加模块,用于在将映射表项加载到内存时,将该映射表项对应的链表项添加到所述环形链表中。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
处理模块,用于在所述环形链表中链表项对应的映射表项被修改时,将该链表项从所述环形链表中移除,且将修改后的映射表项写入闪存。
7.一种处理映射表项的设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-4中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-4中任一项所述的方法。
CN201810276811.2A 2018-03-30 2018-03-30 处理映射表项的方法、装置、设备及介质 Active CN108491335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810276811.2A CN108491335B (zh) 2018-03-30 2018-03-30 处理映射表项的方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810276811.2A CN108491335B (zh) 2018-03-30 2018-03-30 处理映射表项的方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN108491335A CN108491335A (zh) 2018-09-04
CN108491335B true CN108491335B (zh) 2020-12-29

Family

ID=63317099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810276811.2A Active CN108491335B (zh) 2018-03-30 2018-03-30 处理映射表项的方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN108491335B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109375877A (zh) * 2018-10-24 2019-02-22 江苏华存电子科技有限公司 一种闪存存储中管理主机端逻辑位置对应映射表的方法
CN109446108A (zh) * 2018-10-25 2019-03-08 江苏华存电子科技有限公司 一种基于静态随机存取存储器快速搜寻有效闪存页的方法
CN112445792B (zh) * 2019-09-04 2024-05-24 中移物联网有限公司 区块链区块数据存储方法、装置、电子设备及存储介质
CN112860684A (zh) * 2019-11-12 2021-05-28 阿里巴巴集团控股有限公司 数据访问方法、装置、设备及存储介质
CN117492663B (zh) * 2023-12-29 2024-03-26 合肥康芯威存储技术有限公司 一种存储器及其数据处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140737B2 (en) * 2007-01-30 2012-03-20 Skymedi Corporation Method for enhancing life cycle of memory
CN103077119A (zh) * 2012-12-31 2013-05-01 记忆科技(深圳)有限公司 数据处理***及方法
CN104268094A (zh) * 2014-09-23 2015-01-07 浪潮电子信息产业股份有限公司 一种优化的闪存地址映射方法
US9286209B2 (en) * 2014-04-21 2016-03-15 Avago Technologies General Ip (Singapore) Pte. Ltd. System, method and computer-readable medium using map tables in a cache to manage write requests to a raid storage array
CN105867850A (zh) * 2016-03-29 2016-08-17 联想(北京)有限公司 一种信息调整方法及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833519B (zh) * 2009-03-12 2012-09-05 安凯(广州)微电子技术有限公司 一种减少存储技术设备中地址映射表常驻内存的方法
US20150378884A1 (en) * 2013-04-08 2015-12-31 Avalanche Technology, Inc. Storage system controlling addressing of solid storage disks (ssd)
CN104166634A (zh) * 2014-08-12 2014-11-26 华中科技大学 一种固态盘***中的映射表缓存管理方法
CN105205009B (zh) * 2015-09-30 2018-05-11 华为技术有限公司 一种基于大容量固态存储的地址映射方法及装置
CN105975215B (zh) * 2016-05-25 2019-03-08 深圳大学 一种基于Ondemand算法的叠瓦式磁质存储翻译层映射表管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140737B2 (en) * 2007-01-30 2012-03-20 Skymedi Corporation Method for enhancing life cycle of memory
CN103077119A (zh) * 2012-12-31 2013-05-01 记忆科技(深圳)有限公司 数据处理***及方法
US9286209B2 (en) * 2014-04-21 2016-03-15 Avago Technologies General Ip (Singapore) Pte. Ltd. System, method and computer-readable medium using map tables in a cache to manage write requests to a raid storage array
CN104268094A (zh) * 2014-09-23 2015-01-07 浪潮电子信息产业股份有限公司 一种优化的闪存地址映射方法
CN105867850A (zh) * 2016-03-29 2016-08-17 联想(北京)有限公司 一种信息调整方法及电子设备

Also Published As

Publication number Publication date
CN108491335A (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
CN108491335B (zh) 处理映射表项的方法、装置、设备及介质
US9239780B2 (en) Selection of memory blocks for garbage collection based on variable block life threshold
CN105677580A (zh) 访问缓存的方法和装置
KR102615007B1 (ko) 가비지 컬렉션 - 자동 데이터 배치
CN109388582B (zh) 数据储存装置以及其数据抹除方法
WO2016070793A1 (en) Memory addressing mechanism using buffer of hierarchy of collision free hash tables
CN101826107A (zh) 哈希数据处理方法和装置
CN108073527B (zh) 一种缓存替换的方法和设备
US8886885B2 (en) Systems and methods for operating a plurality of flash modules in a flash memory file system
CN105430478A (zh) 一种网络视频缓冲播放方法、装置及电视机
CN111506604A (zh) 访问数据的方法、装置和计算机程序产品
CN113127382A (zh) 用于追加写的数据读取方法、装置、设备和介质
KR20160075703A (ko) 비휘발성 메모리를 위한 전송 버퍼의 관리
CN114586003A (zh) 使用页级跟踪的加载顺序队列的推测执行
US20150121033A1 (en) Information processing apparatus and data transfer control method
CN116841624A (zh) 访存指令的调度方法、装置、电子设备和存储介质
CN116185287A (zh) 一种降低读延时的方法、装置及固态硬盘
CN115712388A (zh) 固态盘的数据存储方法、装置、设备及存储介质
KR20150127914A (ko) 복수의 프로세서들을 포함하는 반도체 장치 및 그것의 동작 방법
CN114868116A (zh) 暂存缓冲区仲裁
CN114846454A (zh) 对存储器访问请求进行暂存
CN108932178B (zh) 检测使用中逻辑页面的数据储存装置与数据储存方法
CN112925473A (zh) 数据存储方法、装置、设备及存储介质
US20060047901A1 (en) Access control method, disk control unit and storage apparatus
CN108519859B (zh) 数据读取方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20190807

Address after: 518067 Dongjiaotou Workshop D24/F-02, Houhai Avenue, Shekou Street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Yi Lian Information System Co., Ltd.

Address before: 100176 Beijing Daxing District Beijing Economic and Technological Development Zone No. 58 Jinghai Road, No. 5 Building No. 3, No. 305

Applicant before: Beijing legend core technology Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant