Skip to content

Page 1

NORD-10/HAWK — Disk Controller

NORSK DATA A.S.

[Photo: dark cover with a white label and rows of circular perforations.]


Page 2

NORD-10/HAWK—

Disk Controller


Page 3

ii

REVISION RECORD

Revision Notes
03/76 Original Printing

NORD-10/HAWK – Disk Controller
Publication No. ND-11.010.01

[Logo: stylized “NDB” dot-matrix logo]

A/S NORSK DATA-ELEKTRONIKK
Lørenveien 57, Oslo 5 - Tlf.: 21 73 71


Page 4

iii

TABLE OF CONTENTS

          + + +
            +
Section Page
1 NORD-10/HAWK PROGRAMMING SPECIFICATIONS 1–1
1.1 Disk Device Register Addresses 1–1
1.2 Read Block Address 1–2
1.3 Preparing for a Transfer 1–4
2 THE INTERFACE SIGNALS 2–1
2.1 Signal Explanation 2–1
2.1.1 Output Lines 2–1
2.1.2 Input Lines 2–3
2.2 Signal Assignments 2–4
2.2.1 Disk Configurations 2–8
3 DISK ADDRESSING 3–1
3.1 Block Address Format 3–2
3.1.1 Sector Format — General Discussion 3–2
3.1.2 Disk Formatting 3–4
3.2 The Clock System 3–6
3.2.1 The Bit Counter 3–6
3.2.2 The Phase Generator Network 3–6
3.2.2.1 Operations 3–7
4 WRITE AND READ OPERATION 4–1
4.1 Write Operation 4–1
4.2 Read Operation 4–2
4.3 The Check Word Generator 4–3
4.3.1 Operation 4–5
5 INTERRUPT GENERATION AND HANDLING 5–1
5.1 Device Interrupts 5–4
5.2 Error Interrupts 5–6

Page 5

iv

Section: Page:
6 STATUS GENERATION 6–1
6.1 Detailed Description 6–2
6.1.1 SB0 — Ready for Transfer Interrupt
Enabled
6–2
6.1.2 SB1 — Error Interrupt Enable 6–2
6.1.3 SB2 — Device Active 6–2
6.1.4 SB3 — Device Ready for Transfer 6–4
6.1.5 SB4 — Inclusive OR of Errors (SB5 - 11) 6–4
6.1.6 SB5 — Write Protect Violate 6–4
6.1.7 SB6 — Time Out 6–5
6.1.8 SB7 — Hardware Error 6–5
6.1.9 SB8 — Address Mismatch 6–5
6.1.9.1 Principal Circuit Description 6–7
6.1.10 SB9 — Read Parity Error 6–7
6.1.11 SB10 — Compare Error 6–9
6.1.12 SB11 — DMA Channel Error (Missing
Clocks)
6–9
6.1.13 SB12 — Transfer Complete 6–9
6.1.14 SB14 — Transfer ON 6–9
6.1.15 SB14 — ON Cylinder 6–11
6.1.16 SB15 — Bit 15 Loaded by Previous
Control Word
6–11
7 THE CONTROL WORD 7–1
7.1 Detailed Description 7–2
7.1.1 CW0 — Enable Interrupts on Device
Ready for Transfer
7–2
7.1.2 CW1 — Enable Interrupt on Errors 7–2
7.1.3 CW2 — Activate Device 7–2
7.1.4 CW3 — Test Mode 7–4
7.1.4.1 Clock and Data Substitutions 7–4
7.1.4.2 Sector Substitutions 7–8
7.1.4.3 Read Operation in Test Mode 7–8
7.1.4.4 Write Operation in Test Mode 7–8
7.1.5 CW4 — Device Clear 7–9
7.1.6 CW5 - 6 — Address Bits 16 and 17 7–11
7.1.7 CW7 - 8 — Not Assigned 7–11
7.1.8 CW9 - 10 — Unit Select 7–11
7.1.9 CW11 - 12 — Device Operation 7–12
7.2 M0 — Read Transfer 7–13
7.2.1 Detailed Description 7–13

ND-11.010.01


Page 6

V

Section: Page:
7.3 M1 — Write Transfer 7–17
7.4 M2 — Read Parity 7–20
7.5 M3 — Compare Test 7–22
7.5.1 CW13 — Marginal Recovery 7–22
7.5.2 CW14 — Not Assigned 7–23
7.5.3 CW15 — Write Format 7–23

APPENDIX A — Diagrams

APPENDIX B — Signal Definition List

APPENDIX C — Backwiring Print

APPENDIX D — Controller Activity Indicators (Physical Locations)

APPENDIX E — N-10/HAWK Physical Layout

ND 11 010 01


Page 7

vi

Table

Table Title Page
2.1 The Interface Signals 2–2
2.2 Interface Signals — Pin Assignments, etc. 2–5

Figure

Figure Title Page
2.1 Disk Configurations 2–8
3.1 Block Address Format 3–2
3.2 ND — Sector Format 3–2
3.3 Disk Controller — Block Diagram 3–5
4.1 The Check Word Generator 4–4
5.1 Interrupt Generation 5–2
6.1 Status Generation, SB0 - 4 6–3
6.2 Status Generation, SB4 - 8 6–6
6.3 Status Generation, SB9 - 11 6–8
6.4 Status Generation, SB12 - 15 6–10
7.1 Activate Device — Illustration 7–3
7.2 Clock and Data — Substitution 7–5
7.3 Sector Clock — Substitution 7–6
7.4 Disable of Unit Error Condition 7–7
7.5 Device Clear Illustration 7–10
7.6 Bus Address bits 16 and 17 7–11
7.7 Unit Selection 7–11
7.8 Mode Indication 7–12
7.9 Read Transfer 7–14
7.10 Read Gate Activation 7–15
7.11 Write Transfer 7–18
7.12 Read/Write Gate Activation 7–19
7.13 Read Parity — Data Flow 7–20
7.14 Read/Read Parity Differences 7–20
7.15 Compare Test — Data Flow 7–22

ND-11.010.01


Page 8

1–1

1 NORD-10/HAWK PROGRAMMING SPECIFICATIONS

1.1 DISK DEVICE REGISTER ADDRESSES

The codes below are relevant for disk system I. Each disk system may consist of four disk units. For disk system II, add 10₈ to the specified codes.

Read Core Address IOX 500
Load Core Address IOX 501
Read Sector Counter IOX 502
Load Block Address IOX 503
Read Status Register IOX 504
Load Control Word IOX 505
Seek Instruction (Read Block Address) IOX 506
Load Word Count Register IOX 507

The minimum number of words to be transferred is one sector, i.e. 200₈ words. The maximum number of words is one track, i.e. 24 sectors (6000₈ words).


Page 9

1-2

1.2 READ BLOCK ADDRESS

This instruction is implemented for maintenance purposes only. By first
loading a control word with bit 3 (Test Mode) the instruction

IOX 506

will return the previously loaded block address to the A-register.

Control Word

Bit Description
0 Enable interrupt on device ready for transfer
1 Enable interrupt on errors
2 Activate device
3 Test mode
4 Device clear
5 Address bit 16
6 Address bit 17
7 - 8 Not assigned
9 Unit select
10 Unit select
11 Device operation
12 Device operation
13 Not assigned
14 Marginal recovery
15 Write Format

Unit Select Code:

Bit Number 10 Bit Number 9
0 0 Unit 0
0 1 Unit 1
1 0 Unit 2
1 1 Unit 3

Device Operation Code:

Bit Number 12 Bit Number 11
0 0 Read Transfer
0 1 Write Transfer
1 0 Read Parity
1 1 Compare

To format a disk the formatting switch must be turned on. Write
transfer and Write Format must be specified.

ND-11.010.01


Page 10

Status Word

Bit Description
0 Ready for transfer, interrupt enabled
1 Error interrupt enabled
2 Device active
3 Device ready for transfer
4 Inclusive OR of errors (status bits 5 - 11)
5 Write protect violate
6 Time out
7 Hardware error
8 Address mismatch
9 Parity error
10 Compare error
11 Missing clock(s)
12 Transfer complete
13 Transfer on
14 On cylinder
15 Bit 15 loaded by previous control word

Page 11

1–4

1.3 PREPARING FOR A TRANSFER

A disk system is classified as a Mass Storage Device. Data Transfer takes place over a DMA (Direct Memory Access channel). A DMA will, when started, run without CPU supervision, i.e. the transfer is controlled from the DMA interface.

However, prior to a DMA transfer the various "control" registers must be loaded with start information.

This information is loaded via the A-register through a P10 "channel".

The sequence in which the control registers are loaded is of no significance. However, the preparation process is terminated when loading the control word with "Activate device" (CW2) specified.

Example:

  • Read "Status register" (IOX 504) to check if the unit is Ready (SB3) and Busy (SB2).
  • Load "Block Address Register" (IOX 503) with the block address (disk address).
  • Load "Core Address Register" (IOX 501) with the address of the first memory access.
  • Load "Word Counter" (IOX 507) with the number of words to be transferred.

    (200₈ ≤ WC + 6000₈)

  • Load "Control Word" (IOX 505) with unit selection, Device Operation, interrupt enable and "Activate Device".

The data transfer will now start and the "word counter" is decremented and the "core address register" incremented by one for each word transferred.

The DMA transfer is normally terminated by a word count of zero (WC = 0).

ND-11 010 01


Page 12

2–1

2 THE INTERFACE SIGNALS

The signals going to and from the unit are referred to as the interface signals. The type and number of lines are listed in Table 1.

2.1 SIGNAL EXPLANATION

2.1.1 Output Lines

Cylinder Strobe
    strobes the cylinder address into the cylinder address register.
    The cylinder address lines must be stable when the cylinder
    strobe is applied.

Cylinder Address
    nine address lines holding the new address information at the line
    when the “cylinder strobe” is applied.

Return to Zero Seek
    resets control logic and commands the carriage to cylinder 0.

Head Select
    selects one of four recording heads by holding the binary address.
    The desired head selection must be held constant during the
    entire read or write operation.

Write Data/Clock
    transmits double frequency encoded data and clock signals to the
    unit.

Write Gate
    enables the write circuitry during a write operation.

Erase Gate
    enables the erase current to the erase Coil.
    for pre-erasing data during a write operation.

Read Gate
    enables the read circuitry during a read operation.

Unit Select
    four select lines (one for each unit) selects the unit to be
    accessed. Unit selection must be active when exchanging data
    with a controller.

Note 1:
    Interrupt is the only signal that might be sent to the
    controller from an unselected unit.

Note 2:
    A unit may be selected for test purposes by setting
    the Unit Select switches at the I/O board. (Refer to
    Appendix B-3 in “HAWK – Disk System” Manual.)


Page 13

Table 2.1: The Interface Signals

flowchart LR
    L[" "] --> A1(("1")) --> R[" "]
    L --> A2(("9")) --> R
    L --> A3(("1")) --> R
    L --> A4(("2")) --> R
    L --> A5(("1")) --> R
    L --> A6(("1")) --> R
    L --> A7(("1")) --> R
    L --> A8(("1")) --> R
    L --> A9(("4")) --> R

    R --> B1(("1")) --> L
    R --> B2(("1")) --> L
    R --> B3(("1")) --> L
    R --> B4(("1")) --> L
    R --> B5(("1")) --> L
    R --> B6(("1")) --> L
    R --> B7(("1")) --> L
    R --> B8(("1")) --> L
    R --> B9(("1")) --> L
    R --> B10(("6")) --> L

    A1 ---|"CYL STR — CYLINDER STROBE"| R
    A2 ---|"CYL AD — CYLINDER ADDRESS"| R
    A3 ---|"RTZS — RETURN TO ZERO SEEK"| R
    A4 ---|"HS — HEAD SELECT"| R
    A5 ---|"WR — WRITE DATA CLOCK"| R
    A6 ---|"WRITE GATE"| R
    A7 ---|"ERASE GATE"| R
    A8 ---|"READ GATE"| R
    A9 ---|"UNIT SELECT"| R

    L ---|"ON CYL — ON CYLINDER"| B1
    L ---|"RD-DATA — READ DATA"| B2
    L ---|"RD-CLOCK — READ CLOCK"| B3
    L ---|"INDEX"| B4
    L ---|"SECTOR"| B5
    L ---|"SKER & AD INT — SEEK ERROR & ADDRESSING INTERLOCK"| B6
    L ---|"FAULT"| B7
    L ---|"READY"| B8
    L ---|"WR STAT — WRITE STATUS"| B9
    L ---|"SECTOR ADDRESS"| B10

2-2

ND-11.010.01


Page 14

2-3

2.1.2 Input Lines

On Cylinder
indicates that the R/W/E-heads have reached the cylinder address issued. The signal is inactive while the R/W/E-heads are moving.

Note: Signal will also be activated by a "seek error".

Read Data
separated digital data information sent to the controller.

Read Clock
separated digital clocks (one for each data cell) sent to the controller.

Index
start of revolution mark. Indicates start of sector counting.

Sector
start of sector mark.

Note: When heads 0 and 1 are selected the sector mark will derive from the cartridge. If heads 2 or 3 are selected the sector mark will derive from the fixed disk.

Sector Address:
five lines that carry the sector address for the selected disk.

Seek Error
indicates that the unit was unable to successfully complete a seek operation.
OR
indicates that the unit has received an illegal address. (Address Interlock)

Note: By use of option switches on the I/O-board the Address Interlock signal will be set back as Seek Error. This is done for the ND-interface since the Address Interlock Line is not used.

Note: A RTZS will clear the control logic and command the carriage back to cylinder 0.

Address Acknowledge
indicates that the unit has received a legal address.

Note: This feature is not used by the ND-interface.

Write Status
unit is inhibited from writing on the disk. This signal is active whenever one or two WRITE PROTECT switches are on and the associated disk is selected -- or when the controller write protect line is active.


Page 15

2–4

2.2 SIGNAL ASSIGNMENTS

Table 2.2 shows the above described interface signals — direction, polarity.

On the controller side the plug pin number, card type and terminal number are listed.

On the unit side the corresponding plug pin number and I/O cord pin number are listed.

ND 11 010 01


Page 16

2-5

PAGE 1 of TABLE 2

UNIT 8427M

CONTROLLER CARD TYPE TERM NO. PIN NO. SIGNAL/POOL DIRECTION SIGNAL PLUG PIN NO. I/O CARD PIN NO. 71/P
1036 59 SS DTAS0 ↑ CYL STR — CYLINDER STROBE A B14
1036 61 NN TA00 ↑ CYL AD/0 C A16
1036 63 MM TA10 ↑ CYL AD/1 E B16
1036 65 JJ TA20 ↑ CYL AD/2 H A17
1036 67 HH TA30 ↑ CYL AD/3 K B17
1036 75 Y TA40 ↑ CYL AD/4 M A12
1036 77 V TA50 ↑ CYL AD/5 P B12
1036 79 U TA60 ↑ CYL AD/6 V A13
1036 87 K TA70 ↑ CYL AD/7 T B13
1036 88 F TA80 ↑ CYL AD/8 R A24
1036 91 E DRTZ0 ↑ RTZS — RETURN TO ZERO SEEK AA B26
1039 57 TT DHS00 ↑ HS/0 — HEAD SELECT AC B27
1039 58 SS DHS10 ↑ HS/1 + HEAD SELECT AE B7
1039 69 DD DWD0 ↑ WRB — WRITE DATA/CLOCK AS B19
1039 55 JJ DWG0 ↑ WRITE GATE AM A15

