IBM researchers have developed a programming trick that makes it possible to more reliably store large amounts of data using a promising new technology called phase-change memory. The company hopes to start integrating this storage technology into commercial products, such as servers that process data for the cloud, in about five years.
Like flash memory, commonly found in cell phones, phase-change memory is nonvolatile. That means it doesn’t require any power to store the data. And it can be accessed rapidly for fast boot-ups in computers and more efficient operation in general. Phase-change memory has a speed advantage over flash, and Micron and Samsung are about to bring out products that will compete with flash in some mobile applications.
These initial products will use memory cells that store one bit each. But for phase-change memory to be cost-competitive for broader applications, it will need to achieve higher density, storing multiple bits per cell. Greater density is necessary for IBM to achieve its goal of developing phase-change memory for high-performance systems such as servers that process and store Internet data much faster.
The IBM work announced today offers a solution. In the past, researchers haven’t been able to make a device that uses multiple bits per cell that works reliably over months and years. That’s because of the properties of the phase-change materials used to store the data. Scientists at IBM Research in Zurich have developed a software trick that allows them to compensate for this.
Each cell in these data-storage arrays is made up of a small spot of phase-change materials sandwiched between two electrodes. By applying a voltage across the electrodes, the material can be switched to any number of states along a continuum from totally unstructured to highly crystalline. The memory is read out by using another electrical pulse to measure the resistance of the material, which is much lower in the crystalline state.
To make multibit memory cells, the IBM group picked four different levels of electrical resistance. The trouble is that over time, the electrons in the phase-change cells tend to drift around, and the resistance changes, corrupting the data. The IBM group has shown that they can encode the data in such a way that when it’s read out, they can correct for drift-based errors and get the right data.
The IBM group has shown that error-correcting code can be used to reliably read out data from a 200,000-cell phase-change memory array after a period of six months. “That’s not gigabits, like flash, but it’s impressive,” says Eric Pop, professor of electrical engineering and computer sciences at the University of Illinois at Urbana-Champaign. “They’re using a clever encoding scheme that seems to prolong the life and reliability of phase-change memory.”
For commercial products, that reliability timescale needs to come up to 10 years, says Victor Zhirnov, director of special projects at the Semiconductor Research Corporation. IBM says it can get there. “Electrical drift in these materials is mostly problematic in the first microseconds and minutes after programming,” says Harris Pozidis, manager of memory and probe technologies at IBM Research in Zurich. The problem of drift can be statistically accounted for in the IBM coding scheme over whatever timeframe is necessary, says Pozidis, because it occurs at a known rate.
But phase-change memory won’t be broadly adapted until power consumption can be checked, says Zhirnov. It still takes much too much energy to flip the bits in these arrays. That’s due to the way the electrodes are designed, and many researchers are working on the problem. This spring, Pop’s group at the University of Illinois demonstrated storage arrays that use carbon nanotubes to encode phase-change memory cells with 100 times less power.
When designing an embedded system choosing which tools to use often comes down to building a custom solution or buying off-the-shelf tools.