56

In 1994 or so, we had an old computer at my primary school. I remember finding out that it had a park command. From reading its documentation, it said that this command should be executed prior to shutdown. At home I would simply switch off when I saw the DOS prompt and there were no more I/O-indicating lights. I remember thinking at the time that the computer must have been very old if it had to be parked prior to switching it off.

What is this park command? Is it likely that, in 1994, we would have had a school computer that really had to be "parked"? What for?

4
  • 1
    What DOS? AppleDOS? AmigaDOS?
    – idrougge
    Jul 11 '19 at 9:09
  • 1
    @idrougge I have no idea, sorry. I probably didn't know it at the time and I certainly don't know it now.
    – gerrit
    Jul 11 '19 at 9:43
  • 1
    @idrougge maybe the DOS that has a PARK command. Just a guess. Feb 29 '20 at 10:38
  • 2
    Put the computer into reverse until it crashed? Jun 30 '20 at 16:17
103

Hard drives have read/write heads which fly above the spinning disks when the drive is powered. When power is removed, the heads no longer fly... For a long time now, the arms which hold the heads have been designed to “auto-park” the heads away from the disks’ surface, or over a safe “landing zone”, when they lose power¹, but early (up to the mid 80s) hard drives didn’t have this feature, so their heads would land on the disk surface, which could sometimes damage the surface.

So early PCs had a PARK command which would park the heads away from the disk surface. Typically, this would attempt to move the heads past the last “official” cylinder (over an “engineering cylinder” on MFM and RLL drives), or, starting with ATs, use the landing zone specified in the BIOS drive parameter table (accessed using the vectors stored at interrupts 0x41 and 0x46). You can see one such implementation in Roedy Green’s PARK which comes with source code, or in Jim Leonard’s disassembly of SpinRite’s PARK.

On PCs with auto-parking heads, it was safe to wait for the DOS command prompt, and the lights to switch off: COMMAND.COM ensures that I/O is finished before it displays the command prompt (and in-memory disk caches are supposed to honour that too).

(In fact, this feature is what allows Roedy Green’s PARK to work too: you’d wait for the command prompt, so there’s no outstanding I/O, then run PARK, which would be loaded from disk, then run with no I/O apart from parking the heads, then either loop forever or return to the command prompt which would normally not result in any I/O either, so the heads would remain safely parked. SpinRite’s PARK waits for the user to press a key, so the user can power the computer off without pressing a key and thus ensure there’s no untoward I/O.)

New PCs in 1994 wouldn’t need this, but it was common for schools to have very old computers, and an early PC requiring PARK wouldn’t be unheard of. Old habits die hard too, so it’s possible that the advice to run PARK was kept alive long after it stopped being relevant, but that would have involved copying the PARK command since it was system-specific and not part of DOS.

If I remember correctly, IDE drives never needed PARK, so you’d only find it on PCs equipped with pre-IDE drives (commonly referred to as MFM or RLL drives).


¹ Or nowadays when they detect a sudden movement.

18
  • 4
    I recall park. The lore was "run this before moving the computer". Apparently the disk heads landing wherever was no problem. The disk heads being shaken while moving the computer was. Shrug. Who knows what the lore really should have been.
    – Joshua
    Jul 2 '19 at 23:32
  • 8
    @Joshua The Zenith 8088 I had growing up had a command called "ship", which parked the heads. That confirms the "protect the computer while being moved" idea behind the command.
    – Tristan
    Jul 3 '19 at 14:20
  • 3
    This reminds me of the sync; sync; sync we used to do before shutting down Unix workstations. utcc.utoronto.ca/~cks/space/blog/unix/TheLegendOfSync Jul 3 '19 at 20:45
  • 5
    I had to try it - but Windows 10 says it doesn't know how to park. Well, at least I won't have to worry about where it's going after a date with that Linux guy... :-) Jul 4 '19 at 17:33
  • 5
    The auto-parking mechanism in relatively modern hard drives is actually a pretty nifty function: It uses the mechanical energy of the spinning disk to generate electricity (as the drive is no longer powered) to move the heads to their landing zone.
    – tofro
    Jan 20 at 12:01
