just brew it! wrote:
You don't need DIMMs for ECC
I know, but people are using high-density ECC DIMMs to burn my balls, so I'm having to admit defeat on the server tier side of things (even though, as shown above, you could stuff twice as many SODIMMs into the same size server mobo)
You'd need to have twice as many memory channels or twice as many modules per channel to support the same memory capacity though. That doesn't come for free. To add channels you'd need to redesign the memory controllers; and doubling the number of modules per channel would likely result in a speed penalty (lower clock speeds due to additional bus loading and trace length). Having twice as many memory sockets is also likely to pose some PCB layout challenges; if additional PCB layers are needed that'll drive costs up. So it's not just a simple "we can substitute two of these for one of those" deal.
Nothing comes for 'free' but there are solutions to aspects of these problems. For example, moving to point-to-point serial links a la FB-DIMMs addresses many of the above mentioned problems except for one: latency. It simply took too much time to perform the basic memory access due to the fully buffered memory chip on the DIMM. Similarly, by passing the signal DIMM-to-DIMM, physical slot count could go up rather high but this compounded the latency problem even more. The memory bus speed was high for the time and supported up to four FB-DIMMs per channel in quad channel config with the same number of PCB layers as dual channel motherboards of the time.
FB-DIMMs themselves did need memory controller support change (no way around that) but the raw DRAM type was abstracted by the buffer. Thus FB-DIMMs using DDR3 could be produced and mixed with FB-DIMMs using DDR2. So in a sense, this solved that memory type problem too.
Another nail in the FB-DIMM coffin was of course cost. Adding the buffer chip was not cheap. More expensive and slower is generally a losing strategy in the market and hence why FB-DIMMs were quickly forgotten.