-
公开(公告)号:US08024498B2
公开(公告)日:2011-09-20
申请号:US12335307
申请日:2008-12-15
CPC分类号: G06F9/546 , G06F2209/548
摘要: Disclosed is a computer implemented method and apparatus for queuing I/O requests to a pending queue. The I/O device driver sets a maximum ordered queue length for an I/O device driver coupled to a storage device then receives an I/O request from an application. The I/O device driver determines whether the pending queue is sorted and responds to a determination that the pending queue is sorted, determining if queued I/O requests exceed the maximum ordered queue length. Responding to a determination that the pending queue exceeds the maximum ordered queue length, the I/O device driver adds the I/O request based on a high pointer, and points the high pointer to the I/O request.
摘要翻译: 公开了一种用于将I / O请求排队到等待队列的计算机实现的方法和装置。 I / O设备驱动程序设置耦合到存储设备的I / O设备驱动程序的最大有序队列长度,然后从应用程序接收I / O请求。 I / O设备驱动程序确定待处理队列是否被排序,并响应确定等待队列被排序的确定,确定排队的I / O请求是否超过最大有序队列长度。 响应于挂起队列超过最大有序队列长度的确定,I / O设备驱动程序根据高指针添加I / O请求,并将高指针指向I / O请求。
-
公开(公告)号:US08185676B2
公开(公告)日:2012-05-22
申请号:US13187042
申请日:2011-07-20
CPC分类号: G06F9/546 , G06F2209/548
摘要: Disclosed is a computer implemented method and apparatus for queuing I/O requests to a pending queue. The I/O device driver sets a maximum ordered queue length for an I/O device driver coupled to a storage device then receives an I/O request from an application. The I/O device driver determines whether the pending queue is sorted and responds to a determination that the pending queue is sorted, determining if queued I/O requests exceed the maximum ordered queue length. Responding to a determination that the pending queue exceeds the maximum ordered queue length, the I/O device driver adds the I/O request based on a high pointer, and points the high pointer to the I/O request.
摘要翻译: 公开了一种用于将I / O请求排队到等待队列的计算机实现的方法和装置。 I / O设备驱动程序设置耦合到存储设备的I / O设备驱动程序的最大有序队列长度,然后从应用程序接收I / O请求。 I / O设备驱动程序确定待处理队列是否被排序,并响应确定等待队列被排序的确定,确定排队的I / O请求是否超过最大有序队列长度。 响应于挂起队列超过最大有序队列长度的确定,I / O设备驱动程序根据高指针添加I / O请求,并将高指针指向I / O请求。
-
3.
公开(公告)号:US20110276729A1
公开(公告)日:2011-11-10
申请号:US13187042
申请日:2011-07-20
IPC分类号: G06F3/00
CPC分类号: G06F9/546 , G06F2209/548
摘要: Disclosed is a computer implemented method and apparatus for queuing I/O requests to a pending queue. The I/O device driver sets a maximum ordered queue length for an I/O device driver coupled to a storage device then receives an I/O request from an application. The I/O device driver determines whether the pending queue is sorted and responds to a determination that the pending queue is sorted, determining if queued I/O requests exceed the maximum ordered queue length. Responding to a determination that the pending queue exceeds the maximum ordered queue length, the I/O device driver adds the I/O request based on a high pointer, and points the high pointer to the I/O request.
摘要翻译: 公开了一种用于将I / O请求排队到等待队列的计算机实现的方法和装置。 I / O设备驱动程序设置耦合到存储设备的I / O设备驱动程序的最大有序队列长度,然后从应用程序接收I / O请求。 I / O设备驱动程序确定待处理队列是否被排序,并响应确定等待队列被排序的确定,确定排队的I / O请求是否超过最大有序队列长度。 响应于挂起队列超过最大有序队列长度的确定,I / O设备驱动程序根据高指针添加I / O请求,并将高指针指向I / O请求。
-
4.
公开(公告)号:US20100153593A1
公开(公告)日:2010-06-17
申请号:US12335307
申请日:2008-12-15
IPC分类号: G06F9/46
CPC分类号: G06F9/546 , G06F2209/548
摘要: Disclosed is a computer implemented method and apparatus for queuing I/O requests to a pending queue. The I/O device driver sets a maximum ordered queue length for an I/O device driver coupled to a storage device then receives an I/O request from an application. The I/O device driver determines whether the pending queue is sorted and responds to a determination that the pending queue is sorted, determining if queued I/O requests exceed the maximum ordered queue length. Responding to a determination that the pending queue exceeds the maximum ordered queue length, the I/O device driver adds the I/O request based on a high pointer, and points the high pointer to the I/O request.
摘要翻译: 公开了一种用于将I / O请求排队到等待队列的计算机实现的方法和装置。 I / O设备驱动程序设置耦合到存储设备的I / O设备驱动程序的最大有序队列长度,然后从应用程序接收I / O请求。 I / O设备驱动程序确定待处理队列是否被排序,并响应确定等待队列被排序的确定,确定排队的I / O请求是否超过最大有序队列长度。 响应于挂起队列超过最大有序队列长度的确定,I / O设备驱动程序根据高指针添加I / O请求,并将高指针指向I / O请求。
-
公开(公告)号:US08086896B2
公开(公告)日:2011-12-27
申请号:US12647664
申请日:2009-12-28
申请人: James P. Allen , Kiran K. Anumalasetty , Sudhir Maddali , Bhyrav M. Mutnury , James A. Pafumi , Sanket Rathi , Stephen M. Tee
发明人: James P. Allen , Kiran K. Anumalasetty , Sudhir Maddali , Bhyrav M. Mutnury , James A. Pafumi , Sanket Rathi , Stephen M. Tee
IPC分类号: G06F11/00
CPC分类号: G06F12/10 , G06F11/1443
摘要: In virtualized environments, storage may be managed dynamically due to the changing data storage requirements. In such environments, logical storage unit identifiers (LUN IDs) may be modified as a result of deleting an existing mapping between physical storage and a virtualization server and recreating the mapping. This can result in I/O request failure. Techniques for resolving errors resulting from LUN ID modifications can be time-intensive and labor-intensive and can disrupt a communication path between a host device and the physical storage. Functionality can be implemented to dynamically identify the LUN ID modifications, determine valid LUN IDs, and retransmit failed I/O requests. This can help minimize I/O request failures due to LUN ID modifications without disrupting the communication path between the host device and the physical storage.
摘要翻译: 在虚拟化环境中,存储可能由于数据存储需求的变化而动态管理。 在这种环境中,可以通过删除物理存储和虚拟化服务器之间的现有映射并重新创建映射来修改逻辑存储单元标识符(LUN ID)。 这可能导致I / O请求失败。 用于解决由LUN ID修改产生的错误的技术可能是耗时且费力的,并且可能会中断主机设备和物理存储之间的通信路径。 可以实现功能来动态识别LUN ID修改,确定有效的LUN ID,并重新发送失败的I / O请求。 这可以帮助最小化由于LUN ID修改而导致的I / O请求失败,而不会中断主机设备和物理存储之间的通信路径。
-
公开(公告)号:US20100180086A1
公开(公告)日:2010-07-15
申请号:US12353492
申请日:2009-01-14
CPC分类号: G06F3/0656 , G06F3/0617 , G06F3/0676
摘要: A method, system, and computer usable program product for an improved data storage device driver are provided in the illustrative embodiments. For managing an elevator queue, several requests are stored in the elevator queue. A determination is made whether the elevator queue is sorted. A number of requests in the elevator queue is determined if the elevator queue is unsorted. The unsorted elevator queue is monitored. Reaching a threshold condition in the unsorted elevator queue is detected. Sorting of the unsorted elevator queue is initiated. The requests may be I/O requests for a data storage device. The elevator queue may be sorted according to an ascending or descending order of data block addresses in the requests. The monitoring may monitor a remaining number of unsorted requests in the elevator queue as requests are removed from the elevator queue. The threshold condition may be associated with a threshold value.
摘要翻译: 在说明性实施例中提供了用于改进的数据存储设备驱动器的方法,系统和计算机可用程序产品。 为了管理电梯队列,几个请求被存储在电梯队列中。 确定电梯队列是否被排序。 如果电梯队列未排序,则确定电梯队列中的多个请求。 监视未排序的电梯队列。 检测未排序的电梯队列中的阈值条件。 启动未排序的电梯队列的排序。 请求可以是用于数据存储设备的I / O请求。 可以根据请求中的数据块地址的升序或降序对电梯队列进行排序。 当请求从电梯队列中移除时,监视可以监视电梯队列中的未排序请求的剩余数量。 阈值条件可以与阈值相关联。
-
公开(公告)号:US07337235B2
公开(公告)日:2008-02-26
申请号:US10976261
申请日:2004-10-28
IPC分类号: G06F15/173
CPC分类号: G06F3/0635 , G06F3/0613 , G06F3/067 , G06F2206/1012 , H04L67/1002 , H04L67/1008 , H04L67/101 , H04L67/1097 , Y10S707/99942 , Y10S707/99943 , Y10S707/99948
摘要: A mechanism is provided for balancing I/O among available paths connected to a device. The mechanism partitions paths so a device can use all or only a subset of available paths to a device, depending on the load of I/O for other devices that are sharing the paths. The partitioning of paths is dynamic, readjusting as I/O loads change for the devices.
摘要翻译: 提供了一种用于在连接到设备的可用路径之间平衡I / O的机制。 该机制分割路径,因此设备可以使用设备可用路径的全部或仅一部分子集,具体取决于共享路径的其他设备的I / O负载。 路径的分割是动态的,随着设备的I / O负载变化而重新调整。
-
公开(公告)号:US07783663B2
公开(公告)日:2010-08-24
申请号:US12029202
申请日:2008-02-11
CPC分类号: G06F3/0635 , G06F3/0613 , G06F3/067 , G06F2206/1012 , H04L67/1002 , H04L67/1008 , H04L67/101 , H04L67/1097 , Y10S707/99942 , Y10S707/99943 , Y10S707/99948
摘要: A mechanism is provided for balancing I/O among available paths connected to a device. The mechanism partitions paths so a device can use all or only a subset of available paths to a device, depending on the load of I/O for other devices that are sharing the paths. The partitioning of paths is dynamic, readjusting as I/O loads change for the devices.
摘要翻译: 提供了一种用于在连接到设备的可用路径之间平衡I / O的机制。 该机制分割路径,因此设备可以使用设备可用路径的全部或仅一部分子集,具体取决于共享路径的其他设备的I / O负载。 路径的分割是动态的,随着设备的I / O负载变化而重新调整。
-
公开(公告)号:US08041987B2
公开(公告)日:2011-10-18
申请号:US12268238
申请日:2008-11-10
申请人: James P. Allen , Robert G. Kovacs , James A. Pafumi , James B. Partridge , Jacob J. Rosales , Stephen M. Tee
发明人: James P. Allen , Robert G. Kovacs , James A. Pafumi , James B. Partridge , Jacob J. Rosales , Stephen M. Tee
IPC分类号: G06F11/00
CPC分类号: G06F11/2005 , G06F3/0664 , G06F2201/815
摘要: Embodiments that dynamically manage physical and virtual multipath I/O are contemplated. Various embodiments comprise one or more computing devices, such as one or more servers, having at least two HBAs. At least one of the HBAs may be associated with a virtual I/O server that employs the HBA to transfer data between a plurality of virtual clients and one or more storage devices of a storage area network. The embodiments may monitor the availability of the HBAs, such as monitoring the HBAs for a failure of the HBA or a device coupled to the HBA. Upon detecting the unavailability of one of the HBAs, the embodiments may switch, dynamically, from the I/O path associated with the unavailable HBA to the alternate HBA.
摘要翻译: 考虑动态管理物理和虚拟多路径I / O的实施例。 各种实施例包括具有至少两个HBA的一个或多个计算设备,诸如一个或多个服务器。 至少一个HBA可以与使用HBA的虚拟I / O服务器相关联,以在多个虚拟客户端与存储区域网络的一个或多个存储设备之间传输数据。 这些实施例可以监视HBA的可用性,诸如监视HBA或与HBA耦合的设备的故障的HBA。 在检测到HBA中的一个不可用性时,实施例可以动态地从与不可用HBA相关联的I / O路径切换到备用HBA。
-
公开(公告)号:US20110161725A1
公开(公告)日:2011-06-30
申请号:US12647664
申请日:2009-12-28
申请人: James P. Allen , Kiran K. Anumalasetty , Sudhir Maddali , Bhyrav M. Mutnury , James A. Pafumi , Sanket Rathi , Stephen M. Tee
发明人: James P. Allen , Kiran K. Anumalasetty , Sudhir Maddali , Bhyrav M. Mutnury , James A. Pafumi , Sanket Rathi , Stephen M. Tee
CPC分类号: G06F12/10 , G06F11/1443
摘要: In virtualized environments, storage may be managed dynamically due to the changing data storage requirements. In such environments, logical storage unit identifiers (LUN IDs) may be modified as a result of deleting an existing mapping between physical storage and a virtualization server and recreating the mapping. This can result in I/O request failure. Techniques for resolving errors resulting from LUN ID modifications can be time-intensive and labor-intensive and can disrupt a communication path between a host device and the physical storage. Functionality can be implemented to dynamically identify the LUN ID modifications, determine valid LUN IDs, and retransmit failed I/O requests. This can help minimize I/O request failures due to LUN ID modifications without disrupting the communication path between the host device and the physical storage.
摘要翻译: 在虚拟化环境中,存储可能由于数据存储需求的变化而动态管理。 在这种环境中,可以通过删除物理存储和虚拟化服务器之间的现有映射并重新创建映射来修改逻辑存储单元标识符(LUN ID)。 这可能导致I / O请求失败。 用于解决由LUN ID修改产生的错误的技术可能是耗时且费力的,并且可能会中断主机设备和物理存储之间的通信路径。 可以实现功能来动态识别LUN ID修改,确定有效的LUN ID,并重新发送失败的I / O请求。 这可以帮助最小化由于LUN ID修改而导致的I / O请求失败,而不会中断主机设备和物理存储之间的通信路径。
-
-
-
-
-
-
-
-
-