7

This is a memory I have of just about every computer with a CD ROM drive in the mid 1990s to early 2000s. If you put in a disk that, for whatever reason, the drive couldn't read, it would spin like it was about to launch to the moon. Why was that? What was the drive actually doing upon failure to read?

6
  • 7
    Is it really spinning faster if the disk cannot be read? I think it stops and then accelerates again and again. That is where the noise comes from. But I am not sure if it really spins faster than normal.
    – zomega
    Dec 5, 2022 at 17:39
  • @zomega I guess that's a good point, I always just assumed. Perhaps the question should be: "what are old CD ROM drives doing when they cannot read"? Dec 5, 2022 at 17:57
  • Yes that's a good question. For example where are checksum and error correction stored? At the opposite side (in case there are scratches on the one side)? CDs use the Reed-Solomon error correction algorithm. It is sad most people know checksums but not error correction. Reed-Solomon algorithm is the most impressive computer algorithm I know.
    – zomega
    Dec 5, 2022 at 18:05
  • The experience I recall is exactly the opposite. Dec 5, 2022 at 18:23
  • 1
    @zomega The error-correction data is stored together with the payload, but it's computed over largeish chunks of data (spanning about 2 cm on the disc surface I think) for better scratch resistance.
    – benrg
    Dec 5, 2022 at 20:47

1 Answer 1

7

Unlike some kinds of tape or disk drives, or for that matter analog record players, whose motors are designed to always run at some particular speed, CD players and CD-ROM drives are designed to spin faster when accessing data near the inside of the disk than when accessing data outside. Additionally, while many floppy disk drives use stepper motors so they can move the drive head in and out by known amounts, many CD players and CD-ROM drives merely have a cheap DC motor that moves the head in and out at a speed that might vary +/-30% from nominal, and have no kind of feedback sensor of their own.

To accommodate these issues, drives are designed around the assumptions that (1) if they run the head motor towards the hub, they will eventually find part of the disk which has readable information around it, which should always be written at a known speed, and (2) once they have done that, almost any part of the disk they encounter afterward will have readable information written on it. Provided that the drive is spinning at a rate which is at least some reasonable fraction of correct, a drive will be able to either read data (if the rate is anywhere close to correct, the electronics will adapt to it), identify that pulses are coming in more slowly than could occur if the drive were spinning at the correct speed, or identify that pulses are coming in more quickly than could occur at the correct speed. Once the drive has done that, it will be able to continuously adjust the drive speed to ensure that data arrives at the proper rate.

In something like a portable CD player, the maximum speed at which the drive motor can spin may be affected by the strength of the batteries and the amount of friction. A drive which has new bearings and is powered by fresh batteries may be able to spin faster than one with worn bearings powered by substantially depleted batteries. Rather than try to spin the drive at any particular speed, the drive will ramp up the speed to maximum until it starts to see data, and then stabilize at whatever speed makes data come in at the proper rate.

6
  • 1
    1 - The part about working from outside in to the hub makes sense to handle Mini CDs. 2 - This also makes sense for drives that are 16x, 32x, etc. - they can slow down as needed to handle media that just isn't good enough to be read at top speed. Dec 5, 2022 at 19:07
  • 2
    If you hunt from the outside rim inwards, don't you find the end of the data first? CD data starts at the hub.
    – dave
    Dec 5, 2022 at 20:57
  • 2
    @another-dave: As soon as the drive finds part of the disk with data written on it at a suitable speed, markers embedded within the data will tell it where it is. The motor can run toward the inside until a worm follower reaches the end of the worm (which it will then be pushed against via spring) without the controller having to know or care when it has reached end of travel.
    – supercat
    Dec 5, 2022 at 21:29
  • 1
    CD players and CD-ROM drives are designed to spin faster when accessing data near the inside of the disk not quite true. There are CAV and CLV modes in CD drives. And there are also PCAV (Partial Constant Angular Velocity) and ZCLV (Zoned CLV) drives. Some CD/DVD drives even support CAA mode
    – phuclv
    Dec 6, 2022 at 2:28
  • @phuclv: Would a CD player have different "modes", or would it simply adjust its rotational speed as needed to keep its buffer from overflowing or being exhausted? Laserdisc players would have needed to recognize separate frame-synchronous and non-synchronous modes in order to support the kinds of special effects that are only possible in the former, and CD-RW drives might care about relative angular placements, but I wouldn't think CD players or CD-ROM drives would care.
    – supercat
    Dec 6, 2022 at 15:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .