CN109144896A - 一种基于mlc奇偶对称性的可感知型数据缓存管理方法 - Google Patents

一种基于mlc奇偶对称性的可感知型数据缓存管理方法 Download PDF

Info

Publication number
CN109144896A
CN109144896A CN201810909304.8A CN201810909304A CN109144896A CN 109144896 A CN109144896 A CN 109144896A CN 201810909304 A CN201810909304 A CN 201810909304A CN 109144896 A CN109144896 A CN 109144896A
Authority
CN
China
Prior art keywords
write
page
node
odd
priority
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.)
Granted
Application number
CN201810909304.8A
Other languages
English (en)
Other versions
CN109144896B (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.)
Jinan University
Original Assignee
Jinan University
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 Jinan University filed Critical Jinan University
Priority to CN201810909304.8A priority Critical patent/CN109144896B/zh
Publication of CN109144896A publication Critical patent/CN109144896A/zh
Application granted granted Critical
Publication of CN109144896B publication Critical patent/CN109144896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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

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

本发明公开了一种基于MLC奇偶对称性的可感知型数据缓存管理方法,基于FTL映射机制,重新设计了缓存管理策略,通过FTL mapping为缓存层的数据节点提供了底层块状态的感知信息,对闪存块的页状态进行标记,可以充分在进行数据更新时,利用闪存块的页状态表作为缓存写回的筛选依据,从而尽可能减少由于奇偶对称性导致的页搬迁存储空间的损耗,极大地提高了SSD中Free Space的利用率,并且由于扩大了闪存可用存储空间,可以充分减少内部的垃圾回收,间接延长了SSD的使用寿命。

Description

