Первое знакомство с USB 3.0 в качестве интерфейса ВЖД

Шина USB дебютировала в компьютерных системах в 1997 году, но реально ее использование началось лишь в следующем — 1998 году. При этом всего через три года появилась ее ускоренная в 40 раз модификация USB 2.0, а в 2002 году начали появляться устройства с ее поддержкой, что было весьма актуальным, поскольку к тому же году относятся и первые чипсеты с реализацией контроллера USB 2.0 (владельцы же «устаревших» систем могли с легкостью воспользоваться внешними контроллерами, что и мы, кстати, первое время делали при тестировании нового оборудования). Рывок был весьма заметным, но сразу стало очевидно, что не для всех групп устройств достаточным — в частности, лишь 35 МБ/с (это в конечном итоге — первые контроллеры еле-еле дотягивали до 20 МБ/с) совершенно недостаточно для внешних жестких дисков и некоторых других высокоскоростных устройств. Впрочем, по сравнению с USB 1.1 прирост был, повторимся, значительным, а более быстрых альтернатив вообще не наблюдалось. В результате USB 2.0 быстро стала стандартом де-факто среди внешних интерфейсов: она является единственным из последних, поддержка которого есть в абсолютно каждом компьютере.

Однако буквально спустя два-три года ограничение пропускной способности начало все сильнее и сильнее сказываться на практике. Индустрии был нужен более скоростной универсальный стандарт, который она все никак не могла разработать. Есть, конечно, специализированные (например, eSATA для накопителей), но их большой недостаток в отсутствии универсальности, от чего производители стремились уйти при разработке 15 лет назад последовательных внешних шин. Сейчас на дворе 2010 год, т.е. USB 2.0 доминирует на рынке уже восемь лет — вдвое больше, нежели на нем просуществовала USB 1.1. Альтернатива, наконец-то, появилась — как несложно понять, ей стала новая спецификация USB с номером 3.0. Правда путь новой шины на рынок не обещает быть слишком простым. Фактически, для массового использования нового стандарта универсального назначения необходима его поддержка каждым компьютером. А вот этого, как раз, и нет. Более того — даже вышедшие этой весной чипсеты AMD все еще не поддерживают USB 3.0. И еще хуже — есть предположения, что ожидаемые в начале следующего года чипсеты «шестой серии» от Intel тоже не будут поддерживать эту шину. Дискретные же контроллеры стоят денег, так что производители материнских плат применяют их лишь в топовой продукции. Естественно, в таких условиях и производители конечных устройств не торопятся осваивать выпуск устройств с поддержкой USB 3.0: благодаря обратной совместимости стандартов, они, конечно, будут работать везде, но зачем платить лишние деньги за новые контроллеры, если в условиях отсутствия подходящей инфраструктуры старые справляются с возлагаемыми на них задачами ничуть не хуже? Так что массовый переход на новые технологии отложится, скорее всего, как минимум до 2012 года. Как мы уже отмечали, получается парадоксальная ситуация: SATA600 все еще реально не востребован, но его широкая поддержка уже появляется, а USB 3.0 нужна была еще пару-тройку (как минимум) лет назад, но производители не торопятся.

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

Организация работы USB 2.0 и предыдущих версий

Некоторые читатели зададут недоуменный вопрос — а что именно сложного-то? Давно уже всем известно, что новым является скоростной режим Super Speed, скорость в котором более чем в 10 раз превышает старый High Speed (USB 2.0) или в 300 с лишним раз самый быстрый из режимов USB 1.1, в те времена гордо названный Full Speed. Все так... но не совсем так — есть нюансы :)

Для начала вспомним, что собой представляла USB в оригинальном виде. Главное, что нужно помнить — эта шина первые годы никем не позиционировалась как высокоскоростная. Более того — никакое увеличение скорости тоже не предполагалось. И в FAQ по USB на нашем сайте четко и недвусмысленно написано следующее:Существуют ли планы по увеличению пропускной способности шины USB вдвое, втрое? Нет, шина USB была разработана в качестве периферийного интерфейса для настольных систем и имеет оптимальное соотношение производительности и цены на сегодняшний день. Новый интерфейс, такой как FireWire, для будущих высокоскоростных периферийных устройств, уже в стадии внедрения.

Да — так оно в конце 90-х и выглядело: запланировано было использование двух шин. FireWire — высокоскоростной интерфейс. В первых же реализациях скорость составляла как минимум 25 Мбит/с, первый стандарт определил максимум 400 Мбит/с с возможностью дальнейшего роста до 3,2 Гбит/с, что уже частично реализовано. Однако FireWire так и не стала массовым стандартом, чему было много причин, которые заслуживают отдельной статьи. А USB изначально была нацелена на те сферы применения, в которых высокая скорость не нужна. Потолок — 12 Мбит/с, т.е. около половины от младшего скоростного режима FireWire. Соответственно, главной задачей конструкторов было спроектировать дешевую шину для низкоскоростных устройств. Они это и сделали :) Потом, правда, некоторые сделанные упрощения повисли тяжелой гирей на ногах USB 2.0, но неудивительного — никто ж не думал, что такая модернизация вообще потребуется.

