[t13] 04-136r0.pdf SCSI to ATA Command Translations
Pat LaVarre
p.lavarre at IEEE.org
Fri Jun 4 10:44:06 PDT 2004
* From the T10 Reflector (t10 at t10.org), posted by:
* Pat LaVarre <p.lavarre at ieee.org>
*
Further thoughts at the next deeper level of detail ...
> 3. COMMAND, RESULTS AND TRANSLATIONS
> ...
> 3.10.2 Read CDB format and supported fields.
> 3.11.2 Write CDB format and supported fields.
> () DPO (Disable page out) Ignored.
> () FUA (Force Unit Access) Supported with NCQ targets.
> For non NCQ drives do we need
> to send a cache flush to force unit access?
Rumour, be it truth or slander, says massively distributed host binaries
- Windows in particular - gets unhappy unless the device implements DPO
and FUA. The details I don't know.
> 3.15 Seek (06, 10) Command (0Bh, 2Bh)
> complete with success.
> No commands are sent to the ATA device.
I vote instead execute as if op x00 "TEST UNIT READY", which does
sometimes fail.
> 3.16 Rezero Unit (06) Command (01h)
'I vote instead execute as if op x00 "TEST UNIT READY", which does
sometimes fail.'
> 3.1.2 SCSI INQUIRY CDB format and supported fields
> EVPD ... Only ...
> Supported VPD pages (00h) and
> Unit serial number (80h).
When translating to Compact Flash ATA, do we want to pass thru the media
serial number as well?
Personally I only know enough to ask the question. Because Compact
Flash is a more or less detachable drive, I ask do they report having a
unit or a media serial number. The answer, I don't know. I hear
changing unit serial numbers has consequences e.g. changing Win drive
letters.
> 3.1.2 SCSI INQUIRY CDB format and supported fields
I mis/remember MMC requires a zero in the byte 2 Version field of op x12
"INQUIRY" data ... compatibility there could force us to pay attention
to how to report version in the standard bytes that follow the
vendor-specific bytes out past offset x24.
> 3.2 Read Capacity (10) Command (25h)
> () BLOCK LENGTH IN BYTES
> This value is currently set to 512 bytes,
> which is the standard sector size for disk drives.
I see us taking the chance to try to fix the bytes/LBA at 0.5 Ki, like
MMC fixed the bytes/LBA at 2 Ki, shutting out the (empty set of?) ATA MO
folk.
I like that.
> For the Read(12) command, if the size
> TRANSFER LENGTH field is greater than 16
> bits, then the command will terminate with a
> check condition where the sense key set to
> illegal request and additional sense code set
> to invalid field in CDB.
I like that. I independently reached that conclusion and shipped that
solution once, together with a comment something like "Comdex, 1996,
nothing so permanent as a temporary kluge". So far as I know, noone
ever returned to that code to kick up the max LBA's/CDB past xFFFF.
Pat LaVarre
*
* 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