Tape Mass Storage Control Protocol ECO Controlled Version 2.0.2 8 November 1987 Send all inquiries and comments to COOKIE::SSAG This document defines the Tape aspect of the Mass Storage Control Protocol (MSCP). DIGITAL EQUIPMENT CORPORATION CONFIDENTIAL AND PROPRIETARY This document is an unpublished work and contains valuable trade secrets which are confidential and proprietary to Digital Equipment Corporation, and may only be disclosed to individuals who have entered into a confidentiality agreement with Digital, and may not be copied or reproduced in whole or in part. Copyright (c) Digital Equipment Corporation 1982, 1983, 1984, 1985, 1986, 1987. All Rights Reserved. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 CONTENTS Page ii 8 November 1987 CONTENTS CHAPTER 1 INTRODUCTION 1.1 Scope . . . . . . . . . . . . . . . . . . . 1-1 1.2 References . . . . . . . . . . . . . . . . . 1-1 1.2.1 MSCP Specification . . . . . . . . . . . . 1-1 1.2.1.1 Table Of Contents Abstract . . . . . . . 1-1 1.2.2 STI Specification . . . . . . . . . . . . 1-3 CHAPTER 2 TERMINOLOGY CHAPTER 3 TMSCP GENERAL OPERATIONAL CHARACTERISTICS 3.1 Unit States . . . . . . . . . . . . . . . . 3-1 3.1.1 Unit Offline . . . . . . . . . . . . . . . 3-1 3.1.2 Unit Available . . . . . . . . . . . . . . 3-1 3.1.3 Unit Online . . . . . . . . . . . . . . . 3-1 3.1.4 Exclusive Access Of A Unit . . . . . . . . 3-1 3.1.5 Unit Operating Beyond EOT . . . . . . . . 3-1 3.1.6 Unit Position Lost . . . . . . . . . . . . 3-1 3.1.7 Unit Serious Exception Pending . . . . . . 3-2 3.1.8 Unit Cached Data Lost . . . . . . . . . . 3-2 3.2 Command Categories And Execution Order . . . 3-2 3.2.1 Lengthy Command Considerations . . . . . . 3-2 3.2.1.1 Synchronous Vs Asynchronous . . . . . . 3-2 3.2.1.2 Abort . . . . . . . . . . . . . . . . . 3-3 3.3 Tape Motion Command Operation . . . . . . . 3-6 3.3.1 "read" Type . . . . . . . . . . . . . . . 3-6 3.3.1.1 Direction . . . . . . . . . . . . . . . 3-6 3.3.1.2 BOT Handling . . . . . . . . . . . . . . 3-6 3.3.1.3 EOT Handling . . . . . . . . . . . . . . 3-7 3.3.1.4 Tape Mark Handling . . . . . . . . . . . 3-7 3.3.2 "write" Type . . . . . . . . . . . . . . . 3-7 3.3.2.1 Direction . . . . . . . . . . . . . . . 3-7 3.3.2.2 BOT Handling . . . . . . . . . . . . . . 3-7 3.3.2.3 EOT Handling . . . . . . . . . . . . . . 3-8 3.3.2.4 Tape Mark Handling . . . . . . . . . . . 3-8 3.3.3 "ancillary" Type . . . . . . . . . . . . . 3-8 3.3.3.1 Direction . . . . . . . . . . . . . . . 3-8 3.3.3.2 BOT Handling . . . . . . . . . . . . . . 3-8 3.3.3.3 EOT Handling . . . . . . . . . . . . . . 3-8 3.3.3.4 Tape Mark Handling . . . . . . . . . . . 3-8 3.4 Data Transfer Operations . . . . . . . . . . 3-8 3.4.1 Record Length . . . . . . . . . . . . . . 3-9 3.4.2 Tape Format Employed . . . . . . . . . . . 3-9 *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 CONTENTS Page iii 8 November 1987 3.4.3 Host Buffer Access . . . . . . . . . . . . 3-10 3.4.3.1 WRITE Command . . . . . . . . . . . . . 3-10 3.4.3.2 READ Command . . . . . . . . . . . . . . 3-10 3.4.3.2.1 Forward Direction . . . . . . . . . . 3-11 3.4.3.2.2 Reverse Direction . . . . . . . . . . 3-11 3.4.3.3 ACCESS Command . . . . . . . . . . . . . 3-11 3.4.3.4 Compare Operations . . . . . . . . . . . 3-11 3.4.4 End Message Byte Count Fields . . . . . . 3-12 3.5 General Error Processing . . . . . . . . . . 3-12 3.5.1 Reporting Precedence . . . . . . . . . . . 3-12 3.5.2 Serious Exception Handling . . . . . . . . 3-13 3.5.3 Position Lost Handling . . . . . . . . . . 3-16 3.5.4 Asynchronous Completion Handling Of Non-Data Transfer Commands . . . . . . . . 3-16 3.5.5 Data Error Recovery . . . . . . . . . . . 3-17 3.5.5.1 Suppression . . . . . . . . . . . . . . 3-18 3.5.5.2 Enhanced Write Error Recovery . . . . . 3-18 3.5.6 Error Log Requirements . . . . . . . . . . 3-19 3.6 Tape Caching . . . . . . . . . . . . . . . . 3-19 3.6.1 Write-Back Caching . . . . . . . . . . . . 3-20 3.6.1.1 Unit Flag Conflicts . . . . . . . . . . 3-23 3.6.1.2 Command Modifier Conflicts . . . . . . . 3-23 3.6.1.3 Error And Exception Handling . . . . . . 3-23 3.6.1.4 Cached Data Lost Handling . . . . . . . 3-25 3.6.2 Read-Ahead Caching . . . . . . . . . . . . 3-28 3.6.2.1 Unit Flag Conflicts . . . . . . . . . . 3-29 3.6.2.2 Command Modifier Conflicts . . . . . . . 3-29 3.6.2.3 Error Handling . . . . . . . . . . . . . 3-30 CHAPTER 4 TMSCP MESSAGE OVERVIEW 4.1 Tape MSCP Functions Having No Disk MSCP Counterparts . . . . . . . . . . . . . . . . 4-1 4.2 Identical Disk And Tape MSCP Functions . . . 4-1 4.3 Tape Specific MSCP Commands And Responses . 4-1 4.4 Generic Command Message Format . . . . . . . 4-2 4.4.1 Command Modifiers . . . . . . . . . . . . 4-2 4.5 End Message Format . . . . . . . . . . . . . 4-3 4.5.1 Flags . . . . . . . . . . . . . . . . . . 4-3 4.5.2 Status . . . . . . . . . . . . . . . . . . 4-3 4.5.3 Status Codes . . . . . . . . . . . . . . . 4-4 4.5.4 Byte Count (Host Transfer) . . . . . . . . 4-7 4.5.5 Byte Count (Tape Record) . . . . . . . . . 4-8 4.5.6 Position (Object Count) . . . . . . . . . 4-8 CHAPTER 5 TMSCP COMMAND DESCRIPTIONS 5.1 ACCESS Command . . . . . . . . . . . . . . . 5-1 *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 CONTENTS Page iv 8 November 1987 5.1.1 Command Message Format . . . . . . . . . . 5-1 5.1.2 End Message Format . . . . . . . . . . . . 5-2 5.1.3 Description . . . . . . . . . . . . . . . 5-4 5.2 AVAILABLE Command . . . . . . . . . . . . . 5-5 5.2.1 Command Message Format . . . . . . . . . . 5-5 5.2.2 End Message Format . . . . . . . . . . . . 5-6 5.2.3 Description . . . . . . . . . . . . . . . 5-8 5.3 COMPARE HOST DATA Command . . . . . . . . . 5-9 5.3.1 Command Message Format . . . . . . . . . . 5-9 5.3.2 End Message Format . . . . . . . . . . . . 5-10 5.3.3 Description . . . . . . . . . . . . . . . 5-12 5.4 ERASE Command . . . . . . . . . . . . . . . 5-13 5.4.1 Command Message Format . . . . . . . . . . 5-13 5.4.2 End Message Format . . . . . . . . . . . . 5-14 5.4.3 Description . . . . . . . . . . . . . . . 5-15 5.5 ERASE GAP Command . . . . . . . . . . . . . 5-16 5.5.1 Command Message Format . . . . . . . . . . 5-16 5.5.2 End Message Format . . . . . . . . . . . . 5-17 5.5.3 Description . . . . . . . . . . . . . . . 5-18 5.6 FLUSH Command . . . . . . . . . . . . . . . 5-19 5.6.1 Command Message Format . . . . . . . . . . 5-19 5.6.2 End Message Format . . . . . . . . . . . . 5-20 5.6.3 Description . . . . . . . . . . . . . . . 5-22 5.7 GET UNIT STATUS Command . . . . . . . . . . 5-23 5.7.1 Command Message Format . . . . . . . . . . 5-23 5.7.2 End Message Format . . . . . . . . . . . . 5-24 5.7.3 Description . . . . . . . . . . . . . . . 5-33 5.8 ONLINE Command . . . . . . . . . . . . . . . 5-34 5.8.1 Command Message Format . . . . . . . . . . 5-34 5.8.2 End Message Format . . . . . . . . . . . . 5-36 5.8.3 Description . . . . . . . . . . . . . . . 5-39 5.9 READ Command . . . . . . . . . . . . . . . . 5-40 5.9.1 Command Message Format . . . . . . . . . . 5-40 5.9.2 End Message Format . . . . . . . . . . . . 5-41 5.9.3 Description . . . . . . . . . . . . . . . 5-43 5.10 REPOSITION Command . . . . . . . . . . . . . 5-44 5.10.1 Command Message Format . . . . . . . . . . 5-44 5.10.2 End Message Format . . . . . . . . . . . . 5-46 5.10.3 Description . . . . . . . . . . . . . . . 5-48 5.11 SET UNIT CHARACTERISTICS Command . . . . . . 5-56 5.11.1 Command Message Format . . . . . . . . . . 5-56 5.11.2 End Message Format . . . . . . . . . . . . 5-61 5.11.3 Description . . . . . . . . . . . . . . . 5-64 5.12 WRITE Command . . . . . . . . . . . . . . . 5-65 5.12.1 Command Message Format . . . . . . . . . . 5-65 5.12.2 End Message Format . . . . . . . . . . . . 5-67 5.12.3 Description . . . . . . . . . . . . . . . 5-69 5.13 WRITE TAPE MARK Command . . . . . . . . . . 5-70 5.13.1 Command Message Format . . . . . . . . . . 5-70 5.13.2 End Message Format . . . . . . . . . . . . 5-71 *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 CONTENTS Page v 8 November 1987 5.13.3 Description . . . . . . . . . . . . . . . 5-73 CHAPTER 6 TMSCP ERROR LOG MESSAGES 6.1 TMSCP Error Log Message Format . . . . . . . 6-1 6.1.1 Tape Errors . . . . . . . . . . . . . . . 6-3 6.1.2 STI Communication Or Command Failures . . 6-5 6.1.3 STI Formatter Error Log . . . . . . . . . 6-6 6.1.4 STI Drive Error Log . . . . . . . . . . . 6-7 APPENDIX A OPCODE, FLAG AND OFFSET DEFINITIONS APPENDIX B STATUS AND EVENT CODE DEFINITIONS APPENDIX C MISCELLANEOUS TABLES Table C-1: Tape Format Flag Values . . . . . C-1 Table C-2: Tape Format Bitflag Values . . . C-2 Table C-3: Controller Specific Maximum Record Size . . . . . . . . . . . . . . . . . . . . C-3 Table C-4: Format Specific Long Gap Values . C-3 APPENDIX D REPOSITION COMMAND VARIATIONS APPENDIX E WAIVERS AND EXCEPTIONS E.1 TU81 . . . . . . . . . . . . . . . . . . . . E-1 E.1.1 "EOT Encountered" Status Subcode . . . . . E-1 E.1.2 "Serious Exception" And "EOT Encountered" E-1 E.1.3 "Byte Count (Host Transfer)" On Read Reverse . . . . . . . . . . . . . . . . . E-1 E.2 TK50 . . . . . . . . . . . . . . . . . . . . E-2 E.2.1 Incorrect Command Processing While Position Lost . . . . . . . . . . . . . . . . . . . E-2 E.2.2 COMPARE HOST DATA Error Reporting . . . . E-3 E.2.3 Incorrect "Offline" Error Reporting . . . E-3 E.2.4 Progress Indicator Processing . . . . . . E-3 E.2.5 Multiple Error Logs Reported . . . . . . . E-4 E.2.6 Invalid "Records Skipped Count" . . . . . E-4 E.2.7 Hardware Serial Number . . . . . . . . . . E-5 *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 CONTENTS Page vi 8 November 1987 APPENDIX F REVISION HISTORY F.1 Changes Since Version 1.6 . . . . . . . . . F-1 F.2 Changes Since Version 1.6.4 . . . . . . . . F-2 | F.3 Changes Since Version 2.0.0 . . . . . . . . F-3 TABLES A-1 Control Message Opcodes . . . . . . . . . . A-1 A-2 Command Modifiers . . . . . . . . . . . . . A-3 A-3 End Message Flags . . . . . . . . . . . . . A-4 A-4 Controller Flags . . . . . . . . . . . . . . A-4 A-5 Unit Flags . . . . . . . . . . . . . . . . . A-5 A-6 Command Message Offsets . . . . . . . . . . A-6 A-7 End and Attention Message Offsets . . . . . A-7 A-8 Error Log Message Offsets . . . . . . . . . A-9 A-9 Error Log Message Format Codes . . . . . . . A-11 A-10 Error Log Message Flags . . . . . . . . . . A-11 A-11 Access Nonvolatile Memory Command Operation Codes . . . . . . . . . . . . . . . . . . . A-11 B-1 Status and Event Codes . . . . . . . . . . . B-2 B-2 Status Only Subcode Values . . . . . . . . . B-3 B-3 "Compare Error" Status or Event Subcode Values . . . . . . . . . . . . . . . . . . . B-5 B-4 "Data Error" Status or Event Subcode Values B-5 B-5 "Host Buffer Access Error" Status or Event Subcode Values . . . . . . . . . . . . . . . B-5 B-6 "Controller Error" Status or Event Subcode Values . . . . . . . . . . . . . . . . . . . B-6 B-7 "Drive Error" Status or Event Subcode Values B-7 B-8 "Formatter Error" Status or Event Subcode Values . . . . . . . . . . . . . . . . . . . B-7 B-9 "Message From An Internal Diagnostic" Event Only Subcode Values . . . . . . . . . . . . B-7 C-1 Tape Format Flag Values . . . . . . . . . . C-1 C-2 Tape Format Bitflag Values . . . . . . . . . C-2 C-3 Controller Specific Maximum Record Size . . C-3 C-4 Format Specific Long Gap Values . . . . . . C-3 D-1 REPOSITION Command Variations . . . . . . . D-1 *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 INTRODUCTION Page 1-1 8 November 1987 1 CHAPTER 1 2 INTRODUCTION 3 1.1 Scope 4 This document defines the Tape Class Mass Storage Control 5 Protocol (TMSCP), a magnetic tape applications protocol intended 6 for use with intelligent mass storage controllers. Although 7 Magnetic Tape Class Devices possess operation strategies inherent 8 to themselves, the architecture of TMSCP is not autonomous, but 9 rather conforms to the overall philosophy defined in the "Mass 10 Storage Control Protocol" specification, hereinafter referred to 11 as MSCP. 12 1.2 References 13 1.2.1 MSCP Specification 14 The MSCP specification is necessary to gain a complete 15 understanding of TMSCP and its relationship to the overall I/O 16 architecture. Numerous areas have been omitted from this 17 document since they are fully defined in MSCP. The next section 18 contains an abstract of the Table of Contents of ECO controlled 19 MSCP Version 1.3 to aid in referencing particular subjects not 20 fully defined in this document. 21 1.2.1.1 Table Of Contents Abstract 22 CHAPTER 1 INTRODUCTION 23 1.1 Overview Of MSCP Subsystem 24 1.2 Purpose 25 1.3 Method Of Presentation 26 1.4 Scope 27 CHAPTER 2 TERMINOLOGY 28 CHAPTER 3 CLASS DRIVER / MSCP SERVER COMMUNICATIONS 29 3.1 Connection 30 3.2 Flow Control 31 3.3 Multihost Communication 32 CHAPTER 4 ALGORITHMS AND USAGE RULES 33 4.1 Controller States 34 4.2 Controls And Indicators 35 4.3 Unit States 36 4.4 Unit Numbers 37 4.5 Command Categories And Execution Order 38 4.6 Class Driver / MSCP Server Synchronization *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 INTRODUCTION Page 1-2 References 8 November 1987 1 4.7 Class Driver Error Recovery 2 4.8 Serious Exceptions 3 4.9 Host Access Timeouts 4 4.10 Command Timeouts 5 4.11 Disk Geometry And Format 6 4.12 Bad Block Replacement 7 4.13 Write Protection 8 4.14 Compare Operations 9 4.15 Special Drive Topologies 10 4.16 Controller And Unit Identifiers 11 4.17 Media Type Identifiers 12 CHAPTER 5 MSCP CONTROL MESSAGES 13 5.1 Generic Control Message Format 14 5.2 Reserved And Undefined Fields 15 5.3 Command Messages 16 5.4 End Messages 17 5.5 Controller Flags 18 5.6 Unit Flags 19 5.7 Attention Messages 20 5.8 Error Log Messages 21 CHAPTER 6 MINIMAL MSCP COMMAND SET 22 6.1 Overview 23 6.2 ABORT Command 24 6.3 ACCESS Command 25 6.4 AVAILABLE Command 26 6.5 COMPARE HOST DATA Command 27 6.6 DETERMINE ACCESS PATHS Command 28 6.7 ERASE Command 29 6.8 GET COMMAND STATUS Command 30 6.9 GET UNIT STATUS Command 31 6.10 ONLINE Command 32 6.11 READ Command 33 6.12 REPLACE Command 34 6.13 SET CONTROLLER CHARACTERISTICS Command 35 6.14 SET UNIT CHARACTERISTICS Command 36 6.15 WRITE Command 37 CHAPTER 7 MULTIHOST SUPPORT FUNCTIONALITY 38 7.1 Overview 39 7.2 Multihost ABORT Command 40 7.3 Multihost ACCESS NONVOLATILE MEMORY Command 41 7.4 Multihost AVAILABLE Command 42 7.5 Multihost GET COMMAND STATUS Command 43 7.6 Multihost GET UNIT STATUS Command 44 7.7 Multihost ONLINE Command 45 7.8 Multihost SET CONTROLLER CHARACTERISTICS 46 Command 47 7.9 Multihost SET UNIT CHARACTERISTICS Command *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 INTRODUCTION Page 1-3 References 8 November 1987 1 CHAPTER 8 CONTROLLER INITIATED BAD BLOCK 2 REPLACEMENT 3 8.1 Controller Initiated Bad Block Replacement 4 Overview 5 8.2 Data Safety Write Protection 6 8.3 Bad Block Replacement 7 8.4 Replacement Control Table Access 8 8.5 Atomic Bad Block Replacement 9 8.6 Error Log Messages 10 8.7 Unit Context Information 11 8.8 Actions During ONLINE 12 8.9 Actions During SET UNIT CHARACTERISTICS 13 8.10 Actions Before First Modification 14 8.11 MSCP Control Message Format Changes 15 8.12 Host Support For Controller Initiated Bad 16 Block Replacement 17 APPENDIX A OPCODE, FLAG, AND OFFSET DEFINITIONS 18 APPENDIX B STATUS AND EVENT CODE DEFINITIONS 19 APPENDIX C CONTROLLER, UNIT, AND MEDIA TYPE 20 IDENTIFIERS 21 APPENDIX D BUFFER DESCRIPTOR FORMATS 22 APPENDIX E WAIVERS AND EXCEPTIONS 23 APPENDIX F REVISION HISTORY 24 1.2.2 STI Specification 25 The Storage Tape Interface Specification, hereinafter referred to 26 as STI, defines a communications interface used between DIGITAL 27 tape formatters and controllers. Chapter 6 makes reference to 28 various STI responses used in error log messages. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TERMINOLOGY Page 2-1 8 November 1987 1 CHAPTER 2 2 TERMINOLOGY 3 Addressable Unit: 4 The host addressable unit in TMSCP is a tape unit. A tape 5 formatter is only visible to a controller and not to a host. 6 Beginning-of-tape (BOT): 7 The beginning of the usable recording area of a magnetic 8 tape. There are two aspects used in defining BOT: 9 1. Physical BOT, the position forward of the tape leader 10 signified by a Tape Format dependent delimiter. 11 2. Logical BOT, the position just before the first Object 12 recorded (i.e., object count 0) on the tape. 13 This distinction is necessary because the Tape Format 14 Identification Area (TFIA) used in certain Tape Formats 15 extends beyond Physical BOT causing a physical displacement 16 of Logical BOT. Depending on the circumstance, TMSCP 17 controllers will use either physical BOT or logical BOT when 18 reporting BOT, as is convenient. 19 End-of-Tape (EOT): 20 That physical position on a magnetic tape where a Tape Format 21 dependent delimiter signals the beginning of the tape trailer 22 area. Due to variations in delimiter sensing, it is possible 23 for the sensing of EOT to vary on a given piece of media from 24 forward to reverse direction, from drive to drive, from read 25 to write, from caching to non-caching, and for other 26 device-specific reasons. The amount of variation in EOT 27 reporting is device-specific. Thus, applications should not 28 depend upon EOT deasserting in the reverse direction at the 29 same point it asserted in the forward direction, nor should 30 they depend upon EOT asserting at the same position each time 31 the media is accessed. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TERMINOLOGY Page 2-2 8 November 1987 1 Logical End-of-Tape (LEOT): 2 Two consecutive Tape Marks which indicate a host-imposed 3 logical end of recorded data (i.e., end of volume) on a 4 magnetic tape. LEOT is detected and reported during forward 5 REPOSITION operations at the option of the host. 6 Long Gap: 7 An extended Record gap (usually a group of contiguous Record 8 gaps) sufficient enough in length or quantity to indicate 9 that the remainder of the magnetic tape is unrecorded. Long 10 gap values are Tape Format dependent as defined in Appendix 11 C, Table C-4. 12 Object: 13 An "object" is either a Record or a Tape Mark. The first 14 tape Object is recorded forward of the Tape Format 15 Identification Area (TFIA). Note that the TFIA, Record Gaps, 16 and any other control information (e.g., error 17 detection/correction frames) are not considered to be 18 Objects. 19 Physical End-of-Tape (PEOT): 20 The end of usable recording area, located in the tape trailer 21 area, beginning at EOT and extending through a Tape Format 22 dependent length. Refer to the appropriate media 23 specification for the PEOT size of a specific media. 24 Record: 25 The unit of data transfer, consisting of a collection of data 26 bytes which are written or read as a single entity, without 27 regard for Tape Format dependent physical or host defined 28 logical composition. 29 Record Gap: 30 A Tape Format dependent delimiter recorded on a magnetic tape 31 which separates Objects and control information from one 32 another or is used to by-pass defects on the recording 33 surface. Normal Record Gaps have no special significance to 34 TMSCP or the host. They are only relevant in describing tape *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TERMINOLOGY Page 2-3 8 November 1987 1 position. 2 Tape Format: 3 The recording method used to store/retrieve data on a 4 magnetic tape. Refer to Appendix C, Tables C-1 and C-2 for a 5 list of recognized Tape Formats. 6 Tape Format Identification Area (TFIA): 7 The area (around physical BOT) where Tape Format dependent 8 format determination information is recorded. 9 Tape Mark: 10 A Tape Format dependent delimiter recorded on a magnetic tape 11 which usually serves as a separator for host defined files 12 (i.e., end of file mark). *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-1 8 November 1987 1 CHAPTER 3 2 TMSCP GENERAL OPERATIONAL CHARACTERISTICS 3 3.1 Unit States 4 The following subsections clarify Unit States as they apply to 5 TMSCP. For an in depth definition of Unit States, refer to MSCP. 6 3.1.1 Unit Offline 7 If a formatter is offline to a controller, the addressed tape 8 unit connected to the offline formatter is also offline to a 9 host. A tape unit connected to a formatter which is online to a 10 controller is subsequently offline to any other controller. 11 3.1.2 Unit Available 12 To be Unit-Available, a tape unit must be powered up, online to 13 the formatter, have a magnetic tape loaded, and be ready to 14 perform I/O. 15 3.1.3 Unit Online 16 Same as MSCP. 17 3.1.4 Exclusive Access Of A Unit 18 Same as MSCP. 19 3.1.5 Unit Operating Beyond EOT 20 The "EOT Encountered" end flag, as described in section 4.5.1, is 21 considered part of the tape unit state. The current state of the 22 "EOT encountered" end flag is returned in the end messages of all 23 commands which specify the Unit Number field (including those 24 defined only in MSCP). 25 3.1.6 Unit Position Lost 26 The "Position Lost" end flag, as described in section 4.5.1, is 27 considered part of the tape unit state. The current state of the 28 "Position Lost" end flag is returned in the end messages of all 29 commands which specify the Unit Number field (including those 30 defined only in MSCP). *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-1.1 Unit States 8 November 1987 1 | NOTE 2 | It is important to distinguish between the 3 | Position Lost state, as indicated by the Position 4 | Lost end flag, and the Position Lost status 5 | reported in end messages and error logs. Refer 6 | to sections 3.5.3, 4.5.1, and 4.5.3 for further 7 | information. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-2 Unit States 8 November 1987 1 3.1.7 Unit Serious Exception Pending 2 The "Serious Exception" end flag, as described in section 4.5.1, 3 is considered part of the tape unit state. The current state of 4 the "Serious Exception" end flag is returned in the end messages 5 of all commands which specify the Unit Number field (including 6 those defined only in MSCP). 7 3.1.8 Unit Cached Data Lost 8 The "Cached Data Lost" end flag, as described in section 4.5.1, 9 is considered part of the tape unit state. The current state of 10 the "Cached Data Lost" end flag is returned in the end messages 11 of all commands which specify the Unit Number field (including 12 those defined only in MSCP). 13 3.2 Command Categories And Execution Order 14 As noted in MSCP, TMSCP only uses immediate and sequential 15 command types. TMSCP implementation of the immediate command 16 type and most sequential commands is identical to that described 17 in MSCP. However, certain tape operations (e.g., ERASE and 18 REPOSITION) can take a considerable amount of time (up to 5 19 minutes or more) to complete, depending on the amount of tape 20 traversed during the operation. Special consideration of lengthy 21 commands is necessary in order to reduce the impact on the host 22 environment. As an additional performance feature, TMSCP 23 provides support for the caching of data transfer operations. 24 The remaining subsections provide a detailed description of those 25 special considerations. 26 3.2.1 Lengthy Command Considerations 27 3.2.1.1 Synchronous Vs Asynchronous 28 Treating lengthy commands as purely sequential (synchronous) 29 operations can adversely affect host operation in that host 30 resources dedicated to the completion of the operation cannot be 31 relinquished until completion. Therefore, asynchronous operation 32 of lengthy, non-data transfer commands is preferred. On the 33 other hand, confirmation of successful completion may be more 34 important to the host (e.g., data erasure in a high security 35 installation). 36 TMSCP controllers accommodate both situations by allowing the 37 host to specify, for a limited set of non-data transfer commands, 38 whether a command is to complete in a synchronous or asynchronous 39 manner via the "Immediate Completion" command modifier. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-3 Command Categories And Execution Order 8 November 1987 1 If the "Immediate Completion" command modifier is set, the 2 controller returns the end message with the status field set to 3 Success (subcode "Normal") as soon as the specified operation is 4 initiated on the tape unit (for non-data transfer commands), or 5 as soon as the data has been transferred from the host buffer 6 (for data transfer commands). The command completion is 7 therefore asynchronous to the completion of the tape unit 8 operation. Until the tape unit operation completes the 9 controller must preserve the sequentiality of subsequent 10 sequential commands issued by the host. Furthermore, the 11 controller must also ensure that subsequent sequential commands 12 appear to be progressing towards completion in order to satisfy 13 command timeout requirements as defined in MSCP. 14 If the "Immediate Completion" command modifier is clear, the 15 controller will not return the end message until the tape unit 16 operation is completed. 17 The "Immediate Completion" command modifier can only be specified 18 in the following non-data transfer commands: ERASE and 19 REPOSITION. In the case of the REPOSITION command, asynchronous 20 operation will only occur if the "Immediate Completion" and 21 "Rewind" command modifiers are set and the "record count" and 22 "tape mark count" fields are both zero (i.e., rewind to BOT 23 only). The controller will ignore the "Immediate Completion" 24 command modifier in all other variations of the REPOSITION 25 command. 26 The AVAILABLE command is always treated as an asynchronous 27 completion command (without the need for a command modifier). 28 Refer to section 3.5.4 for information regarding the occurrence 29 of an error during asynchronous operations. 30 3.2.1.2 Abort 31 Host resource blockage comes into play again when the host wants 32 to ABORT a lengthy synchronous command. A second concern is that 33 the tape unit operation is ABORTED in a controlled, predictable 34 manner. 35 TMSCP controllers must ABORT lengthy commands specifically as 36 follows: 37 o ERASE command with "Immediate Completion" command 38 modifier clear: 39 Abort process - end message returned as soon as 40 ABORT command is received, tape motion continues 41 until erase is completed (ten feet past EOT), and *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-4 Command Categories And Execution Order 8 November 1987 1 tape has rewound to BOT. 2 o REPOSITION command with "Rewind" command modifier set, 3 "Immediate Completion" command modifier clear, "Object 4 Count" and "Reverse" modifiers either set or clear, zero 5 "record count or object count" and "tape mark count" 6 fields: 7 Abort process - end message returned as soon as 8 ABORT command is received; tape motion continues to 9 BOT. 10 o REPOSITION command with "Rewind" command modifier clear, 11 "Object Count" and "Reverse" modifiers either set or 12 clear, non-zero "record count or object count" or "tape 13 mark count" field(s): 14 Abort process - after receipt of the ABORT command, 15 tape motion continues to the first record gap 16 encountered; end message returned as soon as tape 17 motion ceases (see exception described below). 18 NOTE 19 Devices which support the Tape Format Flag 20 value of TF.CTP ("TK50" compatible cartridge 21 tapes) do not follow the exception condition 22 described below when the "Reverse" modifier 23 is set. Instead, they have the following 24 behavior: 25 Abort Process - after receipt of the ABORT command, 26 tape motion occurs to the beginning of the track, 27 and proceeds forward until the first record gap 28 encountered. This may be closer to logical BOT than 29 the original target object. The end message is 30 returned as soon as tape motion ceases. 31 o REPOSITION command with "Rewind" modifier set, "Object 32 Count" and "Reverse" modifiers either set or clear, 33 non-zero "record count or object count" or "tape mark 34 count" field(s): 35 Abort process - if the rewind has not yet completed 36 (BOT has not been reached), the end message is 37 returned as soon as the ABORT command is received, *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-5 Command Categories And Execution Order 8 November 1987 1 and tape motion continues to BOT. If the rewind has 2 completed, tape motion continues to the first record 3 gap encountered after receipt of the ABORT command 4 (see exception described below). The end message is 5 returned as soon as tape motion ceases. 6 In the cases listed above where the end message is returned as 7 soon as the ABORT command is received and the tape unit operation 8 in progress is allowed to continue (i.e., ERASE and Rewind to 9 BOT), command completion is asynchronous to the completion of the 10 tape unit operation. Until the tape unit operation completes the 11 controller must preserve the sequentiality of subsequent 12 sequential commands issued by the host. Furthermore, the 13 controller must also ensure that subsequent sequential commands 14 appear to be progressing towards completion in order to satisfy 15 command timeout requirements as defined in MSCP. Refer to 16 Section 3.5.4 for information regarding the occurrence of an 17 error during asynchronous operations. 18 FIRST RECORD GAP ENCOUNTERED EXCEPTION 19 As mentioned in Section 5.10.3 TMSCP controllers 20 are expressly permitted to optimize any of the 21 various positioning functions available via the 22 REPOSITION command. 23 If an ABORT command is received for a REPOSITION 24 command while the controller is performing a 25 positioning function optimization, cessation of 26 tape motion at the next object (as required 27 above) may result in a tape position outside the 28 range of objects spanned by the REPOSITION 29 function. If this condition occurs the 30 controller must continue the positioning 31 function. During the function continuation the 32 action the controller must follow depends on 33 whether the controller is capable of determining 34 when the tape is positioned within the objective 35 (i.e., that range of objects) of the positioning 36 function or not: 37 a. If so, the controller continues tape motion 38 until the first record gap within the 39 objective is encountered; end message with 40 Command Aborted status returned as soon as 41 tape motion ceases. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-6 Command Categories And Execution Order 8 November 1987 1 b. If not, the controller continues tape motion 2 until the final objective of the positioning 3 function is found; end message with Success 4 (subcode "Normal") status returned as soon as 5 tape motion ceases. 6 3.3 Tape Motion Command Operation 7 Tape motion commands are classified as "read", "write", and 8 "ancillary" types. The following subsections describe tape 9 motion operations common to each type. A separate section, 10 section 3.4, describes common data transfer command operation. 11 3.3.1 "read" Type 12 The "read" type commands are as follows: 13 o ACCESS 14 o COMPARE HOST DATA 15 o READ 16 o REPOSITION 17 3.3.1.1 Direction 18 "Read" type commands can be performed in either the forward or 19 reverse direction. Direction is selected according to the 20 setting of the "Reverse" command modifier. When clear, tape 21 motion is away from BOT, or in the FORWARD direction. When set, 22 tape motion is toward BOT, or in the REVERSE direction. 23 It is not mandatory for "non-industry standard" TMSCP devices to 24 support the "Reverse" command modifier on the ACCESS, COMPARE 25 HOST DATA, and READ commands (see Appendix C, Table C-1 for those 26 devices considered "non-industry standard"). Devices that do not 27 implement the "Reverse" command modifier on the above commands 28 must treat that modifier as reserved, and reject a command so 29 modified with a status of Invalid Command. 30 All TMSCP devices are required to support the "Reverse" modifier 31 on the REPOSITION command. 32 3.3.1.2 BOT Handling 33 Any "read" type commands performed in the REVERSE direction can 34 unexpectedly encounter BOT (usually Logical BOT) before the 35 requested operation is completed. The tape cannot be made to 36 cross BOT as a result of a REVERSE operation. Any attempt to do *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-7 Tape Motion Command Operation 8 November 1987 1 so will result in termination of the command with a BOT 2 Encountered status when BOT is encountered. 3 3.3.1.3 EOT Handling 4 When EOT is crossed while performing a FORWARD "read" type 5 command the "EOT Encountered" end flag will be set. When EOT is 6 encountered in this manner, tape motion will not be suspended. 7 Command operation will continue in the normal fashion. The "EOT 8 Encountered" end flag remains set while the tape is positioned 9 beyond EOT (i.e., in the tape trailer area). The "EOT 10 Encountered" end flag will be cleared only when the tape is 11 subsequently positioned ahead of EOT (i.e., on the BOT side of 12 EOT) by any REVERSE "read" type command. 13 3.3.1.4 Tape Mark Handling 14 With one exception "read" type command operation is single record 15 oriented. The exception is the REPOSITION command which can be 16 Tape Mark, record, combined Tape Mark and record, or tape object 17 oriented (See section 5.10 for complete details). If a Tape Mark 18 is unexpectedly encountered before the requested record operation 19 of any "read" type command is completed the command will be 20 terminated with a Tape Mark Encountered status. The tape will 21 remain positioned forward of the unexpected Tape Mark, relative 22 to the direction of travel specified in the command. 23 3.3.2 "write" Type 24 The "write" type commands are as follows: 25 o ERASE GAP 26 o WRITE 27 o WRITE TAPE MARK 28 3.3.2.1 Direction 29 "write" type commands are always performed in the forward 30 direction. The "Reverse" command modifier is not allowed in any 31 "write" type command and is therefore treated as a reserved 32 field. 33 3.3.2.2 BOT Handling 34 "write" type commands will never encounter BOT unexpectedly. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-8 Tape Motion Command Operation 8 November 1987 1 3.3.2.3 EOT Handling 2 When EOT is crossed while performing a "write" type command the 3 "EOT Encountered" end flag will be set. When EOT is encountered 4 in this manner, tape motion will not be suspended. Command 5 operation will continue in the normal fashion and complete with a 6 status of Success (subcode "EOT encountered"). The "EOT 7 Encountered" end flag remains set while the tape is positioned 8 beyond EOT (i.e., in the tape trailer area). The "EOT 9 Encountered" end flag will be cleared only when the tape is 10 subsequently positioned ahead of EOT (i.e., on the BOT side of 11 EOT) by any REVERSE "read" type command. Note that encountering 12 EOT while performing a "write" type command causes a Serious 13 Exception condition. Refer to section 3.5.2 for more detail. 14 3.3.2.4 Tape Mark Handling 15 "write" type commands will never encounter a Tape Mark 16 unexpectedly. 17 3.3.3 "ancillary" Type 18 The ERASE command is the only "ancillary" type command. 19 3.3.3.1 Direction 20 The ERASE command always begins operation in the forward 21 direction. The "Reverse" command modifier is not allowed and is 22 therefore treated as a reserved field. 23 3.3.3.2 BOT Handling 24 The ERASE command will never encounter BOT unexpectedly. 25 3.3.3.3 EOT Handling 26 The ERASE command will never encounter EOT unexpectedly. 27 3.3.3.4 Tape Mark Handling 28 The ERASE command will never encounter a Tape Mark unexpectedly. 29 3.4 Data Transfer Operations 30 The following are considered data transfer operations: 31 o ACCESS 32 o Compare Operations (i.e., COMPARE HOST DATA command and 33 Compare modified READ and WRITE) *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-9 Data Transfer Operations 8 November 1987 1 o READ 2 o WRITE 3 The ACCESS and COMPARE HOST DATA commands are included in the 4 data transfer category since their operation is 5 characteristically the same, with the exception that no data is 6 transferred to or from the host. 7 The following subsections describe operations common to the data 8 transfer commands. A separate section, section 3.3, describes 9 common tape motion command operation. 10 3.4.1 Record Length 11 Records and transfer specifications are inherently 12 variable-length and are specified as an integral number of bytes, 13 including odd byte counts. 14 There is no formal minimum record length. However, certain 15 recording techniques are sufficiently noise-prone that a 16 recommended minimum record size is required. 17 Maximum recommended record length is also required. This value 18 is a function of both tape format and error detection and 19 correction algorithms employed by a device. Any record length 20 greater than the recommended maximum may not be reliably written 21 and/or read. 22 The tape unit specific minimum and maximum record length values 23 are available to the host in the end message of the ONLINE and 24 SET UNIT CHARACTERISTICS commands. 25 Although a record of greater length than the maximum recommended 26 can be read or written, there exists a true absolute maximum 27 size. This absolute maximum size is dependent upon specific 28 controller characteristics. Refer to Appendix C, Table C-3. 29 Transfer commands specifying a byte count larger than the 30 absolute maximum are rejected with an Invalid Command (subcode 31 "Invalid Byte Count") status. In addition, transfer commands 32 specifying a byte count of zero are rejected with a Invalid 33 Command (subcode "Invalid Byte Count") status. 34 3.4.2 Tape Format Employed 35 The tape format employed in data transfer operations is dependent 36 on the first tape motion command issued after the the tape unit 37 becomes "Unit Online" (the first time in the case of multi-host 38 access). *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-10 Data Transfer Operations 8 November 1987 1 If the first tape motion command is a "write" type operation 2 (i.e., ERASE GAP, WRITE, or WRITE TAPE MARK) the format specified 3 by the host via either the ONLINE or SET UNIT CHARACTERISTICS 4 command will be employed. 5 If the first tape motion command is a "read" type command (i.e., 6 ACCESS, COMPARE HOST DATA, READ or REPOSITION) the controller 7 will ignore host format specifications and employ the format 8 implied by the information recorded in the TFIA when the tape was 9 created. If the tape unit is unable to determine the recorded 10 format from the TFIA information, the command is terminated with 11 a Data Error (subcode "Unrecoverable Read Error") end message 12 status. If the TFIA information is nonexistent, implying the 13 tape is blank, the command is terminated with a Data Error 14 (subcode "Long Gap Encountered") end message status. In this 15 case the format employed in reading the TFIA information dictates 16 the long gap value used in determining the long gap condition; 17 however, the host specified format will not be changed to reflect 18 that format. 19 3.4.3 Host Buffer Access 20 The COMPARE HOST DATA, READ, and WRITE command messages contain 21 byte count and host buffer address descriptors. The ACCESS 22 command only contains a byte count field. 23 3.4.3.1 WRITE Command 24 In the case of a WRITE command, the specified number of bytes is 25 written to tape from the host buffer, in the forward direction, 26 beginning at the host buffer base address proceeding through 27 successively higher numbered addresses. 28 3.4.3.2 READ Command 29 For a READ command, the specified byte count is treated as advice 30 to the controller. The amount of data actually transferred is 31 dictated by the number of bytes contained in the tape record 32 being read. A Success end message status is returned when the 33 tape record size is either equal to or less than (short record) 34 the specified byte count. However, if the tape record size is 35 greater than (long record) the specified byte count the 36 controller will terminate the transfer at the specified byte 37 count and report a Record Data Truncated end message status. 38 READ commands can be performed in either the forward or reverse 39 direction. "Non-industry standard" devices may reject READ 40 commands with the "Reverse" command modifier set with a status of 41 Illegal Command (subcode "Illegal Modifier"). See Appendix C, 42 Table C-1 for those devices considered "non-industry standard". *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-11 Data Transfer Operations 8 November 1987 1 3.4.3.2.1 Forward Direction 2 If a READ in the forward direction is specified, the data bytes 3 of the record are stored in the host buffer beginning at the base 4 address, as specified in the buffer descriptor, proceeding 5 through successively higher-numbered addresses. If the tape 6 record is short, the host buffer contents from 7 [base address]+[tape record byte count] 8 through 9 [base address]+[specified byte count]-1 10 remain unchanged. If the tape record is long, the end of the 11 tape record is truncated. 12 3.4.3.2.2 Reverse Direction 13 If a READ in the reverse direction is specified, the data bytes 14 of the record are stored in the host buffer beginning at 15 [base address]+[specified byte count]-1, 16 proceeding through successively lower-numbered addresses. If the 17 tape record is long, the front of the tape record is truncated. 18 If the tape record is short the record image ends at host buffer 19 [base address]+[specified byte count]-[tape record byte count]. 20 The host buffer contents from the base address to the beginning 21 of the short record image remain unchanged. 22 3.4.3.3 ACCESS Command 23 The ACCESS command is performed in the same manner as the READ 24 command, described in section 3.4.3.2, with the exception that no 25 data is transferred to the host. 26 3.4.3.4 Compare Operations 27 Compare operations permit comparison of data contained in a host 28 buffer to data contained in a tape record. 29 The compare process is performed in the same manner as the READ 30 command buffer storage process described in section 3.4.3.2. The 31 only difference is that instead of storing the data read from the 32 tape record, a byte by byte comparison is performed. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-12 Data Transfer Operations 8 November 1987 1 The MSCP description of compare operations is identical to TMSCP 2 implementation with the exceptions described below. 3 A compare operation will not be performed by the controller in 4 the following cases: 5 1. If a long tape record is encountered during a compare 6 modified READ or COMPARE HOST DATA command. In this 7 case the command is terminated with a Record Data 8 Truncated status. 9 2. If any error occurs during the original data transfer of 10 a compare modified READ or WRITE command which indicates 11 the data was not transferred correctly or at all. In 12 the case of the COMPARE HOST DATA command the compare 13 operation is performed up to the point the error 14 occurred. 15 Refer to sections 4.5.4 and 4.5.5 for details on end message byte 16 count fields. 17 "Compare after" operations (i.e., compare modified WRITE or READ) 18 require positioning in the direction opposite to that specified 19 in the original command. Regardless of the success or failure of 20 the compare operation, the tape will always be positioned in the 21 record gap forward of the tape record being operated on, relative 22 | to the direction of the original command. Failures not related 23 | to the compare operation may cause the tape to not be so 24 | positioned (see section 3.5.3, Position Lost Handling). Such 25 | failures will result in a "Position Lost" error condition. 26 3.4.4 End Message Byte Count Fields 27 Refer to sections 4.5.4 and 4.5.5 for details on end message byte 28 count fields. 29 3.5 General Error Processing 30 The following subsections describe error processing common to 31 TMSCP commands. Refer to section 4.5.2 for definition of 32 individual status codes. 33 3.5.1 Reporting Precedence 34 In cases where multiple errors (or conditions) occur 35 simultaneously, TMSCP controllers report errors according to the 36 following categorical precedence: *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-13 General Error Processing 8 November 1987 1 1. fatal condition (e.g., Drive Error, etc.) 2 2. unrecoverable data error 3 3. conditional success (e.g., EOT encountered) 4 4. success 5 3.5.2 Serious Exception Handling 6 Tape Units are inherently sequential devices. This means that 7 the order in which tape motion commands are executed must be 8 identical to the order in which they are received. 9 In traditional tape systems, sequentiality is preserved because 10 the device is capable of having only one command outstanding to a 11 tape unit at any time. If a tape motion command terminates with 12 an error, the host can take immediate action to prevent commands 13 waiting to be executed from being presented to the device. The 14 host, therefore, implicitly maintains control of sequentiality. 15 Since TMSCP controllers are required to provide queuing of 16 multiple commands, control of sequentiality following the 17 occurrence of an error becomes the responsibility of the 18 controller. When an error occurs and the tape unit remains "Unit 19 Online" to any host, a TMSCP controller must ensure that 20 subsequent commands are rejected until a host acknowledges the 21 occurrence of the error. This condition is known as a Serious 22 Exception condition. 23 Any of the conditions defined by the following Status Codes cause 24 a Serious Exception condition: 25 o BOT Encountered 26 o Compare Error 27 o Controller Error 28 o Data Error 29 o Drive Error 30 o Formatter Error 31 o Host Buffer Access Error 32 o Invalid Command, subcodes 33 o Invalid Byte Count 34 o Invalid Format 35 o Invalid Unit Flags 36 o LEOT Detected 37 o Position Lost, only when Position Lost state is not 38 already in effect (refer to section 3.5.3) 39 o Record Data Truncated 40 o Success, subcode "EOT Encountered", on the ERASE GAP, 41 WRITE, and WRITE TAPE MARK commands *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-14 General Error Processing 8 November 1987 1 o Tape Mark Encountered 2 o Write Protected 3 The following Status Codes will not cause a Serious Exception 4 condition: 5 o Command Aborted 6 o Invalid Command, all subcodes except 7 o Invalid Byte Count 8 o Invalid Format 9 o Invalid Unit Flags 10 o Position Lost, while Position Lost state exists (refer 11 to section 3.5.3) 12 o Serious Exception 13 o Success, all subcodes except EOT Encountered 14 o Unit-Available 15 o Unit-Offline 16 The occurrence of a Serious Exception condition causes a tape 17 unit to enter the Serious Exception state relative to all hosts 18 to which it is currently "Unit Online", regardless of which host 19 issued the command encountering the error. 20 The Serious Exception state is reflected in the Serious Exception 21 end flag (SEF). Refer to section 4.5.1 for a description of End 22 Flags. 23 The end message of the command encountering the Serious Exception 24 condition will have SEF set and the status will reflect the 25 nature of the error. Subsequent commands (including those 26 currently queued by the controller) are rejected with SEF set and 27 a status of Serious Exception in their end messages. The 28 controller continues to reject commands in that manner until the 29 tape unit Serious Exception state is cleared by a host. 30 The following commands are subject to rejection while a Serious 31 Exception state exists: 32 o ACCESS 33 o AVAILABLE 34 o COMPARE HOST DATA 35 o ERASE 36 o ERASE GAP 37 o FLUSH 38 o READ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-15 General Error Processing 8 November 1987 1 o REPOSITION 2 o WRITE 3 o WRITE TAPE MARK 4 The Clear Serious Exception Command Modifier (CSE) is the means 5 by which a host acknowledges the Serious Exception condition and 6 signals the controller that the tape unit Serious Exception State 7 can be cleared and normal processing resumed. Note that the CSE 8 modifier is acted upon before any other part of a command. It 9 only clears the Serious Exception state that existed before the 10 command was received (i.e., a command cannot clear a Serious 11 Exception it caused). The CSE modifier is ignored if a Serious 12 Exception state does not exist. 13 The CSE modifier can only be specified for the following 14 commands: 15 o ACCESS 16 o AVAILABLE 17 o COMPARE HOST DATA 18 o ERASE 19 o ERASE GAP 20 o FLUSH 21 o ONLINE 22 o READ 23 o REPOSITION 24 o SET UNIT CHARACTERISTICS 25 o WRITE 26 o WRITE TAPE MARK 27 The CSE modifier is reserved for all other commands. 28 The existence of a Serious Exception state does not prevent other 29 hosts from bringing a tape unit into the "Unit Online" state via 30 the ONLINE command. The tape unit will be in the Serious 31 Exception state relative to any host issuing a successful ONLINE 32 command while the Serious Exception state exists, unless the CSE 33 modifier was specified in that ONLINE command. In that case the 34 Serious Exception State is cleared for all hosts which have the 35 tape unit in the "Unit Online" state. 36 If a tape unit leaves the "Unit Online" state relative to all 37 hosts, for any reason, the tape unit will cease to be in the 38 Serious Exception state. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-16 General Error Processing 8 November 1987 1 3.5.3 Position Lost Handling 2 When a "Position Lost" error condition occurs the tape unit 3 enters the Position Lost state relative to all hosts to which it 4 is currently "Unit Online", regardless of which host issued the 5 command encountering the error. 6 The Position Lost state is reflected in the Position Lost end 7 flag. Refer to section 4.5.1 for a description of end flags. 8 | A "Position Lost" error condition includes the following: 9 | 1. The formatter is not certain of the unit's position. 10 | 2. The change in unit position reported in the end messages 11 | is not due to the command corresponding to this end 12 | message. This includes the following case: 13 | o The unit enters the "Cached Data Lost" state (see 14 | section 3.6.1.4). This effectively "revokes" 15 | position that was previously reported (i.e., success 16 | was reported on previous cached operations, which 17 | have subsequently failed). The change reported in 18 | the position field cannot be attributed to the 19 | command containing the "Cached Data Lost" 20 | indication, and thus a Position Lost error condition 21 | has occurred and the unit enters the Position Lost 22 | state. 23 While the Position Lost state is in effect the host may issue any 24 tape motion command in an attempt to recover position on its own. 25 The controller must attempt to execute those commands in the 26 normal manner. During the execution of those commands the 27 controller will not generate a Serious Exception condition for 28 "Position Lost" error occurrences. The occurrence of all other 29 errors however, will be handled in the normal manner. 30 The tape unit will remain in the Position Lost state until the 31 tape is subsequently positioned to BOT, the tape unit enters the 32 "Unit Offline" state, or the tape is unloaded via an AVAILABLE 33 command. 34 3.5.4 Asynchronous Completion Handling Of Non-Data Transfer 35 Commands 36 TMSCP controllers cannot provide host end message notification of 37 errors encountered during either the execution of "immediate 38 completion" non-data transfer type commands (refer to section *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-17 General Error Processing 8 November 1987 1 3.2.1.1) or tape motion continuation following the abort of 2 certain lengthy I/O commands (refer to section 3.2.1.2) because 3 the end message has already been returned to the host. Based on 4 the fact that all error conditions that can be encountered in 5 either of those cases imply that the tape unit is essentially 6 inoperable, the TMSCP controller will take the following actions: 7 1. Issue an error log detailing the error that occurred, 8 provided the error normally requires logging and that 9 miscellaneous error logs are enabled (refer to Appendix 10 B). 11 2. Place the tape unit into the "Offline - Unit 12 Inoperative" state. 13 Subsequent tape motion commands will therefore be rejected 14 because of this "offline" state, precluding further operation of 15 the tape unit until the host has acknowledged the condition. 16 3.5.5 Data Error Recovery 17 TMSCP tape unit data error recovery procedures meet or exceed the 18 requirements of DEC Standard 174 with certain qualifications 19 described below. Note that error recovery techniques used by 20 block oriented tape units differ from those used by 9-track tape 21 units, but will provide equivalent performance. 22 Only unrecoverable errors will be reported to the host in the end 23 message status field. 24 Recoverable errors are reported to the host in error log form. 25 The controller will normally issue only one error log during the 26 error recovery process regardless of the number of attempts 27 involved in recovering the data. The error log is issued after 28 the final attempt whether recovery was successful or not. A 29 separate error log will be issued for non-transfer errors (e.g., 30 an STI transmission error) which occur during any segment of the 31 recovery process. Refer to Chapter 6 for specific information on 32 error log content. 33 Error recovery algorithms require unsolicited positioning in the 34 direction opposite to that specified in the original command. 35 For either a successful or unsuccessful recovery operation, the 36 tape will be positioned in the record gap forward of the data 37 record, relative to the direction of the original command. 38 | Failure to be so positioned will result in a "Position Lost" 39 | error condition. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-18 General Error Processing 8 November 1987 1 Note that explicit recovery sequences may be specified to the 2 controller by a formatter. 3 3.5.5.1 Suppression 4 Data error recovery suppression is controlled by the "Suppress 5 Error Recovery" command modifier. This modifier is allowed in 6 the ACCESS, COMPARE HOST DATA, READ, REPOSITION, and WRITE 7 commands. When set, the controller will inhibit "Data Error" 8 recovery procedures. If a "Data Error" is encountered the 9 controller reports it to the host immediately as unrecoverable. 10 The tape will remain positioned in the record gap forward of the 11 tape object in error, relative to the direction specified in the 12 command. 13 NOTE 14 Use of this modifier does not prevent the tape 15 unit from entering the Serious Exception state 16 when an error occurs. Refer to section 3.5.2 for 17 more detail. 18 3.5.5.2 Enhanced Write Error Recovery 19 Enhanced Write Error Recovery is a non-host settable unit 20 characteristic presented only if the TMSCP controller supports 21 the "Enable Re-write Error Recovery" command modifier on WRITE 22 commands for the specified tape unit (see section 5.7.2). 23 When the "Enable Re-write Error Recovery" command modifier is 24 set, the unit uses a special error recovery algorithm to write 25 the data on the media. The algorithm must guarantee that the 26 probability of altering or destroying previously written and 27 acknowledged data is no worse than the probability of an 28 undetected write error. It is permissible for the algorithm to 29 leave multiple copies of the record on the media. 30 An example algorithm that can be applied to 9-track tapes is as 31 follows: 32 1. If the initial attempt to write a record fails, then the 33 record will be re-written sequentially down the tape for 34 up to three retries. 35 2. If the re-writing of the record fails after three 36 re-tries, then the TMSCP controller will institute its 37 normal over-write error recovery algorithm to over-write 38 the fourth copy of the record. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-19 General Error Processing 8 November 1987 1 Units not utilizing the above algorithm must document in their 2 device specification how the requirements of "Enhanced Write 3 Error Recovery" are met. 4 The "Enable Re-write Error Recovery" modifier may not be set in 5 conjunction with the "Suppress Error Recovery" command modifier 6 and is therefore treated as a reserved field. The TMSCP 7 controller must return an Invalid Command (subcode "Invalid 8 Modifier") status code for status if both the "Suppress Error 9 Recovery" command modifier and the "Enable Re-write Error 10 Recovery" command modifiers are set in the same WRITE command. 11 3.5.6 Error Log Requirements 12 Controllers should not report error logs for events which cannot 13 possibly be potential hardware problems. Examples: 14 1. On a tape device, a REPOSITION command returns Data 15 Error (subcode "Long Gap Encountered") as a result of 16 reading metadata previously recorded on the tape. Such 17 metadata may be a result of the recording technology 18 (e.g., block mode cartridge tape). This situation does 19 not indicate a potential hardware problem, and thus an 20 error log should not be returned. 21 2. On a tape device, a REPOSITION command returns Data 22 Error (subcode "Long Gap Encountered") as a result of 23 not reading a record within the required distance. This 24 situation has the potential of being a hardware failure 25 in the read electronics, and thus an error log should be 26 returned. 27 3.6 Tape Caching 28 There is a broad range of mass storage caches possible, including 29 both one and two level caches (for large, slow, archival storage 30 devices), write-through and write-back operations, and volatile 31 and non-volatile caches. Caching may potentially be used for 32 both disk and tape class devices. Caching for disk class devices 33 implies what is normally meant by the term "cache". Caching for 34 tape class devices is merely a mechanism for implementing 35 controller based read-ahead and write-behind. Note that 36 write-through caching applied to a tape class device is 37 meaningless; since the data has already been written to the tape, 38 it won't be retained in the cache. 39 A controller will typically only provide a subset of this cache 40 functionality, if indeed it supports caching at all. This broad 41 range of functionality has been included to avoid ad hoc *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-20 Tape Caching 8 November 1987 1 extensions as future controllers are defined. 2 Performing write operations as write-behind, sometimes called 3 write-back, operations offers the potential for greatly improved 4 performance with a decrease in reliability. The decrease in 5 reliability arises from the fact that data may be lost if the 6 controller crashes or otherwise loses context before the data is 7 written back to the unit. The probability of losing data is 8 significantly different depending on whether the cache is 9 volatile or non-volatile, since the primary cause of losing 10 write-back data is power failures. Volatile caches always lose 11 data on power failures; non-volatile caches only lose data if the 12 unit, volume, or cache is removed from the controller during the 13 power failure. For these reasons write-back operations must be 14 explicitly enabled by the host. Write-back operations for TMSCP 15 controllers with any type of cache may be enabled on either a per 16 unit basis, using a unit flag, or on a per command basis, using a 17 command modifier or both. In addition, the FLUSH command, with 18 or without command modifiers, may be used to ensure that all 19 write-back data has been written out to the specified tape unit. 20 Tape write-back caching can be viewed as having the following 21 three characteristics: 22 1. The TMSCP controller's write-back cache is viewed as a 23 volatile cache. 24 2. The TMSCP controller may have write-back caching enabled 25 on a per unit basis or on a per command basis or both. 26 3. The TMSCP controller must provide support for "Enhanced 27 Write Error Recovery". 28 3.6.1 Write-Back Caching 29 Because normal TMSCP controller data transfer commands are 30 sequential and depend on the completion of transferring data to 31 the media, write-back caching requires specific measures to 32 handle the various error and exception conditions which can 33 occur. 34 If write-back caching is not enabled, either on a per unit basis 35 or on a per command basis, then the TMSCP controller will return 36 the end message when the write data transfer operation is 37 completed. 38 If write-back caching is enabled, either on a per unit basis or 39 on a per command basis, then the TMSCP controller may return the 40 end message as soon as the data for the write data operation is *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-21 Tape Caching 8 November 1987 1 completely buffered by the TMSCP controller. If write-back 2 caching is enabled on a per command basis, the TMSCP controller 3 must preserve the sequentiality of subsequent sequential (i.e., 4 non-write-back cached) commands issued by the host until those 5 operations complete. Furthermore, the TMSCP controller must also 6 ensure that subsequent sequential commands appear to be 7 progressing towards completion in order to satisfy the command 8 timeout requirements as defined in MSCP. When write-back caching 9 is enabled, either on a per unit basis or on a per command basis, 10 then the TMSCP controller must, at all times, maintain the proper 11 sequentiality of all previous non-write-back cached sequential 12 commands. 13 The "Immediate Completion" command modifier can only be specified 14 on the following data transfer "write" type commands (i.e., ERASE 15 GAP, WRITE, and WRITE TAPE MARK commands). 16 If write-back caching is enabled, either on a per command basis 17 or on a per unit basis, there must be some command sequence 18 available to guarantee that all write-back data previously 19 buffered for "write" type commands has been written out to the 20 specified tape unit. The following five sections outline the 21 command sequences available. 22 1. If write-back caching is enabled on a per command basis, 23 subsequent non-write-back cached "write" type commands 24 will guarantee that all write-back data previously 25 buffered for "write" type commands has been written out 26 to the specified tape unit. That is, the TMSCP 27 controller will return the end message when the 28 non-write-back cached "write" type data transfer 29 operation has completed to the specified tape unit. 30 Thus implying that all write-back data previously 31 buffered for "write" type commands has been written out 32 to the specified tape unit. 33 2. If write-back caching is enabled on a per unit basis, 34 there are two distinct command sequences available to 35 guarantee that write-back data buffered for all previous 36 "write" type commands has been written out to the 37 specified tape unit. 38 i. The first command sequence uses the FLUSH command. 39 This command sequence will guarantee that all 40 write-back data previously buffered for "write" type 41 commands has been written out to the specified tape 42 unit before the TMSCP controller will return the end 43 message indicating the FLUSH command has completed. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-22 Tape Caching 8 November 1987 1 ii. The second command sequence depends on two WRITE 2 TAPE MARK commands with no other intervening "write" 3 type commands. This command sequence will guarantee 4 that all write-back data previously buffered for 5 "write" type commands has been written out to the 6 specified tape unit prior to the TMSCP controller 7 returning the end message indicating that the second 8 WRITE TAPE MARK command has completed. 9 3. Any command sequence that transitions from "write" type 10 commands to either "read" type commands or "ancillary" 11 type commands will force the TMSCP controller to "flush" 12 all of the write-back cached data out to the specified 13 tape unit prior to the end message indicating the 14 completion of either the "read" type command or the 15 "ancillary" type command. 16 4. At the time a response to a non-data transfer sequential 17 command (i.e., AVAILABLE, ONLINE, or SET UNIT 18 CHARACTERISTICS) is generated, the cache must be empty. 19 Thus, any of these commands may be used to "flush" all 20 of the write-back cached data out to the specified tape 21 unit. Note that although the Available command is 22 considered "immediate completion", the response must not 23 be generated until the cache on the specified unit is 24 empty. 25 5. In addition to the above mechanisms available to hosts, 26 the TMSCP controller may, at its discretion, "flush" all 27 of the TMSCP controller's write-back cached data out to 28 the specified tape unit at any time. 29 Proper support for write-back caching requires that controlled, 30 predictable results be specified for the handling of the 31 following conditions: 32 o Conflicting requirements imposed by unit flags. 33 o Conflicting requirements imposed by command modifiers. 34 o Data transfer errors that occur prior to command 35 completion having been signaled to the host. 36 o Data transfer errors that occur after command completion 37 has been signaled to the host. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-23 Tape Caching 8 November 1987 1 3.6.1.1 Unit Flag Conflicts 2 The "Compare Writes" unit flag overrides the enabling of 3 write-back caching. There are no other unit flags in conflict 4 with the enabling of write-back caching. 5 3.6.1.2 Command Modifier Conflicts 6 The "Compare" modifier on WRITE commands overrides the enabling 7 of write-back caching for the duration of the command. 8 Write-back caching, if enabled, may be re-established after the 9 compare portion of the command if subsequent commands do not also 10 have the "Compare" modifier set. 11 The "Suppress Error Recovery" command modifier may either 12 override the enabling of write-back caching for the duration of 13 the command, or be handled as specified in the following sections 14 (this approach assumes that the first data transfer error 15 terminates any further processing). 16 Write-back caching, if enabled, may be re-established if 17 subsequent commands do not also have the "Suppress Error 18 Recovery" command modifier set. 19 There are no other command modifiers in conflict with the 20 enabling of write-back caching. 21 3.6.1.3 Error And Exception Handling 22 In general, TMSCP controllers cannot provide host end message 23 notification of errors or exceptions encountered during the 24 execution of write-back caching data transfer commands because 25 the end message has already been returned to the host. There are 26 three error conditions which must be accommodated. These cases 27 are: 28 1. Failure to transfer the specified data from the host 29 because of some type of host bus access error (i.e., 30 parity error, time out, bus interface failure, etc.). 31 2. Failure to maintain the specified data in the TMSCP 32 controller's write-back cache (i.e., parity error, EDC, 33 or other indication of data corruption). 34 3. Failure to successfully transfer the buffered data to 35 the media. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-24 Tape Caching 8 November 1987 1 The first error condition will be encountered prior to the 2 signaling of completion for the write-back caching data transfer 3 command. This situation implies that all of the prior data will 4 have been written on the media and is therefore accessible. This 5 condition requires that the TMSCP controller perform the 6 following steps: 7 i. Issue an error log detailing the error that occurred, 8 provided the error normally requires logging, (refer to 9 Appendix B). 10 ii. Position the specified tape unit immediately after the 11 last successful record written, and just prior to where 12 the record in error would have occurred. 13 iii. Place the tape unit into the "Serious Exception" state. 14 iv. Report the specific nature of the error as the status 15 for this specific command's end packet. 16 Subsequent tape data transfer commands will therefore be rejected 17 because of the "Serious Exception" state, precluding further 18 operation of the specified tape unit until the host has 19 acknowledged the condition. Additionally, the host will be 20 "synchronized" with the tape unit and positioned immediately 21 after the last good record. 22 Based on the fact that the other error conditions that can be 23 encountered after a write-back caching data transfer command is 24 initiated imply that the data on media is essentially 25 inaccessible, the second and third conditions require that TMSCP 26 controller perform the following steps: 27 i. Issue an error log detailing the error that occurred, 28 provided the error normally requires logging (refer to 29 Appendix B). 30 ii. If the specified tape unit remains in the "Unit Online" 31 state, then place the tape unit into the "Serious 32 Exception", "Position Lost", and "Cached Data Lost" 33 states. 34 iii. Report the specific nature of the error as the status of 35 the immediately subsequent sequential end packet to be 36 returned. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-25 Tape Caching 8 November 1987 1 Subsequent tape data transfer commands will therefore be rejected 2 because of the "Serious Exception" state, precluding further 3 operation of the tape unit until the host has acknowledged the 4 condition. The host will not be "synchronized" with the tape 5 unit and data written to the media subsequent to the last known 6 "synchronization" point will be effectively inaccessible. 7 There is one exception condition which must be accommodated. 8 That is the case of encountering EOT. This exception condition 9 will be handled by the TMSCP controller anticipating the 10 detection of EOT through some "early warning" mechanism and 11 "winding down" the write-back caching such that the TMSCP 12 controller is operating in a non-write-back caching mode when 13 "true" EOT is encountered. 14 3.6.1.4 Cached Data Lost Handling 15 Tape Units are inherently sequential devices. This means that 16 the order in which "write" type data transfer commands are 17 executed must be identical to the order in which they are 18 received. 19 In traditional tape systems, this sequentiality is preserved 20 because the device is capable of having only one command 21 outstanding to a tape unit at any time. If a "write" type data 22 transfer command terminates with an error, the host can take 23 immediate action to prevent commands waiting to be executed from 24 being presented to the device. The host, therefore, implicitly 25 maintains control of sequentiality. 26 A reliable detection mechanism for determining if write-back data 27 has been lost needs to be defined. This detection mechanism 28 needs to be hierarchical; partially implemented in the host and 29 partially implemented in the TMSCP controller. At the host 30 level, sufficient state needs to be maintained to remember that 31 write-back operations are in progress. This state may be 32 maintained either at the class driver level or the application 33 level or both. At the TMSCP controller level, there needs to be 34 a reporting mechanism to provide information concerning the 35 efficacy of any pending write-back caching data transfer 36 commands. The effect of this detection mechanism should be to 37 facilitate either the restart of the entire application or an 38 application dependent restart of the operations within some 39 context (i.e., from the last known good host/tape unit 40 synchronization point). The description of the TMSCP controller 41 mechanism is contained below. 42 TMSCP controllers cannot provide host end message notification of 43 errors or exceptions encountered during the execution of 44 write-back caching data transfer commands because the end message *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-26 Tape Caching 8 November 1987 1 has already been returned to the host. Therefore, when an error 2 occurs and the tape unit remains "Unit Online" to any host, a 3 TMSCP controller must ensure that subsequent commands are 4 rejected until a host acknowledges the occurrence of the error. 5 This condition is known as a Cached Data Lost condition. 6 Any of the conditions defined by the following Status Codes 7 occurring while write-back caching is enabled, either on a 8 command basis or on a unit basis, will cause a Cached Data Lost 9 condition: 10 o Controller Error 11 o Data Error 12 o Drive Error 13 o Formatter Error 14 o Position Lost, only when Position Lost state is not 15 already in effect (refer to section 3.5.3) 16 o Write Protected 17 The following Status Codes will not cause a Cached Data Lost 18 condition: 19 o Invalid Command, all subcodes 20 o Success, all subcodes 21 o Unit-Available 22 o Unit-Offline 23 Whenever one of the above error conditions occurs that causes the 24 TMSCP controller to lose cached data for the specified tape unit, 25 it enters the Cached Data Lost state relative to all hosts to 26 which it is currently "Unit Online", regardless of which host 27 issued the command encountering the error. 28 The Cached Data Lost state is reflected in the Cached Data Lost 29 end flag (DLF). Refer to section 4.5.1 for a description of end 30 flags. 31 The end message of the next sequential command processed after 32 the occurrence of the Cached Data Lost condition will have its 33 DLF set and its status will reflect the nature of the error. 34 Subsequent commands (including those currently queued by the 35 controller) are rejected with DLF set and a status of Serious 36 Exception in their end messages. The controller continues to 37 reject commands in that manner until the tape unit Cached Data 38 Lost state is cleared by a host. Immediate commands processed 39 prior to the reporting to the host of a Cached Data Lost 40 condition will reflect the previous state of the Cached Data Lost 41 flag. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-27 Tape Caching 8 November 1987 1 The following commands are subject to rejection while a Cached 2 Data Lost state exists: 3 o ACCESS 4 o COMPARE HOST DATA 5 o ERASE 6 o ERASE GAP 7 o FLUSH 8 o READ 9 o REPOSITION 10 o WRITE 11 o WRITE TAPE MARK 12 The Clear Cached Data Lost modifier (CDL) is the means by which a 13 host acknowledges the Cached Data Lost condition and signals the 14 controller that the tape unit Cached Data Lost State can be 15 cleared and normal processing resumed. Note that the CDL 16 modifier is acted upon before any other part of a command. It 17 only clears the Cached Data Lost state that existed before the 18 command was received (i.e., a command cannot clear a Cached Data 19 Lost it caused). The TMSCP controller must return an Invalid 20 Command (subcode "Invalid Modifier") status code if the CDL 21 modifier is specified and a Cached Data Lost state does not 22 currently exist. 23 The CDL modifier can only be specified for the following 24 commands: 25 o ACCESS 26 o AVAILABLE 27 o COMPARE HOST DATA 28 o ERASE 29 o ERASE GAP 30 o FLUSH 31 o ONLINE 32 o READ 33 o REPOSITION 34 o SET UNIT CHARACTERISTICS 35 o WRITE 36 o WRITE TAPE MARK 37 The CDL modifier is reserved for all other commands. 38 The existence of a Cached Data Lost state does not prevent other 39 hosts from bringing a tape unit into the "Unit Online" state via 40 the ONLINE command. The tape unit will be in the Cached Data 41 Lost state relative to any host issuing a successful ONLINE 42 command while the Cached Data Lost state exists, unless the CDL *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-28 Tape Caching 8 November 1987 1 modifier was specified in that ONLINE command. In that case the 2 Cached Data Lost State is cleared for all hosts which have the 3 tape unit in the "Unit Online" state. 4 If a tape unit leaves the "Unit Online" state relative to all 5 hosts, for any reason, the tape unit will cease to be in the 6 Cached Data Lost state. 7 3.6.2 Read-Ahead Caching 8 | TMSCP controllers should normally read-ahead and cache data from 9 | the media in anticipation of host read requests. However, each 10 | read request must be satisfied by a distinct physical read 11 | operation. If the host issues multiple read requests for the 12 | same data, then the TMSCP controller must use a separate physical 13 | read operation to satisfy each request. If the host issues a 14 | read request for data that has been invalidated by a write 15 | operation subsequent to the read-ahead operation, the TMSCP 16 | controller must physically read the tape again. 17 | Hosts can request that data be read from tape in one of two ways: 18 | o Issuing a "read" type command (ACCESS, COMPARE, READ). 19 | o Issuing a command with an explicit or implicit compare 20 | operation. That is, either a command with a compare 21 | modifier or a command to which a compare unit flag 22 | applies. 23 | Note that a read-compare operation is two distinct read requests. 24 | A "write" type operation invalidates all read-ahead data read 25 | from tape objects at positions (object count) equal to or greater 26 | than the position (object count) of the "write" type operation. 27 | This effectively means that a TMSCP controller must use the 28 | following policies to manage its read-ahead cache: 29 | 1. Only data physically read from tape enters the 30 | read-ahead cache. In particular, write data never 31 | enters the read-ahead cache. 32 | 2. Any data in the read-ahead cache that is used to satisfy 33 | a host read request is immediately deleted from the 34 | cache, and is not available to satisfy subsequent 35 | requests. If multiple physical read operations have 36 | entered multiple copies of the same data in the cache, 37 | then only one copy need be deleted. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-29 Tape Caching 8 November 1987 1 | 3. A "write" type operation causes any data in the 2 | read-ahead cache read from objects with a position 3 | (object count) greater than or equal to the position 4 | (object count) of the "write" type operation to be 5 | immediately deleted from the cache. 6 | 4. In addition to the above, the TMSCP controller may, at 7 | its discretion, delete any or all of the TMSCP 8 | controller's read-ahead cached data. 9 Proper support for read-ahead caching requires that controlled, 10 predictable results be specified for the handling of the 11 following conditions: 12 o Conflicting requirements imposed by unit flags. 13 o Conflicting requirements imposed by command modifiers. 14 o Data transfer errors during read ahead operations. 15 3.6.2.1 Unit Flag Conflicts 16 The "Compare Reads" and the "Suppress Caching" unit flags 17 override the enabling of read-ahead caching. There are no other 18 unit flags in conflict with the enabling of read-ahead caching. 19 3.6.2.2 Command Modifier Conflicts 20 The "Compare" modifier on READ commands overrides the enabling of 21 read-ahead caching for the duration of the command. Read-ahead 22 caching may be re-established after the compare portion of the 23 command if subsequent commands do not also have the "Compare" 24 modifier set. 25 The "Suppress Caching" modifier on "read" type commands overrides 26 the enabling of read-ahead caching for the duration of the 27 specified command. Read-ahead caching may be re-established 28 after the completion of the specified command if subsequent 29 "read" type commands do not also have the "Suppress Caching" 30 modifier set. 31 The "Suppress Error Recovery" command modifier may either 32 override the enabling of read-ahead caching for the duration of 33 the command, or be handled as specified in the following sections 34 (this approach assumes that the first unrecoverable or suppressed 35 error recovery data transfer error terminates any further 36 processing). *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP GENERAL OPERATIONAL CHARACTERISTICS Page 3-30 Tape Caching 8 November 1987 1 Read-ahead caching may be re-established if subsequent commands 2 do not also have the "Suppress Error Recovery" command modifier 3 set. 4 There are no other command modifiers in conflict with the 5 enabling of read-ahead caching. 6 3.6.2.3 Error Handling 7 TMSCP controllers are responsible for handling all errors that 8 occur during read-ahead caching. TMSCP controllers issue an 9 error log detailing the error that occurred (provided that error 10 normally requires logging [refer to Appendix B]), when data 11 associated with the specific data record causing the error is 12 requested by the host. In order to accomplish this objective, 13 the TMSCP controller must make a reasonable assumption about the 14 format of data records and tape marks written on the magnetic 15 tape. This assumption about tape format will be formalized in 16 the definition of a properly formatted tape segment which is a 17 portion of magnetic tape starting at BOT which contains an 18 arbitrary number of data records and tape marks in arbitrary 19 order, terminating in two consecutive tape marks with no 20 intervening data records. A properly formatted tape segment must 21 be written from BOT or may result from the arbitrary appending of 22 additional data records and tape marks to a properly formatted 23 tape segment which also results in a properly formatted tape 24 segment. The TMSCP controller must terminate read-ahead caching 25 upon detection of the end of a properly formatted tape segment 26 while reading in the forward direction. Subsequent Host issued 27 "read" type commands in the forward direction may re-enable 28 read-ahead caching. In addition, TMSCP controllers may apply 29 other recording technology or implementation dependent mechanisms 30 in order to properly control read-ahead caching and minimize 31 their error handling requirements. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP MESSAGE OVERVIEW Page 4-1 8 November 1987 1 CHAPTER 4 2 TMSCP MESSAGE OVERVIEW 3 4.1 Tape MSCP Functions Having No Disk MSCP Counterparts 4 o ERASE GAP 5 o FLUSH 6 o REPOSITION 7 o WRITE TAPE MARK 8 4.2 Identical Disk And Tape MSCP Functions 9 The following functions are identical in both Disk MSCP and Tape 10 MSCP. Their descriptions have been omitted from this document. 11 o ABORT (Refer to section 3.2.1.2 for operational 12 clarifications) 13 o ACCESS NON-VOLATILE MEMORY 14 o DETERMINE ACCESS PATHS 15 o GET COMMAND STATUS 16 o SET CONTROLLER CHARACTERISTICS 17 o INVALID COMMAND End Message 18 o ACCESS PATH Attention Message 19 o AVAILABLE Attention Message 20 o DUPLICATE UNIT NUMBER Attention Message 21 4.3 Tape Specific MSCP Commands And Responses 22 Following is a list of Tape specific MSCP commands, which are 23 described in Chapter 5. 24 o ACCESS 25 o AVAILABLE 26 o COMPARE HOST DATA 27 o ERASE 28 o ERASE GAP 29 o GET UNIT STATUS 30 o ONLINE 31 o READ 32 o REPOSITION 33 o SET UNIT CHARACTERISTICS 34 o WRITE 35 o WRITE TAPE MARK *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP MESSAGE OVERVIEW Page 4-2 Generic Command Message Format 8 November 1987 1 4.4 Generic Command Message Format 2 Refer to MSCP for a general description of command message 3 formats. 4 4.4.1 Command Modifiers 5 Refer to MSCP for a general description of command modifier 6 operations. 7 The following command modifiers are supported by TMSCP but 8 described in MSCP: 9 o All Class Drivers 10 o Enable Set Write Protect 11 o Exclusive Access 12 o Next Unit 13 o Suppress Error Correction 14 The following command modifiers apply to a single TMSCP command. 15 Their operation is described within the identified command 16 description: 17 o Detect LEOT - REPOSITION 18 o Enable Re-write Error Recovery - WRITE 19 o Object Count - REPOSITION 20 o Rewind - REPOSITION 21 o Unload - AVAILABLE 22 The following command modifiers apply to various TMSCP commands. 23 Their operation is described within the identified general 24 operation sections: 25 o Clear Cached Data Lost - 3.6.1.4 26 o Clear Serious Exception - 3.5.2 27 o Compare - 3.4.3.4 28 o Immediate Completion - 3.2 for non-data transfer 29 commands 30 o Immediate Completion - 3.6 for data transfer commands 31 o Reverse - 3.3 32 o Suppress Caching - 3.6.2.2 33 o Suppress Error Recovery - 3.5.5.1 *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP MESSAGE OVERVIEW Page 4-3 End Message Format 8 November 1987 1 4.5 End Message Format 2 Refer to MSCP for a general description of the end message 3 format. 4 4.5.1 Flags 5 The following end flag is supported by TMSCP but defined in MSCP: 6 o Error Log Generated 7 End flags specific to TMSCP and common to many commands are 8 defined here: 9 o Cached Data Lost 10 Set when cached data is lost because a tape unit 11 entered the Serious Exception state while write-back 12 caching is enabled. Refer to section 3.6.1.4 for 13 further details. 14 o EOT Encountered 15 Set whenever the magnetic tape loaded on a drive is 16 currently positioned at or beyond EOT. Refer to 17 section 3.3 for further details. 18 o Position Lost 19 Set when a tape unit is in the Position Lost state. 20 Refer to section 3.5.3 for further details. 21 o Serious Exception 22 Set when a tape unit is in the Serious Exception 23 state. Refer to section 3.5.2 for further details. 24 4.5.2 Status 25 Refer to MSCP for a complete description of the status field 26 format. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP MESSAGE OVERVIEW Page 4-4 End Message Format 8 November 1987 1 4.5.3 Status Codes 2 The following status codes are common to both MSCP and TMSCP. 3 Refer to MSCP for a complete description: 4 o Command Aborted 5 o Controller Error 6 o Drive Error 7 o Host Buffer Access Error 8 o Invalid Command (subcode "Invalid Unit Flags") 9 o Unit-Available 10 o Unit-Offline 11 Major status codes that are TMSCP specific are described here. 12 Status codes specific to a single TMSCP command are described 13 with the associated command. 14 o BOT Encountered 15 This status code will be returned whenever BOT is 16 unexpectedly encountered during the execution of a 17 reverse read type command. See section 3.3.1.2 for 18 more details. 19 o Compare Error 20 This status code will be returned whenever a 21 difference is found between the tape record data and 22 the host buffer data during a compare operation. It 23 will also be returned if a short tape record is 24 encountered during a COMPARE HOST DATA or compare 25 modified READ command. 26 o Data Error (subcode "Long Gap Encountered") 27 This status code will be returned when a long gap is 28 detected while attempting to execute a read type 29 command (i.e., ACCESS, COMPARE HOST DATA, READ or 30 REPOSITION). Tape motion ceases and the tape 31 remains positioned at the end of the long gap. 32 Refer to Appendix C, Table C-4 for tape format 33 dependent long gap values. 34 o Data Error (subcode "Unrecoverable Read Error") *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP MESSAGE OVERVIEW Page 4-5 End Message Format 8 November 1987 1 This status code will be returned: 1) if the tape 2 format cannot be determined from the TFIA 3 information during first read density selection; or, 4 2) if invalid or uncorrectable data is obtained from 5 the tape unit, as determined by internal error 6 detecting or correcting codes. 7 o Formatter Error 8 This status will be returned when a formatter 9 reports an internally detected error to the 10 controller. The subcode will identify the exact 11 cause of the error. 12 o Invalid Command (subcode "Invalid Byte Count") 13 The command specified a byte count greater than the 14 absolute maximum allowed by the controller. Refer 15 to Appendix C, Table C-3 for specifics. 16 o Media Format Error 17 This status code will be returned whenever the media 18 is formatted in a manner that cannot be written nor 19 read by the controller (i.e., if a disk formatted 20 media is accessed by TMSCP on a combination 21 TMSCP/MSCP device). 22 o Position Lost 23 This status code will be returned whenever the 24 controller, formatter, or tape unit loses context of 25 the tape position (object count). 26 | NOTE 27 | The intent of this status code is to report 28 | the loss of tape position when further tape 29 | motion operations are believed to be 30 | possible by the unit. If an error occurs 31 | that is not recoverable and prevents further 32 | tape motion commands (i.e., the tape 33 | breaks), then the appropriate drive or data 34 | error should be reported as the status of 35 | the command, rather than a status of 36 | Position Lost. The Position Lost end flag *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP MESSAGE OVERVIEW Page 4-6 End Message Format 8 November 1987 1 | should still be used as appropriate. 2 o Record Data Truncated 3 This error code will be returned whenever the length 4 of a tape record read is greater than the value 5 supplied in the "byte count" field of the 6 corresponding command message. 7 o Serious Exception 8 The command is rejected because the tape unit is 9 currently in the Serious Exception state or the 10 Cached Data Lost state. Refer to section 3.5.2 and 11 section 3.6.1.4 for further details. 12 o Success (subcode "EOT Encountered") 13 This status code will be returned whenever EOT is 14 encountered during the execution of a write type 15 command (i.e., ERASE GAP, WRITE, or WRITE TAPE 16 MARK). The command will complete in the normal 17 fashion after EOT is encountered. 18 o Tape Mark Encountered 19 This status code will be returned whenever a tape 20 mark is unexpectedly encountered during the 21 execution of a read type command. See sections 22 3.3.1.4 and 5.10.3 for more details. 23 o Write Protected 24 (subcode "Unit is Hardware Write Protected") 25 (subcode "Unit is Software Write Protected") 26 (subcode "Unit is Data Safety Write Protected") 27 This status will be returned if the tape unit is 28 found to be hardware, software, or data safety 29 Write Protected when a command requiring a write 30 operation is issued. The command is rejected 31 immediately and no tape motion will occur. The 32 subcode reflects the tape unit hardware, 33 software and data safety write protect state(s), 34 maintained by the controller. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP MESSAGE OVERVIEW Page 4-7 End Message Format 8 November 1987 1 The status codes that may be returned for each command and any 2 special meaning that they have are listed in the command end 3 message descriptions in Chapter 5. 4 4.5.4 Byte Count (Host Transfer) 5 This field, returned in the COMPARE HOST DATA, READ, and WRITE 6 command end messages, reflects the number of bytes SUCCESSFULLY 7 compared or transferred. The count begins with the first byte 8 transferred to/from the tape record and ceases at either the byte 9 count specified in the command message or the byte count of the 10 first error encountered, if any. 11 If the controller cannot initiate the command for any reason the 12 value returned in this field is zero. 13 If an error occurs, the controller must have SUCCESSFULLY 14 compared or transferred all data up to the point identified by 15 "byte count". Furthermore, the error identified by "status" must 16 have actually occurred at the byte position identified by "byte 17 count". 18 READ or WRITE commands that include a compare operation are 19 special cases. Such a command makes two passes over the data: 20 one for the original transfer and another for the compare 21 operation. For most errors, there is no way to determine in 22 which pass the error was detected. Therefore, the only guarantee 23 is that error-free transfer was performed up to the point 24 identified by "byte count". The compare operation may or may not 25 have been performed up to that point. If a "Compare Error" is 26 reported, both the original transfer and the compare operation 27 have been successfully performed up to the point identified by 28 "byte count". 29 NOTE 30 The state of a compare or transfer following the 31 byte position identified by "byte count" is 32 undefined, since: 33 1. None of the transfer following "byte count" 34 may have been performed or attempted. 35 2. All of it may have been attempted (with 36 unknown success). 37 3. Some parts may have been attempted and others 38 not. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP MESSAGE OVERVIEW Page 4-8 End Message Format 8 November 1987 1 This implies that the compare pass of a transfer 2 command may be performed for the entire transfer, 3 or portions thereof. 4 4.5.5 Byte Count (Tape Record) 5 This field, returned in the ACCESS, COMPARE HOST DATA, READ, and 6 WRITE command end messages, reflects the number of bytes 7 contained in the tape record. This field is only valid if the 8 controller can determine the actual size of the tape record. If 9 the controller is unable to determine the tape record size, the 10 value returned in this field is zero. 11 4.5.6 Position (Object Count) 12 This field, returned in the ACCESS, COMPARE HOST DATA, ERASE GAP, 13 FLUSH, READ, REPOSITION, WRITE and WRITE TAPE MARK command end 14 messages, reflects the current position of the tape in terms of 15 object counts forward of BOT. Because of the potential for 16 command pipelining within the controller and/or the tape 17 formatter, the most currently reported "object count" may lag 18 behind the actual physical drive position. Nevertheless, this 19 information is sufficient for host recovery from power failure or 20 position lost situations. 21 All caching units must report Position in a manner that makes the 22 caching transparent to higher levels. Thus, the contents of the 23 Position field is the position on tape, in terms of objects 24 forward of BOT, of the object whose end message has most recently 25 been generated for the indicated unit. I.e., a unit caches a 26 WRITE command, and sends an end message indicating successful 27 completion. In that and subsequent end messages, the unit 28 reports position as if the WRITE had already taken place, when in 29 reality the WRITE may still be waiting in the cache. 30 When a "position lost" condition is encountered or the tape unit 31 is in the Position Lost state (refer to section 3.5.3), the 32 controller will return its "best guess" object count in the 33 Position field. The "best guess" can be obtained by setting the 34 object count to be the last known (good) position when the unit 35 first enters the Position Lost state. Subsequent positioning of 36 the drive causes corresponding changes to the "best guess" object 37 count. 38 This field must be valid when the tape unit is "Unit Online" and 39 not in the Position Lost state. This field must contain the 40 unit's "best guess" object count when the tape unit is "Unit 41 Online" and in the Position Lost state. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-1 8 November 1987 1 CHAPTER 5 2 TMSCP COMMAND DESCRIPTIONS 3 5.1 ACCESS Command 4 Command Category: 5 Sequential 6 5.1.1 Command Message Format 7 31 0 8 +-------------------------------+ 9 | command reference number | 10 +---------------+---------------+ 11 | reserved | unit number | 12 +---------------+-------+-------+ 13 | modifiers | rsvd | opcode| 14 +---------------+-------+-------+ 15 | byte count | 16 +-------------------------------+ 17 Allowable Modifiers: 18 Clear Cached Data Lost 19 Clear Serious Exception 20 Reverse (see section 3.3.1.1) 21 Suppress Caching 22 Suppress Error Correction 23 Suppress Error Recovery *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-2 ACCESS Command 8 November 1987 1 5.1.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 | | 11 +---- ----+ 12 | | 13 +---- undefined ----+ 14 | | 15 +---- ----+ 16 | | 17 +-------------------------------+ 18 | position (object count) | 19 +-------------------------------+ 20 | byte count (tape record) | 21 +-------------------------------+ 22 Status Codes: 23 Success 24 (subcode "Normal") 25 BOT Encountered 26 Command Aborted 27 Controller Error 28 Data Error 29 Drive Error 30 Formatter Error 31 Invalid Command 32 (subcode "Invalid Byte Count") 33 (subcode "Illegal Modifier") (see section 3.3.1.1) 34 Position Lost 35 Record Data Truncated 36 Serious Exception 37 Tape Mark Encountered 38 Unit-Available 39 Unit-Offline *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-3 ACCESS Command 8 November 1987 1 Flags: 2 Cached Data Lost 3 EOT Encountered 4 Error Log Generated 5 Position Lost 6 Serious Exception *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-4 ACCESS Command 8 November 1987 1 5.1.3 Description 2 Beginning at the current position, data is read from the magnetic 3 tape loaded on the specified unit, checked for errors, and then 4 discarded. 5 Refer to sections 3.3, 3.4, and 3.5 for additional detail. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-5 AVAILABLE Command 8 November 1987 1 5.2 AVAILABLE Command 2 Command Category: 3 Sequential - Immediate Completion 4 5.2.1 Command Message Format 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 | reserved | unit number | 10 +---------------+-------+-------+ 11 | modifiers | rsvd | opcode| 12 +---------------+-------+-------+ 13 Allowable Modifiers: 14 All Class Drivers (ignored in single host case) 15 Clear Cached Data Lost 16 Clear Serious Exception 17 Exclusive Access 18 Unload *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-6 AVAILABLE Command 8 November 1987 1 5.2.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 Status Codes: 11 Success 12 (subcode "Normal") 13 (subcode "Still Connected") 14 The "still connected" subcode is returned if the 15 tape unit may potentially be accessed via 16 another controller but some other tape unit 17 which shares the same access path is still 18 "Unit-Online" to another host. 19 (subcode "Still Online") 20 The "still online" subcode indicates that the 21 tape unit is now "Unit-Available" to the 22 requesting Host, but the tape unit is still 23 "Unit-Online" to another Host. 24 (subcode "Still Online/Unload Ignored") 25 The "Still Online/Unload Ignored" subcode is 26 returned if the "Unload" modifier was set in the 27 command message and the unload was inhibited 28 because the tape unit is still "Unit Online" to 29 another host. 30 Command Aborted 31 Controller Error 32 Drive Error 33 Exclusive Access *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-7 AVAILABLE Command 8 November 1987 1 Formatter Error 2 Serious Exception 3 Unit-Offline 4 Flags: 5 Cached Data Lost 6 EOT Encountered 7 Error Log Generated 8 Position Lost 9 Serious Exception *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-8 AVAILABLE Command 8 November 1987 1 5.2.3 Description 2 All outstanding host commands are completed after which the tape 3 unit is placed in the "Unit Available" state relative to the 4 host. 5 If the tape unit is not "Unit Online" to any other host, the tape 6 is rewound to BOT. 7 If the "Unload" command modifier is set and the tape unit is not 8 "Unit Online" to any other host (i.e., "Still Online"), the tape 9 will be unloaded, rendering the tape unit "Unit-Offline". Note 10 that a "Still Connected" condition will not inhibit tape 11 unloading, if unload was requested. 12 If the "Unload" command modifier was not set, the tape unit is 13 not already "Unit-Available" and no other tape units sharing the 14 same access path are "Unit-Online" (i.e., the "Still Connected" 15 status subcode flag is clear), then an AVAILABLE attention 16 message is sent by any other controller to which the tape unit is 17 connected. The controller to which this command was sent need 18 not send an AVAILABLE attention message. 19 This command will be accepted if the tape unit is "Unit Online" 20 or "Unit Available". There is no point in issuing this command 21 to a "Unit Available" tape unit without specifying the "Unload" 22 modifier. 23 Refer to section 3.2 for additional information. 24 The actions of this command with the Exclusive Access modifier 25 are described in the MSCP specification. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-9 COMPARE HOST DATA Command 8 November 1987 1 5.3 COMPARE HOST DATA Command 2 Command Category: 3 Sequential 4 5.3.1 Command Message Format 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 | reserved | unit number | 10 +---------------+-------+-------+ 11 | modifiers | rsvd | opcode| 12 +---------------+-------+-------+ 13 | byte count | 14 +-------------------------------+ 15 | | 16 +--- buffer ---+ 17 | | 18 +--- descriptor ---+ 19 | | 20 +-------------------------------+ 21 Allowable Modifiers: 22 Clear Cached Data Lost 23 Clear Serious Exception 24 Reverse (see section 3.3.1.1) 25 Suppress Caching 26 Suppress Error Correction 27 Suppress Error Recovery *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-10 COMPARE HOST DATA Command 8 November 1987 1 5.3.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 | byte count (host transfer) | 11 +-------------------------------+ 12 | | 13 +---- ----+ 14 | undefined | 15 +---- ----+ 16 | | 17 +-------------------------------+ 18 | position (object count) | 19 +-------------------------------+ 20 | byte count (tape record) | 21 +-------------------------------+ 22 Status Codes: 23 Success 24 (subcode "Normal") 25 BOT Encountered 26 Command Aborted 27 Compare Error 28 Controller Error 29 Data Error 30 Drive Error 31 Formatter Error 32 Host Buffer Access Error 33 Invalid Command 34 (subcode "Invalid Byte Count") 35 (subcode "Illegal Modifier") (see section 3.3.1.1) 36 Position Lost 37 Record Data Truncated 38 Serious Exception 39 Tape Mark Encountered 40 Unit-Available 41 Unit-Offline *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-11 COMPARE HOST DATA Command 8 November 1987 1 Flags: 2 Cached Data Lost 3 EOT Encountered 4 Error Log Generated 5 Position Lost 6 Serious Exception *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-12 COMPARE HOST DATA Command 8 November 1987 1 5.3.3 Description 2 Beginning at the current position, data is read from a record on 3 the magnetic tape and compared to the data in the specified host 4 buffer. 5 Refer to sections 3.3, 3.4, and 3.5 for additional detail. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-13 ERASE Command 8 November 1987 1 5.4 ERASE Command 2 Command Category: 3 Sequential (optionally Immediate Completion) 4 5.4.1 Command Message Format 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 | reserved | unit number | 10 +---------------+-------+-------+ 11 | modifiers | rsvd | opcode| 12 +---------------+-------+-------+ 13 Allowable Modifiers: 14 Clear Cached Data Lost 15 Clear Serious Exception 16 Immediate Completion 17 If this modifier is set, this command will be 18 executed in an asynchronous manner. Refer to 19 section 3.2 for complete details. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-14 ERASE Command 8 November 1987 1 5.4.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 Status Codes: 11 Success 12 (subcode "Normal") 13 Command Aborted 14 Controller Error 15 Drive Error 16 Formatter Error 17 Serious Exception 18 Unit-Available 19 Unit-Offline 20 Write Protected 21 (subcode "Unit is Hardware Write Protected") 22 (subcode "Unit is Software Write Protected") 23 (subcode "Unit is Data Safety Write Protected") 24 Flags: 25 Cached Data Lost 26 EOT Encountered 27 Error Log Generated 28 Position Lost 29 Serious Exception *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-15 ERASE Command 8 November 1987 1 5.4.3 Description 2 Tape objects are erased starting at the current tape position 3 through PEOT (see chapter 2). The tape is then positioned to 4 BOT. 5 Refer to sections 3.3 and 3.5 for additional detail. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-16 ERASE GAP Command 8 November 1987 1 5.5 ERASE GAP Command 2 Command Category: 3 Sequential (optionally Immediate Completion) 4 5.5.1 Command Message Format 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 | reserved | unit number | 10 +---------------+-------+-------+ 11 | modifiers | rsvd | opcode| 12 +---------------+-------+-------+ 13 Allowable Modifiers: 14 Clear Cached Data Lost 15 Clear Serious Exception 16 Immediate Completion 17 If this modifier is set, this command may be 18 executed as a "write-back" caching enabled "write" 19 type command. Refer to section 3.6.1 for complete 20 details. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-17 ERASE GAP Command 8 November 1987 1 5.5.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 Status Codes: 11 Success 12 (subcode "Normal") 13 (subcode "EOT Encountered") 14 Command Aborted 15 Controller Error 16 Drive Error 17 Formatter Error 18 Position Lost 19 Serious Exception 20 Unit-Available 21 Unit-Offline 22 Write Protected 23 (subcode "Unit is Hardware Write Protected") 24 (subcode "Unit is Software Write Protected") 25 (subcode "Unit is Data Safety Write Protected") 26 Flags: 27 Cached Data Lost 28 EOT Encountered 29 Error Log Generated 30 Position Lost 31 Serious Exception *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-18 ERASE GAP Command 8 November 1987 1 5.5.3 Description 2 Beginning at the current tape position, a format dependent record 3 gap is recorded on the magnetic tape loaded on the specified tape 4 unit. This command is useful for bypassing tape defects when 5 write error recovery is host controlled. 6 Refer to sections 3.3 and 3.5 for additional detail. 7 WARNING 8 The use of this command may cause undesirable 9 interaction with formatter directed error 10 recovery sequences resulting in non-standard 11 record gaps. Affected tapes may not be readable 12 on all systems. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-19 FLUSH Command 8 November 1987 1 5.6 FLUSH Command 2 Command Category: 3 Sequential 4 5.6.1 Command Message Format 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 | reserved | unit number | 10 +---------------+-------+-------+ 11 | modifiers | rsvd | opcode| 12 +---------------+-------+-------+ 13 Allowable Modifiers: 14 Clear Cached Data Lost 15 Clear Serious Exception *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-20 FLUSH Command 8 November 1987 1 5.6.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 | | 11 +---- ----+ 12 | | 13 +---- undefined ----+ 14 | | 15 +---- ----+ 16 | | 17 +-------------------------------+ 18 | position (object count) | 19 +-------------------------------+ 20 Status Codes: 21 Success 22 (subcode "Normal") 23 (subcode "EOT Encountered") 24 Command Aborted 25 Controller Error 26 Data Error 27 Formatter Error 28 Position Lost 29 Serious Exception 30 Unit-Available 31 Unit-Offline 32 Write Protected 33 (subcode "Unit is Hardware Write Protected") 34 (subcode "Unit is Software Write Protected") 35 (subcode "Unit is Data Safety Write Protected") 36 Flags: 37 Cached Data Lost 38 EOT Encountered *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-21 FLUSH Command 8 November 1987 1 Error Log Generated 2 Position Lost 3 Serious Exception 4 Position (Object Count): 5 This field, returned in the FLUSH command end message, 6 reflects the current position of the tape in terms of 7 object counts forward of BOT. Because of the potential 8 for command pipelining within the controller and/or the 9 tape formatter, the most currently reported "object 10 count" may lag behind the actual physical drive 11 position. Nevertheless, this information is sufficient 12 for host recovery from power failure or position lost 13 situations when write-back caching is enabled. 14 When a "position lost" condition is encountered or the 15 tape unit is in the Position Lost state (refer to 16 3.5.3), the controller will return the last known (good) 17 "object count". *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-22 FLUSH Command 8 November 1987 1 5.6.3 Description 2 | The FLUSH command is used to ensure that all previously issued 3 | cached "write" type commands have fully completed. Hosts would 4 normally use this command to establish or maintain 5 synchronization with "write" type commands being issued to the 6 specified tape unit. 7 | The end message to FLUSH command is not issued until all 8 | previously issued sequential commands have fully completed. This 9 | means that the data for all previous "write" type commands has 10 | been successfully written to media, or a Cached Data Lost 11 | condition has caused the write-back cache to be cleared. The 12 order in which the write-back cached data is transferred to the 13 specified tape unit is the exactly the same as the order in which 14 | the write-back cached "write" type commands occurred. TMSCP 15 | controllers should continue to fetch and buffer host data for 16 | subsequent "write" type commands, provided that such action is 17 | required in order to ensure high performance (i.e., required to 18 | keep the unit streaming). The TMSCP controller must be prepared 19 | to take the appropriate action with such pre-fetched data in the 20 | event of a Cached Data Lost condition or similar unexpected 21 | event. The TMSCP controller must also preserve sequentiality of 22 | such subsequent "write" type commands with the FLUSH command as 23 | well as all other sequential commands. 24 Refer to sections 3.3, 3.4, 3.5, and 3.6 for additional detail. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-23 GET UNIT STATUS Command 8 November 1987 1 5.7 GET UNIT STATUS Command 2 Command Category: 3 Immediate 4 5.7.1 Command Message Format 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 | reserved | unit number | 10 +---------------+-------+-------+ 11 | modifiers | rsvd | opcode| 12 +---------------+-------+-------+ 13 Allowable Modifiers: 14 Next Unit *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-24 GET UNIT STATUS Command 8 November 1987 1 5.7.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 | unit flags |multi-unit code| 11 +-------------------------------+ 12 | reserved | 13 +-------------------------------+ 14 | | 15 +--- unit identifier ---+ 16 | | 17 +-------------------------------+ 18 | media type identifier | 19 +---------------+---------------+ 20 | speed | format | 21 +-------+-------+---------------+ 22 | rsvd |freecap| format menu | 23 +-------+-----------------------+ 24 | uhvrsn| usvrsn| fhvrsn| fsvrsn| 25 +-------+-------+-------+-------+ 26 Status Codes: 27 Success 28 (subcode "Normal") = Unit is "UNIT ON-LINE" 29 (subcode "Duplicate Unit Number") 30 Implies that the tape unit is "Unit-Online", but 31 that its unit number is identical to that of 32 some other unit known to the controller. The 33 tape unit will become "Unit-Offline", due to the 34 duplicate Unit Number, as soon as it ceases to 35 be "Unit-Online". 36 (subcode "Read-only Volume Format") 37 The unit only implements read access for the 38 format of the volume mounted in the unit. For 39 example, a single-density volume is mounted in a 40 double-density drive that can read but not write *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-25 GET UNIT STATUS Command 8 November 1987 1 it. Note that the unit will be Data Safety 2 Write Protected whenever this subcode is 3 returned. 4 Unit-Available 5 Unit-Offline 6 Flags: 7 Cached Data Lost 8 Exclusive Access 9 EOT Encountered 10 Position Lost 11 Serious Exception 12 Multi-Unit code: 13 The low byte of this field identifies the access path 14 between the controller and the tape unit. The high byte 15 identifies the particular tape unit on the access path. 16 This field must be valid when the returned Unit 17 Identifier is non-zero. 18 Unit Flags: 19 Caching Support 20 A non-host settable characteristic, set only if the 21 tape unit supports tape write-back caching. 22 This flag must be valid when the returned Unit 23 Identifier is non-zero. 24 Compare Reads 25 A host settable characteristic, enabled either with 26 ONLINE or SET UNIT CHARACTERISTICS commands. If 27 set, all READ commands will be verified with a 28 compare operation (equivalent to specifying the 29 compare modifier on each command). 30 This flag must be valid when the tape unit is 31 "Unit-Online". *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-26 GET UNIT STATUS Command 8 November 1987 1 Compare Writes 2 A host settable characteristic, enabled either with 3 ONLINE or SET UNIT CHARACTERISTICS Commands. If 4 set, all WRITE operations will be compare verified. 5 This flag must be valid when the tape unit is 6 "Unit-Online". 7 Data Safety Write Protect 8 A non-host settable characteristic, set whenever 9 some condition in the unit or volume prevents 10 reliable modification of data on the volume. 11 Possible causes include: 12 o An invalid volume format. 13 o The unit is only capable of reading the volume's 14 format. I.e., a single-density volume in a 15 double-density drive. 16 Note that there can be multiple causes for a unit 17 being Data Safety Write Protected. Furthermore, 18 some causes represent errors while others represent 19 normal occurrences. 20 Each individual cause can only be established when a 21 unit is brought "Unit-Online". Causes can be 22 eliminated - possibly allowing the unit to cease 23 being Data Safety Write Protected - while the unit 24 remains "Unit-Online". However, the server can only 25 establish a new cause for the unit to be Data Safety 26 Write Protected by forcing the unit to be 27 "Unit-Available" to all class drivers. Thus class 28 drivers are guaranteed that a unit will not 29 spontaneously become Data Safety Write Protected 30 while the unit is "Unit-Online". 31 This flag must be valid when the tape unit is 32 "Unit-Online". 33 Enhanced Write Error Recovery 34 A non-host settable characteristic, set only if the 35 tape unit supports the "Enable Re-write Error 36 Recovery" command modifier on WRITE commands. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-27 GET UNIT STATUS Command 8 November 1987 1 This flag must be valid when the returned Unit 2 Identifier is non-zero. 3 Hardware Write Protect 4 A non-host settable characteristic, set if the tape 5 unit's write protect mechanism is activated, causing 6 the tape unit to be hardware write protected. 7 This flag must be valid when the tape unit is either 8 "Unit-Available" or "Unit-Online". 9 Software Write Protect 10 A host settable characteristic, enabled or disabled 11 either with the ONLINE or SET UNIT CHARACTERISTICS 12 commands. If set, the tape unit will act as though 13 it were hardware write protected. If clear, the 14 tape unit is virtually write enabled. This flag 15 cannot override hardware write protection. 16 This flag must be valid when the tape unit is 17 "Unit-Online". 18 Suppress Caching 19 A host settable characteristic, enabled or disabled, 20 either with an ONLINE or SET UNIT CHARACTERISTICS 21 command. If set, caching using the TMSCP 22 controller's volatile cache is disabled for this 23 unit. If clear, read-ahead caching using the TMSCP 24 controller's volatile cache is enabled for this 25 unit. Equivalent to specifying the "Suppress 26 Caching" modifier on all "read" type commands for 27 which it is legal. 28 This flag must be valid when the tape unit is 29 "Unit-Online". 30 Variable Speed Mode Suppression 31 A host settable characteristic, enabled or disabled 32 either with an ONLINE or SET UNIT CHARACTERISTICS 33 command. If set, a variable speed tape unit's speed 34 change algorithm is disabled, the tape unit will 35 operate at a fixed speed. If clear, a variable *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-28 GET UNIT STATUS Command 8 November 1987 1 speed tape unit's speed change algorithm is enabled, 2 the tape unit's operating speed may vary. This flag 3 is always clear for a fixed speed tape unit. 4 This flag must be valid when the tape unit is 5 "Unit-Online". 6 Variable Speed Unit 7 A non-host settable characteristic, set only if the 8 tape unit has variable speed capability. A 9 controller or formatter directed automatic speed 10 change algorithm (based on host data throughput) is 11 employed for tape units with this capability. 12 This flag must be valid when the returned Unit 13 Identifier is non-zero. 14 Write Back 15 A host settable characteristic, enabled or disabled 16 either with an ONLINE or SET UNIT CHARACTERISTICS 17 command. If set, write-back caching using the 18 controller's volatile cache is enabled for this 19 unit. Equivalent to specifying the "Immediate 20 Completion" modifier on all "write" type commands 21 for which it is legal. 22 This flag must be valid when the tape unit is 23 "Unit-Online". 24 Unit Identifier: 25 This field identifies a unique device number for the 26 tape unit as defined in the MSCP specification. This 27 field must be valid and non-zero when the unit is in any 28 of the following states: 29 "Unit-Available", all sub-states. 30 "Unit-Online", all sub-states. 31 "Unit-Offline", the following sub-states: 32 "Duplicate unit number" 33 "Exclusive use" 34 "No media mounted or disabled via switch 35 setting" *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-29 GET UNIT STATUS Command 8 November 1987 1 Media Type Identifier: 2 This field identifies the type of media used by this 3 tape unit, for use by Host Generic device allocation 4 mechanisms. 5 This field must be valid when the returned Unit 6 Identifier is non-zero. 7 Format: 8 The tape format currently employed on the tape unit. 9 The value in the low byte of this field is a binary bit 10 representing the nominal or formatted density of tape. 11 The high byte is a code value associated with the media 12 type. The high byte always has the same value for a 13 given unit. (Refer to Appendix C, Tables C-1 and C-2.) 14 This field must be valid when the tape unit is 15 "Unit-Online". 16 Speed: 17 The value in this field is expressed as the 18 instantaneous data rate in kilo-bytes per second. 19 For 9-track tape units it is computed, without rounding, 20 as follows: 21 Speed = ( ips * bpi) / 1000 22 where: 23 ips = Tape Transport speed in Inches per Second 24 bpi = nominal recording format frame density in 25 linear bits per inch 26 For a fixed speed tape unit, the value returned will 27 indicate the speed at which the tape unit operates. 28 The value returned for a variable speed tape unit is 29 dependent upon the state of the "variable speed mode 30 suppression" unit flag. If that flag is set, the value 31 returned will indicate the tape unit's fixed speed set 32 via an ONLINE or SET UNIT CHARACTERISTICS command. If 33 clear, the value returned will indicate the highest 34 speed for the current density, unless the tape unit is 35 actively performing I/O. Then the value is the current *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-30 GET UNIT STATUS Command 8 November 1987 1 operating speed, set by the speed change algorithm. 2 This field must be valid when the tape unit is 3 "Unit-Online". 4 Format Menu: 5 The high byte of this field is a code value associated 6 with the media type. This value is constant for a given 7 device. The low byte of this field contains a menu of 8 available tape unit operating formats expressed as 9 binary bit values. Each bit in the low byte represents 10 unique nominal or formatted density in bits per linear 11 inch of tape. (Refer to Appendix C, Tables C-1 and 12 C-2.) 13 This field must be valid when the returned Unit 14 Identifier is non-zero. 15 Freecap: 16 This field indicates the amount of media currently 17 available for writing as a function of the total media 18 size. 19 The following values of this field have special meaning. 20 If the value is reported, it must be for that meaning. 21 If one of the meanings is to be reported, it must be 22 with the corresponding value. Devices are allowed to 23 always report zero in this field. 24 0 The amount of media available is unknown. This 25 is for backwards compatibility with existing 26 TMSCP devices. 27 1 There is no space available before PEOT. 28 251 The entire media is available (i.e., new tape). 29 252-255 Reserved. 30 Values from 2 to 251 have an approximately linear 31 relationship to the fraction of free capacity available. 32 A larger value indicates a larger free capacity. 33 NOTE 34 Due to bad spots, extended gaps due to 35 streaming, or other format and device dependent 36 anomalies, the value of this field is almost *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-31 GET UNIT STATUS Command 8 November 1987 1 certainly optimistic. Because of these 2 anomalies, the controller may, at its option, 3 choose not to use the full 8 bits of resolution 4 in reporting free capacity. The controller may 5 also, at its option, attempt to account for 6 these anomalies. 7 Devices reporting values other than zero in this field 8 must document in their device specification the 9 algorithm that is used to generate the value. 10 It is strongly recommended that all new devices support 11 this feature. 12 This field must be valid when the tape unit is 13 "Unit-Online". 14 Fsvrsn: 15 The formatter's software, firmware, or microcode 16 revision number. Always zero if the product's 17 development and maintainability groups determine that 18 there is no benefit from supporting machine readable 19 revision numbers. 20 This field must be valid when the returned Unit 21 Identifier is non-zero. 22 Fhvrsn: 23 The formatter's hardware revision number. Always zero 24 if the product's development and maintainability groups 25 determine that there is no benefit from supporting 26 machine readable revision numbers. 27 This field must be valid when the returned Unit 28 Identifier is non-zero. 29 Usvrsn: 30 The unit's software, firmware, or microcode revision 31 number. Always zero if the product's development and 32 maintainability groups determine that there is no 33 benefit from supporting machine readable revision 34 numbers. 35 This field must be valid when the returned Unit 36 Identifier is non-zero. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-32 GET UNIT STATUS Command 8 November 1987 1 Uhvrsn: 2 The unit's hardware revision number. Always zero if the 3 product's development and maintainability groups 4 determine that there is no benefit from supporting 5 machine readable revision numbers. 6 This field must be valid when the returned Unit 7 Identifier is non-zero. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-33 GET UNIT STATUS Command 8 November 1987 1 5.7.3 Description 2 The GET UNIT STATUS command returns the current connection state 3 of a tape unit as well as unit characteristics. Note that the 4 validity of the unit characteristics is dependent on the current 5 connection state. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-34 ONLINE Command 8 November 1987 1 5.8 ONLINE Command 2 Command Category: 3 Sequential 4 5.8.1 Command Message Format 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 | reserved | unit number | 10 +---------------+-------+-------+ 11 | modifiers | rsvd | opcode| 12 +---------------+-------+-------+ 13 | unit flags | reserved | 14 +---------------+---------------+ 15 | | 16 +--- ---+ 17 | reserved | 18 +--- ---+ 19 | | 20 +-------------------------------+ 21 | device dependent parameters | 22 +---------------+---------------+ 23 | speed | format | 24 +---------------+---------------+ 25 Allowable Modifiers: 26 Clear Cached Data Lost 27 Clear Serious Exception 28 Enable Set Write Protect 29 Causes the "Write Protect" unit flag to be host 30 settable. This modifier causes the state of the 31 "Software Write Protect" unit flag to be copied to 32 the controller's software write protect flag for 33 this tape unit. 34 Exclusive Access *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-35 ONLINE Command 8 November 1987 1 Unit Flags: 2 If the tape unit is already "Unit-Online" to any class 3 driver, then the class driver must specify the same 4 values for controller supported host settable unit flags 5 as are currently in effect on the tape unit. The 6 controller may or may not, at its option, check that the 7 flag values are the same. If it does check, then it 8 must return an Invalid Command (subcode "Invalid Unit 9 Flags") status code if they are different. If the 10 controller does not check that they are the same, then 11 it must ignore the unit flags specified by the class 12 driver and preserve the flag settings currently in 13 effect on the tape unit. Note that this checking 14 becomes mandatory, rather than optional, if the 15 controller provides Multi-Host Support. 16 Refer to section 5.11.1 for a description of individual 17 flag usage. 18 Device Dependent Parameters: 19 Format: 20 Speed: 21 Refer to section 5.11.1 for a description of the usage 22 of these fields. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-36 ONLINE Command 8 November 1987 1 5.8.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 | unit flags |multi-unit code| 11 +---------------+---------------+ 12 | reserved | 13 +-------------------------------+ 14 | | 15 +--- unit identifier ---+ 16 | | 17 +-------------------------------+ 18 | media type identifier | 19 +---------------+---------------+ 20 | speed | format | 21 +---------------+---------------+ 22 | maximum write byte count | 23 +---------------+---------------+ 24 | reserved | noise record | 25 +---------------+---------------+ 26 Status Codes: 27 Success 28 (subcode "Normal") - tape unit brought online. 29 (subcode "Already Online") 30 tape unit is already online, state and 31 characteristics are not altered. When the tape 32 unit is already "Unit-Online", the controller 33 merely returns the Unit Characteristics in the 34 End message with this status flag bit set, 35 without performing any other actions. 36 (subcode "Read-only Volume Format") 37 The unit only implements read access for the 38 format of the volume mounted in the unit. For 39 example, a single-density volume is mounted in a 40 double-density drive that can read but not write *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-37 ONLINE Command 8 November 1987 1 it. Note that the unit will be Data Safety 2 Write Protected whenever this subcode is 3 returned. 4 Command Aborted 5 The tape unit's state is unchanged. The host must 6 assume that the return characteristics are invalid, 7 since the tape unit may be "Unit-Offline". 8 Controller Error 9 Drive Error 10 Exclusive Access 11 Formatter Error 12 Invalid Command 13 (subcode "Invalid Unit Flags") 14 The tape unit is already "Unit-Online" and those 15 host settable characteristics that are supported 16 by the controller are different from those 17 currently in effect on the tape unit. The tape 18 unit remains "Unit-Online" and the host settable 19 Unit Flags are NOT changed. Note that the 20 controller returns an Invalid Command End 21 message if a reserved Unit Flag is set. 22 (subcode "Invalid Format") 23 More than one Format was specified, or the 24 Format specified is not supported by the tape 25 unit, or the tape unit is already "Unit-Online" 26 and the value supplied in the Format field was 27 neither a zero nor the Format specified by the 28 host that initially brought the tape unit into 29 the "Unit-Online" state. The original format 30 selected remains unchanged. 31 Media Format Error 32 Unit-Offline 33 Flags: 34 Cached Data Lost *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-38 ONLINE Command 8 November 1987 1 EOT Encountered 2 Error Log Generated 3 Position Lost 4 Serious Exception 5 Multi-Unit code: 6 Unit Flags: 7 Unit Identifier: 8 Media Type Identifier: 9 Format: 10 Speed: 11 Refer to section 5.7.2 for descriptions of these fields. 12 Recommended Maximum WRITE Byte Count: 13 The largest size record likely to have acceptable data 14 reliability statistics, considering the selected 15 recording mode. This limit is not enforced by the 16 controller although the controller does enforce a 17 maximum controller dependent limit. 18 This field must be valid when the tape unit is 19 "Unit-Online". 20 Noise Record: 21 A non-host-settable characteristic advising the host of 22 the record length at or below which legitimate data 23 records are subject to confusion with noise records. If 24 zero, the tape unit's recording technology is immune to 25 noise records. 26 This field must be valid when the tape unit is 27 "Unit-Online". *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-39 ONLINE Command 8 November 1987 1 5.8.3 Description 2 The ONLINE Command is used to bring a tape unit into the 3 "Unit-Online" state, set host settable unit characteristics, and 4 obtain those unit characteristics that are essential for proper 5 class driver operation. 6 Host settable characteristics are set exactly as if a SET UNIT 7 CHARACTERISTICS command was issued (refer to section 5.11). Host 8 settable characteristics are not set until tape unit specific 9 validity checks have succeeded, if applicable. The host settable 10 characteristics are not altered if the tape unit is already 11 "Unit-Online". 12 If the tape unit is not already "Unit-Online" to another host, 13 then a successful ONLINE command will position the tape to BOT, 14 if it is not already there. If the tape unit is already 15 "Unit-Online" to another host, then a successful ONLINE command 16 will not alter the position of the tape. 17 The actions of this command with the Exclusive Access modifier 18 are described in the MSCP specification. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-40 READ Command 8 November 1987 1 5.9 READ Command 2 Command Category: 3 Sequential 4 5.9.1 Command Message Format 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 | reserved | unit number | 10 +---------------+-------+-------+ 11 | modifiers | rsvd | opcode| 12 +---------------+-------+-------+ 13 | byte count | 14 +-------------------------------+ 15 | | 16 +--- buffer ---+ 17 | | 18 +--- descriptor ---+ 19 | | 20 +-------------------------------+ 21 Allowable Modifiers: 22 Clear Cached Data Lost 23 Clear Serious Exception 24 Compare 25 Reverse (see section 3.3.1.1) 26 Suppress Caching 27 Suppress Error Correction 28 Suppress Error Recovery *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-41 READ Command 8 November 1987 1 5.9.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 | byte count (host transfer) | 11 +-------------------------------+ 12 | | 13 +---- ----+ 14 | undefined | 15 +---- ----+ 16 | | 17 +-------------------------------+ 18 | position (object count) | 19 +-------------------------------+ 20 | byte count (tape record) | 21 +-------------------------------+ 22 Status Codes: 23 Success 24 (subcode "Normal") 25 BOT Encountered 26 Command Aborted 27 Compare Error 28 Controller Error 29 Data Error 30 Drive Error 31 Formatter Error 32 Host Buffer Access Error 33 Invalid Command 34 (subcode "Invalid Byte Count") 35 (subcode "Illegal Modifier") (see section 3.3.1.1) 36 Position Lost 37 Record Data Truncated 38 Serious Exception 39 Tape Mark Encountered 40 Unit-Available 41 Unit-Offline *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-42 READ Command 8 November 1987 1 Flags: 2 Cached Data Lost 3 EOT Encountered 4 Error Log Generated 5 Position Lost 6 Serious Exception *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-43 READ Command 8 November 1987 1 5.9.3 Description 2 Beginning at the current position, data is read from a record on 3 the magnetic tape loaded on the specified unit and transferred to 4 the specified host buffer. 5 Refer to sections 3.3, 3.4, and 3.5 for additional detail. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-44 REPOSITION Command 8 November 1987 1 5.10 REPOSITION Command 2 Command Category: 3 Sequential (REWIND to BOT variation is optionally 4 Immediate Completion) 5 5.10.1 Command Message Format 6 31 0 7 +-------------------------------+ 8 | command reference number | 9 +---------------+---------------+ 10 | reserved | unit number | 11 +---------------+-------+-------+ 12 | modifiers | rsvd | opcode| 13 +---------------+-------+-------+ 14 | record count or object count | 15 +-------------------------------+ 16 | tape mark count | 17 +-------------------------------+ 18 Allowable Modifiers: 19 Clear Cached Data Lost 20 Clear Serious Exception 21 Detect LEOT 22 If this modifier is set, and the "Reverse" modifier 23 is clear, and either or both a Skip Tape Mark or a 24 Skip Record positioning function is also enabled, 25 the automatic detection of LEOT (i.e., two adjacent 26 tape marks with no intervening records), as 27 described in section 5.10.3, is enabled. 28 Immediate Completion 29 If this modifier is set, and only the Rewind to BOT 30 positioning function is enabled, the Rewind to BOT 31 will be executed in an asynchronous manner. Refer 32 to section 3.2.1.1 for additional detail. 33 Object Count 34 The setting of this modifier and the value specified 35 in the "record count or object count" and the "tape 36 mark count" command message fields selects the *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-45 REPOSITION Command 8 November 1987 1 skipping operation to be performed: 2 o If set, and the "record count or object count" 3 field is non-zero, the Skip Tape Object (both 4 records and tape marks) positioning function is 5 enabled. 6 o If clear, and the "record count or object count" 7 field is non-zero, the Skip Record positioning 8 function is enabled. 9 o If clear, and the "tape mark count" field is 10 non-zero, the Skip Tape Mark positioning 11 function is enabled. 12 All of the positioning functions mentioned above are 13 described in section 5.10.3. 14 Reverse 15 Rewind 16 If this modifier is set, the rewind to BOT 17 positioning function, described in section 5.10.3, 18 is enabled. 19 Suppress Caching 20 Suppress Error Correction 21 Suppress Error Recovery *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-46 REPOSITION Command 8 November 1987 1 5.10.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 | records skipped/undefined | 11 +-------------------------------+ 12 | tape marks skipped/undefined | 13 +-------------------------------+ 14 | | 15 +---- undefined ----+ 16 | | 17 +-------------------------------+ 18 | position (object count) | 19 +-------------------------------+ 20 Status Codes: 21 Success 22 (subcode "Normal") 23 BOT Encountered 24 Command Aborted 25 Controller Error 26 Data Error 27 (subcode "Long Gap Encountered") 28 Drive Error 29 Formatter Error 30 LEOT Encountered 31 Position Lost 32 Serious Exception 33 Tape Mark Encountered 34 Unit-Available 35 Unit-Offline 36 Flags: 37 Cached Data Lost 38 EOT Encountered 39 Error Log Generated *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-47 REPOSITION Command 8 November 1987 1 Position Lost 2 Serious Exception *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-48 REPOSITION Command 8 November 1987 1 5.10.3 Description 2 This command is used to position the tape from one location to 3 another. 4 For additional information related to the operation of the 5 REPOSITION command refer to the following: 6 o Chapter 2 Terminology, especially the definitions of: 7 > Record 8 > Tape Mark 9 > Object 10 > Record Gap 11 > Beginning-of-Tape (BOT) 12 > End-of-Tape (EOT) 13 > Logical End-of-Tape (LEOT) 14 o Sections 3.2 Command Categories And Execution Order, 15 3.2.1 Lengthy Command Considerations, 3.2.1.1 16 Synchronous Vs Asynchronous, and 3.2.1.2 Abort. 17 o Sections 3.3.1 (Tape Motion Command Operation) "read" 18 Type, 3.3.1.1 Direction, 3.3.1.2 BOT Handling, 3.3.1.3 19 EOT Handling, and 3.3.1.4 Tape Mark Handling. 20 o Section 3.4.2 Tape Format Employed. 21 o Section 3.5 General Error Processing and all associated 22 sub-sections. 23 o Sections 4.5.1 (End Message Format) Flags, 4.5.2 Status, 24 4.5.3 Status Codes; especially those listed in Section 25 5.10.2, and 4.5.6 Position (Object Count). 26 The manner in which the positioning operation is to be performed 27 is dictated by the state of the following command modifiers: 28 o "Object Count" 29 o "Rewind" 30 o "Reverse" 31 and the values supplied in the "tape mark count" and "record 32 count or object count" command message fields. 33 In addition, the following two special case modifiers affect the 34 manner in which the positioning operation will complete: *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-49 REPOSITION Command 8 November 1987 1 o "Immediate Completion" 2 o "Detect LEOT" 3 Four positioning functions are available for use: 4 o Rewind to BOT 5 o Skip Tape Mark 6 o Skip Record 7 o Skip Tape Object (i.e., both records and tape marks). 8 Either of the following mutually exclusive sets of combined 9 positioning functions can be specified in a single command 10 message: 11 o Rewind to BOT 12 o Skip Tape Mark 13 o Skip Record 14 or 15 o Rewind to BOT 16 o Skip Tape Object 17 When combined, the controller must execute the set of positioning 18 functions synchronously as a single atomic command. Furthermore, 19 the functions within a set must be executed in the sequential 20 order shown above, with the following conditional exceptions: 21 1. If the function which is next in line for execution is 22 not enabled the controller must continue execution with 23 the next function which is enabled (if any). 24 2. If a function is terminated due to the detection of an 25 error or a special condition (e.g., tape mark 26 unexpectedly encountered, LEOT condition satisfied, BOT 27 unexpectedly encountered, etc.) the controller must not 28 attempt to execute any remaining enabled functions. 29 3. If none of the functions are enabled the controller, as 30 implied, must take no positioning action. 31 The last case listed is actually considered an 32 additional function, a sequential no-operation. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-50 REPOSITION Command 8 November 1987 1 A model of operation for each of the available functions is 2 described below. Controller dependent algorithms formulated with 3 the intent of optimizing the positioning functions are expressly 4 permitted, provided the models of operation are not perturbed in 5 any manner. 6 NOTE 7 Occurrence of an error which prevents further 8 continuation of tape unit operation while the 9 controller is performing a positioning function 10 optimization may result in a tape position 11 outside the range of objects spanned by the 12 REPOSITION function. In this case the controller 13 must first report the error in the normal manner 14 and then place the tape unit in the "Position 15 Lost" state, if appropriate. 16 Table D-1 shows all the possible variations of the REPOSITION 17 command which can be specified. Table D-1 also depicts the 18 conditions under which the modifiers and count field values are 19 ignored. Those conditions are not addressed in the model of 20 operation descriptions. 21 o Rewind to BOT 22 The Rewind to BOT positioning function is enabled 23 when the "Rewind" modifier is set. 24 When this function is enabled and the tape is not 25 already resting at BOT, the controller starts tape 26 motion in the reverse direction and continues the 27 tape motion until either BOT is reached or an error 28 occurs. 29 If the "Immediate Completion" modifier is set and no 30 other positioning function is enabled the rewind to 31 BOT is completed in an asynchronous manner as 32 described in Section 3.2.1.1. 33 o Skip Tape Mark 34 The Skip Tape Mark positioning function is enabled 35 when the "Object Count" modifier is clear and the 36 "tape mark count" command message field is non-zero. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-51 REPOSITION Command 8 November 1987 1 When this function is enabled the controller starts 2 tape motion, in the direction indicated by the 3 "Reverse" modifier, and begins searching for the 4 occurrence of tape marks. 5 The controller continues the search until one of the 6 following occurs: 7 1. An error is detected (including BOT 8 Encountered). 9 2. A tape mark which satisfies the LEOT condition, 10 if LEOT detection was enabled (see discussion 11 below) is detected. 12 3. The number of tape marks specified in the "tape 13 mark count" command message field have been 14 found. 15 During the tape mark search the controller will keep 16 a count of the number of tape marks found (Note: 17 records found are not counted during the tape mark 18 search). 19 LEOT detection is enabled only if the "Reverse" 20 modifier is clear. If LEOT detection is enabled the 21 controller will determine that the tape mark just 22 found satisfies the LEOT condition if either of the 23 following is true: 24 1. The previous object found during the current 25 search was also a tape mark. 26 2. Based on context (the controller) saved 27 following execution of the last command which 28 caused tape motion, the tape was left positioned 29 forward (i.e., on the EOT side of BOT) of a tape 30 mark. 31 In the latter case the saved context must 32 specifically indicate that the last tape motion 33 command was one of the following: 34 a. An ACCESS, COMPARE HOST DATA, READ, or 35 REPOSITION (with Skip Record positioning 36 function enabled) command performed in the 37 forward direction, which terminated with a 38 status of Tape Mark Encountered. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-52 REPOSITION Command 8 November 1987 1 b. A REPOSITION (with Skip Tape Mark function 2 enabled and the Skip Record function 3 disabled) command performed in the forward 4 direction which completed successfully when 5 that tape mark was found. 6 The controller performs the following actions upon 7 detecting LEOT: 8 1. Stops tape motion. 9 2. Resumes tape motion in the reverse direction and 10 positions the tape to the record gap separating 11 the two adjacent tape marks. 12 3. Stops tape motion once again. 13 The controller must not add the tape mark which 14 satisfies the LEOT condition to the number of tape 15 marks found count. 16 o Skip Record 17 The Skip Record positioning function is enabled when 18 the "Object Count" modifier is clear and the "record 19 count or object count" command message field is 20 non-zero. 21 When this function is enabled the controller starts 22 tape motion (or continues tape motion if the Skip 23 Tape Mark function was just completed), in the 24 direction indicated by the "Reverse" modifier, and 25 begins searching for the occurrence of records. 26 The controller continues the search until one of the 27 following occurs: 28 1. An error is detected (including BOT 29 Encountered). 30 2. A tape mark is detected. 31 3. The number of records specified in the "record 32 count or object count" command message field 33 have been found. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-53 REPOSITION Command 8 November 1987 1 During the record search the controller will keep a 2 count of the number of records found. 3 The action the controller follows if the record 4 search is terminated by detecting a tape mark 5 depends on whether LEOT detection is enabled or 6 disabled: 7 o If LEOT Detection is disabled (i.e., "Detect 8 LEOT" modifier clear or "Reverse" modifier is 9 set, regardless of the setting of the "Detect 10 LEOT" modifier) the tape mark is considered as 11 having been unexpectedly encountered. In this 12 case the controller must add the unexpected tape 13 mark to the number of tape marks counted during 14 the immediately preceding Skip Tape Mark 15 function, or, set the tape mark count to one if 16 the Skip Tape Mark function was not enabled. 17 o If LEOT detection is enabled (i.e., the "Detect 18 LEOT" modifier is set and the "Reverse" modifier 19 is clear) the controller must determine whether 20 or not the tape mark satisfies the LEOT 21 condition as described in the Skip Tape Mark 22 function above. If LEOT was satisfied the 23 controller performs the LEOT detected actions, 24 again, as described in the Skip Tape Mark 25 function above. Otherwise, the tape mark is 26 unexpected and the controller performs the 27 unexpected tape mark actions described 28 immediately above. 29 o Skip Tape Object (i.e., both records and tape marks) 30 The Skip Tape Object positioning function is enabled 31 when the "Object Count" modifier is set and the 32 "record count or object count" command message field 33 is non-zero. 34 When this function is enabled the controller starts 35 tape motion, in the direction indicated by the 36 "Reverse" modifier, and begins searching for the 37 occurrence of tape objects. 38 The controller continues the search until one of the 39 following occurs: *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-54 REPOSITION Command 8 November 1987 1 1. An error is detected (including BOT 2 Encountered). 3 2. The number of tape objects specified in the 4 "record count or object count" command message 5 field have been found. 6 During the tape object search the controller need 7 not keep a count of the number of records and tape 8 marks found. 9 o Sequential No-operation 10 The Sequential No-operation is enabled when none of 11 the positioning functions are enabled. 12 The controller must not initiate any tape motion. 13 After executing the enabled functions to the fullest extent 14 possible (i.e., terminate execution due to the detection of an 15 error or special condition, or complete execution successfully by 16 satisfying the count value(s) etc.), the controller prepares a 17 REPOSITION command end message in standard MSCP/TMSCP fashion, 18 with exception of the following specific actions: 19 o Where a Rewind to BOT function with no other positioning 20 function enabled and the "immediate completion" modifier 21 clear was executed, the controller will set both the 22 "tape marks skipped" and "records skipped" fields to 23 zero. 24 o Where a Rewind to BOT function with no other positioning 25 function enabled and the "immediate completion" modifier 26 set was executed, the controller will set both the "tape 27 marks skipped" and "records skipped" fields to zero and 28 set the "status" field to Success (subcode "Normal"). 29 o Where a Skip Tape Mark positioning function was 30 executed, the controller will set the "tape marks 31 skipped" field equal to the number of tape marks found 32 during execution of the Skip Tape Mark function or as a 33 result of the subsequent Skip Record function 34 unexpectedly encountering a tape mark. If the Skip Tape 35 Mark function was not executed and a tape mark was not 36 unexpectedly encountered in the subsequent Skip Record 37 function the controller will set the "tape marks" field *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-55 REPOSITION Command 8 November 1987 1 to zero. 2 o Where a Skip Record positioning function was executed 3 the controller will set the "records skipped" field 4 equal to the number of records found value accumulated 5 during execution of the function. If the Skip Record 6 function was not executed the controller will set the 7 "records skipped" field to zero. 8 o If either a Skip Tape Mark or Skip Record positioning 9 function terminated due to detecting LEOT (as described 10 above) the controller will set the "status" field equal 11 to LEOT Detected. 12 o Where a Skip Object positioning function was executed 13 the controller may set the "records skipped" and "tape 14 marks skipped" fields to any value it chooses. (Those 15 fields are undefined in this case.) 16 o For a Sequential No-operation the controller will set 17 the "status" field to Success (subcode "Normal") and 18 both the "tape marks skipped" and "records skipped" 19 fields to zero. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-56 SET UNIT CHARACTERISTICS Command 8 November 1987 1 5.11 SET UNIT CHARACTERISTICS Command 2 Command Category: 3 Sequential 4 5.11.1 Command Message Format 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 | reserved | unit number | 10 +---------------+-------+-------+ 11 | modifiers | rsvd | opcode| 12 +---------------+-------+-------+ 13 | unit flags | reserved | 14 +---------------+---------------+ 15 | | 16 +--- ---+ 17 | reserved | 18 +--- ---+ 19 | | 20 +-------------------------------+ 21 | device dependent parameters | 22 +---------------+---------------+ 23 | speed | format | 24 +---------------+---------------+ 25 Allowable Modifiers: 26 Clear Cached Data Lost 27 Clear Serious Exception 28 Enable Set Write Protect 29 Exclusive Access 30 Unit Flags: 31 Caching Support 32 A non-host settable characteristic, set only if the 33 tape unit supports tape write-back caching. 34 This flag is invalid when the returned Unit 35 Identifier is zero. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-57 SET UNIT CHARACTERISTICS Command 8 November 1987 1 Compare Reads 2 If set, all READ commands will be verified with a 3 compare operation. Equivalent to specifying the 4 compare modifier on each such command. 5 Compare Writes 6 If set, then all WRITE commands will be verified 7 with a compare operation. Equivalent to specifying 8 the Compare modifier on each such command. 9 Enhanced Write Error Recovery 10 A non-host settable characteristic, set only if the 11 tape unit supports the "Enable Re-write Error 12 Recovery" command modifier on WRITE commands. 13 This flag is invalid when the returned Unit 14 Identifier is zero. 15 Software Write Protect (SWP) 16 If the SWP unit flag is set and the "Enable Set 17 Write Protect" command modifier is also set, the 18 tape unit will act as though it were Hardware Write 19 Protected. 20 If the SWP unit flag is clear and the "Enable Set 21 Write Protect" command modifier is set, the tape 22 unit is virtually write enabled. 23 This flag cannot override hardware write protection. 24 Suppress Caching 25 If set, caching using the TMSCP controller's 26 volatile cache is disabled for this unit. If clear, 27 read-ahead caching using the TMSCP controller's 28 volatile cache is enabled for this unit. Equivalent 29 to specifying the "Suppress Caching" command 30 modifier on all "read" type commands for which it is 31 legal. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-58 SET UNIT CHARACTERISTICS Command 8 November 1987 1 Variable Speed Mode Suppression 2 If set, a variable speed tape unit's speed change 3 algorithm is disabled. The tape unit speed is fixed 4 at the speed specified in the "speed" field 5 (described below). If clear, a variable speed tape 6 unit's speed change algorithm is enabled, the tape 7 unit's operating speed may vary. This flag is 8 ignored for a fixed speed tape unit. 9 Write Back 10 If set, write-back caching using the controller's 11 volatile cache is enabled for this unit. If clear, 12 write-back caching using the controller's volatile 13 cache is disabled for this unit. Equivalent to 14 specifying the "Immediate Completion" modifier on 15 all "write" type commands for which it is legal. 16 Device Dependent Parameters: 17 Device and/or controller dependent device tuning 18 parameters. The value zero in this field means that 19 default or normal tuning parameters should be used. 20 Non-zero values for this field should normally be 21 established through system-dependent appropriate means. 22 Examples of the use of this field include selecting 23 alternative optimization algorithms or enabling and 24 disabling automatic (online) diagnosis of the tape unit. 25 Format: 26 Assuming that the tape is positioned at BOT, the value 27 supplied in this field is the host suggested format to 28 be employed for tape unit operations (Refer to section 29 3.4.2 for related information). It can be a zero or a 30 binary bit value in the low byte representing the 31 density of the tape. If the value is zero, the highest 32 density format supported by the tape unit will be 33 employed. If the low byte is non-zero, then the high 34 byte must have the value corresponding to the media used 35 by the unit. See Appendix C, Tables C-1 and C-2 for 36 details. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-59 SET UNIT CHARACTERISTICS Command 8 November 1987 1 If the value is non-zero, but the high byte has the 2 wrong value, the command will be rejected with an 3 Invalid Command (subcode "Invalid Format") status code. 4 If the tape is not positioned at BOT, a zero value will 5 not cause the format to change from the currently 6 selected density. Furthermore, if the value is non-zero 7 the command will be rejected with an Invalid Command 8 (subcode "Invalid Format") status code. Refer to 9 sections 5.8.2 and 5.11.2 for additional Invalid Command 10 (subcode "Invalid Format") information. 11 Speed: 12 The speed field value is used to select the "fixed 13 speed" at which a variable speed tape unit will operate 14 when the "Variable Speed Mode Suppression" unit flag 15 (described above) is set in the command packet. The 16 speed field is ignored if that flag is clear or the tape 17 unit is not capable of variable speed operation. 18 The value supplied in this field is the host's 19 prediction of the maximum data transfer rate it is 20 capable of sustaining during data transfers to or from 21 the tape unit. It is expressed as the maximum data 22 transfer rate, in kilo-bytes per second, that can be 23 achieved using a particular tape speed and format. (For 24 9-track tape units, the actual data transfer rate 25 approaches this value as the record length becomes 26 arbitrarily large.) 27 For 9-track tape units it is computed, without rounding, 28 as follows: 29 Speed = ( ips * bpi ) / 1000 30 where: 31 ips = nominal tape transport speed in Inches per 32 Second 33 bpi = nominal recording format frame density in 34 linear Bits Per Inch (for nine track, actually Bytes 35 Per Inch) 36 The controller will automatically select the tape unit 37 speed, from those available on the tape unit, which best 38 accommodates the host's data transfer rate prediction. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-60 SET UNIT CHARACTERISTICS Command 8 November 1987 1 The following rules govern speed selection: 2 1. The tape unit speed will be set equal to the speed 3 which is closest to providing a maximum data 4 transfer rate at the currently employed format, 5 which is less than or equal to the value supplied. 6 2. The lowest possible tape unit speed will be selected 7 if the maximum data transfer rate at the currently 8 employed format of all available tape unit speeds is 9 greater than the value supplied. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-61 SET UNIT CHARACTERISTICS Command 8 November 1987 1 5.11.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 | unit flags |multi-unit code| 11 +---------------+---------------+ 12 | reserved | 13 +-------------------------------+ 14 | | 15 +---- unit identifier ----+ 16 | | 17 +-------------------------------+ 18 | media type identifier | 19 +---------------+---------------+ 20 | speed | format | 21 +---------------+---------------+ 22 | maximum write byte count | 23 +---------------+---------------+ 24 | reserved | noise record | 25 +---------------+---------------+ 26 Status Codes: 27 Success 28 (subcode "Normal") 29 The tape unit is "Unit-Online". 30 (subcode "Duplicate Unit Number") 31 Implies that the tape unit is "Unit-Online" but 32 that its unit number is identical to that of 33 some other tape unit known to the controller. 34 The tape unit will become "Unit-Offline", due to 35 the duplicate Unit Number, as soon as it ceases 36 to be "Unit-Online". *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-62 SET UNIT CHARACTERISTICS Command 8 November 1987 1 (subcode "Read-only Volume Format") 2 The unit only implements read access for the 3 format of the volume mounted in the unit. For 4 example, a single-density volume is mounted in a 5 double-density drive that can read but not write 6 it. Note that the unit will be Data Safety 7 Write Protected whenever this subcode is 8 returned. 9 Command Aborted 10 The tape unit state is unchanged. The host must 11 assume that the returned unit characteristics are 12 invalid, since the unit may be "Unit-Offline". 13 Controller Error 14 Drive Error 15 Formatter Error 16 Invalid Command 17 (subcode "Invalid Format") 18 More than one Format was specified, or the 19 Format specified is not supported by the 20 specified unit, or the magnetic tape loaded on 21 the tape unit was not positioned at BOT. 22 Unit-Available 23 Unit-Offline 24 Flags: 25 Cached Data Lost 26 EOT Encountered 27 Error Log Generated 28 Exclusive Access 29 Position Lost 30 Serious Exception 31 Multi-Unit code: 32 Unit Flags: 33 Unit Identifier: 34 Media Type Identifier: 35 Format: 36 Speed: *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-63 SET UNIT CHARACTERISTICS Command 8 November 1987 1 Refer to section 5.7.2 for a description of these 2 fields. 3 Recommended Maximum WRITE Byte Count: 4 Noise Record: 5 Refer to section 5.8.2 for a description of these 6 fields. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-64 SET UNIT CHARACTERISTICS Command 8 November 1987 1 5.11.3 Description 2 The SET UNIT CHARACTERISTICS Command is used to set host-settable 3 unit characteristics and to obtain those unit characteristics 4 essential for proper class driver operation. 5 Successful execution of this command never alters the tape unit's 6 host-relative connection state ("Unit-Online", etc.). 7 Unsuccessful execution leaves the tape unit in either the 8 "Unit-Available" or "Unit-Offline" states. 9 Setting host settable characteristics for a tape unit that is 10 "Unit-Offline" or "Unit Available" has no effect. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-65 WRITE Command 8 November 1987 1 5.12 WRITE Command 2 Command Category: 3 Sequential (optionally Immediate Completion) 4 5.12.1 Command Message Format 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 | reserved | unit number | 10 +---------------+-------+-------+ 11 | modifiers | rsvd | opcode| 12 +---------------+-------+-------+ 13 | byte count | 14 +-------------------------------+ 15 | | 16 +--- buffer ---+ 17 | | 18 +--- descriptor ---+ 19 | | 20 +-------------------------------+ 21 Allowable Modifiers: 22 Clear Cached Data Lost 23 Clear Serious Exception 24 Compare 25 Enable Re-write Error Recovery 26 This modifier may not be set in conjunction with the 27 "Suppress Error Recovery" command modifier and is 28 therefore treated as a reserved field. The TMSCP 29 controller must return an Invalid Command (subcode 30 "Invalid Modifiers") status code if both the 31 "Suppress Error Recovery" command modifier and the 32 "Enable Re-write Error Recovery" command modifier 33 are set in the same command (see section 3.5.5.2). 34 Immediate Completion 35 If this modifier is set, this command may be 36 executed as a "write-back" caching enabled "write" 37 type command. Refer to section 3.6.1 for complete 38 details. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-66 WRITE Command 8 November 1987 1 Suppress Error Correction 2 Suppress Error Recovery 3 This modifier may not be set in conjunction with the 4 "Enable Re-write Error Recovery" command modifier 5 and is therefore treated as a reserved field. The 6 TMSCP controller must return an Invalid Command 7 (subcode "Invalid Modifiers") status code if both 8 the "Suppress Error Recovery" command modifier and 9 the "Enable Re-write Error Recovery" command 10 modifier are set in the same command (see section 11 3.5.5.2). *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-67 WRITE Command 8 November 1987 1 5.12.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 | byte count (host transfer) | 11 +-------------------------------+ 12 | | 13 +---- ----+ 14 | undefined | 15 +---- ----+ 16 | | 17 +-------------------------------+ 18 | position (object count) | 19 +-------------------------------+ 20 | byte count (tape record) | 21 +-------------------------------+ 22 Status Codes: 23 Success 24 (subcode "Normal") 25 (subcode "EOT Encountered") 26 Command Aborted 27 Compare Error 28 Controller Error 29 Data Error 30 Drive Error 31 Formatter Error 32 Host Buffer Access Error 33 Invalid Command 34 (subcode "Invalid Byte Count") 35 Position Lost 36 Serious Exception 37 Unit-Available 38 Unit-Offline 39 Write-Protected 40 (subcode "Unit is Hardware Write Protected") *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-68 WRITE Command 8 November 1987 1 (subcode "Unit is Software Write Protected") 2 (subcode "Unit is Data Safety Write Protected") 3 Flags: 4 Cached Data Lost 5 EOT Encountered 6 Error Log Generated 7 Position Lost 8 Serious Exception *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-69 WRITE Command 8 November 1987 1 5.12.3 Description 2 Beginning at the current position, data is written from the host 3 buffer to the magnetic tape in record form. 4 Refer to sections 3.3, 3.4, and 3.5 for additional detail. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-70 WRITE TAPE MARK Command 8 November 1987 1 5.13 WRITE TAPE MARK Command 2 Command Category: 3 Sequential (optionally Immediate Completion) 4 5.13.1 Command Message Format 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 | reserved | unit number | 10 +---------------+-------+-------+ 11 | modifiers | rsvd | opcode| 12 +---------------+-------+-------+ 13 Allowable Modifiers: 14 Clear Cached Data Lost 15 Clear Serious Exception 16 Immediate Completion 17 If this modifier is set, this command may be 18 executed as a "write-back" caching enabled "write" 19 type command. Refer to section 3.6.1 for complete 20 details. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-71 WRITE TAPE MARK Command 8 November 1987 1 5.13.2 End Message Format 2 31 0 3 +-------------------------------+ 4 | command reference number | 5 +---------------+---------------+ 6 |sequence number| unit number | 7 +---------------+-------+-------+ 8 | status | flags |endcode| 9 +---------------+-------+-------+ 10 | | 11 +---- ----+ 12 | | 13 +--- undefined ---+ 14 | | 15 +---- ----+ 16 | | 17 +-------------------------------+ 18 | position (object count) | 19 +-------------------------------+ 20 Status Codes: 21 Success 22 (subcode "Normal") 23 (subcode "EOT Encountered") 24 Command Aborted 25 Controller Error 26 Data Error 27 Drive Error 28 | Formatter Error 29 Position Lost 30 Serious Exception 31 Unit-Available 32 Unit-Offline 33 Write-Protected 34 (subcode "Unit is Hardware Write Protected") 35 (subcode "Unit is Software Write Protected") 36 (subcode "Unit is Data Safety Write Protected") 37 Flags: 38 Cached Data Lost 39 EOT Encountered *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-72 WRITE TAPE MARK Command 8 November 1987 1 Error Log Generated 2 Position Lost 3 Serious Exception *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP COMMAND DESCRIPTIONS Page 5-73 WRITE TAPE MARK Command 8 November 1987 1 5.13.3 Description 2 A tape mark is written to the specified unit beginning at the 3 current position. 4 Refer to sections 3.3 and 3.5 for additional detail. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP ERROR LOG MESSAGES Page 6-1 8 November 1987 1 CHAPTER 6 2 TMSCP ERROR LOG MESSAGES 3 6.1 TMSCP Error Log Message Format 4 For a detailed description of error log message handling, refer 5 to MSCP. 6 The "volume serial number" field of the MSCP generic error log 7 message format is used as the "Position (object count)" field in 8 TMSCP. 9 The following error log message formats are supported by TMSCP, 10 but described in MSCP: 11 o Controller Errors 12 o Memory Errors 13 The subsections which follow describe TMSCP specific error log 14 formats. Note that where an STI response is included in the 15 error log format the response code and checksum bytes of the 16 response are not returned by the controller. Refer to the STI 17 specification for a description of the individual STI responses. 18 Fields common to the TMSCP error log messages are described here: 19 o position (object count) 20 "position (object count)" at which the error 21 occurred. This value may not necessarily reflect 22 the actual object count since certain errors can 23 result in a position lost condition. In that case, 24 the last known good object count will be specified. 25 o fsvrsn 26 Formatter software, firmware, or microcode revision 27 number. Always zero if the development and 28 maintainability groups for a product determine that 29 there is no benefit from supporting machine readable 30 revision numbers. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP ERROR LOG MESSAGES Page 6-2 TMSCP Error Log Message Format 8 November 1987 1 o fhvrsn 2 Formatter hardware revision number. Always zero if 3 the development and maintainability groups for a 4 product determine that there is no benefit from 5 supporting machine readable revision numbers. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP ERROR LOG MESSAGES Page 6-3 TMSCP Error Log Message Format 8 November 1987 1 6.1.1 Tape Errors 2 The following format is used to report generic tape errors, 3 including errors that occur during a tape data transfer 4 operation. 5 31 0 6 +-------------------------------+ 7 | command reference number | 8 +---------------+---------------+ 9 |sequence number| unit number | 10 +---------------+-------+-------+ 11 | event code | flags | format| 12 +---------------+-------+-------+ 13 | | 14 +--- controller identifier ---+ 15 | | 16 +---------------+-------+-------+ 17 |multi-unit code| chvrsn| csvrsn| 18 +---------------+-------+-------+ 19 | | 20 +--- unit identifier ---+ 21 | | 22 +-------+-------+-------+-------+ 23 | retry | level | uhvrsn| usvrsn| 24 +-------+-------+-------+-------+ 25 | position (object count) | 26 +---------------+-------+-------+ 27 | reserved | fhvrsn| fsvrsn| 28 +---------------+-------+-------+ 29 | | 30 / device / 31 / dependent information / 32 / (optional) / 33 | | 34 +-------------------------------+ 35 Level/Retry: 36 The error recovery level and retry count of the most 37 recent attempt at the transfer. Note that these values 38 always identify the last attempt -- i.e., the attempt 39 that succeeded or the last attempt before giving up. 40 Refer to MSCP for more detail on the Level and Retry 41 fields. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP ERROR LOG MESSAGES Page 6-4 TMSCP Error Log Message Format 8 November 1987 1 Device Dependent Information: 2 An optional, variable length field containing device 3 dependent information. The length of this field is 4 implied by the total length of the error log message, 5 passed to the class driver by the port driver. The 6 contents of the field must be described in the 7 functional specification of any device providing this 8 field. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP ERROR LOG MESSAGES Page 6-5 TMSCP Error Log Message Format 8 November 1987 1 6.1.2 STI Communication Or Command Failures 2 The following format is used by STI Tape Controllers to report 3 STI communication or command failures. Note that the controller 4 may attempt several retries. A separate error log message will 5 be generated for each attempt that fails. 6 31 0 7 +-------------------------------+ 8 | command reference number | 9 +---------------+---------------+ 10 |sequence number| unit number | 11 +---------------+-------+-------+ 12 | event code | flags | format| 13 +---------------+-------+-------+ 14 | | 15 +--- controller identifier ---+ 16 | | 17 +---------------+-------+-------+ 18 |multi-unit code| chvrsn| csvrsn| 19 +---------------+-------+-------+ 20 | | 21 +--- unit identifier ---+ 22 | | 23 +---------------+-------+-------+ 24 | reserved | uhvrsn| usvrsn| 25 +---------------+-------+-------+ 26 | position (object count) | 27 +---------------+-------+-------+ 28 | reserved | fhvrsn| fsvrsn| 29 +---------------+-------+-------+ 30 | | 31 +--- STI UNSUCCESSFUL ---+ 32 | Response | 33 +--- 12 bytes ---+ 34 | | 35 +-------------------------------+ 36 STI UNSUCCESSFUL Response: 37 Twelve bytes of information received from the formatter 38 as an UNSUCCESSFUL response, or in response to an STI 39 GET SUMMARY STATUS command (the format is identical). *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP ERROR LOG MESSAGES Page 6-6 TMSCP Error Log Message Format 8 November 1987 1 6.1.3 STI Formatter Error Log 2 The following format is used by STI Tape Controllers to return 3 formatter requested error logs. 4 31 0 5 +-------------------------------+ 6 | command reference number | 7 +---------------+---------------+ 8 |sequence number| unit number | 9 +---------------+-------+-------+ 10 | event code | flags | format| 11 +---------------+-------+-------+ 12 | | 13 +--- controller identifier ---+ 14 | | 15 +---------------+-------+-------+ 16 |multi-unit code| chvrsn| csvrsn| 17 +---------------+-------+-------+ 18 | | 19 +--- unit identifier ---+ 20 | | 21 +---------------+-------+-------+ 22 | reserved | uhvrsn| usvrsn| 23 +---------------+-------+-------+ 24 | position (object count) | 25 +---------------+-------+-------+ 26 | reserved | fhvrsn| fsvrsn| 27 +---------------+-------+-------+ 28 | | 29 +--- STI GET FORMATTER ---+ 30 / ERROR LOG Response / 31 +--- 20 bytes ---+ 32 | | 33 +-------------------------------+ 34 STI GET FORMATTER ERROR LOG Response: 35 Twenty bytes of information received from the formatter 36 in response to an STI GET FORMATTER ERROR LOG command. 37 Note that the format of this information is formatter 38 and error type dependent, and will therefore vary in 39 length and content. If the information received from 40 the formatter is less than twenty bytes, the controller 41 will zero fill the remaining unused bytes of the error 42 log message. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 TMSCP ERROR LOG MESSAGES Page 6-7 TMSCP Error Log Message Format 8 November 1987 1 6.1.4 STI Drive Error Log 2 The following format is used by STI Tape Controllers to return 3 drive requested error logs. 4 31 0 5 +-------------------------------+ 6 | command reference number | 7 +---------------+---------------+ 8 |sequence number| unit number | 9 +---------------+-------+-------+ 10 | event code | flags | format| 11 +---------------+-------+-------+ 12 | | 13 +--- controller identifier ---+ 14 | | 15 +---------------+-------+-------+ 16 |multi-unit code| chvrsn| csvrsn| 17 +---------------+-------+-------+ 18 | | 19 +--- unit identifier ---+ 20 | | 21 +---------------+-------+-------+ 22 | reserved | uhvrsn| usvrsn| 23 +---------------+-------+-------+ 24 | position (object count) | 25 +---------------+-------+-------+ 26 | reserved | fhvrsn| fsvrsn| 27 +---------------+-------+-------+ 28 | | 29 +--- STI GET EXTENDED ---+ 30 / DRIVE STATUS Response / 31 +--- 62 bytes ---+ 32 | | 33 +-------------------------------+ 34 STI GET EXTENDED DRIVE STATUS Response: 35 Sixty two bytes of information received from the 36 formatter in response to an STI GET EXTENDED DRIVE 37 STATUS command. Note that the format of this 38 information is drive and error type dependent, and will 39 therefore vary in length and content. If the 40 information received from the drive is less than sixty 41 two bytes, the controller will zero fill the remaining 42 unused bytes of the error log message. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 OPCODE, FLAG AND OFFSET DEFINITIONS Page A-1 8 November 1987 1 APPENDIX A 2 OPCODE, FLAG AND OFFSET DEFINITIONS 3 Table A-1: Control Message Opcodes 4 +--------------------+--------------------------+-----------------------------------------+ 5 | Opcode Value | | | 6 | (See note 1) | Preferred Mnemonics | | 7 |------+------+------+--------+-----------------+ Control Message Type | 8 | Dec. | Oct. | Hex. | 16 bit | 32 bit | | 9 +------+------+------+--------+-----------------+-----------------------------------------+ 10 | 0 | 00 | 00 | - | - | reserved - must not be assigned | 11 +------+------+------+--------+-----------------+-----------------------------------------+ 12 | Standard Command Messages (See note 2): | | 13 | 1 | 01 | 01 | OP.ABO | MSCP$K_OP_ABORT | ABORT | 14 | 16 | 20 | 10 | OP.ACC | MSCP$K_OP_ACCES | ACCESS | 15 | 8 | 10 | 08 | OP.AVL | MSCP$K_OP_AVAIL | AVAILABLE | 16 | 32 | 40 | 20 | OP.CMP | MSCP$K_OP_COMP | COMPARE HOST DATA | 17 | 11 | 13 | 0B | OP.DAP | MSCP$K_OP_DTACP | DETERMINE ACCESS PATHS | 18 | 18 | 22 | 12 | OP.ERS | MSCP$K_OP_ERASE | ERASE | 19 | 2 | 02 | 02 | OP.GCS | MSCP$K_OP_GTCMD | GET COMMAND STATUS | 20 | 3 | 03 | 03 | OP.GUS | MSCP$K_OP_GTUNT | GET UNIT STATUS | 21 | 9 | 11 | 09 | OP.ONL | MSCP$K_OP_ONLIN | ONLINE | 22 | 33 | 41 | 21 | OP.RD | MSCP$K_OP_READ | READ | 23 | 4 | 04 | 04 | OP.SCC | MSCP$K_OP_STCON | SET CONTROLLER CHARACTERISTICS | 24 | 10 | 12 | 0A | OP.SUC | MSCP$K_OP_STUNT | SET UNIT CHARACTERISTICS | 25 | 34 | 42 | 22 | OP.WR | MSCP$K_OP_WRITE | WRITE | 26 +------+------+------+--------+-----------------+-----------------------------------------+ 27 | Optional Command Messages: | | | 28 | 5 | 05 | 05 | OP.ANM | MSCP$K_OP_ACCNM | ACCESS NON-VOLATILE MEMORY | 29 +------+------+------+--------+-----------------+-----------------------------------------+ 30 | Implementation Specific Command Messages (See note 4): | 31 | 40 | 50 | 28 | OP.SP1 | MSCP$K_OP_SPEC1 | # 1 | 32 | 41 | 51 | 29 | OP.SP2 | MSCP$K_OP_SPEC2 | # 2 | 33 | 42 | 52 | 2A | OP.SP3 | MSCP$K_OP_SPEC3 | # 3 | 34 | 43 | 53 | 2B | OP.SP4 | MSCP$K_OP_SPEC4 | # 4 | 35 | 44 | 54 | 2C | OP.SP5 | MSCP$K_OP_SPEC5 | # 5 | 36 | 45 | 55 | 2D | OP.SP6 | MSCP$K_OP_SPEC6 | # 6 | 37 | 46 | 56 | 2E | OP.SP7 | MSCP$K_OP_SPEC7 | # 7 | 38 | 47 | 57 | 2F | OP.SP8 | MSCP$K_OP_SPEC8 | # 8 | 39 +------+------+------+--------+-----------------+-----------------------------------------+ 40 | Tape MSCP Specific Command Messages: | | 41 | 22 | 26 | 16 | OP.ERG | MSCP$K_OP_ERGAP | ERASE GAP | 42 | 19 | 23 | 13 | OP.FLU | MSCP$K_OP_FLUSH | FLUSH | 43 | 37 | 45 | 25 | OP.REP | MSCP$K_OP_REPOS | REPOSITION | 44 | 36 | 44 | 24 | OP.WTM | MSCP$K_OP_WRITM | WRITE TAPE MARK | 45 +------+------+------+--------+-----------------+-----------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 OPCODE, FLAG AND OFFSET DEFINITIONS Page A-2 8 November 1987 1 Table A-1: Control Message Opcodes (cont.) 2 +--------------------+--------------------------+-----------------------------------------+ 3 | Opcode Value | | | 4 | (See note 1) | Preferred Mnemonics | | 5 |------+------+------+--------+-----------------+ Control Message Type | 6 | Dec. | Oct. | Hex. | 16 bit | 32 bit | | 7 +------+------+------+--------+-----------------+-----------------------------------------+ 8 | End Messages (See note 3): | | 9 | 128 | 200 | 80 | OP.END | MSCP$K_OP_END | END message flag | 10 +------+------+------+--------+-----------------+-----------------------------------------+ 11 | Attention Messages:| | | | 12 | 64 | 100 | 40 | OP.AVA | MSCP$K_OP_AVATN | AVAILABLE | 13 | 65 | 101 | 41 | OP.DUP | MSCP$K_OP_DUPUN | DUPLICATE UNIT NUMBER | 14 | 66 | 102 | 42 | OP.ACP | MSCP$K_OP_APATH | ACCESS PATH | 15 +------+------+------+--------+-----------------+-----------------------------------------+ 16 | Notes: 1. Message opcode bits 6 and 7 indicate the type of message (command, end, or | 17 | attention). | 18 | | 19 | 2. Standard command opcode bits 3 through 5 indicate the command category | 20 | (Immediate, Sequential, or Non-Sequential) and whether or not the command | 21 | includes a buffer descriptor. | 22 | | 23 | 3. End message endcodes are formed by adding the end message flag to the command | 24 | opcode. For example, a READ command's end message contains (using 16 bit | 25 | mnemonics) the value OP.RD+OP.END in its endcode field. As described in the | 26 | MSCP specification, an MSCP protocol violation produces an Invalid Command | 27 | end message which contains just the end message flag (OP.END) in its endcode | 28 | field. | 29 | | 30 | 4. The implementation specific command opcodes may be used by manufacturing test | 31 | equipment to verify controller operation. They must never be issued by normal | 32 | host software, or when a host is running anything other than stand-alone | 33 | diagnostics. The operation of these commands when issued under anything but | 34 | the expected manufacturing and/or diagnostic environment is UNDEFINED. | 35 +-----------------------------------------------------------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 OPCODE, FLAG AND OFFSET DEFINITIONS Page A-3 8 November 1987 1 Table A-2: Command Modifiers 2 +------+--------------+--------------------------+----------------------------------------+ 3 | Bit | Bit Mask | Preferred Mnemonics | | 4 |Number+-------+------+--------+-----------------+ Command Modifier | 5 | | Octal | Hex. | 16 bit | 32 bit | | 6 | | | | | (See note 1) | | 7 +------+-------+------+--------+-----------------+----------------------------------------+ 8 | ACCESS, AVAILABLE, COMPARE HOST DATA, ERASE, ERASE GAP, FLUSH, ONLINE, READ, | 9 | REPOSITION, SET UNIT CHARACTERISTICS, WRITE and WRITE TAPE MARK Command Modifiers: | 10 | 13 | 20000 | 2000 | MD.CSE | MSCP$x_MD_CLSEX | Clear Serious Exception | 11 | 12 | 10000 | 1000 | MD.CDL | MSCP$x_MD_CDATL | Clear Cached Data Lost | 12 +------+-------+------+--------+-----------------+----------------------------------------+ 13 | ACCESS, COMPARE HOST DATA, READ, and REPOSITION Command Modifiers: | 14 | 11 | 4000 | 800 | MD.SCH | MSCP$x_MD_SCCHH | Suppress Caching | 15 | 3 | 10 | 8 | MD.REV | MSCP$x_MD_REVRS | Reverse | 16 +------+-------+------+--------+-----------------+----------------------------------------+ 17 | ACCESS, COMPARE HOST DATA, READ, REPOSITION, and WRITE Command Modifiers: | 18 | 9 | 1000 | 200 | MD.SEC | MSCP$x_MD_SECOR | Suppress Error Correction | 19 | 8 | 400 | 100 | MD.SER | MSCP$x_MD_SEREC | Suppress Error Recovery | 20 +------+-------+------+--------+-----------------+----------------------------------------+ 21 | AVAILABLE Command Modifiers: | | | 22 | 4 | 20 | 10 | MD.UNL | MSCP$x_MD_UNLOD | Unload | 23 | 1 | 2 | 2 | MD.ALL | MSCP$x_MD_ALLCD | All Class Drivers | 24 +------+-------+------+--------+-----------------+----------------------------------------+ 25 | AVAILABLE, ONLINE, and SET UNIT CHARACTERISTICS Command Modifiers: | 26 | 5 | 40 | 20 | MD.EXC | MSCP$x_MD_EXCAC | Exclusive Access | 27 +------+-------+------+--------+-----------------+----------------------------------------+ 28 | ERASE, ERASE GAP, REPOSITION, WRITE and WRITE TAPE MARK Command Modifier: | 29 | 6 | 100 | 40 | MD.IMM | MSCP$x_MD_IMMED | Immediate Completion | 30 +------+-------+------+--------+-----------------+----------------------------------------+ 31 | GET UNIT STATUS Command Modifier: | | 32 | 0 | 1 | 1 | MD.NXU | MSCP$x_MD_NXUNT | Next Unit | 33 +------+-------+------+--------+-----------------+----------------------------------------+ 34 | ONLINE and SET UNIT CHARACTERISTICS Command Modifier: | 35 | 2 | 4 | 4 | MD.SWP | MSCP$x_MD_STWRP | Enable Set Write Protect | 36 +------+-------+------+--------+-----------------+----------------------------------------+ 37 | READ and WRITE Command Modifier: | | 38 | 14 | 40000 | 4000 | MD.CMP | MSCP$x_MD_COMP | Compare | 39 +------+-------+------+--------+-----------------+----------------------------------------+ 40 | REPOSITION Command Modifiers:| | | 41 | 7 | 200 | 80 | MD.DLE | MSCP$x_MD_DLEOT | Detect LEOT | 42 | 2 | 4 | 4 | MD.OBC | MSCP$x_MD_OBJCT | Object Count | 43 | 1 | 2 | 2 | MD.RWD | MSCP$x_MD_REWND | Rewind | 44 +------+-------+------+--------+-----------------+----------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 OPCODE, FLAG AND OFFSET DEFINITIONS Page A-4 8 November 1987 1 Table A-2: Command Modifiers (cont.) 2 +------+--------------+--------------------------+----------------------------------------+ 3 | Bit | Bit Mask | Preferred Mnemonics | | 4 |Number+-------+------+--------+-----------------+ Command Modifier | 5 | | Octal | Hex. | 16 bit | 32 bit | | 6 | | | | | (See note 1) | | 7 +------+-------+------+--------+-----------------+----------------------------------------+ 8 | WRITE Command Modifier: | | | 9 | 4 | 20 | 10 | MD.ERW | MSCP$x_MD_ENRWR | Enable Re-Write Error Recovery | 10 +------+-------+------+--------+-----------------+----------------------------------------+ 11 | Notes: 1. The "x" in the 32 bit mnemonic for a bit flag will be "V" if the symbol is | 12 | defined as a bit number (offset) or an "M" if defined as a mask. | 13 +-----------------------------------------------------------------------------------------+ 14 Table A-3: End Message Flags 15 +------+--------------+--------------------------+----------------------------------------+ 16 | Bit | Bit Mask | Preferred Mnemonics | | 17 |Number+-------+------+--------+-----------------+ End Message Flag | 18 | | Octal | Hex. | 16 bit | 32 bit | | 19 | | | | | (See note 1) | | 20 +------+-------+------+--------+-----------------+----------------------------------------+ 21 | 5 | 40 | 20 | EF.LOG | MSCP$x_EF_ERLOG | Error Log Generated | 22 | 4 | 20 | 10 | EF.SEX | MSCP$x_EF_SEREX | Serious Exception | 23 | 3 | 10 | 8 | EF.EOT | MSCP$x_EF_EOT | End of Tape encountered | 24 | 2 | 4 | 4 | EF.PLS | MSCP$x_EF_PLS | Position Lost | 25 | 1 | 2 | 2 | EF.DLS | MSCP$x_EF_DLS | Cached Data Lost | 26 +------+-------+------+--------+-----------------+----------------------------------------+ 27 | Notes: 1. The "x" in the 32 bit mnemonic for a bit flag will be "V" if the symbol is | 28 | defined as a bit number (offset) or an "M" if defined as a mask. | 29 +-----------------------------------------------------------------------------------------+ 30 Table A-4: Controller Flags 31 +------+--------------+--------------------------+----------------------------------------+ 32 | Bit | Bit Mask | Preferred Mnemonics | | 33 |Number+-------+------+--------------------------+ Controller Flag | 34 | | Octal | Hex. | 16 bit | 32 bit | (See note 2) | 35 | | | | | (See note 1) | | 36 +------+-------+------+--------+-----------------+----------------------------------------+ 37 | 7 | 200 | 80 | CF.ATN | MSCP$x_CF_ATTN | Enable Attention Messages | 38 | 6 | 100 | 40 | CF.MSC | MSCP$x_CF_MISC | Enable Miscellaneous Error Log Messages| 39 | 5 | 40 | 20 | CF.OTH | MSCP$x_CF_OTHER | Enable Other Host's Error Log Messages | 40 | 4 | 20 | 10 | CF.THS | MSCP$x_CF_THIS | Enable This Host's Error Log Messages | 41 | 2 | 4 | 4 | CF.MLH | MSCP$x_CF_MLHT | Multi-Host Support | 42 +------+-------+------+--------+-----------------+----------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 OPCODE, FLAG AND OFFSET DEFINITIONS Page A-5 8 November 1987 1 Table A-4: Controller Flags (cont.) 2 +------+--------------+--------------------------+----------------------------------------+ 3 | Bit | Bit Mask | Preferred Mnemonics | | 4 |Number+-------+------+--------------------------+ Controller Flag | 5 | | Octal | Hex. | 16 bit | 32 bit | | 6 | | | | | (See note 1) | | 7 +------+-------+------+--------+-----------------+----------------------------------------+ 8 | Notes: 1. The "x" in the 32 bit mnemonic for a bit flag will be "V" if the symbol is | 9 | defined as a bit number (offset) or an "M" if defined as a mask. | 10 +------+-------+------+--------+-----------------+----------------------------------------+ 11 Table A-5: Unit Flags 12 +------+--------------+--------------------------+----------------------------------------+ 13 | Bit | Bit Mask | Preferred Mnemonics | | 14 |Number+-------+------+--------+-----------------+ Unit Flag | 15 | | Octal | Hex. | 16 bit | 32 bit | | 16 | | | | | (See note 1) | | 17 +------+-------+------+--------+-----------------+----------------------------------------+ 18 | 15 |100000 | 8000 | UF.CAC | MSCP$x_UF_CACH | Tape Write-back caching | 19 | 13 | 20000 | 2000 | UF.WPH | MSCP$x_UF_WRTPH | Hardware Write protect | 20 | 12 | 10000 | 1000 | UF.WPS | MSCP$x_UF_WRTPS | Software Write protect | 21 | 11 | 4000 | 800 | UF.SCH | MSCP$x_UF_SCCHH | Suppress Caching | 22 | 10 | 2000 | 400 | UF.EXA | MSCP$x_UF_EXACC | Exclusive Access | 23 | 8 | 400 | 100 | UF.WPD | MSCP$x_UF_WRTPD | Data Safety Write Protect | 24 | 6 | 100 | 40 | UF.WBN | MSCP$x_UF_WBKNV | Write-back | 25 | 5 | 40 | 20 | UF.VSS | MSCP$x_UF_VSMSU | Variable Speed Mode Suppression | 26 | 4 | 20 | 10 | UF.VSU | MSCP$x_UF_VARSP | Variable Speed Unit | 27 | 3 | 10 | 8 | UF.EWR | MSCP$x_UF_EWRER | Enhanced Write Error Recovery | 28 | 1 | 2 | 2 | UF.CMW | MSCP$x_UF_CMPWR | Compare Writes | 29 | 0 | 1 | 1 | UF.CMR | MSCP$x_UF_CMPRD | | 30 +------+-------+------+--------+-----------------+----------------------------------------+ 31 | Notes: 1. The "x" in the 32 bit mnemonic for a bit flag will be "V" if the symbol is | 32 | defined as a bit number (offset) or an "M" if defined as a mask. | 33 +------+-------+------+--------+-----------------+----------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 OPCODE, FLAG AND OFFSET DEFINITIONS Page A-6 8 November 1987 1 Table A-6: Command Message Offsets 2 +--------------------+--------------------------+-------+---------------------------------+ 3 | Offset Value | Preferred Mnemonics | Field | | 4 +------+------+------+--------+-----------------+ Size | Field Description | 5 | Dec. | Oct. | Hex. | 16 bit | 32 bit |(bytes)| | 6 +------+------+------+--------+-----------------+-------+---------------------------------+ 7 | Generic Command Message Offsets: | | | 8 | 0 | 0 | 0 | P.CRF | MSCP$L_CMD_REF | 4 | Command reference number | 9 | 4 | 4 | 4 | P.UNIT | MSCP$W_UNIT | 2 | Unit number | 10 | 6 | 6 | 6 | | | 2 | Reserved | 11 | 8 | 10 | 8 | P.OPCD | MSCP$B_OPCODE | 1 | Opcode | 12 | 9 | 11 | 9 | | | 1 | Reserved | 13 | 10 | 12 | A | P.MOD | MSCP$W_MODIFIER | 2 | Modifiers | 14 | 12 | 14 | C | P.BCNT | MSCP$L_BYTE_CNT | 4 | Byte count | 15 | 16 | 20 | 10 | P.BUFF | MSCP$B_BUFFER | 12 | Buffer descriptor | 16 +------+------+------+--------+-----------------+-------+---------------------------------+ 17 | ABORT and GET COMMAND STATUS Command Message Offsets: | | 18 | 12 | 14 | C | P.OTRF | MSCP$L_OUT_REF | 4 | Outstanding reference number | 19 +------+------+------+--------+-----------------+-------+---------------------------------+ 20 | ACCESS NON-VOLATILE MEMORY Command Message Offsets: | | 21 | 4 | 4 | 4 | | | 2 | Reserved | 22 | 12 | 14 | C | | | 4 | Reserved | 23 | 16 | 20 | 10 | P.ANOF | MSCP$L_ANM_OFFS | 4 | Offset | 24 | 20 | 24 | 14 | P.ANOP | MSCP$W_ANM_OPER | 2 | Operation (See Table A-11) | 25 | 22 | 26 | 16 | P.ANDL | MSCP$W_ANM_DLGH | 2 | Data length | 26 | 24 | 30 | 18 | P.ANMD | MSCP$T_ANM_MEMD | * | Memory data | 27 +------+------+------+--------+-----------------+-------+---------------------------------+ 28 | ONLINE and SET UNIT CHARACTERISTICS Command Message Offsets: | 29 | 12 | 14 | C | | | 2 | Reserved | 30 | 14 | 16 | E | P.UNFL | MSCP$W_UNT_FLGS | 2 | Unit flags | 31 | 16 | 20 | 10 | | | 12 | Reserved | 32 | 28 | 34 | 1C | P.DVPM | MSCP$L_DEV_PARM | 4 | Device dependent parameters | 33 | 32 | 40 | 20 | P.FORM | MSCP$W_FORMAT | 2 | Format | 34 | 34 | 42 | 22 | P.SPED | MSCP$L_SPEED | 2 | Speed | 35 +------+------+------+--------+-----------------+-------+---------------------------------+ 36 | REPOSITION Command Message Offsets: | | | 37 | 12 | 14 | C | P.RECC | MSCP$L_REC_CNT | 4 | Record/Object Count | 38 | 16 | 20 | 10 | P.TMGC | MSCP$L_TMGP_CNT | 4 | Tape Mark Count or N/A | 39 +------+------+------+--------+-----------------+-------+---------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 OPCODE, FLAG AND OFFSET DEFINITIONS Page A-7 8 November 1987 1 Table A-6: Command Message Offsets (cont.) 2 +--------------------+--------------------------+-------+---------------------------------+ 3 | Offset Value | Preferred Mnemonics | Field | | 4 +------+------+------+--------+-----------------+ Size | Field Description | 5 | Dec. | Oct. | Hex. | 16 bit | 32 bit |(bytes)| | 6 +------+------+------+--------+-----------------+-------+---------------------------------+ 7 | SET CONTROLLER CHARACTERISTICS Command Message Offsets: | 8 | 4 | 4 | 4 | | | 2 | Reserved | 9 | 12 | 14 | C | P.VRSN | MSCP$W_VERSION | 2 | MSCP version | 10 | 14 | 16 | E | P.CNTF | MSCP$W_CNT_FLGS | 2 | Controller flags | 11 | 16 | 20 | 10 | P.HTMO | MSCP$W_HST_TMO | 2 | Host timeout | 12 | 18 | 22 | 12 | | | 2 | Reserved | 13 | 20 | 24 | 14 | P.TIME | MSCP$Q_TIME | 8 | Quad-word time and date | 14 | 28 | 34 | 1C | P.CNPM | MSCP$L_CNT_PARM | 4 | Controller dependent parameters | 15 +------+------+------+--------+-----------------+-------+---------------------------------+ 16 | Notes: 1. An asterisk (*) in the field size indicates that the size varies. | 17 +-----------------------------------------------------------------------------------------+ 18 Table A-7: End and Attention Message Offsets 19 +--------------------+--------------------------+-------+---------------------------------+ 20 | Offset Value | Preferred Mnemonics | Field | | 21 +------+------+------+--------+-----------------+ Size | Field Description | 22 | Dec. | Oct. | Hex. | 16 bit | 32 bit |(bytes)| | 23 +------+------+------+--------+-----------------+-------+---------------------------------+ 24 | Generic End Message Offsets:| | | | 25 | 0 | 0 | 0 | P.CRF | MSCP$L_CMD_REF | 4 | Command reference number | 26 | 4 | 4 | 4 | P.UNIT | MSCP$W_UNIT | 2 | Unit number | 27 | 6 | 6 | 6 | P.SEQ | MSCP$W_SEQ_NUM | 2 | Sequence Number (LAST error log)| 28 | 8 | 10 | 8 | P.OPCD | MSCP$B_OPCODE | 1 | Opcode (also called endcode) | 29 | 9 | 11 | 9 | P.FLGS | MSCP$B_FLAGS | 1 | End message flags | 30 | 10 | 12 | A | P.STS | MSCP$W_STATUS | 2 | Status | 31 | 12 | 14 | C | P.BCNT | MSCP$L_BYTE_CNT | 4 | Byte count (host transfer) | 32 +------+------+------+--------+-----------------+-------+---------------------------------+ 33 | ABORT and GET COMMAND STATUS End Message Offsets: | | 34 | 12 | 14 | C | P.OTRF | MSCP$L_OUT_REF | 4 | Outstanding reference number | 35 +------+------+------+--------+-----------------+-------+---------------------------------+ 36 | ACCESS NON-VOLATILE MEMORY End Message Offsets: | | 37 | 4 | 4 | 4 | | | 2 | Reserved | 38 | 12 | 14 | C | P.ANSZ | MSCP$L_ANM_SIZE | 4 | Memory Size | 39 | 16 | 20 | 10 | P.ANOF | MSCP$L_ANM_OFFS | 4 | Offset | 40 | 20 | 24 | 14 | P.ANOP | MSCP$W_ANM_OPER | 2 | Operation (See Table A-11) | 41 | 22 | 26 | 16 | P.ANDL | MSCP$W_ANM_DLGH | 2 | Data length | 42 | 24 | 30 | 18 | P.ANMD | MSCP$T_ANM_MEMD | * | Memory data | 43 +------+------+------+--------+-----------------+-------+---------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 OPCODE, FLAG AND OFFSET DEFINITIONS Page A-8 8 November 1987 1 Table A-7: End and Attention Message Offsets (cont.) 2 +--------------------+--------------------------+-------+---------------------------------+ 3 | Offset Value | Preferred Mnemonics | Field | | 4 +------+------+------+--------+-----------------+ Size | Field Description | 5 | Dec. | Oct. | Hex. | 16 bit | 32 bit |(bytes)| | 6 +------+------+------+--------+-----------------+-------+---------------------------------+ 7 | GET COMMAND STATUS End Message Offsets: | | | 8 | 16 | 20 | 10 | P.CMST | MSCP$L_CMD_STS | 4 | Command status | 9 +------+------+------+--------+-----------------+-------+---------------------------------+ 10 | GET UNIT STATUS End Message Offsets: | | | 11 | 12 | 14 | C | P.MLUN | MSCP$W_MULT_UNT | 2 | Multiunit code | 12 | 14 | 16 | E | P.UNFL | MSCP$W_UNT_FLGS | 2 | Unit flags | 13 | 16 | 20 | 10 | | | 4 | Reserved | 14 | 20 | 24 | 14 | P.UNTI | MSCP$Q_UNIT_ID | 8 | Unit identifier | 15 | 28 | 34 | 1C | P.MEDI | MSCP$L_MEDIA_ID | 4 | Media type identifier | 16 | 32 | 40 | 20 | P.FORM | MSCP$W_FORMAT | 2 | Tape Format | 17 | 34 | 42 | 22 | P.SPED | MSCP$W_SPEED | 2 | Speed | 18 | 36 | 44 | 24 | P.FMEN | MSCP$W_FORMENU | 2 | Format Menu | 19 | 38 | 46 | 26 | P.FCAP | MSCP$B_FREECAP | 1 | Free capacity | 20 | 39 | 47 | 27 | | | 1 | Reserved | 21 | 40 | 50 | 28 | P.FSVR | MSCP$B_FMTR_SVR | 1 | Formatter software version | 22 | 41 | 51 | 29 | P.FHVR | MSCP$B_FMTR_HVR | 1 | Formatter hardware version | 23 | 42 | 52 | 2A | P.USVR | MSCP$B_UNIT_SVR | 1 | Unit software version | 24 | 43 | 53 | 2B | P.UHVR | MSCP$B_UNIT_HVR | 1 | Unit hardware version | 25 +------+------+------+--------+-----------------+-------+---------------------------------+ 26 | ONLINE and SET UNIT CHARACTERISTICS End Message and AVAILABLE Attention Message offsets:| 27 | 12 | 14 | C | P.MLUN | MSCP$W_MULT_UNT | 2 | Multiunit code | 28 | 14 | 16 | E | P.UNFL | MSCP$W_UNT_FLGS | 2 | Unit flags | 29 | 16 | 20 | 10 | | | 4 | Reserved | 30 | 20 | 24 | 14 | P.UNTI | MSCP$Q_UNIT_ID | 8 | Unit identifier | 31 | 28 | 34 | 1C | P.MEDI | MSCP$L_MEDIA_ID | 4 | Media type identifier | 32 | 32 | 40 | 20 | P.FORM | MSCP$W_FORMAT | 2 | Tape Format | 33 | 34 | 42 | 22 | P.SPED | MSCP$W_SPEED | 2 | Speed | 34 | 36 | 44 | 24 | P.MXWR | MSCP$L_MAXWRREC | 4 | Maximum WRITE record size | 35 | 40 | 50 | 28 | P.NREC | MSCP$W_NOISEREC | 2 | Noise Record | 36 | 42 | 52 | 2A | | | 2 | Reserved | 37 +------+------+------+--------+-----------------+-------+---------------------------------+ 38 | SET CONTROLLER CHARACTERISTICS End Message Offsets: | | 39 | 4 | 4 | 4 | | | 2 | Reserved | 40 | 12 | 14 | C | P.VRSN | MSCP$W_VERSION | 2 | MSCP version | 41 | 14 | 16 | E | P.CNTF | MSCP$W_CNT_FLGS | 2 | Controller flags | 42 | 16 | 20 | 10 | P.CTMO | MSCP$W_CNT_TMO | 2 | Controller timeout | 43 | 18 | 22 | 12 | P.CSVR | MSCP$B_CNT_SVR | 1 | Controller software version | 44 | 19 | 23 | 13 | P.CHVR | MSCP$B_CNT_HVR | 1 | Controller hardware version | 45 | 20 | 24 | 14 | P.CNTI | MSCP$Q_CNT_ID | 8 | Controller ID | 46 | 28 | 34 | 1C | P.CMBC | MSCP$L_MAXBCNT | 4 | Controller maximum byte count | 47 | | | | | | | (optional) | 48 +------+------+------+--------+-----------------+-------+---------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 OPCODE, FLAG AND OFFSET DEFINITIONS Page A-9 8 November 1987 1 Table A-7: End and Attention Message Offsets (cont.) 2 +--------------------+--------------------------+-------+---------------------------------+ 3 | Offset Value | Preferred Mnemonics | Field | | 4 +------+------+------+--------+-----------------+ Size | Field Description | 5 | Dec. | Oct. | Hex. | 16 bit | 32 bit |(bytes)| | 6 +------+------+------+--------+-----------------+-------+---------------------------------+ 7 | ACCESS, COMPARE HOST DATA, FLUSH, READ, REPOSITION, WRITE, and WRITE TAPE MARK end | 8 | message offsets: | | | | | 9 | 28 | 34 | 1C | P.POS | MSCP$L_POSITION | 4 | Position (Object Count) | 10 +------+------+------+--------+-----------------+-------+---------------------------------+ 11 | ACCESS, COMPARE HOST DATA, READ and WRITE end message offsets: | 12 | 32 | 40 | 20 | P.TRBC | MSCP$L_TAPEREC | 4 | Tape Record Byte Count | 13 +------+------+------+--------+-----------------+-------+---------------------------------+ 14 | REPOSITION end message offsets: | | | 15 | 12 | 14 | C | P.RCSK | MSCP$L_RCSKIPED | 4 | Records Skipped / Undefined | 16 | 16 | 20 | 10 | P.TMSK | MSCP$L_TMSKIPED | 4 | Tape Marks Skipped / Undefined | 17 +------+------+------+--------+-----------------+-------+---------------------------------+ 18 | Notes: 1. An asterisk (*) in the field size indicates that the size varies. | 19 +-----------------------------------------------------------------------------------------+ 20 Table A-8: Error Log Message Offsets 21 +--------------------+--------------------------+-------+---------------------------------+ 22 | Offset Value | Preferred Mnemonics | Field | | 23 +------+------+------+--------+-----------------+ Size | Field Description | 24 | Dec. | Oct. | Hex. | 16 bit | 32 bit |(bytes)| | 25 +------+------+------+--------+-----------------+-------+---------------------------------+ 26 | Generic Error Log Message Offsets: | | | 27 | 0 | 0 | 0 | L.CRF | MSLG$L_CMD_REF | 4 | Command reference number | 28 | 4 | 4 | 4 | L.UNIT | MSLG$W_UNIT | 2 | Unit number | 29 | 6 | 6 | 6 | L.SEQ | MSLG$W_SEQ_NUM | 2 | Sequence number | 30 | 8 | 10 | 8 | L.FMT | MSLG$B_FORMAT | 1 | Format | 31 | 9 | 11 | 9 | L.FLGS | MSLG$B_FLAGS | 1 | Error log message flags | 32 | 10 | 12 | A | L.EVNT | MSLG$W_EVENT | 2 | Event code | 33 | 12 | 14 | C | L.CNTI | MSLG$Q_CNT_ID | 8 | Controller ID | 34 | 20 | 24 | 14 | L.CSVR | MSLG$B_CNT_SVR | 1 | Controller software version | 35 | 21 | 25 | 15 | L.CHVR | MSLG$B_CNT_HVR | 1 | Controller hardware version | 36 | 22 | 26 | 16 | L.MLUN | MSLG$W_MULT_UNT | 2 | Multiunit code | 37 | 24 | 30 | 18 | L.UNTI | MSLG$Q_UNIT_ID | 8 | Unit ID | 38 | 32 | 40 | 20 | L.USVR | MSLG$B_UNIT_SVR | 1 | Unit software version | 39 | 33 | 41 | 21 | L.UHVR | MSLG$B_UNIT_HVR | 1 | Unit hardware version | 40 | 34 | 42 | 22 | | | 2 | Reserved | 41 | 36 | 44 | 24 | L.GPCT | MSLG$L_GAP_CNT | 4 | Position (object count) | 42 | 40 | 50 | 28 | L.FSVR | MSLG$B_FMTR_SVR | 1 | Formatter software version | 43 | 41 | 51 | 29 | L.FHVR | MSLG$B_FMTR_HVR | 1 | Formatter hardware version | 44 +------+------+------+--------+-----------------+-------+---------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 OPCODE, FLAG AND OFFSET DEFINITIONS Page A-10 8 November 1987 1 Table A-8: Error Log Message Offsets (cont.) 2 +--------------------+--------------------------+-------+---------------------------------+ 3 | Offset Value | Preferred Mnemonics | Field | | 4 +------+------+------+--------+-----------------+ Size | Field Description | 5 | Dec. | Oct. | Hex. | 16 bit | 32 bit |(bytes)| | 6 +------+------+------+--------+-----------------+-------+---------------------------------+ 7 | Controller Error with Controller Dependent Information Offsets: | 8 | 22 | 26 | 16 | | | * | Controller dependent information| 9 | | | | | | | (optional) | 10 +------+------+------+--------+-----------------+-------+---------------------------------+ 11 | Memory Errors with Host Bus Address Error Log Message Offsets: | 12 | 22 | 26 | 16 | | | 2 | Reserved | 13 | 24 | 30 | 18 | L.BADR | MSLG$L_BUS_ADDR | 4 | Host bus memory address | 14 | 28 | 34 | 1C | | | * | Controller dependent information| 15 | | | | | | | (optional) | 16 +------+------+------+--------+-----------------+-------+---------------------------------+ 17 | Memory Errors with Controller Memory Address Error Log Message Offsets: | 18 | 22 | 26 | 16 | | | 2 | Reserved | 19 | 24 | 30 | 18 | L.BADR | MSLG$L_BUS_ADDR | 4 | Host bus memory address | 20 | 28 | 34 | 1C | | | * | Controller dependent information| 21 | | | | | | | (optional) | 22 +------+------+------+--------+-----------------+-------+---------------------------------+ 23 | Tape Errors Error Log Message Offsets: | | | 24 | 34 | 42 | 22 | L.LVL | MSLG$B_LEVEL | 1 | Level | 25 | 35 | 43 | 23 | L.RTRY | MSLG$B_RETRY | 1 | Retry | 26 | 42 | 52 | 2A | | | 2 | Reserved | 27 | 44 | 54 | 2C | | | * | Device Dependent Information | 28 +------+------+------+--------+-----------------+-------+---------------------------------+ 29 | STI Communication Error Error Log Message Offsets: | | 30 | 42 | 52 | 2A | | | 2 | Reserved | 31 | 44 | 54 | 2C | L.STI | MSLG$Z_STI | 12 | STI UNSUCCESSFUL Response | 32 +------+------+------+--------+-----------------+-------+---------------------------------+ 33 | STI Formatter Error Error Log Message Offsets:| | | 34 | 42 | 52 | 2A | | | 2 | Reserved | 35 | 44 | 54 | 2C | L.STI | MSLG$Z_STI | 20 | STI GET EXTENDED FORMATTER | 36 | | | | | | | STATUS Response | 37 +------+------+------+--------+-----------------+-------+---------------------------------+ 38 | STI Drive Error Error Log Message Offsets: | | | 39 | 42 | 52 | 2A | | | 2 | Reserved | 40 | 44 | 54 | 2C | L.STI | MSLG$Z_STI | 62 | STI GET EXTENDED DRIVE STATUS | 41 | | | | | | | Response | 42 +------+------+------+--------+-----------------+-------+---------------------------------+ 43 | Note: An asterisk (*) in the field size indicates that the size varies. | 44 +-----------------------------------------------------------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 OPCODE, FLAG AND OFFSET DEFINITIONS Page A-11 8 November 1987 1 Table A-9: Error Log Message Format Codes 2 +--------------------+--------------------------+-----------------------------------------+ 3 | Format Code | Preferred Mnemonics | | 4 +------+------+------+--------+-----------------+ Format Description | 5 | Dec. | Oct. | Hex. | 16 bit | 32 bit | | 6 +------+------+------+--------+-----------------+-----------------------------------------+ 7 | 0 | 0 | 0 | FM.CNT | MSLG$K_CNT_ERR | Controller Errors | 8 | 1 | 1 | 1 | FM.BAD | MSLG$K_BUS_ADDR | Memory Errors with (host/controller) | 9 | | | | | | Memory Address | 10 | 5 | 5 | 5 | FM.TPE | MSLG$K_TAPE_ERR | Tape Errors | 11 | 6 | 6 | 6 | FM.STI | MSLG$K_STI_ERR | STI Communication or Command Failure | 12 | 7 | 7 | 7 | FM.DEL | MSLG$K_STI_DEL | STI Drive Error Log | 13 | 8 | 10 | 8 | FM.FEL | MSLG$K_STI_FEL | STI Formatter Error Log | 14 +------+------+------+--------+-----------------+-----------------------------------------+ 15 Table A-10: Error Log Message Flags 16 +------+--------------+--------------------------+----------------------------------------+ 17 | Bit | Bit Mask | Preferred Mnemonics | | 18 |Number+-------+------+--------+-----------------+ Format Description | 19 | | Octal | Hex. | 16 bit |32 bit (See note)| | 20 +------+-------+------+--------+-----------------+----------------------------------------+ 21 | 7 | 200 | 80 | LF.SUC | MSLG$x_LF_SUCC | Operation Successful | 22 | 6 | 100 | 40 | LF.CON | MSLG$x_LF_CONT | Operation Continuing | 23 | 0 | 1 | 1 | LF.SNR | MSLG$x_LF_SQNRS | Sequence Number Reset | 24 +------+-------+------+--------+-----------------+----------------------------------------+ 25 | Notes: 1. The "x" in the 32 bit mnemonic for a bit flag will be "V" if the symbol is | 26 | defined as a bit number (offset) or an "M" if defined as a mask. | 27 +-----------------------------------------------------------------------------------------+ 28 Table A-11: Access Nonvolatile Memory Command Operation Codes 29 +--------------------+--------------------------+-----------------------------------------+ 30 | Opcode Value | Preferred Mnemonics | | 31 +------+------+------+--------+-----------------+ Operation | 32 | Dec. | Oct. | Hex. | 16 bit | 32 bit | | 33 +------+------+------+--------+-----------------+-----------------------------------------+ 34 | 0 | 0 | 0 | ANM.RD | MSCP$K_ANM_READ | Read | 35 | 1 | 1 | 1 | ANM.EX | MSCP$K_ANM_EXCG | Exchange | 36 | 2 | 2 | 2 | ANM.TS | MSCP$K_ANM_TSST | Test and Set | 37 +------+------+------+--------+-----------------+-----------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 STATUS AND EVENT CODE DEFINITIONS Page B-1 8 November 1987 1 APPENDIX B 2 STATUS AND EVENT CODE DEFINITIONS 3 NOTES 4 1. The combination of a status or event code with a subcode should be 5 expressed (assuming 16 bit symbols) as: 6 (subcode * ST.SUB) + code 7 2. The subcode values shown in Table B-2 are only returned as status codes 8 in end messages. They are never returned as event codes in error log 9 messages. In addition, the references to other tables within Table B-2 10 indicates that those tables contain subcodes which are only returned as 11 status codes in end messages. 12 3. The subcode values shown in Tables B-3 through B-7 may be returned (as 13 indicated in the "EV" and "ST" columns) as status codes, event codes or 14 both. In those tables, an asterisk in the "EV" column indicates that 15 the code and subcode may be returned as an event code. An asterisk in 16 the "ST" column indicates that the code and subcode may be returned as 17 a status code. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 STATUS AND EVENT CODE DEFINITIONS Page B-2 8 November 1987 1 Table B-1: Status and Event Codes 2 +--------------------+--------------------------+-----------------------------------------+ 3 | Value | Preferred Mnemonics | | 4 +------+------+------+--------+-----------------+ Status or Event Code | 5 | Dec. | Oct. | Hex. | 16 bit | 32 bit | | 6 +------+------+------+--------+-----------------+-----------------------------------------+ 7 | 31 | 37 | 1F | ST.MSK | MSCP$M_ST_MASK | Status / event code mask | 8 | 32 | 40 | 20 | ST.SUB | MSCP$M_ST_SUBCD | Subcode multiplier | 9 | | | | | | | 10 | 0 | 0 | 0 | ST.SUC | MSCP$K_ST_SUCC | Success | 11 | 1 | 1 | 1 | ST.CMD | MSCP$K_ST_ICMD | Invalid command | 12 | 2 | 2 | 2 | ST.ABO | MSCP$K_ST_ABRTD | Command Aborted | 13 | 3 | 3 | 3 | ST.OFL | MSCP$K_ST_OFFLN | Unit-Offline | 14 | 4 | 4 | 4 | ST.AVL | MSCP$K_ST_AVLBL | Unit-Available | 15 | 5 | 5 | 5 | ST.MFE | MSCP$K_ST_MFMTE | Media Format Error | 16 | 6 | 6 | 6 | ST.WPR | MSCP$K_ST_WRTPR | Write Protected | 17 | 7 | 7 | 7 | ST.CMP | MSCP$K_ST_COMP | Compare Error | 18 | 8 | 10 | 8 | ST.DAT | MSCP$K_ST_DATA | Data Error | 19 | 9 | 11 | 9 | ST.HST | MSCP$K_ST_HSTBF | Host Buffer Access Error | 20 | 10 | 12 | A | ST.CNT | MSCP$K_ST_CNTLR | Controller Error | 21 | 11 | 13 | B | ST.DRV | MSCP$K_ST_DRIVE | Drive Error | 22 | 12 | 14 | C | ST.FMT | MSCP$K_ST_FMTER | Formatter Error | 23 | 13 | 15 | D | ST.BOT | MSCP$K_ST_BOT | BOT Encountered | 24 | 14 | 16 | E | ST.TM | MSCP$K_ST_TAPEM | Tape Mark Encountered | 25 | 15 | 17 | F | - | - | unassigned | 26 | 16 | 20 | 10 | ST.RDT | MSCP$K_ST_RDTRN | Record Data Truncated | 27 | 17 | 21 | 11 | ST.POL | MSCP$K_ST_PLOST | Position Lost | 28 | 18 | 22 | 12 | ST.SEX | MSCP$K_ST_SEX | Serious Exception | 29 | 19 | 23 | 13 | ST.LED | MSCP$K_ST_LED | LEOT Detection | 30 | 20-30| 24-36| 14-1E| - | - | unassigned | 31 | 31 | 37 | 1F | ST.DIA | MSCP$K_ST_DIAG | Message from an internal diagnostic | 32 +------+------+------+--------+-----------------+-----------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 STATUS AND EVENT CODE DEFINITIONS Page B-3 8 November 1987 1 Table B-2: Status Only Subcode Values 2 +------+---------------------+---------------------------------------------------------+ 3 | Sub- | Code + Subcode | | 4 | code +------+-------+------+ Status Subcode | 5 | | Dec. | Oct. | Hex. | | 6 +------+------+-------+------+---------------------------------------------------------+ 7 | "Success" Subcode values: | | 8 | 0 | 0 | 0 | 0 | Normal | 9 | 1 | 32 | 40 | 20 | Unload Ignored | 10 | 2 | 64 | 100 | 40 | Still Connected | 11 | 4 | 128 | 200 | 80 | Duplicate Unit Number | 12 | 8 | 256 | 400 | 100 | Already Online | 13 | 16 | 512 | 1000 | 200 | Still Online | 14 | 32 | 1024 | 2000 | 400 | EOT Encountered | 15 | 128 | 4096 | 10000 | 1000 | Read Only Volume Format | 16 +------+------+-------+------+---------------------------------------------------------+ 17 | "Invalid Command" Subcode values: | 18 | 0 | 1 | 1 | 1 | Invalid Message Length | 19 | many | | | | Other "Invalid Command" subcodes values should be | 20 | | | | | referenced as follows (note that this is combined | 21 | | | | | with the status code): | 22 | | | | | | 23 | | | | | offset*256.+code | 24 | | | | | | 25 | | | | | where "offset" is the command message offset symbol for | 26 | | | | | the field in error and "code" is the symbol for the | 27 | | | | | "Invalid Command" status code. | 28 +------+------+-------+------+---------------------------------------------------------+ 29 | "Command Aborted" Subcode values: | 30 | 0 | 2 | 2 | 2 | Subcodes are not used. | 31 +------+------+-------+------+---------------------------------------------------------+ 32 | "Unit-Offline" Subcode values: | 33 | 0 | 3 | 3 | 3 | Unit unknown or online to another controller. | 34 | 1 | 35 | 43 | 23 | No media mounted or drive disabled via switch setting | 35 | 2 | 67 | 103 | 43 | Unit is inoperative | 36 | 4 | 131 | 203 | 83 | Duplicate unit number | 37 | 8 | 259 | 403 | 103 | Unit disabled by field service or diagnostic. | 38 | 16 | 515 | 1003 | 203 | Exclusive Use | 39 +------+------+-------+------+---------------------------------------------------------+ 40 | "Unit-Available" Subcode values: | 41 | 0 | 4 | 4 | 4 | Available | 42 | 32 | 1028 | 2004 | 404 | Already In use | 43 +------+------+-------+------+---------------------------------------------------------+ 44 | "Media Format Error" Subcode values: | 45 | 5 | 165 | 245 | A5 | Block mode device not formatted for tape operations. | 46 +------+------+-------+------+---------------------------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 STATUS AND EVENT CODE DEFINITIONS Page B-4 8 November 1987 1 Table B-2: Status Only Subcode Values (cont.) 2 +------+---------------------+---------------------------------------------------------+ 3 | Sub- | Code + Subcode | | 4 | code +------+-------+------+ Status Subcode | 5 | | Dec. | Oct. | Hex. | | 6 +------+------+-------+------+---------------------------------------------------------+ 7 | "Write Protected" Subcode values: | 8 | 8 | 262 | 406 | 106 | Unit is Data Safety Write Protected | 9 | 128 | 4102 | 10006 | 1006 | Unit is Software Write Protected | 10 | 256 | 8198 | 20006 | 2006 | Unit is Hardware Write Protected | 11 +------+------+-------+------+---------------------------------------------------------+ 12 | "Compare Error" Subcode values - see Table B-3 | 13 +------+------+-------+------+---------------------------------------------------------+ 14 | "Data Error" Subcode values - see Table B-4 | 15 +------+------+-------+------+---------------------------------------------------------+ 16 | "Host Buffer Access Error" Subcode values - see Table B-5 | 17 +------+------+-------+------+---------------------------------------------------------+ 18 | "Controller Error" Subcode values - see Table B-6 | 19 +------+------+-------+------+---------------------------------------------------------+ 20 | "Drive Error" Subcode values - see Table B-7 | 21 +------+------+-------+------+---------------------------------------------------------+ 22 | "Formatter Error" Subcode values - see Table B-8 | 23 +------+------+-------+------+---------------------------------------------------------+ 24 | "BOT Encountered" Subcode values: | 25 | 0 | 13 | 15 | D | Subcodes are not used | 26 +------+------+-------+------+---------------------------------------------------------+ 27 | "Tape Mark Encountered" Subcode values: | 28 | 0 | 14 | 16 | E | Subcodes are not used | 29 +------+------+-------+------+---------------------------------------------------------+ 30 | "Record Data Truncated" Subcode values: | 31 | 0 | 16 | 20 | 10 | Subcodes are not used. | 32 +------+------+-------+------+---------------------------------------------------------+ 33 | "Position Lost" Subcode values: | 34 | 0 | 17 | 21 | 11 | Subcodes are not used. | 35 +------+------+-------+------+---------------------------------------------------------+ 36 | "Serious Exception" Subcode values: | 37 | 0 | 18 | 22 | 12 | Subcodes are not used. | 38 +------+------+-------+------+---------------------------------------------------------+ 39 | "LEOT Encountered" Subcode values: | 40 | 0 | 19 | 23 | 13 | Subcodes are not used. | 41 +------+------+-------+------+---------------------------------------------------------+ 42 | "Message from an internal diagnostic" Subcode values - see Table B-9 | 43 +------+------+-------+------+---------------------------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 STATUS AND EVENT CODE DEFINITIONS Page B-5 8 November 1987 1 Table B-3: "Compare Error" Status or Event Subcode Values 2 +------+---------------------+-+-+-----------------------------------------------------+ 3 | Sub- | Code + Subcode |E|S| | 4 | code +------+-------+------+V|T| Status or Event Subcode | 5 | | Dec. | Oct. | Hex. | | | | 6 +------+------+-------+------+-+-+-----------------------------------------------------+ 7 | 0 | 7 | 7 | 7 |*|*| Subcodes are not used. Note: the compare error | 8 | | | | | | | code is only used as an event code when the error | 9 | | | | | | | occurs during a read-compare or write-compare | 10 | | | | | | | operation. | 11 +------+------+-------+------+-+-+-----------------------------------------------------+ 12 Table B-4: "Data Error" Status or Event Subcode Values 13 +------+---------------------+-+-+-----------------------------------------------------+ 14 | Sub- | Code + Subcode |E|S| | 15 | code +------+-------+------+V|T| Status or Event Subcode | 16 | | Dec. | Oct. | Hex. | | | | 17 +------+------+-------+------+-+-+-----------------------------------------------------+ 18 | 0 | 8 | 10 | 8 |*|*| Long Gap Encountered | 19 | 7 | 232 | 350 | E8 |*|*| Unrecoverable Read Error | 20 | many | - | - | - |*|*| controller and/or driver/formatter type dependent | 21 +------+------+-------+------+-+-+-----------------------------------------------------+ 22 Table B-5: "Host Buffer Access Error" Status or Event Subcode Values 23 +------+---------------------+-+-+-----------------------------------------------------+ 24 | Sub- | Code + Subcode |E|S| | 25 | code +------+-------+------+V|T| Status or Event Subcode | 26 | | Dec. | Oct. | Hex. | | | | 27 +------+------+-------+------+-+-+-----------------------------------------------------+ 28 | 0 | 9 | 11 | 9 | |*| Host Buffer Access error, cause not available. | 29 | | | | | | | The controller was unable to access a host buffer | 30 | | | | | | | to perform a transfer, but has no visibility into | 31 | | | | | | | the cause of the error. | 32 +------+------+-------+------+-+-+-----------------------------------------------------+ 33 | 3 | 105 | 151 | 69 |*|*| Nonexistent memory error | 34 +------+------+-------+------+-+-+-----------------------------------------------------+ 35 | 4 | 137 | 211 | 89 |*|*| Host memory parity error | 36 +------+------+-------+------+-+-+-----------------------------------------------------+ 37 | 5 | 169 | 251 | A9 |*|*| Invalid page table entry | 38 | | | | | | | (See UNIBUS/QBUS Storage Systems Port | 39 | | | | | | | Specification for additional detail.) | 40 +------+------+-------+------+-+-+-----------------------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 STATUS AND EVENT CODE DEFINITIONS Page B-6 8 November 1987 1 Table B-5: "Host Buffer Access Error" Status or Event Subcode Values (cont.) 2 +------+---------------------+-+-+-----------------------------------------------------+ 3 | Sub- | Code + Subcode |E|S| | 4 | code +------+-------+------+V|T| Status or Event Subcode | 5 | | Dec. | Oct. | Hex. | | | | 6 +------+------+-------+------+-+-+-----------------------------------------------------+ 7 | 6 | 201 | 311 | C9 |*|*| Invalid buffer name | 8 | | | | | | | The key in the buffer name does not match the key | 9 | | | | | | | in the buffer descriptor, the V bit in the buffer | 10 | | | | | | | descriptor is clear, or the index into the Buffer | 11 | | | | | | | Descriptor Table is too large. (See the BI Vax | 12 | | | | | | | Port Specification for additional detail.) | 13 +------+------+-------+------+-+-+-----------------------------------------------------+ 14 | 7 | 233 | 351 | E9 |*|*| Buffer length violation | 15 | | | | | | | The number of bytes requested in the TMSCP | 16 | | | | | | | command exceeds the buffer length as specified | 17 | | | | | | | in the buffer descriptor. (See the BI Vax | 18 | | | | | | | Port Specification for additional detail.) | 19 +------+------+-------+------+-+-+-----------------------------------------------------+ 20 | 8 | 265 | 411 | 109 |*|*| Access control violation | 21 | | | | | | | The access mode specified in the buffer | 22 | | | | | | | descriptor is protected against by the PROT field | 23 | | | | | | | in the PTE. (See the BI Vax Port Specification | 24 | | | | | | | for additional detail.) | 25 +------+------+-------+------+-+-+-----------------------------------------------------+ 26 Table B-6: "Controller Error" Status or Event Subcode Values 27 +------+---------------------+-+-+-----------------------------------------------------+ 28 | Sub- | Code + Subcode |E|S| | 29 | code +------+-------+------+V|T| Status or Event Subcode | 30 | | Dec. | Oct. | Hex. | | | | 31 +------+------+-------+------+-+-+-----------------------------------------------------+ 32 | 0 | 10 | 12 | A |-|-| Reserved for host detected command timeout error | 33 | | | | | | | logging. This subcode is never reported by a | 34 | | | | | | | controller. | 35 +------+------+-------+------+-+-+-----------------------------------------------------+ 36 | many | - | - | - |*|*| controller and/or drive/formatter type dependent | 37 +------+------+-------+------+-+-+-----------------------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 STATUS AND EVENT CODE DEFINITIONS Page B-7 8 November 1987 1 Table B-7: "Drive Error" Status or Event Subcode Values 2 +------+---------------------+-+-+-----------------------------------------------------+ 3 | Sub- | Code + Subcode |E|S| | 4 | code +------+-------+------+V|T| Status or Event Subcode | 5 | | Dec. | Oct. | Hex. | | | | 6 +------+------+-------+------+-+-+-----------------------------------------------------+ 7 | many | - | - | - |*|*| controller and/or drive/formatter type dependent | 8 +------+------+-------+------+-+-+-----------------------------------------------------+ 9 Table B-8: "Formatter Error" Status or Event Subcode Values 10 +------+---------------------+-+-+-----------------------------------------------------+ 11 | Sub- | Code + Subcode |E|S| | 12 | code +------+-------+------+V|T| Status or Event Subcode | 13 | | Dec. | Oct. | Hex. | | | | 14 +------+------+-------+------+-+-+-----------------------------------------------------+ 15 | many | - | - | - |*|*| controller and/or drive/formatter type dependent | 16 +------+------+-------+------+-+-+-----------------------------------------------------+ 17 Table B-9: "Message From An Internal Diagnostic" Event Only Subcode Values 18 +------+---------------------+---------------------------------------------------------+ 19 | Sub- | Code + Subcode | | 20 | code +------+-------+------+ Event Subcode | 21 | | Dec. | Oct. | Hex. | | 22 +------+------+-------+------+---------------------------------------------------------+ 23 | many | - | - | - | controller and/or drive/formatter type dependent | 24 +------+------+-------+------+---------------------------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 MISCELLANEOUS TABLES Page C-1 8 November 1987 1 APPENDIX C 2 MISCELLANEOUS TABLES 3 Table C-1: Tape Format Flag Values 4 +---------------------+--------------------------+-+--------------------------------------+ 5 | Value | Preferred Code Mnemonic |N| | 6 |-------+------+------+--------+-----------------+I| Tape Format Flag | 7 | Dec. | Oct. | Hex. | 16 bit | 32 bit |S| | 8 +-------+------+------+--------+-----------------+-+--------------------------------------+ 9 | 255 | 377 | FF | TF.MSK | MSCP$M_TF_MASK | | Bitflag mask | 10 | 256 | 400 | 100 | TF.COD | MSCP$K_TF_CODE | | Format code multiplier | 11 +-------+------+------+--------+-----------------+-+--------------------------------------+ 12 | 0 | 0 | 0 | TC.OLD | MSCP$K_TC_OLD | | Old value (See notes 1, 4) | 13 | 256 | 400 | 100 | TC.9TR | MSCP$K_TC_9TRACK| | New "9 track" devices | 14 | 512 | 1000 | 200 | TC.CTP | MSCP$K_TC_CTP |*| "TK50" compatible cart tapes (note 3)| 15 | 768 | 1400 | 300 | TC.348 | MSCP$K_TC_3480 | | "IBM 3480" compatible cartridge tapes| 16 | 1024 | 2000 | 400 | TC.W1 | MSCP$K_TC_W1 |*| "RV80" compatible write once cart. | 17 +-------+------+------+--------+-----------------+----------------------------------------+ 18 | Note: 1. The TC.OLD value is for backwards compatibility with existing products. New | 19 | devices are prohibited from using the TC.OLD value. Products having media | 20 | different from those associated with the above TC.xxx values must ECO this | 21 | specification to include a new TC.xxx value for their media. Products having | 22 | media identical to one of those associated with the above TC.xxx value must | 23 | use that TC.xxx value. | 24 | | 25 | 2. Formats with an asterisk in the "NIS" column are considered "non-industry | 26 | standard". Devices which utilize these formats thus need not support the | 27 | "Reverse" command modifier on ACCESS, COMPARE HOST DATA, and READ commands. | 28 | Whether or not a device supporting one of these formats supports the | 29 | "Reverse" command modifier on the above commands must be documented in that | 30 | device's functional specification (See section 3.3.1.1). | 31 | | 32 | 3. Devices that support this format may not follow the normal ABORT process for | 33 | REPOSITION commands with the "Reverse" modifier set. See section 3.2.1.2. | 34 | | 35 | 4. Some devices that report a tape code of TC.OLD are considered to be | 36 | equivalent to devices that report a tape code of TC.CTP with respect to notes | 37 | 2 and 3 (see Table C-2). | 38 +-----------------------------------------------------------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 MISCELLANEOUS TABLES Page C-2 Table C-1: Tape Format Flag Values 8 November 1987 1 Table C-2: Tape Format Bitflag Values 2 +------+---------------------+--------------------------+---------------------------------+ 3 | | Code + Bitflag |Preferred Bitflag Mnemonic| | 4 | Bit- +-------+------+------+--------+-----------------+ Tape Format Bitflag | 5 | flag | Dec. | Oct. | Hex. | 16 bit |32 bit (see note)| | 6 +------+-------+------+------+--------+-----------------+---------------------------------+ 7 | "OLD" bitflag values: | | | | 8 | 0 | 1 | 1 | 1 | TF.800 | MSCP$x_TF_800 | NRZI 800 bpi | 9 | 1 | 2 | 2 | 2 | TF.PE | MSCP$x_TF_PE | Phase Encoded 1600 bpi | 10 | 2 | 4 | 4 | 4 | TF.GCR | MSCP$x_TF_GCR | Group Code Recording 6250 bpi | 11 | 3 | 8 | 10 | 8 | TF.BLK | MSCP$x_TF_BLOCK | Cartridge Block Mode (note 3) | 12 +------+-------+------+------+--------+-----------------+---------------------------------+ 13 | "9TR" bitflag values: | | | | 14 | 0 | 257 | 401 | 101 | TF.800 | MSCP$x_TF_800 | NRZI 800 bpi | 15 | 1 | 258 | 402 | 102 | TF.PE | MSCP$x_TF_PE | Phase Encoded 1600 bpi | 16 | 2 | 260 | 404 | 104 | TF.GCR | MSCP$x_TF_GCR | Group Code Recording 6250 bpi | 17 +------+-------+------+------+--------+-----------------+---------------------------------+ 18 | "CTP" bitflag values: | | | | 19 | 0 | 513 | 1001 | 201 | TF.NOR | MSCP$x_TF_NORML | Normal (low) density | 20 | 1 | 514 | 1002 | 202 | TF.BHD | MSCP$x_TF_BLKHD | High density | 21 +------+-------+------+------+--------+-----------------+---------------------------------+ 22 | "IBM 3480" bitflag values: | | | | 23 | 0 | 769 | 1401 | 301 | TF.NOR | MSCP$x_TF_NORML | Normal density | 24 +------+-------+------+------+--------+-----------------+---------------------------------+ 25 | "W1" bitflag values: | | | | 26 | 0 | 1025 | 2001 | 401 | TF.NOR | MSCP$x_TF_NORML | Normal density | 27 +------+-------+------+------+--------+-----------------+---------------------------------+ 28 | Notes: 1. The "x" in the 32 bit mnemonic for a bit flag will be "V" if the symbol is | 29 | defined as a bit number (offset) or an "M" if defined as a mask. | 30 | | 31 | 2. The "Preferred Bitflag Mnemonic" is the mnemonic for the bitflag only. The | 32 | "Code + Bitflag" values are the sum of the tape format flag from the previous | 33 | table and the bitflag from this table. Thus, bitflags that have the same | 34 | meaning and bit value for different tape formats have the same mnemonic | 35 | (i.e., TF.800 for the TC.OLD and TC.9TR tape formats). | 36 | | 37 | 3. A code + bitflag value of TC.OLD + TF.BLK is equivalent to a code + bitflag | 38 | value of TC.CTP + TF.NOR with respect to functional behavior of devices. | 39 +-----------------------------------------------------------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 MISCELLANEOUS TABLES Page C-3 Table C-2: Tape Format Bitflag Values 8 November 1987 1 Table C-3: Controller Specific Maximum Record Size 2 +----------------------------------------------------------+------------------------------+ 3 | Controller Type | Maximum Record Size in Bytes | 4 | | | 5 +----------------------------------------------------------+------------------------------+ 6 | U/Q Bus Direct Access Controllers | 64K (preferred) | 7 | HSC50 | 64K | 8 | TU81 | 64K-1 | 9 | TK50 | 64K-1 | 10 +----------------------------------------------------------+------------------------------+ 11 Table C-4: Format Specific Long Gap Values 12 +-----------------------------------------+-----------------------------------------------+ 13 | Encoding Format Descriptor | Log Gap Value | 14 | | | 15 +-----------------------------------------+-----------------------------------------------+ 16 | Phase Encoding (PE) 1600 bpi | 25 linear feet | 17 | Group Code Recording (GCR) 6250 bpi | 15 linear feet | 18 | Cartridge Block Format | device dependent, see device spec for details | 19 +-----------------------------------------+-----------------------------------------------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 REPOSITION COMMAND VARIATIONS Page D-1 8 November 1987 1 APPENDIX D 2 REPOSITION COMMAND VARIATIONS 3 NOTES 4 1. Square brackets ([]) indicate optional setting. 5 2. An asterisk (*) indicates that the modifier setting or count field 6 value is ignored by the controller due to an interdependence on the 7 setting of another modifier or the value of the count fields. 8 3. See Section 5.10.3 specific information related to controller execution 9 of combined basic functions. 10 4. Certain combinations of the repositioning functions, although 11 permissible, are illogical since the result is always termination of 12 the command with a status of BOT Encountered. 13 Table D-1: REPOSITION Command Variations 14 +------------------------------+----------------------------------------+--------+-------+ 15 | | | | | 16 | REPOSITION | Modifiers | Record | Tape | 17 | Command +----------+-------+------+------+-------+ or | Mark | 18 | Variation |Immediate |Detect |Object|Rewind|Reverse| Object | Count | 19 | |Completion|LEOT |Count | | | Count | | 20 +------------------------------+----------+-------+------+------+-------+--------+-------+ 21 | a. sequential no-operation | * | * | 0 | 0 | * | 0 | 0 | 22 | | * | * | 1 | 0 | * | 0 | * | 23 +------------------------------+----------+-------+------+------+-------+--------+-------+ 24 | a. rewind to BOT | 0 [1] | * | 0 | 1 | * | 0 | 0 | 25 | | 0 [1] | * | 1 | 1 | * | 0 | * | 26 +------------------------------+----------+-------+------+------+-------+--------+-------+ 27 | a. rewind to BOT | * | * | 1 | 1 | 0 | >0 | * | 28 | b. skip "object count" | | | | | | | | 29 | tape objects (both | | | | | | | | 30 | records and tape marks) | | | | | | | | 31 | in the forward | | | | | | | | 32 | direction | | | | | | | | 33 +------------------------------+----------+-------+------+------+-------+--------+-------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 REPOSITION COMMAND VARIATIONS Page D-2 8 November 1987 1 Table D-1: REPOSITION Command Variations (cont.) 2 +------------------------------+----------------------------------------+--------+-------+ 3 | | | | | 4 | REPOSITION | Modifiers | Record | Tape | 5 | Command +----------+-------+------+------+-------+ or | Mark | 6 | Variation |Immediate |Detect |Object|Rewind|Reverse| Object | Count | 7 | |Completion|LEOT |Count | | | Count | | 8 +------------------------------+----------+-------+------+------+-------+--------+-------+ 9 | a. rewind to BOT | * | * | 1 | 1 | 1 | >0 | * | 10 | b. attempt to skip "object | | | | | | | | 11 | count" tape objects | | | | | | | | 12 | (both records and tape | | | | | | | | 13 | marks) in the reverse | | | | | | | | 14 | direction | | | | | | | | 15 | (See Note 4 above) | | | | | | | | 16 +------------------------------+----------+-------+------+------+-------+--------+-------+ 17 | a. rewind to BOT | * | 0 [1] | 0 | 1 | 0 | 0 | >0 | 18 | b. skip "tape mark count" | | | | | | | | 19 | tape marks in the | | | | | | | | 20 | forward direction | | | | | | | | 21 +------------------------------+----------+-------+------+------+-------+--------+-------+ 22 | a. rewind to BOT | * | * | 0 | 1 | 1 | 0 | >0 | 23 | b. attempt to skip "tape | | | | | | | | 24 | mark count" tape marks | | | | | | | | 25 | in the reverse | | | | | | | | 26 | direction | | | | | | | | 27 | (See Note 4 above) | | | | | | | | 28 +------------------------------+----------+-------+------+------+-------+--------+-------+ 29 | a. rewind to BOT | * | 0 [1] | 0 | 1 | 0 | >0 | 0 | 30 | b. skip "record count" | | | | | | | | 31 | records in the forward | | | | | | | | 32 | direction | | | | | | | | 33 +------------------------------+----------+-------+------+------+-------+--------+-------+ 34 | a. rewind to BOT | * | * | 0 | 1 | 1 | >0 | 0 | 35 | b. attempt to skip "record | | | | | | | | 36 | count" records in the | | | | | | | | 37 | reverse direction | | | | | | | | 38 | (See Note 4 above) | | | | | | | | 39 +------------------------------+----------+-------+------+------+-------+--------+-------+ 40 | a. rewind to BOT | * | 0 [1] | 0 | 1 | 0 | >0 | >0 | 41 | b. skip "tape mark count" | | | | | | | | 42 | tape marks in the | | | | | | | | 43 | forward direction | | | | | | | | 44 | c. skip "record count" | | | | | | | | 45 | records in that same | | | | | | | | 46 | direction | | | | | | | | 47 +------------------------------+----------+-------+------+------+-------+--------+-------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 REPOSITION COMMAND VARIATIONS Page D-3 8 November 1987 1 Table D-1: REPOSITION Command Variations (cont.) 2 +------------------------------+----------------------------------------+--------+-------+ 3 | | | | | 4 | REPOSITION | Modifiers | Record | Tape | 5 | Command +----------+-------+------+------+-------+ or | Mark | 6 | Variation |Immediate |Detect |Object|Rewind|Reverse| Object | Count | 7 | |Completion|LEOT |Count | | | Count | | 8 +------------------------------+----------+-------+------+------+-------+--------+-------+ 9 | a. rewind to BOT | * | * | 0 | 1 | 1 | >0 | >0 | 10 | b. attempt to skip "tape | | | | | | | | 11 | mark count" tape marks | | | | | | | | 12 | in the reverse | | | | | | | | 13 | direction | | | | | | | | 14 | c. attempt to skip "record | | | | | | | | 15 | count" records in that | | | | | | | | 16 | same direction | | | | | | | | 17 | (See Note 4 above) | | | | | | | | 18 +------------------------------+----------+-------+------+------+-------+--------+-------+ 19 | a. skip "object count" | * | * | 1 | 0 | 0 | >0 | * | 20 | tape objects in the | | | | | | | | 21 | forward direction | | | | | | | | 22 +------------------------------+----------+-------+------+------+-------+--------+-------+ 23 | a. skip "object count" | * | * | 1 | 0 | 1 | >0 | * | 24 | tape objects in the | | | | | | | | 25 | reverse direction | | | | | | | | 26 +------------------------------+----------+-------+------+------+-------+--------+-------+ 27 | a. skip "tape mark count" | * | 0 [1] | 0 | 0 | 0 | 0 | >0 | 28 | tape marks in the | | | | | | | | 29 | forward direction | | | | | | | | 30 +------------------------------+----------+-------+------+------+-------+--------+-------+ 31 | a. skip "tape mark count" | * | * | 0 | 0 | 1 | 0 | >0 | 32 | tape marks in the | | | | | | | | 33 | reverse direction | | | | | | | | 34 +------------------------------+----------+-------+------+------+-------+--------+-------+ 35 | a. skip "record count" | * | 0 [1] | 0 | 0 | 0 | >0 | 0 | 36 | records in the forward | | | | | | | | 37 | direction | | | | | | | | 38 +------------------------------+----------+-------+------+------+-------+--------+-------+ 39 | a. skip "record count" | * | * | 0 | 0 | 1 | >0 | 0 | 40 | records in the reverse | | | | | | | | 41 | direction | | | | | | | | 42 +------------------------------+----------+-------+------+------+-------+--------+-------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 REPOSITION COMMAND VARIATIONS Page D-4 8 November 1987 1 Table D-1: REPOSITION Command Variations (cont.) 2 +------------------------------+----------------------------------------+--------+-------+ 3 | | | | | 4 | REPOSITION | Modifiers | Record | Tape | 5 | Command +----------+-------+------+------+-------+ or | Mark | 6 | Variation |Immediate |Detect |Object|Rewind|Reverse| Object | Count | 7 | |Completion|LEOT |Count | | | Count | | 8 +------------------------------+----------+-------+------+------+-------+--------+-------+ 9 | a. skip "tape mark count" | * | 0 [1] | 0 | 0 | 0 | >0 | >0 | 10 | tape marks in the | | | | | | | | 11 | forward direction | | | | | | | | 12 | b. skip "record count" | | | | | | | | 13 | records in that same | | | | | | | | 14 | direction | | | | | | | | 15 +------------------------------+----------+-------+------+------+-------+--------+-------+ 16 | a. skip "tape mark count" | * | * | 0 | 0 | 1 | >0 | >0 | 17 | tape marks in the | | | | | | | | 18 | reverse direction | | | | | | | | 19 | b. skip "record count" | | | | | | | | 20 | records in that same | | | | | | | | 21 | direction | | | | | | | | 22 +------------------------------+----------+-------+------+------+-------+--------+-------+ *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 WAIVERS AND EXCEPTIONS Page E-1 8 November 1987 1 APPENDIX E 2 WAIVERS AND EXCEPTIONS 3 E.1 TU81 4 E.1.1 "EOT Encountered" Status Subcode 5 Waiver: 6 Early serial number TU81 integrated controllers return 7 "Success (subcode EOT Encountered)" status in the end message 8 of all WRITE commands executed while the tape is positioned 9 on the trailer side of the EOT marker. That status is only 10 supposed to be returned when the EOT marker is encountered 11 during the execution of a "write" type command. WRITE TAPE 12 MARK and ERASE GAP commands operate properly, only the WRITE 13 command is affected. 14 Justification: 15 This waiver is required to allow the shipment of the first 16 200 units to customers. The microcode fixes for these 17 problems are extensive and would delay the shipments of TU81s 18 for a quarter. 19 E.1.2 "Serious Exception" And "EOT Encountered" 20 Waiver: 21 "Serious exception" end message flag and "EOT encountered" 22 are not reported in the end messages of ABORT, DETERMINE 23 ACCESS PATHS, and GET COMMAND STATUS commands. 24 Justification: 25 This waiver is required to allow the shipment of the first 26 200 units to customers. The microcode fixes for these 27 problems are extensive and would delay the shipments of TU81s 28 for a quarter. 29 E.1.3 "Byte Count (Host Transfer)" On Read Reverse 30 Wavier: 31 The "byte count (host transfer)" end message field of reverse 32 (i.e., "reverse" modifier set) COMPARE HOST DATA commands and *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 WAIVERS AND EXCEPTIONS Page E-2 TU81 8 November 1987 1 reverse READ with compare after (i.e., "compare" modifier 2 set) commands are erroneous under certain conditions. 3 The general problem is that the TU81 can not do a real read 4 reverse. The TU81 emulates the read reverse by doing a 5 series of position and read forwards. When attempting to do 6 the host data compare operation the compare is taking place 7 in the wrong direction. This causes the TU81 to flag the 8 wrong byte in error if there are two or more errors. 9 Justification: 10 This problem has little system impact because the command is 11 not used by any DEC operating system. The command can be 12 issued by a user program. In most cases the program is not 13 interested in the byte in error, just the fact there was an 14 error or not. 15 The change to conform to the specification is a major 16 hardware and micro code change (the compare is done in 17 hardware). The redesign effort would take at least one 18 quarter. 19 The point is best summed up by the following quote from Jim 20 Zahrobsky: "What is described in the specification is the 21 ideal. Traditional usage shows that there is no clear need 22 for devices to conform to that ideal (TE16 and TU77 do not 23 meet the ideal. The TU78 on the other hand does)." The TU81 24 doesn't meet the ideal, but it does come very close. 25 Zahrobsky also went on to say that we will strive to meet the 26 ideal on all future devices. 27 E.2 TK50 28 E.2.1 Incorrect Command Processing While Position Lost 29 Waiver: 30 Whenever the TK50 is in the "Position Lost" state, it rejects 31 further read/write/position commands until one of the 32 following takes place: 33 o The tape is returned to BOT; 34 o The tape unit enters the "Unit Offline" state; 35 o The tape is unloaded via the AVAILABLE command. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 WAIVERS AND EXCEPTIONS Page E-3 TK50 8 November 1987 1 The intention of the TMSCP specification in the case of the 2 "Position Lost" condition is to allow the host to attempt to 3 recover positioning of the tape behind and/or ahead of the 4 object where the "Position Lost" condition occurred. This 5 implies that the host can issue any I/O or positioning 6 command while the unit is in the "Position Lost" state and 7 expect reasonable operation of those commands provided the 8 unit is still able to read the tape (i.e., its read 9 electronics are still in good shape). 10 Justification: 11 Corrective action would have prevented FRS with MicroVAX II. 12 This waiver only applies to early serial number TK50s. 13 E.2.2 COMPARE HOST DATA Error Reporting 14 Waiver: 15 While performing a COMPARE HOST DATA command, the TK50 will 16 report a "Record Data Truncated" error subordinate to a 17 "Compare" error. The operating systems indicated that this 18 was not a major error but that it must be fixed. 19 Justification: 20 Corrective action would have prevented FRS with MicroVAX II. 21 This waiver only applies to early serial number TK50s. 22 E.2.3 Incorrect "Offline" Error Reporting 23 Wavier: 24 When the TK50 drive is powered off after the controller has 25 been initialized the status reported is Offline (subcode "No 26 Media Loaded"). 27 Justification: 28 Corrective action would have prevented FRS with MicroVAX II. 29 This waiver only applies to early serial number TK50s. 30 E.2.4 Progress Indicator Processing 31 Waiver: 32 The Progress Indicator stops indicating progress after 11 *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 WAIVERS AND EXCEPTIONS Page E-4 TK50 8 November 1987 1 minutes and 20 seconds following the execution of the ERASE 2 command with the "Immediate" qualifier set. One of the 3 consequences of this is that 2/3 of the data may be left on 4 the tape. Another consequence is that the host may flag the 5 device as broken. All of the operating systems agreed that 6 this is a problem that must be fixed. 7 Justification: 8 Corrective action would have prevented FRS with MicroVAX II. 9 This waiver only applies to early serial number TK50s. 10 E.2.5 Multiple Error Logs Reported 11 Waiver: 12 The TK50 returns individual error logs for each of the retry 13 attempts when a "Long Gap Encountered" situation occurs at 14 BOT. Also, the Event Code contained in the error log differs 15 from the value reported in the command's end message. 16 These situations only occur at BOT since other tests perform 17 correctly when positioned away from BOT. 18 Justification: 19 Corrective action would have prevented FRS with MicroVAX II. 20 This waiver only applies to early serial number TK50s. 21 E.2.6 Invalid "Records Skipped Count" 22 Waiver: 23 The "Records Skipped Count" field (P.RCSK) is set to all ones 24 in the end message of a REPOSITION command that encounters a 25 "Long Gap" condition. The value should be zero. The spec 26 was ambiguous on this point. The operating systems indicated 27 that this was not a major problem. 28 Justification: 29 Corrective action would have prevented FRS with MicroVAX II. 30 This waiver only applies to early serial number TK50s. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 WAIVERS AND EXCEPTIONS Page E-5 TK50 8 November 1987 1 E.2.7 Hardware Serial Number 2 Waiver: 3 Early TK50 controllers and drives do not implement a Hardware 4 Serial Number that is unique to each component. 5 Justification: 6 Corrective action would have prevented FRS with MicroVAX II. 7 This waiver only applies to early serial number TK50s. *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 REVISION HISTORY Page F-1 8 November 1987 1 APPENDIX F 2 REVISION HISTORY 3 F.1 Changes Since Version 1.6 4 The following changes were made from TMSCP Version 1.6 to TMSCP 5 Version 1.6.4: 6 The following approved ECOs to V1.6 were incorporated. 7 o TMSCP16-1 BOT and Tape Mark Encountered 8 Clarification 9 o TMSCP16-5 STI Formatter Error Log Changed 10 o TMSCP16-6 Eliminate Command Aborted as SE Cause 11 o TMSCP16-8 64kb Transfer ECO 12 o TMSCP16-9 ONL and SUC Speed Field Clarification 13 o TMSCP16-10 Expanded Transfer Error Log 14 o TMSCP16-12 Byte Count Equals Zero is Invalid 15 o TMSCP16-13 TMSCP Extension to Get Unit Status 16 Command 17 o TMSCP16-17 TU81 "EOT Encountered" Waiver 18 o TMSCP16-19 TU81 Reverse Compare Byte Count Waiver 19 o TMSCP16-21 Tape Caching 20 o TMSCP16-22 "Non-industry standard" Read Reverse 21 o TMSCP16-25 TK50 Maximum Record Length 22 o TMSCP16-26 TK50 Various Temporary Waivers 23 o TMSCP16-28 TK50 Hardware Serial Number 24 o TMSCP16-29 CTP ABORT during REPOSITION 25 o TMSCP16-31 REPOSITION Command Description 26 Clarification 27 o TMSCP16-32 Lengthy I/O Command Abort Clarification 28 o TMSCP16-33 Asynchronous Command Completion 29 Clarification 30 o TMSCP16-34 Position Lost Error Handling 31 Clarification 32 o TMSCP16-36 Error Log Generation Clarification 33 o TMSCP16-37 Media Format Error Status Code 34 o TMSCP16-42 GET UNIT STATUS Modification 35 o TMSCP16-43 Tape Format Flag Redefinition 36 o TMSCP16-44 End Message Field Validation 37 Clarification 38 o TMSCP16-45 "Position" Field Clarification 39 o TMSCP16-46 PEOT Redefinition 40 o TMSCP16-47 "Position" Field Clarification 41 o TMSCP16-49 TA90 Density Flag 42 o TMSCP16-52 Sequential Command Clarification while 43 Caching *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 REVISION HISTORY Page F-2 Changes Since Version 1.6 8 November 1987 1 o TMSCP16-56 "Position" Field Changes 2 o TMSCP16-57 EOT Can Move 3 o TMSCP16-58 TAPE TRANSFER ERRORS Errorlog Renamed 4 o TMSCP16-60 Enhanced Write Error Recovery Changes 5 The following approved ECOs to MSCP V1.2 were 6 incorporated. 7 o MSCP12-2 Error Log Sequence Numbers 8 o MSCP12-9 Reserve OPCODE Zero 9 o MSCP12-16 Error Log Format Generalization 10 o MSCP12-27 Read-Only Device Write Protect 11 o MSCP12-34 Exclusive Access [Multi-Host] 12 o MSCP12-35 ACCESS NON-VOLATILE MEMORY Command 13 o MSCP12-39 TU81 Waiver Request 14 o MSCP12-53 Diagnostic Opcodes 15 o MSCP12-56 Multi-Host Flag Definition 16 o MSCP12-57 Minor Errors in ECOs 17 The following editorial changes were performed (on the 18 original and ECO text): 19 o Table and "picture" formats changed to be more 20 readable. 21 o Spelling and grammatical errors corrected. 22 o List and item formats changed to be consistent. 23 o List items were placed in alphabetical order. 24 o Wording changes were made to increase readability. 25 | F.2 Changes Since Version 1.6.4 26 | The following changes were made from TMSCP Version 1.6.4 to TMSCP 27 | Version 2.0.0: 28 | The following approved ECOs to V1.6 were incorporated. 29 | o TMSCP16-65 Position Lost Clarification 30 | o TMSCP16-68 No Host Buffer Access Error for WTM *** R E S T R I C T E D D I S T R I B U T I O N *** Digital Equipment Corporation Confidential And Proprietary Tape Mass Storage Control Protocol Version 2.0.0 REVISION HISTORY Page F-3 Changes Since Version 2.0.0 8 November 1987 1 | F.3 Changes Since Version 2.0.0 2 | The following changes were made from TMSCP Version 2.0.0 to TMSCP 3 | Version 2.0.2: 4 | The following approved ECOs to V2.0.0 were incorporated. 5 | o TMSCP20-1 Discarding Read-Ahead Cache Contents 6 | o TMSCP20-4 Position Lost Terminology 7 | o TMSCP20-5 FLUSH Should Not Block Further Caching *** R E S T R I C T E D D I S T R I B U T I O N ***