Итак, как организована шина USB? Представляет собой она типичное дерево, корнем которого является хост-контроллер. Согласно изначальным предположениям, в системе он может быть только один на всех. Это специальное устройство — все другие являются подчиненными и никакой самостоятельностью не отличаются. Делятся они на хабы и оконечные устройства. Хаб вообще никаким интеллектом не обладает — это всего лишь разветвитель портов: делит один входящий на два или более исходящих. Пассивный хаб точно также делит на всех полученное электропитание, активный чуть гуманнее — имея собственный БП, на каждом исходящем порту он обеспечивает стандартные 500 мА. На самом верху иерархии находится корневой хаб, подключенный непосредственно к хост-контроллеру. К его исходящим портам подключаются либо хабы более низкого уровня, либо устройства. И так далее по нисходящей, пока не будет исчерпан либо лимит на 127 устройств (128-м является сам хост), либо на пять соединенных подряд хабов. Такая организация сразу же накладывает несколько серьезных ограничений:

  • В сети не может быть двух хостов, что автоматически запрещает простое использование USB для связи двух компьютеров.
  • Устройство может быть либо хостом (и тогда его нельзя подключить к компьютеру – следствие первого пункта), либо именно устройством (и тогда оно не может послужить «корнем» другой сети — например, к КПК нельзя подключить накопитель или принтер)
  • Скорость контроллера делится на все подключенные устройства, т.е. если одно из них «забьет» всю шину, остальным ничего не достанется. Решена эта проблема крайне неэлегантно — никакое устройство так поступить не может никогда. Даже если оно никому не мешает.

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

Клавиатура, у тебя есть символы, введенные пользователем? Нет? Ну ладно — жди дальше. Мышь, а тебя случаем не двигали? Понятно, отдыхай. ТВ-тюнер, ты что-то там передать хотел? Давай быстрее — у тебя есть 10 мс, а то мне клавиатуру пора опрашивать.

Если верить IT-фольклору, такие диалоги на системной шине были традиционными для 60-х годов прошлого века. Действительно — «карусель» (оно же разделение по времени) является самой простой схемой организации работы нескольких устройств на общей шине одновременно. Самой простой, значит, и самой дешевой. Но, к сожалению, и самой неоптимальной тоже. Именно поэтому в большинстве шинных протоколов от нее отказались, введя прерывания, приоритеты и прочее. А вот USB в конце 90-х получила именно такую архаичную схему. По простой причине — для низкоскоростных устройств ничего большего и не нужно. Однако как только на шине появляется скоростное устройство, начинаются проблемы. Допустим, мы подключили внешний винчестер и пытаемся записать на него 1 ГБ информации. Эта операция долгая, поэтому если допустить захват шины одним устройством, работало бы оно с максимальной скоростью, но все остальные были бы заморожены — механизма прерываний-то нет. А кому нужен компьютер, на котором во время копирования информации мышь не двигается и клавиатура символы теряет? Для решения данной проблемы используется «карусель», однако она же вызывает другие проблемы — в этом случае мы не можем писать данные на винчестер с максимальной скоростью, поскольку ему будет доставаться лишь часть времени: контроллер вынужден постоянно опрашивать прочие устройства. И чем их больше, тем больше времени будет уходить впустую. Даже если все остальные устройства на самом деле не используются — понять это можно только их опросив, поскольку сами они «безголосны». В мобильных компьютерах, кстати, такая организация приводит к еще одной проблеме, связанной с экономией энергии — не может никакое устройство само уйти в «глубокий сон». Если оно это сделает, контроллер сочтет, что нет больше такого на шине, и его отключит. Соответственно, какая-то часть любого USB-устройства должна всегда бодрствовать и сообщать «я здесь» на каждом обороте «карусели». Ну а потери производительности будут в любом компьютере. Почему так было сделано? А для младших скоростных режимов ничего более сложного и не требуется: там потери на опрос устройств невелики, поскольку невелики и скорости. Поскольку старшие изначально не планировались, шину решено было удешевить. Потом это, конечно же, аукнулось.

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

Нельзя сказать, что разработчики об этих проблемах не знали изначально — знали, но не придавали им значения. Да и не нужно это было, поскольку планировалось лишь два режима — Full Speed (полная скорость; в дальнейшем тексте мы будем называть этот режим «среднескоростным» во избежание путаницы) на упомянутые 12 Мбит/с и Low Speed (низкоскоростной) — всего 1,5 Мбит/с. Выделили последний только потому, что для многих планируемых потребителей шины, таких, как мыши или клавиатуры, например, и 12 Мбит/с много. «Карусель» для среднескоростных устройств вращается с частотой 1 кГц, что гарантировано не позволяет иметь время доступа ниже 1 мс. Чтобы низкоскоростные устройства совсем уж сильно не мешали всем остальным, официально им положено «требовать к себе внимания» не чаще, чем на одном обороте «карусели» из десяти. На практике в Windows (да и во многих других системах) используется делитель восемь, который еще и менять можно (на базе чего работают различные методики «разгона» USB-мышей). Главное же, что при скоростях 12 или, тем более, 1,5 Мбит/с, накладные расходы на опрос устройств или переключение направления передачи по шине невелики, а более сложные механизмы удорожили бы шину. Да и оконечные устройства тоже, что сильно помешало FireWire. Вот как раз в этой шине, изначально спроектированной в качестве высокоскоростной, большинство описанных выше проблем отсутствует. В частности, устройства на шине устанавливают соединение «точка-точка», что позволяет им даже обмениваться данными даже без участия хост-контроллера, есть выделенная шина для адресов и т.п.

