пятница, 9 мая 2014 г.

PRAM, она же PSM (Phase Change Memory) готова поспорить за лидерство

    Еще не упомянутый здесь тип энегонезависимой памяти, активно исследуемый в последнее время - память с изменением фазового состояния. Синонимы - PRAM, PSM. Физика основана на способности некоторых материалов (ха́лькогени́дов, в частности) находиться в двух стабильных состояниях - аморфном и кристаллическом. При этом, электрическое сопротивление материала в этих состояниях изменяется примерно в 10 раз. Переход из одной фазы в другую происходит при локальном нагреве. Таким образом, она термо-ассистируемая. Но не путать с Heat-assisted magnetic recording (HAMR) - она относится к магнитной записи.

    Существующие технологии позволяют формировать ячейку памяти PSM с приемлемыми уровнями надежности записи и долговечности. Размер ячейки может составлять менее 16нм. При этом ячейка гарантированно выдерживает миллион циклов записи.

   По производительности PCM занимает место между динамической оперативной памятью (DRAM) и флэш (NAND). Сдерживающим фактором для использования этого типа памяти были большие задержки при записи - это обуславливается процессом (нагрел - дождался равномерного прогрева рабочего слоя - изменил фазу - подождал, пока тепло рассосется). Порядок цифр примерно такой: Запись - 10...150 миллисекунд; Чтение - 100...300 наносекунд.
    Исследования проводились Ioannis Koltsidas со товарищи в Цюрихской лаборатории IBM. Для удобства, они совместили PCM и NAND в одной гибридной плате, названной ими Prototype Storage Subsystem (PSS). В основе лежат чипы PCM P5Q 128 Mbit, производящиеся промышленно Micron с 2012 года по 90 нм технологии.


    Испытания PCM микросхем дали следующие результаты:

  • время записи 1.15 миллисекунд;
  • время чтения 75.24 микросекунд

Соотношение 15:1.
Неэстетично асимметрично! Можно ли с этим что-то сделать? Ускорить микросхемы памяти нельзя. Если поспешим с изменением фазы - ячейка может некачественно записаться. Если после изменения фазы не выждем - она может "испортиться" не зафиксировав четко своего состояния. То есть, уменьшение задержек приведет к ненадежной записи.
    Но мы можем использовать преобразование время-пространство, прямое и обратное! :) Располагаем микросхемы памяти в 2D сетке. Контроллер многоканальный. Микросхемы, управляемые одним каналом - в колонке, образуют Под-канал (Sub-channel, голубым на рисунке). Объединение микросхем по горизонтали - в строке, образует Под-банк (Sub-bank, желтым на рисунке). Если за один цикл, время которого фиксировано, записать более длинное слово - в пересчете на 1 бит информации, время записи сократится. При этом несколько
усложняется чтение, но оно а) итак намного быстрее записи, б) может быть ускорено увеличением количества подканалов. Итак, больше подбанков - быстрее запись; больше подканалов - быстрее чтение. Рассчитав необходимую размерность по вертикали и горизонтали, можно подобрать оптимальное соотношение для некоторого выравнивания времен записи и чтения (можно попробовать самостоятельно найти оптимум, формулы для расчета приводятся).

    В лаборатории остановились на следующей схеме модуля: 2 PCM канала (он двухсторонний, с каждой стороны по независимому каналу), в каждом 2 банка из 3х3 микросхем. В результате получили следующие скоростные характеристики системы:


  • скорость передачи 49,5 МБ/с
  • время чтения сектора  13,8 мкс
  • скорость чтения  61,6 тысяч секторов/с
  • время записи сектора  133,8 мкс
  • скорость записи  14,8 тысяч секторов/с


Соотношение скоростей записи и чтения несколько выровнено.

Помимо прочего, в модуль может быть добавлено 512МБ RAM в качестве кэш прямой или отложенной записи, но это - как рекомендация для производителей, в лабораторном решении не было реализовано.

    Теория теорией, но она мертва без практики! (В.И.Ленин, если кто забыл) Испытуемый образец (PSS PCI-e Card) сравнился с тремя аналогичными продуктами - два PCI-e SSD ускорителя разных производителей (MLC Flash PCI-e SSD 1 и MLC Flash PCI-e SSD 2) и TLC Flash SATA SSD. Запись велась блоками 4к.
    Некоторые диаграммы испытаний приведены в слайдшоу.

Выводы по результатам:
1. PSS показал хорошие результаты в производительности:
65k IOPS , задержка 35 мкс на чтение
15k IOPS , задержка 61 мкс на запись
2. Задержка при записи, несмотря на ограничения, присущая технологии PSM , вполне приемлемая и не уступает современным MLC решениям:
99,9 процентов запросов завершены в течение 240 мкс - что в 12x и 275x ниже, чем MLC и TLC флэш накопителей соответственно
Самая высокая наблюдаемая задержка была 2 мс - это в 7x и 61x ниже, чем MLC и TLC флэш накопителей, соответственно
   

http://www.slideshare.net/IBMZRL/theseus-pss-nvmw2014
http://www.theregister.co.uk/2014/05/08/big_blue_rings_the_phase_changes/

Комментариев нет:

Отправить комментарий