<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=KDA50_disk_controller</id>
		<title>KDA50 disk controller - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=KDA50_disk_controller"/>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=KDA50_disk_controller&amp;action=history"/>
		<updated>2026-05-08T08:54:00Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.1</generator>

	<entry>
		<id>https://gunkies.org/w/index.php?title=KDA50_disk_controller&amp;diff=31372&amp;oldid=prev</id>
		<title>Jnc: +New cat</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=KDA50_disk_controller&amp;diff=31372&amp;oldid=prev"/>
				<updated>2023-08-31T08:56:56Z</updated>
		
		<summary type="html">&lt;p&gt;+New cat&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 08:56, 31 August 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l61&quot; &gt;Line 61:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 61:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: QBUS Storage Controllers]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: QBUS Storage Controllers]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category: SDI Controllers]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki-wiki_:diff:version:1.11a:oldid:28091:newid:31372 --&gt;
&lt;/table&gt;</summary>
		<author><name>Jnc</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=KDA50_disk_controller&amp;diff=28091&amp;oldid=prev</id>
		<title>Jnc: Jnc moved page KDA50 to KDA50 disk controller: Formal DEC name</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=KDA50_disk_controller&amp;diff=28091&amp;oldid=prev"/>
				<updated>2022-11-06T23:14:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jnc moved page &lt;a href=&quot;/wiki/KDA50&quot; class=&quot;mw-redirect&quot; title=&quot;KDA50&quot;&gt;KDA50&lt;/a&gt; to &lt;a href=&quot;/wiki/KDA50_disk_controller&quot; title=&quot;KDA50 disk controller&quot;&gt;KDA50 disk controller&lt;/a&gt;: Formal DEC name&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 23:14, 6 November 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Jnc</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=KDA50_disk_controller&amp;diff=28090&amp;oldid=prev</id>
		<title>Jnc: Based on that of the UDA50, but checked with the manual</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=KDA50_disk_controller&amp;diff=28090&amp;oldid=prev"/>
				<updated>2022-11-06T23:14:02Z</updated>
		
		<summary type="html">&lt;p&gt;Based on that of the UDA50, but checked with the manual&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!-- [[File:UDA50-M7485.jpg|300px|thumb|right|UDA50 (second version) M7485 microprocessor card]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
The '''KDA50 disk controller''' is an intelligent [[device controller]] which connects up to four [[Standard Disk Interconnect#SDI Family of DSA Products|SDI disks]] to a [[QBUS]]. It uses a radial bus configuration instead of the conventional daisy-chain (serial) method; thus, there is a separate I/O cable going to each [[disk drive]]. Direct connection of the KDA50 to each drive maximizes subsystem availability.&lt;br /&gt;
&lt;br /&gt;
It consists of two [[DEC card form factor|quad]] cards, which a mounted in a QBUS [[backplane]] of a [[PDP-11]] or [[VAX]], and associated mounting hardware and cables. Dual [[microprocessor]]s on one of the cards execute independent microprograms to maximize subsystem throughput. Extensive [[buffer]]ing on the other card matches host computer [[bus]] capacities to the requirements of high density disk drives. Onboard [[diagnostic]] capability with fault reporting both to the host and through [[Light Emitting Diode|LEDs]] on the modules minimizes repair time.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[File:UDA50-M7486.jpg|300px|thumb|right|UDA50 (second version) M7486 SDI card]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
The two cards are referred to as the processor and SDI modules, according to their principal functions. They communicate with each other by means of two [[over the back]] [[flat cable]]s. Mounting hardware for the cables to the drives consists of locating brackets and bulkhead connectors for the shielded SDI cables leading from the drives to the KDA50's cabinet. An unshielded intra-cabinet SDI cable to run from the connectors to the KDA50 is provided with it.&lt;br /&gt;
&lt;br /&gt;
===Processor Module===&lt;br /&gt;
&lt;br /&gt;
The KDA50 processor module (M7164) contains two microprocessors, the pair being made up from two 12-[[bit]] microsequencers which share a 16-bit [[arithmetic logic unit|ALU]]. The two microprocessors execute interleaved independent microprograms from [[read-only memory|ROM]], also located on the module. One of the microprocessors, the QBUS microprocessor, handles transactions with the host computer and sets overall policy for KDA50 operation. The other, the drive microprocessor, handles interaction with the disk drives, including error recovery.&lt;br /&gt;
&lt;br /&gt;
The processor module performs all KDA50 interaction with the QBUS. It contains the two [[register]]s by which the KDA50 communicates with its host, and a [[DIP switch]] pack and a [[jumper]] (W1) for setting their addresses. Host software defines the [[interrupt vector]] address during KDA50 initialization.&lt;br /&gt;
&lt;br /&gt;
The processor module holds the standard QBUS data transfer [[integrated circuit|chips]], which perform cycle level transactions on the QBUS. To avoid interference with QBUS devices having limited buffering, the module contains a bus burst size parameter (called &amp;quot;burst rate&amp;quot; in the documentation) set by software, which sets the number of double-words transferred each time the KDA50 gains control of the QBUS; it can be set from 1 to 8, and defaults to 4.&lt;br /&gt;
&lt;br /&gt;
Four LED indicators on the processor module, together with four similar LEDs on the SDI module, report microdiagnostic detected failures, and indicate which part to replace.&lt;br /&gt;
&lt;br /&gt;
Finally, two other [[bus grant]] jumpers (W2 and W3) allow the KDA50 to be plugged into either a [[QBUS backplanes|Q/Q QBUS backplane]] or a [[CD interconnect|Q/CD]] QBUS backplane.&lt;br /&gt;
&lt;br /&gt;
===SDI Module===&lt;br /&gt;
&lt;br /&gt;
The KDA50 SDI module (M7165) is the physical connection to the disk drives. It conducts data and control transactions through two ribbon cable busses running between it and the microprocessor module.&lt;br /&gt;
&lt;br /&gt;
The SDI module contains [[terminator]]s for the SDI cables which connect the KDA50 to its drives. Since the SDI is a [[serial]] bus, parallel data in KDA50 buffer memory must be converted before being sent to a drive. This is done by two custom [[integrated circuit|LSI]] serialization/deserialization (SERDES) chips residing on the SDI module. On a write, the SERDES chips serialize data for transfer to the drive. On a read, they perform the opposite function. The SDI module includes switching logic for multiplexing the SERDES among the four drives that may be attached to the KDA50.&lt;br /&gt;
&lt;br /&gt;
Also located on the SDI module is the buffer memory. Consisting of 32 KBytes of [[static RAM]] with a word cycle time of 55 nanoseconds, the buffer memory is sufficient for 52 sector buffers (26 KBytes) plus a buffer for 20 host commands (plus one for immediate execution) and the data structures to manage both dynamically.&lt;br /&gt;
&lt;br /&gt;
A major data integrity feature of SDI drives is the 170 bit Reed-Solomon [[error-correcting code|ECC]]. This ECC has a correction capability of up to 8 10-bit error bursts in a single sector compared to the single 11-bit burst capability of conventional codes. Data passes through a custom LSI chip on its way to the drive, and the ECC is computed in real time. At the end of each sector, the chip supplies the 170 bit ECC to be written with the data. On a read operation, the ECC is both read and recomputed, and the chip supplies the miscompare pattern (if any). If error correction is required, drive microprocessor microcode performs it.&lt;br /&gt;
&lt;br /&gt;
==Registers==&lt;br /&gt;
&lt;br /&gt;
The KDA50 has only two [[register]]s:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! Register !! Abbreviation !! Address&lt;br /&gt;
|-&lt;br /&gt;
| Initialization and Polling Register    || KDAIP || 172150&lt;br /&gt;
|-&lt;br /&gt;
| Status/Address Register                || KDASA || 172152&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[address]]es given assume the standard base address (0172150); if this is changed, so will the addresses.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[UDA50 Disk Controller]]&lt;br /&gt;
&lt;br /&gt;
==Further reading==&lt;br /&gt;
&lt;br /&gt;
* ''KDA50 Service Manual'' (not online)&lt;br /&gt;
* ''KDA50 Field Maintenance Print Set MP-01423'' (not online)&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
&lt;br /&gt;
* [https://manx-docs.org/collections/hcps/kda5qug4.pdf KDA50 User Guide] (EK-KDA5Q-UG-004)&lt;br /&gt;
&lt;br /&gt;
[[Category: QBUS Storage Controllers]]&lt;/div&gt;</summary>
		<author><name>Jnc</name></author>	</entry>

	</feed>