Sorry for deviating off-topic here but this just reminds me of the countless iterations of Moore's law that I've experienced in my technical lifetime of close to 30 years.
In my first job for Honeywell Information Systems in 1979 I designed a 1 MB memory card for the Honeywell Level 6 computer. It consisted of a 15" square PCB that contained all the memory controller logic (memory refresh counters, address buffers, read/write prefetch buffers, ECC logic, etc.), The actual memory chips were on four 6" square daughter cards and consisted of the hottest new chip on the market, a 64Kbit dram organized as 64Kx1.
This chip had a packaging issue that made it susceptible to data changes due to alpha particle radiation damage that necessitated the ECC logic. The first chips that we received to do initial board debug cost $200 per chip. Each of the four daughter cards required 39 chips (32 bit word plus 7 bits of EEC) which totaled out to a tad over $30K which I thought to be one hell of a lot of money since at the time that was slightly less than twice my yearly salary.
Anyway not only were the chips $200 each, but each chip had a serial number and had to be returned to the vendor by the end of the beta program. However the $200 wasn't returned, I suppose it was considered rent.
Anyway with the above as context check out http://www.simmtester.com/ which follows the spot market price of memory modules and chips. The 1Gbit chip listed at $2.00 today is 16 thousand times larger (but only 800 times faster) than the $200 chip from 30 years ago.
The net effect of all this is that software wastes 99% of these thousand fold hardware size and speed increases to deliver a net productivity benefit of tenfold (and that tenfold productivity benefit is a generous assumption).
Now back to your regularly scheduled programming.
[edit] BTW Simmtester reports a low price of $45, a high price of $48 with the trend being up for the 2GB DDR2 667MHz DIMM [/edit]