I've been performing a software mod on an aircraft computer for about five months. These computers were designed in the 1990s and utilized a FLASH memory chip that is now obsolete and scarce. Honeywell released new software that would allow the computer to work with newer FLASH memory chips.
Performing the mod is simple. I power up the computer and install a PCMCIA card containing the new software. It loads automatically. As standard procedure, I reload the main database and application software too.
Since December, I've had three computers fail Bank 5 after installing this software. Computer memory is divided into seven different banks, and Bank 5 would test as blank. I thought I was seeing a hardware failure - not uncommon after an upload - so I replaced the address and control circuits on both the memory board and its interface on the main board. Nothing helped.
I talked with our Honeywell rep about it. He emailed an engineer at their repair facility, and the engineer suggested a simple fix that I hadn't considered. He suggested installing the big database on a fresh PCMCIA card to try on the computers. It worked!
Now I'm trying to figure out why my other PCMCIA card would cause failures on just a few computers while loading flawlessly on others. Regardless, it's going in the trash, but I'm curious as to why it would fail. I've read a bit about wear leveling in FLASH memory, a scheme that extends the useful life of a chip by using an address map to prevent repeated read/write operations from causing failures. That's a possibility but if the engineer gets back to me with something definitive, I'll update this.
Regardless, I had three computers that had me mumbling to myself with frustration, but now they're all going away!