9

This command is supposed to place HDD heads on "park" position.

1
  • 6
    This answer is correct, but could be better by explaining where the park position is, why its a good idea, and perhaps why we don't need to do this nowdays.
    – Criggie
    Jul 6 '19 at 4:11
4

Older drives moved the heads using a stepper motor, which would be fed pulses to move the drive inward or outward either a track or half a track at the time (units which used two pulses per track could achieve better positional accuracy). If a drive lost power, the head would be left sitting wherever it was. While most drives would include mechanisms to prevent a head crash in the absence of mechanical shock, mechanical shock could damage whatever the portion of the disk the head happened to be sitting over, causing data loss. A "park" command would typically move the head over a portion of the disk that would never be used for storing data; slight surface damage there couldn't cause data loss, because there would be no data there to lose.

An advantage of using a stepper motor as a head actuator with lower density drives, which becomes a major disadvantage with higher density ones, is that the steps on the motor can be used as positional references. This avoids the need to use some more complicated form of positional reference, but requires that the tracks be quite wide relative to the any mechanical uncertainties caused by thermal expansion or other factors.

Newer drives use a voice coil mechanism which feeds a varying amount of energy into a coil to push the drive head carriage in one direction while a spring tries to push it back. Unlike a stepper motor mechanism, which has a fixed association between motor steps and disk tracks, a voice coil mechanism offers no fixed association between coil current and head position. Instead, it relies upon the drive continuously reading markers stored on the disk saying e.g. "You are 3/4 of the way between tracks 593 and 594, recognizing that it wants to be on track 735, increasing the coil current a moderate amount, then reading a marker "You are 1/4 of the way between track 735 and 736", and then decreasing the coil current just a smidge."

Voice coil mechanisms require more sophisticated electronics, and thus used to be more expensive than stepper-motor mechanisms, but they can offer vastly higher densities because head positions will automatically adjust if changing temperatures cause the disk to grow or shrink slightly. They have the additional advantage that if they lose power, the head will immediately be retracted to the end stop, which can be designed to keep it away from the disk.

I don't think there's any technical difference between an IDE interface and the older MFM or RLL-based interfaces that would eliminate the need for a "park" command when using the latter, except that by the time IDE became popular, the electronics needed to use voice coils had come down in price to the point that stepper motors would no longer offer a price advantage.

2
  • As far as IDE, my understanding (but I haven't researched it) is that IDE included a lot more circuitry on the drive (i.e., most of the "controller" that previously was a separate card), and that parking could therefore be incorporated, in whatever fashion deemed best by the manufacturer based on the particular drive technology, taking that task away from the user and/or operating system. 2 days ago
  • 1
    @manassehkatz-Moving2Codidact: If an IDE drive used a stepper motor, making it auto-retract heads on shutdown would require that the drive store enough energy to accomplish that. Nothing about the IDE standard would forbid a drive from including and using such energy storage and circuitry to use it, but the electronics to accomplish that would almost certainly be more expensive than the electronics to use a voice coil mechanism, thus effectively eliminating almost any possible advantage a stepper motor would have.
    – supercat
    2 days ago
1

in 1989 when I purchased my Tandon pcx-20 it had and still does (yes i have it still) a park command and had a tandon tm503 full height 3600rpm 20mb mfm hd service manual for drive states any shock past 20g will damage the drive! In a tandon 501-503 series this COMPLETELY moves the heads past the media to a designated parking spot for the assembly.

Reason for park is the damage to head and media hitting each other during shipping would be much more catastrophic then vs now. servos like we have are not as delicate either today as they were in 1988.

Nowadays servo's autopark the head in newer drives,they don't even always have air inside now sometimes even helium is used!!!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.