From what I understand you've got it pretty close.
The only thing that I would add is that on a SCSI controller you can request data from a drive, disconnect from it and pull data off another drive, then reconnect to the 1st drive and grab the data once it's in the drive's cache.
In ATA world...