`
`HUAWEI EX. 1006 - 1/312
`
`OLYMPUS EX. 1006 - 1/312
`
`
`
`
`
`
`
`__._..____
`
`
`The
`
`SCSI Bus
`
`and
`
`IDE Interface
`
`
`
`HUAWEI EX. 1006 - 2/312
`
`OLYMPUS EX. 1006 - 2/312
`
`
`
`
`
`
`
`
`Protocols, Applications and Programming
`
`
`
`
`
`9
`
`
`
`Friedhelm f$chmidt
`
`
`
`
`Translated by
`
`
`
`J. Michael Schultz
`
`
`TransTech Translations
`
`
`The
`
`SCSIBus
`
`nda
`
`IDE Interface
`
`‘4'
`
`
`
`
`
`AV
`
`
`V
`ADDISON-WESLEY
`
`PUBLISHING
`
`COMPANY
`
`
`
`
`
`
`
`
`
`
`
`Wokingham, England 0 Reading, Massachusetts 0 Menlo Park; California 0 New York
`
`
`
`
`
`
`
`
`Don Mills, Ontario ' Amsterdam - Bonn 0 Sydney 0 Singapore
`'
`
`
`
`
`
`
`
`
`
`
`Tokyo - Madrid 0 San Juan 0 Milan 0 Paris 0 Mexico City,- Seoul - Taipei
`
`HUAWEI EX. 1006 - 3/312
`
`OLYMPUS EX. 1006 - 3/312
`
`
`
`
`
`
`
`
`© 1995 Addison-Wesley Publishers Ltd.
`
`
`
`
`
`
`'© 1995 Addison-Wesley Publishing Company Inc.
`
`A
`Translated from the German edition SCSI-Bits und IDE-Schnittstelle
`
`
`
`
`
`
`
`
`
`
`
`
`
`published by Addison-Wesley (Deutschland) GmbH.
`
`Ti. 73f???
`~
`9 7 ‘2"; “tin
`[T “.554...
`‘
`r"
`I
`’ ~31
`Mitt. (if?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 8: 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]. 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.
`
`CIP
`
`
`
`
`
`Library of Congress Cataloging-in-PubIication Data
`
`
`Schmidt. Friedhelm
`
`
`
`
`(SCSI-Bus und IDE-Schnittstelle. English)
`
`
`
`
`
`
`
`
`The SCSI bus and IDE interface/Friedhelm Schmidt; translated by
`
`
`Michael Schultz.
`
`
`p. cm.
`
`
`Includes index.
`
`
`ISBN 0-201-42284~0
`
`
`1:_,SCSI (Computer bus)
`
`
`TK7895.BS7536 1995
`
`
`004.. 6‘2--dc20
`
`
`
`
`
`
`
`
`94-23813
`
`
`
`I. Title
`
`
`
`
`
`2. IDE (Standard)
`
`
`
`HUAWEI EX. 1006 - 4/312
`
`OLYMPUS EX. 1006 - 4/312
`
`
`
`Preface
`
`
`
`February 1993
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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—
`
`
`
`
`
`
`
`
`
`
`
`ROM, scarmers, and printers. Almost all modern computers, from PCs to work-
`
`
`
`
`
`
`
`
`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—
`
`
`
`
`
`
`
`
`
`
`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 I
`
`
`
`
`
`
`
`
`
`
`
`
`
`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—
`
`
`
`
`
`
`
`
`
`
`
`mands, are typeset in small capital letters, for example FORMAT UNIT.
`
`
`
`
`
`
`
`
`
`
`
`
`This book is intended for readers with a broad range of technical back-
`
`
`
`
`
`
`
`
`
`
`
`
`
`grounds and interests. Those working on the design of mass storage devices, for
`
`
`
`
`
`
`
`
`
`
`example, will find the protocol descriptions extremely useful. Readers writing soft-
`
`
`
`
`
`
`
`
`
`
`
`
`
`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-
`
`
`
`
`
`
`
`
`
`
`
`tion without an understanding of the subject matter. The book’s thorough, in-
`
`
`
`
`
`
`
`
`
`
`
`
`
`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.
`Friedhelm Schmidt
`
`
`
`
`
`
`
`
`
`HUAWEI EX. 1006 - 5/312
`
`OLYMPUS EX. 1006 - 5/312
`
`
`
`Contents
`
`
`
`Preface
`
`
`
`
`
`Introduction
`
`
`
`
`
`
`
`
`
`
`
`COmputers and peripherals
`
`
`
`1.1 Mass storage
`
`
`1.2
`Peripheral interfaces
`
`
`
`
`
`
`
`
`
`Computer buses
`Characteristics of buses
`3.1
`
`
`
`
`
`
`3.2
`Specialized buses
`
`
`
`
`
`
`
`Part II The IDE interface
`
`
`
`
`Background
`
`
`
`
`The origin of IDE
`4.2 Overview
`
`
`4.3 ‘ Outlook
`
`
`4.4 Documentation
`
`
`
`
`
`
`
`
`The physical IDE interface
`The electrical interface
`5.1
`
`
`
`
`
`
`5.2
`Timing specifications
`
`
`
`Power-up or hardware reset
`
`
`
`Traditional peripheral interfaces
`The RS—232 serial interface
`2.1
`
`
`
`
`
`
`
`
`
`
`2.2
`The Centronics printer interface
`2.3 Hard disks and their interfaces
`
`
`
`
`
`
`2.4
`ST506
`
`
`2.5
`ESDI
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IDE protocol
`
`
`
`
`
`
`
`6.1
`The register model of the IDE controller
`62 Command execution
`
`
`
`
`
`
`6.3
`
`
`
`
`
`HUAWEI EX. 1006 - 6/312
`
`OLYMPUS EX. 1006 - 6/312
`
`
`
`Contents
`
`
`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
`
`
`
`
`
`
`[DE commands
`
`
`
`
`8.1 Mandatory commands
`
`
`
`8.2 Optional commands
`
`
`
`
`
`The SCSI bus
`
`
`
`
`Background
`9.1
`The evolution of SCSI
`
`
`
`
`9.2 Overview
`
`
`9.3 Outlook
`
`
`9.4 Documentation
`
`
`
`
`
`
`
`
`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
`
`
`
`
`vii
`
`
`60
`
`60
`
`62
`
`63
`
`64
`
`
`66
`
`66
`
`70
`
`
`75
`
`
`
`77
`
`77
`
`79
`
`84
`
`85
`
`
`89
`
`89
`
`92
`
`96
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`96
`
`
`
`
`SCSI bus protocol
`
`
`
`11.1 The message system
`
`
`
`11.2 No 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/O processes
`
`
`
`
`
`
`11.8 Error handling in the message system
`
`
`
`
`11.9 Asynchronous event notification
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`HUAWEI EX. 1006 - 7/312
`
`OLYMPUS EX. 1006 - 7/312
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`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
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`viii
`
`
`SCSI Bus and [DE 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
`
`
`
`
`
`
`
`Tape drives
`
`
`
`
`
`
`14.1 The model of a SCSI tape drive
`
`
`
`
`
`14.2 Commands for tape devices
`
`
`
`
`
`14.3 Mode parameters for tape devices
`
`
`
`
`
`Printers
`
`
`
`
`
`
`15.1 The model of a SCSI printer
`15.2 Printer commands
`
`
`
`
`
`
`
`15.3 Mode parameters for printers
`
`
`
`
`
`Scanners
`
`16.1 The model of a SCSI scanner
`
`
`
`
`
`16.2 Scanner commands
`
`
`
`
`
`
`
`16.3 Mode parameters for scanners
`
`
`
`
`
`Processor devices
`
`
`
`
`
`
`
`
`17.1 The model of a SCSI processor device
`
`
`
`
`
`17.2 Commands for processor devices
`
`
`
`The SCSI monitor program
`
`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
`
`HUAWEI EX. 1006 - 8/312
`
`OLYMPUS EX. 1006 - 8/312
`
`
`
`Software interfaces
`
`
`
`
`
`
`
`23.1 The concept of ASPI
`
`
`
`
`23.2 SCSI request blocks
`23.3 ASPI initialization and function calls
`
`
`
`
`
`
`
`
`
`
`Test equipment
`
`
`
`24.1 SCSI analyzers
`24.2 SCSI emulators
`
`
`
`
`
`
`24.3 Examples from industry
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`2’73
`
`
`276
`
`
`281
`
`
`283
`
`
`290
`
`
`
`
`
`
`SCSI protocol chips
`25.1 The NCR 5385
`
`
`
`
`
`
`
`
`
`25.2 Target applications: EMULEX ESP200
`
`
`
`
`
`
`
`25.3 PC host adapters: FUTURE DOMAIN TMC-950
`
`295
`
`HUAWEI EX. 1006 - 9/312
`
`OLYMPUS EX. 1006 - 9/312
`
`
`
`HUAWEI EX. 1006 - 10/312
`
`OLYMPUS EX. 1006 - 10l312
`
`HUAWEI EX. 1006 - 10/312
`
`OLYMPUS EX. 1006 - 10/312
`
`
`
`Introduction
`
`
`
`
`
`Part I
`
`
`
`
`
`
`1 Computers and peripherals
`
`
`
`2 Traditional peripheral interfaces
`
`
`
`
`3 Computer buses
`
`HUAWEI EX. 1006 - 11/312
`
`OLYMPUS EX. 1006 - 11/312
`
`
`
`
`
`HUAWEI EX. 1006 - 12/312
`
`OLYMPUS EX. 1006 - 12/312
`
`
`
`1 Computers and peripherals
`
`. ‘I tfifiEWJ-T’PR
`
`52;].
`5:
`1.
`1
`
`is
`
`A computer can be broken down into a number of interdependent functional
`blocks. The most important of these are the central processing unit (CPU), main
`memory, input/ output (I/O) and mass storage. The CPU executes the
`instructions of a program, which, along with the necessary data, must reside in
`main memory at execution time. Therefore, before a program can be run it must
`be loaded into main memory from mass storage. The data to be processed by the
`program comes either from mass storage or from an input device such as the
`keyboard. The CPU accesses memory at least once for each program step in order
`to read the corresponding machine instructions. In fact, several accesses are
`usually necessary to read and write data. For this reason the CPU and memory
`are very tightly coupled: access is uncomplicated and, above all, fast.
`
`3
`
`.
`
`.
`
`I
`
`..
`.
`
`y
`a
`
`J
`
`.
`
`'
`
`i
`
`-
`
`.
`
`.2
`.—; Mi‘
`
`Figure 1.1 Computer system with peripheral devicas.
`
`In contrast to memory, I/O deViCes and mass storage are located further
`from the CPU, hence the name ’peripherals’ (Figure 1.1). Access to such devices
`
`OLYMPUS EX. 1006 - 13/312
`
`
`
`
`
`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 turn 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.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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.
`
`
`Tape devices
`
`
`
`IIO devices
`
`
`
`
`communicate with the computer using I/O.
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`HUAWEI EX. 1006 - 14/312
`
`OLYMPUS EX. 1006 - 14/312
`
`
`
`
`
`1.2 Peripheral interfaces
`
`
`
`
`
`Computers and peripherals
`
`
`
`5
`
`
`
`elements can be positioned freely on the current page. Naturally, there are other
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`HUAWEI EX. 1006 - 15/312
`
`OLYMPUS EX. 1006 - 15/312
`
`
`
`
`
`Protocol
`
`
`
`
`
`Physical
`
`interface
`
`
`
`
`------ -- Centronics---------
`
`
`
`
`
`
`
`
`
`
`Figure 1.2 Layers of a printer interface.
`
`
`
`
`
`
`
`SCSI Bus and IDE Interface
`
`
`
`
`
`
`
`Command set
`
`
`
`PostScript
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`OLYMPUS EX. 1006 - 16/312
`
`
`
`
`
`2 Traditional peripheral
`
`
`interfaces
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`This chapter will help to familiarize you with several classic peripheral inter-
`
`
`
`
`
`
`
`
`
`
`
`
`
`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-
`
`
`
`
`
`
`
`
`
`
`
`face characteristics that are valid for all interfaces, including computer buses.
`
`
`
`
`
`
`
`
`
`
`Secondly, to a certain degree these specifications are the forerunners of competi—
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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.
`
`
`
`tion of the interface using only three signals, which I call mini-R9232.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`RS—ZSZC 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—
`
`
`
`
`
`
`
`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 a not all applications use all of the signals.
`
`
`
`
`
`
`
`
`
`
`
`
`Frequently cables are used that conduct only a few of the defined signals, a sit-
`uation that'would be unthinkable for IDE or SCSI. I concentrate here on a varia-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The RS-232 serial interface
`
`
`
`
`
`HUAWEI EX. 1006 - 17/312
`
`OLYMPUS EX. 1006 - 17/312
`
`
`
`
`
`SCSI Bus and IDE interface
`
`
`
`
`
`
`
`
`The physical
`interface
`
`
`
`
`
`
`
`
`
`
`
`Mini-R3232 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).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(always 0)
`
`
`
`
`8 Data bils
`
`Stop bit
`
`
`
`(always 1)
`
`
`
`
`
`
`
`
`
`25
`
`
`\
`
`
`
`
`
`
`
`
`
`
`
`
`
`The connector chosen by the EIA standard is the 25-pin D325. Other con-
`
`
`
`
`
`
`
`
`
`
`
`
`
`nectors, however, are frequently employed, such as the D39 for the IBM AT or
`
`
`
`
`
`
`
`
`the R111 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 V as Such. Likewise,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`logical O 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 iies 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-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`Signal ground
`
`
`Transmit dale Transmll data“
`
`
`
`
`
`25
`Receive date
`Receive data
`
`
`
`
`
`
`
`
`
`
`
`Figure 2.1 Physical interface: mini-RS—232.
`
`
`
`
`
`
`
`
`HUAWEI EX. 1006 - 18/312
`
`OLYMPUS EX. 1006 - 18/312
`
`
`
`Traditional peripheral interfaces
`
`9
`
`referred to as synchronous. True asynchronous transfer uses control signals to
`exchange data. This point, among others, will be made clear in Section 2.2.
`As a rule of thumb, when thinking about data throughput you can con-
`sider a byte or character to be 10 bits (one stop, one start and eight data bits).
`When the fastest transfer rate possible is employed, namely 115 000 bits per sec-
`ond, the maximum tluoughput is approximately 11.5 Kbytes per second.
`
`The protocol
`
`Mini-R5232 has no protocol of its own. However, there is a protocol that is often
`used with the interface, called the XON/XOFP protocol (Figure 2.2). It works in
`the following way. When the receiving device is no longer able to take on data
`from the sender, it sends a special character, an XOFF byte, to indicate this. Later,
`when it is ready to continue receiving data, it sends an XON byte to tell the
`sender to proceed. This protocol is in no way error proof ~ characters are some-
`times lost. In addition, the protocol cannot be used for bidirectional transfer of
`binary data. The reason for this restriction is simple: for text data only a subset
`of the possible bytes is sent over the interface, those corresponding to letters,
`numbers, and symbols. This leaves room for a number of special characters, of
`which XON and XOFF are examples. When, on the other hand, binary data is
`transferred, the data is not restricted to certain characters; any binary pattern
`may occur. In this situation there is no room for the special characters and the
`XON/XOFP protocol is unusable. For connecting monitors and printers, how-
`ever, the protocol is actually very practical.
`
`232. Examples are page formatting languages for printers, such as PostScript.
`
`PC
`
`Elllfllllfllfll
`
`HEIIII
`
`Printer
`
`XOFF
`
`XON
`
`Figure 2.2 XON/XOFF protocol.
`
`An example of a higher level protocol for the transfer of binary data (file
`transfer) is Kermit. This public domain program can be used at no cost for non-
`commercial purposes. A number of computer manufacturers have also devel-
`oped their own intemal protocols built on top of RS-232.
`
`There are no commands Special to the R9232 interface. As R3232 was devel-
`oped, commands were designed for specific devices apart from the interface.
`SCSI is among the first interfaces to define universal command sets for whole
`device classes.
`.
`
`Nevertheless, some command sets have beat designed for use with RS-
`
`OLYMPUS EX. 1006 - 19/312
`
`
`
`10
`
`
`808/ Bus and IDE interface
`
`
`
`
`
`
`
`Summary
`
`
`
`
`
`
`
`
`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—
`
`
`
`
`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).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`As you can see, an interface that builds on top of RS-232 has many possible vari-
`
`
`
`
`
`
`
`
`
`
`
`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-
`
`
`
`
`
`
`
`
`
`
`
`
`
`ing PostScript or starting to use a parity bit, nothing would print.