Андрей Смирнов
Время чтения: ~33 мин.
Просмотров: 0

Драйвер Intel® RST и память Intel® Optane™ поддерживает…

Этим постом я хотел бы открыть небольшую серию статей, посвященных продуктам Intel Optane на базе технологии 3D XPoint. Мой беглый обзор русскоязычных источников показал, что хороших материалов по этому вопросу нет; кроме того, из комментариев к нашим анонсам я убедился, что существует глубокое непонимание того, зачем все это вообще нужно и почему реализовано именно таким образом.42d58400f08d4a2d986809b57aedddd7.jpg

Технология 3D XPoint

Начнем с краткой информации по самой технологии 3D XPoint (читается как «три-ди кросс-поинт»). Сразу прошу извинений — детальную информацию о технологии мы на данный момент не раскрываем. Кроме того, фокус обзоров будет именно на конечных продуктах, нежели чем на самой технологии. Во-первых, хотя технология является совместной разработкой компаний Intel и Micron, реализация технологии в виде продуктов находится в раздельном ведении каждого из вендоров. Таким образом, всё, что я буду рассказывать о продуктах на базе 3D XPoint, имеет отношение только к продуктам Intel. Во-вторых, 3D XPoint – это не NAND, это не NOR, это не DRAM, а совершенно другой зверь. Не раскрывая деталей физической реализации памяти, опишу ключевые характеристики, а также отличия 3D XPoint от NAND и от DRAM.

  • В отличие от DRAM, 3D XPoint позволяет создавать устройства с большей плотностью хранения данных, является энергонезависимым типом памяти и, при этом, дешевле. Из недостатков в данном сравнении – 3D XPoint как технология реализации памяти несколько медленнее, чем DRAM (обратите внимание, сравниваем технологии, а не продукты на базе этих технологий).

Все вышеперечисленное касалось 3D XPoint как таковой – это, однако, имеет меньшее значение для пользователей, нежели чем характеристики конкретных устройств на базе 3D XPoint. Таким образом, наш разговор переходит в русло описания продуктов Intel Optane на базе этой технологии. Начнем с описания того, что же есть «Intel Optane». Если коротко, то это бренд для всех продуктов Intel на базе технологии 3D XPoint. Если объяснять более подробно, то Intel берет «вафли» 3D XPoint, проводит собственное тестирование и отбор чипов памяти, самостоятельно разрабатывает дизайн конечного устройства — создает контроллер SSD, разводку текстолита, прошивки; тестирует и валидирует конечное устройство, выводит его на рынок – вот это все скрывается под словами «Intel Optane».

Intel Optane

На данный момент, официально анонсировано и выпущено на рынок 2 принципиально разных продукта: Intel Optane Memory – для клиентских моделей использования — и Intel® Optane SSD DC P4800X – для серверного использования. В данной статье мы подробнее разберем клиентский продукт, серверный же будет темой следующего обзора. Итак, Intel Optane Memory. Первое, что стоит понять об этом продукте – несмотря на название, это не DRAM, а NVMe SSD в форм-факторе M.2 2280-S3-B-M. Вид сверху – под наклейкой 1 чип 3D XPoint (это версия 16ГБ, на 32ГБ расположены 2 чипа 3D XPoint – площадки под второй чип видны):c96361b199884facb0419a86a2b70f84.jpg Модуль односторонний, так что обратная сторона пустая:df6289918cec47568cf2dfa45cadb5a2.jpg Устройство соответствует спецификации NVM Express 1.1. На данный момент на рынок выпущены емкости 16ГБ (используется один чип памяти 3D XPoint емкостью 16ГБ) и 32ГБ (используются два чипа памяти 3D XPoint емкостью 16ГБ каждый). Из интересных деталей дизайна:

  • контроллер явлется внутренней разработкой Intel
  • в дизайне не используется DRAM
  • используются только 2 линии PCIe gen3, а не 4 линии, как многие могли бы ожидать
  • заявленная износостойкость – 100ГБ записанных данных каждый день в течение 5 лет

Тест производительности

Теперь о производительности (производительность версии 32ГБ выше из-за того, что используются 2 чипа памяти 3D XPoint против одного чипа у версии 16ГБ) Казалось бы, производительность в плане пропускной способности и IOPS не впечатляет – однако, собака зарыта совсем не тут. Вся штука в том, что эти данные производительности замерялись при глубине очереди (queue depth) равной 4 – в отличие от прочих SSD, которые обычно замеряются с глубиной очереди 32 и выше. Именно на неглубоких очередях более всего заметно превосходство Optane. Для наглядности, вот график производительности разных типов устройств на разной глубине очереди*: При этом, как показывают наши внутренние тесты, подавляющее большинство задач, с которыми сталкивается обычный пользователь дома или в офисе, имеют глубину очереди от 1 до 4 (более подробно – см. ниже), а спецификации SSD пишутся с использованием нагрузок с глубиной очереди 32 (для SATA) и более (для NVMe). Разница весьма наглядна. Однако, Intel не позиционирует использование Optane Memory в качестве обычного SSD по понятным причинам – емкости устройств не хватит для пользовательских задач (за исключением некоторых интересных вариантов, как, например, небольшой, но быстрый и надежный загрузочный накопитель для Linux, или scratch disk для Adobe Photoshop, или небольшой, но быстрый кэш вместе с Intel Cache Acceleration Software, или интересное решение, описанное вот тут). Вся сила маркетингового аппарата Intel направлена на продвижение новой технологии ускорения (грубо говоря – кэширования, но это не совсем точное определение) медленного SATA-накопителя (будь то жесткий диск, твердотельный накопитель или даже некоторые гибридные модели) быстрым модулем Optane Memory. Эта модель использования накладывает ограничения на поддерживаемые железо и ОС:

  • Процессор Intel Core 7-го поколения или новее
  • Чипсет Intel 200 Series или новее (полный список тут)
  • BIOS, в который интегрирован UEFI-драйвер RST версии 15.5 или новее (15.7 для серии чипсетов X299). Да, legacy-режим БИОСа не поддерживается – для Optane Memory обязательна загрузка в режиме UEFI
  • Windows 10 64-bit
  • Драйвер Intel Rapid Storage Technology 15.5 или новее
  • Загрузочный SATA-накопитель (именно его будет ускорять Optane Memory). Поддерживается только разметка GPT.
  • 5МБ свободного пространства в конце SATA-накопителя – это нужно для метаданных RST