Table 2.2: Interface Signals — Pin Assignments, etc.


Page 17

Table 2.2: Interface Signals — Pin Assignments, etc.

UNIT 9427M
PAGE 2 OF TABLE 2

CARD TYPE TERM NO. PIN NO. SIGNAL/POL DIRECTION SIGNAL PLUG PIN NO. I/O CARD PIN NO.
1039 67 HH DEG○ ↑ ERASE GATE AP B6
1039 71 CC DRG○ ↑ READ GATE AV B15
1039 89 F US1○ ↑ UNIT SELECT 1 BA B25
1039 91 E US2○ ↑ UNIT SELECT 2 BN B28
1039 93 B US3○ ↑ UNIT SELECT 3 BV B28
1039 95 A US4○ ↑ UNIT SELECT 4 BS B25
1039 77 V CREADY○ ↓ READY AX A29
1039 79 U CEYL○ ↓ ON CYL — ON CYLINDER BD B9
1039 73 Z RFD○ ↓ RD DATA — READ DATA AV B29
1039 75 Y CRC○ ↓ RD CLK — READ CLOCK AZ A14
1039 87 K CART INDEX ↓ INDEX BF A31
1039 85 L SECTOR ↓ SECTOR BL B10
1039 83 P SEEK ERRO ↓ SEEK ERROR BJ B8
1039 81 R FAULT ↓ FAULT BJ A19
A30

NDA-11 010 01


Page 18

Page 3 of Table 2

Unit 9427H Controller

Card Type Terminal No. Pin No. Signal/Pol Direction Signal Plug Pin No. I/O Card Pin No. 7/1/P1
1107 83 WPE00 ↓ WR STAT — WRITE STATUS AK B30
1107 95 SB10 ↓ SA/0 — SECTOR ADDRESS CJ B2
1107 93 SB20 ↓ SA/1 — SECTOR ADDRESS CD A1
1107 91 SB40 ↓ SA/2 — SECTOR ADDRESS CN B4
1107 89 SB80 ↓ SA/3 — SECTOR ADDRESS CR B3
1107 87 SB160 ↓ SA/4 — SECTOR ADDRESS CL A2
1107 85 MAR90 ↑ WRITE PROTECT OR TRACK OFFSET AH B23 or A23 (Sage Option Switch Clear)

Table 2.2: Interface Signals — Pin Assignments, etc.


Page 19

2-8

2.2.1 Disk Configurations

A maximum of four units may be wired up to one controller. The limitation is found in the four address lines. The unit number is set up by unit selection switches on the I/O board. (Refer to Appendix B-3 in “HAWK – Disk System” manual.)

Any combination of 9427 and 9427H may be connected in the “daisy chain”. It should be observed that 9427 is given the unit number dependent of its position in the daisy chain, while 9427H may be selected to be any of the possible unit numbers. (Refer to Figure 2.1.)

Precautions should be taken to avoid more than one unit being assigned the same unit number. For further details see I/O board schematics in the “HAWK – Disk System” manual – Appendix A.

flowchart LR
    C[CONTROLLER]
    T1[T]
    U0["9427 UNIT 0<br/>OR 9427H<br/>UNIT 0-3"]
    U1["9427 UNIT 1<br/>OR 9427H<br/>UNIT 0-3"]
    U2["9427 UNIT 2<br/>OR 9427H<br/>UNIT 0-3"]
    U3["9427 UNIT 3<br/>OR 9427H<br/>UNIT 0-3"]
    T2[T]

    C --- T1
    C --- U0
    U0 --- U1
    U1 --- U2
    U2 --- U3
    U3 --- T2

T: Line Terminators

Figure 2.1: Disk Configurations

ND-11.010.01


Page 20

3–1

3 DISK ADDRESSING

The disk surface is divided into 408 (406) tracks (cylinders). Four recording surfaces require four recording heads. Each track is divided into 2410 (308) sectors.

The disk address referred to as “Block Address” is thus composed of:

  • Head Number (2 bits)
  • Cylinder Number (9 bits)
  • Sector Number (5 bits)

which is a total of 16 bits.


Page 21

3–2

3.1 BLOCK ADDRESS FORMAT

Figure 3.1 illustrates the "Block Address Format":

   15    14                  6 5    4                       0
    ┌─────┬───────────────────┬─┬─────┬───────────────────────┐
    │  D  │    CYLINDER #     │S│     │       SECTOR #        │
    │     │                   │ │     │                       │
    │ (1) │        (9)        │(1)   │          (5)          │
    └─────┴───────────────────┴─┴─────┴───────────────────────┘
      ↓                         ↓
     HS1        ◄────          HS0       ◄──── Head selection

Figure 3.1: Block Address Format

Bits 0 - 4:    Designates the sector within a track.

Bit 5:         Surface of the (by Bit 15) selected disk (S = 0 upper
                surface; S = 1 lower surface).

Bit 6 - 14:    Designates the cylinder number.

Bit 15:        Designates the fixed (D = 1) or the removable (D = 0)
                disk.

The Block Address is loaded by an IOX 503.

The unit will perform a seek operation to the addressed cylinder when
an "Activate" is performed.

          SAA 4          % Activate
          IOX 505        % Device

3.1.1 Sector Format — General Discussion

A sector is divided into 8 phases as illustrated in Figure 3.2.

       ○        ○        ○        ○        ○        ○          ○        ○      ○      ○
       1        2        3        4        5        6          7        8      9      10

      H6       SP       ADDR     CWA       H6       SP          DATA     CWD     E      T6
 ┌────────┬────────┬────────┬────────┬────────┬────────┬────────────────┬───────┬─────┬─────┐
 │  120   │   96   │   16   │   16   │  120   │   96   │      2048      │  16   │  1  │ 75  │
 └────────┴────────┴────────┴────────┴────────┴────────┴────────────────┴───────┴─────┴─────┘
 │        │        │        │        │        │        │                │       │     │
 ◄───────►        ◄───────►        ◄───────►          ◄────────────────►       ◄────►
 │        │        │        │        │        │        │                │       │     │
 ├────────┼────────┼────────┼────────┼────────┼────────┼────────────────┼───────┼─────┼─────┤
     Ph1       Ph1      Ph2      Ph3      Ph4      Ph4              Ph5      Ph6    Ph7   Ph8

Figure 3.2: ND — Sector Format


Page 22

3-3

A discussion of the different phases follow:

  1. A "Head gap" or "Tolerance gap" of 120 zeros is the first field in a sector after a "sector mark" has been detected. The purpose of this "Head gap" is to compensate for:

    • head switching time
    • sector pulse jitter
    • controller variations
    • mechanical skew in sector notches/holes
    • physical distance between Erase and Read/Write heads

    Since the length of a data cell is 400ns at a nominal RPM (2400), the duration of the Head gap is 48μs. Some time during the "Head gap" the read gate should be activated and read operation initiated. Under most common conditions, the read will start in the middle of the "Head gap",

  2. The next field in the sector format is the "sync pattern" — SP. The end of the "sync pattern" is indicated by a recorded "1", preceded by 95 zeros.

    The purpose of the "sync pattern" is to bring the "read recovery logic" into syncronization with:

    • the speed of the disk drive
    • the correct phase relationship between data and clocks.

    This is discussed in detail during "Read Recovery Operation". The "Head gap" and the "Sync Pattern" will be treated as one field by the controller, Phase 1. End of "Phase 1" or "Sync Pattern" is indicated by a recorded "1".

  3. The 16 bits block address (ADDR) is the next field recorded. This field is referred to as Phase 2 in the controller.

  4. Check Word on Address — CWA — is a special check word for the address recorded.

  5. Following the CWA, a new "Head gap" will show up. The reason for this "Head gap" is to:

    • compensate for controller turn-around time.
    • allow time for head switching from a read to a write operation.

    This "Head gap" consists of 120 zeros.

  6. A Sync Pattern — SP — of 95 zeros terminating with a 1 bit has the identical purpose, in this case, as in ②.
    (⑤ and ⑥ are in the controller referred to as Phase 4.)


Page 23

3-4

⑦ Next in the row is the data field consisting of 2048 data cells.
(Equal to 128 - 16 bits words = 1/8 K-words.)

⑧ CWD — Check Word on Data is generated by the controller as the data is written on the disk. Next, this bits word is passed on to the disk.

⑨ This field consists of only 1 bit which indicates "end of recording".

⑩ The "Tolerance Gap" — TG — is normally 75 data cells long. The purpose is to:

  • absorb mechanical skew in sector notches/holes
  • compensate for "Write oscillator" drift

3.1.2 Disk Formatting

The first operation a new disk (cartridge or fixed disk) must go through is the formatting process. This must be done prior to any exchange of data with the disk. This process will:

  • write zeros into ① the "head gap"
  • continue writing zeros into the "sync pattern" ② terminating with a "1".
  • write the block address into the above field ③.
  • write the "control word address" into the CWA field ④.

The above steps are repeated for each sector on every track of the disk.

When this process has been completed, random access to different addresses can be made.


Page 24

Figure 3.3: Disk Controller — Block Diagram

flowchart TB
    subgraph PAGE[""]
        direction TB

        P1039["1039"]
        P1107["1107"]

        subgraph DISK["Disk Controller"]
            direction LR

            subgraph CLOCK["Read clock"]
                direction TB
                CL["CL (Read clock)"]
                Aclk["A"]
                Iclk["1"]
                Aclk --> Iclk
                CL --> Aclk
            end

            subgraph CNT["BIT COUNTER NETWORK"]
                direction TB
                BIT["BIT<br/>COUNTER<br/>NETWORK"]
                IP["IP"]
                C1["C+1"]
                R["R"]
                BIT --- IP
                BIT --- C1
                BIT --- R
            end

            subgraph SEC["Sect."]
                direction TB
                S39["39"]
                I39["1"]
                S39 --> I39
            end

            subgraph WRITE["Write clock unit"]
                direction TB
                TEST["Test<br/>Cl"]
                RST["Test<br/>RC"]
                Atest["A"]
                Arst["A"]
                Iw["1"]
                Aw["A"]
                Iwr["1"]
                Awr["A"]
                Atest --> Iw
                Arst --> Iw
                Iw --> Aw
                Aw --> Iwr
                Awr --> Iwr
                TEST --> Atest
                RST --> Arst
            end

            subgraph BUS[""]
                direction TB
                A26["A"]
                A35["A"]
                S26a["26"]
                S26b["24"]
                S35a["35"]
                S35b["34"]
                S28["28"]
                A26 --> S26a --> S26b
                A35 --> S35a --> S35b
            end

            subgraph B15NET[""]
                direction TB
                S31a["31"]
                S31b["29"]
                B15["B15"]
                A1["A"]
                I1["1"]
                A2["A"]
                I2["1"]
                A3["A"]
                S31a --> S31b
                S31b --> B15
                B15 --> A1 --> I1 --> A2 --> I2 --> A3
                REDG["Red Gate"]
                OMSC["OMS CATCH"]
                S17["17"]
                S31["31"]
                S17 --> REDG
                S31 --> OMSC
            end

            subgraph PHI[""]
                direction TB
                PHITE["PhiTE"]
                PHI1["Phi 1"]
                EGD["EG"]
                Aphi["A"]
                Iphi["1"]
                Aphi2["A"]
                Iphi2["1"]
                S36["36"]
                S37["37"]
                S36 --> S37
                S37 --> Iphi
                Iphi --> Aphi
                Aphi --> Iphi2
                Iphi2 --> Aphi2
                PHITE --> Aphi
                PHI1 --> EGD
            end

            subgraph PHASES[""]
                direction LR
                B15IN["B15"]
                PH2["Ph 2"]
                PH3["Ph 3"]
                PH4["Ph 4"]
                PH5["Ph 5"]
                PH6["Ph 6"]
                PH7["Ph 7"]
                AP2["A"]
                AP3["A"]
                AP4["A"]
                AP5["A"]
                AP6["A"]
                AP7["A"]
                B15IN --> AP2
                PH3 --> AP3
                PH4 --> AP4
                PH5 --> AP5
                PH6 --> AP6
                PH7 --> AP7
            end

            subgraph REGISTER[""]
                direction TB
                REG[""]
                AP2 --> REG
                AP3 --> REG
                AP4 --> REG
                AP5 --> REG
                AP6 --> REG
                AP7 --> REG
            end

            subgraph SR8["SR-8<br/>74/64"]
                direction TB
                SR["SR-8<br/>74/64"]
                CD["CD"]
                AEXT["A"]
                CLP["CLP"]
                SC["SC"]
                EXT["Ext.<br/>sect."]
                SR --- CD
                AEXT --- CD
                CLP --> SR
                SC --> SR
                EXT --> AEXT
            end

            subgraph PHOUT[""]
                direction LR
                PH1["Ph 1"]
                PH2O["Ph 2"]
                PH3O["Ph 3"]
                PH4O["Ph 4"]
                PH5O["Ph 5"]
                PH6O["Ph 6"]
                PH7O["Ph 7"]
                PH8O["Ph 8"]
                O6["6"]
                O8["8"]
                O10["10"]
                O13["13"]
                O14["14"]
                O16["16"]
                O18["18"]
                O20["20"]
                PH1 --> O6
                PH2O --> O8
                PH3O --> O10
                PH4O --> O13
                PH5O --> O14
                PH6O --> O16
                PH7O --> O18
                PH8O --> O20
            end

            V["3–5<br/>to<br/>various<br/>parts of<br/>the osc."]
            V --- O10
            V --- O14
            V --- O18

            CLK["CLK"]
            CLK --> Aclk
            Aclk --> Iclk
            Iclk --> REG
            REG --> SR
            BIT --> B15NET
            BIT --> BUS
            BIT --> SEC
            SEC --> SR
            WRITE --> CLK
        end
    end

Page 25

3-6

3.2 THE CLOCK SYSTEM

A 10 MHz crystal oscillator (located on the 1036 module) is the heart of the disk and controller operation. When divided by 4 a 2.5 MHz clock is derived (C1 pulses). The clock pulses serve as:

  • ⊙ Write clocks during a Write operation.
  • ⊙ Read clocks during a read operation until the read gate is turned on.
  • ⊙ Read or Write (whichever is specified) under Test mode of operation.

3.2.1 The Bit Counter

The write clocks (C1) from the crystal oscillator or the read clocks from the unit (RC) during a read operation feeds the Bit counter (located on the 1039 card) with clock pulses. Various stages of the bit counter are sent to the phase generator and other parts of the controller as control terms.

The bit counter will be cleared by a sector pulse (SECT) or by the term CLBC (clear bit counter). CLBC originates in the "Phase generator network" located on the 1107 card. Refer to Figure 3.3.

For each new phase initiated by the "phase generator network" the bit counter will be reset to zero by the term "CLBC". The maximum count will thus be 2048 in Phase 6. (Refer — General Sector Format.)

3.2.2 The Phase Generator Network

A sector is divided into 8 different phases where each phase holds an exact number of data cells (bits). The "Phase generator network" is responsible for changing from one phase to the next. This network operates close together with the "Bit counter". Refer to Figure 3.3.

The last stage in the "Phase generator network" consists of a serial in (Ext sect), parallel out (PH1 - PH8), shift register. A sector pulse (CLP) clears the register while the delayed part of the sector pulse (Ext sect) sets the first bit.

