发明名称 一种面向NAND闪存的页面置换方法
摘要 本发明公开了一种面向NAND闪存的页面置换方法,属于数据存储领域。本发明使用冷的干净页链表和其他混合页链表分别管理冷干净页和其它缓存页,还使用预留的幽灵页链表记录近期被淘汰的缓存页的元数据信息;处理页访问时先初始化,若该页在其他混合页链表或冷的干净页链表中命中,则将该页标记为热页并移动到其他混合页链表的最近被访问端;如果该页在幽灵页链表命中,则删除幽灵页链表中该页的记录,为该页分配一个新的缓存页并标记为热页,再将该页移动到其他混合页链表的最近被访问端;最后判断该页如果是读/写请求,则将数据读出/写入缓存页并返回。本发明的方法解决了减少闪存写操作的同时尽量维持较好的缓存命中率的技术问题。
申请公布号 CN106294197A 申请公布日期 2017.01.04
申请号 CN201610637855.4 申请日期 2016.08.05
申请人 华中科技大学 发明人 王芳;冯丹;华宇;李楚
分类号 G06F12/02(2006.01)I;G06F12/121(2016.01)I 主分类号 G06F12/02(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 李智
主权项 一种面向NAND闪存的页面置换方法,其特征在于,所述方法包括以下步骤:(1)当一个I/O请求P到达时,首先初始化变量第一标志位和第二标志位为0,之后在缓存中的CL(冷的干净页链表)、ML(其他混合页链表)和GL(幽灵页链表)中查询P;(2)若没有在ML和CL中命中P则进入步骤(3),否则跳转到步骤(9);(3)判断是否在GL中有P的元数据信息,若有则进入步骤(4),否则跳转到步骤(5);(4)删除GL中包含P的元数据信息的节点,并且将变量第一标志位置为1;(5)为请求P执行缓存分配过程,为其分配缓存页;(6)若第一标志位等于0并且该请求是读操作,则跳入到步骤(12),否则进入步骤(7);(7)将新分配的缓存页P移动到ML的MRU(最近被访问)端;(8)若第一标志位等于1,进入步骤(10)否则跳入步骤(11);(9)将缓存页P移动到ML的MRU端,并将第二标志位赋值为1;(10)将缓存页P标记为热页;(11)若是读请求,则进入步骤(13),否则跳转到步骤(16);(12)将缓存页P加入到CL的MRU端;(13)若第二标志位等于0,则进入到步骤(14),否则跳入步骤(15);(14)将数据从闪存读入到新分配的缓存页P;(15)将缓存页P中的数据返回给上层,请求结束;(16)将数据写入到新分配的缓存页P,并将缓存页P标记为脏页,请求结束。
地址 430074 湖北省武汉市洪山区珞喻路1037号