Researchers from Rice University and UCLA unveiled a new data-encoding scheme this week that slashes more than 30 percent of the energy needed to write data onto new memory cards that use "phase-change memory" (PCM) -- a competitor to flash memory that has big backing from industry heavyweights.
The breakthrough was presented at the IEEE/ACM Design Automation Conference (DAC) in San Francisco by researchers from Rice University's Adaptive Computing and Embedded Systems (ACES) Laboratory.
PCM uses the same type of materials as those used in rewritable CDs and DVDs, and it does the same job as flash memory -- the mainstay technology in USB thumb drives and memory cards for cameras and other devices. IBM and Samsung have each demonstrated PCM breakthroughs in recent months, and PCM is ultimately expected to be faster, cheaper and more energy-efficient than flash.
"We developed an optimization framework that exploits asymmetries in PCM read/write to minimize the number of bit transitions, which in turns yields energy and endurance efficiency," said researcher Azalia Mirhoseini, a Rice graduate student in electrical and computer engineering, who presented the research results at DAC.
In PCM technology, heat-sensitive materials are used to store data as ones and zeros by changing the material resistance. The electronic properties of the material change from low resistance to high resistance when heat is applied to alter the arrangement of atoms from a conducting, crystalline structure to a nonconducting, glassy structure. Writing data on PCM takes a fraction of the time required to write on flash memory, and the process is reversible but asymmetric; creating one state requires a short burst of intense heat, and reversing that state requires more time and less heat.
The new encoding method is the first to take advantage of these asymmetric physical properties. One key to the encoding scheme is reading the existing data before new data is written. Using a combination of programming approaches, the researchers created an encoder that can scan the "words" -- short sections of bits on the card -- and overwrite only the parts of the words that need to be overwritten.
"One part of the method is based on dynamic programming, which starts from small codes that we show to be optimal, and then builds upon these small codes to rapidly search for improved, longer codes that minimize the bit transitions," said lead researcher Farinaz Koushanfar, director of Rice's ACES Laboratory and assistant professor of electrical and computer engineering and of computer science at Rice.
The second part of the new method is based on integer-linear programming (ILP), a technique that can find optimal solutions. The more complex the solution, the longer ILP takes to find the optimal solution, so the team found a shortcut by using dynamic programming to create a cheat sheet of small codes that could be quickly combined for more complex solutions.
Research collaborator Miodrag Potkonjak, professor of computer science at UCLA, said the team's solution to PCM optimization is pragmatic.
"The overhead for ILP is practical because the codes are found only once, during the design phase," Potkonjak said. "The codes are stored for later use during PCM operation."
The researchers also found the new encoding scheme cut more than 40 percent of "memory wear," the exhaustion of memory due to rewrites. Each memory cell can handle a limited number of rewrite cycles before it becomes unusable.
The researchers said the applicability, low overhead and efficiency of the proposed optimization methods were demonstrated with extensive evaluations on benchmark data sets. In addition to PCM, they said, the encoding method is also applicable for other types of bit-accessible memories, including STT-RAM, or spin-transfer torque random-access memory.
Explore further: Researchers parallelize a common data structure to work with multicore chips
More information: A copy of the DAC paper is available at: dl.acm.org/citation.cfm?id=2228374