SATA-контроллер ASMedia ASM1166 с интерфейсом PCIe 3.0 x2: плюс шесть портов — и скорость не ниже чипсетной

Методика тестирования накопителей образца 2018 года

Во времена оны дискретные дисковые контроллеры требовались любому ПК — поскольку никаких других и не было. Даже дисковод для гибких дисков, воспринимаемый уже как седая древность, мог отсутствовать в первых IBM PC —, а чтоб его туда поставить, требовалась и ISA-плата контроллера. Позднее «базовые» возможности начали интегрироваться на системные платы, а далее — и непосредственно в чипсеты. Но дискретные контроллеры оставались актуальными для увеличения количества подключаемых накопителей, для освоения новых версий интерфейсов или поддержки устаревших (РАТА-винчестерами или оптическими приводами многие продолжали пользоваться и после того, как этот интерфейс исчез из чипсетов) — или просто для расширения функциональности (типа RAID-массивов и т. п.).

Последние два варианта актуальность в основном утратили порядка десяти лет назад: развитие интерфейсов остановилось на SATA600, а РАТА исчез по мере физического отмирания устройств. Некоторое время, конечно, ушло на то, чтобы все чипсетные порты на всех платформах превратились в SATA600, но к середине десятилетия завершился и этот процесс. Возможность создания дисковых массивов стала стандартной не для всех чипсетов, но подобрать плату на подходящем не представляло сложности. А самих портов на них обычно оказывалось избыточное количество — вплоть до десяти, хотя большинство корпусов столько накопителей установить не позволяло.

Одно время казалось, что и дальше с количеством и качеством портов сложностей не будет. Однако буквально сразу, после решения всех проблем, количество SATA-портов начало сокращаться. Монотонно, но не слишком заметно — благодаря FlexIO. Старшие чипсеты Intel (типа Z490 или Z590), к примеру, поддерживают до восьми портов SATA. Но «до» — и от нуля. Каждый соответствующий порт чипсета может использоваться либо как SATA600, либо как PCIe 3.0×1. Линии же PCIe становятся дефицитным товаром, поскольку их нужно все больше. Например, один NVMe-накопитель уже требует PCIe х4 — т. е. «заменяет» четыре SATA-устройства, а на топовых платах может быть и 2–3 слота M.2. Еще там же нередко можно найти контроллер USB3 Gen2×2, которому может потребоваться еще 4 линии PCIe. Еще 4 может «уйти» на контроллер Thunderbolt — и на разную прочую периферию по мелочи сколько-то. В итоге на платы редко устанавливают более шести портов SATA, да и они в части конфигураций доступны не все.

Бюджетные системы обычно высокоскоростной периферией не перегружены, но в недорогих чипсетах больше четырех SATA бывает редко. Чипсеты для AMD AM4 пока немного более архаичны, чем старшие чипсеты Intel, но все равно в В550 или Х570 «гарантированных» (ни с чем не пересекающихся) SATA тоже лишь четыре. Больше реализовать можно, но мало кто этим занимается. Обычное явление — те же шесть SATA, но пара портов в некоторых конфигурациях уже может и не работать.

Значит, возвращаются дискретные контроллеры, но только требования к ним уже немного иные, чем 10 лет назад. Во-первых, стоит задача максимально «разменять» PCIe на SATA: если в чипсетах получается только «курс» 1:1, то тут можно пойти и на 1:2, а то и на 1:4, что выгодно. Во-вторых, «вешать» на дискретные контроллеры, может быть, придется не только винчестеры (им по большому счету SATA600 — только на вырост, которого уже никогда не случится), но и SSD —, а им не помешает обеспечить полную скорость интерфейса. Хотя бы для одного устройства в каждый момент времени —, но это крайне желательно.

«Старые» SATA-контроллеры обе проблемы решают плохо. Во-первых, они были рассчитаны на PCIe 2.0 — так что все модели, ограниченные одной линией, не обеспечивают ни одного полноскоростного порта: пропускная способность SATA600 выше, чем у PCIe 2.0. А в «двухлинейных» моделях «размен» в лучшем случае в соотношении 1:2 — как в Marvell 9235. Этот четырехпортовый контроллер имеет интерфейс PCIe 2.0×2 — так что в принципе проблемы решает. Его младший брат 9215 «делает» те же четыре SATA-порта из одной линии PCIe —, но скорость обмена данными даже с одиночным накопителем не превышает 400 МБ/с, поскольку таковы ограничения PCIe 2.0. ASMedia же в те годы выпускала только двухпортовые контроллеры, которые теперь совсем не интересны: ASM1061 не дает полной скорости, а ASM1062 — это два порта SATA600 на двух линиях PCIe, что и от чипсетов получить можно.

