Professional Documents
Culture Documents
79-000004 WD1002-SHD OEM Manual Aug1984
79-000004 WD1002-SHD OEM Manual Aug1984
Winchester
Controller
OEM Manual
August 1984
COPYRIGHT©1984 WESTERN DIGITAL CORP
ALL RIGHTS RESERVED
This document is protected by copyright, and contains information proprietary to Western Digital Corp. Any copying, adaptation, distribution,
public performance. or public display of this documE'!"1t wi t h"t1t the express written consent Of Weste~:: Digital Corp. is strictly prohibited. The
receipt or possession of this document does not convey any rights to reproduce or distribute its contents, or to manufacture, use, or sell anythiing
that it may describe, in whole or in part, without the specific written consent of Western Digital Corp.
ii
TABLE OF CONTENTS
SECTION 1 INTRODUCTION
1 .1 Document Scope ......................................................... 1-1
1.2 Description .............................................................. 1-1
1.3 Features ................................................................ 1-2
1.4 Operation ............................................................... 1-2
1.4.1 General ........................................................... 1-2
1.4.2 Bus Phase Sequencing ............................................... 1-2 "
SECTION 2 SPECIFICATIONS
2.1 General ................................................................ 2-1
2.2 Electrical ............................................................... 2-1
2.2.1 Host Interface ...................................................... 2-1
2.2.2 Drive Interfaces ..................................................... 2-1
2.2.3 Power ...... ·....................................................... 2-1
2.3 Physical ................................................................ 2-1
2.4 Environmental ........................................................... 2-1
SECTION 4 COMMANDS
4.1 General ................................................................ 4-1
4.2 Command Blocks ........................................................ 4-1
4.2.1 Logical Unit Number (LUN) ........................................... 4-1
4.2.2 Logical Sector Address (L) ............................................ 4-1
4.2.3 Interleave Or Block Count ............................................ 4-1
4.2.4 WD1002-SHD Control Bytes .......................................... 4-3
4.2.4.1 Fast Step Options ............................................ 4-3
4.2.4.2 Command Status Byte ........................................ 4-3
4.2.4.3 Command Completion Byte .................................... 4-3
4.3 Commands .......... ": .................................................. 4-3
°
4.3.1 Test Drive Ready (Class 0, Opcode 00) .................................. 4-4
4.3.2 Restore To Track (Class 0, Opcode 01) ................................. 4-4
4.3.3 Request Status (Class 0, Opcode 03) ................................... 4-4
4.3.3.1 Error/Status Response To Host. ................................. 4-4
4.3.3.2 Error Codes ................................................. 4-5
4.3.3.3 Error Codes Descriptions ...................................... 4-5
4.3.4 Format Drive (Class 0, Opcode 04) ..................................... 4-6
4.3.5 Check Track Format (Class 0, Opcode OS) ................................ 4-6
4.3.6 Format Track (Class 0, Opcode 06) ..................................... 4-7
4.3.7 Format Bad Track (Class 0, Opcode 07) ................................. 4-7
4.3.S Read (Class 0, Opcode OS) ........................................... 4-7
4.3.9 Write (Class 0, Opcode OA) ........................................... 4-8
4.3.10 Seek (Class 0, Opcode OB) ............................................ 4-S
4.3.11 Set Parameters (Class 0, Opcode OC) ................................... 4-S
4.3.11.1 Parameter Blocks ........................................... 4-8
iii
4.3.12 Last Corrected Burst Length (Class 0, Opcode 00) ......................... 4-9
4.3.12.1 Error Burst Length Block ...................................... 4-9
4.3.13 Format Alternate Track (Class 0, Opcode OE) ............................. 4-9
4.3.13.1 Alternate Sector Address Block ...................... , ......... 4-10
4.3.14 Write Sector Buffer (Class 0, Opcode OF) ...................... , ......... 4-10
4.3.15 Read Sector Buffer (Class 0, Opcode 10) ...................... , ......... 4-10
4.3.16 Ram Diagnostic (Class 7, Opcode 0) ................................... 4-10
4.3.17 Drive Diagnostic (Class 7, Opcode 3) ................................... 4-10
4.3.18 Controller Diagnostic (Class 7, Opcode 04) .............................. 4-11
4.3.19 Read Long (Class 7, Opcode 05) ...................................... 4-11
4.3.20 Write Long (Class 7, Opcode 06) ...................................... 4-12
SECTION 5 TIMING
5.1 General ............. , ............................................. , .... 5-1
5.2 Host-Controller Selection Timing ............................................ 5-1
5.3 Command Mode ......................................................... 5-2
5.3.1 Data Transfer ...................................................... 5-2
5.3.2 Status Bytes ..................................... , ................. 5-3
5.4 Miscellaneous Timing ..................................................... 5-5
iv
LIST OF TABLES
v
LIST OF ILLUSTRATIONS
vii
SECTION I
INTRODUCTION
1.1 DOCUMENTSCOPE ure 1-1). The Winchester Drive signals are based upon
This document provides the user with the information the Seagate Technology ST506 interface and other
required to design related software drivers and inter- compatible drives. All necessary receivers and drivers
face connections for efficient use of the WD1002-SHD are included on the board to allow direct connection to
Winchester Disk Controller Board. It is to the user's the drive.
advantage to become familiar with the following related Communication to and from the Host are made via a
documents: separate computer access port. This port conforms to
WD1100-13 ECC Support Device ....... Data Sheet the popular Shugart Associates System Interface
WD1010-05 Winchester Disk Controller .. Data Sheet (SASITM) and consists of control signals and an a-bit, bi-
WD1010-05 Winchester directional bus. All data to be written to or read from the
Disk Controller ................ Application Note disk, status information, and command parameters are
WD1015-02 Buffer Manager transferred via this bus. An on-board Sector Buffer
Control Processor ................. Data Sheet allows bus transfers to be executed independently of
the actual data transfer of the drive.
1.2 DESCRIPTION The WD1002-SHD is based upon a Western Digital pro-
The WD1002-SHD is a stand alone, general purpose prietary chip set consisting of the WD1015-02,
Winchester Controller Board designed to interface up WD1010-05, and WD1100-13, specifically designed for
to two Winchester Disk Drives to a Host Processor (Fig- Winchester control.
SENSE WD1015-02
SASI DATA
SIGNALS CONTROL
TRANSCEIVER
PROCESSOR
CLOCK
CONTROL SIGNALS
SASI SIGNALS
DRIVERS AND
BUS
RECEIVER
CONTROLLER
CLOCK GENERATOR
RESET CIRCUIT
AND WRITE GATE
DEGLITCHER
1-1
1.3 FEATURES 1.4 OPERATION
• SASIHOSTINTERFACE 1.4.1 GENERAL
• 32-BIT ECC FOR WINCHESTER DATA With regard to bus operations, time can be partitioned
CORRECTION into five phases:
• BAD TRACK MAPPING CAPABILITY Information Transfer
• 256 OR 512 BYTES PER SECTOR Reset
Bus Release
• MULTIPLE SECTOR READS AND WRITES Bus Free
• CONTROL FOR UP TO 2 WINCHESTER DRIVES, Target Selecting
WITH UP TO 8 RIW HEADS EACH
1.4.2 BUS PHASE SEQUENCING
• DIAGNOSTIC READS AND WRITES FOR
CHECKING ERROR CORRECTION A Reset Phase may occur at any time. It is followed by
the Bus Free Phase. In the absence of a Reset Phase
• AUTOMATIC FORMATTING
the bus alternates between the Bus Free Phase .and
• SELECTABLE iNTERLEAVE one Transaction.
• BUILT-IN DATA SEPARATOR A transaction always consists of the following
• BUILT-IN WRITE PRECOMPENSATION sequence:
• IMPLIED SEEKS One Target Selection Phase
One or more Information Transfer Phases
• SINGLE + 5V SUPPLY One Bus Release Phase
• OVERLAPPED SEEKS The five bus phases are described in Section VI.
• OOC to 55°C OPERATIONS
1-2
SECTION II
SPECI FICATIONS
2.1 GENERAL
This section contains the overall specifications for the
WD1002-SHD Winchester Disk Controller. These spec-
ifications are provided as a guide for installing the
WD1002-SHD. Certain specifications indicate limits
associated with their parameters that must be adhered
to in order to guarantee proper and efficient operation.
2.2 ELECTRICAL
2.2.3 POWER
Voltage 5 ±50/0
Current 2.0 amps max, 1.5 amps typo
Ripple 0.1 volts max, 0.1 to 25 mv.
2.3 PHYSICAL
Length 8 inches
Width 5.75 inches
Height (max including board, components, & leads) 0.75 inches
2.4 ENVIRONMENTAL
Ambient Temperature O°C to 55°C
Relative Humidity 10 0/0 to 90 0/0 non-condensing
Altitude oto 3000 meters (10,000 ft)
Air Flow 100 lin ft/min. at 0.5" from component surfaces.
2-1
SECTION III
INTERFACE CONNECTIONS
3.1 ORGANIZATION 3.2 HOST SASIINTERFACE CONNECTOR
The WD1002-SHD has five on-board connectors for The WD1002-SHD Controller is designed to interface
user application. with the Shugart Associates System Interface (SASI)
1. Host SASI Bus: 50-pin vertical header, mates to an bus. All interfacing is done through the J1 SASI con-
AMP88379-8 (J1) nector. The Host and seven other SASI compatible
devices can be daisy-chained to this bus, the last
2. Winchester Drive Control: 34-pin PC card edge con- device on the daisy-chain must be terminated with a
nector, mates to an AMP88373-3. (P2) standard 220/330 ohm resistor pack.
3. Winchester Drive Data: 20-pin vertical headers on The Controller is configured at the factory as address
.1" centers, mates to an AMP88377-4. (J2, J3) zero, but can be changed to an address of 1 thru 7 by
4. Power: 4-pin connector, AMP1-480424-0 (Housing) the user.
AMP350078-4 (Pins). (P1)
Figure 1.1 is a block diagram illustrating the major sec-
tions and connectors of the controller.
3-1
----------------------------------------------------------.--------------------
3.3 DRIVE CONTROL CONNECTOR
The control signals are common to both drives and are last drive in the daisy-chain must not be more than 20 ft.
daisy-chained from a single 34 pin PC card edge con- from the controller, and have a 220/330 ohm resistor
nector, J 1. To terminate the control signals properly, the pack installed.
l__
31 32 INC
33 : 34 ,DIRIN ! DIRECTION IN DIRIN determines the direction the R/W head~)
~~_----,-----I__
take when stepped. Asserted = in, de-asserted I
= out. ..-J
3-2
3.4 DRIVE DATA CONNECTOR 3.5 POWER CONNECTOR
The data is differential in nature and must be con- Power is brought to the WD1002-SHD via P1, a 4-pin
nected to each drive with its own cable, J2, J3. It should Amp 1-480424 connector. The connections are made
be a flat ribbon cable, or twisted pair, less than 20 ft. as shown:
long. The connector is a 20 pin vertical header on .1"
center. PIN SIGNAL NAME
TABLE 3.3 DRIVE DATA CONNECTORS - J2, J3 1 NOT CONNECTED
2 GROUND
SIG. SIG. 3 GROUND
GND. PIN 1/0 SIGNAL NAME 4 + 5V REGULATED
1 NC
2 GND
3 NC
4 GND
5 NC
6 GND
7 NC
8 GND
9 NC
10 GND
11 NC
12 GND
13 0 + M FM Write Date
14 0 - MFM Write Date
15 GND
16 GND
17 I + MFM Read Data
18 I - MFM Read Data
19 GND
20 GND
NOTE:
The WD10a2-SHD must have Drive 0 connected to J2
and Drive 1 connected to J3.
3-3
---------------------------------------------------------------------
3.6 DISK DRIVE CONFIGURATION
PARAMETERS
Table 3-4 lists the variable parameters for the major ters are the values used in the Initialize Drive Charalc-
drives supported by the WD1002-SHD. These parame- teristics Command (OC).
3-4
SECTION IV
COMMANDS
4.1 GENERAL 4.2.2 LOGICAL SECTOR ADDRESS (L)
The WD1002-SHD supports 20 different SCSI com- The Logical Sector Address (High, Middle, and Low) is
mands; 15 operational commands and 5 diagnostic a 21 bit field contained in Bytes 1, 2, and 3. It is com-
commands. Table 4-1 lists a summary of the supported puted from the Cylinder Address (C), Head Address
commands. (H), and Sector address (S), as well as the drive param-
eters Heads per Cylinder (HC) and Sectors per Track
4.2 COMMAND BLOCKS (ST):
A transaction is initiated by the Host to instruct the L = {[(C x HC) + H] x ST} + ST
WD1002-SHD to execute a given command. During the C, H, and S can be derived from L, HC, and ST as
Command Block Transfer Phase (discussed in Section follows:
VI), six bytes of information specifying the command
are transferred to the WD1002-SHD. This is known as S = L Modulo ST
the Command Block and is illustrated in Figure 4-1. H = [(L - S) I ST] Modulo HC
C = {[(L - S) 1ST] - H} I HC
BITS This field specifies a sector (or beginning sector) for the
BYTES 7 I 6 I 5 4 I 3 121 1 To Read and Write Drive Commands. It specifies a track
for the Format and Seek Commands (indicated by L 1r in
0 Command Class Operational Code
Table 4-1). When only a track specification is required,
1 Logical Unit Num Logical Sector Address (High) the sector number implied by the Logical Sector
2 Logical Sector Address (Middle) Address is ignored.
----
3 Logical Sector Address (Low) 4.2.3 INTERLEAVE OR BLOCK COUNT
--
4 Interleave or Block Count The Interleave or Block Count comprise Byte 4. The
5 Control Byte Interleave ratio (I in Table 4-1) is specified in the five
Format commands. The maximum ratio is equal to the
FIGURE 4-1. COMMAND BLOCK FORMAT Sectors-per~Track minus 1.
The Block Count (B in Table 4-1) is specified in the
Byte 0 is transferred first and must be specified for all
Read, Write, Read Long, and Write Long commands. B
commands. Each command has exactly one Byte 0
specifies the number of Logical Sectors to be transfer-
value associated with it.
red.
Depending upon the value of Byte 0, each parameter in
Both Interleave ratio and Block Count use all 8 bits of
bytes 1 thru 5 may require specification. Table 4-1
. specifies the supported commands and their parame- the Byte to specify their respective parameters .
ters. It also includes information on data transfers
required during execution. All other SASI commands
are reserved.
4-1
,---------------------------------------------------------------------
TABLE 4-1. WD1002-SHD SUPPORTED COMMAND SUMMARY
# SCSI
LOGICAL INTERLEAVE CONTROL DATA
CLASS, SECTOR OR BLOCK BYTE BLOCK D.B. DIREC-
COMMAND NAME OPCODE LUN ADDRESS COUNT OPTIONS rrRNSFRS SIZE TOR
Test Drive Ready 0,0 W - - - a -
Restore to Track a 0,1 W - - - 0 -
Req Status 0,3 W - - - 1 4 -fo H08t
FRMTDrive 0,4 W L'" I R,p,S, 0 -
CHKTR FRMT 0,5 W L'" I R,S 0 -
Format -Qr.i.\te~Ut 0,6 W L'" I R,p,S 0 -
FRMTBadTRK 0,7 W L'" I R,p,S 0 -
Read Drive 0,8 W L B R,A,S B SCTR ro H08t
I
LEGEND
W Winchester
L'" Logical sector address used only to specify
track
L Logical sector address
I Interleave
B Block count
R Retry enable/disable
A Attempt immediate ECC enable/disable
S Stepping algorythm
P Used with format commands for determining
data field patterns
4-2
4.2.4 WD1002-SHD CONTROL BYTES TABLE 4-3.
Table 4-2 specifies the Control Byte fields: FAST STEP OPTION ALGORYTHMS
TABLE 4-2. CONTROL BYTE FIELDS OPTION ALGORYTHM
FIELD BIT(S) FUNCTION 0 Default: 3 msec. per step
STEP 0-3 Used in all commands that 1 Half-step for Seagate drives
cause a seek. Contains a 2 3msec.
code corresponding to a seek 3 Half-step for T.I. drives
stepping algorythm. See Fast
Step Options. 4 ,200 usec. per step. This is appropriate
for buffered steps on drives made by
UNUSED 4 Reserved. Computer Memories Inc. and Rotating
P 5 Format Data (P) is used in the Memories Inc.
Format Commands. If P = 0, 5 70 usec. per step
the WD1002-SHD fills the
data field with 6C hex. If P = 1, 6 30 usec. per step
the data field is filled with the 7 15 usec. per step
pattern in the Sector Buffer.
8 2 msec. per step
A 6 Immediate ECC (A) is used in
9 3 msec. per step
the Read Command. If A = 0,
no immediate ECC is per- 8-F Spare (3 msec. per step)
formed. If A = 1, immediate
ECC is performed. 4.2.4.2 Command Status Byte
R 7 Retry (R) is used in all com- At the completion of any command execution, a Com-
mands that read the 10 field. If mand Status Byte is sent by the WD1002-SHD to the
R = 0 (normal), a maximum oj Host, whether the command was successful or
10 non-restore retries are per- aborted. The LUN returned is the contents of the LUN
formed, then Restore, Seek, field in the drive control block. For those commands
and 10 more retries are per- that do not use LUN as an input parameter, the LUN
formed if necessary. If R = 1, . returned in the Command Status Byte is meaningless.
Retry is disabled and no Figure 4-2 illustrates the contents of the Command Sta-
retries are performed. tus Byte.
NOTE:
If one or more of the above fields are required for a com- ~ BITS
2 1 o
mand, then all other fields in that Control Byte must be
set to O. If none of the above are required, all bits in the o EF o
Control Byte are interpreted a~ "don't care" bits (X).
EF (Error Flag): 0 = no error
4.2.4.1 Fast Step Options 1 = error
The Fast Step Option field contains an unsigned 3-bit FIGURE 4-2. COMMAND STATUS BYTE
integer. These integers correspond to the Fast Step
Algorythms in Table 4-3. 4.2.4.3 Command Completion Byte
The Command Completion Byte is an all zero byte sent
by the WD1002-SHD to the Host immediately following
each Command Status Byte. It indicates to the Host
that the WD1002-SHD has freed the SASI bus.
4.3 COMMANDS
Each command in the Command Summary table is
described in the following text.
4-3
--------------------------------------------------------------------------------
4.3.1 TEST DRIVE READY (CLASS 0, OPCODE 00) 4.3.3 REQUEST STATUS (CLASS 0, OPCODE 0,3)
This command selects a drive and verifies that it is The Host must send this command immediately aft~9r it
ready. The following shows the Test Drive Ready Com- detects an error. The command causes the \ND1002-
mand Block format. SHD to return four bytes of drive and Controller sta1tus.
When an error occurs on a multiple sector data transfer
r--
BYTES
0
7 6 5
Command Class 0
BITS
4 3 I 2 I 1-rr-
Operational Class 00
(read or write), the Request Status Command returns
the Logical Sector Address of the failing sector in b~1:es
1, 2, and 3. If the Request Status Command ~s issued
r.-- after any of the format commands or the Check Track
1 LUN X X X X X Format Command, then the Logical Sector Addrl9ss
- f----
2 X X X X X X X X points to one sector beyond the last track formatted or
1---- '------
X X X X X X X X checked if there was no error. If there was an error, then
3
r- the Logical Address returned points to the track in error.
4 X X X X X X X X
f----
The following is the Request Status Command Block
5 X X X X X X X X format.
'----
--
Possible Error Codes BITS
No error, invalid command, no seek complete, drive not BYTES 7 6 5 4 3 2I~o
--
ready, or write fault.
0 Command Class 0 Operational Class 03
Action 1 LUN X X X X X
Select the drive and determine if it is ready. For a Win- 2 X X X X X X X X
chester drive, read its status register and test the ready 3 X X X X X X X X
bit and busy bit. For Winchester drives supporting buf-
fered seeks, this command is useful for determining the 4 X X X X X X X X
first drive to reach its target track. 5 X X X X X X X X
4-4
4.3.3.2 Error Codes Drive Not Ready (04)
The drive does not respond with a Drive Ready signal
A. DISK DRIVE ERROR CODES after being selected by the WD1002-SHD.
00 = No Error
03 =: Write Fault
Track 0 Not Found (06)
04 = Drive Not Ready
06 =: Track 0 Not Found This error is only returned by the Restore To Track 0
Command. It indicates that Track 0 status from the
drive was not asserted within the maximum number of
B. CONTROLLER ERROR CODES steps towards cylinder O.
01,02
10/14 = Not used because the WD1010 groups
CRC with other errors in the ID field as ID Uncorrectable Data Error (11)
Not Found. Therefore, during implied This error indicates that one or more error bursts within
Seeks, these are called seek errors Code the data field (Winchester) were beyond the Error Cor-
15. rection capabilities of the WD1002-SHD. The sector
11 = Uncorrectable Data Error data for this sector is not sent to the Host.
12 = Address Mark Not Found
15 = Seek Error Address Mark Not Found (12)
18 = Error Burst Corrected
19 = Bad Track This error indicates that the header for the Target Sec-
1A = Format Error tor was found, but its Address Mark was not detected.
1C = Illegal (Direct) Access To An Alternate
Track Seek Error (15)
1D = Alternate Track Already Used The WD1002-SHD detects an incorrect cylinder or
1E = Alternate Track Not Marked As Alternate track, or both.
1F =: Alternate Track Equals Bad Track
Error Burst Corrected (18)
C. COMMAND ERROR CODES
Indicates that ECC was used to successfully correct an
20 =: Invalid Command
error. The corrected sector data is sent to the Host.
21 = Invalid Sector Address
Bad Track (19)
D. MISCELLANEOUS ERROR CODES
This error usually indicates access of a track that was
30 = RAM Failure
formatted as a bad track. However, there is a very small
31 = ROM Failure
chance that it indicates that a track formatted as a bad
32 = ECC Hardware Failure
track with alternate is so faulty that none of the multiple,
duplicate pointers to the alternate track can be read.
If the most recent non-request-status command to the
specified drive required a Logical Sector Address, then
the LSA nag is 1, otherwise it is 0 and the Logical Sector Format Error (1 A)
Address is meaningless. This error code is returned by the Check Track Format
Command. It indicates that the track is not formatted
with the specified interleave factor, or at least one sec-
tor header is unreadable. This error code is returned by'
4.3.3.3 Error Code Descriptions the Drive Diagnostic Command to indicate that bad-
track-with-alternate does not contain a valid pOinter to
No Error (00) the alternate track.
No error detected during the previous operation.
Illegal (Direct) Access To An Alternate Track (1 C)
4-5
------------------------------------------------------------.--------------------
Alternate Track Already Used (1 D) BITS
This error code is only returned by the Format Alternate
Track Command. It indicates that the specified alter-
BYTES 7 I 6 I 5 4 I 3 I 2 I 1CD)
nate track is already an alternate, or bad track. 0 Command Class 0 Operation Code 04
1 LUN Log Sec Address Bits 16-21
Alternate Track Not Marked As An Alternate (1 E) 2 Logical Sector Address Bits 8-16
This error code indicates that access of a bad-track- 3 Logical Sector Address Bits 0-7
with-alternate caused access to an alternate track
which was not marked as an alternate. 4 Interleave Factor
This error code is only returned by the Format Alternate R Retry Disable: 0 = No Disable
Track Command. It indicates that the same track was 1 =Disable
specified as the bad track and the alternate track.
P Format Data: 0 =6C Hex
1 =Contents of Sector Buffer
Invalid Command (20)
This error code indicates that the Command Code, Possible Error Codes
Interleave Factor, or Fast Step Option was invalid.
No error, invalid command, invalid Sector Address,
drive not ready, seek error, or write fault.
Invalid Sector Address (21)
This error code indicates that the WD1002-SHD, Action
detected a Sector Address beyond the maximum
Format from the specified track to the end of the di:sk.
range.
The previous contents of the formatted tra.cks are
ignored.
RAM Failure (30)
This error code indicates one of the following condi- 4.3.5 CHECK TRACK FORMAT
tions: (1) The program memory RAM checksum does (CLASS 0, OPCODE 05)
not match the calculated checksum; (2) The RAM in the
This command checks the format on the specified tralck
Control Processor failed; (3) The Control Processor
for correct 10 and interleave. The command cloes not
CPU failed.
read the data field.
ROM Failure (31) The following is the Check Track Format Command
Block format.
This error code indicates that a ROM checksum error
occurred during internal diagnostics.
BITS
ECC Hardware Failure (33) BYTES 7 I 6 I 5 4 I 3 I 2 I 1]]1
This error code indicates that the ECC Support Device 0 iCommand Class 0 Operation Code 05
failed during internal diagnostics. 1 LUN Log Sec Address Bit.., 16-2'1
4.3.4 FORMAT DRIVE (CLASS 0, OPCOOE 04) 2 Logical Sector Address Bits 8-15
This command formats all sectors with 10 and data 3 Logical Sector Address Bits 0-7
fields according to the selected interleave factor. This 4 Interleave Factor
command also writes 6C Hex into the data fields. The
starting address is passed into the Control Byte which
5 R I 0 I 0 0 I Fast Step Of>tion
4-6
Action BITS
Verify that the specified track is formatted with the
specified interleave factor. Do not read the sector data
BYTES 7 I6 I 5 4 I 3 I2 I 1 I 0
fields. 0 Command Class 0 Operational Code 07
1 LUN Log Sec Address Bits 16-21
4.3.6 FORMAT TRACK (CLASS 0, OPCODE 06)
2 Logical Sector Address Bits 8-16
This command formats a specified track and can be Logical Sector Address Bits 0-7
3
used to clear bad-sector flags in all sectors on the spec-
ified track that was previously formatted with the For- 4 Interleave Factor
mat Bad Track Command. The command writes 6C
Hex into all data fields specified.
5 X I 0 I 0 o I Fast Step Option
The following shows the Format Track Command Block Possible Error Codes
format.
No error, invalid command, invalid Sector Address,
drive not ready, or write fault.
BITS
BYTES 71615 41312 1 1 1 0 Action
0 /Command Class 0 Operation Code 06 Format the specified track with a bad block mark in
1 LUN Log Sec Address Bits 16-21 each sector header, ignoring the previous contents.
The contents of a bad track are not accessible.
2 Logical Sector Address Bits 8-15
3 Logical Sector Address Bits 0-7 4.3.S READ (CLASS 0, OPCODE OS)
4 Interleave Factor This command reads the specified number of sectors,
5 R I 01 p o I Fast Step Option starting with the initial Sector Address contained in the
Control Byte. The following shows the Read Command
Block format.
R Retry Disable: 0 =No Disable
1 =Disable BITS
P Format Data: 0 =6C Hex
1 =Contents of Sector Buffer
BYTES 7 I 6 I 5 4 I 3 I 2 I 1 I 0
0 Command Class 0 Operational Code 08
Possible Error Codes 1 LUN Log Sec Address Bits 16-21
No error, invalid command, invalid Sector Address, 2 Logical Sector Address Bits 8-15
drive not ready, seek error, or, write fault.
3 Logical Sector Address Bits 0-7
Action 4 Sector Count
Format the specified track, ignoring the previous 5 R I AI 0 o I Fast Step Option
contents.
R Retry Disable: 0 =No Disable
4.3.7 FORMAT BAD TRACK 1 =Disable
(CLASS 0, OPCODE 07)
A Attempt ECC: 0 =No Immediate Correction
This command formats the specified track and sets the 1 =Immediate ECC
bad-sector flag in the 10 fields. It does not write to the
data fields. The following illustrates the Format Bad Possible Error Codes
Track Command Block format.
No error, invalid command, invalid Sector Address,
drive not ready, seek error, bad track, illegal (direct)
access to an alternate track, alternate track not marked
as an alternate, Address Mark not found, error burst
corrected, uncorrectible data error, or write fault.
4-7
----------------------------------.------------------------------------------------
Action Possible Error Codes
Read the specified number of consecutive sectors No error, invalid command, invalid Sector Addrt9SS,
beginning with the specified Sector Address contained drive not ready, or write fault.
in the Control Byte.
Action
4.3.9 WRITE (CLASS 0, OPCODE OA) Move the read/write head to the specified cylinder. Do
This command writes the specified number of sectors, not read any sector header to verify start or ,end posi-
beginning with the initial sector address contained in tion.
the Control Byte. The following shows the Write Com-
mand Block format. 4.3.11 SET PARAMETERS
(CLASS 0, OPCODE OC)
BITS This command enables the Host to configure the
BYTES 7 I 6 I 5 4 I 3 121 1 I 0 WD1002-SHD to work with drives that have different
a iCommand Class 0 Operational Code OA capacities and characteristics. However, both drive 0
i-- and drive 1 must be of the same manufacturer and
1 LUN Log Sec Address Bits 16-21 model number. The following shows the Set Parame-
i--
2 Logical Sector Address Bits 8-15 ters Command Block format.
3 Logical Sector Address Bits 0-7
-- BITS
4
5 R I a I 0
Sector Count
a I Fast Step Option
BYTES 7 6 5 4 3 2 ITo
.- a Command Class a Operational Coel eOC
-.
5 X o .1___~ _ _ .~ 1____ ~!l~! _Step_~ptjon .J
.1 __ __
4-8
BITS BITS
BYTES 7 1 I 6 5 i 4 J 3 I 2 I 1 I0 BYTES 7 6 5 4 3 2 1 0
0 MSByte of Number of Cylinders 11 \ 0 ~ommand Class 0 Operational Code 00
1 LSByte of Number of Cylinders Lt\ 1 X X X X X X X X
2 0 I 0 I 0 101 Number of Heads <Z 2 X X X X X X X X
3 MSByte of Starting RWC Cylinder o 3 X X X X X X X X
4 LSByte of Starting RWC Cylinder i~ 4 X X X X X X X X
()
5 MSByte of Starting Write Precomp Cylinder 5 X X X X X X X X
6 LSByte of Starting Write Precomp Cylinder (J
7 o 10 I 0 I 0 J Max ERR Burst Corrected 5" Possible Error Codes
No error
The following parameter defaults are set by power-up
and reset: Action
Number of cylinders = 153 Send the Host one byte of data containing the length of
Number of heads 4 the most recently corrected error burst. If no error burst
Starting Reduced Write Current Cylinder = 128 has been corrected since the last power-up or reset,
Starting Write Precompensation Cylinder = 64 then a byte of zeroes is sent to the Host.
Maximum length of an error burst
to be corrected = 11 4.3.12.1 Error Burst Length Block
The acceptable ranges for the following parameters --
are: BITS
Number of cylinders == 1-1024 BYTES 7 I 6 I 5 I4 I 3 121 1 I 0
Number of heads = 1-8 0 Number of bits in last corrected error burst
Starting Reduced Write Current Cylinder == 0-1e23
Starting Write Precompensation Cylinder == 0-1023
Maximum length of an error burst 4.3.13 FORMAT ALTERNATE TRACK
to be corrected = 1-11 (CLASS 0, OPCODE OE)
If one of the parameters is out of range, then all param- BITS
eters up to, but not including the parameter in error, are
set for drive 0 and no parameters are set for drive 1. The BYTES 7 I 6 I 5 4 I 3 I 2 I 1 I 0
error code for this error is INVALID COMMAND. 0 Command Class 0 Operational Code OE
1 LUN Log Sec Address Bits 16-21
Starting Reduced Write Current Cylinder
2 Logical Sector Address Bits 8-15
The specified starting Reduced Write Current cylinder
number is reduced to the nearest integer multiple of 3 Logical Sector Address Bits 0-7
four (Le. 0, 4, 8, 12, ... 1020). 4 Interleave Factor
4-9
Action 4.3.15 READ SECTOR BUFFER
Format the specified track as a bad-track-with-alter- (CLASS 0, OPCODE 10)
nate. Format the specified alternate track with the --
specified interleave factor. The Bad Block Mark is writ- BITS
ten in each sector header with the alternate address
block written into each sector data field. This is done to
BYTES 7 6 5 4 I 3 I2TIT~
0 ~ommand Class 0 Operational Code 10
all sectors of the track. It is not known to the user which
sector of the track might be bad. The alternate track is 1 X X X X X X X X
specified by the Host by sending an alternate sector 2 X X X X X X X X
address block to the WD1002-SHD after the Command
3 X X X X X X X X
Block. The alternate track is formatted after the bad-
track-with-alternate is formatted. Once the alternate is 4 X X X X X X X X
formatted, the bad track to alternate seeking is trans- 5 X X X X X X X X
parent to the user.
4-10
WD1002-SHD does not perform any write operations Possible Error Codes
during this command; the disk is understood to be pre- No error, ROM failure, RAM failure, or ECC hardware
viously formatted. The following shows the Drive Diag- failure.
nostic Command Block format.
Action
BITS
Calculate a checksum for the program ROM, test the
BYTES 7 6 5 4 3 2 1 0 Control Processor, test the Sector Buffer, and test the
0 !command Class 7 Operational Code 03 ECC hardware. This command does not access any
1 LUN X X X X X
disk drive.
2 X X X X X X X X 4.3.19 READ LONG (CLASS 7, OPCODE 05)
3 X X X X X X X X This command transfers the target sector and four
4 X X X X X X X X bytes of data ECC to the Host. If an ECC error occurs
during Read, the WD1002-SHD does not attempt to
5 R 0 0 0 Fast Step Option
correct the data field. This command is useful in recov-
R Retry Disable: 0 =No Disable ering data from a sector that contains an uncorrectible
1 =Disable ECC error. It is also useful during diagnostic opera-
tions.
Possible Error Codes The followi.ng shows the Read Long Command Block
No error, invalid command, drive not ready, seek error, format.
format error, or write fault.
BITS
Action BYTES 7 16 15 4/3/2/1/0
Recalibrate the target drive, then scan 10 on each 0 !command Class 7 Operational Code 05
track. This command does not write to the disk, nor 1 LUN Log Sec Address Bits 16-21
does it send any sector data to the Host. The effect of
the Drive Diagnostic command is to verify that at least 2 Logical Sector Address Bits 8-15
one sector header can be read on each track. It does 3 Logical Sector Address Bits 0-7
not report an error when it encounters a track that has
4 Sector Count
been formatted as a "Bad Track," "Bad-Track-With-
Alternate, " or "Alternate Track. " 5 R 101 0 o I Fast Step Option
diagnostic routine. The WD1002-SHD tests its Control Possible Error Codes
Processor, Sector Buffer, ECC circuitry, Winchester No error, invalid command, invalid sector address,
Controller/Formatter, and the checksum of the Pro- drive not ready, seek error, bad track, illegal (direct)
gram Memory. The WD1002-SHD does· not access the access to an alternate track, alternate track not marked
drive during this command. The following shows the as an alternate, address mark not found, or write fault.
Controller Diagnostic Command Block format.
Action
BITS
Read the specified number of consecutive sectors and
BYTES 7 6 5 4 3 2 1 0 their ECC bytes beginning with the specified sector
0 Command Class 7 Operational Code 04 contained in the Control Byte. There are four ECC
bytes per sector. This command fS only useful for diag-
1 X X X X X X X X
nostic purposes.
2 X X X X X X X X
3 X X X X X X X X
X X I X I X X
t±=±±Jili
5 X X X X X X X X
4-11
------------------------------------------------------------------------------
4.3.20 WRITE LONG (CLASS 7, OPCODE 06) Possible Error Codes
This command transfers a sector of data and four No error, invalid command, invalid sector addrE~ss,
appended ECC bytes to the disk drive. During this write drive not ready, seek error, bad track, illegal (difl9ct)
operation, the Host supplies the four ECC bytes access to an alternate track, alternate track not mariked
instead of the usual hardware-generated ECC bytes. as alternate, address mark not found, or write fault.
This command is useful only for diagnostic routines.
The following shows the Write Long Command Block Action
format. Write the specified number of consecutivE! sectors
beginning with the specified sector. Followilng each
BITS sector, the Host sends four ECC bytes to the 'ND1002-
'-'
SHD to be written to the disk as the ECC bytes for the
BYTES
-- 7 I 6 1 5 41 3 121 1 l 0 sector. This command is useful for diagnostic pur-
0 Command Class 7 Operational Code 06 poses. It allows the generation of a sector containing a
1 LUN Log Sec Address Bits 16-21 correctable ECC error.
2 Logical Sector Address Bits 8-15
3 Logical Sector Address Bits 0-7
--
4 Sector Count
f---- --
'---
5 R I 0 I 0 o I Fast Step Option
4-12
SECTION V
TIMING
5.1 GENERAL
This section contains the primary timing parameters included is a discussion of key miscellaneous timing
associated with the Controller-Host interface. The characteristics unique to the WD1002-SHD Controller.
three main areas of discussion are: Controller-Host Figure 5-1 illustrates a typical Host-Controller bus
acquisition (handshake); Data transfer from Host to transfer, complete with Controller selection.
Controller; Data transfer from Controller to Host. Also
#2 #3 #4 #5 #6
00 TERMINATES COMMAND 7
DATA
SEL lJ
l~ ________________~r
REO
ACK
1/0
r
C/D.
\'----------'/ \---~/
MSG
5.2 HOST-CONTROLLER SELECTION TIMING After the Controller recognizes its address bit and SEL
Prior to either command or data transfer, the Host must being asserted, it then asserts BUSY. During this selec-
perform a handshake operation in selecting the Con- tion phase, the Host takes full control of the data bus by
troller. The Host first asserts SEL and places the Con- asserting 0 (iiO). Once the Controller has asserted
troller address bit on the bus (the address bit is preset BUSY, the selection process is complete. SEL must be
to DBO at the factory but can be any bit from DBc to DB7 de-asserted by the Host at or before the first Command
in a multiple-Controller environment). byte to the Controller. Figure 6-~ iilustrates the Control"
ler Select timing. Figure 5-3 illustrates the Controller
Select Timing Flow..
5-1
--------------------------------------------------------------------------------
5.3 COMMAND MODE
I'---_~II After Controller selection, the Host can transmit its first
command. The Controller receives a command from
I the Host using a sequence of HC!Dd~hake recognition
I
DADR -----at:..~ 260 NS I
..I
signals. The Controller asserts C (C/O) to notify the
Ho..§t that it is ready to receive a command and assE~rts
I
o (I/O) to indicate that the direction is from th4~ Host to
I
the Controller. At this time, MSG is in the de-asserted
state.
BUSY ------~I------___a
I..'" 520 NS ..I' - - - - - - - - - - - The Controller asserts REO within 10 usoc. Aner
asserting 0 (T/o) , C (C/O), and MSG is in the de-
NOTE: asserted state. The Host then answers by asserting
No restriction on sequence of SEL and OAOR fail- ACK when it is ready to send a command byte to the
ing edges. Both must be low to ensure controller Controller. The command byte must be stable on the
selection. bus within 250 nsec. of ACK being asserted and remain
stable until the Controller de-asserts REO. After the
FIGURE 5·2. CONTROLLER SELECT TIMING Controller de-asserts REO, the Host de-assorts ACK
completing the Handshake sequence for the first com-
mand byte. The complete handshake sequence must
be repeated for each successive command byte from
the Host. Table 5-1 lists the relationships of T/O, <::/0,
and MSG.
FIGURE 5·3.
CONTROLLER SELECT FLOW DIAGRAM
5-2
1
...........--- tCY - - - - - I.. ~I ,......t - - - - - - - tCy - - - - - I..~I
ACK !, L 1
~K ----~I
tARH
,------------
I I
I I
.-., tADV r--..: 1'- tRDH ~
tSUR
r- -+1 tRDH ~
FIGURES-4. FIGURES-S.
HOST-TO-CONTROLLER DATA TRANSFER TIMING CONTROLLER-TO-HOST DATA TRANSFER TIMING
TABLES-2. TABLES-3.
HOST-TO-CONTROLLER TIMING PARAMETERS CONTROLLER-TO-HOST TIMING PARAMETERS
*nsec *nsec
* * If conditions in t and tt are met, then tCytyp = * * If conditions in t and tt are met, then tCytyp =
1200 nsec and tCY max = 1248 nsec. 120 nsec and tCY max = 1248 nsec.
tlf tRAL ~ 89 nsec, then no wait states are tlf tRAL ~ 497 nsec, then no wait states are
inserted. inserted.
ttlf tRAH ~ 97 nsec, then no wait states are ttlf tRAH ~ 200 nsec, then no wait states are
inserted. inserted.
5-3
----------------------------------------------------------------------------------
-------------~-
~-
iio
~~\\\\\\~\\
440~S TYP
I"
WD1002-SHO 1.65 MS
TYP
~I I.. ~I
REO
I I U
ACK
U U: U
--I j-260"S W01002-SHO
MSG
c/o
------~-
_ _ _- - J
X LAST DATA BYTE X STATUS BYTE X'-_~_ir_~_XZlOIZZZlZ
FIGURES-6.
COMMAND TERMINATION TIMING
5-4
SEND (NON-DATA TRANSFER) COMMAND SEND REQUEST SENSE STATUS COMMAND
NO
SEND COMMAND BYTE TO CONTROLLER READ COMMAND STATUS AND MESSAGE BYTES
FIGURES-S.
REQUEST STATUS COMMAND
NO TIMING FLOW DIAGRAM
5-5
SECTION VI
FUNCTIONAL THEORY OF OPERATION
6.1 GENERAL 6.2.1 BUS PHASE SEQUENCING
The WD1002-SHD SASI Winchester Controller Board A Reset Phase may occur at any time. It is followed by
performs all functions necessary to control Seagate the Bus Free Phase. In the absence of a Reset Phase,
Technology ST506 Winchester disk drives, or their the bus alternates between the Bus Free Phase and the
compatible equivalents, via a SASI bus interface. The transactional portion of the bus phases which are
WD1002-SHD (illustrated in Figure 6-1) is comprised of always completed in the following sequence:
six functional groups: 1. One Target Selection Phase
1. Host Interface 2. One or more Information Transfer Phases
2. Control Processor 3. One Bus Release Phase
3. Sector Buffer These bus phases constitute the SASI Bus protocol
4. Winchester Control recognized by the WD1002-SHD. The relationship and
5. Data Separator definitions of these phases are described in the follow-
6. Error Checking and Correction (ECC) ing text. The Information Transfer Phase is sub-divided
into its mutually exclusive categories. These catego-
6.2 HOST INTERFACE ries are also polled.
The Host Interface manages all incoming and outgoing RESET PHASE is defined as the time that RESET is
bus traffic between the Host and the WD1002-SHD. asserted. It is used by the Host to force all devices on
Communications, consisting of control signals and an the bus to the same state as that following power-on ini-
8-bit, bi-directional bus to and from the Host, are made tialization (Power-on Reset is 110 msec. while RST from
via computer access ports. All data, status information, the Host is only 100 usec.).
and command parameters are transferred via these
access ports. BUS FREE PHASE is defined as the time period
between completion of one transaction (Bus Release
The State Sequencer provides the necessary address Phase) and initiation of a new transaction (Target
decoding and control logic to synchronize the Host Selection Phase). It can also be considered that time
Interface and the Sector Buffer with the SASI bus oper- during which no device has control of the bus, all eight
ation. control lines are de-asserted, and all Data lines are in
The SASI bus operation is partitioned into the following an undefined state.
mutually exclusive time phases: TARGET SELECTION PHASE is defined as that time
A. Reset Phase period commencing when the Host places a T~t
B. Bus Free Phase Address on the SASI bus. The Host then asserts SEL.
C. Target Selection Phase ----.....,r-Transactional The Target Selection Phase terminates when the Target
D. Information Transfer Phase Phases addressed recognizes its selection and responds by
E. Bus Release Phase - - - - - - - - 1 asserting BUSY (the Host must de-assert SEI. before
completion of the current transaction or the end of the
next Bus Release Phase).
6-1
UCSRAM
,---
f&,: CS(:NTR
Ml'l
-110
STARi
00·03
00
.
<t>---j SCSRAM
SAsioON( liS D I R - - f : ) O - - - - - t
P?
61REC'fiON
}=
tiEl ~MH7
H~
ClRSSY
WHS?
110
r
C/O sem;T
M5G
(j) STEP
'" ~
DOOi wr
f--M8 v
1J
IlST
L...-- A10 _.
-~<J--C/O
I- '.1% . ---o::r- MSG ~
R5Wfi
ill'
WDr~?JY I~WG
~ p:e~I~~p : LI :~~~~-MFMR
H~Tl
WE
~
I'~
SAsii'l6HE_
II L.. LAD WIN! IINTRQ RClK
r--~-----,-'I
BUSY-
RDATA
SECTOR SIZE j;;S6JID, ~
I - - STEP DRDY
~
r---- SASiWE SEPARATOR _MFMR
XTAL2
J--- 5MHZ CLCT
~
S'fART WDSO-
?OMHl
CIOC' I--- WCLK (~Mjm '----
WDS1_
MPUCLK
MR
6-3
--------------------------------------------------------------------------------
6.4 SECTOR BUFFER 6.5.1 DATA SEPARATOR
The on-board Sector Buffer (RAM) provides storage The WD1002-SHD utilizes a discrete Data Separator
during data transfers between Host and drive in order designed to process incoming MFM data from the v\fin-
to prevent data overruns. The Sector Buffer also chester drive using data separation. In order to provide
buffers all other information transmitted across the maximum data recording density and storage Elffi-
SASI bus (i.e., sector data, status bytes, command ciency, data is recorded on the disk using Modified Fre-
bytes, and drive parameter characteristics). quency Modulation (MFM) technique. This tE)chnique
requires clock bits to be recorded only when two suc-
6.4.1 SECTOR BUFFER ACCESS cessive data bits are zeroes in the data stream. This
In order to read from or write to the Sector Buffer, the reduces the total number of bits (clock and delta)
Control Processor asserts SASIWE, indicating an SASI required to recorda given amount of information on the
bus access, or WE is asserted by the Control Processor disk. This effectively doubles the amount of data
or the Controller/Formatter, indicating access with that capacity, hence the term double density.
device. Data is fed into the Sector Buffer with the trail- Due to the fact that clock bits are not recorded with
ing edge of CEo CE is generated when the Control Proc- every data bit cell, circuitry is required that can remain
essor or the Controller/Formatter asserts UCSRAM, or in sync with the data stream during the absence of
the State Sequencer asserts SCSRAM. Both of these clock bits. Synchronous decoding of MFM diata
signals are enabled when BCS is asserted and A 10 is streams requires the decoder circuitry to synthesize
de-asserted. clock bit timing when clock bits are not present, clnd
synchronize the clock bits when they are present. This
6.4.2 SECTOR BUFFER ADDRESSING is accomplished using a phase locked oscillator
The Sector Buffer lower address counter is used to pre- employing an error amplifier/filter to sync onto, and
set the count for 1, 3, 4, 6, or 8 byte transfers when a hold a specific phase relationship to the data and clock
small magnitude of data is to be transferred (8 bytes or bits in the data stream. The synthesized clock (RCILK)
less). The counter is first cleared, then the Control can then be used to separate data bits from clock bits
Processor initiates the required dummy reads or writes and to shift the resultant serial data into registers for
to external memory. These, in turn, preset the address byte parallelization (done in the WD1010).
counter to the desired count. When the terminal count
is reached after completion of the actual command, the 6.5.1.1 Reference Clock
address counter notifies the State Sequencer, which in The reference clock is derived from the Write Clock
turn asserts SASIDONE, signaling the Control Proces- (WCLK) crystal oscillator. This oscillator uses a funda-
sor the desired number of bytes have been transferred. mental crystal that oscillates at four times the RCLK
The Sector Buffer upper address counter is used to frequency. The 4X output is then divided by 2 to pro-
determine the sector size to be transferred (the counter duce both a 2X clock (2X DR) which is used as a refer-
can be preset for 128, 256, 512, or 1024 byte sector ence and a 1X clock (WClK) which is used to produce
sizes) and when a sector has been read or written. It is MFM Write Data for the disk. The crystal frequency is
also used to select the Controller/Formatter registers. 20,000 MHz for ST506 compatible drives.
6-4
6.5.1.3 Clock Gating of any data bit entering the frequency detector. They
The gating of RCLK and MFM data into the Data Sepa- are terminated by the same data bit edge, delayed by
rator is dependent upon the status of Read Gate (RG) 60 nsec. or the VCO output (OSC). When both the
and the spacing of the data in the serial stream after delayed data bit and the nearest VCO leading edge
RG is asserted. It is necessary to run the VCO at a rate arrive at the detector, the detector is reset until the next
2X Data Clock (RCLK) due to the techniques employed data bit arrives on the MFM data stream. The delayed
to separate data from clocks. The VCO is set to an open data bit sets its half of the frequency detector latches to
loop frequency of 2XRCLK. Any variations in this rate produce a pump-up condition at the error amplifier. The
due to differences in disk rotational speed must be VCO clock edge sets its half of-the Frequency detector
compensated for by the VCO. However, instantaneous latches to produce a pump-down condition. When the
shifts in data due to the effect of adjacent bit cells on circuit is balanced, both pumps are either on or off, pro-
the disk and minor noise must be ignored. The ducing no net pump-up or pump-down pulses to the
response of the VCO must also be adjusted to effec- error amplifier.
tively ride over missing clock bits which occur as a
result of the MFM recording technique. The resultant 6.5.1.6 Error Amplifier/Filter
compromise between response and reject require- Control of the VCO is accomplished by the Error Ampli-
ments of the VCO causes the VCO to have a tendency fier/Filter. The Error Amplifier is a balanced current mir-
to become locked onto harmonics of the data rate eas- ror, whose output sources or sinks current to the filter
ily. This is likely to occur if the VCO is connected to a stage. Whenever the VCO is running slow, the Error
data stream over a field of data which has data bits Amplifier receives pulses from· the data bits before
spaced at 1.5 or 2.0 times RCLK intervals. pulses from the VCO clock. This causes the Error
To provide protection against this undesirable condi- Amplifier to produce pump-up pulses to the filter. The
tion, the VCO is connected to a harmonic clamp provid- filter integrates these pulses, producing an average
ing a 2X RCLK frequency lock wherever the increase in the voltage to the VCO. The filter output
WD1002-SHD is not actually reading data. Care is voltage is buffered by a unity gain op amp prior to being
taken to switch in Read Data to the VCO error detector sent to the VCO. Whenever the VCO is running too fast,
only when it is known that the data stream frequency is the Error Amplifier produces pump-down pulses to the
equal to the RCLK frequency. This can occur only when filter, which in turn lowers the voltage to the VCO.
the data stream is a solid stream of all zeroes or all
ones. 6.5.1.7 VCO
The WD1002-SHD uses a single chip VCO which sim-
6.5.1.4 High Frequency Detection plifies circuitry and adjustments. The operating fre-
When 16 consecutive ones or zeroes (high frequency) quency of the VCO is initially set by adjusting the
are detected on the raw MFM data stream, the DRUN variable capacitor for a 10 MHz output center fre-
one-shot remains triggered. The one-shot is set for a quency (when using 5 MHz drives) and a frequency
pulse width of 1.25X RCLK period (270 nsec. for ST506 control voltage of 2.5 ± 0.5 VDC.
compatible drives). The output of the Error Amplifier/Filter to the VCO rep-
Each clock or data bit on the serial stream triggers the resents how much deviation there is between the VCO
one-shot.. If the time between successive triggers is frequency and that of the incoming data signal. The
less than the one-shot time constraint, the one-shot error Signal, which is proportional to this difference,
remains triggered. If any data bit fails to reach the one- allows the VCO frequency to shift from center fre-
shot before the end of its time constraint, the one-shot quency to the frequency of the incoming signal. When
is reset. the loop is in lock, the frequency difference component
(error voltage) is DC and will be passed by the low pass
6.5.1.5 Sample On Phase Detection filter. Thus the lock range is limited by the range of the
error voltage that can be generated. The lock range is
When an input Signal is received by the WD1002-SHD, essentially a DC parameter and is not affected by the
phase relationship is detected by the Data Separator. band edge of the low pass filter. It can be defined as the
The function of this phase detector is to provide win- frequency range, usually centered about the veo
dows, during which the leading edge of the incoming initial free running frequency, over which the loop can
MFM data can be compared to the leading edges of the track the input signal once lock has been accom-
VCO clock. The windows are approximately 50 nsec. in plished.
length. The windows are initiated by the leading edge
6-5
,-------------------------------------------------------------
Frequency control is usually a matter of frequency The Address Mark is used to uniquely identify the s1tart
range. The difference component may fall outside the of a field of information (data or 10 field) within each
band edge of the low pass filter and be removed along sector. Preceeding each Address Mark on the disk,
with the sum frequency component. If this is the case, there is always a long stream of zeroes. Zeroes have a
no information is transmitted around the loop and the clock bit for every RCLK. When attempting to rE~ad
VCO remains at the initial free running frequency. As information from the disk, the WD1002-SHD fiirst
the input frequency approaches that of the vce, the requires phase lock over a field of zeroes. After phase
frequency of the difference component decreases and lock acquisition is achieved, the WD1002-SHD then
approaches the band edge of the low pass filter. Now, detects the Address Mark.
some of the difference component is passed, which
tends to drive the VCO towards the frequency of the 6.5.2 WRITE PRECOMPENSATION
input signal. This, in turn, decreases the frequency of The generation of MFM Write Data takes place in the
the difference component and allows more information Winchester Controller/Formatter (WD1010). The
to be transmitted through the low pass filter to the VCO. WD1010 accepts a byte of data and a Write Clock
This is essentially a positive feedback, which causes (WCLK)to produce MFM data through internal circuitry
the vce to lock with the input signal. With this in mind, that detects when and where to write clock pulses in the
the term capture range can be defined as the fre- serial data stream based on the MFM encoding te'ch-
quency range centered about the veo initial free run- nique described earlier. The MFM data is now totally
ningfrequency over which the loop can acquire lock compatible with the required format for transmissioln to
with the input signal. By setting the center frequency the disk via drivers with one exception; due to the
equal to two times the data rate, the VCO lock to the decreasing radius on the physical surface of the disk,
data and gives an exact synchronized clock. the inside tracks have less circumference and th«~re
fore exhibit an increased recording flux density over the
6.5.1 .8 Window Extension outside tracks. This increase in flux density aggravates
Once the veo has locked onto the phase of the incom- a problem known as "dynamic bit shift."
ing data, the actual separation of data and clocks Dynamic bit shift comes about as a result of one bi1t on
occurs using a technique called window extensipn. the disk (a flux reversal) influencing an adjacent bit.
This technique causes data bits to have their leading The result is to shift the leading edge of both bits clclser
edges first shifted into the center of the RCLK half together or further apart depending on thE! relative
cycles, and then latched or extended until the next ris- polarity. The net result is that enough jitter is added to
ing edge of RCLK. The VCO clocks a pair of latches. the data recorded on the inside tracks to make them
If an MFM data bit enters the latches while RCLK is low, harder to recover without error.
it is be extended as a data bit. If RCLK is high, it is Write Precompensation is used to reduce the effect of
extended as a clock bit. Due to this extension tech- dynamic bit shift on the recorded data. It is a method of
nique, bits can jitter up to one fourth of RCLK period predicting which direction a particular bit will be shi'fted
without being lost. and intentionally writing that bit out of position in the
opposite direction from the expected shift. This is per-
6.5.1.9 Address Mark Detection formed by examining two data bits: the last one wriltten
It is impossible to know whether serial data bits are and the present one to be written to the disk. A c~lari
actually data or clock bits just by looking at the data son of these bits \T'Educes one of three signals: AHLY,
stream. It is also equally impossible to determine byte NOMINAL, or LA . These signals are used ~n con-
boundries within the data stream. This problem is junction with a delay line to cause the lea~dg,e of
solved by a uniquely recorded data/clock pattern called the data or clock bit to be written EARLY, LA:rE", or on
an Address Mark. The Address Mark consists of a data time (NOMINAL).
pattern of hexadecimal A 1 with a misSing clock pattern The State Sequencer can enable or disable the gener-
of hexadecimal OA. Normally a data byte of A 1 hex ation of these Write Precomp signals by controlling the
requires a clocking pattern of OE hex. US DIR Signal. When the signal is high, Write Precomp
is enabled, Conversely, when the signal is low, VVrite
Precomp is disabled, and the NOMINAL output is held
true.
6-6
The delay performs the Write Precomp with the use of to them when they are first written to the disk. The ECC
an ANDIORIINVERT gate. MFM Write pulses are Support Device that generated these ECC bytes is the
applied to the input of the delay line and, depending same device used by the WD1002-SHD to check the
upon which of the three Write Precomp signals is ECC code during a Read operation (enabled when the
present, the ANDIORIINVERT~L~e selects the appro- Control Processor asserts RE). The following is the
priate tap on the delay line. EA data is tapped from ECC polynomial used by the WD1002-SHD:
the first tap, NOMINAL from the second, and r:ATE"from ECC = X32 + X28 + X26 + X19· + X17 + X10 + X6 + X2 + 1
the third. From here, The MFM data is sent to the RS-
422 driver where it is converted to a differential form As data is being read from the disk, the ECC Support
and then transmitted to the disk drive. Device re-generates the original ECC code and exclu-
sively ORs it with the ECC characters read from the
6.6 ERROR DETECTION AND CORRECTION (ECC) disk at the end of the data field. The resultant syn-
drome (comparison) should be all zeroes if there are no
errors in the data field. If, however, the syndrome con-
6.6.1 ECC GENERATION tains a result other than zero, the ECC Support Device
The ECC Support Device (WD1100-13) is used to both rereads the data field and looks for two consecutive
generate and check the ECC bits appended to the data syndromes that compare. If the device continues to
stream written to the disk. The ECC Support Device read error syndromes that don't compare with each
functions the same during both write (ECC generation) other, it raises an uncorrectable error flag. If it reads two
and Read (ECC checking) ~erations except that the consecutive error syndromes that compare, it raises a
Controi Processor asserts E at the end of the data correctable error flag and the Control Processor then
field, enabling the ECC Support Device to append the uses the error syndrome to attempt error correction, if
computed ECC bytes to the data field, as opposed to ECC is enabled (Byte 5, bit 6 of the Command Block). If,
producing a syndrome (RE). after the first error syndrome, all retries are normal, no
error is indicated.
6.6.2 ECC The error syndrome is used by the Control Processor to
Data recorded on Winchester disk media is prone to compute the displacement and error vector within the
several types of errors which could corrupt data integ- sector. This information is then used to correct the cor-
rity if some form of data correction were not available. rupted burst of information in the data field. Multiple
Error Detection is performed on the WD1002-SHD for bursts of corrupt data can be detected, however, no
all data transfers from the disk. The data fields have a more than a single burst detected (up to 5 bits in length)
special 32-bit Error Correction Code (ECC) appended can have correction attempted.
6-7
3 2
r::¢-07(c-D&}
iA¢-A"Sl(I_B7, c-&., 2-03)
+5V
10
3 At) o
I~ AI
1114 Z ~
<1 .....
:. M
fD AI.
7 A1
17 ALI
01 J4 I
""
111051 (c-n, .H. 7) -:::-
eli5 (1-13 .. )
I/lr (I-B", 1<.7)
M~ (i-Br..)
WOSr;1J(Z- 0,3-07)
WI-Isqj(z....:.3)
W1-151 (2-C3)
WH5Z.(2-n)
c
-:::-
r.JOT!!
~5V Q) ALL OPt:> PJIoJS of f"2 ARE COIoJNECrED TO GND.
A I~ R5T (,-B7) I
9," 6~0 2
13,1'5 ~5V :;
17 W5'ftJ5' (Z -8Z) -4 1 - -.....- - - - - _ - - + 5V ~~'i ~ b.:=...",·.~-J-.--+-_... " ' l f WOI002-SIIIJ
'~vI ..
CI3-n,':1.1 -3:2...'!>4-Y.~-.5.
'1-5:2...54
8 7 6 5 4 3 2
8 7 6 5 4 3 2
AlP-A,
o (I-B7, I-D2. I 2- B"j o
[)(I)-or
(1-0,,)
Dt>
DI
DC
DO 03
DI
04
Dc D':l
03 Dto
O"l 0, ,
D~ (IB2) AI
.DIP 31t?)5Wi1
{2-L 7)MODE
c (~ ~30
P2 c
n~fl;r u34
(I-e",,) WO':>iP ;x>-'---------l211 DRIV[SELEL1,/)
+5Y+5V t5V t5V
_ 1132 Z! i1'Il (I-e",,) W051 ---'-"il )O""'---------i U3 DRIVE 5El£CT I
470 II< IK IK
F-----f-+--+---,f---Ii'DATA (""-Bl..) --'4/)0."'--------1/4 f1fj110 SEULr It>
t = - - - - t - + - - + - - I r - - - - ReLK (q-B,") U34
+5V WE tr----"'-i ~1_----+_-.!Q t=-'----->---+--+--If--- Dl?UN (3 -C,") (1,(,4) WHSI --=-t)O,8"---------1 I& flUID SELELT I -4--
F - - - - - + - - - + - - I f - - - WO (3-8':» U34
~glJ~LoZ (1-('4) WH52 -2{;>'o>l.#"-;>qOo---_ _ _---i -4 HE:AO S£LELTZ
PROCE'~K Ol/J p=----------If---EAi?i:Y (3 'C'5)
~:.-+--->-------------'3=_jH,.L'L 01 ~----------<----LATE (3-C'5) Z
_ _ _ _--1.14 OIWECT10N
:. U;o1'-oZ_""_0_/.,
......---=-__- - - - - - - - ' = - 1
2 XlAll 02'
03
D4
(3-C..,) +5V
D".I WSTEP
DRDY
B (I-AS) ~
CiRiii£ll£A5Y 1 p ______________ --'-IU)34~~""b,---------------------I z Fc'~ WRln:::C:UR'Kt:NT
S££K (()uI-'I£IT ,5
INDEl( ,----------------111 wRlTt 6ATt
-mALI-{ ft)(}1jJ
WklTE FAULT
1?59 CRll
:zu: 1"141*5
cO
A A
UMOlU fN(;.JI"""
_o"](i ~ ~IaQ"........--t----i
8 7 6 5 4 l 2
8 7 6 5 4 3 2
(Z-BS) )<6
1<.'31
(i'-A3.1 aw6 -t5V
470lL
I<.'t'5
IK
0 All
(1-e.2)
o
.ll f5V
I~
, 16
woo
UIS LSIZIe>
. - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - " - / - -./
Z
r::fI,.dJ 8 '"
II
Il
15
lID
ZD ""
C
-=-
c
1
mLv D Q
(2-&1) UZ3 ("'l-Ce.)TI
lSI?<I
DJt::1
)2_ 1 ~
+'5V - ' \ N ' v - - - - '
It( lA'TE
(Z- &<I)
L ______ i
w{~
""""T[ F'FE£OJP MU X
UZ3
"If
(Z~~)
B
B IAFMW
DJl:1
oI-5V
I<IS
IK
1-- - - - - - - ,
I 1
I WCLK (2-&5)
I CI
1 01 .,,(
I
I
A
~9
IK II'\.IICI!S c..-ell
8 7 6 5 4 3 2
I
i 7
*
D o
,."
R~ ...,
IK
--- ----=----....--+---t---I~
PU P 1 -~----1~+---,
~UP Z ----+----1.-."
c c
I
I I
I I
____ .J
•
I 6I!OUlolD
t'lAII •
I I
~21
(/I
____J
K
,15
TEST Q)IJIJECT~
•
L
-----------------------=~========~---~
A
•
...:t
7
• 5
•
<i:
Q)
C>
CO
11.