[发明专利]用于磁盘阵列的读取方法和系统有效
| 申请号: | 201010183392.1 | 申请日: | 2010-05-12 |
| 公开(公告)号: | CN101853218A | 公开(公告)日: | 2010-10-06 |
| 发明(设计)人: | 颜钦华;周洋 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F12/08 | 分类号: | G06F12/08 |
| 代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 余刚;吴孟秋 |
| 地址: | 518057 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 磁盘阵列 读取 方法 系统 | ||
技术领域
本发明涉及通信领域,具体而言,涉及一种用于磁盘阵列(RAID)的读取方法和系统。
背景技术
随着半导体技术的发展,磁盘I/O带宽和CPU/内存速度之间存在巨大的和持续扩大的差距,因而磁盘存储往往成为系统中的性能瓶颈。为了弥合两者的差距,需要进行并行I/O。利用磁盘阵列(RAID)技术堆叠多个磁盘的I/O能力,就可以提供更大的I/O带宽。如果需要的I/O带宽巨大,可以进一步求助于存储网络,集群文件系统等在内的技术和架构建造容量和性能可扩展的存储系统。相对于I/O带宽,访问延迟往往是一个更为严重的性能问题。由于机械寻道方式的限制,磁盘的平均数据访问时间在毫秒数量级。虽然已经很快了,但是相对于内存和高速网络的纳秒级访问时间,访问磁盘数据的代价是巨大的。更糟糕的是,这一差距一直不断地在扩大。
在这种情况下,CACHE技术对弥补两者之间的性能差异有着至关重要的作用。CACHE系统作为最近访问数据的缓冲区,采取预读回写等策略,提高数据的命中率,从而提高整个系统的性能。
在添加了CACHE以后,缩短了I/O路径,每一次数据的访问都要先搜索CACHE空间,这样需要一个高效的查找算法以避免长时间的查找而抵消CACHE带来的优势。此外CACHE存放的数据是共享的,如何减少数据的竞争粒度也是需要关注的。
CACHE系统主要处理读写命令,为提高读操作的性能,相关技术提出了预取方法。下面将简单描述预取方法。
1)预取的概念
预取分为顺序预取和随机预取。在顺序预取中又分为同步预取和异步预取。同步预取是在确定是顺序流的情况下,发生命中缺失(命中缺失即为用户访问的数据不存在于Cache空间中)而进行的预取,它仅仅是在原来读请求之上再多读取一定长度的数据。异步预取是在命中了页面的情况下,创建一个新的读命令并读取一定长度的数据。异步预取总是跟同步预取一起使用的。如下图所示:同步预取在预取p长的页面集后,如果p值达到了异步预取的阈值,那么将会设置一个异步触发页面(该页面离页面集中的最后一个页面的长度为g),如果有读操作访问设置有异步触发标识的页面时,就会触发一个异步预取。理论上来说如果异步预取的参数p和g选取的好的话,那么读操作就不会发生非命中的情况。
跟同步预取相比,异步预取的使用更加广泛有效。例如:读取数据时,磁盘忙碌而CPU等待;在处理数据时,CPU忙碌而磁盘空闲。这种交替的空闲和等待是对系统资源的一种闲置浪费。通过异步预取,系统在后台提前进行I/O,可以消减CPU的等待时间,使之与磁盘并行工作,实现流水线作业。
2)预取参数的时机选择
如图2所示,假设一个文件页面,它在Ta时刻将被应用程序实际访问,而预取算法在时间Tp发起对这个页面的I/O请求,经过操作系统和磁盘内部的调度排队,以及磁盘的寻道和数据传送等操作,到Tr时页面数据准备就绪。那么td=Tr-Tp代表此页面的实际I/O延迟,而应用程序感知到的延迟时间是t’d=max(Tr-Ta,0)。
如果记预取的提前量为te=Ta-Tp,如果有te≥td,即Ta-Tp≥Tr-Tp,那么就有Tr-Ta≤0,此时t’d=0,底层的I/O延迟将被完全隐藏起来,应用程序不必为等待I/O而阻塞。显然最佳的预取时机是te=td,预取太早会使每块预取数据占用更长时间的内存,太晚了则会导致应用程序的阻塞。因而预取位置的选择也是影响预读性能的一个重要因素。
影响预取的时机即为p,g的值,p代表一次预取的数据长度(数据的读取很大一部分的时间是在磁盘寻找,因为顺序读取1K的数据跟顺序读取1M的数据花费的时间相差不大),但是p不能过大,因为缓存空间相对于磁盘空间而言是很小的,预取的数据过大而用没有使用会造成缓存空间的浪费。g的值也影响到了预期的时机,如果g的值比较大,那么在很早的时候就会进行异步预取,增加数据在缓存空间中停留的时间,如果g过小,那么异步预取就来不及出现上图(b)的情况,需要等待数据准备好。总之,p,g的值共同影响着预读的进行。要想预取能够取得比较好的效果,就需要有比较合适的p,g的值。
但是,在相关的技术中,p,g通常是被预先设置的,而不是根据当前的读取情况动态设置。这样,根据p和g进行预取之后,往往会出现用户需要的数据还没有从磁盘中读取到缓存空间中,从而延长了读取时间,降低了读取的效率;或者,还会出现已经从磁盘中预读到缓存空间中的数据并没有被访问到,从而造成了空间的浪费。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010183392.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种安全注射器
- 下一篇:扁管加工方法及扁管、热交换器加工方法及热交换器





