23

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)?

Knelis
  • 333

5 Answers5

25

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.

ewwhite
  • 201,205
19

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.

Tom O'Connor
  • 27,578
2

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 ;)

linac
  • 121
0

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).

David Cary
  • 458
  • 5
  • 17
0

Dunno if it's the case with all SSDs, but my Samsung 830 EVO actually reports a head/track/cylinder count for backward compatibility:Piriform Speccy