RK05 removable hard disk drive |
RK11 controller |
The RK05 is actually a family of disk drives.
The RK05 and the RK05J are removable hard disk drives, the RK05F is a fixed hard disk drive.
DIGITAL writes in the documentation that these drives are 'compact and lightweight'. Well, that depends on what you compare an RK05 to.
An RK05 or RK05J weighs 50 kg. and its dimensions are 19" (48 cm) wide, 10.5" (27 cm) high and 26.5" (67 cm) deep!
Compare this with a modern 3.5" floppy drive ... both drives accept a removable disk cartridge. The RK05/RK05J cartridge stores 2.5 Mbytes;
two 3.5" floppies store more than this.
Back to top |
|
The RK05 disk drive has a few variations. First, there is the RK05 and the RK05J drive. I do not know what the differences are. There is also an RK05/f, and this drive is almost identical to the RK05 disk drive ... The RK05/f is a "fixed-disk" drive, as the "/f" suggests. The removable pack is the same for both drives, but the RK05 cartridge is installed permanently in an RK05/f drive. The opening door with smoke-brown transparent plastic is replaced by a metal plate and the solenoid that locks the door when the drive is in operation (or without power) is removed. The cartridge is held in place by springs that are attached to the cartridge and the drive. As the cartridge is never removed from the drive the alignment is not lost, and this allows doubling the track density, and hence doubling the storage capacity. The heads in the RK05/f drive are different to facilitate this doubled track density. You can recognize these heads by the colour of the connectors at the end of the wires as these are blue, instead of white. |
The drive has two controls.
RUN/LOAD | When this switch is placed in the RUN position the following actions will occur if all interlocks are save.
|
---|---|
WT PROT | When is spring-loaded switch is momentary placed in the WT PROT position, the
WT PROT indicator is lit and write operations to the disk are not possible. Pushing this button will also turn the FAULT indicator off if it is lit. Pressing WT PROT a 2nd time turns the WT PROT indicator off and allows write operations to the disk. |
The drive has eight indicators.
PWR | The POWER indicator is lit when operating power is present. |
---|---|
RDY | The READY indicator is lit when the following conditions are met:
|
ON CYL | The ON CYLINDER is lit when the following conditions are met:
|
FAULT | The FAULT indicator is lit when 1. erase or write current is present without a WRITE GATE, or 2. the linear positioner transducer lamp is inoperative. The FAULT indicator turns off when the WT PROT switch is pressed or when the drive goes through a RUN/LOAD sequence. |
WT PROT | The WT PROT indicator is lit when 1. the WT PROT switch is pressed, or 2. the operating system sends a Write Protect command. The WT PROT indicator turns off when the WT PROT switch is pressed a second time or when the drive goes through a RUN/LOAD sequence. |
LOAD | The LOAD indicator is lit when the read/write heads are fully retracted and the spindle stopped rotating. |
WT | The WT indicator is lit when a write operation occurs. It turns off when the write operation terminates. |
RD | The RD indicator is lit when a read operation occurs. It turns off when the read operation terminates. |
Back to top |
The disk is hard-sectored and can be either 12 or 16 sectors per track. The diameter is 14 inches, and the cartridge contains a
single platter. The "12-sector" cartridge is used in the PDP-11 environment, and the "16-sector" cartridge (which is less common!)
is used in the PDP-8 environment. The same cartridge can be used in the RK05 and the RK05/f disk drive. If you remove the cartridge from an RK05/f drive and put it back in the drive you should do a (low-level) format. |
|
Back to top |
On the outer ring of the heads / moving coil assembly you can see a bracket that is fixed to this ring with one screw. Loosen the screw a few turns and put the bracket in such a way that it does not block the movement of the heads when they move out.
Note. Do not move the heads outward manually! When the heads are moved outward (without
a spinning disk) the heads will "slam" against each other, and damage can occur to the ceramic heads.
RK05f top cover | RK05f top cover and front removed | |
---|---|---|
RK05 head carriage locked | RK05 head carriage unlocked | |
---|---|---|
Back to top |
The RK05 disk drive needs proper alignment, in contrast to for example the RL01/RL02 disk drives. The RL01/RL02 disk drives use a cartridge that has servo tracks written on the platter, and a head reads this data and the positioner adjust the head carriage to keep the heads aligned on track.
The RK05 cartridge does not have these servo tracks, instead the drive relies on a correct aligment which must be done
when ever the drive has been disassembled, for example when the heads are replaced.
You need a special cartridge to do the alignment procedure.
Make sure that the drive is set "WRITE PROTECTED" before you slide this special (rare, expensive) cartridge in the drive. Also, make sure that the heads are clean! You do not want a head crash, and certainly not when the alignment cartridge is in the drive!
If you only have one RK05 disk drive, and do not care about being able to read other packs than the ones written
on your drive, you do not need any alignment. A drive with misaligned heads will read its own packs. You can see
the alignment as a sort of "interchange-ability alignment".
There are 2 screws for each head. One screw clamps the head tail into the positioner carriage. The other screw pushes
the head forward when you turn it in. The aligment steps are the following.
One other thing good to know is that the two heads are not the same!
There is a difference between "up" and "down" head and it has to do with the way the heads "fly" above the disk surface. The heads
need the correct amount of pressure toward the disk surface so that the flying height is correct. If the flying height is not correct,
you get low amplitude signals from the head (flying too high) or possibly head crashes (flying too low). For a head that flies above
the disk, gravitation and the head mounting springs push in the same direction. For a head that flies below the disk, gravitation pulls
the head away from the surface while the mounting springs push it to the surface.
Back to top |
If the drive has not been used for a long time, do the following steps to keep the drive in good shape.
Back to top |
The prevous paragraph explains the importance of clean heads, and how to keep them clean.
The RK05 disk drives have other components that need to be looked after for problemless operation. First and most important
is the absolute air filter. Over time, this filter gets filled with small dust particles and that will cause a drop of the
air flow. If the air flow is low you can use a vacuum cleaner to suck air through the filter in the opposite direction.
Of course, the replacement with a new absolute air filter is the best option ...
Do the following steps to check the air flow.
An other attention point in the RK05 disk drive are the NiCd batteries. These batteries supply the power for the emergency
head retract if the power to the drive fails. If you have a power failure, and these NiCd batteries are dead, the heads will
crash on the platter of the cartridge! So, check once a year if these batteries are still OK.
Do the following steps to check the NiCd batteries.
Back to top |
The RK11-D controller is a dedicated 4-slot system unit (backplane) and connects the following modules.
The RK11-D controller supports up to eight RK05 *logical* drives. There is a distiction between logical drive and physical drive. The physical drive RK05 or RK05J counts as one logical drive, but the physical drive RK05/f counts as two logical drives, of which the first logical drive has an even number assigned.
The connection from the RK11-D system unit to the first RK05 drive is the BC11A-xx cable.
This cable is also used to connect the other RK05 drives in the chain.
The BC11A-xx cable is available in several lengths which is indicated by the -xx suffix. The "xx" is the length of the cable measured
in feet. This cable is also used to connect UNIBUS system units in separate cabinets, and thus got the incorrect name "UNIBUS cable".
There is also an RK11-C controller. This controller is a lot larger, it has 4 rows of flip-chip cards, a separate power supply and
takes up 10.5" of rack space. The nice thing of this RK11-C controller is that it has a front panel with lots of "blinken"lights.
Looking at the rear side of the RK05 drive, the card cage is at the left side in the drive.
The two left-most slots are for connecting the BC11A cable DRIVE-IN and DRIVE-OUT. It does not
matter which slot you use for DRIVE-IN and DRIVE-OUT.
The last (or only) drive in the chain needs a terminator, and again, it does not matter in which slot you install the terminator
(DRIVE-IN or DRIVE-OUT).
The terminator module is the M930. It has resistors (discrete components or in DIL packages) to terminate the signal lines.
The first module, next to the two DRIVE-IN and DRIVE-OUT slots is the M7700. This module has a
small rotary switch that defines the physical drive number. For the RD11-D controller, the M7700 must be Rev. J or later.
There is also a RK11-D to QBUS adapter, called the RKV11, to connect RK05 disk drives in a QBUS-based system.
It is also a 4-slot back plane with 4 quad-height modules, of which 3 are the same as the modules in the RK11-D.
The fourth module, M7268, connects the 4-slot system unit to the QBUS. Here is a picture of that module.
I do not have this module, this picture is taken from an eBay auction. As far as I know the four blue BERG connectors connect to
a special cable. The other end of that cable is a dual-height card that goes into a QBUS slot.
Back to top |
Before you install the RK11 subsystem in the PDP-11, check the 2 modules that have configuration jumpers. M7257 (Bus Control) has
7 jumpers for the interrupt vector address and 8 jumpers for the subsystem start address. The interrupt vector is typically 220 (octal),
and the start address is 777400 (octal). Further, there are 7 jumpers on the M7257 that (when cut) inhibit the loading of a
particular programmable register.
On the module M7254 (Control Status) is the interrupt level jumper, which is typically BR5.
On the module M7255 (Disk Control) is a switch that sets the clock source. It should be set to AUTO for the
RK11 internal crystal clock.
More details to be added ...
Back to top |
The RK11 has 7 registers assigned to memory locations in the address space of the PDP-11. The default start address for the RD11 controller is 777400. The other registers are at consecutive word addresses, but note the gap between register 6 and 7!
address | mnemonic | register description |
---|---|---|
777400 | RKDS | RK11 Drive Status register (read only) |
777402 | RKER | RK11 Error register (read only) |
777404 | RKCS | RK11 Control Status register |
777406 | RKWC | RK11 Word Count register |
777410 | RKBA | RK11 Bus Address register (current memory address) |
777412 | RKDA | RK11 Disk Address register |
777414 | not used | |
777416 | RKDB | RK11 Data Buffer register |
bit | Designation | Description and Operation |
---|---|---|
00 - 03 | Sector Counter (SC) | These 4 bits are the current sector address of the selected drive. Sector address 00 is defined as the sector following the sector that contains the index pulse. |
04 | Sector Counter equals Sector Address (SC=SA) |
Indicates that the disk heads are positioned over the disk address currently held in the sector address. |
05 | Write Protect Status (WPS) | Set when the selected disk is in the write-protect mode. |
06 | Read/Write/Seek Ready (R/W/S RDY) | Indicates that the selected drive head mechanism is not in motion, and that the drive is readu to accept a new function. |
07 | Drive Ready (DRY) | Indicates that the selected disk drive complies with the following conditions :
|
08 | Sector Counter OK (SOK) | Indicates that the Sector Counter operating on the selected drive is not in the process of changing, and is ready for examination. If this bit is not set, the Sector Counter is not ready for examination, and a second attempt should be made. |
09 | Seek Incomplete (SIN) | Indicates that due to some unusual condition a Seek function connot be completed. Can be accompanied by
bit 15 of the RKER register (Drive Error). Cleared by a Drive Reset function. |
10 | Drive Unsafe (DRU) | Indicates that an unusual condition has occurred in the disk drive, and it is unableto properly perform
any operations. Reset by the LOAD/RUN switch to LOAD. If, when the switch is returned to RUN, the condition recurs, an
inoperative drive can be assumed, and corrective maintenance procedures should be begun. Can be accompanied by bit 15 of the RKER register (Drive Error). |
11 | RK05 Disk on Line (RK05) | Always set, to identify the selected disk drive as RK05. |
12 | Drive Power Low (DPL) | Set when an attempt is made to initiate a new function, or if a function is actively in the process
when the control senses a loss of power to one of the disk drives. Can be accompanied by bit 15 of the RKER register
(Drive Error). Reset by a BUS INIT or a Control Reset function. |
13 - 15 | Identification of Drive (ID) | If an interrupt occurs, these bits will contain the binary representation of the logical drive number that caused the interrupt. |
bit | Designation | Description and Operation |
---|---|---|
00 | Write Check Error (WCE) | Indicates that an error was encountered during a Write Check function as a result of a faulty bit comparison between disk data and memory data. Clears upon the initiation of a new function. This is a soft error condition. |
01 | Checksum Error (CSE) | Sets while performing a Read Check or a Raed function as a result of a faulty recalculation of the checksum.
Cleared upon the initiation of any new function. This is a soft error condition. |
02 - 04 | Unused. | |
The remaining bits of the RKER register are all hard errors, and are cleared only by a BUS INIT or a Control Reset function. | ||
05 | Nonexistent Sector (NXS) | Indicates that an attempt was made to initiate a transfer to a sector larger than 13 (octal). |
06 | Nonexistent Cylinder (NXC) | Indicates that an attempt was made to initiate a transfer to a cylinder larger than 312 (octal). |
07 | Nonexistent Disk (NXD) | Indicates that an attempt was made to initiate a function on a nonexistent drive. |
08 | Timing Error (TE) | Indicates that a loss of timing pulses for at least 5 µs has been detected. |
09 | Data Late (DLT) | Sets if during a Write or Write Check function when the multibuffer file is empty and the operation is not yet complete. Sets during a Read function when the multibuffer file is filled and the operation is not yet complete. |
10 | Nonexistent Memory (NXM) | Sets if memory does not respond with a SSYN within 20 µs of the time when the RK11 becomes bus master during an NPR sequence. Because of the speed of the RK05 Disk Drive, it is possible that NXM will be accompanied by bit 09 (Data Late). |
11 | Programming Error (PGE) | Indicates that RKCS 10 (Format) was set while initiating a function other than Read or Write. |
12 | Seek Error (SKE) | Sets if the disk head mechanism is not properly positioned while executing a normal Read, Write, Read Check, or Wite Check function. The control checks 16 times before flagging this error. A simple jumper change will force the control to check just once. |
13 | Write Lockout Violation (WLO) | Sets if an attempt is made to write on a disk that is currently write-protected. |
14 | Overrun (OVR) | Indicates that, during a Read, Write, Read Check, or Wite Check function, operations on sector 13 (octal), surface 1 of cylinder address 312 (octal) were finished, and the RKWC has not yet overflowed. This is essentially an attempt to overflow out of a disk drive. |
15 | Drive Error (DRE) | Sets if one of the drives in the system senses a loss of either AC or DC power and a function is either initiated or in process while the selected drive is not ready or in some error condition. |
bit | Designation | Description and Operation | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
00 | GO (write only) | Loaded by the operator. Causes the control to carry out the function contained in bits 01 through 03 (Function) of the RKCS register. Remains set until the control actually begins to respond to GO, which may take from 1 µs to 3.3 ms, depending on the current operation of the selected drive (to protect the format structure of the sector). | ||||||||||||||||||||||||||||||||||||
01 - 03 | Function (read/write) | The Function register, or function bits, are loaded with the binary representation of the function to be
performed by the control when a GO command is initiated. These bits are loaded by the program and cleared by BUS INIT. They
retain the function until altered by the program or cleared, enabling the user to continue from a soft error condition with GO.
| ||||||||||||||||||||||||||||||||||||
04 - 05 | Memory Extension (MEX - read/write) | Reserved for extended bus addresses used in conjunction with the RKBA register. This 2-bit counter increments each time the RKBA overflows. A bus DATO to these bits overrides any RKBA overflow. Loaded by the program and cleared by BUS INIT. Use of these bits is intended for systems equipped with a memory larger than 32K words. | ||||||||||||||||||||||||||||||||||||
06 | Interrupt on Done Enable (IDE - read/write) |
When set causes the control to issue a bus request and interrupt to vector address 220 if :
| ||||||||||||||||||||||||||||||||||||
07 | Control Ready (RDY - write only) | Indicates that the control is ready to perform a function. Set by INIT, a hard error condition, or by the termination of a function. Cleared by GO being set. | ||||||||||||||||||||||||||||||||||||
08 | Stop on Soft Error (SSE - read/write) | If a soft error is encountered when this bit is set, then
| ||||||||||||||||||||||||||||||||||||
09 | Extra Bit (EXB) | For the RK11-D and RK11-E, EXB is unused. | ||||||||||||||||||||||||||||||||||||
10 | Format (FMT - read/write) | FMT is under program control, and must be used only in conjunction with normal Read and Write functions. Used to format a new disk pack or to reformat any sector erased due to control or drive failure. Alters the normal Write operation, under which the header is rewritten each time the associated sector is rewritten, in that the head positioner is not checked for proper positioning before Write. Alters the normal Raed operation in that only one word, the header word, is transferred to memory per sector. For example, a 3-word Read function in Format mode will transfer header words from 3 consecutive sectors to 3 consecutive memory locations for software checking. | ||||||||||||||||||||||||||||||||||||
11 | Inhibit Incrementing the RKBA (IBA - read/write) |
Inhibits the RKBA register from incrementing during a normal transfer function. This allows data transfers to occur to or from the same memory location throughout the entire transfer operation. | ||||||||||||||||||||||||||||||||||||
12 | Unused. | |||||||||||||||||||||||||||||||||||||
13 | Search Complete (SCP - read only) | Indicates that the previous interrupt was the result of some Seek or Drive Reset function. Cleared at the initiation of any new function. | ||||||||||||||||||||||||||||||||||||
14 | Hard Error (HE - read only) | Sets when any of the RKER register bits 05-15 are set. Stops all control action, and processor reaction is dictated by bit 06 (IDE) of the RKCS register, until cleared, along with bits 05-15 of the RKER register, by INIT or a Control Reset function. | ||||||||||||||||||||||||||||||||||||
15 | Error (ERR - read only) | Sets when any of bit of the RKER register sets. Processor reaction is dictated by bit 06 (IDE) and bit 08 (SSE) of the RKCS register. Cleared if all bits in the RKER register are cleared. |
bit | Designation | Description and Operation |
---|---|---|
00 - 03 | Sector Address (SA) | Binary representation of the disk sector to be addressed for the next function. |
04 | Surface (SUR) | When active, enables the lower disk head so that operation is performed on the lower surface. When inactive, enables the upper disk head. |
05 - 12 | Cylinder Address (CYL ADDDR) | Binary representation of the cylinder address currently being selected. The largest valid address or number for the cylinder address is 312 (octal). |
13 - 15 | Drive Select (DR SEL) | Binary representation of the logical drive number currently being selected. |
Back to top |
If everything seems fine as seen from the PDP-11, but something is wrong at the drive's side, your first inspection would go to the M7255 module.
If the PDP-11 has problems (bus hang or crash), you would check the module M7257.
If the subsystem seems to work fine but you read the wrong data, check for a stuck databit on the module M7256.
The RK11/RK05 subsystem has the following diagnostics:
«-» | ZRKH(x) | RK11 / RK05F/J performance exerciser | |
«-» | ZRKI(x) | RK11 / RK05F/J utility package | |
«-» | ZRKJ(x) | RK11 / RK05F/J basic logic test #1 | |
«-» | ZRKK(x) | RK11 / RK05F/J basic logic test #2 | |
«-» | ZRKL(x) | RK11 / RK05F/J dynamic test |
Loading or toggling in this data enables the PDP-11 to boot from the RK05 disk. As this is a very short bootstrap,
you can impress all your friends by remembering the 9 instructions. Imagine their faces when you turn on the big PDP-11
system, flip the switches of the switch register, load a cartridge in the RK05 drive and say "Now we wait until
the drive has spun up". Then you load the start address and press the START switch. The physical appearance of the RK05 disk drive (the lights that flicker, and the view inside the drive) is very appealing, and almost leaves the same strong impression you get when you look at an open-reel tape drive in motion! This bootstrap is taken from the RT-11 V5.5 installation manual. |
* The start address is 001000. |
Back to top |