從統計發現,ata cmd這一篇有很高的點擊率。我想原因很簡單,畢竟會玩這個的圈子應該不大,有也屬於fw居多,畢竟fw與sw要互相搭配,這cmd才有意義。最近開發遇到一些legacy code,遇見ATA的學長SCSI,但SCSI畢竟比較年長,相關資料也比較多,所以今天僅分享,CDB這塊array在玩什麼。

ata cmd這篇,可以看到Microsoft已經把cmd把裝得滿簡單的。如果回到SCSI,你會需要處理byte 0, 1, 2這三個,尤其是在Linux平台上你更需要注意。

從bus演進可以看出來到處都可見scsi,這是有歷史的設計,尤其可以看到電腦驅動的logo,那個就是scsi。但後面出現ata甚至到現在的nvme。其實向下相容設計本來就是一項基本,因此越老越舊的平台或OS都可見scsi cmd的影子而且你一定找不到ata,因此從開發角度來看,把握一點scsi cmd格式,在開發與除錯上可以得到不錯的相容性反應。