Однако пусто место свято не бывает — раз появилась проблема, то появляются и решения. К концу десятилетия производители подсуетились: на рынок вышли решения с поддержкой PCIe 3.0. Первыми отстрелялись в JMicron: компания выпустила двухпортовый JMB582 и JMB585 (на AliExpress продавцы обычно называют его «JMS585») на пять портов. Интерфейс — PCIe 3.0×1 у первого и PCIe 3.0×2 у второго. Одной линией можно обойтись, потому что PCIe 3.0×1 по пропускной способности равен PCIe 2.0×2, так что хотя бы для одного устройства всегда можно обеспечить полную скорость SATA600. «Курс обмена» портов на линии — лучше, чем у 9235. Да и чем у 9215 по большому счету тоже: JMB585 опять же может обойтись и одной линией (потому как PCIe 3.0) в «пропиленном» или просто «длинном» слоте х1, предоставив пользователю пять SATA-портов. Подчеркнем: каждый из этих SATA-портов даже в таком случае может работать на полной скорости.

jmicron-jmb585-big.jpg

Обзор SATA-контроллера JMicron JMB585 с интерфейсом PCIe 3.0×2

JMicron JMB585 уже был посвящен специальный обзор — заодно и с исторической ретроспективой, которую мы выше затронули лишь вкратце, — так что его имеет смысл прочитать. Сегодня же мы поговорим о другом семействе контроллеров. Понятно, что когда идея летает в воздухе, залетает она обычно не в одну голову.

ASMedia ASM1166

Новых контроллеров у компании получилась целая линейка — ASM1064, ASM1164, ASM1166, а в глубинах драйверов (но пока не на официальном сайте) есть и упоминание об ASM1165. Ключевое — поддержка PCIe 3.0 для подключения к хост-системе: в количестве одной линии в младшем ASM1064 или двух в остальных продуктах. Выпускаются они в виде плат с разъемом х4 — потому как слотов х2 в природе практически не встречается, но использовать можно и в более длинных, и в «коротких» (если решена проблема физической совместимости).

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

Для чего в таких условиях могут пригодиться «двухлинейные» чипы? В более сложных случаях нежели простое расширение количества портов — например, для софт-RAID, производительность которых будет ограничиваться уже не примерно 800 МБ/с (PCIe 2.0×2 — лучшее, что могла «бытовуха» десятилетней давности), а 1,7 ГБ/с. В любом случае, старший ASM1166 обеспечивает лучший «курс обмена» PCIe на SATA, нежели JMB585, не говоря уже о чипсетах. Да и никто не мешает при необходимости ограничиваться для него подключением по одной линии PCIe 3.0, «превращая» таковую в уже шесть портов SATA600 — что в принципе целиком и полностью решает проблему нехватки портов данного типа в современной системе.

Но именно «современной»! При работе в старых системных платах (Intel до «первой версии» LGA1151 или даже AMD AM4 с чипсетами 300-го и 400-го семейств) преимуществ перед устаревшими решениями новые чипы иметь не будут — сами чипсеты поддерживают только PCIe 2.0. Или почти не будут — все-таки там было не более четырех SATA-портов, а тут пять или даже шесть. Кроме того, новые контроллеры JMicron и ASMedia собственным BIOS не снабжаются, так что на старых платах загрузка системы с подключенных к ним накопителей не поддерживается. В новых соответствующие модули уже включены непосредственно в «основную» часть UEFI-прошивки, так что и загрузка работает тоже. Это мы проверили непосредственно на некоторых платах как для процессоров Intel, так и AMD — платформы 2015 года и позднее подходят, а вот на более ранних ничего не получается. Хотя если загружаться с чипсетного порта или NVMe SSD, то об этом и вовсе можно не задумываться — дискам с данными загрузка не требуется.

А сейчас посмотрим более подробно, как это работает.

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

Методика тестирования

Методика подробно описана в отдельной статье, однако с тех пор мы ее немного модифицировали. Подробное описание обновления будет готово в скором времени, однако необходимым оно не является — все будет понятно прямо по тексту. Основное программное обеспечение не меняется, аппаратное — в данном случае вообще остается тем же.

Участники тестирования

Основная наша задача — сравнить ASM1166 и JMB585 друг с другом, а также «чипсетным» контроллером в Intel Z270. Для обоих дискретных контроллеров были опробованы два режима работы: второй «процессорный» слот PCIe 3.0×8 и «чипсетный» PCIe 3.0×1. Результаты последней конфигурации нам пригодятся для сравнения с ASM1061 в той же системе — был протестирован ранее. «Рабочим телом» во всех случаях (как и ранее) будет выступать SSD SanDisk Ultra 3D на 500 ГБ. Это не самый быстрый SATA-накопитель, но для данного тестирования его более чем достаточно: все различия контроллеров должны быть видны невооруженным глазом.