Настраивается это так:

  1. Убеждаемся, что BIOS материнской платы поддерживает Optane (см. выше; сейчас все “Optane Memory Ready” платы на 200 сериях чипсетов отгружаются с БИОСом, который поддерживает Optane Memory, однако на рынке еще можно найти платы из предыдущих партий – на них потребуется обновить БИОС). И да, Intel провел громадную работу с производителями плат – все платы, которые поддерживают Optane Memory, имеют на коробке вот такой шильдик:
  2. Скачивается утилита отсюда (можно выбрать стандартную утилиту RST, которая позволит управлять как конфигурациями с Optane Memory, так и обычными массивами RST, или упрощенную версию утилиты, которая позволяет только включать и выключать конфигурации Optane Memory и смотреть статистику).
  3. PROFIT! А именно:
    • Более быстрая загрузка операционной системы;
    • Ускорение большинства операций ввода-вывода (по сути – кэширование, однако достаточно умными алгоритмами).

Принцип работы

Также немного поговорим о том, как это все работает. Во-первых, в момент активации Optane Memory, RST драйвер перенесет файлы, необходимые для загрузки ОС, а также файловую таблицу на быстрый Optane Memory накопитель. Ключевое здесь – именно перенесет, а не скопирует. Механика работы RST драйвера такова, что не все данные, лежащие в кэше на быстром устройстве, будут в обязательном порядке скопированы на медленное устройство. Это увеличивает общее быстродействие системы и, кроме того, решает проблему синхронизации данных. Однако, как можно понять, физический сбой Optane Memory с большой вероятностью приведет к потере доступа к данным на SATA-диске. Из-за того, что перенос данных происходит сразу в момент активации Optane Memory, уже первая же загрузка системы будет быстрее, чем до Optane Memory (особенно это заметно, если ускорялся жесткий диск, нежели чем SATA SSD – однако, и в последнем случае стоит ожидать увеличения производительности системы хранения). Во-вторых, во время работы системы RST драйвер будет непрерывно производить кэширование. И здесь существует одно важное различие между модулями Optane Memory разной емкости – на устройстве емкостью 16ГБ поддерживается только кэширование на уровне блоков, на устройстве емкостью 32ГБ – кэширование на уровне блоков и кжширование на уровне файлов (оба работают одновременно). В случае блочного кэширования, решение о кэшировании того или иного блока происходит мгновенно в момент запроса на ввод-вывод. В случае файлового кэширования, драйвер мониторит частоту доступа к файлам и кладет все это в специальную таблицу, которую затем (в момент простоя системы или по расписанию пользователя) использует для определения того, какие файлы остаются в кэше, какие удаляются, а какие добавляются. Оба вида кэширования используют довольно умные, на мой взгляд, алгоритмы принятия решения о кэшировании – глубоко описывать я их здесь не могу, но для общего понимания отмечу, что, например, не кэшируются видеофайлы (да, драйвер смотрит на расширение файла), в расчет принимается размер файла, определяется вид нагрузки – предпочтение в кэшировании отдается случайному доступу нежели чем последовательному, что имеет смысл в силу крайне медленной работы жестких дисков на операциях случайного доступа, и т.п. В интернетах я встречал некоторые негативные комментарии на тему того, что «кэш моментально забьется данными», «емкости 16ГБ ни на что не хватит» и тому подобное – как правило, это отзывы от людей, которые никогда не тестировали Optane Memory. Я еще не слышал негативных отзывов о производительности такого решения ни от кого из наших партнеров, с которыми работаю. Несколько очень важных моментов.

  • Клонирование диска не сработает при включенном ускорении с Optane Memory, т.к. ни одна утилита не сможет работать с метаданными RST. Прямого клонирования раздела с метаданными будет недостаточно – дело в том, что метаданные привязаны к серийным номерам Optane Memory и SATA-устройства. С бэкапами на уровне файловой системы сложностей нет.

Зачем это нужно

Теперь пришло время подробнее поговорить про то, зачем все это вообще нужно. Начнем с более детального анализа нагрузок, которые испытывают системы обычных пользователей ПК. Еще до окончания разработки продукта Optane Memory, в рамках Intel Product Improvement Program мои коллеги провели исследование на предмет того, что обычные пользователи делают с компьютером дома и на работе. Результаты – количество действий разных типов, производимых пользователями (усредненные данные на 1 день пользования ПК): Все эти события тесно связаны с производительностью системного диска, причем, как правило, они требуют случайного доступа к данным, с чем жесткие диски справляются крайне плохо. Таким образом, использование Optane Memory может значительно ускорить исполнение каждого из указанных выше действий. Однако, спросите вы зачем мне покупать Optane Memory для ускорения жесткого диска, если я могу за те же деньги купить SATA SSD емкостью 128ГБ, положить на него ОС и ключевые приложения, а для прочих данных просто использовать жесткий диск? Здесь, с одной стороны, вопрос удобства – если вы имеете хоть какие-то базовые навыки, чтобы уметь выбирать, куда установить ОС/приложения (подозреваю, что все читатели GT попадают в эту категорию, однако, могу вас уверить, что, например, мои родители, как и большинство пользователей ПК, на это не способны), и при этом не будете лениться делать это каждого приложения (особенно проблематично для игр – при нынешних требованиях к дисковому пространству, 128ГБ забьются под ОС и 1-2 игры), то с этой точки зрения гибридная конфигурация SSD+HDD может быть для вас удобнее. Однако, имейте в виду, что с Optane Memory никакого ручного переноса данных не требуется – как только вы перестаете пользоваться одним приложением и начинаете активнее пользоваться другим, необходимые данные буду довольно быстро добавлены в кэш. С другой стороны, вспомним график, который я привел выше – производительность в зависимости от глубины очереди. На небольших очередях задержки доступа к данным на Optane Memory гораздо ниже по сравнению с SATA SSD. Внутри Intel мы замерили, какая глубина очереди используется различными приложениями – вот результаты: Глубина очереди при использовании приложений:

Глубина очереди при запуске приложений:
Распределение глубины очереди в течение типичного рабочего дня корпоративного пользователя (замерено на сотрудниках Intel, занимающих разные должности в компании):
Таким образом, распределение глубины очереди разных пользовательских нагрузок: И мы уже видели, насколько лучше Optane Memory справляется в работой на неглубоких очередях. Сравнение производительности системы с HDD против такой же системы с HDD + Optane Memory: Еще одно интересное сравнение – тот же тест, но в системе без Optane Memory в 2 раза больше оперативной памяти: И, на самом деле, это весьма валидное сравнение. Хотя некоторые виды нагрузок требуют большого количества оперативной памяти, львиная их доля требований к большим объемам памяти не имеет. Таким образом, для многих пользователей может иметь смысл поставить 4 ГБ памяти вместо 8 ГБ, а сэкономленные деньги вложить в ускорение системы хранения.

Заключение

Подводя итог, напомню, что Optane Memory может использоваться как самостоятельный SSD, но это не основная модель использования. Вся магия происходит при его использовании как ускорителя для медленного жесткого диска (или даже SATA SSD) – сравнительно небольшое вложение денег может ускорить быстродействие системы в несколько раз на большинстве пользовательских нагрузок. Это достигается за счет как аппаратной части (Optane Memory имеет ощутимо меньшие задержки доступа по сравнению с другими SSD на рынке, быстродействие на небольших очередях значительно выше альтернативных решений), так и программной – драйвер RST использует достаточно продвинутую логику для осуществления операций кэширования (и в этом отличие от предыдущей технологии – Intel Smart Response Technology). Это делает текущую реализацию отличной от всех тех решений по кэшированию/ускорению жестких дисков, что выспукались на рынок ранее, в том числе нами же. Я очень заинтересован узнать мнение о продукте и решении в целом из комментариев – однако, хотелось бы избежать негатива во мнениях из-за непонимания работы решения или отсутствия опыта его использования. Если есть сомнения – лучше спросите, прежде чем пускаться в критику.P.S. в следующей статье мы разберем серверный продукт на базе технологии 3D XPoint — Intel Optane SSD DC P4800X Series – вкупе с программным решением Intel Memory Drive Technology.* Все тесты, указанные в этой статье, были проведены внутри Intel. Все тесты с Optane Memory были проведены на процессорах Intel Core 7-го поколения, тесты на глубину очереди с использованием процессора Intel Core 6-го поколения. Конфигурация системы, использованной для тестов:25167,1k 25

Автор: Андрей · 23.07.2017

Есть такая пословица: «Если животное выглядит как собака, лает как собака и кусается как собака – то это собака». А вспомнилась она мне, когда начал знакомиться с выпущенными и предлагаемыми компьютерными магазинами накопителями Intel Optane Memory. Вспомнилась потому, что предлагаемые модули форм-фактора M.2 выглядят как SSD-накопитель, используют тот же разъем (M.2) с M-ключом, что и SSD, используют энергонезависимую память, но это, в отличие от пословицы, НЕ SSD-накопитель в том понимании, к которому уже привыкли. Intel Optane Memory — что это, для чего нужна и нужна ли вообще, какую проблему призвана решать? Разберемся?

Для чего предназначена Intel Optane Memory

Как уже было сказано, хоть и похоже это все на SSD, но все же Intel позиционирует свое решение как систему кэширования накопителей, в первую очередь подключенных по шине SATA. Для этого разработаны как специализированная память, так и соответствующее программное обеспечение. Для чего необходимо кэширование?

Давайте обратимся к сути проблемы. Выбирая, или собирая самостоятельно компьютер, решая, какой процессор выбрать, какую память использовать, что за видеокарту установить, приходится разбираться с гигагерцами, гигабайтами, выбирать компоненты, соответствующие друг другу по производительности. Если речь об игровой системе или производительной рабочей станции, то важно, чтобы процессор смог «обслужить» видеокарту, чтобы оперативная память, ее характеристики и объем соответствовали выбранной конфигурации.

И только один компонент изначально рассматривается как неизбежное зло – дисковая подсистема. Если все эти процессоры, видеокарты, ОЗУ, чипсеты примерно соответствуют друг другу и работают быстро, то жесткий диск – это медленно и печально. И с этим приходится мириться.

Несколько снизить столь драматичную разницу в быстродействии между жесткими дисками и всеми остальными компонентами компьютера позволяют SSD-накопители. Хотя скорость их работы разительно отличается от возможностей жестких дисков, до модулей памяти им весьма далеко. Не говоря уже о долговечности, когда ячейки NAND-памяти выдерживают всего несколько тысяч циклов перезаписи. Сравните с, по сути, бесконечным ресурсом DRAM и почувствуйте разницу.

Получается, что как только доходит дело до записи на диск или чтения с него, у всех этих гигагерцев и гигабайтов, которыми обладают CPU, ОЗУ и проч., образуется вынужденный простой в ожидании новой порции данных.

Intel Optane призвана если не полностью устранить возможные задержки при считывании данных с накопителей, то максимально минимизировать их. И делается это за счет кэширования наиболее используемых файлов.

Как устроена Intel Optane Memory

Характеристики модулей Intel Optane Memory.

Емкость, ГБ 16 32
Интерфейс PCIe 3.0 x2 NVMe
Форм-фактор M.2 2280 B&M
Латентность (µs, средняя, чтение/запись) 7/18 9/30
Скорость чтения, МБ/сек 900 1350
Скорость записи, МБ/сек 145 290
IOPS чтение/запись 190000/35000 240000/65000
Износостойкость (TBW), ТБ 182.5
MTBF (среднее время наработки на отказ), млн ч 1.6
Потребляемая мощность, активность/бездействие, Вт 3.5/0.9-1.2

Внешне модуль напоминает типичный SSD форм-фактора M.2 2280, на котором все компоненты расположены на одной стороне. Установлен небольшой контроллер. В 16-гигабайтной модели, используется один чип памяти, а у 32-гигабайтного варианта – 2 таких чипа. Наличие двух ключей, «B» и «M» говорит о том, что накопитель использует шину PCIe 3.0 x2.

Данного варианта интерфейса вполне достаточно, т. к. ни один из предлагаемых накопителей не «выбирает» всю пропускную способность. Не думаю, что это говорит о недостатках используемой памяти 3D XPoint. Думается, что все дело в параллельном доступе к памяти. (Upd. 20.11.2017. Собственно, так оно и есть. Выпущенные недавно полноценные SSD накопители Optane раскрывают возможности этой памяти, о чем можно прочитать в соответствующем материале)

Если посмотреть на SSD, то даже в бюджетном сегменте вполне можно найти модели с контроллерами, имеющими 4 канала. Что уж говорить о топовых вариантах, в которых используются 8-канальные контроллеры.

Доступ к памяти Intel Optane Memory, видимо, осуществляется в одноканальном (для 16 ГБ варианта) или двухканальном (32 ГБ). В частности, это можно предположить, если посмотреть на разницу скоростей записи, которые различаются аккурат в 2 раза. Все упирается в небольшую емкость. Возможно, если появятся более емкие модели, мы увидим все возможности данной технологии, в особенности, новой памяти, во всей красе.

Как все это работает

Именно работа на уровне файлов и отличает эту новую технологию от того, что предлагалось раньше, в частности, Intel Smart Response. Напомню, что эта технология кэширования оперировала блоками данных, без привязки к конкретным файлам. На быстрый накопитель вполне могла попасть случайная информация, используемая редко, вытеснив более актуальную и часто используемую.

Технология Intel Optane работает совсем по-другому. В первую очередь – это оперирование именно файлами, причем ведется анализ наиболее часто используемых, и они переносятся на кэширующий накопитель. Именно перенос, а не копирование, что устраняет необходимость синхронизации быстрого твердотельного накопителя и медленного жесткого диска.

Причем, не каждый файл «достоин» того, чтобы занять место на Intel Optane. Как я понимаю, работа идет с мелкими файлами. Почему так? Дело в том, что если взять, например, процесс загрузки ОС, да и просто запуск того же интернет-браузера, то основная работа, а, значит, и наибольшая потеря времени, происходит при манипуляциях с мелкими файлами. Это именно та самая операция случайного чтения, которая и раскрывает все реальные возможности накопителя. И у жестких дисков с рандомным чтением/записью подобной «мелочи» дела особенно плохи.

В то же время операция последовательного чтения большого файла даже у жестких дисков не так плоха, ну а SSD-накопителей вообще так вообще беспроблемна. Даже самый бюджетный SATA SSD «выбирает» все возможности этого интерфейса. Потому и особой необходимости кэшировать их нет.

Тут играет роль и такой момент. Intel сейчас предлагает свои накопители Optane только в двух вариантах – на 16 и 32 ГБ. Места не сказать, чтобы очень много. Для обычного накопителя. А вот для кэширующего – пока что достаточно.

Если я не ошибаюсь, накопитель объемом 16 ГБ работает «по старинке», на уровне блоков данных, а не файлов, но этот вопрос еще требует разъяснения. Вариант с 32 ГБ уже ведет себя так, как и задумывалось изначально.

При установке самого накопителя и соответствующего ПО указанный диск не виден в системе как самостоятельное устройство. Работа основана на том, что жесткий диск и Intel Optane объединяются в некое подобие RAID0. И тут возникает одна тонкость.

Дело в том, что местоположение физическое того или иного файла неизвестно. В отличие от упоминавшейся уже Intel Smart Response, данные не дублируются на обоих устройствах (HDD и Intel Optane), а находятся на одном из них. Если файл был признан годным для кэширования, он располагается на Optane, и, соответственно его нет жестком диске. Когда надобность в нем исчезнет, он будет перенесен на HDD.

Если теперь взять и просто вытащить этот модуль из компьютера (или устройство вдруг взяло и перестало отзываться), то можно поиметь проблемы. Окажется, что на жестком диске каких-то файлов и нет. Надо было провести штатную процедуру изымания кэширующего модуля. Поспешная установка его обратно, и попытка запуска системы может ни к чему не привести. Правда, это актуально только для тех, кто любит запускать ручки в системный блок и что-то там менять, переставлять, улучшать.

