[发明专利]在存储器内异步复制数据有效
申请号: | 201610899744.0 | 申请日: | 2016-10-14 |
公开(公告)号: | CN107025068B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 拉马·克里希纳·戈文达拉胡;程立群;帕塔萨拉蒂·兰加纳坦;迈克尔·R·马蒂;安德鲁·加勒廷 | 申请(专利权)人: | 谷歌有限责任公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 李佳;穆德骏 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储器 异步 复制 数据 | ||
公开了在存储器内异步复制数据。一种示例方法,所述示例方法包括:在通过处理器执行软件应用期间,通过与所述处理器分离的复制处理器接收对异步数据复制操作的请求以在能够由所述复制处理器访问的存储器内复制数据,其中,所述请求是从复制管理器接收的,所述复制管理器能够由在管理所述软件应用的执行的操作系统的用户空间中的所述软件应用访问;响应于所述请求,通过所述复制处理器发起所述异步数据复制操作;通过所述处理器继续执行所述软件应用;通过所述复制处理器确定所述异步数据操作系统已经完成;以及响应于确定所述异步复制操作已经完成,通过所述复制处理器选择性地通知所述软件应用所述异步复制操作已经完成。
技术领域
本说明书涉及用于在存储器内异步地执行复制操作的技术。
背景技术
在软件应用执行期间,处理器可能需要频繁地在存储器内复制或者移动数据。例如,网络堆栈可以在存储器内将数据从在第一位置处的用户缓冲区移动到在可通过网络接口访问的第二位置处的网络缓冲区以便发送该数据。软件应用还可以执行在存储器内将数据显式地从一个位置复制到另一个位置。当复制大量数据时,如果在等待复制操作完成的同时处理器的执行阻塞,则可能会发生处理延迟。
发明内容
本申请的主题大体上涉及计算机存储器,并且具体地涉及用于在存储器内异步地执行复制操作的技术。
通常,可以将在本说明书中描述的主题的一个创新方面体现在以下方法中,该方法包括:在通过处理器执行软件应用期间,通过与处理器分离的复制处理器接收对异步数据复制操作的请求以在能够由复制处理器访问的存储器内复制数据,其中,该请求是从复制管理器接收的,所述复制管理器能够由在管理软件应用的执行的操作系统的用户空间中的软件应用访问;响应于该请求,通过复制处理器发起异步数据复制操作;通过处理器继续执行软件应用;通过复制处理器确定异步数据操作系统已经完成;响应于确定异步复制操作已经完成,通过复制处理器选择性地通知软件应用异步复制操作已经完成。
该方面的其它实施例包括:配置为执行所述方法的动作的、编码在计算机存储装置上的对应系统、设备、和计算机程序。
可以实施本说明书中描述的主题的具体实施例,以便实现一个或者多个下面的优点。所描述的技术可以使用虚拟(或者内核地址)作为具有可能会跨页面边界的任意对齐和任意长度的参数。所述技术可以通过允许中央处理单元(CPU)将可以由处理器完成的其它工作与复制操作重叠来异步地实现复制,并且,如果处理器正在从事复制操作,则其无法异步地实现复制。所述技术可以允许复制完成的同步通知或者异步通知。进一步地,对是否应该将源地址或者目的地地址及其范围的内容带入高速缓存中进行控制。通过在不涉及操作系统内核的情况下使用虚拟地址来允许软件应用发起异步复制操作,可以减少在复制操作期间在用户空间与内核空间之间的模式切换次数,这会使性能得到提高。另外,这些控制将允许更为有效地利用高速缓存,产生性能的改进。
在下面的附图和描述中陈述了本说明书描述的主题的一个或者多个实施例的细节。本主题的其它特征、方面、和优点将通过描述、附图、和权利要求书而变得显而易见。
附图说明
图1是系统的框图,在该系统中可以实施异步复制过程。
图2是用于提供异步复制操作的示例过程的流程图。
图3描绘了用于异步复制操作的示例过程。
图4是可以用于实施本文件描述的系统和方法的计算装置的框图。
在各个附图中,类似的附图标记和名称指示类似的元件。
具体实施方式
本公开涉及提供用于异步存储器复制和高速缓存管理的技术。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌有限责任公司,未经谷歌有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610899744.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置