T10/04-262r0

Curtis Stevens curtis.stevens at wdc.com
Thu Aug 12 13:42:38 PDT 2004


* From the T10 Reflector (t10 at t10.org), posted by:
* "Curtis Stevens" <curtis.stevens at wdc.com>
*
Jeff

	I think you were actually looking at T10/04-262r0...

1. I don't think this addresses queuing very well.  In the scope I have
excluded queing from the support.  That does not mean that it can not be
made to work...
2. I agree with you.  However, I do not think the CDB can be separated from
the transport.  The transport has direction, transfer size, and other useful
bits of information.  I included the DMA bit because an ATA host need to
know to use DMA or PIO to transfer the data.  I have also included the DRQ
block size for PIO transfers.  I think that gives you all the information
you need to do the transfer.  That being said, if it would make things
easier to use,  I can remove the DMA bit in favor of a field that specs
protocol.  What do others think?


------------------------------------------------
Curtis E. Stevens
20511 Lake Forest Dr.  #C 214-D
Lake Forest, Ca. 92630
 
Phone: 949-672-7933
Cell: 949-307-5050
E-Mail: Curtis.Stevens at wdc.com

 -----Original Message-----
From: 	Jeff Garzik [mailto:jgarzik at pobox.com] 
Sent:	Wednesday, August 11, 2004 7:20 PM
To:	Curtis Stevens
Cc:	Sheffield, Robert L; t10 at t10.org; Forum at t13.org
Subject:	Re: [t13] SAT: Reminder - Teleconference Thur 8/12 9:00 AM
PDT

Curtis Stevens wrote:
>             Just a heads up, I posted a proposal (04-260.PDF) for 
> documenting how a SCSI command maps to an ATA command.

This is fantastic.  A standard method of ATA passthru is the last piece 
of the puzzle, WRT SCSI<->ATA translation, that Linux needed.  Thank you.

One problem, which appears to be easily correctable:

Any ATA passthru method must specify the command protocol:  DMA-In, 
DMA-Out, TCQ DMA-In, TCQ DMA-Out, PIO-In, PIO-Out, PIO-In-Mult, etc.

Rationale:

1) For standard ATA commands, a cumbersome (and unneeded) lookup table 
or C 'switch' statement is required to obtain the command protocol.

2) The low-level ATA driver has no idea how to execute a vendor-reserved 
ATA command without the command protocol.

My suggestion is to used the 'Reserved' byte for this data field.

The current Linux implementation of the "taskfile ioctl" (a.k.a. ATA 
passthru) includes the command protocol field.

	Jeff




*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org




More information about the T10 mailing list