I finally put two datasheets of a DDR2 and GDDR3 chip next to each other to find out exactly what the differences are. (DDR2 and GDDR3 are basically from the same generation of technology. It makes more sense to compare those than DDR3 with GDDR3.)My understanding of GDDR is that it's DDR memory technology with controller and I/O features specific to the latency-tolerant GPU view of the world.
Internally is a GDDR chip a single die? Or is it a memory die and a controller+I/O die?
In terms of commands, they're pretty much identical: ACTIVE, PRECHARGE, READ, WRITE etc. are identically coded. A DRAM chip doesn't really have anything like a memory controller in the usual sense of the word. All it does is execute very low level commands given by the external memory controller. E.g. it's up the external memory controller to guarantee that all rows are visited within a certain amount of time to refresh the contents (unless, you put the chip in auto-refresh mode, but then you can't do access data.)
GDDR3 has a much higher clock, but the CAS time is proportionally larger. A GDDR3 at 1200MHz has a CAS latency of 15. A comparable DDR2 at 400MHz has a CL of 6. In terms of wall clock time, that comes down to roughly the same latency.
So it's really more about bandwidth than about latency, which is not really unexpected: the storage array itself is pretty much the same. Obviously, the width of the bus is also much larger per chip (8 or 16 vs 32).
There is definitely not something wrt latency hiding in GDDR3. That's a concept that lives at a much higher abstraction that the memory chip itself.
The command controller is ridiculously small compared to the storage array. There's no reason whatsoever to put it on a separate die.
I had expected there to be difference wrt burst length, but that's not the case. It can be set to 4 or 8 on both. (I was using Qimonda sheets.)
All in all, differences are minor.