Abstract:
An apparatus comprising a logically contiguous group of at least three drives, a first loop, a second loop, and a compression/decompression circuit. Each of the drives comprises (i) a first region configured to store compressed data of a previous drive, (ii) a second region configured to store uncompressed data of the drive, (iii) a third region configured to store compressed data of a next drive. The first loop may be connected to the next drive in the logically contiguous group. The second loop may be connected to the previous drive of the logically contiguous group. The compression/decompression circuit may be configured to compress and decompress the data stored on each of the drives.
Abstract:
An apparatus comprising a remote storage array, a primary storage array and a network. The remote storage array may be configured to (i) define a queue size based on a performance capability of the remote storage array, (ii) generate a multiplier based on resources being used by the remote storage array, and (iii) adjust the queue size by the multiplier. The primary storage array may be configured to execute input/output (IO) requests between the remote storage array and the primary storage array based on the adjusted queue size. The network may be configured to connect the remote storage array to the primary storage array.
Abstract:
A method comprising the steps of (A) generating a call for a first operating system at a host, (B) sending the call for the first operating system from the host to a storage array over a network, (C) generating a response to the call for the first operating system from the host, (D) sending the response from the storage array to the host over the network and (E) capturing and storing the response in a device.
Abstract:
A method for controlling and emulating the functional and logical behaviors of an array of storage devices is established by loading a software module to an array controller board. The software module is integrated into the array controller subsystem manager by providing the necessary parameters required to insert the device and can control the inbound and outbound activities (commands, data, and status packages) regardless of the type, interface, and protocol of the disk/tape device. This aspect of the method allows the user to control the drive state transition and inject errors on the inbound and outbound drive traffics. Also, the method of this invention allows the drive module to recover in case of an array controller failure and to be removed from a list of devices like a regular drive.
Abstract:
A simple method and circuit for qualifying and combining individual request signals received from a plurality of disk drives within a disk array to generate a single, synchronized request signal for the disk array. The circuit includes an activity register for storing a bit pattern which identifies those disk drives which are in use within the array. Each bit position within the activity corresponds to a different disk drive within the disk array. A logic one stored in a bit position identifies the disk drive corresponding to the bit position as being active while a logic zero stored in a bit position identifies the disk drive corresponding to the bit position as being inactive. The circuit further includes an OR gate associated with each disk drive within the disk array, each OR gate having a first input connected to receive the bit information corresponding to its associated disk drive from the activity register, and a second inverting input for receiving the individual request signal from its associated disk drive. The outputs of the OR gates are provided to an AND logic operator which combines the received signals to generate the request signal for the array. Additionally, the circuit includes a NAND gate associated with each disk drive within the disk array. Each NAND gate has a first input connected to receive the bit corresponding to its associated disk drive from the activity register, and a second input for receiving an acknowledge signal for the disk array. The NAND gates function to provide individual acknowledge signals to the active disk drives within the array.
Abstract:
An interrupt signal for a disk array is generated by selectively combining interrupt signals received from the individual disk drives and other interrupt signal sources within the disk array. The circuit for generating the array interrupt signal includes logic for combining a first group of selected interrupt signals to generate a group interrupt signal having a HIGH state when each one of the signals in the first group is at a HIGH state, and logic which combines a second group of selected interrupt signals to generate an independent interrupt signal having a HIGH state when any one of the interrupt signals of the second group is at a HIGH state. The group and independent interrupt signals are gated together through use of an OR gate to generate the disk array interrupt signal. The logic for generating the group and independent interrupt signals can be reconfigured to combine, pass or ignore interrupt signals as selected by the system user. The circuit includes filtering and latching mechanisms to prevent interference with an existing array interrupt signal during reconfiguration of the group or independent interrupt logic.
Abstract:
An apparatus comprising a first circuit and a second circuit. The first circuit may be configured to generate a plurality of intermediate signals in response to a plurality of input/output requests. The second circuit may be configured to generate a plurality of processed input/output requests in response to the plurality of input/output requests. The processed input/output requests may be configured to be processed by a drive controller to access a drive array in accordance with a protocol used to process the input/output requests.
Abstract:
An apparatus comprising an interface, a first port, and a second port. The interface may be configured to connect to a host computer. The first port may be configured to connect to a first set of storage devices using a first protocol. The second port may be configured to connect to a second set of storage devices using a second protocol. The apparatus may provide support for the first protocol and the second protocol to allow communication using both the first protocol and the second protocol through the interface.
Abstract:
An apparatus comprising an array controller and a cache. The array controller may be configured to read/write data to a first array of drives of a first drive type in response to one or more input/output requests. The cache may be configured to (i) receive said input/output requests from the array controller, (ii) temporarily store the input/output requests, and (iii) read/write data to a second array of drives of a second drive type in response to the input/output requests. The first array of drives may be configured to copy the data directly to/from the second array of drives during a cache miss condition such that the array controller retrieves the data stored in the first array of drives through the second array of drives without writing the data to the cache.
Abstract:
An apparatus comprising a controller and a plurality of storage drives. The controller may be configured to generate a control signal in response to one or more input/output requests. The plurality of storage drives may be arranged as one or more volumes. Each of the volumes may comprise a plurality of drive groups. Each of the drive groups may comprise a particular type of storage drive. The controller may be configured to form the volume across drives from two or more of the groups.