Upgrading an IBM L40SX to an SSD

(Well, at least to FLASH based storage ...)


Introduction

IBM L40SX laptopBehold the IBM L40SX - a beautiful old laptop from 1991. It is based on the Intel 80386SX running at up to 20Mhz. There is 2MB of RAM standard that is upgradeable to 18MB by adding two specific 8MB SIMMs. VGA graphics are onboard, but the display is just a super-twist monochrome LCD. I use mine with a parallel port attached Ethernet adapter to cruise the Internet retro-style.

Mine had a 60MB Conner laptop drive which had long since left to meet its maker. It looked to be a standard 2.5" IDE hard drive; replacing it with something more modern would be easy. Except I felt guilty about putting a multi-gigabyte hard drive into a machine that would feel out of place with more than 100MB or so.

Also, there is a better solution - solid state storage. In 1991 nobody would have dreamed of a hard drive that was not based on spinning rust. In 2012 "thumb" drives that hold gigabytes can be had for a few dollars in Wal-Mart. Instead of putting another mechanical hard drive into the L40SX I decided to put in a "disk-on-module" (DOM) which is basically a different way of saying SSD (Solid State Drive).

A disk-on-module is basically a FLASH based IDE hard drive. Instead of having a real hard drive that spins platters and generates heat the disk-on-module provides all of the function of an IDE hard drive but does it using FLASH chips. Using a Compact Flash card with an adapter can be done too (see below), but disk-on-modules are designed to be direct IDE hard drive replacements so they are generally more compatible and probably will last a little longer than a generic CF card used as an IDE hard drive.

Before you get all excited and start tearing your L40SX apart I need to give you a warning. You will need to construct a custom cable to connect the disk-on-module to the machine. Disk-on-modules are designed to be plugged directly into the IDE header on a PC motherboard. This is not possible because the L40SX uses a hard drive cable that connects to a non-standard header on the motherboard. The custom cable will be used to connect the disk-on-module to the existing cable. More on that later ...


Replace this ... With this!
Connor 60MB laptop drive Disk On Module


Opening the L40SX

This is a seriously delicate operation. Proceed with caution.

The instructions I used can be found here: http://www.walshcomptech.com/ps2/l40hdd.htm

While those instructions are excellent, keep in mind that the ribbon connectors inside the machine are very thin and fragile. Here is a closeup of the connector for the ribbon cable that runs from the top of the case to the motherboard. Note that the connector opens, making it easy to insert or remove the ribbon cables. (Click on the pictures for larger versions.)

IBM L40SX connector closed IBM L40SX connector open
Top shell ribbon cables locked in place Top shell ribbon cables unlocked


IBM L40SX hard drive bayHere is what the hard drive bay looks like without the hard drive:

The hard drive mounting cage can be removed as per the instructions linked to above. On this particular machine you would have to remove the optional modem card, which is to the left. After that the cage can be unscrewed and lifted from the motherboard.

The cable fits the non-standard motherboard connector so don't damage it!

The custom cable that you are going to make is going to plug into this connector, where your old dead Conner hard drive used to do something useful.

If you look closely at the connector the keyed-out pin in the middle is pin 20. The connector is floating freely so in this picture it is upside down compared to what it would be like if it were plugged into the original hard drive. In this picture pin 1 of the connector is on the bottom right. When the connector is properly oriented (facing the back of the machine) pin 1 will be on the top row.

Device Pinouts

IDE pinouts can be very confusing so I am going try to explain this as best as I can. Below is a diagram of the L40SX cable connector, a standard laptop IDE hard drive connector, and a disk-on-module connector. Imagine that you are holding the device in your hand and you are looking directly at the connector - this is what you would see:

IDE pinouts

The red dots are pin 1 and the missing pin is the key where pin 20 normally would be.

If you were to take your imaginary hard drive and turn it 180 degrees to match the L40SX cable the pins would line up perfectly. But if you do the same thing with the disk-on-module you will see that pin 1 is on the bottom row when it really needs to be on the top row. This is a side effect of IDE cabling and the way that disk-on-modules are constructed; disk-on-modules are supposed to be plugged directly into a motherboard header, not a cable. The cable has moved pin 1 relative to where the disk-on-module is expecting it so we need to get it back to the right place.

