[发明专利]基于xen虚拟磁盘设备的前端缓存方法有效
| 申请号: | 201310150963.5 | 申请日: | 2013-04-26 |
| 公开(公告)号: | CN103207763A | 公开(公告)日: | 2013-07-17 |
| 发明(设计)人: | 管海兵;李健;米翔;马汝辉;宋涛 | 申请(专利权)人: | 上海交通大学 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06 |
| 代理公司: | 上海旭诚知识产权代理有限公司 31220 | 代理人: | 乐艳;郑立 |
| 地址: | 200240 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了一种基于xen虚拟磁盘设备的前端缓存方法,该方法采用缓存最近对虚拟磁盘扇区访问的结果,进而提供一种接下去访问的扇区在缓存中就能找到的可能性。由于缓存设置在前端驱动中,使得虚拟磁盘读有可能直接在前端驱动中返回而不涉及到后端驱动。本发明完全保留现有xen前后端驱动优点,同时对虚拟机前端驱动做了少量修改,在代码路径添加了查询缓存的功能,只引入较少的额外开销。此外,由于因为在实际应用中缓存的命中率较高,该方法能明显提高xen虚拟磁盘设备的性能。 | ||
| 搜索关键词: | 基于 xen 虚拟 磁盘 设备 前端 缓存 方法 | ||
【主权项】:
一种基于xen虚拟磁盘设备的前端缓存方法,其特征在于,包括以下步骤:1)用户空间程序通过系统调用产生一个磁盘读请求;2)虚拟机操作系统为这个请求分配DMA页并且调度请求;3)以bio vector为单位查看缓存命中情况,若一个bio vector要求的磁盘数据全部命中缓存,则使用缓存中保留的要求的磁盘数据的内存页指针更新bio vector中的指针;4)命中和丢失的扇区均视为最近访问的扇区,需要加入缓存中;若缓存已满,则采用替换策略进行替换;5)对于所有bio vector都命中缓存的请求,由于步骤3)中已经将内存页指针更新成实际数据所在页的指针,相当于需要的数据已经全部取到内存中,就可以直接结束读请求,将数据返回给上层;6)如果不是所有bio vector都命中缓存,则按照要求扇区连续的原则,将原请求分割成若干个小请求;7)通过授权表机制将这些小请求的内存页共享给Dom0以便后续写入,并且产生相应的ring request,放到ring buffer上;8)后端驱动在接到事件通道通知后,处理前端递交过来的请求,从物理磁盘中读取数据放进相应的内存页;完成后通知前端,请求结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310150963.5/,转载请声明来源钻瓜专利网。





