ATA 埠驅動程式概觀
注意
ATA 埠驅動程式和 ATA 迷你埠驅動程式模型未來可能會改變或無法使用。 相反地,我們建議使用 Storport 驅動程式 和 Storport 迷你埠 驅動程式模型。
除了 SCSI 埠驅動程式 和 Storport 驅動程式之外,Windows Vista 和更新版本的 Windows 作業系統還提供 ATA 埠驅動程式 (Ataport.sys) ,這是特別適合用於 IDE 控制器的儲存埠驅動程式。
ATA 埠驅動程式和其他系統提供的儲存埠驅動程式之間的最顯著差異是 ATA 埠驅動程式用來與其他驅動程式通訊的通訊協定。 所有其他系統提供的儲存埠驅動程式都會使用 SCSI 要求區塊 (SRB) 來與較高層級的驅動程式通訊,例如儲存類別驅動程式,以及迷你埠驅動程式。 ATA 埠驅動程式只會使用 SRB 與較高層級的驅動程式通訊。 為了與其迷你埠驅動程式通訊,ATA 埠會使用稱為 IDE 要求區塊的封包, (IRB) ,由 IDE_REQUEST_BLOCK 結構定義。 IRB 的設計比 SB 更適合 ATA 裝置的特性。
ATA 埠驅動程式與其他系統提供的存儲裝置驅動程式之間的另一個差異,是 ATA 埠驅動程式會從 SCSI 標準所定義的特定需求中防護 ATA 迷你埠驅動程式。 例如,ATA 埠驅動程式會使用 ATA 命令從 ATA 迷你埠驅動程式收集對等的 SCSI 感知資料、轉譯資料,使其符合 SCSI 感知資料格式,並將資料傳遞至較高層級的驅動程式,就像是 SCSI 感知資料一樣。 因此,ATA 迷你埠驅動程式不需要直接回應來自較高層級驅動程式的 SCSI 感知資料要求。
ATA 迷你埠驅動程式介面與 SCSI 埠驅動程式介面非常類似。 因此,如果您已經撰寫 SCSI 迷你埠驅動程式,您應該能夠輕鬆地瞭解如何撰寫 ATA 迷你埠驅動程式。 目前 ATA/ATAPI 技術的驅動程式,例如序列 ATA (SATA) ,應該使用更高的效能 Storport 迷你埠介面。
作業系統與 ATA 埠驅動程式一起提供預設 ATA 迷你埠驅動程式和預設控制器迷你驅動程式。 系統提供的預設驅動程式適用于大部分控制器硬體,強烈建議盡可能使用預設迷你驅動程式。