Методика тестирования накопителей образца 2018 года
Внешний SSD Samsung T5 мы недавно тестировали, но некоторые вопросы на тот момент остались за кадром. В первую очередь — производительность при использовании «настоящего» USB 3.1 Gen2, который этим устройством поддерживается. Однако поскольку Samsung T5 — одно из первых таких устройств, появившихся на рынке, заранее наличием соответствующего контроллера на тестовом стенде мы не озаботились. С тем же самым, впрочем, столкнутся многие покупатели: пока еще поддержка данной версии спецификаций USB реализована далеко не в каждом компьютере (даже среди продающихся сейчас систем, не говоря уже о давно используемых).
Собственно, точно так же внедрялся и USB 3.0, а до этого — и USB 2.0. По сравнению с теми временами положение дел даже несколько ухудшилось: просто взять и модернизировать имеющиеся компьютеры совсем не просто. Во-первых, с современными ноутбуками провернуть такой фокус обычно не удается — в отличие от «исторических», где встречались слоты CardBus или ExpressCard, эквивалентные «обычным» PCI или PCIe x1, куда можно было установить дискретный USB-контроллер. Во-вторых, доля настольных компьютеров стала куда меньше, чем была. В-третьих, дискретные адаптеры USB 3.1 выпускаются в виде плат расширения PCIe x4, а такие слоты есть не во всех системах (особенно недорогих). Дело тут в том, что даже PCIe 3.0 x1 недостаточно для полной реализации возможностей нового протокола SuperSpeed10, а первые контроллеры нового интерфейса (типа ASMedia ASM1142) появились еще во времена господства PCIe 2.0, так что подключаются к чипсету либо через PCIe 2.0 x2, либо через PCIe 3.0 x1. Однако слотов типа х2 в природе не существует, поэтому придется искать на плате хотя бы х4 (пусть к нему и будет подключена лишь пара линий). Новые же продукты ASMedia сохранили аналогичное исполнение, только теперь уже могут использовать PCIe 3.0 x2, чтобы хотя бы один порт USB мог работать на полной скорости, а двум досталось хоть что-нибудь «интересное». В общем, даже при наличии настольного компьютера желающих модернизировать его при помощи платы расширения будет меньше, чем ранее — что сказывается и на ценах (и доступности) соответствующих устройств.
Со временем эта проблема рассосется самостоятельно: платформа AMD AM4 поддерживает USB 3.1 Gen2 с момента своего появления, а массовые чипсеты Intel обзавелись такой функциональностью в этом году. Кроме того, в готовые ПК/ноутбуки или просто системные платы один-два порта соответствующей версии стандарта начали встраивать еще до их реализации в чипсетах — там-то проблем с интеграцией дискретных контроллеров нет. В итоге с первыми платами с поддержкой USB 3.1 мы начали встречаться еще с весны 2015 года, а позднее она стала обыденностью для продуктов уровнем «выше среднего» — коих в итоге на руках у пользователей за три года накопилось уже порядком. Так что внедрение нового скоростного режима для накопителей — пусть и не необходимость, но и не прихоть точно. Много от этого режима при использовании внутри SSD с SATA-интерфейсом получить не выйдет, но некоторое увеличение производительности будет. Какое — как раз сегодня и посмотрим.
Кроме того, займемся и еще одним насущным вопросом. Хотя о его существовании многие пользователи компьютеров и не догадываются :)
Windows, внешние накопители и кэширование
Не секрет, что современные операционные системы (и не только линейки Windows) очень активно используют кэширование дисковых операций, используя для этого в ряде случаев уже гигабайты оперативной памяти. В определенных рамках этим можно управлять — а можно ограничиться настройками по умолчанию, что большинство пользователей и делает.
Доступ к некоторым настройкам можно получить через «Диспетчер устройств» в свойствах накопителя. Наиболее полный набор параметров предлагается для внешних накопителей — для внутренних доступна лишь «Политика кэширования записей». По умолчанию для них включено как кэширование записи, так и очистка буфера кэша записей. Это, кстати, как раз та «волшебная галочка», которую мы не раз упоминали в обзорах внутренних NVMe-накопителей: в их случае отключение очистки радикально увеличивает производительность в тестовых утилитах (в т. ч. и высокоуровневых). Возможно, эффект мог бы быть заметен и невооруженным глазом — не будь скоростные характеристики таких накопителей избыточными для типичных сценариев работы персонального компьютера :) Отметим, что на функционирование любых AHCI-накопителей (SATA или PCIe — без разницы) она не влияет. Да и при использовании Thunderbolt 3 тоже никак не сказывается.
А для внешних накопителей еще в Windows XP появилась и «Политика удаления». В принципе, назначение данной настройки понятно и из краткой справки непосредственно на вкладке: один из режимов выключает кэширование записи, так что устройство можно относительно безбоязненно отключать вручную (вытаскивать, если мы говорим про флэшку), а другой нивелирует разницу между внутренними и внешними устройствами. Значение этой настройки по умолчанию зависит от интерфейса: для eSATA «быстрое удаление» вообще не предусмотрено, накопители с Thunderbolt 3 обычно работают в режиме «Оптимальной производительности», а USB и FireWire — «Быстрого удаления». Стоит отметить, что выбранная политика сказывается и на том, какие файловые системы будут доступны для выбора: в частности, «Оптимальная производительность» оставляет возможным форматирование только в NTFS, а вот «Быстрое удаление» позволяет выбирать между NTFS и exFAT (при емкости накопителя до 32 ГБ к поддерживаемым добавляется еще и FAT32). В частности, это, кстати, в настоящее время не дает отформатировать внутренние накопители под exFAT.
Во всяком случае, так дело обстоит в Windows 10 — ранее «системный подход» неоднократно менялся. В частности, в Windows ХР (где эта настройка появилась — вместе с режимом «Быстрого удаления») под FAT32 (или exFAT — после выпуска соответствующего дополнения) можно было форматировать любые накопители, а вот NTFS для внешних становилась доступна только при ручном переключении политики на «Оптимальную производительность». Но относилось это только ко встроенным утилитам системы, так что могло быть обойдено альтернативными. Хуже то, что и само по себе кэширование записи нормальным образом при использовании файловых систем семейства FAT не работало — и это было очень заметно, например, при копировании на флэшку большого количества мелких файлов. Однако записывать один большой файл это не мешало, поэтому популярным режим «Оптимальной производительности» так и не стал: ограниченная совместимость (далеко не все бытовые устройства могут работать с NTFS, да и некоторых компьютеров это касается до сих пор) плюс невозможность просто выдергивать флэшку без дополнительных телодвижений (из-за включенного кэширования) — это слишком высокая плата за ускорение лишь некоторых сценариев. Тем более, когда для этого надо еще и вручную что-то делать — причем на всех компьютерах. А по умолчанию все вроде бы и так нормально работает.
Но это было давно — лет 10-15 назад. С тех пор и интерфейсы стали более быстрыми, и действительно быстрые накопители появились, и в системах работа с внешними накопителями постоянно дорабатывалась (да и с внутренними тоже, в общем-то). Поэтому назрела необходимость оценить современное состояние дел — раз уж повод выдался.
Тестирование
Методика тестирования
Методика подробно описана в отдельной статье. Там можно познакомиться с используемым программным обеспечением, а вот в качестве тестового стенда мы использовали NUC 7i7BNH, поскольку обычно применяемая нами системная плата не поддерживает ни USB 3.1 Gen2, ни Thunderbolt 3 (который нам понадобится в ближайшее время для тестирования Samsung X5).
Внешний SSD Samsung T5 мы подключали как к «чипсетному» порту USB 3.0 Type-A, так и к обеспечиваемому контроллером Intel Alpine Ridge Type-C. Всего же тестовых сценариев получилось шесть: в высокоскоростном режиме мы использовали и exFAT, и NTFS, а все тесты проводили с двумя вариантами «политики удаления».
Поскольку это тестирование является ответвлением от основной линейки тестов, мы не стали заносить результаты тестов в общую таблицу, и они доступны в отдельном файле в формате Microsoft Excel. Так что желающие покопаться в цифрах могут скачать его и удовлетворить любопытство.
Производительность в приложениях
Обычно для внешних накопителей мы ограничиваемся PCMark7, однако в этот раз решили воспользоваться и более новой версией тестового пакета, оперирующей более «тяжелыми» нагрузками — все-таки внешний SSD для такой работы подходит куда лучше, чем обычная флэшка или USB-винчестер. Хорошо заметно, что «на верхнем уровне» разницы между тестовыми сценариями нет. Конечно, если взять лупу и приглядеться к результатам внимательно, то некоторые закономерности найти можно. Например, USB 3.1 быстрее, чем USB 3.0 — удивительно :) Или включение кэширования записи снижает производительность при использовании exFAT, но увеличивает ее для NTFS — вот это уже и без шуток удивительно. Но в целом разброс результатов столь мал, что на него можно вообще не обращать внимания.
На более низком уровне все аналогично — только разброс результатов между лучшим и худшим вариантами вырастает до 13%, а закономерности остаются теми же.
В принципе, можно было и в этот раз ограничиться PCMark 7, поскольку он ведет себя точно так же, как его преемник. Можно сделать выводы, что при использовании внешнего SSD в качестве рабочего накопителя (в т. ч. и для запуска с него portable-версий программ) политики кэширования и отключения можно не трогать, равно как и штатную файловую систему — exFAT для этого подходит не хуже, чем NTFS. Причем и смена версии стандарта USB (основное отличие T5 от предыдущего T3 — на минуточку) ровным счетом ни на чем не сказывается. В принципе, USB 3.1 быстрее, чем USB 3.0, но без тестов это заметить невозможно.
Последовательные операции
Политика кэширования записи не должна влиять на скорость чтения — но в однопоточном режиме немного сказывается (и проявляет себя так же, как в тестах высокого уровня). А вот разница между интерфейсами, согласно показаниям этой утилиты, очень заметна (заметнее — в многопоточном режиме, способном полностью «загрузить» накопитель работой). Никакого удвоения скорости, конечно, не наблюдается: стоило избавиться от ограничения пропускной способности USB 3.0, как сразу «уперлись» уже в SATA600. Поэтому мы в прошлый раз и написали, что существенно ускорить схему «USB+SATA» уже невозможно — менять надо внутренний интерфейс.
Скорость записи демонстрирует те же закономерности, но с одним отличием: здесь эффект от перехода к NTFS больше, чем от смены интерфейса. Однако наблюдается такой эффект только в однопоточном режиме, тогда как многопоточный ограничен уже SATA. Выявить работоспособность кэширования записи системой, как видим, низкоуровневые утилиты не могут или почти не могут — различия есть, но небольшие. Но различия эти вновь свидетельствуют о том, что NTFS только снижает производительность при включении кэширования.
Работа с большими файлами
Как и следовало ожидать, интерфейс здесь имеет значение, а вот политика кэширования — нет, поскольку речь идет об операциях чтения. При этом на NTFS скорость чтения одного файла в однопоточном режиме оказывается существенно более низкой, чем на exFAT — настолько, что это может компенсировать разницу между скоростными режимами USB. А вот при параллельном чтении в 32 потока всё так, как и должно быть. И полностью соответствует результатам низкоуровневых утилит.
А вот и самая страшная часть нашей истории: интерфейсы, файловые системы и прочие факторы просто бледнеют на фоне одной галочки в настройках. По умолчанию, напомним, для USB-накопителей эта галочка выключена, причем даже на больших файлах и при «просто» последовательных нагрузках производительность от ее включения вырастает более чем в два раза.
Поскольку тесты на запись одновременно с чтением включают в себя и (внезапно!) запись данных, эффект от включения/отключения кэширования заметен и здесь — как и предполагалось. На этом фоне ускорение интерфейса и/или смена файловой системы теряются. Если же сравнивать результаты «в нормальных условиях», то и итоги получаются «нормальными»: USB 3.1 Gen2 позволяет полностью утилизировать возможности SATA600, на что USB 3.0 3.1 Gen1 чуть-чуть не хватало, а разницу между exFAT и NTFS можно не принимать во внимание.
Итого
Как видим, в современных версиях ОС кэширование записи работает ожидаемым образом, причем оно оказывает заметное влияние и на производительность дисковых операций. Низкоуровневые утилиты кэширования «не замечают», но так и было задумано их авторами. В PCMark же эффект уже есть, пусть и не слишком заметный. А вот результаты соответствующих шаблонов NASPT различаются вдвое. С чем это можно сравнить? Например, с внедрением UASP: более старый протокол UMS не позволял превысить 200 МБ/с, а отключение кэширования приводит к сопоставимому эффекту (правда, только при записи данных, потому что без поддержки UASP низкие скорости будут и при чтении). К сожалению, речь об отключении кэширования на практике не идет — для USB-накопителей оно по умолчанию как раз отключено. Так что при наличии скоростного накопителя и необходимости записывать на него большое количество данных лучше включить кэширование явным образом — сама система этим заниматься не будет.
Файловые системы с точки зрения производительности равноценны. Поэтому exFAT (а именно эту ФС Samsung использует для своих внешних SSD) хороша в первую очередь своей универсальностью, но кому-то из пользователей может больше подходить NTFS. Например, NTFS лучше при необходимости хранить на накопителе большое количество маленьких файлов: на терабайтном томе exFAT файл в несколько сотен байт превращается в 256 КБ (т. е. «распухает» на два-три порядка, а NTFS, скорее всего, «запихнет» его прямо в MFT. Да и в менее клинических случаях разница будет — и не в пользу exFAT. А вот для объемистых файлов (типа мультимедийных) разницы нет.
Ну и главное, что мы хотели определить — величину прироста от смены внешнего интерфейса (напомним: это является основным отличием Т5 от более раннего Т3). Впрочем, тут уже результат был предсказуем: USB 3.0 немного не хватало для полной реализации скоростных возможностей SATA-накопителей, а вот «настоящий» USB 3.1 несколько избыточен. В итоге основным ограничителем производительности становится сам интерфейс SATA600 — как и для внутренних SATA SSD. Соответственно, заметно увеличить производительность можно только сменой внутреннего интерфейса — при переходе к USB 3.1 это оправдано. Альтернативный радикальный вариант — менять все, используя не USB-протоколы. Этот случай мы рассмотрим на практике в следующем материале.