Что в мир USB принесло внедрение спецификаций версии 2.0? Практически ничего нового, кроме еще одного скоростного режима High Speed. Теоретическая пропускная способность достигла 480 Мбит/с, «карусель» для высокоскоростных устройств начала вращаться быстрее, но и все: задержки для опроса устройств, переключение направления передачи, режим «ведущий-ведомые» — все это сохранилось. И на таких скоростях начало уже оказывать свое влияние. Однако вариантов у производителей все равно не было, поскольку стояла задача ускорить шину, сохранив полную совместимость и низкую цену. Это и было сделано. Правда вот в результате оказалось, что при теоретической пропускной способности на 20% выше, чем у FireWire 400 (480 Мбит/с против 400 Мбит/с) практически достижимые скорости примерно на столько же ниже. Однако на некоторое время проблему со скоростью внедрение USB 2.0, все же, сняло. И над некоторыми другими проблемами поработали — например, в рамках спецификации USB On The Go у устройств появилась возможность выбирать режим работы: хост или оконечное устройство. Например, коммуникатор при подключении к компьютеру становится подчиненным устройством, но может поработать хостом для флэш-накопителя. А для ослабления проблемы с затратами на опрос устройств физические контроллеры начали делить на логические части. Вот, например, возьмем контроллер USB 2.0, встроенный в Intel PCH P55. Обычно его называют именно контроллером, поддерживающим 14 портов USB 2.0. На практике все чуть сложнее — он состоит из семи (!) UHCI-контроллеров (т.е. поддерживающих режимы Low Speed и Full Speed) с семью же двухпортовыми корневыми хабами и двух EHCI-контроллеров (поддерживающих только High Speed) с двумя корневыми хабами на восемь и шесть портов соответственно. Абсолютно не похоже на изначальный проект однокорневого дерева на 127 оконечных устройств, зато работает. Низко- и среднескоростные контроллеры крутятся в своих «песочницах», не вмешиваясь в жизнь высокоскоростных. Да и среди последних может одновременно и независимо друг от друга работать пара устройств — главное подключить их к двум разным корневым хабам. Суммарная пиковая пропускная способность шины в такой реализации составляет 2 х 480 + 7 х 12 = 1044 Мбит/с, т.е. более одного гигабита в секунду — будь контроллер действительно единым (и единственным) получить такое было бы невозможно. В новой линейке южных мостов компания AMD пошла еще дальше, реализовав три EHCI-контроллера, семь UHCI и еще один восьмой UHCI совсем «в сторонке» от них, так что суммарно удалось превысить 1,5 Гбит/с. Другой вопрос, что это, все-таки, суммарная пропускная способность, да еще и пиковая, а необходимо повысить скорость, доступную одному устройству.

Нововведения USB 3.0

Чем от всего описанного отличается новый стандарт? На первый взгляд, всего лишь добавился новый режим Super Speed, имеющий пропускную способность в 5 Гбит/с: все как и во времена USB 2.0. И в целях сохранения совместимости «старые» устройства (т.е. Low Speed, Full Speed и High Speed) продолжаются крутиться в своих «каруселях». А вот Super Speed организован совсем по-другому. Во-первых, этот режим не полудуплексный, а дуалсимплексный — контроллер может принимать и отправлять данные одновременно, т.е. исчезли задержки на переключение направлений шины. Иногда даже говорят о полном дуплексе, чего, вообще-то, нет: полнодуплексный канал на 5 Гбит/с позволил бы иметь именно столько и туда, и обратно, а сейчас ограничение на 5 Гбит/с суммарно. Что, впрочем, даже в теории в 10 раз больше, чем 480 Мбит/с High Speed, а на практике разница будет еще более значительной: никто не мешает выделить обратный канал с невысокой пропускной способностью, например, для передачи адресов при чтении информации с внешних носителей и избежать потерь на переключение направлений передачи. Кстати, наличие всего двух каналов (прямого и обратного) на самом деле не ограничивает общее количество потоков данных (еще одно нововведение USB 3.0). Для чего они нужны? Например, возьмем такое устройство, как ТВ-тюнер. Обратный канал ему понятно зачем — получать команды от компьютера. Высокая пропускная способность не нужна, так что сильно полосу он «не отъест», зато задержки при переключении программ, например, сократятся. А в рамках канала от устройства к компьютеру можно сразу же выделить два изохронных потока для синхронной передачи звука и видео. Все просто и логично, в отличие от работы в одном из предыдущих скоростных режимов, где тюнеру приходилось смешивать потоки в единый, а потом уже хост-системе снова их разделять.

Во-вторых, устройства, работающие в режиме Super Speed, не нужно постоянно опрашивать — наконец-то реализован полноценный механизм прерываний! Следовательно, и этот источник задержек устранен. Более того — в процессе работы устанавливается соединение между хостом и конкретным устройством, т.е. фактически реализуется соединение «точка-точка» как у FireWire. Кстати, позаботились и о полноценном управлении питанием: в новой схеме совершенно официально появились статусы Idle, Sleep и Suspend. Таким образом, Super Speed устройство вовсе не обязано больше постоянно болтаться на шине когда нужно и когда не нужно. В общем, Super Speed это не дополнительный скоростной режим старой шины — это совершенно новый и несовместимый со старым протокол работы.

Однако совместимость в глобальном смысле при этом сохранена: старые устройства можно подключать к новым контроллерам, а новые — к старым. Осуществляется это достаточно просто — все той же виртуализацией оборудования. Фактически, на данный момент все содержат и xHCI, и EHCI-части. Например, в двухпортовом контроллере NEC µPD720200 (на данный момент единственном доступном на рынке) оба порта подсоединены к PHY-контроллерам и USB 3.0, и USB 2.0 одновременно. Нужный выбирается в зависимости от того, какое устройство подключено к порту. Можно даже одновременно подключить «новое» и «старое» (к разным портам, вестимо) — мешать друг другу они не будут. Подобная схема применяется и в оконечных устройствах — на данный момент все контроллеры с поддержкой USB Super Speed могут работать и в режиме High Speed. Со временем, возможно, «груз совместимости» можно будет вообще отбросить и упростить (=удешевить) устройства. С потерей совместимости, разумеется, однако, как видим, разработчики цепляются за нее куда слабее, чем во времена внедрения USB 2.0.

Еще одно небольшое (хотя кому как) отличие USB 3.0 от предыдущих версий стандарта к скорости не относится и, теоретически, может быть использовано и «старыми» устройствами. Речь об увеличении допустимой силы тока с 500 мА до 900 мА при сохранении того же питающего напряжения в 5 В. Ограничение в 2,5 Вт на устройство появилось, как и все прочие, из-за того, что шина никогда не проектировалась для «серьезного» использования. В частности, первые USB-винчестеры были лишь самодеятельностью производителей – «магистральная линия партии» была четкой: для винчестеров FireWire. Так что ничего удивительного, что выбранного значения этим устройствам очень часто было недостаточно. Основным «стандартным» способом решения проблемы стало использование Y-образных кабелей, позволяющих получать питание с двух портов USB: суммарно в районе 1 А. Ну а теперь такие будут не нужны, поскольку 900 мА — совершенно штатное значение для одного порта. Кстати, некоторые производители материнских плат и ранее шли на отступление от стандарта, завышая силу тока на разъемах (Gigabyte в последней линейке плат вообще делает это совершенно официально, причем заметно — порты USB 2.0 могут отдавать по 1,5 А). Теперь это узаконено. К вящей радости как пользователей, так и производителей устройств, которым ранее силы тока было мало. А это не только мобильные винчестеры, но и, например, телефоны, плееры и прочее с зарядкой от USB: при большей силе тока время зарядки можно сократить. Кстати, и стационарным ВЖД это может помочь: поскольку аппетиты многих «десктопных» винчестеры по линии в 5 В вполне укладываются в 700-800 мА, их можно брать и с шины, упростив в результате блоки питания и внутренние схемы. Впрочем, до тех пор, пока совместимость с USB 2.0 остается актуальной, этого делать не будут, а в будущем — возможно.

Поскольку же многим устройствам это не требуется, увеличение выдаваемого на шину тока позволит им использовать более длинные кабели. В USB 1.1 длина кабеля была лимитирована 3 м, причем пассивные удлинители официально не допускались. Хотя многие ими и пользовались, однако у многих при этом возникали проблемы. USB 2.0 в теории увеличил длину кабеля до 5 м, а на практике оказалось, что лучше укладываться в 2 метра и менее (вплоть до 60-70 см) — иначе уже нередки проблемы с высокоскоростными устройствами типа винчестеров. Причем возможны они даже в том случае, если используются разъемы непосредственно на плате. А вот тот тихий ужас, который за провода выдают производители корпусов, предлагающие выводить лишние порты на лицевую поверхность своих поделий, нередко способен вызвать проблемы и при использовании далее качественных кабелей сантиметров по 60. Ну а в спецификациях USB 3.0 явного ограничения на длину кабелей пока найти не удалось. По предварительным подсчетам Super Speed устройства должны быть вполне работоспособны при длине кабелей не менее трех метров. Для остальных же, наконец-то, возможно совпадение теории с практикой, т.е. 5 метров для High Speed, благодаря тому, что в новом стандарте шины увеличены «питательные способности».

Новые кабели

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

Но в большинстве случаев используется кабель. И два разъема — обязательно разных, поскольку и устройства имеют разные права. В первых версиях стандарта появилось два вида разъемов — А для хост-систем (изредка применялся и в конечных условиях, но очень редко) и В для устройств. Все они имели пять контактов: земля, два провода для питания и два для передачи данных. Выход в свет спецификации USB 2.0 позволил внедрить также и очень актуальные миниатюрные разъемы: mini-A и mini-B. Первый сейчас является экзотикой, поскольку и в устройствах с поддержкой USB On The Go производители предпочитают применять mini-B. Также он очень сильно потеснил и полноразмерный В, причем даже в тех областях, где применение последнего оставалось возможным (стационарных ВЖД, например). В общем, к данному моменту основными типами разъемов стали А (которые есть в каждом компьютере) и mini-B, в просторечии также именуемые «mini-USB». В последнее время к ним добавился еще и micro-USB, достаточно быстро набирающий популярность. Используются они устройствами, поддерживающими любой из трех скоростных режимов, т.е. определить поддерживаемую версию спецификаций по виду разъема невозможно. В свое время это приводило к определенным проблемам — так некоторые производители любили гордо писать крупными буквами на упаковке устройства «Поддерживает USB 2.0», а мелкими и где-нибудь на последних строка спецификаций объясняли, что имелся ввиду USB 2.0 Full Speed. Формально тут нет никакого обмана, а фактически многие пользователи оставались разочарованными — они-то надеялись на то, что им досталось высокоскоростное устройство.

Подобной неразберихи с USB 3.0 не будет — Super Speed несовместим с предыдущими режимами. Фактически, современный кабель содержит уже не пять, а девять проводников: добавилось еще две пары для исходящего и входящего трафика SS-режима. Дополнительно к имеющейся земле, паре для питания и одной паре, соответствующей «старым» режимам использования. Естественно, это потребовало изменения разъемов. Хост типа А не пострадал: внешне он остался тем же, но обзавелся новыми контактами. При подключении «старого» кабеля они никак не используются, что позволяет сохранить совместимость на уровне хоста. Вот В-разъем изменился радикально, увеличившись физически, что видно на фотографии. Таким образом, а новые кабели не подойдут к старым устройствам, хотя старый можно подключить к новому (но, естественно, в данном случае мы получим лишь максимум High Speed). Есть в стандарте также  мини- и микро-разъемы, где подход к совместимости аналогичный: старый кабель можно использовать с новым устройством, но не новый со старым. Но более подробно этот вопрос будет иметь смысл изучать чуть позднее — пока нам не довелось столкнуться с использующими их устройствами. А вот А и В уже проверили на совместимость (или ее отсутствие), о чем сейчас и поговорим подробно.

