Saturday, December 17, 2011

Resistive RAM

It seems that there's now something new under the sun in the world of computer memory. Way back in 1971 Leon Chua noticed that there ought to be a 4th type of basic circuit element, which he called the memristor, alongside the traditional resistors, capacitors, and inductors. Then, just a few years ago in 2008, a group from HP was actually able to create one of these things that Chua had dreamed up. I was expecting that someday, maybe by 2018 or so, people would be starting to make things with memristors that were actually usable.

I've recently found that I was way too pessimistic, though, and it seems that people have already made cells of resistive RAM, and that once they can be made cheaply in bulk its going to bring huge changes. If everything works out we'll have memory that is just as fast as RAM but which is non-volatile, that is it can continue to store information even when it looses power.

For many years computers have had separate memory and storage. There are you disk drives which you store all your information on. They have a lot of capacity, but they're very slow. You also have your RAM, your main memory, which is fast but when you turn off the power to your computer all of the information stored on it goes away. Its also more expensive per gigabyte than hard drives.

Recently there's been a trend to use flash memory instead of hard drives. This started with portable media players like the iPod, but now people use flash memory in their phones, their tablets, and some people even use it in their laptops. The advantages of flash are that it is a lot faster than a traditional hard drive and it takes less power to use. The disadvantages are that its more expensive than a hard drive for a given amount of storage, but if you don't actually need more than a hundred gigabytes in your computer it can make a lot of sense.

Why don't people just replace their RAM with flash? Well, there are two reasons. First, it takes a relatively long time to write information to a block of flash memory, and flash eventually wears out. It takes quite a while to wear out and most people don't write to their storage that frequently, but main memory is written to far more frequently and flash wouldn't last too long in that role.

But RRAM can get around all these disadvantages. Writing to a RRAM cell is more complicated than reading from it, but only by a little bit. Its not nearly the huge production that writing to a flash cell is. Also, while RRAM apparently does wear out it does so much more slowly than flash does. Flash can survive somewhere between a few thousand and a million writes before it wears out depending on how its manufactured. The researchers at IMEC say that their cells can last for a billion write cyles, and the HP/Hynix industry consortium says that the cells they're starting to produce can last for a trillion cycles. Because modern computers have caches between their main memory and their processors which will absorb repeated writes to the same place, a trillion writes ought to be more than enough to make RRAM practical as main memory.

This isn't the first time a type of memory has been both fast and non-volatile, but previous attempts have been too expensive. Memory like MRAM has stored bits in cells that were far larger than those used by DRAM or flash. Eyeballing the picture of the RRAM cell that IMEC showed off earlier this month it looks like their RRAM cells are about the same 2000 square nano-meters, the same area you would expect from DRAM cells that are currently in early production.

So we've got this new technology that can feasibly replace both computer memory and computer storage, and unify them into the same substance. But will it? We seem to be past the stage where manufacturing difficulties are a huge risk, but there are other possible problems. For starters, it seems that HP, the company which developed memristors in the first place, has the whole technology wrapped up in patents. If they get greedy and charge more for their technology than people are actually willing to pay then it wouldn't be the first time. Look at what happened to RAMBUS.

The RRAM cells used by IMEC seem to use use hafnium, which is expensive. Its not so expensive that people who make processors are reluctant to use it, however, and its unclear that the cells that HP is planning on taking into production are also Hafnium based.

And finally there's the question of re-engineering our computers. The distinction between memory and storage has existed for almost as long as there have been computers. Our system architectures, operating systems, and software are all built assuming these are separate things. Of course, this is a problem that people have confronted before. Back in the 1970s people didn't realize how much cheaper disk drives were going to get and so planned for a transition similar to what it now looks like we're going to go through. IBM developed operating systems using single level storage where the differences between RAM and disks were abstracted away. Unfortunately, its only one fairly obscure operating system that uses it. Luckily, every common operating system today has a notion of specific files being memory mapped, that is on disk or in memory as needed. Perhaps we'll see a transition period where operating systems simply leave files stored in RRAM alone when they are memory mapped, and software writers start to use memory mapping more and more. This would mean that the transition could be gradual, with existing software working the same way even as the systems they're on change underneath them.

In any event, it looks like RRAM is going to be the future.

Links:

Rockets VII: Staging

See also parts  I ,   II ,  III ,  IV ,  V , and  VI . Space is sort of hard to get to.  You've got one of the Space Shuttle Main Engi...