[发明专利]一种flashcache混合存储系统的缓存读写操作方法及系统在审
申请号: | 201610262692.6 | 申请日: | 2016-04-25 |
公开(公告)号: | CN107305477A | 公开(公告)日: | 2017-10-31 |
发明(设计)人: | 吴方鸣;陈岚;郝晓冉 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 党丽,王宝筠 |
地址: | 100029 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 flashcache 混合 存储系统 缓存 读写 操作方法 系统 | ||
1.一种flashcache混合存储系统的缓存读写操作方法,其特征在于,缓存中与每个缓存块对应的元数据结构中设置有读写锁,所述方法包括:
判断操作请求为读操作或写操作;
若为读操作,则向操作请求指向的缓存块所对应的元数据结构请求读者锁并进行读操作,在读者锁加锁状态,拒绝对该缓存块的写操作;
若为写操作,则向操作请求指向的缓存块所对应的元数据结构请求写者锁并进行写操作,在写者锁加锁状态,拒绝对该缓存块的读操作和其他写操作。
2.根据权利要求1所述的方法,其特征在于,还包括:建立线程池,线程池中包括多条处于等待状态的线程;则
在进行读操作或写操作时,使用线程池中的空闲线程执行操作任务。
3.根据权利要求2所述的方法,其特征在于,还包括:
接收卸载请求后,将终止请求发送至线程池,线程池处理完所有线程后,销毁线程池。
4.根据权利要求1所述的方法,其特征在于,缓存中还设置有自旋锁,还包括:
判断操作请求是否为更新元数据结构中的成员变量,若是,则请求自旋锁并进行元数据结构中的成员变量的更新操作,在自旋锁加锁状态,缓存拒绝任何其他的操作。
5.一种flashcache混合存储系统的缓存读写操作系统,其特征在于,缓存中与每个缓存块对应的元数据结构中设置有读写锁,所述系统包括:
判断单元,用于判断操作请求为读操作或写操作;
读操作单元,用于在操作请求为读操作时,向操作请求指向的缓存块所对应的元数据结构请求读者锁并进行读操作,在读者锁加锁状态,拒绝对该缓存块的写操作;
写操作单元,用于在操作请求为写操作时,向操作请求指向的缓存块所对应的元数据结构请求写者锁并进行写操作,在写者锁加锁状态,拒绝对该 缓存块的读操作和其他写操作。
6.根据权利要求5所述的系统,其特征在于,还包括:
线程池建立单元,用于建立线程池,线程池中包括多条处于等待状态的线程;则,
在读操作单元和写操作单元中,在进行读操作或写操作时,使用线程池中的空闲线程执行操作任务。
7.根据权利要求6所述的系统,其特征在于,还包括:
线程池销毁单元,用于在接收卸载请求后,将终止请求发送至线程池,线程池处理完所有线程后,销毁线程池。
8.根据权利要求5所述的系统,其特征在于,缓存中还设置有自旋锁,判断单元还用于判断操作请求是否为更新元数据结构中的成员变量;
所述系统还包括更新单元,用于操作请求为更新元数据结构中的成员变量时,请求自旋锁并进行元数据结构中的成员变量的更新操作,在自旋锁加锁状态,缓存拒绝任何其他的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610262692.6/1.html,转载请声明来源钻瓜专利网。