CN102156753A - 面向固态硬盘文件系统的数据页缓存方法 - Google Patents
面向固态硬盘文件系统的数据页缓存方法 Download PDFInfo
- Publication number
- CN102156753A CN102156753A CN 201110110264 CN201110110264A CN102156753A CN 102156753 A CN102156753 A CN 102156753A CN 201110110264 CN201110110264 CN 201110110264 CN 201110110264 A CN201110110264 A CN 201110110264A CN 102156753 A CN102156753 A CN 102156753A
- Authority
- CN
- China
- Prior art keywords
- page
- cold
- leaf
- chained list
- clean
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向固态硬盘文件系统的数据页缓存方法,其实施步骤如下:1)在高速缓存中建立用于缓存数据页的缓冲链表;2)将固态硬盘中读取的数据页缓存在缓冲链表中以供访问,并实时根据数据页的访问状态和写访问状态将缓冲链表中数据页分类为冷干净页、热干净页、冷脏页和热脏页;3)当缓冲链表中没有空闲空间时,首先在缓冲链表中根据冷干净页、热干净页、冷脏页、热脏页的优先顺序查找一个数据页作为待置换页,然后将待置换页与从固态硬盘读取的新数据页进行置换。本发明可充分利用固态硬盘特性、有效缓解外部存储的性能瓶颈、提高系统存储处理性能,具有I/O性能好、缓存页置换代价低、开销小、命中率高的优点。
Description
技术领域
本发明涉及文件系统缓存机制,特指面向固态硬盘的文件系统数据页的缓存管理方法。
背景技术
当前处理器性能一直按照摩尔定律在飞速提高,相对而言,以机械磁盘为主的存储系统性能提高却缓慢得多,计算性能和存储性能之间的差距越来越大,存储系统的I/O性能瓶颈问题日益突出。磁盘作为当前主流的外部存储设备是提高整个计算机系统性能的一个瓶颈所在,因为它的读写访问速度和内存相比一般都要相差3个数量级,在磁盘上读取数据会影响整个应用的运行速度。目前,基于Flash的固态硬盘在I/O性能上有很大的上升空间,有很大的研究潜力,和磁盘相比固态硬盘有很多明显的优点:很小的读延迟,快速随机读写访问,低功耗,可靠性高等,所以固态硬盘比传统磁盘的应用前景更加广阔,并且随着固态存储制造工艺会越来越成熟,性能会越来越高的,这些都可能促使固态硬盘会逐步取代目前的磁盘。
在存储系统中使用固态硬盘虽然能够提供比传统机械磁盘更高的读写访问性能,但是由于操作系统在软件设计和优化中假定的存储系统不是固态硬盘,使得操作系统没有完全发挥固态硬盘本身的优势,固态硬盘的性能没有达到最理想的状态。提高存储系统性能的一般方法是使用文件系统缓存,内存作为缓存位于文件系统和存储设备之间,能减少从文件系统到存储的读和写请求数目,提高存储I/O性能。缓存的性能直接影响文件系统的性能,必须高效地维护缓存。当缓存中没有空闲空间时,为了满足接下来的读写缓存请求必须按照某种机制置换出一些数据,这就牵涉到缓存的数据页置换机制。大部分的传统的数据页置换方法主要关注的缓存的命中率,因为命中率越高,减少读写次数越多,磁盘读写请求开销差不多,进行置换时内存中的读写数据不区别看待。
文件系统的缓存都是通过一个用于缓存数据页的缓冲链表来实现的,目前面向固态硬盘文件系统的数据页缓存方法为CFLRU(干净页优先最近最少使用,Clean First LRU)法和LRU-WSR(最近最少使用写操作冲排序,LRU-Write Sequebce Recordering)法这两种方法:
如图1所示,CFLRU法将缓冲链表分为工作区和干净优先区,根据数据页的访问状态将数据页分为干净页和脏页。工作区缓存最近使用的数据页,干净页基本上都位于这个区域,所以大部分的缓冲命中在这个区域;干净优先区是进行页置换的区域,干净优先区的大小(包含缓存页的数目)用窗口大小W来衡量,窗口大小W是固定不变的。在干净优先区选择待置换页时,则在干净优先区的窗口大小W范围内从表尾向表头方向遍历直到选中了一个干净页,那么这个干净页就是待置换页,然后将待置换页进行置换写回。本图中D表示脏页,C表示干净页,P1为表头端的数据页,P8为表尾端的数据页,从图中可以可见P7为窗口大小W范围内从表尾向表头方向的第一个干净页,因此此时P7为待置换页。
如图2所示,LRU-WSR法结合数据页的访问频率,对缓冲链表的数据页采用冷热标志对脏页根据访问频率进行简单分类:干净页C、热脏页HD和冷脏页CD。P1为表头端的数据页,P7为表尾端的数据页,LRU-WSR法的置换过程如下:先从表尾端选择一个数据页作为候选页,若候选页是干净页,那么不考虑冷热标志就选择它来置换。若候选页是脏页,必须先要检查它的冷热标志:如果它的冷热标志被设置,则选择这个脏页作为待置换页进行置换写回;如果冷热标志没有被设置,说明冷热标志为热,然后将数据页移动至表头,同时设置冷热标志。相当于一个脏页被给了二次机会,同时会从表尾端的选择另一个候选页进行再次判断,设置了脏页的冷热标志被在此引用时会被清除的,同时移动到表头,图中可知P7是干净页,因此此时P7会被选择作为待置换页进行置换。
但是在Flash存储系统中,读和写开销完全不对称,写的访问时间一般都是读的10倍以上,而上述方法均没有考虑固态硬盘的读写不对称性,无法发挥固态硬盘的特性,不能有效发挥软件管理高速缓存的优势,缓存利用率不高,无法很好缓解存储的I/O性能瓶颈。
发明内容
本发明要解决的技术问题是:提供一种可充分利用固态硬盘特性、有效缓解外部存储的性能瓶颈、提高系统存储处理性能,I/O性能好、缓存页置换代价低、开销小、命中率高的面向固态硬盘文件系统的数据页缓存方法。
为了解决上述技术问题,本发明采用的技术方案为:一种面向固态硬盘文件系统的数据页缓存方法,其实施步骤如下:
1)在高速缓存中建立用于缓存数据页的缓冲链表;
2)将固态硬盘中读取的数据页缓存在缓冲链表中以供访问,并实时根据数据页的访问状态和写访问状态将缓冲链表中数据页分类为冷干净页、热干净页、冷脏页和热脏页;
3)当缓冲链表中没有空闲空间时,首先在缓冲链表中根据冷干净页、热干净页、冷脏页、热脏页的优先顺序查找一个数据页作为待置换页,然后将待置换页与从固态硬盘读取的新数据页进行置换。
作为本发明的进一步改进:
所述步骤2)中首先为缓冲链表中的数据页建立用于标记访问状态的冷热标志、设置冷热标志的初始值、冷阈值范围和热阈值范围,当数据页首次缓存至缓冲链表中时将数据页的冷热标志置为所述初始值,缓冲链表中的数据页每发生一次访问则冷热标志向热阈值范围变化、每经过一次待置换页查找则冷热标志向冷阈值范围变化,步骤2)中进行数据页分类时,将冷热标志属于冷阈值范围内且未发生写访问的数据页分类为冷干净页、将冷热标志属于冷阈值范围内且已发生写访问的数据页分类为冷脏页、将冷热标志属于热阈值范围内且未发生写访问的数据页分类为热干净页、将冷热标志属于热阈值范围内且已发生写访问的数据页分类为热脏页。
所述步骤2)中进行数据页分类时,如果数据页为冷干净页或者冷脏页且被再次访问,则修改该数据页的冷热标志使其属于热阈值范围内。
所述步骤1)中建立的缓冲链表包括用于缓存冷干净页的冷干净链表和用于缓存热干净页、冷脏页、热脏页的混合链表;所述步骤2)中,冷干净链表中的数据页一旦发生访问操作,则将其转移至混合链表;所述步骤3)中,首先在冷干净链表中查找待置换页,如果冷干净链表为空,则在混合链表中根据热干净页、冷脏页、热脏页的优先顺序查找待置换页。
所述步骤2)中冷干净链表和混合链表中的数据页采用最近最少使用算法进行实时排序,将缓存至冷干净链表的数据页写入冷干净链表的表头,冷干净链表中的数据页转移至混合链表时写入混合链表的表头,在冷干净链表中查找待置换页时,从冷干净链表的表尾向表头方向查找,在混合链表中查找待置换页时,从混合链表的表尾向表头方向查找待置换页。
所述从混合链表的表尾向表头方向查找待置换页时,首先在混合链表的表尾建立一个用于查找热干净页的查找窗口,然后首先在查找窗口内查找热干净页,如果找到热干净页则将该热干净页作为待置换页,如果在查找窗口内没有找到热干净页,则首先从混合链表的表尾向表头方向查找冷脏页作为待置换页,如果在混合链表中没有找到冷脏页,则将混合链表的表尾端的热脏页作为待置换页。
所述建立查找窗口后,实时根据数据缓存的当前主要访问类型调整查找窗口的窗口大小,如果当前主要访问类型为读访问,则减少混合链表中查找窗口的窗口大小;如果当前主要访问类型为写访问,则增加混合链表中查找窗口的窗口大小。
所述步骤1)中一并建立的用于保存被置换数据页信息的克隆列表、设置用于判断缓冲链表主要访问类型的读密集阈值和写密集阈值;所述步骤3)中进行置换时将被置换数据页信息保存在克隆列表中,同时实时检查克隆列表中的所有数据页,如果克隆列表中冷干净页和热干净页数量之和占克隆列表中数据页总数的比例超过读密集阈值,则判定缓冲链表当前主要访问类型为读访问;如果克隆列表中冷脏页和热脏页数量之和占克隆列表中数据页总数的比例超过写密集阈值,则判定缓冲链表当前主要访问类型为写访问。
所述减少窗口大小后查找窗口的窗口大小W为W=(1-1/(μ+1))·W0,所述增加窗口大小后查找窗口的窗口大小W为W=(1+1/(μ+1))·W0,其中W0为查找窗口的初始窗口大小,μ为查找窗口的窗口大小W与缓冲链表总数据页数量的比值。
本发明具有下述优点:
1、本发明将缓冲链表中数据页分类为冷干净页、热干净页、冷脏页和热脏页,然后在进行数据页置换时根据冷干净页、热干净页、冷脏页、热脏页的优先顺序查找待置换页,优先置换开销小的冷干净页,尽量延迟置换开销大的热脏页,缓存整体开销小,具有可有效缓解外部存储的性能瓶颈、可提高系统存储处理性能、I/O性能好、缓存页置换代价低、开销小、命中率高的优点。
2、本发明通过冷热标志来对数据页进行分类、把数据页分为多个冷热等级的数据页冷检测机制,通过对数据页冷热分类实现根据数据页访问频率的细粒度调整,简单方便、置换开销小。
3、本发明进一步在进行数据页分类时,如果数据页为冷干净页或者冷脏页且被再次访问则修改该数据页的冷热标志使其属于热阈值范围内,使其直接变成热干净页或者热脏页,可以提高缓存中数据页的命中率。
4、本发明的缓冲链表进一步包括用于缓存冷干净页的冷干净链表和用于缓存热干净页、冷脏页、热脏页的混合链表,因此优先查找冷干净链表获取冷干净页,在冷干净链表为空时才去查找混合链表,因此查找置换页的开销更小、查找速度更快,可以进一步提高缓冲链表的访问性能。
5、本发明冷干净链表和混合链表中的数据页进一步采用最近最少使用算法进行实时排序,查找待置换页的时候从表尾向表头方向查找,可以有效保障开销最大的热脏页总是最后才被置换,有效提高了缓冲链表的访问性能。
6、本发明进一步在查找热干净页的时候在查找窗口中进行查找,可以防止热干净页的过度置换,通过有效结合考虑数据页的新近性和访问频率,置换开销小、性能高。
7、本发明进一步实时根据数据缓存的当前主要访问类型调整查找窗口的窗口大小,可以减少对固态硬盘的写回操作数量,从而可以充分发挥固态硬盘读取比写回速度快的特性,可以有效提高固态硬盘的存储系统的I/O效率和文件系统缓存性能。
8、本发明进一步通过克隆列表来检测数据缓存的当前主要访问类型,克隆列表仅仅保存被置换数据页的元数据信息,实现简单高效、占用空间很小。
附图说明
图1为CFLRU法的缓冲链表结构示意图;
图2为LRU-WSR法的缓冲链表结构示意图;
图3为本发明实施例缓存方法的流程示意图;
图4为本发明实施例中混合链表的结构示意图;
图5为本发明实施例中冷干净链表的结构示意图;
图6为本发明实施例缓存方法查找代置换页的详细流程示意图;
图7为本发明实施例中数据页类型转换示意图;
图8为本发明实施例中克隆链表与冷干净链表、混合链表的大小比较示意图。
具体实施方式
如图3所示,本发明实施例面向固态硬盘文件系统的数据页缓存方法的实施步骤如下:
1)在高速缓存中建立用于缓存数据页的缓冲链表;
2)将固态硬盘中读取的数据页缓存在缓冲链表中以供访问,并实时根据数据页的访问状态和写访问状态将缓冲链表中数据页分类为冷干净页、热干净页、冷脏页和热脏页;
3)当缓冲链表中没有空闲空间时,首先在缓冲链表中根据冷干净页、热干净页、冷脏页、热脏页的优先顺序查找一个数据页作为待置换页,然后将待置换页与从固态硬盘读取的新数据页进行置换。
本实施例中,高速缓存是指内存。从读写开销的角度考虑,由于固态硬盘的读写开销具有非对称性的特点,同等情况下置换脏页引起的写回操作开销肯定是最大的,而置换干净页的开销最小。而从缓冲命中率的角度考虑,置换热页引起的影响肯定比置换冷页的影响大,引起的性能损失严重,这是由于热页包含了应用中访问频繁的页面数据,如果选择它来置换,在随后的应用请求很有可能因为再次访问这个页面数据而发生缺页,必须到外部存储中取数据引起系统性能的损失,如果选择冷页来置换,因为它的访问频率相对比较低,将来再次引用的可能性小,可以以较小的代价将其置换还不引起大的性能损失。根据读写开销和页面访问频率的分析,可以知道置换热脏页的开销最大,置换冷干净页的开销最小。因此本实施例中,在缓冲链表中查找待置换页时,是根据冷干净页、热干净页、冷脏页、热脏页的优先顺序进行依次查找。
步骤2)中首先为缓冲链表中的数据页建立用于标记访问状态的冷热标志、设置冷热标志初始值、冷阈值范围和热阈值范围,当数据页首次缓存至缓冲链表中时将数据页的冷热标志置为初始值,缓冲链表中的数据页每发生一次访问则冷热标志向热阈值范围变化、每经过一次待置换页查找则冷热标志向冷阈值范围变化,步骤2)中进行数据页分类时,将冷热标志属于冷阈值范围内且未发生写访问的数据页分类为冷干净页、将冷热标志属于冷阈值范围内且已发生写访问的数据页分类为冷脏页、将冷热标志属于热阈值范围内且未发生写访问的数据页分类为热干净页、将冷热标志属于热阈值范围内且已发生写访问的数据页分类为热脏页。本实施例中冷热标志用COOL表示,冷阈值范围为2~3,热阈值范围为0~1,冷热标志为2或3说明该页是冷数据页(包括冷干净页和冷脏页),冷热标志为0或1时表示数据页是热数据页(包括热脏页和热干净页),COOL=0表明数据页最热;COOL=3表明数据页最大程度即访问频率最小或最久没有访问了,冷热标志的初始值为COOLMAX=3,缓冲链表中的数据页每发生一次访问则冷热标志减1、每经过一次待置换页查找则冷热标志向冷阈值范围加1。此外也可以将COOLMAX初始设定为1,这样COOL=0表示热,COOL=COOLMAX表示冷,冷热标志退化为只有冷热两种程度了,这是最简单的情况。除了本实施例中采用0表示最热、COOLMAX表示最冷的方式以外,也可以将0或者其他值表示最冷、COOLMAX表示最热,或者采用其他表示最冷或者最热的值,或者采用其他冷阈值范围和热阈值范围,又或者将冷阈值范围和热阈值范围采用同一个边界值进行区分等等,其本质与本实施例等同。通过对数据页访问频率进行优化,可以提高缓冲链表的命中率和I/O性能。
步骤2)中进行数据页分类时,如果数据页为冷干净页或者冷脏页且被再次访问,则修改该数据页的冷热标志使其属于热阈值范围内。本实施例中,如果冷干净页被再次访问,则将冷干净页的冷热标志直接置为0成为热干净页;如果冷脏页被再次访问,则将冷脏页的冷热标志直接置为0成为热脏页。
步骤1)中建立的缓冲链表包括用于缓存冷干净页的冷干净链表和用于缓存热干净页、冷脏页、热脏页的混合链表;步骤2)中,冷干净链表中的数据页一旦发生访问操作,则将其转移至混合链表;步骤3)中,首先在冷干净链表中查找待置换页,如果冷干净链表为空,则在混合链表中根据热干净页、冷脏页、热脏页的优先顺序查找待置换页。本实施例中,缓冲链表包括混合链表L1和冷干净链表L2,混合链表L1和冷干净链表L2包含的数据页数量L总和即为文件系统缓存的大小。混合链表L1缓存热干净页、冷脏页、热脏页,其中热干净页以HC表示、冷脏页以CD表示、热脏页以HD表示;冷干净链表L2仅仅缓存冷干净页,其中冷干净页以CC表示。
如图4和图5所示,混合链表L1中缓存有热干净页HC、冷脏页CD、热脏页HD,其中位于表头端的数据页P1为热脏页HD,位于表尾端的数据页P7为热脏页HD。冷干净链表L2仅仅缓存冷干净页CC,数据页P9位于冷干净链表L2的表头端,数据页P15位于冷干净链表L2的表尾端。
步骤2)中冷干净链表和混合链表中的数据页采用最近最少使用算法(LRU算法)进行实时排序,将缓存至冷干净链表的数据页写入冷干净链表的表头,冷干净链表中的数据页转移至混合链表时写入混合链表的表头,在冷干净链表中查找待置换页时,从冷干净链表的表尾向表头方向查找,在混合链表中查找待置换页时,从混合链表的表尾向表头方向查找待置换页。本实施例实质上是在传统的缓冲链表的基础上增加了一个新的仅缓存冷干净页的冷干净链表,冷干净链表中的冷干净页根据最近最少使用算法(LRU算法)的顺序排列,查找窗口位于混合链表L1的表尾。此外,最近最少使用算法的表头也可叫做最近最多使用端,表尾也叫最久最少使用端。
根据前面对各种类型页的置换开销分析,我们知道置换热脏页的代价最大,在进行置换时要尽可能保证热脏页延迟置换,因此在混合链表的查找窗口中,根据热干净页、冷脏页、热脏页的优先顺序依次查找待置换页,热脏页是作为最后的选择。
本实施例从混合链表的表尾向表头方向查找待置换页时,首先在混合链表的表尾建立一个用于查找热干净页的查找窗口,然后首先在查找窗口内查找热干净页,如果找到热干净页则将该热干净页作为待置换页,如果在查找窗口内没有找到热干净页,则首先从混合链表的表尾向表头方向查找冷脏页作为待置换页,如果在混合链表中没有找到冷脏页,则将混合链表的表尾端的热脏页作为待置换页。本实施例中查找待置换页的流程如下:
1)首先查找冷干净链表L2,如果冷干净链表L2不为空,则选定冷干净链表L2表尾端的数据页(冷干净页)作为待置换页,否则执行下一步。
2)如果冷干净链表L2为空,则查找混合链表L1:
2.1)在混合链表L1的查找窗口内从表尾向表头方向查找热干净页,数据页每经过一次查找则冷热标志加1,如果找到热干净页则将该数据页作为待置换页,如果没有找到热干净页则进行下一步;
2.2)从混合链表L1的表尾向表头方向遍历查找冷脏页,如果找到冷脏页则将该数据页作为待置换页,如果没有找到冷脏页则进行下一步;
2.3)将查找窗口表尾端的数据页(热脏页)作为待置换页。
如图6所示,本实施例中查找待置换页并进行置换的详细流程如下:
(1)、如果冷干净链表L2非空,则标记冷干净链表L2表尾端的数据页为待置换页、跳转至步骤(7),否则执行下一步;
(2)、将混合链表L1表尾端的数据页为候选页,然后执行下一步;
(3)、如果候选页为热干净页,则将该数据页作为待置换页并跳转至步骤(7),否则执行下一步;
(4)、从混合链表L1的表尾向表头方向遍历每一个查找窗口内的数据页来查找热干净页,如果找到热干净页则将该数据页作为待置换页并跳转至步骤(7),如果当前的候选页不是热干净页,则首先将候选页的冷热标志加1,然后判断该数据页是否位于查找窗口内,如果已经遍历查找窗口的所有数据页仍未找到热干净页则执行下一步;
(5)、从混合链表L1的表尾向表头方向遍历每一个数据页来查找冷脏页,如果找到冷脏页则将该数据页作为待置换页并跳转至步骤(7),如果最终没有找到冷脏页则执行下一步;
(6)、将查找窗口表尾端的数据页(热脏页)作为待置换页,然后执行步骤(7),
(7)、将待置换页进行置换,置换完毕后退出本次置换流程。
如图7所示,对于首次缓存至缓冲链表的数据页,冷热标志默认设置为COOLMAX并插入到冷干净链表L2的表头。因为冷干净链表L2更新速度非常快,如果冷干净链表L2中的冷干净页被读取,说明该数据页从缓存至冷干净链表L2到再次发生访问并转移至混合链表L1的两次访问时间间隔非常短,因此本实施例中直接将冷干净链表L2中再次发生访问数据页的冷热标志置为0,使其成为热干净页以提高缓存中数据页的命中率,并立即被转移到混合链表L1的表头,这也是混合链表L1中热干净页的唯一来源;如果冷干净链表L2中的冷干净页发生写访问,冷热标志保持不变,冷干净页变为冷脏页,立即被转移到混合链表L1的表头。混合链表L1中,如果冷脏页再次发生写访问,则冷热标志减1,如果冷热标志落入热阈值范围内,则冷脏页变为热脏页。对于首次写访问并缓存至缓冲链表的数据页,则直接作为冷脏页放入混合链表L1的表头,这种方式会产生插入至混合链表L1中的冷脏页。对于混合链表L1中的数据页,不管它当前处于什么状态,只要它被访问了,那么它的冷热标志都要减1。同时在混合链表L1中查找待置换页时,如果候选页不是干净页,则将冷热标志加1,如果热脏页的冷热标志落入冷阈值范围内则变为冷脏页,从而可以有效保证热脏页总是被延迟置换。
本实施例在建立查找窗口后,实时根据数据缓存的当前主要访问类型调整查找窗口的窗口大小,如果当前主要访问类型为读访问,则减少混合链表中查找窗口的窗口大小;如果当前主要访问类型为写访问,则增加混合链表中查找窗口的窗口大小。若当前主要访问类型为读访问,则读命中就显得相当重要,若还是大量置换干净页就会极大的增加缓冲的失效率,本实施例通过减少查找窗口的窗口大小尽量避免干净页被替换,可以有效提高读命中的命中率;若当前主要访问类型为写访问,则写命中就显得相当重要,本实施例通过增加查找窗口的窗口大小置换出更多的干净页,从而尽可能保持脏页不被置换,可以有效提高写命中的命中率,通过对读写访问模式的检测,可以充分发挥出固态硬盘写访问比读访问快的特性,提高系统的I/O性能。
本实施例的混合链表L1中查找窗口的窗口大小W是动态变化的,窗口大小变化的基本依据是缓冲链表当前主要访问类型,当前主要访问类型可以根据混合链表L1和冷干净链表L2中的数据页分类进行判断。但是本实施例中对当前主要访问类型的判断是通过克隆链表L3实现的,其实现方法如下:
步骤1)中建立用于保存被置换数据页信息的克隆列表,设置用于判断缓冲链表主要访问类型的读密集阈值和写密集阈值,步骤3)中进行置换时将被置换数据页信息保存在克隆列表中,同时实时检查克隆列表中的所有数据页,如果克隆列表中冷干净页和热干净页数量之和占克隆列表中数据页总数的比例超过读密集阈值,则判定缓冲链表当前主要访问类型为读访问;如果克隆列表中冷脏页和热脏页数量之和占克隆列表中数据页总数的比例超过写密集阈值,则判定缓冲链表当前主要访问类型为写访问。总得来说,发生置换时文件系统缓存的总空间大小等于混合链表L1加上冷干净链表L2的总页面数据大小,但是不同的应用访问模式会产生不同的链表组织情况,使得混合链表L1和冷干净链表L2包含的页面数发生变化。当前主要访问类型为写访问,即表现为写密集时,大量的写访问所占用空间会大于缓冲链表,写密集让冷页面快速成为热页,触发置换时一方面会使冷干净链表L2中的冷干净页转化为热干净页或者冷脏页进入混合链表L1,另一方面一些冷干净页会被优先置换掉,使得冷干净链表L2完全为空,文件缓存的所有数据页全部都存储到混合链表L1中。但是,当访问是读访问时,冷干净链表L2发生置换的频率会比较高,为空的概率就会很小。
如8所示,本实施例中混合链表L1的数据页数量|L1|和冷干净链表L2的数据页数量|L2|之和|L1|+|L2|最大为L,克隆链表L3的数据页数量|L3|最大也为L,其中L指文件系统缓冲的大小。混合链表L1、冷干净链表L2、克隆链表L3都是采用最近最少使用算法(LRU算法)进行实时排序,即最近访问数据页放在表头(LRU算法的最近最多使用端),最久没有访问的依次往表尾(LRU算法的最久最少使用端)。除了优先选择冷干净页进行置换外,本实施例实现了查找窗口的窗口大小的动态调整,既可以说像CFLRU法里那样操作混合链表L1,而且窗口大小还可以根据缓冲链表的当前主要访问类型而发生动态改变以取得最好的性能效果。
为了实现对当前主要访问类型的判断,本实施例借助克隆链表实现,克隆链表L3中仅仅包含混合链表L1和冷干净链表L2中被置换数据页的元数据。每个元数据是一个结构体,包括用于记录数据页是否发生写访问的页面干净状态DIRTY、冷热标志COOL、数据页写入内存前的逻辑地址、数据页在缓冲链表中的前后指针prev和next等。考虑用于存储缓冲链表的高速缓存(例如内存)空间开销宝贵,因此本实施例中只维持一个有限长度的克隆链表L3,且不直接保存整个被置换的数据页,而且仅仅保存被置换数据页的元数据。克隆链表L3中一个数据页的元数据只有20bytes的信息,然而每个数据页的大小一般都为2KB或4KB,因此通过数据页的元数据维持克隆链表L3的开销很小。若克隆列表中包含了大量的干净页(冷干净页和热干净页),说明当前主要访问类型为读访问,若克隆列表中包含了大量的脏页(冷脏页和热脏页),说明当前主要访问类型为写访问。本实施例中读密集阈值和写密集阈值均取值为70%,当克隆列表中冷干净页和热干净页数量之和占克隆列表中数据页总数的比例超过70%时则减少查找窗口的窗口大小,当克隆列表中冷脏页和热脏页数量之和占克隆列表中数据页总数量的比例超过70%时增加查找窗口的窗口大小,若当前访问模式位于读密集阈值和写密集阈值之间的状态时,即对缓冲链表的访问没有表现出特别明显的读密集或者写密集,则保持窗口大小不变。
本实施例中,减少窗口大小后查找窗口的窗口大小W为W=(1-1/(μ+1))·W0,增加窗口大小后查找窗口的窗口大小W为W=(1+1/(μ+1))·W0,其中W0为查找窗口的初始窗口大小,μ为查找窗口的窗口大小W与缓冲链表总数据页数量的比值。本实施例中,过两个变量p、q来控制W的变化,取p=(1+1/(μ+1)),q=(1-1/(μ+1)),每次调整查找窗口的窗口大小W前p,q都由当前的窗口大小W决定。其中,p用于增量控制,每次增加窗口大小时令W=p·W0,变化前的W0越小则增量p越大,当W越大增量越小从而保持W变化的平滑性;q用于减量控制,每次减小窗口大小时令W=q·W0,变化前的W0越大则减量q越大,查找窗口的调整更加合理,有利于充分发挥固态硬盘的特性。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种面向固态硬盘文件系统的数据页缓存方法,其特征在于其实施步骤如下:
1)在高速缓存中建立用于缓存数据页的缓冲链表;
2)将固态硬盘中读取的数据页缓存在缓冲链表中以供访问,并实时根据数据页的访问状态和写访问状态将缓冲链表中数据页分类为冷干净页、热干净页、冷脏页和热脏页;
3)当缓冲链表中没有空闲空间时,首先在缓冲链表中根据冷干净页、热干净页、冷脏页、热脏页的优先顺序查找一个数据页作为待置换页,然后将待置换页与从固态硬盘读取的新数据页进行置换。
2.根据权利要求1所述的面向固态硬盘文件系统的数据页缓存方法,其特征在于:所述步骤2)中首先为缓冲链表中的数据页建立用于标记访问状态的冷热标志、设置冷热标志的初始值、冷阈值范围和热阈值范围,当数据页首次缓存至缓冲链表中时将数据页的冷热标志置为初始值,缓冲链表中的数据页每发生一次访问则冷热标志向热阈值范围变化、每经过一次待置换页查找则冷热标志向冷阈值范围变化,所述步骤2)中进行数据页分类时,将冷热标志属于冷阈值范围内且未发生写访问的数据页分类为冷干净页、将冷热标志属于冷阈值范围内且已发生写访问的数据页分类为冷脏页、将冷热标志属于热阈值范围内且未发生写访问的数据页分类为热干净页、将冷热标志属于热阈值范围内且已发生写访问的数据页分类为热脏页。
3.根据权利要求2所述的面向固态硬盘文件系统的数据页缓存方法,其特征在于:所述步骤2)中进行数据页分类时,如果数据页为冷干净页或者冷脏页且被再次访问,则修改该数据页的冷热标志使其属于热阈值范围内。
4.根据权利要求1或2或3所述的面向固态硬盘文件系统的数据页缓存方法,其特征在于:所述步骤1)中建立的缓冲链表包括用于缓存冷干净页的冷干净链表和用于缓存热干净页、冷脏页、热脏页的混合链表;所述步骤2)中,冷干净链表中的数据页一旦发生访问操作,则将其转移至混合链表;所述步骤3)中,首先在冷干净链表中查找待置换页,如果冷干净链表为空,则在混合链表中根据热干净页、冷脏页、热脏页的优先顺序查找待置换页。
5.根据权利要求4所述的面向固态硬盘文件系统的数据页缓存方法,其特征在于:所述步骤2)中冷干净链表和混合链表中的数据页采用最近最少使用算法进行实时排序,将缓存至冷干净链表的数据页写入冷干净链表的表头,冷干净链表中的数据页转移至混合链表时写入混合链表的表头,在冷干净链表中查找待置换页时,从冷干净链表的表尾向表头方向查找,在混合链表中查找待置换页时,从混合链表的表尾向表头方向查找待置换页。
6.根据权利要求5所述的面向固态硬盘文件系统的数据页缓存方法,其特征在于:所述从混合链表的表尾向表头方向查找待置换页时,首先在混合链表的表尾建立一个用于查找热干净页的查找窗口,然后首先在查找窗口内查找热干净页,如果找到热干净页则将该热干净页作为待置换页,如果在查找窗口内没有找到热干净页,则首先从混合链表的表尾向表头方向查找冷脏页作为待置换页,如果在混合链表中没有找到冷脏页,则将混合链表的表尾端的热脏页作为待置换页。
7.根据权利要求6所述的面向固态硬盘文件系统的数据页缓存方法,其特征在于:所述建立查找窗口后,实时根据数据缓存的当前主要访问类型调整查找窗口的窗口大小,如果当前主要访问类型为读访问,则减少混合链表中查找窗口的窗口大小;如果当前主要访问类型为写访问,则增加混合链表中查找窗口的窗口大小。
8.根据权利要求7所述的面向固态硬盘文件系统的数据页缓存方法,其特征在于:所述步骤1)中建立用于保存被置换数据页信息的克隆列表、设置用于判断缓冲链表主要访问类型的读密集阈值和写密集阈值;所述步骤3)中进行置换时将被置换数据页信息保存在克隆列表中,同时实时检查克隆列表中的所有数据页,如果克隆列表中冷干净页和热干净页数量之和占克隆列表中数据页总数的比例超过读密集阈值,则判定缓冲链表当前主要访问类型为读访问;如果克隆列表中冷脏页和热脏页数量之和占克隆列表中数据页总数的比例超过写密集阈值,则判定缓冲链表当前主要访问类型为写访问。
9.根据权利要求7或8所述的面向固态硬盘文件系统的数据页缓存方法,其特征在于:所述减少窗口大小后查找窗口的窗口大小W为W=(1-1/(μ+1))·W0,所述增加窗口大小后查找窗口的窗口大小W为W=(1+1/(μ+1))·W0,其中W0为查找窗口的初始窗口大小,μ为查找窗口的窗口大小W与缓冲链表总数据页数量的比值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101102649A CN102156753B (zh) | 2011-04-29 | 2011-04-29 | 面向固态硬盘文件系统的数据页缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101102649A CN102156753B (zh) | 2011-04-29 | 2011-04-29 | 面向固态硬盘文件系统的数据页缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102156753A true CN102156753A (zh) | 2011-08-17 |
CN102156753B CN102156753B (zh) | 2012-11-14 |
Family
ID=44438252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101102649A Active CN102156753B (zh) | 2011-04-29 | 2011-04-29 | 面向固态硬盘文件系统的数据页缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102156753B (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760101A (zh) * | 2012-05-22 | 2012-10-31 | 中国科学院计算技术研究所 | 一种基于ssd 的缓存管理方法及系统 |
CN102768645A (zh) * | 2012-06-14 | 2012-11-07 | 国家超级计算深圳中心(深圳云计算中心) | 混合缓存的固态硬盘预取方法和固态硬盘ssd |
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
CN103198021A (zh) * | 2013-04-18 | 2013-07-10 | 北京理工大学 | 一种提高固态硬盘数据传输效率的方法 |
WO2013189186A1 (zh) * | 2012-06-20 | 2013-12-27 | 华为技术有限公司 | 非易失性存储设备的缓存管理方法及装置 |
CN103984736A (zh) * | 2014-05-21 | 2014-08-13 | 西安交通大学 | 一种高效的nand闪存数据库系统的缓存管理方法 |
CN104077242A (zh) * | 2013-03-25 | 2014-10-01 | 华为技术有限公司 | 一种缓存管理方法和装置 |
CN104252421A (zh) * | 2013-06-25 | 2014-12-31 | 华为技术有限公司 | 缓存方法及装置 |
CN104516827A (zh) * | 2013-09-27 | 2015-04-15 | 杭州信核数据科技有限公司 | 一种读缓存的方法及装置 |
WO2015055020A1 (zh) * | 2013-10-18 | 2015-04-23 | 华为技术有限公司 | 写入数据的方法及装置 |
CN105068941A (zh) * | 2015-07-31 | 2015-11-18 | 浪潮电子信息产业股份有限公司 | 一种缓存页面替换方法及装置 |
CN106227598A (zh) * | 2016-07-20 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种缓存资源的回收方法 |
CN106293525A (zh) * | 2016-08-05 | 2017-01-04 | 上海交通大学 | 一种提高缓存使用效率的方法及系统 |
CN106294197A (zh) * | 2016-08-05 | 2017-01-04 | 华中科技大学 | 一种面向nand闪存的页面置换方法 |
CN106326146A (zh) * | 2015-06-29 | 2017-01-11 | 上海华虹集成电路有限责任公司 | 检查高速缓存是否命中的方法 |
CN106681657A (zh) * | 2016-11-24 | 2017-05-17 | 天津津航计算技术研究所 | 基于固态硬盘的专用文件系统应用方法 |
CN107305475A (zh) * | 2016-04-22 | 2017-10-31 | 中国科学院微电子研究所 | 一种flashcache混合存储系统的缓存调度方法及系统 |
CN107341112A (zh) * | 2017-06-29 | 2017-11-10 | 西安交通大学 | 一种基于页面访问间隔的闪存数据缓冲区置换方法 |
CN107391398A (zh) * | 2016-05-16 | 2017-11-24 | 中国科学院微电子研究所 | 一种闪存缓存区的管理方法及系统 |
WO2018196729A1 (zh) * | 2017-04-25 | 2018-11-01 | 华为技术有限公司 | 一种查询处理方法、数据源注册方法及查询引擎 |
CN108763104A (zh) * | 2018-05-23 | 2018-11-06 | 北京小米移动软件有限公司 | 预读取文件页的方法、装置及存储介质 |
US10152263B2 (en) | 2014-07-01 | 2018-12-11 | Razer (Asia-Pacific) Pte. Ltd. | Data storage systems, computing systems, methods for controlling a data storage system, and methods for controlling a computing system |
CN110297607A (zh) * | 2019-06-28 | 2019-10-01 | 深圳忆联信息系统有限公司 | 一种提升固态硬盘写性能的方法及其系统 |
CN110716885A (zh) * | 2019-10-23 | 2020-01-21 | 北京字节跳动网络技术有限公司 | 数据管理方法、装置、电子设备和存储介质 |
CN110888600A (zh) * | 2019-11-13 | 2020-03-17 | 西安交通大学 | 一种面向nand闪存的缓冲区管理方法 |
CN111414132A (zh) * | 2019-01-07 | 2020-07-14 | 爱思开海力士有限公司 | 带异构存储器的主存储设备、计算机系统及数据管理方法 |
CN115858421A (zh) * | 2023-03-01 | 2023-03-28 | 浪潮电子信息产业股份有限公司 | 一种缓存管理方法、装置、设备、可读存储介质及服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1728114A (zh) * | 2004-07-28 | 2006-02-01 | 三星电子株式会社 | 使用页信息的页替换方法 |
US20090144488A1 (en) * | 2007-11-29 | 2009-06-04 | Silicon Motion, Inc. | Memory card and method for handling data updating of a flash memory |
CN101692229A (zh) * | 2009-07-28 | 2010-04-07 | 武汉大学 | 基于数据内容的三维空间数据自适应多级缓存系统 |
CN102012873A (zh) * | 2010-11-24 | 2011-04-13 | 清华大学 | Nand闪存的缓存系统及缓存方法 |
-
2011
- 2011-04-29 CN CN2011101102649A patent/CN102156753B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1728114A (zh) * | 2004-07-28 | 2006-02-01 | 三星电子株式会社 | 使用页信息的页替换方法 |
US20090144488A1 (en) * | 2007-11-29 | 2009-06-04 | Silicon Motion, Inc. | Memory card and method for handling data updating of a flash memory |
CN101692229A (zh) * | 2009-07-28 | 2010-04-07 | 武汉大学 | 基于数据内容的三维空间数据自适应多级缓存系统 |
CN102012873A (zh) * | 2010-11-24 | 2011-04-13 | 清华大学 | Nand闪存的缓存系统及缓存方法 |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760101B (zh) * | 2012-05-22 | 2015-03-18 | 中国科学院计算技术研究所 | 一种基于ssd 的缓存管理方法及系统 |
CN102760101A (zh) * | 2012-05-22 | 2012-10-31 | 中国科学院计算技术研究所 | 一种基于ssd 的缓存管理方法及系统 |
CN102768645B (zh) * | 2012-06-14 | 2016-01-20 | 国家超级计算深圳中心(深圳云计算中心) | 混合缓存的固态硬盘预取方法和固态硬盘ssd |
CN102768645A (zh) * | 2012-06-14 | 2012-11-07 | 国家超级计算深圳中心(深圳云计算中心) | 混合缓存的固态硬盘预取方法和固态硬盘ssd |
CN103514110B (zh) * | 2012-06-20 | 2016-08-24 | 华为技术有限公司 | 非易失性存储设备的缓存管理方法及装置 |
WO2013189186A1 (zh) * | 2012-06-20 | 2013-12-27 | 华为技术有限公司 | 非易失性存储设备的缓存管理方法及装置 |
CN103514110A (zh) * | 2012-06-20 | 2014-01-15 | 华为技术有限公司 | 非易失性存储设备的缓存管理方法及装置 |
CN106201348B (zh) * | 2012-06-20 | 2019-08-20 | 华为技术有限公司 | 非易失性存储设备的缓存管理方法及装置 |
US9524245B2 (en) | 2012-06-20 | 2016-12-20 | Huawei Technologies Co., Ltd. | Cache management method and apparatus for non-volatile storage device |
US9727487B2 (en) | 2012-06-20 | 2017-08-08 | Huawei Technologies Co., Ltd. | Cache management method and apparatus for non-volatile storage device |
CN106201348A (zh) * | 2012-06-20 | 2016-12-07 | 华为技术有限公司 | 非易失性存储设备的缓存管理方法及装置 |
CN104077242B (zh) * | 2013-03-25 | 2017-03-29 | 华为技术有限公司 | 一种缓存管理方法和装置 |
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
CN104077242A (zh) * | 2013-03-25 | 2014-10-01 | 华为技术有限公司 | 一种缓存管理方法和装置 |
CN103136121B (zh) * | 2013-03-25 | 2014-04-16 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
CN103198021B (zh) * | 2013-04-18 | 2015-08-05 | 北京理工大学 | 一种提高固态硬盘数据传输效率的方法 |
CN103198021A (zh) * | 2013-04-18 | 2013-07-10 | 北京理工大学 | 一种提高固态硬盘数据传输效率的方法 |
CN104252421A (zh) * | 2013-06-25 | 2014-12-31 | 华为技术有限公司 | 缓存方法及装置 |
CN104516827B (zh) * | 2013-09-27 | 2018-01-30 | 杭州信核数据科技股份有限公司 | 一种读缓存的方法及装置 |
CN104516827A (zh) * | 2013-09-27 | 2015-04-15 | 杭州信核数据科技有限公司 | 一种读缓存的方法及装置 |
WO2015055020A1 (zh) * | 2013-10-18 | 2015-04-23 | 华为技术有限公司 | 写入数据的方法及装置 |
CN103984736B (zh) * | 2014-05-21 | 2017-04-12 | 西安交通大学 | 一种高效的nand闪存数据库系统的缓存管理方法 |
CN103984736A (zh) * | 2014-05-21 | 2014-08-13 | 西安交通大学 | 一种高效的nand闪存数据库系统的缓存管理方法 |
US10152263B2 (en) | 2014-07-01 | 2018-12-11 | Razer (Asia-Pacific) Pte. Ltd. | Data storage systems, computing systems, methods for controlling a data storage system, and methods for controlling a computing system |
CN106326146A (zh) * | 2015-06-29 | 2017-01-11 | 上海华虹集成电路有限责任公司 | 检查高速缓存是否命中的方法 |
CN106326146B (zh) * | 2015-06-29 | 2019-05-14 | 上海华虹集成电路有限责任公司 | 检查高速缓存是否命中的方法 |
CN105068941A (zh) * | 2015-07-31 | 2015-11-18 | 浪潮电子信息产业股份有限公司 | 一种缓存页面替换方法及装置 |
CN107305475A (zh) * | 2016-04-22 | 2017-10-31 | 中国科学院微电子研究所 | 一种flashcache混合存储系统的缓存调度方法及系统 |
CN107391398B (zh) * | 2016-05-16 | 2020-04-14 | 中国科学院微电子研究所 | 一种闪存缓存区的管理方法及系统 |
CN107391398A (zh) * | 2016-05-16 | 2017-11-24 | 中国科学院微电子研究所 | 一种闪存缓存区的管理方法及系统 |
CN106227598A (zh) * | 2016-07-20 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种缓存资源的回收方法 |
CN106293525B (zh) * | 2016-08-05 | 2019-06-28 | 上海交通大学 | 一种提高缓存使用效率的方法及系统 |
CN106294197A (zh) * | 2016-08-05 | 2017-01-04 | 华中科技大学 | 一种面向nand闪存的页面置换方法 |
CN106294197B (zh) * | 2016-08-05 | 2019-12-13 | 华中科技大学 | 一种面向nand闪存的页面置换方法 |
CN106293525A (zh) * | 2016-08-05 | 2017-01-04 | 上海交通大学 | 一种提高缓存使用效率的方法及系统 |
CN106681657A (zh) * | 2016-11-24 | 2017-05-17 | 天津津航计算技术研究所 | 基于固态硬盘的专用文件系统应用方法 |
CN108733727B (zh) * | 2017-04-25 | 2021-11-30 | 华为技术有限公司 | 一种查询处理方法、数据源注册方法及查询引擎 |
CN108733727A (zh) * | 2017-04-25 | 2018-11-02 | 华为技术有限公司 | 一种查询处理方法、数据源注册方法及查询引擎 |
US11907213B2 (en) | 2017-04-25 | 2024-02-20 | Huawei Technologies Co., Ltd. | Query processing method, data source registration method, and query engine |
WO2018196729A1 (zh) * | 2017-04-25 | 2018-11-01 | 华为技术有限公司 | 一种查询处理方法、数据源注册方法及查询引擎 |
US11366808B2 (en) | 2017-04-25 | 2022-06-21 | Huawei Technologies Co., Ltd. | Query processing method, data source registration method, and query engine |
CN107341112A (zh) * | 2017-06-29 | 2017-11-10 | 西安交通大学 | 一种基于页面访问间隔的闪存数据缓冲区置换方法 |
CN108763104B (zh) * | 2018-05-23 | 2022-04-08 | 北京小米移动软件有限公司 | 预读取文件页的方法、装置及存储介质 |
CN108763104A (zh) * | 2018-05-23 | 2018-11-06 | 北京小米移动软件有限公司 | 预读取文件页的方法、装置及存储介质 |
CN111414132A (zh) * | 2019-01-07 | 2020-07-14 | 爱思开海力士有限公司 | 带异构存储器的主存储设备、计算机系统及数据管理方法 |
CN111414132B (zh) * | 2019-01-07 | 2024-03-12 | 爱思开海力士有限公司 | 带异构存储器的主存储设备、计算机系统及数据管理方法 |
CN110297607B (zh) * | 2019-06-28 | 2023-08-29 | 深圳忆联信息系统有限公司 | 一种提升固态硬盘写性能的方法及其系统 |
CN110297607A (zh) * | 2019-06-28 | 2019-10-01 | 深圳忆联信息系统有限公司 | 一种提升固态硬盘写性能的方法及其系统 |
CN110716885A (zh) * | 2019-10-23 | 2020-01-21 | 北京字节跳动网络技术有限公司 | 数据管理方法、装置、电子设备和存储介质 |
CN110888600A (zh) * | 2019-11-13 | 2020-03-17 | 西安交通大学 | 一种面向nand闪存的缓冲区管理方法 |
CN115858421A (zh) * | 2023-03-01 | 2023-03-28 | 浪潮电子信息产业股份有限公司 | 一种缓存管理方法、装置、设备、可读存储介质及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN102156753B (zh) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102156753B (zh) | 面向固态硬盘文件系统的数据页缓存方法 | |
CN102023931B (zh) | 一种自适应缓存预取方法 | |
Li et al. | CCF-LRU: A new buffer replacement algorithm for flash memory | |
CN103136121B (zh) | 一种固态盘的缓存管理方法 | |
CN102760101B (zh) | 一种基于ssd 的缓存管理方法及系统 | |
CN107391398B (zh) | 一种闪存缓存区的管理方法及系统 | |
CN106201916B (zh) | 一种面向ssd的非易失缓存方法 | |
CN103150136B (zh) | 基于ssd的大容量缓存中的lru策略实现方法 | |
Lv et al. | Operation-aware buffer management in flash-based systems | |
CN103019958A (zh) | 使用数据属性来管理固态存储器里的数据的方法 | |
CN108762671A (zh) | 基于pcm和dram的混合内存系统及其管理方法 | |
Chen et al. | A novel page replacement algorithm for the hybrid memory architecture involving PCM and DRAM | |
CN102637147A (zh) | 利用固态硬盘作为计算机写缓存的存储系统以及相应的管理调度方法 | |
Wu et al. | APP-LRU: A new page replacement method for PCM/DRAM-based hybrid memory systems | |
CN104657461A (zh) | 基于内存与ssd协作式的文件系统元数据搜索缓存方法 | |
WO2015021919A1 (zh) | 用于多种存储器间的数据存储调度方法以及装置 | |
CN107590084A (zh) | 一种基于分类策略的页级缓冲区改进方法 | |
CN108572799B (zh) | 一种双向哈希链表的异构内存系统数据页迁移方法 | |
On et al. | FD-buffer: a buffer manager for databases on flash disks | |
KR101105127B1 (ko) | 에스에스디 확장버퍼를 사용한 버퍼 캐쉬 관리 방법 및 에스에스디를 확장버퍼로서 사용하는 장치 | |
Chen et al. | Efficient buffer management for PCM-enhanced hybrid memory architecture | |
Doekemeijer et al. | Key-Value Stores on Flash Storage Devices: A Survey | |
CN102779017A (zh) | 一种固态盘中数据缓存区的控制方法 | |
Tang et al. | Cache eviction for SSD-HDD hybrid storage based on sequential packing | |
Yang et al. | HB-storage: Optimizing SSDs with a HDD write buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |