THIS SECTION IS UNDER CONSTRUCTION
TODO: Нужна большая детализация Собственно уровень физического диска в совокупности с портами и SCSILizeroм обеспечивает выполнение основных сценариев:
Инициализация: 1) В начале делается аппаратный сброс шины через контролер ну и таймаут соответсвующий 2) Затем пытаются выбрать устройства на шине 3) На устройстве запускают команду IDENTIFY IDE DEVICE эта команда использует PIO (то есть трансфер идет не через DMA). в результате получают информацию об устройстве IDE/SATA
Эта информация содержит размер устройства, какие режимы работы оно поддерживает, его геометрию (в ATA смысле). 4) Затем настраивают режимы работы контроллера (например UltraDMA) (С этим могут быть проблемы - например старые OS - которые не знают UltraDMA, не пытаются настраивать контроллер - в результате если в BIOS UltraDMA режим стоит по умолчанию, то у OS получается выполнить только IDENTIFY IDE DEVICE, а с остальными командами проблемы - особенно если это на VMware).
Инициализация: 1) В начале делается апаратный сбор шины 2) Затем сканируется шины и каждому устройству выдается 3) INQUIRY - что бы узнать что это за устройство 4) READ CAPACITY - что бы узнать количество блоков на устройстве и размер блока SCSI-like
Все это обрамляется командами TEST UNIT READY - потому что если Unit not ready - то нет смысла ему давать какую ниюудь команду.