CN102097128A - 一种基于闪存的自适应缓冲区置换方法 - Google Patents

一种基于闪存的自适应缓冲区置换方法 Download PDF

Info

Publication number
CN102097128A
CN102097128A CN2010105669682A CN201010566968A CN102097128A CN 102097128 A CN102097128 A CN 102097128A CN 2010105669682 A CN2010105669682 A CN 2010105669682A CN 201010566968 A CN201010566968 A CN 201010566968A CN 102097128 A CN102097128 A CN 102097128A
Authority
CN
China
Prior art keywords
chained list
page
leaf
data page
read
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
CN2010105669682A
Other languages
English (en)
Other versions
CN102097128B (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.)
Renmin University of China
Original Assignee
Renmin University of China
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 Renmin University of China filed Critical Renmin University of China
Priority to CN201010566968.2A priority Critical patent/CN102097128B/zh
Publication of CN102097128A publication Critical patent/CN102097128A/zh
Application granted granted Critical
Publication of CN102097128B publication Critical patent/CN102097128B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于闪存的自适应缓冲区置换方法,其包括步骤:(1)通过判断缓冲区中的页是否被修改过,分别存储到只读链表和脏页链表中;(2)当CPU发出请求的数据页被命中,判断数据页是否在只读链表中;(3)在只读链表中,根据操作类型把数据页移动到链表LCT或LDB的最近最多使用端;(4)数据页在脏页链表中,则将数据页移动到脏页链表LDT的最近最多使用端,按照参数δD调整链表LDB的大小;(5)当CPU发出请求的数据页没有命中,对该数据页进行缺页处理,按照代价自适应的从两个链表中选择页进行置换,能适应各种闪存以及各种存取模式。本发明能适应不同的闪存,并能减少对闪存的写操作,提高系统的性能。

Description

