360014937
Copyright © 2000 Toshiba corporation. All rights reserved.
-
619 -
11.1 PIO data in commands
Commands for this class are:
•
IDENTIFY DEVICE
•
READ BUFFER
•
READ LONG (with and without retry)
•
READ SECTOR(S) (with and without retry)
•
READ MULTIPLE
•
SMART Read Attribute Values
•
SMART Read Attribute Thresholds
PIO data in protocol:
a) The host writes any required command parameters to the Features, Sector Count, Sector Number, Cylinder
High, Cylinder Low and Device/Head registers.
b) The host writes the command code to the Command register.
c) For each sector ( or block ) of data to be transferred:
1) The drive sets BSY bit and prepares to transfer a sector (or block) of data to the host.
2) When a sector (or block) of data is available for transfer to the host, the drive sets the DRQ bit and clears
the BSY bit and asserts INTRQ.
3) After detecting INTRQ, the host reads the contents of the Status register.
4) The drive negates INTRQ in response to the Status register being read.
5) The host reads a sector (or block) of data via the Data register.
6) In response to a sector (or block) of data being transferred, the drive clears the DRQ bit.
d) For Read Long command, the execution will be as follows.
1) The drive sets the BSY bit and prepares to transfer the data to the host.
2) When a sector (or block) of data is available for transfer to the host, the drive sets the DRQ bit and clears
the BSY bit and asserts INTRQ.
3) After detecting INTRQ, the host reads the Status register.
4) The drive negates INTRQ in response to the Status register being read.
5) The host reads a sector (or block) of data via the Data register.
6) After the sector has been transferred to the host, the drive clears the DRQ bit.
7) When ECC data is available for transfer to the host, the drive sets the DRQ bit and clears the BSY bit.
8) In response to the DRQ bit being set, the host reads ECC data (8 bit) via the Data register.
9) After the ECC data has been transferred to the host, the drive clears the DRQ bit .
The Read Multiple command transfers one block ( the number of sectors defined by the Set Multiple
command ) of data for each interrupt. The other commands transfer one sector of data for each interrupt.
If the drive detects an invalid parameter in register setting, the drive clears BSY bit and sets the ERR bit in
the Status register and sets ABRT bit in the Error register and asserts INTRQ in order to terminate the
command execution.
If an uncorrectable error occurs, the drive will set DRQ bit and clear BSY bit and set ERR bit and stores the
error status in Error register and address the information of the error sector to Sector Number, Cylinder High,
Cylinder Low and Device/Head registers and asserts INTRQ.
If uncorrectable data error ( the UNC is set ) occurs, the drive will transfer a sector of the defective data to
the host. If the others error occur, the contents of the data to be transferred shall not be ensured. In both
cases, the host should complete transfer of the sector of data in response to INTRQ being asserted. In case
of Read Multiple command, the host should complete transfer of a block of data which includes the sector
with defective data.