Since "Ext sect" appears only once for each sector, only one bit will be shifted down the register, i.e. only one phase will be active at the time.


Page 26

3.2.2.1 Operations

Phase 1:

Phase 1, composed of the "Head gap" and the "Sync Pattern", is entered by the latter part of the sector pulse (Ext sect). Phase 1 will be terminated in:

⊙ a Write Format mode of operation by counting up 216 bits. The last bit will be a 1 (ONE CATCH) recorded.

⊙ a Read or Write mode of operation by reading the "one catch".

Phase 2:

Phase 2, containing a 16 bits address, is terminated by reading a count of 15 (16 bits counted).

Phase 3:

Phase 3, holding a 16 bits check word on the address recorded in Phase 2, will be dropped when a count of 15 is reached.

Phase 4:

Phase 4 has the same purpose and format as Phase 1. Phase 4 will be dropped:

⊙ in a write operation after 126 bits recorded (125 zeros and 1 one)

⊙ in a read operation after reading the "ONE CATCH".

Phase 5:

Phase 5, containing 2048 data cells, will be active until a count of 2047 has been reached.

Phase 6:

The check word on the data field is held in Phase 6. This phase will be terminated after the 15th check word bit.

Phase 7:

This phase lasts only for one data cell at a time and contains a 'one'. A bit count of ONE will, therefore, terminate this phase.

Phase 8:

The length of this phase will be measured from the end of Phase 7 up to the next sector pulse.


Page 27


Page 28

4 WRITE AND READ OPERATION

4.1 WRITE OPERATION

  • Prior to a write operation the heads must be positioned over the desired cylinder (which is part of the block address) and the desired head must be selected (also part of the block address). Then a search for the desired sector takes place by reading the sector address in phase 2 and associated "control word" in phase 3, the controller will command a write.
  • 120 zeros will be recorded in the "Head gap" ⑤.
  • continuing with 95 zeros and a "1" in the "Sync Pattern" ⑥.
  • followed by the data in the "Data Field" ⑦.
  • and the calculated "check word" ⑧.
  • ending with "1" ⑨.

The above sequence of events takes place for every write operation. Note that Phase 4, 5, and 6 are rewritten for every write operation in order to obtain the same phase relationship for data and clocks throughout phase 4, 5, 6, and 7.

ND-11.010.01


Page 29

4.2 READ OPERATION

In order to perform a read operation one head must be selected and positioned over the desired cylinder. Then a search for the addressed sector will take place. When the correct cylinder is found the read operation will continue and read the addressed data field.

Since the address portion is written during the formatting processing and the data portion during a normal write operation, they will have a random phase relationship in respect to each other. Due to this fact, resynchronization will be obtained in Phase 4 during a read operation. (For further details see Chapter 9.2 in "HAWK – Disk System" manual.)


Page 30

4–3

4.3 THE CHECK WORD GENERATOR

In order to increase the reliability of a read/write operation, parity or check word is introduced.

The "check word generator" is wired to perform the polynomial X¹⁵ + X² + 1. The main building blocks are two 8 bit shift registers. For principal study we consider the shift register elements. For each clock pulse (CLCC) applied a one element shift operation is performed. The clock pulses are enabled to the "check word generator" in Phase 2, 3, 5, and 6.


Page 31

4-4

flowchart TB
    CL["CL<br/>Ph 2356"] --> CLA["A"]
    CLA --> CP["Clock<br/>pulses"]
    CP --> CLCC["CLCC"]

    WD1["Write Data<br/>Ph25"] --> WA["A"]
    RD1["Read Data<br/>Ph2356"] --> RA["A"]
    WA --> I1["I"]
    RA --> I1
    I1 --> E1["= 1"]

    CLCC --> E1

    E1 --> C0["C 0"]
    C0 --> C1["C 1"]
    C1 --> E2["= 1"]
    E1 --> E2

    E2 --> C2["C2"]
    C2 --> C3["C3"]
    C3 --> C4["C4"]
    C4 --> C5["C5"]
    C5 --> C6["C6"]
    C6 --> C7["C7"]
    C7 --> C8["C8"]
    C8 --> C9["C9"]
    C9 --> C10["C10"]
    C10 --> C11["C11"]
    C11 --> C12["C12"]
    C12 --> C13["C13"]
    C13 --> C14["C14"]
    C14 --> E3["= 1"]

    E3 --> C15["C15"]
    C15 --> C15L["C 15"]

    CX["C X<br/>Shift register element"] --> SR[""]
    SR --> E3

    P36["Ph36"] --> A1["A"]
    X1[""] --> A2["A"]
    X2[""] --> A3["A"]
    X3[""] --> A4["A"]
    A1 --> I2["I"]
    A2 --> I2
    A3 --> I2
    A4 --> I2
    I2 --> A5["A"]
    W["Write"] --> A5
    A5 --> WD["Write<br/>Data"]
    WD --> E3

    W2["Write<br/>Ph 36"] --> A6["A"]
    A6 --> A7["A"]
    C15L --> A7
    A7 --> T15["T15"]
    T15 --> FB["Feed back"]
    FB --> E1

[illegible]


Page 32

4-5

4.3.1 Operation

During the formatting process the 16 bits address is written on the disk in phase 2 and passed on to the “check word generator”. During this phase a feedback (T15) is enabled and the check word generator will operate according to the above mentioned polynomial. The 16 bits check word generated in Phase 2 will be shifted out and sent to the unit as write data in Phase 3. This is accomplished by blocking the feedback and keeping the input inactive. The (=1) gates will thus perform no logical operation.

The same sequence of events will take place during a normal write operation.

In Phase 2 the “Block Address” will be read off the disk and will also enter the “Check Word Generator”. The check word on address will also be entered in Phase 3. If no address parity has occurred the shift register elements contain all 0’s at the beginning of Phase 4.

If an address parity has occurred, SB9 will set. (Refer – Description of SB9, Chapter 6.1.10.)

The same sequence of events will take place when a read operation is specified.


Page 33

[Blank page]


Page 34

5 INTERRUPT GENERATION AND HANDLING

The disk controller is wired to interrupt level 1110. The various sources for interrupt will be discussed here.

In order to enable all the interrupt sources a

                         :
SAA 3                   % set bit 0 and 1
                         % enable interrupt on device ready for transfer and
                         enable interrupt on Errors
                         :

must be performed.

The main interrupt source may be divided into two groups:

  • Device Interrupts
  • Error Interrupts

"Device Interrupts" are enabled by "Control Word", bit number 0 and
"Error Interrupts" are enabled by "Control Word", bit number 1.

The two interrupt enable FF's are reset in one of two ways:

  1. "Device Clear" generated by "Control Word", bit number 4
                         :
                    BSET ONE 40 DA
                       IOX 505
                         :

OR

  1. "Inident" issued on level 11 and interrupt present.
                  INIDENT•Level 11•Int

The second will reset one of the interrupt enable FF's depending on whether:

  • Busy → $\overline{\text{Busy}}$ OR
  • $\overline{\text{Error Condition}}$ → Error condition occurred

Page 35

Figure 5.1 Intertrap Generation

flowchart LR
    subgraph WK["WK"]
        subgraph UT["[illegible] UTILITY TEST"]
            I32["I"] --- n32(["32"]) --- n64(["64"])
            n64 --- A1["A"]
            A1 --- n22(["22"]) --- n22b(["22"]) --- T3["3st"]
            T3 --- n88(["88"]) --- n88b(["88"])
            A1 --- SC["Sector clock"]
            A1 --- C["[illegible]<br/>(drive)"]
        end

        subgraph WKPD["WK WPED protector<br/MI (Write transfer)"]
            A2["A"] --- n25(["25"]) --- n24(["24"])
            n24 --- SB5["SB5 (Protect volution)"]
            SB5 --- I2["I"]
            A3["A"] --- n27(["27"]) --- n27b(["27"])
            A3 --- WFE["WFE (Write formate)"]
            A4["A"]
            A4 --- R["Ready"]
            A4 --- T["Test"]
            I2 --- A4
        end

        subgraph SB5G["SB5 (Time out)"]
            TO["TIME<br/>OUT<br/>CIRCUIT"]
            I2 --- TO
        end

        subgraph WKERR["WK / JK error"]
            I3["I"] --- n28(["28"]) --- n26(["26"])
            n26 --- SB["SB"]
            SB --- DE["Disk error"]
            DE --- A5["A"]
            I3 --- JK["JK error"]
        end
    end

    subgraph P37["P37"]
        I4["I"] --- n7(["7"]) --- n4(["4"])
        n4 --- T3b["3st"] --- n90(["90"]) --- n90b(["90"])
        I4 --- PB["PB Busy"]
        n7 --- E103["103"]
        E103 --- n63(["63"])
        n63 --- LED["LED"]
        LED --- n71(["71"])
        n71 --- I5["I"]
        I5 --- E4["Error Ind"]
    end

    subgraph WC2["WC2"]
        I6["I"] --- n32c(["32"]) --- n64c(["64"])
        n64c --- A6["A"]
        A6 --- COMP["COMPL"]
        A6 --- "Sector clock"
    end

    subgraph P04["P04"]
        I7["I"] --- n90c(["90"])
        n90c --- WCG["WORD<br/>COUNT<br/>ZERO<br/>GENERATOR"]
        WCG --- n46(["46"])
        n46 --- n47(["47"])
    end

    subgraph P03["P03"]
        n37(["37"]) --- n36(["36"]) --- I8["I"]
        I8 --- ERQ["ERQ"]
        ERQ --- T3c["3st"]
        T3c --- n36b(["36"]) --- n36c(["36"]) --- n86(["86"]) --- n86b(["86"]) --- I9["I"]
        I9 --- ERR["Error"]
    end

    subgraph BUSY["Busy"]
        I10["I"] --- B1["Busy"]
        B1 --- A7["A"]
        A7 --- "Device Int."
        A7 --- "MDB0"
        A7 --- "CW"
        A7 --- "Clear"
        A7 --- CINT["Cint BA3 Busy"]
        I10 --- "Device clear Int.<br/>control Bit 4/ Clear"
    end

    subgraph ERRINT["Error Int."]
        A8["A"] --- "Error"
        A8 --- "MDB1"
        A8 --- "CW"
        A8 --- "Clear"
        A8 --- I11["I"]
        I11 --- A9["A"]
        A9 --- "Cint BA3 Error"
    end

    subgraph GEN["Intertrap Generation"]
        I12["I"] --- A10["A"]
        A10 --- "Busy"
        A10 --- "Incident BA3"
        A10 --- "MDB4"
        A10 --- "CW"
        A10 --- "Clear"

        I13["I"] --- A11["A"]
        A11 --- "Busy"
        A11 --- "Error"
        A11 --- "MDB2"
        A11 --- "CW"

        I14["I"] --- A12["A"]
        A12 --- "Cint BA3 Busy"
        A12 --- "Device clear Int.<br/>control Bit 4/ Clear"
        A12 --- "MDB0"
        A12 --- "CW"

        I15["I"] --- A13["A"]
        A13 --- "Cint BA3 Error"
        A13 --- "Clear"
        A13 --- "MDB1"
        A13 --- "CW"

        I16["I"] --- A14["A"]
        A14 --- "Busy"
        A14 --- "Error"
    end

    P37 --> P04
    P37 --> BUSY
    BUSY --> ERRINT
    ERRINT --> P03
    P03 --> GEN
    WKPD --> P37
    WC2 --> BUSY
Signal Description
SB5 Write protect violate (Time out)
SB6 Time out
SB7 DERR (Disk Error)
SB8 (Address mismatch)
SB9 (Priority Error)
SB10 (Compare Error)
SB11 (MA channel Error)

5-2


Page 36

5-3

To determine which was reset we must look at Status Register bits num- ber 0 and 1 after doing a:

 
 
⋮
IOX 504 (Read Status) transfer
⋮
 

Let us now look into the interrupt sources within the two groups separately.


Page 37

5-4

5.1 DEVICE INTERRUPTS

“Device Interrupts” are generated when the transition “Busy → $\overline{\text{Busy}}$” occurs. This is done by resetting the “Busy FF” which is already set by control word bit number 2, “Activate Device”.

                    :
                    :
            BSET ONE 20 DA
                IOX 505
                    :
                    :

The main sources will reset the “Busy FF”.

  1. Term “Clear” generated from bit number 4 in Control Word. i.e.
                    :
                    :
            BSET ONE 40 DA
                IOX 505
                    :
                    :

Instruction sequence executed.

  1. The term “BCOMPL”, activated by the word counter, has counted down to zero (transfer is completed) for the next sector clock.

    BCOMPL = Sector Clock·WC = 0.

  2. The third main source comes into effect by activating the term “BRBUSY”.

    This term is activated by one of five sources:

    1. A write transfer is attempted to a disk plate, (fixed or cartridge) which is write protected, from the HAWK front panel.

      Status bit number 7 (SB5, protect violation) will also set.
    

    2. Drop of Ready (Ready → $\overline{\text{Ready}}$), from HAWK, while not being in test mode of operation.

    3. If an “Address mismatch” has occurred while not being in the WF — Write Format Mode of Operation. Status bit number 8 (SB8 - address mismatch) will also set.

    4. If Busy FF is set for more than 300ms.

      i.e. a head positioning + data transfer has taken more than 300ms.
    
      Status bit number 6 (SB6, Time out) will also be set.
    

ND 11 040 01


Page 38

5-5

  1. A disk error has occurred.
    A disk error is defined in the controller as:
  • A Fault condition which occurred in the HAWK.

    OR

  • Seek Error has occurred.

Status bit number 7 (SB7 – Disk Error) will be set in either case.

COMMENTS:

Regarding SB6 and SB7 the following conclusion can be made:

SB7 SB6
0 1 Seek time plus transfer time > 300ms. Fault occurred.
1 0 in HAWK. Seek Error occurred in HAWK, i.e. a seek operation not completed within 500ms.
1 1 NB: the 1-1 combination can only be read if the IOX < Status > will be executed at least 200ms after the interrupt was detected. This is to allow time for the Seek Error information to be transferred to the controller. The interrupt is caused when SB6 is set from the 300ms time out circuitry in the controller.

Page 39

5–6

5.2 ERROR INTERRUPTS

The "Error Interrupt" is activated as a function of Status Bit number 4 (SB₄) being set.

SB4 will set if any of SB5 – SB11 become active. Refer to "Status Generation".

General Comments:

We notice that SB5, SB6, SB7, and SB8 will generate "Device Interrupt" and "Error Interrupt".

An Ident instruction will thus reset "Error Interrupt Enable" and "Device Interrupt Enable" if one of the above Status Bits caused the interrupt condition.

ND 11 010 01


Page 40

6–1

6 STATUS GENERATION

The status register can be read by an IOX 504 instruction.

The bit assignment is as follows:

Status Word

Bit Description
Bit 00 Ready for transfer, interrupt enabled
Bit 01 Error interrupt enabled
Bit 02 Device active
Bit 03 Device ready for transfer
Bit 04 Inclusive OR of errors (status bits 5 - 11)
Bit 05 Write protect violate
Bit 06 Time out
Bit 07 Hardware error
Bit 08 Address mismatch
Bit 09 Read Parity Error
Bit 10 Compare error
Bit 11 (DMA channel error) Missing Clock
Bit 12 Transfer complete
Bit 13 Transfer on
Bit 14 On cylinder
Bit 15 Bit 15 loaded by previous control word