一种基于闪存的自适应缓冲区置换方法
技术领域
本发明涉及一种缓冲区置换方法,特别是关于一种基于闪存的自适应缓冲区置换方法。
背景技术
在典型的计算机系统中包含两层存储器,分别是主存和辅存。主存比辅存的存取速度快很多。假定用磁盘作辅存,由于磁盘的读写代价基本相等,因此现有的缓冲区管理策略的目标就是最小化缓冲区的缺页率。缺页率反映了必须从辅存读入缓冲区的页的比例。比如,2Q(双队列方法)、ARC(自适应的置换方法)、LIRS(低内部访问最近集合方法)、CLOCK(时钟方法)、LRU-K(k个最近最少使用方法)、FBR(基于频率的置换方法)和LRFU(最近及最不频繁使用方法)等方法主要是启发式的提高LRU(最近最少使用策略)方法的性能,它们是根据数据页的寿命,或者平衡数据页的寿命和频率来减少缺页率。但是,由于闪存的读写代价不对称,当以上的假设应用于闪存上时是不成立的。因此,对于基于闪存的缓冲区管理来说,就增加了另一层面的考虑因素。有着不同读写代价的缓冲区置换问题可模拟成加权的缓冲区问题,其目的是最小化请求序列的总的代价。针对这种问题,在“New results on server problems,SIAM J.Discrete Math.,vol.4,no.2,pp.172-181,1991.”一文中提出了复杂度为O(sn2)的最优的离线方法,这个问题可归结为最小代价最大流问题进行求解。但是,由于需要先验的知道完整的请求序列,因此这个最优的方法需要占用大量的时间和空间资源。
对于在线的方法,不可能提前知道任何未来的请求。最近,研究者已经提出了许多在线的基于闪存的缓冲区管理方法。考虑闪存的缓冲区策略(FAB)维护了一个块层的LRU链表,属于同一擦除块的页链接到同一块中。当命中块中的一个页时,包含这个页的整个块都移动到LRU链表的头部。当发生缺页时,有着最多页数的块将被选择进行置换,在这个块中的所有脏页都将写回闪存。FAB主要用在便携式媒体播放器上,在这种应用场景下,多数的写请求都是顺序的。在“Bplru:A buffer management scheme for improving random writes in flash storage,in FAST,2008,pp.239-252.”一文中的提出的BPLRU(块填充最近最少使用方法)也维护了一个块层的LRU链表,与FAB不同的是,BPLRU使用SSD(固态硬盘)内部的RAM作为缓冲区,将随机写变成顺序写来提高写操作的效率,并能减少擦除操作的次数。然而,这种方法并不能真正减少主存缓冲区的写请求的次数。在“Cflru:a replacement algorithm for flash memory,in CASES,2006,pp.234-241.”一文中提出的CFLRU(干净页优先最近最少使用方法)是利用闪存读写性能不对称性提出一种优先置换只读页的缓冲区策略,这种策略假设对闪存的进行写操作的代价很高,远远大于对闪存的读代价。如图1所示,其中C为干净页,D为脏页,CFLRU的基本思想是将LRU链表分成两个部分:工作区和置换区。每当缺页发生,如果在置换区中存在只读的页,此策略就会从中选择最近最少使用的只读页进行置换。只有当置换区中没有只读页时,才选择链表尾部的脏页进行置换,由参数w表示置换区的大小。与LRU策略相比,CFLRU在很大程度上减少了对闪存的写操作。
但是,以上方法的主要不足在于:1、针对磁盘设计的缓冲区策略假定所有对辅存的物理操作有着相同的存取代价,因此无法利用闪存读速度快的优势,并且无法避免闪存写操作代价高这个固有缺陷;2、针对闪存设计的缓冲区策略假设闪存的读代价与昂贵的写操作代价相比是可以忽略的,这与实际的情况不符。3、针对闪存设计的缓冲区策略都没有考虑不同的闪存的读写代价不对称性的差异,只是针对某一款闪存设计缓冲区策略。4、针对闪存设计的缓冲区策略都没有考虑频繁访问与仅访问一次的脏页的区别。
发明内容
针对上述问题,本发明的目的是提供一种能提高系统性能、适应各种闪存及各种存取模式的基于闪存的自适应缓冲区置换方法。
为实现上述目的,本发明采取以下技术方案:一种基于闪存的自适应缓冲区置换方法,其包括如下步骤:(1)采用数据页的组织方式为:通过判断缓冲区中的页是否被修改过,分别存储到只读链表和脏页链表中,再将只读链表划分成两个链表LCT和LCB,且LCT∩LCB=φ;脏页链表划分成两个链表LDT和LDB,且LDT∩LDB=φ;参数δC和δD分别代表链表LCB和链表LDB的大小;其中,链表LCT用来存放频繁访问的只读的页,链表LCB用来存放一次访问的只读的页以及曾被频繁访问,但最近很长时间没有被访问的只读页,链表LDT用来存放频繁访问的脏页,LCB用来存放一次访问的脏页以及曾被频繁访问,但最近很长时间没有被访问的脏页;(2)当CPU发出请求的数据页被命中,则判断数据页是否在只读链表中;(3)数据页在只读链表中,若对该数据页的操作类型是读操作,则把数据页移动到链表LCT的最近最多使用端;若对该数据页的操作类型是写操作,则将数据页移动到脏页链表LDB的最近最多使用端;并分别按照参数δC和δD调整链表LCB和链表LDB的大小;(4)数据页在脏页链表中,则将数据页移动到脏页链表LDT的最近最多使用端,按照参数δD调整链表LDB的大小;(5)当CPU发出请求的数据页没有命中,对该数据页进行缺页处理,按照代价自适应的从两个链表中选择页进行置换,能适应各种闪存以及各种存取模式。
所述步骤(5)中,将对所述内存缓冲区的存取操作称为逻辑操作,对所述闪存的存取操作称为物理操作,则在缺页时对所述的数据页进行置换的步骤如下:①开始运行前参数δC=δD=0,在开始状态内存缓冲区不满,当发生缺页时,将存取的数据页读入内存,并增加物理操作计数;判断对数据页的操作类型,若是读操作,则将数据页插入到链表LCB的最近最多使用端;若是写操作,则将数据页插入到链表LDB的最近最多使用端,最后按照参数δC和δD的值调整链表LCB或链表LDB的大小;②当发生缺页时,若内存缓冲区满,则从内存缓冲区中根据置换代价从只读链表或脏页链表的最近最少使用端选择一个数据页进行置换;③若被置换的数据页是被修改过的,则将该数据页写回闪存后,再将该数据页从内存缓冲区中删除;若被置换的数据页是只读的页,则将此页直接从内存缓冲区中删除,再从闪存存取新的请求数据页;数据页置换时,利用镜像缓冲区来记录内存缓冲区中被置换的数据页的访问历史;④如果数据页的页号在镜像缓冲区中,则将参数δC或δD的值增加1,从闪存存取数据页,并根据对数据页的操作类型是读操作或写操作,将其插入到链表LCT或链表LDT的最近最多使用端,调整链表LCB或链表LDB的大小;⑤如果数据页的页号不在镜像缓冲区中,从闪存存取数据页,并根据对数据页的操作类型是读操作或是写操作,将其插入到链表LCB或链表LDB的最近最多使用端,最后调整链表LCB或链表LDB的长大小。
所述镜像缓冲区划分成两个链表LCH和LDH,分别用来存放从所述只读链表和脏页链表中被置换的只访问一次的页的页号,且|LCH∪LDH|=s,s为内存缓冲区中最多能存放的数据页数。
所述数据页根据置换代价进行置换时,采用结合物理操作和逻辑操作的代价计算方法来计算所述只读链表的代价
Figure BSA00000367356900031
和所述脏页链表的代价
Figure BSA00000367356900032
的值:假定对数据页的存取是相互独立的,缓冲区最多存放s个数据页,n是被处理文件中数据页的个数,则对某个数据页的逻辑操作在缓冲区中命中的概率是s/n,而一个逻辑操作被转换为物理操作的概率是(1-s/n),则代价
Figure BSA00000367356900033
的值分别为:
Figure BSA00000367356900035
Figure BSA00000367356900036
其中,
Figure BSA00000367356900037
表示链表LC中逻辑操作的次数;
Figure BSA00000367356900038
表示链表LD中逻辑操作的次数;
Figure BSA00000367356900039
表示链表LC中物理操作的次数;
Figure BSA000003673569000310
表示链表LD中物理操作的次数。
本发明由于采取以上技术方案,其具有以下优点:1、本发明由于采用基于闪存的自适应缓冲区置换方法与其他基于闪存的数据库系统的缓冲区置换方法相比,本发明能根据不同性能的闪存进行自适应的策略调整,因此可以应用到不同的闪存硬盘上,并能获得比其他缓冲区方法更好的性能。2、本发明在命中率不下降的前提下,能减少对闪存的写操作,减少了对闪存的磨损并提高了系统的性能。3、本发明能很好的处理序列访问模式和长循环访问模式,从而与其他基于闪存提出的的缓冲区管理方法相比,能取得更好的性能,适应各种闪存及各种存取模式。本发明可以广泛应用于缓冲区置换方法中。
附图说明
图1是现有技术中的干净页优先最近最少使用置换方法示意图;
图2是本发明的自适应的基于代价的缓冲区置换方法结构示意图;
图3是本发明的自适应的基于代价的缓冲区置换方法的总体流程示意图;
图4是本发明的自适应的基于代价的缓冲区置换方法在发生缺页时的流程示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
如图2所示,本发明采用的缓冲区中数据页的组织方式为:缓冲区中的数据页按照是否被修改过,分别存储到两个不同的链表中,分别是只读链表LC和脏页链表LD,其中,只读链表LC表示用来存放只读的页,脏页链表LD表示用来存放修改过的页。若缓冲区满,假定内存缓冲区中最多能放s个页,那么|LC∪LD|=s与LC∩LD=φ同时成立。相似的,将只读链表LC划分成链表LCT和链表LCB两个链表,并且链表LCT∩LCB=φ,其中,链表LCT中存放频繁访问的只读的页,链表LCB中存放一次访问的只读的页以及曾被频繁访问,但最近很长时间没有被访问的只读页;脏页链表LD又划分成链表LDT和链表LDB两部分,并且LDT^LDB=φ,链表LDT中存放频繁访问的脏页,LCB中存放一次访问的脏页以及曾被频繁访问,但最近很长时间没有被访问的脏页。链表LCB和链表LDB的大小会随着访问方式的改变动态的变化,参数δC和δD分别代表链表LCB和链表LDB的大小。
如图3所示,本发明的基于闪存的自适应缓冲区置换方法是采用自适应的基于代价的缓冲区置换方法,其包括如下步骤:
1)若CPU发出请求的数据页p被命中,即该数据页在内存缓冲区中,也就是数据页p∈LC∪LD,则判断数据页p是否在只读链表LC中;
2)上述步骤1)中,若数据页p在只读链表LC中,无论数据页p∈LCB还是p∈LCT,只要对数据页p的操作类型是读操作,则把数据页p移动到链表LCT的MRU(最近最多使用端)端,并按照参数δC调整链表LCB的大小;若对数据页p的操作类型是写操作,则将数据页p移动到脏页链表LDB的MRU端,并按照参数δC和δD调整链表LDB和LCB的大小;
3)上述步骤1)中,若数据页p不在只读链表LC中,即数据页p在脏页链表LD中,无论数据页p∈LDB还是p∈LDT,都将数据页p移动到脏页链表LDT的MRU端,并按照参数δD调整链表LDB的大小;
4)若CPU发出请求的数据页p没有被命中,即该数据页不在内存缓冲区中,则对该数据页p进行缺页处理,按照代价自适应的从两个链表中选择页进行置换,因此能实现适应不同的闪存,又能适应不同的存取模式,能够有效提高系统的性能。
上述步骤4)中,通过判断维护的计数器的值是否等于内存缓冲区能存放的页的个数来判定内存缓冲区是否存满,当计数器的值等于内存缓冲区可存放的页的个数时,则表示内存缓冲区已满。为了区分是在内存缓冲区中还是在闪存上进行读写操作,将对内存缓冲区的存取操作称为逻辑操作,对闪存的存取操作称为物理操作,则在缺页时对请求数据页p进行置换的步骤如下(如图4所示):
(1)开始运行前参数δC=δD=0,在开始状态内存缓冲区不满,也就是|LC∪LD|<s^|LCH∪LDH|=0,当发生缺页时,直接将存取的数据页p读入内存,并增加物理操作计数;并判断对数据页p是进行读操作还是写操作,若是读操作,则将数据页p插入到链表LCB的MRU端;若是写操作,则将数据页p插入到链表LDB的MRU端,最后按照参数δC和δD的值调整链表LCB或链表LDB的大小;
(2)当发生缺页时,若内存缓冲区满,则从内存缓冲区中根据置换代价从只读链表LC或脏页链表LD的LRU端(最近最少使用端)选择一个数据页x进行置换,为数据页p腾出空间,才能将新的请求数据页放入到内存缓冲区中进行操作;
(3)若被置换的数据页x是被修改过的,则将该数据页x写回闪存后,再将该数据页x从内存缓冲区中删除;若数据页x是只读的页,则将此页直接从内存缓冲区中删除,然后再从闪存存取新的请求数据页;
数据页置换时,本发明利用镜像缓冲区来记录内存缓冲区中的数据页x的访问历史,当数据页x从只读链表LC或脏页链表LD中被置换时,如果这个数据页x是只被访问一次的页,就将此页的页号记录到镜像缓冲区中;镜像缓冲区同样划分成两个链表LCH和LDH(如图2所示),分别用来存放从只读链表LC和脏页链表LD中被置换的页的页号;令|LCH∪LDH|=s,s为内存缓冲区中最多能存放的数据页数,链表LCH和链表LDH的大小调整是一个潜在的调优问题,会根据最近一段时间的访问进行自动调整,因此实现了能够根据不同的闪存硬盘以及不同的存取访问模式进行自适应的调整;
(4)如果数据页p的页号在镜像缓冲区LCH∪LDH中,表示自从数据页p进入LCB∪LDB后没有被再次访问过就被置换,则将参数δC或δD的值增加1,因为出现这种情况就表示链表LCB或链表LDB太小;然后,从闪存存取数据页p,并根据对数据页p的操作类型是读操作或是写操作,将其插入到链表LCT或链表LDT的MRU端,最后调整链表LCB或链表LDB的大小;
(5)如果数据页p的页号不在镜像缓冲区LCH∪LDH中,直接从闪存存取数据页p,并根据对数据页p的操作类型是读操作或是写操作,将其插入到链表LCB或链表LDB的MRU端,最后调整链表LCB或链表LDB的大小。
上述步骤(2)中,数据页根据置换代价进行置换时,假设只读链表LC的代价记为
Figure BSA00000367356900061
脏页链表LD的代价记为
Figure BSA00000367356900062
Figure BSA00000367356900063
都是加权的值,分别表示只读链表LC和脏页链表LD中的页置换的总的代价,本发明采用的是将只读链表LC或脏页链表LD中页产生的置换代价与内存缓冲区中所有的页产生的置换代价的比例等同于只读链表LC或脏页链表LD的长度占内存缓冲区总长度的比例来判断应该从哪个链表中选择页进行置换。用β=CLC/(CLC+CLD)表示只读链表LC的长度占总缓冲区的比例,若内存缓冲区中最多可以放s个页,如果|LC|<β·s,就意味着脏页链表LD过长,那么选择处于脏页链表LD的最近最少访问的页进行置换;反之,从只读链表LC中选择最近最少使用的页进行置换。令从闪存读取一个页的代价表示为Cr,往闪存随机写一个页的代价为Cw,为了最小化物理操作的代价,本发明采用一种结合物理操作和逻辑操作的代价计算方法来计算
Figure BSA00000367356900064
的值:
假定对数据页的存取是相互独立的,缓冲区可以存放s个数据页,n是被处理文件中数据页的个数,则对某个数据页的逻辑操作在缓冲区中命中的概率是s/n,而一个逻辑操作被转换为物理操作的概率是(1-s/n),则
Figure BSA00000367356900066
Figure BSA00000367356900067
的值分别为:
C L C = ( R L C · ( 1 - s / n ) + M L C ) · C r , - - - ( 1 )
C L D = ( R L D · ( 1 - s / n ) + M L D ) · ( C r + C w ) , - - - ( 2 )
式中,
Figure BSA000003673569000610
表示只读链表LC中逻辑操作的次数;
Figure BSA000003673569000611
表示脏页链表LD中逻辑操作的次数;
Figure BSA000003673569000612
表示只读链表LC中物理操作的次数;
Figure BSA000003673569000613
表示脏页链表LD中物理操作的次数。
由上述公式(1)和公式(2)所示,在进行置换时,本发明采用的这种代价计算方法将逻辑操作和物理操作的影响都考虑在内,计算只读链表LC和脏页链表LD的总的置换代价。当选择一个置换页时,通过考虑逻辑操作的影响,本发明可以快速识别存取模式的变化并作出相应的调整。而且,由于物理操作的影响也考虑在内,因此不至于像仅考虑逻辑操作那样付出不必要的物理代价。
综上所述,在本发明的基于闪存的自适应缓冲区置换方法中,如果一个页在整个进程中仅被访问一次,那么它开始将被插入到链表LCB或链表LDB的MRU端,因此它将比那些被访问多次的页置换出去的早些。而且,在链表LCT和链表LDT中的页能够利用链表LCB和链表LDB的空间,使得它们能够在缓冲区中停留更长的时间,因此,频繁访问的页的命中率将会提高,特别是那些脏页的命中率。通过在缓冲区中使用一个哈希表来维护每个页的指针,对每次页请求来说,本发明的复杂度都是O(1),仅比LRU方法(最近最少使用置换方法)的复杂度高出c个常量。
上述各实施例仅用于说明本发明,其中各部件的结构、连接方式等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。

