Is this a good idea, or is there a technical issue I have overlooked?
I would like to understand why hard disk drives are not manufactured with the user data and servo information in a single spiral (a la DVD). Since track-to-track seek is so common, reducing it from 1ms to 0 would be a big deal.
I've researched it and floated it to some other engineers but have not heard from hard drive engineers. In trivialized form, it seems to me you just need to add a sensor to track the platter(s) angle, and then it's just a software problem.
I laid out how I understand the current architecture works and how I imagine a spiral sector architecture would work for comparison.
0) Initial state. Head is over a random track. Ignoring multiple platters and heads. Ignoring sector size. Sectors per track is fixed at 64 (0-63). I don't believe this setup gives an advantage to either data organization architecture, and allows me to simplify a bit.
Read using Conventional Concentric Circle Track ArchitectureT1) Receive request for track 300,000 sector 3 through track 300,001 sector 5.
T2) ~6ms Calculation is done using current voice coil position and destination voice coil position. Head accelerated and decelerated to try for track 300,000.
T3) ~1ms (settling time) User data and servo data are read; voice coil is adjusted till we are within tolerance and can trust we know what sector we are reading and its value. If we are on the wrong track we could trivially go back to step 2.
T4) ~8ms (just shy of 1 revolution) Read
61 sectors while adjusting voice coil till we have sectors 3 through 63.
T5) ~0.5ms Head accelerated and decelerated to get over next track.
T6) ~0.5ms User data and servo data are read; voice coil is adjusted till we are within tolerance and can trust we know what sector we are reading and its value.
T7) ~2ms (say a quarter revolution) Read
6 sectors till we have 0 through 5. Since drive data is organized to minimize track-to-track latency, sectors we want are probably in the first few we read, so we don't need to wait for a full revolution.
T total 18msRead using Spiral ArchitectureS1) Receive request for track 300,000 sector 3 through track 300,001 sector 5.
S2) ~6ms Calculation is done using current voice coil position and destination voice coil position and platter angle. Head accelerated and decelerated to try for spiral sector (300,000*64+3) – (estimate of number of settling time sectors).
S3) ~1ms (settling time) User data and servo data are read; voice coil is adjusted till we are within tolerance and can trust we know what sector we are reading and its value. If we are on the wrong track we could trivially go back to step 2.
S4) ~9ms (just over 1 revolution) Read
67 sectors while adjusting voice coil till we have them all.
(No need for steps 5-7)
S total 16msI'm not saying this is typical, it just demonstrates where the time savings the would come from and assigns some labels. For example, during S4, since the voice coil is being adjusted anyway, I assumed the head could be adjusted inward 1/64 of 1/300,000 of an inch per sector (at 300,000 tpi). That might not be true.