摘要:
Apparatus and methods for improved region lock management in a storage controller. A region lock management circuit coupled with a memory is provided for integration in a storage controller. One or more I/O processor circuits of the storage controller transmit requests to the region lock management circuit to request a temporary lock for a region of storage on a volume of the storage system. The region lock management circuit determines whether the requested lock may be granted or whether it conflicts with other presently locked regions. Presently locked regions and regions to be locked are represented by region lock data structures. In one exemplary embodiment, the region lock data structures for each logical volume may be stored as a tree data structure. A tree assist circuit may also be provided to aid the region lock management circuit in managing the region lock tree data structures.
摘要:
A region lock (RL) method and system for ensuring data integrity is disclosed. The method and system in accordance with the present disclosure works in conjunction with a balanced-tree based RL scheme. By eliminating steps and checks that in most cases are unnecessary, the relatively high overhead associated with the balanced-tree based RL scheme may be reduced. For instance, the solution in accordance with the present disclosure may utilize a hash table to determine whether RL overlap checks may be bypassed for certain I/O commands. Since the new solution requires very little processing, therefore by reducing unnecessary RL overlap checks, RL overhead may be dramatically reduced and may lead to significant increases in overall system performance.
摘要:
Apparatus and methods for improved tree data structure management in a storage controller. A tree assist circuit coupled with a tree memory is provided for integration in a storage controller. I/O processors of the storage controller transmit requests to the tree assist circuit to create, modify, and access tree data structures stored in the tree memory. In one exemplary embodiment, the tree assist circuit is adapted to manage AVL trees. The tree data structures may be used by the I/O processors of the storage controller to manage region lock requests, cache-line lookup request, and other storage management functions of the controller. The I/O processors of the controller may comprise suitable programmed general-purpose processors and/or fast-path I/O request processor circuits.
摘要:
A method and system for syndrome generation and data recovery is described. The system includes a parity generator coupled to one or more storage devices to generate parity for data recovery. The parity generator includes a first comparator to generate a first parity factor based on data in one or more of the storage devices, a multiplier to multiply data from one or more of the storage devices with a multiplication factor to generate a product, a second comparator coupled to the multiplier to generate a second parity factor based at least in part on the product, and a selector to choose between the first parity factor and the second parity factor.
摘要:
A method and system for syndrome generation and data recovery is described. The system includes a recovery device coupled to one or more storage devices to recover data in the storage devices. The recovery device includes a first comparator to generate a first parity factor based on data in one or more of the storage devices, a multiplier to multiply data from one or more of the storage devices with a multiplication factor to generate a product, and a second comparator coupled to the multiplier to generate a second parity factor based at least in part on the product.
摘要:
Provided are a method, system, and article of manufacture for providing data integrity for data streams. Input data streams are received. A parity data stream is generated by computing parity data from the input data streams, wherein the parity data stream comprises data blocks. Data integrity fields are computed for the data blocks, wherein a data integrity field is used to ensure the integrity of a data block for which the data integrity field is computed. The computed data integrity fields are added to the data blocks to generate an output stream.
摘要:
The present invention is a method for providing multi-pathing via Small Computer System Interface Input/Output (SCSI I/O) referral between an initiator and a storage cluster which are communicatively coupled via a network. The method includes receiving an input/output (I/O) at a first target device from the initiator via the network. The I/O includes a data request. The method further includes transmitting a SCSI I/O referral list to the initiator when data included in the data request is not stored on the first target device, but is stored on a second target device. The referral list includes first and second port identifiers for identifying first and second ports of the second target device respectively. The first and second ports of the target device are identified as access ports for accessing the data requested in the data request.
摘要翻译:本发明是一种通过小型计算机系统接口输入/输出(SCSI I / O)引导在通过网络通信耦合的发起者和存储集群之间提供多路径的方法。 该方法包括经由网络从发起者接收在第一目标设备处的输入/输出(I / O)。 I / O包括数据请求。 该方法还包括当包含在数据请求中的数据未被存储在第一目标设备上但被存储在第二目标设备上时,向发起者发送SCSI I / O推荐列表。 推荐列表包括用于分别识别第二目标设备的第一和第二端口的第一和第二端口标识符。 目标设备的第一和第二端口被识别为用于访问数据请求中请求的数据的接入端口。
摘要:
The present invention is a method for providing multi-pathing via Small Computer System Interface Input/Output (SCSI I/O) referral between an initiator and a storage cluster which are communicatively coupled via a network. The method includes receiving an input/output (I/O) at a first target device from the initiator via the network. The I/O includes a data request. The method further includes transmitting a SCSI I/O referral list to the initiator when data included in the data request is not stored on the first target device, but is stored on a second target device. The referral list includes first and second port identifiers for identifying first and second ports of the second target device respectively. The first and second ports of the target device are identified as access ports for accessing the data requested in the data request.
摘要翻译:本发明是一种通过小型计算机系统接口输入/输出(SCSI I / O)引导在通过网络通信耦合的发起者和存储集群之间提供多路径的方法。 该方法包括经由网络从发起者接收在第一目标设备处的输入/输出(I / O)。 I / O包括数据请求。 该方法还包括当包含在数据请求中的数据未被存储在第一目标设备上但被存储在第二目标设备上时,向发起者发送SCSI I / O推荐列表。 推荐列表包括用于分别识别第二目标设备的第一和第二端口的第一和第二端口标识符。 目标设备的第一和第二端口被识别为用于访问数据请求中请求的数据的接入端口。
摘要:
Methods and structure are disclosed for improved processing of fast path I/O requests in a storage controller utilizing version information embedded in the fast path I/O requests. The version information allows the storage controller to determine if the mapping information utilized by the host system in generating a fast path I/O request specifies the mapping information utilized by the storage controller. The controller comprises a fast path I/O request processing circuit tightly coupled with host system drivers for fast processing of requests directed to storage devices of a logical volume. The controller also comprises a logical volume I/O processing software stack for processing I/O requests from a host system directed to a logical volume. If the mapping information utilized by the host does not match the mapping information utilized by the storage controller, fast path I/O requests are transferred to the I/O request processing stack for subsequent processing.
摘要:
Methods and apparatus for improved building of a hot spare storage device in a RAID storage system while avoiding reading of stale data from a failed storage device. In the recovery mode of the failed device, all data is write protected on the failed device. A RAID storage controller may copy as much readable data as possible from the failed device to the hot spare storage device. Unreadable data may be rebuilt using redundant information of the logical volume. Write requests directed to the failed device cause the addressed logical block address (LBA) to be marked as storing stale data. When a read request is directed to such a marked LBA, the read request returns an error status from the failed device to indicate that the data is stale. The RAID controller then rebuilds the now stale data for that LBA from redundant information of the logical volume.