自清除数据移动辅助(DMA)引擎制造技术

技术编号:33722293 阅读:13 留言:0更新日期:2022-06-08 21:14
各方面包括从请求系统接收将数据从源系统上的源存储器移动到目标系统上的目标存储器的请求。该接收在被配置为访问源存储器和目标存储器的第一硬件引擎处。响应于接收到该请求,第一硬件引擎从源存储器读取数据并且将数据写入目标存储器。响应于读取完成,第一硬件引擎将数据清除请求传送到被配置为访问源存储器的第二硬件引擎。数据清除请求指定在源存储器中要被清除的数据的位置。储器中要被清除的数据的位置。储器中要被清除的数据的位置。

【技术实现步骤摘要】
自清除数据移动辅助(DMA)引擎

技术介绍

[0001]本专利技术一般涉及计算机处理,更具体地,涉及自清除数据移动辅助(DMA)引擎。
[0002]DMA是“数据移动辅助”或“直接存储器访问”的简称,其是指允许某些硬件子系统独立于中央处理单元(CPU)访问主机系统存储器的计算机系统的特征。在没有DMA的情况下,当CPU正在使用经编程的输入/输出(I/O)时,其通常在读取或写入操作的整个持续时间内被完全占用,且因此不可用于执行其它工作。利用DMA,CPU首先发起数据传送,然后CPU可以在传送进行的同时执行其他操作。当I/O操作完成时,CPU从DMA控制器或DMA引擎接收中断。在CPU不能跟上数据传送速率的任何时候,或者当CPU在等待I/O数据传送完成的同时需要执行其它工作时,DMA的使用是有用的。许多硬件系统使用DMA,包括磁盘驱动器控制器、显卡、网卡和声卡。DMA也被用于多核处理器中的片内数据传送。具有DMA通道的计算机可以以比没有DMA通道的计算机少得多的CPU开销向设备和从设备传送数据。类似地,多核处理器内的处理元件可以向其本地存储器传送数据和从其本地存储器传送数据,而不占用其处理器时间,从而允许计算和数据传送并行进行。
[0003]诸如DMA引擎的计算机硬件中的安全变得越来越重要,因为硬件在如云系统的虚拟化环境中更经常地被多个独立用户使用。即使没有恶意意图,I/O适配器中虚拟化的扩展使用也使得一个进程的工作负载将被覆盖到另一进程的工作空间的剩余部分中成为可能,这使得后一进程可以看到遗留的数据。除非软件主动清除该存储器,否则敏感数据可能被暴露,对于不相关和可能不安全的进程是可见的。

技术实现思路

[0004]本专利技术的实施例涉及自清除数据移动辅助(DMA)引擎。一种非限制性示例计算机实现的方法包括从请求系统接收将数据从源系统上的源存储器移动到目标系统上的目标存储器的请求。该接收在被配置为访问源存储器和目标存储器的第一硬件引擎处。响应于接收到该请求,第一硬件引擎从源存储器读取数据并且将数据写入目标存储器。响应于读取完成,第一硬件引擎将数据清除请求传送到被配置为访问源存储器的第二硬件引擎。数据清除请求指定在源存储器要被清除的数据的位置。
[0005]本专利技术的其它实施例在计算机系统和计算机程序产品中实现上述方法的特征。
[0006]通过本专利技术的技术实现了额外的技术特征和益处。本专利技术的实施例和方面在本文中详细描述,并且被认为是所要求保护的主题的一部分。为了更好地理解,参考详细描述和附图。
附图说明
[0007]在说明书的结尾处的权利要求中特别指出并且清楚地要求了本文描述的专有权的细节。从下面结合附图的详细描述中,本专利技术的实施例的前述和其它特征和优点将变得明显,其中:
[0008]图1示出根据本专利技术的一个或多个实施例的用于提供自清除数据移动辅助(DMA)
引擎的系统的框图;
[0009]图2示出了根据本专利技术的一个或多个实施例的由自清除DMA引擎执行的方法的流程图;
[0010]图3示出了根据本专利技术的一个或多个实施例的云计算环境;
[0011]图4示出了根据本专利技术的一个或多个实施例的抽象模型层;以及
[0012]图5示出了根据本专利技术的一个或多个实施例的用于提供自清除DMA引擎的系统。
[0013]这里描述的图是说明性的。在不脱离本专利技术的精神的情况下,可以对其中描述的图或操作进行许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。此外,术语“耦合”及其变型描述了在两个元件之间具有通信路径,并且不暗示元件之间的直接连接,而在它们之间没有中间元件/连接。所有这些变化都被认为是说明书的一部分。
具体实施方式
[0014]本专利技术的一个或多个实施例提供了一种数据移动辅助引擎(DMA)引擎,其在将数据移动到目标存储器位置之后自动清除从源存储器位置读取的数据。因此,本专利技术的一个或多个实施例防止任何后续过程在源位置的数据被移动到其新的所有者或位置之后查看该数据。
[0015]在源位置已经被移动之后清除该源位置的当前方法包括当数据移动已经完成时DMA引擎向请求主机处理器发布中断。然后,主机处理器向DMA引擎发布新命令,以清除在源位置处的数据,例如,通过向源位置写入全零或随机数据。当代清除源位置的方法是软件驱动的,并且需要对主机处理器上的中央处理单元(CPU)进行两次中断,一次是在数据移动完成时,另一次是在清除操作完成时。取决于CPU发布清除命令花费多长时间,存在另一进程可能已经使用源位置并且因此可能读取其不应读取的数据的机会。
[0016]本专利技术的一个或多个实施例通过将清除功能嵌入到硬件中来解决当代系统的一个或多个上述缺陷。这防止了清除过程被软件进程破坏。此外,通过在数据被移动到目标位置之后不调用单独的操作来清除存储器,性能得到改善。此外,当与动态随机存取存储器(DRAM)接合时,通过使擦除或清除在时间上接近由于DRAM库可能仍然打开并且处于较低时延状态而执行的传送或移动来改进性能。
[0017]现在转到图1,根据本专利技术的一个或多个实施例,总体上示出了用于提供自清除DMA引擎的系统的框图100。图1所示的每个组件的全部或部分可以由图5的计算机501和/或由图3的云计算节点10实现,图1的实施例中所示的组件包括主机系统170、DMA引擎110、DMA引擎135和目标系统150。
[0018]图1所示的主机系统170,除其它元件之外,包括中央处理单元(CPU)175和主机存储器165。图1所示的目标系统150,除其它元件之外,包括CPU 185和目标存储器155。标记“主机系统”和“目标系统”是指在本文所述的数据移动过程中由每个处理器执行的处理,其中主机系统170控制DMA引擎110、135以执行数据移动。根据本专利技术的一个或多个实施例,目标系统150可以是本地系统,诸如膝上型计算机或其他移动设备。
[0019]图1所示的DMA引擎110包括连接到读取通道130的读取端口(未示出),并且读取通道130耦合到主机存储器165。读取通道130包括用于指定主机存储器165上的特定位置(例
如,通过地址和长度)的读取控制总线和用于将读取的数据返回到DMA引擎110上的数据缓冲器140的读取数据总线。DMA引擎110还包括连接到写入通道160的写入端口(未示出),并且写入通道160耦合到目标存储器155。写入通道160包括用于指定目标存储器155中的位置的写入控制总线和用于将数据从数据缓冲器140传送到目标存储器155中的位置的写入数据总线。图1的DMA引擎110是全双工模式下的状态机或处理器,其包括总线连接的读取和写入端口,这些端口被配置为使得读取和写入端口通过数据缓冲器140耦合。
[0020]图1所示的DMA引擎135包括连接到读取通道115的读取端口(未示出),该读取通道连接到目标存储器155。读取通道115包括用于指定目标存储器155上的特定位置(例如,通过地址和长度)的读取控制总线和用于将从主机存储器1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:从请求系统接收将数据从源系统上的源存储器移动到目标系统上的目标存储器的请求,所述接收在被配置为访问所述源存储器和所述目标存储器的第一硬件引擎处;响应于接收到将所述数据从所述源存储器移动到所述目标存储器的所述请求,由所述第一硬件引擎执行:从所述源存储器读取所述数据;将所述数据写入所述目标存储器;以及响应于所述读取完成,将数据清除请求传送至被配置为访问所述源存储器的第二硬件引擎,所述数据清除请求指定所述数据在所述源存储器中的位置以进行清除。2.根据权利要求1所述的方法,还包括:在所述第一硬件引擎处,从所述第二硬件引擎接收指示所述数据清除请求已经完成的第一通知;以及响应于接收到所述第一通知,向所述请求系统传送第二通知,所述第二通知指示将数据从所述源存储器移动到所述目标存储器的所述请求已经完成。3.根据权利要求1所述的方法,其中所述请求从主机系统的中央处理单元CPU被接收。4.根据权利要求1所述的方法,其中所述第一硬件引擎是第一数据移动辅助DMA引擎,并且所述第二硬件引擎是经由控制信道耦合到所述第一DMA引擎的第二DMA引擎,所述控制信道用于在所述第二DMA引擎上发起所述数据清除请求。5.根据权...

【专利技术属性】
技术研发人员:S
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1