Характеристики SATA (аппаратный, программный: ОС и пользователя)

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

Характеристики SATA (аппаратный, программный: ОС и пользователя) - student2.ru

Характеристики SATA (аппаратный, программный: ОС и пользователя) - student2.ru Физический уровень занимается передачей битов по физическим каналам связи. Здесь определяются основные характеристики среды используемой для передачи данных и характеристики электрических сигналов. Физический уровень осуществляет над поступившим кадром необходимые преобразования - конвертирует в последовательность, кодирует и выдает в линию и тоже самое в

порядке, когда получает данные с физической шины, т.е. от другого устройства. Взаимодействие физического уровня с вышележащим происходит по параллельной шине шириной 8, 16, 32 или другой, на усмотрение разработчика

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

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

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

Из результирующего кода отбирают 256 комбинаций, которые будут соответствовать 256-ти комбинациям исходного кода, а остальные считают запрещенными.

 
  Характеристики SATA (аппаратный, программный: ОС и пользователя) - student2.ru




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

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

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

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

Характеристики SATA (аппаратный, программный: ОС и пользователя) - student2.ru ВЫВОД Ы ПО ПРАКТИКЕ

Наши рекомендации