Драйвер жесткого диска

Страница: 9/17

диска. Назначение портов второго диска аналогично первому.

Описание портов ввода-вывода

Порт 1F0h

Предназначен для обмена данными с внутренним ОЗУ контроллера, являющимся промежуточным звеном между оперативной памятью ПЭВМ и накопителем.

Порт 1F1h.

При чтении через этот порт можно получить информацию о последней возникшей ошибке:

7 6 5 4 3 2 1 0

ЪДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї

і і і 0 і і 0 і і і і Бит:

АДВДБДВДБДДДБДВДБДДДБДВДБДВДБДВДЩ ДДДД

і і і і і АД>0: 1=адресный маркер данных не

і і і і і найден

і і і і АДДДДД>1: 1=ошибка на нулевой дорожке

і і і АДДДДДДДДД>2: 1=выполнение команды прекра-

і і і щено программно, команда

і і і не завершилась

і і АДДДДДДДДДДДДДДДДД>4: 1=идентификатор сектора не

і і найден

і АДДДДДДДДДДДДДДДДДДДДДДДДД>6: 1=неисправимая ошибка в дан-

і ных, ошибка контрольной

і суммы

АДДДДДДДДДДДДДДДДДДДДДДДДДДДДД>7: 1=дефектный сектор

Порт 1F2h.

Чтение/запись числа секторов для последующей операции.

Порт 1F3h.

Чтение/запись параметра "номер сектора" для последующей

операции.

Порт 1F4h.

Чтение/запись старших битов номера цилиндра для последующей операции (биты 0 - 1 - это биты 8 - 9 в 10-битовом номере цилиндра).

Порт 1F5h.

Чтение/запись младших восьми битов номера цилиндра для последующей операции.

Порт 1F6h.

Чтение/запись номера устройства и головки для последующей операции.

Порт 1F7h (запись).

Вывод команды по управлению накопителем.

Порт 1F7h (чтение).

Чтение состояния накопителя и результатов предыдущей команды:

7 6 5 4 3 2 1 0

ЪДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї

і і і і і і і і і Бит:

АДВДБДВДБДВДБДВДБДВДБДВДБДВДБДВДЩ ДДДД

і і і і і і і АД>0: 1=предыдущая команда завер-

і і і і і і і шилась с ошибкой

і і і і і і АДДДДД>1: 1=сигнал "индекс"

і і і і і АДДДДДДДДД>2: 1=данные при выполнении пос-

і і і і і ледней операции были скор-

і і і і і ректированы при помощи

і і і і і алгоритма ECC

і і і і АДДДДДДДДДДДДД>3: 1=идет процесс обмена данными

і і і АДДДДДДДДДДДДДДДДД>4: 1=поиск завершен

і і АДДДДДДДДДДДДДДДДДДДДД>5: 1=ошибка записи

і АДДДДДДДДДДДДДДДДДДДДДДДДД>6: 1=устройство готово для чте-

і ния, записи или поиска

АДДДДДДДДДДДДДДДДДДДДДДДДДДДДД>7: 1=устройство занято выполне-

нием команды ( остальные

биты не несут смысловой

нагрузки)

Система команд

Код команды заносится в порт 1F7h после того, как подготовлены все параметры в портах 1F2h - 1F6h. Выполнение команды начинается сразу после занесения в порт 1F7h кода команды. Команда состоит из одного байта. Старшие 4 бита содержат код требуемой операции, младшие содержат параметры. Перечень команд с возможными значениями параметров приведен в таблице.

ЪДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї

і Код і Назначение і Параметры і

іоперацииі і і

ГДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ

і 1 і Рекалибровать (сброс і Период импульсов сигнала і

і і головок на цилиндр 0) і "шаг" і

ГДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ

і 2 і Чтение секторов і Биты, определяющие необходи-і

ГДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДґ мость повторных обращений і

і 3 і Запись секторов і к диску и повторных попыток і

ГДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДґ считывания при ошибках і

і 4 і Проверка секторов і контрольной суммы і

Реферат опубликован: 19/01/2009