read of zero is how vague really?

Pat LaVarre LAVARRE at iomega.com
Wed Feb 27 17:36:48 PST 2002


* From the T10 Reflector (t10 at t10.org), posted by:
* "Pat LaVarre" <LAVARRE at iomega.com>
*
> > Mike Berhan 02/27/02 11:55AM
...
> > In terms of sending down
> > your own custom CDBs,
> > or doing T10 compliance,
> > ... I just write my own code as needed).

I wonder if "everyone knows" this is exactly how you're Supposed to assess T10 compliance: "if you're not involved enough to want to roll your own code, please go away".

I know myself I got back into rolling my own code back when WinNT/2K/XP started to matter in the aftermarket.  One of the many incompatibilities of that line with Win9X/ME is TWO, count 'em, TWO new methods for sending Cdb's.

> > Mike Berhan 02/27/02 11:55AM ...
> > http://www.scsitools.com 
...
> Mcgrath, Jim 02/27/02 04:41PM ...
> Flexstar is a popular manufacturer
> of test equipment used by a lot of our customers.
> .. www.flexstar.com under applications

Thank you both.  I hope to pursue these further.

I wonder how impossible it is to discover how well the canned test suites here cover the x 08 00:00:00 00 0 case?

I had before heard of HDD OEMs using Flexstar - but I had wrongly heard Flexstar had gone out of business (and forgotten how to spell their name).  I guess they just killed off a product line that mattered to some friends of mine, I dunno.

> I'm sure there are other examples.

Anyone got some web search keys to suggest?

> On read errors,
> you can often induce then
> with excessive shock or vibration of the drive.
> It does not take much - the problem is in the timing.

Yes.

> ... you usually ... only periodically get an error.

Yes.

Life was less hard back before T10 killed off x3E/3F WriteLong with 64 bit Lba's.

> On the device you had problems with in 2001,
> was the internal translation in something like a bridge
> or the actual device itself?

This device was aftermarket, not OEM internal, so I can easily imagine the core was Ata and the connection was bridge-to-Ata.  It was all sealed up together in a box, so I can't easily say whose broken bridge-to-Ata it was.

I'm not sure I understand the question?  Tell me why we care which chip in the drive it is whose design flatly disregarded here one of the plainest requirements of the T10 specifications?

> HDDs are extremely high volumes
> qualified by a lot of customers
> - bridge vendors may not have
> to serve a similarly demanding market.

Interesting as always, thank you again.

I had heard Ata HDDs shipped in more than millions per design - do you mean to say that this is also true for HDDs that use some form of connection that is standardised by T10?

Pat LaVarre



>>> Mike Berhan 02/27/02 11:55AM >>>
* From the T10 Reflector (t10 at t10.org), posted by:
* "Mike Berhan" <mikeb at bidali.com>
*
Some thoughts below...

> * From the T10 Reflector (t10 at t10.org), posted by:
> * "Pat LaVarre" <LAVARRE at iomega.com>
> *
> 2) Did we just now mean to say there really are useful &
> commercially available t10-compliance test suites made by people
> still in business?
>
> Can anyone here post links to more specific references?  Links to
> happy commendations from a customer who already spent the money?
>
> Do we know specifically of still selling test suites useful
> enough to automagically notice if x 08 00:00:00 00 00 moved 0
> bytes rather than than x100 blocks?

We sort of have a product that does this, but perhaps not in the way you're interested in.  We capture and analyze CDBs being sent across SCSI, ATAPI, 1394, and USB bus architectures on Windows systems.  We can show you what the CDB is being sent, the bytes requested, the bytes returned, and quite a bit more.  Details are here:

http://www.bustrace.com 

15 day fully functional evaluation for those that are interested.

In terms of sending down your own custom CDBs, or doing T10 compliance, I personally have not used any such software (as I just write my own code as needed).  There is one product at http://www.scsitools.com that might be a match.  I remember seeing a couple of other packages but I don't know if they're still around.

Mike Berhan



>>> Mcgrath, Jim 02/27/02 04:41PM >>>

Pat,

