Great pdf: about as good an explanation as I can find of Rambus read and write signal integrity issues: tmo.hp.com
Reading this, I think that where they made their mistake is pretty clear. The data lines are only singly terminated, at the end opposite the controller. When the controller is writing, everything is cool, signals propagate down the wire, and are eaten by the termination. The signals look great at every point on the wire.
But the reads look ugly. Since the controller end isn't terminated, read data will be doubled as they reflect off the high impedance (i.e. end of the transmission line). This means that Rambus can arrange for the read drives to only put out half strength signals.
Theoretically, this works great. When a chip puts out a read signal, it goes in both directions down the wire. The part that goes toward the terminator gets terminated, while the other part reflects at the controller. But this means that every bit of read data goes the length of the transmission line twice. If the transmission line were perfect, this wouldn't be an issue, but it means that all the imperfections of the transmission line get doubled during reads.
There is another effect, one that has to do with output compliance of the memory drive signal. When the memory is being read, it will have to supply data while there are reflections showing up from the previous data that was already read. That data shows up in full strength. The design is just begging to have non-linearity effect show up. They must have arranged to have a relatively wide compliance voltage range of the Rambus outputs in order to get a hope of this working.
So I am now certain that the problem is showing up in reads of memory, as that is where the noise problems are going to be worse, as well as where all the drive signal non-linearities are going to show up. All those little impedance mismatches are going to get two (first order) chances to reflect, instead of just one.
The video industry has faced the problem of dealing with singly or doubly terminated transmission lines for a long time. The quality solution is to double terminate them, but that means that all your drivers have to be able to drive twice as much current. I think that this will be found to be the engineering decision that most contributed to the Rambus fiasco.
-- Carl
P.S. Re the better processes, and AMD's inability to produce a lot of parts... The speed grades you get out of a particular process depend on the architecture. If the architecture is inefficient, you will get a bad yield of fast parts. Fast parts is a combination of process and architecture. |