Мой блог
Как SSD без DRAM используют оперативную память ПК: результаты тестов

Долгое время покупка накопителя категории SSD без DRAM казалась мне компромиссом, на который стоит идти исключительно ради экономии, когда абсолютная скорость работы не имеет никакого значения. Ситуация изменилась после приобретения недорогого накопителя стоимостью около 50 долларов в качестве дополнительного хранилища. Его производительность в повседневных сценариях ни в чем не уступала моделям, ценник которых превышал эту сумму более чем в два раза. Это заставило меня детально изучить технологию Host Memory Buffer и устроить сравнительное тестирование накопителя без собственной памяти с полноценной моделью, оснащенной DRAM. Полученные результаты заставили меня полностью пересмотреть подходы к выбору твердотельных накопителей.
Мой накопитель лишен чипа, который должен быть в каждом быстром устройстве
Отсутствие чипа DRAM обнаружилось случайно, когда я изучил технические характеристики приобретенного накопителя. Поскольку подобные решения традиционно ассоциировались с жесткой экономией и урезанными возможностями, меня удивило, что этот дополнительный диск не отставал от более дорогих аналогов, бывших у меня в пользовании раньше. Он совершенно не вел себя как бюджетное устройство, на котором сэкономили в ущерб производительности.
Полное отсутствие собственной памяти у накопителя не означает, что на нем вообще нет никаких микросхем. Контроллер по-прежнему располагает небольшим объемом встроенной SRAM, однако это далеко не то же самое, что выделенный чип DRAM на плате SSD. При этом специальная таблица адресации, которая отслеживает точное местоположение данных на микросхемах NAND, изначально отсутствовала. Флеш-память устроена сложнее обычного архива с подписанными папками, и при каждом цикле чтения или записи контроллер обязан постоянно сверяться с этой картой.
Технология Host Memory Buffer (HMB) позволяет контроллеру накопителя задействовать крошечную часть оперативной памяти самого компьютера. Заимствованная системная память расходуется на метаданные и карты адресации, что позволяет значительно сократить число обращений непосредственно к массиву памяти NAND. Мой накопитель задействует под эти нужды около 64 мегабайт системной памяти, хотя само устройство постоянно не резервирует этот объем. Вместо того чтобы удерживать в памяти весь индекс целиком, контроллер загружает лишь те фрагменты, которые требуются ему чаще всего. Оценивать накопитель исключительно по факту отсутствия физической микросхемы памяти на плате было бы поверхностно.
Заимствование памяти оказалось самой простой задачей
Распаянная на плате DRAM и технология HMB представляют собой разные подходы к решению одной и той же технической задачи, хотя реализуются совершенно по-разному. Первый вариант жестко привязан к конкретному накопителю и работает только на нем. Второй задействует свободные ресурсы из другого узла компьютера, который операционная система может временно выделить по запросу.
При этом HMB — это не просто способ перенести таблицу адресации в чужую оперативную память. Контроллер самостоятельно решает, какие именно данные должны находиться под рукой, а остальная информация отправляется в память NAND и подгружается по мере необходимости через собственную память контроллера. Механизм HMB функционирует подобно компактному кэшу, удерживающему исключительно востребованные файлы. Прямой зависимости между размером выделенного буфера и общей емкостью накопителя не существует. Итоговый объем запрашиваемой памяти определяется архитектурой контроллера и характеристиками системы, к которой подключено устройство.
- Где находится: Накопитель с собственной DRAM — непосредственно на плате SSD; накопитель с HMB — заимствуется из системной RAM.
- Право собственности: В первом случае память закреплена за конкретным диском; во втором — используется совместно и выделяется по запросу.
- Типичная роль: Локальная память хранит полные карты данных; буфер HMB удерживает выбранные метаданные и карту адресации.
Самое любопытное кроется даже не в самом факте заимствования памяти. Ситуация становится значительно показательнее при запуске длительных нагрузок вместо коротких пиковых задач.

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




Тем не менее, результаты случайного чтения при низкой глубине очереди оказались совершенно неожиданными. В значительной степени подобные мелкие разрозненные запросы в точности повторяют характер обращений, которые типичная операционная система генерирует в фоновом режиме. Зафиксированная разница оказалась настолько незначительной, что вряд ли привлечет внимание рядового пользователя во время стандартной офисной или домашней работы за ПК.
Производительность под нагрузкой и реальные выводы
Когда оба накопителя были исчерпаны за пределами своего быстрого кеша, длительная запись продемонстрировала более заметную разницу. Модель с HMB удерживала стабильную скорость около 4,85 ГБ/с, записав 377 ГБ, но после опустошения кеша этот показатель снижался до 560 МБ/с. Накопитель с распамятованной DRAM держался на уровне 6,4 ГБ/с примерно на 46 секунд дольше, после чего скорость падала примерно до 900 МБ/с. Накопитель с собственной памятью продержался дольше, и даже при падении скорости сохранял более высокие показатели. Впрочем, дело здесь не обязательно исключительно в отсутствии микросхемы DRAM. На поведение накопителя при предельных нагрузках влияет целый ряд параметров: архитектура контроллера, количество каналов NAND, настройка кеша, температурный режим и наличие выделенной памяти.
В повседневной жизни — во время запуска игр, веб-серфинга, открытия приложений и других задач, задействующих короткие пиковые нагрузки, — разница будет практически незаметна. Она проявится лишь в том случае, если вам потребуется регулярно переносить огромные массивы данных.
Весь этот эксперимент полностью изменил мой подход к выбору комплектующих, и теперь технические спецификации я читаю иначе. Для видеоигр, рабочих проектов и стандартного файлового хранилища — то есть для всего спектра задач, ради которых устанавливается дополнительный диск, — я без колебаний выберу модель с поддержкой HMB. Я перестал считать наличие DRAM главным критерием при поиске твердотельного накопителя и теперь обращаю внимание на другие характеристики: тип контроллера, разновидность памяти NAND, объем кеша и эффективность охлаждения. Технология HMB не делает накопитель без собственной памяти абсолютным аналогом полноценных моделей с DRAM, но выступает отличным практическим решением, которое успешно стирает грань между ними в большинстве сценариев.
Источник: makeuseof.com

