Методика тестирования накопителей образца 2021 года
Многих энтузиастов временами шокирует тот факт, что в среднестатистическом компьютере установлено менее 1,1 накопителя. Но тут всё просто: менее одного — сложно, а более одного — редко кому нужно. Одно время схема вроде бы, дала сбой — когда при сохранении того же подхода пришлось бы выбирать между скоростью и емкостью. Лет с 10 назад полноценно пользоваться компьютером можно было только при наличии твердотельного накопителя и жесткого диска одновременно: ведь второй уже тогда (по большому счету — всегда) был практически непригоден для рабочих нагрузок, а на первый помещалось мало информации. Однако и в те годы SSD покупали в основном энтузиасты, а массовый пользователь зашевелился лишь тогда, когда эти устройства сильно подешевели и набрали емкости. После этого жесткие диски в компьютерах просто встречаются всё реже и реже.
Но бывает и такое, что одного накопителя недостаточно. Или его использование не слишком удобно. И всегда бывало — недаром же даже древние дисковые контроллеры сорокалетней давности были рассчитаны на пару винчестеров. А еще в персоналку можно было поставить целых два контроллера! Больше, правда, теоретически — типичный корпус тех времен допускал установку лишь пары пятидюймовых накопителей полной высоты (для понимания масштаба — типичный оптический привод для настольного ПК пятидюймовый, но половинной высоты), без флоппи-дисководов тогда обойтись тоже было нельзя, так что обычной комплектацией была «флопи+хард», а что-то более сложное требовало специальных корпусов (иногда и не одного), но тенденция понятная. Со временем компоненты несколько уменьшились, корпуса — нет, так что стало проще.
И вышли мы на магистральную линию — когда в типичном компьютере один «постоянный» накопитель, но, если нужно — можно поставить один или несколько дополнительных. А когда кончаются порты для них, можно устанавливать дополнительные контроллеры. Работает эта схема и сейчас, для жестких дисков менять ее незачем, а вот с SSD уже возникают сложности. Всё большие и большие — поскольку SATA-интерфейс для этих накопителей был выбран лишь как временное решение (обеспечить совместимость с существующей инфраструктурой), переползают они на более подходящие. SATA SSD продолжают производиться и продаваться — но покупаются в основном для ремонта и модернизации устаревшей техники, так что во главе угла цена… В общем, мало кто из производителей старается выпускать «приличные» SATA-устройства. Новые — не появляются, старые — постепенно снимаются с производства, только разная бюджетка цветет и пахнет. И с каждым днем пахнет всё сильнее.
Поставить несколько NVMe-накопителей? Идея, с одной стороны, привлекательная. Раньше — не слишком, поскольку стоили они обычно дороже примерных аналогов SATA-сегмента, хоть и работали быстрее. Но сейчас, повторимся, с «аналогами» всё сложно — что и заставляет задуматься. Но в лоб задачу решить непросто — «штатных» мест для установки SSD такого формата маловато. Даже на топовых современных платах редко найдется больше четырех слотов M.2, ниже — и вовсе часто пара, а если брать более старые модели, то, когда один, а иногда и ни одного. Из положения можно выйти, используя переходники, но тут тоже есть нюансы. Большинство рассчитано на слот, не меньший, чем PCIe x4 (ибо такая ширина интерфейса для NVMe-накопителей является наиболее типичной) — а таких тоже может не быть. Либо есть пара, но один занят видеокартой, а использование второго сразу «половинит» ее интерфейс. Вот несколько слотов PCIe x1 есть на многих платах, причем чаще всего они давно уже пустуют. Но можно ли их использовать для SSD и не ограничит ли это производительность? Ограничит, конечно. Но не во всех сценариях — и даже в них не всегда заметно. Однако этот вопрос мы отложим до тестовой части материала, а пока немного поговорим о совместимости.
Линии и стандарты
Вспомним историю. PCI Express — интерфейс последовательно-параллельный, хотя все предыдущие внутрикомпьютерные шины были именно параллельными шинами с общим подключением всех устройств. Это вызывало проблемы и с пропускной способностью — которая делилась на все устройства. Сильно ее повысить — сложно, дорого и для низкоскоростных устройств избыточно. Не повышать? Высокоскоростным мало. Потому и была придумана схема с несколькими последовательными линками. Если устройству высокие скорости не нужны — одним и обойдется. Нужны — можно объединить две, четыре или более линий. Контроллер же поддерживает определенное количество линий определенной версии стандарта, которые можно более- или менее гибко комбинировать.
Версии появились не сразу — стандарту как-никак уже почти 20 лет, в течение которых он непрерывно развивался. И скорость каждого линка удваивалась скачками — что являлось хорошей альтернативой увеличению их количества. Так что пропускная способность одной линии PCIe Gen5 (последняя на сегодня версия) уже эквивалентна 16 линиям PCIe Gen1. Теперь вспоминаем, что больше 16 линий одним куском никто как правило не использовал, да и слоты х16 уходили в основном самыми требовательными потребителями, типа видеокарт. Сегодня же это всего одна линия Gen5 или две уже привычного и массового Gen4. Но те же видеокарты по-прежнему используют «длинные» слоты — ведь их требования к пропускной способности интерфейса тоже растут потихоньку. Однако целиком они возможности х16, всё же, не выбирают, да и динамика как бы не более слабая, чем у разработчиков стандарта. Другое дело, когда видеокарта намного «свежее» системы (для геймеров — обычная практика), но всё равно можно рассчитывать, что даже современные топовые модели в принципе в практически значимых режимах «обойдутся» и PCIe Gen3 x8. Уж х16 или равным ему Gen4 x8 — точно. Но это уже надо проверять и балансировать. В идеале на линии для видеокарты не покушаясь — тогда точно хватит.
А что с совместимостью во всем этом хозяйстве? Конкретно стандарты ее никак не ограничивают в любую сторону. То есть устройства могут работать как в «избыточных», так и в «недостаточных» слотах — лишь бы их физически можно было туда установить. Почему у производителей системных плат среднего уровня и выше вошло в привычку устанавливать побольше слотов х16 — даже когда к ним подведено всего четыре, а то и одна линия: максимальная универсальность. Она же и у «пропиленных» слотов х1 — туда втыкается и работает любое устройство. Даже если оно может задействовать 16 линий, обходится и одной. А обратная ситуация (когда устройство «короче» слота) тем более штатная — сколько линий нужно, столько и будет взято. Остальные использоваться не будут. Или будут — если слот поддерживает расщепление линий на несколько устройств (бифуркация), а мы берем специальный переходник — позволяющий, например, подключить четыре NVMe SSD к одному слоту х16 так, чтоб каждый брал «свои» четыре линии.
С совместимостью между версиями ничего сложного. Работает простое правило — используется максимальная общая версия стандарта, то есть Gen3 в слоте Gen4 работает как Gen3 и Gen4 в слоте Gen3 работает как Gen3. На большинстве плат еще и режим слота можно ограничивать. Иногда он автоматически ограничивается — установка процессоров Ryzen 3000 и 5000 на платы на чипсетах 300-й и 400-й серии, а также А520 «зарубает» процессорные линии до уровня Gen3.
Это теория. Но в теории нет разницы между теорией и практикой, а на практике — есть. Устройство может отказаться работать при недостатке линий. Это экзотическая ситуация — но не невозможная. И точно так же искусственно может быть ограничена совместимость между версиями. Яркий пример — PlayStation 5, которой обязательно нужны SSD с поддержкой PCIe Gen4. Любое Gen3 устройство работать не будет, любое Gen4 — будет. Какими бы они ни были: эталонный Samsung 970 Pro не подходит, а что-нибудь на бюджетном контроллере с QLC-памятью — пожалуйста. Sony, конечно, рекомендует использовать SSD со скоростью чтения не менее 5 ГБ/с, но никак это не проверяет, а насчет записи и вовсе рекомендаций нет (тем более, что найти что-то более медленное по записи, чем штатный SSD консоли, не так-то просто, если вообще уже возможно). Так что требуется лишь техническое соответствие интерфейса. Но это — специально созданная несовместимость, так что все такие случаи разбирать нужно индивидуально.
В общем же случае никаких проблем нет — можно не получить всей скорости, используя меньшее количество линий и/или устаревшую версию стандарта, но работать должно. Да и вообще — не всегда столько линий нужно, сколько их формально требуется. Особенно это касается SSD.
Почему большинство SSD использует четыре линии PCIe?
Для выяснения этого вопроса следует опять немного углубиться в историю. И вспомнить, что интерфейс PCIe некоторыми моделями SSD начал использоваться еще до появления протокола NVMe. Этот вопрос мы уже подробно разбирали, так что сегодня остановимся лишь на главных моментах. Первые опыты такого рода следует отнести к учебно-тренировочным, но к середине прошлого десятилетия появилась и пара контроллеров, потенциально подходящих для разработки массовых устройств. Marvell 88SS9183 поддерживал PCIe Gen2 х2, а 88SS9293 — уже PCIe Gen2 х4. Gen2 просто потому, что ничего другого на тогдашнем массовом рынке еще и не было. Точнее, Gen3 появился еще на платформе Intel LGA1155 в 2012 году, но в количестве 16 линий, обычно уходящих на слот для видеокарты. Первая платформа Intel с полной поддержкой PCIe Gen3 — уже LGA1151 от 2015 года. И это еще хорошо — поскольку у AMD все чипсеты поддерживали только PCIe Gen2 до 2019 года. AMD X570 же скакнул сразу на Gen4 — но был дорогим и горячим, а потому крайне непопулярным. Более-менее массовый B550 появился только в 2020 году, но и сейчас многие покупатели для экономии ограничиваются каким-нибудь B450 — поддерживающим только Gen2. Впрочем, видеокарта и один слот M.2 в системах на базе Ryzen получат Gen3 — но это такой минимальный набор, на который можно рассчитывать. А больше — только если специально об этом позаботиться.
Почему это важно? Поскольку одна линия PCIe Gen2 даже в теории имеет пропускную способность в 500 МБ/с — что медленнее порта SATA600. И при внедрении NVMe приходилось оглядываться на старые (а то и новые — привет AMD!) системы. Но при этом хотелось и убедительно продемонстрировать преимущества нового стандарта. Именно поэтому большинство массовых контроллеров поддерживает интерфейс шириной х4 — сначала это был Gen3, а теперь и Gen4. Бюджетным моделям до последнего времени хватало и Gen3 x2. И такие контроллеры тоже выпускались одно время, но оказалось, что их выбирают неохотно. Просто потому, что на пропускную способность интерфейса-то покупатели обращать внимание умеют, а реальная скорость для большинства из них темный лес. Во-первых. Во-вторых, оставалась проблема с Gen2 — который приходилось использовать для дополнительного SSD на тех же платформах AMD. И в этом случае тоже лучше иметь четыре линии — что как раз и соответствует двум Gen3.
Поэтому-то стандартом сначала стал PCIe Gen3 x4, а теперь его просто меняют на Gen4 x4 — и внедрение Gen5 x4 началось. Но даже самый современный SSD можно подключить к Gen2 x1 — и он будет работать. Зачем это делать? А других может не оказаться и вовсе. Правда в совсем старых системах без издевательств над прошивкой платы загружаться с NVMe-устройства нельзя, но как дополнительное оно работать может. А для многих плат с Intel LGA1150 и всех AMD AM4 есть и нужные официальные прошивки. И слоты х1 в них есть — и часто пустуют. Потому их можно рассматривать как альтернативу SATA. Но, повторимся, в однонаправленном режиме более медленную в теории. Зато можно сразу на высокой скорости и читать, и писать данные одновременно — чего SATA не умеет. Да и сами SSD стали сильно разными — NVMe-контроллеры даже в бюджетных продуктах намного мощнее своих SATA-собратьев. Главное как-то подключить суметь, конечно.
Переходники спешат на помощь
В принципе, встречаются слоты М.2 (особенно в ноутбуках), куда просто подключена пара линий PCIe. А когда-то их было много и на настольных платах — например, многие модели на Intel H97 и Z97 (уже упомянутая платформа LGA1150) снабжались слотом M.2 с поддержкой PCIe Gen2 x2. И на многих платах для AMD AM4 был дополнительный слот Gen3 x2. Откуда он брался? На деле пару линий этого стандарта некоторые старые чипсеты поддерживали — предполагалось, что они будут использоваться разъемами SATA Express. Но таковые к моменту реального выхода платформы на рынок уже тихо утонули, так что производители плат к задействованию ресурса подошли творчески: кто-то устанавливал дополнительный контроллер USB3 Gen2, а кто-то — и еще один M.2.
Но нам нужно универсальное решение, а таковым должен быть адаптер для слота PCIe x1 — поскольку, повторимся, такие есть в очень многих системах и обычно пустуют.
Стандартный адаптер для этого не подходит. Вот, например, один из массовых вариантов, предназначенный для слотов от х4 до х16. Удобен тем, что в х8 или х16 отлично держится без дополнительной фиксации, а проблем с разъемом не возникает — всё равно работает тут не более чем х4. Дополнительные сегменты — только для помощи силе трения. Но х1 универсальным не будет — придется пилить ту часть, которая отвечает за х4, теряя совместимость с «родным» слотом.
Проблема решается специальными модельками — где ничего, кроме х1, и нет. На длительное использование они обычно не рассчитаны, поэтому фиксируются только в разъеме, т. е. слабо, поскольку он короткий. Но для тестирования подойдет, а для практического использования (если вдруг по итогам тестов оно покажется интересным) стоит что-нибудь приколхозить. Нашу же задачу решает — превращая любой слот PCIe в M.2 с одной линией. Какой версии PCIe? А какую слот обеспечит, та и получится. Gen2 на нормальных современных платах уже не бывает, но такой режим можно включить в UEFI для любого слота Gen3 или Gen4. И проверить его нам тоже интересно — ведь «на руках» он всё еще встречается, и не так уж редко.
Тестирование
Методика тестирования
Методика подробно описана в отдельной статье, в которой можно более подробно познакомиться с используемым программным и аппаратным обеспечением. Здесь же вкратце отметим, что мы используем тестовый стенд на базе процессора Intel Core i9-11900K и системной платы Asus ROG Maximus XIII Hero на чипсете Intel Z590, что дает нам два способа подключения SSD — к «процессорным» линиям PCIe Gen4 и «чипсетным» PCIe Gen3. При этом как показали исследования даже для SSD, ограниченных Gen3, использование «процессорного» слота предпочтительнее — задержки ниже. Другой вопрос, что для режима х1 этим можно, пожалуй, и пренебречь — тут других ограничений достаточно. Поэтому в качестве основного мы использовали именно процессорный слот, при необходимости переключая его в младшие режимы Gen3 и Gen2. Разбираться же с PCIe Gen1, как нам кажется, в любом случае уже не интересно. Это очень старые системы, которые без бубна с NVMe-накопителей гарантировано не умеют загружаться. Но даже если эту проблему решить, то смысл ее решать есть только для Gen1 x4 — интерфейс очень медленный, так что использовать одну-две линии просто глупо. Тут уж точно проще SATA ограничиться. Да и вообще пора этим компьютерам в музей по-хорошему, а то и куда дальше.
Объекты тестирования
Мы решили взять три SSD очень разного уровня — топовый (до сих пор) Kingston KC3000 1 ТБ, бюджетный Kingston NV2 той же емкости и еще более старый бюджетный же Kingston NV1 на 500 ГБ. Первый нам покажет, что будет если воткнуть в неподходящие условия мощный накопитель (зачем за такой вообще в этом случае переплачивать? да хотя бы на будущее), второй по цене где-то между «приличными» и «неприличными» SATA-накопителями той же емкости, так что тут цель совершенно практическая. Последний же уже радикально устарел, зато его аналоги стоят совсем неприличные копейки. Но главная причина его участия — поискать какой-то минимальный уровень без фанатизма. Поскольку может выйти и так, что что-то более современное и приличное вешать на одну линию PCIe просто бессмысленно.
Раз у нас сегодня бенефис Kingston, то основными точками отсчета будут два полутерабайтных SATA-накопителя компании. Kingston KC600 — как раз один из приличных выживших, а вот про А400 обычно слова доброго услышать невозможно. Кроме одного — это если не самая продаваемая в рознице модель, то одна из таких. Причина простая — очень дешевая. И именно таков сегодня в основном сегмент — о чем не стоит забывать. А то любят некоторые воротить нос от бюджетных NVMe-накопителей — дескать, не сильно быстрее моего пятилетнего «ХХХ YYY» местами. Может и так — только сейчас «ХХХ YYY» вообще не купишь, а упомянутые бюджетные модели еще и недороги. Но насколько (не)быстры — это нужно изучать. А изученное — использовать для ориентации в пространстве.
А для оценки сверху возьмем результаты NV1, NV2 и KC3000 в «родных» режимах — Gen3 x4 для первого и Gen4 x4 соответственно для остальных. Промежуточные режимы нам сегодня не очень интересны. Особенно если учитывать примерное равенство Gen4 x1 ≈ Gen3 x2 ≈ Gen2 x4 ≈ Gen1 x8 и аналогичные. Разумеется, верно это для пропускной способности — задержки в этом ряду увеличиваются, поскольку их увеличением количества линков не уменьшить — только ускоряя каждый. Однако этот эффект будет проявляться далеко не всегда, так что в вырожденных случаях им и вовсе иногда можно будет пренебречь.
Заполнение данными
Для начала освежим данные о «приличных» и «неприличных» SATA-накопителях. Не забывая, правда, что попавшаяся нам модификация Kingston A400 еще и не самая худшая — тут, хотя бы, TLC-память еще. Но всё равно результаты говорят сами за себя — A400 тратит на этот тест в четыре раза больше времени (в цифрах всё чуть хуже, но он и по емкости чуть меньше). Казалось бы, простой сценарий. И скорость флэш-памяти постоянно растет (в рамках одного типа, во всяком случае). И пропускная способность SATA ограничена. Но, даже во времена, когда топовые SSD уже бороздят большой театр, бюджетные модели неспособны удержать скорость записи на уровне хотя бы в несколько сотен мегабайт в секунду. Что приходится маскировать SLC-кэшированием по максимуму, за что потом следует неизбежная расплата. А стоит взять контроллер получше, так и маскировать уже почти нечего.
С другой стороны, смена интерфейсов и протоколов не панацея. По сути своей Silicon Motion SM2263XT в Kingston NV1 недалеко ушел от SM2259XT/XT2 тех же Kingston A400, так что и проблемы аналогичные. Однако же даже в режиме Gen2 x1 (который, напомним, медленнее SATA) общее время выполнения теста хоть немного, но сократилось. Gen3 x1 дает нам ускорение записи в кэш, да и за его пределами скорость увеличивается — вместе с отрывом NV1 от A400. Но догнать KC600 не выходит. Обогнать его в пределах кэша — вполне. Но не более того.
Но точку ставить рано — ведь это в SATA-сегменте у нас выбора почти не осталось, а ассортимент NVMe-накопителей намного шире. Не обязательно замыкаться на уровне Kingston NV1 и аналогов (напомним — по большому счету давно устаревших) — есть же давно KC3000. С той же схемой кэширования, зато более мощным контроллером. В итоге даже в режиме Gen2 x1 мы немного проигрываем KC600 лишь из-за ограничений пропускной способности самого интерфейса. Переходим к Gen3 x1 — и тут уже можно угадать, где кончается кэш. Но именно угадать, потому что скорость остается практически максимальной для одного линка PCIe Gen3 и в принципе недостижимой для SATA. На Gen4 x1 кэш виден отчетливо, память до отграничений интерфейса чуть не дотягивает — но интересна общая скорость, которая уже более чем вдвое превышает даже теоретические возможности SATA.
Возвращаемся на бюджетную землю — но в современном виде. Kingston NV2 «забить» данными на полную не может даже Gen2 x1, да и с SATA бы тоже не справился. Однако с A400 нет ничего общего, а при ускорении интерфейса можем выйти и на уровень KC600 в среднем. И, повторим — главное тут как раз возможность выбора. Точнее, возвращение такой возможности. Что происходит в SATA-сегменте — это не выбор. Да и максимальный уровень лучших из выживших, справедливости ради, тоже не такой уж максимальный. Полный уход из сегмента позволяет получать больше. Да — за это придется платить. Но если проблему можно решить за деньги, то это уже не проблема, а всего лишь расходы (с)
Предельные скоростные характеристики
Низкоуровневые бенчмарки в целом и CrystalDiskMark 8.0.1 в частности давно уже пали жертвой в неравной борьбе с SLC-кэшированием — так что ничего, кроме самого кэша, протестировать и не могут. Однако и публикуемая производителями информация о быстродействии устройств тоже ограничена его пределами, так что проверить их всегда полезно. Тем более, что вся работа над кэшированием как раз и ведется для того, чтобы и в реальной жизни как можно чаще «попадать в кэш». И демонстрировать высокие скорости, несмотря на снижение стоимости памяти.
В первых строках измеряем интерфейс практически. Да и последняя тактично намекает, что в таких нагрузках без широкой полосы никуда. Кто бы сомневался. Равно как и в том, что одна линия PCIe Gen2 немного медленнее, чем SATA600, а вот Gen3 уже немного быстрее. И реализовать такие смешные возможности в тестах низкого уровня могут уже и бюджетные SSD — причем давно устаревшие и снятые с производства. Всё это понятно и известно любому, кто над данными вопросами задумывался. Но не все ж задумывались — а стоит иногда это сделать.
И интересно выглядит третья колонка — двунаправленная нагрузка не так проста, как простое чтение из кэша или запись в него же. Потому при более-менее приличном контроллере (пусть даже бюджетном — как Phison E21T в Kingston NV2) сразу вспоминаешь, что PCIe — интерфейс двунаправленный. И даже на одной линии Gen2 можно обогнать SATA легко и не напрягаясь.
Считается, что в мелкоблочке SATA/AHCI совсем не конкурент PCIe/NVMe. Примерно так и есть, хотя пересечения вполне возможны. И у нас сегодня одно нашлось — KC600 и посаженный на одну линию Gen2 NV1 работают практически в одном темпе. С другой стороны, последний именно под такой сценарий никто не оптимизировал — родной режим Gen3x4, который впрочем… оказался не так уж и радикально быстрее, чем Gen3x1 или, даже, Gen2x1. А вот для NV2 или KC3000 режимы уже более критичны.
В общем, к чему мы? Уменьшение накладных расходов в протоколе NVMe — полезно. Увеличение пропускной способности интерфейса — тоже небесполезно даже при таких нагрузках: все-таки данные не только найти нужно, но и передать. Но ключевым элементом является сам SSD — он этими возможностями еще должен уметь воспользоваться. Хотя и это работает как последний гвоздь в гроб SATA фактически. Мало того, что «потолок» давно определен, и ничего уже столь же давно не улучшается, так еще и все «пристойные» модели — на деле выжившие середнячки. Тот же Silicon Motion SM2259 вовсю использовался еще в 2017 году — и с тех пор лучше не стал. А вот в NVMe-сегменте жизнь не прекращается — скорее, активизируется. Silicon Motion SM2263XT тоже относительно древний контроллер, так что сейчас чаще всего встречается где-то внизу бюджетного сегмента. Причем это недорогое решение, заодно и обходящееся без DRAM. Но даже его временами хватает для конкуренции с лучшими SATA-накопителями даже во внештатном режиме.
Чем запись проще чтения? При работе с произвольной адресацией данные нужно действительно найти и прочитать там, где указано. Запись же благодаря динамической трансляции адресов можно вести туда, куда удобнее и быстрее — просто корректируя транслятор. Что открывает широкий простор для оптимизаций. И оказывается, что SM2263XT на совсем узкой шине уже не SM2259, да и вообще недалеко ушел от своих прямых SATA-родственников. И одной линии PCIe Gen3 всё равно маловато, чтоб поравняться с лучшими SATA-накопителями, а вот трех — уже хватает. А у более новых контроллеров (пусть даже столь же бюджетных) такой проблемы нет — Phison E21T (в Kingston NV2) и на Gen2 уже быстрее.
На скорость работы реального ПО подобные операции оказывают куда большее влияют: «длинным» очередям, как уже сказано, взяться на практике неоткуда — зато блоки, отличные от 4К байт, встречаются очень часто. Количество операций в секунду на «больших» блоках немного снижается, но сами они больше — так что результирующая скорость в мегабайтах в секунду оказывается более высокой. Поэтому по возможности все и стараются работать именно так. Насколько умеют — например, Phison E21T явно не любит блоки по 16К. Но проявляется эта «нелюбовь» вне зависимости от интерфейса фактически. Хотя главное-то не это, а практически тождество KC600 и NV1 на PCIe Gen2 x1. Хотя, повторим еще раз, NV1 это аналог A400 — и себестоимость практически одинаковая именно в такой паре. А дальше — больше.
С записью всё сложнее, но причины этого описаны выше: слишком тут многое зависит от контроллера, а интеллектуальные возможности самых первых бюджетных NVMe-продуктов оставляли желать лучшего. Откуда и многие претензии к ним — дескать, не могут убедительно продемонстрировать преимущества новых технологий во всех сценариях. Однако тут многое зависит и от окружающих условий, «изменение» которых было как раз одной из целей перехода. А в штатном режиме тот же Kingston NV1 стабильно оказывается быстрее, чем KC600 например — чего и достаточно зачастую. Вот когда есть необходимость использовать «нештатные» режимы, приходится повыбирать. Но, повторим в очередной раз, тут хотя бы есть из чего выбирать.
Смешанный режим тоже важен — ведь в реальности (а не в тестовых утилитах) редко бывает такое, что долгое время данные приходится только писать или только читать. Особенно в многозадачном окружении — и с учетом богатой внутренней жизни современных операционных систем. Но ничего нового мы тут не видим — всё предсказуемо. Применительно к основной теме остается еще раз повторить, что первая волна бюджетных NVMe-накопителей действительно нередко оказывалась не слишком быстрой. А если их лишить преимущества в пропускной способности интерфейса, то проблема только усугубляется. Однако первой волне на смену пришла вторая — уже стабильно более быстрая. Потом вторая, потом третья… SATA-сегмент же остается без сменщиков, теряя в первую очередь как раз лучших бойцов. Да и оставшиеся на фоне современных бюджетных SSD (не говоря уже о небюджетных) воображения не поражают.
Работа с большими файлами
Но, как бы хороши не были показатели в низкоуровневых утилитах, достигнуть таких скоростей на практике удается далеко не всегда. Хотя бы потому, что это всегда более сложная работа — тот же CrystalDiskMark работает с небольшими (относительно) порциями информации, причем внутри одного файла. Во-первых, таковой в современных условиях практически всегда и гарантировано располагается в SLC-кэше всё время тестирования, во-вторых, не нужно отвлекаться на служебные операции файловой системы — реальная запись одного файла это еще и модификация MFT, и журналы (основные используемые в работе файловые системы журналируемые — и не только NTFS), так что писать приходится не в одно место последовательно, а в разные (и частично — мелким блоком). В общем, большую практическую точность дает Intel NAS Performance Toolkit. При помощи которого можно протестировать не только кэш. И не только на пустом устройстве, где он имеет максимальные размеры — а и более приближенный к реальности случай, когда свободного места почти нет. Что мы всегда и делаем.
Как уже было сказано выше (да и не раз сказано ранее) пропускная способность одной линии PCIe Gen2 находится где-то между SATA300 и SATA600. Поэтому, когда в наличии лишь такой слот, рассчитывать на какой-то новый уровень скорости простых операций не приходится. Но это фактически худший из возможных случаев, с которым можно на практике столкнуться разве что на AMD AM4 с ранними чипсетами, либо Intel LGA1150 — да и там, возможно, хватит и более «широких» слотов, так что до использования таких дело просто не дойдет. А вот слоты PCIe Gen3 x1 пылятся без дела во многих десктопах начиная с 2015 года — когда появилась первая версия LGA1151. И это уже быстрее SATA600 в принципе.
Для бюджетных (а иногда и не совсем бюджетных) SSD до сих пор проблемой остается суметь загрузить работой свой штатный интерфейс хотя бы в идеальном случае. Несложно заметить, что Kingston NV1 хватило бы и двух линий PCIe Gen3, хотя он рассчитан на четыре. А вот пришедшему ему на смену NV2 нужно уже четыре — но это тоже половина потенциальных возможностей, поскольку он уже поддерживает PCIe Gen4. Но проявляется это именно в полных конфигурациях слотов — если ограничиться одной линией, то в нее и упираемся. Так что для того, чтобы стабильно обгонять SATA, достаточно Gen3x1. Либо аналогичного по пропускной способности Gen2x2. А теперь вспоминаем, что на многих платах под LGA1150 последней волны были уже слоты M.2 как раз с таким интерфейсом. Чем можно небезуспешно воспользоваться. Ранее было не слишком интересно, поскольку выбор SATA-устройств был широк, а стоили они чуть дешевле. Но сейчас обстоятельства таковы, что даже при желании модернизировать немного и столь древний компьютер есть смысл приглядываться к современным накопителям.
А вот если говорить про запись, то здесь по-прежнему критичными оказываются сами SSD, что не удивительно. Более того — настройки SLC-кэширования в бюджетном сегменте остаются актуальными иногда не менее, чем само «железо», что мы, в частности, видели ив тестах AIDA64 выше. Даже ограничения пропускной способности интерфейса, что естественно, проблему нехватки места в кэше не устраняют. Другой вопрос, что есть накопители, которые этой проблемы банально лишены — поскольку способны писать данные быстрее, чем их «прокачает» шина. В общем, принципиально работают все те же факторы, что и для SATA-устройств. С той лишь разницей, что их интерфейс ограничен в любом случае, да и с «быстрыми» моделями напряженка по определению уже.
Верно всё вышесказанное, что не удивительно — «внутри» SSD запись всё равно параллелят. «Внешняя» многопоточность иногда может оказаться более эффективной, а может и мене. Но порядок величин тот же. Поэтому повторимся — основное различие сегментов в том, что «быстрых» по записи NVMe-накопителей банально больше. А при фиксации скорости ниже максимальных значений (кои в пределе всё равно достигаются исключительно в пределах SLC-кэша) подобрать какой-то «гарантированный» уровень еще проще. Но главное — это вообще возможно, в отличие от.
PCIe, как уже было сказано, интерфейс двунаправленный — о чем некоторые иногда забывают. Поэтому в таких сценариях даже одна линия Gen2 уже быстрее, чем SATA. Но воспользоваться этим могут не только лишь все SSD — например, у старой бюджетки с этим бывали проблемы. У новой — реже. Другой вопрос, что здесь тоже важна скорость записи, а она зависит от конкретного SSD и его состояния. Но тут уже ничего нового. У некоторых вот почти не зависит (в таких условиях, конечно) — пусть и достаточно дорогих, но они, хотя бы, есть.
Подобные сценарии в реальной жизни, пожалуй, важнее «односторонних» — хотя бы из-за многозадачности современных систем, что временами и приводит к тому, что слепок дисковой активности (особенно когда в системе установлен единственный накопитель, на котором всё и живет) как раз так со стороны и выглядит большую часть времени. Почему SSD в принципе даже невооруженным глазом отличаются от жестких дисков — для последних подобные расклады смерти подобны, хотя чисто последовательно в одну сторону еще что-то могут. Но это верно для любых SSD. А интерфейсы тут дают лишь количественную, но не качественную разницу — через одну линию PCIe Gen2 больше 800 МБ/с суммарно прокачать сложно, но и это больше, чем в принципе может SATA, а дальше пиковые результаты растут. Реальные, опять же, сильно зависят от конкретных SSD. И «проблемными» являются операции записи. Применительно к основной теме важно то, что даже необходимость поработать на «зауженной» шине не отменяет пользы именно быстрых моделей. В идеале — чтоб вообще не задумываться об SLC-кэшировании. Поскольку последнее, конечно, проблемы маскировать умеет, при наличии достаточного количества свободного места делает это иногда очень эффективно, но может и не сработать. Особенно когда времени на служебные операции по очистке кэша нет, так что и реально свободного места в нем при необходимости не найдется.
Комплексное быстродействие
На данный момент лучшим комплексным бенчмарком для накопителей является PCMark 10 Storage, с кратким описанием которого можно познакомиться в нашем обзоре. Там же мы отметили, что не все три теста, включенных в набор, одинаково полезны — лучше всего оперировать «полным» Full System Drive, как раз включающим в себя практически все массовые сценарии: от загрузки операционной системы до банального копирования данных (внутреннего и «внешнего»). Остальные два — лишь его подмножества, причем, на наш взгляд, не слишком «интересные». А вот этот — полезен в том числе и точным измерением не только реальной пропускной способности при решении практических задач, но и возникающих при этом задержек. Усреднение этих метрик по сценариям с последующим приведением к единому числу, конечно, немного синтетично, но именно что немного: более приближенных к реальности оценок «в целом», а не только в частных случаях, всё равно на данный момент нет. Поэтому есть смысл ознакомиться с этой.
На что стоит обратить внимание — и PCMark 10 Storage заметно реагирует на алгоритмы SLC-кэширования. Неудивительно — поскольку записывается за время выполнения тестов примерно 200 ГБ данных. На условно пустом (поскольку не менее 50 ГБ занимают сами рабочие файлы теста — а требует он 80 ГБ свободных, чтоб еще и куда писать оставалось) диске при некоторых настройках может найтись столько уже заботливо подготовленного свободного кэша — и всё отработает очень быстро. Правда сильнее всего это бьет по «приличным» SATA-моделям — которые при таком раскладе оказываются не слишком быстрее «неприличных» SATA же и строго медленнее «неприличных» (и заметно более дешевых заодно) NVMe. А если запаса места нет и пауз на расчистку кэша тоже нет — тогда и наступает день сурка.
Хотя и немного неожиданный. Поскольку Kingston NV1 и A400 ближайшие родственники — но первый в любом случае стабильно быстрее даже если ограничить его одной линией PCIe Gen2. А если Gen3, что доступнее куда чаще, то и КС600 останется позади. Kingston NV2 же обгоняет его и на Gen2. Понятно, что в среднем — выше мы видели частные сценарии, где это не выполняется, но комплексные бенчмарки хороши и плохи одновременно единой оценкой как раз.
А идеологически и технически Kingston KC600 из современных моделей ближе к Kingston KC3000. Есть ощущение, что последний можно сделать более медленным (да и то не всегда) лишь загнав в рамки PCIe Gen1 — что вообще уже не интересно даже теоретически. И покупать топовое устройство под PCIe Gen4, способное распорядиться полностью четырьмя линиями современного стандарта, чтоб воткнуть его куда-то в PCIe х1, да еще и древней версии, казалось бы, тоже не интересно, но… Цены иногда ведут себя причудливо. Например, в момент написания этих строк терабайтный Kingston KC600 в «ДНС» стоит ровно на 100 рублей дешевле, чем КС3000: 9899 рублей против 9999. В «Ситилинке» чуть гуманнее — 9490 против 9990, хотя разница в 500 рублей (то есть 5% от общей стоимости) — тоже издевательство над старичком. Который в итоге остается приемлемым выбором только для системы, куда в принципе ничего другого воткнуть нельзя. Хотя более вероятно, что владелец таковой и вовсе предпочтет сэкономить, купив A400. Который, кстати, тоже стоит рублей этак на 200-400 (3%-7%) дешевле, чем NV2. Такие дела.
Итого
Для тех, кто традиционно читает только концовку обзора, пропуская всякие скучные циферки и графики, скажем сразу: на практике значимость полученных результатов невелика. Нет, работать-то при подключении одной линией PCIe современные (и не очень) SSD будут. Дело просто в том, что, как мы уже говорили, в среднем компьютере около 1,1 диска. Из чего следует, что у массового пользователя не возникает вопросов, как установить кучу накопителей, да еще и правильно выбрать их интерфейс. Не говоря уже о том, что иногда нет даже физической возможности установить накопитель по выбору: например, если хочется немного взбодрить старый ноутбук, в котором есть исключительно один отсек под 2,5″ SATA, то и покупать придется именно такой и никакой другой SSD. А если речь о новом ноутбуке, то 2,5-дюймовый SSD туда, скорее всего, в принципе не поместится — по причине отсутствия соответствующего отсека (в некоторых недорогих «пятнашках» и более габаритных моделях он присутствует, но уже в паре с одним, а то и двумя слотами M.2, что всё равно снимает проблему).
Если же возможность установить устройство по выбору имеется, то надо учитывать не только производительность — и не только производительность в увязке с ценой. На деле абстрактные советы по выбору накопителя для ноутбука или мини-ПК вообще давать опасно, не видя этого самого ноутбука. В десктопах всё гораздо проще — плюс еще и разнообразные переходники спешат на помощь. Но, опять же, на практике до них дело может не дойти — во всяком случае, до таких специфических, как имеющих интерфейс PCIe x1. Ведь один накопитель, как правило, есть куда воткнуть штатно, а в большинстве случаев — даже два. И это уже перекрывает запросы 99% пользователей. Оставшийся 1% обычно в состоянии разобраться со своими проблемами самостоятельно — иначе он бы себе их и вовсе не создавал.
Но даже если с типом устанавливаемого накопителя разобраться удалось, то всё равно нужно выбрать конкретный SSD. И тут некоторых покупателей смущает вопрос совместимости интерфейсов, а также непонятно, стоит ли покупать дорогое устройство, если ему невозможно обеспечить штатное посадочное место. Как показывают тесты, иногда такая покупка оправдана даже в совсем уж вырожденных случаях. Да, пропускная способность PCIe Gen2 х1 в 16 раз ниже, чем у PCIe Gen4 x4 — и что? Замедляет ли это накопитель? Разумеется! Иначе и быть не может. В человечке всё должно быть прекрасненько — и личико, и одежка, и душонка, и мыслишки. Но «хороший» NVMe SSD даже в таких экстремальных условиях способен потягаться с менее хорошими SSD, ограниченными менее жестко — и, несмотря на такую фору, выйти победителем. Про равные же условия и говорить нечего: даже когда они одинаково не лучшие для всех сравниваемых накопителей, это нивелирует далеко не все собственные особенности этих SSD. Так что пропускная способность интерфейса — важный фактор реализации скоростных возможностей NVMe-накопителей, но не единственный и, тем более, не определяющий. Выше головы не прыгнешь, но «прыгают» все по-разному. А предельные случаи хороши своей показательностью. Именно это сподвигло нас на такое тестирование, а потом уже — всё остальное.