<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Not just named buffers.  *Virtual* named buffers; the interface
      takes pointers to page tables (or, things that look like page
      tables in a couple of cases).  Process, system and global
      entries.  The only restriction is that all PTEs must be valid
      (e.g. buffers are virtually addressed, but must be resident) And
      interlocked queues shared with the host for commands and
      responses.  That's the full 2-stage interlock of the VAX queue
      instructions.<br>
    </p>
    <p>And yes, there are virtual circuits established between hosts and
      storage controllers. credit-based flow control.<br>
    </p>
    <p>CIport (host-CI) interfaces are among the most complex; they
      provide a mostly hardware-managed network stack.  The HSC does
      disk level optimization; responses (and partial buffer transfers)
      happen in any order, can be interleaved across the named buffers. 
      The HSC also has a command processor, and it's possible to do 3rd
      party IO, as well as physical backups.<br>
    </p>
    <p>LAVC replaces the PHY, more or less.  Don't forget TMSCP &
      DUP.</p>
    <p>There *is* microcode in the HSC - the K.xxx cards are 290x based
      (did the data moving) & had loadable microcodes.  The J11
      firmware (pdp-11 code) handles command decoding, scheduling, error
      reporting & the CLI.  But the data transfers are off-loaded to
      microded engines.   If you want to run the pdp-11 code, you need
      to emulate those devices too.<br>
    </p>
    <p>There is exception handling when one cable set breaks (don't
      remember exactly the division of responsibility); there are also
      dual port disks (across HSCs) for redundancy.</p>
    <p>That's just off the top of my head.  It's a non-trivial project. 
      Er, P.roject.  That's a very large 'P'.</p>
    <p>Could be fun.  But non-trivial.  And there are many layers of
      research required to get it right.<br>
    </p>
    <pre class="moz-signature" cols="72">
</pre>
    <div class="moz-cite-prefix">On 11-Mar-17 16:53, Paul Koning wrote:<br>
    </div>
    <blockquote
      cite="mid:88D479CB-BB80-4531-9690-B5B898D70EF6@comcast.net"
      type="cite">
      <pre wrap="">
</pre>
      <blockquote type="cite">
        <pre wrap="">On Mar 11, 2017, at 4:42 PM, Johnny Billquist <a class="moz-txt-link-rfc2396E" href="mailto:bqt@softjar.se"><bqt@softjar.se></a> wrote:

On 2017-03-11 22:33, Tim Stark wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">Yeah.

I believe so.  That is possible to replace CI/DSSI physical layer with UDP over IP multicast to embed SCS/MSCP packets to other hosts and HSCs at once.
</pre>
        </blockquote>
        <pre wrap="">
Of course this is doable. The network part itself is not even hard. The big work is actually implementing the CI controller emulation. Once you have the packet to send out, you just send it.
</pre>
      </blockquote>
      <pre wrap="">
It's probably not as easy as you might think.  As I mentioned, the CI protocol (SCA) is an RDMA protocol ("named buffers").  If you want to emulate CI, you'd have to emulate that, because the host code that talks to the CI expects that service, and the real CI interfaces provide it on the I/O card.  You could use the LAVC protocol spec (if there is one available) as inspiration, but it may be that LAVC doesn't provide the same application services as SCA does.

        paul


_______________________________________________
Simh mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Simh@trailing-edge.com">Simh@trailing-edge.com</a>
<a class="moz-txt-link-freetext" href="http://mailman.trailing-edge.com/mailman/listinfo/simh">http://mailman.trailing-edge.com/mailman/listinfo/simh</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>