Операции SCSI-шины

 Рубрика: Интерфейс SCSI

После знакомства с основными концепциями и структурой SCSI-шины, рассмотрим поведение интерфейса во время его работы. Поскольку линии шины являются общими для всех подключенных к ней устройств, каждое устройство должно получить разрешение от других устройств на управление шиной. Такая попытка доступа к шине называется фазой арбитража. После того как устройство (например, SCSI-контроллер) получает управление шиной, оно должно установить контакт с устройством, с которым требуется осуществить обмен данными. Выбор устройства называется фазой выбора. После установки контакта может начинаться передача данных. В этой части главы детально описывается процесс установления контакта (согласование взаимодействия двух устройств) и передачи информации по SCSI-шине.
Арбитраж шины
Устройства должны согласовывать свои действия по доступу к SCSI-шине для получения управления над ней. Процесс согласования (фаза арбитража) начинается в период, когда шина свободна (отсутствуют сигналы BSY и SEL). Устройство начинает арбитраж, выставляя сигнал BSY и свою собственную линию идентификации ID (один из разрядов данных DO—D7, в зависимости от ID устройства). Если более одного устройства одновременно пытаются получить контроль над шиной, управление передается устройству с максимальным идентификатором ID1. Это устройство становится инициатором и посылает запрос исполнителю, выставляя сигнал SEL и ID требуемого устройства на шине данных D0-D7. Затем инициатор освобождает линию BSY, а исполнитель наоборот, выставляет сигнал BSY его как подтверждение своей готовности. После этого инициатор освобождает линию SEL и линию данных шины. Теперь может начинаться процесс передачи информации.
Передача информации
Выбранный исполнитель управляет Передачей данных и направлением передачи. Процесс передачи данных длится до тех пор, пока исполнитель не освободит линию BSY, что переведет шину в режим ожидания. Если блок информации подготавливается для передачи слишком долго, исполнитель может оборвать связь выдачей сообщения на разъединение. Позже будет предпринята новая попытка установления соединения с помощью новой процедуры арбитража и выбора устройства.
В период передачи данных инициатор сообщает исполнителю способ обработки команды и данных во время фазы выдачи сообщения. После этого во время фазы команды исполнителю выдается SCSI-команда. После пересылки команды происходит процесс передачи данных в течение фазы приема данных (data-in) и/или фазы выдачи данных (data-out). Во время выполнения команды исполнитель переуступает управление шиной инициатору. К примеру, исполнитель в процессе выполнения команды может запросить дополнительные данные от инициатора. После завершения обмена данными в течение фазы состояния исполнитель сообщает инициатору о результате выполнения команды (успешное или неуспешное завершение). Наконец* происходит завершение выполнения команды, когда в период фазы приема сообщения исполнитель посылает отчет о выполнении команды. Ниже приведен пример обмена данными по шине SCSI:
1. Фаза освобождения шины.
2. Фаза арбитража. Инициатор получает управление над шиной.
3. Фаза выбора. Выбирается требуемый исполнитель.
4. Фаза выдачи сообщения. Исполнитель настраивает процесс передачи данных.
5. Командная фаза. Происходит обмен командами между исполнителем и инициатором.
6. Фаза приема данных. Происходит обмен данными между исполнителем и инициатором.
7. Фаза состояния. Сообщается результаты обмена данными.
8. Фаза приема сообщения. Устройства сообщают, что обмен завершен.
9. Фаза освобождения шины. Система находится в режиме ожидания.