This message is from the T13 list server.


Pat,

Why are you worried about this case at all?  If you have a Bad Media problem
the command ends in error.  It makes no difference at all how many bytes
were transferred - if you want to complete the command successfully, you
have to re issue the command anyway.  

Once again, it is a difference at a low level of the protocol that is
irrelevant at the higher level protocol (since in this case an error blows
away everything anyway), and so is not an issue.  

I literally cannot imagine a situation where this should cause a problem.

Jim


-----Original Message-----
From: Pat LaVarre [mailto:[EMAIL PROTECTED]]
Sent: Monday, December 17, 2001 8:54 AM
To: [EMAIL PROTECTED]
Subject: RE: [t13] a PIO example


This message is from the T13 list server.


> "Mcgrath, Jim" <[EMAIL PROTECTED]> 12/14/01 05:37PM
> ... As ... I keep on pointing out, 
> you're trying ... something that just is not needed.

Again I find your remarks consistently helpful, thank you again for your
patience.

Maybe I've been having trouble distinguishing a claim that noone should care
from a claim that people can't reproduce my results.  Please feel free to
include technically redundant language to help me make this distinction.

> If the host is sending you more bytes
> than you should have for the command,
> then it is a bad host (as Hale would say).

I wonder if this English is slippery in exactly the right spot?

Let's try the example Scsi Cdb of x 2A 0 00:00:00:00 0 00:12 0 i.e. a write
of the x12 blocks at Lba 0.

If, out of band, the host and device have mutually agreed that each block
contains x200 bytes, then yes only a Bad Host will move out more than x12 *
x200 = x2400 bytes.

But now let's suppose the Bad Media refuses to let the device move more than
3 blocks.  And let's suppose our device, in Pio/SwDmw/MwDma modes,
accordingly moves just 4 * x200 = x800 bytes and then stops the transfer.

If we change to use merely standard Atapi UDma, now we see a difference.
Rather than x800 of x2400 bytes moving out, when connected at UDma33, we see
as many as x804 bytes move out.

To eliminate this difference, a device (here the receiver of clocks) can try
to pause at block boundaries ... but unless the host cooperates, for example
with a turnaround delay at block boundaries, in UDma more than x800 bytes
will move out.

Here we see Change.

And Change Is Bad, for interoperability - for plug 'n play beyond the latest
Windows, beyond the installed base of Windows, out into the wild world of
the Windows to come and the things that aren't Windows.

> "Mcgrath, Jim" <[EMAIL PROTECTED]> 12/14/01 05:37PM
> Since our products don't suffer any of these problems,
> I'll leave it to others to carry it on from there.

Over Christmas I hope to work on vanity-publishing precisely how to demo how
these issues arise with more and less direct Windows connections to an Ata
hard drives.

I agree an adequate workaround for not counting bytes accurately is to
accompany any inaccurate count with an ERR and to agree out-of-band that the
count of data moved with ERR doesn't matter.

Pat LaVarre


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

Reply via email to