DRAM Almost as Fast as SRAM
An anonymous reader writes "IBM said it has been able to speed up the DRAM to the point where it's nearly as fast as SRAM, and that the result is a type of memory known as embedded DRAM, or eDRAM, that helps boost the performance of chips with multiple core calculating engines and is particularly suited for enabling the movement of graphics in gaming and other multimedia applications. DRAM will also continue to be used off the chip."
to go for title of most patents filed in 2007
"Stallman says add to this code and you are one of us. Gates says use this code and you belong to us."
Firstly, system memory is not especially fast compared to the CPU, and the recent proliferation of multiple cores is making the situation worse because more CPUs are trying to bang on the same memory.
Secondly, the most straightforward way to paper over problems with high-latency devices is to put a cache in front of them. Super fast DRAM would be one way to enable bigger caches that reduce the impact of various system bottlenecks. Sure we can hope to replace all hard drives with solid state devices, but since they still cost orders of magnitude more per megabyte, it will probably be quite a while before that happens. In the mean time, better caches couldn't hurt.
To those wondering why it would be good to have DRAM as fast as SRAM: SRAM doesn't need to be "refreshed" constantly, and is faster, but takes up many more transistors and is therefore much less dense and more expensive for the same amount of memory.
However with DRAM it takes quite a bit of power just to keep data in memory (because of the constant "refreshes"), which isn't the case with SRAM. So this discovery wouldn't take SRAM out of production for applications which require its low power usage.
// MD_Update(&m,buf,j);
EE Times article. Today SRAM is used for processor caches, but new multicore chips need massive (i.e. expensive) cache. Because eDRAM is much denser than SRAM, it allows chip designers to fit much more cache in the same size chip, increasing overall performance. IBM and AMD use silicon-on-insulator (SOI) technology, while the rest of the industry uses bulk CMOS; eDRAM for bulk has been available for a while (it's used in Xbox 360 and BlueGene/L for example), but now IBM has developed SOI eDRAM that can be used in IBM's future processors (and maybe AMD's).
Second, the consoles that have issued PR about using "embedded DRAM" with their GPUs don't actually embed DRAM on the GPU die. The "embedded DRAM" is a process offered by NEC that is separate from the Sony and TSMC processes used to fab the GPUs that supposedly have "embedded DRAM." I am pretty sure that all of the consoles you mention include a separate custom DRAM chip in the same package as the GPU. I am certain this is the case for the XBox 360. I am unsure about Sony. That DRAM process substantially modifies the back end wiring to make room for a MIM cap between the FETs and the first level of metal.
Who do you get to be an expert to tell you something's not obvious? The least insightful person you can find? -J Roberts
There are 2 areas of latency for a cache, the first is the performance of the actual data cells, and the second is the speed of doing a lookup in the cache. The larger the cache, and the higher the degree of set associativity, the longer the lookup takes. Thus you're unlikely to see this eDRAM used for L1 caches, and probably not for L2 caches either, as more cache would slow them down, even if the cells are just as fast as SRAM. The sweet spot will probably be for L3 caches, that are already slow by cache standards, but a whole lot faster than system memory. Since L3 caches are large, the cost savings for switching to eDRAM would be largest there.
As for power concerns, DRAM is higher than SRAM, but a larger L3 cache may reduce the traffic through the memory controller, and out to the DIMMs, which will probably more than make up for any increase in power density in the cache.
No, I'm not a fan of patent trolls; but this isn't patent trolling. IBM has created a new, better way to embed cache RAM on the CPU die, at a signifigant cost in both manpower and materiel. This isn't like they patented "a method to check customers out with one click" or something similarly banal. This is a real, new technology which took a great deal of time, energy and work to create. No "prior art", no "trivially obvious" - this is exactly the kind of technological advancement which patents should protect.
Yeah, but wouldn't it be better to buy a real computer with room for more RAM, so you didn't have to use a hardware device to imitate another hardware device, so that you could use software to imitate the drivers of the other hardware device, so that you could use it as the first kind of hardware device, just with lower speed and convenience? Or in other words: wouldn't it be better to just run the database in RAM?