Title: RE: [t13] doing a big favor

Hale

        The way IO and CD get used really depends on the design of the host.  Since there is no CRC or Checksum on the command you send to the drive, there is no real way to validate that the right hing is happening.  IO and CD give you at least some confirmation that the right thing is happening.  Further, if the host side is designed with independent state-machines to read data and to send commands the IO and CD bits become very important.  I am aware of some firmware that works this way...  The firmware is not broken because IO and CD are well defined in the specification as to how they operate during data transfers.

-----------------------
Curtis E. Stevens
Pacific Digital Corp.
2052 Alton Parkway
Irvine, CA 92606

Phone (949) 477-5713
Fax (949) 252-9397

E-Mail: [EMAIL PROTECTED]
WEB: www.PacificDigital.com

The face of a child can say it all, especially the mouth part of the face...


-----Original Message-----
From: Hale Landis [mailto:[EMAIL PROTECTED]]
Sent: Monday, February 11, 2002 9:32 PM
To: [EMAIL PROTECTED]
Subject: Re: [t13] doing a big favor


This message is from the T13 list server.


On Mon, 11 Feb 2002 08:56:59 -0700, Pat LaVarre wrote:
>This message is from the T13 list server.
>Seeing that C/D I/O = x03 StatusIn or x01 reset signature is the
>only way a host can distinguish a separately powered reset from a
>normal end-of-command.

Whoa!  This makes no sense.  What if the last command to the
ATAPI device was not a PACKET command?  What if it was an invalid
ATA command?  There is no IO or CD bits at the end of these
commands and it is unlikely that this 03H bit pattern would be in
the Sector Count register.  AND...  If an ATAPI device is "reset"
it should have a SK=6 ASC=2x Unit Attention error to report.

Are unexpected/unplanned "resets" really that much of a problem?
I have never heard an ATA hard disk vendors say this is a
problem.  If it was I am sure we would define a method for an ATA
hard disk to report the equivalent of SCSI SK=6 ASC=2x!

Your suggestion that a host should use the IO and CD bits to
detect a "reset" is a totally inappropriate use and perhaps even
an invalid use of the bits of the Sector Count register.

>Seeing that C/D I/O = x02 DataIn or x00 DataOut is the only way a
>host can discover which way the device wants to move data for a
>command not standardised before both the host and the device
>shipped.

I do not know of any host that can function properly if it does
not know the direction of data transfer for a command BEFORE the
command is issued to the device.  If a host doesn't know the
command is a "write" then where will it find the data the device
will request.  This use of IO and CD really makes no sense at all.

>Seeing that C/D I/O = x01 CommandOut is the only way a host can
>distinguish between a DRQ expected to move command out from a DRQ
>expected to move command out.

Clearly incorrect.  The first time an ATAPI device has status of
BSY=0 and DRQ=1 it is requesting the "command packet".  The host
NEVER needs to look at IO and CD to determine this state.



*** Hale Landis *** www.ata-atapi.com ***



Subscribe/Unsubscribe instructions can be found at www.t13.org.

Reply via email to