PORTLAND, Ore. In the opening scene of "Johnny Mnemonic," the film version of the William Gibson short story, Keanu Reeves loads a "memory doubler" to increase his brain implant's storage capacity. Now a new "memory doubler" algorithm for embedded RAM has been invented by NEC Laboratories America, Inc. and Northwestern University.
Dubbed Crames, for Compressed RAM for Embedded Systems, the memory doubler partitions existing RAM into a solid-state disk that has two-time compression with minimal latency. Crames will be unveiled in an NEC smart cellphone to be introduced in Japan this fall.
"We were told that it was impossible to compress data in RAM without unacceptable levels of latency," said electrical engineer Robert Dick, a professor at Northwestern University (Evanston, Ill.). "But Crames does just that. With software alone it can compress 60 percent of your memory, leaving 40 percent uncompressed and only introduce about 2.1 percent latency."
Latency for most computers is a measure of the time hard drives take to locate and load data into RAM. But Crames partitions an embedded application's RAM into compressed and uncompressed pages, relying on programming techniques to avoid latency.
By configuring the compressed RAM as an attached solid-state disk, the compressed memory block can be routed through a device driver algorithm to transparently compress and decompress pages. The size of both code and data are equally reduced by the process.
Dick credits his graduate student Lei Yang with reducing the latency of the Crames algorithm. "Lei Yang's compression algorithm is a heroic effort, reducing data to less than half its original size with very little latency," said Dick. "It's like putting twice as much memory in your device without increasing its cost or power consumption."
Dick's team also included NEC Labs America researchers Haris Lekatsas and Srimat Chakradhar.
NEC Labs researchers came up with the idea of making compression an operating system function in 2004. Northwestern and NEC have filed a joint patent application covering the Crames algorithm and plan to license it to other companies.