Buffalo HD-HU3 USB 3.0 External HDD

Этот накопитель был не первым анонсированным устройством с поддержкой USB 3.0, однако первым реально появившимся на рынке. Впрочем, в основном на японском рынке — у нас же пока предложение соответствующих устройств вообще оставляет желать лучшего. Но для нужд тестирования данная модель, нам вполне подойдет.

Внешне накопитель сильно напоминает все остальные стационарные ВЖД, которых за последний десяток лет на рынке появилось очень много — некоторые компании выпускали подобные устройства еще во времена господства USB 1.1, несмотря на ее смешную производительность. Ну а появление FireWire и, в особенности, USB 2.0 этот сегмент рынка подстегнули очень сильно. В общем, на первый взгляд, в устройстве нет ничего нового — крупный «кирпич» из глянцевого пластика, размерами 45 x 175 x 156 мм. Внешние обводы предполагают вертикальную установку на стол, хотя мы порекомендовали бы (из соображений надежности) презреть красоту и укладывать накопитель горизонтально: ширины в 45 мм для устойчивости конструкции в вертикальном положении маловато.

Внутри скрывается обычный «десктопный» винчестер, емкостью 1, 1,5 или 2 ТБ, об охлаждении которого производитель позаботился: присутствует небольшой, но достаточно эффективный вентилятор (что приятно — не очень шумный). Младшая модель к нам в руки и попала. Как оказалось (благодаря SMART — так-то в списке устройств этот накопитель определяется просто как «Buffalo External HDD») скрывается в ней винчестер Samsung HD103SJ.

Все интересное скрывается на заднем торце. Разъем питания обычный — круглый: обходиться без внешнего БП (в данном случае применяется вполне традиционный одностандартный блок, выдающий 2 А по 12 В — второе питающее напряжение обеспечивается внутренним преобразователем) стационарные ВЖД неспособны. А вот невдалеке от него самое вкусное — разъем USB 3.0 типа В. По крайней мере сразу видно, что перед нами скоростное устройство — описанных выше проблем перехода на USB 2.0, как и сказано, теперь не будет, поскольку разъемы теперь совсем другие.

Тестовая конфигурация

Для целей тестирования мы собрали такой стенд:

  • Gigabyte GA-P55A-UD6 на чипсете P55 с дополнительным контроллером USB 3.0 NEC µPD720200
  • Intel Core i7 870
  • 4 ГБ РС3-10600 DDR3 SDRAM
  • видеокарта на базе NVIDIA GeForce GTX 275
  • системный винчестер Hitachi Travelstar HTS541010G9SA00
  • Windows XP + SP3

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

В общем и целом она совпадает с нашей стандартной методикой тестирования производительности внутренних накопителей образца 2009 года в плане используемого ПО и выполняемых задач — для первого тестирования нового интерфейса мы решили воспользоваться именно ей, а не более краткой методикой тестирования внешних жестких дисков. Тесты мы проведем в трех режимах — два с подключением к контроллеру от NEC (поскольку последний на данной плате может использовать как PCIe 2.0, на что и рассчитан, так и PCIe 1.1) и один с использованием чипсетного контроллера USB 2.0. Кроме того, для сравнения мы приводим результаты винчестера Seagate Barracuda XT (3,5", скорость вращения 7200 об/мин, емкость 2 ТБ, кэш-память 64 МБ, интерфейс SATA600), подключенного к SATA-контроллеру чипсета. Конечно, с точки зрения максимальной корректности результатов мы предпочли бы использовать для всех тестов один и тот же винчестер, однако ассортимент внешних модулей с интерфейсом USB 3.0 оставляет желать лучшего (если сказать точнее, то их пока практически нет в свободной продаже), поэтому приходится использовать укомплектованный ВЖД, что не позволяет сравнивать результаты со 100% точностью. С другой стороны, качественная оценка — сравнимо ли быстродействие USB 3.0 с SATA — вполне возможна, а именно она большинству и интересна. Конкретные результаты тестов могут быть разными на разных системах, так что важен, скорее, порядок величин. Т.е., что USB 2.0 является узким местом всегда и везде известно всем, а вот можно ли сказать такое про USB 3.0, либо все же, эта шина вполне пригодна хотя бы для современных винчестеров — главный вопрос сегодняшнего тестирования.

Lavalys Everest 5.0

Теоретически новые устройства могут иметь выигрыш и во времени записи за счет отказа от полудуплексного режима, на практике же добиться этого можно только для флэш-накопителей или чего-нибудь подобного — винчестеры сами по себе весьма медлительны. В общем, тут интерфейс существенно значения не имеет – как видим, самым медленным вообще оказался вариант с «внутренним» подключением. Просто потому, что в ВЖД от Buffalo используется более «отзывчивый» накопитель, нежели Barracuda XT.

Эти две диаграммы говорят сами за себя — порядок величин одинаковый у USB 3.0 и у SATA. А вот показатели USB 2.0 на порядок хуже. Впрочем, среди скоростных устройств царит определенная неразбериха, поскольку, как мы уже выяснили, Р55 в связке с Barracuda XT ведет себя не самым оптимальным образом на операциях чтения и записи из буфера. Но главный вывод можно сделать — USB 3.0 не станет узким местом в достаточно широких пределах. В отличие от USB 2.0, в принципе неспособной управиться с современными жесткими дисками даже ноутбучного форм-фактора.

IOMeter

Конкурировать с SATA в принципе невозможно на блоках малого размера: уже на 8К от винчестера мы получаем максимум, в то время как USB доходит до такого лишь на блоках от 64К. Впрочем, на практике если использовать ВЖД только для хранения и переноса данных, больших проблем это не вызывает: современные операционные системы достаточно эффективно кэшируют чтение и запись, «сводя» все к использованию блоков как раз по 64К (а то и больше). Главный вывод из этих двух тестов, соответственно: современные десктопные винчестеры с пластинами по 500 ГБ способны выдавать в пике до 140-150 МБ/с на линейных операциях, причем это вполне доступно как SATA, так и USB 3.0, но не USB 2.0.

Примечательно тут еще вот что — контроллер от NEC сильно восприимчив к интерфейсу подключения, несмотря на то, что достигнутые нами скорости вполне укладываются в способности PCIe 1.1. Это сильно отличает его от протестированного в прошлый раз формально более скоростного чипа SATA600 Marvell SE9128, который такой зависимости не демонстрировал. В общем, если хочется получить максимум — следует озаботиться наличием линии PCIe 2.0. Если же просто имеется практическая задача получить в пару-тройку раз больше, нежели от USB 2.0 — подойдет любой вариант. Тем более, что дискретный контроллер от NEC все равно является временным решением — наверняка внедрение поддержки USB 3.0 в чипсеты и появление на рынке более скоростных устройств покажет нам, что его «максимум» не такой уж и максимальный (предполагать это позволяет опыт использования дискретных контроллеров USB 2.0 от той же NEC, которые казались быстрыми лишь до появления альтернативных разработок ;)).

На случайных операциях интерфейс имеет значение, а вот его пиковая скорость — нет. В результате и при записи, и при чтении различия появились только при больших нагрузках, причем явно не в пользу любого из вариантов USB-подключения, независимо на использование в них более «отзывчивого» винчестера.

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

А вот при увеличении глубины очереди запросов картинка зеркально отображается :) Все увеличили «отдачу», однако при использовании SATA прирост выше, что и выводит его на первое место.

Ну и дальнейшее увеличение нагрузки окончательно расставляет все на свои места: SATA, конечно, способен эффективно управляться с очередями команд количеством до 32, что куда меньше, чем 256, однако USB в любой инкарнации и на это никак не способен. И вообще — несложно заметить, что различий между версиями (и даже, как побочный эффект, контроллерами) данной шины нет в этой ситуации ровно никаких.

PCMark05

Хуже всех оказывается USB 2.0, лучше всех — SATA, USB 3.0 занимает промежуточное между ними положение. В общем-то тест на скорость загрузки ОС в данном случае достаточно синтетичен, а вот что касается старта приложений, то тут видно, что USB 3.0 для их хранения использовать уже можно. Впрочем, для применения в качестве основного носителя для хранения именно программ, а не данных, USB 3.0 выглядит сильно сомнительным решением даже для ВЖД — лучше уж использовать eSATA, благо этот вариант совершенно прозрачен для накопителей. Пока же поддержки USB 3.0 нет в чипсетах, и загрузиться с такого носителя будет сложновато.

Да и вообще для работы любой вариант USB, все-таки, хуже SATA. Впрочем, возможно, что причина более низких результатов совсем в другом: Samsung HD103SJ на этих трассах медленнее, нежели Barracuda XT. В общем, результаты нуждаются в последующей дополнительной проверке. А вот USB 2.0 и 3.0 мы сравнивали на одном и том же жестком диске. И вот тут уже вывод однозначный: несмотря на скорости ниже 10 МБ/с, что теоретически вполне доступно и USB 2.0, практически новый скоростной режим почти в полтора раза быстрее.

Тест сканирования на вирусы продолжает «радовать» результатами. Теоретически это должно быть чистое чтение, практически же цифры иногда получаются более высокими, чем при линейном чтении, иногда более низкими, чем при нем же. Судя по всему, все подобрано таким образом, что немалое значение начинает иметь скорость чтения данных из буфера, так что странный на первый взгляд результат вполне объясним. Впрочем, как бы оно ни было, а тотальный проигрыш USB 2.0 виден невооруженным взглядом и не подлежит сомнению :)

Как и при записи данных, которая выполняется тоже настолько быстро, что пропускная способность интерфейса легко может оказаться главным из действующих факторов. Примечательно, что в «штатном» (но очень сложно-реализуемом на платах под LGA1156 или в старых системах) режиме USB 3.0 даже немного обгоняет вариант с «внутренним» подключением, а при использовании PCIe 1.1 контроллер от NEC откровенно «тормозит». Но еще более примечательно (и более полезно на практике) то, что даже в самых худших условиях результат оказывается почти в три раза лучше, чем свойственен USB High Speed).

Intel NAS Performance Toolkit

Многие винчестеры компании Seagate преследуют проблемы в многопоточном режиме, что для нас совсем не новость — при четырех потоках чтения Barracuda XT падает до присущих USB 2.0 скоростей. Samsung это не касается, так что, получив более быстрый интерфейс, даже на четырех потоках он улучшает свои результаты вдвое. Ну а на одном-двух потоках чтения оба быстрых интерфейса действительно быстрые всегда.

Опять можно утверждать, что USB 3.0 и SATA обеспечивают сравнимые результаты, а вот с USB 2.0 ни один, ни второй лучше не сравнивать :)

Поскольку нам достались разные винчестеры, мы, пожалуй, не будем пытаться пока сравнить «в лоб» SATA и USB 3.0. Да и цель нашего сегодняшнего тестирования заключается немного в другом — в сравнении USB 2.0 и 3.0. А тут, как несложно убедиться, в очередной раз сравнивать особо нечего — двух-трехкратный отрыв нового скоростного режима от старого налицо.

Собственно, как и при копировании данных. Хотя USB 3.0 опять несколько «портит малину» использование низкоскоростного интерфейса к контроллеру, однако даже в данном случае прирост по сравнению с USB 2.0 очевиден.

