Алгоритм, позволяющий увеличить объем информации, помещающейся во встраиваемой оперативной памяти (embedded RAM), разработали специалисты компании NEC Laboratories America и Северо-Западного университета (частного учебного заведения в г. Эванстон, США).
  
Алгоритм получил название CRAMES (от Compressed RAM for Embedded Systems – «сжатая память с произвольным доступом для встраиваемых систем»). По словам источника, коммерческое применение CRAMES начнется уже этой осенью, когда на японском рынке ожидается появление телефонов NEC с соответствующей технологией. Вместе с тем, разработчики утверждают, что CRAMES уже используется в телефоне NEC FOMA 904i, дебютировавшем на рынках Европы и Японии в июне текущего года.
  
Раньше считалось, что сжимать информацию в оперативной памяти невозможно без увеличения задержек до неприемлемого уровня, но появление CRAMES опровергло это утверждение. По оценке разработчиков, применяя сжатие к 60% памяти и оставляя 40% в несжатом виде, задержку можно удержать на уровне 2,1%. На верхней иллюстрации – экспериментальная установка, которую разработчики использовали в своем проекте; на нижней – структурная схема решения.
  
Хитрость заключается в том, что сжимаемая часть памяти конфигурируется как твердотельный накопитель, а операции упаковки и распаковки информации выполняет драйвер. Сжатию подвергаются, как программы, так и данные. Важно, что для сжатия используется алгоритм, оптимизированный по критерию минимальных задержек. Что касается сжатия, он обеспечивает отношение между размерами исходных и сжатых данных примерно 2:1. Другими словами, применение CRAMES эквивалентно удвоению объема памяти при сохранении ее стоимости и энергопотребления.
  
Если верить источнику, идея сделать сжатие данных функцией операционной системы зародилась в NEC Labs в 2004 году. Разработчики уже подали патент на свой продукт и планируют лицензировать его другим компаниям.
  
Кстати, вспоминается программный продукт RAM Doubler компании Connectix, который объединял функции сжатия информации в оперативной памяти и управления виртуальной памятью. В свое время он был весьма продаваемой программой для Mac OS, и сошел со сцены только после снижения цен на оперативную память. К тому же, Apple со временем удалось довести до ума свои собственные разработки в области виртуальной памяти. Версия RAM Doubler была доступна и для систем, работающих под управлением Windows (тогда еще - Windows 3.1, которую теперь помнят разве что старожилы).