9677 lines
402 KiB
Plaintext
9677 lines
402 KiB
Plaintext
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 ***
|