Физический уровень.
Развитие и стандартизация интерфейса АТА
Физическая среда. Ключевой момент, ради которого то все и было затеяно: используется не параллельная физическая шина, а последовательная, состоящая из 2-х пар проводов (одной передачи и одной на прием) и несколько нулевых. Всего семь. Провод которыми соединяются устройство последовательной ATA становится таким образом тонким и круглым, гибким и удобным в использовании, не препятствует… Читать ещё >
Физический уровень. Развитие и стандартизация интерфейса АТА (реферат, курсовая, диплом, контрольная)
Физический уровень занимается передачей битов по физическим каналам связи. Здесь определяются основные характеристики среды используемой для передачи данных и характеристики электрических сигналов.
Сигналы. При современных технологиях использование 5-ти вольтовых сигналов стало очень затруднительно, и кроме того, с ростом скорости работы возникают дополнительные сложности при переключении из одного состояния в другое. С такой проблемой уже однажды столкнулась SCSI, и сейчас, в Serial ATA был использован тот же подход. Уровень сигналов снижен и составляет 250 мв.
Способ передачи. Кроме того, вместо использовавшейся раннее в ATA однополярной передачи, обладающей низкой помехоустойчивостью, применена двухполярная (или еще ее называют дифференциальной. Снова же, так как и SCSI). Преимущество ее в гораздо большей помехозащищенности. При дифференциальной передаче по двум проводам передается один и тот же сигнал, но разной полярности. Шумы наводимые в проводах симметричны, и сложив оба полученных разнополярных сигнала можно получить шум, а вычев его из полученного сигнала — непосредственно чистый переданный сигнал. Собственно использование дифференциальной передачи и дало возможность снизить уровни используемого сигнала.
На физическом уровне для передачи данных используется двухэтапное логическое кодирование 8b/10b.
При логическом кодировании 8b/10b каждые 8 бит исходной последовательности заменяются на 10 бит в соответствии с определенными правилами. В результате для 256 возможных комбинаций из 8 входных бит получаем 1024 возможные комбинации для 10 выходных бит. Но разрешенными из этих 1024 комбинаций являются только 256, а остальные — запрещенными. Как правило, такая избыточность используется для того, чтобы повысить помехоустойчивость кодирования (если при приеме обнаруживается запрещенная последовательность, то распознается ошибка передачи). Кроме того, незначительная избыточность улучшает спектральные характеристики сигнала, поскольку исключает возможность появления в цепочке передаваемых бит длинных последовательностей нулей и единиц. Также повышаются и самосинхронизирующие свойства кода. При приеме данных происходит декодирование 8b/10b, то есть каждой группе из 10 бит ставится в соответствие 8 бит, а лишние биты вырезаются.
Однако в случае протокола SATA разрешенных к использованию комбинаций значительно больше, чем 256. При этом каждой входной последовательности может соответствовать несколько выходных, а какая именно выходная комбинация будет использована, зависит от контрольного сигнала rd, формируемого в процессе передачи. Рассмотрим подробнее два этапа кодирования.
При кодировании 8 исходных бит разбиваются на две подгруппы: из 5 бит и из 3 бит. На первом этапе подгруппа 5 бит подвергается кодированию 5b/6b, то есть каждые 5 бит заменяются на 6. На втором этапе оставшиеся 3 бита подвергаются кодированию 3b/4b.
Целесообразность использования двухэтапного кодирования вызвана тем, что при кодировании каждой группы (сначала 5 бит, а потом оставшихся 3 бит) формируется специальный бинарный контрольный сигнал rd (Running Disparity), который может быть либо отрицательным (rd-), либо положительным (rd+).
При кодировании 5b/6b для 32 возможных 5-битных комбинаций на входе существует 46 6-битных возможных комбинаций на выходе (не 32 и не 64, а именно 46!). Получаются эти 46 возможных комбинаций следующим образом: каждой из 32 возможных 5-битных комбинаций на входе ставится в соответствие две 6-битные выходные последовательности: прямая и инверсная, за исключением тех 6-битных последовательностей, для которых количество «1» совпадает с количеством «0» — отсюда именно 46 возможных комбинаций на выходе.
При кодировании 3b/4b для 8 возможных 3-битных комбинаций на входе существует 14 возможных 4-битных комбинаций на выходе, которые формируются так же, как и прежде.
При кодировании 3b/4b, так же как и при 5b/6b, использование прямой или инверсной выходной последовательности определяется текущим значением контрольного сигнала rd. Если сигнал rd положителен, то используется прямая последовательность, а если отрицателен — то инверсная. При этом текущее значение сигнала rd определяется по предыдущей переданной последовательности из 6 или 4 бит.
Правило для формирования сигнала rd достаточно простое. Сигнал положителен, если количество единиц больше количества нулей в группе закодированных бит. Исключение составляют последовательности с равным количество нулей и единиц. Для последовательностей 111 (подгруппа 6 бит) и 0011 (подгруппа 4 бит) сигнал считается положительным, а для последовательностей 111 000 и 1100 — отрицательным. Во всех остальных случаях сигнал rd нейтрален и не меняет своего состояния.
К примеру, если входная последовательность 5 бит 1 подвергается кодированию 5b/6b, то при положительном текущем сигнале rd+ последовательность 1 будет заменена на последовательность 100 010. Если текущее значение сигнала rd отрицательно (rd-), то будет сформирована инверсная последовательность 11 101. Но в обоих случаях последующее состояние сигнала rd изменится на противоположное, так как при rd+ в последовательности 100 010 нулей больше, чем единиц, и, следовательно, сигнал rd примет отрицательное значение, а при rdв последовательности 11 101 единиц больше, чем нулей, и сигнал rd станет положительным.
Аналогичному кодированию в зависимости от текущего значения сигнала rd подвергается и подгруппа из 3 бит (кодированию 3b/4b), причем с учетом того, что сперва происходит кодирование 5b/6b, а потом 3b/4b, текущее значение сигнала rd при кодировании 3b/4b определяется по результату кодирования 5b/6b.
Таким образом, в стандарте SATA предусмотрен довольно нетривиальный метод логического кодирования.
Кроме логического двухэтапного кодирования, при передаче данных используется метод циклического избыточного контроля CRC-32 (Cyclic Redundancy Check) с образующим 32-битным полиномом.
и скрэмблирование с образующим полиномом.
На физическом уровне используется потенциальный код NRZ (Non Return to Zero).
Другой особенностью стандарта SATA является организация взаимодействия между контроллером и диском по принципу «точка-точка» (peer-to-peer). Напомним, что стандарт Parallel ATA предусматривает подключение на один канал до двух устройств (Master и Slave); соответственно полоса пропускания для обоих устройств не превышает 133 Мбайт/с. В стандарте SATA к одному контроллеру можно подключить только один жесткий диск, поэтому каждому устройству стандарта SATA предоставляется вся полоса пропускания целиком.
Физическая среда. Ключевой момент, ради которого то все и было затеяно: используется не параллельная физическая шина, а последовательная, состоящая из 2-х пар проводов (одной передачи и одной на прием) и несколько нулевых. Всего семь. Провод которыми соединяются устройство последовательной ATA становится таким образом тонким и круглым, гибким и удобным в использовании, не препятствует воздухообмену. С другой стороны, изготовление провода функционирующего на столь высоких скоростях, как у Serial ATA, и при этом обладающего высокими механическими характеристиками, пусть и содержащего всего 7 проводов, обходится вряд ли дешевле, чем обычного 80-ти жильного. И если где-то и содержится возможность снижения стоимости пользования, как обещано разработчиками изначально, то вряд ли здесь. Зато безусловно задача согласования (терминирования) решается теперь намного дешевле. А длина кабелей может достигать 1 метра. SATA может быть не только интерфейсом внутренних устройств хранения, но и внешнихК тому же в стандарте SATA предусмотрена поддержка технологии «hot swap» (использование дисков с горячей заменой), которая уже давно используется в дорогих серверных SCSI-дисках, а с появлением устройств Serial ATA станет стандартом для всех устройств хранения данных.