Последовательные операции

Все лежит на поверхности — пропускная способность PCIe 2.0×1 в одном направлении ниже, чем у SATA600 — поэтому полноценная реализация второго через первый невозможна. Достаточно перейти к PCIe 3.0 — и проблема решается даже при наличии всего одной линии. Зачем могут пригодиться две? Если, например, нам потребуется читать данные сразу с трех накопителей одновременно, их как раз примерно хватит. А, учитывая то, что PCIe — интерфейс дуплексный (в отличие от SATA), еще три могут одновременно данные записывать. Итого — есть возможность загрузить работой сразу шесть устройств — столько как раз у ASM1166 портов. Сценарий для типового ПК синтетичный —, но принципиально реализуемый.

На старых контроллерах — нет. Даже в теории. Разве что, если мы возьмем жесткие диски — благодаря куда более низким скоростям, что-то путное получиться может. Но даже один твердотельный накопитель ограничен одной линией PCIe 2.0, а двум в одном направлении — не хватит и двух.

Произвольный доступ

Результаты приводим просто для ознакомления — понятно, что в первую очередь они определяются используемым SSD. Но хорошо заметно, что ASM1061 может и на них сказаться — отрицательным образом. А вот новые контроллеры местами даже быстрее чипсетного, во что несколько лет назад сложно было бы поверить.

Хотя в целом по совокупности с точки зрения низкоуровневых показателей Z270 все-таки быстрее наших главных героев. Но не существенно — можно считать, что все равноценны. Так что с нехваткой портов что ASM1166, что JMB585 справляются отлично — и ничему не мешая.

Работа с большими файлами

А для чего может понадобиться большое количество портов? Для объемного дискового хранилища. Желательно быстрого — в противном случае не обязательно «запихивать» его непосредственно в ПК: и NAS справится. А если быстрого — значит часть данных в любом случае держать на SSD. Жесткие диски сами по себе медленнее — так что с одной стороны им не обязательны быстрые порты, а с другой — не всегда уже их хватает.

И тут та же картина: старые контроллеры нередко скорость ограничивали, для исправления чего обязательны были «костыли» в виде широкого интерфейса, а новые с работой справляются отлично и на PCIe 3.0×1. По крайней мере, с нагрузкой на одиночный накопитель —, но это как раз и самый частый случай. А если даже и потребуется одновременная работа с несколькими устройствами — есть солидный запас благодаря поддержке PCIe 3.0×2.

Производительность в приложениях

Использовать диски на дополнительных контроллерах в качестве «основных системных» в настоящее время в основном и не требуется: можно и другими воспользоваться. В том числе, и более производительными NVMe — для подключения которых как раз зачастую и требуется освобождать линии PCIe. Однако PCMark 10 — бенчмарк комплексный. В него входят не только тесты загрузки системы или приложений, но и банальное копирование данных. Более подробную информацию по рабочим нагрузкам можно получить из нашего краткого описания теста по ссылке, а сейчас — просто результаты.

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

Итого

Оба протестированных контроллера (и ASMedia ASM1166, и JMicron JMB585) со своими задачами справляются должным образом. То же можно сказать и про их младшие модификации — по сути, они отличаются лишь количеством портов и, иногда, исполнением: самые простые версии (ASM1064 и JMB582) изначально рассчитаны на установку в слот PCIe 3.0×1. Таковых на материнских платах обычно в избытке, но они не всегда «пропилены», поэтому наличие соответствующих контроллеров в продаже может оказаться очень полезным. Тем более, что режим х1 мы протестировали и никаких проблем не обнаружили, а тот же ASM1064 — уже четырехпортовый, чего многим на практике достаточно.

Большинству же пользователей компьютеров дискретные SATA-контроллеры и вовсе не нужны, поскольку у них просто нет большого количества SATA-накопителей. Так было, есть и будет всегда: обычно в ПК вообще один-два диска, реже — три-четыре, а больше — совсем уж экзотика. Но иногда такая необходимость все-таки возникает, и тогда крайне полезна возможность решить проблему с подключением большого количества SATA-накопителей, не слишком привязываясь к конкретной материнской плате. Тем более, что, как уже было сказано в обзоре, количество SATA-портов на современных платах постепенно сокращается, и при модернизации системы можно неожиданно столкнуться с тем, что их стало меньше, чем нужно (доступных, во всяком случае). Но ничего страшного: если проблему можно решить за деньги, то это не проблема, а просто расходы. Расходы не обязательные. Но лишний выбор — никогда не лишний.

Полный текст статьи читайте на iXBT