发明名称 一种固态盘阵列的缓存管理方法
摘要 一种固态盘阵列的缓存管理方法,涉及计算机存储领域。在固态盘阵列上设置有主控模块、垃圾回收控制模块、缓存管理模块和优先缓存记录表;所述缓存管理方法包括以下步骤:1)初始化步骤;2)垃圾回收感知步骤;3)缓存管理步骤;4)结束步骤。充分利用存储系统中数据访问的时间局部性和空间局部性以及固态盘阵列的缓存存储特性,通过在缓存上提前优先存储将要进行垃圾回收操作的固态盘的热点数据的缓存管理方法来减轻垃圾回收操作对固态盘阵列性能波动的负面影响。能够和固态盘阵列功能模块协同工作,并且可以被嵌入到现有的固态盘阵列系统中,包括硬件和软件固态盘阵列系统。适用于构造具有高性能、高可用性和高可靠性的固态盘存储系统。
申请公布号 CN105138277A 申请公布日期 2015.12.09
申请号 CN201510438224.5 申请日期 2015.07.23
申请人 厦门大学 发明人 毛波;吴素贞;林燕萍;杨伟健;陈骁
分类号 G06F3/06(2006.01)I 主分类号 G06F3/06(2006.01)I
代理机构 厦门南强之路专利事务所(普通合伙) 35200 代理人 刘勇
主权项 一种固态盘阵列的缓存管理方法,其特征在于在固态盘阵列上设置有主控模块、垃圾回收控制模块、缓存管理模块和优先缓存记录表;所述缓存管理方法包括以下步骤:1)初始化步骤进行下列过程:(1.1)主控模块打开已有的固态盘阵列或创建新的固态盘阵列,判断该固态盘阵列是否为创建的新固态盘阵列,若是,则转入过程(1.2),否则转入过程(1.3);(1.2)主控模块清空缓存中的数据内容,创建优先缓存记录表并初始化为空,进行步骤2);(1.3)主控模块读取保存在各个成员固态盘中的优先缓存记录表,进行步骤(2);2)垃圾回收感知步骤垃圾回收控制模块设定一个空闲空间的阈值,同时将固态盘的状态分为正常状态、垃圾回收预警状态和垃圾回收状态,所述正常状态即固态盘的空闲空间大于设定的阈值,所述垃圾回收预警状态即固态盘的空闲空间小于阈值但还没有进行垃圾回收操作,所述垃圾回收状态即固态盘正在进行垃圾回收操作;进行下列过程:(2.1)垃圾回收控制模块逐个检查固态盘的状态,判断固态盘是否处于垃圾回收状态,若是,则转入过程(2.3),否则转入过程(2.2);(2.2)垃圾回收控制模块收集固态盘阵列中每块成员固态盘的空闲空间的信息,并与设定的阈值进行比较,判断固态盘是否处于垃圾回收预警状态,若是,则转入过程(2.3),否则判断固态盘的信息是否保存在优先缓存记录表中,若是,则转入过程(2.4),否则转入过程(2.1);(2.3)主控模块将固态盘的盘号记录在优先缓存记录表中,转入过程(2.1);(2.4)主控模块将固态盘的盘号从优先缓存记录表中删除,转入过程(2.1);3)缓存管理步骤进行下列过程:(3.1)当有新数据要写入缓存时,缓存管理模块检查缓存空间是否已满,若是,则转入过程(3.2),否则转入过程(3.8);(3.2)缓存管理模块从缓存LRU链表中取出尾节点,转入过程(3.3);(3.3)查看该节点数据所属的固态盘的盘号,扫描优先缓存记录表,判断该盘号是否在优先缓存记录表中,若是,则转入过程(3.4),否则转入过程(3.5);(3.4)缓存管理模块从LRU链表上取出当前节点的前一个节点数据,转入过程(3.3);(3.5)查看该节点数据是否为脏数据,若是,则转入过程(3.6),否则转入过程(3.7);(3.6)将该节点数据写回固态盘,转入过程(3.7);(3.7)将该节点数据从缓存上删除,转入过程(3.8);(3.8)将新数据写入缓存并插入到LRU链表的表头,转入过程(3.1);4)结束步骤当用户发出指令关闭固态盘阵列时,进行下列过程:将优先缓存记录表保存到固态盘阵列各成员固态盘的超级块中,关闭固态盘阵列设备,释放相关的资源。
地址 361005 福建省厦门市思明南路422号