Page 41

6-2

6.1 DETAILED DESCRIPTION

The setting of the different status bits will be discussed and illustrated when required.

6.1.1 SB0 — Ready for Transfer Interrupt Enabled

Refer to Figure 5.2.

When performing a Read Status, IOX 504 SB0 senses and reports the status of the "Device Interrupt Enable" FF. When set SB0 = 1. When cleared SB0 = 0. The "Device Interrupt Enable" is set by "Control Word" Bit 0.

                    :
                    :
                  SAA 1
                 IOX 505
                    :
                    :

6.1.2 SB1 — Error Interrupt Enable

Refer to Figure 5.2.

SB1 senses and reports the status of the "Error Interrupt Enable" at the point in time when a Read Status, IOX < 504 >, is performed. The "Error Interrupt Enable" is set by Control Word — Bit 1.

                    :
                    :
                  SAA 2
                 IOX 505
                    :
                    :

6.1.3. SB2 — Device Active

Refer to Figure 6.1.

SB2 senses and reports the status of the "Busy" FF. The "Busy FF" is set by Control Word Bit 2, "Activate Device".

                    :
                    :
                  SAA 4
                 IOX 504
                    :
                    :

Page 42

6-3

flowchart TB
    MDB4[MDB 4] --> A1[A]
    CW1[CW] --> A1
    A1 --> REF["Ref<br/>fig 6-2"]

    subgraph STATUS[" "]
        direction TB

        BC[BCOMPL] --> I1[I]
        CLR1[Clear] --> I1
        BR[BRBUSY] --> I1
        I1 --> BUSY_R[Busy<br/>S<br/>cd<br/>C<br/>R]

        MDB2[MDB 2] --> BUSY_R
        CW2[CW] --> BUSY_R

        MDB0[MDB 0] --> DEV[Device INT<br/>S<br/>cd<br/>C<br/>R]
        CW0[CW] --> DEV
        DEV --> DIEN[DIEN]

        MDB1[MDB 1] --> ERRINT[Error INT<br/>S<br/>cd<br/>C<br/>R]
        CW3[CW] --> ERRINT
        ERRINT --> EIEN[EIEN]

        REF --> I2[I]
        I2 --> CLEAR[Clear]
        H((H)) --> ACT[Action<br/>S<br/>cd<br/>C<br/>R]
        CLEAR --> ACT
        ACT --> A2[A]
        A2 --> FIN[Finished]

        DEV --> TRI["3 st."]
        ERRINT --> TRI
        BUSY_R --> TRI
        FIN --> TRI

        RSTAT[RSTAT<br/>(Read Status<br/>IOX 504)] --> TRI
        TRI --> MDBO[MDB 0]
        TRI --> MDBO1[MDB 1]
        TRI --> MDBO2[MDB 2]
        TRI --> MDBO3[MDB 3]
        TRI --> MDBO4[MDB 4]
    end

    LDB["LOCAL DATA BUS<br/>⇓"]

    subgraph G1037["1037"]
        direction TB
        E36((36)) --> ST["3 st."]
        ST --> E86A((86))
        E86A --> E86B((86))
        E86B --> E86C((86))
        E86C --> I3[I]
        I3 --> ERROR[Error]

        E43((43)) --> SB4[SB 4]
        SB5[SB 5] --> ISB[I]
        SB6[SB 6] --> ISB
        SB7[SB 7] --> ISB
        SB8[SB 8] --> ISB
        SB9[SB 9] --> ISB
        SB10[SB 10] --> ISB
        SB11[SB 11] --> ISB
        ISB --> SB4
    end

    E36 --- E43
    ERROR --- E36
    E86B --- T1013["1013"]
    E86C --- T1014["1014"]

Figure 6.1: Status Generation, SBO - 4


Page 43

6–4

The Busy FF will be reset when the desired operation (indicated by Control Word Bits 11 - 13) is completed. If the specified condition takes more than 300ms, SB6 will set which in turn will reset the "Busy FF". The most common method for resetting Busy is "Word Counter" = 0 (WC = 0). Busy may also be set by a Control Word Bit 4, "Device Clear" operation.

        .
        .
        .
    BSET ONE 40 DA
       IOX 505
        .
        .
        .

For a more complete study of the resetting conditions refer to Figure 6.2.

6.1.4 SB3 — Device Ready for Transfer

Generally, the Device is ready for a new operation when the previous one is completed. This is indicated by the term "FINISHED" being generated.

SB2 = (Busy → Busy̅) ⊗ Action. The Action FF sets with the Busy FF and can be cleared by Control Word Bit 4 (CW4) — "Clear Device".

        .
        .
        .
    BSET ONE 40 DA
       IOX 505
        .
        .
        .

See also description for SB2 (Device active).

6.1.5 SB4 — Inclusive OR of Errors (SB5 - 11)

Refer to Figure 6.1.

Status Bit 4 will set when one of Status Bits 5 - 11 (SB5 - SB 11) sets. For further information refer to the following description of SB5 to 11.

6.1.6 SB5 — Write Protect Violate

Refer to Figure 6.3.

Write protect violate (SB5) will be generated if a Write operation (specified by Control Word Bits 11 and 12) is attempted to a disk plate (fixed or cartridge) that is protected. The signal WPED will be returned from HAWK to indicate this error condition.


Page 44

6-5

Note: The HAWK has two write protect switches which make it possible for a write transfer to take place.

Example: A write transfer to the cartridge while the fixed disk is write protected.

6.1.7 SB6 — Time Out

Refer to Figure 6.3.

Status Bit 6 (SB6) will set if the Busy FF is set for more than 300ms. That means that NO operation should take more than 300ms. This check is performed by the ONE SHOT located on 1037. A "Time Out" error occurs if the Busy → Busy doesn't take place before the one shot times out.

6.1.8 SB7 — Hardware Error

Refer to Figure 6.3.

Status Bit 7 (SB7) derives from the HAWK. SB7 will set if a "Seek Error" or a "Fault" condition occurs in the unit.

SB7 = Seek Error + Fault

By analyzing SB7 and SB6 it's possible to tell if a "Fault" or a "Seek Error" occured.

If a "Seek Error" occurs in the unit (a seek operation exceeds 500ms) SB6 will set 200m in advance of SB7.

Seek Error = SB6 · SB7

A "Fault" condition in the unit will only set SB7, i.e.

Fault = SB7 · $\overline{\text{SB6}}$

6.1.9 SB8 — Address Mismatch

Refer to Figure 6.3.

Status Bit 8 (SB8) will set if an address mismatch occurs between the "Block Address" (address given by the CPU) and the address ready off the disk in phase 2. This takes place if the Read/Write heads are settled off the desired (addressed) track.

A "Return to Zero Seek" (RTZS) operation issued from the controller, will reset the control logic and reposition the heads to cylinder zero. Operations may resume from this point.


Page 45

Figure 6.2. Status Generation, SB4 - 8

flowchart TB

    subgraph TOP[""]
        direction LR

        CW["(Control word<br/>bits 11-12)"]
        CW11["CW11"]
        CW12["CW12"]
        SEL["A"]
        N7A(("7"))
        N7B(("7"))
        IWT["I"]
        AWP["A"]
        N25(("25"))
        N24(("24"))

        CW --- CW11
        CW --- CW12
        CW11 --> SEL
        CW12 --> SEL
        SEL --> N7A
        N7A ---|"MI"| N7B
        N7B -->|"Write transfer"| IWT
        IWT -->|"MI"| AWP
        AWP -->|"WPED"| N25
        N25 -->|"SB5"| N24

        HAWK1["From HAWK"] -->|"WPED<br/>(Write protected)"| AWP
        PV["Protect violation"] --- N24

        R1013["1013"]
        R1107["1107"]
        R1037["1037"]

        R1013 --- CW
        R1107 --- PV
        R1037 --- PV
    end

    subgraph MID[""]
        direction LR

        BSTART(("92"))
        N92(("92"))
        ST3["3st"]
        N37(("37"))
        N39(("39"))
        ISTART["I"]
        TIMER["300 MS"]
        AR["A / R"]
        A2["A"]
        SBREG["I"]

        BSTART -->|"B START"| N92
        N92 --> ST3 --> N37 --> N39
        N39 -->|"START"| ISTART
        ISTART -->|"CLEAR"| AR
        AR --> TIMER
        TIMER --> A2
        A2 -->|"SB 6"| SBREG

        H1(("H")) --> AR
        H2(("H")) -->|"(BUSY = CLEAR)"| AR

        SBREG ---|"SB5"| N24
        SBREG ---|"SB4"| SB4["SB 4"]
        SBREG ---|"SB7"| SB7["SB 7"]
        SBREG ---|"SB8"| SB8["SB 8"]

        M1["M"] --- ISTART
        M1 --- A2

        R1014["1014"]
        R1013B["1013"]
        R1037B["1037"]

        R1014 --- BSTART
        R1013B --- N37
        R1037B --- N39
    end

    subgraph BUSYAREA[""]
        direction LR
        BUSYBOX["BUSY"]
        IBUSY["I"]
        N92B(("92"))

        BUSYBOX -->|"BUSY"| IBUSY --> N92B
        N92B --- BSTART
    end

    subgraph ERR["1036"]
        direction LR
        IE["I"]
        N26A(("26"))
        N26B(("26"))

        IE --> N26A --> N26B
        DIERR["DIERR"] --- N26B
    end

    FAULT["Fault"] --> IE
    SEEK["Seek Error"] --> IE
    N26B --- SBREG

    subgraph ADDR["1107"]
        direction LR

        PISO["Parallel<br/>in serial<br/>out"]
        N16(("16"))
        EQ1["=1"]
        AA["A"]
        CNT["x-y<br/>16<br/>CNTR<br/>C"]
        H3(("H"))
        SCD["S<br/>CD"]
        A3["A"]
        N27A(("27"))
        N27B(("27"))

        N16 --> PISO
        PISO --> EQ1
        DRD["DRD<br/>Serial addr.<br/>(Ph 2) From HAWK"] --> EQ1
        EQ1 --> AA
        PH2["Ph 2"] --> AA
        CL["(Read clock)<br/>CL"] --> AA
        AA --> CNT
        CNT -->|"16<br/>Equal addr. bits."| H3
        H3 -->|"Equal addr."| SCD
        SCD -->|"E15"| A3
        A3 -->|"Addr. mismatch"| N27A --> N27B
        N27B --- SBREG

        CLA["CLA (Equal bits)<br/>(Sector clock)<br/>SC"] -->|"C"| SCD
    end

    subgraph SECTOR[""]
        direction LR

        N5A(("5"))
        N5B(("5"))
        COMP["Comparator<br/>network"]
        AG["A"]
        COMP2["A"]
        A4["A"]
        A5["A"]

        SA1["Sector addr.<br/>(part of<br/>block addr.)"] --> N5A
        N5A -->|"A"| COMP
        SA2["Sector addr.<br/>From sector<br/>counter on HAWK"] --> N5B
        N5B -->|"B"| COMP
        COMP -->|"A = B"| A4
        RG["Read Gate"] --> A4
        OC["On cylinder"] --> A4
        A4 -->|"Comp A"| A5
        PH3["Ph 3"] --> A5
        A5 --> A3
    end

    BLOCK["Block addr."] --- PISO
    R1022["1022"] --- BUSYBOX
    R1107B["1107"] --- ADDR

Page 46

6-7

6.1.9.1 Principal Circuit Description

Refer to Figure 6.3.

The term COMPA (Heads on addressed sector) becomes active when sector address from the sector counter, in HAWK, matches the sector address held in the Block Address, provided “Read Gate” and “ON Cylinder” are active.

In phase 2 the “Block Address” is read off the disk in serial format and compared bit by bit in the exclusive OR with the Block Address shifted from the “parallel in - serial out” shift network.

One “CLA” (equal bit pulse) will be generated for each equal address bit compared. These pulses will increment a 16 bits counter which produces a carry output (E15) at a count of 15. If the addresses are equal the “Equal Address FF” will set when the last address bit has been compared.

If the addresses did not compare, the 16 equal bits counter would not reach a count of 16 and the term E15 would be inactive. Also, the Equal Address FF would not set.

In the beginning of Phase 3 the status of the Equal Address FF will be reported as SB8 (normal condition) or $\overline{\text{SB8}}$ (error condition).

6.1.10 SB9 — Read Parity Error

Refer to Figure 6.3.

Status Bit 9 will set if parity occurs on address or data read from disk.

When reading the address in Phase 2 the address will be fed through the check word (parity word) generator. In Phase 3 the recorded check word will be read and passed through the generator. If no parity occurred the check word generator will hold the number 0 at the end of Phase 3 or the beginning of Phase 4.

When reading the data in Phase 5 the data will also be fed through the parity check word generator and a check word will be generated. If the check word read from the disk in Phase 6 is the same as the one generated in Phase 5, the check word generator will hold a 0 in the beginning of Phase 7.

If a parity occurs the check word generator will hold a non-zero value in the beginning of Phase 4 (address parity error) or in the beginning of Phase 7 (data parity error) and SB9 will set.


Page 47

6-8

flowchart LR
    MEM[Main memory] -->| | SHIFT[Shift<br/>network]

    subgraph A1039["1039"]
        direction TB
        PC[Parity<br/>generator<br/>+<br/>checker<br/>network]
        PG["(Parity ok)"]
        RA[A]
        RG["Read gate"]
        PH4["Ph₄"]

        PC --> PG --> RA
        RG --> RA
        PH4 --> RA
    end

    subgraph A1037["1037"]
        direction TB
        G27((27))
        G28((28))
        I["I"]
        SB9["SB9"]
        G29A((29))
        G29B((29))
        SB10["SB10"]
        G52((52))
        G30((30))
        SB11["SB11"]

        G27 --> G28 --> I
        G29A --> G29B --> I
        G52 --> G30 --> I
        I --- SB9
        I --- SB10
        I --- SB11
    end

    RA --> G27
    SHIFT --> EQ["=1"]

    RD["Read Data<br/>(From HAWK)"] --> EQ
    EQ --> A1[A]

    PH5["Ph₅"] --> A1
    READ["Read"] --> A1
    SL["SL<br/>(Read clock)"] --> A1

    A1 --> A2[A]
    M3["M3 Compare test"] --> A2
    A2 --> G29A

    CL["CL<br/>(Read clock)"] --> T["600 ns"]
    T --> A3[A]
    PH5 --> A3
    A3 --> G52

Figure 6.3. Status Generation, SB9 - 11


Page 48

6-9

6.1.11 SB10 — Compare Error

