Abstract:
PROBLEM TO BE SOLVED: To provide a high performance storage subsystem with a plurality of independent paths for communication between a storage controller and a storage device. SOLUTION: This data processing system has a plurality of independent paths 352, 354 for the communication between a host and a plurality of storage devices. Each path has its own queue 413, 415, services a requests generated by the host and accesses the storage devices 345. Each request is assigned a unique sequential ID and after that, stored in all the queues along with the ID, Each storage device has a 'mailbox' register 500 to store the ID and a status of the executed latest ID. Queues are serviced and their status are updated based on the contents of the mailbox. Consequently, the queue in each path is allowed to be completely out of synchronization with each queue in other paths. COPYRIGHT: (C)2003,JPO
Abstract:
A data processing system (300, 800, 1000) having multiple independent paths for communication between a host (310, 810, 1010) and a plurality of storage devices (340, 840, 1040) where each path has its own queue (326, 828) for servicing requests generated by the host for accessing the storage devices. Each request is assigned a unique sequential ID before it is stored, along with its unique ID, in all the queues. Each storage device has a "mailbox" register (500) where the ID and the status (520) of the latest request being carried out is stored. Queues are serviced and their status updated based on the content of the mailbox in each storage device. The combination of assigning a unique task ID to each request and a "mailbox" register in each storage device allows the queue in each path to be completely out of sync with each of the queues in the other paths without causing data integrity problems, duplication of requests at the device level, or a need for complex locking schemes to keep the queues in sync with each other.
Abstract:
A major/minor loop bubble memory system includes a passive replicator (34) in the major loop read channel (33) which is connected by a first path (42) to a mode switch-annihilator (44) and a merge point in the major loop write channel (30) and by a second path (36) to an off-chip decision-making means (38) and the merge point in the write channel. The decision-making means (38) is positioned the same or fewer propagation steps than the mode switch-annihilator (44) is from the replicator (34). The decision-making means (38) is activated to cause either the replicated data to pass through the mode switch-annihilator (44) into the write channel or the replicated data to be annihilated in the mode switch-annihilator and the data from a generator (40) to pass into the write channel.
Abstract:
A data processing system (300, 800, 1000) having multiple independent paths for communication between a host (310, 810, 1010) and a plurality of storage devices (340, 840, 1040) where each path has its own queue (326, 828) for servicing requests generated by the host for accessing the storage devices. Each request is assigned a unique sequential ID before it is stored, along with its unique ID, in all the queues. Each storage device has a "mailbox" register (500) where the ID and the status (520) of the latest request being carried out is stored. Queues are serviced and their status updated based on the content of the mailbox in each storage device. The combination of assigning a unique task ID to each request and a "mailbox" register in each storage device allows the queue in each path to be completely out of sync with each of the queues in the other paths without causing data integrity problems, duplication of requests at the device level, or a need for complex locking schemes to keep the queues in sync with each other.