Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

A customer of ours makes industrial robots that run on very old, but stable, hardware and software. The only bottleneck has always been the hard drive in these moving machines. Due to constant movement (shocks etc.) HDDs normally don't survive beyond six months.

So now we're trying to connect an SSD. The motherboard doesn't have a SATA connection (no surprise there) so we're using a SATA-to-IDE converter to connect it to the IDE port on the motherboard. This works and the BIOS recognizes the drive.

Only problem is that it won't boot. It freezes on POST. In the BIOS (from the 1990s), we need to specify some values, called 'HEADS', 'SYL', 'CLUSTER', and 'LANDZ'. Unlike traditional HDDs, this drive obviously has no platters. Is there a way the drive mimics these things on IDE and can we somehow find out what these values should be for our specific drive? We have changed the values at random and sometimes it passes POST, sometimes it doesn't. If it does, however, it still doesn't boot and just says there's no drive connected.

In short, does anyone have any experience connecting a SATA SSD to an old IDE motherboard and what can we do to make this work (if anything)?

share|improve this question
3  
Blimey. My immediate response is "Good luck with that", but on the other hand, I'd love to know if it's possible. –  Tom O'Connor May 8 '13 at 8:29
    
How much space/capacity do you need? –  ewwhite May 8 '13 at 13:16
    
Slight side node: Platter drives used CHS addressing a long time ago, but no modern drive actually uses it. CHS can only address ~8GB of drive; anything larger than that is using LBA. –  Chris S May 8 '13 at 13:29
    
So what did you decide to do? –  ewwhite May 13 '13 at 19:08
    
They're going to choose between industrial SSDs and CF cards. For their low cost, I think CF is going to be tried first, but if they wear out too quickly or are not OK for other reasons, I'm sure they'll opt for an SSD with IDE connection. –  CornéM May 14 '13 at 7:34

4 Answers 4

up vote 24 down vote accepted

I would use an industrial IDE SSD...(another option). It doesn't sound like you need much space, and there are SSDs made specifically for this purpose. I would NOT bother with IDE adapters and consumer-level SSDs for this application. If you do go for compact flash, again, try something that's purpose-built for the application.

share|improve this answer
    
IDE SSDs.. That's like putting a 4.2l V8 engine in a golf cart. –  Tom O'Connor May 8 '13 at 11:55
14  
Not really. When you have a significant investment in specialized hardware, you have to maintain it in whatever manner is possible. I do cringe when I see RS232 serial communication and Windows 2000 control interfaces on a $3 million tomato-sorting machine, but it is what it is. –  ewwhite May 8 '13 at 12:30
4  
+1 A manufacturer offering a specific part such as this should be able to provide better support in this situation - specifically, they must have encountered the problem with spindle settings for old BIOSes –  Colin Pickard May 8 '13 at 15:21
    
Thanks, I've also suggested this to them. It's now up to them to decide what they will end up using. I guess they'll try CF first because of the relatively low cost, but these SSDs may be the best alternative, therefore I'll mark your answer as the correct one. –  CornéM May 14 '13 at 7:35

Does it have to be a SATA SSD? CompactFlash cards are pin-for-pin compatible with the ATA standard 1.

Which means you can use a passive electrical adapter to connect one to an IDE cable (or two!). Would this give you enough space (I've seen some mahoosive CF cards...), I wonder.

It'd give you the reliability of solid state memory, and the oldness of IDE/ATA.

share|improve this answer
1  
For what it's worth, I have used CF cards connected via IDE adapters many times in the past. They always worked flawless and excellent. However, there is one drawback: They have no wear leveling controllers, meaning that traditional operating systems tend to write the same spot again and again and wear the cells out, so you end up swapping the cards possibly even more often. In my cases, I used specifically configured Linux distributions that kept most of the stuff in RAM disks and wrote the relevant stuff back in long intervals, but that's not going to work everywhere. –  Sven May 8 '13 at 8:52
1  
1  
Come back and let us (me!) know how it goes. –  Tom O'Connor May 8 '13 at 10:47
2  
@SvW: Wikipedia says that at least some CF cards have wear leveling these days. If you can't find one that does, you could always plug an SD/CF adapter to your CF/ATA adapter and use an SD card. Bonus points for using a MicroSD card in a MicroSD/SD adapter in the SD/CF adapter... –  Ilmari Karonen May 8 '13 at 23:28
2  
They make CF cards specifically intended for industrial applications, to be used as a hard drive. They're more like tiny SSDs then a normal CF card, but they're in the CF form-factor. That may be worth looking into. –  Fake Name May 9 '13 at 8:05

I use an IDE SSD in one of my older laptops* (not from the 1990s, its from 2005). It works completely flawless so far. I chose the Super Talent DuraDrive ET2 with 128GB which was about 140€ (seems to be much higher on amazon.com). If you are aiming for industrial machines, I don't think you should care about a few hundred dollars and go for drives made for that environment (see ewwhite's answer). Even if the hardware could be identical, the support surely isn't.

*Did it mostly out of curiosity, and it did give a nice responsiveness boost (not that hard ... the laptop wasn't build for Win8 back then). The laptop is mostly used for in-the-field audio recording, the reduced noise and increased shock resistance helped to somewhat "justify" the "investment", mostly curiosity though ;)

share|improve this answer

we need to specify some values, called 'HEADS', 'SYL', 'CLUSTER', and 'LANDZ'. Unlike traditional HDDs, this drive obviously has no platters. Is there a way the drive mimics these things on IDE and can we somehow find out what these values should be for our specific drive?

Does your BIOS not support "HDD auto detection" ?

My understanding is that, for compatibility with older IBM-PC compatible BIOSes such as your system, every IDE drive with over 8 GB of storage uses fake cylinder-head-sector values of (512 bytes/sector)×(63 sectors/track)×(255 heads (tracks/cylinder) )×(1024 cylinders)=8032.5 MiB -- the so-called "8 GB limit".

My understanding is that IDE drives with less than 8 GB of storage often specify 255 heads (tracks/cylinder) and 63 sectors/track and however many cylinders are needed to fill the disk.

The landing zone on a hard drive is usually near the inner diameter -- i.e., at or beyond the largest track number.

My understanding is that many DOS-like operating systems use FAT16. With large disks, people generally set up FAT16 partitions with the maximum number of sectors per cluster -- 2^64 sectors per cluster. With the standard 512 bytes/sector, this results in 32 KiB per cluster. FAT16 is limited to at most 2^16 = 65536 clusters per partition. That is why FAT16 is limited to a maximum partition size of about 2 GiB.

I've seen IDE hard drives with a "compatibility" jumper. With the jumper in the default position, the hard drive correctly reports its actual size, which confuses early operating systems that never expected to work with such a huge hard drive. With the jumper in the "compatibility" position, the hard drive lies and says it's much smaller -- it wastes some space, but at least those early operating systems can now run.

it still doesn't boot and just says there's no drive connected.

Can you tell the difference between "no hard drive detected", vs. "found the hard drive, but it hasn't been formatted yet", vs. "I see a boot partition on this hard drive, but there's no operating system on it to boot"?

Can you boot the machine on some other media (perhaps a live CD or another hard drive with the original operating system?) and then try to format the new, blank hard drive? (That way Sector 10 will be exactly where the machine expects to find Sector 10, no matter how messed up the settings are).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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