一种基于MLC奇偶对称性的可感知型数据缓存管理方法
技术领域
本发明涉及存储系统技术领域,特别涉及一种基于MLC奇偶对称性的可感知型数据缓存管理方法。
背景技术
MLC(Multiple Level Cell)类型的NAND FLASH芯片相比于SLC(Single LevelCell)具有相对存储容量大,成本低等主要优点,原因在于对于同样面积的一个存储单元,SLC只能存储1bit的数据,而MLC可以存储2bit的数据,所以在相同面积的LUN/DIE上,MLC类型的NAND FLASH容量就肯定会大于SLC类型的NAND FLASH。但与此同时,对于每一个存储单元的电子划分地越多时,在写入的过程中控制进入浮栅极的电子个数就会要求得更加精细,因此写操作所需要的完成时间会变长;并且,相比于SLC,由于MLC相邻编程电压之间的距离远小于SLC,其中相同的FLASH面积中MLC相邻两个参考电压(VT)之间间隔变小,这导致了MLC在编程时更容易受到干扰,在对FG(Float Gate)编程的过程中,由于编程页和非编程页之间存在一定的电压差,所以很可能会对其他的FG造成耦合干扰,导致存储数据的错误。因此,MLC中就有even bit line和odd bit line的特殊位线结构,用以避免这种相邻位线之间编程的耦合干扰。同一个word line上的所有even bit line的存储数据是一个evenpage,而所有odd bit line上的存储数据是一个odd page。
Free space是影响闪存存储系统性能的重要因素之一。MLC相比于SLC有着充裕的Free space可以为上层的I/O请求实时地提供存储空间,但是基于NAND FLASH的闪存都会因为浮动门场效应晶体管(FG)有限的耐磨性而具有使用寿命的限制条件,并且MLC的耐用性比SLC会更差,随着SSD的不断使用,最终Free space会不断趋近于0,从而整块SSD都无法正常使用。Free space另一个重要的作用就是可以间接影响垃圾回收(Garbagecollection)的触发几率。
此外,在MLC类型的闪存中,当触发垃圾回收操作时,由于擦除目标块可能存在有效数据,因此需要利用COPYBACK高级功能命令来进行不同分组plane间块内数据的高效搬迁过程。而这个过程中,会由于MLC的even bit line和odd bit line结构限制,有奇偶对称性的搬迁限制,也就是同一个word line上的所有even bit line数据都只能拷贝至另一个word line上的even bit line,所有odd bit line数据只能拷贝至另一个word line上的odd bit line,这就是MLC的奇偶对称性。另外,MLC类型的闪存进行PROGRAM操作时,在块内需要遵循Sequence Program的限制,也就是当在某一个块内进行数据的写入时,是需要从块内第一个page开始写入,然后顺序地往后面位置的page依次写入,而无法像SLC闪存可以实现块内的随机位置写入。所以,当发生块间的数据搬迁时,可能由于奇偶限制的原因,会有页浪费的现象产生,此时当发生某一个块的even page数据需要拷贝时,若此时目标块的最低可用page是odd page,则必须往后一个even page拷贝数据,所以会导致这种页浪费的存储空间损耗。极端情况下,甚至可能会导致50%可用存储空间的浪费。
因此,基于上述的这种奇偶对称导致的页浪费损耗,亟须设计一种基于MLC奇偶对称性的可感知型缓存管理方法,针对这种页浪费现象进行优化,从存储效率和内部系统架构优化上提高闪存存储系统的整体性能。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种基于MLC奇偶对称性的可感知型数据缓存管理方法,可以充分减少奇偶对称所导致的页存储空间损耗。
本发明的目的通过以下的技术方案实现:一种基于MLC奇偶对称性的可感知型数据缓存管理方法,包括以下步骤:
A1、初始化缓存区域,对于所有到达缓存区域的写数据,用一个统一的LRU队列进行管理;
A2、根据此时I/O请求写入的数据量,判断是否需要执行缓存腾空写回的操作;
A3、当发生缓存腾空写回时,从当前缓存的LRU队列逐一扫描,筛选需要写回的数据节点,从队尾节点tail node开始往前筛选,每一次的扫描都需要通过奇偶感知块存储状态的操作来进行判断,判断是否能优先写回至NAND FLASH;
A4、奇偶感知块存储状态的相关信息由FTL中的direct map与inverse map提供,并将获取到的块存储状态表返回给缓存层的buffer node;
A5、根据获取到的块存储状态表将buffer node的写回等级分为三种:I、II、III,其中II和III优先等级分别对应着两个回写等待队列;
A6、按照优先写回等级的划分,将缓存层中的buffer node的LRU队列中,从tailnode开始依次往前筛选I等级的节点优先回写,当扫描到II和III优先级的节点时先将其按照II与III的划分分别挂载到对应的回写等待队列。
优选的,所述的步骤A4,奇偶感知获取到块存储状态表的过程具体如下:
对于每一个buffer node,首先会根据其中的LPN逻辑页号信息从FTL的地址映射表direct map中获取到相应的PPN物理页地址信息,然后根据PPN从inverse map中获取到对应物理页所在的物理块的存储状态信息,将存储状态信息以位图的数据结构形式作为块存储状态表,返回给缓存层的数据节点;每一个块存储状态表都用一个位图来进行表示,其中对应位上0即表示该物理块相应位置的闪存页存储状态为无效状态,对应位上1则表示相应位置的闪存页存储状态为有效状态。
优选的,所述的步骤A5,缓存数据节点的回写优先等级判断过程具体如下:
根据每一个buffer node在对应物理块上的页存储状态情况,将对应的回写优先等级划分成下面三种:
(1)若buffer node在闪存中对应物理块的页状态位置是:上个位置的Page是无效,下一个位置的Page也是无效,则这种情况是具有最高回写优先级别I的;
(2)若buffer node在闪存中对应物理块的页状态位置是:上一个位置的Page是无效或者下一个位置的Page是无效,也就是只有一个临近位置是无效的,则这种情况是第二高的回写优先级别II的;
(3)若buffer node在闪存中对应物理块的页状态位置是:上一个位置的Page是有效的并且下一个位置的Page也是有效的,则这种情况是最低的回写优先级别III的。
优选的,所述的步骤A6,回写等待队列的处理过程具体如下:
当筛选整个LRU队列时,本方法会优先实时写回I优先级的buffer node,随着扫描过程的持续进行,当扫描到优先级为II和III的buffer node,此时会分别将II和III优先级的buffer node依次挂载到一个空的回写等待队列中;当优先级II的回写等待队列的队列长度超过设定的阈值时,从优先级II的回写等待队列中筛选相应的队头buffer node执行写回操作;同样的,当优先级III的回写等待队列长度超过某一设定的阈值时,会开始从优先级III中筛选buffer node执行写回。
具体的,初始化缓存区域时,缓存管理中相应的两个回写等待队列的初始化过程具体如下:
当缓存初始化时,一共会维持三个LRU队列,分别是CachedataLRU、IIParityLRU和IIIParityLRU三个队列,其中CachedataLRU负责存储由块设备层发布至SSD板载缓存的所有写数据,而IIParityLRU队列和IIIParityLRU这两个队列则初始化为空队列,当发生缓存回写操作时,会由奇偶感知模块判断CachedataLRU中数据的优先级而分别分布处理。
具体的,IIParityLRU的阈值要小于IIIParityLRU的阈值,而IIParityLRU的阈值要低于当前缓存的CachedataLRU的实际长度。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明主要用于优化MLC类型的NAND FLASH中由于奇偶对称性所导致的页存储空间损耗问题,与其他传统的闪存缓存管理方法相比,本发明提出的奇偶感知缓存管理方法可以充分减少奇偶对称所导致的页存储空间损耗。
(2)本发明基于MLC闪存的奇偶对称性设计了一种奇偶感知的缓存管理方法,通过利用这种块存储状态信息可以尽可能避免奇偶对称所触发的页浪费现象,间接扩充了FreeSpace,并且充分减少了内部垃圾回收的次数,提高了固态盘内部垃圾回收的效率。
附图说明
图1是实施例基于MLC奇偶对称性的可感知型数据缓存管理方法的步骤流程图。
图2是实施例基于MLC奇偶对称性的可感知型数据缓存管理方法的系统架构图;图2中,写回优先级:A1>F1>B0,三种回写优先等级:I:所在位置的邻近区域都是无效页,II:所在位置的邻近区域有无效页,III:所在位置的邻近区域都是有效页。
图3是实施例基于MLC奇偶对称性的可感知型数据缓存管理方法的块存储状态信息数据结构图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
一种针对MLC类型的Nand Flash存储系统奇偶性的缓存优化方法,对其中在COPYBACK回拷搬迁时由于奇偶对称性导致的页存储空间损耗现象进行优化。MLC的闪存存储系统中会由于这种奇偶性导致一些额外的性能损耗,本发明重新设计了缓存管理方法,基于这种奇偶对称性的回拷限制提出了一种可感知型的缓存管理策略,通过重构FTL来利用奇偶感知操作,为缓存层中的数据节点提供底层块存储状态信息,从而用于判断是否能支持优先回写。通过本方法可以充分减少由于奇偶性所导致的存储空间损耗,提高了固态盘的存储效率,同时也间接优化了垃圾回收的效率。
根据附图1所示,一种基于MLC奇偶对称性的可感知型数据缓存管理方法,具体包括以下步骤:
A1、初始化缓存区域,对于所有到达缓存区域的写数据,都统一用一个LRU方法来管理所有缓存节点;同时初始化两个状态为空的队列,用于存放回写优先级较低的另外两类buffer node,称为II回写等待队列和III回写等待队列;
A2、根据此时I/O请求写入的数据量,判断缓存是否需要腾空回写;当缓存空间不足以存放后续的数据量时,触发回写请求操作;
A3、缓存回写时,会从当前缓存的LRU队列中从尾部节点开始往前扫描,每一次扫描都对每一个buffer node进行一个块存储状态感知的操作;并且获取到的块存储状态信息用一个位图的数据结构进行存储,返回给缓存层的数据节点;
A4、块存储状态由FTL中的映射机制提供,通过Mapping中的direct map和inversemap分别获取到LPN与PPN的映射信息以及每一个闪存物理块的相应状态信息。direct map可以根据buffer node的LPN信息直接提供每一个缓存节点在闪存中的具体物理位置,inverse map可以通过具体物理位置获取到所在的物理块的存储状态信息;
获取到块存储状态信息后,将整个块的所有page的存储状态(如vaild page、unvaild page)用位图的数据结构进行转换,并将这个位图数据传输给缓存层。
奇偶感知获取到块存储状态表的过程具体如下:
对于每一个buffer node,首先会根据其中的LPN逻辑页号信息从FTL的地址映射表direct map中获取到相应的PPN物理页地址信息,然后根据PPN从inverse map中获取到对应物理页所在的物理块的存储状态信息,将存储状态信息以位图的数据结构形式作为块存储状态表,提供给buffer node,每一个块存储状态表都用一个位图来进行表示,其中对应位上0即表示该物理块相应位置的闪存页存储状态为无效状态,对应位上1则表示相应位置的闪存页存储状态为有效状态。
根据每一个buffer node的LPN信息,可以通过FTL中的direct map中直接获取到该buffer node对应的物理页PPN信息,而后根据该PPN可以从inverse map中获取到物理块号PBN以及对应的物理块元数据信息,在FTL中,direct map和inverse map分别是两个提供地址映射和垃圾回收的重要结构;由inverse map所获取到的块存储状态信息中,每一个数据节点对应的LPN在闪存中都会有一个唯一对应的PPN也就是物理位置的相关信息,而对于每一个LPN的PPN,都会存在于某一个闪存块BLOCK上,每一个BLOCK中的每一个Page都会有对应的页状态,比如vaildpage、unvaildpage、free page等。因此可以通过采集这些物理块上的页状态来判断是否适合写入。
A5、根据块存储状态信息可以分成三种回写优先级别I、II、III,其中II和III优先级别分别对应着两个回写等待队列;
缓存数据节点的回写优先等级判断过程具体如下:
根据每一个buffer node在对应物理块上的页存储状态情况,将对应的回写优先等级划分成下面三种:
(1)若buffer node在闪存中对应物理块的页状态位置是:上个位置的Page是无效,下一个位置的Page也是无效,则这种情况是具有最高回写优先级别I的;
(2)若buffer node在闪存中对应物理块的页状态位置是:上一个位置的Page是无效或者下一个位置的Page是无效,也就是只有一个临近位置是无效的,则这种情况是第二高的回写优先级别II的;
(3)若buffer node在闪存中对应物理块的页状态位置是:上一个位置的Page是有效的并且下一个位置的Page也是有效的,则这种情况是最低的回写优先级别III的。
缓存管理中相应的两个回写等待队列的作用具体如下:
当发生缓存空间不足时触发数据节点回写的时候,PLRU会从LRU数据节点的链表尾部向前开始扫描,每一次扫描到的数据节点都需要进行判断。当回写优先级别是III时,PLRU会暂时不选择该节点进行回写,而继续往LRU队列的前一个节点进行判断;当回写优先级别是II时,PLRU会将其挂载到一个回写等待队列中,然后继续扫描LRU队列的其他节点,在这个扫描的过程如果扫描到了I回写优先级别的节点则直接进行回写。回写等待队列是为了保证可以优先回写I级别节点而设定的一个逻辑缓存区域。设定的大小是当回写等待队列中的节点容量超过设定的阈值时,便会触发回写等待队列中的节点回写。以保证不会每一次进行数据节点回写时都需要完全扫描整个LRU队列。
缓存管理中相应的两个回写等待队列的初始化过程具体如下:
当缓存初始化时,一共会维持三个LRU队列,分别是CachedataLRU、IIParityLRU和IIIParityLRU三个队列,其中CachedataLRU负责存储由块设备层发布至SSD板载缓存的所有写数据,而IIParityLRU队列和IIIParityLRU这两个队列则初始化为空队列,当发生缓存回写操作时,会由奇偶感知模块判断CachedataLRU中数据的优先级而分别分布处理。
缓存管理中相应的两个回写等待队列的处理过程具体如下:
每当缓存数据需要回写时,每一个缓存数据节点都会根据奇偶感知操作获取到对应的回写优先级别,若为I则直接进行回写,而II和III则优先插入至IIParityLRU和IIIParityLRU这两个队列中,设定了当这两个队列的实际长度大于设定阈值时会触发其中的LRU队尾节点的回写,并且IIParityLRU的阈值要小于IIIParityLRU的阈值,而IIParityLRU的阈值要低于当前缓存的CachedataLRU的实际长度。这样做的目的在于可以尽可能保持LRU方法的局部优越性,同时又能尽可能避免奇偶性所引发的页浪费损耗。
A6、根据提供的块存储状态信息,按照回写优先等级的划分对缓存中的所有数据节点进行一个回写优先级别的标志,分别从最高优先级别I到最低优先级别III进行标志,而后对LRU队列中的数据节点进行筛选,从尾部节点开始依次往前判断,若数据节点对应的回写级别是I则优先回写该节点;其他的依次类推。同时,在扫描的过程中,会将II和III优先级的节点先挂载到对应的回写等待队列中,当队列其中的数据节点长度大于设定的阈值时,会触发一个对该回写等待队列中筛选节点回写的操作,这样的设计目的在于避免在缓存LRU队列过长时,每一次的扫描都需要遍历判断整个LRU的所有节点,同时也尽可能地保证了LRU的局部性。
当筛选整个LRU队列时,本方法会优先实时写回I优先级的buffer node,随着扫描过程的持续进行,可能会扫描到优先级为II和III的buffer node,此时方法会分别将II和III优先级的buffer node依次挂载到一个空的回写等待队列中;当优先级II的回写等待队列的队列长度超过设定的阈值时,本方法会从优先级II的回写等待队列中筛选相应的队头buffer node执行写回操作;同样的,当优先级III的回写等待队列长度超过某一设定的阈值时,会开始从优先级III中筛选buffer node执行写回。总的来说,优先级II的回写等待队列所设定的阈值要比优先级III的回写等待队列阈值低,这样设计的目的在于,可以充分避免必须要在每一次扫描LRU队列时对整个队列的所有数据节点进行判断,同时也可以尽可能充分保证LRU的数据局部性的性能优势。
根据缓存数据节点提供的LPN信息,从direct map中获取到对应的PPN信息,并且可以充分利用垃圾回收模块中提供的inverse map,根据PPN获取到所在的物理块PBN,以及对应的整个页状态的相关信息,本方法对获取的整个页状态信息用一个位图数组进行了转换。其中相应的位上1表示数据存储为有效状态,0表示无效状态。例如对于具有64个Page的BLOCK,其可以用unsiged long的数据进行一个状态的标识。由于MLC类型的NAND FLASH中的BLOCK具有顺序写的限制条件,因此可以简单的用0/1的状态位来标识此时整个对应物理块BLOCK的页状态。
此外,NAND FLASH的写操作由于只能是异地更新,因此当缓存中的任何一个数据回写时,必定会被FTL分布到与原本物理位置不同(初次写入则也是一样分配一个FreePage的物理位置)的地方进行数据的存储,并且会将原先所在的物理位置标记为无效状态。因此随着数据的不断更新操作,整个SSD的无效状态页会越来越多。本方法正是为了尽可能避免在更新操作过程中反复出现奇偶分隔性的数据存储情况,所以当每一次数据发生更新时,都需要进行判断是否能直接回写至闪存中。
基于MLC类型的NAND FLASH相比于SLC类型的闪存拥有更大的存储容量和更低的制造成本,因此被广泛推广于目前的存储消费市场中,当前工业界主流的存储厂商也基本将MLC闪存作为存储介质的首选。然而,MLC类型的闪存会有奇偶性的特殊限制条件,当发生垃圾回收触发COPYBACK高级回拷搬迁功能时,因为这种特殊的奇偶性,可能会导致闪存存储系统的可用存储空间造成浪费,从而对闪存存储系统的耐用性和稳定性造成影响。本发明实施例通过重构FTL的相关技术框架,利用FTL的地址映射机制以及垃圾回收实现了一种奇偶感知的缓存管理方法,可以为缓存层的数据节点提供底层物理块的存储状态信息,通过利用这种奇偶感知操作获取的块存储状态信息,择优筛选节点进行回写,从而尽可能避免由于奇偶性所导致的页浪费损耗。另一方面,由于通过优化了奇偶性所带来的页存储空间损耗问题,可以充分增加了SSD的Free Sapce,从侧面使得内部的垃圾回收操作触发率降低,因此间接延长了NAND FLASH的使用寿命。
图2是本发明公开的基于MLC奇偶对称性的可感知型数据缓存管理方法的系统架构图,其中也给出了缓存节点相应的三种回写优先等级的判断条件,当缓存中需要执行写回操作时,此时缓存层的所有缓存节点会根据奇偶感知模块来进行筛选回写节点的操作,奇偶感知模块会通过FTL层的direct map和inverse map采集到此时缓存队列中所有缓存节点在flash阵列上块的存储情况,扫描的顺序会从LRU队尾节点依次向前推进。在图中可以清楚地看到,此时若扫描到的B0节点、A1节点和F1节点在物理闪存块上的存储情况如Block1中所表示的情况,则根据奇偶感知模块的优先写回策略,可以判断出写回的优先等级最高的是A1,因此通过这种感知型的方法来判断是否优先写回节点,可以从根本上尽可能避免奇偶浪费的页损耗。
图3是块存储状态信息的位图格式,对于块存储状态信息的感知操作,本方法利用了一个位图的数据结构进行转换存储,而后将获取到的位图数据传输给缓存层,可以看到,对于每一个闪存块的所有闪存页,都有着对应的页存储状态(比如unvaild page和vaildpage),本方法可以通过FTL层的direct map和inverse map分别获取到缓存节点数据对应的物理位置和所在位置的块存储状态信息,如图所示,若位图中对应块内的闪存页存储状态是vaild page的话则该位图位置的数据标记为1,反之当位图中对应块内的闪存页存储状态是unvaild page的话则该位图位置的数据标记为0。
综上所述,本发明利用FTL的地址映射和垃圾回收,分别从direct map和inversemap获取到缓存层数据在闪存阵列中对应的物理位置和块存储状态信息,通过利用这种奇偶感知的操作,采集到缓存节点对应的块存储状态信息,而后判断节点的回写优先等级,从而尽可能地避免由于奇偶性所导致的页浪费损耗,扩大了固态盘的可用存储空间,同时也间接的减少了垃圾回收的触发概率。本发明提供的方案能够较好的适应不同应用场景下的负载,通过尽可能避免奇偶性所带来的页浪费损耗,从而延长了固态盘存储系统的使用寿命。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (6)

