[发明专利]缓存数据的刷盘方法及装置在审
| 申请号: | 201410712971.9 | 申请日: | 2014-11-28 |
| 公开(公告)号: | CN104461936A | 公开(公告)日: | 2015-03-25 |
| 发明(设计)人: | 张志乐 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F3/06 |
| 代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 马爽;黄健 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 缓存 数据 方法 装置 | ||
1.一种缓存数据的刷盘方法,其特征在于,应用于存储系统中,所述存储系统包括控制器、磁盘和固态硬盘SSD,所述SSD作为所述磁盘的缓存,所述方法由控制器执行,所述方法包括:
向所述SSD发送缓存数据读取请求,所述缓存数据读取请求包括M个待刷盘的脏数据块的标识;
接收所述SSD发送的缓存数据读取响应,所述缓存数据读取响应包括N个待刷盘的脏数据块的缓存数据,M大于或等于N;
根据脏数据块的标识与磁盘逻辑区块地址LBA的对应关系,确定所述N个待刷盘的脏数据块分别对应的LBA;
根据所述N个待刷盘的脏数据块分别对应的LBA,按照LBA由小至大的顺序,依次将所述N个待刷盘的脏数据块的缓存数据存储至所述磁盘。
2.根据权利要求1所述的方法,其特征在于,所述向所述SSD发送缓存数据读取请求之前,还包括:
根据当前刷盘操作的LBA,从全部脏数据块中选择所述M个待刷盘的脏数据块,其中,所述M个待刷盘的脏数据块分别对应的M个LBA均大于所述当前刷盘操作的LBA。
3.根据权利要求2所述的方法,其特征在于,所述根据当前刷盘操作的LBA,从全部脏数据块中选择所述M个待刷盘的脏数据块,包括:
根据所述当前刷盘操作的LBA和每个脏数据块的LBA,将所述每个脏数据块放入第一队列或第二队列,所述第一队列中的脏数据块的LBA大于或等于所述当前刷盘操作的LBA,所述第二队列中的脏数据块的LBA小于所述当前刷盘操作的LBA;
从所述第一队列中选择所述M个待刷盘的脏数据块。
4.根据权利要求3所述的方法,其特征在于,从所述第一队列中选择LBA值小的所述M个待刷盘的脏数据块。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
根据选择的所述M个待刷盘的脏数据块的LBA,将所述M个待刷盘的脏数据块中LBA连续的脏数据块进行合并,获得合并后的待刷盘的脏数据块;
相应的,向所述SSD发送缓存数据读取请求,所述缓存数据读取请求包括M个待刷盘的脏数据块的标识,包括:
向所述SSD发送缓存数据读取请求,所述缓存数据读取请求包括所述合并后的待刷盘的脏数据块的标识。
6.一种控制器,其特征在于,所述控制器应用于存储系统中,所述存储系统包括所述控制器、磁盘和固态硬盘SSD,所述SSD作为所述磁盘的缓存,所述控制器包括:
读取请求发送模块,用于向所述SSD发送缓存数据读取请求,所述缓存数据读取请求包括M个待刷盘的脏数据块的标识;
读取响应接收模块,用于接收所述SSD发送的缓存数据读取响应,所述缓存数据读取响应包括N个待刷盘的脏数据块的缓存数据,M大于或等于N;
LBA确定模块,用于根据脏数据块的标识与磁盘逻辑区块地址LBA的对应关系,确定所述N个待刷盘的脏数据块分别对应的LBA;
刷盘模块,用于根据所述N个待刷盘的脏数据块分别对应的LBA,按照LBA由小至大的顺序,依次将所述N个待刷盘的脏数据块的缓存数据存储至所述磁盘。
7.根据权利要求6所述的控制器,其特征在于,所述读取请求发送模块,还用于:
根据当前刷盘操作的LBA,从全部脏数据块中选择所述M个待刷盘的脏数据块,其中,所述M个待刷盘的脏数据块分别对应的M个LBA均大于所述当前刷盘操作的LBA。
8.根据权利要求7所述的控制器,其特征在于,所述读取请求发送模块,具体用于:
根据所述当前刷盘操作的LBA和每个脏数据块的LBA,将所述每个脏数据块放入第一队列或第二队列,所述第一队列中的脏数据块的LBA大于所述当前刷盘操作的LBA,所述第二队列中的脏数据块的LBA小于所述当前刷盘操作的LBA;
从所述第一队列中选择所述M个待刷盘的脏数据块。
9.根据权利要求8所述的控制器,其特征在于,所述读取请求发送模块,具体用于:从所述第一队列中选择LBA值小的所述M个待刷盘的脏数据块。
10.根据权利要求8或9所述的控制器,其特征在于,所述读取请求发送模块,还用于:根据选择的所述M个待刷盘的脏数据块的LBA,将所述M个待刷盘的脏数据块中LBA连续的脏数据块进行合并,获得合并后的待刷盘的脏数据块;
相应的,所述读取请求发送模块,具体用于:向所述SSD发送缓存数据读取请求,所述缓存数据读取请求包括所述合并后的待刷盘的脏数据块的标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410712971.9/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





