[SBP3] alignment preferences of Scsi over FireWire

Pat LaVarre LAVARRE at iomega.com
Mon May 5 14:54:00 PDT 2003


* From the T10 Reflector (t10 at t10.org), posted by:
* "Pat LaVarre" <LAVARRE at iomega.com>
*
[ BC t10 at t10.org ]

> > I have heard rumours of a coordinated Apple/
> > Microsoft effort to let a 1394 device declare
> > that it works best with a four-byte-aligned
> > physical address, but I don't know anything more
> > specific than that. 
>
> From: Peter Johansson [mailto:PJohansson at acm.org] ...
>
> Because an SBP-3 target uses Serial Bus block read
> and block write requests to transfer data and
> because these requests, by definition, accept
> arbitrary byte alignments and lengths, it is not an
> undue requirement to expect SBP-3 targets to
> operate correctly with arbitrarily aligned buffers.

It may not be undue but it was unrealistic.

That which ain't tested commonly don't work.  I haven't heard of any commercial Windows app other than QuickTime that commonly triggers a 1394 bus trace with physically misaligned addresses.  Anybody know of more?

Does SBP-3 differ significantly here from the "SBP-2 Normative Annex B", which I've been told is what Scsi over FireWire was?

> This simply adds complexity to initiator
> implementations for little practical value.

I can't explain why some 1394 device folk think arbitrary alignment of data is rude, but I know some do.

Ways I know this include having written some (ugly) code to make arbitrary alignment easy to try, specifically the `--align $page $offset` and `--data $length` of:
http://members.aol.com/plscsi/syntax.html

We could volunteer a number of us to try that code with a random sampling of devices, and see how quickly we find a broken device.  Me, the first device I tried failed to qualify in just this way, but maybe I'm just unlucky.  I'd believe it was just me, except I'm told that Apple & Microsoft are large enough so that one part can be learning to tolerate such devices while another part is still saying such tolerance should never be standard.

Me, when I write an app, not only do I align my data, but I allocate extra memory at the end, memory that only mostly goes unused.

> What does "works best" translate to?

I think the only politically correct translation of "works best" is "streams faster".  I said "works best" instead to leave room for more creative realities.

I can easily credit Mike Berhan's assertion that few apps bother to notice plug 'n play hints that define polite alignment.  Me, I figure the driver should double-buffer any app data that isn't already politely aligned.

> ...

I didn't mean to be unclear, I'm not sure what was wrong with my English.  "Works best" when aligned means keep things aligned if you want things to just plain work, let them go misaligned if you enjoy surveying for incompatibility.  But we all knew that already, right?  Are we in violent agreement?

Pat LaVarre

-----Original Message----- 
From: Peter Johansson [mailto:PJohansson at acm.org] 
Sent: Fri 5/2/2003 5:29 PM 
To: SBP-3 
Cc: NCITS T10 
Subject: RE: [T10] SBP 1394 hard drives hang with Windows XP (rare)


* From the T10 Reflector (t10 at t10.org), posted by: 
* Peter Johansson <PJohansson at ACM.org> 
* 
At 09:58 AM 5/2/2003 -0600, Pat LaVarre wrote: 

>I have heard rumours of a coordinated Apple/ Microsoft effort to let a 
>1394 device declare that it works best with a four-byte-aligned physical 
>address, but I don't know anything more specific than that. 

No proposal remotely similar to this rumor was brought forward by either 
Apple or Microsoft during the development of SBP-3. If there was credible 
interest in this idea, the SBP-3 working group would have been the place to 
discuss it. 

It's not a particularly good idea. What does "works best" translate to? 
Doesn't work at all with other alignments? This simply adds complexity to 
initiator implementations for little practical value. Because an SBP-3 
target uses Serial Bus block read and block write requests to transfer data 
and because these requests, by definition, accept arbitrary byte alignments 
and lengths, it is not an undue requirement to expect SBP-3 targets to 
operate correctly with arbitrarily aligned buffers. 

 

Regards, 

Peter Johansson 

Congruent Software, Inc. 
98 Colorado Avenue 
Berkeley, CA  94707 

(510) 527-3926 
(510) 527-3856 FAX 

PJohansson at ACM.org 


 

*
* 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