The present invention relates in general to an improved data processing system and in particular to a fault-tolerant data storage subsystem, for utilization within a data processing system. More importantly, the data storage subsystem includes a multipath dynamically alterable hierarchical arrangement of storage device controllers. A typical data processing system generally includes one or more memory units which are connected to a central processing unit, either directly or indirectly, through a control unit and a channel. The function of these memory units is to store data and programs, which are utilized by the central processing unit while performing a given data processing task.
Computer systems are currently being developed in such a manner that the amount of data to be manipulated by the system is immense. The modern day data storage systems are capable of handling huge amounts of data in the order of exabytes, spread across hundreds of direct access storage devices (DASD). Individual files for such systems have been proposed to be as high as ten gigabytes. Large storage systems are highly reliable and don’t forget that restoring an entire storage system after a fault is a herculean task. In order to permit efficient utilization of data, such storage systems should sustain high data transfer rates.
No wonder that recently, the utilization of large redundant arrays of inexpensive disks, commonly known as “RAID” has been proposed. Such arrays offer high data reliability at a lower cost than conventional methods, which are based upon complete duplication of data. Various configurations of disk arrays have been proposed to utilize RAID technology, which typically provides high data reliability and availability. High data reliability means the expected time to data loss is very long and high data availability means the time spent for recovering lost data is only a small fraction of the total time. While these arrays of disks provide enhanced data reliability, such systems are still prone to data loss in the event an error or fault occurs, which is of sufficient magnitude to interrupt the recovery of data.
A fault-tolerant disk storage subsystem includes a multipath dynamically alterable hierarchical arrangement of storage device controllers. Multiple storage device controllers are provided that can be adapted to emulate a storage device, which includes a cache memory of multiple data input ports and multiple data output ports. A processing element within the storage device controller is utilized to selectively interconnect particular data input ports with selected data output ports and provide multiple paths within the storage device controller. An interconnection is then provided for coupling a data output port of one or more storage device controllers with a data input port of one or more alternate storage device controllers, which emulate storage devices, creating an alterable hierarchical arrangement of storage device controllers. . Storage devices are then coupled to each of the lowest levels of the hierarchical arrangement of storage device controllers. As the storage device controllers may vary in type and capability, it may result in various combinations of access speed and redundancy.
Hence it is apparent that a need exists for a fault-tolerant data storage subsystem, which can be efficiently implemented utilizing standard technology. This provides a high degree of reliability within the memory storage subsystem.