Claims (4)

1.一种基于闪存的自适应缓冲区置换方法,其包括如下步骤:
(1)采用数据页的组织方式为:通过判断缓冲区中的页是否被修改过,分别存储到只读链表和脏页链表中,再将只读链表划分成两个链表LCT和LCB,且LCT∩LCB=φ;脏页链表划分成两个链表LDT和LDB,且LDT∩LDB=φ;参数δC和δD分别代表链表LCB和链表LDB的大小;其中,链表LCT用来存放频繁访问的只读的页,链表LCB用来存放一次访问的只读的页以及曾被频繁访问,但最近很长时间没有被访问的只读页,链表LDT用来存放频繁访问的脏页,LCB用来存放一次访问的脏页以及曾被频繁访问,但最近很长时间没有被访问的脏页;
(2)当CPU发出请求的数据页被命中,则判断数据页是否在只读链表中;
(3)数据页在只读链表中,若对该数据页的操作类型是读操作,则把数据页移动到链表LCT的最近最多使用端;若对该数据页的操作类型是写操作,则将数据页移动到脏页链表LDB的最近最多使用端;并分别按照参数δC和δD调整链表LCB和链表LDB的大小;
(4)数据页在脏页链表中,则将数据页移动到脏页链表LDT的最近最多使用端,按照参数δD调整链表LDB的大小;
(5)当CPU发出请求的数据页没有命中,对该数据页进行缺页处理,按照代价自适应的从两个链表中选择页进行置换,能适应各种闪存以及各种存取模式。
2.如权利要求1所述的一种基于闪存的自适应缓冲区置换方法,其特征在于:所述步骤(5)中,将对所述内存缓冲区的存取操作称为逻辑操作,对所述闪存的存取操作称为物理操作,则在缺页时对所述的数据页进行置换的步骤如下:
①开始运行前参数δC=δD=0,在开始状态内存缓冲区不满,当发生缺页时,将存取的数据页读入内存,并增加物理操作计数;判断对数据页的操作类型,若是读操作,则将数据页插入到链表LCB的最近最多使用端;若是写操作,则将数据页插入到链表LDB的最近最多使用端,最后按照参数δC和δD的值调整链表LCB或链表LDB的大小;
②当发生缺页时,若内存缓冲区满,则从内存缓冲区中根据置换代价从只读链表或脏页链表的最近最少使用端选择一个数据页进行置换;
③若被置换的数据页是被修改过的,则将该数据页写回闪存后,再将该数据页从内存缓冲区中删除;若被置换的数据页是只读的页,则将此页直接从内存缓冲区中删除,再从闪存存取新的请求数据页;数据页置换时,利用镜像缓冲区来记录内存缓冲区中被置换的数据页的访问历史;
④如果数据页的页号在镜像缓冲区中,则将参数δC或δD的值增加1,从闪存存取数据页,并根据对数据页的操作类型是读操作或写操作,将其插入到链表LCT或链表LDT的最近最多使用端,调整链表LCB或链表LDB的大小;
⑤如果数据页的页号不在镜像缓冲区中,从闪存存取数据页,并根据对数据页的操作类型是读操作或是写操作,将其插入到链表LCB或链表LDB的最近最多使用端,最后调整链表LCB或链表LDB的长大小。
3.如权利要求2所述的一种基于闪存的自适应缓冲区置换方法,其特征在于:所述镜像缓冲区划分成两个链表LCH和LDH,分别用来存放从所述只读链表和脏页链表中被置换的只访问一次的页的页号,且|LCH∪LDH|=s,s为内存缓冲区中最多能存放的数据页数。
4.如权利要求2或3所述的一种基于闪存的自适应缓冲区置换方法,其特征在于:所述数据页根据置换代价进行置换时,采用结合物理操作和逻辑操作的代价计算方法来计算所述只读链表的代价
Figure FSA00000367356800021
和所述脏页链表的代价
Figure FSA00000367356800022
的值:
假定对数据页的存取是相互独立的,缓冲区最多存放s个数据页,n是被处理文件中数据页的个数,则对某个数据页的逻辑操作在缓冲区中命中的概率是s/n,而一个逻辑操作被转换为物理操作的概率是(1-s/n),则代价
Figure FSA00000367356800023
Figure FSA00000367356800024
的值分别为:
C L C = ( R L C · ( 1 - s / n ) + M L C ) · C r ,
C L D = ( R L D · ( 1 - s / n ) + M L D ) · ( C r + C w ) ,
其中,
Figure FSA00000367356800027
表示链表LC中逻辑操作的次数;
Figure FSA00000367356800028
表示链表LD中逻辑操作的次数;
Figure FSA00000367356800029
表示链表LC中物理操作的次数;表示链表LD中物理操作的次数。
CN201010566968.2A 2010-11-25 2010-11-25 一种基于闪存的自适应缓冲区置换方法 Expired - Fee Related CN102097128B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010566968.2A CN102097128B (zh) 2010-11-25 2010-11-25 一种基于闪存的自适应缓冲区置换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010566968.2A CN102097128B (zh) 2010-11-25 2010-11-25 一种基于闪存的自适应缓冲区置换方法

