Abstract:
A posting memory used in conjunction with a drive array to increase the performance of fault tolerant disk array write operations. When the posting memory flushes dirty data back to the disk array, the posting memory coalesces or gathers contiguous small write or partial stripe write requests into larger, preferably full stripe writes. This reduces the number of extra read operations necessary to update parity information. In this manner, the actual number of reads and writes to the disk array to perform the transfer of write data to the disk array is greatly reduced. In addition, when the posting memory is full, the posting memory delays small, i.e., partial stripe writes but allows full stripe writes or greater to pass directly to the disk array. This reduces the frequency of partial stripe writes and increases disk array performance.
Abstract:
A bus master interface command protocol for use with a computer system having an intelligent mass storage disk array subsystem, including a bus master and microprocessor controller. The command protocol permits the computer system to issue disk array commands to the controller at a logical level without having to issue disk specific commands. The disk array subsystem microprocessor controller reads the logical commands, translates the commands into smaller disk specific commands, and queues the disk specific commands for processing. Upon completion of the logical command, the bus master controller asserts control over the computer system bus and manages the transfer of data to or from the computer system memory. The management of the disk array subsystem and the transfer of data is effectively off-loaded from the system processor permitting more efficient use of the processor.
Abstract:
For use with a computer system having an intelligent mass storage disk array subsystem, including a microprocessor controller, a method for the distribution of data within the disk array based upon logical commands issued by the computer system. The disk controller reads a logical command and translates the commands into multiple drive specific commands, including drive physical parameter information such as head, sector and cylinder selection. The calculation of these physical parameters is based upon a number of factors including the operating system installed in the computer system, the type of interleave scheme, if any, specified by the computer system configuration, and disk. specific parameters. The physical drive requests are then placed in a queue and executed by the microprocessor controller. The method also encompasses a method for creating a disk array configuration to be loaded on all disks within the array based on existing valid disk array information and configuration information maintained by the computer system.