The add-on memory company I worked for was in a hurry to develop
memory for the 370/168.
... simple examination of the error reports, and simple
experiments from the front panel showed what was wrong. Due to a simple wiring blunder on the hand-wired write-buffer card, it was the address
for the N+1'th request that was used for the N+1'th write instead
of the older N'th address as intended.
And *how could IBM's "Memory Diagnostic" '3CC' miss such a trivial error?
Eventually I became a close colleague of the company's brilliant
Chief Scientist. He claimed to be the original inventor of March.
I alluded indirectly to this man (whom I playfully call the
"Mad Hungarian") earlier. (He and his pregnant wife snuck under a
fence to escape Hungary in 1956. I doubt if any old-timers here
can guess his name -- am I wrong?)
Al Kossow <aek@bitsavers.org> wrote or quoted:
I'm trying to guess the company
Advanced Memory Systems?
I think James mentioned AMS here in 2007.
James Dow Allen <user4353@newsgrouper.org.invalid> posted:
... simple examination of the error reports, and simple
experiments from the front panel showed what was wrong. Due to a simple wiring blunder on the hand-wired write-buffer card, it was the address
for the N+1'th request that was used for the N+1'th write instead
of the older N'th address as intended.
And *how could IBM's "Memory Diagnostic" '3CC' miss such a trivial error?
The simple test that caught the gross error that '3CC' missed was "March":
The MARCH Test for Memory:
Step 1: Set memory under test to all zeroes.
Step 2: for (A = Low; A <= High; A++) {
Read A and verify it is 0;
Write FFFFFFFF at A; // "march" 1's through 0's
}
Step 3: Repeat step 2, substituting FFFFFFFF for 0, and 0 for FFFFFFFF.
Step 4: Repeat with at least one more pattern to toggle parity and check bits.
James Dow Allen <user4353@newsgrouper.org.invalid> writes:
James Dow Allen <user4353@newsgrouper.org.invalid> posted:
... simple examination of the error reports, and simple
experiments from the front panel showed what was wrong. Due to a simple wiring blunder on the hand-wired write-buffer card, it was the address for the N+1'th request that was used for the N+1'th write instead
of the older N'th address as intended.
And *how could IBM's "Memory Diagnostic" '3CC' miss such a trivial error?
The simple test that caught the gross error that '3CC' missed was "March":
The MARCH Test for Memory:
Step 1: Set memory under test to all zeroes.
Step 2: for (A = Low; A <= High; A++) {
Read A and verify it is 0;
Write FFFFFFFF at A; // "march" 1's through 0's
}
Step 3: Repeat step 2, substituting FFFFFFFF for 0, and 0 for FFFFFFFF. Step 4: Repeat with at least one more pattern to toggle parity and check bits.
The two patterns which should follow these two are (in hex) 55555555 and AAAAAAAA.
(I tend to think of memory tests in octal, so its 252525252525 and 5252525252525252.)
Sysop: | Tetrazocine |
---|---|
Location: | Melbourne, VIC, Australia |
Users: | 14 |
Nodes: | 8 (0 / 8) |
Uptime: | 36:01:56 |
Calls: | 178 |
Files: | 21,502 |
Messages: | 78,782 |