5.4Command Protocol
The host should confirm that the BSY bit of the Status register of the device is 0 prior to issue a command. If BSY bit is 1, the host should wait for issuing a command until BSY bit is cleared to 0.
Commands can be executed only when the DRDY bit of the Status register is 1. However, the following commands can be executed even if DRDY bit is 0.
∙EXECUTE DEVICE DIAGNOSTIC
∙INITIALIZE DEVICE PARAMETERS
5.4.1Data transferring commands from device to host
The execution of the following commands involves data transfer from the device to the host.
∙IDENTIFY DEVICE
∙IDENTIFY DEVICE DMA
∙READ SECTOR(S)
∙READ LONG
∙READ BUFFER
∙SMART: SMART Read Attribute Values, SMART Read Attribute Thresholds
The execution of these commands includes the transfer one or more sectors of data from the device to the host. In the READ LONG command, 516 bytes are transferred. Following shows the protocol outline.
a)The host writes any required parameters to the Features, Sector Count, Sector Number, Cylinder, and Device/Head registers.
b)The host writes a command code to the Command register.
c)The device sets the BSY bit of the Status register and prepares for data transfer.
d)When one sector (or block) of data is available for transfer to the host, the device sets DRQ bit and clears BSY bit. The drive then asserts INTRQ signal.
e)After detecting the INTRQ signal assertion, the host reads the Status register. The host reads one sector of data via the Data register. In response to the Status register being read, the device negates the INTRQ signal.
f)The drive clears DRQ bit to 0. If transfer of another sector is requested, the device sets the BSY bit and steps d) and after are repeated.
Even if an error is encountered, the device prepares for data transfer by setting the DRQ bit. Whether or not to transfer the data is determined for each host. In other words, the host should receive the relevant sector of data (512 bytes of uninsured dummy data) or release the DRQ status by resetting.
Figure 5.2 shows an example of READ SECTOR(S) command protocol, and Figure 5.3 shows an example protocol for command abort.
5 - 76 |
|