A compare test may be specified by setting Bits 11 and 12 in the control word.

                 :
                 :
          LDA (014000
           IOX 505
                 :
                 :

M3 (compare test) will then be activated and the data field in Phase 5 recorded on the disk will be compared bit by bit with a specified memory data buffer.

If unequal bits are found the exclusive OR will output a "1" and SB10 will set indicating compare error.

6.1.12 SB11 — DMA Channel Error (Missing Clocks)

Refer to Figure 6.4.

SB11 will set if one clock is missing in Phase 5. The length of a data cell is 400ms, and if one clock is missing the 600ms one shot will time out and set Status Bit 11 (SB11).

6.1.13 SB12 — Transfer Complete

Refer to Figure 6.4.

Prior to a data transfer (read or write) the word counter will be set to the number of words to be transferred. (Minimum — 200₈; Maximum 6,000₈)

LDA (Number of words to be transferred)
IOX 507

The word counter will be counted down for each word transferred.

When the word count of zero comes up and the following sector pulse occurs, SB12 will set, indicating transfer completed.

6.1.14 SB14 — Transfer ON

Refer to Figure 6.5.

SB13 (Transfer ON) is active when performing a Read or a Write transfer — indicated by the Read or the Write gate being active. That means that any data transfer to and from the HAWK will set SB13.


Page 49

6-10

flowchart LR
    subgraph S1014["1014"]
        WCG[Word<br/>count<br/>generator]
        N46((46))
        WCG --> N46
    end

    subgraph S1037["1037"]
        N47((47))
        WCZ[WCZ]
        GWCZ[▷]
        A[A]
        SECT[Sect]
        GSECT[▷]

        N47 --> WCZ --> GWCZ --> A
        SECT --> GSECT --> A
    end

    subgraph S1013["1013"]
        N22A((22))
        N22B((22))
        N31((31))
        COMPL["Compl̅"]
        I12[I]
        SB12["SB̅12"]
        MDB["3 st."]

        A --> N22A --> N22B
        N22B --> N31
        N31 --- COMPL
        N31 --> I12 --> SB12 --> MDB
    end

    subgraph S1107A["1107"]
        TEST[Test<br/>circuitry<br/>in test<br/>mode]
        IT[I]
        N32T((32))
        N34((34))

        TEST --> IT --> N32T --> N34
    end

    subgraph S1036["1036"]
        HAWK[From<br/>HAWK]
        ONCYL["On cylinder"]
        N23((23))
        N22C((22))
        I14[I]
        N33A((33))
        N33B((33))
        SB14["SB 14"]

        HAWK --> ONCYL --> N23 --> N22C --> I14 --> N33A --> N33B --> SB14 --> MDB
    end

    subgraph S1107B["1107"]
        WRITE["Write gate"]
        READ["Read gate"]
        GIW[▷]
        GIR[▷]
        I13[I]
        TRANSFER["Transfer ON"]
        N32A((32))
        N32B((32))
        SB13["SB 13"]

        WRITE --> GIW --> I13
        READ --> GIR --> I13
        I13 --> N32A --> N32B --> SB13 --> MDB
        TRANSFER --- N32B

        MB15["MB 15"]
        LCW["LCW"]
        LCWT["(Load control<br/>word)"]
        SCDR["S<br/>C D<br/>C<br/>R"]

        MB15 --> SCDR --> MDB
        LCW --> SCDR
        LCWT --- LCW
    end

    N46 --> N47
    N34 --> SECT
    SECTOR["Sector clocks<br/>from disk drive."] --> IT

    MDB --> MDB12["MDB12"]
    MDB --> MDB13["MDB 13"]
    MDB --> MDB14["MDB 14"]
    MDB --> MDB15["MDB 15"]
       .-^^^^^^^^-.
     .'            '.
    /   []      []   \
   | []            [] |----< sensor
   |                  |
    \   []      []   /
     '.            .'
       '-.______.-'      .----.
                          |    |
                          |    |
                          '----'

Figure 6.4: Status Generation, SB12 - 15


Page 50

6-11

6.1.15 SB14 — ON Cylinder

Refer to Figure 6.5.

SB14 is set directly from "ON Cylinder" from HAWK. "ON Cylinder" means that the read/write heads have reached the cylinder address last issued from the controller. SB14 will be inactive when the Read/Write heads are moving.

6.1.16 SB15 — Bit 15 Loaded by Previous Control Word

SB15 will set if Bit 15 was set in the previous control word issued. (Bit 15 in control word specifies "Write Format".)


Page 51


Page 52

7-1

7 THE CONTROL WORD

Various control functions and operations in the controller and the HAWK will be dictated from the CPU via the control word. The control functions are set by a:

          .
          .
          .
       LDA (Mask
       IOX 505
          .
          .
          .

The bit assignment for the control word is as follows: Bit 0

Bit Assignment
0 Enable interrupt on device ready for transfer
1 Enable interrupt on errors
2 Activate device
3 Test Mode
4 Device Clear
5 Address Bit 16
6 Address Bit 17
7 Not assigned
8 Not assigned
9 Unit select
10 Unit select
11 Device operation
12 Device operation
13 Marginal recovery
14 Not assigned
15 Write format

Unit Select Code

Bit 10 Bit 9
0 0 Unit number 0
0 1 Unit number 1
1 0 Unit number 2
1 1 Unit number 3

Device Operation Code

Bit 12 Bit 11
0 0 (M0) Read Transfer
0 1 (M1) Write Transfer
1 0 (M2) Read Parity
1 1 (M3) Compare

Page 53

7-2

7.1 DETAILED DESCRIPTION

The operation performed as a function of the various control word bits will be discussed and illustrated when required.

7.1.1 CW0 — Enable Interrupts on Device Ready for Transfer

When a

SAA 1
IOX 505

is executed the "Device Interrupt Enable" FF will set. (Refer to Figures 6.1 and 6.2.) When CW0 is set device interrupts may come through and drive the interrupt line (Level 11).

7.1.2 CW1 — Enable Interrupt on Errors

When a

SAA 2
IOX 505

is executed control word bit 1 sets. (Refer to Figures 5.1 and 5.2.) Interrupt from various error sources may now come through and drive the interrupt line (Level 11).

7.1.3 CW2 — Activate Device

Refer to Figure 7.1.

A    SAA 4
     IOX 505

will set CW2 and set the "Busy" FF. This will be indicated by the "OPIND" being lit. The LED-diode is located on the 1107 card and a 300ms one shot (time-out) is triggered. The Busy should not be set for more than 300ms. (Refer description of Status Bit 6, SB6, Chapter 6.1.7.)

The device activation is performed by removing the reset condition for the "Read Gate" and enable resetting of the EQUALDFF. Since CLEAR = BUSY the EQUALDFF will be cleared when the read/write heads arrive at the addressed sector. This is indicated when the EQUAL signal is active. An active "EQUALD" signal is one of the conditions for setting the "Read Gate" and the "Write Gate". Without Read or Write gate active, no data transfer can take place to and from the HAWK.

CW2, when active, will enable for any Read or Write operation.

ND-11 010 01


Page 54

7-3

flowchart LR
    MDB2["MDB 2<br/>CW<br/><br/>S<br/>cd<br/>△<br/>R"]
    C1["I"]
    N92A(("92"))
    N92B(("92"))
    C2["I"]
    N37A(("37"))
    N39(("39"))
    C3["I"]
    TMO["Time out<br/>300 ms<br/><br/>S<br/>△<br/>R"]
    A["A<br/><br/>S B 6"]
    C4["I"]
    N41(("41"))
    C5["I"]
    N62(("62"))
    N69(("69"))
    LED["LED"]
    P5["+5 v"]
    R1["[resistor]"]
    READ["Read gate<br/><br/>S<br/>cd<br/>△<br/>R"]
    WRITE["Write gate<br/><br/>S<br/>cd<br/>△<br/>R"]
    EQ["Command<br/>for<br/>net-<br/>work"]
    N37B(("37"))
    N36(("36"))
    SEL["I"]
    ADDR["Selector address<br/>(or block address)"]
    OUT["Selector outputer on HAWK"]
    EQUIP["EQUIPMENT"]

    MDB2 -->|"BUSY"| C1 --> N92A --> N92B -->|"B START"| C2 --> N37A --> N39 --> C3
    C3 -->|"Clear"| TMO
    TMO --> A
    A --> C4 --> N41
    P5 --> R1 --> LED --> N69 --> N62 --> C5 --> N41
    N41 --> READ
    N41 --> WRITE
    N41 --> EQUIP
    EQ --> N37B --> N36 --> SEL --> ADDR
    EQ --> OUT
    ADDR --> EQUIP
    OUT --> EQUIP

    subgraph S1039["1039"]
        P5
        R1
        LED
        N69
        N62
        C5
    end

    subgraph S1107["1107"]
        EQ
        N37B
        N36
        SEL
        ADDR
        OUT
    end

See fig. 6-2

Figure 7.1: Active Device — Illustration


Page 55

7–4

7.1.4 CW3 – Test Mode

The controller will be set in the Test Mode of operation by executing:

SAA 10
IOX 505

This mode of operation simplifies check-out and maintenance. In test mode the basic parts of the controller operate in the same way as during a normal disk transfer, without a disk unit being connected.

NOTE: If a disk unit is connected to the controller, the unit should be stopped and powered down before running test mode.

While the controller is still in test mode it must substitute:

  • The clocks from the unit (refer to Figure 7.2.)
  • The serial data from the unit.(refer to Figure 7.2.)
  • Sector pulses from the unit and (refer to Figure 7.3.)

    Inhibit (disable)

  • Error conditions from the unit (refer to Figure 7.4.)

The error conditions are:

  1. Ready → Ready

  2. Fault conditions

  3. Seek Errors

7.1.4.1 Clock and Data Substitutions

Refer to Figure 7.2.

Read clocks (CL) are substituted by a crystal oscillator producing clock pulses at a frequency of 2.5MHz (equivalent to a data cell of 400ns).

The data will be generated by a data pattern generator. The inputs are taken from a bit counter counting the clock pulses. The pattern generator will alternatively generate a 0-1-0-1, etc. and a 1-0-1-0, etc. pattern for alternating memory words. The alternated assembled words will then be:

125252₈ and
052525₈

ND-11.010.01


Page 56

7-5

flowchart LR
    subgraph P1013["1013"]
        MDB["MDB 3"] --> LC["S<br/>CD<br/>C<br/>R"]
        LCW["LCW"] --> LC
        LOAD["(Load<br/>control<br/>word)"] --> LC
        LC -->|Test̅| P23A(("23"))

        RC["Read clock<br/>from HAWK RC̅"] --> P15(("15")) --> P14(("14")) --> I_RC["I"]
        XO["Crystal<br/>oscillator"] --> P25(("25")) --> P24(("24"))
        RD["Read data<br/>from HAWK"] --> P21(("21"))
        BC["From bit<br/>counter"] --> P4(("4")) --> TPG["Test<br/>pattern<br/>generator"]
    end

    subgraph P1039["1039"]
        P23B(("23")) --> I_TEST["I"]
        I_TEST --> A1["A"]
        P23B --> A2["A"]

        I_RC --> A2
        P24 --> A1

        A1 --> I_CL["I"]
        A2 --> I_CL
        I_CL -->|CL (Read clock)| CLOUT[""]

        P21 --> P20(("20")) --> A3["A"]
        TPG --> A4["A"]

        P23B --> A3
        P23B --> A4

        A3 --> I_DRD["I"]
        A4 --> I_DRD
        I_DRD -->|DRD (Serial read<br/>data)| DRDOUT[""]
    end

    P23A --- P23B
    P15 --- P14
    P25 --- P24
    P21 --- P20

    R73["Ref. fig. 7.3<br/>1036"] -.-> P23A
    R74["Ref. fig.<br/>7.4"] -.-> P23B

    style P1013 fill:none,stroke-dasharray: 8 8
    style P1039 fill:none,stroke-dasharray: 8 8
    style CLOUT fill:none,stroke:none
    style DRDOUT fill:none,stroke:none

Figure 7.2: Clock and Data — Substitution

ND-11.010.01


Page 57

7–6

flowchart LR
    subgraph B1013["1013"]
        direction TB
        R72["Ref. fig. 7.2"] --> N23(("23"))
    end

    IDX["Index<br/>(From HAWK)"] --> T["T"]
    T --> RIN["R"]
    SC["Sector<br/>clock"] --> CIN["C"]

    CNT["5 bit sector counter"]
    RIN --> CNT
    CIN --> CNT

    N23 -->|Test| OSC["800 Hz<br/>Sector<br/>clock<br/>oscillator"]

    CNT --> Q5(("5"))
    Q5 --> TSC["TSC0–4"]

    FSH["From sector counter<br/>in HAWK"] --> F5(("5"))
    F5 --> REC["RECEIVER"]
    REC --> R5(("5"))

    R5 --> MUX0["0"]
    TSC --> MUX1["1"]

    MUX["G0<br/>G1<br/><br/>MAX"]
    MUX0 --> MUX
    MUX1 --> MUX

    MUX --> M5(("5"))
    M5 -->|A| COMP["Comp.<br/>network"]

    SADDR["Sector addr.<br/>(part of block addr.)"] -->|B| COMP

    COMP -->|A = B| ANDLOW["A"]
    RG["Read gate"] --> ANDLOW
    OC2["On cyl"] --> ANDLOW
    ANDLOW -->|COMPA| OUT[""]

    OSC -->|Ext. sect.| ANDTOP["A"]
    OC1["On cylinder"] --> ANDTOP
    ANDTOP -->|EQUAL| N37(("37"))

    OSC --> SC

Figure 7.3: Sector Clock — Substitution


Page 58

7-1

flowchart LR
    R46((46)) -->|Ready| A1[A]
    R23((23)) -->|Test| A1
    R23 --- T1
    T1 --> A2[A]
    R26((26)) -->|DIERR| A2
    A1 --> I[I]
    A2 --> I
    I -->|R BUSY| R7a((7))
    R7a --> R4((4))
    R7a --- R7b((7))

    L1013["1013<br/>Ref.<br/>fig. 7.2"]
    L1013 --- R23

    R4 --- X1013["1013"]
    R7b --- X1039["1039"]

Figure 7.4: Disable of Unit Error Condition


Page 59

7-8

7.1.4.2 Sector Substitutions

The output of a 800Hz sector clock oscillator is used in Test mode to update the sector counter. The term EQUAL and COMPA will be activated when the sector counter reaches a count specified in sector address (part of the block address). Refer to Figure 7.3.

7.1.4.3 Read Operation in Test Mode

In order to perform a Test Read Operation the "Block Address Register" must be loaded with the address of:

125252₈

which will be done by a:

        LDA (125252
        IOX 503.

In phase 2 of the addressed sector the entire Block Address will be compared with the address read from the disk, in this case from the data pattern generator.

Address mismatch (SB8) will occur if the Block Address is different from the data pattern generated when a sector address compare occurs (COMPA).

For proper operation the data buffer in core must be checked.

Refer to the normal read operation for further details.

7.1.4.4 Write Operation in Test Mode

Prior to a Test Write operation the output pattern must be set up in a data buffer in core.

For a good check of the data a "Compare Mode" must be specified (described later) along with the Test Mode.

In this combined mode of operation the data written will be compared bit by bit with the output from the data generator. Also, here the Block address of 125252₈ must be specified.

The data buffer must then be set up with:

        :
     125252
     052525
     125252
        :
        :
        etc.

[illegible]


Page 60

7-9

If a data compare error occurs SB10 will set.

Refer to Chapter 7.3 – "Write Operation" for further details.

7.1.5 CW4 – Device Clear

Refer to Figure 7.5.

A

        SAA 20
        IOX 505

will set CW4 and a device clear will be performed. Status bits 10 - 12 (SB10 - Compare Error, SB11 - Missing Clock and SB12 - Transfer Complete) will be cleared. The "Device Request" and "Busy" will also be reset. A "Return-to-Zero-Seek" (RTZS) will be commanded provided a time-out occurred.

NOTE: If a "Time-out" (SB6) has occurred the "Busy" has already been reset. Refer to Figure 6.2.


Page 61

7-10

                                      1014                 1013

        1022

                                                     +-----------+    Write protect violate
                                                     |   SB 5    |
                                                     +-----------+    Time out
                                                     |   SB 6    |
                                                     +-----------+    Hardware error
                                                     |   SB 7    |
                                                     +-----------+    Address mismatch
                                                     |   SB 8    |
                                                     +-----------+    Parity error
                                                     |   SB 9    |
                                                     +-----------+    Compare Error
                                                     |   SB 10   |
                                                     +-----------+    Missing clocks
                                                     |   SB 11   |
                                                     +-----------+    Transfer complete
                                                     |   SB 12   |
                                                     +-----------+

                         Busy
                       +------+
                       |      |
                       |      |
                       |      |
                       +------+
                          R
                          |
                          |
MDB 4 -----> +------+    +------+                  (72)    (72)    (72) -----> R
             |      |--->|      |-------------------+-------+-------+        +------+
CW ---------> |  A   |    |  I   |                                           |      |
             |      |<---|      |                                           |      |
             +------+    +------+                                           +------+
                            |
                            |
                            +------------------------(58)----(58)---+
                                                                      |
                                                                      +--------> R
                                                                               +------+
                                                                               |      |
                                                                               +------+
                                                                      |
                                                                     +--+
                                                                     |  |
                                                                     +--+
                                                                      |
                                                                    (54)  MC
                                                                      |
                                                                    (55)
                                                                      |
                                                                      +----------> A
                                                                                  +------+
SB 6 --------------------------------------------------------------------------->|      |
Time out                                                                           |  Π   |-----> RTZ
                                                                                   |      |       Return
                                                                                   +------+       to zero
                                                                                                  seek.

                                      C̅F  Clear
                                      M̅C̅M

                                                        Device request

                                                        1037
Status bit Description
SB 5 Write protect violate
SB 6 Time out
SB 7 Hardware error
SB 8 Address mismatch
SB 9 Parity error
SB 10 Compare Error
SB 11 Missing clocks
SB 12 Transfer complete

Figure 7.5: Device Clear Illustration

ND-11.010.01


Page 62

7–11

7.1.6 CW5-6 – Address Bits 16 and 17

1022

flowchart LR
    MDB5[MDB 5] --> A[CD<br/>C<br/>R]
    CW5[CW̅] --> A
    MDB6[MDB 6] --> B[CD<br/>C<br/>R]
    CW6[CW̅] --> B
    A --> S[3 st.]
    B --> S
    S --> N53((53))
    S --> N54((54))
    N53 --> BA16[BA16 (Bus Addr.)]
    N54 --> BA17[BA17̅]

Figure 7.6: Bus Address bits 16 and 17

Bus Address bits 16 and 17 can be specified by CW5 and CW6.

NOTE: One data transfer has to take place within one (by CW5 and CW6) specified 64K memory bank.

7.1.7 CW7-8 – Not Assigned

7.1.8 CW9-10 – Unit Select

1107

flowchart LR
    N75((75)) --> MDB9[MDB 9]
    N54((54)) --> C1
    N54 --> C2
    N77((77)) --> MDB10[MDB 10]

    MDB9 --> L1[CD<br/>C<br/>R]
    C1 --> L1
    H1((H)) --> L1

    MDB10 --> L2[CD<br/>C<br/>R]
    C2 --> L2
    H2((H)) --> L2

    L1 --> N28A((28))
    N28A --> N28B((28))
    N28B -->|MB 9| D[DCDR<br/>x-y]

    L2 --> N30A((30))
    N30A --> N30B((30))
    N30B -->|MB 10| D

    D -->|0| U0[Unit select 0]
    D -->|1| U1[Unit select 1]
    D -->|2| U2[Unit select 2]
    D -->|3| U3[Unit select 3]

    U0 --> HAWK[To<br/>HAWK]
    U1 --> HAWK
    U2 --> HAWK
    U3 --> HAWK

Figure 7.7: Unit Selection


Page 63

7-12

By CW9 and CW10 one out of four units may be selected in accordance with the table below:

CW10 CW9 Unit No. Selected
0 0 Unit number 0 selected
0 1 Unit number 1 selected
1 0 Unit number 2 selected
1 1 Unit number 3 selected

NOTE 1: For any communication between a unit and the controller, the unit must be selected.

NOTE 2: It should also be noted that one unit is always selected, i.e. one unit selection is dropped only be selecting another.

7.1.9 CW11-12 — Device Operation

                 1013                                      1039                 1107
                  ____                                      |                    |
                                                            |                    |
                       +--------+                           |                    |
                       |  X Y   |                           |                    |
                       | DECDR  |                           |                    |
                       |        |                           |                    |
                       |      0 |>---- M0 ----(6)----(6)----+----[ ]----(54)----(59)----<|----[ ]----+5 v
                       |        |                                                            Read Ind
             MB 11 ----|      1 |>---- M1 ----(7)----(8)----+----[ ]----(55)----(57)----<|----[ ]----+5 v
                       |        |                                                            Write Ind
             MB 12 ----|      2 |>---- M2 ----(8)---(10)----+----[ ]----(60)----(65)----<|----[ ]----+5 v
                       |        |                                                            Parity Ind
                       |      3 |>---- M3 ----(9)---(12)----+----[ ]----(62)----(69)----<|----[ ]----+5 v
                       +--------+                                                            Comp. Ind
                                                            |                    |
                                                            |                    |
                                                            |                    |

Figure 7.8: Mode Indication

Four modes of operation may be specified by CW11-12 in accordance with the table below. The appropriate LED located on the 1107 card will be lit. Refer to Figure 7.6.

CW12 CW11 Mode Operation
0 0 Read Transfer
0 1 Write Transfer
1 0 Read Parity
1 1 Compare Test

ND-11.010.01


Page 64

7-13

7.2 MO – READ TRANSFER

Refer to Figure 7.5 and Chapter 3.1.1, – Sector Format - General Discussion. During a read transfer the data found in phase 5 of the sector format is sent to the controller as a serial bit stream, assembled in the controller to 16 bits words and set to memory. As each word is sent to memory the

  • "Core Address Register" is incremented and
  • "Word Counter" decremented.

If the word count specified is greater than 128 (one sector) the data read operation will resume on the following sector, Phase 5, until the

  • word counter is zero and
  • an interrupt is generated if enabled.

(A maximum of 2410 sectors can be read in one operation.)

7.2.1 Detailed Description

During the initialization process the "Block Address" is loaded, holding the values for:

  • Cylinder Address
  • Head Selection
  • Sector Address

Refer to Figure 7.7 for the following discussion.

When CW3 sets (activate device) a "Track Address Strobe" is generated strobing the Cylinder Address (Block Address 6 - 14) into the Cylinder Register in the HAWK, provided the heads were not moving (ON Cylinder). The unit will perform a seek operation to the specified cylinder. The sector address specified in the Block Address 0 - 5 will be compared with the sector address continuously read from the unit. The "Equal" signal will clear the Equald FF activating the "EQUALD" signal. The "Read Enable" FF (Read gate) will set 128 bits into phase 1. (This will be done whether or not a read or write is specified.)

The Read gate will enable the read circuitry in the unit. The speed/frequency and phase synchronization will be established. The controller will now enable data and clocks to the controller after counting 16 "clear zeros".

As we are still in Phase 1 (the pre-amble) only "0"'s are written, i.e. only clocks are received at the controller. A term "Search" is generated at the same time as the "Read Gate" is produced enabling a 16 bits clocks counter. 16 new clock pulses will be counted and the carry output will clear the Enable ONE FF producing the term "Enable One". The first data bit appearing on the data line will trigger the "ONE CATCH". The phase generator will go from Phase 1 to Phase 2.


Page 65

7–14

Figure 7.9: Read Transfer

                                                                                         MB00-15
                                                                                             ^
                                                                                             |
                         +--------------+      +--------------+      +--------------+      +-------+
                         | Shift        |----->| Real         |----->| Driver       |----->|       |
                         | network      |      | Reg.         |      |              |       |       |
                         +--------------+      +--------------+      +--------------+      +-------+
                                |                    |                     |
                                |                    |                     +---- EN
                                |                    |
                                +---- DRD

      Device request
             |
             v
       +-----------+      Device request
       | INGRANT   |-----------------------------+
       +-----------+                             |
             |                                   v
             |                              +---------+
             |                              | A       |
             |                              +---------+
             |                                   |
             +-----------------------------------+------------------> INPUT CONNECT
                                                 |
                                                 +------------------> Data bus and Memory
                                                                      control signal


  (Delay will vary with bus and memory activity)
  Device request asks for permission to use Data bus and Memory
  control gives permission by issuing a INGRANT signal


  -------------------------------------------------------------------------------
  | 1012                                                                    |
  |                                                                          |
  |  1013             1032                1014                1022         |
  |                                                                          |
  |  +---+--(5)--(6)--+      +-----------+      +------------+             |
  |  | I |            |      | Word      |      | Word       |             |
  |  +---+            |      | counter   |      | counter    |             |
  |                   |      +-----------+      +------------+             |
  |                   |             |                   |                    |
  |                   |             |                   +--- WCZ            |
  |                   |             |                                        |
  |                   |      +-----------+                                  |
  |                   |      | A         |                                  |
  |                   |      +-----------+                                  |
  |                   |             |                                        |
  |                   |      +-----------+                                  |
  |                   |      | I         |                                  |
  |                   |      +-----------+                                  |
  |                   |             |                                        |
  |                   |       write from DRQ                                |
  |                   |       increment word counter                         |
  |                   |       (Data channel strobe)                          |
  -------------------------------------------------------------------------------


  -------------------------------------------------------------------------------
  | 1036                                                                    |
  |                                                                          |
  |  MS (activate)                                                          |
  |      |                                                                   |
  |      +--- HS                                                             |
  |      |                                                                   |
  |      +--- ON CYL                                                        |
  |      |    (ON cylinder)                                                 |
  |      |                                                                   |
  |      +--- TAS (track gate strobe)                                       |
  |                                                                          |
  |  DA 6-14                                                                 |
  |  Black Address                                                           |
  |                                                                          |
  |  DA 0-4                                                                  |
  |                                                                          |
  |  +----------------+       +----------------+                            |
  |  | Sector         |       | I              |                            |
  |  | homework       |       +----------------+                            |
  |  +----------------+                |                                   |
  |          |                          v                                   |
  |          +--------------------> Search                                  |
  |                               +-----------+                             |
  |                               | I         |                             |
  |                               +-----------+                             |
  |                                    |                                    |
  |                                    v                                    |
  |                               +-----------+                             |
  |                               | I         |                             |
  |                               +-----------+                             |
  |                                    |                                    |
  |                             Search address                              |
  |                             from HAWK                                    |
  |                                                                          |
  |  1037                                                                    |
  |  ONLY                                                                    |
  |  Clear (Busy)                                                            |
  |  From HAWK                                                               |
  |  To HAWK (servo)                                                         |
  |  To HAWK                                                                 |
  -------------------------------------------------------------------------------


  -------------------------------------------------------------------------------
  | 1039                                                                    |
  |                                                                          |
  |  Bit counter                                                             |
  |       |                                                                  |
  |       +--- B15 Bit count (Bit of 16)                                    |
  |                                                                          |
  |  Read enable                                                             |
  |       |                                                                  |
  |       v                                                                  |
  |  +-----------------------+                                               |
  |  | A                     |                                               |
  |  | (Read check)          |                                               |
  |  | Write format WE       |                                               |
  |  +-----------------------+                                               |
  |       |                                                                  |
  |       +----------------------- PR5                                      |
  |                                                                          |
  |  Write                                                                  |
  |       |                                                                  |
  |      Ph 4                                                               |
  |                                                                          |
  |  Read                                                                   |
  |       |                                                                  |
  |      Ph 1                                                               |
  |                                                                          |
  |  INS                                                                    |
  |  Sector pulse                                                            |
  |  (Sector pulse)                                                         |
  -------------------------------------------------------------------------------


  -------------------------------------------------------------------------------
  | 1038                                                                    |
  |                                                                          |
  |  WK                                                                      |
  |  "will enable for read                                                   |
  |   window will be syn-                                                    |
  |   sped and phase and                                                     |
  |   zeros counted to                                                       |
  |   do a will be enabled"                                                  |
  |                                                                          |
  |  Read gate                                                              |
  |       |                                                                  |
  |       v                                                                  |
  |  +-----------------------+                                               |
  |  | Test                  |                                               |
  |  +-----------------------+                                               |
  |       |                                                                  |
  |       +--- Read Data                                                      |
  |              |                                                           |
  |              +--- A --- I --- A --- Read Data                           |
  |                                                                          |
  |  +-----------------------+                                               |
  |  | Test Data Pattern     |                                               |
  |  | generator             |                                               |
  |  +-----------------------+                                               |
  |                                                                          |
  |  +-----------------------+                                               |
  |  | CHECK                  |                                               |
  |  | SUM                    |                                               |
  |  | GENERATOR              |                                               |
  |  +-----------------------+                                               |
  |                                                                          |
  |  AWK                                                                    |
  |  RD (Read Data)                                                         |
  |  Test                                                                   |
  -------------------------------------------------------------------------------


  -------------------------------------------------------------------------------
  |  Read Transfer                                                          |
  |                                                                          |
  |  DRD                                                                     |
  |       |                                                                  |
  |       +--- A --- I --- A --- ENABLE ONE                                 |
  |                                      |                                  |
  |                                      +--- CL (Read clock)                |
  |                                                                          |
  |  Counter zeros                                                          |
  |       |                                                                  |
  |       +--- ENABLE ONE                                                    |
  |                                                                          |
  |  Phase generator                                                        |
  |       |                                                                  |
  |       +--- ONE CATCH                                                     |
  |                |                                                         |
  |                +--- 1029                                                 |
  |                |                                                         |
  |                +--- 1027                                                 |
  |                                                                          |
  |  Read transfer                                                           |
  |       |                                                                  |
  |       +--- A --- I --- A                                                 |
  |                                                                          |
  |  Phase 1 BC 7                                                           |
  |  (bit 28)                                                               |
  |                                                                          |
  |  Search for the first                                                   |
  |  (search bit)                                                           |
  |                                                                          |
  |  Will change from phase 1 to                                            |
  |  phase 2 or from phase 3 to 4                                           |
  -------------------------------------------------------------------------------


  1021   1022   1023   1024   1027   1029   1032   1036   1037   1038   1039

Page 66

7–15

flowchart TB
    SP["Sector pulses"]

    subgraph PH[" "]
        direction LR
        P1["Ph 1"] --- P2["Ph 2"] --- P3["Ph 3"] --- P4["Ph 4"] --- P5["Ph 5"] --- BRK["//"] --- P6["Ph 6"] --- P7["Ph<br/>7"] --- P8["Ph 8"]
    end

    IR["If read"] --> A1["A"]
    A1 --> P4

    RGA["Read gate<br/>activates"] --> P8

    WCZ["If WCZ<br/>(Word count of zero)"] --> A2["A"]
    A2 --> P8
    D["deactivates"] --> P8

Figure 7.10: Read Gate Activation

In Phase 2 the “Block Address” is read off the disk and compared bit for bit with the “Block Address Register”.

If address mismatch occurs SBB will set at the beginning of Phase 3.

The address read off the disk in Phase 2 is fed through the “Check Sum Generator”. The check word generated should be equal to the check sum read off the disk in Phase 3. If a parity error on the address occurs (the check sums are not equal) SB9 will set in the beginning of Phase 4.

At the beginning of Phase 4 the Read Gate will clear.

The sequence of events up to the end of Phase 3 and the beginning of Phase 4 is the same for a read or a write sequence.

Since read (M0) is now specified the read gate will be turned back on, 128 bits into Phase 4.

The remainder of the sequence of events in Phase 4 are equal to those in Phase 1.

Phase 5 will be entered when Phase 4 is terminated with a “ONE CATCH”.

In Phase 5, 128 words are assembled and sent to the CPU. This is accomplished by shifting the serial data bits into a shift network located at the 1014 card.

When the bit counter reaches a count of 15 (16 bits are assembled) the following takes place:

  • A data channel strobe — DCS — is produced to strobe the assembled data word in the shift network into the Read Register which serves as a one word data buffer.

Page 67

7–16

  • The "Word Counter" will be decremented, if not already at zero.
  • Initial request will be originated and sent out on the Bus as "Device Request".

The "Device Request" asks "Memory Control" (located in the CPU) for permission to use the Bus and Main Memory. The memory control will issue an "Ingrant" signal when the request has been granted. The "Input" and "Connect" signal will be activated and the "Read Register" will be enabled onto the bus on the way to the main memory.

The same sequence will take place each time the bit counter has counted 16 new bits.

If more than one sector should be read in one operation the EQUALD signal will remain active until "ON Cylinder" or "Busy" is dropped, i.e., if a multisector data transfer is specified (WC > 200₈). Error in the block address (SB8, address mismatch) is reported only in the beginning of Phase 3 of the first sector. This is accomplished by dropping the term "COMPA" (ON Address sector) as a result of the sector counter being incremented.

ND-11 010 01


Page 68

7.3 M1 – WRITE TRANSFER

The sequence of events for a write operation are identical to those appearing in a read operation up to the beginning of Phase 4. Refer, thereforea to the text for a read transfer and Figure 7.7 and 7.8.

When over the addressed sector the address recorded will be read (Ph2) and checked (Ph3). If “Address Mismatch” occurs it will be reported (SB8) in the beginning of Phase 4, when the “read gate” will also drop. Refer to Figure 7.1 for the following discussion.

The “write gate” will set 16 data cells into phase 4. Only zeros are recorded in this phase up to the bit count of 215 where a one bit (one catch) is recorded and phase 4 terminates.

In phase 5 data from the CPU will be shifted from the shift network located on the 1014 card. That implies that a data word from memory must have been loaded into the shift network before entering phase 5. This is accomplished by the following sequence of events:

  • The first “Initial Request” is sent to Memory Control (located in the CPU) as a “DMA request” when “Busy” is set by an “Activate Device” (CW2). This occurs provided the word counter is non-zero and Read is not specified.
  • “Memory Control” will return the Ingrant when Memory and Bus are not busy.
  • The Ingrant signal will operate the Grant-selector (located on 102 card) to pick the lower inputs.
  • The “Connect” signal will be passed on to the Bus along with the Memory Address.

When the Data is read out from memory it will be sent along with the “DMA Data Ready” which will strobe the data into the “Data Write Register” located on the 1014 module.

The Data word will be loaded into the shift network by the term PL (parallel load) to be activated in the beginning of Phase 1 of the addressed sector. The data word will wait there until entering Phase 5. SHTE (shift enable) is then activated.

The data word will be exchanged as serial data (DW&). When the first bit is shifted in the shift network the Data Write Register is ready for a new word from memory and a new “Request” is generated. When the 16th bit has been shifted (indicated by B15 → B15) a new PL (parallel load) is applied.

The Data Write Register must then contain the new data word requested 15 clock pulses before. The decrementation of the word counter will take place for every “Request” generated.

ND-11.010.01


Page 69

Figure 7.11: Write Transfer

flowchart LR
    subgraph P1037["1037"]
        WSP((WSP))
        N5((5))
        N4((4))
        N7((7))
        N9((9))
        N79((79))
        N76((76))

        WF["WF<br/>(Write complete)<br/>(Busy)"]
        WCLK["Write clock<br/>CL<br/>BO<br/>Ph1"]
        EQ["Write enable<br/>Equalid<br/>[illegible]"]
        NW["Normal<br/>write"]
        SP["Selector pulse<br/>Sec<br/>WF"]
        BC["Busy<br/>clear"]

        MO["MO<br/>WS<br/>(Busy, Busy)<br/>Sec<br/>WF"]
        WE["Write<br/>EN"]
        WEN["Write EN<br/>Write"]
        STR["[illegible]"]
        WC["WORD<br/>COUNTER"]
        WC2["WCG"]
        IRQ["(Initiate request)<br/>IRQ"]
        DWG["DMA<br/>Data Ready"]
        MREQ["DMA<br/>Request<br/>from memory."]
        DR["Data from<br/>memory."]
        DREADY["Data<br/>ready"]

        WSP --- N4
        N7 --- N9
        N79 --- N76

        N4 --> WF
        N9 --> WF
        N76 --> WF
        WF --> WCLK
        WCLK --> EQ
        EQ --> NW
        SP --> BC
        BC --> EQ

        MO --> WE
        WE --> WEN
        WEN --> WCLK
        WEN --> STR
        STR --> WC
        WC --> WC2
        WC2 --> IRQ
        IRQ --> DWG
        DWG --> MREQ
        MREQ --> DR
        DR --> DREADY
    end

    subgraph P1014A["1014"]
        WCNT["WORD<br/>COUNTER"]
        SLOW["Slow"]
        WCG2["WCG"]
        INIT["(Initiate request)<br/>IRQ"]
        DWC["DWC<br/>Decrement<br/>word counter"]

        SLOW --> WCG2
        WCG2 --> INIT
        DWC --> WCNT
    end

    subgraph P1022["1022"]
        M9((9))
        M51((51))
        M23((23))
        M47((47))
        M52((52))
        M62((62))

        DMAREADY["DMA<br/>Data Ready"]
        ING["IN"]
        DATAREADY["Data<br/>ready"]
        DATAWR["DATA<br/>WRITE<br/>REG."]
        SEL["SELECTOR"]
        SHIFTNET["SHIFT<br/>NET-<br/>WORK"]
        SHIFTREG["SHIFT<br/>REG."]
        SHE["SHTE<br/>(Shift<br/>enabled)"]
        SLCLK["SL<br/>Read<br/>clock"]
        RCLK["RC<br/>(Read clock<br/>from unit)"]

        M9 --> DMAREADY
        M51 --> DMAREADY
        M23 --> ING
        M47 --> DATAWR
        M52 --> DATAWR
        M62 --> DATAWR

        DMAREADY --> ING
        ING --> DATAREADY
        DATAREADY --> DATAWR
        DATAWR --> SEL
        SEL --> SHIFTNET
        SHIFTNET --> SHIFTREG
        SHIFTREG --> SHE
        SHE --> SLCLK
        SLCLK --> RCLK
    end

    subgraph P1030["1030"]
        HAWK["1030 / HAWK"]
        WCLK2["Write clock"]
        WG["Write<br/>gate"]
        DTH["data to HAWK"]
        SEC["security"]
        Pn14["Pn14<br/>B215"]
        Pn25["Pn25<br/>DW7"]
        Pn36["Pn36<br/>C15"]
        Pn7["Pn7<br/>Shift enable"]
        Pn25b((25))
        N42((42))
        N43((43))
        N38((38))

        WCLK2 --> HAWK
        WG --> HAWK
        Pn14 --> HAWK
        Pn25 --> HAWK
        Pn36 --> HAWK
        Pn7 --> HAWK
        DTH --> HAWK
        N42 --> SEC
        N43 --> SEC
        N38 --> WG
        Pn25b --> HAWK
    end

    subgraph P1014B["1014"]
        PL["PL Parallel load"]
        SLW["SL<br/>Write clock"]
        RC["RC<br/>Read clock<br/>(from unit)"]
        TEST["Test<br/>crystal clock"]
        TESTRC["Test<br/>RC"]
        CEN["CHECK<br/>SUM<br/>GENERATOR"]
        A["A"]
        I["I"]

        A --> I
        I --> PL
        PL --> SLW
        RC --> TEST
        TEST --> TESTRC
        TESTRC --> CEN
    end

    subgraph P1029["1029"]
        N21((21))
        N5a((5))
        N4a((4))
        N8((8))
        N9a((9))
        N10((10))
        N13((13))

        N21 --> I
        N5a --> N4a
        N4a --> N8
        N4a --> N9a
        N4a --> N10
        N9a --> N13
    end

Page 70

7–19

If the word counter reaches zero before Phase 5 has terminated, (WC <200₈) no further data will be taken from memory (WC = 0 stops further requests) but the write operation will continue until Phase 5 drops.

The last content of the Data Write Register will then be rewritten 200₈ − WC number of times. When 128 words are written in Phase 5, Phase 6 will be entered where the 16 bits check word on data (Phase 5) is written. Phase 7, consisting of a 'One' recorded, terminates the write operation in this sector.

If a WC >200₈ is specified the write operation will continue in the next sector.

When the word counter reaches zero the “Busy” will clear on the following sector pulse. The EQUALD signal will drop and disable setting of the write gate in the next sector.

flowchart LR
    SP1["Sector pulses"]
    P1["Ph 1"]
    P2["Ph 2"]
    P3["Ph 3"]
    P4["Ph 4"]
    P5["Ph 5"]
    P6["Ph 6"]
    P7["Ph<br/>7"]
    P8["Ph 8"]

    SP1 --- P1
    P1 --- P2 --- P3 --- P4 --- P5 --- P6 --- P7 --- P8

    R1["R"] --> P1
    W1["W"] --> P4
    R2["R"] --> P3
    P8 --> W2["W"]

    GA["Gate activates"] --> P8
    GD["Gate deactivates"] --> P8

R – Read gate

W – Write gate

Figure 7.12: Read/Write Gate Activation


Page 71

7.4 M2 – READ PARITY

7–20

flowchart LR
    DU[Disk unit]
    subgraph Controller
        direction LR
        CSG[Check sum<br/>generator]
        SB[STS<br/><br/>SB 9]
        BB[Bit bucket]
        CSG --> SB
        CSG --> BB
    end
    DU -->|Serial<br/>Data| CSG

Figure 7.13: Read Parity — Data Flow

During this mode of operation the controller will perform a normal read operation (M1) with one exception:

  • No device request will be issued, i.e., no data will be transferred to memory. Refer to Figure 7.7.
flowchart TB
    subgraph R1013["1013"]
        direction LR
        N8((8)) --> N5((5)) --> A[A] --> N66((66))
        IRQ[IRQ] --> A
        IRQT["(Initiate request)"] --- IRQ
        M2["\\(\\overline{M2}\\)"] --- N5
        DR["\\(\\overline{\\text{Device request}}\\)"] --- N66
    end

    subgraph R1037["1037"]
        direction LR
        N7((7)) --> N9((9)) --> I[I] --> W[Write]
        N9 --> R[Read<br/>(Read will be active<br/>when M2 activated)]
        M1["\\(\\overline{M1}\\)"] --- N9
    end

Figure 7.14: Read/Read Parity Differences

ND-11 010 01


Page 72

7-21

The data read in Phase 5 will generate a check word. This check word will be compared with the check word read in Phase 6. If a parity error occurs (missing or extra bits) it will be reported in Phase 7 as “Parity Error” — SB9.

A Read Parity mode of operation may be specified to verify the quality of a data recording (write).


Page 73

7–22

7.5 M3 — COMPARE TEST

flowchart LR
    MM[Main Memory]

    subgraph M1014["1014"]
        SN[Shift<br/>net -<br/>work]
    end

    DD[DISK DRIVE]

    subgraph M1039["1039"]
        EQ["= 1"]
        A["A"]
    end

    MM --> SN
    SN -->|Serial Data| EQ
    DD -->|Serial<br/>Data| EQ
    EQ --> A
    PH5[Ph5] --> A
    A -->|SB10<br/>Compare<br/>Error| CE[ ]

Figure 7.15: Compare Test — Data Flow

In a “Compare test” mode of operation a data field in memory will be compared, bit by bit, with an addressed data field on the unit. SB10 will set if one or more bits were not equal.

See also Figure 5.4 - Status bits 9-11 generation.

A compare test can also be useful with the controller in Test mode. A data field in Main Memory will then be compared, bit by bit, with the output from the data pattern generator.

7.5.1 CW13 — Marginal Recovery

If a read parity error occurs during a Read operation a correct data recovery may be achieved by activating a “Marginal Recovery”. The R/W-head will then search back and forth within the addressed track. A successful read may then be accomplished. (Refer also to “Read Recovery” — Chapter 9.2 in “HAWK - Disk System” manual.)

The term “Marg” is sent to the unit from the 1107 card when CWB is set.

[illegible]


Page 74

7-23

7.5.2 CW14 — Not Assigned

7.5.3 CW15 — Write Format

Prior to normal use a disk pack must be formatted. A special program will accomplish this task. This program will write the “Block Address” on every sector on every cylinder on the disk pack. Seen from the controller, a new operation will be initiated for every track — i.e. 24 sectors will be recorded in one operation.

In order to perform a disk formatting the following must be set up:

  • Write operation specified (M1)
  • Write format specified

    LDA(
    IOX 505
    
  • Transfer format switch located on 1107 card (the corresponding LED will be lit — also located on the 1107 card)

Refer to Figure 7.8 for the following discussion.

The disk unit will seek to the addressed cylinder upon an “Activate Device” (CW3) and when heads are “ON Cylinder” and over the first addressed sector the “Equal’d” signal will become active enabling the “Write Enable” to be set. At start of Phase 1 the Write/Erase gate will be activated.

When the “Activate Device” was commanded the “Busy” will set and the first “initiate Request” will go to “Memory Control” as a DMA request. The “Ingrant” coming back from “Memory Control” will generate “connect”. The “CONNECT” and the “Memory Address” will be sent along on the bus. From main memory comes the requested data word along with “DMA Data Ready” which strobes the data word into the “Data Write Register”.

The data word will be loaded into the shift network in the beginning of Phase 1 by a PL (parallel load).

The next data word is requested by the term “SectW” when the first sector pulse comes up on the addressed sector.

Since the “Write/Erase gate” is turned on in the beginning of Phase 1 the write operation starts. However, only zeros are recorded (preamble) until the bit counter reaches a count of 215.


Page 75

7-24

The “ONE CATCH” will be recorded and Phase 1 de-activates. At the time when Phase 2 comes up the term SHTE (shift enable) will become active and the 16 bits address held in the “shift network” will be shifted out by the write clock. Phase 2 will drop after 16 write clocks. In Phase 3 the check word generated in Phase 2 will be written on the disk. Phase 3 through 7 will be recorded as a normal write operation although the data recorded is not relevant (will be overwritten by the first normal write operation). During formatting the write gate will remain up until “Busy” drops (WC = 0).

During formatting:

  • Only one word is taken from core for each sector — Phase 2 the Block address.
  • 30₈ addresses can be written in one operation.

Page 76

APPENDIX A

DIAGRAMS


Page 77


Page 78

APPENDIX B

SIGNAL DEFINITION LIST


Page 79


Page 80

B-1

APPENDIX B — SIGNAL DEFINITION LIST

Term: Origin: Description:
A12-15 1013 From MB12-15
B0 1039 Bit count of zero
B1 1039 Bit count of one
B15 1039 Bit count of 15
B127 1039 Bit count of 127
B215 1039 Bit count of 215
B2047 1039 Bit count of 2047
BA0-8 CPU Lower 9 busaddress bits
BCO-10 1039 Bit counter output (20 — 210)
BCOMPL 1013 Transfer completed. Same as “COMPL”.
BCY1 1039 Carry output from stage I (count of 15)
BCY2 1039 Carry output from stage II (count of 255)
BD0-15 --- Bus Data 0-15
BERROR 1013 Generation: ERROR → ERR → BERROR
BRBUSY 1013 Generated from “RBUSY” (reset Busy)
BSTART 1022 Same as Busy.
BUSY 1022 Busy is set by CW2 — “Activate Device”
will be cleared when specified operation
has terminated.
C1 1036 Write clock from crystal oscillator
CAR 1022 Load Core Address Register
CART INDEX Unit Index pulse from unit
CEYL Unit ON Cylinder from unit
CF 1022 Clear flags. Generated from: (Activate
device) + (Clear device) + (Master clear)

Page 81

B-2

Signal Definition List, continued

Term: Origin: Description:
CL 1039 Read or Write clock
CLA 1107 Equal address bits (Phase 2)
CLBC 1107 Change phase and clear bit counter. Clock pulse for the phase generator shift network.
CLCC 1039 Read/Write clock in phase 2, 3, 5, or 6.
CLEAR 1037 Same as B̅u̅s̅y̅.
CLINT 1022 Clear interrupt. Generated when “inident” is received and a local interrupt is pending. CLINT will enable the ident code onto the bus.
CLP 1107 Sector clock. Pulse shaped “SCP”.
COMP IND 1039 Controller in “Compare Test” (M3) mode of operation.
COMPA 1107 (ON Addressed Cylinder) · (Read Gate) ·
(ON Cylinder)
COMPL 1037 Transfer completed. Generates BCOMPL (word counter zero and next sector pulse).
CON 1022 ‘Connect’ sent to CPU. Generated from CONNECT.
CONNECT 1022 Connect generated from TCONNECT OR DCONNECT.
CRC Unit Read clock from unit.
CREADY Unit Ready reported from unit.
CW 1022 Control Word.
DATA READY 1022 Generated from “DMA Data Ready”.
DATA WRITE 1036 Encoded data sent to unit as “DWD”.
DB1
DCONNECT 1022 Connect generated from a request being granted (REQUEST · INGRANT).

ND-11 010 01


Page 82

B-3

Signal Definition List, continued

Term: Origin: Description:
DCS 1037 Data channel strobe. Strobes the 16 bits assembled word into a read buffer register.
DEG 1036 Erase gate to unit.
DEQL 1022 Device equal. Generated when the addressed device is found.
DEVICE
REQUEST
1014 Generated by "Initiate Request".
DHS0 1036 Head Select zero (CW5).
DHS1 1036 Head Select one (CW15).
DIEN 1022 Same as SB0.
DIERR 1036 Disk error. Inclusive OR of "Fault" and "Seek Error" from unit.
DINPUT 1022 Data input generated as a function of (READ) · (REQUEST GRANTED).
DMA DATA
READY
CPU Strobe signal for data from memory.
DMA REQUEST 1022 Generated from "Initiate Request" through "Device Request".
DR0 1022 Same as BA0. Used for register type decoding.
DR1 1022 Same as BA1. Used for register type decoding.
DR2 1022 Same as BA2. Used for register type decoding.
DRD 1039 Serial data from unit during read or serial data from test pattern generator in test mode.
DREQ 1022 Granted device request. (REQ · INGRANT)
DRG 1036 Read Gate to unit.
DRTZ 1036 "Return to Zero Seek" command.

Page 83

B-4

Signal Definition List, continued

Term: Origin: Description:
DTAS 1036 Track address strobe to unit. Generated from “TAS”.
DW7 1014 Serial bit output from shift network.
DWC 1037 Decrement word counter
DWD 1036 Encoded data to unit.
DWG 1036 Write gate to unit.
E15 1107 16 equal address bits. (verified on addressed sector.)
EG 1107 End of phase ONE or FOUR.
EI EN 1022 Same as SB1.
EINPUT 1022 Input specified from a read operation.
EN 1014 Enable 16 bits driver to bus.
EQUAL 1107 ON Addressed Sector.
EQUALD 1037 (ON Addressed Sector) (ON Cylinder).
ERASE GATE 1037 ERASE Gate. Enable the erase circuitry in the unit. Same as Write Gate.
ERR 1013 Generated from “ERROR”.
ERROR 1037 Inclusive OR of Errors. (SB5-11) (Same as SB4)
ERROR IND 1039 Error condition(s) occurred.
EXT SECT 1107 Pulse shaped (“SCP”) Sector Clocks.
FAULT Unit Fault condition reported from unit.
FINISHED 1022 Same as SB3.
FORMAT ON 1107 Write Format switch located on 1107-card closed.
IND 1036 Index clock pulse from unit.

ND-11.010.01


Page 84

B-5

Signal Definition List, continued

Term: Origin: Description:
INGRANT CPU Give the DMA permission to use the bus and memory.
INIDENT CPU Timing and identification signal for the address lines when an Ident instruction is executed.
INPUT 1022 “Input” sent to CPU.
INT 1022 Interrupt local interrupt generated on the level specified by the Ident instruction.
IOXE CPU Timing and identification signal for the address lines when an IOX instruction is executed.
IRQ 1037 Initiate Request.
LBLOCK 1013 Load Block Address (IOX 503)
LCW 1013 Load Control Word (IOX 505)
LEV11 1022 Local interrupt generated. Activates interrupt on Level 11.
M0 1013 Read transfer specified.
M1 1013 Write transfer specified.
M2 1013 Read parity specified.
M3 1013 Compare test specified.
MARG 1107 Marginal recovery (initiated from CW13).
MC 1014 Master Clear. Generated from MCM.
MCM 1022 Master Clear. Generated from Master Clear button in CPU or programmed Master Clear (CW4).
MDB0-15 ---- Local data bus.
MIS 1013 Read Block Address.
MS 1037 Pulse generated through transition of $\overline{\text{Busy}} \rightarrow \text{Busy}$.
MSP 1013 Write format (CW15).

Page 85

B-6

Signal Definition List, continued

Term: Origin: Description:
ON CYL 1036 ON Cylinder from unit. Generated from “CEYL”.
ONES CATCH 1037 A “one” detected in phase 1 or 4.
OP IND 1039 Operation indicator. Controller in “Busy” state.
OUTGRANT 1022 Ingrant sent out as outgrant for a device not holding a local request.
OUT IDENT 1022 Inident sent out as outident for a device not holding a local interrupt.
PARITY IND 1039 Controller in “Read Parity” (M2) mode of operation.
PH1 1107 Phase one.
PH2 1107 Phase two.
PH3 1107 Phase three.
PH4 1107 Phase four.
PH5 1107 Phase five.
PH6 1107 Phase six.
PH7 1107 Phase seven.
PH8 1107 Phase eight.
PH14 1039 Phase one or four.
PH25 1039 Phase two or five.
PH36 1039 Phase three or six.
PH47 1039 Phase four or seven.
PH2356 1039 Phase two, three, five, or six.
PH1E 1107 End of phase one.
PL 1037 Parallel load of shift network

ND-11 010 01


Page 86

B-7

Signal Definition List, continued

Term: Origin: Description:
RBUSY 1037 Reset Busy.
RC 1036 Pulse shaped and Phase compensated read clock from unit.
RCAR 1022 Read core address register (IOX 500).
RD 1036 Read data from unit. Generated from “RRD”.
RDA 1013 Read Block Address in Test mode.
READ 1037 Read. Same as Write (WT)
READ DATA 1039 Serial data. From unit under normal operation, from test pattern generator in Test mode of operation.
READ EN 1037 Same as “READ GATE”.
READ GATE 1037 Read gate. Enable read circuitry in unit.
READ IND 1039 Read indicator.
READY 1036 Ready reported from unit. Generated from “CREADY”.
REQ 1014 Same as “Device Request”. Generated from IRQ — Initiate Request.
RRD Unit Read data from unit.
RRQ 1022 Reset request. Generated when a request is granted.
RSECT 1013 Read sector counter.
RSTAT 1022
& 1013
Read Status (IOX 504)
RTZ 1037 “Return to Zero Seek” command.
SB0 1022 Status bit number 0. Ready for transfer interrupt enabled.
SB1 1022 Status bit number 1. Error interrupt enabled.
SB2 1022 Status bit number 2. Device active.

ND 11 010 01


Page 87

B-8

Signal Definition List, continued

Term: Origin: Description:
SB3 1022 Status bit number 3. Device ready for transfer.
SB4 1022 Status bit number 4. Inclusive OR of errors (status bits 5-11).
SB5 1107 Status bit number 5. Write protect violate.
SB6 1037 Status bit number 6. Time out.
SB7 1036 Status bit number 7. Hardware error.
SB8 1107 Status bit number 8. Address mismatch.
SB9 1039 Status bit number 9. Parity error.
SB10 Status bit number 10. Compare error.
SB11 1037 Status bit number 11. Missing clock(s).
SB12 Status bit number 12. Transfer complete.
SB13 1037 Status bit number 13. Transfer on.
SB14 1107 Status bit number 14. ON Cylinder.
SB15 Status bit number 15. Bit 15 loaded by previous control word.
SC 1107 Pulse shaped sector clock. From unit in normal operation. From sector clock oscillator in test mode.
SCP 1107 Sector Clock. From unit in normal operation. From sector clock oscillator in test mode.
SEARCH 1039 Search for "1" data after bit count of 128 in phase 1 or 4.
SECT 1107 Same as "SC".
SECTOR Unit Sector clock from unit.
SECTOR CLOCK 1107 Sector clock from unit. Generated from "SECTOR".
SECT W 1037 Sect · WF · Write EN.
SEEK ERROR Unit Seek error reported from unit.

Page 88

B-9

Signal Definition List, continued

Term: Origin: Description:
SEL1 1107 Constant active.
SEL2 1107 Constant active.
SHTE 1037 Shift enable.
SL 1037 Pulse shaped Read/Write clock. Generated from (CL).
SS 1107 Test sector counter feedback.
START 1013 Same as Busy.
T15 1039 Check sum generator feedback.
TA0-8 1036 Track address bits 0-8.
TAS 1039 Track address strobe. Strobe the track address bits into the “cylinder address register” in the unit.
TCONNECT 1022 Connect generated from (Unident . INT) an interrupt being identified.
TEST 1013 Controller in test mode of operation (CW3).
TIME OUT 1037 Time out. Same as SB6. Specified operation exceeded 300ms.
TINT 1022 Same as “Int”.
TSC0-4 1107 Test sector bits.
US0-3 1036 Unit 0-3 select lines to unit.
USB1 Unit Unit sector bit number 0.
USB2 Unit Unit sector bit number 1.
USB4 Unit Unit sector bit number 2.
USB8 Unit Unit sector bit number 3.
USB16 Unit Unit sector bit number 4.
WCS 1013 Word counter strobe (load word counter).
WCZ 1014 Word count of zero.

Page 89

B-10

Signal Definition List, continued

Term: Origin: Description:
WD 1039 Serial data to be encoded.
WEN 1037 Generated from: (Write) · (Write Enable)
+ (M3) · (Read Enable).
WF 1037 Write format.
WPED Unit/
1107
Write protect violation.
WRITE 1037 Write. M1 specified.
WRITE CORE 1037 Read operation (M0) specified.
WRITE EN 1037 Write Enable. Same as Write Gate.
WRITE GATE 1037 Write gate. Enable the Write circuitry in
the unit.
WRITE IND 1039 Write indicator.

ND-11.010.01


Page 90

APPENDIX C

BACKWIRING PRINT


Page 91

[illegible]


Page 92

C-1

                                  C-1


     GND                                      Vcc
     Vcc                                      GND

  +--------------------------------------------------------------------------+
  |                                                                          |
  |  +--------------------------------------------------------------------+  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  |                                                                    |  |
  |  |                         DISK CONTROL                               |  |
  |  |                                                                    |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  |                                                                    |  |
  |  |                              EK 2411                               |  |
  |  |                                                                    |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  +--------------------------------------------------------------------+  |
  |                                                                          |
  +--------------------------------------------------------------------------+
Position Function Number
(24) 32 Transceiver 1036
(23) 31 Timing 1039
(22) 30 Sequence 1107
(21) 29 Reg. 1013
(20) 28 Control 1037
(19) 27 DMA 1014
(18) 26
(17) 25
     GND                                      Vcc
     Vcc                                      GND

  +--------------------------------------------------------------------------+
  |                                                                          |
  |  +--------------------------------------------------------------------+  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  |                                                                    |  |
  |  |                         DISK CONTROL                               |  |
  |  |                                                                    |  |
  |  |                              EK 2411                               |  |
  |  |                                                                    |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  | o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o   |  |
  |  +--------------------------------------------------------------------+  |
  |                                                                          |
  +--------------------------------------------------------------------------+
Position Function Number
(24) 32 Transceiver 1036
(23) 31 Timing 1039
(22) 30 Sequence 1107
(21) 29 Reg. 1013
(20) 28 Control 1037
(19) 27 DMA 1014
(18) 26
(17) 25

ND-11.010.01


Page 93


Page 94

APPENDIX D

CONTROLLER

ACTIVITY INDICATORS

(PHYSICAL LOCATIONS)


Page 95


Page 96

APPENDIX E

N-10/HAWK PHYSICAL LAYOUT


Page 97


Page 98

TO BE INSERTED


Page 99

[Blank scanned page]


Page 100

E-1

flowchart TB
    subgraph B["B"]
        direction TB
        A["1036<br/>Disk Tranceiver"]
        C["1039<br/>Disk Timing"]
        D["1107<br/>Disk Sequence"]
        E["1013<br/>Device Registers"]
        F["1037<br/>Disk control"]
        G["1014<br/>DMA Registers"]
        H["Empty"]
        I["Empty"]
        J["[illegible]<br/>Terminals &lt; 55"]
        K["1022<br/>Bus control"]
        L["Bus controller"]

        A --- C --- D --- E --- F --- G --- H --- I --- J --- K --- L
    end

    U["to/from units"]
    DC["N - 10 / HAWK<br/>Disk controller"]

    A -.- U
    C -.- U
    D -.- U
    G -.- DC
    K ---|"Terminals &lt; 55"| DC

ND-11 010 01


Page 101


Page 102

[Logo: stylized dotted “nde” logo]

A/S NORSK DATA-ELEKTRONIKK
Lørenveien 57, Oslo 5 - Tlf. 21 73 71

COMMENT AND EVALUATION SHEET

NORD-10/HAWK DISK CONTROLLER

March 1976

In order for this manual to develop to the point where it best
suits your needs, we must have your comments, corrections,
suggestions for additions, etc. Please write down your comments
on this pre-addressed form and post it. Please be specific
wherever possible.

1

FROM:





Page 103

[Blank page with minor scan artifacts.]


Page 104

– we make bits for the future