[发明专利]分配缓存空间的方法和装置以及缓存控制器有效
| 申请号: | 200710121301.X | 申请日: | 2007-09-03 |
| 公开(公告)号: | CN101122886A | 公开(公告)日: | 2008-02-13 |
| 发明(设计)人: | 安辉;赖守锋;刘介良 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
| 主分类号: | G06F12/08 | 分类号: | G06F12/08 |
| 代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 宋志强;麻海明 |
| 地址: | 310053浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 分配 缓存 空间 方法 装置 以及 控制器 | ||
技术领域
本发明涉及数据存储技术,特别是涉及分配缓存(Cache)空间的方法和装置以及缓存控制器。
背景技术
随着信息技术的高速发展,目前出现了能够提供数据存储业务的网络存储控制系统。图1是网络存储控制系统的结构示意图。参见图1,网络存储控制系统中主要包括用于存储数据的磁盘阵列和执行读写操作的主机处理器。另外,由于主机处理器的工作频率远大于磁盘阵列的工作频率,因此,为了提高数据读写的效率,网络存储控制系统中还包括工作频率介于主机处理器和磁盘阵列之间的缓存控制器和Cache。
图2是在现有技术中Cache的空间划分示意图。参见图2,为了更好地管理Cache的存储空间,在现有技术中,首先设定空间大小固定的Cache颗粒,然后按照Cache颗粒划分Cache的存储空间,这样,从逻辑上,Cache的存储空间则由多个Cache颗粒组成。比如,Cache的存储空间为100KB,Cache颗粒为2KB,那么,Cache的存储空间则由50个Cache颗粒组成。
利用图2所示的Cache的空间划分方式,现有技术将外部数据写入磁盘阵列的过程包括:主机处理器将外部发来的数据写入指令发送给缓存控制器;缓存控制器根据数据写入指令中携带的空间申请信息,确定当前写操作所需的Cache空间的大小,然后根据所需的Cache空间大小确定需要占用的Cache颗粒的个数,比如为3个Cache颗粒,将数据写入指令中携带的数据写入该3个Cache颗粒中;磁盘阵列扫描缓存控制器,确定有新写入的数据后,从上述的3个Cache颗粒中读取该新写入的数据,从而完成了外部数据写入磁盘阵列的过程。
由以上描述可以看出,在现有技术中,在将数据保存到Cache中时,是以Cache颗粒为单位进行保存,也就是说,数据必须占用整数个Cache颗粒。而又由于Cache颗粒的大小是固定的,因此,在将数据保存到Cache中时,就必然会出现部分Cache颗粒的空间有剩余,即出现Cache碎片。参见图3,比如,需保存的数据为5KB,Cache颗粒为2KB,那么,需要占用的Cache颗粒的个数为『5/2』=3,其中,符号『』表示向上取整。而由于3个Cache颗粒可提供6KB的存储空间,因此,1个Cache颗粒的空间则会出现剩余,形成1KB的Cache碎片。这样,参见图4,在网络存储控制系统中存在大量数据写入操作时,则往往会导致大量Cache颗粒的空间有剩余,形成大量的Cache碎片,从而极大地降低了Cache空间的利用率。
发明内容
有鉴于此,本发明的一个目的在于提供一种分配Cache空间的方法,本发明的再一个目的在于提供一种缓存控制器,本发明的另一个目的在于提供一种分配Cache空间的装置,以便于提高Cache空间的利用率。
为了达到上述目的,本发明的技术方案是这样实现的:
一种分配缓存空间的方法,该方法包括:
确定当前写操作所需占用的Cache空间大小;
为当前写操作分配所需占用的Cache空间大小的Cache空间;
将数据写入所分配的Cache空间中。
一种缓存控制器,包括:
Cache应用单元,用于确定当前写操作所需占用的Cache空间大小,向Cache管理驱动单元申请所需占用的Cache空间大小,根据Cache管理驱动单元发来的Cache空间信息,将数据写入所分配的Cache空间中;
Cache管理驱动单元,用于根据Cache应用单元的申请,为当前写操作分配所需占用的Cache空间大小的Cache空间,将所分配的Cache空间信息发送至Cache应用单元。
由此可见,在本发明中,根据当前写操作所需占用的Cache空间大小来分配Cache空间,而没有采用现有技术中分配整数个Cache颗粒的作法,从而使得Cache中没有剩余的无法被分配的空间,提高了Cache空间的利用率。
较佳地,在本发明中,可以利用空闲空间链表来连接指示空闲Cache空间的各个Cache管理对象,并且,各个Cache管理对象可以动态调整,在分配Cache空间时,直接分配对应的各个Cache管理对象,这样,Cache管理对象相当于本发明利用的Cache颗粒,但由于其大小能够根据需分配的Cache空间大小来进行动态调整,因此,很容易实现充分利用Cache空间资源,保证没有空闲的无法被分配的Cache空间,极大地增强了本发明的实用性。
附图说明
图1是网络存储控制系统的结构示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710121301.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:螺旋状管式散热器
- 下一篇:TGF-β诱导的调节T细胞及其形成方法和应用





