The capture software is simple and robust. No complex translation or data manipulation operations are attempted at this stage, since they could only introduce more modes of failure. We assumed that some of the tapes would only be readable once, so any failure on the part of our software would be unacceptable. For this reason, we made a conscious design decision to postpone any translation until all the data from a given tape was safely on disk.
One of the most frustrating obstacles we encountered while writing this software involved the operating system's tape driver. Upon reaching a media error, the two commercial tape drivers we tested automatically retry the read operation several times before the software gives up and moves on. This process can include as many as 30 rewind and re-read cycles, which may lead to undue wear on the tape or even catastrophic media failure before we can read the entire tape, resulting in data loss. Unfortunately, we eventually decided that we would live with this possibility and continue to use the tape drivers shipped with our operating system, as a lack of resources prevented us from developing our own driver software.