This message is from the T13 list server.

kepler said:
> This message is from the T13 list server.
> All commands which use Data register for data transfer use only DD[7:0]
> in 8-bit PIO transfer mode.

Correct. Remember that only CF devices support 8-bit PIO data transfer. In
general other ATA/ATAPI devices that are not CF do not implement 8-bit PIO
data transfer mode.

> DMA commands use the 16-bit Data port to transfer data. for devices not
> implemented with PACKET feature set.

All ATA and ATAPI (and CF) devices use the 16-bit Data Port to perform DMA
transfers (Multiword DMA or UltraDMA).

> I want to make sure that whether DMA commands should be accepted or
> aborted in CFA devices with 8-bit PIO data transfer mode enabled.
> According to section 6.2.1.15 on page 130 of "CF+ and CompactFlash
> Specification Revision 3.0", it mentinos that "When a Read DMA command
> is received by the Card and 8 bit transfer mode has been enabled by the
> Set Features command, the Card shall return the Aborted error".

This is correct - And I was incorrect in a previous email when I said that
DMA commands were 'legal' when a CF device was in 8-bit PIO data transfer
mode.

> I think the PIO Word Data Register and DMA Word Data Register described
> on page 99 of CFA3.0 spe. correspond to Data Port and Data register
> described on page 65 of ATA/ATAPI-6, respectively.

Correct.

> The architecture
> between CFA and ATA devices are pretty similar.

A CF device in TrueIDE mode is exactly identical to any ATA/ATAPI-x hard
disk drive device. In fact some CF devices really are hard disk drives
(and not flash memory devices that look like a hard disk drive). A CF
device has all the same ATA registers, the same ATA command protocols and
mostly the same ATA command set (R/W SECTORS/MULTIPLE/DMA, SET FEATURES,
IDENTIFY, etc).

> The purpose of 8-bit
> data transfer mode is for the compatibility of old host controllers
> which have only 8-bit data bus width to access devices.

CF device have an 8-bit data transfer mode because a CF device is really a
PCMCIA PC Card ATA device and when a CF is operating in a PCMCIA interface
mode it must support 8-bit data transfers. This same feature was included
in the CF TrueIDE mode but has rarely been used. There is much history
here going back 15 years that I will not include in this email.

> ATA/ATAPI-6 specficiation does not have the specific descriptions for
> the handling of DMA commands in 8-bit mode for devices supporting the
> CFA feature set, but CFA 3.0 specification does abort DMA commands in
> 8-bit mode.

Remember that for CF devices the CFA specification 'overrides' the
ATA/ATAPI-x standards. CF devices must conform to the CF specification in
other to qualify to use the CFA's CF logo. Of course we would all like the
ATA/ATAPI-x and CF documents to be in agreement but that is difficult
given that the documents are generated by different organizations with
little overlap in membership.

> Is DMA READ command aborted or DD[15:0] bus used for data transfer when
> the ATA device receives the DMA READ command with CFA 8-bit transfer
> mode enabled?

The ATA device you describe would need to be a CF device operating in
TrueIDE mode. In this case, and to conform with the CF specification, the
device would abort the DMA command when the device was in 8-bit PIO data
transfer mode. It is unlikely that you will find any ATA devices (other
than CF devices) that implement 8-bit PIO data transfers.

Hale

--
Hale Landis -- [EMAIL PROTECTED]

Reply via email to