Flexstar is a popular manufacturer of test equipment used by a lot of our
customers.  If you look at www.flexstar.com under applications you can see
that they offer test scripts that test for compliance that run on their
hardware.  I'm sure there are other examples.

On the device you had problems with in 2001, was the internal translation in
something like a bridge or the actual device itself?  I've never seen this
problem in the devices (for HDDs), although it is certainly possible that
there are bad bridge vendors out there.  Remember that HDDs are extremely high volumes qualified by a lot of customers - bridge vendors may not have to serve a similarly demanding market.


Jim


-----Original Message-----
From: Pat LaVarre [mailto:LAVARRE at iomega.com] 
Sent: Wednesday, February 27, 2002 7:57 AM
To: t10 at t10.org 
Subject: RE: read of zero is how vague really?


* From the T10 Reflector (t10 at t10.org), posted by:
* "Pat LaVarre" <LAVARRE at iomega.com>
*
> > Neither do I have Any Good Way
> > of measuring precisely how indeterminate is
> > the effect of x00 as the cdb[4] transferLength.
...
> > What's left in question then
> > is how unreal this paper claim is, among others.
...
> > What I'm sure about is that what is rare
> > works less well than what is common.

Sorry I was not more clear.  Here I am trying to share my personal history
of felt pain.  I do mean to be talking practice, not theory: real devices,
not paperware, actual flagrant disregard of the work of the T10 committee.
I am interested in getting a feel for how unique my experience of disregard
in the aftermarket is or is not.  Three points:


1) Here now I'm talking about summer 2001, not the ancient past.

Specifically then I saw a shipping hard drive move 0 bytes in response to
the cdb x 08 00:00:00 00 00 i.e. Read6 for x1:00 blocks.  This was an
aftermarket drive, not OEM'ed.  It may have had a Microsoft WHQL logo, I
don't remember.  The root cause was an inaccurate internal translation
between op x08 Read6 and op x28 Read10.

Equally creative Scsi interpretations observed in specific devices from
named vendors appear published in such places as
<http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/linux-usb/storage/unusual_de 
vs.h?only_with_tag=HEAD>.  There the word "hard" gets about five hits and
counting.


2) Did we just now mean to say there really are useful & commercially
available t10-compliance test suites made by people still in business?

Can anyone here post links to more specific references?  Links to happy
commendations from a customer who already spent the money?

Do we know specifically of still selling test suites useful enough to
automagically notice if x 08 00:00:00 00 00 moved 0 bytes rather than than
x100 blocks?

Me, before, I knew of just two such test suites, and the vendors for both of
those had since gone out of business.  Me, I was thinking that the
consistent failure of such people to make money made such a test suite a
fundamentally non-commercial exercise - a necessarily open source project.

For example, with source drawn from the web, I can see here that a Win98
connection to a Quantum Fireball SE4 moves in max(cdb[4], 0x24) bytes in
response to the cdb x 12 0 0 0 24 0 i.e. Inquiry for up to x24 bytes.  And
the first eight bytes - including the additionalLength at offset 4 - are
always zeroed.

I know to blame Microsoft rather than Quantum for this intensively creative
SPC interpretation - max where SPC says min, zero where SPC says
additionalLength - only because I believe the Quantum device here is purely
an Ata device, without Atapi support, so the interpretation of the cdb has
to be Microsoft's, not Quantum's.


3)

Agreed, people do the Right Thing more often when we make it easy.  Agreed,
all else being equal, static conditions are easier to test than dynamic.
Agreed, commodity storage devices by design make errors difficult to observe
- in particular, there has never been a standard for injecting write errors.
Agreed design to make dynamic behaviour match static behaviour is Goodness.

> all else being equal, static ... easier ... dynamic

I trust we agree all else being equal often isn't.  Examples of static tests
commonly difficult to perform include:

3a) Slow reads and unrecovered read errors.  Now harder to inject where we
want them, since for 64 bit Lba's we have decided to provide no standard
analogue to the ops x3E/3F Read/WriteLong.

3b) Having the first N commands be other than standard.

3c) Delaying or suppressing or corrupting auto sense.

...

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