This paper presents a general model for estimating access times of serpentine tape drives. The model is used to schedule I/O requests in order to minimize the total access time. We propose a new scheduling algorithm, Multi-Pass Scan Star (MPScan*), which makes good utilization of the streaming capability of the tape drive and avoids the pitfalls of naive multi-pass scan algorithms and greedy algorithms like Shortest Locate Time First. The performance of several scheduling algorithms have been simulated for problem sizes up to 2048 concurrent I/O requests. For scheduling of two to 1000 I/O requests, MPScan* gives equal or better results than any other algorithm, and provides up to 85 percent reduction of the total access time. All results have been validated by extensive experiments on Tandberg MLR1 and Quantum DLT2000 drives.