`
`ADDISON-WESLEY
`
`ISK IWEEUDED
`
`HUAWEI EX. 1006 - 1/312
`
`HUAWEI EX. 1006 - 1/312
`
`
`
`-·-
`The
`SCSI Bus
`and
`IDE Interface
`---·--
`
`HUAWEI EX. 1006 - 2/312
`
`
`
`-·-
`The
`SCSI Bus
`and
`IDE Interface
`
`Protocols, Applications and Programming
`
`-------·-------
`
`Friedheim Schmidt
`Translated by
`J. Michael Schultz
`TransTech Translations
`
`I
`
`'
`
`......
`......
`ADDISON-WESLEY
`PUBLISHING
`COMPANY
`
`:, ..
`
`Wokingham, England • Reading, Massachusetts • Menlo Park, California • New York
`Don Mills, Ontario • Amsterdam • Bonn • Sydriey • Singapore
`·
`Tokyo • Madrid • San Juan • Milan • Paris • Mexico City • Seoul • Taipei
`
`HUAWEI EX. 1006 - 3/312
`
`
`
`© 1995 Addison-Wesley Publishers Ltd.
`© 1995 Addison-Wesley Publishing Company Inc ..
`
`Translated from the German edition SCSI-Bus und IDE-Schnittstelle
`published by Addison-Wesley (Deutschland) GmbH.
`
`All rights reserved. No part of this publication may be reproduced, stored in a retrieval
`system, or transmitted in any form or by any means, electronic, mechanical,
`photocopying, recording or otherwise, without prior written permission of the
`publisher.
`
`The programs in this book have been included for their instructional value. They have
`been tested with care but are not guaranteed for any particular purpose. The publisher
`does not offer any warranties or representations nor does it accept any liabilities with
`respect to the programs.
`
`Many of the designations used by manufacturers and sellers to distinguish their
`products are claimed as trademarks. Addison-Wesley has made every attempt to
`supply trademark information about manufacturers and their products mentioned in
`this book.
`
`Cover designed by Designers & Partners, Oxford
`and printed by The Riverside Printing Co. (Reading) Ltd.
`Typeset by VAP Group, Kidlington, Oxon.
`Printed and bound in Great Britain at T.J. Press (Padstow) Ltd, Padstow, Cornwall
`
`First printed 1995
`
`ISBN 0-201-42284-0
`
`British Library Cataloguing in Publication Data
`A catalogue record for this book is available from the British Library.
`
`Library of Congress Cataloging-in-Publication Data
`Schmidt. Friedheim
`(SCSI-Bus und IDE-Schnittstelle. English)
`The SCSI bus and IDE interface/Friedheim Schmidt; translated by
`Michael Schultz.
`p. em.
`Includes index.
`ISBN 0-201-42284-0
`1,SCSI (Computer bus) 2. IDE (Standard)
`TK7895.B87S36 1995
`004 .. 6'2--dc20
`
`I. Title
`
`94-23813
`CW
`
`HUAWEI EX. 1006 - 4/312
`
`
`
`Preface
`
`The SCSI bus and IDE interface are without question the two most important
`interfaces for computer peripherals in use today. The IDE hard disk interface is
`found almost exclusively in the world of IBM PC compatibles. The SCSI bus, on
`the other hand, is designed not only for hard drives but also for tape drives, CD(cid:173)
`ROM, scanners, and printers. Almost all modern computers, from PCs to work(cid:173)
`stations to mainframes, are equipped with a SCSI interface.
`Both SCSI and IDE are ANSI standards. However, aside from the actual
`ANSI documentation, there exists almost no additional reference material to
`either specification. The purpose of this book is to fill that void with a clear, con(cid:173)
`cise description of both interfaces. The essential terminology is introduced,
`while the commands and protocols are broken down in full. In the interest of
`economy the less important details and options have been omitted in certain
`cases. Often a specific section in the ANSI documentation will be cited for easy.
`cross-referencing. After reading this book you should be in the position to easily
`understand relevant technical documentation, including the ANSI specifications
`themselves.
`First and foremost, a thorough introduction to the terminology is in
`order. Especially with respect to SCSI, there is a deluge of terms and definitions
`that are used nowhere else or are used differently than in other computer
`domains. These keywords, which include signal names and interface com(cid:173)
`mands, are typeset in small capital letters, for example FORMAT UNIT.
`This book is intended for readers with a broaci range of technical back(cid:173)
`grounds and interests. Those working on the design of mass storage devices, for
`example, will find the protocol descriptions extremely useful. Readers writing soft(cid:173)
`ware or device drivers may have other interests. They will find the hardware
`descriptions, such as that of the physical organization of a disk drive, very helpful.
`This book is not meant to replace the ANSI documentation. On the other
`hand, those specifications are not meant to explain the technology, rather to
`define it. It is very difficult to find your way around in the original documenta(cid:173)
`tion without an understanding of the subject matter. The book's thorough, in(cid:173)
`depth descriptions, along with index and glossary, make it the perfect tutor for
`IDE and SCSI, as well as a helpful guide to the ANSI literature.
`Friedheim Schmidt
`February 1993
`
`v
`
`HUAWEI EX. 1006 - 5/312
`
`
`
`Contents
`
`Preface
`
`Part I Introduction
`
`1 Computers and peripherals
`1.1 Mass storage
`1.2 Peripheral interfaces
`
`2 Traditional peripheral interfaces
`2.1 The RS-232 serial interface
`2.2 The Centronics printer interfl).ce
`2.3 Hard disks and their interfaces
`2.4
`ST506
`2.5 ESDI
`
`3 Computer buses
`3.1 Characteristics of buses
`3.2
`Specialized buses
`
`Part II The IDE interface
`
`4 Background
`4.1 The origin of IDE
`4.2 Overview
`4.3 Outlook
`4.4 Documentation
`
`5 The physical IDE interface
`5.1 The electrical interface
`5.2 Timing specifications
`
`6
`
`IDE protocol
`6.1 The register model of the IDE controller
`6.2 Command execution
`6.3
`Power-up or hardware reset
`
`vi
`
`v
`
`1
`
`3
`4
`5
`
`7
`7
`10
`13
`19
`23
`
`29
`30
`32
`
`35
`
`37
`37
`38
`40
`41
`
`44
`44
`47
`
`50
`50
`55
`58
`
`HUAWEI EX. 1006 - 6/312
`
`
`
`7 The model of an IDE disk drive
`7.1 Organization of the medium
`7.2 Defect management
`7.3 The sector buffer
`7.4
`Power conditions
`
`8
`
`IDE commands
`8.1 Mandatory commands
`8.2 Optional commands
`
`Part III The SCSI bus
`
`9 Background
`9.1 The evolution of SCSI
`9.2 Overview
`9.3 Outlook
`9.4 Documentation
`
`10 SCSI hardware
`10.1 SCSI configurations
`10.2 SCSI signals
`10.3 Cables and connectors
`10.4 Single-ended SCSI
`10.5 Differential SCSI
`10.6 SCSI bus phases
`10.7 Synchronous transfers and Fast SCSI
`10.8 Wide SCSI
`
`11 SCSI bus protocol
`11.1 The message system
`11.2 I/0 processes
`11.3 SCSI pointers
`11.4 Disconnect-reconnect: freeing the bus
`11.5 Transfer options
`11.6 Tagged queues
`11.7 Termination of I/0 processes
`11.8 Error handling in the message system
`11.9 Asynchronous event notification
`
`12 SCSI commands
`12.1 The SCSI target model
`12.2 Command descriptor blocks
`12.3 Commands for all SCSI devices
`12.4 Mode parameter pages for all device classes
`
`Contents
`
`vii
`
`60
`60
`62
`63
`64
`
`66
`66
`70
`
`75
`
`77
`77
`79
`84
`85
`
`89
`89
`92
`96
`96
`100
`102
`113
`116
`
`117
`117
`119
`122
`123
`124
`126
`127
`129
`129
`
`131
`131
`133
`138
`155
`
`HUAWEI EX. 1006 - 7/312
`
`
`
`viii
`
`SCSI Bus and IDE Interface
`
`13 Direct access devices
`13.1 The model of a SCSI disk drive
`13.2 Hard disk commands ·
`13.3 Mode parameter pages for disk drives
`
`14 Tape drives
`14.1 The model of a SCSI tape drive
`14.2 Commands for tape devices
`14.3 Mode parameters for tape devices
`
`15 Printers
`15.1 The model of a SCSI printer
`15.2 Printer commands
`15.3 Mode parameters for printers
`
`16 Scanners
`16.1 The model of a SCSI scanner
`16.2 Scanner commands
`16.3 Mode parameters for scanners
`
`17 Processor devices
`17.1 The model of a SCSI processor device
`17.2 Commands for processor devices
`
`18 Communications devices
`18.1 The model of a SCSI communications device
`18.2 Commands for SCSI communications devices
`18.3 Mode parameter pages for communications devices
`
`19 Optical storage and WORM drives
`19.1 The SCSI model of optical storage
`19.2 Commands for optical storage and WORM drives
`19.3 Mode parameters for optical storage
`
`20 CD-ROM
`20.1 The model of a SCSI CD-ROM drive
`20.2 Commands for CD-ROM
`20.3 Audio commands for CD-ROM
`20.4 Mode parameters for CD-ROMs
`
`21 Medium-changer devices
`21.1 The model of a SCSI medium-changer device
`21.2 Commands for medium-changers
`21.3 Mode parameter pages for medium-changers
`
`22 The SCSI monitor program
`
`158
`158
`165
`173
`
`180
`180
`184
`190
`
`193
`193
`194
`197
`
`200
`200
`202
`204
`
`206
`206
`207
`
`210
`210
`211
`213
`
`214
`214
`215
`220
`
`222
`222
`224
`227
`229
`
`233
`233
`235
`237
`
`240
`
`HUAWEI EX. 1006 - 8/312
`
`
`
`23
`
`Software interfaces
`23.1 The concept of ASPI
`23.2 SCSI request blocks
`23.3 ASPI initialization and function calls
`
`24 Test equipment
`24.1 SCSI analyzers
`24.2 SCSI emulators
`24.3 Examples from industry
`
`25
`
`SCSI protocol chips
`25.1 The NCR 5385
`25.2 Target applications: EMULEX ESP200
`25.3 PC host adapters: FUTURE DOMAIN TMC-950
`
`Appendix A SCSI commands (by opcode)
`
`Appendix B SCSI commands (alphabetically)
`
`Appendix C SCSI sense codes
`
`Appendix D The SCSI bulletin board
`
`Appendix E Source code for SCANSCSI.PAS
`
`Glossary
`Index
`
`Contents
`
`ix
`
`247
`248
`248
`253
`
`257
`257
`258
`259
`
`262
`263
`264
`266
`
`269
`
`273
`
`276
`
`281
`
`283
`
`290
`295
`
`HUAWEI EX. 1006 - 9/312
`
`
`
`HUAWEI EX. 1006 - 10/312
`
`HUAWEI EX. 1006 - 10/312
`
`
`
`Part I
`Introduction
`
`1 Computers and peripherals
`2 Traditional peripheral interfaces
`3 Computer buses
`
`HUAWEI EX. 1006 - 11/312
`
`
`
`HUAWEI EX. 1006 - 12/312
`
`HUAWEI EX. 1006 - 12/312
`
`
`
`
`
`4
`
`SCSI Bus and IDE Interface
`
`is slower and more complicated. Communication with the peripherals is
`accomplished using an interface such as SCSI or IDE. On the other end of the
`interface is a controller, which in tum communicates with the CPU and memory.
`
`1.1 Mass storage
`
`A mass storage device is capable of storing data many times the size of main
`memory. In addition, information stored here is nonvolatile: when the device is
`turned off the data remains intact.
`
`Hard disks
`
`Disk drives or hard disks store information by writing it onto rotating disks. The
`information is divided up into blocks of fixed length, each of which can be
`accessed relatively quickly, typically around 30 milliseconds (ms). For this
`reason hard disks are also referred to as random access mass storage devices.
`Among the different types of mass storage devices are hard disks, exchangeable
`medium drives, diskettes, optical disks and CD-ROM.
`
`Tape devices
`
`1/0 devices
`
`In contrast to hard disks, tape devices (or tape drives) write data sequentially
`onto magnetic tape. The length of time needed to access a specific block of
`information depends on which position is presently underneath the read/write
`head. If it is necessary to rewind or fast forward the tape a very long distance, a
`tape access can take as long as several minutes. Tape drives are also known as
`sequential mass storage devices. Among these are the traditional reel-to-reel
`drives, cassette drives, drives that use video cassettes for recording and 4mm
`digital audio tape (DAT) drives.
`
`Under the heading I/0 devices are the monitor and keyboard used for
`communication between the user and the computer. Further examples of output
`devices are printers, plotters and even speakers used for outputting speech.
`Among the many input devices are mice, analog to digital converters, scanners
`and microphones used in speech recognition.
`Network connections also fall into this category. This is especially so
`today where mass storage is often replaced by a file server across a network.
`Computers with no mass storage of their own are called diskless workstations.
`
`Miscellaneous
`devices
`
`There are many more devices that exchange data with computers, although one
`hardly refers to a computer controlled lathe or a music synthesizer as a
`computer peripheral. Nevertheless, they function as peripherals and
`communicate with the computer using I/0.
`
`HUAWEI EX. 1006 - 14/312
`
`
`
`1.2 Peripheral interfaces
`
`Computers and peripherals
`
`5
`
`Peripheral devices are connected to computer systems via interfaces. The
`abstract model of a peripheral interface is made up of many layers, the
`boundaries of which are not always clear, especially for older interfaces. It is also
`true that some layers are omitted in certain interface definitions. In this book I
`adhere to a model with four layers for the SCSI interface, as was agreed upon by
`the American National Standards Institute (ANSI) committee for the first time
`for SCSI-3. The strata of layers are designed bottom up. All low level layers are
`mandatory for the implementation of an interface. An uppermost layer,
`however, can be omitted in some cases. A high level interface refers to the case
`where all possible levels have been implemented.
`Among those things defined in the lowest level are cable and connector
`types. Also defined are the signal voltages and the current requirements of the
`drivers. Finally, the timing and coordination of all of the signals of the bus are
`described here. This lowest level is referred to as the physical interface.
`Directly above the physical layer resides the protocol layer. The protocol
`of an interface contains, for example, information about the difference between
`data bytes and command bytes and about the exchange of messages between
`devices. If corrupted data is to be corrected through the use of error correction,
`this is described in the interface protocol.
`On top of the protocol layer lies the peripheral device model. Here the
`behavior of devices to be connected to the interface is described. These
`descriptions can be very detailed and precise. The SCSI bus is an example of
`such a detailed model, where in addition to the characteristics of general
`purpose SCSI devices, those of hard disks, tape drives, printers and so on are
`defined.
`Finally, some interfaces go so far as to define which commands must be
`understood by the interface devices. The command set builds upon the device
`model and represents the fourth layer of the interface.
`The term 'interface' always refers to all implemented layers in their
`entirety. There are distinct peripheral interfaces defined using the same physical
`level but a unique protocol level. It is also possible for a single interface to allow
`for different options in the physical level.
`The interface used for printers is a good example of a four-layer
`interface. Figure 1.2 makes the relationships among the layers clear. The two
`lower levels are covered by the Centronics interface. This parallel interface
`contains the definition of the physical and protocol layers. The particular printer
`model in Figure 1.2 is a page printer. This means that the printer constructs an
`entire page in internal memory before printing it. In contrast to line printers, the
`lines of a page can be sent in any order as long as a page boundary is not crossed.
`However, once a page is printed it is impossible to retrieve it in order to make
`changes.
`The page description language PostScript is an excellent example of a
`large and complex command set. It is built upon the page printer model and
`makes it possible to output text as well as various graphic elements. These
`elements can be p0sitioned freely on the current page. Naturally, there are other
`
`HUAWEI EX. 1006 - 15/312
`
`
`
`6
`
`SCSI Bus and IDE Interface
`
`Command set
`
`PostScript
`
`Device model
`
`Printer
`
`Protocol
`
`Physical
`interface
`
`·· ··· ··· Centronics ...
`
`Figure 1.2 Layers of a printer interface.
`
`such page formatting languages written for the page printer model. This makes
`the division between device and language very intuitive.
`As you can see, this interface is complete in that it contains all four
`interface layers. If you purchase a printer with such an interface, it makes no.
`difference which brand name you choose. As long as it is true to the interface
`specification it will work with any computer also equipped with ·the printer
`interface. However, if you were to omit even only the uppermost layer of the
`specification, then the interface description would be incomplete. It would still
`be possible to connect up the printer, but whether it would function properly
`would be a matter of luck.
`The IDE interface and the SCSI bus are likewise complete interface
`definitions. Before getting. to these, however, I would like to introduce in
`Chapter 2 a few classic examples of peripheral interfaces. For the most part their
`definitions contain only the lower layers of the interface model. This chapter will
`help to underscore the difference between traditional interfaces on the one hand
`and the complete IDE and SCSI interfaces on the other.
`
`HUAWEI EX. 1006 - 16/312
`
`
`
`2 Traditional peripheral
`interfaces
`
`This chapter will help to familiarize you with several classic peripheral inter(cid:173)
`faces of the computer industry. As with the printer interface outlined in Chapter
`1, these will be described within the framework of the layered interface model.
`These descriptions are by no means comprehensive; complete specifications
`would turn this book into several volumes.
`I have two goals in mind in presenting these interfaces. First of all, the
`interfaces are very simple; they will allow you to become acquainted with inter(cid:173)
`face characteristics that are valid for all interfaces, including computer buses.
`Secondly, to a certain degree these specifications are the forerunners of competi(cid:173)
`tion to the IDE and SCSI bus interfaces. A background in the more traditional
`interfaces will make it much easier to evaluate and understand their modern
`descendants, the main topic of this book.
`
`2.1 The RS-232 serial interface
`
`RS-232C is the most widely used serial interface. 'Serial' means that the data is
`transferred one bit at a time across a single connection. RS-232C is used mainly
`for the connection of computer terminals and printers.· Nonetheless, it is also
`appropriate for the exchange of data between computers. Machine tools and
`measurement instruments are frequently connected to computers using RS-
`232C. Understandably, it is not a device specific interface. RS-232C is the respon(cid:173)
`sibility of the Electronic Industries Association (EIA).
`The specification for RS-232C contains the physical layer and hardware
`protocol. In addition, there are software protocols, of which only a few build on
`top of the RS-232 hardware protocol. This leads to an uncommon situation with
`RS-232C and other serial interfaces - not all applications use all of the signals.
`Frequently cables are used that conduct only a few of the defined signals, a sit(cid:173)
`uation that would be unthinkable for IDE or SCSI. I concentrate here on a varia(cid:173)
`tion of the interface using only three signals, which I call mini-RS-232.
`
`7
`
`HUAWEI EX. 1006 - 17/312
`
`
`
`8
`
`SCSI Bus and IDE Interface
`
`The physical
`interface
`
`Mini-RS-232 establishes a bidirectional point-to-point connection between
`equipment. Each direction has its own data signal and a single ground signal is
`shared. The data signals are called TD (transmit data) and RD (receive data).
`When two devices are coupled to each other, these signals are crossed such that
`the TD of one device connects to the RD of the other (Figure 2.1).
`
`0
`
`1
`
`0
`
`1
`
`0
`
`1
`
`0
`
`0
`
`-0 0 , - - - - - - , • • • •oooo . . - - o•• oo - 00
`
`• o oo oo oo oo oo o , - -
`
`o ooo ooo o · -
`
`OOOOOOOOoo o - 00 00 00 0 0 -
`
`Start bit
`(always 0)
`
`8 Data bits
`
`Stop bit
`(always 1)
`
`+15 v
`
`ov
`
`-15 v
`
`13s 14
`
`. . . . . . . : .. . . . . .. .
`
`tL 2s
`
`Transmit data
`Receive data
`
`Signal ground
`
`Transmit data
`
`14~ 13
`
`.. . . . . . . . . : . . . . .
`
`: • .
`
`Receive data 25 ~ 1
`
`Figure 2.1 Physical interface: rnini-RS-232.
`
`The connector chosen by the EIA standard is the 25-pin DB25. Other con(cid:173)
`nectors, however, are frequently employed, such as the DB9 for the IBM AT or
`the RJll telephone connector used in various minicomputers.
`On the signal lines, a logical 1 is represented by a voltage between +5 V
`and +15 V, and the receiver recognizes anything above +3 Vas such. Likewise,
`logical 0 is represented by a signal voltage between -5 V and -15 V. Again, the
`receiver recognizes any signal below -3 V as such.
`Data transfer takes place serially, character by character. The characters
`are further broken down into bits, which are sent across the line one by one. On
`the other end, the receiver then assembles the bits back into characters. The
`number of bits per character lies between five and eight; eight is precisely what
`is needed to transfer one byte. The data bits are preceded by a start bit and fol(cid:173)
`lowed by a stop bit. In addition, a parity bit may be sent for error detection. The
`transfer rate· can range between 75 and 115 000 bits per second (baud), and a
`cable alone cannot compensate for different transfer rates; the devices must be
`set at the same speed otherwise no exchange of data can take place.
`Now comes a rather confusing point: this method of transfer over the
`serial interface is called asynchronous even though the data is sent and received
`relative to a clock. Among other serial interfaces the term 'synchronous' is used
`whenever a clock is involved. For RS-232C, however, the transfer is referred to
`as asynchronous because the clocks are not tied to each other. The RS-232C spec(cid:173)
`ification includes signals that allow the sender and the receiver to use the same
`clock for data transfer. When these signals are employed the data transfer is
`
`HUAWEI EX. 1006 - 18/312
`
`
`
`
`
`1 0
`
`SCSI Bus and IDE Interface
`
`Summary As you can see, an interface that builds on top of RS-232 has many possible vari(cid:173)
`ations. The complete description of·my printer-PC interface would be: RS-232 at
`9600 baud, 1 stop bit, no parity, XON /XOFF protocol, PostScript. If I were to
`change a parameter for only the printer or only the PC, for example by not send(cid:173)
`ing PostScript or starting to use a parity bit, nothing would print. Although
`mini-RS-232 appears to be simple (only three wires), there are almost an
`uncountable number of ways in which the connection can fail. What is missing
`is a protocol that allows the devices to agree upon the available options.
`Although RS-232 has given a good portion of frustration to just about everyone
`who has worked with it, it nonetheless has the decided advantage that it exists
`on every computer and is also device independent.
`
`2.2 The Centronics printer interface
`
`The Centronics interface is a parallel interface developed for printers. It is an
`industry standard that, to my knowledge, has never been officially approved. As
`a result there are many variations. This is especially so with respect to the status
`signals that reflect the printer's current state. Centronics defines the physical
`interface and the protocol. As a command set, either PostScript or another print(cid:173)
`er language is used.
`Originally developed as a unidirectional interface, the parallel printer
`link for PCs can also be used bidirectionally. This extension is not our concern
`here. We are interested in Centronics mostly as another example of the various
`computer interfaces. However, it is also a good idea to know this interface in
`order to understand the difference from SCSI printers (see Figure 2.3).
`
`The physical
`interface
`
`Centronics uses a shielded twisted-pair cable with 36 signals, of maximum
`length 5 meters (about 16 feet). A 36-pin amphenol connector is used on the
`printer end, which most people have come to refer to as a Centronics connector.
`The computer end of the cable has either a corresponding female Centronics or
`a female DB25.
`
`Electrical
`specifications
`
`The signal voltages correspond to those for transistor-transistor logic (TTL). A 0
`is recognized from 0 V to +0.8 V, a 1 from +2.4 V to +5.0 V. Table 2.1lists the sig(cid:173)
`nals of the Ointronics interface. Note that I have described the data signals start(cid:173)
`ing with 0; that is, using the logical names. The actual signal names, however,
`are DATAl to DATA8.
`Data transfer takes place in parallel across signals DATAl to DATAS. The
`signals STROBE, BUSY and AC.KNLG control the sequencing, which is shown in
`Figure 2.3. The term 'protocol' does not apply completely here. Relative to our
`layer model, this timing belongs to the definition of the physical interface.
`
`HUAWEI EX. 1006 - 20/312
`
`
`
`
`
`12
`
`SCSI Bus and IDE Interface
`
`data signals and send the next STROBE for the next byte. This method of data
`transfer, where a signal is used to indicate a request (here STROBE) and another to
`acknowledge that request (here ACKNLG), is called asynchronous. The mecha(cid:173)
`nism itself is termed request/acknowledge handshake.
`
`Throughput Throughput, or the amount of data transferred per second, is dependent upon
`how long the printer leaves its BUSY signal active for each byte. The other signals
`involved in the handshake need at least 4 microseconds (ps) in total. If a printer
`were exceptionally fast, it could accept a byte in around 10 ps. This would cor(cid:173)
`respond to a data rate of 100 Kbytes per second. The handbook for my laser
`printer reports a value of approximately 100 ps for the length of BUSY, which
`allows for a rate no faster than 10 Kbytes per second.
`
`The protocol The Centronics interface protocol is very simple. The flow of data is solely the
`responsibility of the physical layer. When the printer is not able to receive data
`it simply holds BUSY active. There are, however, a couple of status signals that
`reflect the printer's status. These fall under the category of message exchange,
`which places them in the protocol layer. These signals are PE, SELECT, and ERROR.
`In addition to these are the control signals AUTOFEED, !NIT, and SLCT IN. All of
`these signals are described in Table 2.1.
`
`Summary The Centronics printer interface is our first example of a device specific inter(cid:173)
`face. The method of data transfer is very similar to many parallel interfaces.
`Nevertheless, the status signals for end of paper and carriage return pertain
`strictly to printers. Although this is the case, devices have been developed that
`use Centronics as a general purpose parallel interface simply by ignoring the
`printer specific signals. Examples of these include network adapters and disk
`drives.
`
`The data transfer is parallel and asynchronous, controlled by the hand(cid:173)
`shaking signals STROBE/ ACKNLG. The transfer rate is dependent on the spee<;! of
`the printer: the faster the printer is able to activate its ACKNLG signal, the higl:ter
`the transfer rate. This characteristic of asynchronous transfer will appear again
`when we look at the SCSI bus.
`As in the case of RS-232, the Centronics interface itself contains neither a
`device model nor a command set. As shown in Figure 1.2, all components are
`necessary in order to define a complete printer interface. On the other hand, the
`interface as it stands is flexible. There are even tape back-up devices that take
`advantage of this very adaptable interface.
`Centronics, like RS-232, establishes a point-to-point connection between
`devices. This means that only a single printer can be used for each interface
`because the ability to address different devices is lacking. This new feature
`belongs to the next interface we will discuss.
`
`HUAWEI EX. 1006 - 22/312
`
`
`
`Traditional peripheral interfaces
`
`13
`
`2.3 Hard disks and their interfaces
`
`This section and the following two sections on ST506 and ESDI delve more
`deeply into details than previous sections, because it is here that the foundation
`for understanding IDE and SCSI is laid. If you are not well acquainted with the
`internals and workings of hard disks, you will find this section especially inter(cid:173)
`esting. Here, you will learn the terminology of the disk drive domain.
`
`A little history
`
`Disk drive interfaces were standardized early on. Beginning in 1975, drives with
`a diameter of 14 inches and then 8 inches were shipped with the SMD interface.
`The name comes from the Storage Module Drives of the company, CDC. CDC
`has since sold its drive production to Seagate. During the late 1980s, as a result
`of steady improvements, SMD became the favorite interface for 8 inch high per(cid:173)
`formance drives. SMD-E, the final version, had a transfer rate of 24 MHz or
`about 3 Mbytes per second. The interface, however, could not survive the tran(cid:173)
`sition to 51/• inch drives, primarily because of the very wide cable. As a result
`SMD died along with 8 inch drives in.about 1990.
`Five years after the arrival of SMD, Seagate introduced a 5\4 inch drive
`with a storage capacity of 5 Mbytes. This economical disk drive, at the lower end
`of the performance scale, used a hew interface called ST506. You will often hear
`ST506/ST412 being used to refer to the same interface. ST506 was not developed
`from scratch, but evolved from the floppy interface. The transfer rate was
`increased to 5 MHz (about 62? Kbytes per second) but the method of moving the
`heads by sending step pulses remained the same. lh the past few years,
`advances have allowed the transfer rate to be doubled once again. However, the
`demands of modern PCs have finally exceeded the interface's capabilities: ST506
`has been steadily losing ground to IDE and SCSI since around 1991.
`It was apparent early on that 514 inch drives would be capable of perfor(cid:173)
`mance that ST506 could not support. SMD could have fitted the bill but it was
`too big and too expensive. lh 1983 the disk drive manufacturer Maxtor came out
`with the Enhanced Small Device lhterface (ESDI) to remedy this situation. The
`ESDI used the same cables as ST506 but allowed transfer rates of up to 20 MHz
`(2.4 Mbytes per second).lh addition, ESDI had commands, for example, seek to
`track. Today, ESDI can occasionally be found in the microcomputer and work(cid:173)
`station domain. However, it too is quickly being crowded out by SCSI. New dri(cid:173)
`ves with the ESDI interface are no longer being developed.
`
`The disk drive
`model
`
`On our way to understanding IDE we will make two stops to examine its prede(cid:173)
`cessors, the ST506 and ESDI interfaces. Before we do this, however, we need to
`become acquainted with the basic model of a disk drive. A hard disk drive stores
`information on a set of rotating disks. The information can be written and read
`any number of times and the data remains intact even after the drive is turned off.
`The term 'hard disk' most often refers to a drive with nonremovable
`media although some removable media drives do use hard disks. A hard disk
`contrasts with the flexible media used in floppy drives.
`
`HUAWEI EX. 1006 - 23/312
`
`
`
`
`
`
`
`16
`
`SCSI Bus and IDE Interface
`
`The reading of a sector is relatively simple. As soon as the head is posi(cid:173)
`tioned at the correct cylinder, the desired head is chosen and the formatter chip
`reads headers until the proper address comes by. The data directly following this
`header is the data required.
`Writing a sector is a bit more complicated. A write looks just like a read
`until the proper header is found, then the amplifier circuitry switches from reading
`to writing, and the new data, along with ECC, is written. A write-splice is located
`between the header and the data field to allow time to turn on the write current.
`
`Format
`characteristics
`
`It is not necessarily the case that two sectors with adjacent addresses are adja(cid:173)
`cent to one another on the medium. The limited throughput of early drive con(cid:173)
`trollers made it necessary to employ certain techniques in the format design. The
`techniques discussed here are pertinent to IDE as well SCSI.
`
`Interleave
`
`Track and
`cylinder skew
`
`Early drive controllers had a very small local buffer which held at most a sec(cid:173)
`tor's worth of data. This situation forces the controller to pass the data on to the
`computer before reading the next sector. If this cannot be accomplished in the
`time it takes the head to pass over the short gap between sectors, the controller
`must wait for a complete revolution of the disk for the sector to come around
`again. For drives of this era, this meant waiting 17 ms for the next sector. In order
`to avoid this delay, the format of the track can employ an interleave to insure
`that there is enough time to get ready for the next sector. With a interleave of
`two, for example, the sector with the next adjacent address is two physical sec(cid:173)
`tors away. This makes it possible to read all sectors of a track with only tw