书签 分享 收藏 举报 版权申诉 / 14

实时闪存转换层使用的自适应局部垃圾回收方法.pdf

  • 上传人:a3
  • 文档编号:1486859
  • 上传时间:2018-06-17
  • 格式:PDF
  • 页数:14
  • 大小:1.86MB
  • 摘要
    申请专利号:

    CN201310339508.X

    申请日:

    2013.08.06

    公开号:

    CN103365788A

    公开日:

    2013.10.23

    当前法律状态:

    终止

    有效性:

    无权

    法律详情:

    未缴年费专利权终止IPC(主分类):G06F 12/06申请日:20130806授权公告日:20160113终止日期:20160806|||授权|||实质审查的生效IPC(主分类):G06F 12/06申请日:20130806|||公开

    IPC分类号:

    G06F12/06; G06F3/06

    主分类号:

    G06F12/06

    申请人:

    山东大学

    发明人:

    贾智平; 申兆岩; 李新; 鞠雷; 蔡晓军

    地址:

    250061 山东省济南市历下区经十路17923号

    优先权:

    专利代理机构:

    济南圣达知识产权代理有限公司 37221

    代理人:

    张勇

    PDF完整版下载: PDF下载
    内容摘要

    本发明涉及一种实时闪存转换层使用的自适应局部垃圾回收方法,主要内容包括:A地址映射闪存芯片采用混合式地址映射方式,对每个逻辑块按需分配对应的物理块,并建立相应的映射关系;B读写操作C自适应垃圾回收策略当闪存芯片中空块的个数较充裕时采用分布式的局部垃圾回收策略,而当系统中空块的数量降低到一个阈值时采用集中式的局部垃圾回收策略。通过本机制可以有效的推迟垃圾回收的过程,减少垃圾回收过程中的代价。实验表明该机制能够有效的减少垃圾回收过程中有效页的拷贝和块擦除操作。

    权利要求书

    1.  一种实时闪存转换层使用的自适应局部垃圾回收方法,其特征是,它采用的策略为:
    A地址映射
    闪存芯片采用混合式地址映射方式,即将每个逻辑页地址分为一个逻辑块地址和一个块内偏移量,对每个逻辑块按需分配对应的物理块,并建立相应的映射关系;
    B读写操作
    文件系统发出的写操作由一个数据和逻辑页地址组成,逻辑页转换成逻辑块地址和块内偏移量;
    当第一次对一个逻辑块进行写时,此时为写请求的最好情况,写反应时间为Twrpg;然而,在最坏情况下,写请求会触发垃圾回收操作,写请求之后会跟随一个块擦出操作,此时写请求反应时间为Ter+Trdoob+Twrpg
    经过π次的写操作后,物理块被写满,如果此时要进行写的逻辑块所对应的物理块的个数已达到上限UM或者闪存芯片中的空白块数量达到下限Egc,再分配新块前垃圾回收将被触发,否则直接进行新物理块的分配;
    文件系统发出的读请求由逻辑页地址组成,逻辑页地址被转化为一个逻辑块地址和一个块内偏移量;通过映射关系找到要读取的逻辑页所对应的物理页,此时无论最好情况或是最快情况读请求反映时间都是Trdoob+Trdpg
    C自适应垃圾回收策略
    当闪存芯片中的空白块数量足够时,采用分布式的局部垃圾回收算法,此时如果某个要写的逻辑块对应的物理块个数等于UM时将触发垃圾回收过程;另一方面,集中式的局部垃圾回收策略在闪存芯片中的空白块数量小于Egc时进行调用,在集中式的局部垃圾回收过程中每一个请求都将跟随垃圾回收的一部分。

    2.
      如权利要求1所述的实时闪存转换层使用的自适应局部垃圾回收方法,其特征是,所述地址映射中,对每一个逻辑块M都存在Mi个物理块与之相对应,Mi按需进行分配,Mi存在上限UM。每个逻辑块在RAM中都存在一个映射项,映射项中存放着此Mi个物理块的指针和它们块内有效页的个数VP;对于每一个逻辑块都存在一个页级的映射表用来存放逻辑块中的页和它所对应的物理块中页的映射关系;页级映射表被分为N个页映射子表,每个页映射子表都被存放在最近分配的物理页的OOB区;每个块有π页,每个页的OOB区存放m个页映射表项,0<m≤π,则存放这N个页映射子表的物理页的指针响应的也被存放在RAM中。

    3.
      如权利要求1或2所述的实时闪存转换层使用的自适应局部垃圾回收方法,其特征是,所述写操作时,对一个逻辑块的第一次写请求会被写入到此逻辑块对应的物理块的首个空白页中;一旦一个物理块被分配给一个逻辑块,无论后续的请求是写操作还是更新操作,物理块中的空白页都会被顺序的分配。

    4.
      如权利要求2所述的实时闪存转换层使用的自适应局部垃圾回收方法,其特征是,所述写操作时,当一个新的物理页被分配后,首先需要更新此物理页OOB中的页映射子表中的信息,而后将数据写入到此物理页的数据域中,另外此物理页的指针也应该相对应的存放在RAM中用来记录映射表信息。

    5.
      如权利要求2所述的实时闪存转换层使用的自适应局部垃圾回收方法,其特征是,所述写操作时,对一个更新操作而言,首先需要利用RAM中存放页映射子表的页指针将旧的OOB信息独取出来,而后更新此页映射子表,而后再将此映射子表写入到新分配的物理页的OOB区中。

    6.
      如权利要求2所述的实时闪存转换层使用的自适应局部垃圾回收方法,其特征是,所述分布式局部垃圾回收的过程为:如果某个逻辑块被频繁的写,此逻辑块对应的物理块则会按需增长;当首次对此逻辑块进行写操作(w1)时,物理块B1被分配,随着后续写操作(w2,w3,…,wπ)的到达,块B1被写满,此时块B2被分配;当此逻辑块对应的物理块数到达上限UM,并且最后一个物理块中的空白页只有k页时,分布式的局部垃圾回收将被触发;这k个空白页将会被用来存放后续的写操作和被回收块中的有效页拷贝的内容;当垃圾回收被触发后,选取此逻辑块对应的物理块中无效页数最多的那块进行垃圾回收;假设B1拥有最多的无效块,此时选取B1作为被回收块进行回收;由于此时逻辑块对应有UM个物理块,所以被回收块最多拥有个有效页,故对此块的回收可以分为β步:

    由于进行有效页的拷贝需要α个空白页,在垃圾回收过程中需要β个页对写请求进行服务,故k=α+β;经过β次的写请求之后,被回收块被擦除,并从此逻辑块的映射项中移出,而后再选取一个擦除次数最少的空白块为后续的写请求服务。

    7.
      如权利要求2所述的实时闪存转换层使用的自适应局部垃圾回收方法,其特征是,所述集中式垃圾回收过程中,每个读写请求之后都跟随一步垃圾回收的操作,在集中式局部垃圾回收的过程中系统中的空白块会逐渐增长,当系统中空白块的数量达到2Egc时,集中式的局部垃圾回收策略结束,再一次使用分布式局部垃圾回收策略。

    8.
      如权利要求2所述的实时闪存转换层使用的自适应局部垃圾回收方法,其特征是,所述Egc是触发集中式局部垃圾回收策略的阈值,故在触发集中式局部垃圾回收策略后,在任何情况下Egc都需要满足后续的写操作;
    经过次写请求之后,个物理块被分配,并且在此过程中至少有个块被回收,因此在集中式的垃圾回收过程被触发时系统中至少有个空块,由此得出公式1.2:

    故在最坏情况下,要满足系统要求,Egc必须大于等于

    说明书

    实时闪存转换层使用的自适应局部垃圾回收方法
    技术领域
    本发明提出了一种实时闪存转换层使用的自适应局部垃圾回收方法。
    背景技术
    近年内,NAND flash被广泛的应用在嵌入式系统中。NAND flash具有抗震性,读取速度快等固有优势,这些使得它相比于硬盘拥有更广阔的前景。然而,NAND flash也存在一些不受欢迎的特性,例如在NAND flash中读写操作必须以页为单位,并且NAND flash不能进行本地更新操作。对一个页的更新只能在一个空白页中进行。另外,在NAND flash中,擦除操作的基本单位是块,并且块的擦除次数存在一定的限制,表1列出了NAND flash的一些基本操作特性。
    Table1.NAND FLASH规格

    特性三星16MB三星128MB16KB64KB512B2KBOOB区16B64B读页36μs25μs读OOB10μs25μs写页200μs300μs擦除2000μs2000μs

    NAND flash的这些特性会使得它在应用的过程中存在长时间的延迟,这在一些实时系统中是不允许的。为了提高闪存访问的性能,需要利用闪存转换层(FTL)对闪存单元操作进行统一管理。
    图1给出了典型的闪存存储系统的架构,如图所示,FTL是存在于文件系统OS和闪存芯片FlashMemeory之间的中间层。FTL的功能主要包括地址映射,损耗均衡和垃圾回收。地址映射主要负责将文件系统发出的逻辑地址转化为闪存芯片上的物理地址;损耗均衡主要用来均衡闪存芯片中各块的使用次数,避免某一块被过度使用的情况。垃圾回收是将闪存芯片中的废块进行回收再利用。在进行垃圾回收时,首先要将被回收块中的有效页拷贝出来,而后再进行被回收块的擦除操作。在这个过程中,过多有效页的拷贝不但会减少闪存芯片的寿命,而且会导致系统的平均反应时间过长。垃圾回收策略可以分为非抢占式垃圾回收和局部垃圾回收。非抢占式的垃圾回收是将所有要被回收的块集中起来一起回收,而局部垃圾回收则将被回收块的回收过程分为多步,并且将这些过程与读写请求交替进行,如图2所示。很多FTL算法利用局部垃圾回收策略为嵌入式系统实现实时性,例如GFTL和RFTL。这两种算法都采 用了局部垃圾回收策略来为系统提供实时操作。其中GFTL通过维护垃圾回收队列(GCQ)对系统中的废块进行集中式的局部垃圾回收,而RFTL则通过将系统中的块分为三类实现分布式的局部垃圾回收策略。集中式的垃圾回收策略每次只能对一个块进行回收,而分布式的局部垃圾回收策略则可将多个块的回收交叉进行。这两种算法在为系统提供反映时间上花费了过多的经历以至于引入了过多的有效页拷贝和块擦出操作,从而导致系统的平均反应时间降低。
    发明内容
    本发明的目的就是为解决上述问题,提供一种实时闪存转换层使用的自适应局部垃圾回收方法,它利用自适应垃圾回收策略的实时性FTL算法(RAFTL),RAFTL能在保证实时性的基础上尽可能的推迟垃圾回收过程,减少在垃圾回收过程中有效页的拷贝和块擦除的次数,推迟垃圾回收的过程可以导致回收块中有效页的个数减少,因为后续的写操作可能会导致原有效页变为无效,基于此理论,在RAFTL中采用了一种为逻辑块按需分配物理块的混合式地址映射方式。另外,本发明还提出了一种自适应的局部垃圾回收策略。自适应局部垃圾回收策略结合了集中式局部垃圾回收策略和分布式的局部垃圾回收策略,通过两种策略的自适应,RAFTL可以是系统的平均写反映时间接近写一页需要的时间。
    为实现上述目的,本发明采用如下技术方案:
    一种实时闪存转换层使用的自适应局部垃圾回收方法,它的过程为:
    A地址映射
    闪存芯片采用混合式地址映射方式,即将每个逻辑页地址分为一个逻辑块地址和一个块内偏移量,对每个逻辑块按需分配对应的物理块,并建立相应的映射关系;
    B读写操作
    文件系统发出的写操作由一个数据和逻辑页地址组成,逻辑页转换成逻辑块地址和块内偏移量;
    当第一次对一个逻辑块进行写时,此时为写请求的最好情况,写反应时间为Twrpg;然而,在最坏情况下,写请求会触发垃圾回收操作,写请求之后会跟随一个块擦出操作,此时写请求反应时间为Tgr+Trdoob+Twrpg
    经过π次的写操作后,物理块被写满,如果此时要进行写的逻辑块所对应的物理块的个数已达到上限UM或者闪存芯片中的空白块数量达到下限Egc,再分配新块前垃圾回收将被触发,否则直接进行新物理块的分配;
    文件系统发出的读请求由逻辑页地址组成,逻辑页地址被转化为一个逻辑块地址和一个 块内偏移量;通过映射关系找到要读取的逻辑页所对应的物理页,此时无论最好情况或是最快情况读请求反映时间都是Trdoob+Trdpg
    C自适应垃圾回收策略
    当闪存芯片中的空白块数量足够时,采用分布式的局部垃圾回收算法,此时如果某个要写的逻辑块对应的物理块个数等于UM时将触发垃圾回收过程;另一方面,集中式的局部垃圾回收策略在闪存芯片中的空白块数量小于Egc时进行调用,在集中式的局部垃圾回收过程中每一个请求都将跟随垃圾回收的一部分。
    所述地址映射中,对每一个逻辑块M都存在Mi个物理块与之相对应,Mi按需进行分配,Mi存在上限UM。每个逻辑块在RAM中都存在一个映射项,映射项中存放着此Mi个物理块的指针和它们块内有效页的个数VP;对于每一个逻辑块都存在一个页级的映射表用来存放逻辑块中的页和它所对应的物理块中页的映射关系;页级映射表被分为N个页映射子表,每个页映射子表都被存放在最近分配的物理页的OOB区;每个块有π页,每个页的OOB区存放m个页映射表项,0<m≤π,则存放这N个页映射子表的物理页的指针响应的也被存放在RAM中。
    所述写操作时,对一个逻辑块的第一次写请求会被写入到此逻辑块对应的物理块的首个空白页中;一旦一个物理块被分配给一个逻辑块,无论后续的请求是写操作还是更新操作,物理块中的空白页都会被顺序的分配。
    所述写操作时,当一个新的物理页被分配后,首先需要更新此物理页OOB中的页映射子表中的信息,而后将数据写入到此物理页的数据域中,另外此物理页的指针也应该相对应的存放在RAM中用来记录映射表信息。
    所述写操作时,对一个更新操作而言,首先需要利用RAM中存放页映射子表的页指针将旧的OOB信息独取出来,而后更新此页映射子表,而后再将此映射子表写入到新分配的物理页的OOB区中。
    所述分布式局部垃圾回收的过程为:如果某个逻辑块被频繁的写,此逻辑块对应的物理块则会按需增长;当首次对此逻辑块进行写操作(w1)时,物理块B1被分配,随着后续写操作(w2,w3,…,wπ)的到达,块B1被写满,此时块B2被分配;当此逻辑块对应的物理块数到达上限UM,并且最后一个物理块中的空白页只有k页时,分布式的局部垃圾回收将被触发;这k个空白页将会被用来存放后续的写操作和被回收块中的有效页拷贝的内容;当垃圾回收被触发后,选取此逻辑块对应的物理块中无效页数最多的那块进行垃圾回收;假设B1拥有最多的无 效块,此时选取B1作为被回收块进行回收;由于此时逻辑块对应有UM个物理块,所以被回收块最多拥有个有效页,故对此块的回收可以分为β步:

    由于进行有效页的拷贝需要α个空白页,在垃圾回收过程中需要β个页对写请求进行服务,故k=α+β;经过β次的写请求之后,被回收块被擦除,并从此逻辑块的映射项中移出,而后再选取一个擦除次数最少的空白块为后续的写请求服务。
    所述集中式垃圾回收过程中,每个读写请求之后都跟随一步垃圾回收的操作,在集中式局部垃圾回收的过程中系统中的空白块会逐渐增长,当系统中空白块的数量达到2Egc时,集中式的局部垃圾回收策略结束,再一次使用分布式局部垃圾回收策略。
    所述Egc是触发集中式局部垃圾回收策略的阈值,故在触发集中式局部垃圾回收策略后,在任何情况下Egc都需要满足后续的写操作;
    经过次写请求之后,个物理块被分配,并且在此过程中至少有个块被回收,因此在集中式的垃圾回收过程被触发时系统中至少有个空块,由此得出公式1.2:

    故在最坏情况下,要满足系统要求,Egc必须大于等于
    本发明在地址映射的过程中,采用对逻辑块按需分配物理块的策略,而在地址回收的过程中利用一种自适应垃圾回收策略。通过本机制可以有效的推迟垃圾回收的过程,减少垃圾回收过程中的代价。实验表明该机制能够有效的减少垃圾回收过程中有效页的拷贝和块擦除操作。
    实验结果表明,相比于RFTL算法,RAFTL可以减少48.1%的块擦除次数和98.1%的有效页拷贝次数。另外在系统平均反映时间方面,RAFTL相比于RFTL提高了43.5%,而和GFTL相比,RAFTL提高了83.2%。
    本发明的有益效果如下:
    1.提出了一种实时的FTL算法,此算法能够在保证实时性的基础上大幅度的减少垃圾回收过程中有效页的拷贝和块擦除操作的次数。
    2.通过减少有效页的拷贝次数和块擦除操作次数,RAFTL可以提高闪存单元的使用寿命。
    3.提出了一种自适应局部垃圾回收策略,自适应局部垃圾回收策略结合了集中式的局部垃 圾回收策略和分布式的局部垃圾回收策略。当闪存芯片中空块的个数较充裕时采用分布式的局部垃圾回收策略,而当系统中空块的数量降低到一个阈值时采用集中式的局部垃圾回收策略。
    附图说明
    图1为NAND flash存储系统的结构;
    图2为集中式局部垃圾回收和分布式垃圾回收策略的对比;
    图3为垃圾回收过程;
    图4为RAFTL的映射表结构;
    图5为分布式的局部垃圾回收过程。
    具体实施方式
    下面结合附图与实施例对本发明做如下说明。
    模型建立:
    在垃圾回收过程中,可变的有效页拷贝次数会导致较长时间的延迟,通过推迟垃圾回收的过程可以有效的减少垃圾回收过程中有效页的拷贝次数。图3给出了一个垃圾回收的例子。我们假设每个块有8个页,在图3(a)中,被回收块有6个有效页,要回收此块要进行6次有效页的拷贝和1次块擦除操作,而每个有效页的拷贝包括一次写操作和一次读操作。根据表1中列出的闪存的性能标准,回收此块需要用6*(25+300)+2000=3950μs。
    Table2.NAND FLASH规格
    特性三星16MB三星128MB16KB64KB512B2KBOOB区16B64B读页36μs25μs读OOB10μs25μs写页200μs300μs擦除2000μs2000μs

    如果垃圾回收被推迟到n次写请求之后进行,如图3(b)所示,被回收块中只有两个有效页,此时回收此块仅需要2650μs。
    为了对此问题进行更直观的说明,本文对闪存存储系统进行如下建模。由文件系统向FTL层发出的I/O请求可以看作独立的实时性任务T={p,e,d}。其中p代表两个连续任务之间的最小时间间隔,e代表任务执行所用时间,而d为任务的截止期限。不失一般性,我们认为p等于d。这样在闪存存储系统中存在两种任务:读请求任务Tr={pr,er}和写请求任务 Tw={pw,ew}。其中pr和pw代表文件系统执行读写请求的周期,er和ew代表执行读写请求花费的时间。周期p的下限(表示为L(p))给出了FTL算法可以处理的读写请求的速度上限。表2中列出了本发明中用到的符号和它们的说明。
    Table2符合及定义
    符号定义Ter擦除块时间Trdoob读取一个OOB所需时间Trdpg读一页的时间Twrpg写一页时间π每块包含的页数Ln逻辑块数Pn物理块数UM每个逻辑块对应的物理块上线Egc触发集中式垃圾回收的阈值

    注意,Ter是闪存中花费时间最长的原子操作,因为擦除操作无法被打断。因此在最坏的情况下读写请求至少需要等待Ter,并且在理想情况下,L(p)等于Ter。利用以上模型,可以对要解决的问题建模如下:
    给定一个NAND flash存储芯片和一个任务集V={T1,T2,…,Tn},怎样设计一个FTL算法能使得在保证最坏反应时间和L(p)接近Ter的前提下尽可能的减少垃圾回收过程中有效页的拷贝和块擦除操作。
    RAFTL算法:
    A地址映射
    RAFTL采用混合式的地址映射方式。如图4所示,在RAFTL中,一个逻辑页地址(LPN)可以被分为一个逻辑块(LBN)地址和一个块内偏移量(BO)。对每一个逻辑块M都存在Mi个物理块与之相对应,Mi按需进行分配,Mi存在上限UM。每个逻辑块在RAM中都存在一个映射项,映射项中存放着此Mi个物理块的指针(i.e.,PBN_1,PBN_2,…)和它们块内有效页的个数VP。另外对于每一个逻辑块都存在一个页级的映射表用来存放逻辑块中的页和它所对应的物理块中页的映射关系。页级映射表被分为N个页映射子表(i.e.,PMT_1,PMT_2,…,PMT_N),每个页映射子表都被存放在最近分配的物理页的OOB区。假设每个块有π页,每个页的OOB区可以存放m(0<m≤π)个页映射表项,则存放这N个页映射子表的物理页的指针响应的也被存放在RAM中。
    B读写操作
    文件系统发出的读操作由一个数据和LPN组成,例如write(data,lpn),而后LPN被转换为LBN和BO。对一个逻辑块的第一次写请求会被写入到此逻辑块对应的物理块的首个空白页中。一旦一个物理块被分配给一个逻辑块,无论后续的请求是写操作还是更新操作,物理块中的空白页都会被顺序的分配。当一个新的物理页被分配后,首先需要更新此物理页OOB中的页映射子表中的信息,而后将数据写入到此物理页的数据域中,另外此物理页的指针也应该相对应的存放在RAM中用来记录映射表信息。对一个更新操作而言,首先需要利用RAM中存放页映射子表的页指针将旧的OOB信息独取出来,而后更新此页映射子表,而后再将此映射子表写入到新分配的物理页的OOB区中。经过π次的写操作后,物理块被写满,如果此时要进行写的逻辑块所对应的物理块的个数已达到上限UM或者闪存芯片中的空白块数量达到下限Egc(空白块的下限,下文进行分析),再分配新块前垃圾回收将被触发,否则直接进行新物理块的分配。
    当第一次对一个逻辑块进行写时,此逻辑块在RAM中的映射表项中的页级映射表指针为空,此时不需要进行垃圾回收也不需要对OOB去进行搜索操作,此时为写请求的最好情况,写反应时间为Twrpg。然而,在最坏情况下,写请求会触发垃圾回收操作,写请求之后会跟随一个块擦出操作,此时写请求反应时间为Tgr+Trdoob+Twrpg.
    由文件系统发出的读请求由LPN组成,例如read(lpn),LPN被转化为一个LBN和BO。利用LBN和BO,通过RAM中的映射表项可以找到要读取的逻辑页所对应的物理页。此时无论最好情况或是最快情况读请求反映时间都是Trdoob+Trdpg
    自适应垃圾回收算法
    RAFTL采取了一种结合了集中式局部垃圾回收和分布式局部垃圾回收策略的自适应局部垃圾回收策略。在RAFTL中,当闪存芯片中的空白块数量足够时,采用分布式的局部垃圾回收算法。此时如果某个要写的逻辑块对应的物理块个数等于UM时将触发垃圾回收过程。另一方面,集中式的局部垃圾回收策略在闪存芯片中的空白块数量小于Egc时进行调用,在集中式的局部垃圾回收过程中每一个请求都将跟随垃圾回收的一部分。
    图5给出了分布式局部垃圾回收的过程。在RAFTL中,如果某个逻辑块被频繁的写,此逻辑块对应的物理块则会按需增长,如图5的(a)(b)(c)所示。当首次对此逻辑块进行写操作(w1)时,物理块B1被分配,随着后续写操作(w2,w3,…,w8)的到达,块B1被写满,此时块B2被分配。当此逻辑块对应的物理块数到达上限UM,并且最后一个物理块中的空白页只有k页时,如图5(c)所示,分布式的局部垃圾回收将被触发。这k个空白页将会被用 来存放后续的写操作和被回收块中的有效页拷贝的内容。当垃圾回收被触发后,首先需要选取被回收块,在这里,我们选取此逻辑块对应的物理块中无效页数最多的那块进行垃圾回收。在图5(c)中,假设B1拥有最多的无效块,此时选取B1作为被回收块进行回收。由于此时逻辑块对应有UM个物理块,所以被回收块最多拥有个有效页,故对此块的回收可以分为β步:

    由于进行有效页的拷贝需要α个空白页,在垃圾回收过程中需要β个页对写请求进行服务,故k=α+β。经过β次的写请求之后,被回收块被擦除,并从此逻辑块的映射项中移出,如图5(d)所示。而后RAFTL再选取一个擦除次数最少的空白块为后续的写请求服务。一旦闪存芯片中的空白块数量小于Egc时,集中式的局部垃圾回收策略将会取代分布式的局部垃圾回收策略。不同于GFTL,在RAFTL中不存在一个垃圾回收队列用来维护需要被回收的块,进行垃圾回收时只需要选取系统中拥有无效页最多的块进行回收。如图2所示,在集中式垃圾回收过程中,每个读写请求之后都跟随一步垃圾回收的操作。在集中式局部垃圾回收的过程中系统中的空白块会逐渐增长,当系统中空白块的数量达到2Egc时,集中式的局部垃圾回收策略结束,再一次使用分布式局部垃圾回收策略。
    D对Egc的分析
    Egc是触发集中式局部垃圾回收策略的阈值,故在触发集中式局部垃圾回收策略后,在任何情况下Egc都需要满足后续的写操作。在这部分我们将对Egc的值进行分析。
    假设闪存系统中逻辑块有Ln块,物理块有Pn块(假定Pn大于等于Ln的3倍,即Pn≥3Ln)。在极端情况下,当集中式的局部垃圾回收策略被触发时,闪存系统中的逻辑块可以被分为两类。一类逻辑块有UM块物理块与之形对应,而另一类逻辑块不存在对应的物理块。假定当集中式的局部垃圾回收策略被触发时,有个逻辑块不存在与之对应的物理块,有个逻辑块有用UM个物理块与之对应。以下情况为当集中式局部垃圾回收策略被触发时最坏的写请求队列:之后的个写请求分别访问系统中没有物理块与之相对应的个逻辑块。在这种情况下,每次的写请求都需要一个分配一个空白块,这将会是系统中的空白块数量持续下降,若UM在此情况下能满足系统的服务,则在任何情况下UM都可以满足系统的服务。
    在上述场景下,经过的写请求之后,个物理块被分配,并且在此过程中至少有个 块被回收,因此在集中式的垃圾回收过程被触发时系统中至少有个空块,由此我们得出公式1.2:

    故在最坏情况下,要是RAFTL能够满足系统要求,Egc必须大于等于举例说明,假设Pn=3Ln,π=64且UM=8。利用表1中给出的各性能指标,可以求出α=8,β=3。将α和β带入到公式2.2中求解的,故可得出Egc应大于等于(5/33)Pn

    关 键  词:
    实时 闪存 转换 使用 自适应 局部 垃圾 回收 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:实时闪存转换层使用的自适应局部垃圾回收方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1486859.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1