Тестирование SSD-накопителя KingSpec P3 объемом 1 Тбайт (P3-1T): терабайт за копейки (страница 4)

для раздела Лаборатория

Температурный режим

Накопитель лишен встроенного программного мониторинга, однако, имея возможность разбора, грехом было бы не пройтись по нему хотя бы пирометром.

200x134  8 KB. Big one: 1500x1004  199 KB 200x134  7 KB. Big one: 1500x1004  218 KB 200x134  8 KB. Big one: 1500x1004  199 KB

Как оказалось, самыми горячими элементами тут являются микросхемы памяти, причем одна греется немного сильнее другой: под интенсивной нагрузкой (линейная перезапись всего объема) температура доходит до 47°C и 43°C соответственно. А вот контроллер холоднее – не более 34°C. Довольно неплохие показатели.

Стабильность скоростных характеристик

Равно как и у классических накопителей на магнитных пластинах (HDD), у накопителей на флеш-памяти имеются свои нюансы, связанные с постоянством показателей быстродействия в различных ситуациях.

Во-первых, далеко не все накопители могут обеспечивать стабильную скорость записи при сколь-либо продолжительной нагрузке, причем здесь может сказываться как быстродействие контроллера, так и наличие специальных алгоритмов «ускоренной записи» («SLC-режим») и их нюансы. Во-вторых, далеко не все накопители сохраняют свои показатели после того, как будет переписан весь объем массива флеш-памяти, имеющийся в распоряжении контроллера (особенно снижение скорости записи было свойственно контроллерам SandForce SF-1***/SF-2*** в силу особенностей алгоритмов их работы).

В-третьих, бывают ситуации, когда накопитель оказывается без поступления на него команды TRIM (например, старый ПК, подключение через USB 3.0 на старых контроллерах, RAID-массивы, работа с базами данных) и тогда важно его микропрограммы задействовать часть резерва под оперативную запись. В-четвертых, отличается реакция накопителей на поступление команды TRIM: одни приступают к «сборке мусора» немедленно, другие – откладывают это на периоды простоя.





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

Все эти моменты мы и рассмотрим в порядке перечисления.

Случайная мелкоблочная запись по всему объему, «сборка мусора»

Имитируется работа накопителя в условиях нагрузки, близкой к серверной (непрерывная случайная запись блоками 4 Кбайт по всему объему с глубиной очереди запросов 32) при отсутствии TRIM. Именно так, к примеру, работают базы данных: создается один или энное число больших файлов, внутри которых выполняются операции чтения/записи, генерации команды TRIM при этом не происходит.

Тест проводится непрерывно в течение нескольких часов до исчерпания свободного места на накопителе, при этом снимаются показатели быстродействия: синие отметки – ежесекундно, черная линия – усредненное значение с интервалом в 30 секунд. Непрерывная мелкоблочная запись с большой глубиной очереди запросов, да еще при отсутствии TRIM – тип нагрузки, нехарактерный для домашних ПК, но он иллюстрирует то, насколько производительна и стабильна в показателях использованная в тестируемых накопителях аппаратная платформа в целом.

450x294  67 KB. Big one: 1119x731  168 KB

Перед нами DRAM-Less-контроллер, т.е. решение, не использующее внешнюю микросхему-буфер DRAM. И для такого контроллера совершенно типично иметь и невысокий уровень быстродействия в нагрузке подобного рода и сильное непостоянство показателей моментальной производительности с постоянными провалами до нуля.

Но тут наблюдается несколько особенностей. Во-первых, явно выражен не одна, а две «ступеньки»: до примерно 1.1 Гбайт пишется с уровнем производительности порядка 16 тысяч IOPS (и всплесками до 28 тысяч IOPS), затем еще примерно 27 Гбайт пишутся на более низкой скорости, разброс показателей усиливается и, наконец, переход в «устоявшееся состояние», который также происходит нетипично – на отметке порядка 860 Гбайт записанных данных, хотя по идее это должно происходить на отметке порядке 1 Тбайт.

Теперь мы посмотрим на то, как работают алгоритмы «сборки мусора» (Garbage Collection). На итоговом графике присутствуют скоростные показатели накопителя в четырех ситуациях: состояние «чистого» массива ячеек, после непрерывной нагрузки в течение двух часов в условиях отсутствия команды TRIM, после простоя 30 минут, которых должно хватить накопителю для отработки внутренних алгоритмов «сборки мусора», после выполнения команды TRIM на весь объем накопителя.

450x294  46 KB. Big one: 1287x841  71 KB





Здесь мы можем видеть, что в условиях отсутствия TRIM накопитель таки восстанавливает уровень своего быстродействия и в таком режиме пишется изрядный объем данных. Т.е. на разработке микропрограммы данного контроллера не экономили ярко выраженным образом.

Линейная запись

На крупноблочной записи поведение накопителей иногда может отличаться от мелкоблочной записи со случайным доступом, а оно тоже может служить критерием выбора. Наглядный пример нагрузки такого рода – копирование крупных файлов силами Проводника Windows. Для большей наглядности инициируем линейную запись на весь объем, доступный пользователю, посредством AIDA64.

450x306  65 KB. Big one: 812x552  25 KB

Встроенный в Windows диалог копирования файлов (процесс копирования крупных файлов):

449x287  8 KB

Здесь мы видим, что под SLC-кэширование на линейной нагрузке выделяется порядка 7.5% пользовательского пространства – принимается около 24 Гбайт данных. Что характерно, после этого, судя по графику, микропрограмма пытается произвести перестройку записанных в этом режиме данных, затем снова включить SLC-режим, но затем прекращает эти попытки и дальше запись идет уже в прямом режиме.

Тут нас поджидает еще один сюрприз: накопители на 64-слойной TLC 3D V-NAND IMFT уже в объеме 128 Гбайт способны обеспечить скорость записи около 150 Мбайт/с даже с безбуферным контроллером. А тут – 163 Мбайт/с в объеме 1 Тбайт. Налицо искусственное ограничение, подобное заложенному в Phison S11. Разве что у последних она ниже – порядка 100-110 Мбайт/с.

Задержки при отработке TRIM

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





Именно с этой целью в стандарт ATA была включена новая команда, больше известная как TRIM. Подача этой команды сигнализирует микропрограмме накопителя, что размещающиеся по определенным LBA-адресам данные более неактуальны и соответствующие им ячейки памяти можно стереть. Сама по себе команда выполняется монопольно, но различается реакция самих накопителей на подачу этой команды.

Три основных варианта: полный уход накопителя «в себя», снижение быстродействия, отсутствие видимой реакции вообще (накопитель «откладывает» выполнение расчистки «на потом», либо его аппаратное быстродействие настолько велико, что хватает и на фоновую расчистку, и на полноценное обслуживание запросов извне).

449x287  8 KB
Спокойно копируем файлы, попутно удаляем ненужные, и тут накопитель «зависает» на некоторое время.

Первый из перечисленных вариантов наиболее неприятен: если накопитель является системным, то пользователь не просто случайно увидит резкое падение индикатора процесса копирования до нуля (а если никакого копирования пользователь не запускал, то не заметит и вовсе). Тут могут возникать рывки («фризы») в работе интерфейса операционной системы и приложений.

Тестирование ориентируется на реализацию SLC-кэширования (подавляющее большинство современных SSD оснащены этим алгоритмом) и производится следующим образом:

  • Создается несколько файлов объемом 8 Гбайт каждый (4 на накопителях объемом 120-256 Гбайт, 8 – 480-512 Гбайт, 16 – 960-1024 Гбайт) и один тестовый файл объемом 32 Гбайт;
  • Делается пауза в несколько минут для отработки накопителем встроенных алгоритмов «сборки мусора» и консолидации данных из SLC-кэша;
  • Осуществляется запись на накопитель файла из расчета 16 Гбайт записи для накопителей объемом 120-256 Гбайт и далее по 8 Гбайт на каждые 128 Гбайт объема накопителя;
  • Пауза в несколько минут для отработки алгоритмов «сборки мусора» и консолидации данных из SLC-кэша;
  • Удаляется файл, записанный в пункте 3;
  • Делается пауза в несколько минут для отработки накопителем встроенных алгоритмов «сборки мусора»;
  • Запускается линейное чтение из созданного в пункте тестового файла, возникающие задержки выражаются в падении скорости чтения, что фиксируется с интервалом 0.5 секунд в специальном лог-файле, и производится удаление файлов объемом 8 Гбайт, созданных в пункте 1.

Зачем такие сложности? Пустой накопитель и накопитель с данными – не одно и то же. Если по таблице ретранслятора запрашиваемые ячейки пусты, то микропрограмма, как правило, не тратит время на считывание ячеек памяти, а просто отдает нули на такие запросы. Поток нулей с точки зрения системы – тоже данные, но за счет указанного приема быстродействие здесь выше (именно так получались высокие скорости у накопителей на контроллерах SandForce), а к практической эксплуатации такие результаты отношения не имеют.

Почему сначала временные файлы и только затем – тестовый? А затем еще запись и удаление? Чтобы точно «вытеснить» тестовый файл из SLC-буфера – часто данные, записанные в SLC-режиме, читаются быстрее, нежели хранящиеся уже в «уплотненном» состоянии. Иногда, судя по поведению некоторых накопителей, в микропрограммах специально закладывается отложенная очистка SLC-кэша – как своеобразная «заточка» под популярные бенчмарки, которые записывают данные, тут же их считывают и на основании этого выдают результаты. Сами по себе размеры удаляемых файлов сделаны такими большими для улучшения точности замеров (продолжительность выполнения операции отработки TRIM интерполируется по объему удаляемого и может быть просчитана).

450x294  33 KB. Big one: 1287x841  42 KB

Удаление 128 Гбайт способно ввести накопитель в ступор аж на 14 секунд, иначе говоря, чуть меньше десяти гигабайт в секунду – это очень долго. Для сравнения, недавно протестированный Micron M1100 (аналогичный Crucial MX300) объемом 1 Тбайт тратит на это всего около 5 секунд - втрое меньше времени.





Telegram-канал @overclockers_news - это удобный способ следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
Оценитe материал
рейтинг: 4.8 из 5
голосов: 33

Комментарии 53 Правила



Возможно вас заинтересует

Популярные новости

Сейчас обсуждают