Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Spiral Layout for Hard Disk Drives

Status
Not open for further replies.

oberschelp

Computer
Mar 23, 2013
8
(Out of my field, so I apologize if I'm presenting this poorly, or if it is noobish.)

Why are hard disk drives not made with user data and the servo information in a single spiral a la DVD?
I ask because track-to-track seeking is so common, and reducing it from 1ms to 0 would be a big deal.
From my couple hours of research (before coming to you all with this) it looks like the voice coils could handle it. It seems to me you just need to add a sensor to track the platter(s) angle. Then it's just a software problem, right?
 
Replies continue below

Recommended for you

Why would a spiral track help at all? If data is physically in an adjacent spiral, what difference does it make if it's part of the same spiral or on a separate track, given that an HDD is a random access device? A DVD, once burned, will always be sequential access for 99% of its operations; not true for HDDs.

And, what makes you think the head isn't moved by a voice coil?

TTFN
faq731-376
7ofakss

Need help writing a question or understanding a reply? forum1529
 
Hi. Thanks for replying!

"...what difference does it make ... given that an HDD is a random access device?"
Because a large percentage of head movement requests are single track step.

So, like I said, by eliminating these single track steps (track-to-track), it looks like HDD performance would improve significantly.

"A DVD... will always be sequential access for 99% of its operations; not true for HDDs."
True, but a HDD IS OFTEN doing sequential reads and writes. (That's why for example read-ahead buffers are common.)
 
And I didn't mean to give the impression the heads aren't moved by a voice coil. They are of course.
 
It takes 8ms to complete 1 track, so the incremental change is less than 12% improvement in performance.

TTFN
faq731-376
7ofakss

Need help writing a question or understanding a reply? forum1529
 
I think staggered tracks have been done. I.e. the 0 sector of track N+1 is offset angularly from the 0 sector of track N, to give the head time to change tracks without losing an entire cylinder in the process. ... but that was many generations ago, before really big buffers and read-ahead caches got cheap. Now they're doing dynamic substitution within the drive to correct individual bad sectors, so you have no idea where your data really is.

... until all the spare sectors have been used up, and your data is suddenly nowhere to be found. ;-)

WRT spiral tracks, I think you need servo data interspersed among the user data, so the head has a chance of following the actual spiral, runout and all.


Mike Halloran
Pembroke Pines, FL, USA
 
And if the computer were only doing one thing, ever, at one time, then a spiral might not be that costly. However, as Apple as demonstrated by conceding to multitasking, a modern computer is doing a number of things at the same time, which includes, possibly, doing disk swaps, file reads and writes all in the timeshared fashion. In such a case, a single spiral track would require substantially more overhead for finding randomly located files on arbitrary legs of the spiral. Given that most hard drives are proprietary designs, if there were some reason for touting a significant improvement in performance, don't you think they would have jumped on it decades before you thought of the idea?

TTFN
faq731-376
7ofakss

Need help writing a question or understanding a reply? forum1529
 
Addressing the last three posts...

IRstuff - “It takes 8ms to complete 1 track, so the incremental change is less than 12% improvement in performance.”

True. We are talking about a maximum of 12.5% (or 16% at 10,000rpm) HDD read/write improvement. I'm calling that “significant”.

MikeHalloran - “I think staggered tracks have been done. I.e. the 0 sector ...”

I remember those days. That was done (if I remember right) back in the 70's! Also addressing improved seek times. (Completely different than what I'm asking about though.)

MikeHalloran - “Now they're doing dynamic substitution within the drive to correct individual bad sectors, so you have no idea where your data really is.”

Not true necessarily for bad sectors found at manufacture. True for sectors that are caught failing during the life of the drive, but that negatively effects ALL hard drives.

MikeHalloran - “WRT spiral tracks, I think you need servo data interspersed among the user data, so the head has a chance of following the actual spiral...”

That is true, but I don't see why the servo tracking data can't be written in a spiral instead of in circles. Do you know of a reason?

IRstuff - “...a single spiral track would require substantially more overhead for finding randomly located files on arbitrary legs of the spiral.”

First of all there is only one spiral. Second, I can't imagine why that would be true; simple math would tell you where the first sector you want to read/write is just as simple math tells you now what cylinder your first sector is now.

IRstuff - “...if there were some reason for touting a significant improvement in performance, don't you think they would have jumped on it decades before you thought of the idea?”

You're asking me to speculate? I think either the first HDDs were made with cylinders and tracks and engineers just kept refining them instead of redefining them, OR there is some problem with spiral HDDs. That's why I'm here posting.

