Сегодня 19 апреля 2024
18+
MWC 2018 2018 Computex IFA 2018
реклама
Накопители

Технология Serial ATA

⇣ Содержание

Физический уровень занимается передачей битов по физическим каналам связи. Здесь определяются основные характеристики среды используемой для передачи данных и характеристики электрических сигналов.

Сигналы. Мы уже вскользь касались этого вопроса. При современных технологиях использование 5-ти вольтовых сигналов стало очень затруднительно, и кроме того, с ростом скорости работы возникают дополнительные сложности при переключении из одного состояния в другое. С такой проблемой уже однажды столкнулась SCSI, и сейчас, в Serial ATA был использован тот же подход. Уровень сигналов снижен и составляет 250 мв.

Способ передачи. Кроме того, вместо использовавшейся раннее в ATA однополярной передачи, обладающей низкой помехоустойчивостью, применена двухполярная (или еще ее называют дифференциальной. Снова же, так как и SCSI). Преимущество ее в гораздо большей помехозащищенности. При дифференциальной передаче по двум проводам передается один и тот же сигнал, но разной полярности. Шумы наводимые в проводах симметричны, и сложив оба полученных разнополярных сигнала можно получить шум, а вычев его из полученного сигнала - непосредственно чистый переданный сигнал. Собственно использование дифференциальной передачи и дало возможность снизить уровни используемого сигнала. Для кодирования передаваемой информации используется потенциальный код без возвращения к нулю (Non Return to Zero, NRZ). Он является одним из самых простых в реализации, благодаря двум резко различающимся потенциалам обладает хорошей распознаваемостью ошибок, но не обладает необходимым свойством самосинхронизации. Но с этим недостатком в SATA успешно борются гениально простым методом, о котором скажем ниже.

Физическая среда. Ключевой момент, ради которого то все и было затеяно: используется не параллельная физическая шина, а последовательная, состоящая из 2-х пар проводов (одной передачи и одной на прием) и несколько нулевых. Всего семь. Провод которыми соединяются устройство последовательной ATA становится таким образом тонким и круглым, гибким и удобным в использовании, не препятствует воздухообмену.



С другой стороны, изготовление провода функционирующего на столь высоких скоростях, как у Serial ATA, и при этом обладающего высокими механическими характеристиками, пусть и содержащего всего 7 проводов, обходится вряд ли дешевле, чем обычного 80-ти жильного. И если где-то и содержится возможность снижения стоимости пользования, как обещано разработчиками изначально, то вряд ли здесь. Зато безусловно задача согласования (терминирования) решается теперь намного и дешевле. А длина кабелей может достигать 1 метра. SATA может быть не только интерфейсом внутренних устройств хранения, но и… внешниих…

Разъемы. Так как проводов мало, то разъемы соответственно получаются очень компактными и удобными в использовании. На рисунке для сравнения представлены коннекторы традиционного параллельного (справа, стоит ли говорить) и нового последовательного интерфейса (слева):


Как вы думаете, какой из двух является разъемом шины данных? Думаете, что так же как и Parallel ATA тот, что пошире? Вот и не угадали! Тот, маленький который. Разъем питания по размерам теперь превосходит разъем data-кабеля. Конструктивно они оба выполнены с защитой от дурака: предусмотрен сложный ключ и вставить по другому их просто нельзя, в отличие от интерфейса ATA, где такую защиту, похоже, придумывали на скорую руку потом, пытаясь сохранить совместимость с версиями без оной. В результате вряд ли есть сегодня человек, который бы хоть раз не подключил IDE шлейф неправильно. А шире разъем питания по тому, что контакты в нем больше и надежнее. И их не 4, как в старом разъеме, - добавилась возможность использовать питание 3.3v.


Предвижу вопрос: а откуда же брать питание для SATA дисков? Ответ: обычное через специальный переходник


