Reminiscences on 5.25″ floppy drives of the early 1980’s
There is some discussion going on over on Reddit in response to my story of how two seconds was chosen as the floppy disk cache validity.
There were quite a few links to pictures of 5.25″ floppy drives, but none of them were correct. They all showed the half-height drives, which didn’t come onto the scene until the IBM PC AT in the mid 1980’s. The floppy-disk-changing speed tests were performed on full-height drives.
One obvious difference between half-height and full-height drives was the size, but another difference is the nature of the drive latch. On half-height drives, the latch is operated by twisting, but on full-height drives, the latch swings outward. Another more significant difference for the purpose of the story is that on half-height drives, opening the latch ejected the floppy disk from the drive, but on full-height drives, you had to reach in and pull the disk out.
Reaching in and pulling out the floppy disk no doubt added precious tenths of a second to the overall operation of changing floppies.
There was no disk change signal in the original floppy drives, so you couldn’t ask the drive whether the disk had changed. There was also no media sense signal, so you didn’t even know whether there was a disk in the drive at all. (Over a decade later, one of my colleagues would reverse-engineer a way to detect a floppy in the drive without spinning up the drive.)
The disk cache validity was maintained on a per-drive basis. After all, you can’t swap half of a floppy disk. If the drive remained in continuous use, or at least was never idle for more than two seconds, then the entire contents of the cache for that drive was considered valid. Only after two seconds of inactivity did the cache get invalidated, and it invalidated the entire cache for that volume. Because, y’know, half of a floppy.
Bonus chatter: IBM PC floppy disks were originally single-sided, with a capacity of 160KB. This meant that you could store nearly an entire second of CD-quality stereo audio. Of course, you couldn’t actually stream the data off the drive that fast.¹ You’d probably have to read the whole thing into memory first. and then play it out the one-bit speaker. So maybe you didn’t need CD quality. Which was probably a good thing, because you didn’t have 160KB of RAM either. And because CDs hadn’t been invented yet.
¹ Floppy drives of that era had a maximum transfer rate of around 1000 kilobits per second, but CD-quality stereo audio requires around 1400 kilobits per second, so even at theoretical maximum speed, you wouldn’t be able to stream the data off the floppy fast enough. In practice, the theoretical maximum was nowhere near achieved due to the rotational nature of the floppy disk: The floppy rotated at 300 revolutions per minute, or five revolutions per second. Therefore, you could read at most five tracks per second. The disk had forty tracks, which means that if you had a magical drive head with zero seek and settle time, it would take you eight seconds to get every bit of data to pass under the drive head for reading.