I worked on 8 and 16-bit multi-microprocessor systems at TekLabs in the late '70s. We assemble computers out of standard boards. Much to my amazement all our MemoryCardsHadBugs, the same bugs, SynchronizerFailure?.
It's true. Every memory card we tried had bugs. These were commercial products from big name memory manufacturers. The cards all used dynamic ram which has to be refreshed. If you don't refresh, the ram forgets.
Whenever our multi-processor was acting a little flaky I'd ask JeffBradford? to take a look. Jeff would hook up his MissingEventTrigger? to the memory card's refresh circuit. We'd wait a few seconds and then, FLASH, we'd catch it failing to refresh memory. With a solid trigger we could then see what led up to the failure with a LogicAnalyzer.
They always turned out to have poorly designed SynchronizationMechanisms. These are the circuits that judge the race between a processor's access to memory and the refresh circuit's access. With one processor in the system it would tend to work. Plug in two or three and you'd have SynchronizerFailure?.
So why every card? They all used different circuits. They all had the same bug. Jeff guessed that a semiconductor company would always put a beginning engineer on a ram card design -- someone who didn't know what to watch out for. I figured they just didn't have a MissingEventTrigger?. -- WardCunningham