Спецификация SATA жестко не ограничивает размещение основных разъемов и выполнение дополнительных, и предлагает несколько вариантов. Один родной, а второй как всегда, для поддержки ошибок предыдущих версий.


Вариант 1.


Вариант 2.

Современные диски Barracuda ATA 7200.7 находятся между ними где-то посредине. Конечно же, в спецификации приведены конкретные требования к проводам, чертежи разъемов и т.п. Но нам это совершенно неинтересно.

Физический уровень осуществляет над поступившим кадром необходимые преобразования - конвертирует в последовательность, кодирует и выдает в линию и тоже самое в обратном порядке, когда получает данные с физической шины, т.е. от другого устройства. Взаимодействие физического уровня с вышележащим происходит по параллельной шине шириной 10, 20, 40 или другой, на усмотрение разработчика.

Канальный уровень выполняет функции арбитража и результата выполнения операций передачи данных, скремблирование, а также реализует механизмы обнаружения и коррекции ошибок. Теперь обо всем подробней.

Арбитраж и контроль передачи. Сам по себе физический уровень может только передавать данные, поступившие на его вход. Для предотвращения конфликтов, когда одновременно и устройство, и хост контроллер хотят передать данные, на канальном уровне предусмотрен специальный механизм контроля, получивший название арбитража. Кроме того в обязанности канального уровня входит слежение за тем, были ли данные успешно переданы и сообщение об этом вышестоящему - транспортному уровню. Легко сообразить зачем это нужно.

Обнаружение и коррекция ошибок. В отличие от стандарта ATA, который различными механизмами обнаружения и коррекции ошибок обрастал по мере роста быстродействия, т.е. тогда, когда припирало и без них было не обойтись, в Serial ATA несколько механизмов заложены изначально. Во-первых, хорошей распознаваемостью обладает используемый на физическом уровне NRZ. Но это не главное, ряд ошибок может успешно его миновать. Как метод применяется избыточное кодирование 8B/10B. Суть его проста: 8 бит исходных данных дополняются 2-мя дополнительными битами. Итого получается 10 бит - т.е. 1024 возможных битовых комбинаций может быть в получившемся коде, в то время как в исходном - только 256.

Из результирующего кода отбирают 256 комбинаций, которые будут соответствовать 256-ти комбинациям исходного кода, а остальные считают запрещенными. Это позволяет распознавать искажение данных - если принята запрещенная последовательность, то при передаче произошла ошибка. Кроме того, в Serial ATA используется CRC код. О нем, не буду подробно, так как многие наверное наслышаны. Кстати то, что жесткие диски с SATA имеют максимальную скорость обмена по интерфейсу в 150 Мбайт в секунду, при том, что для SATA заявлена скорость передачи на физическом уровне в 1.5 Гбит/с, объясняется использованием избыточного 8B/10B кодирования, снижающего полезную пропускную способность интерфейса до 1.2 Гбит/с.

Скремблирование. Код NRZ, используемый на физическом уровне не обладает свойством самосинхронизации, так как при последовательности нулей или единиц сигнал в линии просто превращается в постоянный сигнал определенного уровня. Скремблирование помогает бороться с этим явлением, перемешивая данные, подлежащие передаче определенным образом так, чтобы вероятность появления единиц и нулей на выходе была приблизительно одинаковой.

Работает канальный уровень так: получает информационный кадр от транспортного, выполняя логическое кодирование и вычисление CRC, и спускает вниз - к физическому уровню. При получении данных от физического порядок действия обратный.

Задачей транспортного уровня является обеспечение вышележащим протоколам передачи с той степенью надежности, которая им требуется. Он упаковывает поступившие от прикладного уровня ATA команды в кадры и предает их следующему, или распаковывает поступившие снизу данные и передает на прикладной уровень. Задачей прикладного уровня является организация взаимодействия между драйвером контроллера и всего программного, что за ним дальше стоит и самим контроллером через блок регистров и портов. В SATA их набор расширен, но это уже нас занимает не так сильно. Особенно много об этих уровнях говорить нечего.

