Method for user space operations for direct I/O between an application instance and an I/O adapter
    1.
    发明授权
    Method for user space operations for direct I/O between an application instance and an I/O adapter 有权
    用于应用程序实例和I / O适配器之间的直接I / O的用户空间操作的方法

    公开(公告)号:US07552240B2

    公开(公告)日:2009-06-23

    申请号:US11135542

    申请日:2005-05-23

    摘要: The present invention provides a method that enables application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from either the local operating system or hypervisor. In one aspect of the present invention, a mechanism is provided for determining whether a user space operation is a resource management operation of a work processing operation. If the user space operation is a resource management operation, appropriate functions are performed to either query, create, modify or destroy resource allocations in the I/O adapter. If the user space operation is a work processing operation, appropriate functions are performed to create work queue entries and inform the I/O adapter of the work queue entries and to retrieve completion queue entries for work queue entries whose processing has been completed by the I/O adapter.

    摘要翻译: 本发明提供一种使应用程序实例能够将块模式存储请求直接传递到物理I / O适配器的方法,而不需要本地操作系统或管理程序的运行时参与。 在本发明的一个方面中,提供了一种用于确定用户空间操作是否是工作处理操作的资源管理操作的机制。 如果用户空间操作是资源管理操作,则执行适当的功能来查询,创建,修改或销毁I / O适配器中的资源分配。 如果用户空间操作是工作处理操作,则执行适当的功能来创建工作队列条目,并通知I / O适配器工作队列条目,并且检索完成队列条目以处理已由I完成的工作队列条目 / O适配器。

    Method for out of user space block mode I/O directly between an application instance and an I/O adapter
    2.
    发明授权
    Method for out of user space block mode I/O directly between an application instance and an I/O adapter 失效
    用户空间块模式I / O直接在应用程序实例和I / O适配器之间的方法

    公开(公告)号:US07502872B2

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

    申请号:US11135541

    申请日:2005-05-23

    摘要: The present invention provides a method that enables application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor. Specifically, a mechanism for providing and using a linear block address (LBA) translation protection table (TPT) to control out of user space I/O operations is provided. In one aspect of the present invention, the LBATPT includes an adapter protection table that has entries for each portion of a storage device. Entries include access control values which identify whether the entry is valid and what access type operations may be performed on a corresponding portion of a storage device. I/O requests may be checked against these access control values to determine if an application instance that submitted the I/O requests may access the LBAs identified in the I/O requests in the manner requested.

    摘要翻译: 本发明提供了一种使得应用程序实例能够将块模式存储请求直接传递到物理I / O适配器的方法,而不需要本地操作系统或管理程序的运行时参与。 具体地,提供了用于提供和使用线性块地址(LBA)转换保护表(TPT)以控制用户空间I / O操作的机制。 在本发明的一个方面,LBATPT包括适配器保护表,其具有用于存储设备的每个部分的条目。 条目包括访问控制值,其识别条目是否有效以及可以在存储设备的相应部分上执行什么访问类型操作。 可以针对这些访问控制值来检查I / O请求,以确定提交I / O请求的应用实例是否可以按请求的方式访问在I / O请求中标识的LBA。

    Mechanisms for Creation/Deletion of Linear Block Address Table Entries for Direct I/O
    3.
    发明申请
    Mechanisms for Creation/Deletion of Linear Block Address Table Entries for Direct I/O 有权
    用于直接I / O的线性块地址表条目的创建/删除机制

    公开(公告)号:US20090064163A1

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

    申请号:US12269419

    申请日:2008-11-12

    IPC分类号: G06F9/50

    摘要: The present invention provides mechanisms that enable application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor. In one aspect of the present invention, a mechanism is provided for handling user space creation and deletion operations for creating and deleting allocations of linear block addresses of a physical storage device to application instances. For creation, it is determined if there are sufficient available resources for creation of the allocation. For deletion, it is determined if there are any I/O transactions active on the allocation before performing the deletion. Allocation may be performed only if there are sufficient available resources and deletion may be performed only if there are no active I/O transactions on the allocation being deleted.

    摘要翻译: 本发明提供使得应用程序实例能够将块模式存储请求直接传递到物理I / O适配器的机制,而不需要本地操作系统或管理程序的运行时参与。 在本发明的一个方面,提供了一种用于处理用户空间创建和删除操作的机制,用于创建和删除对应用实例的物理存储设备的线性块地址的分配。 为了创建,确定是否有足够的可用资源来创建分配。 对于删除,在执行删除之前确定在分配上是否有任何活动的I / O事务。 只有在有足够的可用资源时才能执行分配,并且只有在删除分配中没有活动的I / O事务时,才能执行删除。

    Mechanisms for creation/deletion of linear block address table entries for direct I/O
    4.
    发明授权
    Mechanisms for creation/deletion of linear block address table entries for direct I/O 有权
    用于创建/删除直接I / O的线性块地址表条目的机制

    公开(公告)号:US07849228B2

    公开(公告)日:2010-12-07

    申请号:US12269419

    申请日:2008-11-12

    IPC分类号: G06F3/00 G06F12/00 G06F17/30

    摘要: The present invention provides mechanisms that enable application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor. In one aspect of the present invention, a mechanism is provided for handling user space creation and deletion operations for creating and deleting allocations of linear block addresses of a physical storage device to application instances. For creation, it is determined if there are sufficient available resources for creation of the allocation. For deletion, it is determined if there are any I/O transactions active on the allocation before performing the deletion. Allocation may be performed only if there are sufficient available resources and deletion may be performed only if there are no active I/O transactions on the allocation being deleted.

    摘要翻译: 本发明提供使得应用程序实例能够将块模式存储请求直接传递到物理I / O适配器的机制,而不需要本地操作系统或管理程序的运行时参与。 在本发明的一个方面,提供了一种用于处理用户空间创建和删除操作的机制,用于创建和删除对应用实例的物理存储设备的线性块地址的分配。 为了创建,确定是否有足够的可用资源来创建分配。 对于删除,在执行删除之前确定在分配上是否有任何活动的I / O事务。 只有在有足够的可用资源时才能执行分配,并且只有在删除分配中没有活动的I / O事务时,才能执行删除。

    Method for query/modification of linear block address table entries for direct I/O
    5.
    发明授权
    Method for query/modification of linear block address table entries for direct I/O 失效
    用于查询/修改直接I / O的线性块地址表条目的方法

    公开(公告)号:US07502871B2

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

    申请号:US11135540

    申请日:2005-05-23

    摘要: The present invention provides a method, that enables application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor. In one aspect of the present invention, a mechanism is provided for handling user space query and modification operations for querying and modifying attributes of allocations of linear block addresses of a physical storage device. For modification, it is determined if there are sufficient available resources for the modification of the allocation. In addition, it is determined if there are any 1/0 transactions active on the allocation before performing the modification. Modification of the attributes of the allocation may be performed only if there are sufficient available resources and only if there are no active I/O transactions on the allocation being modified.

    摘要翻译: 本发明提供了一种方法,其使得应用程序实例能够将块模式存储请求直接传递到物理I / O适配器,而无需本地操作系统或管理程序的运行时参与。 在本发明的一个方面,提供了一种用于处理用户空间查询和修改操作以用于查询和修改物理存储设备的线性块地址的分配的属性的机制。 为了修改,确定是否有足够的可用资源来修改分配。 此外,在执行修改之前确定在分配上是否存在活动的1/0事务。 仅当有足够的可用资源且只有在修改分配上没有活动的I / O事务时,才能执行分配属性的修改。

    System and method for creation/deletion of linear block address table entries for direct I/O
    6.
    发明授权
    System and method for creation/deletion of linear block address table entries for direct I/O 有权
    用于创建/删除用于直接I / O的线性块地址表条目的系统和方法

    公开(公告)号:US07464189B2

    公开(公告)日:2008-12-09

    申请号:US11135539

    申请日:2005-05-23

    摘要: A method that enables application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor is provided. In one aspect of the method, a mechanism is provided for handling user space creation and deletion operations for creating and deleting allocations of linear block addresses of a physical storage device to application instances. For creation, it is determined if there are sufficient available resources for creation of the allocation. For deletion, it is determined if there are any I/O transactions active on the allocation before performing the deletion. Allocation may be performed only if there are sufficient available resources and deletion may be performed only if there are no active I/O transactions on the allocation being deleted.

    摘要翻译: 提供了一种使应用程序实例能够将块模式存储请求直接传递到物理I / O适配器的方法,而无需本地操作系统或管理程序的运行时参与。 在该方法的一个方面,提供了一种用于处理用户空间创建和删除操作的机制,用于创建和删除物理存储设备的线性块地址对应用实例的分配。 为了创建,确定是否有足够的可用资源来创建分配。 对于删除,在执行删除之前确定在分配上是否有任何活动的I / O事务。 只有在有足够的可用资源时才能执行分配,并且只有在删除分配中没有活动的I / O事务时,才能执行删除。

    System and method for efficient implementation of a shared receive queue
    7.
    发明授权
    System and method for efficient implementation of a shared receive queue 失效
    用于有效实现共享接收队列的系统和方法

    公开(公告)号:US07496698B2

    公开(公告)日:2009-02-24

    申请号:US11086713

    申请日:2005-03-22

    IPC分类号: G06F3/00 G06F5/00

    CPC分类号: G06F13/1657

    摘要: A method, computer program product, and a data processing system for posting and retrieving WQEs to a shared receive queue in a manner that alleviates head-of-line blocking issues is provided. The present invention provides a shared receive queue and a posting routine for allowing non-sequential work request postings in the shared receive queue. Additionally, a fetch routine is provided for non-sequential fetching of work queue elements from the shared receive queue.

    摘要翻译: 提供了一种方法,计算机程序产品和用于以减轻线头阻塞问题的方式将WQE发布和检索到共享接收队列的数据处理系统。 本发明提供一种共享接收队列和用于允许在共享接收队列中的非顺序工作请求过帐的发布例程。 另外,提供了一个提取例程,用于从共享接收队列中非连续获取工作队列元素。

    Split socket send queue apparatus and method with efficient queue flow control, retransmission and sack support mechanisms
    8.
    发明授权
    Split socket send queue apparatus and method with efficient queue flow control, retransmission and sack support mechanisms 失效
    拆分套接字发送队列设备和方法,具有高效的队列流控制,重传和备份支持机制

    公开(公告)号:US07818362B2

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

    申请号:US11418606

    申请日:2006-05-05

    IPC分类号: G06F15/16 G06F3/00

    摘要: A mechanism for offloading the management of send queues in a split socket stack environment, including efficient split socket queue flow control and TCP/IP retransmission support. An Upper Layer Protocol (ULP) creates send work queue entries (SWQEs) for writing to the send work queue (SWQ). The Internet Protocol Suite Offload Engine (IPSOE) is notified of a new entry to the SWQ and it subsequently reads this entry that contains pointers to the data that is to be transmitted. After the data is transmitted and acknowledgments are received, the IPSOE creates a completion queue entry (CQE) that is written into the completion queue (CQ). The flow control between the ULP and the IPSOE is credit based. The passing of CQ credits is the only explicit mechanism required to manage flow control of both the SWQ and the CQ between the ULP and the IPSOE.

    摘要翻译: 一种卸载分组套接字堆栈环境中发送队列管理的机制,包括高效的分裂套接字队列流控制和TCP / IP重传支持。 上层协议(ULP)创建用于写入发送工作队列(SWQ)的发送工作队列条目(SWQE)。 Internet协议套件卸载引擎(IPSOE)被通知一个新的条目到SWQ,它随后读取这个条目,其中包含指向要发送的数据的指针。 在发送数据并接收到确认之后,IPSOE创建写入完成队列(CQ)的完成队列条目(CQE)。 ULP和IPSOE之间的流量控制是基于信用的。 CQ信用证的通过是在ULP和IPSOE之间管理SWQ和CQ两者流量控制所需的唯一明确的机制。

    Split socket send queue apparatus and method with efficient queue flow control, retransmission and sack support mechanisms
    9.
    发明授权
    Split socket send queue apparatus and method with efficient queue flow control, retransmission and sack support mechanisms 失效
    拆分套接字发送队列设备和方法,具有高效的队列流控制,重传和备份支持机制

    公开(公告)号:US07519650B2

    公开(公告)日:2009-04-14

    申请号:US10235689

    申请日:2002-09-05

    IPC分类号: G06F15/16

    摘要: A mechanism for offloading the management of send queues in a split socket stack environment, including efficient split socket queue flow control and TCP/IP retransmission support. As consumers initiate send operations, send work queue entries (SWQEs) are created by an Upper Layer Protocol (ULP) and written to the send work queue (SWQ). The Internet Protocol Suite Offload Engine (IPSOE) is notified of a new entry to the SWQ and it subsequently reads this entry that contains pointers to the data that is to be transmitted. After the data is transmitted and acknowledgments are received, the IPSOE creates a completion queue entry (CQE) that is written into the completion queue (CQ). After the CQE is written, the ULP subsequently processes the entry and removes it from the CQE, freeing up a space in both the SWQ and CQ. The number of entries available in the SWQ are monitored by the ULP so that it does not overwrite any valid entries. Likewise, the IPSOE monitors the number of entries available in the CQ, so as not overwrite the CQ. The flow control between the ULP and the IPSOE is credit based. The passing of CQ credits is the only explicit mechanism required to manage flow control of both the SWQ and the CQ between the ULP and the IPSOE.

    摘要翻译: 一种卸载分组套接字堆栈环境中发送队列管理的机制,包括高效的分裂套接字队列流控制和TCP / IP重传支持。 当消费者发起发送操作时,发送工作队列条目(SWQE)由上层协议(ULP)创建并写入发送工作队列(SWQ)。 互联网协议套件卸载引擎(IPSOE)被通知一个新条目到SWQ,它随后读取这个条目,其中包含指向要发送的数据的指针。 在发送数据并接收到确认之后,IPSOE创建写入完成队列(CQ)的完成队列条目(CQE)。 在编写CQE后,ULP随后处理该条目并将其从CQE中删除,从而释放了SWQ和CQ两者的空间。 SWQ中可用的条目数由ULP进行监视,以使其不会覆盖任何有效的条目。 同样,IPSOE监视CQ中可用条目的数量,以免覆盖CQ。 ULP和IPSOE之间的流量控制是基于信用的。 CQ信用证的通过是在ULP和IPSOE之间管理SWQ和CQ两者流量控制所需的唯一明确的机制。

    Data reordering mechanism for high performance networks
    10.
    发明授权
    Data reordering mechanism for high performance networks 失效
    高性能网络数据重排序机制

    公开(公告)号:US06735647B2

    公开(公告)日:2004-05-11

    申请号:US10235697

    申请日:2002-09-05

    IPC分类号: G06F1300

    摘要: An apparatus and method for reordering data at a data destination is provided. The apparatus and method provides dynamic, adaptive management of receive buffers in a host channel adapter while recovering on the fly the order of data sent over a medium that does not preserve order. In an exemplary embodiment, the method and apparatus provides a method and apparatus of reordering data of a data transmission received from a source device. The method and apparatus receives, in a data transfer buffer, a data packet transmitted over a connection associated with the source device and determines if the connection requires reordering of data packets. If the connection requires reordering of data packets, the data packet is transferred from the data transfer buffer to a reorder buffer and a reorder state cache is updated to reflect the transfer of the data packet to the reorder buffer. In response to receipt of a request to transfer data from the reorder buffer to the host memory, a next data packet sequence number is fetched from the reorder state cache and a position in the reorder buffer of the data associated with the next data packet sequence number entry is identified. The data is at this identified position is then transferred to the host memory.

    摘要翻译: 提供了一种用于在数据目的地重新排序数据的装置和方法。 该装置和方法为主机通道适配器中的接收缓冲器提供动态的,自适应的管理,同时在不依赖于不保持顺序的介质上发送的数据的顺序上恢复。 在示例性实施例中,该方法和装置提供了从源设备接收的数据传输的数据重新排序的方法和装置。 该方法和装置在数据传输缓冲器中接收通过与源设备相关联的连接发送的数据分组,并确定该连接是否需要重新排序数据分组。 如果连接需要重新排序数据包,数据包将从数据传输缓冲区传送到重新排序缓冲区,并重新排序状态缓存被更新以反映数据包到重新排序缓冲区的传输。 响应于接收到将数据从重排序缓冲器传送到主机存储器的请求,从重新排序状态高速缓冲存储器中取出下一个数据包序列号,并且重新排序缓冲器中与下一个数据包序列号相关联的数据的位置 确定条目。 数据在此识别位置然后传输到主机内存。