Тестируя USB-накопитель сенсаций ожидать не приходится, все же — это не NVMe RAID. Чтобы сделать эксперимент максимально со­дер­жа­тель­ным, про­а­на­ли­зи­ру­ем факторы, определяющие скорость записи и чтения твер­до­тель­но­го накопителя для USB‑шины, и попробуем оце­нить вклад каж­до­го из них в интегральную оценку про­из­во­ди­тель­нос­ти. В этом нам по­мо­жет устройство от ADATA Technology — накопитель ем­ко­стью 64 ГБ, мо­дель UV320 в конструктиве «слайдер».

Испытательными стендами будут десктопные платы ASUS Prime B360-Plus с процессором Intel i5-8400 и MSI X370 XPower Gaming Titanium с процессором AMD Ryzen 5 1600. Это два добротных «середнячка» близкие по про­из­во­ди­тель­но­сти, но кардинально разные по архитектуре. Им компанию составит ноутбук ASUS X570ZD. Мобильная платформа с определенными оговорками также может быть отнесена в категорию компьютеров средней руки. Ее участие в тестах будет маркером готовности портативных ПК стать заменой стационарным решениям, хотя ис­поль­зу­е­мый в ноутбуке Ryzen 7 2700U достойно конкурирует по всем показателям с обоими настольными про­цес­со­ра­ми.


Рис 1. Один из испытательных стендов для оценки производительности ADATA UV320/64GB — платформа на базе MSI X370 XPower Gaming Titanium

Все стенды первоначально используют оперативную память DDR4 в двухканальном режиме, ее объем в на­сто­ль­ных платформах набран четырьмя одноранковыми модулями HyperX HX430C15SBK4/16, суммарно — 16 ГБ. Такой же объем памяти и у ноутбука, но там два канала заполнены одноранковыми модулями Kingston KVR24S17S8/8.

Еще одно условие тестирования — отсутствие в системе конкурентных USB-устройств. Контрольный накопитель ADATA UV320 устанавливается в свободный разъем интерфейса USB 3.0 (или по-новому USB 3.1 Gen 1). Разъемы, принадлежащие контроллеру USB 3.1 Gen 2, в испытаниях участия не принимают.

Источники и составные части

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

  1. Характеристики собственно накопителя, зависящие от типа и схемы подключения NAND-чипов энер­го­не­за­ви­си­мой памяти, а также внутреннего контроллера (в силу фундаментальных физических причин время записи NAND-ячеек кратно превышает время их чтения).
  2. Производительность хост-контроллера USB 3.x xHCI при реализации протокола универсальной по­сле­до­ва­тель­ной шины в общем случае определяется его схемными решениями и встроенной микропрограммой. Кроме того, несмотря на физическое разделение сигнальных цепей, обслуживание одним контроллером устройств на нескольких портах создает очередность операций и может повлиять на результат измерений.
  3. Качество реализации программного стека, выполняющего обмен информацией: от приложения и вы­со­ко­у­ров­не­вых ОС API файловых операций до драйвера xHCI, непосредственно взаимодействующего с обо­ру­до­ва­ни­ем.
  4. Производительность центрального процессора, определяющая время выполнения всех необходимых про­це­дур программного стека.
  5. Тайминги коммуникации CPU и xHCI-контроллера, зависящие от топологии платформы: здесь речь о вре­ме­ни записи команд в операционные doorbell registers при инициировании обмена драйвером, также время доставки сообщений message signaled interrupt (MSI), пришедших на смену Legacy-прерываниями и пред­наз­на­чен­ных для сигнализации о завершении операции обмена контроллером xHCI.
  6. Тайминги коммуникации xHCI-контроллера и системного ОЗУ: важно принять к сведению, что bus-master взаимодействие хост-контроллера USB и DRAM платформы осуществляется не только при доставке це­ле­вых данных, но и при чтении из оперативной памяти дескрипторов операций, определяющих сценарий об­ме­на, а рав­но и при записи статусной информации, отражающей результат обмена ин­фор­ма­ци­ей.

Тестирование

Оценку скорости чтения и записи выполним с помощью NIOBench, выбрав опцию Unbuffered native. Это режим, в котором влияние кэширования и отложенной записи строго минимизированы. Полученные результаты близки к на­тив­ным возможностям USB-накопителя ADATA UV320 и могут служить реальной оценкой его про­из­во­ди­тель­нос­ти.

Производительность ADATA UV320 на платформе ASUS Prime B360-Plus
Рис 2. Производительность ADATA UV320 на платформе ASUS Prime B360-Plus

Производительность ADATA UV320 на платформе MSI X370 XPower Gaming Titanium
Рис 3. Производительность ADATA UV320 на платформе MSI X370 XPower Gaming Titanium