Т.е. что и как происходит на конкретном этапе вам теперь должно быть более или менее понятно, а именно дать общее преставление о работе я сейчас хотел. О преимуществах нового стандарта писано уже много раз, и только ленивый не читал про это. Хотя на самом деле их не шибко то и много. С точки зрения производительности пожалуй даже вообще никаких (не говоря про то, что в связке ATA - SATA через переходник вообще может быть проигрыш). Принципиально новыми функциями стандарт не наделили. Разве что поддержка горячего подключения и замены появилась. Она описана в спецификации, но, увы, опционально и целиком и полностью ее реализация на совести производителя. Может быть в будущем что то появится…

А что может появиться?

Программа развития стандарта составлена аж на десять лет вперед. В ней предусмотрена разработка трех версий. Первая - это та, которую мы имеем сегодня. Во второй будет в два раза увеличена пропускная способность - до 3 Гбит/с при сохранении полной совместимости с первой. А в третьей - до 6 Гбит/с. А вот совместимость будет под вопросом, говорится, что возможно будет механическая совместимость с предыдущими версиями. А может и нет. Электрическая быть должна. SATA II должна появится в середине следующего года, при том, что мы еще толком то и первой не видели. SATA III ожидается в середине 2007. Новую шину, наверное в обязательном порядке, будут учить думать - создавать очереди команд и их оптимизировать. Собственно говоря, это можно уже делать сегодня, но пока никто из производителей жестких дисков (а другая периферия на этой шине существует в крайне небольшом количестве, едва ли не в единичных экземплярах) не пытается ее воплотить в своих изделиях даже не смотря на то, что это обещает хороший прирост производительности, особенно в многозадачных средах. Дорого. Даже сейчас несмотря на все обещания разработчиков Serial ATA'ы диски с этим интерфейсом стоят дороже, равно как и оснащенные им материнские платы. Для тех применений где это действительно нужно существует SCSI, уже давно умеющий это делать. И вообще, мне кажется, что Serial ATA это попытки догнать быстрый уходящий поезд SCSI (вообще говоря, такую цель перед собой ставили разработчики). Но SCSI уже сегодня умеет очень много всего (о чем мы поговорим в отдельной статье), что и не снилось SATA и гораздо более высокие пропускные способности - 320 Мбайт/с уже доступны (Ultra320 SCSI), и ведутся работы над 640 Мбайт/с (Ultra640 SCSI)… И сложные громоздкие разъемы и дорогие кабеля тоже не аргумент - уже давно проработана поддержка последовательной физической среды. Впрочем, сравнение двух интерфейсов и прогнозирование развития на задумано в данной статье. Пора ставить точку. Поживем - увидим.

 
← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.

window-new
Soft
Hard
Тренды 🔥
Создание российского аналога GitHub предложено отменить, а средства направить на поддержку open source 52 мин.
Генеративная нейросеть VASA-1 от Microsoft создаёт видео на основе одного изображения 2 ч.
Meta бросила вызов ChatGPT — все сервисы компании получили «самого умного» ИИ-помощника 10 ч.
Meta добавила ИИ-генерацию изображений в реальном времени в WhatsApp — пока в тестовом режиме 10 ч.
Поисковик Brave научился отвечать на вопросы с помощью ИИ 10 ч.
Kingdom Come: Deliverance 2 официально анонсирована — первый трейлер и подробности 11 ч.
Не по средствам: большинство госкомпаний не имеет планов и возможностей перейти на отечественное ПО 12 ч.
Netflix продлила сериал «Ведьмак» на пятый сезон, но есть нюанс — он будет последним 12 ч.
Fallout 4 стала самой успешной игрой в Европе на прошлой неделе — продажи подскочили на 7500 % 13 ч.
Microsoft тестирует на iOS и Windows 11 функцию Circle to Copilot — аналог Circle to Search от Google 14 ч.