Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Hardware

Delaying Hard Drive Power Up? 53

Bamfarooni asks: "Does anyone know of a device that will delay powering up your hard-drives (or other internal devices)? We're trying to put a pile of IDE disks into a big disk server but the spin-up power for these disks is about 3x the maximum operating current. Rather than put in something really big like an 800W power supply, if we could just put something in-line that delayed the power through specific connectors for ~1 second, then we could mange with the built-in power supplies we already have." An interesting thought, but wouldn't the BIOS need to be aware of whatever delay is introduced? Otherwise it may interpret the delay wrongly and think that the drives on the IDE chain have timed out and are faulty.
This discussion has been archived. No new comments can be posted.

Delaying Hard Drive Power Up?

Comments Filter:
  • by Anonymous Coward
    Buying a larger power supply would be much more cost efficient than trying to devise some device that alternated current between hard drives.

    There isn't any glory in such a hardware hack. There is just a lot of wasted time for a non-issue.
    • Not true. It depends on WHY. In this case, perhaps the poster for a $.20 part that can be added to an existing production line, rather than a $10 increase in cost for a larger power supply, plus costs of wasted pre-purchased equipment...

      Besides, it's a startup problem, not a normal operation problem.

  • External (Score:2, Interesting)

    by hogsback ( 548721 )
    Just move them outside the box [recoverdata.com] with their own power supply.

    Seems a lot safer and easier than trying to 'fool' them.
  • I Had a problem with one drive in which it acctually was starting up slower then the rest. Because of this, BIOS was thinking it wasn't there. A Simple soft reboot will go again, they wouln't have to spinup because they have already, and then they will all be found.

    Another thing that worked with the same drive with an older mobo was that it would do all the memtests and check for floopies, and then search for them, and because it had like 30 seconds already to ready it's self, it was found. So if you can find a way of delaying through memory tests and floppy seeks that might work too.
    • Yup, seen that, except this was the only drive in the system...

      Basically, on a cold boot, the system wouldn't start; you had to either disable the fast boot options in the BIOS or power up, wait 5 seconds and hit reset.

    • Couldn't you just set the hard drive options in bios, and then not have to scan for it at first?

      (this would probably work best for a non-booting drive)
  • Bite the bullet (Score:2, Interesting)

    by CounterZer0 ( 199086 )
    If your power supply can't handle booting, it needs to be upgraded! That's like always having to have someone around to jump your car...it means something is underpowered and not working right. You might wanna try DUAL power supplies, instead of one MEGA power supply...it's how we support 12+ Ultra3 SCSI drives in one box in all of our servers ;)
  • SCSI Can do this (Score:5, Informative)

    by Xunker ( 6905 ) on Thursday January 10, 2002 @03:41PM (#2818418) Homepage Journal

    I know you probably realize that SCSI does/can do this. But I also know that you're probably using IDE because SCSI drives of comparable size will be like twice the cost.

    But, you might look into a hybrid solution by using SCSI-to-IDE converters. I'm not sure if the 'delay spinup' feature is dependent on the drive itself or just the SCSI Host Card, but if it's the SCSI card that does delayed spinup, you might be able to do this.

    Something like this [cardaysupply.com] is what I'm thinking about. Of course, they charge $70 each adapter (which means per drive, too) -- though you may be able to get a better deal somewhere else.

    Also, depending on OS, have you looked into a firewire solution? THey don't delay spinup, but you can use external power with them (via the drive or the hub/repeater).

    • Thats right, just use scsi drives. SCSI drives are designed to be installed in large arrays. The controller and drives support stagger starts, so that they spin up individually.

      Always use the right tool for the right job.

      IMHO, a large scale IDE array == Dreamcast Beowolf Cluster

    • I have several older IBM SCSI drives (they're "only" 9.1 GB... geez...) that offer this option. It's a jumper that can be optionally set to command a delay of (x seconds) times the SCSI ID -- it has to be used in conjunction with the Auto-Start jumper.

      The other option is from the host adapter: the 'unit start' command. Don't know if the SCSI-IDE adapters will do any good and heed this command...

      Thinking about it, what with all the power saving and sleep modes that are supposed to be in HDs these days... you'd think you could just delay the start and get the BIOS to play along.

      (Perhaps this is something the Linux BIOS Project can address?)

    • I'm not 100% sure, but I don't think that approach will work; IDE-drives even power up when the IDE-cable is not connected and as far as I know the IDE-protocol doesn't support such a feature so you'd have to use SCSI-drives.
  • but wouldn't the BIOS need to be aware of whatever delay is introduced?

    Some motherboards settings (including a crappy Gateway i was messing with yesterday) have a "harddisk predelay" that you can adjust a time period before it polls for harddrives.

    Adjusting that setting higher would address that.

  • i'm not sure what would happen exactly, but i've plugged in cooling fans to my power supply before, and had then spin up with (seemingly)no ill-effects. once you had all your HD's installed (assuming this is a linux box, or OS box of the low-crash/need for upgrade variety), boot with one or two HD's, then continue to plug them in as needed, letting them spin up. Soft reboot, and presto, you're ready to go. Hopefully you won't blow a drive ; )
    Also, you could turn on the computer with one HD, let it spin up, turn off momentarily, plug in second, let it spin up, turn off, plug in and turn on, ect ect....just make sure the drives don't have a chance to spin down completely, so you don't have to overcome the inertia of spinning up all those platters at once.

    make sure the hard drives won't power down, if the computer came back from sleep mode, you'd probably blow the power supply after the third time ; )
    • boot with one or two HD's, then continue to plug them in as needed, letting them spin up. Soft reboot, and presto, you're ready to go. Hopefully you won't blow a drive ; )



      A couple years ago (when I was a computershop tech)my JackAss manager was trying to "help" me build a PC faster so he could impress his customer. He took the liberty to plug a CD-RW in while I was installing some software.


      Long-Story-Short... he blew up the CDRW (~$250) and powersupply (~$30) AND shocked the hell out of himself. I always liked the smell of burnt flesh and electricity in the air when I was a HW rat. :)


      I don't hot plug IDE devices...

    • You know, I _have_ to hot-plug my drives on my linux box, because the power cables tend to fall out. (true!) This is the essence of an "Aww, fsck it!" situation when my hard drives fail. (I lost w that way once...a friend was using it as the cable fell out, had to copy in a new copy.)
  • Just to add a bit of clarification to why this sort of thing can be a problem, that might not want to be solved by just upgrading the power supply.

    Let us say that this is for MANY machines, not just a workstation or server in a box. Let us further say that existing harddrives and powersupplies are already in inventory.

    This could be a very real concern for many sorts of embedded/commercial applications.

    Tossing in a little dongle with a cap and a transistor in-line might work, along with an extra soft-reset... but presumably any EE should be able to design something that can do it, for cheap.

    • If the multiple PC's are identical, Let someone reverse engineer a power supply. Most have a timer on the Power Good line. It times out after the supply is stable. A selection of delay caps for the various supplies should delay the startup of the machines. This way when the mains for the rack is turned on, the machines would boot up after various delays.
  • Most Tower cases have plenty of room for one at the bottom or front of the case. Use it to power half the drives.
  • Umm... (Score:4, Insightful)

    by haplo21112 ( 184264 ) <haplo@epithnaFREEBSD.com minus bsd> on Thursday January 10, 2002 @04:43PM (#2819026) Homepage
    What not put the Drives in a separate box, with its own power supply that way you can start that box 10 seconds before the main CPU box....ATX tower case 350`400watt power supply fits/powers 8-12 drives $100...cheap and easy.
    • IDE (especially the newer Ultra ATA specs) is sensitive to cable length. A cable long enough to go from the interface connector in one case to drives in another would most likely be beyond IDE spec. SCSI supports long enough cable lengths to do this, but it also supports delayed start, so you wouldn't need to move drives to a separate ase/Ppowersupply anyway.
  • why not use a (Score:3, Informative)

    by moosesocks ( 264553 ) on Thursday January 10, 2002 @04:56PM (#2819107) Homepage
    Why not just use two or three 300 watt power supplies? A top quality 400 watt PSU is can be found for about $40-$60. Just get 2 for $80. Much cheaper than an 800w power supply (which doesnt even exist!)

    I forget what pins... but if you short two of the pins on the ATX motherboard connector, it powers up. In theory all you would need to do is make sure the drives all power up at roughly the SAME time. This could be easily accomplished with a few bits of wire and a doorbell :). Or, you could use an AT power supply, which doesn't need a motherboard in order to operate. Im not sure if the BIOS will recognize a drive that is already powered up, though?

    Some older bioses used to be able to init the hard drives at a timed delay. This was due to the fact that the hard drive wouldnt spin up fast enough to be recognized. This is no longer a problem, and has been omitted from all modern bioses.

    Finally, the timed spinup idea isn't really a good idea. If several hard drives spin down, and then all resume at the same time, it would overload the power supply, causing damage to the PSU, and most likely other (expensive) components along with it.

    Long and short: Use 2+ power supplies, attach both of them to a doorbell (or case button, but those are usually too small to attach two pieces of wire), and they will both power up synchronously.
    • 840w peak power here (Score:3, Informative)

      by Roadmaster ( 96317 )
      The folks at PC Power and Cooling [pcpowercooling.com] have this monster which, altough comprised of 2 separate hot-swappable 420W PSU's, is supposed to be able to deliver 840W peak.
    • Guess I'm imagining that old Versyss server taking up room downstairs... And I think its PS even has standard 4-pin molex connectors (although it still wouldn't work very well as the only supply in a new system, as it lacks either AT or ATX mobo power connectors.)
    • Some older bioses used to be able to init the hard drives at a timed delay. This was due to the fact that the hard drive wouldnt spin up fast enough to be recognized. This is no longer a problem, and has been omitted from all modern bioses.

      Actually, I think you might have it backwards. The only BIOS I've seen with the option to delay the IDE scan is the one on the A-Bit KT7A I bought last month, and I've seen dozens of different PCs, from the 8086 on up, name-brand and no-name.

      Melissa
    • Atx Startup: Green and any black
  • Another solution (Score:2, Interesting)

    by infernalC ( 51228 )
    I would reccomend putting some drives in another case, but here's an alternate solution:

    Get a housing that will hold a bunch of two-circuit switches, one for every two drives. Get a bunch of those little hdd power cable ends (male and female) and some Y-cables, one for every two drives. Get the switches as well. Put the switches between the power supply and the drives. When you power up, throw a switch and let one pair spin up, repeat until done. Set a boot password on the BIOS. Don't enter it until all drives are spun up. If it does IDE detection before the passworf prompt, just do a soft reset.

    This is really dumb. Get another power supply, or get one of those nifty DEC StorageWorks towers from your nearest data center that's chucking them out the window.
  • I had a similar problem with a standard case in which I stuffed a dual processor motherboard and eight peripherals. I simply connected five of the eight drives to a second power supply. Cheap and effective, it just means that I have a second power switch to flick, but since it happens about once a month that's not a big deal. On the other hand, the second power supply was ripped from another PC and sitting on top of the tower with the dangling cables it is indeed quite ugly and my wife hates it, although I like the extra cachet that exposed guts provide.
  • Time delay relays (Score:5, Informative)

    by bbk ( 33798 ) on Thursday January 10, 2002 @06:52PM (#2820072) Homepage
    Any good electronics shop or catalog should have 120v relays with a preset delay on them (usually 5-20 seconds). I have several 5 second ones on a rack of AV gear where I work, ganged together so equipment turns on 0, 5 and 10 seconds after the switch is thrown.

    They're pretty cheap ($20), and if you've got drives on a separate powersupply, hooking it up should be trivial.

    BBK
  • An interesting thought, but wouldn't the BIOS need to be aware of whatever delay is introduced? Otherwise it may interpret the delay wrongly and think that the drives on the IDE chain have timed out and are faulty.

    If you're running NT on those servers this might be a problem, but with linux it shouldn't be. Linux pretty much ignores the bios and does it's own hard drive searching. So that problem shouldn't be a problem at all.

    As for the power issue, why not use one of those PCI-to-PCI extenders that will give you and extra case, and an extra power supply to put more drives in?

    • It's true that the Linux kernel will see drives that the BIOS did not detect, but it has to boot first. Obviously then, the drive with the bootloaded can not be on a delayed start - or you'd have to boot initially from other media.
  • by man_ls ( 248470 ) on Thursday January 10, 2002 @07:17PM (#2820241)
    SCSI does this automatically...drive spin delay can be totally disabled until a START UNIT command is issued from the controller, or set to delay spinup 12sec * SCSI ID.

    Very handy for big arrays.

    JWK
  • On old hard disks, there was a jumper to control spin-up - you could either have the disk spin-up automatically, or when it is first accessed. You could probably get away with telling the BIOS only about the boot disk, and when the operating system loads its IDE driver, the rest of the disks would spin up (most OSes disregard BIOS and talk to the controller directly, though I would not be surprised if this fails under Windows). If you're using an OS that you can hack the drivers to, it would be simple to put in a delay after initialization of each device.

    Note that you might be screwed if the drives decide to spin-down for powersave, and then spin-up simultaneously. Unless you hacked the IDE driver (noflushd on Linux could be modified for this but.. overloading the power supply like this is really asking for it. Bad things will happen.)

    Of course, this is all back in the 486 age with 200MB IDE disks and BIOSes that didn't auto-probe the disks, blah blah blah.

  • He'll tell you what you need in 2 words:

    Big Caps

    Put one on each the +5 and +12 volt rails going to your drives. Be sure they're charged and isolated from leakage before powering up the system.

    You could do a 2 stage power-up for your system. 1st stage uses the regular switch on your powersupply and does nothing but charge up the caps. Second stage is when you actually apply power to the motherboard and all your drives inside. This would require a separate switch that could turn on/off all the +-5 and +-12 volt legs necessary. A few relays or solid-state relays would do nicely, perhaps a plain triac or SCR on each would do, but you'd need to do some reasearch on those. I haven't messed with them for some time now.

    After you hit the 2nd switch, the drives would get the current they need from both the caps and the regular [underpowered] supply.

    Of course this is all a bit more work than just getting another small powersupply for $15 or so like everyone else is suggesting -- but you asked the question.
    • You could do a 2 stage power-up for your system. 1st stage uses the regular switch on your powersupply and does nothing but charge up the caps. Second stage is when you actually apply power to the motherboard and all your drives inside.
      Just looking at an old 2GB drive I have sitting here: 570mA @ 12V. Let's assume startup takes 5 seconds.

      That means we need 0.570A * 5s = 2.85Columbs of Electrons. At 12V that would take a 2.85Q/12V = 238,000uF capacitor to hold that much charge. Of course you need to keep the voltage up so you need a much bigger capacitor, lets say by a factor of ten (I don't feel like doing the math to figure it out exactly based on the voltage on the cap) giving us a 2.375F capacitor. That would be physically huge, larger than the disk array. And you need another one for the 5V.

      On the other hand some lead acid or NiCad batteries might work. Keep them float charged from the power supply and you would have plenty of startup current and pwoer backup. A car battery will provide over 100A for a short time. Only problem is getting the voltage right. 10 NiCad cells is about 12V and 4 NiCads is about 5V, but I think you would need something bigger than a D cell.

      As stated above you would probably be best off with multiple power supplies.

      • Let's assume startup takes 5 seconds.


        Though I agree with you that perhaps some form of battery may be a better solution, I highly doubt that current drain would remain at 1/2 Amp for 5 seconds. I just can't see that happening.


        It would greatly depend on the individual drive and I'm guessing the max current drain of 570mA would only be required initially, and for a very short period of time. I'd imagine the draw would drop off at an exponential rate for maybe 3 seconds total on a modern drive as the platters gain momentum. [It'd be fun to plot right?]


        Plotting the current draw as one of the drives spins up, integrating over the time of increased draw, and multiplying by the number of drives to get a Coulomb would be a much better way of deciding what kind of caps are needed than assuming they would draw 1/2 amp for 5 seconds each...

  • Cheapass (Score:4, Interesting)

    by Ratbert42 ( 452340 ) on Thursday January 10, 2002 @08:28PM (#2820649)

    Rig some toggle switches on both power lines to each drive and have the operator manually turn on the drives as the machine is powering up.

    Or do the right thing and go SCSI.

  • Use scsi drives. They've been able to do this for quite some time now. Two suggestions (that I saw) have been made to make it work with IDE drives:

    1 - use some kind of SCSI adapter with your drives. This will not work. The support for delayed spinup is in the hardware of the drive itself - if you have a drive that doesn't support this feature (i.e. IDE drives) it won't work.

    2 - set up some relays or something and switch the power going to the drives. This is a huge kludge, and will work with the following caveat - the drives (and controller) *must* be hot-swappable. Otherwise your system will crash when you start turning on the drives.
    So unless this is a basement project - *go* *SCSI*!

  • You might try building a device like this [pjrc.com] which would allow you to interface directly with the drive controller. [If you don't need something as complex as shown at that link, I'm sure with the references linked from there, you could put together something].
    By doing this, you could apply power to your drives before you boot, and use something similar to what's described above to spin them up.

    This would allow you to control the high current draw by spinning the drives up in whatever order you'd like before you electrically remove the "spinner-upper" from the drive electronics and allow the computer to boot normally. (This is assuming that a 2nd spin-up signal from the BIOS wouldn't freak out the drive.)

    You can find an IDE Hardware Reference & Information Document here [repairfaq.org].

    To be very honest, I can't really see anybody implementing something as complex and convoluted as what's described above, particularly for multiple drives - but a properly programmed PIC chip or development board, with a bunch of IDE headers for the drives, that could spin up the drives however you'd like, then pass-through the original IDE signals from the motherboard, at boot time - POTENTIALLY, Potentially Could ... save you the forty bucks an additional PS would cost you.... :)

    You can see another suggestion of mine for this project here. [slashdot.org]

    Good luck!
  • Could try SCR's (Score:2, Informative)

    by Theta116 ( 325166 )
    Use SCR's at every drive with a Resistor/Capacitor to time the gate. Each drive down the line would have a longer Time Constant. A .3 to .5 voltage drop shouldnt cause any problems.
  • Use a couple of ordinary PC/AT power supplies just to power the drives. Run them up first, then hit the power on the main PC...

    Alternatively, you could use some kind of delay circuit to switch the drives in sequence, finally pulling the orange "power good" line to +5v.
  • /humor
    Be sure not to use excessive force while spinning up your tape drives, as you might stretch and tear the magnetic tape. This would most likely ruin the data stored on them.
  • I've got 7 IDE drives in a regular ATX tower, all hooked up to a 400W power supply I bought at CompUSA for 80 bucks or so.

    http://leifcx.tripod.com/photos/hardware/leif.cx -s erver.jpg

    (copy and paste the URL, tripod cares too much about the referrer field)

    The picture only shows 6 drives, I've added a drive since it was taken, right under the floppy drive. The 400W power supply powers all of them, including the floppy, two dvd drives and a cd writer, apparently without breaking a sweat.

    You're not trying to run that many drives on a standard 200W supply, are you? :)

    Keep in mind that the 400W spec is continuous power handling - it should handle way more than that momentarily, and that's probably what makes my setup work.

    Just my two cents.

    By the way, the server was serving my domain leif.cx until I moved and lost the DSL line. Damn it!

    ///Leif
  • IBM drives (or the 75GXP series at least) support delayed spin up, with a jumper-setting. The snag is that the OS, BIOS, or controller card would have to send staggered 'start unit' commands (or maybe you could do it with hdparm or similar in user space for the non-boot drive). I had a similar problem (total current exceeded PSU's paper spec, but in practice over-current protection didn't kick in), and contacted 3ware's [3ware.com] tech support, who said they'd put it on their wish list. No idea if they've implemented it in their new firmware, but might be worth checking it out. IBM detail the AT commands needed to start the unit in the drive docs..

To do nothing is to be nothing.

Working...