В каких случаях пригодится Intel Optane

Как я уже упоминал выше, основное назначение данной технологии кэширования – ускорение работы SATA-накопителей. Причем наибольший эффект, как можно догадаться, достигается в сочетании с жестким диском. Впрочем, и SSD на этой шине тоже получит «второе дыхание».

Если используется один HDD и под систему, и под все остальное, то тут Intel Optane вполне эффективна. Загрузка системы, часто используемых программ будет производиться заметно быстрее. Главное, чтобы список этих «часто используемых программ» был не слишком велик.

Нужно ли ускорять SSD-накопители, работающие на шине PCIe? Скорее всего нет, и тесты, которые можно найти в сети, показывают, что овчинка выделки не стоит. Хороший SSD быстр сам по себе и большого эффекта достичь не удается, а в некоторых случаях можно даже затормозить накопитель. Единственный вариант – это ускорение работы изначально медленного SSD, например, WD Green или подобных.

И тут возникает вопрос, а какая конфигурация может оказаться оптимальной по затратам и полученной эффективности? Давайте посмотрим на стоимость.

Модуль на 16 ГБ стоит примерно 3500 руб., 32-гигабайтный вариант – около 5500 руб. Теперь рассмотрим с точки зрения банального практицизма возможные конфигурации компьютера и оправданность применения Intel Optane.

  • Система (будет) установлена на жесткий диск. Использование предложенной технологии кэширования наиболее оправдано. Возникает только другой вопрос. Если есть куда поставить модуль Optane (наличествует разъем M.2), то остается решить дилемму, выбрать 32 ГБ кэширующий модуль или, заплатив на 500-1000 рублей больше, отдать предпочтение обычному SSD форм-фактора M.2 (пусть даже на шине SATA), который однозначно будет работать в несколько раз быстрее жесткого диска и, скорее всего, вряд ли будет заметная разница в быстродействии со связкой «винчестер-Optane».
  • Система (будет) установлена на бюджетный SSD, работающий на шине SATA. Ускорение работы будет заметно меньше, чем в предыдущем варианте. И опять-таки, выглядит все это как полумера. Не лучше ли, доплатив, взять SSD на шину PCIe, что будет работать не хуже, а старый SSD пристроить куда-то? Твердотельные накопители форм-фактора M.2 объемом 240 ГБ стартуют примерно с 8300 руб. (например, SmartBuy M7).
  • Система установлена на SSD, работающем на шине PCIe. Разумность установки Intel Optane, на мой взгляд, стремится к нулю. Если речь не идет о совсем уж бюджетных накопителях типа Intel 540s, то ускорить такие SSD кэширующей памяти просто не хватит силенок. Да и не позиционирует компания Intel свои решения для работы с накопителями PCIe.

Ожидаемого эффекта может не оказаться в случае, если компьютер используется для тестирования разнообразного ПО, на него часто записывается и удаляется различная информация, заменяется оборудование. В данном случае технология кэширования не сможет адекватно адаптироваться к привычкам пользователя и ускорить выполнение часто выполняемых операций.

Если окажется, что регулярно запускается много различных программ или игр, то становится непонятно, а что, собственно, надо кэшировать, если для всего места не хватает?

Ограничения

Ну и «на сладкое» я оставил самое горькое, уж простите за каламбур – ограничения применения. Когда впервые всплыла тема с Intel Optane, я подумал, а что, наконец-то, отличная идея! Берем системный SSD, к производительности которого особых претензий нет и ускорять который большой надобности не имеется, дополняем его жестким диском на 2 (3, 4 и т. д.) терабайт для игрушек и прочей надобности, «натравливаем» на него Optane – и радуемся жизни.

Осталось свериться со спецификациями и… Опаньки! Оказывается, кэшировать можно только системный накопитель. Получается, что придется ставить ОС на обычный винчестер, уже купленный SSD использовать для установки программ, критичных к скорости накопителя, и только тогда получится использовать эту новую разработку Intel. Беда в том, что SSD под систему, обычно, размера небольшого, 256-512 ГБ, много всего на него не запишешь. И под систему диска терабайт на 6 или больше многовато. Или, в такой ситуации, ну его, этот Optane, и так все будет работать отлично?

Причем ограничения технологии использованием на системном диске не заканчиваются. Загибайте пальцы:

  1. Кэшируется только системный накопитель.
  2. Не работает с накопителями, объединенными в RAID-массив.
  3. Совместимо с процессорами Intel начиная с 7-го поколения (Kaby Lake).
  4. Поддерживаются процессоры только серий i3 и выше, а также Xeon E3 v6. С Pentium или Celeron кэширование работать не будет.
  5. Совместимо с чипсетами 200-й серии и выше.
  6. Работает только с Windows 10.
  7. BIOS материнской платы должен быть «в курсе» существования Intel Optane.
  8. Функция дефрагментации жесткого диска становится недоступной.

Надо сказать, что владельцы систем на платформе AMD, как можно догадаться, «в пролете».

Заключение. Intel Optane Memory — что это и зачем это надо

Мне думается, что в первую очередь установка этих модулей появится в тех или иных комплектациях ноутбуков и готовых системных блоков. Это удобный вариант за сравнительно небольшую сумму убить сразу несколько зайцев:

  • Обойтись без довольно дорогостоящих SSD.
  • Не ограничивать емкостью в 120-240 ГБ вместимость дисковой подсистемы из-за того, что для скорости установлен SSD, а для удержания цены в разумных пределах – модель оного небольшого размера. За те же или даже меньшие деньги можно было бы установить обычный винчестер в несколько раз большего объема, проиграв, правда, в скорости работы.
  • Получить производительность «почти как у SSD».

