This message is from the T13 list server.


Pat,

Once again, in at least UDMA I cannot see how the host can ever get an
overflow from the ATA bus (excluding the odd byte issue, which we agree is
an overflow for both PIO and DMA since you have to rad an even number of
bytes from the ATA bus).  If you are seeing multiple words overflowing, I'm
still thinking it is a system issue not resolvable by the ATA standard.

Put another way, nothing we can do can prevent host hardware and software
from trashing their buffers.

Jim


-----Original Message-----
From: Pat LaVarre [mailto:[EMAIL PROTECTED]]
Sent: Monday, April 15, 2002 11:51 AM
To: [EMAIL PROTECTED]
Subject: Re: [t13] ATAPI DMA


This message is from the T13 list server.


That's very interesting, thank you.

At the T10 Sam level, there are two ways to resolve the problem of devices
accessing more bytes of host memory than they should:

1) Teach the host to allocate enough extra bytes.
2) Teach the host to copy just the correct number of bytes.

Clearly Microsoft has chosen method (2) - per the easily reproducible traces
of:
http://members.aol.com/plscsi/scsinotq.html

Now let's suppose other folk have chosen method (1).

Do we benefit if we support the Microsoft implementation as an option in the
public standard?

Device folk do.  Maybe host folk don't?


x4402 Pat LaVarre   [EMAIL PROTECTED]
http://members.aol.com/plscsi/


>>> Harlan Andrews 04/15/02 11:16AM >>>
This message is from the T13 list server.


On 4/15/02, Hale replied to Pat 
>
>....
>
>Lets see your proposal.
>
>But let me make a try at it...
>
>Hale's proposal follows: Should Hale get a document number???
>
>....
>

NO!!!

In my opinion, no change is required, because I still don't see anything 
broken.  The example Pat has given is for the Inquiry command, where the 
additional length field is in byte 5 of the returned data.  As Hale 
explained, Host suppliers have no problem accepting 6 bytes when they 
only needed 5 bytes.  Better yet, they usually REQUEST six bytes even 
though they only need 5 bytes.  The hosts ALWAYS leaves room in their 
buffers for that extra byte.  And there is ONLY 1 extra byte for 16 bit 
transfers, regardless of the transfer mode -- PIO, SWDMA, MWDMA, UDMA -- 
all the same.

The only thing I would propose is to explicitly tell the device suppliers 
to round the byte count UP to the next word size and explicitly warn the 
host suppliers to allow room in their buffers to accomodate the 
'round-up' to the next word boundary.  Again, better yet, the host can be 
advised to simply round the byte count up in the CDB (in case the device 
rounds down).

...Harlan

Reply via email to