de facto obsolete sbc-2 ops - 8Bh

Mcgrath, Jim Jim_Mcgrath at
Wed Feb 20 18:50:05 PST 2002

* From the T10 Reflector (t10 at, posted by:
* "Mcgrath, Jim" <Jim_Mcgrath at>

I think a lot of people just didn't like the functionality of SEEK since it
harkins back to the days of HDDs and controllers being separate.  i.e. you
use to have to SEEK to some cylinder, and then use another mechanism to
read/write.  With integrated controllers, you just do a READ or WRITE

With READ(10) a transfer length of 0 indicates no data transferred -
READ(16) will be the same.  That will serve for people who really need a
SEEK(16), although I think a lot of people will never change their code at
all (a lot of it is in manufacturing and test).


-----Original Message-----
From: Pat LaVarre [mailto:LAVARRE at]
Sent: Wednesday, February 20, 2002 8:25 AM
To: t10 at
Subject: de facto obsolete sbc-2 ops - 8Bh

* From the T10 Reflector (t10 at, posted by:
* "Pat LaVarre" <LAVARRE at>
> > Can we obsolete x8B?
> > On the theory that for some people 
> > this will be the Seek op for 64-bit Lba's?

> "Elliott, Robert" <Robert.Elliott at> 02/19/02 12:51PM
> ... opcodes are a rare commodity;
> we don't want to discard them
> just because the lower bits match
> some other opcode's lower bits
> (SEEK(6) at 0Bh and SEEK(10) at 2Bh).

Somebody please elaborate?

I missed the whole why not carry Seek forward beyond 2TiB @ 0.5KiB/block
discussion, back whenever it occurred?

I came to expect to see Seek(16) at x8B as follows:

1) I think I saw we Sbc folk have Read in 6, 10, 12, and 16 bytes forms at x
08 28 A8 88.  I saw we have Write at x 0A 2A AA 8A.  I saw we have
WriteVerify at x 2E AE 8E.  I saw we have Verify at x 2F AF 8F.  In contrast
to all this, I saw as yet we have Seek only at x 0B 2B.

2) I think I saw the significant distinction between the required x 28 2A
and the optional x A8 AA goes commonly unused in a commodity PC.  With x A8
AA we raise the max block count above xFF:FF, aye.  But we don't raise the
max expressible Lba and we don't alter the deeply regrettable fact that
Wintel favours block counts of x00:80 and below.

3) The main point I saw in progressions like x 08 28 88 was to raise the
maxLba expressible from x1F:FF:FF (1GiB @ 0.5KiB/block) to xFF:FF:FF:FF
(2TiB) to xff:ff:ff:ff:FF:FF:FF:FF.

Thus I came to expect to see Seek(16) at x8B, for devices that store more
than 2TiB @ 0.5KiB/block,

If people aren't putting Seek(16) there, where are they putting it?  Out
among the ops whose Cdb length's are less determinate?  That's hard to
credit: those ops are hard to transport across platforms.

> 16-bit opcodes are a rare commodity;

Somebody help me out with terminology here?  I got lost in the "16-bit
opcodes" part.

Unless corrected I'll take this English to mean to say that the ops x00..FF
are a precious resource.  Most precious are the ops that are not
vendor-specific yet but still have long established Cdb lengths i.e. x00..5F
A0..BF.  Next most precious are the not vendor-specific ops of newly
specified Cdb length i.e. x7F..9F.

I thought the original Scsi had "8-bit" ops but x7F is an escape op that
gives us a fresh new "16-bit" op space aka the "service action" sub-op.

> opcodes are a rare commodity;

I count myself as a language lawyer.  I find specs, I buy a copy of the
official draft (I even have an official Scsi 1), I read the specs, I try to
understand the specs ... all sometime before/as I code an implementation.

I haven't really "read" the Sbc docs - but on my first glance, it seemed to
me that x8B was quietly left out.

I'm given to understand a lot of people in our business are less careful -
which makes me think x8B is going to be Seek(16) whether we like it here or
not.  If that's true, then we'd do better to admit that up front than to try
and patch up life later.

> opcodes are a rare commodity;

Maybe we should make x8B Vendor-Specific rather than Obsolete, so device
folk get at least one 16 byte Cdb they can use for whatever purpose?  I
think I see the July 2001 rev 4 Sbc-2 makes vendor-specific only Cdb's of 6,
10, and indeterminate byte length?

Pat LaVarre

> I count myself as a language lawyer

Courtesy <>
we know: ... 'A language lawyer is distinguished by the ability to show you
the five sentences scattered through a 200-plus-page manual that together
imply the answer to your question "if only you had thought to look there"

But the t10 texts I don't (yet?) know well.

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

More information about the T10 mailing list