В конце концов, в продаже можно встретить модели ноутбуков, в которых помимо жесткого диска есть и небольшой кэширующий SSD. Причем, такая комбинация встречается как у весьма недорогих моделей (Lenovo E31-80), так и у дорогих, например, Dell XPS 15 9550-2334. Подозреваю, что вскоре увидим варианты не с обычными кэширующими SSD, а именно с Intel Optane.

Использовать ли эту технологию при планируемом апгрейде или сборке нового компьютера? С одной стороны, эффект от ее применения есть, и довольно заметный. В какой-то степени она деньги свои отрабатывает, хотя и не полностью. Будь эти модули подешевле, перспектив и аргументов в пользу их приобретения было бы больше. А когда речь идет о суммах, соизмеримых со стоимостью SSD, то стОит ли огород городить? Зачем нужно добиваться работы «почти как у SSD», если можно приобрести этот пресловутый SSD и получить все без «как», или даже лучше.

И вообще, создается впечатление, что существующие модули Intel Optane Memory – это, так сказать, пробный шар, некий полигон для испытаний этой технологии и новой памяти 3D XPoint. А она, судя по всему, весьма перспективна.

Что ж, будем посмотреть, как пойдет дело дальше.

Этим постом я хотел бы открыть небольшую серию статей, посвященных продуктам Intel Optane на базе технологии 3D XPoint. Мой беглый обзор русскоязычных источников показал, что хороших материалов по этому вопросу нет; кроме того, из комментариев к нашим анонсам я убедился, что существует глубокое непонимание того, зачем все это вообще нужно и почему реализовано именно таким образом.42d58400f08d4a2d986809b57aedddd7.jpg

Технология 3D XPoint

Начнем с краткой информации по самой технологии 3D XPoint (читается как «три-ди кросс-поинт»). Сразу прошу извинений — детальную информацию о технологии мы на данный момент не раскрываем. Кроме того, фокус обзоров будет именно на конечных продуктах, нежели чем на самой технологии. Во-первых, хотя технология является совместной разработкой компаний Intel и Micron, реализация технологии в виде продуктов находится в раздельном ведении каждого из вендоров. Таким образом, всё, что я буду рассказывать о продуктах на базе 3D XPoint, имеет отношение только к продуктам Intel. Во-вторых, 3D XPoint – это не NAND, это не NOR, это не DRAM, а совершенно другой зверь. Не раскрывая деталей физической реализации памяти, опишу ключевые характеристики, а также отличия 3D XPoint от NAND и от DRAM.

  • В отличие от DRAM, 3D XPoint позволяет создавать устройства с большей плотностью хранения данных, является энергонезависимым типом памяти и, при этом, дешевле. Из недостатков в данном сравнении – 3D XPoint как технология реализации памяти несколько медленнее, чем DRAM (обратите внимание, сравниваем технологии, а не продукты на базе этих технологий).

Все вышеперечисленное касалось 3D XPoint как таковой – это, однако, имеет меньшее значение для пользователей, нежели чем характеристики конкретных устройств на базе 3D XPoint. Таким образом, наш разговор переходит в русло описания продуктов Intel Optane на базе этой технологии. Начнем с описания того, что же есть «Intel Optane». Если коротко, то это бренд для всех продуктов Intel на базе технологии 3D XPoint. Если объяснять более подробно, то Intel берет «вафли» 3D XPoint, проводит собственное тестирование и отбор чипов памяти, самостоятельно разрабатывает дизайн конечного устройства — создает контроллер SSD, разводку текстолита, прошивки; тестирует и валидирует конечное устройство, выводит его на рынок – вот это все скрывается под словами «Intel Optane».

Intel Optane

На данный момент, официально анонсировано и выпущено на рынок 2 принципиально разных продукта: Intel Optane Memory – для клиентских моделей использования — и Intel® Optane SSD DC P4800X – для серверного использования. В данной статье мы подробнее разберем клиентский продукт, серверный же будет темой следующего обзора. Итак, Intel Optane Memory. Первое, что стоит понять об этом продукте – несмотря на название, это не DRAM, а NVMe SSD в форм-факторе M.2 2280-S3-B-M. Вид сверху – под наклейкой 1 чип 3D XPoint (это версия 16ГБ, на 32ГБ расположены 2 чипа 3D XPoint – площадки под второй чип видны):c96361b199884facb0419a86a2b70f84.jpg Модуль односторонний, так что обратная сторона пустая:df6289918cec47568cf2dfa45cadb5a2.jpg Устройство соответствует спецификации NVM Express 1.1. На данный момент на рынок выпущены емкости 16ГБ (используется один чип памяти 3D XPoint емкостью 16ГБ) и 32ГБ (используются два чипа памяти 3D XPoint емкостью 16ГБ каждый). Из интересных деталей дизайна:

  • контроллер явлется внутренней разработкой Intel
  • в дизайне не используется DRAM
  • используются только 2 линии PCIe gen3, а не 4 линии, как многие могли бы ожидать
  • заявленная износостойкость – 100ГБ записанных данных каждый день в течение 5 лет

Тест производительности