Constructing the cable (or buy it!)

A laptop IDE drive cable has 44 connectors. To construct the custom cable you are going to need two 44 pin headers and a 44 pin ribbon cable. The cable only needs to be a few inches long; the shorter the better.

Custom IDE cableHere is the trick ... With the cable laid flat as I have shown, the top row of pins has to be connected to the bottom row of pins on the other connector. This acheives the flipping of the top and bottom rows that is needed.

Do not get too concerned about the orientation of the connectors or where the key pins are; just make sure that when you have the cable laying flat like this and the connectors are facing out that the top row of one side is wired through to the bottom row of the other. You can start trying to figure out if it is a cross over or straight through, but it just makes my head hurt.

One thing you do want to do is keep the red stripe of the cable somewhat aligned with pin 1 on the connector. That is just a convention and it will keep other people from getting hopelessly confused if they have to look at your cabling. Pin 1 is either on the top or bottom row, but at least it is on the right side of the cable.

Cable crimping tools are nice, but you can do this without special tools. Or better yet, pay somebody to make the cable for you. (Sometimes I wish I had.) When you do construct the cable, test fit everything first.

An easier alternative is to just buy a pre-made cable. Charlie M. pointed out an "IDE Gender Changer" cable (http://ep.yimg.com/ca/I/cablesonline_2225_10522787) from CablesOnline.com, who are the same source I used for the parts for the cable above. Their item number is FI-G41 and at the moment it is running around $10. Charlie used this on his L40SX and reports that it works well.

Putting it all back together

Be sure you can find pin 1 on your disk-on-module. Connect it to your cable with pin 1 on the red-stripe side of the cable:

DOM and cable


Next, install it in the L40SX. Note that the red stripe (pin 1 side) is on the same side as pin 1 on the motherboard cable connector.



I wrapped mine in the cable and used electrical tape to keep it from flopping around in the hard drive cage:



Then reassemble the machine. Carefully ...

Configuring the L40SX to use the disk-on-module

Your L40SX might not detect the change. If that is the case, boot using the reference diskette and run through the machine setup again. The reference diskette and other materials can be found at http://hpholm.dk/L40SX.html .

You should be able to partition and use the disk-on-module just like a normal hard drive. Except with super speed, less power, and less heat!

One caveat - if you use a disk-on-module that is greater than 512MB in size you will be hit by a BIOS bug that limits the number of cylinders to 1024. This prevents the BIOS from properly working with hard drive devices that have more than 1024 cylinders. See "Compact Flash - What size?" below for a discussion of the problem and a remedy.

Update: Using Compact Flash

In September 2016 I picked up another L40SX that needed all of the same repairs. After looking around at disk-on-modules that were on the market I decided to try out Compact Flash. (Disk-On-Modules are obsolete now and are getting expensive as the old stock runs out.)

In theory Compact Flash is easy to use for this project. Compact Flash emulates an IDE hard drive so with a very simple adapter you can use a Compact Flash in place of an IDE hard drive. While in theory this is true, there are some choices that need to be made when selecting the Compact Flash to use.

Compact Flash vs. Industrial Compact Flash

Compact Flash is not designed for the same usage patterns as an IDE hard drive. Compact Flash is designed for devices like digital cameras that write large blocks of data such as pictures or videos. Using Compact Flash as a replacement for a hard drive in a computer with a desktop style operating system has the potential to destroy the Compact Flash prematurely, as desktop operating systems often repeatedly abuse specific sectors of the device. (Think about the FAT directory sectors.) Remember, FLASH based storage has a limited life based on the number of write cycles. Devices that use FLASH are supposed to implement "wear leveling" to spread the writes out, but the wear leveling that is implemented depends on the manufacturer and device. Most Compact Flash has a minimalist wear levelling implementation that is good enough for digital cameras but is insufficient for the write patterns of an operating system like Linux, Windows or DOS.

How do you get around this problem?  Look for an 'Industrial' Compact Flash. Industrial Compact Flash is similar to a disk-on-module in that it is designed as a hard drive replacement. Often they are used in embedded systems, such as kiosks where space is at a premium and the conditions are too rough for a hard drive.  Industrial Compact Flash costs more but it should last longer for this usage. For an older computer restoration project a standard Compact Flash is probably good enough. I'm not particularly fond of opening the L40SX so I decided to go with the Industrial Compact Flash. In a less demanding project where replacing the Compact Flash is easier I might be tempted to go with a normal Compact Flash.

Compact Flash - What size?

The BIOS of the machine is old and dates back to a time when a 400MB desktop hard drive was considered huge. The BIOS has a design limitation that limits it to a maximum of 1024 cylinders when addressing a hard drive. (This same limitation applies to disk-on-modules or any other storage device going through the system BIOS.) My original modification using a disk-on-module avoided this issue by using a smaller disk-on-module. You can do the same with Compact Flash, but bigger might be better.

Why go bigger? Because bigger Compact Flash devices are newer and possibly have better wear leveling implementations. They also include more spare FLASH cells to use when the device gets old and the original FLASH cells start to die off. Both of these will hopefully mean that a larger Compact Flash has a longer life. (If you are only going to use a small subset of the Compact Flash then this might not be true.)

The only downside to using a bigger Compact Flash is that you will need to use "drive overlay software" to be able to use it.  Drive overlay software installs in the boot sector and replaces the built in BIOS INT 13 routines with updated ones that can address larger devices. It was often used in the mid 90s to allow larger hard drives to be used on older systems, and that same use case applies here. See https://en.wikipedia.org/wiki/Dynamic_drive_overlay for a more thorough discussion of drive overlay software.

I did not want to bother with drive overlay software so I tested it against larger Compact Flash devices but ultimately installed a 512MB Industrial Compact Flash, which the machine can handle without any help.

Pictures!

Here are the two parts I used to replace the original Conner hard drive; a 512MB Industrial Compact Flash and a Compact Flash to IDE adapter. At the time of this writing (November 2016) the Compact Flash was $15 and the adapter was around $7, both from Amazon.com. This particular adapter does not have the logic to make the hard drive indicator on the L40SX blink when it is being accessed, which is slightly annoying but not a deal breaker. Better adapters that handle that are available, but they are slightly larger in size and they cost a little more.

Note that unlike the disk-on-module upgrade, this plugs directly into the ribbon cable that the original hard drive plugged into. No custom cabling is required.

Compact Flash and IDE adapter
The bare adapter has exposed pins where the solder connections were made which can't be left exposed. To cover them I created a cardboard carrier that I wrapped in electrical tape to make it snug.

To install the new assembly in the hard drive tray required more cardboard and hot glue. As light as the Compact Flash is, you do not want it moving around inside of the machine. The cable that it is plugged into is fragile and can not be easily replaced.

If you are going to be this deep into the machine you should also consider replacing the CMOS battery. The original battery is a Panasonic BR-2/3A battery, which is a 3 volt Lithium battery. I used the more common CR-123A battery on my first L40SX but those do not have the same performance characteristics as the BR-2/3A and it did not last three years; the correct BR-2/3A should last much longer than that. Digi-Key has the exact battery that you want and as of this writing it is $4.99 - definitely worth getting. In this picture the battery is wrapped in cardboard to fill some space and secured to the Compact Flash assembly.

The memory standby battery (yellow, upper right) is a very small 45mAH 3.6V NiCD pack that is impossible to find. The machine will run fine on AC power without that, but presumably standby power for the memory will not work if that battery is dead. I will probably replace that pack with one that I construct, but getting cells with the correct characteristics was slowly driving me crazy so I set that project aside. (It's a shame that NiMH cells are not a direct replacement for NiCD.)
Compact Flash installed



Created August 25th, 2012, last updated November 25th, 2016
(C)opyright Michael B. Brutman, mbbrutman at gmail.com