Фирма ZeroPoint из Швеции запатентовала технологию компрессии данных в оперативной памяти Ziptilion IP. По эффективности, если верить компании, она сравнима с физическим удвоением объёма оперативной памяти (а, в некоторых случаях, даже утроения). При этом для реализации этой технологии, требуется добавить небольшой блок в микропроцессор. Он, скорее всего, будет обходиться заметно дешевле, чем дополнительные микросхемы памяти. Разработчики считают, что эта система может вскоре появиться в серверах и телефонах.
Одна из главных проблем подобных технологий – невозможность прогнозировать имеющуюся свободную оперативную память. Программа сначала выделяет блок, а потом записывает туда данные (и часто продолжает менять их всё время своей работы). Соответственно, при использовании технологии компрессии, уже когда блок выделен, может оказаться, что данные не сжимаются (это вполне реально для уже сжатых данных, например, загруженных нераспакованных JPEG, MP3 или MP4 файлов). В таком случае возможно закрытие программы системой, а то и вообще зависание. По мнению его разработчиков, Ziptilion IP эффективнее всех присутствующих аналогичных решений.
Создатели сравнивают свое творение с программными средствами сжатия памяти ZSWAP и ZRAM. По их данным, они дают сжатие в пределах полутора раз.
Технология уже запатентована. Кроме того, фирма получила вложения в размере 2,5 миллиона евро.
Ziptilion IP почти не оказывает влияние на производительность системы памяти. Задержка при записи в ОЗУ меньше 1 наносекунды. При этом время чтения сжатой информации из оперативной памяти находится на уровне 100 наносекунд, что уже может быть существенно.
Ziptilion IP работает напрямую с подсистемой кэш-памяти и контроллером памяти микропроцессора, он использует стандартную структуру межсоединений SoC AXI. Ziptilion можно встроить в любые современные микропроцессоры с любой топологией. Данная разработка уже внедрена в какой-то 28-нанометровый чип.
В 7-нанометровых микросхемах встраиваемая в процессор часть с двухканальным контроллером памяти будет иметь площадь 1,36 квадратного миллиметра. Для серверных систем, применяющих 8-канальную оперативную память, размер блока вырастет приблизительно до 3,02 этой же единицы.