Общий средний балл

InternalUSB 3.0 (@2.0)USB 3.0 (@1.1)USB 2.0
1057885834517

Итого

Первый вывод, который можно сделать — USB 3.0 действительно работает, причем делает это существенно быстрее предшественницы. Конечно, обещанного десятикратного прироста нам обнаружить не удалось, но тут сама шина не виновата: нет пока устройств на практике способных покуситься на 100% пиковой пропускной способности в 5 Гбит/с. И не факт, что их появление в ближайшее время станет возможным. То есть, конечно, представить себе экстремальный SSD, способный при чтении данных выдать 400-500 МБ/с (или даже внешний RAID0 из таких накопителей), вполне возможно, а вот поверить в то, что такие накопители быстро станут массовым товаром и найдется много желающих подключать их к компьютеру посредством шины USB — извините, но никак не выходит. Однако наличие столь заметного запаса на будущее само по себе очень полезно и приятно — из него прямо проистекает то, что в ближайшие годы шина не устареет. Это тем более важно потому, что... в ближайшие годы ее массовое использование и не начнется. Проблема курицы и яйца в очередной раз встает во весь рост — для того, чтобы был стимул массово использовать какой-либо интерфейс, необходимо наличие на рынке большого количества рассчитанных на него устройств, а для того, чтобы производители их выпускали, необходимо наличие этого самого интерфейса в каждом компьютере. Однако для того, чтобы он появился в каждом компьютере, требуется, чтобы его начали поддерживать производители чипсетов, которым нет смысла тратить деньги до тех пор, пока на рынке не появится большое количество устройств, которым нужен данный интерфейс. Замкнутый круг :) Применение дискретных контроллеров (как сейчас) проблему не решает — увеличивать стоимость массового компьютера производителям не за чем, так что применяют они их только в топовой продукции. Собственно, это хорошо видно по объемам поставок: NEC планирует в ближайшее время довести выпуск своих контроллеров до двух миллионов в месяц, но вот компьютеров в мире в месяц продается порядка 20 миллионов, т.е. поддержка USB 3.0 лишь в каждом десятом из продаваемых. На самом деле, все еще хуже — среднестатистический компьютер снабжен десятью портами USB 2.0 (в ноутбуках поменьше, в десктопах побольше), а контроллер от NEC лишь двухпортовый, т.е. на 1 порт USB 2.0 в продаваемых ныне компьютерах приходится 0,02 порта USB 3.0. В общем, даже если рассматривать новые системы, USB 3.0 может претендовать лишь на 2% рынка. А если еще и старые, имя которым легион — то, в лучшем счете, на 0,2% :) И куда тут производителям, спрашивается, торопиться? Мелкие фирмы, разумеется, гордо проанонсировали уже кучу продукции, однако обещать — не значит выпустить в продажу. А крупные производители поддерживают USB 2.0, FireWire, eSATA, но не торопятся с USB 3.0, не видя пока для нее рынка. Тем более, что дорого пока использовать новую шину — даже банальный кабель стоит в два-три раза дороже, чем для USB 2.0.

C другой стороны, если по религиозным причинам не устраивает eSATA, но при этом не нравится производительность USB 2.0, альтернатива уже появилась. Как видим, вполне работоспособная. Не без нареканий, естественно: сам по себе контроллер от NEC мягко говоря звезд с неба не хватает. Что особенно сильно проявляется при использовании его на линии PCIe 1.1: несмотря на то, что ее пропускная способность составляет 250 МБ/с, а нужно нам на самом деле не больше 150 МБ/с, получить их оказывается проблематично. В прошлый раз контроллер SATA600 от Marvell, как мы помним, справился с испытанием куда лучше. Но альтернатив ему пока нет, так что с этим придется смириться. Главное, что мы видим — если стоит задача всего лишь переноса информации, причем хочется ее копировать в два-три раза быстрее, нежели позволяет USB 2.0, решить ее с помощью USB 3.0 можно уже сегодня.

 

 




8 апреля 2010 Г.

USB 3.0

USB 3.0

USB 1997 , — 1998 . 40 USB 2.0, 2002 , , USB 2.0 ( «» , , , ). , , — , 35 / ( — - 20 /) . , USB 1.1 , , , . USB 2.0 - : , .

- . , . , , (, eSATA ), , 15 . 2010 , .. USB 2.0 — , USB 1.1. , -, — , USB 3.0. . , . , , . — AMD USB 3.0. — , « » Intel . , . , USB 3.0: , , , , , ? , , 2012 . , : SATA600 , , USB 3.0 - ( ) , .

, , , . , — , , , . — . — USB 3.0 ,

USB 2.0

— -? , Super Speed, 10 High Speed (USB 2.0) 300 USB 1.1, Full Speed. ... — :)

, USB . , — . — . FAQ USB :

USB , ?
, USB . , FireWire, , .

— 90- : . FireWire — . 25 /, 400 / 3,2 /, . FireWire , , . USB , . — 12 /, .. FireWire. , . :) , , USB 2.0, — , .

, USB? , -. , . — . . — : . , — , 500 . , -. , . , 127 (128- ), . :

  • , USB .
  • ( ), ( «» — , )
  • , .. «» , . — . .

, . , , . , , . — «».

, , ? ? — . , ? , . -, - ? — 10 , .

IT-, 60- . — «» ( ) . , , . , , . , , . USB 90- . — . , . , 1 . , , , — - . , ? «», — , : . , . — , «». , , , — « ». , , , . , - USB- « » «». . ? : , . , . , , .

, . , , . , , . , . . .. : , , — oops: - . , «».

