IDE/ATA Command Set Summary =========================== +-----+--------------------------------------------+ | &00 | NOP | | &01 | | | &02 | | | &03 | CFA Request Extended Error Code | | &04 | | | &05 | | | &06 | | | &07 | | | &08 | Device Reset | | &09 | | | &0A | | | &0B | | | &0C | | | &0D | | | &0E | | | &0F | | +-----+--------------------------------------------+ | &10 | {Recalibrate} | | &11 | {Recalibrate} | | &12 | {Recalibrate} | | &13 | {Recalibrate} | | &14 | {Recalibrate} | | &15 | {Recalibrate} | | &16 | {Recalibrate} | | &17 | {Recalibrate} | | &18 | {Recalibrate} | | &19 | {Recalibrate} | | &1A | {Recalibrate} | | &1B | {Recalibrate} | | &1C | {Recalibrate} | | &1D | {Recalibrate} | | &1E | {Recalibrate} | | &1F | {Recalibrate} | +-----+--------------------------------------------+ | &20 | Read Sectors | | &21 | {Read Sectors} | | &22 | {Read Sectors} | | &23 | {Read Sectors} | | &24 | {Read Sectors} | | &25 | {Read Sectors} | | &26 | {Read Sectors} | | &27 | {Read Sectors} | | &28 | | | &29 | | | &2A | | | &2B | | | &2C | | | &2D | | | &2E | | | &2F | | +-----+--------------------------------------------+ | &30 | Write Sectors | | &31 | {Write Sectors} | | &32 | {Write Sectors} | | &33 | {Write Sectors} | | &34 | {Write Sectors} | | &35 | {Write Sectors} | | &36 | {Write Sectors} | | &37 | {Write Sectors} | | &38 | CFA Write Sectors Without Erase | | &39 | [CFA Write Sectors Without Erase?] | | &3A | [CFA Write Sectors Without Erase?] | | &3B | [CFA Write Sectors Without Erase?] | | &3C | [CFA Write Sectors Without Erase?] | | &3D | [CFA Write Sectors Without Erase?] | | &3E | [CFA Write Sectors Without Erase?] | | &3F | [CFA Write Sectors Without Erase?] | +-----+--------------------------------------------+ | &40 | Read Verify Sectors | | &41 | [Read Verify Sectors?] | | &42 | [Read Verify Sectors?] | | &43 | [Read Verify Sectors?] | | &44 | [Read Verify Sectors?] | | &45 | [Read Verify Sectors?] | | &46 | [Read Verify Sectors?] | | &47 | [Read Verify Sectors?] | | &48 | | | &49 | | | &4A | | | &4B | | | &4C | | | &4D | | | &4E | | | &4F | | +-----+--------------------------------------------+ | &50 | {Write Format} | | &51 | | | &52 | | | &53 | | | &54 | | | &55 | | | &56 | | | &57 | | | &58 | | | &59 | | | &5A | | | &5B | | | &5C | | | &5D | | | &5E | | | &5F | | +-----+--------------------------------------------+ | &60 | | | &61 | | | &62 | | | &63 | | | &64 | | | &65 | | | &66 | | | &67 | | | &68 | | | &69 | | | &6A | | | &6B | | | &6C | | | &6D | | | &6E | | | &6F | | +-----+--------------------------------------------+ | &70 | Seek | | &71 | {Seek} | | &72 | {Seek} | | &73 | {Seek} | | &74 | {Seek} | | &75 | {Seek} | | &76 | {Seek} | | &77 | {Seek} | | &78 | {Seek} | | &79 | {Seek} | | &7A | {Seek} | | &7B | {Seek} | | &7C | {Seek} | | &7D | {Seek} | | &7E | {Seek} | | &7F | {Seek} | +-----+--------------------------------------------+ | &80 | | | &81 | | | &82 | | | &83 | | | &84 | | | &85 | | | &86 | | | &87 | CFA Translate Sector | | &88 | | | &89 | | | &8A | | | &8B | | | &8C | | | &8D | | | &8E | | | &8F | | +-----+--------------------------------------------+ | &90 | Execute Device Diagnostic | | &91 | Set Geometry | | &92 | Download Microcode | | &93 | | | &94 | | | &95 | | | &96 | | | &97 | | | &98 | | | &9A | | | &9B | | | &9C | | | &9D | | | &9E | | | &9F | | +-----+--------------------------------------------+ | &A0 | Packet | | &A1 | Identify Packet Device | | &A2 | Service | | &A3 | | | &A4 | | | &A5 | | | &A6 | | | &A7 | | | &A8 | | | &A9 | | | &AA | | | &AB | | | &AC | | | &AD | | | &AE | | | &AF | | +-----+--------------------------------------------+ | &B0 | Smart | | &B1 | | | &B2 | | | &B3 | | | &B4 | | | &B5 | | | &B6 | | | &B7 | | | &B8 | | | &B9 | | | &BA | | | &BB | | | &BC | | | &BD | | | &BE | | | &BF | | +-----+--------------------------------------------+ | &C0 | CFA Erase Sectors | | &C1 | | | &C2 | | | &C3 | | | &C4 | Read Multiple | | &C5 | Write Multiple | | &C6 | Set Multiple Mode | | &C7 | Read DMA Queued | | &C8 | Read DMA | | &C9 | | | &CA | Write DMA | | &CB | | | &CC | Write DMA Queued | | &CD | CFA Write Multiple Withour erase | | &CE | | | &CF | | +-----+--------------------------------------------+ | &D0 | | | &D1 | | | &D2 | | | &D3 | | | &D4 | | | &D5 | | | &D6 | | | &D7 | | | &D8 | | | &D9 | | | &DA | Get Media Status | | &DB | | | &DC | | | &DD | | | &DE | Media Lock | | &DF | Media Unlock | +-----+--------------------------------------------+ | &E0 | Standby Immediate | | &E1 | Idle Immediate | | &E2 | Standby | | &E3 | Idle | | &E4 | Read Buffer | | &E5 | Check Power Mode | | &E6 | Sleep | | &E7 | Flush Cache | | &E8 | Write Buffer | | &E9 | | | &EA | | | &EB | | | &EC | Identify Device | | &ED | Media Eject | | &EE | | | &EF | Set Features | +-----+--------------------------------------------+ | &F0 | | | &F1 | Security Set Password | | &F2 | Security Unlock | | &F3 | Security Erase Prepare | | &F4 | Securoty Erase Unit | | &F5 | Security Freeze Lock | | &F6 | Security Disable Password | | &F7 | | | &F8 | Read Native Max Address | | &F9 | Set Max | | &FA | | | &FB | | | &FC | | | &FD | | | &FE | | | &FF | | +-----+--------------------------------------------+ Notes: {} indicates commands mentioned in early ATA/IDE documents but not in the T13 reference. [] indicated probable command reflections. IDE/ATA Status and Errors ========================= Error &80 Bad block &40 Uncorrectable data error &20 Media changed &10 Sector not found/ID mark not found &08 Media Change Requested &04 Abort &02 Track 0 not found/No media present &01 Address mark not found Status &80 Busy &40 Drive Ready &20 Drive Write Fault &10 Drive Seek Complete &08 Data Request &04 Error Corrected &02 Index pulse &01 Error in reg 1 &00 Ok