What’s the likely ETA for DRAM?
What’s the likely ETA for DRAM?
DRAM uses a capacitor. Those capacitors essentially hit a hard limit at around 400MHz for our traditional materials a very long time ago. This means that if you need to sequentially read random locations from RAM, you can't do it faster than 400MHz. Our only answer here is better AI prefetchers and less-random memory patterns in our software (the penalty for not prefetching is so great that theoretically less efficient algorithms can suddenly become more efficient if they are simply more predictable).
As to capacitor sizes, we've been at the volume limit for quite a while. When the capacitor is discharged, we must amplify the charge. That gets harder as the charge gets weaker and there's a fundamental limit to how small you can go. Right now, each capacitor has somewhere in the range of a mere 40,000 electrons holding the charge. Going lower dramatically increases the complexity of trying to tell the signal from the noise and dealing with ever-increasing quantum effects.
Getting more capacitors closer means a smaller diameter, but keeping the same volume means making the cylinder longer. You quickly reach a point where even dramatic increases in height (something very complicated to do in silicon) give only minuscule decreases in diameter.
When SMP first came out we had one large customer that wanted to manually handle scheduling themselves. That didn’t last long.
There was briefly a product called vCage loading a whole secure hypervisor into cache-as-RAM, with a goal of being secure against DRAM-remanence ("cold-boot") attacks where the DIMMs are fast-chilled to slow charge leakage and removed from the target system to dump their contents. Since the whole secure perimeter was on-die in the CPU, it could use memory encryption to treat the DRAM as untrusted.
So, yeah, you can do it. It's funky.
• 2Kbit SRAM Cache Memory for 15ns Random Reads Within a Page
• Fast 4Mbit DRAM Array for 35ns Access to Any New Page
• Write Posting Register for 15ns Random Writes and Burst Writes Within a Page (Hit or Miss)
• 256-byte Wide DRAM to SRAM Bus for 7.3 Gigabytes/Sec Cache Fill
• On-chip Cache Hit/Miss Comparators Maintain Cache Coherency on Writes
Afaik only ever manufactured by a single vendor Ramtron https://bitsavers.computerhistory.org/components/ramtron/_da... and only ever used in two products:
- Mylex DAC960 RAID controller
- Octek HIPPO DCA II 486-33 PC motherboard https://theretroweb.com/motherboards/s/octek-hippo-dca-ii-48...
I built a little CPU in undergrad but never got around to building RAM and admit it’s still kind of a black box to me.
Bonus question: When I had an Amiga, we’d buy 50 or 60ns RAM. Any idea what that number meant, or what today’s equivalent would be?
When we moved from SDR to DDR1, latencies dropped from 20-25ns to about 15ns too, but if you run the math, we've been at 13-17ns of latency ever since.
https://jcmit.net/memoryprice.htm
Recently DDR4 RAM is available at well under $2/GB, some closer to $1/GB.
I don't think the latter (SRAM capacity remaining the same per area?) has anything to do with Dennard scaling.