Publications (2)

Publication Number Publication Date
CN102097128A true CN102097128A (zh) 2011-06-15
CN102097128B CN102097128B (zh) 2014-03-19

Family

ID=44130182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010566968.2A Expired - Fee Related CN102097128B (zh) 2010-11-25 2010-11-25 一种基于闪存的自适应缓冲区置换方法

Country Status (1)

Country Link
CN (1) CN102097128B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360369A (zh) * 2011-09-28 2012-02-22 中兴通讯股份有限公司 在用户空间文件系统上实现聚合写文件脏页的方法和装置
WO2015169145A1 (zh) * 2014-05-06 2015-11-12 华为技术有限公司 内存管理方法和设备
CN103914403B (zh) * 2014-04-28 2016-11-02 中国科学院微电子研究所 一种混合内存访问情况的记录方法及其系统
CN107368257A (zh) * 2016-05-12 2017-11-21 华为技术有限公司 固态存储器中的数据巡检方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423229B (zh) * 2017-03-16 2020-09-01 杭州电子科技大学 一种面向页级ftl的缓冲区改进方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020176279A1 (en) * 2001-05-23 2002-11-28 Samsung Electronics Co., Ltd. Nonvolatile flash memory device usable as boot-up memory in a digital information processing system and method of operating the same
EP1282137B1 (en) * 2001-08-02 2008-09-10 STMicroelectronics, Inc. Redundancy circuit and method for replacing defective memory cells in a flash memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020176279A1 (en) * 2001-05-23 2002-11-28 Samsung Electronics Co., Ltd. Nonvolatile flash memory device usable as boot-up memory in a digital information processing system and method of operating the same
EP1282137B1 (en) * 2001-08-02 2008-09-10 STMicroelectronics, Inc. Redundancy circuit and method for replacing defective memory cells in a flash memory device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
汤显等: "FClock:一种面向SSD的自适应缓冲区管理算法", 《计算机学报》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360369A (zh) * 2011-09-28 2012-02-22 中兴通讯股份有限公司 在用户空间文件系统上实现聚合写文件脏页的方法和装置
CN102360369B (zh) * 2011-09-28 2014-08-13 中兴通讯股份有限公司 在用户空间文件系统上实现聚合写文件脏页的方法和装置
CN103914403B (zh) * 2014-04-28 2016-11-02 中国科学院微电子研究所 一种混合内存访问情况的记录方法及其系统
WO2015169145A1 (zh) * 2014-05-06 2015-11-12 华为技术有限公司 内存管理方法和设备
JP2017515242A (ja) * 2014-05-06 2017-06-08 華為技術有限公司Huawei Technologies Co.,Ltd. メモリ管理方法およびデバイス
US10552337B2 (en) 2014-05-06 2020-02-04 Huawei Technologies Co., Ltd. Memory management and device
CN107368257A (zh) * 2016-05-12 2017-11-21 华为技术有限公司 固态存储器中的数据巡检方法及装置
CN107368257B (zh) * 2016-05-12 2019-11-12 华为技术有限公司 固态存储器中的数据巡检方法及装置

