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