1.一种基于MLC奇偶对称性的可感知型数据缓存管理方法,其特征在于,包括以下步骤:
A1、初始化缓存区域,对于所有到达缓存区域的写数据,用一个统一的LRU队列进行管理;
A2、根据此时I/O请求写入的数据量,判断是否需要执行缓存腾空写回的操作;
A3、当发生缓存腾空写回时,从当前缓存的LRU队列逐一扫描,筛选需要写回的数据节点,从队尾节点tail node开始往前筛选,每一次的扫描都需要通过奇偶感知块存储状态的操作来进行判断,判断是否能优先写回至NAND FLASH;
A4、奇偶感知块存储状态的相关信息由FTL中的direct map与inverse map提供,并将获取到的块存储状态表返回给缓存层的buffer node;
A5、根据获取到的块存储状态表将buffer node的写回等级分为三种:I、II、III,其中II和III优先等级分别对应着两个回写等待队列;
A6、按照优先写回等级的划分,将缓存层中的buffer node的LRU队列中,从tail node开始依次往前筛选I等级的节点优先回写,当扫描到II和III优先级的节点时先将其按照II与III的划分分别挂载到对应的回写等待队列。
2.根据权利要求1所述的基于MLC奇偶对称性的可感知型数据缓存管理方法基于MLC奇偶对称性的可感知型数据缓存管理方法,其特征在于,所述的步骤A4,奇偶感知获取到块存储状态表的过程具体如下:
对于每一个buffer node,首先会根据其中的LPN逻辑页号信息从FTL的地址映射表direct map中获取到相应的PPN物理页地址信息,然后根据PPN从inverse map中获取到对应物理页所在的物理块的存储状态信息,将存储状态信息以位图的数据结构形式作为块存储状态表,返回给缓存层的数据节点;每一个块存储状态表都用一个位图来进行表示,其中对应位上0即表示该物理块相应位置的闪存页存储状态为无效状态,对应位上1则表示相应位置的闪存页存储状态为有效状态。
3.根据权利要求1所述的基于MLC奇偶对称性的可感知型数据缓存管理方法,其特征在于,所述的步骤A5,缓存数据节点的回写优先等级判断过程具体如下:
根据每一个buffer node在对应物理块上的页存储状态情况,将对应的回写优先等级划分成下面三种:
(1)若buffer node在闪存中对应物理块的页状态位置是:上个位置的Page是无效,下一个位置的Page也是无效,则这种情况是具有最高回写优先级别I的;
(2)若buffer node在闪存中对应物理块的页状态位置是:上一个位置的Page是无效或者下一个位置的Page是无效,也就是只有一个临近位置是无效的,则这种情况是第二高的回写优先级别II的;
(3)若buffer node在闪存中对应物理块的页状态位置是:上一个位置的Page是有效的并且下一个位置的Page也是有效的,则这种情况是最低的回写优先级别III的。
4.根据权利要求1所述的基于MLC奇偶对称性的可感知型数据缓存管理方法,其特征在于,所述的步骤A6,回写等待队列的处理过程具体如下:
当筛选整个LRU队列时,本方法会优先实时写回I优先级的buffer node,随着扫描过程的持续进行,当扫描到优先级为II和III的buffer node,此时会分别将II和III优先级的buffer node依次挂载到一个空的回写等待队列中;当优先级II的回写等待队列的队列长度超过设定的阈值时,从优先级II的回写等待队列中筛选相应的队头buffer node执行写回操作;同样的,当优先级III的回写等待队列长度超过某一设定的阈值时,会开始从优先级III中筛选buffer node执行写回。
5.根据权利要求1所述的基于MLC奇偶对称性的可感知型数据缓存管理方法,其特征在于,初始化缓存区域时,缓存管理中相应的两个回写等待队列的初始化过程具体如下:
当缓存初始化时,一共会维持三个LRU队列,分别是CachedataLRU、IIParityLRU和IIIParityLRU三个队列,其中CachedataLRU负责存储由块设备层发布至SSD板载缓存的所有写数据,而IIParityLRU队列和IIIParityLRU这两个队列则初始化为空队列,当发生缓存回写操作时,会由奇偶感知模块判断CachedataLRU中数据的优先级而分别分布处理。
6.根据权利要求5所述的基于MLC奇偶对称性的可感知型数据缓存管理方法,其特征在于,IIParityLRU的阈值要小于IIIParityLRU的阈值,而IIParityLRU的阈值要低于当前缓存的CachedataLRU的实际长度。
CN201810909304.8A 2018-08-10 2018-08-10 一种基于mlc奇偶对称性的可感知型数据缓存管理方法 Active CN109144896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810909304.8A CN109144896B (zh) 2018-08-10 2018-08-10 一种基于mlc奇偶对称性的可感知型数据缓存管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810909304.8A CN109144896B (zh) 2018-08-10 2018-08-10 一种基于mlc奇偶对称性的可感知型数据缓存管理方法