, — , . , — Full Speed ( ; «» ) 12 / Low Speed () — 1,5 /. , , , , , 12 / . «» 1 , 1 . , « » , «» . Windows ( ) , ( «» USB-). , 12 , , 1,5 /, , . , FireWire. , , . , «-», -, ..

USB 2.0? , High Speed. 480 /, «» , : , , «-» — . . , , . . , 20% , FireWire 400 (480 / 400 /) . USB 2.0, , . — , USB On The Go : . , , -. . , , USB 2.0, Intel PCH P55. , 14 USB 2.0. — (!) UHCI- (.. Low Speed Full Speed) EHCI- ( High Speed) . 127 , . - «», . — . 2 480 + 7 12 = 1044 /, .. — ( ) . AMD , EHCI-, UHCI UHCI « » , 1,5 /. , , -, , , , .

USB 3.0

? , Super Speed, 5 /: USB 2.0. «» (.. Low Speed, Full Speed High Speed) «». Super Speed -. -, , — , .. . , , -, : 5 / , , 5 / . , , 10 , 480 / High Speed, : , , . , ( ) ( USB 3.0). ? , , -. — . , « », , , . . , , , - .

-, , Super Speed, — - ! , . — , .. «-» FireWire. , : Idle, Sleep Suspend. , Super Speed . , Super Speed — .

: , — . — . , xHCI, EHCI-. , NEC PD720200 ( ) PHY- USB 3.0, USB 2.0 . , . «» «» ( , ) — . — USB Super Speed High Speed. , , « » (=) . , , , , , USB 2.0.

( ) USB 3.0 , , «» . 500 900 5 . 2,5 , , - , «» . , USB- « » : FireWire. , . «» Y- , USB: 1 . , 900 — . , , (Gigabyte , — USB 2.0 1,5 ). . , , . , , , , USB: . , : «» 5 700-800 , , . , , USB 2.0 , , — .

, . USB 1.1 3 , . , . USB 2.0 5 , , 2 ( 60-70 ) — . , . , , , 60. USB 3.0 . Super Speed . , -, , .. 5 High Speed, , « ».

USB : . ( ) . , . « »? , , , .

. — , . — - ( , ) . : , . USB 2.0 : mini-A mini-B. , USB On The Go mini-B. , , ( , ). , ( ) mini-B, «mini-USB». micro-USB, . , , .. . — « USB 2.0», - , USB 2.0 Full Speed. , — - , .

USB 3.0 — Super Speed . , , : SS-. , , «» . , . : , . «» , . - , , . , , (, , High Speed). - -, : , . — . ( ), .

Buffalo HD-HU3 USB 3.0 External HDD

USB 3.0, . , — . , .

, — USB 1.1, . FireWire , , USB 2.0 . , , — «» , 45 x 175 x 156 . , ( ) : 45 .

«» , 1, 1,5 2 , : , ( — ). . ( SMART — - «Buffalo External HDD») Samsung HD103SJ.

. — : ( , 2 12 — ) . — USB 3.0 . , — USB 2.0, , , .

:

2009 — , . — NEC ( PCIe 2.0, , PCIe 1.1) USB 2.0. , Seagate Barracuda XT (3,5", 7200 /, 2 , - 64 , SATA600), SATA- . , , USB 3.0 ( , ), , 100% . , — USB 3.0 SATA — , . , , , . .., USB 2.0 , USB 3.0, , — .

Lavalys Everest 5.0

, - - — . , , «» . , Buffalo «» , Barracuda XT.

— USB 3.0 SATA. USB 2.0 . , , , , 55 Barracuda XT . — USB 3.0 . USB 2.0, -.

IOMeter

SATA : 8 , USB 64. , , : , «» 64 ( ). , : 500 140-150 / , SATA, USB 3.0, USB 2.0.

— NEC , , PCIe 1.1. SATA600 Marvell SE9128, . , — PCIe 2.0. - , USB 2.0 — . , NEC — USB 3.0 , «» ( USB 2.0 NEC, ;)).

, — . , , USB-, «» .

, , Samsung , Seagate. .

:) «», SATA , .

: SATA, , 32, , 256, USB . — , ( , , ) .

PCMark05

USB 2.0, — SATA, USB 3.0 . - , , , USB 3.0 . , , , USB 3.0 — eSATA, . USB 3.0 , .

USB, -, SATA. , , : Samsung HD103SJ , Barracuda XT. , . USB 2.0 3.0 . : 10 /, USB 2.0, .

«» . , , , , . , , , . , , USB 2.0 :)

, , . , «» ( - LGA1156 ) USB 3.0 «» , PCIe 1.1 NEC «». ( ) , , USB High Speed).

Intel NAS Performance Toolkit

Seagate , — Barracuda XT USB 2.0 . Samsung , , , . - .

, USB 3.0 SATA , USB 2.0 , :)

, , , « » SATA USB 3.0. — USB 2.0 3.0. , , — - .

, . USB 3.0 « » , USB 2.0 .

Internal USB 3.0 (@2.0) USB 3.0 (@1.1) USB 2.0
1057 885 834 517

, — USB 3.0 , . , , : 100% 5 /. , . , , SSD, 400-500 / ( RAID0 ), , , USB — , . — , . , ... . — , - , , , , . , , , , , , . :) ( ) — , . , : NEC , 20 , .. USB 3.0 . , — USB 2.0 ( , ), NEC , .. 1 USB 2.0 0,02 USB 3.0. , , USB 3.0 2% . , — , , 0,2% :) , , ? , , , — . USB 2.0, FireWire, eSATA, USB 3.0, . , — - , USB 2.0.

C , eSATA, USB 2.0, . , . , : NEC . PCIe 1.1: , 250 /, 150 /, . SATA600 Marvell, , . , . , — , - , USB 2.0, USB 3.0 .