Теперь о производительности 956c8054aa474ae8a7ba3323f2eccdb6.jpg (производительность версии 32ГБ выше из-за того, что используются 2 чипа памяти 3D XPoint против одного чипа у версии 16ГБ) Казалось бы, производительность в плане пропускной способности и IOPS не впечатляет – однако, собака зарыта совсем не тут. Вся штука в том, что эти данные производительности замерялись при глубине очереди (queue depth) равной 4 – в отличие от прочих SSD, которые обычно замеряются с глубиной очереди 32 и выше. Именно на неглубоких очередях более всего заметно превосходство Optane. Для наглядности, вот график производительности разных типов устройств на разной глубине очереди*:f175a41de5094022ba75de8f731ccaef.jpg При этом, как показывают наши внутренние тесты, подавляющее большинство задач, с которыми сталкивается обычный пользователь дома или в офисе, имеют глубину очереди от 1 до 4 (более подробно – см. ниже), а спецификации SSD пишутся с использованием нагрузок с глубиной очереди 32 (для SATA) и более (для NVMe). Разница весьма наглядна. Однако, Intel не позиционирует использование Optane Memory в качестве обычного SSD по понятным причинам – емкости устройств не хватит для пользовательских задач (за исключением некоторых интересных вариантов, как, например, небольшой, но быстрый и надежный загрузочный накопитель для Linux, или scratch disk для Adobe Photoshop, или небольшой, но быстрый кэш вместе с Intel Cache Acceleration Software, или интересное решение, описанное вот тут). Вся сила маркетингового аппарата Intel направлена на продвижение новой технологии ускорения (грубо говоря – кэширования, но это не совсем точное определение) медленного SATA-накопителя (будь то жесткий диск, твердотельный накопитель или даже некоторые гибридные модели) быстрым модулем Optane Memory. Эта модель использования накладывает ограничения на поддерживаемые железо и ОС:

  • Процессор Intel Core 7-го поколения или новее
  • Чипсет Intel 200 Series или новее (полный список тут)
  • BIOS, в который интегрирован UEFI-драйвер RST версии 15.5 или новее (15.7 для серии чипсетов X299). Да, legacy-режим БИОСа не поддерживается – для Optane Memory обязательна загрузка в режиме UEFI
  • Windows 10 64-bit
  • Драйвер Intel Rapid Storage Technology 15.5 или новее
  • Загрузочный SATA-накопитель (именно его будет ускорять Optane Memory). Поддерживается только разметка GPT.
  • 5МБ свободного пространства в конце SATA-накопителя – это нужно для метаданных RST

Настраивается это так:

  1. Убеждаемся, что BIOS материнской платы поддерживает Optane (см. выше; сейчас все “Optane Memory Ready” платы на 200 сериях чипсетов отгружаются с БИОСом, который поддерживает Optane Memory, однако на рынке еще можно найти платы из предыдущих партий – на них потребуется обновить БИОС). И да, Intel провел громадную работу с производителями плат – все платы, которые поддерживают Optane Memory, имеют на коробке вот такой шильдик: 397a8cd271034b75b3a6bf42438f6917.jpg
  2. Скачивается утилита отсюда (можно выбрать стандартную утилиту RST, которая позволит управлять как конфигурациями с Optane Memory, так и обычными массивами RST, или упрощенную версию утилиты, которая позволяет только включать и выключать конфигурации Optane Memory и смотреть статистику).
  3. PROFIT! А именно:
    • Более быстрая загрузка операционной системы;
    • Ускорение большинства операций ввода-вывода (по сути – кэширование, однако достаточно умными алгоритмами).

Принцип работы

Также немного поговорим о том, как это все работает. Во-первых, в момент активации Optane Memory, RST драйвер перенесет файлы, необходимые для загрузки ОС, а также файловую таблицу на быстрый Optane Memory накопитель. Ключевое здесь – именно перенесет, а не скопирует. Механика работы RST драйвера такова, что не все данные, лежащие в кэше на быстром устройстве, будут в обязательном порядке скопированы на медленное устройство. Это увеличивает общее быстродействие системы и, кроме того, решает проблему синхронизации данных. Однако, как можно понять, физический сбой Optane Memory с большой вероятностью приведет к потере доступа к данным на SATA-диске. Из-за того, что перенос данных происходит сразу в момент активации Optane Memory, уже первая же загрузка системы будет быстрее, чем до Optane Memory (особенно это заметно, если ускорялся жесткий диск, нежели чем SATA SSD – однако, и в последнем случае стоит ожидать увеличения производительности системы хранения). Во-вторых, во время работы системы RST драйвер будет непрерывно производить кэширование. И здесь существует одно важное различие между модулями Optane Memory разной емкости – на устройстве емкостью 16ГБ поддерживается только кэширование на уровне блоков, на устройстве емкостью 32ГБ – кэширование на уровне блоков и кжширование на уровне файлов (оба работают одновременно). В случае блочного кэширования, решение о кэшировании того или иного блока происходит мгновенно в момент запроса на ввод-вывод. В случае файлового кэширования, драйвер мониторит частоту доступа к файлам и кладет все это в специальную таблицу, которую затем (в момент простоя системы или по расписанию пользователя) использует для определения того, какие файлы остаются в кэше, какие удаляются, а какие добавляются. Оба вида кэширования используют довольно умные, на мой взгляд, алгоритмы принятия решения о кэшировании – глубоко описывать я их здесь не могу, но для общего понимания отмечу, что, например, не кэшируются видеофайлы (да, драйвер смотрит на расширение файла), в расчет принимается размер файла, определяется вид нагрузки – предпочтение в кэшировании отдается случайному доступу нежели чем последовательному, что имеет смысл в силу крайне медленной работы жестких дисков на операциях случайного доступа, и т.п. В интернетах я встречал некоторые негативные комментарии на тему того, что «кэш моментально забьется данными», «емкости 16ГБ ни на что не хватит» и тому подобное – как правило, это отзывы от людей, которые никогда не тестировали Optane Memory. Я еще не слышал негативных отзывов о производительности такого решения ни от кого из наших партнеров, с которыми работаю. Несколько очень важных моментов.

  • Клонирование диска не сработает при включенном ускорении с Optane Memory, т.к. ни одна утилита не сможет работать с метаданными RST. Прямого клонирования раздела с метаданными будет недостаточно – дело в том, что метаданные привязаны к серийным номерам Optane Memory и SATA-устройства. С бэкапами на уровне файловой системы сложностей нет.