Publications (2)

Publication Number Publication Date
CN109144896A true CN109144896A (zh) 2019-01-04
CN109144896B CN109144896B (zh) 2022-09-27

Family

ID=64792766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810909304.8A Active CN109144896B (zh) 2018-08-10 2018-08-10 一种基于mlc奇偶对称性的可感知型数据缓存管理方法

Country Status (1)

Country Link
CN (1) CN109144896B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113435109A (zh) * 2021-06-04 2021-09-24 衢州学院 一种混合ssd的性能与寿命的优化方法
CN115858421A (zh) * 2023-03-01 2023-03-28 浪潮电子信息产业股份有限公司 一种缓存管理方法、装置、设备、可读存储介质及服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104309A1 (en) * 2006-10-30 2008-05-01 Cheon Won-Moon Flash memory device with multi-level cells and method of writing data therein
US20130145085A1 (en) * 2008-06-18 2013-06-06 Super Talent Technology Corp. Virtual Memory Device (VMD) Application/Driver with Dual-Level Interception for Data-Type Splitting, Meta-Page Grouping, and Diversion of Temp Files to Ramdisks for Enhanced Flash Endurance
CN104794070A (zh) * 2015-04-23 2015-07-22 南京道熵信息技术有限公司 基于动态非覆盖raid技术的固态闪存写缓存系统及方法
CN106569962A (zh) * 2016-10-19 2017-04-19 暨南大学 一种基于增强时间局部性的热点数据识别方法
CN107589908A (zh) * 2017-08-17 2018-01-16 暨南大学 一种基于固态盘缓存系统中非对齐更新数据的合并方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104309A1 (en) * 2006-10-30 2008-05-01 Cheon Won-Moon Flash memory device with multi-level cells and method of writing data therein
US20130145085A1 (en) * 2008-06-18 2013-06-06 Super Talent Technology Corp. Virtual Memory Device (VMD) Application/Driver with Dual-Level Interception for Data-Type Splitting, Meta-Page Grouping, and Diversion of Temp Files to Ramdisks for Enhanced Flash Endurance
CN104794070A (zh) * 2015-04-23 2015-07-22 南京道熵信息技术有限公司 基于动态非覆盖raid技术的固态闪存写缓存系统及方法
CN106569962A (zh) * 2016-10-19 2017-04-19 暨南大学 一种基于增强时间局部性的热点数据识别方法
CN107589908A (zh) * 2017-08-17 2018-01-16 暨南大学 一种基于固态盘缓存系统中非对齐更新数据的合并方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
谭怀亮等: "基于RAID50的存储系统高速缓存设计", 《计算机工程》 *
黄耀钦等: "MFTL:一种基于固态盘系统非对齐更新数据的合并策略", 《小型微型计算机系统》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113435109A (zh) * 2021-06-04 2021-09-24 衢州学院 一种混合ssd的性能与寿命的优化方法
CN113435109B (zh) * 2021-06-04 2024-01-30 衢州学院 一种混合ssd的性能与寿命的优化方法
CN115858421A (zh) * 2023-03-01 2023-03-28 浪潮电子信息产业股份有限公司 一种缓存管理方法、装置、设备、可读存储介质及服务器
CN115858421B (zh) * 2023-03-01 2023-05-23 浪潮电子信息产业股份有限公司 一种缓存管理方法、装置、设备、可读存储介质及服务器

Also Published As

Publication number Publication date
CN109144896B (zh) 2022-09-27

Similar Documents

Publication Publication Date Title
CN103425600B (zh) 一种固态盘闪存转换层中的地址映射方法
US8510500B2 (en) Device driver including a flash memory file system and method thereof and a flash memory device and method thereof
CN103136121B (zh) 一种固态盘的缓存管理方法
KR101324688B1 (ko) 영구 가비지 컬렉션을 갖는 메모리 시스템
CN106547703B (zh) 一种基于块组结构的ftl优化方法
US9430376B2 (en) Priority-based garbage collection for data storage systems
KR101717644B1 (ko) 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법
EP1895418B1 (en) Nonvolatile memory device, method of writing data, and method of reading out data
CN102667739B (zh) 存储装置管理装置及用于管理存储装置的方法
CN103777905B (zh) 一种软件定义的固态盘融合存储方法
US9311232B2 (en) Management of memory array with magnetic random access memory (MRAM)
TWI399644B (zh) 非揮發記憶體區塊管理方法
US9990277B2 (en) System and method for efficient address translation of flash memory device
CN105930282B (zh) 一种用于nand flash的数据缓存方法
CN102779096B (zh) 一种基于页块面三维的闪存地址映射方法
CN105339910B (zh) 在混合驱动器中的虚拟nand容量扩展
WO2012134864A2 (en) Multi-layer memory system
CN102521160A (zh) 写缓冲检测器、写入数据的寻址方法、并行通道写入方法
TWI473100B (zh) Flash memory system and its operation method
KR101403922B1 (ko) 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법
US11307979B2 (en) Data storage device and non-volatile memory control method
CN109144896A (zh) 一种基于mlc奇偶对称性的可感知型数据缓存管理方法
CN114297092A (zh) 数据处理方法、系统、设备、存储系统及介质
US11249920B2 (en) Non-volatile memory device using efficient page collection mapping in association with cache and method of operating the same
JP2010152778A (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