28090Re: vintage SRAMs self healing
- Nov 13, 2012--- In firstname.lastname@example.org, "Mike" <mike@...> wrote:
>Hard to know the cause, if the effect can't be duplicated. A proper kind of test about "heat" versus "corroded pins" would possibly be something like this:
> Unfortunately I could not identify any issue related to connectivity, despite efforts to do so. A number of the parts that initially failed, never failed again when I restarted the test without touching anything at all.
> Wish I could discover some kind of software or hardware problem in the test setup, but so far, I haven't found any smoking guns.
> Mike W.
Take samples of the RAMS in question BEFORE use, and divide them up into a number of piles. One pile is inserted in a test board and tested as previously described.
Another pile is heat cycled to simulate testing, but not connected up, no DC power no socketing.
Another pile is put into and out of sockets, but not heated and not powered up.
Another pile has NOTHING done.
Do the testing and heating over the piles as described. Then, do a run of memory tests for ALL piles. See where the errors are. Run memory tests a number of times on ALL piles, see if errors go down. Report results.
Frankly, one would have to build a one-RAM memory tester to do this, or have bunches of RAM to test. Since it's unlikely the set of RAMS are of the same vintage and manufacturer and date of manufacture, I doubt one could "control" for these variables. It's something *I* may be able to do if I buy one lot of 2102's I"m being offered, but....I'm not likely to, it's a lot of work.
The more REASONABLE hypothesis, is that corrosion of sockets and IC pins caused the initial failures; repeated removal/insertion removed the corrosion. OR...the test computer worked "better", the RAM timing shifted, as it warmed up. Mid-1970's computer designs were not often "stable", and just a little difference in capacitance on the lines (address, data, clocks) could affect marginal performance. I assume a 2102 memory card is old and early, as more dense chips were available later.
There's a general degrading of memory "speed" with age, which I have assumed was due to semiconductor junctions getting "mushy" after three decades. But as I suggested, it could also be due to "mushy" components on the board. If someone designed a RAM tester with variable speed and timing, one could pin down some of these conditions by tweaking them.
Practical testing I have done, is to run RAM at faster and faster speed until failure - then use it only at slower speeds. Also, run it "hot" (use a hair dryer) and run it "cold" (stick board in freezer). That lets me identify marginal chips.
Side notes: Z80's are kinder to RAM than 8080's at a given clock speed. But Z80 instruction fetches are MORE demanding than memory reads/writes. Consequently, you can "ram test" a board with reads and writes and it will pass, but if you EXECUTE on that board it will FAIL. A classic Z80 memory test was called "worm". It moved a block of code up in memory, ran the code which if successful printed a memory address to console, then repeated the move/run/print. It "failed" when the console wasn't updated anymore, crashing into ROM or the top of RAM or a bad location. the console showed the last good running address.
That's how it was done, in the era.
- << Previous post in topic Next post in topic >>