|Posted by J. Varghese||PermalinkReply|
I'm a tech enthusiast (but I don't have a technical background) who follows the progress of the D Programming Language. I recently passed on some information about memristors to Andrei and he thought I should share it with everybody. Forgive the length of the post.
What is a Memristor?
If you have not heard of it before, the memristor is the fourth fundamental circuit element, after the inductor, resistor and capacitor. Its existence was mathematically predicted by Dr. Leon Chua in 1971 and R. Stanley Williams of the HP Labs announced its discovery in 2008.
You can read about it here: http://en.wikipedia.org/wiki/Memristor A short technical video by R. Stanley Williams: http://www.youtube.com/watch?v=rvA5r4LtVnc&feature=player_embedded A longer technical video: http://www.youtube.com/watch?v=bKGhvKyjgLY
Memristors have properties that can change radically change computing. Williams says, "I’m convinced that eventually the memristor will change circuit design in the 21st century as radically as the transistor changed it in the 20th. Don’t forget that the transistor was lounging around as a mainly academic curiosity for a decade until 1956, when a killer app — the hearing aid—brought it into the marketplace. My guess is that the real killer app for memristors will be invented by a curious student who is now just deciding what EE courses to take next year."
Memristors have properties that may allow it to replace DRAM, SRAM and Flash and even perform logic. In theory, a single memristor based chip could store and retrieve data like an SSD at the speed of DRAM and perform data processing as well. A block of memristors on this chip could serve as storage while other blocks of memristors function as logic and the functions of each block can be changed at any time. Williams says in the longer video that a universal, non-volatile memory means that the compute and storage paradigm of today needs to be re-thought. Memristors may enable very large amounts (gigabytes) of SRAM or DRAM speed storage very close to the processor (essentially combining RAM and HDDs into one device). Memristors also have synapse-like properties and can be used to emulate brain function.
However, this is not idle conjecture about a technology from the distant future. Last month, HP announced that it would have memristor based replacements for Flash and SSDs on the market within 18 months, DRAM competitors by 2014-2015, and SRAM replacements soon after. I assume that they will produce CPU competitors after that.
Dr. Williams makes outstanding claims about price and capacity. "Williams said that memristor cost/bit could be an order of magnitude less than NAND, after initial costs are out of the way." (http://www.theregister.co.uk/2011/10/10/memristor_in_18_months/) He goes on: "Flash is a done deal," said Williams, "now we’re going after DRAM, and we think we can do two orders of magnitude improvement in terms of switching energy per bit." He says HP won't get into manufacturing; it's going to license out production.
Williams says that memristors can do traditional logic but memristors prefer a
different kind of logic: Material Implication.
Material Implication plus one other operation, FALSE, forms the complete basis
for universal computing. Material Implication, Williams says, quoting Bertrand
Russell (in the longer video, ~41 min), is the most efficient form of logic.
It is more efficient than the NAND logic used in computing today. C code
compiled using material logic was smaller than code compiled using NAND logic
by a factor of 3.
But I'll stop talking about how awesomeness of memristors and I propose that you guys keep an eye on the technology. The usefulness of memristors should be viewed in light of the end of Moore's Law (We probably have less than a decade left of useful miniaturization of transistors before we hit fundamental physical limits). DRAM and Flash scaling is also running into trouble. It seems to me that memristors or some competing technology will probably supplant x86 and other computing architectures and all the software written for such architectures in the latter half of this decade.
If a heavily redesigned form of the D Programming Language (keep in mind that memory would become obsolete and that RAM-speed storage would be moved to the "processor" via photonic interconnects if Williams gets his way) that used implication logic instead of NAND logic were ported to memristor-based architectures as they became available... it would probably gain a strong first mover advantage over other languages. It might become one of the first available languages, the FORTRAN, LISP or COBOL, of the new architecture.
Something to consider.
Some other articles on memristors: http://highscalability.com/blog/2010/5/5/how-will-memristors-change-everything.html http://www.msnbc.msn.com/id/36605027 http://hplusmagazine.com/2010/03/30/synapse-chip/