However, Bert Heise, Executive Manager at IMB Jena, Germany, decided to test whether 128MB SIMMs would work in Indigo2. As Bert said to me, "To hell with it, let me try! It won't burn to ash, will it?" And indeed it did not. Here is the first hinv of Bert's Indigo2:
FPU: MIPS R10010 Floating Point Chip Revision: 0.0 CPU: MIPS R10000 Processor Chip Revision: 2.5 1 195 MHZ IP28 Processor Main memory size: 896 Mbytes Secondary unified instruction/data cache size: 1 Mbyte Instruction cache size: 32 Kbytes Data cache size: 32 Kbytes Integral SCSI controller 0: Version WD33C93B, revision D Disk drive: unit 1 on SCSI controller 0 CDROM: unit 3 on SCSI controller 0 Integral SCSI controller 1: Version WD33C93B, revision D Disk drive: unit 2 on SCSI controller 1 Disk drive: unit 6 on SCSI controller 1 On-board serial ports: 2 On-board bi-directional parallel port Graphics board: Maximum Impact Integral Ethernet: ec0, version 1 Iris Audio Processor: version A2 revision 1.1.0 Indigo2 video (ev1): unit 0, revision 4. Indycam connected. EISA bus: adapter 0
Bert confirmed that the 512MB kit works in any of the three banks; one might infer from this that 1.5GB is possible, but this isn't quite the case. In practice, there is a hard limit of 1GB, but this is still better than the 768MB limit that everyone has previously believed, and certainly alot more then the 640MB limit as stated in original SGI documents. It's a pity that one can't use three 512MB kits to have 1.5GB RAM (that really would have been very cool), but there does seem to be a 1GB hard limit, which is caused by the internal memory mapping used in Indigo2. Both Bert and Roger have tried various configurations and have confirmed this. 512 + 512 works fine (to give 1GB), but other configs such as 512 + 512 + 128, or 512 + 512 + 256 or 3 x 512 do not work. When trying more than 1GB, Roger said the fan comes on, the LED flashes orange, there is no startup jingle, no graphics or anything; "I tried it on two different systems, same results."
We have decided to call any Indigo2 which exploits 128MB SIMMs an "Indigo2 GigaRAM" system, since such a system would allow one to expand up to 1GB RAM. In my opinion, Bert's discovery deserves a nice catchy title to remember it by, and Indigo2 GigaRAM sounds pretty good. :)
Indigo2 never ceases to spring surprises. I can remember hearing of people who moved away from Indigo2 to Octane partly or mainly because of the assumed 640MB RAM limit, yet now it seems there was and is alot more life left in the Indigo2 platform than anyone thought possible. Large compilations, complex renders, etc. will all benefit from extra RAM. For 2nd-hand buyers, and those who are still using Indigo2 because of important software such as Alias, this is great news indeed, especially for those upgrading from R4K systems, ie. maximum RAM increase of 166%.
With respect to R8K Indigo2, there is a different limitation. SGI Documents insist that if the system has any 64MB SIMMs installed, then at leas one bank must have 32MB or smaller SIMMs installed. This implies a somewhat lower limit if 128MB SIMMs can be used in the other banks, but still better than 640B or 768MB. Indeed, David Cummings tells me that he has tried 128 + 256 + 512 and it works just fine! ie. R8K Indigo2 can definitely go up to 896MB. If SGI is right about one bank having 128MB or less, then 1GB is not possible. But SGI's been wrong before. I'll try out 256 + 256 + 512 at some point, but I need to find a 256 kit with a low profile first, in order to fit under the R8K CPU board; indeed, the second 256 kit also needs to be low profile as the CPU board partially covers the 2nd bank aswell.
My thanks to David Cummings for the R8K information. Note that, presumably, these new limits also apply to the Challenge DM server, though so far I've never come across a DM system.
There are obvious concerns though about all this, eg. what about heat output? Some of the 64MB SIMMs out there are pretty big, ie. alot of chips. On this subject, Bert told me:
I have seen this myself: later versions of particular size SIMMs have fewer chips on them because they use later versions of standard RAM 'parts'. In this case, each chip on the 128MB SIMM is a 64Mbit part (very expensive at the time), ie. 8 chips on either side of the SIMM = 128MB, plus 1 extra chip on each side for parity control. This also means that systems with problematic physical space considerations can benefit too, eg. the CPU board in R8000 Indigo2s take up so much room that typical 64MB SIMMs can't be used in the first bank. In Bert's case, he found that large 64MB SIMMs would block the air channel below the CDROM bay.
Some of you may be thinking, hang on, so the system can take 128MB SIMMs in hardware, but maybe the OS can't access the extra RAM space? On the contrary, it works fine. Observe the following screen shot from Bert's Indigo2:
This clearly shows the 512MB kit is being used, in this case by Bert running multiple copies of jot on a large file.
Another surprise is that the SIMMs Bert is using are tin-edge, not gold-edge. Again, conventional wisdom is that tin edge is more likely not to work, though in practice this bias towards gold-edge SIMMs is more to do with concerns over contact corrosion, dirt, and current flow. Keep the contacts clean, a bit of maintenance every few months, and they'll be fine.
However, not all SIMMs are made equal. The internal organisation of a SIMM is important. For Indigo2, one must use 36bit SIMMs, so an appropriate 128MB SIMM must have an internal organisation of 32x36, ie. 36bits wide (32bit + parity) by 32, giving 128MB per SIMM. I have seen other 128MB SIMMs which are not the same, eg. 16x72. Such non-36bit SIMMs will not work. As Bert said:
Also, a good indication that a SIMM is not parity is if the labelling on the SIMM, or a seller's description, says '32x32'. It should be 32x36 in order to imply the presence of a parity structure. For those with the obvious question, EDO RAM is not suitable.
The SIMMs Bert obtained were 2nd-hand, in his own words:
I had a hunt on Google and was able to find two sources which look ok:
After Bert emailed me, I contacted Roger Garcia of win2x.com to ask for help in running further tests with other RAM configurations and seeking sources of 128MB SIMMs; Roger is going to order quite a few modules, so if you want some, email him. Meanwhile, I'm going to import some to make it easier for UK/European/etc. buyers (lower shipping costs, etc.)
Roger was able to obtain four 128MB SIMMs and tested a 1GB RAM configuration (512 + 256 + 256) which worked fine. Roger told me:
Here is the screenshot:
and this is the hinv:
FPU: MIPS R10010 Floating Point Chip Revision 0.0 CPU: MIPS R10000 Processor Chip Revision: 2.5 1 195 MHZ IP28 Processor Main memory size: 1024 Mbytes Secondary unified instruction/data cache size: 1 Mbyte Instruction cache size: 32 Kbytes Data cache size: 32 Kbytes Integral SCSI controller 0: version WD33C93B, revision D Disk drive: unit 1 on SCSI controller 0 Disk drive / removable media: unit 2 on SCSI controller 0 Integral SCSI controller 1: version WD33C93B, revision D CDROM: unit 4 on SCSI controller 1 On-board serial ports: 2 On-board bi-directional parallel port Graphics board: Maximum Impact Integral Ethernet: ec0, version 1 Iris Audio Processor: version A2, revision 1.1.0 EISA bus: adapter 0
Roger is still looking for further sources but so far has confirmed that the 128MB SIMMs from the following HP NetServer systems work ok:
6/200 LX2 6/200 LX 6/166 LX2 6/166 LX HP Part number D4893A.
and Kirk_Fujiwara at Kingston told me the following systems also use this RAM:
Dell PowerEdge 6100 [System supports FPM and EDO, so careful you only get FPM configured systems] HP/Compaq NetServer LX Pro 6/166 HP/Compaq NetServer LX Pro 6/166 SMP HP/Compaq NetServer LX Pro 6/200 HP/Compaq NetServer LX Pro 6/200 SMP HP/Compaq NetServer LXe Pro 6/166 HP/Compaq NetServer LXe Pro 6/200 HP/Compaq NetServer LXr Pro 6/200 IBM PC Server 704 (8650-4MO) IBM PC Server 704 (8650-5MO) IBM PC Server 704 (8650-6MM)
Theoretically though, any 128MB SIMM with the following specification should work:
72 pin full-parity 36bit 60 or 70ns tin or gold edge (preferably gold, but tin does work) Fast Page Mode (not EDO!)
I'm sure some readers may wonder why SGI never said anything about this. My guess is that, at the time, 128MB SIMMs didn't exist and so it wasn't even tested. Even if they were available, the cost of such SIMMs back then would have been very high indeed since very few 64Mb (8MByte) parts were being manufactured. Plus, customer feedback revealed system and memory bandwidth was becoming a critical factor in real-world application performance, and Indigo2's older design was holding back the exploitation of R10000's theoretical compute power, thus the advent of Octane with its much faster crossbar memory system. From SGI's point of view, it clearly made more sense to move to an overall faster system, rather than push an older design with application-limiting bandwidth-related issues. This is just speculation though.
If you benefit from the information on this page, let Bert know as he deserves many congratulations for having the insight to try what nobody else had thought of, and thanks to Roger for doing further important investigations. I've just collated all the information together.
If you want to get some 128MB SIMMs, contact Roger Garcia, or if you're in the UK, Europe or Australia then contact me as I can get some (typically about 275 to 300 UKP for a 512MB kit). Feel free of course to hunt for them yourself, search newsgroups, web sites, old makes of computer, etc.
Comments and feedback most welcome!
Thanks also to Roger Garcia, manager of win2x.com, for doing further tests, and to David Cummings for information on R8K systems.