Also Published As

Publication number Publication date
CN102097128B (zh) 2014-03-19

Similar Documents

Publication Publication Date Title
KR101894625B1 (ko) 데이터 저장 시스템들에 대한 우선순위 기반 가비지 수집
CN108762664B (zh) 一种固态硬盘页级缓存区管理方法
US7143240B2 (en) System and method for providing a cost-adaptive cache
Canim et al. SSD bufferpool extensions for database systems
CN107391398B (zh) 一种闪存缓存区的管理方法及系统
Wu et al. BPAC: An adaptive write buffer management scheme for flash-based solid state drives
Lv et al. Operation-aware buffer management in flash-based systems
CN103019958A (zh) 使用数据属性来管理固态存储器里的数据的方法
CN102097128B (zh) 一种基于闪存的自适应缓冲区置换方法
EP3425513B1 (en) Cache management method and apparatus for non-volatile storage device
JP6711121B2 (ja) 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム
CN107247675B (zh) 一种基于分类预测的缓存选择方法和系统
US20050050279A1 (en) Storage system and method for prestaging data in a cache for improved performance
CN103984736A (zh) 一种高效的nand闪存数据库系统的缓存管理方法
CN110888600B (zh) 一种面向nand闪存的缓冲区管理方法
CN108845957B (zh) 一种置换和回写自适应的缓冲区管理方法
CN110532200B (zh) 一种基于混合内存架构的内存系统
CN109144895A (zh) 一种数据存储方法及装置
CN111580754B (zh) 一种写友好的闪存固态盘缓存管理方法
CN102207909B (zh) 一种基于代价的闪存数据库缓冲区置换方法
CN108664217A (zh) 一种降低固态盘存储系统写性能抖动的缓存方法及系统
On et al. FD-Buffer: A cost-based adaptive buffer replacement algorithm for flashmemory devices
KR20160121819A (ko) 이종 메모리 기반 데이터 관리 장치
Jin et al. A group round robin based b-tree index storage scheme for flash memory devices
Shen et al. APRA: adaptive page replacement algorithm for NAND flash memory storages

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140319

Termination date: 20141125

EXPY Termination of patent right or utility model