Interlocking input/outputs on a virtual logic unit number
    1.
    发明授权
    Interlocking input/outputs on a virtual logic unit number 有权
    在虚拟逻辑单元号上联锁输入/输出

    公开(公告)号:US08127062B2

    公开(公告)日:2012-02-28

    申请号:US12841938

    申请日:2010-07-22

    IPC分类号: G06F12/14 G06F12/00 G06F15/16

    摘要: In one embodiment, a solution is provided wherein a lock client sends lock requests to a lock manager upon receipt of an input/output (I/O) and receives back a lock grant. At some point later, the lock client may send a lock release. The lock manager, upon receipt of a lock release from a lock client, remove a first lock request corresponding to the lock release from a lock grant queue corresponding to the lock manager. Then, for each dependency queue lock request in a dependency queue corresponding to the first lock request, the lock manager may determine whether the dependency queue lock request conflicts with a second lock request in the lock grant queue, and then may process the dependency queue lock request according to whether the dependency queue lock requires conflicts with a second lock request in the lock grant queue.

    摘要翻译: 在一个实施例中,提供了解决方案,其中锁定客户端在接收到输入/输出(I / O)时向锁定管理器发送锁定请求,并且接收到锁定授权。 稍后,锁定客户端可能会发送锁定释放。 锁管理器在收到锁定客户端的锁定释放后,从与锁定管理器对应的锁定授权队列中删除与锁定释放相对应的第一个锁定请求。 然后,对于与第一锁定请求对应的依赖性队列中的每个依赖性队列锁定请求,锁定管理器可以确定依赖性队列锁定请求是否与锁定授权队列中的第二个锁定请求冲突,然后可以处理依赖性队列锁定 根据依赖性队列锁是否需要与锁定授权队列中的第二个锁定请求冲突来请求。

    L4 lookup implementation using efficient CAM organization
    2.
    发明授权
    L4 lookup implementation using efficient CAM organization 有权
    L4查找实现使用高效的CAM组织

    公开(公告)号:US06862281B1

    公开(公告)日:2005-03-01

    申请号:US09854013

    申请日:2001-05-10

    IPC分类号: H04L12/56 H04L29/06 H04L29/08

    摘要: A method of segmenting Layer 4 packet routing lookups into multiple levels for sequential search in multiple tables provided in a specially organized memory device, such as a content addressable memory (CAM). Using a sequence of limited-width keys, a single CAM (or length-cascaded bank of CAMs) can be tuned to provided faster and more efficient use of limited CAM space. Lookups used to process continuous streams of packets (such as those in the Internet Protocol [IP] format) can be performed with the present invention in either one-packet-at-a-time sequential order or in a pipelined fashion. Packet streams arriving on multiple ports of the switch device can also take advantage of time division multiplexing to employ a single search engine embodying the present invention.

    摘要翻译: 一种将第4层分组路由查找分割成多个级别以便在诸如内容可寻址存储器(CAM)的特殊组织的存储器设备中提供的多个表中的顺序搜索的方法。 使用一系列有限宽度的键,可以调整单个CAM(或长度级联的CAM组),以提供更快更有效地使用有限CAM空间。 用于处理连续流数据包的查找(例如,因特网协议[IP]格式的数据流))可以以本发明以一个一包一次的顺序或以流水线方式执行。 到达交换机设备的多个端口的分组流也可以利用时分复用来采用体现本发明的单个搜索引擎。

    Methods and apparatus for implementing exchange management for virtualization of storage within a storage area network
    3.
    发明授权
    Methods and apparatus for implementing exchange management for virtualization of storage within a storage area network 有权
    用于实现存储区域网络内存储虚拟化的交换管理的方法和装置

    公开(公告)号:US08805918B1

    公开(公告)日:2014-08-12

    申请号:US10242374

    申请日:2002-09-11

    IPC分类号: G06F15/16 G06F15/177

    摘要: Methods and apparatus for managing exchanges in a network device of a storage area network are disclosed. In a first “host-side” exchange initiated by an initiator and between the initiator and the network device, one or more frames are received from an initiator and/or sent to the initiator. At least one of the frames pertains to access of a virtual storage location of a virtual storage unit representing one or more physical storage locations on one or more physical storage units of the storage area network. One or more “disk-side” exchanges between the network device and one or more targets (i.e., physical storage units) are initiated in response to the first exchange. In the disk-side exchanges, one or more frames are sent from the network device to one of the targets and/or received from the target. Exchange information for the host-side exchange and the associated disk-side exchanges are updated throughout the exchanges.

    摘要翻译: 公开了一种用于管理存储区域网络的网络设备中的交换的方法和装置。 在由发起者发起并且在发起者和网络设备之间发起的第一个“主机侧”交换中,从发起者接收一个或多个帧,和/或发送到发起者。 至少一个帧涉及代表存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置的虚拟存储单元的虚拟存储位置的访问。 响应于第一次交换,启动网络设备与一个或多个目标(即,物理存储单元)之间的一个或多个“盘侧”交换。 在磁盘侧交换机中,一个或多个帧从网络设备发送到目标之一和/或从目标接收。 主机端交换机和相关的磁盘侧交换机的交换信息在整个交换机中进行更新。

    Interlocking input/outputs on a virtual logic unit number
    4.
    发明授权
    Interlocking input/outputs on a virtual logic unit number 有权
    在虚拟逻辑单元号上联锁输入/输出

    公开(公告)号:US07783805B2

    公开(公告)日:2010-08-24

    申请号:US11606846

    申请日:2006-11-29

    IPC分类号: G06F12/14 G06F12/00 G06F15/16

    摘要: In one embodiment, a solution is provided wherein a lock client sends lock requests to a lock manager upon receipt of an input/output (I/O) and receives back a lock grant. At some point later, the lock client may send a lock release. The lock manager, upon receipt of a lock release from a lock client, remove a first lock request corresponding to the lock release from a lock grant queue corresponding to the lock manager. Then, for each dependency queue lock request in a dependency queue corresponding to the first lock request, the lock manager may determine whether the dependency queue lock request conflicts with a second lock request in the lock grant queue, and then may process the dependency queue lock request according to whether the dependency queue lock requires conflicts with a second lock request in the lock grant queue.

    摘要翻译: 在一个实施例中,提供了解决方案,其中锁定客户端在接收到输入/输出(I / O)时向锁定管理器发送锁定请求,并且接收到锁定授权。 稍后,锁定客户端可能会发送锁定释放。 锁管理器在收到锁定客户端的锁定释放后,从与锁定管理器对应的锁定授权队列中删除与锁定释放相对应的第一个锁定请求。 然后,对于与第一锁定请求对应的依赖性队列中的每个依赖性队列锁定请求,锁定管理器可以确定依赖性队列锁定请求是否与锁定授权队列中的第二个锁定请求冲突,然后可以处理依赖性队列锁定 根据依赖性队列锁是否需要与锁定授权队列中的第二个锁定请求冲突来请求。

    Quality of service in a storage area network
    5.
    发明授权
    Quality of service in a storage area network 有权
    存储区域网络中的服务质量

    公开(公告)号:US08203950B2

    公开(公告)日:2012-06-19

    申请号:US11625678

    申请日:2007-01-22

    IPC分类号: G01R31/08

    摘要: In one embodiment, a solution is provided wherein a minimum and/or maximum bandwidth may be guaranteed for specific flows. These guarantees can be associated to various levels of granularity, such as target (T), target-Logical Unit Number (LUN) coupling (TL), initiator-target-LUN coupling (ITL), and initiator-target coupling (IT). This may be accomplished by rate limiting frames in the storage area network based upon quality of service information provided by a user. As such, the traffic can be shaped in a way that guarantees requested levels of service without dropping frames.

    摘要翻译: 在一个实施例中,提供了一种可以为特定流量保证最小和/或最大带宽的解决方案。 这些保证可以与各种级别的粒度相关联,例如目标(T),目标 - 逻辑单元号(LUN)耦合(TL),启动器 - 目标 - LUN耦合(ITL)和启动器 - 目标耦合(IT)。 这可以通过基于由用户提供的服务质量信息在存储区域网络中的速率限制帧来实现。 因此,流量可以以保证所要求的服务级别而不丢帧的方式进行整形。

    Apparatus and method for performing fast fibre channel write operations over relatively high latency networks
    6.
    发明授权
    Apparatus and method for performing fast fibre channel write operations over relatively high latency networks 有权
    用于在相对高延迟的网络上执行快速光纤通道写入操作的装置和方法

    公开(公告)号:US07934023B2

    公开(公告)日:2011-04-26

    申请号:US10726269

    申请日:2003-12-01

    IPC分类号: G06F3/00

    摘要: A method and apparatus to improve the performance of a SCSI write over a high latency network. The apparatus includes a first Switch close to the initiator in a first SAN and a second Switch close to the target in a second SAN. In various embodiments, the two Switches are border switches connecting their respective SANs to a relatively high latency network between the two SANs. In addition, the initiator can be either directly connected or indirectly connected to the first Switch in the first SAN. The target can also be either directly or indirectly connected to the second Switch in the second SAN. During operation, the method includes the first Switch sending Transfer Ready (Xfr_rdy) frame(s) based on buffer availability to the initiating Host in response to a SCSI Write command from the Host directed to the target. The first and second Switches then coordinate with one another by sending Transfer Ready commands to each other independent of the target's knowledge. The second switch buffers the data received from the Host until the target indicates it is ready to receive the data. Since the Switches send frames to the initiating Host independent of the target, the Switches manipulate the OX_ID and RX_ID fields in the Fiber Channel header of the various commands associated with the SCSI Write. The OX_ID and RX_ID fields are manipulated so as to trap the commands and so that the Switches can keep track of the various commands associated with the SCSI write.

    摘要翻译: 一种通过高延迟网络提高SCSI写入性能的方法和装置。 该设备包括靠近第一SAN中的发起者的第一交换机和在第二SAN中靠近目标的第二交换机。 在各种实施例中,两个交换机是将它们各自的SAN连接到两个SAN之间相对较高延迟的网络的边界交换机。 此外,启动器可以直接连接或间接连接到第一个SAN中的第一个交换机。 目标也可以直接或间接地连接到第二个SAN中的第二个交换机。 在操作期间,该方法包括响应于从指向目标的主机的SCSI写入命令,基于发起主机的缓冲区可用性的第一个交换机发送传输就绪(Xfr_rdy)帧。 第一个和第二个交换机然后通过发送传输就绪命令相互协调,独立于目标的知识。 第二个交换机缓存从主机接收的数据,直到目标指示它准备好接收数据。 由于交换机将发送帧发送到独立于目标的发起主机,交换机将处理与SCSI写入相关联的各种命令的光纤通道报头中的OX_ID和RX_ID字段。 操作OX_ID和RX_ID字段以捕获命令,以便交换机可以跟踪与SCSI写入相关联的各种命令。

    Lock manager rotation in a multiprocessor storage area network
    7.
    发明授权
    Lock manager rotation in a multiprocessor storage area network 有权
    在多处理器存储区域网络中锁定管理员旋转

    公开(公告)号:US07844784B2

    公开(公告)日:2010-11-30

    申请号:US11605614

    申请日:2006-11-27

    IPC分类号: G06F13/18

    CPC分类号: G06F9/52

    摘要: In one embodiment, a solution is provided wherein a lock manager is kept moving among multiple cores or processors in a multi-core or multi-processor environment. By “hopping” the lock manager from processor to processor, a bottleneck at any of the processors is prevented. The frequency of movement may be based on, for example, a counter that counts the number of input/outputs handled by the lock manager and moves the lock manager to a different processor once a determined threshold is met. In another embodiment of the present invention, the frequency of the movement between processors may be based on a time that counts the amount of time the lock manager has been operating on the processor and moves the lock manager to a different processor once a predetermined time is reached.

    摘要翻译: 在一个实施例中,提供了一种解决方案,其中锁管理器在多核或多处理器环境中在多个核心或处理器之间保持移动。 通过将锁定管理器从处理器“跳转”到处理器,可以防止任何处理器的瓶颈。 运动频率可以基于例如计数由锁定管理器处理的输入/输出的数量的计数器,并且一旦满足确定的阈值,则将锁定管理器移动到不同的处理器。 在本发明的另一个实施例中,处理器之间的移动频率可以基于计时锁管理器在处理器上操作的时间量的时间,并且一旦预定的时间是 到达。

    INTERLOCKING INPUT/OUTPUTS ON A VIRTUAL LOGIC UNIT NUMBER
    9.
    发明申请
    INTERLOCKING INPUT/OUTPUTS ON A VIRTUAL LOGIC UNIT NUMBER 有权
    虚拟逻辑单元编号上的互锁输入/输出

    公开(公告)号:US20100312936A1

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

    申请号:US12841938

    申请日:2010-07-22

    IPC分类号: G06F12/14

    摘要: In one embodiment, a solution is provided wherein a lock client sends lock requests to a lock manager upon receipt of an input/output (I/O) and receives back a lock grant. At some point later, the lock client may send a lock release. The lock manager, upon receipt of a lock release from a lock client, remove a first lock request corresponding to the lock release from a lock grant queue corresponding to the lock manager. Then, for each dependency queue lock request in a dependency queue corresponding to the first lock request, the lock manager may determine whether the dependency queue lock request conflicts with a second lock request in the lock grant queue, and then may process the dependency queue lock request according to whether the dependency queue lock requires conflicts with a second lock request in the lock grant queue.

    摘要翻译: 在一个实施例中,提供了解决方案,其中锁定客户端在接收到输入/输出(I / O)时向锁定管理器发送锁定请求,并且接收到锁定授权。 稍后,锁定客户端可能会发送锁定释放。 锁管理器在收到锁定客户端的锁定释放后,从与锁定管理器对应的锁定授权队列中删除与锁定释放相对应的第一个锁定请求。 然后,对于与第一锁定请求对应的依赖性队列中的每个依赖性队列锁定请求,锁定管理器可以确定依赖性队列锁定请求是否与锁定授权队列中的第二个锁定请求冲突,然后可以处理依赖性队列锁定 根据依赖性队列锁是否需要与锁定授权队列中的第二个锁定请求冲突来请求。

    Fine granularity exchange level load balancing in a multiprocessor storage area network
    10.
    发明申请
    Fine granularity exchange level load balancing in a multiprocessor storage area network 有权
    多处理器存储区域网络中的细粒度交换级负载平衡

    公开(公告)号:US20080127198A1

    公开(公告)日:2008-05-29

    申请号:US11605618

    申请日:2006-11-28

    IPC分类号: G06F9/46

    摘要: Fine granularity exchange level load balancing may be performed in a device in a storage area network in order to ensure that processors in a multi-core environment are not overloaded. This may be accomplished by assigning input/outputs relating to a particular exchange to a specific processor, and maintaining that association so that subsequent related input/outputs are handled by the same processor. In this process, the system may first determine if a received IO is new. If so, then it may assign the IO to a particular data path processor and create a context corresponding to the IO and the processor, as well as to the type of the non-command frame. Subsequently, an event may be received corresponding to the IO, which may then be forwarded to the processor assigned to the IO.

    摘要翻译: 可以在存储区域网络中的设备中执行精细粒度交换级别负载平衡,以确保多核环境中的处理器不会过载。 这可以通过将与特定交换机相关的输入/输出分配给特定处理器来实现,并且保持该关联,使得随后的相关输入/输出由相同的处理器处理。 在该过程中,系统可以首先确定接收的IO是否是新的。 如果是这样,那么它可以将IO分配给特定的数据路径处理器并创建与IO和处理器相对应的上下文以及非命令帧的类型。 随后,可以接收对应于IO的事件,然后可将该事件转发到分配给IO的处理器。