Subject: Re: Configurating DSSI drives on MicroVAX 3400 (and 3300)
To: Andrew Sporner <andy.sporner@networkengines.com>
From: Chuck McManis <cmcmanis@mcmanis.com>
List: port-vax
Date: 10/10/2000 13:11:48
Andrew Sporner wrote:
> DSSI came out during my 8 year absence from Vaxland.  Could somebody help
> me out and tell me what the advantages were for DSSI?

Well, I've been doing research on them to help write the driver code and
from what I can tell there primary advantage is that DSSI is a true
"system" interconnect vs a "storage" interconnect. 

The drives themselves are called "ISE's" for "Independent Storage
Elements" and that is not a misnomer, they are in fact small computers
(as someone else mentioned they look like HSC units to the VAX) Because
the drive is independent there is no problem "sharing" a drive between
two host CPUs, everyone on the bus is a peer. 

When you establish communication with a drive you implicitly give it
your node ID. Then you send it packets (that are basically MSCP type
commands) and the drive takes care of the rest. What confused me at
first was that the MSCP driver for NetBSD sets up DMA buffers so that
the disk controller card can DMA data across the Q-bus into memory, this
is done very similarly except that the DSSI bus has what appears to be
"shared" memory. So nodes on the DSSI bus can DMA into this shared space
and the SII (and SHAC) chips take care of notifying the CPU when stuff
has arrived. This is how clustering works as well as the processors can
establish "mail boxes" in this shared space and talk to each other over
it. 

Because of this DSSI doesn't "care" what information is sent around, it
only takes care of delivering it and notifying the controller that it
arrived. The disks appear to expect MSCP type descriptors to "appear" in
the shared space and presumably clusters have something else that
appears in there.

SCSI on the other hand is completely targeted toward sending logical
blocks of data back and forth from the "initiator" to the "target." The
techniques for multi-initiator and multi-targets doesn't seem to be well
defined.

A description of DSSI is available in both the KA640 and KA660 technical
manuals, the description of MSCP is available in the UDA50 programmers
manual and the DEC patent on it. 

--Chuck