Производительность ADATA UV320 в ноутбуке ASUS X570ZD
Рис 4. Производительность ADATA UV320 в ноутбуке ASUS X570ZD

Первое, что можно сказать по результатам испытаний, — ADATA UV320 на чтении демонстрирует весь­ма скром­ные ре­зуль­та­ты. Планка производительности задана контроллером Silicon Motion SM3268P-AB, действия ко­то­ро­го ог­ра­ни­че­ны временем доступа к NAND-флеш.

Так выглядит USB-накопитель ADATA UV320: компонетная сторона с контроллером Silicon Motion SM3268P-AB плюс двухсторонний монтаж микросхем NAND TLC (предположительно Micron MT29F256G08EBCAGB16A3WC1)
Рис 5. Так выглядит USB-накопитель ADATA UV320: компонетная сторона с контроллером Silicon Motion SM3268P-AB плюс двухсторонний монтаж микросхем NAND TLC (предположительно, Micron MT29F256G08EBCAGB16A3WC1)

В USB-накопителе UV320/64GB установлены две микросхемы энергонезависимой памяти без опознавательных знаков. Впрочем, утилита SMI Mass Production Tool идентифицирует их как чипы с TLC-организацией хранения. По JEDEC Manufacturer ID-коду равному 89h можно считать, что к разработке приложил руку Intel, хотя режим Card­Mode сообщает о «MicronIntel4k». Наличие совместных проектов в прошлом дает повод искать аналоги у Mic­ron, но документация на чип MT29F256G08EBCAGB16A3WC1 пока недоступна.


Рис 6. Структура USB-накопителя ADATA UV320 глазами утилиты SMI Mass Production Tool

Итак, оставив причины низкого быстродействия по чтению открытыми, перейдем к оценки скорости записи на ADATA UV320. По этому параметру USB-накопитель выглядит очень недурно, успешно соперничая в сег­мен­те бюджетных устройств со своими главными конкурентами: Kingston и Transcend. Детально разобраться в при­чи­нах раз­бро­са оценок на различных платформах нам поможет анализ динамических характеристик.

Динамические характеристики ADATA UV320/64GB

Утилита NIOBench обладает замечательным свойством: формировать лог тестирования накопителя, что позволяет на­блю­дать эффективность операций чтения и записи на том или ином итерационном участке тестирования. Рас­смот­рим ди­на­ми­ку процедур чтения:


Рис 7. Динамика результатов чтения

Как следует из диаграммы, обе платформы на AMD в скорости чтения с ADATA UV320 демонстрируют практически одинаковую производительность. По сравнению с ними Intel имеет незначительное преимущество, но разрыв на финальной стадии тестирования несколько уменьшается. Вероятно, сказывается влияние механизмов низ­ко­у­ров­не­вой оптимизации, в частности, — асинхронное выполнение очередей запросов контроллером USB xHCI. Похоже, что некоторое превосходство платформы Intel обусловлено именно такой оптимизацией, также как пики и про­ва­лы, наблюдаемые на диаграмме.


Рис 8. Динамика результатов записи

Процедура записи отличатся от чтения меньшей стабильностью результатов. При желании, можно вообразить, что производительность записи имеет циклическую зависимость с периодом равным приблизительно 33 итерациям. Это особенно ярко прослеживается на AMD-платформах. Из-за регулярных спадов они проигрывают Intel су­щест­вен­но больше, чем при чтении. Но пики и провалы у Intel на записи в USB-накопитель снова оставляют странное впе­чат­ле­ние — видимо, не следует сбрасывать со счетов интерференцию с различными асинхронными событиями, в том числе задержками арбитража при Bus-master доступе xHCI-контроллера к оперативной памяти.

Резюме

Довольно близкие результаты десктопной и мобильной AMD-платформ позволяют предположить, вернее — под­твер­дить, что в данном тестовом сценарии определяющую роль играют ограничения, присущие NAND-ар­хи­тек­ту­ре накопителя, особенно для операции записи. Вместе с тем, небольшой отрыв платформы Intel и заметные пуль­са­ции скорости на ней акцентируют фактор USB хост-контроллера и его драйверной поддержки. В рейтинге при­чин, ог­ра­ни­чи­ва­ю­щих интегральную скорость, на первом месте, конечно, сама USB-флешка, и это ожидаемо. На второе место можно поставить свойства xHCI в сочетании с mass storage стеком ОС, а производительность под­сис­те­мы DRAM, в лучшем случае, — на третьем месте, в силу кратного запаса пропускной способности оперативной памяти по сравнению с трафиком на USB-шине.

С точки зрения оценки протестированного девайса — стабильно близкие результаты, которые демонстрирует на­ко­пи­тель ADATA UV320/64GB при многократных тестах на достаточно разных платформах, — факт, безусловно, по­зи­тив­ный.

Теги: 

Флеш-драйв по правилам USB 3.0