Thank you two for questioning the idea but I don't think either of you has shot a hole in the idea yet. I'd like to hear back or hear from others.
 
Already told you what the problem was, but you are completely ignoring it, or not understanding. So, I'll repeat. A spiral makes random access unacceptably slow.

TTFN
faq731-376
7ofakss

Need help writing a question or understanding a reply? forum1529
 
IRstuff, I am not ignoring you.

How is additional slowness produced seeking to a spiral sector vs a conventional sector?

You move the head(s) to the sector. Period. What am I missing?

 
I did not mean to imply that the servo marks could be anywhere except along the spiral. The last time I thought I knew anything about this stuff, servo marks were unique bursts of bits that were offset from the nominal track by ~1/4 track to one side and then the other, so the servo circuit would compare their amplitudes and seek to make them equal. The scheme would work as well on a spiral track as on a circular track, given servo marks between every pair of data sectors, as I think is necessary in either case. At the track spacing they're using now, even the best achievable mechanical runout has to be too great to follow a track without a servo.

The problem with jumping grooves on the spiral, which you have to do for random access, is that the head control has to go from closed loop following the servo marks to open loop translation (or maybe closed loop against a partial encoder on the head motor), then transition back to closed loop following the servo marks, and _then_ try to identify which sector it just read, and either wait for the right one to come along or take another, smaller jump and repeat the process. All that servo reaquisition and settling takes time, even neglecting the sector read wait time and the wait for the correct sector time and the take another jump time. That's what IRStuff is talking about.


Mike Halloran
Pembroke Pines, FL, USA
 
-Mike answered the question; for a fragmented file, that process is repeated for EVERY fragment, despite the fact that the sectors are chained and and there is a reference in the file allocation table (FAT).


You move the head(s) to the sector. Period. What am I missing?

Because it's a spiral; you do not know, a priori, where the spiral is at any time, Period. This is what I meant by legs. A spiral eliminates one degree of freedom, since there is only one track and therefore provides zero information. Additionally, spiralling means that the head must be constantly changing radial position, which, at 8ms per revolution, imposes severe constraints on the head positioning servo, as the radial velocity is not a constant.

TTFN
faq731-376
7ofakss

Need help writing a question or understanding a reply? forum1529
 
MikeHalloran, I followed paragraph 1 fine. I think I might have gotten lost in the 2nd, because it seemed to be talking about delays in all drive technologies. For example, I assumed ALL drives went open loop in the gross movement from initial track to destination track and closed loop aligning the head precisely over the track.

IRstuff, you are right about fragmented files, but there are very few fragmented files. This computer I am using right now reports 2. I estimate there are actually 0-20 more based on failing sectors being remapped at a low level. And anyway, spiral and conventional are penalized about equally for any track change. And re spiral position, in my original post I mentioned I thought one would need to “add a sensor to track the platter(s) angle”. Doesn't that plus the head location let me know where on the spiral I am?

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 Track Sector Architecture
T1) 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 18ms

Read using Spiral Architecture
S1) 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 16ms

I'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.
 
The guys who know this stuff with real numbers for current state of the art are not going to get sucked into this conversation, for obvious commercial reasons.

I'm >guessing< that the track-following servo has to be fast and autonomous, and probably involves a phase locked loop. ... for which loss of lock is a big deal.

Maybe it could be done with just a microcontroller core driving the voice coil, but it needs many many bits of output voltage resolution to provide the fine control necessary to follow a spiral track. ... and reaquisition of a spiral track has to be a nontrivial problem, because you have to make the system lock on not just a radial position, but a radial position _at_ a particular angular position _and_at_ a very particular rate of change of radial position. ... again neglecting bearing runout and such.

It couldn't be any more difficult than hitting a high velocity missile with a hypervelocity missile. ... Has anyone done that consistently yet?





Mike Halloran
Pembroke Pines, FL, USA
 
OK. My takeaway (so far) is maybe HDD sectors could and should be organized in a spiral.

Could – MikeHalloran sees possible problems, but is talking possible implementation methods.
Should – I don't think anyone has shot a hole in the time savings, though IRstuff might still disagree.
 
If someone were to pay me a handsome rate, I'd love to write the firmware, for the challenge. I could easily burn up a couple of years. ... finding out that IRstuff is likely right.

... and in the meantime, solid state drive prices will fall farther, and the whole exercise may become irrelevant regardless of its outcome.



Mike Halloran
Pembroke Pines, FL, USA
 
As an example of IRStuff's comment, if you can imagine a room with filing cabinets along one wall and you are looking for some information in a filing cabinet... it is far faster to go directly to the filing cabinet in question rather than stop at each one on the way until you get to it.

Dik
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor