Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU)
    1.
    发明申请
    Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU) 有权
    确保输入/输出存储器管理单元(IOMMU)中的对等流量的无死锁操作

    公开(公告)号:US20070038799A1

    公开(公告)日:2007-02-15

    申请号:US11503375

    申请日:2006-08-11

    IPC分类号: G06F12/08 G06F12/00

    摘要: In one embodiment, an input/output memory management unit (IOMMU) comprises a cache to cache translation data from memory; and a control unit coupled to the cache. The control unit is configured to implement address translation and memory protection for memory requests sourced by one or more input/output (I/O) devices. The memory requests sourced by the I/O devices travel in one or more first virtual channels, and the control unit is configured to transmit memory requests sourced by the control unit in at least a second virtual channel separate from the first virtual channels.

    摘要翻译: 在一个实施例中,输入/输出存储器管理单元(IOMMU)包括高速缓存以从存储器缓存转换数据; 以及耦合到高速缓存的控制单元。 控制单元被配置为对由一个或多个输入/输出(I / O)设备提供的存储器请求实现地址转换和存储器保护。 由I / O设备提供的存储器请求在一个或多个第一虚拟通道中行进,并且控制单元被配置为在与第一虚拟通道分离的至少第二虚拟通道中发送由控制单元提供的存储器请求。

    Controlling an I/O MMU
    2.
    发明申请
    Controlling an I/O MMU 有权
    控制I / O MMU

    公开(公告)号:US20070038839A1

    公开(公告)日:2007-02-15

    申请号:US11503390

    申请日:2006-08-11

    IPC分类号: G06F12/00

    摘要: In an embodiment, a computer system comprises a processor; a memory management module comprising a plurality of instructions executable on the processor; a memory coupled to the processor; and an input/output memory management unit (IOMMU) coupled to the memory. The IOMMU is configured to implement address translation and memory protection for memory operations sourced by one or more input/output (I/O) devices. The memory stores a command queue during use. The memory management module is configured to write one or more control commands to the command queue, and the IOMMU is configured to read the control commands from the command queue and execute the control commands.

    摘要翻译: 在一个实施例中,计算机系统包括处理器; 存储器管理模块,包括可在所述处理器上执行的多个指令; 耦合到处理器的存储器; 以及耦合到存储器的输入/输出存储器管理单元(IOMMU)。 IOMMU被配置为对由一个或多个输入/输出(I / O)设备提供的存储器操作实现地址转换和存储器保护。 内存在使用过程中存储命令队列。 存储器管理模块被配置为将一个或多个控制命令写入命令​​队列,并且IOMMU被配置为从命令队列读取控制命令并执行控制命令。

    Avoiding silent data corruption and data leakage in a virtual environment with multiple guests
    3.
    发明申请
    Avoiding silent data corruption and data leakage in a virtual environment with multiple guests 有权
    避免在具有多个guest虚拟机的虚拟环境中静默的数据损坏和数据泄露

    公开(公告)号:US20070038840A1

    公开(公告)日:2007-02-15

    申请号:US11503391

    申请日:2006-08-11

    IPC分类号: G06F12/00

    摘要: In an embodiment, an input/output memory management unit (IOMMU) is configured to receive a completion wait command defined to ensure that one or more preceding invalidation commands are completed by the IOMMU prior to a completion of the completion wait command. The IOMMU is configured to respond to the completion wait command by delaying completion of the completion wait command until: (1) a read response corresponding to each outstanding memory read operation that depends on a translation entry that is invalidated by the preceding invalidation commands is received; and (2) the control unit transmits one or more operations upstream to ensure that each memory write operation that depends on the translation table entry that is invalidated by the preceding invalidation commands has at least reached a bridge to a coherent fabric in the computer system and has become visible to the system.

    摘要翻译: 在一个实施例中,输入/输出存储器管理单元(IOMMU)被配置为接收定义的完成等待命令,以在完成等待命令完成之前确保由IOMMU完成一个或多个以前的无效命令。 IOMMU被配置为通过延迟完成等待命令的完成来响应完成等待命令,直到:(1)接收与取决于由前述无效命令无效的转换条目的每个未完成存储器读操作对应的读响应 ; (2)控制单元向上游发送一个或多个操作,以确保依赖于由前述无效命令无效的转换表项的每个存储器写入操作至少达到计算机系统中的相干结构的桥接,以及 已经变得对系统可见。

    DMA Address Translation in an IOMMU
    4.
    发明申请
    DMA Address Translation in an IOMMU 有权
    DMA地址转换在IOMMU

    公开(公告)号:US20070168643A1

    公开(公告)日:2007-07-19

    申请号:US11623500

    申请日:2007-01-16

    IPC分类号: G06F12/00

    CPC分类号: G06F12/1081

    摘要: In an embodiment, an input/output (I/O) memory management unit (IOMMU) comprises at least one memory configured to store translation data; and control logic coupled to the memory and configured to translate an I/O device-generated memory request using the translation data. The translation data corresponds to one or more device table entries in a device table stored in a memory system of a computer system that includes the IOMMU, wherein the device table entry for a given request is selected by an identifier corresponding to the I/O device that generates the request. The translation data further corresponds to one or more I/O page tables, wherein the selected device table entry for the given request includes a pointer to a set of I/O page tables to be used to translate the given request.

    摘要翻译: 在一个实施例中,输入/输出(I / O)存储器管理单元(IOMMU)包括被配置为存储转换数据的至少一个存储器; 以及控制逻辑,其耦合到所述存储器并且被配置为使用所述翻译数据来转换I / O设备生成的存储器请求。 翻译数据对应于存储在包括IOMMU的计算机系统的存储器系统中的设备表中的一个或多个设备表条目,其中给定请求的设备表条目由对应于I / O设备的标识符选择 生成请求。 翻译数据还对应于一个或多个I / O页表,其中用于给定请求的所选择的设备表条目包括指向要用于转换给定请求的一组I / O页表的指针。

    Direct memory access (DMA) address translation in an input/output memory management unit (IOMMU)
    5.
    发明授权
    Direct memory access (DMA) address translation in an input/output memory management unit (IOMMU) 有权
    输入/输出存储器管理单元(IOMMU)中的直接存储器访问(DMA)地址转换

    公开(公告)号:US07809923B2

    公开(公告)日:2010-10-05

    申请号:US12635385

    申请日:2009-12-10

    IPC分类号: G06F12/10

    CPC分类号: G06F12/1081

    摘要: In an embodiment, an input/output (I/O) memory management unit (IOMMU) comprises at least one memory configured to store translation data; and control logic coupled to the memory and configured to translate an I/O device-generated memory request using the translation data. The translation data corresponds to one or more device table entries in a device table stored in a memory system of a computer system that includes the IOMMU, wherein the device table entry for a given request is selected by an identifier corresponding to the I/O device that generates the request. The translation data further corresponds to one or more I/O page tables, wherein the selected device table entry for the given request includes a pointer to a set of I/O page tables to be used to translate the given request.

    摘要翻译: 在一个实施例中,输入/输出(I / O)存储器管理单元(IOMMU)包括被配置为存储转换数据的至少一个存储器; 以及控制逻辑,其耦合到所述存储器并且被配置为使用所述翻译数据来转换I / O设备生成的存储器请求。 翻译数据对应于存储在包括IOMMU的计算机系统的存储器系统中的设备表中的一个或多个设备表条目,其中给定请求的设备表条目由对应于I / O设备的标识符选择 生成请求。 翻译数据还对应于一个或多个I / O页表,其中用于给定请求的所选择的设备表条目包括指向要用于转换给定请求的一组I / O页表的指针。

    Virtualizing an IOMMU
    6.
    发明申请
    Virtualizing an IOMMU 有权
    虚拟化IOMMU

    公开(公告)号:US20100011147A1

    公开(公告)日:2010-01-14

    申请号:US12562262

    申请日:2009-09-18

    IPC分类号: G06F12/08 G06F9/455

    摘要: In one embodiment, a system comprises one or more input/output (I/O) devices; an I/O memory management unit (IOMMU) coupled to receive memory requests sourced by the I/O devices and configured to provide address translation for the memory requests; and a virtual machine monitor (VMM) configured to manage one or more virtual machines on the system, wherein the VMM is configured to virtualize the IOMMU, providing one or more virtual IOMMUs for use by one or more virtual machines.

    摘要翻译: 在一个实施例中,系统包括一个或多个输入/输出(I / O)设备; I / O存储器管理单元(IOMMU),其耦合以接收由所述I / O设备提供的存储器请求,并被配置为提供所述存储器请求的地址转换; 以及被配置为管理所述系统上的一个或多个虚拟机的虚拟机监视器(VMM),其中所述VMM被配置为虚拟化所述IOMMU,提供一个或多个虚拟IOMMU供一个或多个虚拟机使用。

    Chained Hybrid IOMMU
    7.
    发明申请
    Chained Hybrid IOMMU 有权
    链式混合IOMMU

    公开(公告)号:US20070168636A1

    公开(公告)日:2007-07-19

    申请号:US11623615

    申请日:2007-01-16

    IPC分类号: G06F12/00 G06F13/00

    CPC分类号: G06F12/1081 G06F13/404

    摘要: In one embodiment, an input/output (I/O) node comprises an I/O memory management unit (IOMMU) configured to translate memory requests. The I/O node is configured to couple to an interconnect and to operate as a tunnel on the interconnect, and wherein the IOMMU is configured translate memory requests passing through the tunnel in the upstream direction. In another embodiment, a system comprises another I/O node configured to bridge another interconnect to the interconnect, wherein the I/O node is the tunnel for the other I/O node.

    摘要翻译: 在一个实施例中,输入/输出(I / O)节点包括被配置为转换存储器请求的I / O存储器管理单元(IOMMU)。 I / O节点被配置为耦合到互连并且作为互连上的隧道来操作,并且其中配置IOMMU来翻译在上游方向上通过隧道的存储器请求。 在另一个实施例中,系统包括被配置为将另一互连桥接到互连的另一个I / O节点,其中I / O节点是用于另一个I / O节点的隧道。

    DMA Address Translation in an IOMMU
    8.
    发明申请
    DMA Address Translation in an IOMMU 有权
    DMA地址转换在IOMMU

    公开(公告)号:US20100095085A1

    公开(公告)日:2010-04-15

    申请号:US12635385

    申请日:2009-12-10

    IPC分类号: G06F12/10 G06F12/00 G06F3/00

    CPC分类号: G06F12/1081

    摘要: In an embodiment, an input/output (I/O) memory management unit (IOMMU) comprises at least one memory configured to store translation data; and control logic coupled to the memory and configured to translate an I/O device-generated memory request using the translation data. The translation data corresponds to one or more device table entries in a device table stored in a memory system of a computer system that includes the IOMMU, wherein the device table entry for a given request is selected by an identifier corresponding to the I/O device that generates the request. The translation data further corresponds to one or more I/O page tables, wherein the selected device table entry for the given request includes a pointer to a set of I/O page tables to be used to translate the given request.

    摘要翻译: 在一个实施例中,输入/输出(I / O)存储器管理单元(IOMMU)包括被配置为存储转换数据的至少一个存储器; 以及控制逻辑,其耦合到所述存储器并且被配置为使用所述翻译数据来转换I / O设备生成的存储器请求。 翻译数据对应于存储在包括IOMMU的计算机系统的存储器系统中的设备表中的一个或多个设备表条目,其中给定请求的设备表条目由对应于I / O设备的标识符选择 生成请求。 翻译数据还对应于一个或多个I / O页表,其中用于给定请求的所选择的设备表条目包括指向要用于转换给定请求的一组I / O页表的指针。

    Virtualizing an IOMMU
    9.
    发明授权
    Virtualizing an IOMMU 有权
    虚拟化IOMMU

    公开(公告)号:US07613898B2

    公开(公告)日:2009-11-03

    申请号:US11623626

    申请日:2007-01-16

    IPC分类号: G06F12/10

    摘要: In one embodiment, a system comprises one or more input/output (I/O) devices; an I/O memory management unit (IOMMU) coupled to receive memory requests sourced by the I/O devices and configured to provide address translation for the memory requests; and a virtual machine monitor (VMM) configured to manage one or more virtual machines on the system, wherein the VMM is configured to virtualize the IOMMU, providing one or more virtual IOMMUs for use by one or more virtual machines.

    摘要翻译: 在一个实施例中,系统包括一个或多个输入/输出(I / O)设备; I / O存储器管理单元(IOMMU),其耦合以接收由所述I / O设备提供的存储器请求,并被配置为提供所述存储器请求的地址转换; 以及被配置为管理所述系统上的一个或多个虚拟机的虚拟机监视器(VMM),其中所述VMM被配置为虚拟化所述IOMMU,提供一个或多个虚拟IOMMU供一个或多个虚拟机使用。

    Virtualizing an IOMMU
    10.
    发明申请
    Virtualizing an IOMMU 有权
    虚拟化IOMMU

    公开(公告)号:US20070168641A1

    公开(公告)日:2007-07-19

    申请号:US11623626

    申请日:2007-01-16

    IPC分类号: G06F12/00

    摘要: In one embodiment, a system comprises one or more input/output (I/O) devices; an I/O memory management unit (IOMMU) coupled to receive memory requests sourced by the I/O devices and configured to provide address translation for the memory requests; and a virtual machine monitor (VMM) configured to manage one or more virtual machines on the system, wherein the VMM is configured to virtualize the IOMMU, providing one or more virtual IOMMUs for use by one or more virtual machines.

    摘要翻译: 在一个实施例中,系统包括一个或多个输入/输出(I / O)设备; I / O存储器管理单元(IOMMU),其耦合以接收由所述I / O设备提供的存储器请求,并被配置为提供所述存储器请求的地址转换; 以及被配置为管理所述系统上的一个或多个虚拟机的虚拟机监视器(VMM),其中所述VMM被配置为虚拟化所述IOMMU,提供一个或多个虚拟IOMMU供一个或多个虚拟机使用。