Simultaneous Dual link transfer from Single Host to Single Target using Serial Storage Architecture (SSA)
Original Publication Date: 2000-Aug-01
Included in the Prior Art Database: 2003-Jun-18
Disclosed is a process that will double the data rate to a single device on an SSA loop by transferring data from a single host down both paths of the loop to the target. Currently data is transferred to a single SSA target from a host using only the path that results in the shortest number of hops from the host to the target. The other path to the target is only used if the primary path is disabled by some error. For targets requiring high data rates such as a high speed printer, both paths from the host to the target can be used to double the throughput and halve the response time for large read or write requests to the target. The process described uses two SSA adapters in the host device, with a controlling program that submits a write request to both adapters describing the same data to be sent to a single target. The target can link those requests using a reference identifier, and request data from both adapters at the same time in order to maximize data transfer rates. For example, the entire size of a write request may be 1 MB. The target can request the first 32k bytes of data from one adapter and then immediately request the second 32k bytes of data from the second adapter. These data transfers will take place at the same time on both paths to the target. Given a target that can receive data into its buffers at more than double the rate of a single link, the target is always waiting on the transfer of data on the links. As soon as one of the data requests finish, the target can request the next segment of data. It is important to note that there is no duplicate transfer of data to the target because each data request contains a size and an offset. When the target has received all of the data associated with a write request, 40% of the data may have originated from one adapter, while the remaining 60% was requested from the other adapter. There is a small increase in control traffic with respect to sending a read or write request to the same target down both paths to the target, but this is negligible compared to the overall bandwidth on the loop.