发明名称 一种固态盘内部缓存管理方法
摘要 本发明公开了一种固态盘内部缓存管理方法,根据闪存读、写速度不对称性的特点,在固态盘接收到上层访问数据页的命令之后,根据操作的类型,对固态盘内部缓存中读、写数据页赋予不同的权值;写数据页的权值大于读数据页,系统运行过程中,缓存中数据页的权值依据缓存中数据页命中情况及数据页在缓存中存放的时间进行动态调整,当缓存写满数据需要替换时,系统查找缓存中权值为0的数据页进行替换。与现有技术相比,本发明提供的这种缓存管理方法在保证缓存总命中率的情况下提高了写数据页的命中率,从而提高了固态盘的性能,可延长固态盘的使用寿命。
申请公布号 CN105389135A 申请公布日期 2016.03.09
申请号 CN201510919492.9 申请日期 2015.12.11
申请人 华中科技大学 发明人 王芳;何丹;冯丹;刘景宁;童薇;吴运翔
分类号 G06F3/06(2006.01)I 主分类号 G06F3/06(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 赵伟
主权项 一种固态盘内部缓存管理方法,其特征在于,所述方法具体包括如下步骤:(1)当固态盘接收到上层访问数据页X命令,设置数据页X权值的初始值;并判断数据页X是否处于队列A1in中;若是,则访问该数据页,进入步骤(9);若否,则进入步骤(2);(2)判断数据页X是否处于环AClock中,若是,则进入步骤(3);若否,则进入步骤(5);(3)判断访问数据页X的动作是否为读操作,若是,将该数据页X移到环AClock的尾部,进入步骤(9);若否,则进入步骤(4);(4)将该数据页X的权值设到最大,并将该数据页X移到环AClock的尾部,进入步骤(9);(5)为数据页X在缓存中分配空间,进入步骤(6);(6)判断数据页X的标识是否在队列A1out中,若是,进入步骤(7);若否,则进入步骤(8);(7)设置数据页X权值的初始值,并将该页插入到AClock的尾部,进入步骤(9);(8)将数据页X插入到队列A1in的头部,进入步骤(9);(9)结束访问;所述A1in是指固态盘中内部缓存中的一个先进先出队列,AClock是固态盘内部缓存中一个用指针连接起来的单向环,A1out是指固态盘内部缓存中的一个近期最少使用队列;当数据页从A1in中替换出缓存时,将该数据页的标识保存到A1out队列;当数据页从AClock环中替换出缓存时,将该数据页丢弃。
地址 430074 湖北省武汉市洪山区珞喻路1037号