Зачем это нужно

Теперь пришло время подробнее поговорить про то, зачем все это вообще нужно. Начнем с более детального анализа нагрузок, которые испытывают системы обычных пользователей ПК. Еще до окончания разработки продукта Optane Memory, в рамках Intel Product Improvement Program мои коллеги провели исследование на предмет того, что обычные пользователи делают с компьютером дома и на работе. Результаты – количество действий разных типов, производимых пользователями (усредненные данные на 1 день пользования ПК): 1c4d4d8edd8b490aae16cf76503a95f8.jpg Все эти события тесно связаны с производительностью системного диска, причем, как правило, они требуют случайного доступа к данным, с чем жесткие диски справляются крайне плохо. Таким образом, использование Optane Memory может значительно ускорить исполнение каждого из указанных выше действий. Однако, спросите вы зачем мне покупать Optane Memory для ускорения жесткого диска, если я могу за те же деньги купить SATA SSD емкостью 128ГБ, положить на него ОС и ключевые приложения, а для прочих данных просто использовать жесткий диск? Здесь, с одной стороны, вопрос удобства – если вы имеете хоть какие-то базовые навыки, чтобы уметь выбирать, куда установить ОС/приложения (подозреваю, что все читатели GT попадают в эту категорию, однако, могу вас уверить, что, например, мои родители, как и большинство пользователей ПК, на это не способны), и при этом не будете лениться делать это каждого приложения (особенно проблематично для игр – при нынешних требованиях к дисковому пространству, 128ГБ забьются под ОС и 1-2 игры), то с этой точки зрения гибридная конфигурация SSD+HDD может быть для вас удобнее. Однако, имейте в виду, что с Optane Memory никакого ручного переноса данных не требуется – как только вы перестаете пользоваться одним приложением и начинаете активнее пользоваться другим, необходимые данные буду довольно быстро добавлены в кэш. С другой стороны, вспомним график, который я привел выше – производительность в зависимости от глубины очереди. На небольших очередях задержки доступа к данным на Optane Memory гораздо ниже по сравнению с SATA SSD. Внутри Intel мы замерили, какая глубина очереди используется различными приложениями – вот результаты: Глубина очереди при использовании приложений:

Глубина очереди при запуске приложений:
Распределение глубины очереди в течение типичного рабочего дня корпоративного пользователя (замерено на сотрудниках Intel, занимающих разные должности в компании):
Таким образом, распределение глубины очереди разных пользовательских нагрузок:4267cf5b7f4b4b2b8b1d997cc69f1afd.jpg И мы уже видели, насколько лучше Optane Memory справляется в работой на неглубоких очередях. Сравнение производительности системы с HDD против такой же системы с HDD + Optane Memory:feff3ae7b65f48919fc38d339475cc15.jpg Еще одно интересное сравнение – тот же тест, но в системе без Optane Memory в 2 раза больше оперативной памяти:d0b11517b6744f4688ba5ead45d6dd1d.jpg И, на самом деле, это весьма валидное сравнение. Хотя некоторые виды нагрузок требуют большого количества оперативной памяти, львиная их доля требований к большим объемам памяти не имеет. Таким образом, для многих пользователей может иметь смысл поставить 4 ГБ памяти вместо 8 ГБ, а сэкономленные деньги вложить в ускорение системы хранения.

Заключение

Подводя итог, напомню, что Optane Memory может использоваться как самостоятельный SSD, но это не основная модель использования. Вся магия происходит при его использовании как ускорителя для медленного жесткого диска (или даже SATA SSD) – сравнительно небольшое вложение денег может ускорить быстродействие системы в несколько раз на большинстве пользовательских нагрузок. Это достигается за счет как аппаратной части (Optane Memory имеет ощутимо меньшие задержки доступа по сравнению с другими SSD на рынке, быстродействие на небольших очередях значительно выше альтернативных решений), так и программной – драйвер RST использует достаточно продвинутую логику для осуществления операций кэширования (и в этом отличие от предыдущей технологии – Intel Smart Response Technology). Это делает текущую реализацию отличной от всех тех решений по кэшированию/ускорению жестких дисков, что выспукались на рынок ранее, в том числе нами же. Я очень заинтересован узнать мнение о продукте и решении в целом из комментариев – однако, хотелось бы избежать негатива во мнениях из-за непонимания работы решения или отсутствия опыта его использования. Если есть сомнения – лучше спросите, прежде чем пускаться в критику.P.S. в следующей статье мы разберем серверный продукт на базе технологии 3D XPoint — Intel Optane SSD DC P4800X Series – вкупе с программным решением Intel Memory Drive Technology.* Все тесты, указанные в этой статье, были проведены внутри Intel. Все тесты с Optane Memory были проведены на процессорах Intel Core 7-го поколения, тесты на глубину очереди с использованием процессора Intel Core 6-го поколения. Конфигурация системы, использованной для тестов:b5b8e02f197348c8813fc447538dbdac.jpgИспользуемые источники:

  • https://m.habr.com/ru/post/370729
  • https://andiriney.ru/intel-optane-memory-chto-eto/
  • https://habr.com/post/370729/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации